
    (&h'             #       
   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dl	Z	d dl
mZ d dlZd dlmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZmZmZmZ  ej        d          dz  Zd	Z e	j         d
          d             Z! e	j         d
          d             Z" e	j         d
          d             Z#e	j$        %                    dg d d fegddfdgd d fedgddfeeegd d feeeegddfg          d             Z&d Z'd Z(d Z)d Z*d Z+e	j$        %                    dddg ed d           dgg ddgg          e	j$        ,                    d          d                         Z-d Z.e	j$        %                    dg eg fg egg g gfg dg fg dgg g gfdgeg fdgegg g gfdgdg fdgdgg g gfegdg fegdgg g gfegeg fegegg g gfegeg fegegg g gfeegeg feegegg g gfdeg ed d dd          dgfdeg ed d dd          gd gdggfdeeg ed d dd          dgfedeg ed d dd          d dgfedeg ed d dd          gd d gd dggfeegeegdgdggfeeeegeeeegd gd ggfg          d!             Z/e	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          dgf edd          gd gdggf edd           ed$d$           edd          gd dgddggf ed d dd          d dgf ed d dd          gd d gd dggf ed%d%d&d&          g d'f ed%d%d&d&          gg d(g d'gf ed d dd           ed)d)d*d*           ed%d%d&d&          gg d+g d,gf ej0         ed d           d          g d-f ej0         ed d           d          gg d.g d-gf ed%d/gd/d%gg          g d0f ed%d/gd/d%gg          gg d.g d0gfg          d1             Z1e	j$        %                    d" ed d           d gf ed d           gd gd ggf ed#d#          d gf ed#d#          gd gd ggf ed d#          d gf ed d#          gd gd ggf edd          d dgf edd          gd d gd dggf ed d dd          d dgf ed d dd          gd d gd dggf ej0         ed d           d#          dd gf ej0         ed d           d#          gd d gdd ggf ed%d/gd/d%gg          g d2f ed%d/gd/d%gg          gg d3g d2gfg          d4             Z2e	j$        %                    d" ed#d#          d dgf ed#d#          gd d gd dggf edd          dgf edd          gd gdggf ed d dd          d dgf ed d dd          gd d gd dggf ed d d5d5          g d6f ed d d5d5          gg d.g d6gf ed d dd           ed)d)d*d*           eddd d           gg d7g d8gf ej0         ed d           e          g d-f ej0         ed d           e          gg d.g d-gf ej0         ed d           d ez            g d9f ej0         ed d           d ez            gg d(g d9gf ed%d/gd/d%gg          g d0f ed%d/gd/d%gg          gg d.g d0gfg          d:             Z3e	j$        %                    d;d<d=g          d>             Z4e	j$        %                    d?d@g d6fdAg fdBdgfdCg fdDg fdEg d6fdFg fdGdgfg          dH             Z5dI Z6e	j$        %                    d? e	j7        d@dge	j$        8                    edJk     dKL          M          dAg fdBg fdCg fdDdgfdNg fdEg fdFg fdGg fg	          dO             Z9e	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          dgf edd          gd gdggf ed d dPdP          g dQf ed d dPdP          gg d3g dQgf ed d dd           ed)d)d*d*           ed d dPdP          gg dRg dSgf ej0         ed d           d          d gf ej0         ed d           d          gd gd ggf ej0         ed d           d ez            g d-f ej0         ed d           d ez            gg d.g d-gf ed%d%gd/d/gg          d%d/gf ed%d%gd/d/gg          gd d gd%d/ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          d/gf ed%d/gd/d/gg          gd gd/ggfg          dT             Z:e	j$        %                    d" ed d           d gf ed d           gd gd ggf ed#d#          d gf ed#d#          gd gd ggf ed d#          g f ed d#          gg g gf edd          d dgf edd          gd d gd dggf ed d dd          d dgf ed d dd          gd d gd dggf ed d dd           ed)d)d*d*           eddd d           gg dUg dVgf ej0         ed d           d#          dd gf ej0         ed d           d#          gd d gdd ggf ej0         edd          e          dgf ej0         edd          e          gd gdggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          dPd/gf ed%d/gd/d/gg          gd d gdPd/ggfg          dW             Z;e	j$        %                    d" ed d#          d gf ed d#          gd gd ggf ed#d           d gf ed#d           gd gd ggf ed#d#          d dgf ed#d#          gd d gd dggf edd          dgf edd          gd gdggf ed d dd          d dgf ed d dd          gd d gd dggf ed d d5d5          g d6f ed d d5d5          gg d.g d6gf ed d dd           ed)d)d*d*           eddd d           gg d7g d8gf ej0         ed d           e          g d-f ej0         ed d           e          gg d.g d-gf ej0         ed d           d ez            g d9f ej0         ed d           d ez            gg d(g d9gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          d/gf ed%d/gd/d/gg          gd gd/ggfg          dX             Z<e	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          dgf edd          gd gdggf ed d dPdP          g f ed d dPdP          gg g gf ej0         ed d           d          g f ej0         ed d           d          gg g gf ed%d%gd/d/gg          g f ed%d%gd/d/gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gfg          dY             Z=e	j$        %                    d" ed d           g f ed d           gg g gf ed#d#          d gf ed#d#          gd gd ggf ed d#          g f ed d#          gg g gf edd          g f edd          gg g gf ed d dd          g f ed d dd          gg g gf ej0         ed d           d#          g f ej0         ed d           d#          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf edZdZgd/d/gg          dPgf edZdZgd/d/gg          gd gdPggfg          d[             Z>e	j$        %                    d" ed d#          d gf ed d#          gd gd ggf ed#d           d gf ed#d           gd gd ggf ed#d#          d dgf ed#d#          gd d gd dggf edd          dgf edd          gd gdggf ed d dd          g f ed d dd          gg g gf ed d d#d#          d gf ed d d#d#          gd gd ggf ed d d5d5          g f ed d d5d5          gg g gf ej0         ed d           e          d gf ej0         ed d           e          gd gd ggf ej0         ed d           d ez            g f ej0         ed d           d ez            gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed\d]gd\d^gg          d%gf ed\d]gd\d^gg          gd gd%ggfg          d_             Z?e	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          dgf edd          gd gdggf ed d dPdP          d`d%gf ed d dPdP          gd d gd`d%ggf ej0         ed d           d          d gf ej0         ed d           d          gd gd ggf ej0         ed d           d ez            g d-f ej0         ed d           d ez            gg d.g d-gf ed%d%gd/d/gg          d%d/gf ed%d%gd/d/gg          gd d gd%d/ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          d/gf ed%d/gd/d/gg          gd gd/ggfg          da             Z@e	j$        %                    d" ed d           g f ed d           gg g gf ed d dd          d gf ed d dd          gd gd ggf ej0         ed d           d#          g f ej0         ed d           d#          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed%d%gdPdPgg          g f ed%d%gdPdPgg          gg g gfg          db             ZAe	j$        %                    d" ed d           g f ed d           gg g gf ed d dd          g f ed d dd          gg g gf ed d dd          dgf ed d dd          gd gdggf ej0         ed d           e          g f ej0         ed d           e          gg g gf ej0         ed d           d ez            d gf ej0         ed d           d ez            gd gd ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gfg          dc             ZBe	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          g f edd          gg g gf ed d dPdP          g f ed d dPdP          gg g gf ej0         ed d           d          g f ej0         ed d           d          gg g gf ed%d%gd/d/gg          g f ed%d%gd/d/gg          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gfg          dd             ZCe	j$        %                    d" ed d           g f ed d           gg g gf ed d d5d5          g f ed d d5d5          gg g gf ej0         ed d           d#          g f ej0         ed d           d#          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed%d%gdPdPgg          g f ed%d%gdPdPgg          gg g gfg          de             ZDe	j$        %                    d" ed d           g f ed d           gg g gf ed d dd          d dgf ed d dd          gd d gd dggf ed d dd          d dgf ed d dd          gd d gd dggf ej0         ed d           e          dd`gf ej0         ed d           e          gd d gdd`ggf ej0         ed d           d ez            g dff ej0         ed d           d ez            gg d3g dfgf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gfg          dg             ZEe	j$        %                    d" edd          g f ed d dPdP          g f ej0         ed d           d          g f ed%d/gd/d/gg          g fg          dh             ZFe	j$        %                    d" ed d           g f ed d           gg g gf ed d d5d5          dgf ed d d5d5          gd gdggf ej0         ed d           d#          dd gf ej0         ed d           d#          gd d gdd ggf ejG        didjg          d gf ejG        didjg          gd gd ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gd/dkgg          g f ed%d/gd/d/gd/dkgg          gg g gfg          dl             ZHe	j$        %                    d" ed d#          g f ed d#          gg g gf ed d d5d5          g f ed d d5d5          gg g gf ej0         ed d           e          g f ej0         ed d           e          gg g gf ed%d/gd/d/gd/dkgg          d/gf ed%d/gd/d/gd/dkgg          gd gd/ggfg          dm             ZIe	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          g f edd          gg g gf ed d dPdP          d dPgf ed d dPdP          gd d gd dPggf ej0         ed d           d          g f ej0         ed d           d          gg g gf edndog          dgf edndog          gd gdggf ed%d%gd/d/gg          g f ed%d%gd/d/gg          gg g gfg          dp             ZJe	j$        %                    d" ed d           d gf ed d           gd gd ggf ed#d#          g f ed#d#          gg g gf edd          d dgf edd          gd d gd dggf ed d dd          dgf ed d dd          gd gdggf ej0         ed d           d#          g f ej0         ed d           d#          gg g gf ej0         edd          edqz             g f ej0         edd          edqz             gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gd/dkgg          dPd/gf ed%d/gd/d/gd/dkgg          gd d gdPd/ggfg          dr             ZKe	j$        %                    d" ed d#          g f ed d#          gg g gf eeez   d           d gf eeez   d           gd gd ggf ed d dd          g f ed d dd          gg g gf eeez   d dd          d gf eeez   d dd          gd gd ggf ej0         ed d           eez             g f ej0         ed d           eez             gg g gf ed d gd/d/gd/dkgg          g f ed d gd/d/gd/dkgg          gg g gfg          ds             ZLe	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          dgf edd          gd gdggf ed d dPdP          g dQf ed d dPdP          gg d3g dQgf ej0         ed d           d          d gf ej0         ed d           d          gd gd ggf ej0         ed d           d ez            g d-f ej0         ed d           d ez            gg d.g d-gf ed%d%gd/d/gg          d%d/gf ed%d%gd/d/gg          gd d gd%d/ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          d/gf ed%d/gd/d/gg          gd gd/ggfg          dt             ZMe	j$        %                    d" ed d           g f ed d           gg g gf ed d d5d5          d gf ed d d5d5          gd gd ggf eddd d           ddgf eddd d           gd d gddggf ej0         ed d           d#          g f ej0         ed d           d#          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed%d%gdPdPgg          g f ed%d%gdPdPgg          gg g gfg          du             ZNe	j$        %                    d" ed d           g f ed d           gg g gf ed d dd          g f ed d dd          gg g gf ed d dd          dgf ed d dd          gd gdggf ej0         ed d           e          g f ej0         ed d           e          gg g gf ej0         ed d           d ez            d gf ej0         ed d           d ez            gd gd ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gfg          dv             ZOe	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          dgf edd          gd gdggf ed d dPdP          g f ed d dPdP          gg g gf ej0         ed d           d          g f ej0         ed d           d          gg g gf ed%d%gd/d/gg          g f ed%d%gd/d/gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gfg          dw             ZPe	j$        %                    d" ed d           d gf ed d           gd gd ggf ed#d#          d gf ed#d#          gd gd ggf ed d#          g f ed d#          gg g gf edd          d dgf edd          gd d gd dggf ejG        ddgddgg          dgf ejG        ddgddgg          gd gdggf ejG        d5d5gdxdxgg          g f ejG        d5d5gdxdxgg          gg g gf ed d dd          g f ed d dd          gg g gf ej0         ed d           d#          g f ej0         ed d           d#          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf edZdZgd/d/gg          dPgf edZdZgd/d/gg          gd gdPggfg          dy             ZQe	j$        %                    d" ed d#          d gf ed d#          gd gd ggf ed#d           d gf ed#d           gd gd ggf edd          dgf edd          gd gdggf ed#d#          d dgf ed#d#          gd d gd dggf ejG        d d gddgg          g f ejG        d d gddgg          gg g gf ejG        d5d5gdxdxgg          dgf ejG        d5d5gdxdxgg          gd gdggf ed d dd          g f ed d dd          gg g gf ed d d#d#          d gf ed d d#d#          gd gd ggf ed d d5d5          g f ed d d5d5          gg g gf ej0         ed d           e          d gf ej0         ed d           e          gd gd ggf ej0         ed d           d ez            g f ej0         ed d           d ez            gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed\d]gd\d^gg          d%gf ed\d]gd\d^gg          gd gd%ggfg          dz             ZRe	j$        %                    d" ed#d#          g f ed#d#          gg g gf edd          dgf edd          gd gdggf ejG        d d gddgg          dgf ejG        d d gddgg          gd gdggf ejG        d#d#gdxdxgg          ddgf ejG        d#d#gdxdxgg          gd d gddggf ejG        d dgdd gg          dgf ejG        d dgdd gg          gd gdggf ed d dPdP          d`d%gf ed d dPdP          gd d gd`d%ggf ej0         ed d           d          d gf ej0         ed d           d          gd gd ggf ej0         ed d           d ez            g d-f ej0         ed d           d ez            gg d.g d-gf ed%d%gd/d/gg          d%d/gf ed%d%gd/d/gg          gd d gd%d/ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          d/gf ed%d/gd/d/gg          gd gd/ggfg          d{             ZSe	j$        %                    d" ed d           g f ed d           gg g gf ejG        d d gddgg          g f ejG        d d gddgg          gg g gf ejG        d d gddgg          g f ejG        d d gddgg          gg g gf ejG        d dgdd gg          g f ejG        d dgdd gg          gg g gf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gf ed%d/gd/d/gg          g f ed%d/gd/d/gg          gg g gf ed%d%gdPdPgg          g f ed%d%gdPdPgg          gg g gf ed d dd          g f ed d dd          gg g gf ed d dd          g f ed d dd          gg g gf ej0         ed d           d#          g f ej0         ed d           d#          gg g gfg          d|             ZTe	j$        %                    d" ed d           g f ed d           gg g gf ejG        d d gddgg          g f ejG        d d gddgg          gg g gf ed d dd          g f ed d dd          gg g gf ed d dd          dgf ed d dd          gd gdggf ej0         ed d           e          g f ej0         ed d           e          gg g gf ej0         ed d           d ez            d gf ej0         ed d           d ez            gd gd ggf ed%d/gd/d%gg          g f ed%d/gd/d%gg          gg g gfg          d}             ZUe	j$        V                    ed~k    dL          e	j$        %                    d ed d            ed d           gddgeegg          d                         ZWe	j$        V                    ed~k     dL          e	j$        %                    d ed d           ddf ed d           gddf ed d           ddf ed d           gddf ed d           gdgdf ed d           d dgdf ed d           gd dgdf ed d           dggdf ed d           gdggdfg	          d                         ZXe	j$        V                    ed~k     dL          e	j$        %                    dg ddg fdgdg g gf edd          d g f edd          gd g g gf edd          d$g f edd          gd$g g gf edd          ejY        g f edd          gejY        g g gf e            dg f e            gdg g gf edd          d#d gf edd          gd#d gd ggf edd          dxg d6f edd          gdxg d.g d6gf ed d           d5g d-f ed d           gd5g d.g d-gf ed#d#          dd dgf ed#d#          gdd d gd dggfd ed#d#          gdddgd dggf ed#d#           edd          gdg dg dgf ed d           edd          gddgg dg d8gf ed d d d           d g d8f ed d d d           gd g d3g d8gf ed d d d           dg d8f ed d d d           gdg d3g d8gf edddd          d5g d8f edddd          gd5g d3g d8gf eddgd5d5gg          dg d6f eddgd5d5gg          gdg d.g d6gf ed#d#gddgg          dg df ed#d#gddgg          gdg d3g dgf          d                         ZZe	j$        V                    ed~k     dL          e	j$        %                    dddg fdgdg g gf ed#d#          d d gf ed#d#          gd d gd ggf ed#d#          dd dgf ed#d#          gdd d gd dggf edd          d#ddgf edd          gd#d d gddggf ed d dd          d#d dgf ed d dd          gd#d d gd dggf ed#d#d5d5          d#d dgf ed#d#d5d5          gd#d d gd dggf ed%d%gd/d/gg          d#g d2f ed%d%gd/d/gg          gd#g d3g d2gf ed%d/gd/d%gg          d5d%dPgf ed%d/gd/d%gg          gd5d d gd%dPggfg          d                         Z[e	j$        V                    ed~k     dL          e	j$        %                    d ed d           d d gf ed d           gd d gd ggf ed d           d#d gf ed d           gd#d gd ggf ed d           d5d dgf ed d           gd5d d gd dggf ed#d#          dd dgf ed#d#          gdd d gd dggf ed#d#          d#d dgf ed#d#          gd#d d gd dggf ed d dd          d d dgf ed d dd          gd d d gd dggf ed d dd          dg d6f ed d dd          gdg d.g d6gf ed%d%gd/d/gg          d#d%d/gf ed%d%gd/d/gg          gd#d d gd%d/ggf ed%d%gd/d/gg          dxg df ed%d%gd/d/gg          gdxg dg dgfg          d                         Z\d Z]e	j$        %                    ddg          d             Z^e	j$        %                    dddg edd          dgg          d             Z_e	j$        %                    deeg edd          egg          d             Z`e	j$        %                    d" edd          d f edd          df edd          df edd           ed d           gdd gf edd           edd          gddgf edd           ed)d)          gd dgf ed#d#dd          df ej0         edxdx          e          df ej0         ed d           e          d f ed]d%gd/d/gg          d/f ed%d/gd/d%gg          dPfg          d             Zae	j$        %                    d" ed#d#          d dgf ed d d d           g d8f ed%d%gd/d/gg          d%d/gfg          d             Zbe	j$        %                    d" ed#d#          d f ed5d#          d f ej        d#d5dd          df ejG        d d#gddxgg          d fg          d             Zce	j$        %                    d" edd          ddgf ed d dd          d dgf ed#d#d5d5          d dgf ed d d%d%          g df ej0         edxdx          e          ddgf ej0         ed d           e          dd gf ed%d%gd/d/gg          g d2f ed]d%gd/d/gg          dPd/gf ed%d/gd/d%gg          d%dPgfg	          d             Zde	j$        %                    d" ed d           d f edd          df ej        d d%ddP          d f ed%d/gd/d%gg          dPfg          d             Zee	j$        %                    d" ed#d#          d dgf ed d dd          d dgf ed#d#d5d5          g d6f ed d d%d%          g df ej0         edxdx          e          dd gf ej0         ed d           e          g d-f ed%d%gd/d/gg          d%d/gf ed]d%gd/d/gg          d%d/gfg          d             Zfd Zge	j$        %                    dddgg          d             Zhe	j$        %                    dddg fdgdg g gfddg g ffdgdg g gg ffg          d             Zie	j$        %                    d"eg fegg g gfeegddgdd ggfg          d             Zje	j$        %                    d" edd          d gf edd          gd gd ggf edd          dgf edd          gd gdggf edd          dgf edd          gd gdggf ed#d#          d dgf ed#d#          gd d gd dggf edd           ed d           gd dgdd ggf edd           edd          gd dgddggf edd           ed)d)          gd dgd dggf ed#d#dd          dgf ed#d#dd          gd gdggf ed d d d           g d8f ed d d d           gg d3g d8gf ej0         edxdx          d          dd gf ej0         edxdx          d          gd d gdd ggf ej0         ed d           d#          d gf ej0         ed d           d#          gd gd ggf ed]d%gd/d/gg          d/gf ed]d%gd/d/gg          gd gd/ggf ed%d/gd/d%gg          dPgf ed%d/gd/d%gg          gd gdPggf ed%d%gd/d/gg          d%d/gf ed%d%gd/d/gg          gd d gd%d/ggf ed#d#gddgg          g df ed#d#gddgg          gg d3g dgfg          d             Zke	j$        %                    d" ed#d#          d gf ed#d#          gd gd ggf edd          ddgf edd          gd d gddggf ed d dd          d dgf ed d dd          gd d gd dggf ed#d#d5d5          d dgf ed#d#d5d5          gd d gd dggf ed d d#d#           ed d d%d%          gg dg dgf ej0         edxdx          d          g df ej0         edxdx          d          gg d.g dgf ej0         ed d           d#          dd gf ej0         ed d           d#          gd d gdd ggf ed%d%gd/d/gg          g d2f ed%d%gd/d/gg          gg d3g d2gf ed]d%gd/d/gg          dPd/gf ed]d%gd/d/gg          gd d gdPd/ggf ed%d/gd/d%gg          d%dPgf ed%d/gd/d%gg          gd d gd%dPggfg          d             Zle	j$        %                    d" ed d           d gf ed d           gd gd ggf edd          dgf edd          gd gdggf ed#d#          d dgf ed#d#          gd d gd dggf ed d dd          d dgf ed d dd          gd d gd dggf ed#d#d5d5          g d6f ed#d#d5d5          gg d.g d6gf ed d dd           ed d d%d%          gg dg dgf ej0         edxdx          e          dd gf ej0         edxdx          e          gd d gdd ggf ej0         ed d           e          g d-f ej0         ed d           e          gg d.g d-gf ed%d%gd/d/gg          d%d/gf ed%d%gd/d/gg          gd d gd%d/ggf ed]d%gd/d/gg          d%d/gf ed]d%gd/d/gg          gd d gd%d/ggf ed%d/gd/d%gg          dPgf ed%d/gd/d%gg          gd gdPggfg          d             Zme	j$        %                    d ed#d#          dd dgf ed#d#          gdd d gd dggf ed#d#          dd dgf ed#d#          gdd d gd dggf ed#d#          dg f ed#d#          gdg g gf ed#d#           ed d           gddgd ggfg          d             Zne	j$        %                    d ed#d#          d f ed#d#          gd f ed#d#          d$f ed#d#          gd$fg          d             Zod Zpe	j$        %                    d" ed d           d gdgff ed d           gd gd ggdgff ed#d#          d dgddgff ed#d#          gd d gd dggddgff ed d dd          d dgddgff ed d dd          gd d gd dggddgffg          d             Zqe	j$        %                    d edd          ddgf edd          gdd gdggf edd          dd dgf edd          gdd d gd dggf edd           edd          gdg dg dgfg          d             Zre	j$        %                    d" edd          g f edd          gg g gfg          dÄ             Zse	j$        %                    d edd          df edd          dgf edd          gg f edd          gdgfg          dǄ             Zte	j$        %                    d edd          df edd          dgf edd          gg f edd          gdgfg          dɄ             Zudʄ Zvd˄ ZwdS )    N)ThreadPoolExecutor)assert_array_equal)
LineString
MultiPointPointSTRtreeboxgeos_version)UnsupportedGEOSVersionError)assert_geometries_equal)emptyempty_line_stringempty_pointignore_invalidpoint   g&.>session)scopec               #      K   t          j        t          j        d          t          j        d                    } t	          |           V  d S )N
   )shapelypointsnparanger   geomss    U/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/test_strtree.pytreer      s?      N29R==")B--88E
