
    =	fa                       d Z dZdZdZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddl ddlmZ ddlmZmZmZmZmZ dd	lmZ dd
lmZ  ej2                  d      ZddlZ	 ddlmZ ej@                  Z dxZ!Z"dZ#dZ$dZ%dZ&dZ'dZ(dZ)g Z*dZ+g Z,d e
jZ                         z  Z.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@dZAdZBdZCdZDdZEdZFdZGdZHdZIdZJ eK       ZLdZMdZNdZOdZP ej                         ZRdZSdZTdZUdZVdZWdZXdZYdZZdZ[dZ\dZ]dZ^dZ_dZ`dZadZbdZcdZdg ZedZfdZgdZh eK       ZidZjdZkdZldZmg ZndZodZpdZqdZri ddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDZsddEZt	 dZug dFZvevD ]4  Zw ej                  ew      Zyeysej                  j                  eyew      Zu n dZ|g dGZ}e}D ]4  Z~ ej                  e~      Zesej                  j                  ee~      Z| n dZg dHZeD ]4  Zw ej                  ew      Zyeysej                  j                  eyew      Z n  ej                  eee edef      Zg ej
                  dIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZej
                  d[d\d]d^d_d`dadbdcdddaded_dfdgd_dfdhd_dfdid_dfdjddkdlj                   e eKesj                                           z  dmdfdndoej
                  dpdqej
                  drdsej
                  dtduej
                  dvdwej
                  dxdydzd{d|d}d~ej
                  dddej
                  ddZg dZej                  ej                  eg        ej                  de      \  ZZZZZZ ej&                           ej(                         Zi ZeD ]"  \  ZZZZ	 ee    ee   j7                  e       $  ej:                          ej=                  eedgdej>                  dfie      Zes ej@                  d       eD 	]  \  ZZedv rUejG                         jI                         Zedv rdZ@2edv rdZ@9ejM                  d       ejM                  d       dZ@`edk(  r7edk(  rdZPdZSoedk(  rdZPdZSyedk(  rdZPdZSedk(  rdZPdZSedk(  rdZPdZSdZPdZSedk(  reZRedk(  rdZ@edk(  rdZ@edv rdZ#edv rdZ#edv rdZ#edv rejG                         jI                         Zedv rdZ#edv r<ejQ                  de      r%ejM                  d        ej@                  d       dZ#4edv rdZ#<ejM                  d       ejM                  d       dZ#dedv r	  eejG                               Z!e!Z"edv r^ejG                         jI                         Zedv rdZ(edv rdZ(edv rdZ(edv rdZ(edv rdZ(ejM                  d       dZ(edk(  r-ejG                         jI                         Z	  ee      ZeZ$edk(  r-ejG                         jI                         Z	  ee      ZeZ%Jedk(  r-ejG                         jI                         Z	  ee      ZeZ&|edk(  r-ejG                         jI                         Z	  ee      ZeZ'edv raejG                         jI                         Z	 ej[                  d      dd \  Z$Z%Z&Z'	  ee$      Z$	  ee%      Z%	  ee&      Z&	  ee'      Z'edk(  rejG                         jI                         Z	 ej[                  d      dd \  Z$Z%ZZ	  ee$      Z$	  ee%      Z%e$	  ee      e$z   Z&nejM                  dɫ       dZ&e%	  ee      e%z   Z'ejM                  d˫       dZ'edk(  rejG                         jI                         Zeesv rese   \  Z&Z'Z=Z>d\  Z$Z%eZ<ejM                  ddlj                   eKesj                                     z         ejM                  dϫ       7edv rej                  jc                  ej                  je                  ej                  jg                  ejG                                           Z)	 ej                  ji                  e)      d   ZSeSjI                         dvr.ejM                  dҫ       dZ)de*v se*jk                  dӫ       ej                  jm                  e)      rejo                  de)z         de*vs3e*j7                  dӫ       Gedv rfejG                         jI                         j[                  d      ZeD ]/  ZejG                         Zedv see*vse*j7                  e       1 edv r+ejG                         ZDde*vse*j7                  d٫       edv r+ejG                         ZCde*vse*j7                  d٫       edv roejG                         Z ej                  e      ZesejM                  dܫ       Lej                  j                  ee      Zude*vsne*j7                  dݫ       edv roejG                         Z ej                  e      ZesejM                  d߫       ej                  j                  ee      Z|de*vse*j7                  d       edk(  roejG                         Z ej                  e      ZesejM                  d       3ej                  j                  ee      Zde*vsUe*j7                  d       iedv r,ej[                  d      Z,de*vse*j7                  d       edv reZ+de*vse*j7                  d       edv reZ.de*vse*j7                  d       edv reZ/de*vse*j7                  d       edk(  rejw                  dd      Z	  ee      Z0edv r	 dZ4 ee      Z3-edv r	 dZ4 ee      Z5>edv r	 dZ4 ee      Z6Oedv r	 dZ4 ee      Z7`edv rE	 dZ8 ee      Z9e9erkD  rejM                  derz         erZ9e9dk  rejM                  ddz         dZ9edv r	 dZ2 eejG                               Z1edv r	 dZ; eejG                               Z:edv r	 dZG eejG                               ZF		edv r	 dZI eejG                               ZH	)edk(  rdZAeEdk(  s	7dZ	;edv rdZBdZAeEdk(  s	JdZ	Ned k(  r	 dZU	Yedk(  r	 dZT	dedk(  r	 dZ[	oedk(  r	 dZ\	zedk(  r	 dZW	edk(  r	 dZX	edk(  r	 dZY	edk(  r	 dZZ	ed	k(  r	 dZ_	ed
k(  r	 dZ`dZB	edk(  r	 dZ^	edk(  r	 dZd	edk(  r	 dZa	edk(  r	 dZb	edk(  s		 dZE	 e*s*eEdk(  rejo                  d       e*j7                  dӫ       de*v r<e+re,s8ejM                  d       ejM                  d       e*jk                  d       e<rdZ(e(dk(  r!e$e$dz  Z$e%e%dz  Z%e&e&dz  Z&e'e'dz  Z'ne(dk(  r!e$e$dz  Z$e%e%dz  Z%e&e&dz  Z&e'te'dz  Z'nme(dk(  r!e$e$dz  Z$e%e%dz  Z%e&e&dz  Z&e'Ne'dz  Z'nGe(dk(  rBejo                  de"z         e$	e$e"z  dz  Z$e%	e%e"z  dz  Z%e&	e&e"z  dz  Z&e'	e'e"z  dz  Z'e$#e&!e$e&k\  rejM                  de$e&fz         dxZ$Z&e%#e'!e%e'k\  rejM                  de%e'fz         dxZ%Z'ejz                  s&ejM                  d        ej@                  d       eek(  r(ejM                  d        ej@                  d       &noddlmZ 	 ddlZ	 ddlmZ  ej&                          eEdk(  r9ej                  ej                  d ez               ej                  d!       	  ej                  e      Z	  ej                  d$      j                  Zej                  d%e eeͫ      fz         è&ejM                  d&        ej@                  d        eeͫ      dk(  rd(ev rej                  d)       dZAn\ eeͫ      d*k(  r%d+ev r d,ev rd-ev rej                  d)       dZAn+ eeͫ      d"k(  rd(ev rd.ev rej                  d)       dZAeAr	 d(evrAd+evr<d,evr7d-evr2d/evr-d0evr(ejM                  d1        ej@                  d       n;eBdk(  rd.ev r ej                  d$d.       nd-ev r ej                  d$d-       nd0ev r ej                  d$d0       nejo                  d2       d+ev r ej                  d$d+       nd,ev r ej                  d$d,       n ej                  d$d(       njd+ev r ej                  d$d+       nNd,ev r ej                  d$d,       n2d/ev r ej                  d$d/       n ej                  d$d(        ej                  d3d       n,	  ej                  d$d5        ej                  d3d       eTr2ejQ                  d7e      sdZ ej                  d8 eeѫ             ndZ ej                  d8 eeѫ              ej                  d9      j                  e$      Z$ ej                  d:      j                  e%      Z% ej                  d;      j                  e&      Z& ej                  d<      j                  e'      Z'e&e$z
  e'e%z
  z  Z ej                  d=      j                  Zej                  d>eԛ       dev rBe"ed   k  se"ed   kD  rejo                  d?e"z         e"ed   k  red   Z"ne"ed   kD  red   Z"ne"evrejo                  d?e"z         ejo                  d@dlj                  eD  cg c]
  }  e|        c}       z         ed   Z"ej                  ZeD ]  Z ee!ez
        ek  s ee!ez
        ZeZ"   ej                  d=      j                  e"      Z"ee"z  e"z  dAz  Ze#dk(  reڐd*z  Zne#dk(  reZneڐdBz  ZeېdCkD  rhe"dDkD  rejo                  dE       nejo                  dF       ejo                  dG       ejo                  dH ej                  ed      z          ej                  dIe@       eEdk(  re;r ee:      Z:	  ej                  dJ      j                  Ze: eed         k\  r3e: eed         k  r% ej                  dJ      j                  e:      Z:n^ejo                  dK eed          eed         e:fz         e: eed         k  r eed         Z:ne: eed         kD  r eed         Z: ej                  dJe:       eEdk(  re2r ee1      Z1	  ej                  dM      j                  Ze1 eed         k\  r3e1 eed         k  r% ej                  dM      j                  e1      Z1n^ejo                  dN eed          eed         e1fz         e1 eed         k  r eed         Z1ne1 eed         kD  r eed         Z1 ej                  dMe1       e&e$z
  dPk  s	e'e%z
  dPk  r&ejM                  dQ        ej@                  d       eEdk(  rTej                  d       ej                  dRe"z         ej                  dSe#z         ej                  dTe@z         e;reEdk(  rej                  dUe:z         e2reEdk(  rej                  dVe1z         e(dk(  rzeEdk(  ruej                  dW       ej                  dXe$e%fz         ej                  dYe&e'fz         ej                  dZe&e$z
  z         ej                  d[e'e%z
  z         e<r=e>Z(eEdk(  rej                  d\e=z         e(dk7  reEdk(  rej                  d]e(z         e(dk(  reEdk(  rnej                  d^       ej                  d_e$dz  e%dz  fz         ej                  d`e&dz  e'dz  fz         ej                  dae&e$z
  dz  z         ej                  dbe'e%z
  dz  z         ne(dk(  reEdk(  rej                  dc       ej                  dde$dz  e%dz  fz         ej                  dee&dz  e'dz  fz         ej                  dfe&e$z
  dz  z         ej                  dge'e%z
  dz  z         nEe(dk(  reEdk(  r:ej                  dhe"z         ej                  die$e"z  dz  e%e"z  dz  fz         ej                  dje&e"z  dz  e'e"z  dz  fz         ej                  dke&e$z
  e"z  dz  z         ej                  dle'e%z
  e"z  dz  z         ne(dk(  reEdk(  rej                  dm       ej                  dne$dz  e%dz  fz         ej                  doe&dz  e'dz  fz         ej                  dpe&e$z
  dz  z         ej                  dqe'e%z
  dz  z         eEdk(  r%ej                  drdlj                  e*      z         de*v reEdk(  rej                  dse)z          ej                         Z ej                         Z ej                  dt      j                  ZeD  cg c]  } | jI                          c} Zej                  due ee      fz         e#jI                         evr$ejo                  dve#dwed   dx       ed   Z#ejQ                  dye      sejQ                  dze      rTe#dk(  r ej                  dtd{       nMe#dk(  r ej                  dtd|       n1e#dk(  r, ej                  dtd}       n ej                  dte#        ej                  d=e"       eEdk(  ryde*v re)seEdk(  rejo                  d~       eAr1eEdk(  rej                  d       	  ej                  dd      Z)dZnde#dk(  r0eEdk(  rej                  d        ej                  dd      Z)dZn/eEdk(  rej                  d        ej                  dd      Z)dZeEdk(  rPejo                  de)z         n9	 ej                  ji                  e)      d   jI                         dd Zedk(  rdZer+edvr&ejM                  d        ej@                  d       eAr-er+edk7  r&ejM                  d        ej@                  d       ej                  d       dZdZdZdZdZg ZdZg Z e        ej                  d       	 	 eAreEdk(  r/ej                  dez         neEdk(  rej                  d       dZ	 	  ej                  dee      \  ZZZej                  dez         eArgeej                  k(  rWedz
  dk(  r-eEdk(  rejM                  d        ej@                  d*       n"eEdk(  rej                  dedz
  z         dZ
neAr-eepk(  r(eTr&ejM                  eo        ej@                  d"       eAr+eeqk(  r&ejM                  eo        ej@                  d#       edkD  r[eAr-eEdk(  rTej                  d ej                  e      z         n,eEdk(  r'ej                  d ej                  e      z          ej                          eEdk(  r ej                  d      Z ej                         rej                         r	 ej                  d      \  ZZej                         sdedkD  r6eEdk(  rZej                   edez  ez         ej                  e             n)eEdk(  r$ej                  d ej                  e             eej                  k7  r8eepk(  reTseeqk(  r,ejM                  dez         ejM                  dez         ej                         r e	j                   d        ej                         rej                         rej                  d      \  ZZej                         sdedkD  r6eEdk(  rZej                   edez  ez         ej                  e             n)eEdk(  r$ej                  d ej                  e             ej                         rer4eek7  r/eEdk(  r*ej                   ed       ej                  e             ej                  d       ereEdk(  r'ej                  d ej                  e      z          ej                         \
  ZZZZZZZZ	Z
ZeEdk(  r$ej                  deeeee	e
efz         edk(  se
ek7  r ee
ez        Ze#dv r2	  eĐj                  deefej                         dddd      ZnQe#dk(  rL	 edBz  ZdZ] eĐj                  deefej                         dddd      j                  d      ZeEdk(  re`red"z  dk7  rnn ej                   ee]      ZVe^r[eBrYeUrWeVrUedk(  r!ed"z  dk7  rGedz  Zej7                  e       n/edz
  ev redz  Zn"ed"z  dk7  rdZedd  ej7                  e       eUr8eVr6eAr ebrdZfejdz   Zjedz   Zedk(  rdZle^reBs4edz  Z ej@                  d       neVreArebrdZfejdz   Zjedz   Zedk(  rdZle\r2eVdk(  r-eAr ej"                  e      Zn ej"                  e      Ze[reVdk(  r ej$                  e      ZeWrQeVs= ej&                  e      Zmenj7                  em        ej(                  eem      Znenj7                  d       eEdk(  re2re1dz  Z ej,                  ee      ZeEdk(  re;re:dz  Z ej.                  ee      ZeGreFdz  Z ej0                  ee      ZeIreHdz  Z ej2                  ee      Z ej4                         Zhehj[                  d      Zear ed   dk  rddlZ ej:                         Zej?                  d       ej                  d       ej                  d      Z e j`                  \  ZZe jC                         Z" ej                  eede"      Z#ej/                  e#       e#D ]I  Z$e$jJ                  dk7  r3dZJeLj7                  e$jJ                         eMdz   ZMedz   Zedk(  rdZO ndZJK eZr ej                  e      Ze4r ejL                  ee3e5e6ge7      ZeYr ej                  e      ZeXr ej                  e      Ze8r" ee"e9z        Z' ejp                  ee'      ZeEdk(  reArePdk(  r3e^reBrePdk(  r ejP                         dk(  rej                  d      ZeMdkD  r9eNdk(  reOdk(  r etedeS       dZNn eteeL eeL      d"z
     eS       eMdz
  ZMedd= ejdkD  r5ekdk(  reldk(  r etedeS       dZkn etedegz  eS       ejdz
  Zjegdz  Zgedd= 	 eddk(  rePdk(  r ej                  deSeR      Z)nMe^reBrePdk(  s ejP                         dk7  r ej                  ddeR      Z)n ej                  deSeR      Z)ej7                  e)       	 	 ejU                  e)dd       	 e^rzeBrweUrted"k(  rm ejV                  ejY                                 ejV                  ejY                                dZedd  n eEdk(  reAsedk(  r ej                  dez  d      Z)ej7                  e)       ejU                  e)dd       neEdk(  rTeej                  k(  rEeTrCejM                  dez         ejM                  deefz          ej@                  d"       nseEdk(  rHeeqk(  rCejM                  dez         ejM                  deefz          ej@                  d#       n&ejM                  d        ej@                  d       eAreArernedz  Zedz  ZeEdk(  rej                  d        ej                          eArePdk(  sePdk(  sePdk(  sePdk(  sePdk(  reJdk(  re eteeL eeL      dz
     eS       ePdk(  r7 eee      r/eEdk(  r*ejM                  deez          ej@                  d        ej@                  d       efdk(  r] etedegz  eS       ePdk(  r7 eee      r/eEdk(  r*ejM                  deez          ej@                  d        ej@                  d       e^rheBrf ee      rI	  ejZ                  eeSeR      Z)ePdk(  r.eEdk(  r)ejM                  de)z          ej@                  d        ej@                  d       nePdk(  r ee      dkD  r ej                  deSeR      Z.dZ/eD ]^  Z0e/dz   e0z   Z/de/de.Z1 ejd                  e1      Zed   dk(  s9ejM                  d        ej@                  d       ` eD ]  Z0 ejV                  e0         ej@                  d       n-ePdk(  r	  ee      dkD  rdeddk(  r ej                  deSeR      Z)n ej                  deSeR      Z)	 e_r ejf                  ee)      Z)n ejh                  ee)ene&e'e$e%eR      Z)eddk(  rS ee      rKeEdk(  rFe)rejM                  de)z         ne)rejM                  de)z          ej@                  d        ej@                  d       nK ej@                  d       n6eEdk(  r0eAsedk(  r(	 ddl6m7Z7 e)s ej                  dd      Z) e7jp                  e)e&dz  e'dz  f      Z9eD ]m  Z0 eĐjt                  e0      Z;	 e9jy                  e;e$dz  e%dz  e&e$z
  dz  e'e%z
  dz         e9j                           ejV                  e0       o ej                  de)z         e9jU                          eEdk(  r4ej                  dez         ede)dZ1 ej                  e1        ej@                  d       e0dk7  re0dk  se0dkD  r'ejM                  d       ejM                  d       nf eee0z  dz        ZB eee0z  dz        ZCeEdk(  rej                  deeeBeCfz         eja                  eBeCfeĐj                        ZdZEde*v rsePdk(  sePdk(  sePdk(  s
ePdk(  sePdk(  rYeJdk(  r ej                  eLd   dz   eSeR      Z)n7ePdk(  reddk(  r ej                  deSeR      Z)n ej                  deSeR      Z)eEdk(  rej                  d       	 eEdk(  rej                  de)z         ePdk7  r	 	 ejU                  e)dd       n	 ejU                  e)dd       	 	 eEdk(  r,ej                  dez         ej                  de)z         eddk(  rGejM                  de)z          ej@                  d       neEdk(  rejU                  e)dd       dZEe*jk                  dӫ       dZIde*v sde*v sde*v sde*v rNeEsK ej                  d«      \  ZKZ)	 	 	 ejU                  e)dd        ej                  eK       dZIe*D ]  Zej                  dez         edk(  r0	 ddl6m7Z7 eddk(  r ej                  ddeR      ZMn ej                  ddeR      ZM e7jp                  eMe&dz  e'dz  f      Z9	 e9jy                  ee$dz  e%dz  e&e$z
  dz  e'e%z
  dz         e9j                          eEdk(  rej                  deMz         e9jU                          eEdk(  rej                  dez         eEdk(  r,ejM                  deMz          ej@                  d       ; ej@                  d       Pedk(  r ej                  dd      ZNeNsdƐZNeCeNdeCde)dZ1n<eD/eDj                  dȫ      d"   ZPdɐePz   ZDeNdeDde)dZ1neNde)dZ1 ej                  e1       edk(  rY	 ddːlQmRZR dd̐lSmTZT dd͐lUmVZV  eT       ZZe.eZd<   e+eZd<   dj                  e,      eZd<   dҐeZ_[        e/r eVe/      Z\eZj                  e\       eEr/ eVdej                  j                  e)      eee#fz        Z\n eVdԐeee#fz        Z\eZj                  e\        e:e)dի      Z_ eRe_j                               Z`e_j                          eEr3e`j                  d֐dej                  j                  e)      ث       eZj                  e`        ej                  d٫      Zbebrej                  j                  ebd٫      Zbebdڐde+gZ1ej                   ece1             dZd	  ej                  e1ej                  ej                  ej                  ܫ      Zgegj                  eZj                               \  ZjZkekdk7  rekZd e        edsejM                   eced             ejM                  dݫ       4edk(  rMeur6ej                  deuz         eude)dZ1 ej                  e1       qejM                  d߫       edk(  se|r6ej                  de|z         e|de)dZ1 ej                  e1       ejM                  d         ej                           ej                           ej:                          ej                  d       ej                  d       y# e$ r  ed       Y 6dw xY w# e$ r
 egee<   Y 2w xY w# e$ r ejM                  d       e?Z"Y 2w xY w# e$ r ejM                  d       Y 2w xY w# e$ r ejM                  d       Y 2w xY w# e$ r ejM                  d       Y 2w xY w# e$ r ejM                  d       Y 3w xY w# e$ r ejM                  d«       dZ$Y 0Dw xY w# e$ r ejM                  dë       dZ%Y 0[w xY w# e$ r ejM                  dī       dZ&Y 0rw xY w# e$ r ejM                  dū       dZ'Y 3w xY w# e$ r ejM                  dƫ       Y 3w xY w# e$ r ejM                  d«       dZ$Y 0|w xY w# e$ r ejM                  dë       dZ%Y 0w xY w# e$ r ejM                  dȫ       dZ&Y 0w xY w# e$ r ejM                  dʫ       dZ'Y 48w xY w# e$ r ejM                  dƫ       Y 4Vw xY w# e$ r. ejM                  dի       dZ)de*v re*jk                  dӫ       Y 4w xY w# e$ r dZ0ejM                  d       Y 4w xY w# e$ r ejM                  d       dZ3Y 4w xY w# e$ r ejM                  d       dZ5Y 4w xY w# e$ r ejM                  d       dZ6Y 5w xY w# e$ r ejM                  d       dZ7Y 5,w xY w# e$ r ejM                  d       dZ9Y 5Lw xY w# e$ r ejM                  d       dZ1Y 5lw xY w# e$ r ejM                  d       dZ:Y 5w xY w# e$ r ejM                  d       dZFY 5w xY w# e$ r ejM                  d       dZHY 5w xY w# e$ r ejM                  d       dZUY 5w xY w# e$ r ejM                  d       dZTY 6w xY w# e$ r ejM                  d       dZ[Y 6/w xY w# e$ r ejM                  d       dZ\Y 6Pw xY w# e$ r ejM                  d       dZWY 6qw xY w# e$ r ejM                  d       dZXY 6w xY w# e$ r ejM                  d       dZYY 6w xY w# e$ r ejM                  d       dZZY 6w xY w# e$ r ejM                  d       dZ_Y 6w xY w# e$ r ejM                  d       dZ`Y 7w xY w# e$ r ejM                  d       dZ^Y 77w xY w# e$ r ejM                  d       dZdY 7Xw xY w# e$ r ejM                  d       dZaY 7yw xY w# e$ r ejM                  d       dZbY 7w xY w# e$ r ejM                  d       dZEY 7w xY w# e$ r ddlmZ Y +w xY w# e$ rR ejM                  dez         er#ej                  ej                  d              ej@                  d       Y ,Iw xY w# ejL                  $ rZ~eTr9e~j                  d   epk(  r&ejM                  eo        ej@                  d"       e~j                  d   eqk(  r&ejM                  eo        ej@                  d#        ej                  e~j                  d           ej@                  d       Y dZ~[~,dZ~[~ww xY w#  ejM                  d'        ej@                  d       Y ,txY w# ejL                  $ r- ejM                  d4eBz          ej@                  d       Y *w xY w# ejL                  $ r ej                  d6       Y *w xY wc c} w #  ejo                  dL       dZ:Y '-xY w#  ejo                  dO       dZ1Y &gxY wc c} w # e$ r dZY w xY w# ejL                  $ rZ~eAr;e~j                  d   epk(  r(eTr&ejM                  eo        ej@                  d"       eAr9e~j                  d   eqk(  r&ejM                  eo        ej@                  d#        ej                  e~j                  d           ej@                  d       Y dZ~[~dZ~[~we$ r< ejM                  d        ej                           ej@                  d       Y w xY w# ej                  $ r Y w xY w# e$ r< ejM                  d        ej                           ej@                  d       Y w xY w# e$ r* ejM                  d        ej@                  d       Y w xY w# e$ r* ejM                  d        ej@                  d       Y w xY w#  ej                  d      ZejU                  e)dd       Y "xY w# eEdk(  rej                  d        ej                          w xY w#  	 e_r ejh                  ee)ene&e'e$e%eR      Z)n ejf                  ee)      Z)nq# e$ riZejj                  j[                  d      d   dk(  rejM                  d       nejM                  d        ej@                  d       Y dZ[ndZ[ww xY wY xY w# e$ r* ejM                  d        ej@                  d       Y Rw xY w# e=$ r* ejM                  d        ej@                  d       Y e>$ rXZ~ejM                  e~       er9ej                  d       ej                  d        ej@                  d       Y dZ~[~\dZ~[~we?$ rCZ~ejM                  e~       ej                  d        ej@                  d       Y dZ~[~dZ~[~ww xY w#  ej                  d      ZejU                  e)dd       Y >xY w#  ej                  d      ZejU                  e)dd       Y xY w# eG$ rZ~ej                  d      Z	 ejU                  e)dd       n]# eG$ rTZ~ejM                  de~z         	  ejj                  e)       n# eH$ r Y nw xY w ej@                  d       Y dZ~[~ndZ~[~ww xY wY dZ~[~dZ~[~we$ rUZ~ejM                  de~z         	  ejj                  e)       n# eH$ r Y nw xY w ej@                  d       Y dZ~[~fdZ~[~ww xY w#  ej                  d      ZejU                  e)dd       Y AxY w# eG$ rUZ~ejM                  de~z         	  ejj                  e)       n# eH$ r Y nw xY w ej@                  d       Y dZ~[~dZ~[~ww xY w# e$ r ejM                  d       Y w xY w# e=$ r ejM                  d       Y w xY w# e$ rD 	 ddːlWmRZR dd̐lXmTZT dd͐lYmVZV n # e$ r ejM                  dΫ       Y Y 	w xY wY w xY w# eH$ rZ~ ee~      ZdY dZ~[~2dZ~[~ww xY w# e$ r ejM                  d       Y ;w xY w(  z2.2zhp-scanzScan UtilityzCSANE-based scan utility for HPLIP supported all-in-one/mfp devices.    N)*)PY3)tuidevicemoduleutilsos_utils)cups)sanescanext)imageprocessing i,  graymm zhp-scan from %sd   FJPEGT.pnga  The scan operation has been cancelled or a multipick or paper is jammed in the ADF.
If you cancelled the scan,click OK.
If the scan was terminated due to a multi-feed or paper jam in the ADF,
do the following:

1)Clear the ADF path. For instructions see your product documentation.
2)Check the sheets are not stuck together. Remove any staples, sticky notes,tape or other objects.
3)Restart the scan

Note:If necessary, turn off automatic detection of multi-pick before starting a new scan
         5x7)      z	5x7 photoin4x6)f      z	4x6 photor   3x5)L   r   z3x5 index cardr   a2_env)o      zA2 Enveloper   a3))  i  A3r   a4)   r%   A4r   a5)   r(   A5r   a6)i   r+   A6r   b4)  il  B4r   b5)   r1   B5r   c6_env)r      zC6 Enveloper   dl_env)n      zDL Enveloper   exec)   i  	Executiver   flsa)   J  Flsar   higaki)r   r+   Hagakir   japan_env_3)x      zJapanese Envelope #3r   japan_env_4)Z      zJapanese Envelope #4r   )   id  Legalr   )rK   i  Letterr   )r.      zNumber 10 Enveloper   )r+      zOufuku-Hagakir   )r   r   Photor   )rA   i  zSuper Br   )legalletter	no_10_envzoufufu-hagakiphotosuper_bc                 b   d|vr|dz   }t        j                  ||t              }|dk(  r9t        |       r-	 t	        j
                  | |      }t&        j)                  |       y y |d
k(  r~d}| D ]Z  }|dz   |z   }d|d|}t        j*                  |      }|d   dk(  s1t        j!                  d       t#        j$                  d       \ | D ]  }t-        j.                  |        y | D ]\  }t1        j2                  |      }	t        j                  ||t              }	 |	j5                  |d	d       t-        j8                  |       ^ y # t        $ r 	 t	        j                  | |t        t        t        t        t        t              }nw# t        $ rk}|j                  j                  d      d   dk(  rt        j!                  d       nt        j!                  d       t#        j$                  d	       Y d }~nd }~ww xY wY w xY w#  |	j7                  d      }	|	j5                  |d	d       Y xY w)Nhpscan_.pdfr   PILPDF output requires PIL.PDF output requires ReportLab.r   .tiffr   convert r   Convert command not found.r   7   compress_levelqualityRGB)r   createBBSequencedFilenameoutput_pathlenr   generatePdfFileImportErrorgeneratePdfFile_canvasorient_listbrxbrytlxtlymessagesplitlogerrorsysexit	temp_listappendrunosremoveImageopensaveconvertunlink)
adf_page_files
pages_file	file_typeoutputrt   	file_namepcmdstatusims
             /usr/share/hplip/scan.pycreatePagesFiler      s    z!c>
,,ZKPFF~
 (88O V$ " 
g	 ! 

Q"S1,Y%.v6SiinV q	R78!

 ! 
QYYq\
   	AAB44ZKXF<a; IIaL	E    ,CCNSYZefijmnqru  wB  CF"  }}**3/3u<		"<=		"BCHHQKK  N<ZZ&a;sH   E H	H4FH	G;A!G61H6G;;HH'H.)kviewdisplaygwenvieweog	kuickshow)kolourpaintgimpkrita	cinepaintmirage)kpdfacroreadxpdfevincezxdg-open)z[OPTIONS] (General)r   headerF)zScan destinations:z#-s<dest_list> or --dest=<dest_list>optionF)r   zMwhere <dest_list> is a comma separated list containing one or more of: 'file'r   F)r   zS, 'viewer', 'editor', 'pdf', or 'print'. Use only commas between values, no spaces.r   F)z
Scan mode:zJ-m<mode> or --mode=<mode>. Where <mode> is 'gray'\*, 'color' or 'lineart'.r   F)zScanning resolution:zV-r<resolution_in_dpi> or --res=<resolution_in_dpi> or --resolution=<resolution_in_dpi>r   F)r   zwhere 300 is default.r   F)zImage resize:z6--resize=<scale_in_%> (min=1%, max=400%, default=100%)r   F)zColor Dropout Red :zi-color_dropout_red_value=<color_dropout_red_value> or --color_dropout_red_value=<color_dropout_red_value>r   F)zColor Dropout Green :zq-color_dropout_green_value=<color_dropout_green_value> or --color_dropout_green_value=<color_dropout_green_value>r   F)zColor Dropout Blue :zm-color_dropout_blue_value=<color_dropout_blue_value> or --color_dropout_blue_value=<color_dropout_blue_value>r   F)zColor Dropout Range :z9-color_range=<color_range> or --color_range=<color_range>r   F)zImage contrast:z&-c=<contrast> or --contrast=<contrast>r   F)r   z0The contrast range varies from device to device.r   F)zImage brightness:z,-b=<brightness> or --brightness=<brightness>r   F)r   z2The brightness range varies from device to device.r   F)z	ADF mode:z=--adf (Note, only PDF output is supported when using the ADF)r   F)r   z0--duplex or --dup for duplex scanning using ADF.r   F)z[OPTIONS] (Scan area)r   r   F)z,Specify the units for area/box measurements:z-t<units> or --units=<units>r   F)r   zEwhere <units> is 'mm'\*, 'cm', 'in', 'px', or 'pt' ('mm' is default).r   F)z
Scan area:z;-a<tlx>,<tly>,<brx>,<bry> or --area=<tlx>,<tly>,<brx>,<bry>r   F)r   zCCoordinates are relative to the upper left corner of the scan area.r   F)r   zOUnits for tlx, tly, brx, and bry are specified by -t/--units (default is 'mm').r   F)r   z*Use only commas between values, no spaces.r   F)z	Scan box:z"--box=<tlx>,<tly>,<width>,<height>r   F)r   zOtlx and tly coordinates are relative to the upper left corner of the scan area.r   F)r   zTUnits for tlx, tly, width, and height are specified by -t/--units (default is 'mm').r   F)zTop left x of the scan area:z--tlx=<tlx>r   F)r   z4Units are specified by -t/--units (default is 'mm').r   F)zTop left y of the scan area:z--tly=<tly>r   F)z Bottom right x of the scan area:z--brx=<brx>r   F)z"Bottom right y   of the scan area:z--bry=<bry>r   F)z,Specify the scan area based on a paper size:z--size=<paper size name>r   Fz%where <paper size name> is one of: %sz, r   )z"Crop out edges from the scan area:z.--edge_erase_value=<border crop value in inch>r   F)r   z;where <border crop value in inch> is in range of: [0-1]inchr   F)z[OPTIONS] ('file' dest)r   r   F)z Filename for 'file' destination:z8-o<file> or -f<file> or --file=<file> or --output=<file>r   F)z[OPTIONS] ('pdf' dest)r   r   F)zPDF viewer application:z--pdf=<pdf_viewer>r   F)z[OPTIONS] ('viewer' dest)r   r   F)zImage viewer application:z-v<viewer> or --viewer=<viewer>r   F)z[OPTIONS] ('editor' dest)r   r   F)zImage editor application:z-e<editor> or --editor=<editor>r   F)z[OPTIONS] ('email' dest)r   r   F)zFrom: address for 'email' dest:z>--email-from=<email_from_address> (required for 'email' dest.)r   F)zTo: address for 'email' dest:z;--email-to=<email__to_address> (required for 'email' dest.)r   F)zEmail subject for 'email' dest:z4--email-subject="<subject>" or --subject="<subject>"r   F)r   zIUse double quotes (") around the subject if it contains space characters.r   F)z%Note or message for the 'email' dest:z,--email-msg="<msg>" or --email-note="<note>"r   F)r   zNUse double quotes (") around the note/message if it contains space characters.r   F)z[OPTIONS] ('printer' dest)r   r   F)zPrinter queue/printer dest:z4--dp=<printer_name> or --dest-printer=<printer_name>r   F)zPrinter device-URI dest:z/--dd=<device-uri> or --dest-device=<device-uri>r   F)z[OPTIONS] (advanced)r   r   F)z!Set the scanner compression mode:zv-x<mode> or --compression=<mode>, <mode>='raw', 'none' or 'jpeg' ('jpeg' is default) ('raw' and 'none' are equivalent)r   F)Nzdest=zmode=zres=zresolution=zresize=adfduplexdupzunit=zunits=zarea=zbox=ztlx=ztly=zbrx=zbry=zsize=zfile=zoutput=zpdf=zviewer=zemail-from=from=z	email-to=to=z
email-msg=zmsg=zprinter=zcompression=rawjpegcolorlineartcolourbwr   	grayscalegrey	greyscalezemail-subject=zsubject=r   r   jpgz
grey-scalez
gray-scalezabout=zeditor=zdp=zdest-printer=zdd=zdest-device=zbrightness=z	contrast=z	filetype=zpath=uiscanz
sharpness=zcolor_dropout_red_value=zcolor_dropout_green_value=zcolor_dropout_blue_value=zcolor_range=zcolor_value=	multipick
autoorient	blankpage
batchsepBP	mixedfeedcrushedbg_color_removalpunchhole_removaldocmergeadf_flatbed_merge
batchsepBCdeskewautocropbacksidezedge_erase_value=)see_also_listzs:m:r:c:t:a:b:o:v:f:c:x:e:hpaioz	scan-type)back_end_filterfilterdevices)z-xz--compression)r   r   )r   noneNonezFInvalid compression value. Valid values are 'jpeg', 'raw', and 'none'.zUsing default value of 'jpeg'.z
--filetypepngr   .jpgpdfrY   tiffr^   bmpz.bmpz--pathr   r   )z--colorz--colourr   )z	--lineartz
--line-artz--bwr   )z--grayz--grayscalez--gray-scalez--greyz--greyscalez--grey-scale)z-mz--mode)r   r   )r   r   zb&w_7500z.lineart mode is not supported for this device.)r   r   r   r   z&Invalid mode. Using default of 'gray'.z.Valid modes are 'color', 'lineart', or 'gray'.)z--resz--resolution-rzInvalid value for resolution.)-tz--unitsz--unit)r   inchinchesr   )r   	milimeter
milimeters
millimetremillimetres)cm
centimetercentimeters
centimetrecentimetresr   )pxpixelpixelspelpelsr   )ptpointpointsptsr   z%Invalid units. Using default of 'mm'.z--tlxzInvalid value for tlx.z--tlyzInvalid value for tly.z--brxzInvalid value for brx.z--bryzInvalid value for bry.)z-az--area,   z&Invalid value for tlx. Using defaults.z&Invalid value for tly. Using defaults.z&Invalid value for brx. Using defaults.z&Invalid value for bry. Using defaults.z"Invalid scan area. Using defaults.z--boxz(Invalid value for width. Using defaults.z:Cannot calculate brx since tlx is invalid. Using defaults.z)Invalid value for height. Using defaults.z:Cannot calculate bry since tly is invalid. Using defaults.z--size)r   r   z+Invalid page size. Valid page sizes are: %szUsing defaults.)z-oz--outputz-fz--file)r   r   rY   zFOnly JPG (.jpg), PNG (.png) and PDF (.pdf) output files are supported.filez2Output file '%s' exists. File will be overwritten.zInvalid filename extension.)z-sz--destz--destination)r   viewereditorprintemailr   )z--ddz--dest-devicer   )z--dpz--dest-printer)z-vz--viewerzViewer application not found.r   )z-ez--editorzEditor application not found.r   z--pdfz!PDF viewer application not found.)z
--email-toz--tor   )z--email-fromz--from)z--email-subjectz	--subjectz--about)z--email-notez--email-msgz--msgz	--messagez--notez--notesz--resize%z,Invalid resize value. Using default of 100%.)z-color_dropout_red_valuez--color_dropout_red_valuez.Invalid color dropout value. Using default 0 .)z-color_dropout_green_valuez--color_dropout_green_value)z-color_dropout_blue_valuez--color_dropout_blue_valuez7Invalid color dropout value. Using default of [0:0:0] .)z-color_rangez--color_range1   )z-edge_erase_valuez--edge_erase_valuez2Invalid edge erase value. Setting Max Value of  %fz2Invalid edge erase value. Setting Max Value of  %dz-Invalid edge erase value. Using default of 0.)z-bz--brightnessz-Invalid brightness value. Using default of 0.)z-cz
--contrastz+Invalid contrast value. Using default of 0.z--sharpnessz,Invalid sharpness value. Using default of 0.z--color_valuez(Invalid color_value. Using default of 0.z--adf)z--dupz--duplexz--blankpagez%Invalid Option.Using default of Falsez--multipickz
--autocropz--deskewz--autoorientz	--crushedz--bg_color_removalz--punchhole_removalz--mixedfeedz
--backsidez
--docmergez--adf_flatbed_mergez--batchsepBCz--batchsepBPz--uiscanz@No destinations specified. Adding 'file' destination by default.zOEmail specified, but email to and/or email from address(es) were not specified.zDisabling 'email' destination.gffffff9@g      $@gׁsF?zEUnits set to pixels. Using resolution of %ddpi for area calculations.zDInvalid values for tlx (%d) and brx (%d) (tlx>=brx). Using defaults.zDInvalid values for tly (%d) and bry (%d) (tly>=bry). Using defaults.z#Scanning disabled in build. Exitingz@GUI mode is not implemented yet. Refer to 'hp-scan -h' for help.)queue)subproc)r|   z6%s requires the Python Imaging Library (PIL). Exiting.zfManually install the PIL package. More information is available at http://hplipopensource.com/node/369zUsing device %szOpening connection to device...      sourcez$Supported source Options: %s size=%dzDevice doesn't have scanner.z%Failed to get the source from device.ADFzDevice has only ADF support   zADF-SinglePagezADF-MultiPage-SimplexzADF-MultiPage-DuplexDuplexzADF Simplexz
ADF Duplexz8Failed to set ADF mode. This device doesn't support ADF.zIDevice doesn't support Duplex scanning. Continuing with Simplex ADF scan.z
batch-scanz$Error in setting ADF mode Duplex=%d.Flatbedz@Error setting source or batch-scan option (this is probably OK)._2000_s2z
multi-pickztl-xztl-yzbr-xzbr-y
resolutionzDevice supported resolutions z<Invalid resolution. Using closest valid resolution of %d dpizValid resolutions are %s dpi.gzG)@   i   iX  zQUsing resolutions greater than 600 dpi will cause very large files to be created.zFThe scan current parameters will cause very large files to be created.z_This can cause the scan to take a long time to complete and may cause your system to slow down.z0Approx. number of bytes to read from scanner: %scompressioncontrastzQInvalid contrast. Contrast range is (%d, %d). Using closest valid contrast of %d z;Unable to set contrast for this device. Using default of 0.
brightnesszWInvalid brightness. Brightness range is (%d, %d). Using closest valid brightness of %d z=Unable to set brightness for this device. Using default of 0.g        z0Invalid scan area (width or height is negative).zResolution: %ddpizMode: %szCompression: %szContrast: %dzBrightness: %dzScan area (mm):z  Top left (x,y): (%fmm, %fmm)z"  Bottom right (x,y): (%fmm, %fmm)z  Width: %fmmz  Height: %fmmzPage size: %szKThis scan area below in '%s' units may not be exact due to rounding errors.zScan area (in):z  Top left (x,y): (%fin, %fin)z"  Bottom right (x,y): (%fin, %fin)z  Width: %finz  Height: %finzScan area (cm):z  Top left (x,y): (%fcm, %fcm)z"  Bottom right (x,y): (%fcm, %fcm)z  Width: %fcmz  Height: %fcmzScan area (px @ %ddpi):z  Top left (x,y): (%fpx, %fpx)z"  Bottom right (x,y): (%fpx, %fpx)z  Width: %fpxz  Height: %fpxzScan area (pt):z  Top left (x,y): (%fpt, %fpt)z"  Bottom right (x,y): (%fpt, %fpt)z  Width: %fptz  Height: %fptzDestination(s): %szOutput file: %smodezSupported modes: %s size=%dzDevice doesn't support z mode. Continuing with z mode.hp2000S1hpgt2500GrayColorLineartz7File destination enabled with no output file specified.z*Setting output format to PDF for ADF mode.rW   z0Setting output format to PNG for greyscale mode.z5Setting output format to JPEG for color/lineart mode.zDefaulting to '%s'.)r   r   r   zHInvalid output file format. File formats must be 'jpeg', 'png' or 'pdf'.z+ADF scans must be saved in PDF file format.z
Warming up...z
Page %d: Scanning...z
Scanning...RGBAzexpected_bytes = %dzAborted.z4No document(s). Please load documents and try again.z)Out of documents. Scanned %d pages total.z-Expecting to read %s from scanner (per page).z"Expecting to read %s from scanner.zReading data:z!ADF_MPD multipick or Jam error %dz!Error in reading data. Status=%d g      ?zRead %s from scanner.zCPPL=%d lines=%d depth=%d BPL=%d pad=%d total_read=%d total_write=%drZ   )r   r   z2Did not read enough data from scanner (I/O Error?)L.3enablezHere in barcode detectionY800re   zbatchSep_00%dhpscanMergera   rb   zhpscan_pg%d_zADF_MPD multipick error %dz/Error in reading data. Status=%d bytes_read=%d.zNo data read.zClosing device.z%s   	hpscandocr_   r`   r[   r\   r]   )canvaszA problem has occurred with PDF generation. This is a known bug in ReportLab. Please update your install of ReportLab to version 2.0 or greater.zWYou might be running an older version of reportlab. Please update to the latest versionzDMore information is available at http://hplipopensource.com/node/369z(Try Updating to reportlab version >= 3.2zSaving to file %szViewing PDF file in %sz &i  zAResize parameter is incorrect. Resize must be 0% < resize < 400%.zUsing resize value of 100%.z%Resizing image from %dx%d to %dx%d...rX   z"
Outputting to destination 'file':zError saving file: %s (I/O)zError saving file: %s (PIL))suffixzError saving temporary file: %sz
Sending to destination '%s':zhp-printzpython ./print.pyz -p :zhp:z -d )	MIMEImage)MIMEMultipart)MIMETextz/hp-scan email destination requires Python 2.2+.SubjectFromTozScanned using hp-scanz!attached: %s: %dx%d %s PNG image.zattached: %dx%d %s PNG image.rzContent-Disposition
attachment)filenamesendmailr   r   )stdinstdoutstderrz'Mail send failed. 'sendmail' not found.zViewing file in %szViewer not found.zEditing file in %szEditor not found.z	User exitzDone.)r   (n  __version____mod__	__title____doc__ru   rz   os.pathgetoptsignaltimesocketoperatorbase.gbase.sixextr   baser   r   r   r   r	   prntr
   scanr   
