
    *,hi                     \    d dl mZmZmZ dZ G d d      Z G d de      Z G d de      Zy	)
    )ListTupleUnion)S)Sr   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr      r   r   r      r   r   r   r	   r   r   r   r   r   r	   r	   r   r	   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r	   r	   r      r   r	   r   r	   r   r	   r
   r	   r   r	   r
   r   r   r   r	   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r	   r   r	   r	   r   r   r   r   r   r	   r
   r
   r
   r
   r   r   r   r   r   r	   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r
   r   r   r   r   r
   r   r   r	   r
   r	   r
   r   r
   r	   r   r	   r   r   r	   r   r	   r	   r   r	   r
   r   r   r	   r
   r
   r	   r
   r
   r
   r	   r
   r
   r	   r   r
   r
   r	   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r
   r	   r   r	   r
   r   r   r   r   r   r
   r   r   r
   r   r
   r   r   r   r   r   r   Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r   r   r	   r   r	   r   r   r
   r   r	   r	   r	   r	   r   r	   r
   r   r   r	   r
   r   r   r	   r   r	   r   r   r   r   r
   r	   r   r   r	   r   r
   r
   r   r
   r
   r   r   r
   r   r	   r   r	   r	   r   r	   r	   r   r   r   r   r	   r	   r   r
   r	   r	   r	   r
   r   r   r   r	   r   r   r   r	   r   r	   r	   r   r   r   r   r	   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r	   r   r	   r	   r	   r	   r	   r   r	   r   r	   r	   r
   r	   r	   r   r   r	   r   r
   r   r	   r	   r
   r   r   r	   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r	   r   r   r   r   r   r	   r
   r   r	   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r	   r	   r	   r   r   r   r	   r	   r	   r   r   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r	   r	   r   r	   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r
   r	   r   r   r   r	   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r	   r
   r   r   r	   r   r	   r
   r   r	   r	   r   r	   r
   r   r   r   r   r	   r   r   r   r	   r	   r   r
   r   r	   r   r   r
   r   r
   r
   r   r   r
   r   r   r   r	   r   r   r	   r	   r   r   r	   r   r	   r   r   r   r	   r	   r   r
   r   r	   r   r   r   r   r
   r
   r   r
   r   r   r   r   r   r
   r   )Sr   r
   r   r
   r   r   r   r	   r   r   r   r	   r   r	   r	   r	   r   r   r   r   r   r	   r   r	   r   r	   r	   r   r   r   r   r	   r   r   r
   r   r   r   r
   r   r   r
   r	   r   r   r	   r   r	   r   r   r   r	   r	   r	   r   r	   r   r   r   r	   r	   r   r	   r	   r	   r   r   r   r   r	   r   r   r
   r   r   r   r	   r   r   r   r   r   r	   )Sr   r	   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r	   r	   r   r	   r   r	   r   r	   r   r   r	   r   r	   r   r
   r   r   r   r   r   r	   r
   r   r   r	   r
   r
   r   r	   r   r   r	   r   r   r	   r   r   r   r   r	   r   r   r	   r   r   r
   r	   r	   r	   r   r	   r	   r	   r	   r   r   r   r   r
   r   r   r   r	   r	   r   r   r	   )Sr   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r	   r	   r   r   r	   r	   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r	   r   r   r	   r   r   r	   r   r   r	   r	   )Sr   r   r   r   r   r	   r   r	   r   r   r   r   r	   r	   r	   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r	   r   r   r	   r   r
   r   r   r   r
   r	   r
   r   r
   r	   r
   r   r   r	   r
   r
   r	   r   r	   r	   r   r   r	   r   r	   r   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r	   r   r   r
   r   r   r
   r	   r   r   r   r   r	   r   )Sr   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r   r	   r   r   r	   r   r	   r	   r	   r   r	   r	   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r   r   r	   r   r   r   r   r   r	   r   r	   r   r	   r	   r   r	   r   r   r   r	   )Sr   r	   r   r	   r   r   r   r   r   r	   r	   r   r	   r   r	   r   r   r   r	   r   r   r	   r   r	   r	   r	   r   r   r	   r   r
   r   r	   r   r   r	   r   r
   r
   r   r   r   r   r	   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r   r   r   r   r   r   r
   r
   r	   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r	   r   r   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r	   )Sr   r   r   r   r   r
   r   r   r   r   r   r   r   r	   r	   r   r	   r	   r
   r	   r	   r	   r   r	   r   r   r	   r   r   r	   r	   r	   r   r   r   r	   r   r   r
   r
   r	   r   r
   r   r	   r
   r   r   r   r	   r	   r   r   r	   r   r   r   r   r   r	   r   r   r	   r	   r	   r	   r   r	   r   r   r   r	   r   r   r   r
   r
   r   r	   r   r   r   r
   )Sr   r   r   r	   r   r	   r   r   r   r   r	   r   r	   r   r   r   r   r   r	   r   r	   r   r	   r   r	   r   r   r	   r	   r   r	   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r   r	   )Sr   r   r   r
   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r	   r   r   r   r	   r   r	   r   r   r
   r   r	   r	   r	   r	   r   r   r   r	   r   r   r	   r   r   r   r   r	   r	   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r	   r
   r	   r   r
   r   r   r	   r   r   r   r
   )Sr   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r	   r   r	   r   r   r
   r   r   r	   r
   r	   r	   r   r   r	   r   r   r	   r	   r	   r	   r   r   r   r   r
   r   r	   r   r   r   r	   r
   r   r   r	   r
   r   r	   r	   r   r   r   r   r	   r	   r   r   r	   r   r	   r   r   r	   r	   r   r
   r   r   r   r   r   r   r	   r	   r
   r   r   r	   r	   r
   r   r   r	   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r   r	   r	   r	   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r	   r
   r   r	   r	   r	   r   r	   r	   r   r	   r	   r   r   r   r   r	   r	   )Sr   r   r   r   r   r	   r   r   r   r   r
   r
   r	   r   r   r   r   r   r   r	   r	   r   r   r	   r   r	   r   r	   r	   r   r   r	   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r
   r	   r	   r   r   r   r   r   r   r   r   r
   r   r	   r	   r   r   r	   r	   r	   r   r   r	   r   r   r   r   r   r	   r
   r
   r   r   r	   r   r   r	   r	   )Sr   r	   r   r   r   r	   r   r   r   r	   r   r	   r	   r   r	   r	   r	   r   r	   r   r	   r   r   r	   r	   r   r   r   r	   r   r	   r	   r   r   r   r   r   r   r
   r   r	   r	   r
   r   r	   r	   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r   r	   r	   r   r	   r   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r	   r   r   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r	   r   r	   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r
   r	   r	   r   r   r   r   r	   r	   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r   r   r   r   r   r   r
   r	   r   r   r	   r	   r   r	   r
   )Sr   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r	   r   r   r	   r   r   r	   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r	   r   r
   r   r   r   r   r   r	   r   r	   r	   r   r   r   r
   r   r   r   r
   r   r   r   r   r   r	   r	   r   r   r	   r   r   r	   r   r   r	   r	   r   r	   r	   r   r   r
   r	   r   r   r	   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r	   r	   r   r   r   r   r   r	   r   r   r   r
   r   r   r	   r   r   r	   r
   )Sr   r	   r   r	   r   r	   r   r   r   r	   r	   r	   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r	   r   r   r	   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r	   r	   )Sr   r   r   r
   r   r	   r   r	   r   r   r
   r
   r   r	   r
   r	   r   r	   r
   r	   r	   r   r
   r	   r   r   r   r	   r   r	   r   r
   r
   r	   r   r   r	   r   r   r
   r   r   r   r	   r   r
   r
   r   r   r	   r   r   r	   r   r   r	   r	   r   r   r	   r   r   r	   r	   r
   r
   r   r	   r   r	   r   r
   r
   r
   r
   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r	   r   r	   r
   r   r   r   r	   r   r
   r   r	   r   r
   r   r   r   r	   r   r	   r	   r   r	   r	   r	   r	   r   r
   r   r   r	   r	   r
   r	   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r   r	   r   r   r	   r   r   r   r   r   r   r	   r   r
   r   r   r   r   r	   r   )Sr   r	   r   r	   r   r	   r   r   r   r	   r   r   r	   r	   r	   r   r   r   r   r	   r	   r   r	   r	   r	   r   r   r   r	   r   r   r	   r   r	   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r	   r	   r   r	   r	   r   r   r   r   r   r   r   r   r	   r   r	   r	   r
   r   r	   r	   r
   r   r   r	   r	   r   r   r   r	   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r
   r   r   r   r   r	   r   r
   r   r
   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r	   r   r   r   r	   r
   r   r   r	   r   r	   r
   r	   r   r	   r	   r   r   r	   r	   r	   r	   r	   r	   r   r   r   r	   r   r	   r   r   r
   r   r   r	   r   r   r   r	   r
   r   r	   r	   r	   r   r   r   r	   r	   r   r	   r   r	   r	   r	   r
   r	   r	   r   r
   r   r	   r   r	   r   r	   r   r	   r   r   r	   r   r	   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r   r   r   r   r   r   r   )Sr   r
   r   r
   r   r	   r   r	   r   r
   r   r   r
   r   r
   r	   r	   r   r   r	   r   r	   r
   r	   r   r	   r	   r   r   r	   r   r	   r	   r   r	   r	   r   r   r   r	   r   r   r   r	   r   r
   r
   r	   r   r	   r   r   r	   r	   r   r	   r   r   r	   r	   r   r   r
   r	   r	   r
   r   r   r   r	   r   r   r   r	   r
   r	   r	   r   r	   r   r   r   r	   )Sr   r
   r   r
   r   r	   r   r   r   r   r   r	   r
   r   r   r	   r	   r	   r   r   r   r	   r
   r	   r
   r	   r	   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r
   r   r	   r	   r
   r
   r	   r   r	   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r	   r   r
   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r	   r   r	   r	   )Sr   r   r   r
   r   r
   r   r   r   r   r
   r
   r
   r	   r   r	   r	   r   r
   r   r   r	   r
   r	   r
   r	   r   r   r   r	   r   r   r	   r   r   r   r	   r   r
   r   r   r
   r
   r   r	   r
   r
   r   r   r	   r	   r   r	   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r
   r   r   r   r   r   r   r	   r   r   r	   r	   r   r   r   r   r
   r
   )Sr   r   r   r   r   r
   r   r   r   r	   r	   r   r   r	   r   r   r	   r   r
   r   r	   r   r	   r   r	   r   r   r   r	   r   r	   r	   r   r   r   r	   r   r   r   r   r	   r   r   r   r	   r
   r   r   r   r	   r   r   r   r	   r   r	   r   r   r	   r   r   r	   r   r   r	   r
   r   r	   r   r   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   )Sr   r   r   r
   r   r   r   r	   r   r   r
   r
   r   r	   r
   r	   r
   r	   r
   r	   r
   r   r
   r	   r   r	   r	   r   r	   r   r
   r	   r   r   r
   r   r	   r   r	   r   r
   r	   r   r   r   r
   r   r	   r   r	   r	   r   r	   r   r   r   r	   r   r   r   r   r	   r   r	   r	   r
   r   r	   r   r   r   r   r
   r
   r
   r   r	   r   r   r   r   r	   r
   )Sr   r
   r   r   r   r   r   r   r   r
   r   r	   r   r	   r   r	   r	   r	   r   r	   r   r   r
   r	   r
   r	   r   r   r   r	   r   r   r   r   r	   r
   r   r   r   r   r   r
   r	   r   r	   r   r
   r	   r	   r	   r	   r	   r	   r	   r   r   r   r   r	   r	   r   r   r	   r	   r	   r
   r	   r   r   r	   r	   r
   r	   r   r   r   r   r   r   r	   r   r	   r	   )Sr   r   r   r	   r   r	   r   r   r   r   r	   r	   r	   r   r	   r	   r	   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r	   r	   )Sr   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r   r   r	   r   r   r	   r   r	   r   r   r   r   r   r	   r   r	   r	   r	   r   r   r   r	   r	   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r	   r	   r	   r   r   r   r   r   r   r   r	   )Sr   r
   r   r   r   r
   r   r   r   r   r
   r
   r	   r	   r   r	   r	   r   r
   r   r   r   r   r   r   r	   r   r   r   r	   r
   r
   r   r	   r	   r   r	   r	   r
   r
   r   r
   r
   r   r	   r   r
   r	   r   r   r	   r   r	   r	   r   r	   r	   r   r   r	   r   r   r
   r	   r	   r
   r   r   r   r	   r   r
   r	   r	   r   r   r	   r   r   r   r   r
   r	   )Sr   r
   r   r
   r   r   r   r   r   r   r   r	   r   r	   r	   r	   r	   r	   r
   r   r   r   r   r   r   r
   r	   r	   r
   r   r   r   r   r	   r   r   r	   r	   r   r   r
   r
   r	   r	   r   r	   r   r	   r	   r   r	   r	   r	   r	   r   r   r   r   r   r	   r	   r
   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r   r   r	   r
   r   r	   r   r	   r   r   r   r   r   r	   r	   r   r   r   r	   r	   r   r   r   r	   r	   r	   r   r	   r	   r   r   r	   r	   r	   r
   r	   r	   r	   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r	   r	   r   r   r   r	   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r	   r	   r	   r	   r   r	   r   r	   r	   r	   r	   r	   r	   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r	   r   r   r	   r
   r   r	   r	   r	   r	   r	   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r   r	   r	   r   r   r	   r   r   r   r   r   r   r   r	   )Sr   r	   r   r	   r   r   r   r	   r   r   r	   r	   r	   r   r	   r   r   r   r	   r	   r   r	   r	   r   r	   r   r	   r   r	   r   r   r	   r   r   r	   r	   r   r   r	   r	   r   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r	   r	   r	   r	   r	   r   r   r   r   r   r	   r	   )Sr   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r	   r   r	   r   r	   r   r   r	   r	   r	   r   r	   r   r	   r   r	   r   r	   r	   r	   r   r	   r   r   r	   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r   r	   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r	   r	   )Sr   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r	   r	   r	   r   r	   r	   r   r   r   r	   r   r	   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   )Sr   r	   r   r	   r   r   r   r	   r   r	   r	   r	   r   r	   r   r   r   r   r	   r   r	   r	   r	   r   r	   r	   r   r   r	   r   r	   r   r   r   r   r	   r   r   r	   r   r	   r	   r   r	   r   r
   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r	   r   r	   r   r	   r   r	   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r   r
   r   r	   r   r	   r	   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r	   r	   r   r	   r	   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r	   r   r
   r
   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r   r   r	   r	   r   r   r	   r   r   r   r   r   r   )Sr   r   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r	   r   r	   r   r	   r   r	   r   r	   r   r   r   r	   r   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r	   r   r   r   r   r   r   )Sr   r   r   r	   r   r	   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r	   )Sr   r   r   r
   r   r
   r   r   r   r	   r   r	   r	   r	   r   r	   r	   r	   r   r	   r   r   r
   r   r
   r
   r
   r   r	   r   r
   r
   r   r   r
   r   r	   r   r
   r   r	   r   r   r	   r	   r   r	   r	   r   r	   r   r   r   r	   r   r	   r   r   r	   r	   r   r
   r	   r   r	   r	   r   r	   r   r	   r   r	   r   r
   r   r
   r	   r   r   r	   r   r	   r   )Sr   r	   r   r	   r   r	   r   r	   r   r	   r	   r   r	   r   r	   r   r	   r   r   r	   r	   r	   r	   r	   r	   r	   r	   r   r	   r   r   r	   r	   r   r	   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r
   r	   r   r   r	   r   r	   r   r   r   r   r	   r   r   r	   r	   r   r	   r   r   r   r   )Sr   r	   r   r	   r   r   r   r   r   r   r   r	   r	   r   r	   r   r	   r   r   r   r	   r   r   r   r	   r   r	   r   r   r   r	   r	   r	   r   r	   r	   r	   r   r	   r   r   r	   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r	   r	   )Sr   r	   r   r   r   r   r   r	   r   r	   r   r	   r	   r   r	   r	   r	   r   r	   r   r	   r	   r   r	   r	   r	   r   r   r	   r   r
   r	   r	   r   r	   r	   r   r
   r   r	   r	   r   r
   r	   r   r
   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r	   r   r   r   r   r   r	   r
   r	   r   r   r   r   r   r	   r   )Sr   r
   r   r   r   r
   r   r   r   r   r   r	   r	   r   r	   r	   r	   r   r   r	   r   r   r
   r	   r   r	   r   r   r   r   r   r	   r   r   r
   r   r   r   r   r   r   r
   r   r   r	   r
   r   r   r   r   r   r   r	   r   r   r	   r   r   r	   r   r   r   r	   r	   r	   r   r   r   r   r	   r   r   r   r   r	   r	   r	   r   r   r   r   r	   r   )Sr   r   r   r   r   r	   r   r   r   r	   r	   r	   r   r   r	   r	   r   r   r	   r	   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   r	   r	   r   r	   r   r	   r	   r   r   r   r   r   r	   r   r   r   r   r	   r   r   r   r   r	   r   r   r	   r	   r   r	   r   r   r   r   r	   r	   r   r	   r	   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r	   r   r   r	   r   r   r   r	   r   r	   r	   r	   r   r   r	   r   r   r	   r   r   r   r	   r	   r   r   r
   r   r   r   r	   r   r	   r   r	   r   r	   r	   r   r   r   r   r   r   r	   r	   r   r   r   r   r	   r   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r	   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r	   r   r   r   r   r   r   r	   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r	   r	   r   r	   r   r   r   r   r	   r   r   )Sr   r   r   r	   r   r
   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   )Sr   r   r   r
   r   r
   r   r   r   r   r   r	   r	   r   r
   r   r	   r   r	   r	   r	   r   r   r   r   r   r	   r   r   r   r   r   r   r   r
   r	   r   r   r   r   r   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r	   r   r   r   r   r   r   r	   r
   r   r   r   r   r	   r   r   r   r	   )Sr   r   r   r
   r   r   r   r   r   r   r
   r   r	   r	   r   r	   r	   r	   r   r	   r   r   r
   r	   r   r
   r   r   r   r   r	   r   r	   r   r   r   r   r	   r
   r   r   r
   r
   r   r   r
   r
   r
   r   r	   r	   r   r   r	   r   r	   r	   r   r	   r	   r   r   r	   r   r   r   r   r	   r   r   r   r	   r	   r   r   r
   r   r   r   r	   r   r   r
   )Sr   r   r   r   r   r	   r   r	   r   r	   r   r   r   r	   r	   r   r   r	   r   r	   r   r	   r
   r	   r   r	   r   r   r   r   r   r   r	   r   r	   r   r   r   r
   r
   r	   r   r
   r   r   r
   r   r	   r   r	   r   r   r	   r   r   r	   r   r   r	   r	   r	   r
   r	   r	   r	   r
   r   r   r   r	   r	   r   r	   r	   r	   r   r   r   r	   r   r   r   r	   )Sr   r   r   r
   r   r   r   r	   r   r	   r
   r
   r	   r   r   r	   r   r   r
   r   r   r   r   r   r   r	   r	   r	   r   r	   r
   r
   r   r	   r	   r   r   r   r
   r
   r	   r
   r
   r   r	   r
   r
   r   r   r	   r   r   r	   r	   r   r   r
   r   r   r   r   r   r	   r   r	   r
   r   r   r   r	   r   r
   r   r	   r   r	   r   r   r   r   r   r   r   )Sr   r	   r   r   r   r   r   r   r   r   r
   r
   r	   r	   r	   r	   r	   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r
   r   r	   r	   r	   r	   r   r
   r
   r   r
   r
   r
   r   r	   r
   r
   r
   r   r	   r   r   r   r   r   r	   r   r   r   r   r   r
   r   r	   r   r   r   r	   r   r	   r   r   r
   r   r
   r   r	   r   r   r   r   r
   r   )Sr   r	   r   r   r   r
   r   r	   r   r	   r   r   r	   r   r	   r   r	   r	   r	   r	   r	   r   r   r	   r	   r   r   r   r	   r	   r	   r	   r	   r   r	   r	   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r	   r   r	   r	   r   r	   r   r   r	   r   r   r   r	   r   r	   r   r   r   r   r   r   r   r   r   r   )Sr   r	   r   r	   r   r   r   r	   r   r   r
   r   r	   r	   r	   r   r   r   r   r   r	   r   r   r   r   r   r
   r   r	   r   r   r	   r   r   r   r	   r	   r	   r   r	   r   r
   r	   r   r	   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r
   r   r   r   r   r   r   r	   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Sr   r   r   r   r   r   r   r	   r   r   r   r	   r   r   r   r	   r   r   r   r   r   r	   r
   r	   r
   r	   r	   r   r   r   r   r	   r   r	   r   r   r   r   r	   r   r   r   r	   r	   r	   r   r   r   r	   r   r   r	   r   r	   r   r   r   r   r	   r	   r	   r   r   r	   r	   r
   r   r   r   r	   r   r   r	   r	   r	   r   r   r   r	   r   r   r	   r	   )Sr   r   r   r	   r   r	   r   r	   r   r	   r
   r
   r	   r	   r	   r	   r   r	   r   r	   r	   r	   r   r   r   r	   r	   r	   r	   r   r	   r
   r	   r	   r   r	   r   r   r
   r
   r
   r
   r   r	   r   r
   r
   r	   r   r   r	   r	   r	   r	   r   r	   r	   r   r   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r   r	   r   r   r   r   r   r	   r   r   r   r   c                       e Zd ZdZdZdZdZdZddZdd	Z	d