%..    c               #      K   t          j        d          } t          j        d          }d}t          j        t          j        | | |z   g|||z   gg          j                  }t          |          V  d S )Nr      )r   r   r   linestringsarrayTr   )xyoffsetr   s       r   	line_treer(   #   so      
	"A
	"AF1a&j/Aq6z?)K L L NOOE
%..r   c               #      K   t          j        t          j        t          j        d          t          j        d                    t
          t          z   d          } t          |           V  d S )Nr       )	quad_segs)r   bufferr   r   r   HALF_UNIT_DIAGEPSr   r   s    r   	poly_treer/   ,   sa       Nry}}bimm44ns6JVX  E %..r   zgeometry,count, hitsr!   c                     t          |           }t          |          |k    sJ |                    t          dddd                    j        |k    sJ d S )Nr   d   )r   lenqueryr	   size)geometrycounthitsr   s       r   	test_initr8   6   s\      8Dt99::c!QS))**/4777777r   c                      t          j        t                    5  t          dg           d d d            d S # 1 swxY w Y   d S )NzNot a geometry)pytestraises	TypeErrorr    r   r   test_init_with_invalid_geometryr>   K   s    	y	!	! $ $!"###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   8<<c                     t                      } t          dd          }| |g}t          |          }d } d }dd l}|                                 |                    t          dddd                                                    dgk    sJ d S )Nr   r!   )r   r   gccollectr3   r	   tolist)point1point2r   r   r@   s        r   test_referencesrE   P   s    WWF1a[[FVE5>>DFFIIIJJLLL ::c!Q1oo&&--//A3666666r   c                     t          j        t          j        d          t          j        d                    } t	          |           }d | d d <   dd l}|                                 |                    t                     d S )Nr   r   )	r   r   r   r   r   r@   rA   r3   r   )arrr   r@   s      r   test_flush_geometriesrH   b   sk    