import_extr   platformr   rj   r   propusernamer  res	scan_modero   rp   rm   rn   unitsr   dest
email_fromemail_togethostnameemail_subject
email_noteresizer   set_brightnesscolor_dropout_redset_color_dropoutcolor_dropout_greencolor_dropout_bluecolor_range_value
edge_eraseedge_erase_valuer   set_contrast	page_size	size_desc
page_unitsdefault_resscanner_compressionr   r   dest_printerdest_devUrir   	sharpnessset_sharpnesscolor_valueset_color_valuebarcode_foundlistbarcode_databarcode_countbarcode_first_occurencebarcode_first_page	save_filegetcwdrg   extr   
blank_pageisBlankPageauto_orientr   r   r   	auto_cropdeskew_imagelineart_modedocument_merge
mixed_feed	back_sider   r   barcodemerge_ADF_Flatbedrw   blankpage_foundbp_no
pyPlatformblankpage_datablankpage_countblankpage_first_occurenceblankpage_first_pageorientrl   multipick_error_messageSANE_STATUS_MULTIPICKSANE_STATUS_JAMMEDMAX_EDGE_ERASE_VALUE_INCH
PAGE_SIZESr   r   viewer_listvwhichvvpathjoinr   editor_listeee
pdf_viewerpdf_viewer_listModuleINTERACTIVE_MODEmodUSAGE_SPACEsortedkeysextra_optionsscan_parseStdOptssetUsageUSAGE_FLAG_DEVICE_ARGSparseStdOptsopts
device_uriprinter_namer   
ui_toolkitlanginit
getDevicessane_devices
devicelistdmfgmdltrx   KeyErrordeInitgetDeviceUrigtrv   oastriplowerrs   rt   researchint
ValueErrorfloatfrr   widthheightsizeabspathnormpath
expandusersplitextr{   existswarn
IndexErroraabreplaceoutput_type
scan_buildGUI_MODEbase.sixext.movesr   
subprocessr   r[   r|   noticeboldinfo
openDeviceargsreportErrorgetOptionObj
constraintsource_optiondebugrh   	setOptionMPICKlimitAndSet	scan_area	valid_resstrmaxsizemin_distxabsscan_px	scan_sizeformat_bytesvalid_contrastvalid_brightnessnoteQueueupdate_queueevent_queueavailable_scan_modecreateSequencedFilenameno_docspagebackpage_countbarcode_indexblankpage_indexr   	blank_cnt	page_listcleanup_spinner
bytes_read	startScanokexpected_bytesr   KeyboardInterrupt
cancelScanSANE_STATUS_NO_DOCSwaitForScanActiveProgressMeterpmisScanActiveqsizegetis_debugupdateSANE_STATUS_GOODEmptysleepgetScanbufferformatformat_namepixels_per_linelinesdepthbytes_per_line	pad_bytes
total_readtotal_write
frombufferreadr   r   r   r   r   orientangler   factoradjust_brightnessadjust_contrastadjust_sharpnessadjust_colorpython_versionnumzbarImageScannerscannerparse_config	bar_imagetobytesraw_bar	my_streamsymboldatacolor_dropoutedge_erase_value_pxcheck_pypdf2temp_outputr~   r   popdocumentmerge
outputtiffr   r   r   ry   ri   rk   rq   reportlab.pdfgenr  Canvascr}   imagedrawInlineImage	NameErrorAssertionError	ExceptionshowPageexecutenew_wnew_h	ANTIALIAS
file_savedrf   IOErrorOSError
temp_savedmake_temp_file	output_fdclose
pdf_outputhp_print	partitiontmpemail.mime.imager  email.mime.multipartr  email.mime.textr	  email.MIMEImageemail.MIMEMultipartemail.MIMETextmsgpreambletxtattachbasenamefpimg
add_headerr  reprerrPopenPIPEspcommunicate	as_stringstd_outstd_errfreeScan	closeScan)r  s   0r   <module>r9     sI  4 
	