e
eef   deddfdZdefdZdefdZde
eef   deeef   fdZy)JapaneseContextAnalysis   d   i  r   returnNc                 j    d| _         g | _        d| _        d| _        d| _        | j                          y Nr   r   F)
_total_rel_rel_sample_need_to_skip_char_num_last_char_order_doneresetselfs    \/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pip/_vendor/chardet/jpcntx.py__init__z JapaneseContextAnalysis.__init__   s1    &(&'# "


    c                 f    d| _         dg| j                  z  | _        d| _        d| _        d| _        y r   )r   NUM_OF_CATEGORYr   r   r   r   r   s    r   r   zJapaneseContextAnalysis.reset   s9    3!5!55 '(# " 
r   byte_str	num_bytesc                    | j                   ry | j                  }||k  r| j                  |||dz          \  }}||z  }||kD  r||z
  | _        d| _        n||dk7  rp| j                  dk7  ra| xj                  dz  c_        | j                  | j
                  kD  rd| _         y | j                  t        | j                     |   xx   dz  cc<   || _        ||k  ry y )Nr   r   r   T)r   r   	get_orderr   r   MAX_REL_THRESHOLDr   jp2_char_context)r   r!   r"   iorderchar_lens         r   feedzJapaneseContextAnalysis.feed   s    :: '')m"nnXa!a%-@AOE8MA9}./)m+(*%RKd&;&;r&AOOq(O)?)??%)