.2	"
6
6C3<<D CFIIIJJLLLJJur   c                      t          j        t          g          } t          |           }t	          | |j                   t          j        dd          | d<   t	          t          |j        d                    d S )Nr   )r   r#   r   r   r   
geometriesr   r   )rG   r   s     r   test_geometries_propertyrK   o   sd    
(E7

C3<<DC111 ]1a  CFE4?1#566666r   c                    t          d t          d          D                       }t          j        |          }d}| dz  }t	          |d          5 }|                    |           d d d            n# 1 swxY w Y   t          j        t          j	        t          |          gt          j                  }|                    |           |                                 |j        dk    sJ d S )	Nc                 T    g | ]%}t          ||                              d           &S )皙?)r   r,   ).0is     r   
<listcomp>z+test_pickle_persistence.<locals>.<listcomp>{   s.    >>>E!QKK&&s++>>>r      a   
import pickle
import sys

from shapely import Point

pickled_strtree = sys.stdin.buffer.read()
print("received pickled strtree:", repr(pickled_strtree))
tree = pickle.loads(pickled_strtree)

tree.query(Point(0, 0))
tree.nearest(Point(0, 0))
print("done")
zunpickle-strtree.pyw)stdin)inputr   )r   rangepickledumpsopenwrite
subprocessPopensys
executablestrPIPEcommunicatewait
returncode)tmp_pathr   pickled_strtreeunpickle_scriptfilenameoutprocs          r   test_pickle_persistencerj   y   s(   >>U1XX>>>??Dl4((OO //H	h		 #		/"""# # # # # # # # # # # # # # # 	X'o  D 	?+++IIKKK?as   A44A8;A8r5   zI am not a geometryzstill not a geometryzin a mixed arrayz8ignore:Creating an ndarray from ragged nested sequences:c                     t          j        t          t          f          5  |                     |           d d d            d S # 1 swxY w Y   d S N)r:   r;   r<   
ValueErrorr3   r   r5   s     r   test_query_invalid_geometryro      s     
	:.	/	/  

8                 s   AAAc                     t          j        t          d          5  |                     t	          dd          gg           d d d            d S # 1 swxY w Y   d S )NzArray should be one dimensionalmatch      ?)r:   r;   r<   r3   r   r   s    r   test_query_invalid_dimensionru      s    	y(I	J	J	J ( (

U3__%&'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (   &AAAz tree_geometry, geometry,expectedr   rR   c                 j    t          |           }t          |                    |          |           d S rl   )r   r   r3   )tree_geometryr5   expectedr   s       r   test_query_with_none_and_emptyrz      s4    P =!!Dtzz(++X66666r   zgeometry,expectedrs         )r|            	   )r   r   r   r   r   r1   n   )r   r   r   r   r   r   r   )r   r!   r|   r~   r   r   r   )r   rR      )r   r   r   r   )r|   r~   r   c                 L    t          |                     |          |           d S rl   r   r3   r   r5   ry   s      r   test_query_pointsr      s'    D tzz(++X66666r   )r   r|   r~   r   )r   r   r   r   c                 L    t          |                     |          |           d S rl   r   r(   r5   ry   s      r   test_query_linesr      s&    4 yx00(;;;;;r   g      ?)r   r!   r   )r   r   r   r   )r   r!   r   rR   )r!   r   rR   r   r|   c                 L    t          |                     |          |           d S rl   r   r/   r5   ry   s      r   test_query_polygonsr     s'    L yx00(;;;;;r   	predicatebad_predicatedisjointc                     t          j        t          d          5  |                     t	          dd          |           d d d            d S # 1 swxY w Y   d S )Nzis not a valid optionrq   r!   r   )r:   r;   rm   r3   r   )r   r   s     r   test_query_invalid_predicater   E  s     
z)@	A	A	A 5 5