O  	         5 5  
%

9
% $ ==
C	



		
!$6F$6$6$88
	
     
 		
 			v  	biik	

  	
	


 		
   	
 Q    	)	) 
- .	
 	! 	! 	! 	! 	! 	! . . * % )  <!" ;#$ ()87'+/
45n`FGK U[[^WW\\"a(F	 FJK U[[^WW\\"a(F	 JHO U[[^b!,J	 &--K$)+-CJ{5$$ J{4J{VJ{ 	pJ{ 	u	J{
 	wJ{ 	LJ{ 	7J{ 	eJ{ 	^J{ 	hJ{ 	cJ{ 	pJ{ 	WJ{ 	RJ{ 	_J{  	T!J{" 	h#J{$ 	R%J{& 	'J{( 	7)J{* 	j+J{, 	h-J{. 	g/J{0 	e1J{2 	q3J{4 	L5J{6 	M7J{8 	q9J{: 	v;J{< 	L=J{> 	I?J{@ 	eAJ{B 	VCJ{D 	IEJ{F 	eGJ{H 	VIJ{J 	MKJ{L 	eMJ{N 	VOJ{P 	OQJ{R 	eSJ{T 	VUJ{V 	fWJ{X 
4tyyZ__M^H_A`7aackmrsYJ{Z 	r[J{\ 	]]J{^ 	_J{` 	9aJ{b 	zcJ{f 	gJ{h 	8iJ{j 	KkJ{l 	mJ{n 	;oJ{p 	ZqJ{r 	sJ{t 	;uJ{v 	ZwJ{x 	yJ{z 	:{J{| 	}J{~ 	zJ{@ 	uAJ{B 	kCJ{D 	sEJ{F 	pGJ{H 	IJ{J 	<KJ{L 	qMJ{N 	iOJ{P 	QJ{R 	6SJ{T 	yUJ{MZ_, LL..RLP
 	57HI ;D*lD*d DIIK"4??$LJ& &3Q	&qM qM  %& DKKM !!*l 	;a8H*IS] " _J  w1''	!AO#&,#o%&,# 		bc		:;&,#, Ez!	e!	e!	f"	e!	!	(]K%Z"(&["())I55!IddI""	!A''#	..IIh
3IINOCHHQK%	@@"	 		BC		JK"	11	N
 --	!A,,TTVV>>66 		AB'\	!A!H '\	!A!H '\	!A!H '\	!A!H ""	!A%&WWS\"1%5"S#s*C
*C
*C
*C
 '\	!A#*+''#,r*:'S%*C
*C
 ?##ElS0
 IIZ[C?##Fmc1
 IIZ[C(]779??$Dz!2<T2B/S)ZS 			G$))TXYcYhYhYjTkJllm		+,44WW__RWW%5%5bgg6H6H6S%TUF,gg&&v.q1 99;&>>IIfgF~F+ww~~f-!UX^!^_T)F+33	!'',A $XXZNN$KKO	$ ++'')Kd"G$,,779Ld"G$$$	AAA		9:a+4'KK)$$	AAA		9:a+4'KK)'\	AAA		=>WW\\!Q/
$KK& ((wws|Hd"G$,,Jd"G$==Md"G$\\Jd"G$*_		#r"AJQ KK&$(!$'F! OO($(!&)!f# MM'$(!%(V" 33'$(!$'F! ==%!
#(8 #&??IIRTmmn'@$#a'IIRTUUV'($ ((!%"1779-

 &&# +
 =! $!!''),	 ?# "&#AGGI. '\C#''FC#-#!
 -" 	
 ," 	 *_%# . $" +  &&)#' 
 ''*$(! -#!
 ," 	 ,'!% ''*$(! . #!
 . #!
 *_iwr U?HHWXF$
(		cd		23G}?#*C?#*C?#*C?#*C	$?#*C?#*C?#*C?#*C	$?#,C?#,C?#,C?#,C	$X[^^_?#)d"2C?#)d"2C?#)d"2C?#)d"2C
3?scz		X\_ad[eefc
3?scz		X\_ad[eefc??		78x		TU 	,	3
	! 			 U?HHSXX/*<=>HH67
	$T__Z0F	/F//9DDMII<cR_N`?aab$		89 }"u'=YY45S1$*:m*KRimzRz  BX  \i  BiYY45S1$%=*@xS`G`YY45S .5E]5Zax  AN  bN  Uk  s@  U@  GT  \i  Gi  p|  DQ  pQ		"\] ~#}4,F,,Xx@3}D,F,,X7MN)]:,F,,X|DHH%pq/=@ 0 0 0;K L!8M!I 0 0 0;R S 0 0 05 A+}<,F,,X7GH4E,F,,X7NO*m;,F,,X}E,F,,Xu=$F$$\48^   95   u5 biiZ@EF\3u:6EF\3u:6!f!!&)55c:!f!!&)55c:!f!!&)55c:!f!!&)55c:3Y39-	'F''5@@			yBC	>IaL C)A,$6XXTWZZ[IaL aLcil"aLc 	!HHSVYYZHH4tyyR[A\Q#a&A\7]]^A,C{{H  1X(#&qs8 
 "f!!,/;;C@c/C'&0!I& I1IxSylmabHHvwHHGJ\%J\J\]fhlJmmn(;<U?|8}H!4!4!4Z!@!K!Ks>!#455(c.YZJ[F\:\2v22:>JJ8THHHptw  yG  HI  yJ  uK  MP  Q_  `a  Qb  Mc  em  tn  n  o#nQ&7"88#&~a'8#9!Cq(9$::#&~a'8#9   X6
 U?~ZJ#66#6#6|#D#O#O %5a%8!99jCP`abPcLd>d!4!4!4\!B!N!Nz!ZJHHvz}  O  PQ  R  {S  UX  Yi  jk  Yl  Um  oy  zz  z  {!C(8(;$<<%()9!)<%=
#c*:1*=&>>%()9!)<%=
   z: 9sSyC/IIHICHHQKU?HHRLHH(3./HHZ)+,HH&)<<=(23)J67D=*+9S#JFG=c