$$()>)>?F  ).% )mr   c                 4    | j                   | j                  kD  S N)r   ENOUGH_REL_THRESHOLDr   s    r   got_enough_dataz'JapaneseContextAnalysis.got_enough_data   s    !:!:::r   c                     | j                   | j                  kD  r)| j                   | j                  d   z
  | j                   z  S | j                  S )Nr   )r   MINIMUM_DATA_THRESHOLDr   	DONT_KNOWr   s    r   get_confidencez&JapaneseContextAnalysis.get_confidence   sA    ??T888OOd&6&6q&99T__LL~~r   _c                      y)Nr   r    )r   r3   s     r   r$   z!JapaneseContextAnalysis.get_order   s    r   r   N)__name__
__module____qualname__r    r1   r-   r%   r0   r   r   r   bytes	bytearrayintr*   boolr.   floatr2   r   r$   r6   r   r   r   r   x   s    OI
.U5)#34 . . .:; ; 5	!12 uS#X r   r   c                   Z     e Zd Zd fdZedefd       Zdeee	f   de
eef   fdZ xZS )SJISContextAnalysisr   c                 0    t         |           d| _        y )N	SHIFT_JIS)superr   _charset_name)r   	__class__s    r   r   zSJISContextAnalysis.__init__   s    (r   c                     | j                   S r,   )rE   r   s    r   charset_namez SJISContextAnalysis.charset_name   s    !!!r   r!   c                     |sy|d   }d|cxk  rdk  sn d|cxk  rdk  r n nd}|dk(  sd	|cxk  rdk  rn n
d
| _         nd}t        |      dkD  r"|d   }|dk(  rd|cxk  rdk  rn d|fS |dz
  |fS d|fS )Nr5   r               r         CP932r         r   )rE   lenr   r!   