5A;;)
4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5rv   zpredicate,expected
intersectswithincontainsoverlapscrossescovers
covered_bycontains_properlyc                     t          dddd          }t          j        |           t          |                     ||          |           d S )Nr   r   r   )r	   r   preparer   r3   )r   r   ry   geoms       r   test_query_prepared_inputsr   R  sK     q!Q??DODtzz$)z<<hGGGGGr   c           	         t          j        t          dddd          t          dddd          g          }|                     |d          }t	          j        |d                    t          ||                     |d                     d S )Nr   r!   rR   r|   r   r   )r   r#   r	   r3   r   r   r   )r   r   ry   s      r   )test_query_with_partially_prepared_inputsr   e  s    8SAq!__c!Q1oo677Dzz$,z77H ODGxDL!I!IJJJJJr   rR      r   zGEOS < 3.13)reason)markstouchesc                    t                      5  t          j        ddgdt          d          g          }d d d            n# 1 swxY w Y   t          dk     rPt          j        t          j                  5  |                     ||           d d d            d S # 1 swxY w Y   d S t          |                     ||          |           d S )Nr!   nanr   r   )
r   r   r"   floatr
   r:   r;   GEOSExceptionr3   r   )r   r   ry   line_nans       r   test_query_predicate_errorsr   n  sW   & 
		 B B&1v5<</@AAB B B B B B B B B B B B B B Bj  ]7011 	6 	6JJx9J555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	4::h):DDhOOOOOs#   'AA	A6BB"Br~   )rR   r   r|   r~   )r   r   r   r   r   r   )r   r!   rR   r   r|   r~   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_intersects_pointsr     s+    h tzz(lzCCXNNNNNr   )r   r   r   r   r   )r   r!   r!   r   rR   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_intersects_linesr     s+    J yx<HH(SSSSSr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_intersects_polygonsr     +    \ yx<HH(SSSSSr   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_within_pointsr     s*    8 tzz(hz??JJJJJr   g      @c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_within_linesr   =  s+    @ yx8DDhOOOOOr   g      @g      @g      @c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_within_polygonsr   `  s+    R yx8DDhOOOOOr   r   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_contains_pointsr     s+    @ tzz(jzAA8LLLLLr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_contains_linesr     s*    0 yx:FFQQQQQr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_contains_polygonsr     *    2 yx:FFQQQQQr   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_overlaps_pointsr     s*    : tzz(jzAA8LLLLLr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_overlaps_linesr     r   r   )r!   r   r   r|   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_overlaps_polygonsr   '  s*    6 yx:FFQQQQQr   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_crosses_pointsr   H  s*     tzz(iz@@(KKKKKr   )r!   r   )r   r!   r   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_crosses_linesr   Y  *    0 yx9EExPPPPPr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_crosses_polygonsr   t  s*    $ yx9EExPPPPPr   )r{   r{   )r!   r!   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_touches_pointsr     s*    0 tzz(iz@@(KKKKKr   gHz>c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_touches_linesr     s*    > yx9EExPPPPPr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_touches_polygonsr     r   r   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_covers_pointsr     s+    @ tzz(hz??JJJJJr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_covers_linesr     s*    8 yx8DDhOOOOOr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_covers_polygonsr   &  s*    2 yx8DDhOOOOOr   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   test_query_covered_by_pointsr   C  s*    8 tzz(lzCCXNNNNNr   g      @c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_covered_by_linesr   b  s+    N yx<HH(SSSSSr   c                 P    t          |                     |d          |           d S r   r   r   s      r   test_query_covered_by_polygonsr     r   r   c                 P    t          |                     |d          |           d S Nr   r   r   r   s      r   #test_query_contains_properly_pointsr     s,    T tzz(6IzJJHUUUUUr   c                 P    t          |                     |d          |           d S r   r   r   s      r   "test_query_contains_properly_linesr     s6    < ,?@@(    r   c                 P    t          |                     |d          |           d S r   r   r   s      r   %test_query_contains_properly_polygonsr     s6    : ,?@@(    r   )rR   r   r   zGEOS >= 3.10c                     t          j        t          d          5  |                     |dd           d d d            d S # 1 swxY w Y   d S )Nzrequires GEOS >= 3.10rq   dwithinr!   r   distance)r:   r;   r   r3   rn   s     r   test_query_dwithin_geos_versionr   3  s    
 