JKC#I67)S3Y78E945}U?HHjmrrsD=*+9SXs4x<PPQ=T3t8@TTUS3Y,<=>)cCi-=>?d]*+9SXs4x<PPQ=T3t8@TTUS3Y,<=>)cCi-=>?d]2S899SWT\3s7SW<<XXY=SsSVwW[|@\\]S3YOD,@AB)cCi_T-ABCd]*+9SZV<TTU=VSQWZ@XXYS3Y,>?@)cCi-?@AU?HH)DIIdO;<T>*V34"u{{}!ekkm1f11&9DD2EFQqwwyF		/3FsK^G_2``a??$77HHQZ[nop[qrs+A.I99[*-;
1SF"   0g%   1i'   3FVY/
 	s+U?~fU?HHVW!MN ;U::8VLF"'K F*!U?HH%WX!>!>!>x!P&+!U?HH%\]!>!>!>x!P&,U?HH2V;<%"$''"2"26":1"="C"C"Eab"IK"e+&, {2HH		de{{e';		GHHH&'		\	 !9D!@A1
R $5EV5E5Efl\g5h2NF		"7."HI v)D)DD6Q;% #		*` a$CHHQK% #)TX\]^X^)_ `&*G!v)>>$II&=>$CHHQKv);;		"9: %)% #		*Y\n\a\n\no}\~*~ % #		*NQcQVQcQcdrQs*s t,F,,..S..?-&--/*002&5A5E5Ea5H 2
'*||~'5'9+1U?,.IIc#j.:W6X0B0B0B:0N-P ,2U?,.IIa0B0B0B:0N-P $*W-E-E#E(.2G(GI[aew[w(+		2UY_2`(a(+		2UY_2`(a# +0026 #

