Ë
    äØjj¯i  ã                   ó\   — 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    ú\/opt/eval-harness/bench_task/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Ø"Ÿn™n¨X°a¸!¸a¹%Ð-@ÓA‰OˆE�8Ø�‰MˆAØ�9Š}Ø./°)©m�Ô+Ø(*�Õ%à˜R’K d×&;Ñ&;¸rÒ&AØ—O’O qÑ(•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Ø—O‘O d×&6Ñ&6°qÑ&9Ñ9¸T¿_¹_Ñ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ØÐØÐØÐóó
ð.˜U 5¨)Ð#3Ñ4ð .Àð .Èó .ð:; ó ;ð ó ð˜5 ¨	Ð!1Ñ2ð °u¸SÀ#¸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Ô& $Ô&¨D°JÔ,FÀ$Õ,FØˆHØ˜dÒ"¨°
Ô(B¸dÕ(BØ%,�Õ"àˆHô ˆx‹=˜1ÒØ" 1™+ˆKØ˜cÒ!¨°Ô(C¸tÔ(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ð ¸eÀCÈÀH¹o÷ 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‘[ˆ
Ø˜$Ò D¨JÔ$>¸$Õ$>Ø‰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ð ¸eÀCÈÀH¹oô 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   