2:Q	R	R	R > >

8y1
===> > > > > > > > > > > > > > > > > >   AA	AzGEOS < 3.10zgeometry,distance,matchz#distance parameter must be providedfooz!could not convert string to floatz.Could not broadcast distance to match geometryg      ?zshould be one dimensionalc                     t          j        t          |          5  |                     |d|           d d d            d S # 1 swxY w Y   d S )Nrq   r   r   )r:   r;   rm   r3   )r   r5   r   rr   s       r   #test_query_dwithin_invalid_distancer   <  s      
z	/	/	/ E E

8y8
DDDE E E E E E E E E E E E E E E E E Er   zgeometry,distance,expectedg      ?g      ?)r   r   r!   )r   r!   r   g?g      ?)r   r!   r!   r!   g      @)r   r!   rR   r   c                 R    t          |                     |d|          |           d S Nr   r   r   )r   r5   r   ry   s       r   test_query_dwithin_pointsr   P  s8    J 

8y8
DDh    r   c                 R    t          |                     |d|          |           d S r   r   )r(   r5   r   ry   s       r   test_query_dwithin_linesr     s8    2 III    r   )rR   r   r|   r~   r   r   r   )r   r   r   r   r   r   r   c                 R    t          |                     |d|          |           d S r   r   )r/   r5   r   ry   s       r   test_query_dwithin_polygonsr     s9    B III    r   c                  \    t          g           } |                     t                    J d S rl   )r   nearestr   rt   s    r   test_nearest_empty_treer    s+    2;;D<<&&&&&r   c                     t          j        t                    5  |                     |           d d d            d S # 1 swxY w Y   d S rl   )r:   r;   r<   r   rn   s     r   test_nearest_invalid_geomr    s    	y	!	!  X                    =AAc                     t          j        t                    5  |                     |           d d d            d S # 1 swxY w Y   d S rl   r:   r;   rm   r   rn   s     r   test_nearest_noner    s    	z	"	"  X                 r  c                     t          j        t                    5  |                     |           d d d            d S # 1 swxY w Y   d S rl   r  rn   s     r   test_nearest_emptyr	    s     
z	"	"  X                 r  ir   c                 L    t          |                     |          |           d S rl   r   r   r   s      r   test_nearest_pointsr    s&    " t||H--x88888r   c                 <    |                      |          }||v sJ d S rl   r   )r   r5   ry   results       r   test_nearest_points_equidistantr    s,     \\(##FXr   c                 L    t          |                     |          |           d S rl   r  r   s      r   test_nearest_linesr  #  (     y((22H=====r   )r   rR   r   r|   c                 <    |                      |          }||v sJ d S rl   r  )r(   r5   ry   r  s       r   test_nearest_lines_equidistantr  0  s.    2 x((FXr   c                 L    t          |                     |          |           d S rl   r  r   s      r   test_nearest_polygonsr  M  r  r   )rR   r   r|   c                 <    |                      |          }||v sJ d S rl   r  )r/   r5   ry   r  s       r   !test_nearest_polygons_equidistantr  Z  s.    * x((FXr   c                      t          g           } t          |                     t                    g            t          |                     t          g          g g g           d S rl   )r   r   query_nearestr   rt   s    r   test_query_nearest_empty_treer  s  sU    2;;Dt))%00"555t))5'22RH=====r   c                     t          j        t                    5  |                     |           d d d            d S # 1 swxY w Y   d S rl   )r:   r;   r<   r  rn   s     r   test_query_nearest_invalid_geomr  y  s    	y	!	! % %8$$$% % % % % % % % % % % % % % % % % %r  z!geometry,return_distance,expectedFTc                     |rH|                      |d          \  }}t          ||d                    t          ||d                    d S t          |                      |          |           d S )NTreturn_distancer   r!   )r  r   )r   r5   r!  ry   indexr   s         r   test_query_nearest_noner#    s}      C,,Xt,LLx5(1+...8Xa[11111 	4--h77BBBBBr   c                 L    t          |                     |          |           d S rl   r   r  r   s      r   test_query_nearest_empty_geomr&    s(    
 t))(33X>>>>>r   c                 L    t          |                     |          |           d S rl   r%  r   s      r   test_query_nearest_pointsr(    s)    J t))(33X>>>>>r   )r   r!   r!   r!   r!   )r   r   rR   r   r|   )r!   r   rR   c                 L    t          |                     |          |           d S rl   r%  r   s      r   test_query_nearest_linesr*    s)    @ y..x88(CCCCCr   )r   r   r!   r!   r!   )r   r!   rR   r   r|   c                 L    t          |                     |          |           d S rl   r%  r   s      r   test_query_nearest_polygonsr,    s(    > y..x88(CCCCCr   zgeometry,max_distance,expectedrN   c                 P    t          |                     ||          |           d S )Nmax_distancer%  )r   r5   r/  ry   s       r   test_query_nearest_max_distancer0    s8    " 8,??    r   zgeometry,max_distancec                     t          j        t          d          5  |                     ||           d d d            d S # 1 swxY w Y   d S )Nz#max_distance must be greater than 0rq   r.  r:   r;   rm   r  )r   r5   r/  s      r   'test_query_nearest_invalid_max_distancer3    s     