39 .&--/H #((*)5)9)9!)<&FJ<<>)A-% "		#c*n^.K*L$6E$6$6z$B!D  & "		!$6E$6$6z$B!D #((* *">%3s8,>E,>,>z,JK!8;M5;M;Mj;Y!YZ \j[a[i[i[kYFFKuni[		"g(%	S]_jk#l m {jN&B #J$? @ $55( 0 0 0/59QSYS^S^S` %vq!!52
 #i/(.<q.@O+/L!1!1!1&?E:RTZT_T_Ta %vq!"55<WS\ 
 ~)q8HA8M '@o&?&?<&P)f*#,>'+Av{(1Q	(1(8(8(>'+Av':(1Q	+/6Q;89I,5aL,5,<,<T,B%+"#-45O4CA4EO4CA4EO'+qy?C(<(66$(AID$, (("z010?0A0?0A#'19;?$8 ([E-A"%;_%;%;B%? &<_%;%;B%? %+*>!9!9!9"!=B&#.)D)D)DR)H + 2 26 :%?_%?%?F%K + 2 21 5!T>n%/^F!B!B!B2v!NB!T>l%-c\F!@!@!@V!LB(%.s]F!A!A!A"f!MB*%0_F!=!=!=b&!IB%<X%<%<%>
(..s3%#a&3,'&7d&7&7&9G#00:II&AB(*

3I,5NNME6&/&7&7&9G(2

5&&'(RI#LL3 +4 4#);;?23M$0$7$7$D2?/M2?/M'+qy=A(:$)23M4 -!B!B!B2!FB,!>!>!>rCTUhi{B|  ~O  "PB+!A!A!A"!EB"!8!8!8!<B%25c:J6J2K/!;!;!;B?R!SB!T>"$-$6-;9X]K]  eAds  eA  eA  eC  GK  eK-/ZZ->#0?'>$'F+=+F,;N8UX,YBG(?(7|TWXdTefgTgGhjm(n2?/M(6q(9#21#4'@D'H+?5+H,;N8UX,YDI(A(7W\G\^a(b4CA4EO$)QJE(6q(9!> $5#<eAS2O%2O2OP]_bcn2oK(66iSXFX^z^m^z^z^|  AE  _E6Se6S6ST\^dfq6r6Se6S6ST\]`bm6n . 5 5k B!>!U$&GGKqQSG$T!4#1f'0A~(1		.2D2D2F(G(1		.2D2D2F(G45	(1!#u_"kU&:.Ke.K.KN]aLaci.j . 5 5k B "1R Pt^'2O2O(OT]II:fEFIIOSY[eRffgCHHQKt^3E)EIIAVLMIIOSY[eRffgCHHQKIIo.CHHQKsw	!#i
 p
 *+F I%e);yF?RV_chVhluy~l~ !|C<Ma<O/PRUV
 %9~!T>IIdi&89$CHHQK!#u/DcJ %9~!T>IIdi&89$CHHQK& ~& ;_::>#kZF!U* "T>IIdfo6 %CHHQKv%~&*!>!>!>{CP[!\J "I+ 
($-Oa$7	09*E!*3 "!9?II&BC$CHHQK
( , %!		!% u$]
 ~&*(D0!>!>!>}cR]!^!>!>!>{CP[!\(%%D_%D%D^TZ%[F%K_%K%KN[abmnqruvyz}  J  &KF %- >*!T>% #		$&/ :!, #		$+*> ?$CHHQK SK5,@33
 666xHfs6z3v:&>?A# "

1 %%ec&jCJ3s7TZJZ^abe^egm]mo 

		!+. HH(612FFH~1J>?#-v6   %CHHQKS=zVc\		]^		78Of4s:;EFNS01U?HHDY^`eglGmmnYYu~u?
T>U"i5&8I<OS\`eSeirv{i{ A%<U<<\!_S=PRUWbcF!U*1Bd1J"?%"?"?sS^"_"?%"?"?["Y>?@T>HH069: E)6HGGF!BGG
HGGF!BGG
$[ "U?HH%=
%JKHH%86%AB,5  IIdfo6$CHHQKu_GGF!BG?( JKK
D 0GtOwRV 4 4 4F CIv.@GGF!BG? BHHYJ B	3AHH59:Ez77 %,!>!>!>}fU`!aJ!>!>!>xQ\!]J!FMM*s6z3v:.FG%%b3v:VCQWGW[^_b[bdjZjl
 

U?HH0:=>U?HH5
BC T>IIdj12CHHQKCHHQKg&5;;z482H+,4lFK3 ,$..s3A63!&;,4k6J3&.73   %g!::BB88 $o!.I(FHHX.D	6":.CJJsO"#F))&1?E9U$V WC ##BoW\^gEh#hiC

3&#&	*
NN#8,QSQXQXQaQabhQiNj

3&5;;z2!ww||HjAH#Dj9CIId3i(C%-Z--cQ[Q`Q`isixixy+->>#--/+J("b=")C $%		$s), IIGHhHH1F:;'-v6C$H$$S)II12hHH1F:;'-v6C$H$$S)II12EB	3H 	   W>  	3Kn	  	" EJqM	"x  "		9:!"@  4		234  4		234  4		234  4		234 " IIFGC " IIFGC " IIFGC " IIFGC/  @		>?@H " IIFGC " IIFGC & #		"LM"# & #		"MN"#9  @		>?@d  (		78T>KK'	(v  J		HIJ  &		JK$%!&  (		JK&'#(  '		ST%&"'  '		ST$&!'  %		IJ#$ %  		IJ
  		GH  		HI	   		DE    #		AB"
#  "		AB!	"  "		AB!	"  %		AB$%  $		AB#$   		AB   )		AB#( )  *		AB$)!*  #		AB"
#  "		AB!	"  '		AB!&'  *		AB$)!*  #		AB"
#  #		AB"
#  		AB@  	322	3  	IINQXXY

388  %M  N  OCHHQK		0 }} 	QVVAY*??23!vvay..23!DQVVAY'CHHQKK	 	II=>CHHQKV == 		@6IJ == ^		\]^< B]TVW XY
T Gh " %"$K%N #== $166!90E#E)II&=>$CHHQKAFF1I1C$CII&=>$CHHQK(((3 , $		*-)))+ $v $);; & %& )  IIj)%F%%'CHHQK X ) (II&Z[$CHHQK(  * (II&Z[$CHHQK(J!U)+E):B$&GGKqQSG$TF *+Fh(
())O)O)OP^_efqruvyz}  B  CN  *O)H)H)HX^)_* ($}}2237;uD #		*D E #		*J K$CHHQKK(2  		:; !  II  q  rCHHQK% $IIaL!z{!gh    IIaLHHGHCHHQKK hH!#E!2BGGF!BGGH!#E!2BGGF!BGG8  
ZZ&''&"'= ))9A=>bii'  #((1++  		7!;<BIIf% .@E*BGGF!BG? 		;a?@BIIf%  & # II>? ! II  q  rP # !!==EE;;& !		"ST ! <	!b # %!!f%>  IIks  %CZ? DR9 $>DR9 #>DR9 "GDR9 3C[8GDR9 C[%BDR9 +C\3)DR9 C\#%)DR9 C])DR9 C]	(DR9 2C_=C]=C^C^=(C_0'DR9 Cb3C`<C`;DR9 CaDR9 *Ca;5DDR9 ;Cb9+DR9 A	DR9 A"DR9 5DR9 :/DR9 +-DR9 A1DR9 A1DR9  A2DR9 4.DR9 $DR9 DR9 $DR9 ,DR9 1Cc/9DR9  
Cd
DR9 
Cd/DR9 "
Ce,DR9 3
Ce/=DR9 ACfDR9 Cf/&DR9 -CgDR9 Cg/&DR9 -ChDR9 DR9 )
DR9 4Ch/6DR9 ?CiDR9 
Ci1DR9 CjDR9  Cj3"DR9 +Ck-DR9 6Ck58DR9 ClDR9 Cl7DR9 CmDR9 $Cm9&DR9 /Cn1DR9 :Cn;<DR9 CoDR9 Co=GDR9 @2Cp @7Cp1 @>ADR9 BCr B#A%Cu DBDR9 FFCu? LDR9 L+Cv? L<FDR9 SCw)S)2DR9 TC+DR9 XCCw. [DR9 [+CCx ^>RDR9 qCx(q(GDR9 x>8Cx- y6BDR9 |9D@9 }
0Cx; }:A'C} !D@9 #DC} C/CC} GC} G&C} G;B,D@9 J(C'D@9 N0C~ O D@9 OAC PS(D@9 c;D@ dFD@9 j%G!DR9 rBDR9 t$1DA( uBDR9 w&
DD w0ADR9 y.DEy1GDR9 @=!DJ ADH A7DJ A9DI BA?DJ DADR9 EDN3 EDM> E/9DR9 F)
DPF3ADR9 H	.DP0H7D,DR9 M$DQNFDR9 TA-DRU?
DR9 VBDR9 XBDR9 Z?C[[C[[C["[DR9 [!C["["DR9 [%C\[>DR9 \C\\DR9 \C\ \DR9 \C\ \ DR9 \#C\>\:DR9 \=C\>\>DR9 ]C]]DR9 ]C]]DR9 ]C]:]6DR9 ]9C]:]:DR9 ]=C^^DR9 ^C^^DR9 ^C^:^6DR9 ^9C^:^:DR9 ^=C__DR9 _C__DR9 _C_:_6DR9 _9C_:_:DR9 _=C``DR9 `C``DR9 `C`8`4DR9 `7C`8`8DR9 `;CaaDR9 aCaaDR9 aCa8a4DR9 a7Ca8a8DR9 a;CbbDR9 bCbbDR9 bCb6b2DR9 b5Cb6b6DR9 b9/Cc,c(DR9 c+Cc,c,DR9 c/CddDR9 dCddDR9 dCd,d(DR9 d+Cd,d,DR9 d/CeeDR9 eCeeDR9 eCe,e(DR9 e+Ce,e,DR9 e/CffDR9 fCffDR9 fCf,f(DR9 f+Cf,f,DR9 f/CggDR9 gCggDR9 gCg,g(DR9 g+Cg,g,DR9 g/ChhDR9 hChhDR9 hCh,h(DR9 h+Ch,h,DR9 h/Cii	DR9 iCiiDR9 iCi.i*DR9 i-Ci.i.DR9 i1CjjDR9 jCjjDR9 jCj0j,DR9 j/Cj0j0DR9 j3CkkDR9 kCkkDR9 kCk2k.DR9 k1Ck2k2DR9 k5CllDR9 lCllDR9 lCl4l0DR9 l3Cl4l4DR9 l7CmmDR9 mCmmDR9 mCm6m2DR9 m5Cm6m6DR9 m9CnnDR9 nCnnDR9 nCn8n4DR9 n7Cn8n8DR9 n;CooDR9 oCooDR9 oCo:o6DR9 o9Co:o:DR9 o=CppDR9 pCppDR9 pCp.p*DR9 p-Cp.p.DR9 p1ACrrDR9 rCrrDR9 rCurB(Cu	uDR9 u	CuuDR9 u(Cu<u9DR9 u?9Cv<v8DR9 v;Cv<v<DR9 v?#Cw&w"DR9 w%Cw&w&DR9 w.CxxDR9 xCx%x"DR9 x-Cx8x4DR9 x7Cx8x8DR9 x;C}yB,C{={7C} {=A C}|=C} } C}}C} }C}}C} }C}}C} }=C~~D@9 ~C~~D@9 ~+C
D@9 CD@9 +D@ <D@9 ?D@ @ D@9 @0D@6@3D@9 @9,DA%A%DR9 A(DDA+1DBBDDBDDB"ADDDDDDDDDDDDDR9 D+DED?DR9 EDEEDR9 E,DHE2DR9 E5DHE:ADGGDR9 G	DHG8DHHDR9 HDHHDR9 H/DIIDJ I/DJJ DJ JDM;JDLJ"DJ;J:DLJ;DLKDLKDK,K+DLK,DK5K2DLK4DK5K5DLLDLLDLLDLLDR9 LDM;L&DM6L=DMMDM6MDMMDM6MDMMDM6M0DR9 M6DM;M;DR9 M>/DN0N-DN3 N3DPN9DP	ODO$O#DP	O$DO-O*DP	O,DO-O-DP	PDR9 P	DPPDR9 PDP-P)DR9 P,DP-P-DR9 P0DQQ	DR9 QDQQDR9 QDRQDQ5Q4DRQ5DRRDRRDR9 RDRRDRRDR9 RDRRDR9 RDR6R"	DR1R+DR9 R1DR6R6DR9 R9DSSDS