first_charr)   second_chars        r   r$   zSJISContextAnalysis.get_order   s    a[
J&$&DJ,F$,FHd"
(Bd(B%,"H x=1"1+Kc!(Ct(C 8| #T)8338|r   r7   )r8   r9   r:   r   propertystrrH   r   r;   r<   r   r=   r$   __classcell__)rF   s   @r   rA   rA      sH    ) "c " "%y(8"9 eCHo r   rA   c                   0    e Zd Zdeeef   deeef   fdZy)EUCJPContextAnalysisr!   r   c                     |sy|d   }|dk(  sd|cxk  rdk  rn nd}n
|dk(  rd}nd	}t        |      d	kD  r"|d	   }|d
k(  rd|cxk  rdk  rn d|fS |dz
  |fS d|fS )Nr5   r            r      r	   r         r   )rS   rT   s        r   r$   zEUCJPContextAnalysis.get_order   s    a[
$DJ$>$$>H4HH x=1"1+Kd")D)D 8| #T)8338|r   N)	r8   r9   r:   r   r;   r<   r   r=   r$   r6   r   r   r[   r[      s'    %y(8"9 eCHo r   r[   N)typingr   r   r   r&   r   rA   r[   r6   r   r   <module>rd      s>   8 & %T pB BJ1 <2 r   