z)N	O	O	O @ @8,???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s   AAAc                     t          j        t          d          5  |                     t	          dd          dg           d d d            d S # 1 swxY w Y   d S )Nz$parameter only accepts scalar valuesrq   rs   r!   r.  )r:   r;   rm   r  r   rt   s    r   )test_query_nearest_nonscalar_max_distancer5  +  s    	z)O	P	P	P > >5c??!===> > > > > > > > > > > > > > > > > >s   'AAAg        g-?c                     |\  }}|                      |d          \  }}t          ||           t          t          j        |d          |           d S )NTr   r   )r  r   r   round)r   r5   ry   expected_indicesexpected_distactual_indicesactual_dists          r   "test_query_nearest_return_distancer<  0  s_     '/#m"&"4"4Xt"4"T"TNK~'7888rxQ//?????r   zgeometry,exclusive,expected)r   r   r!   r!   )r   r   r!   rR   c                 P    t          |                     ||          |           d S N	exclusiver%  )r   r5   r@  ry   s       r   test_query_nearest_exclusiverA  D  s-     t))(i)HH(SSSSSr   c                     t          t          dd          g          } t          |                     |d          |           d S )Nr!   Tr?  )r   r   r   r  r   s      r   'test_query_nearest_exclusive_no_resultsrC  R  sD     E!QKK=!!Dt))(d)CCXNNNNNr   zgeometry,exclusiveinvalidzalso invalidc                     t          j        t                    5  |                     ||           d d d            d S # 1 swxY w Y   d S r>  r2  )r   r5   r@  s      r   $test_query_nearest_invalid_exclusiverF  ^  s     
z	"	" : :8y999: : : : : : : : : : : : : : : : : :   ?AAzgeometry,all_matchesc                     t          j        t                    5  |                     ||           d d d            d S # 1 swxY w Y   d S )Nall_matchesr2  )r   r5   rJ  s      r   &test_query_nearest_invalid_all_matchesrK  m  s     
z	"	" > >8===> > > > > > > > > > > > > > > > > >rG  c                    t          dd          }t          |                     |d          ddg           |                     |d          }t          j        |dg          st          j        |dg          sJ d S d S )Nrs   TrI  r   r!   F)r   r   r  r   array_equal)r   r   indicess      r   test_query_nearest_all_matchesrO  |  s    #sOOEt))%T)BBQFKKK  E ::G>'A3''G2>'A3+G+GGGGGGGGr   c                    
 t          j        t          j                            ddd                    } d}t          j        dt          j                            |          z  dz
  dt          j                            |          z  dz
            }t          t          |           dz            }| d |         | |d|z           | d|z  d|z           | d|z  d          g
t          t          |          dz            }|d |         ||d|z           |d|z  d|z           |d|z  d          g}g t          d          D ].}||         }t          |          }
                    |           /
fd}t                      5 }	t          |	                    |t          j        t          d          t          d                                         d d d            d S # 1 swxY w Y   d S )Ni  rR   r   i r   c                 \    | \  }}|         }|         }|                     |d          S r   )r3   )idxsrP   jr   rightpolygons_partstreess        r   thread_funcz0test_strtree_threaded_query.<locals>.thread_func  s5    1Qxq!zz%:z666r   )r   polygonsr   randomrandnr   intr2   rV   r   appendr   listmap	itertoolsproduct)rX  Nr   npoints_partsrP   leftr   rW  poolrU  rV  s             @@r   test_strtree_threaded_queryrf    sI   	a ; ;<<HA^A	 0 0 3 33a7RY=M=Ma=P=P9PST9TUUF 	CMMAA!QUQQQ	N 	CKK!OArr
q1q5yq1uq1u}q1uww	L E1XX  At}}T7 7 7 7 7 7 
		 KTXXk9#4U1XXuQxx#H#HIIJJJK K K K K K K K K K K K K K K K K Ks   	AG''G+.G+)xr_  mathrW   r[   r]   concurrent.futuresr   numpyr   r:   numpy.testingr   r   r   r   r   r   r	   r
   shapely.errorsr   shapely.testingr   shapely.tests.commonr   r   r   r   r   sqrtr-   r.   fixturer   r(   r/   markparametrizer8   r>   rE   rH   rK   rj   filterwarningsro   ru   rz   r,   r   r   r   r   r   r   paramxfailr   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r   r   r   r   r   r   r   r   r   r   r   r   r   r   skipifr   r   r   r   r   r   r  r  r  r	  r  r  r  r  r  r  r  r  r#  r&  r(  r*  r,  r0  r3  r5  r<  rA  rC  rF  rK  rO  rf  r=   r   r   <module>rv     s#l             



 1 1 1 1 1 1      , , , , , ,  M M M M M M M M M M M M M M M M 6 6 6 6 6 6 3 3 3 3 3 3              1!
 i     ! 
 i     !  i     !   
Q

!Q
A
1
/	0!Q7
%6	7A> 8 8 8$ $ $
7 7 7$
 
 
7 7 7     B 		q!,-	#	  VWW  XW 
( ( (
 & 
UB	eWr2h	T2	dVb"X

%2r(#
r
$"b"
$
4&2r(#
%
5'B8$
%
5'B8$
#
%2r(+ Aq"b))A3/
Q2r**+qcA3Z8
u	ss1aR001#6
u	ss1aR001a&9
u	Aq"b 1 12aVaV4DE
%1#s4K!2E:K!2E:S1#J	
=#& &N7 7O& &N7
  
sC"
%S//	RH%	q!qc
%1++!qc
# U1a[[%%B--q!5VaV	

 
Q1a1a&!
#aAq//	aVaV,-	Q2r		OOO,
#aB

	@A SAq!__cc#sC55ss1aR7H7HI"""$9$9$9:	

 
aQ	'	'3
'.q!a
(
(	)IIIyyy+AB	aVaV$	%	%yyy1
*q!fq!f%
&
&	')))YYY)?@9   B7 7C   B7  
q!qc
%1++!qc
#	sC1#
%S//	aS1#J'	q#
%3--A3*%	q!q!f
%1++!Q!Q()	Q1a1a&!
#aAq//	aVaV,-	aS	)	)Aq62
'.q!c
*
*	+q!fq!f-=>	aVaV$	%	%|||4
*q!fq!f%
&
&	',,,)EF) 2< <3 2<  
sC1a&!
%S//	aVaV,-	q!qc
%1++!qc
#	Q1a1a&!
#aAq//	aVaV,-	Q3		iii(
#aC

	III 67 SAq!__cc#sC55ss1aAG\\<<<(	

 
a^	4	4iii@W^EE!QKK889YY			"	

 
aQ%7	8	8///JW^EE!QKK^);<<=__ooo.	

 
aVaV$	%	%yyy1
*q!fq!f%
&
&	')))YYY)?@A!$ $J< <K$ $J<  5 5 5
 	yyy!	2	aS	R	B	999	r	qc"	 H H HK K K C+##L:$=m#TT	
 	
 	

 
2	R	R	QC	B	2	r	b! $P P% $P  
sC"
%S//	RH%	q!qc
%1++!qc
#	Q1a,,,'
#aAq//	\\\<<<89 SAq!__cc#sC55ss1aAG!3!3!34	
 
aQ	'	'!-
'.q!a
(
(	)QC!:6 
aQ%7	8	8)))DW^EE!QKK^);<<=YY			"	
 JAA'((F	

 Z!Q!Q())*VaV	

 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2 JAA'((C	

 Z!Q!Q())*S1#J	
W/2 2fO Og2 2fO  
q!qc
%1++!qc
#	sC1#
%S//	aS1#J'	q#
%3--2r(#	q!q!f
%1++!Q!Q()	Q1a1a&!
#aAq//	aVaV,- SAq!__cc#sC55ss1aAG__ooo.	

 
aS	)	)Aq62
'.q!c
*
*	+q!fq!f-=>	a^	4	4qc:
'.q!n
5
5	6!qc
C	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%1v.
*q!fq!f%
&
&	'1a&1a&)9:? # #HT TI# #HT  
q#
%3--A3*%	sA
%Q--A3*%	sC1a&!
%S//	aVaV,-	q!qc
%1++!qc
#	Q1a1a&!
#aAq//	aVaV,-	Q3		iii(
#aC

	III 67 SAq!__cc#sC55ss1aAG\\<<<(	

 
a^	4	4iii@W^EE!QKK889YY			"	

 
aQ%7	8	8///JW^EE!QKK^);<<=__ooo.	

 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%s+
*q!fq!f%
&
&	'1#s4Q), ,ZT T[, ,ZT
  
sC"
%S//	RH%	q!qc
%1++!qc
#	Q1a"
#aAq//	RH%	aQ	'	',
'.q!a
(
(	)B84	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2- 6K K7 6K  
q!b
%1++R!	sC1#
%S//	aS1#J'	q#
%3--2r(#	q!b
%1++R!	Q1a"
#aAq//	RH%	aS	)	)2.
'.q!c
*
*	+b"X6	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	c3Z!Q(	)	)A3/
*sCj1a&)
*
*	+qcA3Z85 >P P? >P  
q#
%3--A3*%	sA
%Q--A3*%	sC1a&!
%S//	aVaV,-	q!qc
%1++!qc
#	Q1a"
#aAq//	RH%	Q3		qc"
#aC

	!qc
+	Q3		b!
#aC

	R)	a^	4	4qc:
'.q!n
5
5	6!qc
C	aQ%7	8	8"=
'.q!a.&8
9
9	:RHE	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	dC[4+.	/	/!5
*tSkD#;/
0
0	1QC!:>G$' 'PP PQ' 'PP
  
sC"
%S//	RH%	q!qc
%1++!qc
#	Q1a1a&!
#aAq//	aVaV,- 
aQ	'	'!-
'.q!a
(
(	)QC!:6 
aQ%7	8	8)))D
'.q!a.&8
9
9	:YYY			<RS	aVaV$	%	%1v.
*q!fq!f%
&
&	'1a&1a&)9:	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%s+
*q!fq!f%
&
&	'1#s45 >M M? >M  
q!b
%1++R!	Q1a1#
#aAq//	aS1#J'	aS	)	)2.
'.q!c
*
*	+b"X6	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2% .R R/ .R  
q!b
%1++R!	Q1a"
#aAq//	RH%	Q1a1#
#aAq//	aS1#J'	a^	4	4b9
'.q!n
5
5	6RA	aQ%7	8	81#>
'.q!a.&8
9
9	:aS1#JG 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2' 0R R1 0R  
sC"
%S//	RH%	q!b
%1++R! 
Q1a"
#aAq//	RH%	aQ	'	',
'.q!a
(
(	)B84	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2/ 8M M9 8M  
q!b
%1++R! 
Q3		b!
#aC

	R)	aS	)	)2.
'.q!c
*
*	+b"X6	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2' 0R R1 0R  
q!b
%1++R!	Q1a1a&!
#aAq//	aVaV,-	Q1a1a&!
#aAq//	aVaV,-	a^	4	4q!f=
'.q!n
5
5	6!Q!Q8HI	aQ%7	8	8,,,GW^EE!QKK^);<<=\\<<<(	

 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2+ 4R R5 4R  
q!b	Q1a"	aQ	'	',	aVaV$	%	%r*	 L L L  
q!b
%1++R!	Q3		qc"
#aC

	!qc
+	aS	)	)Aq62
'.q!c
*
*	+q!fq!f-=>		ff-	.	.4
'
vv.
/
/	0A3*=	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaVaV,	-	-r2
*q!fq!fq!f-
.
.	/"b:% .Q Q/ .Q  
q#
%3--2r(#	Q3		b!
#aC

	R)	a^	4	4b9
'.q!n
5
5	6RA	aVaVaV,	-	-s3
*q!fq!fq!f-
.
.	/1#s< "Q Q# "Q  
sC"
%S//	RH%	q!b
%1++R!	Q1a1a&!
#aAq//	aVaV,-	aQ	'	',
'.q!a
(
(	)B84	Xv&	'	'!-
*h'
(
(	)QC!:6	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2% .L L/ .L  
q!qc
%1++!qc
#	sC"
%S//	RH%	q!q!f
%1++!Q!Q()	Q1a1#
#aAq//	aS1#J'	aS	)	)2.
'.q!c
*
*	+b"X6 
a^d%:	;	;R@
'.q!nt&;
<
<	=BxH	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaVaV,	-	-1v6
*q!fq!fq!f-
.
.	/1a&1a&1AB3 <Q Q= <Q  
q#
%3--2r(#	~#Q	'	'!-
%$a
(
(	)QC!:6	Q1a"
#aAq//	RH%	^c!1a	+	+aS1
#ns"Aq!
,
,	-aSz:	a^c%9	:	:B?
'.q!ns&:
;
;	<r2hG	aVaVaV,	-	-r2
*q!fq!fq!f-
.
.	/"b:% .Q Q/ .Q
  
sC"
%S//	RH%	q!qc
%1++!qc
#	Q1a,,,'
#aAq//	\\\<<<89 
aQ	'	'!-
'.q!a
(
(	)QC!:6 
aQ%7	8	8)))D
'.q!a.&8
9
9	:YYY			<RS	aVaV$	%	%1v.
*q!fq!f%
&
&	'1a&1a&)9:	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%s+
*q!fq!f%
&
&	'1#s45 >K K? >K  
q!b
%1++R!	Q3		qc"
#aC

	!qc
+	Q1a1a&!
#aAq//	aVaV,-	aS	)	)2.
'.q!c
*
*	+b"X6	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2- 6P P7 6P  
q!b
%1++R!	Q1a"
#aAq//	RH%	Q1a1#
#aAq//	aS1#J'	a^	4	4b9
'.q!n
5
5	6RA	aQ%7	8	81#>
'.q!a.&8
9
9	:aS1#JG 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2' 0P P1 0P
  
sC"
%S//	RH%	q!qc
%1++!qc
#	Q1a"
#aAq//	RH%	aQ	'	',
'.q!a
(
(	)B84	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2- 6O O7 6O  
q!qc
%1++!qc
#	sC1#
%S//	aS1#J'	q#
%3--2r(#	q!q!f
%1++!Q!Q()		q!fq!f-	.	.4
'
1v1v.
/
/	0A3*=		sCj3*5	6	6;
'
SzC:6
7
7	82r(C	Q1a"
#aAq//	RH%	aS	)	)2.
'.q!c
*
*	+b"X6	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	c3Z!Q(	)	)A3/
*sCj1a&)
*
*	+qcA3Z8C"% %LT TM% %LT  
q#
%3--A3*%	sA
%Q--A3*%	q!qc
%1++!qc
#	sC1a&!
%S//	aVaV,-		q!fq!f-	.	.3
'
1v1v.
/
/	02r(;		sCj3*5	6	6<
'
SzC:6
7
7	8A3*E	Q1a"
#aAq//	RH%	Q3		qc"
#aC

	!qc
+	Q3		b!
#aC

	R)	a^	4	4qc:
'.q!n
5
5	6!qc
C	aQ%7	8	8"=
'.q!a.&8
9
9	:RHE	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	dC[4+.	/	/!5
*tSkD#;/
0
0	1QC!:>Q), ,ZT T[, ,ZT
  
sC"
%S//	RH%	q!qc
%1++!qc
# 
	q!fq!f-	.	.4
'
1v1v.
/
/	0A3*=		sCj3*5	6	6A?
'
SzC:6
7
7	8Aq6Aq6:JK		q!fq!f-	.	.4
'
1v1v.
/
/	0A3*=	Q1a1a&!
#aAq//	aVaV,- 
aQ	'	'!-
'.q!a
(
(	)QC!:6 
aQ%7	8	8)))D
'.q!a.&8
9
9	:YYY			<RS	aVaV$	%	%1v.
*q!fq!f%
&
&	'1a&1a&)9:	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%s+
*q!fq!f%
&
&	'1#s4I%( (RV VS( (RV  
q!b
%1++R!		q!fq!f-	.	.3
'
1v1v.
/
/	02r(;		q!fq!f-	.	.3
'
1v1v.
/
/	02r(;		q!fq!f-	.	.3
'
1v1v.
/
/	02r(;	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	aVaV$	%	%r*
*q!fq!f%
&
&	'"b2	Q1a"
#aAq//	RH%	Q1a"
#aAq//	RH%	aS	)	)2.
'.q!c
*
*	+b"X61 : ; :  
q!b
%1++R! 
	q!fq!f-	.	.3
'
1v1v.
/
/	02r(;	Q1a"
#aAq//	RH%	Q1a1#
#aAq//	aS1#J'	a^	4	4b9
'.q!n
5
5	6RA	aQ%7	8	81#>
'.q!a.&8
9
9	:aS1#JG 
aVaV$	%	%r*
*q!fq!f%
&
&	'"b2/ 8 9 8 LJ.~FFq!uuQ{{mTD655'J > >  GF>
 L:-mDD	q!dAB
%1++CD	q!e@A
%1++BC
%1++!DE	q!q!fNO
%1++A PQ	q!ug:;
%1++#!<=
 E E  EDE
 L:-mDD ?	sB?
r2h? 
tT		Ar"? %d

	a"b*	?
 
tT		B#? %d

	b2r(+? 
tT		BFB'? %d

	bfr2h/? 
!R? %''ABx ? 
tT		C!%? %d

	cQC!:.? 
tT		C+? %d

	cIIIyyy#9:? 
q!c999%?  %1++iii34!?$ 
sC$A'%?& %S//	DAq6Aq6"23'?* 55c??#  A
	
)?@ U3__eeD$//0YY			"	
??J U1c]]EE$--.1I\\<<<(	
I?T 
Q1a!\\\*U?V #aAq//	Alll;<W?X 
Q1a$-Y?Z #aAq//	D<<<">?[?^ 
Q1a#|||,_?` #aAq//	C,,,!=>a?d 
dD\C:.	/	/yyyAe?f *tTlS#J/
0
0	14)))YYY9OPg?l Jc
S#J/00LL	
k?v Z#sc3Z0112\\<<<(	
u?B BF GB B EDH L:-mDD 	sB
r2h	sC!aS!
%S//	AaSz*	sC#1v&
%S//	C1a&1a&!12	q!cAq6"
%1++q!fq!f-.	Q1a#1v&
#aAq//	C1a&1a&!12	S#sC	 	 #1v.
#c3S
!
!	"C1a&1a&)9:	aVaV$	%	%sLLL9
*q!fq!f%
&
&	'|||\\\.JK	aVaV$	%	%sQF3
*q!fq!f%
&
&	'1v1v.>?% . /  ED0 L:-mDD 	q!a!
%1++QC!:&	q!cA3
%1++qcA3Z(	q!cAq6"
%1++q!fq!f-.	sC!aV$
%S//	AAA/0	sC#1v&
%S//	C1a&1a&!12	Q1a!aV$
#aAq//	AAA/0	Q1a!YYY'
#aAq//	A			99956	aVaV$	%	%sQF3
*q!fq!f%
&
&	'1v1v.>?JAA'((!!!	
 Z!Q!Q())*"""$9$9$9:	
- > ?  ED@' ' '
 &;%<==  >=
 dTFUU1a[[$4G%HII  JI
 {meeAqkk;-GH   
 	tT		A	tT		A	q!a
%1++uuQ{{	#aV,
%1++uuT1~~	&A/
%S//55c??	+aV4	S#tT	"	"A&	c3	8	8!<	a^	4	4a8	c1X1v&	'	'+	aVaV$	%	%q)  9 9!  9  
sC1a&!	Q1a,,,'	aVaV$	%	%1v.
 
 
 
 	sC!	sC!	S#q!	$	$a(		q#hC1	2	2A6	 > > >  
q!q!f	Q1a1a&!	S#sC	 	 1a&)	Q1a,,,'	c3	8	81a&A	a^	4	4q!f=	aVaV$	%	%|||4	c1X1v&	'	'!Q0	aVaV$	%	%1v.! * + * 	q!a	q!a	Q1a	 	 !$	aVaV$	%	%q)	 > > >  
sC1a&!	Q1a1a&!	S#sC	 	 ))),	Q1a)))$	c3	8	81a&A	a^	4	4iii@	aVaV$	%	%1v.	c1X1v&	'	'!Q0 " # "> > > &;>T=U%VWW% % XW%
 '	ub
R!	tb"X
R"~&	 C C C R[E7RH%!Q!Q8H'IJ ? ?	 ? 	tT		QC 
%d

	sQCj)	tT		QC 
%d

	sQCj)	q!qc
%1++!qc
#	sC1a&!
%S//	aVaV,-
%1++uuQ{{	#q!fq!f%56
%1++uuT1~~	&!Q!Q(89
%S//55c??	+q!fq!f-=>	S#tT	"	"QC(
#c3d
#
#	$sQCj1	Q1a,,,'
#aAq//	\\\<<<89	c3	+	+aV4
'.sC!
,
,	-AA/?@	aS	)	)A3/
'.q!c
*
*	+qcA3Z8	c1X1v&	'	'!-
*sAhA'
(
(	)QC!:6	aVaV$	%	%s+
*q!fq!f%
&
&	'1#s4	aVaV$	%	%1v.
*q!fq!f%
&
&	'1a&1a&)9:	c3Z#s,	-	-|||<
*sCj3*-
.
.	/,,,1MN? # #H? ?I# #H? 	sC1#
%S//	aS1#J'	q!q!f
%1++!Q!Q()	Q1a1a&!
#aAq//	aVaV,-	S#sC	 	 1a&)
#c3S
!
!	"aVaV$45
#aC

ss1aA	////???1ST	c3	+	+YYY7
'.sC!
,
,	-			999/EF	aS	)	)Aq62
'.q!c
*
*	+q!fq!f-=>	aVaV$	%	%|||4
*q!fq!f%
&
&	',,,)EF	c1X1v&	'	'!Q0
*sAhA'
(
(	)QFQF+;<	aVaV$	%	%1v.
*q!fq!f%
&
&	'1a&1a&)9:5 >D D? >D 	q!qc
%1++!qc
#	q!qc
%1++!qc
#	sC1a&!
%S//	aVaV,-	Q1a1a&!
#aAq//	aVaV,-	S#sC	 	 ))),
#c3S
!
!	"YYY			$:;
#aAq//33q!Q??	+ooo-OP	c3	8	81a&A
'.sC.
9
9	:aVaV<LM	a^	4	4iii@
'.q!n
5
5	6III8NO	aVaV$	%	%1v.
*q!fq!f%
&
&	'1a&1a&)9:	c1X1v&	'	'!Q0
*sAhA'
(
(	)QFQF+;<	aVaV$	%	%s+
*q!fq!f%
&
&	'1#s43 <D D= <D $ 
sC$A'
%S//	DAq6Aq6"23	sC"q!f%
%S//	B!Q!Q 01	sC#r"
%S//	C"b*
%S//55A;;	'sQCj9   !   	sC!
%S//	A	sC"
%S//	B	 @ @ @
> > >
 	q!sSEl#
%1++1#scU+,	sCAq6FF#345
%S//	q!fq!f-/?@A	Q1aAq6C:./
#aAq//	q!fq!f-Sz:;
 
@ @
 
@ !	q!eaS!
%1++aSz*	q!dQF#
%1++1v1v./
%1++uuQ{{	#TLLL,,,+GH	 	T T	 	T 	q!b
%1++R! O O O
 	q!i 	q!~&'
%1++
%1++ 	 	: :	 	:
 	q!i 	q!~&'
%1++
%1++ 	 	> >	 	>
H H H'K 'K 'K 'K 'Kr   