diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-16 08:46:03 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-16 08:46:03 -0800 |
commit | d59abb9325ae5eb8fd28440d80f820b945887541 (patch) | |
tree | 6ba86796569a8b478a959c2c76c8bfb2bde34522 | |
parent | 319e2e3f63c348a9b66db4667efa73178e18b17d (diff) | |
parent | 3d724fa513cd1bd06d3457ccda36941f3606d048 (diff) | |
download | blackbird-op-linux-d59abb9325ae5eb8fd28440d80f820b945887541.tar.gz blackbird-op-linux-d59abb9325ae5eb8fd28440d80f820b945887541.zip |
Merge branch 3.13-rc4 into usb-next
121 files changed, 6998 insertions, 5242 deletions
diff --git a/drivers/staging/dwc2/hcd.c b/drivers/staging/dwc2/hcd.c index 3cfd2d5152c9..078cd9168b1a 100644 --- a/drivers/staging/dwc2/hcd.c +++ b/drivers/staging/dwc2/hcd.c @@ -2921,6 +2921,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq, if (retval < 0) goto error3; + device_wakeup_enable(hcd->self.controller); + dwc2_hcd_dump_state(hsotg); dwc2_enable_global_interrupts(hsotg); diff --git a/drivers/staging/octeon-usb/octeon-hcd.c b/drivers/staging/octeon-usb/octeon-hcd.c index d118952c0a74..47e0a91238a1 100644 --- a/drivers/staging/octeon-usb/octeon-hcd.c +++ b/drivers/staging/octeon-usb/octeon-hcd.c @@ -3498,6 +3498,7 @@ static int octeon_usb_driver_probe(struct device *dev) kfree(hcd); return -1; } + device_wakeup_enable(hcd->self.controller); dev_dbg(dev, "Registered HCD for port %d on irq %d\n", usb_num, irq); diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c index d9c43c3282e7..efaf26f734c3 100644 --- a/drivers/staging/ozwpan/ozhcd.c +++ b/drivers/staging/ozwpan/ozhcd.c @@ -2270,6 +2270,8 @@ static int oz_plat_probe(struct platform_device *dev) usb_put_hcd(hcd); return -1; } + device_wakeup_enable(hcd->self.controller); + spin_lock_bh(&g_hcdlock); g_ozhcd = ozhcd; spin_unlock_bh(&g_hcdlock); diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index 25a7bfcf666c..dada0146cd7f 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -170,9 +170,9 @@ struct usbatm_control { static void usbatm_atm_dev_close(struct atm_dev *atm_dev); static int usbatm_atm_open(struct atm_vcc *vcc); static void usbatm_atm_close(struct atm_vcc *vcc); -static int usbatm_atm_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void __user * arg); +static int usbatm_atm_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void __user *arg); static int usbatm_atm_send(struct atm_vcc *vcc, struct sk_buff *skb); -static int usbatm_atm_proc_read(struct atm_dev *atm_dev, loff_t * pos, char *page); +static int usbatm_atm_proc_read(struct atm_dev *atm_dev, loff_t *pos, char *page); static struct atmdev_ops usbatm_atm_devops = { .dev_close = usbatm_atm_dev_close, @@ -739,7 +739,7 @@ static void usbatm_atm_dev_close(struct atm_dev *atm_dev) usbatm_put_instance(instance); /* taken in usbatm_atm_init */ } -static int usbatm_atm_proc_read(struct atm_dev *atm_dev, loff_t * pos, char *page) +static int usbatm_atm_proc_read(struct atm_dev *atm_dev, loff_t *pos, char *page) { struct usbatm_data *instance = atm_dev->dev_data; int left = *pos; @@ -895,7 +895,7 @@ static void usbatm_atm_close(struct atm_vcc *vcc) } static int usbatm_atm_ioctl(struct atm_dev *atm_dev, unsigned int cmd, - void __user * arg) + void __user *arg) { struct usbatm_data *instance = atm_dev->dev_data; diff --git a/drivers/usb/c67x00/c67x00-hcd.c b/drivers/usb/c67x00/c67x00-hcd.c index 75e47b860a53..20ec4eee1ac8 100644 --- a/drivers/usb/c67x00/c67x00-hcd.c +++ b/drivers/usb/c67x00/c67x00-hcd.c @@ -384,6 +384,8 @@ int c67x00_hcd_probe(struct c67x00_sie *sie) goto err2; } + device_wakeup_enable(hcd->self.controller); + spin_lock_irqsave(&sie->lock, flags); sie->private_data = c67x00; sie->irq = c67x00_hcd_irq; diff --git a/drivers/usb/chipidea/Makefile b/drivers/usb/chipidea/Makefile index a99d980454a6..7345d2115af2 100644 --- a/drivers/usb/chipidea/Makefile +++ b/drivers/usb/chipidea/Makefile @@ -17,5 +17,5 @@ ifneq ($(CONFIG_PCI),) endif ifneq ($(CONFIG_OF),) - obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc_imx.o usbmisc_imx.o + obj-$(CONFIG_USB_CHIPIDEA) += usbmisc_imx.o ci_hdrc_imx.o endif diff --git a/drivers/usb/chipidea/ci_hdrc_pci.c b/drivers/usb/chipidea/ci_hdrc_pci.c index d514332ac081..241ae3444fde 100644 --- a/drivers/usb/chipidea/ci_hdrc_pci.c +++ b/drivers/usb/chipidea/ci_hdrc_pci.c @@ -112,7 +112,7 @@ static void ci_hdrc_pci_remove(struct pci_dev *pdev) * * Check "pci.h" for details */ -static DEFINE_PCI_DEVICE_TABLE(ci_hdrc_pci_id_table) = { +static const struct pci_device_id ci_hdrc_pci_id_table[] = { { PCI_DEVICE(0x153F, 0x1004), .driver_data = (kernel_ulong_t)&pci_platdata, diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 5d8981c5235e..50754073fae0 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -208,7 +208,8 @@ static int hw_device_init(struct ci_hdrc *ci, void __iomem *base) reg = hw_read(ci, CAP_HCCPARAMS, HCCPARAMS_LEN) >> __ffs(HCCPARAMS_LEN); ci->hw_bank.lpm = reg; - hw_alloc_regmap(ci, !!reg); + if (reg) + hw_alloc_regmap(ci, !!reg); ci->hw_bank.size = ci->hw_bank.op - ci->hw_bank.abs; ci->hw_bank.size += OP_LAST; ci->hw_bank.size /= sizeof(u32); diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index 59e6020ea753..526cd77563d8 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c @@ -88,7 +88,8 @@ static int host_start(struct ci_hdrc *ci) return ret; disable_reg: - regulator_disable(ci->platdata->reg_vbus); + if (ci->platdata->reg_vbus) + regulator_disable(ci->platdata->reg_vbus); put_hcd: usb_put_hcd(hcd); diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c index 8a1094b1182f..cd061abe3507 100644 --- a/drivers/usb/chipidea/usbmisc_imx.c +++ b/drivers/usb/chipidea/usbmisc_imx.c @@ -21,6 +21,10 @@ #define MX25_USB_PHY_CTRL_OFFSET 0x08 #define MX25_BM_EXTERNAL_VBUS_DIVIDER BIT(23) +#define MX27_H1_PM_BIT BIT(8) +#define MX27_H2_PM_BIT BIT(16) +#define MX27_OTG_PM_BIT BIT(24) + #define MX53_USB_OTG_PHY_CTRL_0_OFFSET 0x08 #define MX53_USB_UH2_CTRL_OFFSET 0x14 #define MX53_USB_UH3_CTRL_OFFSET 0x18 @@ -68,6 +72,36 @@ static int usbmisc_imx25_post(struct imx_usbmisc_data *data) return 0; } +static int usbmisc_imx27_init(struct imx_usbmisc_data *data) +{ + unsigned long flags; + u32 val; + + switch (data->index) { + case 0: + val = MX27_OTG_PM_BIT; + break; + case 1: + val = MX27_H1_PM_BIT; + break; + case 2: + val = MX27_H2_PM_BIT; + break; + default: + return -EINVAL; + }; + + spin_lock_irqsave(&usbmisc->lock, flags); + if (data->disable_oc) + val = readl(usbmisc->base) | val; + else + val = readl(usbmisc->base) & ~val; + writel(val, usbmisc->base); + spin_unlock_irqrestore(&usbmisc->lock, flags); + + return 0; +} + static int usbmisc_imx53_init(struct imx_usbmisc_data *data) { void __iomem *reg = NULL; @@ -128,6 +162,10 @@ static const struct usbmisc_ops imx25_usbmisc_ops = { .post = usbmisc_imx25_post, }; +static const struct usbmisc_ops imx27_usbmisc_ops = { + .init = usbmisc_imx27_init, +}; + static const struct usbmisc_ops imx53_usbmisc_ops = { .init = usbmisc_imx53_init, }; @@ -162,6 +200,14 @@ static const struct of_device_id usbmisc_imx_dt_ids[] = { .data = &imx25_usbmisc_ops, }, { + .compatible = "fsl,imx27-usbmisc", + .data = &imx27_usbmisc_ops, + }, + { + .compatible = "fsl,imx51-usbmisc", + .data = &imx53_usbmisc_ops, + }, + { .compatible = "fsl,imx53-usbmisc", .data = &imx53_usbmisc_ops, }, diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index e8404319ca68..900f7ff805ee 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -262,6 +262,7 @@ static void acm_ctrl_irq(struct urb *urb) struct usb_cdc_notification *dr = urb->transfer_buffer; unsigned char *data; int newctrl; + int difference; int retval; int status = urb->status; @@ -302,20 +303,31 @@ static void acm_ctrl_irq(struct urb *urb) tty_port_tty_hangup(&acm->port, false); } + difference = acm->ctrlin ^ newctrl; + spin_lock(&acm->read_lock); acm->ctrlin = newctrl; + acm->oldcount = acm->iocount; + + if (difference & ACM_CTRL_DSR) + acm->iocount.dsr++; + if (difference & ACM_CTRL_BRK) + acm->iocount.brk++; + if (difference & ACM_CTRL_RI) + acm->iocount.rng++; + if (difference & ACM_CTRL_DCD) + acm->iocount.dcd++; + if (difference & ACM_CTRL_FRAMING) + acm->iocount.frame++; + if (difference & ACM_CTRL_PARITY) + acm->iocount.parity++; + if (difference & ACM_CTRL_OVERRUN) + acm->iocount.overrun++; + spin_unlock(&acm->read_lock); + + if (difference) + wake_up_all(&acm->wioctl); - dev_dbg(&acm->control->dev, - "%s - input control lines: dcd%c dsr%c break%c " - "ring%c framing%c parity%c overrun%c\n", - __func__, - acm->ctrlin & ACM_CTRL_DCD ? '+' : '-', - acm->ctrlin & ACM_CTRL_DSR ? '+' : '-', - acm->ctrlin & ACM_CTRL_BRK ? '+' : '-', - acm->ctrlin & ACM_CTRL_RI ? '+' : '-', - acm->ctrlin & ACM_CTRL_FRAMING ? '+' : '-', - acm->ctrlin & ACM_CTRL_PARITY ? '+' : '-', - acm->ctrlin & ACM_CTRL_OVERRUN ? '+' : '-'); - break; + break; default: dev_dbg(&acm->control->dev, @@ -796,6 +808,72 @@ static int set_serial_info(struct acm *acm, return retval; } +static int wait_serial_change(struct acm *acm, unsigned long arg) +{ + int rv = 0; + DECLARE_WAITQUEUE(wait, current); + struct async_icount old, new; + + if (arg & (TIOCM_DSR | TIOCM_RI | TIOCM_CD )) + return -EINVAL; + do { + spin_lock_irq(&acm->read_lock); + old = acm->oldcount; + new = acm->iocount; + acm->oldcount = new; + spin_unlock_irq(&acm->read_lock); + + if ((arg & TIOCM_DSR) && + old.dsr != new.dsr) + break; + if ((arg & TIOCM_CD) && + old.dcd != new.dcd) + break; + if ((arg & TIOCM_RI) && + old.rng != new.rng) + break; + + add_wait_queue(&acm->wioctl, &wait); + set_current_state(TASK_INTERRUPTIBLE); + schedule(); + remove_wait_queue(&acm->wioctl, &wait); + if (acm->disconnected) { + if (arg & TIOCM_CD) + break; + else + rv = -ENODEV; + } else { + if (signal_pending(current)) + rv = -ERESTARTSYS; + } + } while (!rv); + + + + return rv; +} + +static int get_serial_usage(struct acm *acm, + struct serial_icounter_struct __user *count) +{ + struct serial_icounter_struct icount; + int rv = 0; + + memset(&icount, 0, sizeof(icount)); + icount.dsr = acm->iocount.dsr; + icount.rng = acm->iocount.rng; + icount.dcd = acm->iocount.dcd; + icount.frame = acm->iocount.frame; + icount.overrun = acm->iocount.overrun; + icount.parity = acm->iocount.parity; + icount.brk = acm->iocount.brk; + + if (copy_to_user(count, &icount, sizeof(icount)) > 0) + rv = -EFAULT; + + return rv; +} + static int acm_tty_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg) { @@ -809,6 +887,18 @@ static int acm_tty_ioctl(struct tty_struct *tty, case TIOCSSERIAL: rv = set_serial_info(acm, (struct serial_struct __user *) arg); break; + case TIOCMIWAIT: + rv = usb_autopm_get_interface(acm->control); + if (rv < 0) { + rv = -EIO; + break; + } + rv = wait_serial_change(acm, arg); + usb_autopm_put_interface(acm->control); + break; + case TIOCGICOUNT: + rv = get_serial_usage(acm, (struct serial_icounter_struct __user *) arg); + break; } return rv; @@ -1167,6 +1257,7 @@ made_compressed_probe: acm->readsize = readsize; acm->rx_buflimit = num_rx_buf; INIT_WORK(&acm->work, acm_softint); + init_waitqueue_head(&acm->wioctl); spin_lock_init(&acm->write_lock); spin_lock_init(&acm->read_lock); mutex_init(&acm->mutex); @@ -1383,6 +1474,7 @@ static void acm_disconnect(struct usb_interface *intf) device_remove_file(&acm->control->dev, &dev_attr_iCountryCodeRelDate); } + wake_up_all(&acm->wioctl); device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities); usb_set_intfdata(acm->control, NULL); usb_set_intfdata(acm->data, NULL); diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h index 0f76e4af600e..e38dc785808f 100644 --- a/drivers/usb/class/cdc-acm.h +++ b/drivers/usb/class/cdc-acm.h @@ -106,6 +106,9 @@ struct acm { struct work_struct work; /* work queue entry for line discipline waking up */ unsigned int ctrlin; /* input control lines (DCD, DSR, RI, break, overruns) */ unsigned int ctrlout; /* output control lines (DTR, RTS) */ + struct async_icount iocount; /* counters for control line changes */ + struct async_icount oldcount; /* for comparison of counter */ + wait_queue_head_t wioctl; /* for ioctl */ unsigned int writesize; /* max packet size for the output bulk endpoint */ unsigned int readsize,ctrlsize; /* buffer sizes for freeing */ unsigned int minor; /* acm minor number */ diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index a6b2cabe7930..548d1996590f 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -651,10 +651,6 @@ void usb_destroy_configuration(struct usb_device *dev) * * hub-only!! ... and only in reset path, or usb_new_device() * (used by real hubs and virtual root hubs) - * - * NOTE: if this is a WUSB device and is not authorized, we skip the - * whole thing. A non-authorized USB device has no - * configurations. */ int usb_get_configuration(struct usb_device *dev) { @@ -666,8 +662,6 @@ int usb_get_configuration(struct usb_device *dev) struct usb_config_descriptor *desc; cfgno = 0; - if (dev->authorized == 0) /* Not really an error */ - goto out_not_authorized; result = -ENOMEM; if (ncfg > USB_MAXCONFIG) { dev_warn(ddev, "too many configurations: %d, " @@ -751,7 +745,6 @@ int usb_get_configuration(struct usb_device *dev) err: kfree(desc); -out_not_authorized: dev->descriptor.bNumConfigurations = cfgno; err2: if (result == -ENOMEM) diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index 47aade2a5e74..8d989b1d3dc5 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c @@ -839,7 +839,7 @@ int usb_register_device_driver(struct usb_device_driver *new_udriver, return -ENODEV; new_udriver->drvwrap.for_devices = 1; - new_udriver->drvwrap.driver.name = (char *) new_udriver->name; + new_udriver->drvwrap.driver.name = new_udriver->name; new_udriver->drvwrap.driver.bus = &usb_bus_type; new_udriver->drvwrap.driver.probe = usb_probe_device; new_udriver->drvwrap.driver.remove = usb_unbind_device; @@ -900,7 +900,7 @@ int usb_register_driver(struct usb_driver *new_driver, struct module *owner, return -ENODEV; new_driver->drvwrap.for_devices = 0; - new_driver->drvwrap.driver.name = (char *) new_driver->name; + new_driver->drvwrap.driver.name = new_driver->name; new_driver->drvwrap.driver.bus = &usb_bus_type; new_driver->drvwrap.driver.probe = usb_probe_interface; new_driver->drvwrap.driver.remove = usb_unbind_interface; diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index dfe9d0f22978..d59d99347d54 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c @@ -282,6 +282,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) if (retval != 0) goto unmap_registers; + device_wakeup_enable(hcd->self.controller); if (pci_dev_run_wake(dev)) pm_runtime_put_noidle(&dev->dev); diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index 6bffb8c87bc9..6297c9e50de2 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -44,6 +44,7 @@ #include <linux/usb.h> #include <linux/usb/hcd.h> +#include <linux/usb/phy.h> #include "usb.h" @@ -2588,6 +2589,24 @@ int usb_add_hcd(struct usb_hcd *hcd, int retval; struct usb_device *rhdev; + if (IS_ENABLED(CONFIG_USB_PHY) && !hcd->phy) { + struct usb_phy *phy = usb_get_phy_dev(hcd->self.controller, 0); + + if (IS_ERR(phy)) { + retval = PTR_ERR(phy); + if (retval == -EPROBE_DEFER) + return retval; + } else { + retval = usb_phy_init(phy); + if (retval) { + usb_put_phy(phy); + return retval; + } + hcd->phy = phy; + hcd->remove_phy = 1; + } + } + dev_info(hcd->self.controller, "%s\n", hcd->product_desc); /* Keep old behaviour if authorized_default is not in [0, 1]. */ @@ -2603,7 +2622,7 @@ int usb_add_hcd(struct usb_hcd *hcd, */ if ((retval = hcd_buffer_create(hcd)) != 0) { dev_dbg(hcd->self.controller, "pool alloc failed\n"); - return retval; + goto err_remove_phy; } if ((retval = usb_register_bus(&hcd->self)) < 0) @@ -2693,12 +2712,6 @@ int usb_add_hcd(struct usb_hcd *hcd, if (hcd->uses_new_polling && HCD_POLL_RH(hcd)) usb_hcd_poll_rh_status(hcd); - /* - * Host controllers don't generate their own wakeup requests; - * they only forward requests from the root hub. Therefore - * controllers should always be enabled for remote wakeup. - */ - device_wakeup_enable(hcd->self.controller); return retval; error_create_attr_group: @@ -2734,6 +2747,12 @@ err_allocate_root_hub: usb_deregister_bus(&hcd->self); err_register_bus: hcd_buffer_destroy(hcd); +err_remove_phy: + if (hcd->remove_phy && hcd->phy) { + usb_phy_shutdown(hcd->phy); + usb_put_phy(hcd->phy); + hcd->phy = NULL; + } return retval; } EXPORT_SYMBOL_GPL(usb_add_hcd); @@ -2806,6 +2825,11 @@ void usb_remove_hcd(struct usb_hcd *hcd) usb_put_dev(hcd->self.root_hub); usb_deregister_bus(&hcd->self); hcd_buffer_destroy(hcd); + if (hcd->remove_phy && hcd->phy) { + usb_phy_shutdown(hcd->phy); + usb_put_phy(hcd->phy); + hcd->phy = NULL; + } } EXPORT_SYMBOL_GPL(usb_remove_hcd); diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index bd9dc3504b51..162e94dbed53 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -2235,17 +2235,13 @@ static int usb_enumerate_device(struct usb_device *udev) return err; } } - if (udev->wusb == 1 && udev->authorized == 0) { - udev->product = kstrdup("n/a (unauthorized)", GFP_KERNEL); - udev->manufacturer = kstrdup("n/a (unauthorized)", GFP_KERNEL); - udev->serial = kstrdup("n/a (unauthorized)", GFP_KERNEL); - } else { - /* read the standard strings and cache them if present */ - udev->product = usb_cache_string(udev, udev->descriptor.iProduct); - udev->manufacturer = usb_cache_string(udev, - udev->descriptor.iManufacturer); - udev->serial = usb_cache_string(udev, udev->descriptor.iSerialNumber); - } + + /* read the standard strings and cache them if present */ + udev->product = usb_cache_string(udev, udev->descriptor.iProduct); + udev->manufacturer = usb_cache_string(udev, + udev->descriptor.iManufacturer); + udev->serial = usb_cache_string(udev, udev->descriptor.iSerialNumber); + err = usb_enumerate_device_otg(udev); if (err < 0) return err; @@ -2427,16 +2423,6 @@ int usb_deauthorize_device(struct usb_device *usb_dev) usb_dev->authorized = 0; usb_set_configuration(usb_dev, -1); - kfree(usb_dev->product); - usb_dev->product = kstrdup("n/a (unauthorized)", GFP_KERNEL); - kfree(usb_dev->manufacturer); - usb_dev->manufacturer = kstrdup("n/a (unauthorized)", GFP_KERNEL); - kfree(usb_dev->serial); - usb_dev->serial = kstrdup("n/a (unauthorized)", GFP_KERNEL); - - usb_destroy_configuration(usb_dev); - usb_dev->descriptor.bNumConfigurations = 0; - out_unauthorized: usb_unlock_device(usb_dev); return 0; @@ -2464,17 +2450,7 @@ int usb_authorize_device(struct usb_device *usb_dev) goto error_device_descriptor; } - kfree(usb_dev->product); - usb_dev->product = NULL; - kfree(usb_dev->manufacturer); - usb_dev->manufacturer = NULL; - kfree(usb_dev->serial); - usb_dev->serial = NULL; - usb_dev->authorized = 1; - result = usb_enumerate_device(usb_dev); - if (result < 0) - goto error_enumerate; /* Choose and set the configuration. This registers the interfaces * with the driver core and lets interface drivers bind to them. */ @@ -2490,7 +2466,6 @@ int usb_authorize_device(struct usb_device *usb_dev) } dev_info(&usb_dev->dev, "authorized to connect\n"); -error_enumerate: error_device_descriptor: usb_autosuspend_device(usb_dev); error_autoresume: @@ -2523,6 +2498,21 @@ static unsigned hub_is_wusb(struct usb_hub *hub) #define HUB_LONG_RESET_TIME 200 #define HUB_RESET_TIMEOUT 800 +/* + * "New scheme" enumeration causes an extra state transition to be + * exposed to an xhci host and causes USB3 devices to receive control + * commands in the default state. This has been seen to cause + * enumeration failures, so disable this enumeration scheme for USB3 + * devices. + */ +static bool use_new_scheme(struct usb_device *udev, int retry) +{ + if (udev->speed == USB_SPEED_SUPER) + return false; + + return USE_NEW_SCHEME(retry); +} + static int hub_port_reset(struct usb_hub *hub, int port1, struct usb_device *udev, unsigned int delay, bool warm); @@ -3981,6 +3971,20 @@ static void hub_set_initial_usb2_lpm_policy(struct usb_device *udev) } } +static int hub_enable_device(struct usb_device *udev) +{ + struct usb_hcd *hcd = bus_to_hcd(udev->bus); + + if (!hcd->driver->enable_device) + return 0; + if (udev->state == USB_STATE_ADDRESS) + return 0; + if (udev->state != USB_STATE_DEFAULT) + return -EINVAL; + + return hcd->driver->enable_device(hcd, udev); +} + /* Reset device, (re)assign address, get device descriptor. * Device connection must be stable, no more debouncing needed. * Returns device in USB_STATE_ADDRESS, except on error. @@ -4093,7 +4097,7 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1, * this area, and this is how Linux has done it for ages. * Change it cautiously. * - * NOTE: If USE_NEW_SCHEME() is true we will start by issuing + * NOTE: If use_new_scheme() is true we will start by issuing * a 64-byte GET_DESCRIPTOR request. This is what Windows does, * so it may help with some non-standards-compliant devices. * Otherwise we start with SET_ADDRESS and then try to read the @@ -4101,10 +4105,17 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1, * value. */ for (i = 0; i < GET_DESCRIPTOR_TRIES; (++i, msleep(100))) { - if (USE_NEW_SCHEME(retry_counter) && !(hcd->driver->flags & HCD_USB3)) { + bool did_new_scheme = false; + + if (use_new_scheme(udev, retry_counter)) { struct usb_device_descriptor *buf; int r = 0; + did_new_scheme = true; + retval = hub_enable_device(udev); + if (retval < 0) + goto fail; + #define GET_DESCRIPTOR_BUFSIZE 64 buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); if (!buf) { @@ -4193,7 +4204,11 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1, * - read ep0 maxpacket even for high and low speed, */ msleep(10); - if (USE_NEW_SCHEME(retry_counter) && !(hcd->driver->flags & HCD_USB3)) + /* use_new_scheme() checks the speed which may have + * changed since the initial look so we cache the result + * in did_new_scheme + */ + if (did_new_scheme) break; } diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index 12924dbfdc2c..8f37063c0a49 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -98,9 +98,6 @@ static const struct usb_device_id usb_quirk_list[] = { /* Alcor Micro Corp. Hub */ { USB_DEVICE(0x058f, 0x9254), .driver_info = USB_QUIRK_RESET_RESUME }, - /* MicroTouch Systems touchscreen */ - { USB_DEVICE(0x0596, 0x051e), .driver_info = USB_QUIRK_RESET_RESUME }, - /* appletouch */ { USB_DEVICE(0x05ac, 0x021a), .driver_info = USB_QUIRK_RESET_RESUME }, diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c index e62208356c89..07c58af6b5c0 100644 --- a/drivers/usb/core/urb.c +++ b/drivers/usb/core/urb.c @@ -492,9 +492,9 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags) /* too small? */ switch (dev->speed) { case USB_SPEED_WIRELESS: - if (urb->interval < 6) + if ((urb->interval < 6) + && (xfertype == USB_ENDPOINT_XFER_INT)) return -EINVAL; - break; default: if (urb->interval <= 0) return -EINVAL; diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c index 31443aeedcdb..665686e7c8cd 100644 --- a/drivers/usb/dwc3/dwc3-pci.c +++ b/drivers/usb/dwc3/dwc3-pci.c @@ -182,7 +182,7 @@ static void dwc3_pci_remove(struct pci_dev *pci) pci_disable_device(pci); } -static DEFINE_PCI_DEVICE_TABLE(dwc3_pci_id_table) = { +static const struct pci_device_id dwc3_pci_id_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_SYNOPSYS, PCI_DEVICE_ID_SYNOPSYS_HAPSUSB3), diff --git a/drivers/usb/gadget/amd5536udc.c b/drivers/usb/gadget/amd5536udc.c index 54a1e2954cea..f0ff4a675e9d 100644 --- a/drivers/usb/gadget/amd5536udc.c +++ b/drivers/usb/gadget/amd5536udc.c @@ -3338,7 +3338,7 @@ static int udc_remote_wakeup(struct udc *dev) } /* PCI device parameters */ -static DEFINE_PCI_DEVICE_TABLE(pci_id) = { +static const struct pci_device_id pci_id[] = { { PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x2096), .class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe, diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c index 807127d56fa3..6315ee698d4d 100644 --- a/drivers/usb/gadget/fsl_qe_udc.c +++ b/drivers/usb/gadget/fsl_qe_udc.c @@ -2717,7 +2717,7 @@ MODULE_DEVICE_TABLE(of, qe_udc_match); static struct platform_driver udc_driver = { .driver = { - .name = (char *)driver_name, + .name = driver_name, .owner = THIS_MODULE, .of_match_table = qe_udc_match, }, diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index 36ac7cfba91d..b7dea4eec32c 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c @@ -2666,7 +2666,7 @@ static struct platform_driver udc_driver = { .suspend = fsl_udc_suspend, .resume = fsl_udc_resume, .driver = { - .name = (char *)driver_name, + .name = driver_name, .owner = THIS_MODULE, /* udc suspend/resume called from OTG driver */ .suspend = fsl_udc_otg_suspend, diff --git a/drivers/usb/gadget/pch_udc.c b/drivers/usb/gadget/pch_udc.c index 32d5e923750b..78a3d9289816 100644 --- a/drivers/usb/gadget/pch_udc.c +++ b/drivers/usb/gadget/pch_udc.c @@ -3210,7 +3210,7 @@ finished: return retval; } -static DEFINE_PCI_DEVICE_TABLE(pch_udc_pcidev_id) = { +static const struct pci_device_id pch_udc_pcidev_id[] = { { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EG20T_UDC), .class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe, diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index 01e879ef3654..7530468c9a4f 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -2,8 +2,6 @@ # Makefile for USB Host Controller Drivers # -ccflags-$(CONFIG_USB_DEBUG) := -DDEBUG - # tell define_trace.h where to find the xhci trace header CFLAGS_xhci-trace.o := -I$(src) diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c index 284f8417eae5..ec9f7b75d497 100644 --- a/drivers/usb/host/ehci-atmel.c +++ b/drivers/usb/host/ehci-atmel.c @@ -153,6 +153,7 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev) retval = usb_add_hcd(hcd, irq, IRQF_SHARED); if (retval) goto fail_add_hcd; + device_wakeup_enable(hcd->self.controller); return retval; diff --git a/drivers/usb/host/ehci-dbg.c b/drivers/usb/host/ehci-dbg.c index 4a9c2edbcb2b..524cbf26d992 100644 --- a/drivers/usb/host/ehci-dbg.c +++ b/drivers/usb/host/ehci-dbg.c @@ -18,7 +18,7 @@ /* this file is part of ehci-hcd.c */ -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG /* check the values in the HCSPARAMS register * (host controller _Structural_ parameters) @@ -62,7 +62,7 @@ static inline void dbg_hcs_params (struct ehci_hcd *ehci, char *label) {} #endif -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG /* check the values in the HCCPARAMS register * (host controller _Capability_ parameters) @@ -101,7 +101,7 @@ static inline void dbg_hcc_params (struct ehci_hcd *ehci, char *label) {} #endif -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG static void __maybe_unused dbg_qtd (const char *label, struct ehci_hcd *ehci, struct ehci_qtd *qtd) @@ -301,7 +301,7 @@ static inline int __maybe_unused dbg_port_buf (char *buf, unsigned len, const char *label, int port, u32 status) { return 0; } -#endif /* DEBUG || CONFIG_DYNAMIC_DEBUG */ +#endif /* CONFIG_DYNAMIC_DEBUG */ /* functions have the "wrong" filename when they're output... */ #define dbg_status(ehci, label, status) { \ @@ -818,7 +818,7 @@ static ssize_t fill_registers_buffer(struct debug_buffer *buf) #ifdef CONFIG_PCI /* EHCI 0.96 and later may have "extended capabilities" */ - if (hcd->self.controller->bus == &pci_bus_type) { + if (dev_is_pci(hcd->self.controller)) { struct pci_dev *pdev; u32 offset, cap, cap2; unsigned count = 256/4; diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c index e97c198e052f..d1d8c47777c5 100644 --- a/drivers/usb/host/ehci-exynos.c +++ b/drivers/usb/host/ehci-exynos.c @@ -166,6 +166,7 @@ skip_phy: dev_err(&pdev->dev, "Failed to add USB HCD\n"); goto fail_add_hcd; } + device_wakeup_enable(hcd->self.controller); platform_set_drvdata(pdev, hcd); diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c index a06d5012201f..854a68fa59a6 100644 --- a/drivers/usb/host/ehci-fsl.c +++ b/drivers/usb/host/ehci-fsl.c @@ -138,6 +138,7 @@ static int usb_hcd_fsl_probe(const struct hc_driver *driver, retval = usb_add_hcd(hcd, irq, IRQF_SHARED); if (retval != 0) goto err4; + device_wakeup_enable(hcd->self.controller); #ifdef CONFIG_USB_OTG if (pdata->operating_mode == FSL_USB2_DR_OTG) { @@ -413,7 +414,7 @@ static int ehci_fsl_mpc512x_drv_suspend(struct device *dev) struct fsl_usb2_platform_data *pdata = dev_get_platdata(dev); u32 tmp; -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG u32 mode = ehci_readl(ehci, hcd->regs + FSL_SOC_USB_USBMODE); mode &= USBMODE_CM_MASK; tmp = ehci_readl(ehci, hcd->regs + 0x140); /* usbcmd */ diff --git a/drivers/usb/host/ehci-grlib.c b/drivers/usb/host/ehci-grlib.c index b52a66ce92e8..054792c56271 100644 --- a/drivers/usb/host/ehci-grlib.c +++ b/drivers/usb/host/ehci-grlib.c @@ -140,6 +140,7 @@ static int ehci_hcd_grlib_probe(struct platform_device *op) if (rv) goto err_ioremap; + device_wakeup_enable(hcd->self.controller); return 0; err_ioremap: diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index e8ba4c44223a..471142725ffe 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -71,7 +71,6 @@ static const char hcd_name [] = "ehci_hcd"; -#undef VERBOSE_DEBUG #undef EHCI_URB_TRACE /* magic numbers that can affect system performance */ @@ -714,13 +713,6 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd) cmd = ehci_readl(ehci, &ehci->regs->command); bh = 0; -#ifdef VERBOSE_DEBUG - /* unrequested/ignored: Frame List Rollover */ - dbg_status (ehci, "irq", status); -#endif - - /* INT, ERR, and IAA interrupt rates can be throttled */ - /* normal [4.15.1.2] or error [4.15.1.1] completion */ if (likely ((status & (STS_INT|STS_ERR)) != 0)) { if (likely ((status & STS_ERR) == 0)) @@ -1320,7 +1312,7 @@ static int __init ehci_hcd_init(void) sizeof(struct ehci_qh), sizeof(struct ehci_qtd), sizeof(struct ehci_itd), sizeof(struct ehci_sitd)); -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG ehci_debug_root = debugfs_create_dir("ehci", usb_debug_root); if (!ehci_debug_root) { retval = -ENOENT; @@ -1369,7 +1361,7 @@ clean2: platform_driver_unregister(&PLATFORM_DRIVER); clean0: #endif -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG debugfs_remove(ehci_debug_root); ehci_debug_root = NULL; err_debug: @@ -1393,7 +1385,7 @@ static void __exit ehci_hcd_cleanup(void) #ifdef PS3_SYSTEM_BUS_DRIVER ps3_ehci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); #endif -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG debugfs_remove(ehci_debug_root); #endif clear_bit(USB_EHCI_LOADED, &usb_hcds_loaded); diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 835fc0844a66..47b858fc50b2 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -1114,10 +1114,8 @@ static int ehci_hub_control ( if (test_bit(wIndex, &ehci->port_c_suspend)) status |= USB_PORT_STAT_C_SUSPEND << 16; -#ifndef VERBOSE_DEBUG - if (status & ~0xffff) /* only if wPortChange is interesting */ -#endif - dbg_port (ehci, "GetStatus", wIndex + 1, temp); + if (status & ~0xffff) /* only if wPortChange is interesting */ + dbg_port(ehci, "GetStatus", wIndex + 1, temp); put_unaligned_le32(status, buf); break; case SetHubFeature: diff --git a/drivers/usb/host/ehci-mv.c b/drivers/usb/host/ehci-mv.c index 417c10da9450..bd61612a7251 100644 --- a/drivers/usb/host/ehci-mv.c +++ b/drivers/usb/host/ehci-mv.c @@ -178,7 +178,7 @@ static int mv_ehci_probe(struct platform_device *pdev) ehci_mv->phy_regs = devm_ioremap(&pdev->dev, r->start, resource_size(r)); - if (ehci_mv->phy_regs == 0) { + if (!ehci_mv->phy_regs) { dev_err(&pdev->dev, "failed to map phy I/O memory\n"); retval = -EFAULT; goto err_put_hcd; @@ -257,6 +257,7 @@ static int mv_ehci_probe(struct platform_device *pdev) "failed to add hcd with err %d\n", retval); goto err_set_vbus; } + device_wakeup_enable(hcd->self.controller); } if (pdata->private_init) diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c index 0528dc4526c8..dbe5e4eea08d 100644 --- a/drivers/usb/host/ehci-mxc.c +++ b/drivers/usb/host/ehci-mxc.c @@ -155,6 +155,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev) if (ret) goto err_add; + device_wakeup_enable(hcd->self.controller); return 0; err_add: diff --git a/drivers/usb/host/ehci-octeon.c b/drivers/usb/host/ehci-octeon.c index 4c528b2c033a..c4ad7ed6b3f8 100644 --- a/drivers/usb/host/ehci-octeon.c +++ b/drivers/usb/host/ehci-octeon.c @@ -158,6 +158,7 @@ static int ehci_octeon_drv_probe(struct platform_device *pdev) dev_dbg(&pdev->dev, "failed to add hcd with err %d\n", ret); goto err3; } + device_wakeup_enable(hcd->self.controller); platform_set_drvdata(pdev, hcd); diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c index 6fa82d6b7661..a24720beb39d 100644 --- a/drivers/usb/host/ehci-omap.c +++ b/drivers/usb/host/ehci-omap.c @@ -215,6 +215,7 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev) dev_err(dev, "failed to add hcd with err %d\n", ret); goto err_pm_runtime; } + device_wakeup_enable(hcd->self.controller); /* * Bring PHYs out of reset for non PHY modes. diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c index 2ba76730e650..aa8b92bf5361 100644 --- a/drivers/usb/host/ehci-orion.c +++ b/drivers/usb/host/ehci-orion.c @@ -252,6 +252,7 @@ static int ehci_orion_drv_probe(struct platform_device *pdev) if (err) goto err4; + device_wakeup_enable(hcd->self.controller); return 0; err4: diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index 7f30b7168d5a..01536cfd361d 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -132,6 +132,7 @@ static int ehci_platform_probe(struct platform_device *dev) if (err) goto err_put_hcd; + device_wakeup_enable(hcd->self.controller); platform_set_drvdata(dev, hcd); return err; diff --git a/drivers/usb/host/ehci-pmcmsp.c b/drivers/usb/host/ehci-pmcmsp.c index 893b707f0000..af3974a5e7c2 100644 --- a/drivers/usb/host/ehci-pmcmsp.c +++ b/drivers/usb/host/ehci-pmcmsp.c @@ -210,8 +210,10 @@ int usb_hcd_msp_probe(const struct hc_driver *driver, retval = usb_add_hcd(hcd, res->start, IRQF_SHARED); - if (retval == 0) + if (retval == 0) { + device_wakeup_enable(hcd->self.controller); return 0; + } usb_remove_hcd(hcd); err3: diff --git a/drivers/usb/host/ehci-ppc-of.c b/drivers/usb/host/ehci-ppc-of.c index 875d2fcc9e0e..b0965eb6c0db 100644 --- a/drivers/usb/host/ehci-ppc-of.c +++ b/drivers/usb/host/ehci-ppc-of.c @@ -169,6 +169,7 @@ static int ehci_hcd_ppc_of_probe(struct platform_device *op) if (rv) goto err_ioremap; + device_wakeup_enable(hcd->self.controller); return 0; err_ioremap: diff --git a/drivers/usb/host/ehci-ps3.c b/drivers/usb/host/ehci-ps3.c index 8188542ba17e..7934ff9b35e1 100644 --- a/drivers/usb/host/ehci-ps3.c +++ b/drivers/usb/host/ehci-ps3.c @@ -189,6 +189,7 @@ static int ps3_ehci_probe(struct ps3_system_bus_device *dev) goto fail_add_hcd; } + device_wakeup_enable(hcd->self.controller); return result; fail_add_hcd: diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index db05bd8ee9d5..54f5332f814d 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c @@ -168,13 +168,13 @@ static void ehci_clear_tt_buffer(struct ehci_hcd *ehci, struct ehci_qh *qh, * Note: this routine is never called for Isochronous transfers. */ if (urb->dev->tt && !usb_pipeint(urb->pipe) && !qh->clearing_tt) { -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG struct usb_device *tt = urb->dev->tt->hub; dev_dbg(&tt->dev, "clear tt buffer port %d, a%d ep%d t%08x\n", urb->dev->ttport, urb->dev->devnum, usb_pipeendpoint(urb->pipe), token); -#endif /* DEBUG || CONFIG_DYNAMIC_DEBUG */ +#endif /* CONFIG_DYNAMIC_DEBUG */ if (!ehci_is_TDI(ehci) || urb->dev->tt->hub != ehci_to_hcd(ehci)->self.root_hub) { diff --git a/drivers/usb/host/ehci-sead3.c b/drivers/usb/host/ehci-sead3.c index 8a734498079b..cf1267673868 100644 --- a/drivers/usb/host/ehci-sead3.c +++ b/drivers/usb/host/ehci-sead3.c @@ -126,6 +126,7 @@ static int ehci_hcd_sead3_drv_probe(struct platform_device *pdev) IRQF_SHARED); if (ret == 0) { platform_set_drvdata(pdev, hcd); + device_wakeup_enable(hcd->self.controller); return ret; } diff --git a/drivers/usb/host/ehci-sh.c b/drivers/usb/host/ehci-sh.c index dc899eb2b861..9b9b9f5b016e 100644 --- a/drivers/usb/host/ehci-sh.c +++ b/drivers/usb/host/ehci-sh.c @@ -151,6 +151,7 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Failed to add hcd"); goto fail_add_hcd; } + device_wakeup_enable(hcd->self.controller); priv->hcd = hcd; platform_set_drvdata(pdev, priv); diff --git a/drivers/usb/host/ehci-spear.c b/drivers/usb/host/ehci-spear.c index ee6f9ffaa0e7..8bd915b2ae8c 100644 --- a/drivers/usb/host/ehci-spear.c +++ b/drivers/usb/host/ehci-spear.c @@ -130,6 +130,7 @@ static int spear_ehci_hcd_drv_probe(struct platform_device *pdev) if (retval) goto err_stop_ehci; + device_wakeup_enable(hcd->self.controller); return retval; err_stop_ehci: diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c index b9fd0396011e..a8f4471dae7b 100644 --- a/drivers/usb/host/ehci-tegra.c +++ b/drivers/usb/host/ehci-tegra.c @@ -455,6 +455,7 @@ static int tegra_ehci_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Failed to add USB HCD\n"); goto cleanup_otg_set_host; } + device_wakeup_enable(hcd->self.controller); return err; diff --git a/drivers/usb/host/ehci-tilegx.c b/drivers/usb/host/ehci-tilegx.c index 67026ffbf9a8..f3713d32c9a1 100644 --- a/drivers/usb/host/ehci-tilegx.c +++ b/drivers/usb/host/ehci-tilegx.c @@ -170,6 +170,7 @@ static int ehci_hcd_tilegx_drv_probe(struct platform_device *pdev) ret = usb_add_hcd(hcd, pdata->irq, IRQF_SHARED); if (ret == 0) { platform_set_drvdata(pdev, hcd); + device_wakeup_enable(hcd->self.controller); return ret; } diff --git a/drivers/usb/host/ehci-w90x900.c b/drivers/usb/host/ehci-w90x900.c index cdad8438c02b..12c1a563c3f2 100644 --- a/drivers/usb/host/ehci-w90x900.c +++ b/drivers/usb/host/ehci-w90x900.c @@ -94,6 +94,7 @@ static int usb_w90x900_probe(const struct hc_driver *driver, if (retval != 0) goto err4; + device_wakeup_enable(hcd->self.controller); return retval; err4: iounmap(hcd->regs); diff --git a/drivers/usb/host/ehci-xilinx-of.c b/drivers/usb/host/ehci-xilinx-of.c index 95979f9f4381..3cd2efa4e678 100644 --- a/drivers/usb/host/ehci-xilinx-of.c +++ b/drivers/usb/host/ehci-xilinx-of.c @@ -191,8 +191,10 @@ static int ehci_hcd_xilinx_of_probe(struct platform_device *op) ehci->caps = hcd->regs + 0x100; rv = usb_add_hcd(hcd, irq, 0); - if (rv == 0) + if (rv == 0) { + device_wakeup_enable(hcd->self.controller); return 0; + } err_irq: usb_put_hcd(hcd); diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index e8f41c5e771b..c35a6e2b94e5 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -38,7 +38,7 @@ typedef __u16 __bitwise __hc16; #endif /* statistics can be kept for tuning/monitoring */ -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG #define EHCI_STATS #endif @@ -248,7 +248,7 @@ struct ehci_hcd { /* one per controller */ #endif /* debug files */ -#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) +#ifdef CONFIG_DYNAMIC_DEBUG struct dentry *debug_dir; #endif @@ -832,9 +832,9 @@ static inline u32 hc32_to_cpup (const struct ehci_hcd *ehci, const __hc32 *x) dev_warn(ehci_to_hcd(ehci)->self.controller , fmt , ## args) -#if !defined(DEBUG) && !defined(CONFIG_DYNAMIC_DEBUG) +#ifndef CONFIG_DYNAMIC_DEBUG #define STUB_DEBUG_FILES -#endif /* !DEBUG && !CONFIG_DYNAMIC_DEBUG */ +#endif /*-------------------------------------------------------------------------*/ diff --git a/drivers/usb/host/fhci-hcd.c b/drivers/usb/host/fhci-hcd.c index 0551c0af0fd1..1cf68eaf2ed8 100644 --- a/drivers/usb/host/fhci-hcd.c +++ b/drivers/usb/host/fhci-hcd.c @@ -754,6 +754,8 @@ static int of_fhci_probe(struct platform_device *ofdev) if (ret < 0) goto err_add_hcd; + device_wakeup_enable(hcd->self.controller); + fhci_dfs_create(fhci); return 0; diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c index 55486bd23cf1..98a89d16cc3e 100644 --- a/drivers/usb/host/fotg210-hcd.c +++ b/drivers/usb/host/fotg210-hcd.c @@ -56,12 +56,9 @@ static const char hcd_name[] = "fotg210_hcd"; -#undef VERBOSE_DEBUG #undef FOTG210_URB_TRACE -#ifdef DEBUG #define FOTG210_STATS -#endif /* magic numbers that can affect system performance */ #define FOTG210_TUNE_CERR 3 /* 0-3 qtd retries; 0 == don't stop */ @@ -107,14 +104,6 @@ MODULE_PARM_DESC(hird, "host initiated resume duration, +1 for each 75us"); #define fotg210_warn(fotg210, fmt, args...) \ dev_warn(fotg210_to_hcd(fotg210)->self.controller , fmt , ## args) -#ifdef VERBOSE_DEBUG -# define fotg210_vdbg fotg210_dbg -#else - static inline void fotg210_vdbg(struct fotg210_hcd *fotg210, ...) {} -#endif - -#ifdef DEBUG - /* check the values in the HCSPARAMS register * (host controller _Structural_ parameters) * see EHCI spec, Table 2-4 for each value @@ -129,13 +118,6 @@ static void dbg_hcs_params(struct fotg210_hcd *fotg210, char *label) HCS_N_PORTS(params) ); } -#else - -static inline void dbg_hcs_params(struct fotg210_hcd *fotg210, char *label) {} - -#endif - -#ifdef DEBUG /* check the values in the HCCPARAMS register * (host controller _Capability_ parameters) @@ -152,13 +134,6 @@ static void dbg_hcc_params(struct fotg210_hcd *fotg210, char *label) HCC_PGM_FRAMELISTLEN(params) ? "256/512/1024" : "1024", HCC_CANPARK(params) ? " park" : ""); } -#else - -static inline void dbg_hcc_params(struct fotg210_hcd *fotg210, char *label) {} - -#endif - -#ifdef DEBUG static void __maybe_unused dbg_qtd(const char *label, struct fotg210_hcd *fotg210, struct fotg210_qtd *qtd) @@ -272,8 +247,8 @@ dbg_command_buf(char *buf, unsigned len, const char *label, u32 command) ); } -static int -dbg_port_buf(char *buf, unsigned len, const char *label, int port, u32 status) +static char +*dbg_port_buf(char *buf, unsigned len, const char *label, int port, u32 status) { char *sig; @@ -293,7 +268,7 @@ dbg_port_buf(char *buf, unsigned len, const char *label, int port, u32 status) break; } - return scnprintf(buf, len, + scnprintf(buf, len, "%s%sport:%d status %06x %d " "sig=%s%s%s%s%s%s%s%s", label, label[0] ? " " : "", port, status, @@ -306,31 +281,9 @@ dbg_port_buf(char *buf, unsigned len, const char *label, int port, u32 status) (status & PORT_PE) ? " PE" : "", (status & PORT_CSC) ? " CSC" : "", (status & PORT_CONNECT) ? " CONNECT" : ""); + return buf; } -#else -static inline void __maybe_unused -dbg_qh(char *label, struct fotg210_hcd *fotg210, struct fotg210_qh *qh) -{} - -static inline int __maybe_unused -dbg_status_buf(char *buf, unsigned len, const char *label, u32 status) -{ return 0; } - -static inline int __maybe_unused -dbg_command_buf(char *buf, unsigned len, const char *label, u32 command) -{ return 0; } - -static inline int __maybe_unused -dbg_intr_buf(char *buf, unsigned len, const char *label, u32 enable) -{ return 0; } - -static inline int __maybe_unused -dbg_port_buf(char *buf, unsigned len, const char *label, int port, u32 status) -{ return 0; } - -#endif /* DEBUG */ - /* functions have the "wrong" filename when they're output... */ #define dbg_status(fotg210, label, status) { \ char _buf[80]; \ @@ -346,19 +299,11 @@ dbg_port_buf(char *buf, unsigned len, const char *label, int port, u32 status) #define dbg_port(fotg210, label, port, status) { \ char _buf[80]; \ - dbg_port_buf(_buf, sizeof(_buf), label, port, status); \ - fotg210_dbg(fotg210, "%s\n", _buf); \ + fotg210_dbg(fotg210, "%s\n", dbg_port_buf(_buf, sizeof(_buf), label, port, status) ); \ } /*-------------------------------------------------------------------------*/ -#ifdef STUB_DEBUG_FILES - -static inline void create_debug_files(struct fotg210_hcd *bus) { } -static inline void remove_debug_files(struct fotg210_hcd *bus) { } - -#else - /* troubleshooting help: expose state in debugfs */ static int debug_async_open(struct inode *, struct file *); @@ -954,7 +899,6 @@ static inline void remove_debug_files(struct fotg210_hcd *fotg210) debugfs_remove_recursive(fotg210->debug_dir); } -#endif /* STUB_DEBUG_FILES */ /*-------------------------------------------------------------------------*/ /* @@ -1398,7 +1342,7 @@ static void fotg210_iaa_watchdog(struct fotg210_hcd *fotg210) &fotg210->regs->status); } - fotg210_vdbg(fotg210, "IAA watchdog: status %x cmd %x\n", + fotg210_dbg(fotg210, "IAA watchdog: status %x cmd %x\n", status, cmd); end_unlink_async(fotg210); } @@ -1810,10 +1754,8 @@ static int fotg210_hub_control( if (test_bit(wIndex, &fotg210->port_c_suspend)) status |= USB_PORT_STAT_C_SUSPEND << 16; -#ifndef VERBOSE_DEBUG - if (status & ~0xffff) /* only if wPortChange is interesting */ -#endif - dbg_port(fotg210, "GetStatus", wIndex + 1, temp); + if (status & ~0xffff) /* only if wPortChange is interesting */ + dbg_port(fotg210, "GetStatus", wIndex + 1, temp); put_unaligned_le32(status, buf); break; case SetHubFeature: @@ -1856,7 +1798,7 @@ static int fotg210_hub_control( * which can be fine if this root hub has a * transaction translator built in. */ - fotg210_vdbg(fotg210, "port %d reset\n", wIndex + 1); + fotg210_dbg(fotg210, "port %d reset\n", wIndex + 1); temp |= PORT_RESET; temp &= ~PORT_PE; @@ -2274,13 +2216,12 @@ static void fotg210_clear_tt_buffer(struct fotg210_hcd *fotg210, * Note: this routine is never called for Isochronous transfers. */ if (urb->dev->tt && !usb_pipeint(urb->pipe) && !qh->clearing_tt) { -#ifdef DEBUG struct usb_device *tt = urb->dev->tt->hub; dev_dbg(&tt->dev, "clear tt buffer port %d, a%d ep%d t%08x\n", urb->dev->ttport, urb->dev->devnum, usb_pipeendpoint(urb->pipe), token); -#endif /* DEBUG */ + if (urb->dev->tt->hub != fotg210_to_hcd(fotg210)->self.root_hub) { if (usb_hub_clear_tt_buffer(urb) == 0) @@ -2341,7 +2282,7 @@ static int qtd_copy_status( status = -EPROTO; } - fotg210_vdbg(fotg210, + fotg210_dbg(fotg210, "dev%d ep%d%s qtd token %08x --> status %d\n", usb_pipedevice(urb->pipe), usb_pipeendpoint(urb->pipe), @@ -3583,11 +3524,9 @@ periodic_usecs(struct fotg210_hcd *fotg210, unsigned frame, unsigned uframe) break; } } -#ifdef DEBUG if (usecs > fotg210->uframe_periodic_max) fotg210_err(fotg210, "uframe %d sched overrun: %d usecs\n", frame * 8 + uframe, usecs); -#endif return usecs; } @@ -4646,7 +4585,7 @@ static void itd_link_urb( if (unlikely(list_empty(&stream->td_list))) { fotg210_to_hcd(fotg210)->self.bandwidth_allocated += stream->bandwidth; - fotg210_vdbg(fotg210, + fotg210_dbg(fotg210, "schedule devp %s ep%d%s-iso period %d start %d.%d\n", urb->dev->devpath, stream->bEndpointAddress & 0x0f, (stream->bEndpointAddress & USB_DIR_IN) ? "in" : "out", @@ -4779,7 +4718,7 @@ static bool itd_complete(struct fotg210_hcd *fotg210, struct fotg210_itd *itd) if (unlikely(list_is_singular(&stream->td_list))) { fotg210_to_hcd(fotg210)->self.bandwidth_allocated -= stream->bandwidth; - fotg210_vdbg(fotg210, + fotg210_dbg(fotg210, "deschedule devp %s ep%d%s-iso\n", dev->devpath, stream->bEndpointAddress & 0x0f, (stream->bEndpointAddress & USB_DIR_IN) ? "in" : "out"); @@ -5444,10 +5383,8 @@ static irqreturn_t fotg210_irq(struct usb_hcd *hcd) cmd = fotg210_readl(fotg210, &fotg210->regs->command); bh = 0; -#ifdef VERBOSE_DEBUG /* unrequested/ignored: Frame List Rollover */ dbg_status(fotg210, "irq", status); -#endif /* INT, ERR, and IAA interrupt rates can be throttled */ @@ -5952,6 +5889,7 @@ static int fotg210_hcd_probe(struct platform_device *pdev) dev_err(dev, "failed to add hcd with err %d\n", retval); goto fail_add_hcd; } + device_wakeup_enable(hcd->self.controller); return retval; @@ -6013,13 +5951,11 @@ static int __init fotg210_hcd_init(void) sizeof(struct fotg210_qh), sizeof(struct fotg210_qtd), sizeof(struct fotg210_itd)); -#ifdef DEBUG fotg210_debug_root = debugfs_create_dir("fotg210", usb_debug_root); if (!fotg210_debug_root) { retval = -ENOENT; goto err_debug; } -#endif retval = platform_driver_register(&fotg210_hcd_driver); if (retval < 0) @@ -6028,11 +5964,9 @@ static int __init fotg210_hcd_init(void) platform_driver_unregister(&fotg210_hcd_driver); clean: -#ifdef DEBUG debugfs_remove(fotg210_debug_root); fotg210_debug_root = NULL; err_debug: -#endif clear_bit(USB_EHCI_LOADED, &usb_hcds_loaded); return retval; } @@ -6041,9 +5975,7 @@ module_init(fotg210_hcd_init); static void __exit fotg210_hcd_cleanup(void) { platform_driver_unregister(&fotg210_hcd_driver); -#ifdef DEBUG debugfs_remove(fotg210_debug_root); -#endif clear_bit(USB_EHCI_LOADED, &usb_hcds_loaded); } module_exit(fotg210_hcd_cleanup); diff --git a/drivers/usb/host/fotg210.h b/drivers/usb/host/fotg210.h index 8920f9d32564..ac6cd1bfd208 100644 --- a/drivers/usb/host/fotg210.h +++ b/drivers/usb/host/fotg210.h @@ -174,9 +174,7 @@ struct fotg210_hcd { /* one per controller */ #endif /* debug files */ -#ifdef DEBUG struct dentry *debug_dir; -#endif }; /* convert between an HCD pointer and the corresponding FOTG210_HCD */ @@ -741,10 +739,4 @@ static inline unsigned fotg210_read_frame_index(struct fotg210_hcd *fotg210) }) /*-------------------------------------------------------------------------*/ -#ifndef DEBUG -#define STUB_DEBUG_FILES -#endif /* DEBUG */ - -/*-------------------------------------------------------------------------*/ - #endif /* __LINUX_FOTG210_H */ diff --git a/drivers/usb/host/fusbh200-hcd.c b/drivers/usb/host/fusbh200-hcd.c index e1c6d850a7e1..ba9499060f63 100644 --- a/drivers/usb/host/fusbh200-hcd.c +++ b/drivers/usb/host/fusbh200-hcd.c @@ -57,13 +57,8 @@ static const char hcd_name [] = "fusbh200_hcd"; -#undef VERBOSE_DEBUG #undef FUSBH200_URB_TRACE -#ifdef DEBUG -#define FUSBH200_STATS -#endif - /* magic numbers that can affect system performance */ #define FUSBH200_TUNE_CERR 3 /* 0-3 qtd retries; 0 == don't stop */ #define FUSBH200_TUNE_RL_HS 4 /* nak throttle; see 4.9 */ @@ -108,14 +103,6 @@ MODULE_PARM_DESC(hird, "host initiated resume duration, +1 for each 75us"); #define fusbh200_warn(fusbh200, fmt, args...) \ dev_warn (fusbh200_to_hcd(fusbh200)->self.controller , fmt , ## args ) -#ifdef VERBOSE_DEBUG -# define fusbh200_vdbg fusbh200_dbg -#else - static inline void fusbh200_vdbg(struct fusbh200_hcd *fusbh200, ...) {} -#endif - -#ifdef DEBUG - /* check the values in the HCSPARAMS register * (host controller _Structural_ parameters) * see EHCI spec, Table 2-4 for each value @@ -130,13 +117,6 @@ static void dbg_hcs_params (struct fusbh200_hcd *fusbh200, char *label) HCS_N_PORTS (params) ); } -#else - -static inline void dbg_hcs_params (struct fusbh200_hcd *fusbh200, char *label) {} - -#endif - -#ifdef DEBUG /* check the values in the HCCPARAMS register * (host controller _Capability_ parameters) @@ -153,13 +133,6 @@ static void dbg_hcc_params (struct fusbh200_hcd *fusbh200, char *label) HCC_PGM_FRAMELISTLEN(params) ? "256/512/1024" : "1024", HCC_CANPARK(params) ? " park" : ""); } -#else - -static inline void dbg_hcc_params (struct fusbh200_hcd *fusbh200, char *label) {} - -#endif - -#ifdef DEBUG static void __maybe_unused dbg_qtd (const char *label, struct fusbh200_hcd *fusbh200, struct fusbh200_qtd *qtd) @@ -302,29 +275,6 @@ dbg_port_buf (char *buf, unsigned len, const char *label, int port, u32 status) (status & PORT_CONNECT) ? " CONNECT" : ""); } -#else -static inline void __maybe_unused -dbg_qh (char *label, struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) -{} - -static inline int __maybe_unused -dbg_status_buf (char *buf, unsigned len, const char *label, u32 status) -{ return 0; } - -static inline int __maybe_unused -dbg_command_buf (char *buf, unsigned len, const char *label, u32 command) -{ return 0; } - -static inline int __maybe_unused -dbg_intr_buf (char *buf, unsigned len, const char *label, u32 enable) -{ return 0; } - -static inline int __maybe_unused -dbg_port_buf (char *buf, unsigned len, const char *label, int port, u32 status) -{ return 0; } - -#endif /* DEBUG */ - /* functions have the "wrong" filename when they're output... */ #define dbg_status(fusbh200, label, status) { \ char _buf [80]; \ @@ -346,13 +296,6 @@ dbg_port_buf (char *buf, unsigned len, const char *label, int port, u32 status) /*-------------------------------------------------------------------------*/ -#ifdef STUB_DEBUG_FILES - -static inline void create_debug_files (struct fusbh200_hcd *bus) { } -static inline void remove_debug_files (struct fusbh200_hcd *bus) { } - -#else - /* troubleshooting help: expose state in debugfs */ static int debug_async_open(struct inode *, struct file *); @@ -775,7 +718,6 @@ static ssize_t fill_registers_buffer(struct debug_buffer *buf) next += temp; } -#ifdef FUSBH200_STATS temp = scnprintf (next, size, "irq normal %ld err %ld iaa %ld (lost %ld)\n", fusbh200->stats.normal, fusbh200->stats.error, fusbh200->stats.iaa, @@ -787,7 +729,6 @@ static ssize_t fill_registers_buffer(struct debug_buffer *buf) fusbh200->stats.complete, fusbh200->stats.unlink); size -= temp; next += temp; -#endif done: spin_unlock_irqrestore (&fusbh200->lock, flags); @@ -928,7 +869,6 @@ static inline void remove_debug_files (struct fusbh200_hcd *fusbh200) debugfs_remove_recursive(fusbh200->debug_dir); } -#endif /* STUB_DEBUG_FILES */ /*-------------------------------------------------------------------------*/ /* @@ -1362,7 +1302,7 @@ static void fusbh200_iaa_watchdog(struct fusbh200_hcd *fusbh200) fusbh200_writel(fusbh200, STS_IAA, &fusbh200->regs->status); } - fusbh200_vdbg(fusbh200, "IAA watchdog: status %x cmd %x\n", + fusbh200_dbg(fusbh200, "IAA watchdog: status %x cmd %x\n", status, cmd); end_unlink_async(fusbh200); } @@ -1769,10 +1709,8 @@ static int fusbh200_hub_control ( if (test_bit(wIndex, &fusbh200->port_c_suspend)) status |= USB_PORT_STAT_C_SUSPEND << 16; -#ifndef VERBOSE_DEBUG - if (status & ~0xffff) /* only if wPortChange is interesting */ -#endif - dbg_port (fusbh200, "GetStatus", wIndex + 1, temp); + if (status & ~0xffff) /* only if wPortChange is interesting */ + dbg_port(fusbh200, "GetStatus", wIndex + 1, temp); put_unaligned_le32(status, buf); break; case SetHubFeature: @@ -1814,7 +1752,7 @@ static int fusbh200_hub_control ( * which can be fine if this root hub has a * transaction translator built in. */ - fusbh200_vdbg (fusbh200, "port %d reset\n", wIndex + 1); + fusbh200_dbg(fusbh200, "port %d reset\n", wIndex + 1); temp |= PORT_RESET; temp &= ~PORT_PE; @@ -2230,13 +2168,13 @@ static void fusbh200_clear_tt_buffer(struct fusbh200_hcd *fusbh200, struct fusbh * Note: this routine is never called for Isochronous transfers. */ if (urb->dev->tt && !usb_pipeint(urb->pipe) && !qh->clearing_tt) { -#ifdef DEBUG struct usb_device *tt = urb->dev->tt->hub; + dev_dbg(&tt->dev, "clear tt buffer port %d, a%d ep%d t%08x\n", urb->dev->ttport, urb->dev->devnum, usb_pipeendpoint(urb->pipe), token); -#endif /* DEBUG */ + if (urb->dev->tt->hub != fusbh200_to_hcd(fusbh200)->self.root_hub) { if (usb_hub_clear_tt_buffer(urb) == 0) @@ -2297,7 +2235,7 @@ static int qtd_copy_status ( status = -EPROTO; } - fusbh200_vdbg (fusbh200, + fusbh200_dbg(fusbh200, "dev%d ep%d%s qtd token %08x --> status %d\n", usb_pipedevice (urb->pipe), usb_pipeendpoint (urb->pipe), @@ -3529,11 +3467,9 @@ periodic_usecs (struct fusbh200_hcd *fusbh200, unsigned frame, unsigned uframe) break; } } -#ifdef DEBUG if (usecs > fusbh200->uframe_periodic_max) fusbh200_err (fusbh200, "uframe %d sched overrun: %d usecs\n", frame * 8 + uframe, usecs); -#endif return usecs; } @@ -4586,7 +4522,7 @@ static void itd_link_urb( if (unlikely (list_empty(&stream->td_list))) { fusbh200_to_hcd(fusbh200)->self.bandwidth_allocated += stream->bandwidth; - fusbh200_vdbg (fusbh200, + fusbh200_dbg(fusbh200, "schedule devp %s ep%d%s-iso period %d start %d.%d\n", urb->dev->devpath, stream->bEndpointAddress & 0x0f, (stream->bEndpointAddress & USB_DIR_IN) ? "in" : "out", @@ -4717,7 +4653,7 @@ static bool itd_complete(struct fusbh200_hcd *fusbh200, struct fusbh200_itd *itd if (unlikely(list_is_singular(&stream->td_list))) { fusbh200_to_hcd(fusbh200)->self.bandwidth_allocated -= stream->bandwidth; - fusbh200_vdbg (fusbh200, + fusbh200_dbg(fusbh200, "deschedule devp %s ep%d%s-iso\n", dev->devpath, stream->bEndpointAddress & 0x0f, (stream->bEndpointAddress & USB_DIR_IN) ? "in" : "out"); @@ -5115,13 +5051,11 @@ static void fusbh200_stop (struct usb_hcd *hcd) spin_unlock_irq (&fusbh200->lock); fusbh200_mem_cleanup (fusbh200); -#ifdef FUSBH200_STATS fusbh200_dbg(fusbh200, "irq normal %ld err %ld iaa %ld (lost %ld)\n", fusbh200->stats.normal, fusbh200->stats.error, fusbh200->stats.iaa, fusbh200->stats.lost_iaa); fusbh200_dbg (fusbh200, "complete %ld unlink %ld\n", fusbh200->stats.complete, fusbh200->stats.unlink); -#endif dbg_status (fusbh200, "fusbh200_stop completed", fusbh200_readl(fusbh200, &fusbh200->regs->status)); @@ -5365,13 +5299,6 @@ static irqreturn_t fusbh200_irq (struct usb_hcd *hcd) cmd = fusbh200_readl(fusbh200, &fusbh200->regs->command); bh = 0; -#ifdef VERBOSE_DEBUG - /* unrequested/ignored: Frame List Rollover */ - dbg_status (fusbh200, "irq", status); -#endif - - /* INT, ERR, and IAA interrupt rates can be throttled */ - /* normal [4.15.1.2] or error [4.15.1.1] completion */ if (likely ((status & (STS_INT|STS_ERR)) != 0)) { if (likely ((status & STS_ERR) == 0)) @@ -5871,6 +5798,7 @@ static int fusbh200_hcd_probe(struct platform_device *pdev) dev_err(dev, "failed to add hcd with err %d\n", retval); goto fail_add_hcd; } + device_wakeup_enable(hcd->self.controller); return retval; @@ -5936,13 +5864,11 @@ static int __init fusbh200_hcd_init(void) sizeof(struct fusbh200_qh), sizeof(struct fusbh200_qtd), sizeof(struct fusbh200_itd)); -#ifdef DEBUG fusbh200_debug_root = debugfs_create_dir("fusbh200", usb_debug_root); if (!fusbh200_debug_root) { retval = -ENOENT; goto err_debug; } -#endif retval = platform_driver_register(&fusbh200_hcd_fusbh200_driver); if (retval < 0) @@ -5951,11 +5877,9 @@ static int __init fusbh200_hcd_init(void) platform_driver_unregister(&fusbh200_hcd_fusbh200_driver); clean: -#ifdef DEBUG debugfs_remove(fusbh200_debug_root); fusbh200_debug_root = NULL; err_debug: -#endif clear_bit(USB_EHCI_LOADED, &usb_hcds_loaded); return retval; } @@ -5964,9 +5888,7 @@ module_init(fusbh200_hcd_init); static void __exit fusbh200_hcd_cleanup(void) { platform_driver_unregister(&fusbh200_hcd_fusbh200_driver); -#ifdef DEBUG debugfs_remove(fusbh200_debug_root); -#endif clear_bit(USB_EHCI_LOADED, &usb_hcds_loaded); } module_exit(fusbh200_hcd_cleanup); diff --git a/drivers/usb/host/fusbh200.h b/drivers/usb/host/fusbh200.h index 797c9e855270..6b719e066c3f 100644 --- a/drivers/usb/host/fusbh200.h +++ b/drivers/usb/host/fusbh200.h @@ -165,17 +165,11 @@ struct fusbh200_hcd { /* one per controller */ u8 sbrn; /* packed release number */ /* irq statistics */ -#ifdef FUSBH200_STATS struct fusbh200_stats stats; # define COUNT(x) do { (x)++; } while (0) -#else -# define COUNT(x) do {} while (0) -#endif /* debug files */ -#ifdef DEBUG struct dentry *debug_dir; -#endif }; /* convert between an HCD pointer and the corresponding FUSBH200_HCD */ @@ -734,10 +728,4 @@ static inline unsigned fusbh200_read_frame_index(struct fusbh200_hcd *fusbh200) }) /*-------------------------------------------------------------------------*/ -#ifndef DEBUG -#define STUB_DEBUG_FILES -#endif /* DEBUG */ - -/*-------------------------------------------------------------------------*/ - #endif /* __LINUX_FUSBH200_H */ diff --git a/drivers/usb/host/hwa-hc.c b/drivers/usb/host/hwa-hc.c index ada0a52797b1..f0b97bb08791 100644 --- a/drivers/usb/host/hwa-hc.c +++ b/drivers/usb/host/hwa-hc.c @@ -86,7 +86,7 @@ static int __hwahc_set_cluster_id(struct hwahc *hwahc, u8 cluster_id) USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, cluster_id, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, - NULL, 0, 1000 /* FIXME: arbitrary */); + NULL, 0, USB_CTRL_SET_TIMEOUT); if (result < 0) dev_err(dev, "Cannot set WUSB Cluster ID to 0x%02x: %d\n", cluster_id, result); @@ -106,7 +106,7 @@ static int __hwahc_op_set_num_dnts(struct wusbhc *wusbhc, u8 interval, u8 slots) USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, interval << 8 | slots, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, - NULL, 0, 1000 /* FIXME: arbitrary */); + NULL, 0, USB_CTRL_SET_TIMEOUT); } /* @@ -224,7 +224,7 @@ static int hwahc_op_urb_dequeue(struct usb_hcd *usb_hcd, struct urb *urb, struct wusbhc *wusbhc = usb_hcd_to_wusbhc(usb_hcd); struct hwahc *hwahc = container_of(wusbhc, struct hwahc, wusbhc); - return wa_urb_dequeue(&hwahc->wa, urb); + return wa_urb_dequeue(&hwahc->wa, urb, status); } /* @@ -281,7 +281,7 @@ static void __hwahc_op_wusbhc_stop(struct wusbhc *wusbhc, int delay) USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, delay * 1000, iface_no, - NULL, 0, 1000 /* FIXME: arbitrary */); + NULL, 0, USB_CTRL_SET_TIMEOUT); if (ret == 0) msleep(delay); @@ -310,7 +310,7 @@ static int __hwahc_op_bwa_set(struct wusbhc *wusbhc, s8 stream_index, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, stream_index, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, - NULL, 0, 1000 /* FIXME: arbitrary */); + NULL, 0, USB_CTRL_SET_TIMEOUT); if (result < 0) { dev_err(dev, "Cannot set WUSB stream index: %d\n", result); goto out; @@ -321,7 +321,7 @@ static int __hwahc_op_bwa_set(struct wusbhc *wusbhc, s8 stream_index, WUSB_REQ_SET_WUSB_MAS, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, - mas_le, 32, 1000 /* FIXME: arbitrary */); + mas_le, 32, USB_CTRL_SET_TIMEOUT); if (result < 0) dev_err(dev, "Cannot set WUSB MAS allocation: %d\n", result); out: @@ -355,7 +355,7 @@ static int __hwahc_op_mmcie_add(struct wusbhc *wusbhc, u8 interval, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, interval << 8 | repeat_cnt, handle << 8 | iface_no, - wuie, wuie->bLength, 1000 /* FIXME: arbitrary */); + wuie, wuie->bLength, USB_CTRL_SET_TIMEOUT); } /* @@ -372,7 +372,7 @@ static int __hwahc_op_mmcie_rm(struct wusbhc *wusbhc, u8 handle) WUSB_REQ_REMOVE_MMC_IE, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0, handle << 8 | iface_no, - NULL, 0, 1000 /* FIXME: arbitrary */); + NULL, 0, USB_CTRL_SET_TIMEOUT); } /* @@ -415,7 +415,7 @@ static int __hwahc_op_dev_info_set(struct wusbhc *wusbhc, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0, wusb_dev->port_idx << 8 | iface_no, dev_info, sizeof(struct hwa_dev_info), - 1000 /* FIXME: arbitrary */); + USB_CTRL_SET_TIMEOUT); kfree(dev_info); return ret; } @@ -455,7 +455,7 @@ static int __hwahc_dev_set_key(struct wusbhc *wusbhc, u8 port_idx, u32 tkid, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, USB_DT_KEY << 8 | key_idx, port_idx << 8 | iface_no, - keyd, keyd_len, 1000 /* FIXME: arbitrary */); + keyd, keyd_len, USB_CTRL_SET_TIMEOUT); kzfree(keyd); /* clear keys etc. */ return result; @@ -497,7 +497,7 @@ static int __hwahc_op_set_ptk(struct wusbhc *wusbhc, u8 port_idx, u32 tkid, USB_REQ_SET_ENCRYPTION, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, encryption_value, port_idx << 8 | iface_no, - NULL, 0, 1000 /* FIXME: arbitrary */); + NULL, 0, USB_CTRL_SET_TIMEOUT); if (result < 0) dev_err(wusbhc->dev, "Can't set host's WUSB encryption for " "port index %u to %s (value %d): %d\n", port_idx, @@ -791,6 +791,7 @@ static int hwahc_probe(struct usb_interface *usb_iface, dev_err(dev, "Cannot add HCD: %d\n", result); goto error_add_hcd; } + device_wakeup_enable(usb_hcd->self.controller); result = wusbhc_b_create(&hwahc->wusbhc); if (result < 0) { dev_err(dev, "Cannot setup phase B of WUSBHC: %d\n", result); diff --git a/drivers/usb/host/imx21-dbg.c b/drivers/usb/host/imx21-dbg.c index ec98ecee3517..4f320d050da7 100644 --- a/drivers/usb/host/imx21-dbg.c +++ b/drivers/usb/host/imx21-dbg.c @@ -18,6 +18,10 @@ /* this file is part of imx21-hcd.c */ +#ifdef CONFIG_DYNAMIC_DEBUG +#define DEBUG +#endif + #ifndef DEBUG static inline void create_debug_files(struct imx21 *imx21) { } diff --git a/drivers/usb/host/imx21-hcd.c b/drivers/usb/host/imx21-hcd.c index adb01d950a16..207bad99301f 100644 --- a/drivers/usb/host/imx21-hcd.c +++ b/drivers/usb/host/imx21-hcd.c @@ -62,6 +62,10 @@ #include "imx21-hcd.h" +#ifdef CONFIG_DYNAMIC_DEBUG +#define DEBUG +#endif + #ifdef DEBUG #define DEBUG_LOG_FRAME(imx21, etd, event) \ (etd)->event##_frame = readl((imx21)->regs + USBH_FRMNUB) @@ -1906,6 +1910,7 @@ static int imx21_probe(struct platform_device *pdev) dev_err(imx21->dev, "usb_add_hcd() returned %d\n", ret); goto failed_add_hcd; } + device_wakeup_enable(hcd->self.controller); return 0; @@ -1926,7 +1931,7 @@ failed_request_mem: static struct platform_driver imx21_hcd_driver = { .driver = { - .name = (char *)hcd_name, + .name = hcd_name, }, .probe = imx21_probe, .remove = imx21_remove, diff --git a/drivers/usb/host/imx21-hcd.h b/drivers/usb/host/imx21-hcd.h index c005770a73e9..05122f8a6983 100644 --- a/drivers/usb/host/imx21-hcd.h +++ b/drivers/usb/host/imx21-hcd.h @@ -24,6 +24,10 @@ #ifndef __LINUX_IMX21_HCD_H__ #define __LINUX_IMX21_HCD_H__ +#ifdef CONFIG_DYNAMIC_DEBUG +#define DEBUG +#endif + #include <linux/platform_data/usb-mx2.h> #define NUM_ISO_ETDS 2 diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c index c7d0f8f231be..2740f65936bd 100644 --- a/drivers/usb/host/isp116x-hcd.c +++ b/drivers/usb/host/isp116x-hcd.c @@ -1645,6 +1645,8 @@ static int isp116x_probe(struct platform_device *pdev) if (ret) goto err6; + device_wakeup_enable(hcd->self.controller); + ret = create_debug_file(isp116x); if (ret) { ERR("Couldn't create debugfs entry\n"); @@ -1705,7 +1707,7 @@ static struct platform_driver isp116x_driver = { .suspend = isp116x_suspend, .resume = isp116x_resume, .driver = { - .name = (char *)hcd_name, + .name = hcd_name, .owner = THIS_MODULE, }, }; diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c index 935a2dd367a8..34645ae9313d 100644 --- a/drivers/usb/host/isp1362-hcd.c +++ b/drivers/usb/host/isp1362-hcd.c @@ -2746,6 +2746,8 @@ static int isp1362_probe(struct platform_device *pdev) retval = usb_add_hcd(hcd, irq, irq_flags | IRQF_SHARED); if (retval != 0) goto err6; + device_wakeup_enable(hcd->self.controller); + pr_info("%s, irq %d\n", hcd->product_desc, irq); create_debug_file(isp1362_hcd); @@ -2829,7 +2831,7 @@ static struct platform_driver isp1362_driver = { .suspend = isp1362_suspend, .resume = isp1362_resume, .driver = { - .name = (char *)hcd_name, + .name = hcd_name, .owner = THIS_MODULE, }, }; diff --git a/drivers/usb/host/isp1760-hcd.c b/drivers/usb/host/isp1760-hcd.c index 2facee53eab1..51a0ae9cdd1d 100644 --- a/drivers/usb/host/isp1760-hcd.c +++ b/drivers/usb/host/isp1760-hcd.c @@ -2250,6 +2250,7 @@ struct usb_hcd *isp1760_register(phys_addr_t res_start, resource_size_t res_len, ret = usb_add_hcd(hcd, irq, irqflags); if (ret) goto err_unmap; + device_wakeup_enable(hcd->self.controller); return hcd; diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c index 418444ebb1b8..29d2093e3cee 100644 --- a/drivers/usb/host/ohci-at91.c +++ b/drivers/usb/host/ohci-at91.c @@ -200,8 +200,10 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver, at91_start_hc(pdev); retval = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_SHARED); - if (retval == 0) + if (retval == 0) { + device_wakeup_enable(hcd->self.controller); return retval; + } /* Error handling */ at91_stop_hc(pdev); @@ -635,10 +637,17 @@ ohci_hcd_at91_drv_suspend(struct platform_device *pdev, pm_message_t mesg) { struct usb_hcd *hcd = platform_get_drvdata(pdev); struct ohci_hcd *ohci = hcd_to_ohci(hcd); + bool do_wakeup = device_may_wakeup(&pdev->dev); + int ret; - if (device_may_wakeup(&pdev->dev)) + if (do_wakeup) enable_irq_wake(hcd->irq); + ret = ohci_suspend(hcd, do_wakeup); + if (ret) { + disable_irq_wake(hcd->irq); + return ret; + } /* * The integrated transceivers seem unable to notice disconnect, * reconnect, or wakeup without the 48 MHz clock active. so for @@ -657,7 +666,7 @@ ohci_hcd_at91_drv_suspend(struct platform_device *pdev, pm_message_t mesg) at91_stop_clock(); } - return 0; + return ret; } static int ohci_hcd_at91_drv_resume(struct platform_device *pdev) diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c index 9be59f11e051..f0fe0d26314d 100644 --- a/drivers/usb/host/ohci-da8xx.c +++ b/drivers/usb/host/ohci-da8xx.c @@ -348,6 +348,8 @@ static int usb_hcd_da8xx_probe(const struct hc_driver *driver, if (error) goto err4; + device_wakeup_enable(hcd->self.controller); + if (hub->ocic_notify) { error = hub->ocic_notify(ohci_da8xx_ocic_handler); if (!error) @@ -406,19 +408,27 @@ static int ohci_hcd_da8xx_drv_remove(struct platform_device *dev) } #ifdef CONFIG_PM -static int ohci_da8xx_suspend(struct platform_device *dev, pm_message_t message) +static int ohci_da8xx_suspend(struct platform_device *pdev, + pm_message_t message) { - struct usb_hcd *hcd = platform_get_drvdata(dev); + struct usb_hcd *hcd = platform_get_drvdata(pdev); struct ohci_hcd *ohci = hcd_to_ohci(hcd); + bool do_wakeup = device_may_wakeup(&pdev->dev); + int ret; + if (time_before(jiffies, ohci->next_statechange)) msleep(5); ohci->next_statechange = jiffies; + ret = ohci_suspend(hcd, do_wakeup); + if (ret) + return ret; + ohci_da8xx_clock(0); hcd->state = HC_STATE_SUSPENDED; - dev->dev.power.power_state = PMSG_SUSPEND; - return 0; + + return ret; } static int ohci_da8xx_resume(struct platform_device *dev) diff --git a/drivers/usb/host/ohci-dbg.c b/drivers/usb/host/ohci-dbg.c index 3fca52ec02ac..45032e933e18 100644 --- a/drivers/usb/host/ohci-dbg.c +++ b/drivers/usb/host/ohci-dbg.c @@ -9,8 +9,6 @@ /*-------------------------------------------------------------------------*/ -#ifdef DEBUG - #define edstring(ed_type) ({ char *temp; \ switch (ed_type) { \ case PIPE_CONTROL: temp = "ctrl"; break; \ @@ -20,57 +18,6 @@ } temp;}) #define pipestring(pipe) edstring(usb_pipetype(pipe)) -/* debug| print the main components of an URB - * small: 0) header + data packets 1) just header - */ -static void __maybe_unused -urb_print(struct urb * urb, char * str, int small, int status) -{ - unsigned int pipe= urb->pipe; - - if (!urb->dev || !urb->dev->bus) { - printk(KERN_DEBUG "%s URB: no dev\n", str); - return; - } - -#ifndef OHCI_VERBOSE_DEBUG - if (status != 0) -#endif - printk(KERN_DEBUG "%s %p dev=%d ep=%d%s-%s flags=%x len=%d/%d stat=%d\n", - str, - urb, - usb_pipedevice (pipe), - usb_pipeendpoint (pipe), - usb_pipeout (pipe)? "out" : "in", - pipestring (pipe), - urb->transfer_flags, - urb->actual_length, - urb->transfer_buffer_length, - status); - -#ifdef OHCI_VERBOSE_DEBUG - if (!small) { - int i, len; - - if (usb_pipecontrol (pipe)) { - printk (KERN_DEBUG "%s: setup(8):", __FILE__); - for (i = 0; i < 8 ; i++) - printk (" %02x", ((__u8 *) urb->setup_packet) [i]); - printk ("\n"); - } - if (urb->transfer_buffer_length > 0 && urb->transfer_buffer) { - printk (KERN_DEBUG "%s: data(%d/%d):", __FILE__, - urb->actual_length, - urb->transfer_buffer_length); - len = usb_pipeout (pipe)? - urb->transfer_buffer_length: urb->actual_length; - for (i = 0; i < 16 && i < len; i++) - printk (" %02x", ((__u8 *) urb->transfer_buffer) [i]); - printk ("%s stat:%d\n", i < len? "...": "", status); - } - } -#endif -} #define ohci_dbg_sw(ohci, next, size, format, arg...) \ do { \ @@ -407,22 +354,8 @@ ohci_dump_ed (const struct ohci_hcd *ohci, const char *label, } } -#else -static inline void ohci_dump (struct ohci_hcd *controller, int verbose) {} - -#undef OHCI_VERBOSE_DEBUG - -#endif /* DEBUG */ - /*-------------------------------------------------------------------------*/ -#ifdef STUB_DEBUG_FILES - -static inline void create_debug_files (struct ohci_hcd *bus) { } -static inline void remove_debug_files (struct ohci_hcd *bus) { } - -#else - static int debug_async_open(struct inode *, struct file *); static int debug_periodic_open(struct inode *, struct file *); static int debug_registers_open(struct inode *, struct file *); @@ -871,7 +804,5 @@ static inline void remove_debug_files (struct ohci_hcd *ohci) debugfs_remove(ohci->debug_dir); } -#endif - /*-------------------------------------------------------------------------*/ diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c index 91ec9b2cd378..68588d8a09bb 100644 --- a/drivers/usb/host/ohci-exynos.c +++ b/drivers/usb/host/ohci-exynos.c @@ -146,6 +146,7 @@ skip_phy: dev_err(&pdev->dev, "Failed to add USB HCD\n"); goto fail_add_hcd; } + device_wakeup_enable(hcd->self.controller); return 0; fail_add_hcd: @@ -191,23 +192,14 @@ static int exynos_ohci_suspend(struct device *dev) struct exynos_ohci_hcd *exynos_ohci = to_exynos_ohci(hcd); struct ohci_hcd *ohci = hcd_to_ohci(hcd); struct platform_device *pdev = to_platform_device(dev); + bool do_wakeup = device_may_wakeup(dev); unsigned long flags; - int rc = 0; + int rc = ohci_suspend(hcd, do_wakeup); - /* - * Root hub was already suspended. Disable irq emission and - * mark HW unaccessible, bail out if RH has been resumed. Use - * the spinlock to properly synchronize with possible pending - * RH suspend or resume activity. - */ - spin_lock_irqsave(&ohci->lock, flags); - if (ohci->rh_state != OHCI_RH_SUSPENDED && - ohci->rh_state != OHCI_RH_HALTED) { - rc = -EINVAL; - goto fail; - } + if (rc) + return rc; - clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); + spin_lock_irqsave(&ohci->lock, flags); if (exynos_ohci->otg) exynos_ohci->otg->set_host(exynos_ohci->otg, &hcd->self); @@ -216,10 +208,9 @@ static int exynos_ohci_suspend(struct device *dev) clk_disable_unprepare(exynos_ohci->clk); -fail: spin_unlock_irqrestore(&ohci->lock, flags); - return rc; + return 0; } static int exynos_ohci_resume(struct device *dev) diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 8ada13f8dde2..3586460fb2a1 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -51,8 +51,6 @@ /*-------------------------------------------------------------------------*/ -#undef OHCI_VERBOSE_DEBUG /* not always helpful */ - /* For initializing controller (mask in an HCFS mode too) */ #define OHCI_CONTROL_INIT OHCI_CTRL_CBSR #define OHCI_INTR_INIT \ @@ -127,10 +125,6 @@ static int ohci_urb_enqueue ( unsigned long flags; int retval = 0; -#ifdef OHCI_VERBOSE_DEBUG - urb_print(urb, "SUB", usb_pipein(pipe), -EINPROGRESS); -#endif - /* every endpoint has a ed, locate and maybe (re)initialize it */ if (! (ed = ed_get (ohci, urb->ep, urb->dev, pipe, urb->interval))) return -ENOMEM; @@ -284,10 +278,6 @@ static int ohci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) unsigned long flags; int rc; -#ifdef OHCI_VERBOSE_DEBUG - urb_print(urb, "UNLINK", 1, status); -#endif - spin_lock_irqsave (&ohci->lock, flags); rc = usb_hcd_check_unlink_urb(hcd, urb, status); if (rc) { @@ -840,7 +830,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd) } if (ints & OHCI_INTR_RHSC) { - ohci_vdbg(ohci, "rhsc\n"); + ohci_dbg(ohci, "rhsc\n"); ohci->next_statechange = jiffies + STATECHANGE_DELAY; ohci_writel(ohci, OHCI_INTR_RD | OHCI_INTR_RHSC, ®s->intrstatus); @@ -862,7 +852,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd) * this might not happen. */ else if (ints & OHCI_INTR_RD) { - ohci_vdbg(ohci, "resume detect\n"); + ohci_dbg(ohci, "resume detect\n"); ohci_writel(ohci, OHCI_INTR_RD, ®s->intrstatus); set_bit(HCD_FLAG_POLL_RH, &hcd->flags); if (ohci->autostop) { @@ -1036,6 +1026,7 @@ int ohci_suspend(struct usb_hcd *hcd, bool do_wakeup) { struct ohci_hcd *ohci = hcd_to_ohci (hcd); unsigned long flags; + int rc = 0; /* Disable irq emission and mark HW unaccessible. Use * the spinlock to properly synchronize with possible pending @@ -1048,7 +1039,13 @@ int ohci_suspend(struct usb_hcd *hcd, bool do_wakeup) clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); spin_unlock_irqrestore (&ohci->lock, flags); - return 0; + synchronize_irq(hcd->irq); + + if (do_wakeup && HCD_WAKEUP_PENDING(hcd)) { + ohci_resume(hcd, false); + rc = -EBUSY; + } + return rc; } EXPORT_SYMBOL_GPL(ohci_suspend); @@ -1233,13 +1230,11 @@ static int __init ohci_hcd_mod_init(void) sizeof (struct ed), sizeof (struct td)); set_bit(USB_OHCI_LOADED, &usb_hcds_loaded); -#ifdef DEBUG ohci_debug_root = debugfs_create_dir("ohci", usb_debug_root); if (!ohci_debug_root) { retval = -ENOENT; goto error_debug; } -#endif #ifdef PS3_SYSTEM_BUS_DRIVER retval = ps3_ohci_driver_register(&PS3_SYSTEM_BUS_DRIVER); @@ -1314,11 +1309,9 @@ static int __init ohci_hcd_mod_init(void) ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); error_ps3: #endif -#ifdef DEBUG debugfs_remove(ohci_debug_root); ohci_debug_root = NULL; error_debug: -#endif clear_bit(USB_OHCI_LOADED, &usb_hcds_loaded); return retval; @@ -1348,9 +1341,7 @@ static void __exit ohci_hcd_mod_exit(void) #ifdef PS3_SYSTEM_BUS_DRIVER ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); #endif -#ifdef DEBUG debugfs_remove(ohci_debug_root); -#endif clear_bit(USB_OHCI_LOADED, &usb_hcds_loaded); } module_exit(ohci_hcd_mod_exit); diff --git a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c index 61705a760e7d..c81c8721cc5a 100644 --- a/drivers/usb/host/ohci-hub.c +++ b/drivers/usb/host/ohci-hub.c @@ -725,10 +725,8 @@ static int ohci_hub_control ( temp = roothub_portstatus (ohci, wIndex); put_unaligned_le32(temp, buf); -#ifndef OHCI_VERBOSE_DEBUG - if (*(u16*)(buf+2)) /* only if wPortChange is interesting */ -#endif - dbg_port (ohci, "GetStatus", wIndex, temp); + if (*(u16*)(buf+2)) /* only if wPortChange is interesting */ + dbg_port(ohci, "GetStatus", wIndex, temp); break; case SetHubFeature: switch (wValue) { diff --git a/drivers/usb/host/ohci-jz4740.c b/drivers/usb/host/ohci-jz4740.c index d4ef53990d73..efe31f3ab4ea 100644 --- a/drivers/usb/host/ohci-jz4740.c +++ b/drivers/usb/host/ohci-jz4740.c @@ -217,6 +217,7 @@ static int jz4740_ohci_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Failed to add hcd: %d\n", ret); goto err_disable; } + device_wakeup_enable(hcd->self.controller); return 0; diff --git a/drivers/usb/host/ohci-nxp.c b/drivers/usb/host/ohci-nxp.c index e99db8a6d55f..719f28e5e3ac 100644 --- a/drivers/usb/host/ohci-nxp.c +++ b/drivers/usb/host/ohci-nxp.c @@ -274,8 +274,10 @@ static int ohci_hcd_nxp_probe(struct platform_device *pdev) dev_info(&pdev->dev, "at 0x%p, irq %d\n", hcd->regs, hcd->irq); ret = usb_add_hcd(hcd, irq, 0); - if (ret == 0) + if (ret == 0) { + device_wakeup_enable(hcd->self.controller); return ret; + } ohci_nxp_stop_hc(); fail_resource: diff --git a/drivers/usb/host/ohci-octeon.c b/drivers/usb/host/ohci-octeon.c index 6c16dcef15c6..49b220dc2f9b 100644 --- a/drivers/usb/host/ohci-octeon.c +++ b/drivers/usb/host/ohci-octeon.c @@ -171,6 +171,8 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev) goto err3; } + device_wakeup_enable(hcd->self.controller); + platform_set_drvdata(pdev, hcd); return 0; diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c index f253214741ba..a44a4fede1c4 100644 --- a/drivers/usb/host/ohci-omap.c +++ b/drivers/usb/host/ohci-omap.c @@ -367,6 +367,7 @@ static int usb_hcd_omap_probe (const struct hc_driver *driver, if (retval) goto err3; + device_wakeup_enable(hcd->self.controller); return 0; err3: iounmap(hcd->regs); diff --git a/drivers/usb/host/ohci-omap3.c b/drivers/usb/host/ohci-omap3.c index 21457417a856..ec15aebe8786 100644 --- a/drivers/usb/host/ohci-omap3.c +++ b/drivers/usb/host/ohci-omap3.c @@ -130,6 +130,7 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev) dev_dbg(dev, "failed to add hcd with err %d\n", ret); goto err_add_hcd; } + device_wakeup_enable(hcd->self.controller); return 0; diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c index f351ff5b171f..68f674cd095f 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -108,6 +108,8 @@ static int ohci_platform_probe(struct platform_device *dev) if (err) goto err_put_hcd; + device_wakeup_enable(hcd->self.controller); + platform_set_drvdata(dev, hcd); return err; diff --git a/drivers/usb/host/ohci-ppc-of.c b/drivers/usb/host/ohci-ppc-of.c index 81f3eba215c1..83e33d464082 100644 --- a/drivers/usb/host/ohci-ppc-of.c +++ b/drivers/usb/host/ohci-ppc-of.c @@ -147,8 +147,10 @@ static int ohci_hcd_ppc_of_probe(struct platform_device *op) ohci_hcd_init(ohci); rv = usb_add_hcd(hcd, irq, 0); - if (rv == 0) + if (rv == 0) { + device_wakeup_enable(hcd->self.controller); return 0; + } /* by now, 440epx is known to show usb_23 erratum */ np = of_find_compatible_node(NULL, NULL, "ibm,usb-ehci-440epx"); diff --git a/drivers/usb/host/ohci-ps3.c b/drivers/usb/host/ohci-ps3.c index 7d35cd9e2862..71d8bc4c27f6 100644 --- a/drivers/usb/host/ohci-ps3.c +++ b/drivers/usb/host/ohci-ps3.c @@ -173,6 +173,7 @@ static int ps3_ohci_probe(struct ps3_system_bus_device *dev) goto fail_add_hcd; } + device_wakeup_enable(hcd->self.controller); return result; fail_add_hcd: diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c index 9b7435f0dcd6..9352a4d42563 100644 --- a/drivers/usb/host/ohci-pxa27x.c +++ b/drivers/usb/host/ohci-pxa27x.c @@ -443,8 +443,10 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device ohci->num_ports = 3; retval = usb_add_hcd(hcd, irq, 0); - if (retval == 0) + if (retval == 0) { + device_wakeup_enable(hcd->self.controller); return retval; + } pxa27x_stop_hc(pxa_ohci, &pdev->dev); err3: diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c index e7f577e63624..d4253e319428 100644 --- a/drivers/usb/host/ohci-q.c +++ b/drivers/usb/host/ohci-q.c @@ -68,10 +68,6 @@ __acquires(ohci->lock) break; } -#ifdef OHCI_VERBOSE_DEBUG - urb_print(urb, "RET", usb_pipeout (urb->pipe), status); -#endif - /* urb->complete() can reenter this HCD */ usb_hcd_unlink_urb_from_ep(ohci_to_hcd(ohci), urb); spin_unlock (&ohci->lock); @@ -147,7 +143,7 @@ static void periodic_link (struct ohci_hcd *ohci, struct ed *ed) { unsigned i; - ohci_vdbg (ohci, "link %sed %p branch %d [%dus.], interval %d\n", + ohci_dbg(ohci, "link %sed %p branch %d [%dus.], interval %d\n", (ed->hwINFO & cpu_to_hc32 (ohci, ED_ISO)) ? "iso " : "", ed, ed->branch, ed->load, ed->interval); @@ -294,7 +290,7 @@ static void periodic_unlink (struct ohci_hcd *ohci, struct ed *ed) } ohci_to_hcd(ohci)->self.bandwidth_allocated -= ed->load / ed->interval; - ohci_vdbg (ohci, "unlink %sed %p branch %d [%dus.], interval %d\n", + ohci_dbg(ohci, "unlink %sed %p branch %d [%dus.], interval %d\n", (ed->hwINFO & cpu_to_hc32 (ohci, ED_ISO)) ? "iso " : "", ed, ed->branch, ed->load, ed->interval); } @@ -765,7 +761,7 @@ static int td_done(struct ohci_hcd *ohci, struct urb *urb, struct td *td) urb->iso_frame_desc [td->index].status = cc_to_error [cc]; if (cc != TD_CC_NOERROR) - ohci_vdbg (ohci, + ohci_dbg(ohci, "urb %p iso td %p (%d) len %d cc %d\n", urb, td, 1 + td->index, dlen, cc); @@ -797,7 +793,7 @@ static int td_done(struct ohci_hcd *ohci, struct urb *urb, struct td *td) } if (cc != TD_CC_NOERROR && cc < 0x0E) - ohci_vdbg (ohci, + ohci_dbg(ohci, "urb %p td %p (%d) cc %d, len=%d/%d\n", urb, td, 1 + td->index, cc, urb->actual_length, diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c index f90101b9cdb9..ff7c8f1c48fb 100644 --- a/drivers/usb/host/ohci-s3c2410.c +++ b/drivers/usb/host/ohci-s3c2410.c @@ -395,6 +395,7 @@ static int usb_hcd_s3c2410_probe(const struct hc_driver *driver, if (retval != 0) goto err_ioremap; + device_wakeup_enable(hcd->self.controller); return 0; err_ioremap: @@ -426,28 +427,15 @@ static int ohci_hcd_s3c2410_drv_remove(struct platform_device *pdev) static int ohci_hcd_s3c2410_drv_suspend(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); - struct ohci_hcd *ohci = hcd_to_ohci(hcd); struct platform_device *pdev = to_platform_device(dev); - unsigned long flags; + bool do_wakeup = device_may_wakeup(dev); int rc = 0; - /* - * Root hub was already suspended. Disable irq emission and - * mark HW unaccessible, bail out if RH has been resumed. Use - * the spinlock to properly synchronize with possible pending - * RH suspend or resume activity. - */ - spin_lock_irqsave(&ohci->lock, flags); - if (ohci->rh_state != OHCI_RH_SUSPENDED) { - rc = -EINVAL; - goto bail; - } - - clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); + rc = ohci_suspend(hcd, do_wakeup); + if (rc) + return rc; s3c2410_stop_hc(pdev); -bail: - spin_unlock_irqrestore(&ohci->lock, flags); return rc; } diff --git a/drivers/usb/host/ohci-sa1111.c b/drivers/usb/host/ohci-sa1111.c index aa9e127bbe71..2ac266d692a2 100644 --- a/drivers/usb/host/ohci-sa1111.c +++ b/drivers/usb/host/ohci-sa1111.c @@ -211,8 +211,10 @@ static int ohci_hcd_sa1111_probe(struct sa1111_dev *dev) goto err2; ret = usb_add_hcd(hcd, dev->irq[1], 0); - if (ret == 0) + if (ret == 0) { + device_wakeup_enable(hcd->self.controller); return ret; + } sa1111_stop_hc(dev); err2: diff --git a/drivers/usb/host/ohci-sm501.c b/drivers/usb/host/ohci-sm501.c index 2a5de5fecd8f..4e81c804c73e 100644 --- a/drivers/usb/host/ohci-sm501.c +++ b/drivers/usb/host/ohci-sm501.c @@ -168,6 +168,7 @@ static int ohci_hcd_sm501_drv_probe(struct platform_device *pdev) retval = usb_add_hcd(hcd, irq, IRQF_SHARED); if (retval) goto err5; + device_wakeup_enable(hcd->self.controller); /* enable power and unmask interrupts */ diff --git a/drivers/usb/host/ohci-spear.c b/drivers/usb/host/ohci-spear.c index 6b02107d281d..4cb98abc0bef 100644 --- a/drivers/usb/host/ohci-spear.c +++ b/drivers/usb/host/ohci-spear.c @@ -103,8 +103,10 @@ static int spear_ohci_hcd_drv_probe(struct platform_device *pdev) ohci = hcd_to_ohci(hcd); retval = usb_add_hcd(hcd, platform_get_irq(pdev, 0), 0); - if (retval == 0) + if (retval == 0) { + device_wakeup_enable(hcd->self.controller); return retval; + } clk_disable_unprepare(sohci_p->clk); err_put_hcd: @@ -129,20 +131,26 @@ static int spear_ohci_hcd_drv_remove(struct platform_device *pdev) } #if defined(CONFIG_PM) -static int spear_ohci_hcd_drv_suspend(struct platform_device *dev, +static int spear_ohci_hcd_drv_suspend(struct platform_device *pdev, pm_message_t message) { - struct usb_hcd *hcd = platform_get_drvdata(dev); + struct usb_hcd *hcd = platform_get_drvdata(pdev); struct ohci_hcd *ohci = hcd_to_ohci(hcd); struct spear_ohci *sohci_p = to_spear_ohci(hcd); + bool do_wakeup = device_may_wakeup(&pdev->dev); + int ret; if (time_before(jiffies, ohci->next_statechange)) msleep(5); ohci->next_statechange = jiffies; + ret = ohci_suspend(hcd, do_wakeup); + if (ret) + return ret; + clk_disable_unprepare(sohci_p->clk); - return 0; + return ret; } static int spear_ohci_hcd_drv_resume(struct platform_device *dev) diff --git a/drivers/usb/host/ohci-tilegx.c b/drivers/usb/host/ohci-tilegx.c index 22540ab71f55..0b183e0b0a8a 100644 --- a/drivers/usb/host/ohci-tilegx.c +++ b/drivers/usb/host/ohci-tilegx.c @@ -159,6 +159,7 @@ static int ohci_hcd_tilegx_drv_probe(struct platform_device *pdev) ret = usb_add_hcd(hcd, pdata->irq, IRQF_SHARED); if (ret == 0) { platform_set_drvdata(pdev, hcd); + device_wakeup_enable(hcd->self.controller); return ret; } diff --git a/drivers/usb/host/ohci-tmio.c b/drivers/usb/host/ohci-tmio.c index ecb09a5ada9c..9c44093b8e1e 100644 --- a/drivers/usb/host/ohci-tmio.c +++ b/drivers/usb/host/ohci-tmio.c @@ -250,6 +250,7 @@ static int ohci_hcd_tmio_drv_probe(struct platform_device *dev) if (ret) goto err_add_hcd; + device_wakeup_enable(hcd->self.controller); if (ret == 0) return ret; diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index e2e5faa5a402..9250cada13f0 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -415,12 +415,11 @@ struct ohci_hcd { struct ed *ed_to_check; unsigned zf_delay; -#ifdef DEBUG struct dentry *debug_dir; struct dentry *debug_async; struct dentry *debug_periodic; struct dentry *debug_registers; -#endif + /* platform-specific data -- must come last */ unsigned long priv[0] __aligned(sizeof(s64)); @@ -474,10 +473,6 @@ static inline struct usb_hcd *ohci_to_hcd (const struct ohci_hcd *ohci) /*-------------------------------------------------------------------------*/ -#ifndef DEBUG -#define STUB_DEBUG_FILES -#endif /* DEBUG */ - #define ohci_dbg(ohci, fmt, args...) \ dev_dbg (ohci_to_hcd(ohci)->self.controller , fmt , ## args ) #define ohci_err(ohci, fmt, args...) \ @@ -487,12 +482,6 @@ static inline struct usb_hcd *ohci_to_hcd (const struct ohci_hcd *ohci) #define ohci_warn(ohci, fmt, args...) \ dev_warn (ohci_to_hcd(ohci)->self.controller , fmt , ## args ) -#ifdef OHCI_VERBOSE_DEBUG -# define ohci_vdbg ohci_dbg -#else -# define ohci_vdbg(ohci, fmt, args...) do { } while (0) -#endif - /*-------------------------------------------------------------------------*/ /* diff --git a/drivers/usb/host/oxu210hp-hcd.c b/drivers/usb/host/oxu210hp-hcd.c index 4a6df2d8f902..778eeaf2dd14 100644 --- a/drivers/usb/host/oxu210hp-hcd.c +++ b/drivers/usb/host/oxu210hp-hcd.c @@ -60,6 +60,10 @@ #define oxu_info(oxu, fmt, args...) \ dev_info(oxu_to_hcd(oxu)->self.controller , fmt , ## args) +#ifdef CONFIG_DYNAMIC_DEBUG +#define DEBUG +#endif + static inline struct usb_hcd *oxu_to_hcd(struct oxu_hcd *oxu) { return container_of((void *) oxu, struct usb_hcd, hcd_priv); @@ -3747,6 +3751,7 @@ static struct usb_hcd *oxu_create(struct platform_device *pdev, if (ret < 0) return ERR_PTR(ret); + device_wakeup_enable(hcd->self.controller); return hcd; } diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c index 2ad004ae747c..47b1322c7a77 100644 --- a/drivers/usb/host/r8a66597-hcd.c +++ b/drivers/usb/host/r8a66597-hcd.c @@ -2514,6 +2514,7 @@ static int r8a66597_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Failed to add hcd\n"); goto clean_up3; } + device_wakeup_enable(hcd->self.controller); return 0; @@ -2534,7 +2535,7 @@ static struct platform_driver r8a66597_driver = { .probe = r8a66597_probe, .remove = r8a66597_remove, .driver = { - .name = (char *) hcd_name, + .name = hcd_name, .owner = THIS_MODULE, .pm = R8A66597_DEV_PM_OPS, }, diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c index 79620c39217e..0115e7f51d94 100644 --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c @@ -1732,6 +1732,8 @@ sl811h_probe(struct platform_device *dev) if (retval != 0) goto err6; + device_wakeup_enable(hcd->self.controller); + create_debug_file(sl811); return retval; diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c index e402beb5a069..c0671750671f 100644 --- a/drivers/usb/host/u132-hcd.c +++ b/drivers/usb/host/u132-hcd.c @@ -3133,6 +3133,7 @@ static int u132_probe(struct platform_device *pdev) u132_u132_put_kref(u132); return retval; } else { + device_wakeup_enable(hcd->self.controller); u132_monitor_queue_work(u132, 100); return 0; } @@ -3217,7 +3218,7 @@ static struct platform_driver u132_platform_driver = { .suspend = u132_suspend, .resume = u132_resume, .driver = { - .name = (char *)hcd_name, + .name = hcd_name, .owner = THIS_MODULE, }, }; diff --git a/drivers/usb/host/uhci-debug.c b/drivers/usb/host/uhci-debug.c index 8e239cdd95d5..1b28a000d5c6 100644 --- a/drivers/usb/host/uhci-debug.c +++ b/drivers/usb/host/uhci-debug.c @@ -20,7 +20,7 @@ static struct dentry *uhci_debugfs_root; -#ifdef DEBUG +#ifdef CONFIG_DYNAMIC_DEBUG /* Handle REALLY large printks so we don't overflow buffers */ static void lprintk(char *buf) @@ -635,7 +635,7 @@ static const struct file_operations uhci_debug_operations = { #endif /* CONFIG_DEBUG_FS */ -#else /* DEBUG */ +#else /* CONFIG_DYNAMIC_DEBUG*/ static inline void lprintk(char *buf) {} diff --git a/drivers/usb/host/uhci-grlib.c b/drivers/usb/host/uhci-grlib.c index 53c23ff7d685..ab25dc397e8b 100644 --- a/drivers/usb/host/uhci-grlib.c +++ b/drivers/usb/host/uhci-grlib.c @@ -141,6 +141,7 @@ static int uhci_hcd_grlib_probe(struct platform_device *op) if (rv) goto err_uhci; + device_wakeup_enable(hcd->self.controller); return 0; err_uhci: diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index 4a86b63745b8..27f35e8f161b 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c @@ -69,18 +69,21 @@ MODULE_PARM_DESC(ignore_oc, "ignore hardware overcurrent indications"); * show all queues in /sys/kernel/debug/uhci/[pci_addr] * debug = 3, show all TDs in URBs when dumping */ -#ifdef DEBUG -#define DEBUG_CONFIGURED 1 +#ifdef CONFIG_DYNAMIC_DEBUG + static int debug = 1; module_param(debug, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug level"); +static char *errbuf; #else -#define DEBUG_CONFIGURED 0 -#define debug 0 + +#define debug 0 +#define errbuf NULL + #endif -static char *errbuf; + #define ERRBUF_LEN (32 * 1024) static struct kmem_cache *uhci_up_cachep; /* urb_priv */ @@ -516,13 +519,12 @@ static void release_uhci(struct uhci_hcd *uhci) { int i; - if (DEBUG_CONFIGURED) { - spin_lock_irq(&uhci->lock); - uhci->is_initialized = 0; - spin_unlock_irq(&uhci->lock); - debugfs_remove(uhci->dentry); - } + spin_lock_irq(&uhci->lock); + uhci->is_initialized = 0; + spin_unlock_irq(&uhci->lock); + + debugfs_remove(uhci->dentry); for (i = 0; i < UHCI_NUM_SKELQH; i++) uhci_free_qh(uhci, uhci->skelqh[i]); @@ -868,14 +870,14 @@ static int __init uhci_hcd_init(void) ignore_oc ? ", overcurrent ignored" : ""); set_bit(USB_UHCI_LOADED, &usb_hcds_loaded); - if (DEBUG_CONFIGURED) { - errbuf = kmalloc(ERRBUF_LEN, GFP_KERNEL); - if (!errbuf) - goto errbuf_failed; - uhci_debugfs_root = debugfs_create_dir("uhci", usb_debug_root); - if (!uhci_debugfs_root) - goto debug_failed; - } +#ifdef CONFIG_DYNAMIC_DEBUG + errbuf = kmalloc(ERRBUF_LEN, GFP_KERNEL); + if (!errbuf) + goto errbuf_failed; + uhci_debugfs_root = debugfs_create_dir("uhci", usb_debug_root); + if (!uhci_debugfs_root) + goto debug_failed; +#endif uhci_up_cachep = kmem_cache_create("uhci_urb_priv", sizeof(struct urb_priv), 0, 0, NULL); @@ -906,12 +908,14 @@ clean0: kmem_cache_destroy(uhci_up_cachep); up_failed: +#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) debugfs_remove(uhci_debugfs_root); debug_failed: kfree(errbuf); errbuf_failed: +#endif clear_bit(USB_UHCI_LOADED, &usb_hcds_loaded); return retval; @@ -927,7 +931,9 @@ static void __exit uhci_hcd_cleanup(void) #endif kmem_cache_destroy(uhci_up_cachep); debugfs_remove(uhci_debugfs_root); +#ifdef CONFIG_DYNAMIC_DEBUG kfree(errbuf); +#endif clear_bit(USB_UHCI_LOADED, &usb_hcds_loaded); } diff --git a/drivers/usb/host/uhci-pci.c b/drivers/usb/host/uhci-pci.c index 4cd79888804b..940304c33224 100644 --- a/drivers/usb/host/uhci-pci.c +++ b/drivers/usb/host/uhci-pci.c @@ -279,7 +279,7 @@ static const struct hc_driver uhci_driver = { .hub_control = uhci_hub_control, }; -static DEFINE_PCI_DEVICE_TABLE(uhci_pci_ids) = { { +static const struct pci_device_id uhci_pci_ids[] = { { /* handle any USB UHCI controller */ PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_UHCI, ~0), .driver_data = (unsigned long) &uhci_driver, diff --git a/drivers/usb/host/uhci-platform.c b/drivers/usb/host/uhci-platform.c index 3003fefaa964..44e6c9da8892 100644 --- a/drivers/usb/host/uhci-platform.c +++ b/drivers/usb/host/uhci-platform.c @@ -108,6 +108,7 @@ static int uhci_hcd_platform_probe(struct platform_device *pdev) if (ret) goto err_uhci; + device_wakeup_enable(hcd->self.controller); return 0; err_uhci: diff --git a/drivers/usb/host/whci/hcd.c b/drivers/usb/host/whci/hcd.c index 1b0888f8da9a..d7b363a418de 100644 --- a/drivers/usb/host/whci/hcd.c +++ b/drivers/usb/host/whci/hcd.c @@ -293,6 +293,7 @@ static int whc_probe(struct umc_dev *umc) dev_err(dev, "cannot add HCD: %d\n", ret); goto error_usb_add_hcd; } + device_wakeup_enable(usb_hcd->self.controller); ret = wusbhc_b_create(wusbhc); if (ret) { diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c index 73503a81ee81..b016d38199f2 100644 --- a/drivers/usb/host/xhci-dbg.c +++ b/drivers/usb/host/xhci-dbg.c @@ -32,7 +32,7 @@ void xhci_dbg_regs(struct xhci_hcd *xhci) xhci_dbg(xhci, "// xHCI capability registers at %p:\n", xhci->cap_regs); - temp = xhci_readl(xhci, &xhci->cap_regs->hc_capbase); + temp = readl(&xhci->cap_regs->hc_capbase); xhci_dbg(xhci, "// @%p = 0x%x (CAPLENGTH AND HCIVERSION)\n", &xhci->cap_regs->hc_capbase, temp); xhci_dbg(xhci, "// CAPLENGTH: 0x%x\n", @@ -44,13 +44,13 @@ void xhci_dbg_regs(struct xhci_hcd *xhci) xhci_dbg(xhci, "// xHCI operational registers at %p:\n", xhci->op_regs); - temp = xhci_readl(xhci, &xhci->cap_regs->run_regs_off); + temp = readl(&xhci->cap_regs->run_regs_off); xhci_dbg(xhci, "// @%p = 0x%x RTSOFF\n", &xhci->cap_regs->run_regs_off, (unsigned int) temp & RTSOFF_MASK); xhci_dbg(xhci, "// xHCI runtime registers at %p:\n", xhci->run_regs); - temp = xhci_readl(xhci, &xhci->cap_regs->db_off); + temp = readl(&xhci->cap_regs->db_off); xhci_dbg(xhci, "// @%p = 0x%x DBOFF\n", &xhci->cap_regs->db_off, temp); xhci_dbg(xhci, "// Doorbell array at %p:\n", xhci->dba); } @@ -61,7 +61,7 @@ static void xhci_print_cap_regs(struct xhci_hcd *xhci) xhci_dbg(xhci, "xHCI capability registers at %p:\n", xhci->cap_regs); - temp = xhci_readl(xhci, &xhci->cap_regs->hc_capbase); + temp = readl(&xhci->cap_regs->hc_capbase); xhci_dbg(xhci, "CAPLENGTH AND HCIVERSION 0x%x:\n", (unsigned int) temp); xhci_dbg(xhci, "CAPLENGTH: 0x%x\n", @@ -69,7 +69,7 @@ static void xhci_print_cap_regs(struct xhci_hcd *xhci) xhci_dbg(xhci, "HCIVERSION: 0x%x\n", (unsigned int) HC_VERSION(temp)); - temp = xhci_readl(xhci, &xhci->cap_regs->hcs_params1); + temp = readl(&xhci->cap_regs->hcs_params1); xhci_dbg(xhci, "HCSPARAMS 1: 0x%x\n", (unsigned int) temp); xhci_dbg(xhci, " Max device slots: %u\n", @@ -79,7 +79,7 @@ static void xhci_print_cap_regs(struct xhci_hcd *xhci) xhci_dbg(xhci, " Max ports: %u\n", (unsigned int) HCS_MAX_PORTS(temp)); - temp = xhci_readl(xhci, &xhci->cap_regs->hcs_params2); + temp = readl(&xhci->cap_regs->hcs_params2); xhci_dbg(xhci, "HCSPARAMS 2: 0x%x\n", (unsigned int) temp); xhci_dbg(xhci, " Isoc scheduling threshold: %u\n", @@ -87,7 +87,7 @@ static void xhci_print_cap_regs(struct xhci_hcd *xhci) xhci_dbg(xhci, " Maximum allowed segments in event ring: %u\n", (unsigned int) HCS_ERST_MAX(temp)); - temp = xhci_readl(xhci, &xhci->cap_regs->hcs_params3); + temp = readl(&xhci->cap_regs->hcs_params3); xhci_dbg(xhci, "HCSPARAMS 3 0x%x:\n", (unsigned int) temp); xhci_dbg(xhci, " Worst case U1 device exit latency: %u\n", @@ -95,14 +95,14 @@ static void xhci_print_cap_regs(struct xhci_hcd *xhci) xhci_dbg(xhci, " Worst case U2 device exit latency: %u\n", (unsigned int) HCS_U2_LATENCY(temp)); - temp = xhci_readl(xhci, &xhci->cap_regs->hcc_params); + temp = readl(&xhci->cap_regs->hcc_params); xhci_dbg(xhci, "HCC PARAMS 0x%x:\n", (unsigned int) temp); xhci_dbg(xhci, " HC generates %s bit addresses\n", HCC_64BIT_ADDR(temp) ? "64" : "32"); /* FIXME */ xhci_dbg(xhci, " FIXME: more HCCPARAMS debugging\n"); - temp = xhci_readl(xhci, &xhci->cap_regs->run_regs_off); + temp = readl(&xhci->cap_regs->run_regs_off); xhci_dbg(xhci, "RTSOFF 0x%x:\n", temp & RTSOFF_MASK); } @@ -110,7 +110,7 @@ static void xhci_print_command_reg(struct xhci_hcd *xhci) { u32 temp; - temp = xhci_readl(xhci, &xhci->op_regs->command); + temp = readl(&xhci->op_regs->command); xhci_dbg(xhci, "USBCMD 0x%x:\n", temp); xhci_dbg(xhci, " HC is %s\n", (temp & CMD_RUN) ? "running" : "being stopped"); @@ -128,7 +128,7 @@ static void xhci_print_status(struct xhci_hcd *xhci) { u32 temp; - temp = xhci_readl(xhci, &xhci->op_regs->status); + temp = readl(&xhci->op_regs->status); xhci_dbg(xhci, "USBSTS 0x%x:\n", temp); xhci_dbg(xhci, " Event ring is %sempty\n", (temp & STS_EINT) ? "not " : ""); @@ -163,7 +163,7 @@ static void xhci_print_ports(struct xhci_hcd *xhci) for (j = 0; j < NUM_PORT_REGS; ++j) { xhci_dbg(xhci, "%p port %s reg = 0x%x\n", addr, names[j], - (unsigned int) xhci_readl(xhci, addr)); + (unsigned int) readl(addr)); addr++; } } @@ -177,7 +177,7 @@ void xhci_print_ir_set(struct xhci_hcd *xhci, int set_num) u64 temp_64; addr = &ir_set->irq_pending; - temp = xhci_readl(xhci, addr); + temp = readl(addr); if (temp == XHCI_INIT_VALUE) return; @@ -187,28 +187,28 @@ void xhci_print_ir_set(struct xhci_hcd *xhci, int set_num) (unsigned int)temp); addr = &ir_set->irq_control; - temp = xhci_readl(xhci, addr); + temp = readl(addr); xhci_dbg(xhci, " %p: ir_set.control = 0x%x\n", addr, (unsigned int)temp); addr = &ir_set->erst_size; - temp = xhci_readl(xhci, addr); + temp = readl(addr); xhci_dbg(xhci, " %p: ir_set.erst_size = 0x%x\n", addr, (unsigned int)temp); addr = &ir_set->rsvd; - temp = xhci_readl(xhci, addr); + temp = readl(addr); if (temp != XHCI_INIT_VALUE) xhci_dbg(xhci, " WARN: %p: ir_set.rsvd = 0x%x\n", addr, (unsigned int)temp); addr = &ir_set->erst_base; - temp_64 = xhci_read_64(xhci, addr); + temp_64 = readq(addr); xhci_dbg(xhci, " %p: ir_set.erst_base = @%08llx\n", addr, temp_64); addr = &ir_set->erst_dequeue; - temp_64 = xhci_read_64(xhci, addr); + temp_64 = readq(addr); xhci_dbg(xhci, " %p: ir_set.erst_dequeue = @%08llx\n", addr, temp_64); } @@ -219,12 +219,12 @@ void xhci_print_run_regs(struct xhci_hcd *xhci) int i; xhci_dbg(xhci, "xHCI runtime registers at %p:\n", xhci->run_regs); - temp = xhci_readl(xhci, &xhci->run_regs->microframe_index); + temp = readl(&xhci->run_regs->microframe_index); xhci_dbg(xhci, " %p: Microframe index = 0x%x\n", &xhci->run_regs->microframe_index, (unsigned int) temp); for (i = 0; i < 7; ++i) { - temp = xhci_readl(xhci, &xhci->run_regs->rsvd[i]); + temp = readl(&xhci->run_regs->rsvd[i]); if (temp != XHCI_INIT_VALUE) xhci_dbg(xhci, " WARN: %p: Rsvd[%i] = 0x%x\n", &xhci->run_regs->rsvd[i], @@ -412,7 +412,7 @@ void xhci_dbg_cmd_ptrs(struct xhci_hcd *xhci) { u64 val; - val = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); + val = readq(&xhci->op_regs->cmd_ring); xhci_dbg(xhci, "// xHC command ring deq ptr low bits + flags = @%08x\n", lower_32_bits(val)); xhci_dbg(xhci, "// xHC command ring deq ptr high bits = @%08x\n", diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c index 805f2348eeba..9992fbfec85f 100644 --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c @@ -94,7 +94,7 @@ static void xhci_usb2_hub_descriptor(struct usb_hcd *hcd, struct xhci_hcd *xhci, */ memset(port_removable, 0, sizeof(port_removable)); for (i = 0; i < ports; i++) { - portsc = xhci_readl(xhci, xhci->usb2_ports[i]); + portsc = readl(xhci->usb2_ports[i]); /* If a device is removable, PORTSC reports a 0, same as in the * hub descriptor DeviceRemovable bits. */ @@ -148,7 +148,7 @@ static void xhci_usb3_hub_descriptor(struct usb_hcd *hcd, struct xhci_hcd *xhci, port_removable = 0; /* bit 0 is reserved, bit 1 is for port 1, etc. */ for (i = 0; i < ports; i++) { - portsc = xhci_readl(xhci, xhci->usb3_ports[i]); + portsc = readl(xhci->usb3_ports[i]); if (portsc & PORT_DEV_REMOVE) port_removable |= 1 << (i + 1); } @@ -342,8 +342,8 @@ static void xhci_disable_port(struct usb_hcd *hcd, struct xhci_hcd *xhci, } /* Write 1 to disable the port */ - xhci_writel(xhci, port_status | PORT_PE, addr); - port_status = xhci_readl(xhci, addr); + writel(port_status | PORT_PE, addr); + port_status = readl(addr); xhci_dbg(xhci, "disable port, actual port %d status = 0x%x\n", wIndex, port_status); } @@ -388,8 +388,8 @@ static void xhci_clear_port_change_bit(struct xhci_hcd *xhci, u16 wValue, return; } /* Change bits are all write 1 to clear */ - xhci_writel(xhci, port_status | status, addr); - port_status = xhci_readl(xhci, addr); + writel(port_status | status, addr); + port_status = readl(addr); xhci_dbg(xhci, "clear port %s change, actual port %d status = 0x%x\n", port_change_bit, wIndex, port_status); } @@ -415,11 +415,11 @@ void xhci_set_link_state(struct xhci_hcd *xhci, __le32 __iomem **port_array, { u32 temp; - temp = xhci_readl(xhci, port_array[port_id]); + temp = readl(port_array[port_id]); temp = xhci_port_state_to_neutral(temp); temp &= ~PORT_PLS_MASK; temp |= PORT_LINK_STROBE | link_state; - xhci_writel(xhci, temp, port_array[port_id]); + writel(temp, port_array[port_id]); } static void xhci_set_remote_wake_mask(struct xhci_hcd *xhci, @@ -427,7 +427,7 @@ static void xhci_set_remote_wake_mask(struct xhci_hcd *xhci, { u32 temp; - temp = xhci_readl(xhci, port_array[port_id]); + temp = readl(port_array[port_id]); temp = xhci_port_state_to_neutral(temp); if (wake_mask & USB_PORT_FEAT_REMOTE_WAKE_CONNECT) @@ -445,7 +445,7 @@ static void xhci_set_remote_wake_mask(struct xhci_hcd *xhci, else temp &= ~PORT_WKOC_E; - xhci_writel(xhci, temp, port_array[port_id]); + writel(temp, port_array[port_id]); } /* Test and clear port RWC bit */ @@ -454,11 +454,11 @@ void xhci_test_and_clear_bit(struct xhci_hcd *xhci, __le32 __iomem **port_array, { u32 temp; - temp = xhci_readl(xhci, port_array[port_id]); + temp = readl(port_array[port_id]); if (temp & port_bit) { temp = xhci_port_state_to_neutral(temp); temp |= port_bit; - xhci_writel(xhci, temp, port_array[port_id]); + writel(temp, port_array[port_id]); } } @@ -623,8 +623,7 @@ static u32 xhci_get_port_status(struct usb_hcd *hcd, } xhci_ring_device(xhci, slot_id); } else { - int port_status = xhci_readl(xhci, - port_array[wIndex]); + int port_status = readl(port_array[wIndex]); xhci_warn(xhci, "Port resume took longer than %i msec, port status = 0x%x\n", XHCI_MAX_REXIT_TIMEOUT, port_status); @@ -733,12 +732,12 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, /* Set the U1 and U2 exit latencies. */ memcpy(buf, &usb_bos_descriptor, USB_DT_BOS_SIZE + USB_DT_USB_SS_CAP_SIZE); - temp = xhci_readl(xhci, &xhci->cap_regs->hcs_params3); + temp = readl(&xhci->cap_regs->hcs_params3); buf[12] = HCS_U1_LATENCY(temp); put_unaligned_le16(HCS_U2_LATENCY(temp), &buf[13]); /* Indicate whether the host has LTM support. */ - temp = xhci_readl(xhci, &xhci->cap_regs->hcc_params); + temp = readl(&xhci->cap_regs->hcc_params); if (HCC_LTC(temp)) buf[8] |= USB_LTM_SUPPORT; @@ -748,7 +747,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, if (!wIndex || wIndex > max_ports) goto error; wIndex--; - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); if (temp == 0xffffffff) { retval = -ENODEV; break; @@ -775,7 +774,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, if (!wIndex || wIndex > max_ports) goto error; wIndex--; - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); if (temp == 0xffffffff) { retval = -ENODEV; break; @@ -784,7 +783,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, /* FIXME: What new port features do we need to support? */ switch (wValue) { case USB_PORT_FEAT_SUSPEND: - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); if ((temp & PORT_PLS_MASK) != XDEV_U0) { /* Resume the port to U0 first */ xhci_set_link_state(xhci, port_array, wIndex, @@ -797,7 +796,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, * a port unless the port reports that it is in the * enabled (PED = ‘1’,PLS < ‘3’) state. */ - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); if ((temp & PORT_PE) == 0 || (temp & PORT_RESET) || (temp & PORT_PLS_MASK) >= XDEV_U3) { xhci_warn(xhci, "USB core suspending device " @@ -822,11 +821,11 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, msleep(10); /* wait device to enter */ spin_lock_irqsave(&xhci->lock, flags); - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); bus_state->suspended_ports |= 1 << wIndex; break; case USB_PORT_FEAT_LINK_STATE: - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); /* Disable port */ if (link_state == USB_SS_PORT_LS_SS_DISABLED) { @@ -839,9 +838,8 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, temp |= PORT_CSC | PORT_PEC | PORT_WRC | PORT_OCC | PORT_RC | PORT_PLC | PORT_CEC; - xhci_writel(xhci, temp | PORT_PE, - port_array[wIndex]); - temp = xhci_readl(xhci, port_array[wIndex]); + writel(temp | PORT_PE, port_array[wIndex]); + temp = readl(port_array[wIndex]); break; } @@ -850,7 +848,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, xhci_dbg(xhci, "Enable port %d\n", wIndex); xhci_set_link_state(xhci, port_array, wIndex, link_state); - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); break; } @@ -884,7 +882,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, msleep(20); /* wait device to enter */ spin_lock_irqsave(&xhci->lock, flags); - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); if (link_state == USB_SS_PORT_LS_U3) bus_state->suspended_ports |= 1 << wIndex; break; @@ -895,10 +893,9 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, * However, khubd will ignore the roothub events until * the roothub is registered. */ - xhci_writel(xhci, temp | PORT_POWER, - port_array[wIndex]); + writel(temp | PORT_POWER, port_array[wIndex]); - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); xhci_dbg(xhci, "set port power, actual port %d status = 0x%x\n", wIndex, temp); spin_unlock_irqrestore(&xhci->lock, flags); @@ -911,52 +908,52 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, break; case USB_PORT_FEAT_RESET: temp = (temp | PORT_RESET); - xhci_writel(xhci, temp, port_array[wIndex]); + writel(temp, port_array[wIndex]); - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); xhci_dbg(xhci, "set port reset, actual port %d status = 0x%x\n", wIndex, temp); break; case USB_PORT_FEAT_REMOTE_WAKE_MASK: xhci_set_remote_wake_mask(xhci, port_array, wIndex, wake_mask); - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); xhci_dbg(xhci, "set port remote wake mask, " "actual port %d status = 0x%x\n", wIndex, temp); break; case USB_PORT_FEAT_BH_PORT_RESET: temp |= PORT_WR; - xhci_writel(xhci, temp, port_array[wIndex]); + writel(temp, port_array[wIndex]); - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); break; case USB_PORT_FEAT_U1_TIMEOUT: if (hcd->speed != HCD_USB3) goto error; - temp = xhci_readl(xhci, port_array[wIndex] + PORTPMSC); + temp = readl(port_array[wIndex] + PORTPMSC); temp &= ~PORT_U1_TIMEOUT_MASK; temp |= PORT_U1_TIMEOUT(timeout); - xhci_writel(xhci, temp, port_array[wIndex] + PORTPMSC); + writel(temp, port_array[wIndex] + PORTPMSC); break; case USB_PORT_FEAT_U2_TIMEOUT: if (hcd->speed != HCD_USB3) goto error; - temp = xhci_readl(xhci, port_array[wIndex] + PORTPMSC); + temp = readl(port_array[wIndex] + PORTPMSC); temp &= ~PORT_U2_TIMEOUT_MASK; temp |= PORT_U2_TIMEOUT(timeout); - xhci_writel(xhci, temp, port_array[wIndex] + PORTPMSC); + writel(temp, port_array[wIndex] + PORTPMSC); break; default: goto error; } /* unblock any posted writes */ - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); break; case ClearPortFeature: if (!wIndex || wIndex > max_ports) goto error; wIndex--; - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); if (temp == 0xffffffff) { retval = -ENODEV; break; @@ -965,7 +962,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, temp = xhci_port_state_to_neutral(temp); switch (wValue) { case USB_PORT_FEAT_SUSPEND: - temp = xhci_readl(xhci, port_array[wIndex]); + temp = readl(port_array[wIndex]); xhci_dbg(xhci, "clear USB_PORT_FEAT_SUSPEND\n"); xhci_dbg(xhci, "PORTSC %04x\n", temp); if (temp & PORT_RESET) @@ -1008,8 +1005,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, port_array[wIndex], temp); break; case USB_PORT_FEAT_POWER: - xhci_writel(xhci, temp & ~PORT_POWER, - port_array[wIndex]); + writel(temp & ~PORT_POWER, port_array[wIndex]); spin_unlock_irqrestore(&xhci->lock, flags); temp = usb_acpi_power_manageable(hcd->self.root_hub, @@ -1070,7 +1066,7 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf) spin_lock_irqsave(&xhci->lock, flags); /* For each port, did anything change? If so, set that bit in buf. */ for (i = 0; i < max_ports; i++) { - temp = xhci_readl(xhci, port_array[i]); + temp = readl(port_array[i]); if (temp == 0xffffffff) { retval = -ENODEV; break; @@ -1124,7 +1120,7 @@ int xhci_bus_suspend(struct usb_hcd *hcd) u32 t1, t2; int slot_id; - t1 = xhci_readl(xhci, port_array[port_index]); + t1 = readl(port_array[port_index]); t2 = xhci_port_state_to_neutral(t1); if ((t1 & PORT_PE) && !(t1 & PORT_PLS_MASK)) { @@ -1157,7 +1153,7 @@ int xhci_bus_suspend(struct usb_hcd *hcd) t1 = xhci_port_state_to_neutral(t1); if (t1 != t2) - xhci_writel(xhci, t2, port_array[port_index]); + writel(t2, port_array[port_index]); } hcd->state = HC_STATE_SUSPENDED; bus_state->next_statechange = jiffies + msecs_to_jiffies(10); @@ -1187,9 +1183,9 @@ int xhci_bus_resume(struct usb_hcd *hcd) } /* delay the irqs */ - temp = xhci_readl(xhci, &xhci->op_regs->command); + temp = readl(&xhci->op_regs->command); temp &= ~CMD_EIE; - xhci_writel(xhci, temp, &xhci->op_regs->command); + writel(temp, &xhci->op_regs->command); port_index = max_ports; while (port_index--) { @@ -1198,7 +1194,7 @@ int xhci_bus_resume(struct usb_hcd *hcd) u32 temp; int slot_id; - temp = xhci_readl(xhci, port_array[port_index]); + temp = readl(port_array[port_index]); if (DEV_SUPERSPEED(temp)) temp &= ~(PORT_RWC_BITS | PORT_CEC | PORT_WAKE_BITS); else @@ -1235,17 +1231,17 @@ int xhci_bus_resume(struct usb_hcd *hcd) if (slot_id) xhci_ring_device(xhci, slot_id); } else - xhci_writel(xhci, temp, port_array[port_index]); + writel(temp, port_array[port_index]); } - (void) xhci_readl(xhci, &xhci->op_regs->command); + (void) readl(&xhci->op_regs->command); bus_state->next_statechange = jiffies + msecs_to_jiffies(5); /* re-enable irqs */ - temp = xhci_readl(xhci, &xhci->op_regs->command); + temp = readl(&xhci->op_regs->command); temp |= CMD_EIE; - xhci_writel(xhci, temp, &xhci->op_regs->command); - temp = xhci_readl(xhci, &xhci->op_regs->command); + writel(temp, &xhci->op_regs->command); + temp = readl(&xhci->op_regs->command); spin_unlock_irqrestore(&xhci->lock, flags); return 0; diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index 49b8bd063fab..873c272b3ef5 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c @@ -57,7 +57,7 @@ static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci, /* If the cycle state is 0, set the cycle bit to 1 for all the TRBs */ if (cycle_state == 0) { for (i = 0; i < TRBS_PER_SEGMENT; i++) - seg->trbs[i].link.control |= TRB_CYCLE; + seg->trbs[i].link.control |= cpu_to_le32(TRB_CYCLE); } seg->dma = dma; seg->next = NULL; @@ -308,7 +308,8 @@ static void xhci_reinit_cached_ring(struct xhci_hcd *xhci, sizeof(union xhci_trb)*TRBS_PER_SEGMENT); if (cycle_state == 0) { for (i = 0; i < TRBS_PER_SEGMENT; i++) - seg->trbs[i].link.control |= TRB_CYCLE; + seg->trbs[i].link.control |= + cpu_to_le32(TRB_CYCLE); } /* All endpoint rings have link TRBs */ xhci_link_segments(xhci, seg, seg->next, type); @@ -432,10 +433,10 @@ static void xhci_free_stream_ctx(struct xhci_hcd *xhci, unsigned int num_stream_ctxs, struct xhci_stream_ctx *stream_ctx, dma_addr_t dma) { - struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); + struct device *dev = xhci_to_hcd(xhci)->self.controller; if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE) - dma_free_coherent(&pdev->dev, + dma_free_coherent(dev, sizeof(struct xhci_stream_ctx)*num_stream_ctxs, stream_ctx, dma); else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE) @@ -460,10 +461,10 @@ static struct xhci_stream_ctx *xhci_alloc_stream_ctx(struct xhci_hcd *xhci, unsigned int num_stream_ctxs, dma_addr_t *dma, gfp_t mem_flags) { - struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); + struct device *dev = xhci_to_hcd(xhci)->self.controller; if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE) - return dma_alloc_coherent(&pdev->dev, + return dma_alloc_coherent(dev, sizeof(struct xhci_stream_ctx)*num_stream_ctxs, dma, mem_flags); else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE) @@ -721,8 +722,7 @@ void xhci_free_stream_info(struct xhci_hcd *xhci, stream_info->stream_ctx_array, stream_info->ctx_array_dma); - if (stream_info) - kfree(stream_info->stream_rings); + kfree(stream_info->stream_rings); kfree(stream_info); } @@ -1616,7 +1616,7 @@ static void scratchpad_free(struct xhci_hcd *xhci) { int num_sp; int i; - struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); + struct device *dev = xhci_to_hcd(xhci)->self.controller; if (!xhci->scratchpad) return; @@ -1624,13 +1624,13 @@ static void scratchpad_free(struct xhci_hcd *xhci) num_sp = HCS_MAX_SCRATCHPAD(xhci->hcs_params2); for (i = 0; i < num_sp; i++) { - dma_free_coherent(&pdev->dev, xhci->page_size, + dma_free_coherent(dev, xhci->page_size, xhci->scratchpad->sp_buffers[i], xhci->scratchpad->sp_dma_buffers[i]); } kfree(xhci->scratchpad->sp_dma_buffers); kfree(xhci->scratchpad->sp_buffers); - dma_free_coherent(&pdev->dev, num_sp * sizeof(u64), + dma_free_coherent(dev, num_sp * sizeof(u64), xhci->scratchpad->sp_array, xhci->scratchpad->sp_dma); kfree(xhci->scratchpad); @@ -1692,7 +1692,7 @@ void xhci_free_command(struct xhci_hcd *xhci, void xhci_mem_cleanup(struct xhci_hcd *xhci) { - struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); + struct device *dev = xhci_to_hcd(xhci)->self.controller; struct xhci_cd *cur_cd, *next_cd; int size; int i, j, num_ports; @@ -1700,7 +1700,7 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci) /* Free the Event Ring Segment Table and the actual Event Ring */ size = sizeof(struct xhci_erst_entry)*(xhci->erst.num_entries); if (xhci->erst.entries) - dma_free_coherent(&pdev->dev, size, + dma_free_coherent(dev, size, xhci->erst.entries, xhci->erst.erst_dma_addr); xhci->erst.entries = NULL; xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Freed ERST"); @@ -1748,7 +1748,7 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci) "Freed medium stream array pool"); if (xhci->dcbaa) - dma_free_coherent(&pdev->dev, sizeof(*xhci->dcbaa), + dma_free_coherent(dev, sizeof(*xhci->dcbaa), xhci->dcbaa, xhci->dcbaa->dma); xhci->dcbaa = NULL; @@ -1958,7 +1958,7 @@ static void xhci_set_hc_event_deq(struct xhci_hcd *xhci) xhci_warn(xhci, "WARN something wrong with SW event ring " "dequeue ptr.\n"); /* Update HC event ring dequeue pointer */ - temp = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue); + temp = readq(&xhci->ir_set->erst_dequeue); temp &= ERST_PTR_MASK; /* Don't clear the EHB bit (which is RW1C) because * there might be more events to service. @@ -1967,7 +1967,7 @@ static void xhci_set_hc_event_deq(struct xhci_hcd *xhci) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Write event ring dequeue pointer, " "preserving EHB bit"); - xhci_write_64(xhci, ((u64) deq & (u64) ~ERST_PTR_MASK) | temp, + writeq(((u64) deq & (u64) ~ERST_PTR_MASK) | temp, &xhci->ir_set->erst_dequeue); } @@ -1986,7 +1986,7 @@ static void xhci_add_in_port(struct xhci_hcd *xhci, unsigned int num_ports, } /* Port offset and count in the third dword, see section 7.2 */ - temp = xhci_readl(xhci, addr + 2); + temp = readl(addr + 2); port_offset = XHCI_EXT_PORT_OFF(temp); port_count = XHCI_EXT_PORT_COUNT(temp); xhci_dbg_trace(xhci, trace_xhci_dbg_init, @@ -2069,7 +2069,7 @@ static int xhci_setup_port_arrays(struct xhci_hcd *xhci, gfp_t flags) int cap_count = 0; addr = &xhci->cap_regs->hcc_params; - offset = XHCI_HCC_EXT_CAPS(xhci_readl(xhci, addr)); + offset = XHCI_HCC_EXT_CAPS(readl(addr)); if (offset == 0) { xhci_err(xhci, "No Extended Capability registers, " "unable to set up roothub.\n"); @@ -2106,7 +2106,7 @@ static int xhci_setup_port_arrays(struct xhci_hcd *xhci, gfp_t flags) /* count extended protocol capability entries for later caching */ do { u32 cap_id; - cap_id = xhci_readl(xhci, tmp_addr); + cap_id = readl(tmp_addr); if (XHCI_EXT_CAPS_ID(cap_id) == XHCI_EXT_CAPS_PROTOCOL) cap_count++; tmp_offset = XHCI_EXT_CAPS_NEXT(cap_id); @@ -2120,7 +2120,7 @@ static int xhci_setup_port_arrays(struct xhci_hcd *xhci, gfp_t flags) while (1) { u32 cap_id; - cap_id = xhci_readl(xhci, addr); + cap_id = readl(addr); if (XHCI_EXT_CAPS_ID(cap_id) == XHCI_EXT_CAPS_PROTOCOL) xhci_add_in_port(xhci, num_ports, addr, (u8) XHCI_EXT_PORT_MAJOR(cap_id), @@ -2224,7 +2224,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) INIT_LIST_HEAD(&xhci->cancel_cmd_list); - page_size = xhci_readl(xhci, &xhci->op_regs->page_size); + page_size = readl(&xhci->op_regs->page_size); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Supported page size register = 0x%x", page_size); for (i = 0; i < 16; i++) { @@ -2247,14 +2247,14 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) * Program the Number of Device Slots Enabled field in the CONFIG * register with the max value of slots the HC can handle. */ - val = HCS_MAX_SLOTS(xhci_readl(xhci, &xhci->cap_regs->hcs_params1)); + val = HCS_MAX_SLOTS(readl(&xhci->cap_regs->hcs_params1)); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// xHC can handle at most %d device slots.", val); - val2 = xhci_readl(xhci, &xhci->op_regs->config_reg); + val2 = readl(&xhci->op_regs->config_reg); val |= (val2 & ~HCS_SLOTS_MASK); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Setting Max device slots reg = 0x%x.", val); - xhci_writel(xhci, val, &xhci->op_regs->config_reg); + writel(val, &xhci->op_regs->config_reg); /* * Section 5.4.8 - doorbell array must be @@ -2269,7 +2269,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Device context base array address = 0x%llx (DMA), %p (virt)", (unsigned long long)xhci->dcbaa->dma, xhci->dcbaa); - xhci_write_64(xhci, dma, &xhci->op_regs->dcbaa_ptr); + writeq(dma, &xhci->op_regs->dcbaa_ptr); /* * Initialize the ring segment pool. The ring must be a contiguous @@ -2312,13 +2312,13 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) (unsigned long long)xhci->cmd_ring->first_seg->dma); /* Set the address in the Command Ring Control register */ - val_64 = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); + val_64 = readq(&xhci->op_regs->cmd_ring); val_64 = (val_64 & (u64) CMD_RING_RSVD_BITS) | (xhci->cmd_ring->first_seg->dma & (u64) ~CMD_RING_RSVD_BITS) | xhci->cmd_ring->cycle_state; xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Setting command ring address to 0x%x", val); - xhci_write_64(xhci, val_64, &xhci->op_regs->cmd_ring); + writeq(val_64, &xhci->op_regs->cmd_ring); xhci_dbg_cmd_ptrs(xhci); xhci->lpm_command = xhci_alloc_command(xhci, true, true, flags); @@ -2331,7 +2331,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) */ xhci->cmd_ring_reserved_trbs++; - val = xhci_readl(xhci, &xhci->cap_regs->db_off); + val = readl(&xhci->cap_regs->db_off); val &= DBOFF_MASK; xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Doorbell array is located at offset 0x%x" @@ -2382,13 +2382,13 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) } /* set ERST count with the number of entries in the segment table */ - val = xhci_readl(xhci, &xhci->ir_set->erst_size); + val = readl(&xhci->ir_set->erst_size); val &= ERST_SIZE_MASK; val |= ERST_NUM_SEGS; xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Write ERST size = %i to ir_set 0 (some bits preserved)", val); - xhci_writel(xhci, val, &xhci->ir_set->erst_size); + writel(val, &xhci->ir_set->erst_size); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Set ERST entries to point to event ring."); @@ -2396,10 +2396,10 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Set ERST base address for ir_set 0 = 0x%llx", (unsigned long long)xhci->erst.erst_dma_addr); - val_64 = xhci_read_64(xhci, &xhci->ir_set->erst_base); + val_64 = readq(&xhci->ir_set->erst_base); val_64 &= ERST_PTR_MASK; val_64 |= (xhci->erst.erst_dma_addr & (u64) ~ERST_PTR_MASK); - xhci_write_64(xhci, val_64, &xhci->ir_set->erst_base); + writeq(val_64, &xhci->ir_set->erst_base); /* Set the event ring dequeue address */ xhci_set_hc_event_deq(xhci); @@ -2431,10 +2431,10 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) * is necessary for allowing USB 3.0 devices to do remote wakeup from * U3 (device suspend). */ - temp = xhci_readl(xhci, &xhci->op_regs->dev_notification); + temp = readl(&xhci->op_regs->dev_notification); temp &= ~DEV_NOTE_MASK; temp |= DEV_NOTE_FWAKE; - xhci_writel(xhci, temp, &xhci->op_regs->dev_notification); + writel(temp, &xhci->op_regs->dev_notification); return 0; diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index b8dffd59eb25..4221dee924b5 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c @@ -331,6 +331,7 @@ static const struct hc_driver xhci_pci_hc_driver = { .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, .address_device = xhci_address_device, + .enable_device = xhci_enable_device, .update_hub_device = xhci_update_hub_device, .reset_device = xhci_discover_or_reset_device, diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index d9c169f470d3..8abda5c73ca1 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -69,6 +69,7 @@ static const struct hc_driver xhci_plat_xhci_driver = { .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, .address_device = xhci_address_device, + .enable_device = xhci_enable_device, .update_hub_device = xhci_update_hub_device, .reset_device = xhci_discover_or_reset_device, @@ -139,6 +140,7 @@ static int xhci_plat_probe(struct platform_device *pdev) ret = usb_add_hcd(hcd, irq, IRQF_SHARED); if (ret) goto unmap_registers; + device_wakeup_enable(hcd->self.controller); /* USB 2.0 roothub is stored in the platform_device now. */ hcd = platform_get_drvdata(pdev); diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index 53c2e296467f..c06df38b57b0 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -295,9 +295,9 @@ void xhci_ring_cmd_db(struct xhci_hcd *xhci) return; xhci_dbg(xhci, "// Ding dong!\n"); - xhci_writel(xhci, DB_VALUE_HOST, &xhci->dba->doorbell[0]); + writel(DB_VALUE_HOST, &xhci->dba->doorbell[0]); /* Flush PCI posted writes */ - xhci_readl(xhci, &xhci->dba->doorbell[0]); + readl(&xhci->dba->doorbell[0]); } static int xhci_abort_cmd_ring(struct xhci_hcd *xhci) @@ -313,14 +313,13 @@ static int xhci_abort_cmd_ring(struct xhci_hcd *xhci) return 0; } - temp_64 = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); + temp_64 = readq(&xhci->op_regs->cmd_ring); if (!(temp_64 & CMD_RING_RUNNING)) { xhci_dbg(xhci, "Command ring had been stopped\n"); return 0; } xhci->cmd_ring_state = CMD_RING_STATE_ABORTED; - xhci_write_64(xhci, temp_64 | CMD_RING_ABORT, - &xhci->op_regs->cmd_ring); + writeq(temp_64 | CMD_RING_ABORT, &xhci->op_regs->cmd_ring); /* Section 4.6.1.2 of xHCI 1.0 spec says software should * time the completion od all xHCI commands, including @@ -427,7 +426,7 @@ void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, if ((ep_state & EP_HALT_PENDING) || (ep_state & SET_DEQ_PENDING) || (ep_state & EP_HALTED)) return; - xhci_writel(xhci, DB_VALUE(ep_index, stream_id), db_addr); + writel(DB_VALUE(ep_index, stream_id), db_addr); /* The CPU has better things to do at this point than wait for a * write-posting flush. It'll get there soon enough. */ @@ -1655,7 +1654,7 @@ static void handle_device_notification(struct xhci_hcd *xhci, u32 slot_id; struct usb_device *udev; - slot_id = TRB_TO_SLOT_ID(event->generic.field[3]); + slot_id = TRB_TO_SLOT_ID(le32_to_cpu(event->generic.field[3])); if (!xhci->devs[slot_id]) { xhci_warn(xhci, "Device Notification event for " "unused slot %u\n", slot_id); @@ -1739,7 +1738,7 @@ static void handle_port_status(struct xhci_hcd *xhci, faked_port_index = find_faked_portnum_from_hw_portnum(hcd, xhci, port_id); - temp = xhci_readl(xhci, port_array[faked_port_index]); + temp = readl(port_array[faked_port_index]); if (hcd->state == HC_STATE_SUSPENDED) { xhci_dbg(xhci, "resume root hub\n"); usb_hcd_resume_root_hub(hcd); @@ -1748,7 +1747,7 @@ static void handle_port_status(struct xhci_hcd *xhci, if ((temp & PORT_PLC) && (temp & PORT_PLS_MASK) == XDEV_RESUME) { xhci_dbg(xhci, "port resume event for port %d\n", port_id); - temp1 = xhci_readl(xhci, &xhci->op_regs->command); + temp1 = readl(&xhci->op_regs->command); if (!(temp1 & CMD_RUN)) { xhci_warn(xhci, "xHC is not running.\n"); goto cleanup; @@ -2831,7 +2830,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd) spin_lock(&xhci->lock); /* Check if the xHC generated the interrupt, or the irq is shared */ - status = xhci_readl(xhci, &xhci->op_regs->status); + status = readl(&xhci->op_regs->status); if (status == 0xffffffff) goto hw_died; @@ -2853,16 +2852,16 @@ hw_died: * Write 1 to clear the interrupt status. */ status |= STS_EINT; - xhci_writel(xhci, status, &xhci->op_regs->status); + writel(status, &xhci->op_regs->status); /* FIXME when MSI-X is supported and there are multiple vectors */ /* Clear the MSI-X event interrupt status */ if (hcd->irq) { u32 irq_pending; /* Acknowledge the PCI interrupt */ - irq_pending = xhci_readl(xhci, &xhci->ir_set->irq_pending); + irq_pending = readl(&xhci->ir_set->irq_pending); irq_pending |= IMAN_IP; - xhci_writel(xhci, irq_pending, &xhci->ir_set->irq_pending); + writel(irq_pending, &xhci->ir_set->irq_pending); } if (xhci->xhc_state & XHCI_STATE_DYING) { @@ -2871,9 +2870,8 @@ hw_died: /* Clear the event handler busy flag (RW1C); * the event ring should be empty. */ - temp_64 = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue); - xhci_write_64(xhci, temp_64 | ERST_EHB, - &xhci->ir_set->erst_dequeue); + temp_64 = readq(&xhci->ir_set->erst_dequeue); + writeq(temp_64 | ERST_EHB, &xhci->ir_set->erst_dequeue); spin_unlock(&xhci->lock); return IRQ_HANDLED; @@ -2885,7 +2883,7 @@ hw_died: */ while (xhci_handle_event(xhci) > 0) {} - temp_64 = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue); + temp_64 = readq(&xhci->ir_set->erst_dequeue); /* If necessary, update the HW's version of the event ring deq ptr. */ if (event_ring_deq != xhci->event_ring->dequeue) { deq = xhci_trb_virt_to_dma(xhci->event_ring->deq_seg, @@ -2900,7 +2898,7 @@ hw_died: /* Clear the event handler busy flag (RW1C); event ring is empty. */ temp_64 |= ERST_EHB; - xhci_write_64(xhci, temp_64, &xhci->ir_set->erst_dequeue); + writeq(temp_64, &xhci->ir_set->erst_dequeue); spin_unlock(&xhci->lock); @@ -3981,7 +3979,7 @@ int xhci_queue_isoc_tx_prepare(struct xhci_hcd *xhci, gfp_t mem_flags, if (ret) return ret; - start_frame = xhci_readl(xhci, &xhci->run_regs->microframe_index); + start_frame = readl(&xhci->run_regs->microframe_index); start_frame &= 0x3fff; urb->start_frame = start_frame; @@ -4056,12 +4054,12 @@ int xhci_queue_slot_control(struct xhci_hcd *xhci, u32 trb_type, u32 slot_id) /* Queue an address device command TRB */ int xhci_queue_address_device(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, - u32 slot_id) + u32 slot_id, enum xhci_setup_dev setup) { return queue_command(xhci, lower_32_bits(in_ctx_ptr), upper_32_bits(in_ctx_ptr), 0, - TRB_TYPE(TRB_ADDR_DEV) | SLOT_ID_FOR_TRB(slot_id), - false); + TRB_TYPE(TRB_ADDR_DEV) | SLOT_ID_FOR_TRB(slot_id) + | (setup == SETUP_CONTEXT_ONLY ? TRB_BSR : 0), false); } int xhci_queue_vendor_command(struct xhci_hcd *xhci, diff --git a/drivers/usb/host/xhci-trace.h b/drivers/usb/host/xhci-trace.h index 20364cc8d2fb..dde3959b7a33 100644 --- a/drivers/usb/host/xhci-trace.h +++ b/drivers/usb/host/xhci-trace.h @@ -116,12 +116,12 @@ DECLARE_EVENT_CLASS(xhci_log_event, __field(u64, dma) __field(u32, status) __field(u32, flags) - __dynamic_array(__le32, trb, 4) + __dynamic_array(u8, trb, sizeof(struct xhci_generic_trb)) ), TP_fast_assign( __entry->va = trb_va; - __entry->dma = le64_to_cpu(((u64)ev->field[1]) << 32 | - ev->field[0]); + __entry->dma = ((u64)le32_to_cpu(ev->field[1])) << 32 | + le32_to_cpu(ev->field[0]); __entry->status = le32_to_cpu(ev->field[2]); __entry->flags = le32_to_cpu(ev->field[3]); memcpy(__get_dynamic_array(trb), trb_va, diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 4265b48856f6..d68ec1aa473d 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -60,7 +60,7 @@ int xhci_handshake(struct xhci_hcd *xhci, void __iomem *ptr, u32 result; do { - result = xhci_readl(xhci, ptr); + result = readl(ptr); if (result == ~(u32)0) /* card removed */ return -ENODEV; result &= mask; @@ -82,13 +82,13 @@ void xhci_quiesce(struct xhci_hcd *xhci) u32 mask; mask = ~(XHCI_IRQS); - halted = xhci_readl(xhci, &xhci->op_regs->status) & STS_HALT; + halted = readl(&xhci->op_regs->status) & STS_HALT; if (!halted) mask &= ~CMD_RUN; - cmd = xhci_readl(xhci, &xhci->op_regs->command); + cmd = readl(&xhci->op_regs->command); cmd &= mask; - xhci_writel(xhci, cmd, &xhci->op_regs->command); + writel(cmd, &xhci->op_regs->command); } /* @@ -124,11 +124,11 @@ static int xhci_start(struct xhci_hcd *xhci) u32 temp; int ret; - temp = xhci_readl(xhci, &xhci->op_regs->command); + temp = readl(&xhci->op_regs->command); temp |= (CMD_RUN); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Turn on HC, cmd = 0x%x.", temp); - xhci_writel(xhci, temp, &xhci->op_regs->command); + writel(temp, &xhci->op_regs->command); /* * Wait for the HCHalted Status bit to be 0 to indicate the host is @@ -158,16 +158,16 @@ int xhci_reset(struct xhci_hcd *xhci) u32 state; int ret, i; - state = xhci_readl(xhci, &xhci->op_regs->status); + state = readl(&xhci->op_regs->status); if ((state & STS_HALT) == 0) { xhci_warn(xhci, "Host controller not halted, aborting reset.\n"); return 0; } xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Reset the HC"); - command = xhci_readl(xhci, &xhci->op_regs->command); + command = readl(&xhci->op_regs->command); command |= CMD_RESET; - xhci_writel(xhci, command, &xhci->op_regs->command); + writel(command, &xhci->op_regs->command); ret = xhci_handshake(xhci, &xhci->op_regs->command, CMD_RESET, 0, 10 * 1000 * 1000); @@ -422,7 +422,7 @@ static void compliance_mode_recovery(unsigned long arg) xhci = (struct xhci_hcd *)arg; for (i = 0; i < xhci->num_usb3_ports; i++) { - temp = xhci_readl(xhci, xhci->usb3_ports[i]); + temp = readl(xhci->usb3_ports[i]); if ((temp & PORT_PLS_MASK) == USB_SS_PORT_LS_COMP_MOD) { /* * Compliance Mode Detected. Letting USB Core @@ -604,31 +604,30 @@ int xhci_run(struct usb_hcd *hcd) xhci_dbg(xhci, "Event ring:\n"); xhci_debug_ring(xhci, xhci->event_ring); xhci_dbg_ring_ptrs(xhci, xhci->event_ring); - temp_64 = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue); + temp_64 = readq(&xhci->ir_set->erst_dequeue); temp_64 &= ~ERST_PTR_MASK; xhci_dbg_trace(xhci, trace_xhci_dbg_init, "ERST deq = 64'h%0lx", (long unsigned int) temp_64); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Set the interrupt modulation register"); - temp = xhci_readl(xhci, &xhci->ir_set->irq_control); + temp = readl(&xhci->ir_set->irq_control); temp &= ~ER_IRQ_INTERVAL_MASK; temp |= (u32) 160; - xhci_writel(xhci, temp, &xhci->ir_set->irq_control); + writel(temp, &xhci->ir_set->irq_control); /* Set the HCD state before we enable the irqs */ - temp = xhci_readl(xhci, &xhci->op_regs->command); + temp = readl(&xhci->op_regs->command); temp |= (CMD_EIE); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Enable interrupts, cmd = 0x%x.", temp); - xhci_writel(xhci, temp, &xhci->op_regs->command); + writel(temp, &xhci->op_regs->command); - temp = xhci_readl(xhci, &xhci->ir_set->irq_pending); + temp = readl(&xhci->ir_set->irq_pending); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Enabling event ring interrupter %p by writing 0x%x to irq_pending", xhci->ir_set, (unsigned int) ER_IRQ_ENABLE(temp)); - xhci_writel(xhci, ER_IRQ_ENABLE(temp), - &xhci->ir_set->irq_pending); + writel(ER_IRQ_ENABLE(temp), &xhci->ir_set->irq_pending); xhci_print_ir_set(xhci, 0); if (xhci->quirks & XHCI_NEC_HOST) @@ -698,18 +697,17 @@ void xhci_stop(struct usb_hcd *hcd) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Disabling event ring interrupts"); - temp = xhci_readl(xhci, &xhci->op_regs->status); - xhci_writel(xhci, temp & ~STS_EINT, &xhci->op_regs->status); - temp = xhci_readl(xhci, &xhci->ir_set->irq_pending); - xhci_writel(xhci, ER_IRQ_DISABLE(temp), - &xhci->ir_set->irq_pending); + temp = readl(&xhci->op_regs->status); + writel(temp & ~STS_EINT, &xhci->op_regs->status); + temp = readl(&xhci->ir_set->irq_pending); + writel(ER_IRQ_DISABLE(temp), &xhci->ir_set->irq_pending); xhci_print_ir_set(xhci, 0); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "cleaning up memory"); xhci_mem_cleanup(xhci); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "xhci_stop completed - status = %x", - xhci_readl(xhci, &xhci->op_regs->status)); + readl(&xhci->op_regs->status)); } /* @@ -739,7 +737,7 @@ void xhci_shutdown(struct usb_hcd *hcd) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "xhci_shutdown completed - status = %x", - xhci_readl(xhci, &xhci->op_regs->status)); + readl(&xhci->op_regs->status)); /* Yet another workaround for spurious wakeups at shutdown with HSW */ if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) @@ -749,28 +747,28 @@ void xhci_shutdown(struct usb_hcd *hcd) #ifdef CONFIG_PM static void xhci_save_registers(struct xhci_hcd *xhci) { - xhci->s3.command = xhci_readl(xhci, &xhci->op_regs->command); - xhci->s3.dev_nt = xhci_readl(xhci, &xhci->op_regs->dev_notification); - xhci->s3.dcbaa_ptr = xhci_read_64(xhci, &xhci->op_regs->dcbaa_ptr); - xhci->s3.config_reg = xhci_readl(xhci, &xhci->op_regs->config_reg); - xhci->s3.erst_size = xhci_readl(xhci, &xhci->ir_set->erst_size); - xhci->s3.erst_base = xhci_read_64(xhci, &xhci->ir_set->erst_base); - xhci->s3.erst_dequeue = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue); - xhci->s3.irq_pending = xhci_readl(xhci, &xhci->ir_set->irq_pending); - xhci->s3.irq_control = xhci_readl(xhci, &xhci->ir_set->irq_control); + xhci->s3.command = readl(&xhci->op_regs->command); + xhci->s3.dev_nt = readl(&xhci->op_regs->dev_notification); + xhci->s3.dcbaa_ptr = readq(&xhci->op_regs->dcbaa_ptr); + xhci->s3.config_reg = readl(&xhci->op_regs->config_reg); + xhci->s3.erst_size = readl(&xhci->ir_set->erst_size); + xhci->s3.erst_base = readq(&xhci->ir_set->erst_base); + xhci->s3.erst_dequeue = readq(&xhci->ir_set->erst_dequeue); + xhci->s3.irq_pending = readl(&xhci->ir_set->irq_pending); + xhci->s3.irq_control = readl(&xhci->ir_set->irq_control); } static void xhci_restore_registers(struct xhci_hcd *xhci) { - xhci_writel(xhci, xhci->s3.command, &xhci->op_regs->command); - xhci_writel(xhci, xhci->s3.dev_nt, &xhci->op_regs->dev_notification); - xhci_write_64(xhci, xhci->s3.dcbaa_ptr, &xhci->op_regs->dcbaa_ptr); - xhci_writel(xhci, xhci->s3.config_reg, &xhci->op_regs->config_reg); - xhci_writel(xhci, xhci->s3.erst_size, &xhci->ir_set->erst_size); - xhci_write_64(xhci, xhci->s3.erst_base, &xhci->ir_set->erst_base); - xhci_write_64(xhci, xhci->s3.erst_dequeue, &xhci->ir_set->erst_dequeue); - xhci_writel(xhci, xhci->s3.irq_pending, &xhci->ir_set->irq_pending); - xhci_writel(xhci, xhci->s3.irq_control, &xhci->ir_set->irq_control); + writel(xhci->s3.command, &xhci->op_regs->command); + writel(xhci->s3.dev_nt, &xhci->op_regs->dev_notification); + writeq(xhci->s3.dcbaa_ptr, &xhci->op_regs->dcbaa_ptr); + writel(xhci->s3.config_reg, &xhci->op_regs->config_reg); + writel(xhci->s3.erst_size, &xhci->ir_set->erst_size); + writeq(xhci->s3.erst_base, &xhci->ir_set->erst_base); + writeq(xhci->s3.erst_dequeue, &xhci->ir_set->erst_dequeue); + writel(xhci->s3.irq_pending, &xhci->ir_set->irq_pending); + writel(xhci->s3.irq_control, &xhci->ir_set->irq_control); } static void xhci_set_cmd_ring_deq(struct xhci_hcd *xhci) @@ -778,7 +776,7 @@ static void xhci_set_cmd_ring_deq(struct xhci_hcd *xhci) u64 val_64; /* step 2: initialize command ring buffer */ - val_64 = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); + val_64 = readq(&xhci->op_regs->cmd_ring); val_64 = (val_64 & (u64) CMD_RING_RSVD_BITS) | (xhci_trb_virt_to_dma(xhci->cmd_ring->deq_seg, xhci->cmd_ring->dequeue) & @@ -787,7 +785,7 @@ static void xhci_set_cmd_ring_deq(struct xhci_hcd *xhci) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Setting command ring address to 0x%llx", (long unsigned long) val_64); - xhci_write_64(xhci, val_64, &xhci->op_regs->cmd_ring); + writeq(val_64, &xhci->op_regs->cmd_ring); } /* @@ -866,9 +864,9 @@ int xhci_suspend(struct xhci_hcd *xhci) /* skipped assuming that port suspend has done */ /* step 2: clear Run/Stop bit */ - command = xhci_readl(xhci, &xhci->op_regs->command); + command = readl(&xhci->op_regs->command); command &= ~CMD_RUN; - xhci_writel(xhci, command, &xhci->op_regs->command); + writel(command, &xhci->op_regs->command); /* Some chips from Fresco Logic need an extraordinary delay */ delay *= (xhci->quirks & XHCI_SLOW_SUSPEND) ? 10 : 1; @@ -885,9 +883,9 @@ int xhci_suspend(struct xhci_hcd *xhci) xhci_save_registers(xhci); /* step 4: set CSS flag */ - command = xhci_readl(xhci, &xhci->op_regs->command); + command = readl(&xhci->op_regs->command); command |= CMD_CSS; - xhci_writel(xhci, command, &xhci->op_regs->command); + writel(command, &xhci->op_regs->command); if (xhci_handshake(xhci, &xhci->op_regs->status, STS_SAVE, 0, 10 * 1000)) { xhci_warn(xhci, "WARN: xHC save state timeout\n"); @@ -951,16 +949,16 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) xhci_set_cmd_ring_deq(xhci); /* step 3: restore state and start state*/ /* step 3: set CRS flag */ - command = xhci_readl(xhci, &xhci->op_regs->command); + command = readl(&xhci->op_regs->command); command |= CMD_CRS; - xhci_writel(xhci, command, &xhci->op_regs->command); + writel(command, &xhci->op_regs->command); if (xhci_handshake(xhci, &xhci->op_regs->status, STS_RESTORE, 0, 10 * 1000)) { xhci_warn(xhci, "WARN: xHC restore state timeout\n"); spin_unlock_irq(&xhci->lock); return -ETIMEDOUT; } - temp = xhci_readl(xhci, &xhci->op_regs->status); + temp = readl(&xhci->op_regs->status); } /* If restore operation fails, re-initialize the HC during resume */ @@ -984,17 +982,16 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) xhci_cleanup_msix(xhci); xhci_dbg(xhci, "// Disabling event ring interrupts\n"); - temp = xhci_readl(xhci, &xhci->op_regs->status); - xhci_writel(xhci, temp & ~STS_EINT, &xhci->op_regs->status); - temp = xhci_readl(xhci, &xhci->ir_set->irq_pending); - xhci_writel(xhci, ER_IRQ_DISABLE(temp), - &xhci->ir_set->irq_pending); + temp = readl(&xhci->op_regs->status); + writel(temp & ~STS_EINT, &xhci->op_regs->status); + temp = readl(&xhci->ir_set->irq_pending); + writel(ER_IRQ_DISABLE(temp), &xhci->ir_set->irq_pending); xhci_print_ir_set(xhci, 0); xhci_dbg(xhci, "cleaning up memory\n"); xhci_mem_cleanup(xhci); xhci_dbg(xhci, "xhci_stop completed - status = %x\n", - xhci_readl(xhci, &xhci->op_regs->status)); + readl(&xhci->op_regs->status)); /* USB core calls the PCI reinit and start functions twice: * first with the primary HCD, and then with the secondary HCD. @@ -1023,9 +1020,9 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) } /* step 4: set Run/Stop bit */ - command = xhci_readl(xhci, &xhci->op_regs->command); + command = readl(&xhci->op_regs->command); command |= CMD_RUN; - xhci_writel(xhci, command, &xhci->op_regs->command); + writel(command, &xhci->op_regs->command); xhci_handshake(xhci, &xhci->op_regs->status, STS_HALT, 0, 250 * 1000); @@ -1464,7 +1461,7 @@ int xhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) ret = usb_hcd_check_unlink_urb(hcd, urb, status); if (ret || !urb->hcpriv) goto done; - temp = xhci_readl(xhci, &xhci->op_regs->status); + temp = readl(&xhci->op_regs->status); if (temp == 0xffffffff || (xhci->xhc_state & XHCI_STATE_HALTED)) { xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, "HW died, freeing TD."); @@ -1892,8 +1889,8 @@ static u32 xhci_count_num_new_endpoints(struct xhci_hcd *xhci, * (bit 1). The default control endpoint is added during the Address * Device command and is never removed until the slot is disabled. */ - valid_add_flags = ctrl_ctx->add_flags >> 2; - valid_drop_flags = ctrl_ctx->drop_flags >> 2; + valid_add_flags = le32_to_cpu(ctrl_ctx->add_flags) >> 2; + valid_drop_flags = le32_to_cpu(ctrl_ctx->drop_flags) >> 2; /* Use hweight32 to count the number of ones in the add flags, or * number of endpoints added. Don't count endpoints that are changed @@ -1909,8 +1906,8 @@ static unsigned int xhci_count_num_dropped_endpoints(struct xhci_hcd *xhci, u32 valid_add_flags; u32 valid_drop_flags; - valid_add_flags = ctrl_ctx->add_flags >> 2; - valid_drop_flags = ctrl_ctx->drop_flags >> 2; + valid_add_flags = le32_to_cpu(ctrl_ctx->add_flags) >> 2; + valid_drop_flags = le32_to_cpu(ctrl_ctx->drop_flags) >> 2; return hweight32(valid_drop_flags) - hweight32(valid_add_flags & valid_drop_flags); @@ -3585,7 +3582,7 @@ void xhci_free_dev(struct usb_hcd *hcd, struct usb_device *udev) spin_lock_irqsave(&xhci->lock, flags); /* Don't disable the slot if the host controller is dead. */ - state = xhci_readl(xhci, &xhci->op_regs->status); + state = readl(&xhci->op_regs->status); if (state == 0xffffffff || (xhci->xhc_state & XHCI_STATE_DYING) || (xhci->xhc_state & XHCI_STATE_HALTED)) { xhci_free_virt_device(xhci, udev->slot_id); @@ -3712,13 +3709,15 @@ disable_slot: } /* - * Issue an Address Device command (which will issue a SetAddress request to - * the device). + * Issue an Address Device command and optionally send a corresponding + * SetAddress request to the device. * We should be protected by the usb_address0_mutex in khubd's hub_port_init, so * we should only issue and wait on one address command at the same time. */ -int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) +static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev, + enum xhci_setup_dev setup) { + const char *act = setup == SETUP_CONTEXT_ONLY ? "context" : "address"; unsigned long flags; int timeleft; struct xhci_virt_device *virt_dev; @@ -3771,12 +3770,12 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) xhci_dbg(xhci, "Slot ID %d Input Context:\n", udev->slot_id); xhci_dbg_ctx(xhci, virt_dev->in_ctx, 2); trace_xhci_address_ctx(xhci, virt_dev->in_ctx, - slot_ctx->dev_info >> 27); + le32_to_cpu(slot_ctx->dev_info) >> 27); spin_lock_irqsave(&xhci->lock, flags); cmd_trb = xhci_find_next_enqueue(xhci->cmd_ring); ret = xhci_queue_address_device(xhci, virt_dev->in_ctx->dma, - udev->slot_id); + udev->slot_id, setup); if (ret) { spin_unlock_irqrestore(&xhci->lock, flags); xhci_dbg_trace(xhci, trace_xhci_dbg_address, @@ -3794,8 +3793,8 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) * command on a timeout. */ if (timeleft <= 0) { - xhci_warn(xhci, "%s while waiting for address device command\n", - timeleft == 0 ? "Timeout" : "Signal"); + xhci_warn(xhci, "%s while waiting for setup %s command\n", + timeleft == 0 ? "Timeout" : "Signal", act); /* cancel the address device command */ ret = xhci_cancel_cmd(xhci, NULL, cmd_trb); if (ret < 0) @@ -3806,26 +3805,27 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) switch (virt_dev->cmd_status) { case COMP_CTX_STATE: case COMP_EBADSLT: - xhci_err(xhci, "Setup ERROR: address device command for slot %d.\n", - udev->slot_id); + xhci_err(xhci, "Setup ERROR: setup %s command for slot %d.\n", + act, udev->slot_id); ret = -EINVAL; break; case COMP_TX_ERR: - dev_warn(&udev->dev, "Device not responding to set address.\n"); + dev_warn(&udev->dev, "Device not responding to setup %s.\n", act); ret = -EPROTO; break; case COMP_DEV_ERR: - dev_warn(&udev->dev, "ERROR: Incompatible device for address " - "device command.\n"); + dev_warn(&udev->dev, + "ERROR: Incompatible device for setup %s command\n", act); ret = -ENODEV; break; case COMP_SUCCESS: xhci_dbg_trace(xhci, trace_xhci_dbg_address, - "Successful Address Device command"); + "Successful setup %s command", act); break; default: - xhci_err(xhci, "ERROR: unexpected command completion " - "code 0x%x.\n", virt_dev->cmd_status); + xhci_err(xhci, + "ERROR: unexpected setup %s command completion code 0x%x.\n", + act, virt_dev->cmd_status); xhci_dbg(xhci, "Slot ID %d Output Context:\n", udev->slot_id); xhci_dbg_ctx(xhci, virt_dev->out_ctx, 2); trace_xhci_address_ctx(xhci, virt_dev->out_ctx, 1); @@ -3835,7 +3835,7 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) if (ret) { return ret; } - temp_64 = xhci_read_64(xhci, &xhci->op_regs->dcbaa_ptr); + temp_64 = readq(&xhci->op_regs->dcbaa_ptr); xhci_dbg_trace(xhci, trace_xhci_dbg_address, "Op regs DCBAA ptr = %#016llx", temp_64); xhci_dbg_trace(xhci, trace_xhci_dbg_address, @@ -3850,7 +3850,7 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) xhci_dbg(xhci, "Slot ID %d Input Context:\n", udev->slot_id); xhci_dbg_ctx(xhci, virt_dev->in_ctx, 2); trace_xhci_address_ctx(xhci, virt_dev->in_ctx, - slot_ctx->dev_info >> 27); + le32_to_cpu(slot_ctx->dev_info) >> 27); xhci_dbg(xhci, "Slot ID %d Output Context:\n", udev->slot_id); xhci_dbg_ctx(xhci, virt_dev->out_ctx, 2); /* @@ -3859,7 +3859,7 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) */ slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->out_ctx); trace_xhci_address_ctx(xhci, virt_dev->out_ctx, - slot_ctx->dev_info >> 27); + le32_to_cpu(slot_ctx->dev_info) >> 27); /* Zero the input context control for later use */ ctrl_ctx->add_flags = 0; ctrl_ctx->drop_flags = 0; @@ -3871,6 +3871,16 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) return 0; } +int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) +{ + return xhci_setup_device(hcd, udev, SETUP_CONTEXT_ADDRESS); +} + +int xhci_enable_device(struct usb_hcd *hcd, struct usb_device *udev) +{ + return xhci_setup_device(hcd, udev, SETUP_CONTEXT_ONLY); +} + /* * Transfer the port index into real index in the HW port status * registers. Caculate offset between the port's PORTSC register @@ -4042,7 +4052,7 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd, port_array = xhci->usb2_ports; port_num = udev->portnum - 1; pm_addr = port_array[port_num] + PORTPMSC; - pm_val = xhci_readl(xhci, pm_addr); + pm_val = readl(pm_addr); hlpm_addr = port_array[port_num] + PORTHLPMC; field = le32_to_cpu(udev->bos->ext_cap->bmAttributes); @@ -4082,26 +4092,26 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd, spin_lock_irqsave(&xhci->lock, flags); hlpm_val = xhci_calculate_usb2_hw_lpm_params(udev); - xhci_writel(xhci, hlpm_val, hlpm_addr); + writel(hlpm_val, hlpm_addr); /* flush write */ - xhci_readl(xhci, hlpm_addr); + readl(hlpm_addr); } else { hird = xhci_calculate_hird_besl(xhci, udev); } pm_val &= ~PORT_HIRD_MASK; pm_val |= PORT_HIRD(hird) | PORT_RWE | PORT_L1DS(udev->slot_id); - xhci_writel(xhci, pm_val, pm_addr); - pm_val = xhci_readl(xhci, pm_addr); + writel(pm_val, pm_addr); + pm_val = readl(pm_addr); pm_val |= PORT_HLE; - xhci_writel(xhci, pm_val, pm_addr); + writel(pm_val, pm_addr); /* flush write */ - xhci_readl(xhci, pm_addr); + readl(pm_addr); } else { pm_val &= ~(PORT_HLE | PORT_RWE | PORT_HIRD_MASK | PORT_L1DS_MASK); - xhci_writel(xhci, pm_val, pm_addr); + writel(pm_val, pm_addr); /* flush write */ - xhci_readl(xhci, pm_addr); + readl(pm_addr); if (udev->usb2_hw_lpm_besl_capable) { spin_unlock_irqrestore(&xhci->lock, flags); mutex_lock(hcd->bandwidth_mutex); @@ -4455,7 +4465,7 @@ static u16 xhci_calculate_lpm_timeout(struct usb_hcd *hcd, if (!config) return timeout; - for (i = 0; i < USB_MAXINTERFACES; i++) { + for (i = 0; i < config->desc.bNumInterfaces; i++) { struct usb_driver *driver; struct usb_interface *intf = config->interface[i]; @@ -4704,7 +4714,7 @@ int xhci_get_frame(struct usb_hcd *hcd) { struct xhci_hcd *xhci = hcd_to_xhci(hcd); /* EHCI mods by the periodic size. Why? */ - return xhci_readl(xhci, &xhci->run_regs->microframe_index) >> 3; + return readl(&xhci->run_regs->microframe_index) >> 3; } int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) @@ -4748,16 +4758,16 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) xhci->cap_regs = hcd->regs; xhci->op_regs = hcd->regs + - HC_LENGTH(xhci_readl(xhci, &xhci->cap_regs->hc_capbase)); + HC_LENGTH(readl(&xhci->cap_regs->hc_capbase)); xhci->run_regs = hcd->regs + - (xhci_readl(xhci, &xhci->cap_regs->run_regs_off) & RTSOFF_MASK); + (readl(&xhci->cap_regs->run_regs_off) & RTSOFF_MASK); /* Cache read-only capability registers */ - xhci->hcs_params1 = xhci_readl(xhci, &xhci->cap_regs->hcs_params1); - xhci->hcs_params2 = xhci_readl(xhci, &xhci->cap_regs->hcs_params2); - xhci->hcs_params3 = xhci_readl(xhci, &xhci->cap_regs->hcs_params3); - xhci->hcc_params = xhci_readl(xhci, &xhci->cap_regs->hc_capbase); + xhci->hcs_params1 = readl(&xhci->cap_regs->hcs_params1); + xhci->hcs_params2 = readl(&xhci->cap_regs->hcs_params2); + xhci->hcs_params3 = readl(&xhci->cap_regs->hcs_params3); + xhci->hcc_params = readl(&xhci->cap_regs->hc_capbase); xhci->hci_version = HC_VERSION(xhci->hcc_params); - xhci->hcc_params = xhci_readl(xhci, &xhci->cap_regs->hcc_params); + xhci->hcc_params = readl(&xhci->cap_regs->hcc_params); xhci_print_registers(xhci); get_quirks(dev, xhci); diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 03c74b7965f8..24344aab2107 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -28,6 +28,17 @@ #include <linux/kernel.h> #include <linux/usb/hcd.h> +/* + * Registers should always be accessed with double word or quad word accesses. + * + * Some xHCI implementations may support 64-bit address pointers. Registers + * with 64-bit address pointers should be written to with dword accesses by + * writing the low dword first (ptr[0]), then the high dword (ptr[1]) second. + * xHCI implementations that do not support 64-bit address pointers will ignore + * the high dword, and write order is irrelevant. + */ +#include <asm-generic/io-64-nonatomic-lo-hi.h> + /* Code sharing between pci-quirks and xhci hcd */ #include "xhci-ext-caps.h" #include "pci-quirks.h" @@ -752,7 +763,7 @@ struct xhci_stream_ctx { }; /* Stream Context Types (section 6.4.1) - bits 3:1 of stream ctx deq ptr */ -#define SCT_FOR_CTX(p) (((p) << 1) & 0x7) +#define SCT_FOR_CTX(p) (((p) & 0x7) << 1) /* Secondary stream array type, dequeue pointer is to a transfer ring */ #define SCT_SEC_TR 0 /* Primary stream array type, dequeue pointer is to a transfer ring */ @@ -1097,6 +1108,14 @@ struct xhci_event_cmd { }; /* flags bitmasks */ + +/* Address device - disable SetAddress */ +#define TRB_BSR (1<<9) +enum xhci_setup_dev { + SETUP_CONTEXT_ONLY, + SETUP_CONTEXT_ADDRESS, +}; + /* bits 16:23 are the virtual function ID */ /* bits 24:31 are the slot ID */ #define TRB_TO_SLOT_ID(p) (((p) & (0xff<<24)) >> 24) @@ -1595,47 +1614,6 @@ static inline struct usb_hcd *xhci_to_hcd(struct xhci_hcd *xhci) #define xhci_warn_ratelimited(xhci, fmt, args...) \ dev_warn_ratelimited(xhci_to_hcd(xhci)->self.controller , fmt , ## args) -/* TODO: copied from ehci.h - can be refactored? */ -/* xHCI spec says all registers are little endian */ -static inline unsigned int xhci_readl(const struct xhci_hcd *xhci, - __le32 __iomem *regs) -{ - return readl(regs); -} -static inline void xhci_writel(struct xhci_hcd *xhci, - const unsigned int val, __le32 __iomem *regs) -{ - writel(val, regs); -} - -/* - * Registers should always be accessed with double word or quad word accesses. - * - * Some xHCI implementations may support 64-bit address pointers. Registers - * with 64-bit address pointers should be written to with dword accesses by - * writing the low dword first (ptr[0]), then the high dword (ptr[1]) second. - * xHCI implementations that do not support 64-bit address pointers will ignore - * the high dword, and write order is irrelevant. - */ -static inline u64 xhci_read_64(const struct xhci_hcd *xhci, - __le64 __iomem *regs) -{ - __u32 __iomem *ptr = (__u32 __iomem *) regs; - u64 val_lo = readl(ptr); - u64 val_hi = readl(ptr + 1); - return val_lo + (val_hi << 32); -} -static inline void xhci_write_64(struct xhci_hcd *xhci, - const u64 val, __le64 __iomem *regs) -{ - __u32 __iomem *ptr = (__u32 __iomem *) regs; - u32 val_lo = lower_32_bits(val); - u32 val_hi = upper_32_bits(val); - - writel(val_lo, ptr); - writel(val_hi, ptr + 1); -} - static inline int xhci_link_trb_quirk(struct xhci_hcd *xhci) { return xhci->quirks & XHCI_LINK_TRB_QUIRK; @@ -1790,6 +1768,7 @@ int xhci_free_streams(struct usb_hcd *hcd, struct usb_device *udev, struct usb_host_endpoint **eps, unsigned int num_eps, gfp_t mem_flags); int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev); +int xhci_enable_device(struct usb_hcd *hcd, struct usb_device *udev); int xhci_update_device(struct usb_hcd *hcd, struct usb_device *udev); int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd, struct usb_device *udev, int enable); @@ -1813,7 +1792,7 @@ int xhci_is_vendor_info_code(struct xhci_hcd *xhci, unsigned int trb_comp_code); void xhci_ring_cmd_db(struct xhci_hcd *xhci); int xhci_queue_slot_control(struct xhci_hcd *xhci, u32 trb_type, u32 slot_id); int xhci_queue_address_device(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, - u32 slot_id); + u32 slot_id, enum xhci_setup_dev); int xhci_queue_vendor_command(struct xhci_hcd *xhci, u32 field1, u32 field2, u32 field3, u32 field4); int xhci_queue_stop_endpoint(struct xhci_hcd *xhci, int slot_id, diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index b4152820d655..bff058ea222e 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -619,8 +619,8 @@ static int is_good_ext(struct usbtest_dev *tdev, u8 *buf) } attr = le32_to_cpu(ext->bmAttributes); - /* bits[1:4] is used and others are reserved */ - if (attr & ~0x1e) { /* reserved == 0 */ + /* bits[1:15] is used and others are reserved */ + if (attr & ~0xfffe) { /* reserved == 0 */ ERROR(tdev, "reserved bits set\n"); return 0; } @@ -763,7 +763,7 @@ static int ch9_postconfig(struct usbtest_dev *dev) * there's always [9.4.3] a bos device descriptor [9.6.2] in USB * 3.0 spec */ - if (le16_to_cpu(udev->descriptor.bcdUSB) >= 0x0300) { + if (le16_to_cpu(udev->descriptor.bcdUSB) >= 0x0210) { struct usb_bos_descriptor *bos = NULL; struct usb_dev_cap_header *header = NULL; unsigned total, num, length; @@ -944,7 +944,7 @@ struct ctrl_ctx { int last; }; -#define NUM_SUBCASES 15 /* how many test subcases here? */ +#define NUM_SUBCASES 16 /* how many test subcases here? */ struct subcase { struct usb_ctrlrequest setup; @@ -1218,6 +1218,15 @@ test_ctrl_queue(struct usbtest_dev *dev, struct usbtest_param *param) } expected = -EREMOTEIO; break; + case 15: + req.wValue = cpu_to_le16(USB_DT_BOS << 8); + if (udev->bos) + len = le16_to_cpu(udev->bos->desc->wTotalLength); + else + len = sizeof(struct usb_bos_descriptor); + if (udev->speed != USB_SPEED_SUPER) + expected = -EPIPE; + break; default: ERROR(dev, "bogus number of ctrl queue testcases!\n"); context.status = -EINVAL; diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 6582a20bec05..e2083757e87c 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -2657,6 +2657,7 @@ int musb_host_setup(struct musb *musb, int power_budget) if (ret < 0) return ret; + device_wakeup_enable(hcd->self.controller); return 0; } diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c index e9d4cd960ecd..37752832b770 100644 --- a/drivers/usb/phy/phy-msm-usb.c +++ b/drivers/usb/phy/phy-msm-usb.c @@ -669,6 +669,7 @@ static void msm_otg_start_host(struct usb_phy *phy, int on) pdata->setup_gpio(OTG_STATE_A_HOST); #ifdef CONFIG_USB usb_add_hcd(hcd, hcd->irq, IRQF_SHARED); + device_wakeup_enable(hcd->self.controller); #endif } else { dev_dbg(phy->dev, "host off\n"); diff --git a/drivers/usb/phy/phy-mv-usb.c b/drivers/usb/phy/phy-mv-usb.c index 98f6ac6a78ea..44f316e287ef 100644 --- a/drivers/usb/phy/phy-mv-usb.c +++ b/drivers/usb/phy/phy-mv-usb.c @@ -213,10 +213,12 @@ static void mv_otg_start_host(struct mv_otg *mvotg, int on) hcd = bus_to_hcd(otg->host); - if (on) + if (on) { usb_add_hcd(hcd, hcd->irq, IRQF_SHARED); - else + device_wakeup_enable(hcd->self.controller); + } else { usb_remove_hcd(hcd); + } #endif /* CONFIG_USB */ } diff --git a/drivers/usb/renesas_usbhs/mod_host.c b/drivers/usb/renesas_usbhs/mod_host.c index e40f565004d0..10e1ded9c9cc 100644 --- a/drivers/usb/renesas_usbhs/mod_host.c +++ b/drivers/usb/renesas_usbhs/mod_host.c @@ -1469,6 +1469,7 @@ static int usbhsh_start(struct usbhs_priv *priv) ret = usb_add_hcd(hcd, 0, 0); if (ret < 0) return 0; + device_wakeup_enable(hcd->self.controller); /* * pipe initialize and enable DCP diff --git a/drivers/usb/storage/protocol.c b/drivers/usb/storage/protocol.c index 5dfb4c36a1b0..12e3c2fac642 100644 --- a/drivers/usb/storage/protocol.c +++ b/drivers/usb/storage/protocol.c @@ -135,69 +135,42 @@ unsigned int usb_stor_access_xfer_buf(unsigned char *buffer, unsigned int buflen, struct scsi_cmnd *srb, struct scatterlist **sgptr, unsigned int *offset, enum xfer_buf_dir dir) { - unsigned int cnt; + unsigned int cnt = 0; struct scatterlist *sg = *sgptr; + struct sg_mapping_iter miter; + unsigned int nents = scsi_sg_count(srb); - /* We have to go through the list one entry - * at a time. Each s-g entry contains some number of pages, and - * each page has to be kmap()'ed separately. If the page is already - * in kernel-addressable memory then kmap() will return its address. - * If the page is not directly accessible -- such as a user buffer - * located in high memory -- then kmap() will map it to a temporary - * position in the kernel's virtual address space. - */ - - if (!sg) + if (sg) + nents = sg_nents(sg); + else sg = scsi_sglist(srb); - /* This loop handles a single s-g list entry, which may - * include multiple pages. Find the initial page structure - * and the starting offset within the page, and update - * the *offset and **sgptr values for the next loop. - */ - cnt = 0; - while (cnt < buflen && sg) { - struct page *page = sg_page(sg) + - ((sg->offset + *offset) >> PAGE_SHIFT); - unsigned int poff = (sg->offset + *offset) & (PAGE_SIZE-1); - unsigned int sglen = sg->length - *offset; - - if (sglen > buflen - cnt) { - - /* Transfer ends within this s-g entry */ - sglen = buflen - cnt; - *offset += sglen; - } else { + sg_miter_start(&miter, sg, nents, dir == FROM_XFER_BUF ? + SG_MITER_FROM_SG: SG_MITER_TO_SG); - /* Transfer continues to next s-g entry */ - *offset = 0; - sg = sg_next(sg); - } + if (!sg_miter_skip(&miter, *offset)) + return cnt; + + while (sg_miter_next(&miter) && cnt < buflen) { + unsigned int len = min_t(unsigned int, miter.length, + buflen - cnt); + + if (dir == FROM_XFER_BUF) + memcpy(buffer + cnt, miter.addr, len); + else + memcpy(miter.addr, buffer + cnt, len); - /* Transfer the data for all the pages in this - * s-g entry. For each page: call kmap(), do the - * transfer, and call kunmap() immediately after. */ - while (sglen > 0) { - unsigned int plen = min(sglen, (unsigned int) - PAGE_SIZE - poff); - unsigned char *ptr = kmap(page); - - if (dir == TO_XFER_BUF) - memcpy(ptr + poff, buffer + cnt, plen); - else - memcpy(buffer + cnt, ptr + poff, plen); - kunmap(page); - - /* Start at the beginning of the next page */ - poff = 0; - ++page; - cnt += plen; - sglen -= plen; + if (*offset + len < miter.piter.sg->length) { + *offset += len; + *sgptr = miter.piter.sg; + } else { + *offset = 0; + *sgptr = sg_next(miter.piter.sg); } + cnt += len; } - *sgptr = sg; + sg_miter_stop(&miter); - /* Return the amount actually transferred */ return cnt; } EXPORT_SYMBOL_GPL(usb_stor_access_xfer_buf); diff --git a/drivers/usb/wusbcore/cbaf.c b/drivers/usb/wusbcore/cbaf.c index f06ed82e63d1..56310fc9b9c3 100644 --- a/drivers/usb/wusbcore/cbaf.c +++ b/drivers/usb/wusbcore/cbaf.c @@ -144,7 +144,7 @@ static int cbaf_check(struct cbaf *cbaf) CBAF_REQ_GET_ASSOCIATION_INFORMATION, USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, - cbaf->buffer, cbaf->buffer_size, 1000 /* FIXME: arbitrary */); + cbaf->buffer, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT); if (result < 0) { dev_err(dev, "Cannot get available association types: %d\n", result); @@ -265,7 +265,7 @@ static int cbaf_send_host_info(struct cbaf *cbaf) USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0x0101, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, - hi, hi_size, 1000 /* FIXME: arbitrary */); + hi, hi_size, USB_CTRL_SET_TIMEOUT); } /* @@ -288,7 +288,7 @@ static int cbaf_cdid_get(struct cbaf *cbaf) CBAF_REQ_GET_ASSOCIATION_REQUEST, USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0x0200, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, - di, cbaf->buffer_size, 1000 /* FIXME: arbitrary */); + di, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT); if (result < 0) { dev_err(dev, "Cannot request device information: %d\n", result); return result; @@ -536,7 +536,7 @@ static int cbaf_cc_upload(struct cbaf *cbaf) CBAF_REQ_SET_ASSOCIATION_RESPONSE, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0x0201, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, - ccd, sizeof(*ccd), 1000 /* FIXME: arbitrary */); + ccd, sizeof(*ccd), USB_CTRL_SET_TIMEOUT); return result; } diff --git a/drivers/usb/wusbcore/security.c b/drivers/usb/wusbcore/security.c index 4c40d0dbf53d..790c0b5c354c 100644 --- a/drivers/usb/wusbcore/security.c +++ b/drivers/usb/wusbcore/security.c @@ -165,7 +165,7 @@ static int wusb_dev_set_encryption(struct usb_device *usb_dev, int value) result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), USB_REQ_SET_ENCRYPTION, USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, - value, 0, NULL, 0, 1000 /* FIXME: arbitrary */); + value, 0, NULL, 0, USB_CTRL_SET_TIMEOUT); if (result < 0) dev_err(dev, "Can't set device's WUSB encryption to " "%s (value %d): %d\n", @@ -191,7 +191,7 @@ static int wusb_dev_set_gtk(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev) USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, USB_DT_KEY << 8 | key_index, 0, &wusbhc->gtk.descr, wusbhc->gtk.descr.bLength, - 1000); + USB_CTRL_SET_TIMEOUT); } @@ -301,8 +301,9 @@ int wusb_dev_update_address(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev) /* Set address 0 */ result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), - USB_REQ_SET_ADDRESS, 0, - 0, 0, NULL, 0, 1000 /* FIXME: arbitrary */); + USB_REQ_SET_ADDRESS, + USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, + 0, 0, NULL, 0, USB_CTRL_SET_TIMEOUT); if (result < 0) { dev_err(dev, "auth failed: can't set address 0: %d\n", result); @@ -316,9 +317,10 @@ int wusb_dev_update_address(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev) /* Set new (authenticated) address. */ result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), - USB_REQ_SET_ADDRESS, 0, - new_address, 0, NULL, 0, - 1000 /* FIXME: arbitrary */); + USB_REQ_SET_ADDRESS, + USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, + new_address, 0, NULL, 0, + USB_CTRL_SET_TIMEOUT); if (result < 0) { dev_err(dev, "auth failed: can't set address %u: %d\n", new_address, result); @@ -381,7 +383,7 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev, usb_dev, usb_sndctrlpipe(usb_dev, 0), USB_REQ_SET_HANDSHAKE, USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, - 1, 0, &hs[0], sizeof(hs[0]), 1000 /* FIXME: arbitrary */); + 1, 0, &hs[0], sizeof(hs[0]), USB_CTRL_SET_TIMEOUT); if (result < 0) { dev_err(dev, "Handshake1: request failed: %d\n", result); goto error_hs1; @@ -392,7 +394,7 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev, usb_dev, usb_rcvctrlpipe(usb_dev, 0), USB_REQ_GET_HANDSHAKE, USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE, - 2, 0, &hs[1], sizeof(hs[1]), 1000 /* FIXME: arbitrary */); + 2, 0, &hs[1], sizeof(hs[1]), USB_CTRL_GET_TIMEOUT); if (result < 0) { dev_err(dev, "Handshake2: request failed: %d\n", result); goto error_hs2; @@ -469,7 +471,7 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev, usb_dev, usb_sndctrlpipe(usb_dev, 0), USB_REQ_SET_HANDSHAKE, USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, - 3, 0, &hs[2], sizeof(hs[2]), 1000 /* FIXME: arbitrary */); + 3, 0, &hs[2], sizeof(hs[2]), USB_CTRL_SET_TIMEOUT); if (result < 0) { dev_err(dev, "Handshake3: request failed: %d\n", result); goto error_hs3; diff --git a/drivers/usb/wusbcore/wa-hc.h b/drivers/usb/wusbcore/wa-hc.h index e614f02f0cf2..b93d2cbdf33f 100644 --- a/drivers/usb/wusbcore/wa-hc.h +++ b/drivers/usb/wusbcore/wa-hc.h @@ -332,7 +332,7 @@ static inline int rpipe_avail_inc(struct wa_rpipe *rpipe) /* Transferring data */ extern int wa_urb_enqueue(struct wahc *, struct usb_host_endpoint *, struct urb *, gfp_t); -extern int wa_urb_dequeue(struct wahc *, struct urb *); +extern int wa_urb_dequeue(struct wahc *, struct urb *, int); extern void wa_handle_notif_xfer(struct wahc *, struct wa_notif_hdr *); @@ -366,7 +366,7 @@ static inline int __wa_feature(struct wahc *wa, unsigned op, u16 feature) USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, feature, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, - NULL, 0, 1000 /* FIXME: arbitrary */); + NULL, 0, USB_CTRL_SET_TIMEOUT); } @@ -400,8 +400,7 @@ s32 __wa_get_status(struct wahc *wa) USB_REQ_GET_STATUS, USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, - &wa->status, sizeof(wa->status), - 1000 /* FIXME: arbitrary */); + &wa->status, sizeof(wa->status), USB_CTRL_GET_TIMEOUT); if (result >= 0) result = wa->status; return result; diff --git a/drivers/usb/wusbcore/wa-rpipe.c b/drivers/usb/wusbcore/wa-rpipe.c index b48e74cc54d7..accdd15f5393 100644 --- a/drivers/usb/wusbcore/wa-rpipe.c +++ b/drivers/usb/wusbcore/wa-rpipe.c @@ -80,7 +80,7 @@ static int __rpipe_get_descr(struct wahc *wa, USB_REQ_GET_DESCRIPTOR, USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_RPIPE, USB_DT_RPIPE<<8, index, descr, sizeof(*descr), - 1000 /* FIXME: arbitrary */); + USB_CTRL_GET_TIMEOUT); if (result < 0) { dev_err(dev, "rpipe %u: get descriptor failed: %d\n", index, (int)result); @@ -118,7 +118,7 @@ static int __rpipe_set_descr(struct wahc *wa, USB_REQ_SET_DESCRIPTOR, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, USB_DT_RPIPE<<8, index, descr, sizeof(*descr), - HZ / 10); + USB_CTRL_SET_TIMEOUT); if (result < 0) { dev_err(dev, "rpipe %u: set descriptor failed: %d\n", index, (int)result); @@ -237,7 +237,7 @@ static int __rpipe_reset(struct wahc *wa, unsigned index) wa->usb_dev, usb_sndctrlpipe(wa->usb_dev, 0), USB_REQ_RPIPE_RESET, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, - 0, index, NULL, 0, 1000 /* FIXME: arbitrary */); + 0, index, NULL, 0, USB_CTRL_SET_TIMEOUT); if (result < 0) dev_err(dev, "rpipe %u: reset failed: %d\n", index, result); @@ -527,7 +527,7 @@ void rpipe_ep_disable(struct wahc *wa, struct usb_host_endpoint *ep) wa->usb_dev, usb_rcvctrlpipe(wa->usb_dev, 0), USB_REQ_RPIPE_ABORT, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, - 0, index, NULL, 0, 1000 /* FIXME: arbitrary */); + 0, index, NULL, 0, USB_CTRL_SET_TIMEOUT); rpipe_put(rpipe); } mutex_unlock(&wa->rpipe_mutex); @@ -548,7 +548,7 @@ void rpipe_clear_feature_stalled(struct wahc *wa, struct usb_host_endpoint *ep) wa->usb_dev, usb_rcvctrlpipe(wa->usb_dev, 0), USB_REQ_CLEAR_FEATURE, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, - RPIPE_STALL, index, NULL, 0, 1000); + RPIPE_STALL, index, NULL, 0, USB_CTRL_SET_TIMEOUT); } mutex_unlock(&wa->rpipe_mutex); } diff --git a/drivers/usb/wusbcore/wa-xfer.c b/drivers/usb/wusbcore/wa-xfer.c index ed5abe87b049..a70e142da330 100644 --- a/drivers/usb/wusbcore/wa-xfer.c +++ b/drivers/usb/wusbcore/wa-xfer.c @@ -124,6 +124,8 @@ struct wa_seg { u8 index; /* which segment we are */ int isoc_frame_count; /* number of isoc frames in this segment. */ int isoc_frame_offset; /* starting frame offset in the xfer URB. */ + /* Isoc frame that the current transfer buffer corresponds to. */ + int isoc_frame_index; int isoc_size; /* size of all isoc frames sent by this seg. */ enum wa_seg_status status; ssize_t result; /* bytes xfered or error */ @@ -158,8 +160,6 @@ struct wa_xfer { unsigned is_dma:1; size_t seg_size; int result; - /* Isoc frame that the current transfer buffer corresponds to. */ - int dto_isoc_frame_index; gfp_t gfp; /* allocation mask */ @@ -282,6 +282,7 @@ static void wa_xfer_giveback(struct wa_xfer *xfer) spin_lock_irqsave(&xfer->wa->xfer_list_lock, flags); list_del_init(&xfer->list_node); + usb_hcd_unlink_urb_from_ep(&(xfer->wa->wusb->usb_hcd), xfer->urb); spin_unlock_irqrestore(&xfer->wa->xfer_list_lock, flags); /* FIXME: segmentation broken -- kills DWA */ wusbhc_giveback_urb(xfer->wa->wusb, xfer->urb, xfer->result); @@ -372,10 +373,10 @@ static unsigned __wa_xfer_is_done(struct wa_xfer *xfer) seg->result); goto out; case WA_SEG_ABORTED: - dev_dbg(dev, "xfer %p ID %08X#%u ABORTED: result %d\n", - xfer, wa_xfer_id(xfer), seg->index, - urb->status); - xfer->result = urb->status; + xfer->result = seg->result; + dev_dbg(dev, "xfer %p ID %08X#%u: ABORTED result %zu(0x%08zX)\n", + xfer, wa_xfer_id(xfer), seg->index, seg->result, + seg->result); goto out; default: dev_warn(dev, "xfer %p ID %08X#%u: is_done bad state %d\n", @@ -700,23 +701,23 @@ static void wa_seg_dto_cb(struct urb *urb) if (usb_pipeisoc(xfer->urb->pipe)) { /* Alereon HWA sends all isoc frames in a single transfer. */ if (wa->quirks & WUSB_QUIRK_ALEREON_HWA_CONCAT_ISOC) - xfer->dto_isoc_frame_index += seg->isoc_frame_count; + seg->isoc_frame_index += seg->isoc_frame_count; else - xfer->dto_isoc_frame_index += 1; - if (xfer->dto_isoc_frame_index < seg->isoc_frame_count) { + seg->isoc_frame_index += 1; + if (seg->isoc_frame_index < seg->isoc_frame_count) { data_send_done = 0; holding_dto = 1; /* checked in error cases. */ /* * if this is the last isoc frame of the segment, we * can release DTO after sending this frame. */ - if ((xfer->dto_isoc_frame_index + 1) >= + if ((seg->isoc_frame_index + 1) >= seg->isoc_frame_count) release_dto = 1; } dev_dbg(dev, "xfer 0x%08X#%u: isoc frame = %d, holding_dto = %d, release_dto = %d.\n", - wa_xfer_id(xfer), seg->index, - xfer->dto_isoc_frame_index, holding_dto, release_dto); + wa_xfer_id(xfer), seg->index, seg->isoc_frame_index, + holding_dto, release_dto); } spin_unlock_irqrestore(&xfer->lock, flags); @@ -736,8 +737,7 @@ static void wa_seg_dto_cb(struct urb *urb) * send the URB and release DTO if we no longer need it. */ __wa_populate_dto_urb_isoc(xfer, seg, - seg->isoc_frame_offset + - xfer->dto_isoc_frame_index); + seg->isoc_frame_offset + seg->isoc_frame_index); /* resubmit the URB with the next isoc frame. */ result = usb_submit_urb(seg->dto_urb, GFP_ATOMIC); @@ -1259,8 +1259,11 @@ static int __wa_xfer_setup(struct wa_xfer *xfer, struct urb *urb) for (cnt = 1; cnt < xfer->segs; cnt++) { struct wa_xfer_packet_info_hwaiso *packet_desc; struct wa_seg *seg = xfer->seg[cnt]; + struct wa_xfer_hwaiso *xfer_iso; xfer_hdr = &seg->xfer_hdr; + xfer_iso = container_of(xfer_hdr, + struct wa_xfer_hwaiso, hdr); packet_desc = ((void *)xfer_hdr) + xfer_hdr_size; /* * Copy values from the 0th header. Segment specific @@ -1270,6 +1273,8 @@ static int __wa_xfer_setup(struct wa_xfer *xfer, struct urb *urb) xfer_hdr->bTransferSegment = cnt; xfer_hdr->dwTransferLength = cpu_to_le32(seg->isoc_size); + xfer_iso->dwNumOfPackets = + cpu_to_le32(seg->isoc_frame_count); __wa_setup_isoc_packet_descr(packet_desc, xfer, seg); seg->status = WA_SEG_READY; } @@ -1323,12 +1328,12 @@ static int __wa_seg_submit(struct wa_rpipe *rpipe, struct wa_xfer *xfer, struct wahc *wa = xfer->wa; result = usb_submit_urb(seg->isoc_pack_desc_urb, GFP_ATOMIC); + seg->isoc_frame_index = 0; if (result < 0) { pr_err("%s: xfer %p#%u: ISO packet descriptor submit failed: %d\n", __func__, xfer, seg->index, result); goto error_iso_pack_desc_submit; } - xfer->dto_isoc_frame_index = 0; /* * If this segment contains more than one isoc frame, hold * onto the dto resource until we send all frames. @@ -1567,7 +1572,8 @@ static int wa_urb_enqueue_b(struct wa_xfer *xfer) wusb_dev = __wusb_dev_get_by_usb_dev(wusbhc, urb->dev); if (wusb_dev == NULL) { mutex_unlock(&wusbhc->mutex); - pr_err("%s: error wusb dev gone\n", __func__); + dev_err(&(urb->dev->dev), "%s: error wusb dev gone\n", + __func__); goto error_dev_gone; } mutex_unlock(&wusbhc->mutex); @@ -1576,18 +1582,18 @@ static int wa_urb_enqueue_b(struct wa_xfer *xfer) xfer->wusb_dev = wusb_dev; result = urb->status; if (urb->status != -EINPROGRESS) { - pr_err("%s: error_dequeued\n", __func__); + dev_err(&(urb->dev->dev), "%s: error_dequeued\n", __func__); goto error_dequeued; } result = __wa_xfer_setup(xfer, urb); if (result < 0) { - pr_err("%s: error_xfer_setup\n", __func__); + dev_err(&(urb->dev->dev), "%s: error_xfer_setup\n", __func__); goto error_xfer_setup; } result = __wa_xfer_submit(xfer); if (result < 0) { - pr_err("%s: error_xfer_submit\n", __func__); + dev_err(&(urb->dev->dev), "%s: error_xfer_submit\n", __func__); goto error_xfer_submit; } spin_unlock_irqrestore(&xfer->lock, flags); @@ -1730,6 +1736,12 @@ int wa_urb_enqueue(struct wahc *wa, struct usb_host_endpoint *ep, dump_stack(); } + spin_lock_irqsave(&wa->xfer_list_lock, my_flags); + result = usb_hcd_link_urb_to_ep(&(wa->wusb->usb_hcd), urb); + spin_unlock_irqrestore(&wa->xfer_list_lock, my_flags); + if (result < 0) + goto error_link_urb; + result = -ENOMEM; xfer = kzalloc(sizeof(*xfer), gfp); if (xfer == NULL) @@ -1769,6 +1781,9 @@ int wa_urb_enqueue(struct wahc *wa, struct usb_host_endpoint *ep, __func__, result); wa_put(xfer->wa); wa_xfer_put(xfer); + spin_lock_irqsave(&wa->xfer_list_lock, my_flags); + usb_hcd_unlink_urb_from_ep(&(wa->wusb->usb_hcd), urb); + spin_unlock_irqrestore(&wa->xfer_list_lock, my_flags); return result; } } @@ -1777,6 +1792,10 @@ int wa_urb_enqueue(struct wahc *wa, struct usb_host_endpoint *ep, error_dequeued: kfree(xfer); error_kmalloc: + spin_lock_irqsave(&wa->xfer_list_lock, my_flags); + usb_hcd_unlink_urb_from_ep(&(wa->wusb->usb_hcd), urb); + spin_unlock_irqrestore(&wa->xfer_list_lock, my_flags); +error_link_urb: return result; } EXPORT_SYMBOL_GPL(wa_urb_enqueue); @@ -1799,7 +1818,7 @@ EXPORT_SYMBOL_GPL(wa_urb_enqueue); * asynch request] and then make sure we cancel each segment. * */ -int wa_urb_dequeue(struct wahc *wa, struct urb *urb) +int wa_urb_dequeue(struct wahc *wa, struct urb *urb, int status) { unsigned long flags, flags2; struct wa_xfer *xfer; @@ -1807,6 +1826,14 @@ int wa_urb_dequeue(struct wahc *wa, struct urb *urb) struct wa_rpipe *rpipe; unsigned cnt, done = 0, xfer_abort_pending; unsigned rpipe_ready = 0; + int result; + + /* check if it is safe to unlink. */ + spin_lock_irqsave(&wa->xfer_list_lock, flags); + result = usb_hcd_check_unlink_urb(&(wa->wusb->usb_hcd), urb, status); + spin_unlock_irqrestore(&wa->xfer_list_lock, flags); + if (result) + return result; xfer = urb->hcpriv; if (xfer == NULL) { @@ -1822,9 +1849,10 @@ int wa_urb_dequeue(struct wahc *wa, struct urb *urb) pr_debug("%s: DEQUEUE xfer id 0x%08X\n", __func__, wa_xfer_id(xfer)); rpipe = xfer->ep->hcpriv; if (rpipe == NULL) { - pr_debug("%s: xfer id 0x%08X has no RPIPE. %s", - __func__, wa_xfer_id(xfer), + pr_debug("%s: xfer %p id 0x%08X has no RPIPE. %s", + __func__, xfer, wa_xfer_id(xfer), "Probably already aborted.\n" ); + result = -ENOENT; goto out_unlock; } /* Check the delayed list -> if there, release and complete */ @@ -1855,6 +1883,7 @@ int wa_urb_dequeue(struct wahc *wa, struct urb *urb) * segments will be completed in the DTI interrupt. */ seg->status = WA_SEG_ABORTED; + seg->result = -ENOENT; spin_lock_irqsave(&rpipe->seg_lock, flags2); list_del(&seg->list_node); xfer->segs_done++; @@ -1894,12 +1923,12 @@ int wa_urb_dequeue(struct wahc *wa, struct urb *urb) wa_xfer_completion(xfer); if (rpipe_ready) wa_xfer_delayed_run(rpipe); - return 0; + return result; out_unlock: spin_unlock_irqrestore(&xfer->lock, flags); out: - return 0; + return result; dequeue_delayed: list_del_init(&xfer->list_node); @@ -1935,7 +1964,7 @@ static int wa_xfer_status_to_errno(u8 status) [WA_XFER_STATUS_NOT_FOUND] = 0, [WA_XFER_STATUS_INSUFFICIENT_RESOURCE] = -ENOMEM, [WA_XFER_STATUS_TRANSACTION_ERROR] = -EILSEQ, - [WA_XFER_STATUS_ABORTED] = -EINTR, + [WA_XFER_STATUS_ABORTED] = -ENOENT, [WA_XFER_STATUS_RPIPE_NOT_READY] = EINVAL, [WA_XFER_INVALID_FORMAT] = EINVAL, [WA_XFER_UNEXPECTED_SEGMENT_NUMBER] = EINVAL, @@ -1968,7 +1997,7 @@ static int wa_xfer_status_to_errno(u8 status) * the xfer will complete cleanly. */ static void wa_complete_remaining_xfer_segs(struct wa_xfer *xfer, - struct wa_seg *incoming_seg) + struct wa_seg *incoming_seg, enum wa_seg_status status) { int index; struct wa_rpipe *rpipe = xfer->ep->hcpriv; @@ -1990,7 +2019,7 @@ static void wa_complete_remaining_xfer_segs(struct wa_xfer *xfer, */ case WA_SEG_DELAYED: xfer->segs_done++; - current_seg->status = incoming_seg->status; + current_seg->status = status; break; case WA_SEG_ABORTED: break; @@ -2003,6 +2032,58 @@ static void wa_complete_remaining_xfer_segs(struct wa_xfer *xfer, } } +/* Populate the wa->buf_in_urb based on the current transfer state. */ +static int wa_populate_buf_in_urb(struct wahc *wa, struct wa_xfer *xfer, + unsigned int seg_idx, unsigned int bytes_transferred) +{ + int result = 0; + struct wa_seg *seg = xfer->seg[seg_idx]; + + BUG_ON(wa->buf_in_urb->status == -EINPROGRESS); + /* this should always be 0 before a resubmit. */ + wa->buf_in_urb->num_mapped_sgs = 0; + + if (xfer->is_dma) { + wa->buf_in_urb->transfer_dma = xfer->urb->transfer_dma + + (seg_idx * xfer->seg_size); + wa->buf_in_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + wa->buf_in_urb->transfer_buffer = NULL; + wa->buf_in_urb->sg = NULL; + wa->buf_in_urb->num_sgs = 0; + } else { + /* do buffer or SG processing. */ + wa->buf_in_urb->transfer_flags &= ~URB_NO_TRANSFER_DMA_MAP; + + if (xfer->urb->transfer_buffer) { + wa->buf_in_urb->transfer_buffer = + xfer->urb->transfer_buffer + + (seg_idx * xfer->seg_size); + wa->buf_in_urb->sg = NULL; + wa->buf_in_urb->num_sgs = 0; + } else { + /* allocate an SG list to store seg_size bytes + and copy the subset of the xfer->urb->sg + that matches the buffer subset we are + about to read. */ + wa->buf_in_urb->sg = wa_xfer_create_subset_sg( + xfer->urb->sg, + seg_idx * xfer->seg_size, + bytes_transferred, + &(wa->buf_in_urb->num_sgs)); + + if (!(wa->buf_in_urb->sg)) { + wa->buf_in_urb->num_sgs = 0; + result = -ENOMEM; + } + wa->buf_in_urb->transfer_buffer = NULL; + } + } + wa->buf_in_urb->transfer_buffer_length = bytes_transferred; + wa->buf_in_urb->context = seg; + + return result; +} + /* * Process a xfer result completion message * @@ -2016,12 +2097,13 @@ static void wa_xfer_result_chew(struct wahc *wa, struct wa_xfer *xfer, int result; struct device *dev = &wa->usb_iface->dev; unsigned long flags; - u8 seg_idx; + unsigned int seg_idx; struct wa_seg *seg; struct wa_rpipe *rpipe; unsigned done = 0; u8 usb_status; unsigned rpipe_ready = 0; + unsigned bytes_transferred = le32_to_cpu(xfer_result->dwTransferLength); spin_lock_irqsave(&xfer->lock, flags); seg_idx = xfer_result->bTransferSegment & 0x7f; @@ -2054,66 +2136,33 @@ static void wa_xfer_result_chew(struct wahc *wa, struct wa_xfer *xfer, /* FIXME: we ignore warnings, tally them for stats */ if (usb_status & 0x40) /* Warning?... */ usb_status = 0; /* ... pass */ + /* + * If the last segment bit is set, complete the remaining segments. + * When the current segment is completed, either in wa_buf_in_cb for + * transfers with data or below for no data, the xfer will complete. + */ + if (xfer_result->bTransferSegment & 0x80) + wa_complete_remaining_xfer_segs(xfer, seg, WA_SEG_DONE); if (usb_pipeisoc(xfer->urb->pipe)) { /* set up WA state to read the isoc packet status next. */ wa->dti_isoc_xfer_in_progress = wa_xfer_id(xfer); wa->dti_isoc_xfer_seg = seg_idx; wa->dti_state = WA_DTI_ISOC_PACKET_STATUS_PENDING; - } else if (xfer->is_inbound) { /* IN data phase: read to buffer */ + } else if ((xfer->is_inbound) + && (bytes_transferred > 0)) { + /* IN data phase: read to buffer */ seg->status = WA_SEG_DTI_PENDING; - BUG_ON(wa->buf_in_urb->status == -EINPROGRESS); - /* this should always be 0 before a resubmit. */ - wa->buf_in_urb->num_mapped_sgs = 0; - - if (xfer->is_dma) { - wa->buf_in_urb->transfer_dma = - xfer->urb->transfer_dma - + (seg_idx * xfer->seg_size); - wa->buf_in_urb->transfer_flags - |= URB_NO_TRANSFER_DMA_MAP; - wa->buf_in_urb->transfer_buffer = NULL; - wa->buf_in_urb->sg = NULL; - wa->buf_in_urb->num_sgs = 0; - } else { - /* do buffer or SG processing. */ - wa->buf_in_urb->transfer_flags - &= ~URB_NO_TRANSFER_DMA_MAP; - - if (xfer->urb->transfer_buffer) { - wa->buf_in_urb->transfer_buffer = - xfer->urb->transfer_buffer - + (seg_idx * xfer->seg_size); - wa->buf_in_urb->sg = NULL; - wa->buf_in_urb->num_sgs = 0; - } else { - /* allocate an SG list to store seg_size bytes - and copy the subset of the xfer->urb->sg - that matches the buffer subset we are - about to read. */ - wa->buf_in_urb->sg = wa_xfer_create_subset_sg( - xfer->urb->sg, - seg_idx * xfer->seg_size, - le32_to_cpu( - xfer_result->dwTransferLength), - &(wa->buf_in_urb->num_sgs)); - - if (!(wa->buf_in_urb->sg)) { - wa->buf_in_urb->num_sgs = 0; - goto error_sg_alloc; - } - wa->buf_in_urb->transfer_buffer = NULL; - } - } - wa->buf_in_urb->transfer_buffer_length = - le32_to_cpu(xfer_result->dwTransferLength); - wa->buf_in_urb->context = seg; + result = wa_populate_buf_in_urb(wa, xfer, seg_idx, + bytes_transferred); + if (result < 0) + goto error_buf_in_populate; result = usb_submit_urb(wa->buf_in_urb, GFP_ATOMIC); if (result < 0) goto error_submit_buf_in; } else { - /* OUT data phase, complete it -- */ + /* OUT data phase or no data, complete it -- */ seg->status = WA_SEG_DONE; - seg->result = le32_to_cpu(xfer_result->dwTransferLength); + seg->result = bytes_transferred; xfer->segs_done++; rpipe_ready = rpipe_avail_inc(rpipe); done = __wa_xfer_is_done(xfer); @@ -2137,13 +2186,13 @@ error_submit_buf_in: seg->result = result; kfree(wa->buf_in_urb->sg); wa->buf_in_urb->sg = NULL; -error_sg_alloc: +error_buf_in_populate: __wa_xfer_abort(xfer); seg->status = WA_SEG_ERROR; error_complete: xfer->segs_done++; rpipe_ready = rpipe_avail_inc(rpipe); - wa_complete_remaining_xfer_segs(xfer, seg); + wa_complete_remaining_xfer_segs(xfer, seg, seg->status); done = __wa_xfer_is_done(xfer); /* * queue work item to clear STALL for control endpoints. @@ -2172,7 +2221,7 @@ error_complete: error_bad_seg: spin_unlock_irqrestore(&xfer->lock, flags); - wa_urb_dequeue(wa, xfer->urb); + wa_urb_dequeue(wa, xfer->urb, -ENOENT); if (printk_ratelimit()) dev_err(dev, "xfer %p#%u: bad segment\n", xfer, seg_idx); if (edc_inc(&wa->dti_edc, EDC_MAX_ERRORS, EDC_ERROR_TIMEFRAME)) { diff --git a/drivers/uwb/umc-bus.c b/drivers/uwb/umc-bus.c index e3ed6ff6a481..88a290f57ea0 100644 --- a/drivers/uwb/umc-bus.c +++ b/drivers/uwb/umc-bus.c @@ -85,7 +85,7 @@ int umc_match_pci_id(struct umc_driver *umc_drv, struct umc_dev *umc) const struct pci_device_id *id_table = umc_drv->match_data; struct pci_dev *pci; - if (umc->dev.parent->bus != &pci_bus_type) + if (!dev_is_pci(umc->dev.parent)) return 0; pci = to_pci_dev(umc->dev.parent); diff --git a/firmware/emi62/bitstream.HEX b/firmware/emi62/bitstream.HEX index 3c6ecc35eaab..a0f4f570f076 100644 --- a/firmware/emi62/bitstream.HEX +++ b/firmware/emi62/bitstream.HEX @@ -1,4372 +1,6107 @@ :10801000FFFFFFFFAA9955663000800100000007AE -:10802000300160010000000B3001200100803F2D75 +:10802000300160010000000D3001200100803F2D73 :108030003000C00100000000300080010000000995 :10804000300020010000000030008001000000012D -:108050003000400050003E040812100000000000F4 +:10805000300040005000581A80121000000000004C :108060000000000000000000000000000000000010 -:1080700000000000000000000000000000004004BC -:10808000800000000000000000121000000000004E -:1080900000000000000000000000000000000000E0 -:1080A000000000000000000000000000000040840C -:1080B000800000000000000000020000000000003E -:1080C00000000000000000000000000000000000B0 -:1080D0000000000000000000000000000000080098 -:1080E000C0000000000000000002000000000000CE -:1080F0000000000000000000000000000000000080 -:10810000000000000000000000000000000000006F -:1081100080000000000000000012000000000000CD +:108070000000000000000000000000000000000000 +:10808000000000000000014004800000000000002B +:1080900000121000000000000000000000000000BE +:1080A00000000000000000000000000000000000D0 +:1080B0000000000000000000000000000000014877 +:1080C000048000000000000000020000000000002A +:1080D00000000000000000000000000000000000A0 +:1080E0000000000000000000000000000000000090 +:1080F000000000000000000000C0000000000000C0 +:10810000000200000000000000000000000000006D +:10811000000000000000000000000000000000005F :10812000000000000000000000000000000000004F -:10813000000000000000000000000000000000043B -:108140008000000000000000081300000000000094 +:1081300000800000000000000012000000000000AD +:10814000000000000000000000000000000000002F :10815000000000000000000000000000000000001F -:10816000000000000000000000000000000000000F -:10817000900000000000000000120000000000005D +:10816000000000000000000004800000000000008B +:10817000801200000000000000000000000000006D :1081800000000000000000000000000000000000EF -:10819000000000000000000000000000000000845B -:1081A0009000000000000000F710011400250005F9 -:1081B0004001500094001500074001D000940025B4 -:1081C00080016002D800F6002F8002E004D8374416 -:1081D0009000000000000000C005F200CC903920A3 -:1081E0000D9803D200E78037040EF1837E00DF9004 -:1081F00031E48F79037C20DF2233C00CF022300081 -:108200007000000000000000801062008024222026 -:10821000089812E2008B8120940874022E008A01D3 -:1082200022C80892023D808B60228008B0022004A0 -:1082300030000000000000008805C800A0002000F9 -:108240000B1002C000A10024094A32024800B1000C -:1082500062C009A046CC2493492A8048302262019A -:108260007000000000000000C015A812A800220045 -:10827000089002E0008980224408B012A800A940BA -:1082800022C0089082AC009B042AC408B00270048B -:10829000600000000000000000148400E980B26467 -:1082A0004DA003EA20E9C036400EB0034400FB9025 -:1082B000B2880DBC03EC085B0038602CB06340044E -:1082C0007000000000000000E001B426DD9037409F -:1082D0004FE013F280FD003DA00D700375005E00BD -:1082E0003FA40DF9035C10EB0037200F3003B800FA -:1082F00060000000000000004010AC00E980324047 -:108300000CA183E800E90032420EB003AC48E9005A -:108310003A800EA403EC00EB00B2030EB00B100485 -:108320002000000000000000C8052E8089D12040F8 -:1083300008A002C0008180225808F5022F408B005F -:1083400020C00830437C008700224008F002320041 -:108350004000000000000000E00542019A4428A20D -:10836000081802C080A180A0000830028E00AB0077 -:108370002C400A30020C00A30020440A30023800CE -:1083800050000000000000006001320096822BA225 -:10839000885A02F200058029A0087842BE008E8427 -:1083A0002F610AD8024E10A78020280878021800F2 -:1083B000400000000000000048080800F224388057 -:1083C0002C1A03C400E058A0802E30038841E30239 -:1083D0003C400620038C00E30010000E31431202E3 -:1083E0000000000000000000401D9800EE013784EE -:1083F0009FD903F048FD1037C007B0035C00F610AA -:1084000033C00DE103ED20DF103F480FF023D0060D -:108410006000000000000000A805E402CB8030C02E -:108420000CA003E202C9003A400DB6036400EB0061 -:108430003EC00FB003ED00FB013EE00CB002EA00CD -:10844000700000000000000048119400870021C067 -:10845000286002D00085002D8048F0821C00B70003 -:108460002D000B5002DC00B7A02F80287A02D20426 -:108470006000000000000000C100BE00878021E015 -:10848000286802D70084802DE04979065309B58019 -:108490002DE20B7802DE80B7902DB0087902F00053 -:1084A00020000000000000004814CC10830128C800 -:1084B000082002C20681002CC88830620E21B3A0B9 -:1084C0002CC10BB602CC00B3002CE0083002D20461 -:1084D0003000000000000000E815A800CA40B0808D -:1084E0000C2C02F800C6203F900DA0037B01EEE0AB -:1084F0003FB40FEC03E800FA003FA00CA003FA041D -:1085000060000000000000004800E300F8092600B9 -:108510000FC183E010F8403C000F8003E001F80039 -:108520003E000F8103E004F8003E100F8003D200EC -:1085300030000000000000000810E402C9003E40C6 -:108540004F906326843902B2400C91032400F90055 -:108550003E400F90032400F1003A440F9003C20400 -:1085600030000000000000008004450089402E40DB -:1085700008920A2400B931226088948A2420B90024 -:108580002E400B90022400B90022680B9002E000FC -:108590001000000000000000180524A08D842F406A -:1085A0000BD1022400B900224A0810022C40B90065 -:1085B0002E400B90022400B9002A400B9002C60006 -:1085C00040000000000000000804140085802D40D9 -:1085D000085002040CB900A0500814220400B10095 -:1085E0002C400B10020400B128204A0B1302C201D8 -:1085F0000000000000000000B80D6000C0503E8088 -:108600000FC0432000F80030002C80232000F851D8 -:108610003E148F850B2140F8703A080F8483EE03D7 -:108620005000000000000000981DC400F9043E4006 -:108630000F9023D400FD003F500F9403F404FD007D -:108640003F418FD043E50CF9023F4A0F9203E60207 -:1086500070000000000000008805D401FD003D40CE -:108660000CD013F400D500336A1CDC833400D10431 -:108670003E500C9103E6C0DDB0336A2C9C83E600CB -:1086800070000000000000003810E009F8802E00A3 -:10869000888000E800BA0022B0088E02280088A86E -:1086A0002628088A22E20088E42230088C02CE04C0 -:1086B00030000000000000000805C400B1282E4072 -:1086C000081002C400990020424810026401918001 -:1086D0002C48081002C4C08140204A081202C2017E -:1086E00070000000000000001815A494A9022E409C -:1086F0000A90026400B90082600890026600891046 -:108700002462089002E40089022240189002C60404 -:108710006000000000000000A015E600B9043E4023 -:108720000C9013E400D1C012502890034400D900EB -:108730003E40289203E402D90032428C9012E804B1 -:1087400070000000000000002801A620F9003E4152 -:108750002D9003E400F9203E404F9001A400F90061 -:1087600036408F9207E400F100BE400F9003CA002C -:1087700060000000000000002810A000C8003E209B -:108780000C8003E040F80036122C0003E0C0F80033 -:1087900032100D8403A000F8023E080F8000CA04C6 -:1087A000200000000000000028053A908E002DA057 -:1087B00080E802FA00BE40238008E802FA008A003E -:1087C000368008A002E800BA002F800BA0038A00C0 -:1087D00040000000000000002805460283002C80B5 -:1087E000082242C680B1602EF4083822CE00A300D1 -:1087F00020C0083002AC00B1002E400B3002CA008D -:108800005000000000000000A0011E0285012DC2E2 -:10881000A84402D400BD0129401868D2DC008F8032 -:1088200025CC287342DC80B5302DC01B7202E800D5 -:108830004000000000000000A8081E04C6823DE0C1 -:108840000C4812D610F5803CA00C7003DE00E790B7 -:1088500023EA047A039E00F5803DE00F7A03EA02E2 -:108860000000000000000000080DAC009C003EC0AD -:108870000F8003E410F90036010FA003C000EB00E5 -:108880003ED84EB083EC00F9003EC00FB4438206E0 -:108890006000000000000000C005DE00CF8431E071 -:1088A0000EC843D600CD8033E0CDD9033A00FF880F -:1088B00033E00FF913FE24FD803F200CF6831000F7 -:1088C0007000000000000000A8119C00850021C479 -:1088D000284082D000D500238048C9021C00B70080 -:1088E00021C00B7102DE80B5102DC028F0022A04D1 -:1088F000600000000000000010009C00960021C0F5 -:108900000A4102F5408D0021400952029820B7002B -:1089100021C00B7006DC80B5002DC0087002040079 -:1089200020000000000000006014CC10980000C07F -:10893000880482C000910420030900028A00B30A5F -:1089400020C48B3402CC00B9002CC00030021804C3 -:108950003000000000000000F815AC00DB00B0C0E3 -:108960000E9C02C500C110B2C00DB00BA708FF00DD -:10897000B3C00FFA03FC00FD003ED40CF00B2E0434 -:1089800060000000000000008000EC04ED003E40AC -:108990000F8403E540F9403E60CEB4436400FB80A1 -:1089A0003EC20FB013EC00F9023EC04FB003E1002D -:1089B00030000000000000009010FF00CE0033C027 -:1089C0000EC0077404EC0011800CCA03FE60FF00A7 -:1089D0003FC00FF0833C00DD00B3502CF0032004B7 -:1089E000300000000000000081004C048B0B22705E -:1089F00008080367208A88A200288402E700BB00D9 -:108A00003EC00BB0022C00B900226108B0036040E8 -:108A1000100000000000000080052C008B2022E2E6 -:108A20000A8C022600A9802AC008B442ED00BB00CF -:108A30002EC00B30022C00B90020800830026000EC -:108A4000400000000000000008040E018100A0C0EA -:108A5000088102440081002881083202CC00B30062 -:108A600028C00B30020C80B10020C0083012420137 -:108A70000000000000000000800D6C00C20132C048 -:108A80002E80162C08E9003A400C8003EC00F70019 -:108A90002FC00FF00B2C00D90030400CF003600306 -:108AA0005000000000000000A00DF808FF003FC0CB -:108AB0000FC217FC00F70037000F8403FC00FF0013 -:108AC0003FC00FF003ED00FD003F400FF003E8064C -:108AD0007000000000000000C005FC00CF30174807 -:108AE0000C5903B900DF2835240D82A37C80FF00D8 -:108AF0003FC80FF203E4A0EF803FE18CD843300081 -:108B000070000000000000008010ED488934A37060 -:108B100028B02360008BC0224008B4822F40BFD110 -:108B20006FF48EBD02E700BB803AE008980A280483 -:108B300030000000000000008805C4B09100A8507B -:108B400008B202C884930024490B02024C00B3040B -:108B50002CC00B30428400B3002E000AB012220158 -:108B60007000000000000000C011AC0299182A44F7 -:108B700008B882A201BB0028600AA0126C00BB00EA -:108B80006EC00AB002E400BB002A002AB00238041A -:108B900060000000000000004011E408DAC03A6004 -:108BA0000C180AEB04DB0036E00785836C00FB0041 -:108BB0002EC00FB043E400EB003E880E18031004F3 -:108BC0007000000000000000E0419C10E9003760E8 -:108BD00087F0177000CF0137C04C9803BC00FB0032 -:108BE0003FC20FF003E400FF403FE40DD903F00063 -:108BF00060000000000000004010A400F4003040BD -:108C00000FB4039900FB003EC00D04232C08FB8821 -:108C100032C00FB003E600DB103E020FB083D00479 -:108C20002000000000000000C8052C00B950A24838 -:108C30008BB0032000D7802ED80080023C00BF807C -:108C400023E88BF002F4408B400C4203B602F200A2 -:108C50004000000000000000E0054C00B24400C8E5 -:108C60000B30128C00A38024C80B000ACC00B34444 -:108C700004C01B3602C501830C2CA00B3002F80087 -:108C8000500000000000000020011E08B790216481 -:108C90000BF8024A0497812FE40A78029E00B780FD -:108CA00021E08B7882D68687842DA00B7802C000C5 -:108CB000400000000000000048080400F20030C03E -:108CC0000F30038C00E30A3CC00F18038C00F30242 -:108CD00030C01F3001C680C3003CC00F1203DA024F -:108CE0000000000000000000400DBC00FF003F41FC -:108CF0000FF003B808FF083FC00DF0033C20FF0849 -:108D00003BD20FF003F440EF003FC40FD003D00676 -:108D10006000000000000000A805E400FE0032C270 -:108D20000C300B2600FB8036C00DA003EC00FBE0EE -:108D300032D00FB8436444DB043E800FB003E2003E -:108D4000700000000000000048119C00B700A1C0A6 -:108D50008870031000B72021C0087002DC80B33097 -:108D600031C80B7402140087402DC04B7002D20032 -:108D70006000000000000000C0009620B68020E0E7 -:108D800028F8029410B78127E2097802DE00B7A024 -:108D9000A9E80B3802760087802DA00B5802F0005E -:108DA00020000000000000004814CE10B30020C4D2 -:108DB0000820028010B30022C808B002CC11B30210 -:108DC00028C00B3002040093802CD20B1002D20476 -:108DD0003000000000000000E815A800FE4032A0AE -:108DE0000CE4039880FA0037A00DE083E800FE0051 -:108DF0003A800BA0036800D8A03F900FA003FA04AC -:108E000060000000000000004800E008F8083E0094 -:108E10000F80032000F8403E000F8003E000F804BC -:108E200030100F8003E002E8003E000F8003D20004 -:108E300030000000000000000810E400F1003240A3 -:108E40000E9083A400C9803E400E9003A400F90058 -:108E50003E400C9003E400C8003E408F90030204A3 -:108E6000300000000000000080046400B940A062EF -:108E7000081002241089002E400890022400B90036 -:108E80002E52089402C40089402E400B100360103B -:108E9000100000000000000018052400B91822444A -:108EA0000A9002AC0089102EC00A9002A400B9807A -:108EB0002E60089802E60289082E400B90020600F8 -:108EC000400000000000000008040480B120A04819 -:108ED000089002240881232C500810020480B1203D -:108EE0002C48281202E48081202C400B9802420575 -:108EF0000000000000000000B80D6140F850320092 -:108F00000E8503A1E0CA003E000E8503A000F80014 -:108F10002E009CA003E000C8283E000F80032E0115 -:108F20005000000000000000981DF440F5103F4480 -:108F30000FD003F400F1103D408FD403E450F9103A -:108F40003E450F9103D440FC003FC08FD023E60480 -:108F500070000000000000001805E620CDA8334096 -:108F60008DD0032680CD003D500C9A036400F9A0FB -:108F70007A6A0F9A63E680C9803E400F900306002C -:108F800070000000000000003810E10088E03600AA -:108F900008800A2142C8002E290CA4422000B840B3 -:108FA0002E000B8102E10088023A010BC0020E0480 -:108FB00030000000000000000805C40281082440C1 -:108FC000091002040091002C404B14024400B5101B -:108FD00029400B5002F500B5002D400BD0020201D4 -:108FE00070000000000000001811A6018900264052 -:108FF000089402240189002E401A90026C00BF02DE -:109000002F400BD002F402BD802B408BD83A0604CF -:109010006000000000000000A015E400C905364112 -:109020000D1C032400D9003E422F94036400F90074 -:109030003A400F9003C400F9003E700F100328045B -:10904000700000000000000028018408F9243E4060 -:109050000F9103E400F9003E410D1003A400F90054 -:109060003E400F9003E400C9003E640F9003CA0025 -:1090700060000000000000002810A008C880320234 -:109080000F80030000C8083A10CE8403E000FC0003 -:109090003F008FC003F080FC003F180FC043CA049C -:1090A0002000000000000000280528008E00A1809C -:1090B0000BE0022800DEC2239000A002E800BA0004 -:1090C0002E800BA002E800FA002E800BA002CA003E -:1090D000400000000000000028054C00998160C09D -:1090E0000B10020C0090102AFC0B3002CC00B300D5 -:1090F0002CC00B3002CC00B3002CC00B3002CA00D5 -:109100005000000000000000A0011C82954021C01A -:109110000B50021C8090802301097212DC00B60003 -:109120002D000B4002D000B4092D004B4082E80016 -:109130004000000000000000A8083E80DD80B1E093 -:109140000FDA030F80D48039E00B7A03DE00F5805C -:109150003D200F4803D610F6813DE08F6803EA02F8 -:109160000000000000000000081DAC00ED003E0003 -:109170000F910BEC10F8003E000EB003EC00F8006D -:109180003EC04FB003E800E9013E000F9003C20665 -:1091900060000000000000000005FE20BF8133A435 -:1091A0008C19033E00CD803FE00FF8833E00EF8036 -:1091B0003FE00FF913FA10FD803FA40FD803C00061 -:1091C0007000000000000000A8119C00BF2031C208 -:1091D000085A023C0287002D940B700A1C4086102E -:1091E0002D000B4002D400F6002D404B6002EA0433 -:1091F000600000000000000000009C00B701238018 -:109200002850021C0084002DC00B30021C00B50049 -:109210002D000B4006D040B4082D800B4802C00042 -:1092200020000000000000002014CC00B308A020A3 -:1092300008118A0E0080002C900B37020C00900061 -:109240002CC00B3042CC04A3802C500B3002C8043D -:109250003000000000000000A815BC00F98032605A -:109260000CD4033C8088003ED00FF8032800FA009D -:109270003EC00FB007EC01BB803E540FB006EA04BD -:1092800060000000000000008000EE08F9803AC095 -:109290000F9003EC00F8403E580FB043E900EB4458 -:1092A0003E000F8003E00DF8003E800F8003E000D9 -:1092B00030000000000000000110DC00CF0033404F -:1092C0000CD0033C30CC003BC02DF003D802CC00C6 -:1092D0003D000CC003F400EE0237400CE003C04434 -:1092E000300000000000000081046C18838420001E -:1092F0004A10020C00A8482E6008B002E90089401C -:109300002EC008B002E810B10120800A9003A040EE -:10931000100000000000000080052C008B82220855 -:109320000890022C1488042C0808B012E8008A0067 -:109330002EC00AB002E801B9002604089002E0003D -:10934000400000000000000008040C008380A2C060 -:109350000A92022C00A2002C00083402C8008300EC -:109360002C00280002C401BA0022C0022006C2015B -:109370000000000000000000000D6C00CA00B200F8 -:109380000C920B2C04C8043A000CB403E800C8008B -:109390002E000C8033E140E80036000C8003C0034F -:1093A0005000000000000000A01DFC00FF003D0078 -:1093B0000FD10BFC01FC003F000FF003D800FD00B3 -:1093C0003FC00FF003FC80FF003FC00FF007A8066E -:1093D0007000000000000000C015F300CF80356071 -:1093E0004E68435C00E78039C00CC1037E00CF3477 -:1093F00035E14DF2037C00DF383FC80FF803F00081 -:109400007000000000000000C018C800DB8422606B -:1094100008AC0A2C008B8022300891222C90276106 -:1094200022CA88FC22BF008B622FD009B803B00487 -:109430003000000000000000C805E280A9022440BE -:109440008234420400A90028C54832024C208330EF -:1094500020C00831020D00B3202CC40B3002F201F1 -:109460007000000000000000C005AA02B9042260DC -:1094700028B2022600898802C0083112EC008B0055 -:109480002AD008B002AC002B002EC00BB002B004F2 -:109490006000000000000000C005E200E30036208C -:1094A0000EA4636E00E1C01AC10C80036870CB008B -:1094B00036800DB0034C00FB043EC10FB003D00456 -:1094C0007000000000000000E001B804DF003F0071 -:1094D0000FE803FC00FD003F002B98033A007700E3 -:1094E00027E40FF003FC00DF003EC00DF043F8005E -:1094F00060000000000000005000A468CB203A90FB -:109500000F24A3AC00E9503AC00EB4832C08EB0042 -:109510003A900EB08BEC80FB003EC00EB00390047E -:109520002000000000000000C8010A008BA020807D -:109530000DA8022C04894028E808B2022C00AF00D4 -:109540000280087C033D803F002FC008B002360037 -:109550004000000000000000E0054900034028C072 -:109560002B284A2800A10068D20A2042A401A300A7 -:1095700002400A34020D0033002CC00A3000B8004B -:109580005000000000000000B8011A00879021E49C -:109590002BC8123A0085C02B21286802B600A78488 -:1095A00023600838801E00B7802DE00878022E0066 -:1095B000400000000000000048080800C1003854C6 -:1095C0000F26838000E03428C80E2C0B8C00E300AB -:1095D00078450E30038E80F3003CC80E30039202B3 -:1095E0000000000000000000401DB800F5023F44EC -:1095F0000D9003F800BD141FC00FE1235C449F428F -:109600003FC00FF4827D40FF103FC04F7007D0066F -:109610006000000000000000A805E802CB0038C090 -:109620003CA003EC00E9003EC00CB0032004FB2189 -:109630003E804FB403CF00CB003ECC4FB043EA0096 -:109640007000000000000000C8919800870021C051 -:10965000084002DC04B5002D002D70021C1CB7026E -:109660002DC00B7202DC0087402DCA8B7002F20401 -:1096700060000000000000008000BA0087882BE036 -:10968000187822D611A4822FE00878021200B7942D -:109690006D604B7A02DE40B7A02DE00B7806E0004B -:1096A00020000000000000004814C912838228D462 -:1096B000980006EF05B1902CC109B4020C04B30167 -:1096C0006CF00B3002CC00BB002EC00B3002D20479 -:1096D0003000000000000000E815B840CA803BA040 -:1096E0004CE502F880EE003D802CE00F3880FA0057 -:1096F0003FA90FA003E800BA023E808BA003FA0442 -:1097000060000000000000004800E010F8002602A1 -:109710000F8403E024F8003E004F80A3E030F800FF -:1097200036020F8023E00408003E000F8003D200C1 -:1097300030000000000000000810E400D900B6412D -:109740004E990BA40069103E400C9003A410C90070 -:109750003E400D9203E600F9003A400E9003C20429 -:1097600030000000000000008004640081002042FE -:1097700008149A240089006E500090022410D90227 -:109780006E400B9403A700B9002240089003E0004C -:109790001000000000000000180506009900A64116 -:1097A0000A90062C00A9096E5008910284048900D1 -:1097B0000E400B9402E549B9000A400A9002C60027 -:1097C0004000000000000000080406008100224064 -:1097D0000812220481A1002C4008160204009120E6 -:1097E0002C400B12428489B1202048081002C2018B -:1097F0000000000000000000B80D6140D8003600F5 -:109800000A8003A140E8002E000C0023A140C850AC -:109810002E140D8003E000F8503A000E8003EE0392 -:109820005000000000000000881DD400F500BF407B -:109830000FD103F444DD023D502BD123F400F91085 -:109840003F400D9103A448F9123E4E1F9003A6021B -:1098500070000000000000001815F400C5043B4033 -:109860000FD803A780FD00B3680DD843A510C9A089 -:1098700032514F5A433600C9A07A680BD003C60153 -:1098800070000000000000007818CA8888020200FA -:109890008D84222342F8002204288AA2AA9488E90F -:1098A00020A80A800A214080E22E280B8002CE04E4 -:1098B00030000000000000004805C420A104A8C03A -:1098C0000B1C2A2400390420402A1E02E480B11017 -:1098D0002A48091446040081382C5B0B1002D20080 -:1098E00030000000000000001805A412A924224046 -:1098F000299002240039000258081810E601B90026 -:10990000AA44089002240089000E410B9002C6046C -:109910006000000000000000A005E400E1012A64EE -:109920002F94132402716012604D9000C502F9005B -:109930003A400F90232402C9023A400F9002E804F3 -:1099400050000000000000006801A400D9003E6043 -:10995000AF90836488F9203E62039083A400C9001D -:1099600036600F1003C400F9007E400F9003DA0048 -:1099700060000000000000002800A100C882320042 -:109980006F0003A000D84030000E80036004F8018F -:109990003E104F808B2200F80032010E8003CA0473 -:1099A0002000000000000000280138000E00A990EF -:1099B0002FE62088009E8023800AE8032800BA0052 -:1099C00018800DEC023880BA00A28008A0038A003B -:1099D000400000000000000028056C02838020C8C1 -:1099E0000B20020C01921068C03A3C02CC103B02E2 -:1099F0000CC0283C024E00B30028C0283002CA0028 -:109A00005000000000000000A001140087422BC09D -:109A10002970229C00B6002BC20A60861C00B72168 -:109A200029C00074025C00379101E0087402A800AC -:109A30004000000000000000A8081E00C78021E0D0 -:109A40002F78029E00968039E02EF803DE30F7D0A2 -:109A50002DF20078035200F7A23BE00E7807EA02ED -:109A60000000000000000000081DB400FB000CC056 -:109A70000F3003EC10D300B4C02F80036C48FB0000 -:109A80003EC84D9003A400FB201EC00FB003C206C9 -:109A900060000000000000000005FE00CC802B2CC0 -:109AA0002FF8037E006E803BA10DD8433E00FF904F -:109AB00033E00FE933FE00CFC03FE20FD803C00010 -:109AC0007000000000000000A811B44087002104CD -:109AD0000878021C00860021C0289002DC00B71024 -:109AE00021C00F7302CC0087002DC00B5002EA008A -:109AF000600000000000000000009D00A400294854 -:109B00006AF0824C00AE00A1C42974025C40A3102C -:109B100061C20B6006C80087002DC00B5002C00454 -:109B200020000000000000002014E601A3022040F5 -:109B3000283C020C00834220C8081002CD00B3006C -:109B400028F00B3002CC0183042CC0831002C8041F -:109B50003000000000000000A815AA80EB0038C00B -:109B60000A90037C22A24032480DB00B3E00FF0059 -:109B700033F40F9003EC008F023FC00F9003EA0410 -:109B800060000000000000008000E000D9023EC03C -:109B90000EB603EC00FA203EC04F2423AC60FB005D -:109BA000A6C00E9003E400FB003CC10F9003E00050 -:109BB00030000000000000000110F802CF0033E088 -:109BC0002CF013BC002E10B1642EF0023C00FF02FA -:109BD0003FC14DEC63FE00B7003BC00CD803C0444E -:109BE000300000000000000080046C28818122E029 -:109BF0000A38023C04BAC932E02084022C00BB00BF -:109C00002EC00B9C02E781BB0422C00A9902E0002F -:109C10001000000000000000800528408880228895 -:109C200028BC42AC00BA002A80088402AC00BB0009 -:109C30002EC00BB082E890AB0062C008B012E0000A -:109C400040000000000000000804000089002A8095 -:109C500028B2020C00BA0020C00800028C00B30039 -:109C60002CC00B30204C14B30020C0083002C201BD -:109C70000000000000000000000D6800C800B2C035 -:109C80002CB203AC00FA003AC04EA503BC00FF00A2 -:109C90003FC009A003E904EF00BAC00CB001C00145 -:109CA0001000000000000000A019FC00F50035C005 -:109CB000AF3403FC00F40039C00FC2037C00FF0185 -:109CC0003FC00FF003FCA0FF003FC00FF003E8050A -:109CD0006000000000000000C005FC00FF293D20DE -:109CE0008EC1033248DC8023250EF2033CC0DF84A2 -:109CF00033C90FF203FC00CF8033400CF203300075 -:109D000070000000000000008010ECC0BB602E0856 -:109D100008810220048820204808F1822DC0830099 -:109D200022D409F502FC088B01224028B402200449 -:109D300030000000000000008805CC20B3092C8210 -:109D4000081016A010900828480A32020C00BB0028 -:109D50002CC00B3002CC02930120008A3122E20198 -:109D60007000000000000000C015AC04BB002C8097 -:109D7000088602A020A0002A600AB0102C00AB0CBC -:109D80006EC009B002CC009B0022600AB002F00451 -:109D900060000000000000000015EC00BB003E3435 -:109DA00008A00B8300D9023AE02EB00B2C00F880FB -:109DB0003EC04FB003EC00CA40B2720EB00BC004FC -:109DC0007000000000000000E001BC10FB003F003C -:109DD0000DF8137048DD4037C28DF003DC00DDC89C -:109DE00013C00FF003FC00EE407F400D70033800FD -:109DF00060000000000000004010AC00FB0132C019 -:109E00000410032040E8103AC00DB003AC08F8403D -:109E1000B2C02CB033A482DA40BA400FB003D004F1 -:109E20002000000000000000C8053C08BF8022C8D8 -:109E300008B700234488D022D0087082FC00B2E02A -:109E400003F408F50237048BD122604BFD02F200C7 -:109E50004000000000000000E0054C00B310A440EA -:109E60000800024800A0422AD00130028C00B380D2 -:109E70002CC0093102CC00890022E8033802F80026 -:109E8000500000000000000060011E00B780276441 -:109E9000684A0252008C8021E0087802DE00B78018 -:109EA0002DE21939025E30859821E40B7902D80041 -:109EB000400000000000000048080C00F3203400BF -:109EC0000CB8034880E22238C00D30038C00F30048 -:109ED0003EC00D3103EC00CB0038060F3083D202B8 -:109EE0000000000000000000401DBC00FF003B011E -:109EF0000FD0039000F6003FC00FF401FC00FF01FB -:109F000033C20EF513BC00ED003FC40FF003D006C2 -:109F10006000000000000000A805EC00FB003CC051 -:109F20000EA0016401D80032E02CB5032C00F20031 -:109F30007AC00DB4032D80C90232C00CB0032A00D0 -:109F4000700000000000000048119C80B7002DC088 -:109F50000D6002D001840021C00830021D00B7004E -:109F600021C80BF4031EC0860021C0087C035204E4 -:109F70006000000000000000C0009EC0B7902DE00F -:109F8000087806D601B48221E008780A1E00B5C020 -:109F900029E809780236C1978028B00A7A02300091 -:109FA00020000000000000004814CC00BB002CE0A2 -:109FB000093582C0C1A05120E40830028C00BBC426 -:109FC00020C00B300206009318AAB02A300A5204AF -:109FD0003000000000000000E815A800FA013DACC8 -:109FE0004CEC137810F680B3900CA0032800FE0010 -:109FF0003A810DA00F2A80DE043BA00EA0033A0494 -:10A0000060000000000000004800E000F8003E0092 -:10A010000D8002E100D8483E120F80136000F86006 -:10A020003E00078003A002E8042608058003920092 -:10A0300030000000000000000810E400F9043A407D -:10A040000C12032482C90036440F10032400F900C7 -:10A0500036400490030400C90012400C900302042F -:10A06000300000000000000080046400B98122403C -:10A0700008901A2400890022680B99022400B90074 -:10A08000224068900A24008900A24008900A20001B -:10A09000100000000000000018052400B91022E0A4 -:10A0A00008940004048B0826C00B90022404B90C09 -:10A0B00024400A1002240023022A40A810020600AD -:10A0C000400000000000000008040490B12022407D -:10A0D0000812020C108102A0500B12020480B1057C -:10A0E00000480A100204A0A100284A081200020138 -:10A0F0000000000000000000B80D6140F850BA14E4 -:10A100000C85030142C85034000F85032140F8003C -:10A1100036000E80132080E0001A080C00032E0386 -:10A120005000000000000000981DE444F9103F407A -:10A130002FD113F404F5003F400F910BE440FF28AA -:10A14000BE4E0D9683D4A2DD28374A0F9383E606D0 -:10A1500070000000000000009805E410CD003F40B2 -:10A160000FD00335025D0131440FD0032400F90004 -:10A1700032600C9883E640D900366A0C9E83260133 -:10A1800060000000000000003810E00088002E0091 -:10A190000B804202808A0022208880032008B88237 -:10A1A0002221088882E24288A8222008CE020E04DA -:10A1B00030000000000000000805C4028100684073 -:10A1C0000B10028401B900204049100A0400B508B0 -:10A1D0002146085002D4008D20254A0B500242012E -:10A1E00030000000000000001811A40089046E5423 -:10A1F0000B1012A401A900A2401890162400B90067 -:10A20000234018D002F4008D40214A0BD0024604AE -:10A210006000000000000000A015E400C9003A50F2 -:10A220008F960B8402F10130488D90032410F900C1 -:10A23000B2402C9003E640D1C036502F900B6804FA -:10A2400070000000000000002801A400F9003E603A -:10A250000F99C36400D9283E400D9003A400F94033 -:10A260003E400F9003E420F9403E400C90038A00EA -:10A2700060000000000000002810A000F801360077 -:10A280008F8003E002F80432000D80432002CC00EE -:10A290003F000FC0139002DC403F104CC0230A0463 -:10A2A000200000000000000028052800BA002280DD -:10A2B0000BE820F8004EC023A008A00368008A0025 -:10A2C0002E801FA0022A068A002EA00260030A0028 -:10A2D000400000000000000028056C00B30020C012 -:10A2E0000B3D02C003230020E001B0064C008B00B0 -:10A2F0002EC04B30028E0883802CC400348E4A005E -:10A300005000000000000000A0011C80B58061C06A -:10A310000B4002D400840823C20850025EC08401AE -:10A320002D008A0802102484086D000A03122800F8 -:10A330004000000000000000A8081E00F582216017 -:10A340000F7803D604AE8031E00D58237E00C6801E -:10A350002DE00B78038E00D7823DF00C7A036A0261 -:10A360000000000000000000081DAC00F100BAD899 -:10A370000F8003E412F800BE800E1003EC00F90019 -:10A380003E005F8003E008F8043C000F8003C20633 -:10A3900060000000000000004005FE20FF803FF04C -:10A3A0000FF803D200EF84B3610CB903FE00FF8005 -:10A3B00033E00CF8132211CD903F600CE80310003D -:10A3C0007000000000000000A8119C00F5002DC0E6 -:10A3D0000B0002D40484202340085A02DC00B4009D -:10A3E000210028C2021E0486042D8808D0022A04F7 -:10A3F000600000000000000010009C00B5002D402F -:10A400000B7002F420A70421C00A5002DC00BE0039 -:10A4100021C0087012000085002D4088680A0400E1 -:10A4200020000000000000006014CC00A1002EC03D -:10A430001B0806C420800020981A1002CC00B10826 -:10A4400020000800020C0182C02CAC2890221804C5 -:10A450003000000000000000A815BC00B3003E4022 -:10A460000FBA03E502E9043290AEB003FC10FB40E2 -:10A47000B2000C800B2C0282183FA00CD0032E04DB -:10A4800060000000000000009000EC04FB013E4072 -:10A490000FB643E400F8003E80019003EC00F88121 -:10A4A0003ED00DB453E000F9403E400FA003E00061 -:10A4B00030000000000000008010DC02CD8033601E -:10A4C0002CDA03FC00EC0033400FF2037C04FE00A6 -:10A4D00032000CC8033C00CE0031800CD1032404B0 -:10A4E000300000000000000091046C0009002A64A4 -:10A4F000088E02C210A0103E100B9802EC00B900AA -:10A5000002D808BE2220008900225008A002204064 -:10A51000100000000000000080052C000B202240ED -:10A5200008A002E542AB0422180BB0026C00B30095 -:10A5300020040801020004A8402210088002200024 -:10A54000400000000000000008040C0883002840C0 -:10A55000080402C402A8002C000B1202CC00B000B8 -:10A5600020C04030020C008B00A8C008300202114D -:10A570000000000000000000800D6C00C9003340A6 -:10A580000CB003EC02EB0032400FB0036C00FA0099 -:10A5900032000C80032080C80030000C80032003B0 -:10A5A0005000000000000000A019FC00FD003F402A -:10A5B0000FC213F000F4003F004FD403FC00F5007D -:10A5C0003FC08FF003FC40FF0037C02FF003E806C8 -:10A5D0007000000000000000C005F000CC00330057 -:10A5E0000ED00B3300CC0033E00FC0837C00CF20B3 -:10A5F0007B098CF803FE50CF383FE10DC203F00019 -:10A6000070000000000000008010E2009808208028 -:10A61000089802200088D022E00EB4227D199F699C -:10A620002E900830922881DB642EE18816A2E00487 -:10A6300030000000000000008805C80090242001C0 -:10A640000810160082830128C10B02820CE0A310BF -:10A65000280E1B9202848493202EC0083102E2014E -:10A660007000000000000000C015A81098002280B3 -:10A6700008900200608A102AC00A20026C18BB00F1 -:10A680006E602B900246208B002EC208B182F0042F -:10A6900060000000000000004011E402CB00B24066 -:10A6A0002C920327008800BAC00F88032C00EB040B -:10A6B0003AA0CF2CA3ED009B003CF02D8C33D004AE -:10A6C0007000000000000000E001B404EF003FC093 -:10A6D0000D5103F000F18137C00EF4039C10CF0040 -:10A6E0003D800CEC07B808FF021FC40FC803F80038 -:10A6F000600000000000000040109E00C3003840D1 -:10A700000C9203A480FB203AC00D94032C40FB0064 -:10A710003E010F8003E500EB003AC00D840B1004EE -:10A720002000000000000000C8052C088B0222C099 -:10A7300008920321008B4822C00BB7023D403F0125 -:10A7400022740B90022804BF00B2C00B85023200B5 -:10A750004000000000000000E005400180002800EB -:10A76000082C128840B04008C00B18020E00B3003D -:10A7700028201130020C00B3002400090006380024 -:10A78000500000000000000020011200848021A081 -:10A790002868123A00848025E08B58021E40B78258 -:10A7A00021A60B78021A00B78021200B580208005E -:10A7B000400000000000000048080800C8213809D7 -:10A7C0000C28038001F10038C00D85020C00FB004D -:10A7D00038850F10038C00EB103CC80D30031202BB -:10A7E0000000000000000000401D9800FC013F80B8 -:10A7F0000F6803D040FC003BC00DC003FC20FF00ED -:10A800003BC50FF00BB440FF183F000FF103D0061B -:10A810006000000000000000A805E400EB00B0416B -:10A820000CA003E004CA04B0E00EB003EC80CB201F -:10A8300032810CA003EE00DB003E000EB0032A00C4 -:10A84000700000000000000048119404870021C03F -:10A85000486002F000870021C0087002FCA0832835 -:10A86000A380086002DC0087202DC00B7002120458 -:10A870006000000000000000C0009C02A380216076 -:10A88000086802D200878021E0297802DE80879064 -:10A8900021A0194802FE0097802DE00A388230007E -:10A8A00020000000000000004814CC01838020C07C -:10A8B000082042C0308370A0C0893402CC028300DB -:10A8C00060C0290002CE0083002CC80BBC02120419 -:10A8D0003000000000000000E815A900EAE2329014 -:10A8E0002CE003FB02CEC032800FE403E8008A00B4 -:10A8F00033880D64C3FA00DA003D900EE00B3A0491 -:10A9000060000000000000004800C024F8083E126B -:10A910000FC003E048F0003E000E8093C000F80036 -:10A920007E010E80C2E040F8007E008F8403D200DA -:10A9300030000000000000000810E500C1013248AE -:10A940000C9803E640C90032400F90036600C9002E -:10A9500018610C90036420F9053E400C90830204BA -:10A9600030000000000000008004662089002052B2 -:10A970002810C22602A90022400B900A2700A90035 -:10A9800022700890022408B9002E400A900A200084 -:10A990001000000000000000180524028D00234074 -:10A9A00008D1028420890022600B11F224B08100BA -:10A9B0002A460890426408B9002E40089202060018 -:10A9C0004000000000000000080414808520234897 -:10A9D0000852028408810020400B12020480A1204A -:10A9E0002849289002040031202E4008320202013A -:10A9F0000000000000000000B80D6000C850B21454 -:10AA00000CC003A140C800B2000785032140C85014 -:10AA10003A150C85036140F8513E002C85032E0346 -:10AA20005000000000000000981DC448F9103E448A -:10AA30004F91037400F5443E400FD103E440F910F8 -:10AA400037440FD003D400F9103FC00FD103E606FE -:10AA500070000000000000001815F6A0DD8C3378AF -:10AA60000EDA033500CDA033400DF80B3681E980B6 -:10AA700033700C9103E440F9C03EC00FDC03C60004 -:10AA800070000000000000003810E104B840203CD5 -:10AA90000C850202848A402200088F822300B8E8D5 -:10AAA0002220088802E200B8D02E000B8C02CE04CF -:10AAB00030000000000000000805C400910060485C -:10AAC0004B1002048A814060404910028DA0A141D0 -:10AAD0002050091222C480B1202C404B3E02C201FA -:10AAE00070000000000000001815A408B904A04080 -:10AAF00048B0022400890082400890A6A400B9044E -:10AB00002254299502E540B9006E400B9202C6041A -:10AB10006000000000000000A005E4009100324049 -:10AB20000F90092400899032400D9403A400E9029B -:10AB300072600D9403E401F9013E600F9003E80494 -:10AB400070000000000000002801A440F9003E4011 -:10AB50004F9003E710F9803E400F10136400F1009E -:10AB6000BE400E9003E608F9013E640F9003CA0050 -:10AB700060000000000000002800A000F80032087B -:10AB80000C010B2040C84032000E84832000F804E2 -:10AB90003E040F80032100E8003E100F8803CA0422 -:10ABA0002000000000000000280538003E0423803B -:10ABB00008EC123944A600288108E0003808BA00E1 -:10ABC0003F800BA002A8008A022E800BE002CA0080 -:10ABD000400000000000000028054800310024D09B -:10ABE000083E12AE0881A02CC00A38004C00B30009 -:10ABF0006EC00A30020C00A3006CC00B3002CA0009 -:10AC00005000000000000000A0011800B51025C091 -:10AC10002860129010A5082DC20864225818B700A9 -:10AC20002D800B7902BEC087016DC00B6002E80069 -:10AC30004000000000000000A8081E00F584352038 -:10AC40008C18029210C5803D600EC80B5A0877F32D -:10AC50003DA00FF8031EB0E7853DE00F7803EA0240 -:10AC60000000000000000000081DAC00F104BA0163 -:10AC70000FA0436009E10038400EA003A814FB2098 -:10AC80003A800FB41B4C80FB293EC00FB023C20694 -:10AC900060000000000000000005FA00CD803BE0ED -:10ACA0004EF803F202D4813BE08E98073E44EF91C8 -:10ACB0003FE04FFC07EED0CF9833E40FF803C0001D -:10ACC0007000000000000000A801980085102DC44D -:10ACD0000D1102F000852031C40B7B003840D710E5 -:10ACE0002D800B7062FEE1871439C00B6002EA040C -:10ACF00060000000000000000010BC40A5002940DA -:10AD00000B5082DC4084042DC00B10065844A71061 -:10AD10002D800B7102DC00870421C20B5002C01091 -:10AD200020000000000000002014CC0AA1012C40EB -:10AD3000891802C100A10820C00B34064000930509 -:10AD40002C140B3C86CE10830128F10B1402C8048E -:10AD50003000000000000000A815A000ED003AC07F -:10AD600007BC63ED0081403EC00E88036400EF0025 -:10AD70007E500FF002FD42CF0072C01FB403EA0400 -:10AD800060000000000000008000E80099003EE044 -:10AD90004FB483ED9009403EC00FA183A801EB01A1 -:10ADA0003E000FB113EC0CFB003AC05F2023E00023 -:10ADB00030000000000000000110F800FD043FB06A -:10ADC0000D60033E00CD0033F00FF201F000FF03F1 -:10ADD0003F030FF001FC00FB0233C20FF0E300441D -:10ADE000300000000000000081046A00B9022EA0BB -:10ADF0004AAC020E80F9C036E10BA0022A08BB0063 -:10AE00002E200EB002EC00EB0022C08BB0022040DE -:10AE1000100000000000000080012300A90028C0ED -:10AE200009B2226C4089892AC00B14062600AB02A5 -:10AE30006EE009B0066C00B30222C00BB002200025 -:10AE4000400000000000000008040800B1002CC011 -:10AE50000A30022C00BB0064C00B320A0800330029 -:10AE60006C80023046CC18A30020C00B28020211CF -:10AE7000000000000000000000056800E90038C183 -:10AE80000DB10B2C0089003AC00B90036000FF024B -:10AE90003E800FF003FC80FF0032C08F800B000368 -:10AEA0005000000000000000A011D800FD043FC0C9 -:10AEB0002FF203FC11EF003FC00FF4437000FF00BE -:10AEC0003F0046F003FD00EF003FC00FC003E8065F -:10AED0007000000000000000C005FE00FF803DE0A3 -:10AEE0000CF913DE007F80B3E00FFC03BE40CF807F -:10AEF00033F00FF8037C04CC8033A00CF00B30014E -:10AF000070000000000000008010E02088002E206B -:10AF1000088212E080A88122020B80022080A88093 -:10AF200022080B80022C028804AA2008B002200408 -:10AF300020000000000000008805EC00A3082C8021 -:10AF4000083202C420A30028400B92028400A90109 -:10AF500028C81B1282CC40A80024E00A30422201FB -:10AF60003000000000000000C011A880A8022E40A0 -:10AF7000688010C800B8402A900BA0002800AA08DA -:10AF80002A020320028C00A8882E200AB002300476 -:10AF900060000000000000004015E804FA003C409A -:10AFA0000CA003E800EB003AC00F2053A800E340D8 -:10AFB0002A400FA0036C00A88034201EB0031004A8 -:10AFC0007000000000000000E001B4009D913F808F -:10AFD0000FDA23F400CC20370007D0137400BC0034 -:10AFE000B7800BD0437C00DC043B006DF003F8001D -:10AFF00060000000000000004010A800FA803A0045 -:10B000002CA00B2002CB623E500E88032000D910EA -:10B010003E708C8033EC80D8403A020DB0031004AF -:10B020002000000000000000C8010C00398022C090 -:10B030000C9D822C10D0402EA008B8034E028A40EE -:10B040000EA00DB0033D00D09036100BF002B20000 -:10B050004000000000000000E0054C00B10060C0AE -:10B060008A18028C0880400CA0023002CE00824870 -:10B070002C802B30068C008102209009B002380011 -:10B08000500000000000000020011200B690A33024 -:10B0900008E822B21487802D600849121261959049 -:10B0A0002D610A48161E80958025200B78028800A5 -:10B0B000400000000000000048080C00F100288C4F -:10B0C0008E1003848080002C020A9A02E400D000D3 -:10B0D0003E800B91038E80C20838800DB0031202AF -:10B0E0000000000000000000401DB000F6003F44DA -:10B0F0000F21137800FF003DC00FE0037800EF043C -:10B100003F408DE803DC04F6003F000FF083D006DB -:10B110006000000000000000A805E800E880324060 -:10B120000F880B280078023E800E28032800CA8072 -:10B1300032000FA003EC00C98032800FB0032A0058 -:10B14000700000000000000048118C008F00A180FA -:10B150000B70421400B7002D410B50421400A500A3 -:10B16000A1C00B5002FC80A50021000BF2021204CA -:10B170006000000000000000C000BA00A480293078 -:10B180004B48065208B4802D200B48423200848080 -:10B1900021200B4812DE40868129A00B780A30005E -:10B1A00020000000000000004814CC00830520E0CF -:10B1B0000B34026C10B3002CC00B364A0D0DA300EB -:10B1C00020C00B3482CC02A20028000B30021204F3 -:10B1D0003000000000000000E815A920EA4030A07F -:10B1E00007A0436940FA003C800FA0030840CA0052 -:10B1F00030A00FA403E800CE003B980FA0033A0450 -:10B2000060000000000000004800D200FC083F0081 -:10B210000BC203B000FC003F000FC003F000FC00B5 -:10B220003F040FC003E000F800B6020F8003D20015 -:10B2300030000000000000000810E400D9003E6863 -:10B240004C9101E408C9003E402C9203E402C9A0DD -:10B250003E700E9003C642C9003E400F1003020428 -:10B2600030000000000000008004640089860E6049 -:10B27000089802E40889102E60089002E400890C06 -:10B280002E60089002E68889002E400B9002A000F4 -:10B290001000000000000000180524009D102F4041 -:10B2A00028D006F402AD002F6008D002F4008D0013 -:10B2B0002F400AD002E40089002E600B90020600A5 -:10B2C00040000000000000000804340085002D400C -:10B2D000085802D400A5022D40085000D400850073 -:10B2E0002D40085402C48081002C600B140282019E -:10B2F0000000000000000000B80D6140D8523E0080 -:10B300000C0503E140E8043E140C8503E140C8004D -:10B310003E140EC003E000C0023E004F80232E0307 -:10B320005000000000000000981DF400F9013E40AC -:10B330004F9013E400D9001E400F9003C410F10099 -:10B340001E400F9003E4E0FD283F400F9403E60603 -:10B3500070000000000000001805A400FD003F4040 -:10B360004D5002E4009504334028D003F400FD0062 -:10B3700033400F91033400CD4033400F98810600D5 -:10B3800070000000000000003810E010B8002E002F -:10B390000B8002E010B8002200088002E000B80034 -:10B3A00022000B8803C280888022000B8C020E04CE -:10B3B00030000000000000000804C400B1002CC0F0 -:10B3C0000B1002C400BB002240081002C401B900E7 -:10B3D00020401B90020422890020600B128202018F -:10B3E00070000000000000001815A444B9002EC031 -:10B3F0004B9002E410B9020240089142E400B98087 -:10B4000022400B9202C400994022404B9012060445 -:10B410006000000000000000A015E600B9013E58E1 -:10B420000D9003E600D10032600C9802E640F9006E -:10B43000B2400F18032400C98032500F9023280413 -:10B4400070000000000000002801A400F9003E4246 -:10B450000B9003E708F900BE480F9003E400F900E1 -:10B460003E400F9803A400E9A0BE400F100B4A0015 -:10B4700060000000000000002810A000D8013E007D -:10B480000F808B2000F8203E010F8103E000F808B8 -:10B490003A000C8003E000D84032000F80130A0409 -:10B4A0002000000000000000280528008A802F915D -:10B4B0000BEE022801BE0020800BA002EA80B648F5 -:10B4C00022800DA002FA028641A3A60BA0030A0067 -:10B4D000400000000000000028054C0093802CC0B4 -:10B4E0000B30020C10B30028C00B3802CC00B300A4 -:10B4F00028C0093002C601836020700B300A4A0060 -:10B500005000000000000000A0012E8885082D805A -:10B510004BF8061C80B70021C00B5002D400B600C7 -:10B520002960097002D0A08D0021400B3202280052 -:10B530004000000000000000A8081E00D5803DE08B -:10B540008F78031E84B7823D600F5903DE00F780B9 -:10B550002960157803DE00C78031600F7C036A0222 -:10B560000000000000000000081DAC40E9003E8023 -:10B570000FA003ED30FB0036C10F9603E400B300CB -:10B5800034400FB783EC4021003E400FB003C206A9 -:10B5900060000000000000000005FE00FF8133E0B5 -:10B5A0000FF903DE20CF813FE00778033E00FF80E4 -:10B5B0003FE004F813FE02DE8033600FF803000062 -:10B5C0007000000000000000A8119C00B70021C41A -:10B5D0000B5A02DC4886502DC00B31029460B4181F -:10B5E0002D40487002E800A51021400B71022A048A -:10B5F000600000000000000000009C00BD0021422F -:10B600000B7002FC02850025400B50029C00B70025 -:10B610002F40287102DC00A60021C00B7002000040 -:10B62000200000000000000020146D80B120A05018 -:10B630000BB206CE00A0342EF00B18028520B34AC0 -:10B640002C54883802CC10A10020B00B3002080422 -:10B650003000000000000000A815BE80F308105460 -:10B660000B8813FF00C0803E640FB4830700F9C04D -:10B670003EF00CFC13F400EA0032700FF00B2A04C9 -:10B6800060000000000000008000EC00F9003E10A7 -:10B69000079103ECC058003E440F9203E400F90008 -:10B6A0003EC08FB303E000BB00BE440FB003E00018 -:10B6B00030000000000000000110FC02CD0433E067 -:10B6C0000CC0033C08FE0033602CD002B480CF00D5 -:10B6D0003F5207F013FC00CE1033420CB003C044BD -:10B6E000300000000000000081046C0089002AB0D6 -:10B6F0000888022C00BA0036440890002600DBC0FF -:10B700002E400BB002EC0083C028400AB002E0409B -:10B71000100000000000000080052C008B002208B3 -:10B720001AA2022C10B92022400830022C04AA547C -:10B730002EC00BB012CC008B08224008B002E000F3 -:10B74000400000000000000008040C0083042A00F0 -:10B750000A08820C00B8006440083002A400B0005F -:10B760002CC08B3010C8028B002A400A3002C20164 -:10B770000000000000000000000D6C00C900320055 -:10B780001A82033C00F90032400CD103AC00EB00FC -:10B790003E400FF003ED00C30032C08CB003C00385 -:10B7A0005000000000000000A019FC00F5003F0060 -:10B7B0000D804BFC007C003F400FD20B7400DF007B -:10B7C0001D408FF003FCA0FF003F800FF003E80650 -:10B7D0007000000000000000C005FC00DF843BE0BA -:10B7E0000FF80B3E00EC8033E10C30033C80CF4877 -:10B7F00037C00E4003E0C0C791B3040CF003300023 -:10B8000070000000000000008010EF048B802241D7 -:10B810000BB0822E008880A2E00AA292AD808742FF -:10B8200023D88AAD02E0C08B00204C48A40220043B -:10B8300030000000000000008805CC58BB002880C4 -:10B840000BB2422400A8002AC00A10020460A32000 -:10B8500024D20800428C839B0120490833C2220174 -:10B860007000000000000000C015AC00AB8822A0F2 -:10B870000BB802260CA8002AC00A9202A400AB064C -:10B8800022C00AB002E8009B00024008A042300437 -:10B8900060000000000000004015EC00D3803AE09A -:10B8A0000F18010600E83038660EB8032A40EB0096 -:10B8B00036C10E9603E280DA0832802CBB031004F6 -:10B8C0007000000000000000E0019C00DF003FC0AD -:10B8D0000FD003F400DC8037600FE803FA00DF01CB -:10B8E0003FC00FC043E64CEFA03F440FA003F80059 -:10B8F00060000000000000004010AC40DB0036801B -:10B900000C98032600F8003EC00E18038402E301E1 -:10B9100038C10EB403AC80CA183AD02C30031004DE -:10B920002000000000000000C8053F40B9882E80BC -:10B9300008BC02A300B0000EC008B00620008F04AF -:10B9400023C108B9122F008380364008AD023200AF -:10B950004000000000000000E0054C00B2002CC0D8 -:10B96000093202840033002CB20A36128C08930587 -:10B9700020C00B1802ED0091806A00081002380008 -:10B98000500000000000000020011E00B7802DE0E4 -:10B990000978029740B4802FA008E8020E409782F1 -:10B9A00021E09868821A189D902DA118580208006D -:10B9B000400000000000000048080CC0F3003EC03A -:10B9C0000DB0438440F0003C820E38128C44F330BA -:10B9D000BAC11E10478E22D11038180C30831202C3 -:10B9E0000000000000000000401DBC40FF003FC000 -:10B9F0000EE003F440FC003DC40FD001F441EF1809 -:10BA00003FC41FF003F848EF1433800FC103D00682 -:10BA10006000000000000000A805FC40FB003EC0E4 -:10BA20000F98032400CB003E400FB003A800DB2892 -:10BA30003EC41F9023EC00CA0032E00C9003EA00E1 -:10BA4000700000000000000048119C80B7002DC06D -:10BA50004B50521400D4012D800B6002D800A72057 -:10BA60002DC50B4016DC00840023C0084002D20420 -:10BA70006000000000000000C0009E80B7802DE044 -:10BA80000B780A960094802D601B7806D200A78060 -:10BA90002DE00B7822DE00878221E0085802F000BA -:10BAA00020000000000000004814CC00B3E42CC0CB -:10BAB0001B2102810090002CC80B3902CE00A3008C -:10BAC0002CC00B3002CD008B2020F008B202D20433 -:10BAD0003000000000000000E815A800FEA03F8232 -:10BAE0000FE8039830D6003FA00FE003BAC0FA0079 -:10BAF0003E800FEC33F802CE00B3B82CEC83FA048E -:10BB000060000000000000004800E018F8403E001F -:10BB10000F80026084F8052E048F8041E0007802D7 -:10BB20003E000F8183E020F800BE020F8003D200A8 -:10BB300030000000000000000810E618F9203E4028 -:10BB40000F9C03E440C90032610C9013C408C90182 -:10BB50003E410F18032400C9A032400F984302044D -:10BB6000300000000000000080046500B1C02240E9 -:10BB70000B9C02E71089002844089422E4108900F5 -:10BB80002E400B9F222660898022400B910A2000C4 -:10BB9000100000000000000018052480B9002EC02D -:10BBA0004BB402E42089202240089402EC00890072 -:10BBB0002E410B90020400894022400B90020600A7 -:10BBC000400000000000000008040400B104204010 -:10BBD0008B1002E40581002840281212C4828120C3 -:10BBE0002C480B120A0482810020480B1202020129 -:10BBF0000000000000000000B80D68A0FA023E142A -:10BC00000F8503E000C80032000C8503C140C85313 -:10BC10003E140F80030148C050B2140F85032E0359 -:10BC20005000000000000000981DE400FD00BF402F -:10BC30000F5013D402FD002FC00FD103F440F910B0 -:10BC40003E440FD103F440FF00BF440FD103E6068A -:10BC500070000000000000001805E6A0FD013E4451 -:10BC60000FD103D400C50033410FDB032720D9E0F7 -:10BC7000B2700DDA83F640CF1032782DDA03060069 -:10BC800070000000000000003810E100B8002E280D -:10BC90000B8842E010D80022000B8C0A230088C0D9 -:10BCA0002228088402C28080A0223048AA820E0482 -:10BCB00030000000000000000805C400B1002C4066 -:10BCC0008B1202C400990228408B160284819130A5 -:10BCD0002058091002C5008100644D083402020199 -:10BCE00070000000000000001815AC0CB9042E48CC -:10BCF0000B9406E4009940AA400B9222A40089000C -:10BD00006040089402E4008980A65008920206046C -:10BD10006000000000000000A015E400F9983E4813 -:10BD20000F9803E520D9003A640F9483A4C0D90288 -:10BD300072404D9042E482C94036400C900B28047A -:10BD400070000000000000002801AC28F9883E4087 -:10BD50000F9913E700F9C036600F90036600F100F9 -:10BD60007E400F9907E460F90038400F9803CA003D -:10BD700060000000000000002810A000F810320051 -:10BD80000F820B2100E80036040C8603E100D80086 -:10BD900032000F80036100C80032000F00030A0464 -:10BDA000200000000000000028052820BE0022809E -:10BDB00028EC021904820003800DE482E8008A0165 -:10BDC000AA808BED823B808E9036800BE0034A0088 -:10BDD000400000000000000028054200B38020C0A1 -:10BDE0006B341640C08310247288B002EC008300CC -:10BDF00024C00B04026F099B0024C00B30020A0010 -:10BE00005000000000000000A0011400B78023E4EF -:10BE100028788274148F0061E0095012DC048722B4 -:10BE200025C81B780214009440A5C00B602268004E -:10BE30004000000000000000A8081220B780B1E018 -:10BE40008FF8031202E78035E00C6806CFC2CFB04E -:10BE500025F40F58035A02D58075FA4FF8032A02C9 -:10BE60000000000000000000081DA590F3003DC088 -:10BE70004FB013A804FB003CC00F8043EC80EB6084 -:10BE80003AC90F3003EC00E9003EC80FA003C20618 -:10BE900060000000000000000005F600EE803FE0BA -:10BEA0000D8903D240E58139E03CF907FE00CF88D7 -:10BEB0003FE00FE803F208CE8033E00CF803000007 -:10BEC0007000000000000000A8119444C6002FC0BC -:10BED000085802D0C485242190085412DC8207003F -:10BEE0002DC00B7006D4008E4821C00A60022A04BF -:10BEF000600000000000000000009C00A7402DC072 -:10BF0000084202D000AD0029C0087022DC2887005A -:10BF10002DC00B400298009700A0C40870020000DA -:10BF200020000000000000002014CC0893002CE04A -:10BF3000083C22C10081002080881502CE30830099 -:10BF40002CC00B3C02CC0493C020F44A0C820804A1 -:10BF50003000000000000000A815A000E3C01FE0B2 -:10BF60006C1083E004EB003A524CB403FE02CF00A5 -:10BF70003FC00F8443E102D8C233C00C840B2A04B3 -:10BF800060000000000000008000E900EB103EC4EB -:10BF90000E9403E400FB183EC20FB603EC00FB0155 -:10BFA0003EC00F3503C428EA423EC00F8103E000C3 -:10BFB00030000000000000000110FC40FF0033C012 -:10BFC0000CC0A33028CDA033C00CE8030C00EF0553 -:10BFD0003DC00CCA833C00CD083FC20CA003C04446 -:10BFE000300000000000000081046700BB8020C01A -:10BFF00008AA020800A10134D108A4122C008B0069 -:10C000006EC088B2022C0889802EC00AA803A04006 -:10C01000100000000000000080052C00BA80A2C0C3 -:10C0200008A80AA0008B00A2C0481102AC048B0033 -:10C030002EC00080122A088B142CC0088802E00051 -:10C04000400000000000000008040C00B20022C004 -:10C0500008B2128000AB0124C00800020C04830067 -:10C060002CC00830020700820024C00808028201A8 -:10C070000000000000000000000D6C00FB0032C05A -:10C080000CA203A000C90032C02494033C02CF00DC -:10C090002FC004800B0902CB013FC02CA003C003BA -:10C0A0005000000000000000A019DC00FD023FC0AD -:10C0B0004FE4137000FD003FC00FC283FC00FF007F -:10C0C0003FC00FF003FC00FF003FC00FC003A806F5 -:10C0D0007000000000000000C005FC20EF303F04AD -:10C0E0006C88033A42E4913F0D0D48033CC0FF02C7 -:10C0F00033440CF403FC82DF3033600DF103300075 -:10C100007000000000000000A010ED008B702E18E1 -:10C1100088224A2C82EA262E0C0BB8423D80BF9022 -:10C120002A5428B402CD00DB402A4A483002A00439 -:10C1300030000000000000008805CCB0A3006C10A7 -:10C140000900822082A0202C884B80000C40B30183 -:10C1500020480B36028CE0836424402832022201FE -:10C160007000000000000000E011AC008B002E0009 -:10C17000098080A600BA112E880BB0002C00BB02EB -:10C18000024009B002EC008B002CC808B882B00451 -:10C1900060000000000000004015EC00EB003E9243 -:10C1A0000D80030A20E9003E504580012C04F30075 -:10C1B000906009B003EC008B0226508DBC03100484 -:10C1C0007000000000000000C001BC00FF023F80C2 -:10C1D0000EF9027C22AF003F6003C00BFC10FF0091 -:10C1E0003F4A4EF003FC00F7002B600F7003F8008D -:10C1F00060000000000000004010AC00FB00B00038 -:10C200000F820BA900C90032D20FA083AC00CB1063 -:10C210003E400CB003EC00DB0032502C95031004C0 -:10C220002000000000000000C8053C04BF0222807E -:10C230000B98002900CB4022C00B24023C088F50F1 -:10C240002E500DF002FD428F5822E048B502320018 -:10C250004000000000000000E0056C00B300244036 -:10C260004B940049009080043009000E4C008380FC -:10C270002CC00930226E42838020480838023800E2 -:10C28000500000000000000020011E00B780652063 -:10C290000B78827A088CC025A34B78025E048784D1 -:10C2A0002D61897802DE048780E96208780208003F -:10C2B000400000000000000048080C00FB0034486B -:10C2C0000F3B034800934834500D00036C00C3102B -:10C2D0001CC2053003CC40CB0032400C20031202BC -:10C2E0000000000000000000401DBC20FF010340D2 -:10C2F0000FF0231C00FF003B800FB0233C02FF50D7 -:10C300003DC40FF103EC00EF00B7C00FE103D0060E -:10C3100060000000000000008805EC00FB023EE029 -:10C320000C80034802C88132000F9042ECA0FB1041 -:10C330003EE00CB103EC40FB1032401FF0032A003A -:10C34000700000000000000048119C00B7242D8000 -:10C35000087042D8108C0221400B5002DD00E7200B -:10C360002F40087002DC05B70021C00BF002120458 -:10C370006000000000000000C0009E00B7902F4049 -:10C380000A68027A00978021E00B7802DE00B7800D -:10C390002DE0087806DE00B7A021600B784230005F -:10C3A00020000000000000004814CC00B3002CC0A6 -:10C3B0000A3402C800834A20F80B3102CC00A300E3 -:10C3C0002CC0083002CC00B30020B20B2042120473 -:10C3D0003000000000000000E815A800BA003F8807 -:10C3E0002EE0435988DE0033B00F6C03E800FA00FA -:10C3F0003E802CA003E804FA0023B80FE08B3A0437 -:10C4000060000000000000004800E004F8013E0069 -:10C41000098221E000F840BE140F8481E000E800AA -:10C420003E001F8003E000F800BE000F8803D2002A -:10C4300030000000000000000810E400E10032407D -:10C440000C9043E420D9003C440890032400F901F7 -:10C450003E480F10432500C900B2400C900302046F -:10C46000300000000000000080046400B900A0401B -:10C47000089802E608A9602E490894022400B90031 -:10C480002E700B900226028900A0400A900A20001C -:10C49000100000000000000018052400B900224030 -:10C4A000089804E60099802E400AB1022400B900E1 -:10C4B0000E400B900A0400810122C0081002060001 -:10C4C000400000000000000008040480B120224861 -:10C4D000081806C400A1002C482A30020480B122AA -:10C4E0002C480B12020580816022500A14020201BE -:10C4F0000000000000000000B80D6140F850321448 -:10C500000C8503E140D8503E140E800B2140FA0008 -:10C510003E940F85032000C00032000C80032E03E0 -:10C520005000000000000000981DE441F9103D4556 -:10C530000FD003F400FF003F450DD003E440F91095 -:10C540003F440F9103E442F9103F400FD403E60645 -:10C5500070000000000000001805E400F9003E40F3 -:10C560000CD003F4088D023F400FD003E400CD004F -:10C5700033400C90032400F90032404C982306000D -:10C5800070000000000000003810E000E8002E00FD -:10C59000488002E800D0002E800B8012E002880064 -:10C5A000A2000A80122200B881222808CF020E04BD -:10C5B00030000000000000000805C400B1002C405D -:10C5C000281002C40081002C400B1002C40091000E -:10C5D000264009100254A0B52CA542085082020141 -:10C5E00070000000000000001815A400A9002E50E3 -:10C5F000589002E4809B002E458B9202E400990043 -:10C6000026440B90026408B500254A08510206042E -:10C610006000000000000000A015E400F9003E5496 -:10C620000C9043C400C9903E700F9803E400D900F9 -:10C6300034604D900A6400F90036402C9E032804B3 -:10C6400070000000000000002801A400F9003C4038 -:10C650000F9C03E630F9003E620F9003E400E9000E -:10C660003A404E9003A400790C3A400F901BCA0048 -:10C6700060000000000000002810A000F8003E004C -:10C680000C8113E108C84832003C8003C000F01060 -:10C690003E060C8003F008CC0033040CC0030A04EF -:10C6A000200000000000000028052800BA002E80AD -:10C6B00008EC42FA208E0023A008E842E800BE8081 -:10C6C0002F8008A002E800DA00228048E0020A0079 -:10C6D000400000000000000028054C00B3002CC002 -:10C6E000093482C900838020F0083082CC00B380F6 -:10C6F0002CF008B002C1208000A0320800020A001D -:10C700005000000000000000A0011CC0B7012FC8AD -:10C71000895002D80287C421E2487082DC00B70049 -:10C720002C40087202CE00970823C008700228002F -:10C730004000000000000000A8081E00F7E13DE8EE -:10C740002D6803F200C780B0E0086803DF80F68040 -:10C750003DE08C7E03DA00CC8031200CC80B2A022D -:10C760000000000000000000081DAC08FB003CC0F9 -:10C770000E8003E008F9003E400FB002EC00FA0022 -:10C780003E402FB003E400FB003CC02FB003C206C4 -:10C7900060000000000000000005FE00FF927FEA3C -:10C7A0000CF803FE00CCA03F200DF9033E00CF8023 -:10C7B00033600FF803F600EF8433E02CC803000069 -:10C7C0007000000000000000A8119C00B7002FC8F6 -:10C7D000085402D800D6042D010869021C00850007 -:10C7E00021430B70039AC08C00A30208F1022A04B3 -:10C7F000600000000000000000009C00B7012DCC8C -:10C80000087002D40094282DC208C2025C00860081 -:10C8100021800B7102DC00A71021C00848024000F3 -:10C8200020000000000000002014CC08B3002CF011 -:10C83000080502C02090802E000800824C02800073 -:10C84000A0610B3002A0008000A03088B10A48042B -:10C850003000000000000000A815BC00FF002DC83B -:10C860000C3D03E400DB023EF02C904B7C00C10049 -:10C8700032204FF013E000E80132008CAC036A0470 -:10C8800060000000000000008000EC00FB043EC2DD -:10C890004FB003E004FA403EC24E9823AC10F800BB -:10C8A0003E5007B013AC00FB003EC20F9203A00045 -:10C8B00030000000000000000110DC00CF003FC08D -:10C8C0000CC8233682CF803F800CE003EC00F920B7 -:10C8D00033C00EF003F810DC0033004CE8210044B4 -:10C8E000300000000000000081046C00AB002EC08E -:10C8F0004A8D4221008B422ED208B003EC00B8884A -:10C9000034620DB002E4008B0022C008900A20407F -:10C91000100000000000000080052C008B002EC0DD -:10C9200008A0020D0089102E08289202EC04BB001A -:10C9300022A008B0026402B30220C008A202A00034 -:10C94000400000000000000008040C00A3002EC0FE -:10C950000A90220C1080002C00180282CC00B0003B -:10C960002640093002C820800020000810068201FD -:10C970000000000000000000000D6C00CB002EC085 -:10C980000CA102240088003C000C8003EC00FB009A -:10C9900032800EB003CC80DB0032C00CA0038003D9 -:10C9A0005000000000000000A01DFC00FF003FC080 -:10C9B0004FC213D410FC003F000F0003BC00FC006A -:10C9C0003F400FF023E012FC01BF000FD0036802CC -:10C9D0007000000000000000C005FC00C78033C0EC -:10C9E0008BB403B0C0CF2E1F0C4FC3033080FF01A8 -:10C9F0003F080FF0007C00FF2133E40CE00330001F -:10CA000070000000000000008010EE008B8223F018 -:10CA10000BB5120D8888C00E980B86022100BBC092 -:10CA20002EE44BF7832F44BF9022C848A6822004EF -:10CA300030000000000000008805CC098A0020506A -:10CA40004BB20A80CC83010C8C0B230A0460B31414 -:10CA500024404B3002CC10B30020C8E9110662011B -:10CA60007000000000000000C015AC018A80A244E4 -:10CA70000BB002A10488402EA00B20022820BB404E -:10CA80002E400BB0022C08BB0022C009B00270047B -:10CA900060000000000000004015EC00C38332E09D -:10CAA0008F0003A002CBC43E28078B032100F9C0EE -:10CAB0003E100FB003EC007B0032C00DA003500409 -:10CAC0007000000000000000E0019C02FF003FE059 -:10CAD0000FF4435E80FC943F000FC02BF250FD2109 -:10CAE0007E848FF0036C0CFF003FC00E6203B80021 -:10CAF00060000000000000004010AC00EB0032407D -:10CB00002C80036900CB30B2004FB343E500CB402B -:10CB100072182CB003EC28C3213AC10F94031004FF -:10CB20002000000000000000C8053C008B202250BF -:10CB300008B002280088C02A008BB402E800DB009D -:10CB4000623008F002FC008F8022C00B9547320053 -:10CB50004000000000000000E0054C00B10020C2D1 -:10CB60004830024980834260120B3002C8008202C2 -:10CB70002C3009B002CF0183502AC00B2002B8002C -:10CB8000500000000000000020011E009D80A0E079 -:10CB90000879225E60879029A00B7802C6009281F6 -:10CBA00005E0097802DE40878021E00B29020800B9 -:10CBB000400000000000000048080C40F20030C0B7 -:10CBC000083A034404C31430C00F2203CC80C200CF -:10CBD000A4D20D3013CC20C30038C44F044312023A -:10CBE0000000000000000000401D9C00EE003FE03F -:10CBF0000F7003B402F4103FC08FA003FC007E004E -:10CC00003BC00EF083EC00F7003FC00FC003D0061E -:10CC10006000000000000000A805FC00F9003EC014 -:10CC20000FA003AA12CB0132800FB0132814F98091 -:10CC30003A4003B403EC42CB183EC00FB0032A00C5 -:10CC4000700000000000000048119D00B5002DC4D8 -:10CC50000B704B7C00840021800B70029410B2009A -:10CC600029C00B7282DC0087202DC10E70021204D5 -:10CC70006000000000000000C0009E00B7802DE0B2 -:10CC80000B68029E00838021E05B38021E00B4C066 -:10CC900025E0097832CE0097802DE00B5C4E300005 -:10CCA00020000000000000004814CC00B3442CC059 -:10CCB0000B3C02CC40930820E00B30028C10B3C038 -:10CCC00028D81B3002CC0893016CC00AB882120429 -:10CCD0003000000000000000E815A800F6103E80BB -:10CCE0004BED83B800CEE4B3A30FE0033800FE00A1 -:10CCF0003B800DA002E800DA003E800FE8023A0413 -:10CD000060000000000000004800E010F8403E0015 -:10CD10000F80136000E0003E00430803E000F808C5 -:10CD20003A000F8003E000E8403E000E8023D2006E -:10CD300030000000000000000810C400D9C0BE4050 -:10CD40000F9003E600F9003240019A032400F90035 -:10CD50003E400F9003C44009100E400F9A03020496 -:10CD60003000000000000000800464048904A26018 -:10CD70008B9D80A600B98022404898022400B9000B -:10CD80002E408B9002E49489602E400B940B20007F -:10CD90001000000000000000180524009908AE48AB -:10CDA0004B1002E581B91020441B94022410B900F5 -:10CDB0006E600B9002E40089002E400B9402060086 -:10CDC0004000000000000000080404808900A06802 -:10CDD0000B12028489B12020481A12120480B12259 -:10CDE0000C480B1202C481A1202C400B120202013C -:10CDF0000000000000000000B80D6000D800BE0078 -:10CE00000F050BE140F80032140F85032140F800B4 -:10CE10002E800F8513E002C8003E140F05012E037B -:10CE20005000000000000000981DE440FD00BF44D9 -:10CE30000FD103F4407D10BF4445F12BF440FD10A9 -:10CE40003F440F9103E440D9103E400FD103A606A2 -:10CE500070000000000000001805F600FD001F62D1 -:10CE60000FD8823600BDA03B680CDC8326C8D9A051 -:10CE700033600D99835620D5A82E440CD8838604A0 -:10CE800070000000000000003810E148B8002E00DB -:10CE90000B0A822220B85022BA088A2222808800F7 -:10CEA0002201080C02200088002E28888802CE0467 -:10CEB00030000000000000000805C400B1002C4054 -:10CEC0001B100A8440B10028580A3202050099401C -:10CED0002065091042C40091002C400A3082C20132 -:10CEE00070000000000000001811A400B9002E40DE -:10CEF0001B9002A580B910224808104204100900B6 -:10CF00002240089002E4009B002C400A9422C604B0 -:10CF10006000000000000000A015E400F9203E4081 -:10CF20000F9013A710F960BA502E9C0A2584D1F0F7 -:10CF3000B2600D9003E400D9003E400E9003A800BB -:10CF400070000000000000002801A40CF9903E6A67 -:10CF50008F90236600F1083C400F9C43E440F98029 -:10CF60003A440F90032404E9023E402D9113CA0075 -:10CF700060000000000000002810A000E8203E0132 -:10CF80000C0003A120E85032102C8C032100E80093 -:10CF900032020F00132088C80832000F8C03CA0029 -:10CFA0002000000000000000280528208EE32F90BC -:10CFB0000AE0063B00EE04239008E00228088A02FB -:10CFC00075908BA04158908E802A810BE0038A10C7 -:10CFD000400000000000000028054E00A3006C6027 -:10CFE00008381A8E40A08020CC0930020C05A3041A -:10CFF00028C40B30020D0183C020C00B3002CA00D0 -:10D000005000000000000000A0011E0887002D62F3 -:10D010000B70921C08A00061C00960061C80A7006C -:10D0200021C00B72025801878829C00B6012A8002A -:10D030004000000000000000A8081E00E6803D60DF -:10D040000C78429600E480A3600D78033F00E380F3 -:10D0500021E00F7B031608C78031E24F7843EA02D4 -:10D060000000000000000000081D8C01F8003C409A -:10D070000EB002EC00F8013E404E3033ED20DB01F3 -:10D08000BEC00FB403EC00FB003ED80FA003C206E5 -:10D0900060000000000000000005FE00C78423605F -:10D0A0000C780BBE00FD803FE00FEB033E00CF800D -:10D0B0003B250CF8837E40CD8033E20BF903000062 -:10D0C0007000000000000000A8119C0287001548B5 -:10D0D0000870021420B600359A49C8039C84A70042 -:10D0E00039D00A70021A08A40021C00961422A043A -:10D0F000600000000000000000009C00870021404C -:10D100000871029400B5002D400BF1225C02070863 -:10D110002C50087002500087002DC40B50420000B4 -:10D1200020000000000000002014CC0083022440F6 -:10D13000183D0A0100B05824200930028F4083E0D6 -:10D140002CC10A30420800B3016CC009081608045B -:10D150003000000000000000A8158C008B00324059 -:10D160000C2503A848F8813E800F80637C00CB80AB -:10D170003AC00CF0036C00CA02BFC00F988B2A049F -:10D1800060000000000000008000EC00F9003E504C -:10D190002FA40BC800F0403ED00FA033EC20FB04BE -:10D1A0007AE00FB003ED08E90332C00D9003E00010 -:10D1B00030000000000000000110EC40EE003EC016 -:10D1C0000CDA037004CC02B1A00EF023EC00FF00D7 -:10D1D0003720CDB073EC88FB803FC00F3003004494 -:10D1E000300000000000000081046E0088802CE107 -:10D1F00008940AA902884022D008B942EC04BB0076 -:10D200002CD40DB002ED20BBD02EC00BB002A0403C -:10D21000100000000000000080052400AB802EF00C -:10D2200029A0826D0088082204089042EC00BB000F -:10D230002A8108B002E409BA042EC14B988220006A -:10D2400040000000000000000804040083002CC01F -:10D250000A210284108200E000180A12CC00B300F8 -:10D260000CC0093002CC90B0002CC00B100282011F -:10D270000000000000000000000D6400EB003E0014 -:10D280002CB40364088800B2000CB243FC00FB001D -:10D2900056000CF001E400FB003FC00F800B0003C0 -:10D2A0005000000000000000A01DF400FF003F40FF -:10D2B0002DF061F000F40027010DB111FC00FF0218 -:10D2C00007C00FF003EC40FF003FC00FC00368062B -:10D2D0007000000000000000C005F600EF903D4C1B -:10D2E0002CC013F408FD20374C8E82837484DCC27A -:10D2F0003FD80DF203ECC0FF813F000CF803F000B3 -:10D3000070000000000000008010E6008B242E5CFE -:10D31000088D02FF48B9902F540B84823E40A080B4 -:10D320002EC40AFC42ED80B9802E600A9812E004F7 -:10D3300030000000000000008805E401A300284838 -:10D340000A0042C400B1002C490B0A4204A29121F8 -:10D350002CC90831028CC1A3002C40081802A2017C -:10D360007000000000000000C015A0208B822E4439 -:10D37000588002E400BB102E400BA1120C01891052 -:10D380002EC00AB002EC01B8802EE20AA102F0041D -:10D3900060000000000000004015EB40EB403E60E4 -:10D3A0000E8733E400B9A136C00EA80B2600DAC000 -:10D3B0003EC08DB003EC00FB853EE108B80390054C -:10D3C0002000000000000000E001B800FF022F6014 -:10D3D00003E883FC10FD801F401FD013BE40EE0405 -:10D3E0003FC00FF043FC08FD003CC00FD011F80017 -:10D3F00060000000000000004010A400DB00B2400C -:10D400000E94032400D900BAC00C2003E490FB0062 -:10D410003AC00CB003EC01FA003ED02C9803900403 -:10D420002000000000000000C80503008B00224817 -:10D430000884222C00B90022C008A002ED008BA0B5 -:10D4400021C008F002FC00B9802EC008A002320002 -:10D450004000000000000000E0054520930022F895 -:10D460000B300A8440B2002040081002C4008080C3 -:10D4700028C02839024C00B1002CC0083002B80086 -:10D480005000000000000000200136009F80216055 -:10D490000938029E00B2C02060484812D6C686D025 -:10D4A00021E0087800DE80B7822DE008F80208004D -:10D4B000400000000000000048080C20D31030C8D5 -:10D4C0000F30038400F1003040241903E4C0E04031 -:10D4D0003AC00C3203CE80B1283CC00C301392020B -:10D4E0000000000000000000401D9C00E6007FC01E -:10D4F0000EF0237440FF103F404FD003FCD2CE0407 -:10D500003FC00FF403FC00FE003FC00F7103D012B8 -:10D510006000000000000000A805EE00CB0016C06F -:10D520000D80032720CB003EC20AB053E428C181FE -:10D5300032C10EB9032C00F18035E00CB8032A0487 -:10D54000700000000000000048119C0287102D4070 -:10D550000870035C00A7002D40287002D4048704E3 -:10D56000A1D00B72021D00F70021C00D5002120461 -:10D570006000000000000000C0009E00858025E0E3 -:10D58000097802370387802FE0087812C6108D8053 -:10D5900025E80B38021E80BC8425E0085802700084 -:10D5A00020000000000000004814CD8083882CC0BB -:10D5B000083C024E01A3D22EC408B102CC008380E5 -:10D5C00024C10B30020C00B340A0D209301252002B -:10D5D0003000000000000000E815BA00CAC0368024 -:10D5E0000D67132800CE003EA00CED03E800CEE04E -:10D5F00036801EA00B2804FE00B7B20CE00B7A00A8 -:10D6000060000000000000004800E040F8102E100C -:10D610000F8003E001D80A3E000F8003C002F80823 -:10D620003A000F8003E010E820BE000F8013920044 -:10D6300020000000000000000810E500FB003E4054 -:10D640000C91032600618032400C90032400C90035 -:10D650001E400C9C03E401F9003E400F9003C20001 -:10D66000300000000000000080046700B9002C407A -:10D67000009C02A600790022402890022400890024 -:10D680002C44089802E400B9802E400B9002E0017F -:10D69000000000000000000018012400BB0026501C -:10D6A00028908224849920224049900224008900F5 -:10D6B0002E40089002E400B9602E400B9002C60490 -:10D6C000400000000000000008040600B1002E48E1 -:10D6D0000812028480B120A04809120A0480810047 -:10D6E0002C48281242C48831002C400B1802C20179 -:10D6F0000000000000000000B80D6000F850361473 -:10D700000C80032000E80032140C85032140C8502F -:10D710003E140C8003E14038003E008F8003EE038E -:10D720005000000000000000981DD400FB043D44A0 -:10D730000F5123D448ED103D444ED123F442FD0057 -:10D740003E448F9103E458FD003F500F5003E6061E -:10D7500070000000000000001805F400F9003D40D2 -:10D760000CD003F400DD023E400C9003E440C910ED -:10D77000374007D0072400E5002F6A0F700306002A -:10D7800070000000000000003810E000B8003A000F -:10D79000808002E00088002E000A8053A2802CA026 -:10D7A00022000B800A2000B8002E100980030E040E -:10D7B00030000000000000000805C400B1006C400B -:10D7C0002A1002840181802E40091002F4008D0489 -:10D7D00020400B10028400B1002C400B9802420143 -:10D7E00070000000000000001811A420B9002A40B9 -:10D7F00088B402E601A9202E480A9000A440AD405A -:10D8000022400B9012A404B9012E410B9002060491 -:10D810006000000000000000A015E400F9C03E60B8 -:10D820000C9413A602D9421C600C9E01C604C100D0 -:10D83000B2401F9002A400E9083E684F980B6804AC -:10D8400070000000000000002801A640F920387098 -:10D850000F9103E400D9803E400F9C13A400F9000F -:10D860003E400F10036410F90A3E500D9A03CA009F -:10D8700060000000000000002810A100D8043E0055 -:10D880000C8113C002D8203E002D8403E000CC0898 -:10D890003A000F8043E000F841320007818B0A0410 -:10D8A000200000000000000028053A608A002FA830 -:10D8B0000AE022E8027E482E8008A042E8048E009A -:10D8C00023A80BA882E800EE00A2804B60020A00A9 -:10D8D000400000000000000028054C0093006CC0D0 -:10D8E000083002CC0013812CC0083002CE408240A8 -:10D8F00028E00B3802CC00B31024C08B38020A0099 -:10D900005000000000000000A0011E0087202FC072 -:10D910000A7002DC0AB6002CC8887206D80086009D -:10D9200021C00B7002DC84AF80A5C00BD0022800A0 -:10D930004000000000000000A8081E00D7803DA0A5 -:10D940001C7813D602D7803DEC087E23FE00CE80E3 -:10D9500039600F7803DF00F68075E00F78032A0244 -:10D960000000000000000000081D8C00FB103E803D -:10D970001FA021CC00FA003EC00EB003E802FA005E -:10D980003E400FB013EC00EA013AC00F9003C2060C -:10D9900060000000000000000005FC00FF803F6008 -:10D9A0000899077E00DD803FE20CF803F602DF8075 -:10D9B000B3E00CF8033E41CC8033E40FF803C00021 -:10D9C0007000000000000000A8119C40B7002DC0AE -:10D9D0000D5A22DC8075002DC0087102F0208700EE -:10D9E00021C00A70021C00D42821C00B7202EA0474 -:10D9F000600000000000000000009C40B7002D0007 -:10DA0000087222F40087002DC2087002D4008780BB -:10DA100025400930025C01AD0029D04B7002C000E6 -:10DA200020000000000000002014CC00BBC82CA087 -:10DA3000092002CE00A3002CE0A83D42C2008B804A -:10DA400024400B300A6C08A340A8E00B3402C80441 -:10DA50003000000000000000A815AD00FF483C2881 -:10DA60000CA9236C808B003FC00CFC03EC00D88019 -:10DA700034400D30037C02A34038680F2403EA04CD -:10DA800060000000000000008000ED88FB003E50B8 -:10DA90000FA103EC043AC03EC00FB083E802F810B7 -:10DAA0003A410E9003AC009B08B6400F8103E000A2 -:10DAB00030000000000000000110FC00FF00B32057 -:10DAC0000C50131C09CD8333C08370003C00DC1064 -:10DAD00032600EF1432C00CE043B700CF083004406 -:10DAE000300000000000000081046780BB0162215B -:10DAF0008A89202C0080E022C00BB003D8108C044F -:10DB00002240059002AC00D88036400A90022040A6 -:10DB1000100000000000000080052600BB00220667 -:10DB20000880022E00882022C009B002A4009900BB -:10DB300062C408B0062C008880224108A0022000A0 -:10DB4000400000000000000008040C00B30020406A -:10DB50000A00820C00800020C00B3022A00081004F -:10DB6000A0C00930028C00900024400A2802020163 -:10DB70000000000000000000000D6000FB0220001B -:10DB80002C92032C02880031C00BB502A400D104F2 -:10DB900032400E90032C40C9003A408CA003000391 -:10DBA0005000000000000000A01DF400FF002F0046 -:10DBB0000FC003DC00FC003FC10FF043F000FD008C -:10DBC0003F404FD003FC00F5003F400FE003E80664 -:10DBD0007000000000000000C005D880CC00B70431 -:10DBE0004EE1033C20DF10318006F0037F00FFC0D0 -:10DBF0003BC00EF2035E00EF1033D02CF203300076 -:10DC00007000000000000000C010E90088C6205C21 -:10DC100008A45765008F522AF009FC020400BB00DB -:10DC20002DD90974836428834422848806823004B1 -:10DC30003000000000000000C805C9008010200866 -:10DC400008311204B2A30020841B34020C80B320DC -:10DC50002CC70936028C809340ACC80831283201A9 -:10DC60007000000000000000C015A9008800A2504C -:10DC700008350224008B042EC109B0022494BB0095 -:10DC80002EC00BB002CC608B002E800880003004C8 -:10DC900060000000000000000015E702CB18B28011 -:10DCA0002CAC0A2E08EB0032124EB0032B80FB0086 -:10DCB0003AC00AB003AB08EB042E480CB88300044A -:10DCC0007000000000000000E001B680FF8039CA4B -:10DCD0000DE803D640E7043B664E7003B800FF0131 -:10DCE0003FC06CF0037006E70031040FC143F80039 -:10DCF000600000000000000040108500CB40329022 -:10DD00002FB00B6480FB08BA100DB0A72D00FB04E8 -:10DD10003EC08EB0036D00DB0132408C33039004B3 -:10DD20002000000000000000C005240083E0A2D015 -:10DD300040B0022504BF80A05008F80220008B02EA -:10DD40002FD008F00224008F80360108844236006C -:10DD50004000000000000000E8054400834820C4A3 -:10DD60000900024600B301A8901930128C00A304E8 -:10DD70002EE20AB0020C00834928C0093C02380098 -:10DD80005000000000000000F0013604838021E113 -:10DD90000838121E28B39821A0193882960087836C -:10DDA0002DE2087822368C87802DE00979023E002A -:10DDB000400000000000000048080400C33030C8E4 -:10DDC0004D000B4C80F31238C00D3A028C80F300EA -:10DDD0003CC00E300B0E00C30C3AC00D30031202D3 -:10DDE0000000000000000000401DB406FF103FC00E -:10DDF0000FB013BC00FF107FC00EF1A37C00FF1218 -:10DE00003FC20FF523BC41EF183780AEC003500668 -:10DE10006000000000000000A805E400DB003EDA1E -:10DE20000C800366108B0032808CB6034A004B8056 -:10DE300032C80CB4030A10DB003EC10CB0432A0008 -:10DE40007000000000000000C811B40087042CC05E -:10DE50000D70031C08874820810D72825C00D7007A -:10DE600021CC28F0021C1087202C0008400A320424 -:10DE7000600000000000000080009600B7812DE0E7 -:10DE80000848020E04878021E00878023E0187805E -:10DE900021E01879023A0197A02D6008380220008D -:10DEA00020000000000000004814C600A3C62CC0DB -:10DEB0000930020C01830020E00930024E0093007B -:10DEC00020C04930220F6483026CD428300212042F -:10DED0003000000000000000E811AB80FAE03C8850 -:10DEE0000CE0022802CA00B3A90CA0033B10CA0030 -:10DEF000A2800CA00B3800DA003FB00CE6033A0415 -:10DF000060000000000000004800C02098083E00AB -:10DF10000F800BE100F8013C104F0003A040F80017 -:10DF20003E100E8003E000F8003C022F0493D20064 -:10DF300030000000000000000810E400C1C13240C1 -:10DF40000C98032640F90032400C98032424F90071 -:10DF50003C600C1003A400F98232400C90030204D0 -:10DF6000300000000000000080046400890022509E -:10DF70000D98022580B90022520D9C022400B900A0 -:10DF80002E600890422400B940364008900A2000D4 -:10DF90001000000000000000180524008D00234040 -:10DFA0000812022400A110A26008928A2400B9017C -:10DFB0002E46089002A400B150224028908206000C -:10DFC0004000000000000000080404848520A1D85F -:10DFD0000910020480B32020402912060400B10178 -:10DFE0002C482812020400B1202448081202020121 -:10DFF0000000000000000000B80D61428A00B3007C -:10E000000C05032140E050B2002C80022140F0506A -:10E010003C140C8513A150F85032140C85232E03A8 -:10E020005000000000000000981DF440F9103E442C -:10E030000FD40BF444F9103F504F1103F400F900D2 -:10E040003E440F9153F414F9103F440FD103E602FC -:10E0500070000000000000009805E6A0DD88B366AF -:10E060000CDC833688BDA0376A0CDA0B2502C94068 -:10E070003F784F98B3E504CDA072780CD88B261466 -:10E0800070000000000000003810E30088422231D8 -:10E09000080A0222A0B8F922100D84126A80888032 -:10E0A0002E200B0802E280A8A8A23848A8020E0081 -:10E0B00030000000000000004805C4A28100204894 -:10E0C0000812424500B100244009140224008120B6 -:10E0D0002C580B1082C4049140646C0830821205E5 -:10E0E00070000000000000001815A4008900224103 -:10E0F00008908A6480B9002250099006640899004B -:10E100002E400B9006C401B90226618890020604D5 -:10E110006000000000000000A015E400C9002240DB -:10E120002C94236400B90036400990130500C900FF -:10E130003E404F9013E5C0D90026402C94032800A0 -:10E1400070000000000000006801A402E9083C40E3 -:10E150000F900BA400F1003E410F9043A488E90406 -:10E160003E400F9003E600E1003A409F9263DA00E0 -:10E17000600000000000000028108010E001320064 -:10E180008F80032000D80830018C0003E102C8040E -:10E190003E000C800B2100C80078000F86030A00A7 -:10E1A0002000000000000000280528008E402B827F -:10E1B0000BA0023A008E80238208E20228108A0017 -:10E1C0002F9828A01228008E202E804BE4020A00EF -:10E1D000400000000000000028054C02A240208002 -:10E1E0000BB0024E4093C0A0200836028C00930072 -:10E1F0002CE20830064C12930828C00BB0020A002B -:10E200005000000000000000A0011C0882402940CE -:10E210000B70025E08840823400870061C8087008B -:10E220002D200879125C0094002DC00B304228008C -:10E230004000000000000000A8083E00E48031A17A -:10E240000F58137600D08031C00C3803BE80D781C0 -:10E250003F208C79037F01D68039E84F68032A007C -:10E260000000000000000000081DBE00FA003E0093 -:10E270008F960BA400EA003CC00F9003AC20FB403B -:10E280002E000FB203ADA0EA003EC00FA01BC204D7 -:10E2900060000000000000004005FE08DE8133A49D -:10E2A0000EFC133E00FC8013200C68033E20FFC8C8 -:10E2B0003F601DF8037E00C78033E20CD8031000D6 -:10E2C0007000000000000000A8119C00864131C4CD -:10E2D0000879429C00BC1021408535035C00B700E2 -:10E2E0002DC00872022C00A70137C00851422A0035 -:10E2F000600000000000000010008C4082002481BB -:10E3000008D8021420B50020400960021C40B70064 -:10E310002C400B3022DC00970021C408400244004E -:10E3200020000000000000006014EC009206209025 -:10E330003815028600B80060500930024E01BB005B -:10E340002E400B3002CE20B30024F048020A5804BD -:10E350003000000000000000A815BC00CA00A69410 -:10E360002C90032E00FB05B2850D90033F90FF001B -:10E370007E801FF043FC219A0033C83CB2036A043C -:10E3800060000000000000009000EC02EA403D80C8 -:10E390000F1093ED00FB403E908F3003EC80FB00AC -:10E3A0003E911CB0032C10E8003EC81F9003A5103E -:10E3B00030000000000000008010FC02E40073A0A8 -:10E3C0000CFC037C02FF1013C41CC0033C00FF00C4 -:10E3D00037E00DF003FC00ED8031C00C3263200407 -:10E3E000300000000000000084006C008AC022B1F0 -:10E3F0008AB8434A10DB2020F00A94036C00BB0764 -:10E4000022B808B002EC11E8C0B2C02A921A20006B -:10E41000100000000000000080012C00AA8022985B -:10E420000890022F03BB012A8308B24E2C04AB02D2 -:10E4300022C428B022EC09B35062C008B002200008 -:10E44000400000000000000008040C018300608010 -:10E4500008120A440093002A804A30020C00B300DC -:10E4600060C0083002CC00B30260C0080046020160 -:10E470000000000000000000800D6C00E802228017 -:10E480002CF2432C00FB00BAC008A5023C00EF00B0 -:10E4900036C04DF013FD51FB0032C00CB00320011B -:10E4A0005000000000000000A01DFC007E043F8022 -:10E4B0000F3143F002FF0037C00FF003FC08FF00EC -:10E4C0003FC00FF003FC00EF003BC00FC003E81695 -:10E4D0007000000000000000C005F240FC803F24F6 -:10E4E0000DD853D604DF323FCC4CC043FC00DF6074 -:10E4F00037C00FC4037CD0DF2033D80DF843F000C1 -:10E5000070000000000000008018E880B0012E08B4 -:10E51000889002EC208B702FCC08B382FDE0BF40C6 -:10E5200022D80B9302FDC0AF1028F008BC12F004F3 -:10E5300030000000000000008805C400B0002E017B -:10E540000A1282EC80B3002CC80A00328C00A3307F -:10E5500020D20900028C80830028D80B3412F201EB -:10E560007000000000000000C005AC01B8022E00E1 -:10E570000A9012EC108B002EC00AB000EC00B30021 -:10E5800022C10B9202CC01AB002AC002B002F004FF -:10E5900060000000000000004015E000FA0C3EC0E2 -:10E5A0000FA013EE20DB003EC02E8853EC00FB00D2 -:10E5B000B2C08FAC83AC08DB001AC04FB003C004FC -:10E5C0007000000000000000E001B800FE003FC045 -:10E5D0002DE003FE807F003FC00DD203FC00BF0191 -:10E5E0003EC00DC803FC0CFF003FC009F023F8003B -:10E5F00060000000000000004010A400FA4032C19A -:10E600000FA0032908DB003EC00E8503EC20CB00E1 -:10E610003AC00EA403EC00FB003AC20EB003100493 -:10E620002000000000000000C8052C00BA6020C0D7 -:10E630000BA0020800AF002FD00BB502FE028F0026 -:10E640002FC00D800A3C00B70023C205F02236001F -:10E650004000000000000000C0044000B18820001D -:10E660000B10020C0083002EC80B08064D408300DF -:10E6700020C00830060C0893200AE04A3002380017 -:10E68000500000000000000020105A00B59021202A -:10E690000B58423E00A7802DE00B6902DE408792B6 -:10E6A0002DE00918029E01B78029E00370023E00A8 -:10E6B000400000000000000048084400F101300064 -:10E6C0005F18030C1083003CC40E0403EC008300AD -:10E6D00030C40C31038C00F30038C80E3103120231 -:10E6E00000000000000000004015BC00FD04BF0455 -:10E6F0004F5803F808EF083FC00FF001FC00FF4C33 -:10E700003FC10FD0033C00F70037C20D7203D006A3 -:10E7100060000000000000000805E200DB0032C0DD -:10E720004DA8032C08FB007EC88FB00B6F45EBC2D1 -:10E7300036C007A003EF20CB50B2C00C79032A00EB -:10E740007000000000000000481998008F0021C0F0 -:10E750000B60035C0037002DD20B30020CA887241D -:10E7600021D0097002DD88872A23E808700232046C -:10E7700060000000000000002000B600978021E04B -:10E780000B68021E00B7802DE88B48821E80A38490 -:10E7900025E80B6802CE02878021E0087A0220007B -:10E7A00020000000000000006804CC08838220E004 -:10E7B0008B2A024840B3002CC00B30820C0083002F -:10E7C00000C1093102CC00830020C008300A1204C5 -:10E7D0003000000000000000E815E800DAA032A8D0 -:10E7E0008DA8033B00FA003E800FE4036800EA02B4 -:10E7F00036800FE403E800CA0032802CA0033A04FC -:10E8000060000000000000004801A010F800BE20D9 -:10E810008FC103E024F8003E100F8403E000F801EC -:10E820003E000F8003E000F801BE100F8003D2000D -:10E8300030000000000000000810A400F940324041 -:10E84000CF9003E400C9000E500F1A032600F90010 -:10E850003E400F9081E400F98032400C9003C204E6 -:10E86000300000000000000080046404B104224075 -:10E870000B9002E400A9002E530B920A2648B9041B -:10E880002E400B9002E400B9800250089002E00094 -:10E89000100000000000000038052400BD002340E7 -:10E8A0000BD012C40089022E400B90222400B90024 -:10E8B0002E400B9002E400B1202040689022C60058 -:10E8C000400000000000000028141400BF12A14006 -:10E8D0000B5002C400A1202C480B12020410B111ED -:10E8E0002C480B1322C400B140205A081002C20168 -:10E8F0000000000000000000B80D6140F840321434 -:10E900000F4503E140C8503E158F850321E8F868A4 -:10E910003E140F8403E1E0F02832A8CC8023EE03FC -:10E9200050000000000000009815C410F9203E407F -:10E930000F9003F400F9103E440FD103E400F920D6 -:10E940003E440FD303E400F900BE400F9403E606F3 -:10E9500070000000000000001815E400FD103340B6 -:10E960000CD0032400D9003F404CD003F600FD90AA -:10E970003A400C9003E6A0FDA837680CD883260027 -:10E9800070000000000000003810E008C8A022005D -:10E99000088002200088002E000C8012E000B88061 -:10E9A00022000D0A02E380B0C020340884034E0424 -:10E9B000300000000000000048008409A100204150 -:10E9C000089002240091002C40081002C500B1609C -:10E9D00020400810A2C420B128244A081002520185 -:10E9E00070000000000000001814A4018100A24083 -:10E9F000A89000254089012C40089402E400B90049 -:10EA00002A40099002E401B90422414890024604D8 -:10EA10006000000000000000A014A520E9003240C2 -:10EA20004C100B2600D9003E402C9803E400F9005E -:10EA3000B2400C9003E400F90036402C90036804C7 -:10EA400070000000000000004801A400E9003E4002 -:10EA50000F9003E600F9003E400E9A03E400F9002F -:10EA600036400F9003E400F9003C400F9003DA00B9 -:10EA700060000000000000000810A100F800320053 -:10EA80000F8013A000C80032048C8003A0C0F800DF -:10EA90003A000F80032000C00932004C80010A04B4 -:10EAA000200000000000000028052800BE00208093 -:10EAB0000BE0028800AA0003A00AE602FA008A001E -:10EAC00032800BA00228008E80A3802820028A00BA -:10EAD000400000000000000028056C00B348204002 -:10EAE0000B10020C00830020C00834828E049900B1 -:10EAF0000AC01B30020C02905020600830020A004D -:10EB0000500000000000000080111C80BD0A214858 -:10EB10000B52029C40A3A020800A6002CE008520F8 -:10EB200021C40B7A061E80952021900870022800CF -:10EB3000400000000000000088081E80F780B179C6 -:10EB40000FDB023E20C7A0B160CC78139600F1F035 -:10EB500039E20F7B130F00D4A031602C70032A021E -:10EB600000000000000000000815AC00F7003E4067 -:10EB70000F9003ED80FB103E400BB023EC00F9201A -:10EB80003AD80FB00BED81ED103E800F3003C20676 -:10EB900060000000000000000004BE20EE80336032 -:10EBA0000CD8831E006F8033E00FB8113204F5805B -:10EBB00033E00FF8832F40FE80B3E00CF803100021 -:10EBC0007000000000000000A8189C00BC00A144D8 -:10EBD0000810035C008F0021800BEA221C80B50125 -:10EBE00021C00BF0021E80BE0023802A70022A047E -:10EBF000600000000000000000009C20A7002340EF -:10EC00000B500A3C00A70025C00A43021000B500C3 -:10EC100021C00B70821C80B40021C0087002040067 -:10EC2000200000000000000020048E04B3002240F9 -:10EC30000914024C00830020C00B24820400B100A0 -:10EC400020C08B3A022C01B00020800A30021A0446 -:10EC50003000000000000000A8159E00EB043340C7 -:10EC60002DDC031D60EF003200CF9A032800FD0069 -:10EC700033C18BFC0B3C00FC0032800C90032A0457 -:10EC800060000000000000008000AC10F8003E4072 -:10EC90000E9823AC04FB003C000F8420ED00F9002B -:10ECA0003EC04FB003EC00FD003E800F9003E40037 -:10ECB00030000000000000002110FC00CF80334035 -:10ECC0000CD083FC00EF003F400CF1413010CD0030 -:10ECD0003FC00070133C00E400B1D00C10032004CE -:10ECE0003000000000000000A1042C008AE42A404B -:10ECF000289002EC008B003E020A80022C828904DC -:10ED00002EC10AB00A2C00890222F22A98022000A1 -:10ED1000100000000000000080052C0280142A4032 -:10ED2000089002EC08AB042E84081082801089033E -:10ED30002CC04AB0222C00AA002280089102200098 -:10ED4000400000000000000008142C008000284053 -:10ED5000081102EC0083002C810A005A880001008F -:10ED60002CC00A30020C00820020800A100202012E -:10ED70000000000000000000000D6C00C9003A40D7 -:10ED80000CD403FC00EB003E400C9203A0004D00AD -:10ED90003FC00EF0333C80E80032C00C90032003EB -:10EDA0005000000000000000A011FC00FC003D40ED -:10EDB0000F5003FC023F043B014FC4137000FD00E1 -:10EDC0003FC01FF001FC40FC003FC00FD013E8061D -:10EDD0007000000000000000C005F8E0FF803DC0AA -:10EDE0000DF382F080FF4031CB0CF303FD04EFC143 -:10EDF00033E00F7903FE00CF4233F04CF8033000CC -:10EE00007000000000000000E010E908B9812FF058 -:10EE100008F452E920BF4023F00AF302FD088B00FA -:10EE200036E00B8022E8808F4022C008B082300498 -:10EE30003000000000000000C805CC00B1802CC5E7 -:10EE4000093242C8C0B33120C1083202CCD4BB2041 -:10EE500068C00B3002CC2093602088083202320157 -:10EE60007000000000000000E015A000BB802EC074 -:10EE700008B002EA00BB0062C10AB002CC00AB00DD -:10EE80002EC00BA000E800830022C108300230042D -:10EE900060000000000000000015E890FB803EC00C -:10EEA0000DB003E210FB0032C04CB013EC00E9548B -:10EEB0003AC00FB003E600CB00B2400CB00304042C -:10EEC0007000000000000000E001B800FF003FC03B -:10EED0008FF003F000F702BFC10FF023FC00DF0644 -:10EEE00037C08FC907FA92FF043F502FF003F80094 -:10EEF00060000000000000005010AC00C9003EC2DD -:10EF00000EB023E400EB003AC80EB003EC00F900A9 -:10EF10003EC00FB403A400FB003E800FB083D004BA -:10EF20002000000000000000C80528008B742DC0E0 -:10EF300008F002E4008F0021F008F002FC10D3007A -:10EF40002EC00B90122C00EF002EC00BB602F60064 -:10EF50004000000000000000E8054800A3002CC4A9 -:10EF60000A3002C000A30068F00A3012CC04A200EC -:10EF70002CC00B3002EC00B3012EC00B3402F800A1 -:10EF80005000000000000000B0010C0087802DE858 -:10EF9000087842DA00878025E0087902CE00968062 -:10EFA0002DE00BD902DE00A7802DE00B7802FC00DB -:10EFB000400000000000000048080C40E3103CC086 -:10EFC0000A3803E800EB0038C20A3003CC00E34003 -:10EFD0003CC00F3403CD00F3203C880F3003D20235 -:10EFE0000000000000000000401DB480FF043FC886 -:10EFF0000FF083F840FF183BC00FF483FC00EE02D3 -:10F000003FC00FF0033C00EF083F800FF013D00625 -:10F0100060000000000000008805E800CB003EF220 -:10F020004DB213E804CB0132F84DB2136D20F80055 -:10F030003EC00F30032400FB003E408FB8032A007F -:10F040007000000000000000C8118C0086002CC079 -:10F05000087302D812873020CB08F2021D05B500D4 -:10F060002DC00B60035010B7092DC00BF002320405 -:10F07000600000000000000080009E0087802DE4FA -:10F08000097A02CE01878021EC0978025E80B7C040 -:10F090002DE00BF8021E00B7A02D600B78022000B7 -:10F0A00020000000000000004814EE0082802CC008 -:10F0B000083002EC008300A0C00830020C00B380CE -:10F0C0002CC10B30024E00B3002CF10B300A12049D -:10F0D0003000000000000000E815BA80C6003E8045 -:10F0E0000DA003F840CA0032800DA0136800FE0294 -:10F0F0007E800FED833910FA003F8C0FA0033A0495 -:10F1000060000000000000004800E012F8903E009F -:10F110000F8003E000F8053E000E0003E000F880D9 -:10F120003E000F8003E060F8007E000F8003D200F5 -:10F1300030000000000000000810E400C9803264C4 -:10F140000F9043E406C1043A400F9003E400E90045 -:10F1500032400F90032400C10132400C9003C204DE -:10F1600030000000000000008004640089C02240DC -:10F170000B90022400890022501B90222400810061 -:10F1800022400B90222408C9002040089402E0008D -:10F190001000000000000000180524009920224003 -:10F1A0000B1002A40089002A580B90028400A900C9 -:10F1B00022400B100A0400990222C1089082C60066 -:10F1C0004000000000000000080404009102A0C8F4 -:10F1D0000B12020480812220489B120204908901B4 -:10F1E00020400B1002040281222240081002C201BA -:10F1F0000000000000000000B80D6142DA01320199 -:10F200000F8503A140C0503A018B8523A144E850EB -:10F21000B2000F85032148D85132142C8503EE0328 -:10F220005000000000000000981DF500ED023E4473 -:10F230000F9103F440F9103E440F9103E440FD00A8 -:10F240003E400FD003F400E910BF400F9003660664 -:10F2500070000000000000001805E621C5003368BA -:10F260000F9A036F88C9C033680C9E032780D9406A -:10F270003E400F9003C510D9E836500CD003E6008D -:10F2800070000000000000003810E10888008200D3 -:10F290000B8E82EBC888E02200288842A2808A80F8 -:10F2A00022000BAA02E20088C022A9088A038E0469 -:10F2B00030000000000000004805C400810020D09C -:10F2C0000B1132848481606050081606050091207D -:10F2D00020400B1082E409912024400810C2D20182 -:10F2E00070000000000000001815A40489042240EA -:10F2F0000B9002C400A9002241009002A4008100EA -:10F3000022400B9222E58099012261089002860436 -:10F310006000000000000000A014A582819032402F -:10F320000F90136702C90032400C90232404D9C007 -:10F33000B2400F9C03E600D90036500C9003E8045D -:10F3400070000000000000006800A680F9003E4048 -:10F350000F9003E700D900BC420F9053E404F9106A -:10F360003E400F9803E604E1003E402F9003DA0090 -:10F3700060000000000000002810811048103208D2 -:10F380000C800F2102C8003A040F80076000F8408B -:10F39000B2000F840B2000D80036100C8003CA0482 -:10F3A0002000000000000000280428048E80238034 -:10F3B00008A04228008A0023A04BA002E800BA005F -:10F3C00076800BA00208008A00328008E003CA00A1 -:10F3D000400000000000000028054C00820020D002 -:10F3E0000830020C009B0028C01AB0026C00B30267 -:10F3F00020C00B30020C00A30022C0283482CA00B7 -:10F40000500000000000000020011C00870020E0E8 -:10F410000878020C00972025C00B7102DC81B72010 -:10F4200021C00B7A423C80872021C0087002E8008E -:10F43000400000000000000028080E82C780B1E0F4 -:10F440002CFA061E08D3B139604E78125EA0FFF088 -:10F4500021E00FF8031F08E3A033E00C6803EA0281 -:10F460000000000000000000081DAC40FB003EC092 -:10F470000FB203EDA8EB103A800FB0C3EC40FB00D5 -:10F480003EC00FB083EC80EB70BEC40FB0038206A9 -:10F4900060000000000000004005FE00CE80B36068 -:10F4A0000FFC837E20EFB03BE00FB8033E00CF811E -:10F4B0003FE08FF883EF40FFC233E10CF803D00048 -:10F4C0007000000000000000A8119C8287182180B5 -:10F4D0000B30021C60D71021D00B7B023C00D70000 -:10F4E0002DC00B7002DE00BF00A3C4087003AA0485 -:10F4F00060000000000000000000BC11870021C077 -:10F500000B30021C00932069C00B70021C008700A6 -:10F510002DC00B7102DC20B71021C00860028400EE -:10F5200020000000000000006014CD00834020C0D7 -:10F530004B30020C01830020C00B30020C00938082 -:10F540002CC00B3002CC01B30020C008302298043C -:10F550003000000000000000A815BF20CAC03280A3 -:10F560000FF0033E009F003A800FF00B3C00CF9855 -:10F570003EC00FF603FF00FF0031E02CB003AE04E5 -:10F5800060000000000000008000CC80FB003E50C6 -:10F590000FB003AC02FB007E500FB003EC00FB0089 -:10F5A0003EC00FB203EC20F3003EC60F9003A00054 -:10F5B00030000000000000000110FC02CF9873C86A -:10F5C0000F70033C00FF0033280FB0021C004F00F7 -:10F5D0003FC00FF003FC00FF0133C00CE403E40460 -:10F5E000300000000000000080046C008380A2F85E -:10F5F0000BB0422C00BB0032100FB0036C04AB0008 -:10F600002EC00BB012EC04EB0022C04A9482E00042 -:10F61000100000000000000080056C008A0022003D -:10F620000BB0022C00B300A2C00B3002AC00AB0444 -:10F630002EC00BB042EC00BB0022C008B022E0009C -:10F64000400000000000000008000C008B012000BA -:10F650000B30060C00B30020C00A320ACC00A30015 -:10F660002CC00B3002CC00A30022C04A0012C20101 -:10F67000000000000000000000086C008B0422C0A5 -:10F680000FF1031C00FF0432C00BF203BC00EF00BB -:10F690003EC007F003FC80FF00B2C00CA003E003F3 -:10F6A0005000000000000000A019DC00F5003FC081 -:10F6B0000FF003FC01FF023BC00FF1037C00FF00D1 -:10F6C0003FC00FF013FC40EF003FC00FC003E8063F -:10F6D0007000000000000000C015F240CC80372010 -:10F6E0000CD803B044FC083F0E0FC103FC00CC94BF -:10F6F0003F0A2EC4037D80CF103FC00FC08330006F -:10F7000070000000000000008008E0908802228164 -:10F71000089213A4403B6022180B8102FCD48100A4 -:10F720003AB00A94023D40AF632FDF0B98002004EB -:10F7300030000000000000008805E0008800204044 -:10F74000883082C000B00828800A1002CC208001D6 -:10F750002C401B06028C90936068C04A0042220134 -:10F760007000000000000000C005A002880022C058 -:10F7700008B002E420BB8826980B8042CC188A008F -:10F780002EC21B9802AC00AB002EC00B9882300436 -:10F7900060000000000000000011E3C0CB02320056 -:10F7A0002C8003AE08B9003E700FB903EC02484844 -:10F7B0003CC00F8C93EC00DB001AC00EAC031004AD -:10F7C0007000000000000000E001B200FF00BB80FC -:10F7D0000FC043B640BD003B600FE803FC00FF9440 -:10F7E0003BE40E600F6C08EF013FC00F6003F800B0 -:10F7F00060000000000000004010A100FB003E601F -:10F800000FA003ED00F9403A000F9003EC02C90489 -:10F8100032D00F90032C08DB00B6C00DB403D00427 -:10F820002000000000000000C8050000B3892EE0A1 -:10F830000BA403A401B9002E010B9042FC108950C7 -:10F84000A2C08DB4023C448F0023C008B002F20075 -:10F850004000000000000000C0040C00B0802E003A -:10F860000B1202C800BA002CC00B2002CC00A20070 -:10F8700020002B2D9A2E42830028C0082002F80079 -:10F88000500000000000000020001E04B4802DA0E5 -:10F890000B58029200B6802DE00B6802DE40A68075 -:10F8A00021242948021E80878069E0086102C8007F -:10F8B000400000000000000048180C00F0303C4CF4 -:10F8C0000F3203C880B20038800F1B03EC00E03019 -:10F8D00030040FB1030E85CB003AC00C3103D202C5 -:10F8E0000000000000000000401CBC00FC113FC4F0 -:10F8F0000FB813B004FE023F800FC003FD00DF12FB -:10F900001D040FD043BC01EF1033C40EF303D00627 -:10F9100060000000000000000805EE00CB003E0083 -:10F920000F80032800F8003E403DB003EF08C900F7 -:10F930003A000CA003EC98FB2032D20CA8032A0258 -:10F94000700000000000000048119C0087012D801D -:10F950000B40421C043700A140086002CC808700A5 -:10F960002D802E7002DCA9B72821D0087002120069 -:10F9700060000000000000002000BE0287802D60B3 -:10F980004BE8025A01B48828E08878C2DE5286C06B -:10F990002960086802DE40B392E1E828280270007E -:10F9A00020000000000000006814CC008B802EC0F6 -:10F9B0000B20024D809B2020E0083802CC00838081 -:10F9C0002CC00AB002CC08B30020C0083102520497 -:10F9D0003000000000000000E805A800CAE03E80FA -:10F9E0001FA40B7900FE003F821DE003E800CE401B -:10F9F0003B882CE403E801FA0032800CE8037A0427 -:10FA000060000000000000004811A000F8093E005E -:10FA10008FC083A018F8003C200F8803E000F8088E -:10FA20003E200E8083E101F0003C000F800B92002D -:10FA300030000000000000000810A400F94232402D -:10FA40004C98030400C9003A400F90232400B98168 -:10FA50003C400C92032400F90532406C90C3C20470 -:10FA6000300000000000000080042414B900A254FB -:10FA7000089B1A240289002240289002A400B99011 -:10FA80002E40289C822504B9002240089812E000EC -:10FA9000100000000000000018052400AD00234005 -:10FAA000085002640089002A400810026400B9006E -:10FAB0006E400890022500A9002240089106C60069 -:10FAC000400000000000000008041400B510A1442C -:10FAD0002850024480813020480812028440B180BE -:10FAE0006CC80812020480B1342048081202C20116 -:10FAF0000000000000000000B80D6140E8403290B6 -:10FB00000CC5036140C0403A140F850321B0F85082 -:10FB10003E000C85032140F840B0140C8003EE0138 -:10FB20005000000000000000B81DC404F9220E4877 -:10FB30000F1013B440FD303F444FD100E484FF0167 -:10FB40003D440FD10BE440F9303E440FD103E604AD -:10FB500070000000000000003805E400DD403F5068 -:10FB60000CD0032C00C90036400F90132704F50178 -:10FB700037400CF003F620F9A832680CD003C60019 -:10FB800070000000000000001800E00088A02E288F -:10FB9000288002200088A022000B800A6280B80022 -:10FBA0002200088002E100B8E0223A08A002CE0458 -:10FBB00030000000000000004800840281002E4058 -:10FBC00008100A4402810824400A10024580B90046 -:10FBD0002440291002C400B1082444081002C201C4 -:10FBE00070000000000000001814A40489012E50C9 -:10FBF00048B2026400910022460B90026400B901F1 -:10FC000026C009B012E400B1002640089002C604E4 -:10FC10006000000000000000A004E400C9003C40B7 -:10FC20000C90036400C90236500E93032400F9902F -:10FC300036480D9483E408F900B6400C9403E804B8 -:10FC400070000000000000006810A400E9003E40C1 -:10FC50000F9013A400E9022E61059003A400F9009F -:10FC60003A400E9043E410F90038402F9003CA0048 -:10FC700060000000000000002810A000D80132043D -:10FC80000F8043C001C800B2010C80032000C840AF -:10FC900030008C8483E000C80032006C8403CA0406 -:10FCA000200000000000000008042800BA002380A3 -:10FCB0000BEA02E800AA00228008A00228008620A1 -:10FCC00037A08DE402F800DA00228008A002CA0002 -:10FCD000400000000000000008056C00B30020C0D8 -:10FCE0000BB8024C04830020C008B0020C02830051 -:10FCF0002040283402CE908300A0C0083002CA0001 -:10FD0000500000000000000020011CC0B588214008 -:10FD10000B7002DC80A32021E04832420E908E015D -:10FD20006550097002DE20932121C0087002E800AE -:10FD3000400000000000000028181E00FF80B1A055 -:10FD40000F48027E0087A033E0287A0B1F00C48092 -:10FD500031608C5803FE00C7C833E80C5803EA0230 -:10FD60000000000000000000081DAC00FF003E0085 -:10FD70000F9023ECA0FB403EC08FB503ED80F80050 -:10FD80003C400FB003E800FB023ED00F9003C206D8 -:10FD900060000000000000006004BE00FF803FE043 -:10FDA0000FD903FE20CFC833EA8FFC033F00FD804C -:10FDB0003F600EE803F200CF802FFE0C78030000B6 -:10FDC0007000000000000000A8009C00B5022DC0DB -:10FDD0000B5842DC80CF0021C10B30121C40B40212 -:10FDE0002D46087112C800E7002DC40870036A048C -:10FDF000600000000000000000009C00B7002D0221 -:10FE00000B4602DC08970021C90A30221C00B4000E -:10FE10002D400A5082C400B7002CC8285002401060 -:10FE2000200000000000000040148C18B3002E20B9 -:10FE30000B1802CF4A83C220C10B34220C04B858DD -:10FE40002C400B2802C800A3002CC0081402480450 -:10FE50003000000000000000A805BC00FB003E8050 -:10FE60000FA002FC00DFA0B3C00EF00B3C00FBC0F3 -:10FE70003CA00EBD03EC00FF003FC00C30036A0441 -:10FE80006000000000000000A010EC00F9003E013E -:10FE90008FB143EC00F3003EC04FB013EC00FB0009 -:10FEA0003E800C8403E10073003EC10FB243E000CA -:10FEB00030000000000000000150FC10FF8037C03F -:10FEC0000CE003FC20FF0833C00FF083BC00FF00F0 -:10FED00033C02E40031C01CF0011C04CD00300449E -:10FEE000300000000000000081046C04B3022272A4 -:10FEF00008A116EC00BB0422C00BB042EC00BA19FA -:10FF0000B6D0089C4A2680DB0022C00890036040DF -:10FF1000100000000000000080052C00B9106220D5 -:10FF200048A002EC00BB0022C00BB002EC10BB00EA -:10FF300066080AA81226109B002AC028B0262000B6 -:10FF4000400000000000000008000C00B900200084 -:10FF5000083202CC04B30020C04B3002CC00B30006 -:10FF600020000800020100930028C008300642115A -:10FF70000000000000000000001C6C00F900B2400E -:10FF80000C8202DC01FF00B2C00BF103BC00F900DF -:10FF900026402E80032104CF00BBC00C9003000339 -:10FFA0005000000000000000A01DFC00FD003F40CC -:10FFB0000F8103FC00FF003FC00FF023FC00FC009A -:10FFC0002D402FC003F088FF0037C08FD003E80218 -:10FFD0007000000000000000C005FE40FF8033C23A -:10FFE0000CF8037CA0FF903FC42CB403BC80CF402E -:10FFF00037E00FF1936E44BF303F202CF863F004DC -:1080100070000000000000008010EC00EB2023F056 -:1080200008B8523D00B3002EDC08F4421C428B40DD -:1080300022C80BF6036C88BB302E0008B202E004A5 -:1080400030000000000000008805CC00BB0820C004 -:108050000830024CA0B3202680883602CCA0936062 -:10806000A4C20A32424C90B3202C0B883082E20129 -:108070007000000000000000C015AC08BB22A2C0C8 -:1080800008B0022C00BB002E9008B002EC009B0050 -:1080900022C00BB0026C00BB022E2008B002F00020 -:1080A00060000000000000004015EC00B18332C009 -:1080B0000C1A036C10FB0034C00CB003EC08DA009F -:1080C00036C00EB00B6C00FB003E280CB002D00096 -:1080D0007000000000000000E001BC00ED803FC027 -:1080E0000FD403EC00FF003FC80FB0033C00EE408C -:1080F0003FC00F7003FC00FF003F800FF003F8004B -:1081000060000000000000004010AC00FB20B0C088 -:108110000FB403AC02CB0032900EB0036C00EB0046 -:108120003AC00CB002EC00FB003E910FB00390008F -:108130002000000000000000C8052C00BB8023D7F1 -:108140000B90023C148B006A0828F000BC008300EE -:10815000BEC088F0132C00EF002E800BB007B200D9 -:108160004000000000000000E0054C00B34020D0BB -:108170000B28028C00830120C01AB8006C10A100EB -:1081800068C02A30028C00B3022E004B3002F80483 -:10819000500000000000000020011E00B7A021E0F8 -:1081A0000BECC21E04878029E40879829E40AF90C0 -:1081B00029E00A38001E00A7902D240B78028800C1 -:1081C000400000000000000048080C50FB0930C0CF -:1081D0000F20028C40C30020C00A38034C44E10049 -:1081E000AAC00E31438E00F3003C000F3003D202D0 -:1081F0000000000000000000404DBC00FF203FD008 -:108200004F7003FC00FF003DC00FF343FC40D7005C -:10821000BFC00DF4C3FC40FF003F400FF003D00689 -:108220006000000000000000A805EC00FB0032D058 -:108230000D9001EDC0FB003EC01FBA03ACC0C800EA -:1082400032E08DB443EC00FB0036A00CB0036A00B2 -:10825000700000000000000048119C00B70021C819 -:10826000086002DC20B7002DC00F74A21C28D600C5 -:1082700035C00872025C08B744A180487002120041 -:108280006000000000000000C0009E00B78020E4F5 -:10829000097826DE00B7802DE20A70128C88818072 -:1082A00021E0097802DE00B3A025A028780270043E -:1082B00020000000000000004814CC01BB8020C05A -:1082C000083042EC00B3002CC00A30220C009300AE -:1082D00024C1083002CC00B30020E008B002120430 -:1082E0003000000000000000E815A800FA08B28085 -:1082F0000DE203E800FA003F800AA003A800CE5078 -:10830000328005A003E800FA0037A80CA0037A0425 -:10831000600000000000000048006008F8003C0019 -:108320000F8801E000F8043C004F0013C000F80083 -:108330003E000F80036000F8023E010F8003D20070 -:1083400030000000000000000810E400F990124026 -:108350000C9003A400C9003E700E94332408C90099 -:108360002A400B9003E400F9003A400F9003020406 -:10837000300000000000000080046400B942226068 -:10838000081002240089032E40089002A4018104F1 -:108390003E400B9002E400B90222400E9002200001 -:1083A000100000000000000018052400B9402A4A0F -:1083B000089102A40089002E401A900A2404890022 -:1083C0002A400B9002E400B1002A400B9002060004 -:1083D000400000000000000008040400B101A848AB -:1083E000889002048081402C5018140A841089401F -:1083F0002C400B1002C400312020400A100A020158 -:108400000000000000000000B80D6140F0503A008C -:108410002CA002A142C8003E00DE002321428800B9 -:1084200038140F8503E140F85038140F05032E016E -:108430005000000000000000981DE408FD003644D4 -:108440000FD0036440F9003D500F9403E5007D40D8 -:108450003E400F9403E400F9103F400E9003E60401 -:1084600070000000000000001805E400FD403368C3 -:108470000CD003E781F90033780DD81326A0CDA0E6 -:1084800032400D9B032400F9A03C442C9007860049 -:1084900070000000000000003810E000B8A0A2103A -:1084A0001880038284B880362C2E0F02A3A0D8E057 -:1084B00036228B080342A0F8E02E28088802CE045A -:1084C00030000000000000000805C400B100A0500A -:1084D000283002C580B10820400910A24408814814 -:1084E00020400B14020480B1382C4808128282010B -:1084F00070000000000000001811A400B10022402C -:10850000089202E400B90226584A9002E408994011 -:1085100026400B90026408B9012C48089012C6044A -:108520006000000000000000A015E400F980324067 -:10853000089883E404B90130400D900B6402C9002F -:1085400032400F90032400F9001E580C9003A80439 -:1085500070000000000000002801A400F9203C4049 -:108560000F9803A400B9003E428E104B8404F9001A -:108570003E408F9003E400E9003E400F9003CA00A4 -:1085800060000000000000002810A000D8003208A1 -:108590000F8483A004C8043E008380012000C00033 -:1085A00032000F0003A000C80032104E8013CA042E -:1085B0002000000000000000280528008E90A38005 -:1085C0000BE4022800CA002F804AA013A800AA00CA -:1085D00036810BA00228008A00228008A0038A00AE -:1085E000400000000000000028054C0093C020D08F -:1085F0000B34028C008B002CF08B18024C00830093 -:1086000060C00B30028C02830028C10A3002CA000D -:108610005000000000000000A0011E00B40B69C063 -:108620000958061E8097102FC24870829C80A708A8 -:1086300025CC0B70021E8187A2ABC4087302E80030 -:108640004000000000000000A8083E10DC8421E08B -:108650000F78429F02C7883DE02F71034E00CF8004 -:1086600021E20F78839E49CFD039E80E7803EA02E1 -:108670000000000000000000084DAC40CA003600B9 -:108680008F3023ECA8EB403CC00F9643ED80FB00FD -:108690003ED88FB143ED80FB2036CA0FB0A38206CF -:1086A00060000000000000000005FE80FC8031E05A -:1086B00005AA10FE44FF903FE1CFF9173F20D78075 -:1086C0008BE40FF8033E30FF8037E00FF8004000E6 -:1086D0007000000000000000A8119C00BD1021C027 -:1086E000084A02DCC0B7002DC20CD3021C808700F0 -:1086F00029C04B72021C00B70121C00BF0122A04E2 -:10870000600000000000000000009C903400218008 -:108710000970005C0CB7002DC408501A0C009700BB -:1087200021C04B30021C00B70025C00B7002400076 -:1087300020000000000000002014CC00B000600009 -:10874000083E02CC00B3020CE02BB0020C009300F8 -:1087500028C00BB0022C10B30020D603300208044E -:108760003000000000000000A815BC00FB00B200B3 -:1087700005BE037C00FF003E200CB0033C00D98006 -:1087800033C08BF0033C00FF0037E00FF0036A04B6 -:1087900060000000000000008000EC00FB043E00D0 -:1087A0000FA423CC00FB003E81089003EC00E914E9 -:1087B0003EC00FB003EC10FB003EC00FB003E00062 -:1087C00030000000000000000110FC00FF003780B6 -:1087D0000FFA03FC00CF003F9006DC233C00FD10A5 -:1087E00033C00FF00B3C00430033C00FF003C04414 -:1087F000300000000000000081006C09BB1922322B -:108800000BBE036C008B002C900DB802AC00B100C5 -:10881000F2C00BB012AC008B0022C00BB003A04022 -:10882000100000000000000080052C10B30026207E -:108830000B9012EC018B002AC20A90022C00BB00A4 -:10884000A2C00BB0022C00AB002AC00BB002E000AB -:10885000400000000000000008040C01B3002000EC -:108860000B00028C0083002EC00B34028C00BB0076 -:1088700020C00B30020D00A300A0C00B300282010B -:108880000000000000000000000D6C00BB043680FA -:108890000FB202FC02CF0238C00EF0033C00FB0016 -:1088A00023C00FF0033D02EF0033C00FF043C003BD -:1088B0005000000000000000A01DFC00FF003F0071 -:1088C0000FF4237C00FF003FC00DD003FC00FF002D -:1088D0003BC00FF003FC88DF003FC00FF003A80689 -:1088E0007000000000000000C005F050CE1233D030 -:1088F0004C868330805F6833C40FF3833CC0CC3830 -:10890000B3080CC603F1A0FF0033240CC203F0002F -:1089100070000000000000008010EC80D22023D8FE -:108920000D96028860AF4023DC0BF6023CC28860E3 -:108930002252089122E100B724A2488A848260046E -:1089400030000000000000008805C4008100E0C481 -:108950000A00020480A320A8C01B300A0C00A0005B -:10896000280C090202C480B31C2208190302E21178 -:108970007000000000000000C015A400998062C0D3 -:108980000BA032A451AB002AC08BB0000C00A9C0D0 -:108990002A2108B822E200BB0022841BA8427004EE -:1089A00060000000000000004015E200CBC932C0AA -:1089B0000E8B132210DB0132C00FB00B2C0068812C -:1089C0003A222C8823E300FB0030308D9C83D004B6 -:1089D0007000000000000000E001BA40F7043EC251 -:1089E0000DD823D8007B0037C00F7033FC10D200A5 -:1089F00035C08FC003F400F7023FE00E8003F8009B -:108A0000600000000000000040108120C80830C055 -:108A10000C00832440C3893AC00EB00B2C08C9480F -:108A200072540F9103ED02EB8A3A628C800B1004B2 -:108A30002000000000000000C8052B048840A3C2ED -:108A400002AE1227428F4423C20BF4023D000A40BB -:108A500022E00BB502EC208F44A2408DBD233200F2 -:108A60004000000000000000E0054940838124C16F -:108A700008280201009300A0E80A30828F60B390BA -:108A800060B80B28124A0093002090092002780059 -:108A9000500000000000000020011E0287A825E011 -:108AA0000A7B021A04878021E40B78828E02969159 -:108AB00021210B6940DB40979223A089588208004E -:108AC000400000000000000048082582C30034C0B8 -:108AD0000C9B4308D0D32038C00EB0038C00B300E9 -:108AE0002080071003E000D31038180D3003520225 -:108AF0000000000000000000401DB4007F201BD0DB -:108B00000FF103F840EF003FC00FB4037C20CF0407 -:108B1000BF400FF003E410EF183DC00FE003D00694 -:108B20006000000000000000A805E800E300B2C4F7 -:108B30000CA0032400DB6832C80CB403EC80C880AE -:108B4000B6E00CA0032E00CBE0B2600CB80B2A00FC -:108B5000700000000000000048119C028700A1C8BE -:108B60000870021C08970221D4087402DCC00700B8 -:108B700021C08870021800830821C0085002120426 -:108B80006000000000000000C0009E20AD8029E0D1 -:108B90000858021E0097B021E8087802DE10158000 -:108BA00021A10848025E0087A465A0087802300071 -:108BB00020000000000000004814CF108170A8C001 -:108BC00038300A0D009300A0C1283002CC028388FF -:108BD00020E038340A4D72830024E82834821204DD -:108BE0003000000000000000E815BA40EEC0BA8076 -:108BF0000CE0033910DA0032800CA003E800DEC874 -:108C000033A00CE0037B00CA0037B10CE4233A0424 -:108C100060000000000000004800C100F8003600BD -:108C20000F8003C02038003E000F0003E000F80270 -:108C30003A240F8083A001F8043A040D8013D20077 -:108C400030000000000000000810E444C100324081 -:108C50000C9032240CC10638400D90090400D90054 -:108C60003E400F18032400F9013E400F9003C20458 -:108C700030000000000000008004640689002A50D3 -:108C800008940A2400894222500A90122500890083 -:108C90002E500B9C0A2510B9002E500B9002E000BC -:108CA0001000000000000000180524208900204268 -:108CB0000810C2AC1089082A4209900224209900A9 -:108CC0002E420AB1822C20B9006E420B9002C600DF -:108CD0004000000000000000080404008300284851 -:108CE0000812628C80810020400210028480812062 -:108CF0002C490B12060484B3026C400B1202C20111 -:108D00000000000000000000B80D41E0C8783014F9 -:108D10004C0513A142C078381E0D87830140D05006 -:108D20003C140E05030140F8783C140F0503EE03D4 -:108D30005000000000000000981DFC00FF000E44E1 -:108D40002FF1037440F9003E400D90036440FD1084 -:108D50003F440FD101F440F9013FC00FD103E606B3 -:108D600070000000000000001805E622E988B2400B -:108D70000F90032416C98C367B8F9C83A790C90063 -:108D80003E500494132450C9E03E500F9003060057 -:108D900070000000000000003810E28088A0222847 -:108DA0000B8A022A8088A42230088E0A220288A018 -:108DB0002E2888AA12229088F42E200BC8020E04B6 -:108DC00030000000000000000805D420A508214262 -:108DD0000B50821431850825400A502294408508A2 -:108DE0006D40085002540295002D480B50824201FC -:108DF0007000000000000000181584008D10234052 -:108E00000BD00034018D00234158D00234008D086E -:108E10002F5008D20274809D002F480BDC024604BC -:108E20006000000000000000A015E740E9C03240EB -:108E30000F90092600C90436401F9023A408C9409A -:108E40003E400C940B6420D9023E410F9403680409 -:108E500070000000000000002801A400F9803E40DE -:108E60000F1403C508F9003E401F9023E400F900E9 -:108E70003C40AF98038600E9003E400F100B8A008B -:108E800060000000000000002810B000DC40B300CB -:108E90000FC0033102C404B1003C40031000FC4089 -:108EA00033000CC403B100CC00B3000CC403CA04EB -:108EB0002000000000000000280528008A8022A071 -:108EC0000BA0022A008A8422A108A0022808BA0165 -:108ED000228008A02B28008A802A8008E002CA008D -:108EE000400000000000000028054C029B8120E0AB -:108EF0008B3806CE00938020C00838020C00B38067 -:108F00006CE00AB0024C00930020E0083002CA0076 -:108F10005000000000000000A001100480082102A1 -:108F20004B4406D020900821028044021000B4C0B7 -:108F30002D10484002000094892930084002E800C2 -:108F40004000000000000000A8083200D68031A0D8 -:108F50000FE80BCA00D68023A004F80B1A00FF808C -:108F6000BFA02EC813DA025E8073A02C7803EA0239 -:108F70000000000000000000081DAC00F9003E40A9 -:108F80000F90032400E9003E400E8003E400F80047 -:108F900032400FB003E401E90436400F8003C206FB -:108FA00060000000000000000005FE00CD8033607E -:108FB0000CD8433600CD8033600CD923BE004D80E1 -:108FC000336008F80B3E00FD843F600FF903C000DA -:108FD0007000000000000000A8119004DE00238053 -:108FE000086002B8208E04238008680210008E20DA -:108FF00023820840021200F6002D800B41A0EA04F3 -:1090000060000000000000000000900084002100CB -:109010000841025040940021000A5202D800850203 -:1090200025040840221808B4002D100B7840C00019 -:1090300020000000000000002014EE22930020C059 -:10904000083802EC00930020C12A2002640282103A -:1090500024F00A3C422428B3002CE00B8882C80488 -:109060003000000000000000A815AD00CB00B2C029 -:10907000ACBE036E02DB00B2C01EA003E400CA1146 -:10908000B6D0ACBC032400FB003EC0CF8403EA048E -:1090900060000000000000008000E040F8003C009C -:1090A0002F8203A000E8003E001D9013A800F900E5 -:1090B0003A00818343E800E8033E040FB003E00078 -:1090C00030000000000000000110E000D6003780F2 -:1090D0000CA003F800CE0033800DA0132008CE00B2 -:1090E00033820C40733018CE001F804FC1430044C0 -:1090F000300000000000000081047C008D0023404F -:109100000AD002F4008D00234008D4803E428D40F6 -:10911000234008F0023E408D000F400BF402204037 -:10912000100000000000000080052C009900A640FF -:10913000089006E400910020408800022408804046 -:1091400020400AB002240089000E400B8402200057 -:1091500040000000000000000804000082002080A1 -:109160000A2106C801820020800832820808830094 -:1091700060800A0012088082002C800B300A0201F5 -:109180000000000000000000000D6000D800360064 -:109190000C8423E000C80032000D820B2002C800BE -:1091A00032000E00032002C8003E000F80030003BF -:1091B0005000000000000000A01DFC00BF003FC0E8 -:1091C0000FF003FC00FF00BFC08FB003FC08FF02DC -:1091D0003FC00DF003ED00FF023FC00FF003E806B3 -:1091E0007000000000000000C001F08CFF003D6036 -:1091F0002CB2837C90DF3831E00FF8033C00FF2075 -:109200003FC40EF4037C00F48033000DF803F0003B -:1092100070000000000000008010E120BB622E42C0 -:1092200028F4423E408F4422E00BB0837F44BFC10C -:109230002DDC2AF6023F45B880226188B802E0049E -:1092400030000000000000008805C580B2182EC85C -:109250002930320C08B32020C04B92020C00B340DE -:109260002CC08934124C00B00024C1493002E20104 -:109270007000000000000000C011A400BA0C2EE035 -:10928000A9B0062C008B00A2C00B90006C00BB00A4 -:109290002EC00B30026C00BA8026F008B002F00439 -:1092A00060000000000000004011EE00FBC43E78AA -:1092B0002DB0036C08FB0032C08B24832C00FB0014 -:1092C0003EC08FB00B6C08B2E016608DB023D004A6 -:1092D0007000000000000000E001BE98FF403FC0A9 -:1092E0000E7003DC00FF003FC00FE003FC00FF0036 -:1092F0003FC00EF003AC00FE00B9C00FF003F80051 -:1093000060000000000000004010AD00FA403ED0B8 -:109310000EB203EC00C3003EC00CA0032C01FB0006 -:109320003CC00EB803EC00DA003AD04FB023D004B2 -:109330002000000000000000C8052C00BA002CC06E -:1093400008F407BC14DF003EC01AA052BC00BF04E2 -:109350003FC08AF003BC00FA0022C80FB003F2003D -:109360004000000000000000E0054801B1006CC2B0 -:109370000A3042CC0083052CC00830028C01B304B3 -:109380002CC00A30228C00808028C00B3022F800CC -:10939000500000000000000020011E08B7806FE0B0 -:1093A0001878028E40B7802DE00A78029E00B780C0 -:1093B00029E10A78029E01BC8029E40B7802C800EA -:1093C000400000000000000048080940F1203CC4B3 -:1093D0000E3902CC00C3002CC40892038C88B31051 -:1093E0002CC40EB0078C00C20838C00F3043D20224 -:1093F0000000000000000000401DBC10FC007FC009 -:109400000FF083FC21DF083BC08F9001FC21FF0C93 -:109410003FC20FF103EC00EF0077C01EF00390068F -:109420006000000000000000A805E801F90032C05B -:109430000FB203EE90DBE13AC04D38132D30FB0044 -:109440003EE04FBA432C40FA003FC08CB003EA0024 -:10945000700000000000000048119C00B10021C015 -:109460000B7102CC20A72821C00B70135C08B71029 -:109470002DC44B34831CC1B7022DC01A7002D20414 -:109480006000000000000000C0009A20B4C425A2C3 -:109490000B7806DE00838029E01BF8025E80A7A01F -:1094A0002DC80A72021E00A68028E0087802F0008B -:1094B00020000000000000004814ED00B34024C369 -:1094C0000B3042CC00A30020C01B34024C00B30080 -:1094D0002CC04B30020C00B3882CD40A3002D204CA -:1094E0003000000000000000E815B800FE40B7A002 -:1094F0000FA003E800DA003A800FE2036800FA00E8 -:109500003E800FA00B2800EEE03FB004A003FA0459 -:1095100060000000000000004800E004F0083A107D -:109520000F8403E010F8003E004F8083E000F80055 -:109530003C000F80038000F8403E090F8003D200FA -:1095400030000000000000000810E420E900324470 -:109550000C90032400F9003E400F9013E400B90082 -:109560001E400C10032400C9A03C640C900382042C -:1095700030000000000000008004640089002268C0 -:109580000813022408F9002E481B9002E400B900D9 -:109590003E400C90022408F9402E600A9006E0003C -:1095A000100000000000000018012400A900204065 -:1095B0000890022400B9012E400B9002E400B9008B -:1095C0002E40089222240089002E40089002C600F6 -:1095D0004000000000000000080404808121E050E9 -:1095E00028160A0480A1402C404B1422C400B1006C -:1095F0002C500914020404B1002C400A1002C201CC -:109600000000000000000000B80D6140E85032008A -:109610008C80022000B8003E000B8033E010F80080 -:109620003E000C80032008CA003E000C8003AE03FD -:109630005000000000000000981DFC40FD102F416C -:109640004F9103E440F9403E404FD063E500F940BC -:109650003A502E94036500ED003F500F9003E6064C -:1096600070000000000000001815E600F9E033501B -:109670000CDA03A600D9803F400F9103A600F988B9 -:109680003E680CDE036600ED003B690C9003C600EB -:1096900070000000000000003810E108B8E0202051 -:1096A000188E26E10080A02E004B8842E150B84081 -:1096B0002E2A0D0A022008B8002E140D8002CE04B6 -:1096C00030000000000000000805C500B160204027 -:1096D0000831A2C50091482C401B12028400B10041 -:1096E0002C500916020500A3042840081002C201EC -:1096F00070000000000000001805A400B9082070E8 -:10970000289002E40089002E400B9002E408B9037F -:109710002C402990026400B9002E62099002C60410 -:109720006000000000000000A005E500F9D0B27064 -:10973000089003E400D9043E400F9003A410F902FE -:109740003E400D902B6400E98D3A600C9003E804D4 -:1097500070000000000000002801A400F9803E42D3 -:109760000F9003E400F9003E400F9A03E400F90073 -:109770003E402F1003A400F9223C404F9003CA0042 -:1097800060000000000000002800A000F04032004F -:109790000C8003C000F80032201F8003E000C800E6 -:1097A00032000C80022000C8C03E000C8003CA04B6 -:1097B000200000000000000028152810BA0023A097 -:1097C0000AE402E800BA002BA10BA002E800AA00FC -:1097D0002A810AA003E808DE002E800AA002CA003F -:1097E000400000000000000028054C00B304A0B1B8 -:1097F000083622CC00B30020E40B3002CC008300FA -:1098000020C00818020C0091012CC0083006CA00C4 -:109810005000000000000000A0011CC8B32121C2BC -:109820002A7002DC00B7A029C00B7202CE00A7810B -:1098300029C04A7402FE0097012CC00A7012E80089 -:109840004000000000000000A8081E80F7C031E0C2 -:109850000C4803DE11F78021E00B7A03DE00C380A1 -:1098600033D86C78033E00D6803DE00C7803EA02E2 -:109870000000000000000000080DAC08FB803EC0A6 -:109880000FD003EC04FB3C3EC00FB6076C01FB009D -:109890003ED00F9407EC01EA003EC00FB003C206B1 -:1098A00060000000000000000001FE00CFA43B604B -:1098B00008D9037E00CF803F254FFC87BE00CF80B4 -:1098C0007FFC0CFC037C00F69033E00FF803C00033 -:1098D0007000000000000000A8119C088F282140A3 -:1098E00008D0021C40A72031041B7802DC80D7007E -:1098F0002FC41AD0021E48B60061C00B7006EA04DD -:10990000600000000000000000008C008730694407 -:109910000850220C0087012D448B70068C108700A4 -:1099200029C90850021C44A60061C00B7002C00087 -:1099300020000000000000002014CD00838860405B -:109940000010024C002B002C411B3002CC00930075 -:109950002CC00A30420C00B24020F10B3002C80487 -:109960003000000000000000A815BD41CFC0BAF0D3 -:1099700028901B6C08CF002CC00FF003AC008B00AC -:109980003FC06CB04B2C01FB4022C80FB003EA046F -:1099900060000000000000008000EC04FB043FD4E5 -:1099A0000F1003AC00FB0032C05FB003EC00FB04FF -:1099B0003EC04F1013EC00FB883EC04FB003E000E8 -:1099C00030000000000000000110DC00C70033621E -:1099D0000CC00B3C00EF0033E01CF0133C08F70018 -:1099E00031C00ED803BC00FE003DC60CF003C044DD -:1099F000300000000000000081046C00CB0322470F -:109A00000898422C009B002AC00AB0022C00BB041C -:109A10002AC00AB002AC08FA002E6008B002E0408A -:109A2000100000000000000080052C009B0020407A -:109A30000898022C00BB0022880830022C00BB00D2 -:109A400022C08A9202AC00AA802EC008B006E000B4 -:109A5000400000000000000008040C008300A0404B -:109A60000810020C00B30028800A32120C00B30464 -:109A700028C00A30228C20B2002CC0083002C2015B -:109A80000000000000000000000D6C02CB00304020 -:109A90001C94032C00EF0032C088F08B2C00FB00DC -:109AA00033C0AEF003AC80EA013EC02CB003C0036B -:109AB0005000000000000000A01DFC00FF002F402F -:109AC00007D283FC00DF043FC00FB003FC00FF009F -:109AD0003FC00FD00BEC00EE003F400FF003E80654 -:109AE0007000000000000000C005F500CF083F48EE -:109AF0000FC39370D0DC303FD80CB2033CC0FF40A2 -:109B000033C42CF1036250FC3433000F5C03F000CB -:109B100070000000000000008010C4808B002F5AED -:109B20000BA61221C089702FDC08F2C23DD0BF40C5 -:109B300037DC88F50A2080E8102A160B9002E00432 -:109B400030000000000000008805C00083082C449D -:109B50000B02020C0080002CC80833428C90B330FA -:109B600028C84A3212800CB0A028280B1202E20149 -:109B70007000000000000000C015A2008B002E48FD -:109B80000BA022202088802EC028B00AAC00BB0089 -:109B90002EC00AB002A000AB822AA00BB202F004D1 -:109BA00060000000000000004015E700CB003EC050 -:109BB000CF9C0B2100D8883EC00CB003AC00FB004A -:109BC0003AC00EB043E840F8803A600F9803D004E2 -:109BD0007000000000000000E001B400FF000FE092 -:109BE00007A103E802FB003FC00F70237C00FF02C7 -:109BF00035C04DB0037420FC013F000FF803F8009E -:109C000060000000000000004010A500CB00BA403A -:109C10000C140B2F22C94032C08EB003AC00FB00E5 -:109C20003EC00EB003E400C90032002C90031004C3 -:109C30002000000000000000C80124008F00224026 -:109C40002CA54229008B04A3C10DF00A3C00BF00E3 -:109C50003FC008F0016900DA0522D00894037200C1 -:109C60004000000000000000E0056040830120C0CB -:109C70000900022000826022C00830424C10BB0262 -:109C80002CC008B01205009B002082093202380067 -:109C9000500000000000000020011690878020E0A6 -:109CA0000858021614848121E02939025E00B78029 -:109CB00028E00878027A80968121E009F8024800BD -:109CC0004000000000000000480808098B103844DC -:109CD0004D25120C00C21022C80A3803CC00F31024 -:109CE0002CC00C30038AC0D91032402D1003120250 -:109CF0000000000000000000401DBC80FF003F404D -:109D00000FF003F440ED003FC00EF303BC04FF006E -:109D10003FC20FF00BD400FF10BF800EF003D0063F -:109D20006000000000000000A805FA00CB023EC061 -:109D30000F9003A000CB003ACA0CB313AF24CB485A -:109D40001EC80FB6032C00FA003EC00F9003EA00B5 -:109D5000700000000000000048119C0887202DC4FE -:109D60000B5012DC0487002CC00870A21D00A74015 -:109D700025CB8B74821C00B7002DC10B7002D2045E -:109D80006000000000000000C0009A0187902DE0F4 -:109D90000B7802CE0086802DE4297A029E8087A06F -:109DA0006DE80B78021E00B5802D600B7802F00084 -:109DB00020000000000000004814CD0083022CE0C9 -:109DC0000B3002CC0083E02CC00830020C00A30052 -:109DD00024C00BB0020E20B3082CC00B3002D204FA -:109DE0003000000000000000E815B882CA003EA85C -:109DF0000FE003F8028E803E800DA05BA800CA0031 -:109E00003E800FA0033B80FE422F800FA803FA0480 -:109E100060000000000000004800E020F8003E0064 -:109E20000F0603C000F8113E000F0003E000F80029 -:109E300036000F800BE000F8043E200F8103D200B3 -:109E400030000000000000000810E400F9003E406F -:109E50000C9A032440C9C03E404C90032400F900F2 -:109E600036400790032400C90432600F9003C204F7 -:109E7000300000000000000080046400B9022E40A1 -:109E80000A9202250289E02E409890022400B9002F -:109E900022400990020400D90022440B9C02E000F9 -:109EA000100000000000000018052C00B9002C4034 -:109EB000089002242889002C40689042240CB104A8 -:109EC00026400B900A2C8081002240CB9282C60053 -:109ED000400000000000000008040400B1202C48ED -:109EE0000A1202048081212C4C0811020408B110CE -:109EF000204C09120224019120A0480B1002C2013B -:109F00000000000000000000B80D41E0F8503E14D1 -:109F10000C85032140C8503E1008068301F0F86804 -:109F200036100F05032940C85032940F8503EE0305 -:109F30005000000000000000981DF400F9103F449C -:109F40000FD10BF440FD122E4C03920BE400F920CC -:109F50003E4C0F9103FC00FD103F440FD003E6067A -:109F600070000000000000001805F620C9013E4006 -:109F70000FD0033C00BD0032630C9E432700E9C0B4 -:109F80003E680C98033400F9103F400FD003C60020 -:109F900070000000000000003810C220D8002E0021 -:109FA0000B80522804B8002238088803620088F029 -:109FB0002E3A488F0A2000B0802E000B8002CE047B -:109FC00030000000000000000805C48081002C4023 -:109FD0000B10020400B10020424814420580A12069 -:109FE0002C440810820400B1202C400B1002C20146 -:109FF00070000000000000001815A50199002E4017 -:10A000000B90022440BB0122410890122400A900B9 -:10A010002C400810402408B9406E500B9202C60430 -:10A020006000000000000000A015E714C9053E41D3 -:10A030000F900B2404F908B2402C900A2400E90088 -:10A040003E402C90032700F9803E600F9003E80407 -:10A05000700000000000000028018488F9003E48DC -:10A060000F9903E600F9023C40AF1003E412D90453 -:10A070003E400F9003E500F9C03E640F9083CA0094 -:10A0800060000000000000002810A100C8003E0091 -:10A090000F80032100C840B2000C80032010C800CC -:10A0A00032000C8003E080F80432002C800B0A049C -:10A0B000200000000000000028052800CA002E80B3 -:10A0C0000BE80A38108EC022800DA00228000A0476 -:10A0D000028028A002FB00BA0037B048EA020A005A -:10A0E000400000000000000028054C0093012CC037 -:10A0F0008BB0420C909B2020C04830422C00830043 -:10A1000020C0083002CD40B30024C80838020A003D -:10A110005000000000000000A001140087002DC0C6 -:10A120000B24061600930821C80931020C8087A071 -:10A1300021C0187202DC00B7B424E30878022800BA -:10A140004000000000000000A8081E0297A03DF09B -:10A150000F48033E00D68030E02C7A021E82C3F006 -:10A1600033EC0C7C03D600F78035E00CD8032A02D0 -:10A1700000000000000000000819A5A0FB003ECA76 -:10A180000F8003EC02EA003EC60FB40BED40FB006B -:10A19000BEC00FB643E000FB023E800F9003C20634 -:10A1A00060000000000000000005FE02CF883FE0D4 -:10A1B0000CB903FE00DD8133E08CFC033F04CF804B -:10A1C00033E24FFC033E00CFC033640CF803C00001 -:10A1D0007000000000000000A811944087002FC10B -:10A1E0000D69A2D040BC0023C008F0029C0087008B -:10A1F00021C00B700A3C048710214C086002EA045D -:10A20000600000000000000000009E0087002DC0DC -:10A21000096202D800970021C40870020C40970020 -:10A2200021C40B30025800A7082180086082C000BA -:10A2300020000000000000002014E42583002CC052 -:10A24000092202CC20B20020C028B0028C0093006A -:10A2500020C00B30426C20830820E208B802C804FA -:10A260003000000000000000A815A400CF003FC08F -:10A270000D9C03E800DB8033C00CF00B3C06DF00D4 -:10A28000B3C00BF0076800EF4032A80CA803EA0443 -:10A2900060000000000000008000EC00FB002EC009 -:10A2A0000F9403C540FA303EC00FB0036C00EB00C2 -:10A2B0003EC00F3013AD40FB023ED00FB403E000B0 -:10A2C00030000000000000000110E400C70031C1B0 -:10A2D0008CD0033400CD003DC00CF0017C00DB01CC -:10A2E0003DC04CF00B3002C30032000FD0030044DD -:10A2F000300000000000000081046E408B002AC086 -:10A30000288442228088803AC00DB002AC088B00BD -:10A310002EC008B00223208B0022308B8C022040FC -:10A320001000000000000000800524008B0022C007 -:10A330000838862A0089802AC008B002CC009B0019 -:10A340002EC008B04226008B0022710B8C02200028 -:10A35000400000000000000008040C00830028C03A -:10A360000832420000810028C00930528C08830066 -:10A370002CC018300600008300A0000B0002020170 -:10A380000000000000000000000D74028B0033C0CC -:10A390000C920B2002C8003BC00CF503FC00DF014F -:10A3A0003FC104F0332140CF0032000F800B000387 -:10A3B0005000000000000000A019FC00FF003FC09A -:10A3C0000FC403F0009C003BC00FF003FC00FF0033 -:10A3D0002FC00FF003F080FF003F000FC003E8061E -:10A3E0007000000000000000C005F0C0FFA0312494 -:10A3F0000EF0631004EF643FC04CF3031C80DF08D1 -:10A4000037C00FF003F0A0FC0031082CD203F0009D -:10A4100070000000000000008010E100BBC1224875 -:10A4200008FD022E0097002FC24871237E40BF0016 -:10A4300021C54BF502EF00BB4036E008A802E0045E -:10A4400030000000000000008805C584B311A2C9D7 -:10A450000A30020001B33028C40832420C00A308BD -:10A46000A0CA0A32828010B0412411083102E201F0 -:10A470007000000000000000C015A500BB0022E134 -:10A4800028B0022C809B002EC008B0026C00B300E4 -:10A4900022C00BB000EC20BB0026C0088002F004F4 -:10A4A00060000000000000004015E340F70432C0E7 -:10A4B0004EB0232E20EB001EC00CB0012C00FB0080 -:10A4C00036C01FB003E140FB0036980C9003D00467 -:10A4D0007000000000000000E001B604FF023FC071 -:10A4E0000FF003FE00EF023DC00FF023FC00FF0061 -:10A4F0003FC04FF003FC00F4003B400FA013F800F6 -:10A5000060000000000000004010AA20EB1036C0E0 -:10A510000DB007EC20DB0032C00CB0026C20EB0069 -:10A520003EC10DB003E020DBA032904CB00B100414 -:10A530002000000000000000C8052D008F8020C111 -:10A54000087012CF008F00A3C00DF0023C008F00F6 -:10A5500037C088F002EC00880020400880023200FA -:10A560004000000000000000E0054C00A3802481B2 -:10A57000093006CC40930028C108B002CF40A300A8 -:10A580002CC0093002CD00904060402810023800F5 -:10A59000500000000000000020010E00878023E032 -:10A5A000487902DE41978029E01978069E0087806D -:10A5B00025E0087802D203838021A0086802080001 -:10A5C000400000000000000048080C00A30034C058 -:10A5D0000D3042CC01D3103AC50C3903CC00E30452 -:10A5E0003CC40D3003CE00D00030400C30031202CA -:10A5F0000000000000000000401DBC00F7003FC04C -:10A600001FF053FC00EF0837D10FF0837C00F740B8 -:10A610003FC10FF103D000FF00BF840FC803D00675 -:10A620006000000000000000A805E000FB003EE024 -:10A630002CBE83EC00EB403EC00FB403ED20FB10BA -:10A64000B6D20FB483EC00DB8036C10C90212A0017 -:10A65000700000000000000048119400B7002FC0F7 -:10A660000836020C0887302DD98B7286DD00B320A6 -:10A6700021C80B7402D0028400A00028200212041A -:10A680006000000000000000C0009A00B7802DE0CC -:10A69000087A029D00A7A02DE00B78029E80A7807B -:10A6A00021E4087A269E18830421E008780A7000C5 -:10A6B00020000000000000004814CC00B3002CE093 -:10A6C0005830120E8283002CC00B3002CC01B30034 -:10A6D00020C10B3002C00888D2202008000252049A -:10A6E0003000000000000000E815B860FA003F826A -:10A6F0000CA003FA00AA001E808FA003E800F2005D -:10A7000032801FA003E800DA003688ACE0037A0448 -:10A7100060000000000000004800E100F8003E205A -:10A720004F8003E100F0003C000B8003E000F802E2 -:10A730003A000F8043F100FC0A3D000FC003920075 -:10A7400030000000000000000810E600C9903E4004 -:10A750000F9203E400D9003240049007E700F9109B -:10A7600030400C9043E409D98022402C100B0204A5 -:10A7700030000000000000008004646089C02E40AA -:10A780000B9826C58089002240289012E710B90056 -:10A790003640289012C583C980B640089002200038 -:10A7A00010000000000000001805040089402E4140 -:10A7B0004B9002E4009900A2400A9002E500B90023 -:10A7C000E241089042E4009D50AB4A08D0260600C2 -:10A7D00040000000000000000804048281202C508A -:10A7E0000B1002E400814020504A1432C400B140F2 -:10A7F0002451181412D40085402D4008500602013F -:10A800000000000000000000B80D6140C8003E00DC -:10A810000F8002E000D80032000A8002E010F80049 -:10A820003200048003E000D8003A000CC0032E037D -:10A830005000000000000000981DF440F9103F4156 -:10A840000F9403F500F9403E500D9403E510F940D4 -:10A850003E504F9403C500E94136500F9403E6067D -:10A8600070000000000000001805F600FDA83A4046 -:10A870000CD8233600E9A03E780F9E03B680CDE2C7 -:10A8800032680C9B0336824DA037688C9803060013 -:10A8900070000000000000003810EBA0B84020203D -:10A8A000088502215188C02E290B8E02E100D8E0D4 -:10A8B00022320D8D23614898D4A2102884020E0400 -:10A8C00030000000000000000805C500B3002A4A5F -:10A8D00028104EA408A16828440B1402C50081402A -:10A8E000A0500810020402912A204428144A0201B0 -:10A8F00070000000000000001815AC80B900224074 -:10A90000489006A400A9002E400B9022E400990074 -:10A9100022400910026402990022400890020604B5 -:10A920006000000000000000A015E400F9003858A5 -:10A930000C90538414A9043E400F9003E400C90016 -:10A9400032400C90032404D900B6404C900B2804EC -:10A9500070000000000000002801A400F9023E4938 -:10A960000F10436400D9003E400F9003C400F10271 -:10A970003E400F9003C402E9043C400F1C03CA0090 -:10A9800060000000000000002810A180C8203E00E8 -:10A990008C800B2000E8023E000F8003A082C800DC -:10A9A0006C000F80032010C80032020C80030A04E0 -:10A9B00020000000000000002805380086002E80DE -:10A9C00068A8803A008A002E800BA002F8008A0056 -:10A9D0002E800BA00A3A008E10238008A0030A00E4 -:10A9E000400000000000000028054D0083002CC03E -:10A9F0000838000C6023002CC00B3002CC408300D0 -:10AA00002CC00B30020C028A80A0E028300A4A00D9 -:10AA10005000000000000000A001162087022DC198 -:10AA20004870127C00A7202DC90B7200DC0087083B -:10AA30002DC41B32021D01874221C208700228006A -:10AA40004000000000000000A8083E02C7803DEC66 -:10AA50000C58031E00E7803DEC0F7F039600C78073 -:10AA60002DE20779030A06C38030208C38036A027E -:10AA70000000000000000000081DAC00FB003EC00C -:10AA80000F10438C00DB383ED80FB003CC04FB44DE -:10AA90003EC08FB613EC02FF023E000FB003C206A9 -:10AAA00060000000000000000005FA00FF8031E3B4 -:10AAB0000EF823FE02DF80B7E20EF8037E006DD0B1 -:10AAC00033E00CF89B76C0DF84B3E004F803C000E9 -:10AAD0007000000000000000A8119040B70221C4DF -:10AAE000087B42DC00870021C40B300010808D0001 -:10AAF00023C00DF20204428F0029C8287002EA0424 -:10AB0000600000000000000000009400B60023C0B8 -:10AB10000A72028C00870021C00A30020401A702D9 -:10AB200021C0087042008A870021C0287002C0003E -:10AB300020000000000000002014C500B000A0D0DC -:10AB400008B002C9428B0020C00B302204008300F1 -:10AB5000A0C0493002454093C0A8D4003502C804C3 -:10AB60003000000000000000A815AC00BB0031C0A0 -:10AB70000EB023CD00DF0037C00EF0016800E30007 -:10AB800033C01CF0034500DAC892D42CB403EA04A5 -:10AB900060000000000000008000E520FB003EC0D7 -:10ABA0000FB003EC00FB003EC04FB003AD00FB0054 -:10ABB0007EC01F3003A480E9203CC00F3203E000B8 -:10ABC00030000000000000000110DC00C70033C2AC -:10ABD0002CF0033E20DB0013C00C70033C80EF041C -:10ABE00073C10FF0223000C600B2C00CF003004465 -:10ABF0003000000000000000810069008B44A2C109 -:10AC000088B0036C008B0022C028B00A2D00BB0066 -:10AC100062C00BB00226028B8022C008B003204025 -:10AC20001000000000000000800528018A0822C0F2 -:10AC300008B2026C409B0028C048B0162904B90134 -:10AC400022C049B006AE098B8022E048B002200045 -:10AC5000400000000000000008040002820022C042 -:10AC600088B0024400830028C00830020800B10008 -:10AC700020C00B30028C00838020E008300A0201E3 -:10AC80000000000000000000000D6400CA0033C096 -:10AC90000CB2032C00DF003BC04CF5132C04EF007A -:10ACA000A3C00DF003A840CB00B2002CB0030003FA -:10ACB0005000000000000000A01DF000F4003FC0A4 -:10ACC0000FB103F000FF0037C00FF003FC00FF00DE -:10ACD0003FC007F00B7C08FF013F000FF003A80600 -:10ACE0007000000000000000C005F0C5ED333BCC53 -:10ACF0000CF0033040FF253FCC0CF3833CD0DF4801 -:10AD000037304CF303FD80CF2833D80CF1033000EB -:10AD100070000000000000008010ECD0BB3120CC9F -:10AD200088F3422050BF902FC40AF6027DC08F40A6 -:10AD300026408FF602FD00FF0839C808F602A0047D -:10AD400030000000000000008805C480A12028C950 -:10AD500008309A0009B3002CC02030024C908320A8 -:10AD600002080B3312CD80932024D808342222010C -:10AD70007000000000000000C011AE00BB1022C037 -:10AD800008B00226013B016EC008B0024C088B00DF -:10AD9000A2890BB002EC00AB006AC128B002B0047B -:10ADA000600000000000000040156E00E8C13AC0DD -:10ADB0002CB0432600FB063EC10CB00B2C02CB008E -:10ADC00034229FB043EC009B0236C18CB0031004C8 -:10ADD0007000000000000000E001BC00FC803DD0DD -:10ADE0002FF003FC00FB003DC0073003BC00EF0464 -:10ADF0003FE05EB001FC00FF001BC00FF003F80055 -:10AE000060000000000000004010AC00CB013EC913 -:10AE10000CB0172084EB00B2C10DB0036C00C3006E -:10AE200032500FB0030C40C3007EC00C300310043E -:10AE30002000000000000000C8052C008A582EE009 -:10AE400048F0022D00EF0123C008F0223C048F607F -:10AE500036540BF00A3D408F002FC008F0037200FB -:10AE60004000000000000000E005400089802C1038 -:10AE700008B0024900A3A024C00930024C0083C9D5 -:10AE800020904230124D0083006AC0093002380021 -:10AE900050000000000000002001160085806D6257 -:10AEA000087E025640278025E01978060E00838030 -:10AEB00061A00B78024E0087826DE009790248009C -:10AEC000400000000000000048082C02C3613C88DC -:10AED0002CBA124910E32C36C00D30534C44C30039 -:10AEE00020010F31034C00C3013CC02DB1031202FD -:10AEF0000000000000000000401DBC00FF003F00FB -:10AF00004FF109B000FF003BC00EF401FD24FF40EB -:10AF1000BFC007F003BC006F103FC41EF183D00612 -:10AF20006000000000000000A805C400E804320032 -:10AF30000CB603E802CB0036CA0FB503AD00FB2008 -:10AF40003E400FB303EC80FBA832C68CB6032A0048 -:10AF5000700000000000000048119402E60020008C -:10AF6000087302DC0087702DD00BF0021C84B72020 -:10AF70002DC00B7082DD24B74034C9287282920440 -:10AF80006000000000000000C000BE02AC80A120F4 -:10AF9000087900CE04878065E00B7A029E00B790A6 -:10AFA0006DA00B7802DE00B78021E0087802300047 -:10AFB00020000000000000004814ED82ABE020E417 -:10AFC000083002EE0483002CC11B30020C08B300D1 -:10AFD00064F60BB002CC04B30026C0083002920421 -:10AFE0003000000000000000E815BB80EE4931A0F1 -:10AFF0002CA003FA00CA0236800FA003A800FA02B0 -:10B000003F900FA063E800FA0032800CA0233A04BE -:10B0100060000000000000004800E00AE8003E0870 -:10B020000F8003E350F0003E000F8013E000F800B3 -:10B030003E000F8003E001F8017E000F8003D20084 -:10B0400030000000000000000810E440C9A13240B8 -:10B05000201101A640C98436400D900344004100F0 -:10B0600032400F900B2400F9003E404C10030204C4 -:10B070003000000000000000800464008982A240CB -:10B08000089C02250089C82240089042240089209B -:10B0900022600B90022410B9002E4008900360003B -:10B0A000100000000000000018052400890422CAD6 -:10B0B0000A900A2502892020402810026401A90074 -:10B0C000224B0B90022401B9002E41289002060069 -:10B0D00040000000000000000804049081A0204807 -:10B0E0000A320204808100204408110204D0A12009 -:10B0F00020400B11020600B1312C48081402420115 -:10B100000000000000000000B80D6142C854321475 -:10B110000E85032144C828B21A4C86936114E85066 -:10B1200022140F86832140F0401E140C00032E03CE -:10B130005000000000000000981D7444F5103F44CA -:10B140000D91037440F9003E480B9203E4C2D910FC -:10B15000BF400F9203E504F9303E440F9443E606E6 -:10B1600070000000000000001805F622CDA1336138 -:10B170000CD8D33410CDA83E608E9C93A708CD8008 -:10B1800033400E9AD336A0C98032600C9903060072 -:10B1900070000000000000003810E3888AA020281A -:10B1A000088022201288402C28088A022200880069 -:10B1B00022000B8C03210088D0A23E288D020E04B1 -:10B1C00030000000000000000805CE20A1482052F9 -:10B1D000291002240381002C520A1012851091407C -:10B1E000A4400A128244009128244028120202013D -:10B1F00070000000000000001815A400A9142240EF -:10B20000099002A40189042C4008900224009900AE -:10B2100022444B10422414990026400810020604D0 -:10B220006000000000000000A015E440E940B27892 -:10B230000D900B2422C9033E410E9003A402D900B5 -:10B24000165806900B6402D90036400C900B280467 -:10B25000700000000000000028018400D9803E4AF0 -:10B260000E90036420F9083E410F9003E400E108CA -:10B270003E400F9003C400E10038400F9003CA0025 -:10B2800060000000000000002810A009F040B0108D -:10B290004C000B2000F8003A001C0003E000C8003E -:10B2A00036000C80032000C80032000F80030A041F -:10B2B0002000000000000000280528003E8823A28E -:10B2C00048E0001980BE882E800DA042E8008E0064 -:10B2D000239008A00A3A00DA0036800BA00A0A0080 -:10B2E000400000000000000028054C00B38020E072 -:10B2F0002830C20F10B34028C00B3002EC1183403D -:10B3000028D20A30020CC0830020C00B30020A0091 -:10B310005000000000000000A0011C00B60021C089 -:10B320000820C21C10B5002DC80A7202DC40850836 -:10B3300029A21A72220C00933005C40B3222280075 -:10B340004000000000000000A8081600B280312074 -:10B350000C58031E00F78039F80B7C22CE40CF80BA -:10B360009B602E3B031A00C7A811E00F78032A0246 -:10B370000000000000000000081DA400FA003EC00C -:10B380000F9023E800FB003ED02DB603ED02F9003C -:10B3900032400DB007EC00FB603EC80FB503C2069B -:10B3A00060000000000000000005FE00FF8033A0E8 -:10B3B0000CF80B3240CE8137F00CBC03FE00FF844A -:10B3C00033E02CF883E602CF8533F00CFC03001445 -:10B3D0007000000000000000A8119C00BE0035C6EF -:10B3E0002830023040870023C0087A02DC00BE000B -:10B3F00023C0087012FE00870021C008F0022A0452 -:10B40000600000000000000000009520B6002080D1 -:10B410000831025C01870025C0087202DC00B6001A -:10B4200021D0097002D408930020C00870020000E7 -:10B4300020000000000000002014C400B0E02460E0 -:10B440000820064801800020C0083002CC04B30068 -:10B4500020840B3002E8009B0020C0083002080462 -:10B460003000000000000000A815AC00B9E03280F8 -:10B470006CB0236F00C30037C13CF003FC00FA003E -:10B48000B0C009F003EC10DF0073C00CF00B2A0011 -:10B4900060000000000000008000EC10F8003E4258 -:10B4A0000F2403A860F8003CC10FB003EC00F94082 -:10B4B0003E8004B023E100EB003EC00FB003E0008B -:10B4C00030000000000000000110F400EE003D30EC -:10B4D0000CC0031400CCA0B3C04C70035C10DF00A0 -:10B4E0003F000CF003F800CF0023C00CF003004035 -:10B4F000300000000000000081046400BA812E5872 -:10B500000888022780892022C028B0022C00888366 -:10B510002E2005B062E3008B002AC008B003604013 -:10B52000100000000000000080052600B9812E40B8 -:10B53000088C062600880022C008B0166C00988887 -:10B540002E2008B004E3010B0028C00830022000C0 -:10B55000400000000000000008040400B0002CC0FF -:10B5600028000E0010800020C00832020C00800469 -:10B570002E20093002C412830028C0083002420184 -:10B580000000000000000000000D6C00FA003E000A -:10B590002C910320008A0033C00CF0037C00D800FB -:10B5A0002E400CF003E080CF003BC00CF003000302 -:10B5B0005000000000000000A01DFC00FC013F4006 -:10B5C0000FC013F000F4003FC10FF423FC08FC008F -:10B5D0003F000FF003F040FF003FC00FF003E8060C -:10B5E0007000000000000000C005FC20CD1039C82C -:10B5F0000DC1033C80EF9023D80FF800FE00CF80F0 -:10B600001FD00FF903FF00E7C033C40FF003B000F1 -:10B610007000000000000000C010FE02894023F00E -:10B620000885103C008B00A3DC4BB282EC208B0021 -:10B6300026C04BB002EC10B9042AC90BB580F00447 -:10B640003000000000000000C805CC00816428C460 -:10B6500009B20A0CF0A32020C80B3202EC028308C6 -:10B660002CC8093202CC80ABA020C80B3200B2013A -:10B670007000000000000000C015AC10890022C05E -:10B6800008B2122C020B0022C00BB802EC008B0097 -:10B6900026C04BB046EC00B9000AC00BB002F00463 -:10B6A0006000000000000000D015EC10C9E03AC0B6 -:10B6B0000D28032C00EB1032C00F8203C400CB0016 -:10B6C0003EC10FB006EC08E900B2C00FB013900401 -:10B6D0007000000000000000E0019C00F5A03FC0E9 -:10B6E0000FE803FC08FF003FC08FC003FC00FF0011 -:10B6F00037C00FF003FC00FF043EC00FF003F8005A -:10B7000060000000000000005010AC00F94034C0A0 -:10B710000DB4032C00DB403EC02C80036408FB10FA -:10B720003EC68FB003EC00F98032C00CB00B14049D -:10B730002000000000000000C8053E20E9C837D402 -:10B7400048AA221C008B006FE0088582ED40BB8474 -:10B750002FC04BB803AD40B30023D408F70232002A -:10B760004000000000000000E0014C00B164A4C0F3 -:10B7700009200A0C04B8006CC0083802C840B38025 -:10B780002CD10B3002CC04B30028C00830023A00A0 -:10B790005000000000000000B0011E00A58025E060 -:10B7A000883A121E00A6902DE2087902DA00B782CC -:10B7B0002DE00378829E00BCC129E00878022C109D -:10B7C000400000000000000049080C00F30034C0F5 -:10B7D0000D3E030C00F0402EC00C3043C800F300B7 -:10B7E0003CC0073003CC80F20038C00C300312029A -:10B7F00000000000000000004019BD20F7003FC21B -:10B800000FF10BDC20DE043FD207F013F840FF00FD -:10B810003FC007F003FC00FD0037C00F7003D006E7 -:10B820006000000000000000AA05CF00DC003ECA56 -:10B830000FA000AC92C90032C00FB011A408FB00E9 -:10B840002EC04FB023EC00F9003EC40FB003EA0055 -:10B850007000000000000000C8919C00840001C03E -:10B860004B70221CC0870021C04B70021C00B70126 -:10B8700025D80B7022DC00B6002DC00B7222F2041A -:10B88000600000000000000080009E809780A9E01A -:10B890000BF802CE08858029E80BFC021700B78060 -:10B8A0002DE08B7802DE00B4C02DE80B7902E000B9 -:10B8B00020000000000000004814CC008308A0C055 -:10B8C0008B3C024C008300A0C01B3C0A0F29B30034 -:10B8D00024C00B3002CC00B3802CC00B3002D20449 -:10B8E0003000000000000000E815A800DE003A80EB -:10B8F0000FEA02E800CE003A800FE0033800FA00B9 -:10B900003E800FA003E800FE003E800BA003FA0477 -:10B9100060000000000000004800E000F804BA01E8 -:10B920000F820B8004F8803E000F86036000F80051 -:10B9300036000F8023E100F8003E000F8003D200A4 -:10B9400030000000000000000810E401F90032405F -:10B950000F9003E400490032400B9003240049009B -:10B960003C400D9003E408C9003E600C90030204C3 -:10B97000300000000000000080046400B940A264B0 -:10B980000B18022500D15036504E900A24028940EF -:10B990003A51089402E52289442E6028900A20003A -:10B9A000100000000000000018012400B10822402F -:10B9B0004B9282A500A90822500A10020C00A9404F -:10B9C0006E500B9402C40489446C488810024600EF -:10B9D000400000000000000000040400B140E0400E -:10B9E0001B140A0400B90024401A10220400A1000C -:10B9F00028400A1012C40081026C40081202420161 -:10BA00000000000000000000B80D6008B000320027 -:10BA10004F8002A150E05032140EA5232140E8507F -:10BA20003E140F8503E140C8501E140C85436E037D -:10BA30005000000000000000D819E500FD403E5015 -:10BA40000F7403A5005D003E500A5013F400D900A6 -:10BA50003A500D9013E400FF003E500F9103A606EC -:10BA600070000000000000001805F690BDE8236B90 -:10BA70000BDA0B3680C9003268469043E400490077 -:10BA800032680C90032440F90032600C9C03C6011C -:10BA900060000000000000007810E100B8E0A21192 -:10BAA0000B8E0A232288802A31288802620088802F -:10BAB000A23028888A2200B8A8A23908CA02CE0477 -:10BAC00030000000000000004805C50821000040CB -:10BAD0000314828580AD0821529850823423850852 -:10BAE00021520850065400B520215A095402D201AF -:10BAF00030000000000000001811A400B9612240CD -:10BB00000B90060400AD00694008D0027400850067 -:10BB100001400070067404B500234009D002C60439 -:10BB20006000000000000000A014A400E900324002 -:10BB30004F950BA400E90032408C90032400C9000B -:10BB400032400C90036408F90032403D9003E80451 -:10BB500070000000000000006801A408F9003E40E9 -:10BB60004F908BE404D9013E400D90036400D9014D -:10BB70003E400F9003A400F9003C400E9003DA0011 -:10BB800060000000000000002810A000F8403620EF -:10BB90001784032021C8007E022C80432000E80285 -:10BBA0003E010F8003E000C8401E000F8003CA045E -:10BBB000200000000000000028052A88B60223A00B -:10BBC0000BEC422B00D2806EB108A0220800EA04E0 -:10BBD0003A809FA003A8008A042E800BA802CA0006 -:10BBE000400000000000000028054C00B200A4E165 -:10BBF0008BB432474583902CF44B38120E44A3018A -:10BC00002CC04B3002CE0093006CC00B3802CA002F -:10BC10005000000000000000A0011C00B74421C239 -:10BC20000B5402540587002C409B6C021810A7048B -:10BC300029C00A70029B0097040D800B6082E80007 -:10BC40004000000000000000A8081E00F38035E05E -:10BC50000B3802521084802DA00FF80B1E00E680D6 -:10BC60001DA00B6803FE02D6803DE00F7803EA02B8 -:10BC700000000000000000000A1DAC00FB003EC1F7 -:10BC80008B900B800AB8012E000CB003E800FA007C -:10BC90003EC00FA043EC00EB003E800FA623C20283 -:10BCA00060000000000000000005FE00FE80332060 -:10BCB0004EC912F650EF903FE00C1900B642CF216A -:10BCC0003FE00EF902E6C0FF803FE04CDC0340009D -:10BCD0007000000000000000AA119400B70081402D -:10BCE00008030214C487012DC8086A12384087026D -:10BCF0002DC0087112D280B7002D800860022A047E -:10BD0000600000000000000000009C00B7102180CF -:10BD100008F4129404A6002CC018D202144886100D -:10BD20002D800A6132D400B6182DC40858020010C4 -:10BD300020000000000000002014C400B30020C058 -:10BD400040B022040082810CC008300A0A008A0038 -:10BD50002EC008A002C400BB002E800820020804E8 -:10BD60003000000000000000A815AC00FB00A0C0DF -:10BD7000249423AC10EBA00EC00CB0022E20C900FE -:10BD80002E400E9003EC00F9803E406CA00B2A047C -:10BD900060000000000000008000CC00FB003EC0FE -:10BDA0008990032C00FB023E404FA0036D01FB4134 -:10BDB0003EC08FB403E800FB203E500FA403E00018 -:10BDC00030000000000000000110FC00C320B2C0E1 -:10BDD0000DD0033800CD003F800DF003FC00FD02C4 -:10BDE00036000CD0033F08FC0412C00CA003C04472 -:10BDF000300000000000000080046C028BC822C0EC -:10BE000008980A2A4089202E018EB012EC80BBF0DF -:10BE100022E508BD022E00BB9022ED08A202E00040 -:10BE2000100000000000000080052C008B012200A3 -:10BE300049A81E04008B012EC0499002E400B900FD -:10BE400022400A90022C00B9002A40088002E0003B -:10BE500040000000000000000804040081002040B1 -:10BE6000082002040083002CC00A2042CC00B3004A -:10BE700020C00230020884B3040840082002C21126 -:10BE80000000000000000000000D6C008B00B2807C -:10BE90000DB1032402CB013EC04D9043E400F900F4 -:10BEA000B2002E900B2C80F800BAC02C8003C00387 -:10BEB0005000000000000000A01DF4007D003FC005 -:10BEC0000F7203D400FF003FC00EF147FC00FF00DB -:10BED0003BC00DF013FC50FF0037C00FE003E80635 -:10BEE0007000000000000000C005F0C4CC333F0427 -:10BEF0002CF6033860CC90B3200FF123F060FF01E3 -:10BF000023C80CF28A3C81DF303F640CD803300434 -:10BF100070000000000000008010E0C28A302E187F -:10BF200008F530A594582222214BF302E1009F70BE -:10BF30002BE40AF4121D40AF722C492F3082A00668 -:10BF400030000000000000008805C48080A02C980C -:10BF5000083222080082002800033202C084B30C99 -:10BF600020C05832928C30A3202EC0481242620169 -:10BF70007000000000000000C015A8008B002E20FB -:10BF800008B00A200198002A220BB002E6009B00AC -:10BF900022C00AB012AC04AB002EC003B002F00005 -:10BFA00060000000000000000015E500C8003EB081 -:10BFB0000CB0032900C8003A204FB003E220FB0177 -:10BFC000B0C00CB0032C00FB023C410C9043480471 -:10BFD0007000000000000000E001A280FE403E0072 -:10BFE0000FF063EC00BFC417420FF003EC00FF003A -:10BFF0001FC10FB0035C00FB003F404FF000B800D2 -:10C0000060000000000000004010A502C8003E9043 -:10C010002CB00B0106CB013E505FB0132110CB00BA -:10C020007EC00CB00B2C00CB0032C00C900310046F -:10C030002000000000000000C80528018BD02C342F -:10C0400048FF023000AA042E690FF0036810DF00D9 -:10C050002FD40DF0023E005F04B6C008B00372009A -:10C060004000000000000000E005699081802C0085 -:10C0700048B802080999004CB00B30020C008B0044 -:10C080002CC009B0400C40830000400A90023000F0 -:10C0900050000000000000002001160084882DE4FC -:10C0A0004839021600B4802DE00A7B065E009780B6 -:10C0B0002DE20978021E90978025648A7802480054 -:10C0C000400000000000000048080D0081102C9680 -:10C0D0000831230C0090203CC41BB8020840C30068 -:10C0E0002CC40D30030E40C31030C04E10071A127E -:10C0F0000000000000000000401DBC007D053FC5A1 -:10C100000FB10BF400EF001F450FF043FC01FF409F -:10C110003DC41FF006FC10FF003BC12DF103D0060B -:10C120006000000000000000A805EC04CB043EA065 -:10C1300044B6032804CB8032800FB3936008FB2001 -:10C140003ED21FB3032D80FB617E408C98032A00F2 -:10C1500070000000000000004811840C86052DC00E -:10C1600008F4828C908500A1C00BF0025C003700BF -:10C170002DD00B71021CC8B7482D400A7002120462 -:10C180006000000000000000C0009E0087802DA11C -:10C1900060784A16D0A78029E00B78529601B790B4 -:10C1A0002DE80B7A225E40B7A02FE14850223000E4 -:10C1B00020000000000000004814CC1083842CC034 -:10C1C000083002A41083CB28E00B302A4F409300A4 -:10C1D0002CC00B30024C10B3022CC0AA3002120447 -:10C1E0003000000000000000E815B800CEA03F803D -:10C1F0004CA02B3A00CE403BB80FA003B900BA00C8 -:10C200003E800FA0036800FA007E801CA00B3A0459 -:10C2100060000000000000004800E002F8003E045A -:10C220008F0003E04AF81026180F8003A080F80260 -:10C230003E008F000BA000F8023E000F8013D200DA -:10C2400030000000000000000810E420C900324067 -:10C250004D99032400C9023E680F90022400E900B2 -:10C2600030408C90030440C9003E400C900302040F -:10C270003000000000000000800464208906225085 -:10C280008B9CC22400D9012E400B90422408B90196 -:10C2900022460D900A260289002C400A1002200036 -:10C2A00010000000000000001801060091404270DC -:10C2B0000B90122C028B002E400B1022E410B100C8 -:10C2C000A240489012240899022E400890020600CD -:10C2D0004000000000000000080404929120E048A3 -:10C2E0000B1202040291102CC00B100684C0B11076 -:10C2F0002048891102058091402E442A94020201AF -:10C300000000000000000000B80D6140D85030145B -:10C310000F850B21E080403E000F878BE10CF86C0D -:10C3200032008406832004D8283E100C00032E031C -:10C330005000000000000000981DF440AD103F4583 -:10C340000F9103FC187D201F410F900374C0F92149 -:10C350003E440F9201E440E9003D484FD003E60619 -:10C3600070000000000000001805F780FDE0337049 -:10C370000CDA032620C94031400E9A032400F980CC -:10C380003B600F9C8336A0F9A1B0400F9103C6001B -:10C3900070000000000000003810E290B8A02228D1 -:10C3A00028880A220288A02200088802C280B88851 -:10C3B00022040B8E032280B8D02A200B8802CE04E0 -:10C3C00030000000000000000805C580B161005881 -:10C3D00048168A04A0890122401A14880420B1401A -:10C3E00028400B100A0420B12C204A0B1202C20173 -:10C3F00070000000000000001815A590BB40204010 -:10C40000089002244089426258081002E500B903EE -:10C4100022C00B9002A41431002A440B9002C604DF -:10C420006000000000000000A010A500F9013240EB -:10C430008C90032700C19430400E90032400F90033 -:10C440003A400F90032400F9003260079027E80576 -:10C4500020000000000000002800A418F900BE44DD -:10C460000F9003C400F900BE618F9003A400F10097 -:10C470001E400F10032408F9007E400F9003CA00ED -:10C4800020000000000000002810A181F800320404 -:10C490000C00D32100D8043A149C80032101C80069 -:10C4A00036000C80132010C80032002C8003CA0410 -:10C4B000200000000000000028043A00BE8423850C -:10C4C00008EC8368048A002F904DA0022801DA004E -:10C4D00023B00AA0022A08DA0122800FA002CA00B3 -:10C4E000000000000000000028054C00BBF020C048 -:10C4F000083C0A0C00930128C88930064C008302CE -:10C500002CF60830020400A30020C00A3002CA0042 -:10C51000500000000000000020011D11B300A0C069 -:10C520000850025C1087016D814932521EC387009A -:10C5300028E00A32261F00370023E00B7202C800F1 -:10C54000400000000000000028081200B7823120DF -:10C550000808370F08D7E03960197A0B5E0C83B2F0 -:10C560007DE00C7A0B3E02AFA0B1E00E7A03CA0266 -:10C570000000000000000000081DA010FB003EC0ED -:10C580006FB043EC11FB003E400FB503EC20FB50B5 -:10C5900036000FB543E5A1DB783EC00FB403C206F9 -:10C5A00060000000000000004005FE00FFA03FA06A -:10C5B0000DC9133E00CFD03DE802FF133E00CF82ED -:10C5C0003F600CFC233E10EF8033F20CFC83100024 -:10C5D0007000000000000000A8119C40B5012DD0A3 -:10C5E0000858021C4057102D5A283102BC019710E0 -:10C5F0002D000A70028404CF0029C00AF0022A0428 -:10C60000600000000000000000009000B72A2D82AA -:10C610000842223C0087110DCC8832021D00970091 -:10C620002CC40830021400A70023C0097082000047 -:10C6300020000000000000006014C020B0202C503A -:10C640000810022DC093E22C210830020E0893003E -:10C650002C400A30028C0093002AC00B30021804D0 -:10C660003000000000000000A815AC00F8C03E80BB -:10C670002CA00B3F00C7603ED00CF00B3C00CF005D -:10C680003E800CF00B2C00EF0033C10DF00B2A04A0 -:10C6900060000000000000008000EC40F3403E50CD -:10C6A0008EB403EC10FB003E090FB013EC42EB001C -:10C6B0003C008FB013C411E3003EC00EB003E00095 -:10C6C00030000000000000000110FC00FC8031225E -:10C6D0000CA8033C00CF0033A00EF003DC00CF0019 -:10C6E0001FF00CF003F400CF0233C00CF002005432 -:10C6F000300000000000000081046F00BBC0227009 -:10C700000AB9422C108B00761183B002EC10AB00FA -:10C710002EB00AB003EC048B00A2C028B002204067 -:10C72000100000000000000080056540B820224491 -:10C7300058340A2C008B0022844BB002EC008B0092 -:10C740006EC008B042E6048B0002C0083002A001AF -:10C7500040000000000000000C000000B10020C0FC -:10C760000A300A0C008B0324800B3002CC00A3009B -:10C770006C000A30028D00830020C0183002820055 -:10C78000000000000000000000086400F800300015 -:10C790004CA00B2C02CF0022400EF503FC00CF0171 -:10C7A0003E000CF012DD02CF0233C04CF00B8003D0 -:10C7B0001000000000000000A419F000FC003F4041 -:10C7C0000FB103DC00BF013F000FF223FC10FF009C -:10C7D0003F000FF001F484FF003DC04FF0136806E6 -:10C7E0007000000000000000C005FE40DF8033C87C -:10C7F0000CF8033C0A9FC03FF008B8023E00FF80DF -:10C800003FD80CF9612E406F903FE48FF1833000E8 -:10C8100070000000000000008010EC048B8023F00A -:10C8200008B8023D40AB000E084822826C20BB00D5 -:10C830002FD048B0022C00BB002EC10BB002300438 -:10C8400030000000000000008805CC028301A0C574 -:10C8500008B04A4CA0802428C80932024C00B30812 -:10C860002ED129B23A0C84A3212CC84BB20A320132 -:10C870007000000000000000C015AC088B0022C052 -:10C8800008B0024C008821242109B0466C00BB0688 -:10C890002EC009B0022C10BB002EC00BB002300419 -:10C8A00060000000000000004015EC00CB0032C02A -:10C8B0000CB9026C00CBC83AC02D900B2C08FB00C1 -:10C8C0003EC00D30422C00EB003EC00FB013000400 -:10C8D0007000000000000000E001BC00EF003DC05F -:10C8E0000FF003BC06EF823F404EC983BC00FF003F -:10C8F0007FC01CF0137C00FF043FC00FF003F80062 -:10C9000060000000000000004010AC00FB023EC0D0 -:10C910000EB003AC20D8403EC08C900B2C00FB0026 -:10C920003EC90DB033EC08FB023EC00FB00B5404FF -:10C930002000000000000000C8052C00B3002FC03C -:10C940000B3012FC0088A02E402894022C10BB044F -:10C950002DC028B002EC00BB002EC00B72063200C6 -:10C960004000000000000000E0056C00B3002CE077 -:10C970000A1002CD0093002CC008B0024C00B30096 -:10C9800028C0083002CC00B3002CC00B30023A00A3 -:10C99000500000000000000020011E40B7802DE282 -:10C9A0000B5802DE0297812FA00868025E00B78153 -:10C9B0002FE0087902DE00B7812DE00B78023C0001 -:10C9C000400000000000000048080C00F3003CC0DC -:10C9D0000E3203CC80D3003CC40C39034C08F31A4C -:10C9E0003CC60D3003CE20F3083CC00F300352028A -:10C9F0000000000000000000401DAC00FB002EC045 -:10CA00000BB003CC20EB003C800FB041AC00FB002E -:10CA10003CC20FB003EC40FB003EC00F3003D00619 -:10CA20006000000000000000A805EE02C38030CEC8 -:10CA30000D9803ACA0C380B2C00FB003EC00FB00A4 -:10CA40003ED24FB0092E084B013EC024B003EA008D -:10CA5000700000000000000048119C00870121C008 -:10CA60004850124C00870035C04B6002DC04B7010F -:10CA70002DC00B70021C0087002DC10C7202F20445 -:10CA80006000000000000000C0009E00878023E0DE -:10CA900008F802DE808F8121E04B7812DE043780B7 -:10CAA0002DE80BF8023E1887802FE0097902E0009C -:10CAB00020000000000000004814CC008300A0C04B -:10CAC0002830424C00830024C00B3806CC04B3004D -:10CAD0002CC00B30020C0283002CC0083002D204A0 -:10CAE0003000000000000000E815A800CA003180F6 -:10CAF00008E0029802CE0033840BEA03E800BA0093 -:10CB00003F810FA0032800CA003E800DE003FA0415 -:10CB100060000000000000004800E000F8003E0057 -:10CB20000E8423A000F8003A100F8003E000F80004 -:10CB30003E100F8013E000F8003E000D8003D2008D -:10CB400030000000000000000810E401F9003E4041 -:10CB50000C9A13E400C9003E400C9823E480F900CD -:10CB60003E402C98036400F9003E400C9003C20440 -:10CB7000300000000000000080046404B9002E4072 -:10CB8000689C22E40289017C508D9822E480B920BF -:10CB90002E5048100B2500B9442C40289000E0008E -:10CBA000100000000000000018052400B9002E50FD -:10CBB000089002E40489002E500A9202E400B900B1 -:10CBC0002C400891022400B9002E40089002C600B3 -:10CBD000400000000000000008040500B1012C40E6 -:10CBE000483002E40081002A404B1002C400B1002A -:10CBF0000CC00890020C00B3002E40481202C20183 -:10CC00000000000000000000B80D6000B8013E0008 -:10CC10001C8007E150C8502E141E8503E141F850D6 -:10CC20003E140C85132148F8503E140C8543EE0346 -:10CC300050000000000000009819C400F9003E51A7 -:10CC40000F5003E500FD003F401DD003F410F90034 -:10CC50003E500F50009400F9003D400F9103E6064E -:10CC600070000000000000001801E450CD003160A9 -:10CC700004D0033680C1422E501F9403E500E90220 -:10CC80002E720A90220508E9403E50409C0326007F -:10CC900070000000000000003810C28288002215D9 -:10CCA000088002235888A02E280BAA42E28288809E -:10CCB0002E382888022280B8A03A2808CD020E0417 -:10CCC00030000000000000000805C4008100A640FC -:10CCD00028100A242695000D400B50027400850888 -:10CCE0002F4079D2AA1400A5012F4038500212011A -:10CCF00070000000000000001815A4048900264000 -:10CD000008910224109D082F400BD002F4008D02E0 -:10CD10002F4009D0003400BD000B401870020604FB -:10CD20006000000000000000A015C400C9053641E5 -:10CD30004C90632400D9003E400B90034408C90086 -:10CD40003E401510032400E9003C400C90032804E9 -:10CD500070000000000000002801A404F9003A401F -:10CD60004F9803E400E9993E404F9003E420F90A0C -:10CD70003E400E90436424F9083A420F908BDA004B -:10CD800060000000000000002810A000C800120091 -:10CD90000C8043E000C84032000F8453E010F800DC -:10CDA0003E000D80232000D8003E000F80030A04BF -:10CDB0002000000000000000280538028200A18841 -:10CDC000086022C8008A4036A10BA002E910BA44CC -:10CDD0002C800CA41229028A442E980BA4020A006B -:10CDE000400000000000000028054C10830020E0F7 -:10CDF000183092C408934020E00B3002CD00B340BD -:10CE00002CC00B3A42CD0083402CD00B38024A0094 -:10CE10005000000000000000A0411C00870021C05D -:10CE2000287002D1009D8025C24B6002DC08B70249 -:10CE30002CC00A7402FE0087002DC00B340268006B -:10CE40004000000000000000A8081E00C78431E078 -:10CE50000C6803D600978031A00F5813DE08F782C4 -:10CE60003DA00FF80BDE00C7803DE00F788B6A0213 -:10CE70000000000000000000081DAD80F3003EC16E -:10CE80000FA023C002E9003E810F8003EC00FB00ED -:10CE90003EC00DB0132C00EB003EC00FB003820269 -:10CEA00060000000000000000005FF32C780336012 -:10CEB0000F78033EC84E8023640CF8033A00CE80FE -:10CEC00013EC06D8033A00DE8033A40CC803D0006C -:10CED0007000000000000000A8119C00871001C035 -:10CEE0000B7002185084002B4408601298008613BF -:10CEF00021C4885002188086002180086102EA045B -:10CF0000600000000000000000009C00870021403D -:10CF10000BF1025C800600210088D0025C008700D3 -:10CF200020898AF1021C0887102181884802C600E6 -:10CF300020000000000000002014CC108304A0C1D9 -:10CF40000B300A480C88066038080442EC018B0458 -:10CF500022C108300A2C008B002280002002D80455 -:10CF60003000000000000000A815BC00C3002280B3 -:10CF70008F9003640ACB02B2F2203512640AC90012 -:10CF8000B2400EA003240AC900A2402CA003EE0464 -:10CF900060000000000000008000EC00FB003C800E -:10CFA0000F9003A500DB403ED04DB413A408FB0155 -:10CFB0003EC01CA0036C00FB043E504FA403E000E5 -:10CFC00030000000000000000110FC00FF0033C032 -:10CFD0000CE8432600DF80B3E00FF8037C00CD00AF -:10CFE00033040CE0233440CD0023400CE003E00484 -:10CFF000300000000000000081046C10BB00A2D2D1 -:10D0000008280204608B1922C60EB18A2E408B902C -:10D0100022C108A4822C008B90226448A402E00064 -:10D02000100000000000000080052C00BB00220062 -:10D0300008912E24009B0022C08BB012200488008F -:10D040002240081022200088012AD0088042E000F7 -:10D05000400000000000000008040C00B304208021 -:10D060000810060410830020C08BB012000082005C -:10D0700020C02810420906820028C0082002C201F0 -:10D080000000000000000000000D7C00BB003240EA -:10D090002CB0032400D30032C05FB5030C02C100E2 -:10D0A000B2000CB00B0500C100B8C02C8013E00327 -:10D0B0005000000000000000A01DDC00FF001FC0A9 -:10D0C00087F001F400FF003FC00E7043FC107F00AA -:10D0D0003FC00F7003FC00FF0037C00FE003E806FD -:10D0E0007000000000000000C005F184FE6131D82E -:10D0F0000CB2C3FCE0CC807BC00EF1037CE0CC839F -:10D100003F200FF0CB3244DC843F254CF24330000B -:10D1100070000000000000008010E448B01022DC25 -:10D1200008B602FD92888523F440F102ED00882DB7 -:10D130000E600BBC122C10A8822E000AFC22A00448 -:10D1400030000000000000008805C080B32228C025 -:10D15000083082CC0188002CC04A3202CC00010188 -:10D1600028004BB002A00080002C090834026201A4 -:10D170007000000000000000C015AC04B2102AC10D -:10D1800008B002EC10898022C008B002EC088800C8 -:10D190002E4083B002A040B9802C210AB002F004D6 -:10D1A00060000000000000004015EC00FA00BAC06A -:10D1B0002CB043EC00C0803EC08EB0034C0CC810B5 -:10D1C0003E808FB0038210D8823E280CB00B5004F2 -:10D1D0007000000000000000E001B680FD0237C1D1 -:10D1E0000FB003FC00FD003EC00FB053FC02FF0176 -:10D1F0002FA48BF0837C00AD022F40037003B80096 -:10D2000060000000000000004010AC00FB0432C0D1 -:10D210004CB0232C00F8403EC20CB0032C00FB4164 -:10D2200032C20FB0432D00C8503E400CB00B10046A -:10D230002000000000000000C8052F90B95003C076 -:10D2400018F01A3C00B9322DE038F0603C04F900C7 -:10D250003EF00B7C802C00D9C02E400DF002320035 -:10D260004000000000000000E0054B24B21002C1A5 -:10D270002830026C04B2C12CC00830000C00B2008F -:10D280002824033C0A000082C82CA0083002380081 -:10D29000500000000000000020011600B48021E4CE -:10D2A000487B025E00B6806DE24879221E40AC8465 -:10D2B0002DE00BFA00524096802DE8193802080044 -:10D2C000400000000000000048080840F310B0C40F -:10D2D000083A024C90F3103CCC0831030C49B040A2 -:10D2E00030050F3007214043013EC21C304312027B -:10D2F0000000000000000000400DBC10FC103FC505 -:10D300000FF101BC04FF043FC40FB14BFC64F700F4 -:10D3100037C00F7253AC44FF013FC90FF403D0066E -:10D320006000000000000000A805EC08FA003EE0E4 -:10D330000CB0032C00CB023ECA0FB2072E00DB025A -:10D3400032080F31032C00CB043E800C35032A0039 -:10D35000700000000000000048119400B5002DC8C6 -:10D3600008700A1C2287002DC90BF2829C80A6003F -:10D37000098B0B700A1C0285002D40087002920474 -:10D380006000000000000000C0009E00B7802CEC90 -:10D39000087B025E4085892DEC8B7B024E848F805A -:10D3A00025640BFA02120897806FE1087A023000B8 -:10D3B00020000000000000004814CC20B3642CC002 -:10D3C0000830060C10838A6CC05B3042CC00AB1076 -:10D3D0002CF20B30020D0093042CD508300A920475 -:10D3E0003000000000000000E815BB00FEC03E80D9 -:10D3F0002CA0036800C6403F800FA0026800CE4406 -:10D4000036904F60031B70DED83FA00C20033A0417 -:10D4100060000000000000004800E040F8103E00FE -:10D420000F8003A010F8423E101F8003A000E80CFC -:10D430003A041F8003E000E8457E022F8003D200FB -:10D44000300000000000000008106400E980324055 -:10D450000F900B0408D98036400F10132408F900F0 -:10D4600072700F91132410C9103E690C90030204CE -:10D47000300000000000000080046408B9802240F1 -:10D480000B1002240089C422520B90422400B900E0 -:10D4900022E00B90122404D94A2E60089003600009 -:10D4A000100000000000000018052400B118224000 -:10D4B0000B900224008B2026490B90026400B900D7 -:10D4C000A2400B908A24008B002C40A890020600FA -:10D4D000400000000000000008040484B120A048BF -:10D4E0000B11060400830000404B11020449B110E7 -:10D4F00028400B1002244191002C500810024201D8 -:10D500000000000000000000B80D6940E85032142F -:10D510000F869321E2C800360A0B868B61A8F8407B -:10D5200022800F82A32108C8023E000C80432E03F4 -:10D530005000000000000000981DF448FD123E4419 -:10D540000F1203C4007D011E400B9203E480F520FE -:10D5500036400F9003D4907D003D400F9403E606C3 -:10D5600070000000000000001801F6C1DD88327272 -:10D570000C98032622DD003F622C998346A0C94007 -:10D58000B2400FD8032400FD0033512CD88306008D -:10D5900070000000000000003810E3C288C0223094 -:10D5A000088C4222118A012E00088852230080A391 -:10D5B0002A004B804222A0B80022280884028E0450 -:10D5C00030000000000000000805C400812D204844 -:10D5D000681480042081002E400B12120424812044 -:10D5E00020400B94320490B900204048104A0201B8 -:10D5F00070000000000000001815A40089202240DF -:10D60000089012240089002E4008900224088940C6 -:10D6100022500BB0022420B909A2440890028604CB -:10D620006000000000000000A015E400D908B2402E -:10D630004C10230404D9C13E408F900B0408C14014 -:10D6400012400F90432404F14130780C90032804D9 -:10D65000700000000000000028018664F9803E4050 -:10D660000F900BE400F9983E402F1003A402F9102C -:10D670003E400F900BE640F9903E600F9003CA00C9 -:10D6800060000000000000002810A000C841320027 -:10D690000C80072010C8103E0C0E8003E004C80068 -:10D6A000BA000F81432000F8703E000F000B0A04FF -:10D6B0002000000000000000280539028E20A38011 -:10D6C00028E00A3810AE043DA18EE002F8008E007A -:10D6D00076800B60037800BE402F820BA003CA0047 -:10D6E000400000000000000028054D008B8822C08B -:10D6F0001830020C0083442CD01B3012CC0683005F -:10D7000020C10B30820C01B3002C400B30020A0008 -:10D710005000000000000000A0011C00850020CC8B -:10D720000870061C84A70129C00B7222DC80873494 -:10D7300061800B10025C00B7002DC00B7002E80086 -:10D740004000000000000000A8080E008C8031E0BE -:10D750000CFE023F00C5802DE00E7803DFA0C7A0BD -:10D7600021600F78031E80F7803DE00F78032A02C6 -:10D770000000000000000000081DAC00F9003EC0E1 -:10D780000FB003EC00FA003EC006B003EC80FB28AB -:10D7900036D84FA003EC10FA003E500F3003C206FB -:10D7A00060000000000000000005FA00CC80B3E03B -:10D7B0000FF8033E00CF903F604FF8C33E00EF806C -:10D7C00033F00C7A033E70C59033F10C78030000FF -:10D7D0007000000000000000A811B800870021C000 -:10D7E0000B704A1C0087102DC04B710A3C448F12ED -:10D7F00021860D72021E008700234008700A2A0449 -:10D80000600000000000000000009C00840025C0B3 -:10D810000B710A0C00A7122D840B700A1C00B708AC -:10D82000234009F31A5C869708254008700200001F -:10D8300020000000000000002014CC20812026C021 -:10D840000B30022C0082422C800B30220C089B8073 -:10D8500020E00920024D08920024E508300A08045F -:10D860003000000000000000A815AE82CAE0B7C07A -:10D870000FF0133C0AC9C83E400FF0033C04FF847C -:10D8800032C00D90137C00D900F6C02C10032A047E -:10D8900060000000000000008000E400F3003AC1D6 -:10D8A0004FB003EC00F9083C000F3013EC00EB0420 -:10D8B000BE180F9023AC60E9023A404F9003E0009D -:10D8C00030000000000000000110FC00CA0033C05E -:10D8D0000CF003FC00CD027F400CF0423C00CF086E -:10D8E00037100FD003FC10CD083F662CD90300443D -:10D8F0003000000000000000810463808BE022C043 -:10D9000008B022EC00D8806E2068B01A2C01FB0011 -:10D9100022180B88434C0088A02CC01D9002204088 -:10D920001000000000000000800108808B2022C051 -:10D9300008B022EC0088882E6248B01ACC008B0018 -:10D9400026C04A8802EC0008842E4009900220007C -:10D95000400000000000000008040000830060C0D8 -:10D96000083002CC0090066C000830028C00A30442 -:10D9700020008B00064C2180006CC049100A020177 -:10D980000000000000000000000D6C00CA00B2C1E1 -:10D9900088B403EC10C8002E000CB00BBC088F003C -:10D9A0003600068003EC80C8023FC10C90030003E0 -:10D9B0005000000000000000A01DF000FF003FC06C -:10D9C0000F7283FC18FC033F008F70037C00FF0084 -:10D9D0003D000FC0238C06FC003F400ED003E8063C -:10D9E000700000000000000000C541037040DC1022 -:10D9F00037040DC1037040DC1037040DC1017040C5 -:10DA00009C10171405C1037040DC1017040DC031C1 -:10DA1000000000000000000000C5440571015C40EA -:10DA2000571015C40521015C40571015C401710140 -:10DA30005C40171005C40571055C41571015C011F5 -:10DA400050000000000000000080020120804820FB -:10DA500012080482012080482012080482012080DC -:10DA600048201208048201208048201208048020E7 -:10DA7000000000000000000000800000600058006E -:10DA80001600058001600058001600058005600042 -:10DA900058001618018001600058005600058020CB -:10DAA000000000000000000000C5480522011C80A5 -:10DAB000472011C80472015C80572011C8047241CC -:10DAC0005C80572011C80472011C80472015C031AA -:10DAD000500000000000000000C540006000180079 -:10DAE0000600018000600018000600018000600050 -:10DAF0001800060001800060001800060001803157 -:10DB0000000000000000000000C548042201088059 -:10DB10004220108804220108804220108004230142 -:10DB20000880422010880422010800422010802131 -:10DB3000000000000000000000C54A05428150A01E -:10DB4000442C110B04428110E05428110200428140 -:10DB500010A04438110B0542811021142815003102 -:10DB6000500000000000000000800C01570054C06D -:10DB70001530044C01130054C01570054C015300BE -:10DB800054C01530854C01130054C0153005402198 -:10DB90004000000000000000008000004000100075 -:10DBA000040000400010001062040001080441005D -:10DBB0001000441811000010001080040001012022 -:10DBC0000000000000000000004560020800820024 -:10DBD00020800860021800820020800820000820B1 -:10DBE000820000808020021800820020800801311D -:10DBF000500000000000000000C54005640158000E -:10DC000056001580056001580056401580056001DA -:10DC100058005600158005600158007600158031C7 -:10DC2000000000000000000000C540036000D800B4 -:10DC300036000D80036000980036001D88056000E6 -:10DC4000D80016000D80036000D88046000D80319A -:10DC5000000000000000000000C5420430810C20DC -:10DC6000430810C20430810C22410818C2043089D4 -:10DC70000C20030810C20430810C20430810C0108F -:10DC800050000000000000000080000030000C0088 -:10DC9000030000C00030000C00030000C000300092 -:10DCA0000C00030000C00030000C00030000C001A5 -:10DCB00000000000000000000080020130804C20C5 -:10DCC000130804C20130804C20130804C3013080C3 -:10DCD0004C20130804C20130804C30130804C021CA -:10DCE000000000000000000000C5420560815820CF -:10DCF0005608118205608158205608118300608102 -:10DD0000582046081182046081183056081580306A -:10DD1000500000000000000000C5420020800820E4 -:10DD20000208008200208008200208008200308063 -:10DD300008200200008200208008200308008031B3 -:10DD4000000000000000000000C5420460811820AF -:10DD500046481192046081192046281182003481BE -:10DD60001820464811920460811820430811801140 -:10DD7000000000000000000000C5600458015600CB -:10DD80005580156004580116005580016004180183 -:10DD90005600458011600458011600418011403141 -:10DDA000500000000000000000800601418050602B -:10DDB00014180506014180506004180506004180D2 -:10DDC00010601418050601418050601418050020E9 -:10DDD0000000000000000000000002010080402060 -:10DDE0001048041201008041201008040201048040 -:10DDF00040205048041201008440201008040020F4 -:10DE0000000000000000000000C546035180D460FF -:10DE100030180D46035180D56035180D4603058036 -:10DE2000D46015180D46031180D46035180D4031AB -:10DE3000500000000000000000C5460571805C60D5 -:10DE4000971815C60571815C20571815C603708197 -:10DE50005C60571811C60531815C60771815C031B8 -:10DE60000000000000000000004546037180DC60F7 -:10DE700037180DC6037180DD60371805C60175813E -:10DE8000DC6037180DC60371845C60171819C01167 -:10DE900000000000000000000045460571815C6044 -:10DEA000571814860571815C60571805C6043181C6 -:10DEB0005C60571815C60571805C60431815C01169 -:10DEC00050000000000000000000020120804820F7 -:10DED0001208048201208048201208048201708008 -:10DEE000482012080482012080482017080480007E -:10DEF0000000000000000000000006016180586082 -:10DF0000161841860161801860063C058604618010 -:10DF10001860161801860061805860561815801028 -:10DF200000000000000000000045400570015C009A -:10DF3000570015C00470015C00570010C004700049 -:10DF40001C00470011C00470015C00470001C011B3 -:10DF500050000000000000000045420060801820D2 -:10DF60000608018200608018200608008200608098 -:10DF70001820060801820060801820060801801120 -:10DF8000400000000000000000054204208108203D -:10DF90004208108204208108204208118204208057 -:10DFA00008204208108204208108204208008011C5 -:10DFB00000000000000000000045420540815020A4 -:10DFC000540815020540811020540C154200408170 -:10DFD000502044081102054081102014080500114A -:10DFE00050000000000000000001030150C0543048 -:10DFF000150805420150C05430150C05430150C0AE -:10E000005430150C05420150C05430150C05401019 -:10E010000000000000000000000008004200108026 -:10E0200004200188006200108004001108004200F2 -:10E03000108004200108004201108004200100002B -:10E040000000000000000000004542020080802027 -:10E050002008080202208080202028000202008080 -:10E060008020200A080202008000202008080011F9 -:10E07000500000000000000000454005600158000D -:10E08000560005800560015808560015800760029B -:10E090005800564015800560031800760015801161 -:10E0A000000000000000000000C540036000D80030 -:10E0B00036000D80016000D80A36000D8005700919 -:10E0C000D80136000D80036000D80057000D800095 -:10E0D00000000000000000000000000430010C00FF -:10E0E000430010C00030010C00432010C004600148 -:10E0F0000C00434050C10430010C00460010C00029 -:10E1000000000000000000000000000030000C00D3 -:10E11000010000C00030000C00030000D00020000F -:10E120000C00034000C00030000D00020000C000E1 -:10E1300000000000000000000000050131404C50CC -:10E14000131004C40131404C50131404C511314163 -:10E150004C50131404C50131404C50131404C0003A -:10E1600000000000000000000000230568C15A30D4 -:10E17000568C11A30468C11A30568C11A30568C0CF -:10E180005A30468C11A30468C15A30168C15800091 -:10E190000000000000000000000000002000080057 -:10E1A00002000080002000080002200090002000F3 -:10E1B00008000240008000200009000200008000EA -:10E1C0000000000000000000000008446201188404 -:10E1D0004621118844621118844601118844621056 -:10E1E0001884462111884462111884062111800088 -:10E1F0000000000000000000000000455011540421 -:10E200005501114045501114004501114044500082 -:10E2100014044500154044501114045501114000E8 -:10E2200000000000000000000000082142085082A9 -:10E2300014208508214208508204208508214208C4 -:10E2400050821420050821420850821420850000C5 -:10E25000000000000000000000000A01028040A051 -:10E260001028040A01028040A01028400A01028000 -:10E2700040A01028440A01028040A0102804000099 -:10E28000000000000000000000000C035300D4C098 -:10E2900035300D4C015300D4C035100C4C035300E5 -:10E2A000D4C035300D4C035300D4C035300D400080 -:10E2B00000000000000000000000080572015C8002 -:10E2C000172005C80672015C80572015C80272012C -:10E2D0005C80572015C80572015C80372011C00092 -:10E2E00000000000000000000000231840C61231AA -:10E2F000848C21230848C61230840C61231048C244 -:10E300001231848C01230848C61231048C6100004C -:10E31000000000000000000000003FFF4FFFD3FF9F -:10E32000F4FFFD3FFF4FFFD3FFF4FFFD3FFF4FFF23 -:10E33000D3FFF4FFFD3FFF4FFFD3FFF4FFFD0000CD +:1081900000000000000000000000000000000000DF +:1081A000009000000000000000120000000000002D +:1081B00000000000000000000000000000000000BF +:1081C00000000000000000000000000000000000AF +:1081D0000000000000000008049000000000000003 +:1081E0007F100034000D00034000D0003400050073 +:1081F000074001D00074001D00074001D00074004A +:108200001D8007E001B8006E001B8006E0013837D2 +:10821000C490000000000000C001FC80FB3036C8A4 +:108220004E0903FC84FF103BC00EC8072280FF22CA +:1082300033C00FC8336E00FB803F200DC253D48083 +:10824000CC3A3F000CF103F0007000000000000089 +:108250008000ED60BF6023F00D82123C608F7023C0 +:10826000F0088802A540BFD063D60B88022E0CBB55 +:10827000802E20888D02E64080602E300AB11220C8 +:1082800004300000000000008805CC80A3402CC40E +:108290004A00128C88A32220C40A904204A9A30099 +:1082A00024C88B8002CC00B3002E01090802840090 +:1082B00080202C100A3242220170000000000000D1 +:1082C000C015AC04B3002AC00808A28C008B00A221 +:1082D000C1109842A700BB0166C10B8002AC04BB71 +:1082E000002E000BB812E40289080E400AB00230DA +:1082F00004600000000000000010AC00EB003EC075 +:108300004AB823EC18EB0032C00E2C122210EB00FE +:1083100026C04F0043ED00FB002E240D8013E40027 +:10832000C8D07C120EB003400470000000000000B2 +:10833000E100BC00FF0035C04FE0037C08FF0117DF +:10834000C24DC003F408F7003BC007C0037C80FFA8 +:10835000243F400CF001F404BC083F280FF00378E0 +:1083600000600000000000004010AC08FB043AC8A8 +:108370000F9403EC10F30034C00EB0036104FB0053 +:1083800036C00EA3032C80FB723E020F8A03E40268 +:10839000C9802A500FB003D0042000000000000064 +:1083A000CA443C00BF0003C00880037C00BF003FFC +:1083B000E20890436000BF0037C00890016D00BB29 +:1083C000402C100BB042D7C089002A7C0BF002F27F +:1083D0000040000000000000E2054C00B30020D582 +:1083E0004A00000C0493000CF00B09020801B320B2 +:1083F00028C00A0C0A0E00B3002430090002C6107F +:10840000804220008BB002F8005000000000000005 +:1084100022011E00B79421E448D9125E40B790298A +:10842000E08B6912D68037822CE8084A025E00B7DA +:10843000A42D200B7902D608869029A00B7902D8AA +:10844000004000000000000048000C00FBA028E8ED +:108450000E2A028C00D30064C00F00430EC4F30048 +:1084600078EC0E0A430E2073E03C024F0003C44038 +:10847000C30038C00F3003D202000000000000002B +:10848000401DBC00FF00BCCC0EB003EC20FB003C48 +:10849000C20C20036C50F30036C40F4003FC08FFED +:1084A0001A3F800FF001E430FF023FC00FF063D0AD +:1084B0000660000000000000A815EC40FB00B2D8E8 +:1084C0000CB0012D20DB013AC88C3803A800FB4812 +:1084D0003EC90F8003EC40FB013E000F0803A408D7 +:1084E000FA80B2800FB1026A007000000000000044 +:1084F00048191C80BF3021CA08F00A0C808F502117 +:10850000C20870509C00B70039C40B40029C04B7ED +:108510002025400B70021480B60021800BF8021257 +:108520000460000000000000C0009E00B7B021EC15 +:108530000B7812DE8497800DE028F802DE00B790F9 +:108540002DE40B68825E80B7A029200B48029600BC +:10855000B78021E10B7A027040200000000000008B +:108560004804CC00B30020C00B38028C04830028E0 +:10857000C08839024C40B30428C01B10028C01B3E0 +:108580000424884B31020400B38020F20B30020235 +:108590002430000000000000E805A800FA00328046 +:1085A0000FE803E800DA013A808CED03FB04FA00DF +:1085B0003E800F6C03FBC8BEC21F800FE503A800FE +:1085C000FE4833804FA0037A0460000000000000E2 +:1085D0004800E000F8003C000C81936000F8013690 +:1085E000100F8003A020F8002A018F8413E100F807 +:1085F0001836000F8013E000F8203E140F8003D2DD +:1086000080300000000000000800E400F100AA40F3 +:108610000C90032400E10038401C9003E400F9A012 +:108620003A40479A93A280F8103E400B9403E640EC +:10863000F9C03E680B100302843000000000000007 +:108640008004E404B9002240089002240489003622 +:1086500040089002E404B9802E404F94036110E872 +:10866000402E400B9042E604B9002E400B900220B1 +:10867000001000000000000018042400B90022408F +:108680000A10520404A9042A4008B002E401B90007 +:108690002E400B9002A80DB8402E40099402E50030 +:1086A000B9042E400B9002060040000000000000BC +:1086B00008040480B12020C80A10420490812004DC +:1086C000C8083026C400B1202C480B90024501B1E7 +:1086D000402C400B1282C400B12B2C4A0B12820298 +:1086E0000100000000000000B8082148F8503200E6 +:1086F0004E850B2140A8522A00088023E140F80053 +:108700003A140FA043A800F8003E000F8203E000D7 +:10871000F0203E884F820B2E035000000000000026 +:108720009819E440F91134442DD003E450791038FD +:10873000442FD003F510F9103E45065003E500E93B +:10874000403F400FD043F500FD283F400F9283E6A5 +:1087500006700000000000000801E600D9903769AB +:108760004D90236780D9E037680ED007A4000586B6 +:108770003E660D50232600C9823D400DD8073602C3 +:10878000CDC033600C9C03060070000000000000A8 +:108790003810E28088A22210288A82238488A022AE +:1087A00014488042820088402E30088002A200D8FF +:1087B00090260008840A2100C8A0A214288C020E6A +:1087C00004300000000000000805C52091402C4442 +:1087D0001810028504B1400C400A10068430814014 +:1087E0002C4859101A046081092E401B14022500E0 +:1087F00091E02060081602000170000000000000F7 +:108800001815A40081002A41089002A400A1002AA2 +:108810004108B08224118B002E40189102A00498C8 +:10882000202E541B90822C0089102244889002062E +:108830000460000000000000A015E400D9003E40E4 +:108840004C9003A410F9003E408E1002A4C2C9004F +:108850003E400D16130184C8203C600F90120400A6 +:10886000D94032500C9003288470000000000000B2 +:1088700028018400F90036404F994A44009900B419 +:10888000400F9013E600F9003C400F9003E300F81E +:108890000136400C9903E402F9803E604F900BCA08 +:1088A00000600000000000002810A000D8003C007C +:1088B0001D80032000E80032000C8483E010E820D3 +:1088C00032008E84032180C8003A190F0403E0248B +:1088D000F0023C000F80138A04200000000000001A +:1088E000280528028A010FA268A00028008A0077C4 +:1088F0008068E012E800DE00368108E0037A08AE06 +:10890000C42F8008ED02FA00BEA03B800BA0420AF3 +:10891000004000000000000028854C0093002CC09F +:1089200088B0020C14A30420C4183802EC1093542D +:1089300028C00A00024E00834968C0023942CE4076 +:10894000B3002CE60BB0028B0050000000000000CA +:1089500020011C0887202C8018F2221C008710217F +:10896000C0087082DC8096802DC00A40027D4027BE +:10897000646DD0486042D805B60429C04B72022805 +:10898000004000000000000028083E88D7E03DE0DD +:10899000087C423E00E38220E00C6803DF04D780BD +:1089A0003BE04E480A5E80C7C219E00E7803D60845 +:1089B000F7803DE00FF803AA02000000000000006D +:1089C000081DAC40FB407E800E3683ED40DB603EF0 +:1089D000800FA003ED28DA0032C40CB00BCC00FBF2 +:1089E000003EC00E8013E010F8003E000FB153C2ED +:1089F00006600000000000004005FE00FFC033E0FC +:108A00000CF9037F04CFD03FE40FB803FE00FF94BE +:108A10003FE00FC8037E10F3803BE00FF803FE48F1 +:108A2000ED80332404F803300070000000000000E3 +:108A3000A8119C80BF04212808F8021EC0CF9021F5 +:108A40004C0B5A42DE00B7802CE80B04021C00B726 +:108A5000A035108F7113DEC0841021800D71022AA1 +:108A6000046000000000000080409C08B70025C89A +:108A7000087102CC80970029C08B7206DC08B50013 +:108A80002DC80B40021C40BF1021C00B7402D480C3 +:108A9000A7402141087002040020000000000000EF +:108AA0006014CC00B3002400083482AC1183002091 +:108AB000004B1826CF20B1062CC10B32020E08B392 +:108AC0008824320A301284088000A034283002182A +:108AD0000430000000000000A811BC00FF00B640F8 +:108AE0002CF443FC01DF003A00039203FF88F900F5 +:108AF0002FC01B0E4B2E90FBE030320B9802EC087F +:108B00006BC032C008F0093E0460000000000000A5 +:108B10008000EC00F3003AC00FB0016C00FB003A9B +:108B2000100FB403EC00F0003CC00F800BAD20FB35 +:108B3000403E1007A863E000FB803ED80FB003E082 +:108B400000300000000000000110FC00FF00720077 +:108B50000FF023FC00DF003F400FC003DC008F005C +:108B600033C10CC003BE00FF903B280E59032E00FA +:108B70007B0032C40FB003D00430000000000000BE +:108B8000C1046C00BB0062A00FB002EC098B002E88 +:108B9000300BA803AC00FAC122C1088C022C00B330 +:108BA000812A000D88B22200B3C022C80BB04261F6 +:108BB000401000000000000080056C00BB01226234 +:108BC0000BB002EC048B002EA2498826EC00A88092 +:108BD00022C028820AACA0BB0822C008800A2884D0 +:108BE000B9C0A2000BB002E000400000000000008D +:108BF00008040C00B31020480A3202CC8083012400 +:108C0000000B02068C60A02020C80801020C00B3F3 +:108C10000028000920020880B100A0800B30024229 +:108C2000010000000000000000096C00FF00A20E1F +:108C30000BF103FC08CF203EC00F8003FC84A8206A +:108C4000B2C88C8003AC44FB703AC00E90032CA4D5 +:108C5000FB00B2400FB003C0035000000000000052 +:108C6000A01DFC00FF263E000FB613ED00FB103FD9 +:108C7000000FC113AC80F8123EC64F4243FC04FF04 +:108C8000313F000FF003EC00FF00BFC08FF003E89E +:108C90000670000000000000C001FC40FC8036C8E7 +:108CA0000F0903C200F8C033CC2C4C036390E09052 +:108CB0003AC00D500B3C04DF643FC88DF1432C00DB +:108CC000D50033C045F223700070000000000000A2 +:108CD0008010ED80BA0221DE8B8222E020B0002BD2 +:108CE000EC098002E340BA202FDC0898122C008B9C +:108CF000512AD00872222E008D8021D008B6822001 +:108D000004300000000000008805CC40B92824C0D1 +:108D10004A12128885A82020C00B2202C091A1000F +:108D200028C20B00128C40A32020C40B300A0C1167 +:108D3000990020C5090102620170000000000000D6 +:108D4000C011AC00B88022C00B8802EE01B8C12A65 +:108D5000C01BA806E200BB802EC08A8002AC00AB1C +:108D6000002EC00AB0022C00990024C008800230F6 +:108D700004600000000000004015EC00B08036C028 +:108D80000EA813E285F3C032C00E9C23E724E882CC +:108D90003AC10F9403AC02EB003EC00FB0032E109B +:108DA0005100B2C00DB0035004700000000000007C +:108DB000E001BC00FF003FC08FD003F004FD043F82 +:108DC000C04CC003F010FC001FC00DD1231C00C715 +:108DD0000039C00DF083FE44ED003BC00F7403F872 +:108DE00000600000000000004010AC00F901BAC1B2 +:108DF0000CB003A108FA0030C88F94032500F900D5 +:108E00003CC00F0483EC00FB003EE00F710B2C40D4 +:108E1000FD0837C04E9103900420000000000000C0 +:108E2000C8053C00B90023C00890022400C80037E0 +:108E3000F00B80016400490233C0849C033C00BFF6 +:108E4000020FD008F4020E10BD8033E008900A3201 +:108E50000040000000000000E0054C00B00620C00B +:108E60000800428400A00020F00B0022CC009000FB +:108E700028C0023D028C00B3002CC29A38020604BE +:108E8000B11220E00830023800500000000000005D +:108E900020011E00B68021E028EA02368086906517 +:108EA000E01BDA065E019E8425EC0A78025E00B7BC +:108EB000802DE008794A1640BD8025E00838020878 +:108EC000004000000000000048080C00FB0028E003 +:108ED0000818028A88A1A020C21F2A23E6C8F0C071 +:108EE0003AED4E34028C08F3811EC00E30030EC0E2 +:108EF000F100B0CA0E210392020000000000000041 +:108F0000401DBC08FE103FD20FE003EC04FF147EAE +:108F1000C00FB123FC01EE003AC40DB013BC00FF3A +:108F2000003FC00EF083FC0CFD103BC02FE103D0CE +:108F30000660000000000000A805EC40F08032D080 +:108F40000CA0036C00F38032DA0FB003EC00FB00DE +:108F50003ECC4C98132C10FB043EC40CF283A6109C +:108F6000DD203FD10CB003EA0070000000000000DB +:108F700048119C80B70021C80C7002DC08B70021A2 +:108F8000C80E7022D800B7002CC20A700A1F08B79A +:108F90000039C80A70021400C5692CCA2A7002D2AE +:108FA0000460000000000000C0009E00BF8164E17A +:108FB0000878025A01BF8021EC4B78469F08378021 +:108FC0002DE88818021E81B7B02DE0097A028E00C4 +:108FD00095A02DE4087802F00020000000000000B9 +:108FE0004814EC00B36020C008B602CC00B30120E6 +:108FF000C08AB086CF00BB106CC10A38020C01B326 +:109000000228C00BB00A0C0081002EC00AB482D224 +:109010000430000000000000E815A800FE40B68003 +:109020000CE4037880FE7432800BE603F900FE0046 +:109030003E800CE0032800FA003E804DA003A8000B +:10904000DA043E800CE403FA046000000000000033 +:109050004800E000F8003E002E8023E000F8013CCC +:10906000000E8003E020F8203E018F8903E000F825 +:10907000003A100E8001E000E8407E004F8003D2ED +:1090800000300000000000000810E402C9017E402A +:109090002C900B2400F9003E68059013A404D9001D +:1090A00032410E9103E400F9003E600E900324006B +:1090B000F10032406890438204300000000000005C +:1090C0008004640089006E400890422400B9002E9C +:1090D000708890032400B9002240089812E400B977 +:1090E000002E400A900A2600B980A2400890122063 +:1090F00000100000000000001805240089042C4026 +:109100000890022401B9002A400BB002A401B90062 +:10911000E0400A9082A400B9002C480A98022480FA +:10912000392022402A900286004000000000000002 +:109130000804048081002C480810120410B1042C8B +:10914000D80A10020400B1002048081002C480B1FF +:10915000222C508A328205A0B12A204A0A128202A9 +:109160000100000000000000B80D6150C8522E142C +:109170000C85032140F8503A001F8503A140F850A8 +:1091800032140E8003A140F8503C800E0203208070 +:10919000FA2032080E8213AE0350000000000000D7 +:1091A000981DE450FD003E440FD003F400FD003E46 +:1091B000448DD001BD00FD023E440FD400E4487947 +:1091C000143E500F92A2F408FD003E4A0DD283E6F1 +:1091D00006700000000000001805E700F9103A6E64 +:1091E0000CB103E440F9443B618E9403E400E94090 +:1091F00032660FDA0BA728C9E03F680CDA83B32088 +:10920000EDA0337908D8034600700000000000008C +:109210003810E200B8A02E38088A02E288E8812ED1 +:1092200014090A03E280B88032300B85022101A8BC +:10923000F4382A080ECA2390C8543438088A920E8B +:1092400004300000000000000805C500B1002840FF +:10925000191002C400B12028400B1006C420A1A29E +:109260006C480B1002840881202C50091002C404A1 +:10927000B1002458083C02420170000000000000C8 +:109280001815A401B9202C40099002E410A9402E21 +:10929000400B9002A400B1012A400B94022400A9C3 +:1092A000002A4001105264008900264000980246BE +:1092B0000460000000000000A015E400F9613A40DD +:1092C0000D9083E520F9013A402E9002E440E90137 +:1092D0009E400F9403A40089003E402D9002E608B2 +:1092E000B90136402C9001680470000000000000B5 +:1092F0002801A400F9003E402E9003E480F9003CD0 +:10930000400C9C23E400F90036400F10438400F920 +:10931000023E400E90038080F9003C402F90038A6B +:1093200000600000000000002810A000C8403601C6 +:109330000D8403E100E8403E080C8003E100F800E2 +:1093400032008F8003A010F80032040E808360008A +:10935000F8003E000C00030A04200000000000009A +:10936000280528008A01228008A024E8000A002F8E +:10937000801AA0022800BA0016800BE0032808EA31 +:1093800000339008EC1B2280C6142F9108A0434A9A +:10939000004000000000000028054C00930024C09D +:1093A000093012CC04A3046CC00930028C00B30055 +:1093B0002CC01330028C00B300E6B80A380244080F +:1093C00082502CD23A30028A005000000000000087 +:1093D000A0010E8097B421C4497102DE8187212D3E +:1093E000D00B7B021C01BF2029C40B30025C00A7FC +:1093F000A121C04A708A0C8184002DD00A5002E855 +:109400000040000000000000A8081E82DFA034EC2D +:109410000D7902FE80E7E82FA0097A029E00F7A2EC +:1094200025EA0B48039E04FFC065E40E68035F0055 +:10943000E4803DE00EF803AA0200000000000000F6 +:10944000081DAC48EB053ED90EB203EC00FB603EB4 +:10945000C00EB283AC00F350A6C04FB003AC00FB0B +:10946000803FD80DA003EC0AF9003EC00D900342E6 +:1094700006600000000000000005FE00BB903EE01A +:109480000839039E20CF8277E01FF803EE00FFC06B +:109490003FE50DF903EE00FB9037A008F80F1E0022 +:1094A000CC9433600DF803C0007000000000000091 +:1094B000A8119C00B7902FE4087A021E008F122595 +:1094C000D80BBB021E00B7002DE8087D82DE40BB32 +:1094D000A027900A76025C80850037C44D7103EAAC +:1094E000046000000000000000009C00B7202DC0B8 +:1094F00029F222BC80970025410B70129C00B7080E +:1095000029C0084212DC40B70029C0096022DC10E3 +:1095100080002140097002C000200000000000000F +:109520002014CC00B3C02EC00834822D0093002438 +:10953000C00B30020F8013002CC00A34A2EC00B321 +:109540000028C00B0002CC00810020C00930028935 +:109550000430000000000000A811BC00FFE03FC084 +:109560000CF483BD00DF0836400B7542FC20FF8001 +:109570003BC02C3C03FC00BF00BEC08D900BAC0276 +:10958000CA0022800DB002EA046000000000000062 +:109590008000EC00FB081EC00FB013EC00EB003A9B +:1095A000100FB023AC01FB003EC03C8403EC00FB79 +:1095B0000026400E940B2C00F9403E900E9013E0D4 +:1095C00000300000000000000110DC02CF003FC0AE +:1095D0000DF00B3C20CF003D000EF0079C01CF02A8 +:1095E0003EC00FC4033C00CF000FC00E44031F0257 +:1095F000CC003F802C7003004430000000000000CD +:1096000081046C008B022EC00DB0022C00AB000652 +:109610002008B003FC00AB002EC00F8006BC00ABDE +:10962000043AF00C88022C00C9803A9208900AA0F3 +:10963000401000000000000080052C00AB002EC090 +:109640000930022C008B0026600BB002AC008B00AE +:109650006EC00BB0422C009B004CE00A90222C0004 +:109660008AC22C4008B042200040000000000000E8 +:1096700008040C00830D2CC60931020D81A31124AE +:10968000008AB1E24C80A3002CCC0B02028C80A398 +:109690004808C008000A0D00810028C00830028276 +:1096A0000100000000000000000D6C00CB202FC85E +:1096B0008DF6132DB08F0036400FF002ADA88F103D +:1096C0003FCA0B80922C10DB403FC00E00032D04DC +:1096D000C8023E400CB00300035000000000000030 +:1096E000A01DFC00FF003FC80EF103EC84FF2037F3 +:1096F000000DB203BCA0FF003EC90E8003FD11FFA8 +:10970000003BC00EC003FC80ED003BC00FF043687F +:109710000670000000000000C001FC90CC923BC825 +:109720000DF0837310FF2837CA4FB203FC00DF200F +:10973000B3C40D6843FE14CB8433E00D7803BE0040 +:10974000FF8037A00CF30330007000000000000021 +:109750008000FC48822103F40FF64220048A602B2B +:10976000DA0BF9023F048F5223D54D8802AE00DB9D +:109770008036C00880022004B80022600D7403E027 +:1097800000300000000000008805CCA0800108C067 +:109790004B30824290A3082CC81A30228D009300CF +:1097A00024C809A0120C04AB0062C009B002CC00AE +:1097B000B3002880083606A20170000000000000F7 +:1097C000C015AC00880822C00A301A001182000AB5 +:1097D000C00BB0422C008B0026C0099102EC20BBCC +:1097E0002866C00880026000B8002A4081B006F8F0 +:1097F00004600000000000000015EC02C8043AC03C +:1098000089B0036800E9C11EC10E3003EC00DB0023 +:1098100036C10D00230E00EB8032C8CD3032EC088B +:10982000F3003C800CB006800470000000000000D3 +:10983000E0019C007C003FC00BB043FD00BEC4377C +:10984000C01FF0035C00FF013BC00EC803BF20DF58 +:10985000003FD00FC013B0007C00B7400FF01BB02A +:1098600000600000000000004010AC0CD84132C085 +:109870000EB007A8016940B2C08DB0A3EC08F30098 +:1098800032C00F8003ED00FB483AC00DB0832C00BE +:10989000FB203E800F7023D0042000000000000059 +:1098A000C8053C00880023C008F0062C10885137FA +:1098B000C008F0077D608F0237C00B8C002D00B30D +:1098C0000038C00880822000B8002E500BF0003213 +:1098D0000040000000000000E0054C00980028C097 +:1098E0000A30028404A30000C06839060C109320DB +:1098F00022C09B01A08F14331428C0093C020C0124 +:1099000093402C880B3002B800500000000000008B +:1099100060011E10878029E00878023E00839024B1 +:10992000E0087810CE04079125E083C9021E04B731 +:10993000842BA408484212CCB4802D640B78021901 +:10994000004000000000000048002C00D01028C893 +:109950000E3B028400E34030C80C38628C00530098 +:1099600030C41F00238C3CF38018C00D30030E80E0 +:10997000D3103C800F300392000000000000000074 +:10998000401DBD00F912B4C007B003CC004A0077F7 +:10999000C00E71436C00F3003FD01FD053AC68FB86 +:1099A000183DC00FC013F050FC043F400FF403906B +:1099B0000660000000000000A805ED40F8043ED25B +:1099C0000FB313E010F900B2CC0EBA036D80DB02C6 +:1099D00032DC4F00036C04F30236400EB003CC00BF +:1099E0004B003C800CF1036200700000000000009E +:1099F00048119C00B4002DC90B7082DC00BC04210E +:109A0000C44B37020CA08F7421C00B40021C81B7DD +:109A1000202BC0084002D00284002D400AF202121E +:109A20000460000000000000C0009E80B4C02DE46F +:109A30000B7A02D200B58821E80A7802DE4097004E +:109A400021E80BCC465E28B7C421F00A7802FE0854 +:109A500097842DA00878027000200000000000000C +:109A60000814CC00B0C02CC09BB002CC20B3602244 +:109A7000C00B30028C00830120C01B06164F00B3C0 +:109A8000A02AF0080002E00090002C400A300202F8 +:109A90000430000000000000E815A810FEC03E8061 +:109AA0000FA003F908FE4022800EA003E800D200B8 +:109AB00032808FE0035800F60033B00E2002E80C2D +:109AC000D2023C800CA0037A046000000000000079 +:109AD0004800E000F8203E010B8003E000F0403E2B +:109AE000005780230000F8003E000F8403A03038A8 +:109AF000003A080FC403F000EC003F100F8003D2BF +:109B000000300000000000000810E400D9013C48CB +:109B10004C900B2401C9C03240AC9003E400D94002 +:109B200030400D9A032284C81432400E9003240062 +:109B3000C90082682C90030204300000000000007D +:109B40008004640089002E4008902224008902824B +:109B500040089002E740898036418D1802A024A871 +:109B600004624008948324008901227208900B202B +:109B700000100000000000001805040099002A40B1 +:109B8000289012040089002240089002A420990025 +:109B900022401890062001880862400A9002341082 +:109BA0008D812341081002060040000000000000E3 +:109BB0000804048081042C48081202040283202037 +:109BC00048081202C48083602448193462A504A1A5 +:109BD00002604008D00254008D0029400812820221 +:109BE0000100000000000000B80D6140D8503A802C +:109BF0000C85022144885032144C8043E000D80088 +:109C000022140C80032000C800A2000E8003200054 +:109C1000C80033000C82032E035000000000000037 +:109C2000981DE444FD003E440F9103F410FF103EE4 +:109C3000440F9103E440F9103E440BF013E510F992 +:109C4000403F4A2F928AA4A2F92836400F9283A659 +:109C500006700000000000001811E6C0C1003F6956 +:109C60000C9A436C00FDA03E782CD807D602D596FE +:109C700032780D90032700FDA0355006D403E5008F +:109C8000FD40B3400F98A3460070000000000000A4 +:109C90003810E3C288882E14A88AC222A0B8C02C2B +:109CA00024488402E10098C4203C088A822380B8BA +:109CB000042220088803A200B8A022000B88020E0C +:109CC00004300000000000000805C480A1206C40A2 +:109CD0000A14024404A1682C48081402C5008160DB +:109CE00020481990028581B14024680A1242C4803C +:109CF000B92020408B10824201700000000000005B +:109D00001805A410A9006EC00A10022414B9002E70 +:109D100040089012E40099002240088006A060B933 +:109D2000092260089002A400B90002400B10060648 +:109D30000460000000000000A005E400E9803E414E +:109D40000E90036400E9C03E400C9002E400C9009C +:109D500022410D8002A304F14036400E9002E4003F +:109D6000F10012400F900368047000000000000032 +:109D70002801A400D9223E420D9003E400B9C43C5E +:109D8000400F9003E400E902AE400F804B6210F9EF +:109D9000203E400F9003E400F9027E410F9013CA69 +:109DA000006000000000000028008000C8003800AB +:109DB0000F8020E000A82032000C8007E080C8005F +:109DC00038000D80832110F86032008E80B32008A7 +:109DD000F8003E000C8003CA0420000000000000D0 +:109DE000280528048A00339043A02228008E80761C +:109DF0008008E1031900868022800D60017800BE92 +:109E00000036800CE402A810BEA02F800DA0020A2C +:109E1000004000000000000028114C0403042CD472 +:109E20000B30024C01A3C420C02835028600838079 +:109E300028C00838060E9430C0A2C00B3C020C00AB +:109E4000B3802C480830028A005000000000000057 +:109E5000A0010C048F8021C11B72421EC083882187 +:109E6000C01828061021863821C019F7025DC0B439 +:109E70004127D00878C69C00B7002F6009720228DD +:109E80000040000000000000A8081E02C7802DA0AE +:109E90000F3E03FE80A780A1E00C7802940085A00D +:109EA00039E40C78131E90B58431E00FF8871E0456 +:109EB000F7803D600C3B03AA020000000000000098 +:109EC000081DADE4FB543E800FB423EC32FB003E92 +:109ED000D84FA003E400F9003EC00F3033EC04F289 +:109EE000013EC00FB203FE10FB683C410FF04382FD +:109EF00006600000000000004005FE00CFE43FE4E3 +:109F00000CFC037E80CF8133FA0FF803F600FF804C +:109F10003FE20F79033E40F48033600CE8033E00DB +:109F2000FF8033600CF883500070000000000000D8 +:109F3000A8119C00D7A02DC408BA023CA0872021FC +:109F4000C00F5203D400B6102DC08B73035C40B415 +:109F5000B02B482841020C00BF1835462872422A0F +:109F6000046000000000000018009C0087412D44A0 +:109F70000A73029CC481006DC88B7002D400B700C4 +:109F80002DC00BF0469C55B42025401860821C0063 +:109F9000B700234008704644002000000000000085 +:109FA0006014CC0093002C400BB0020C8280C020C7 +:109FB000C00A10020400B3002CC01B3000CD01B059 +:109FC00040AC78888C060D60B34C241208300A1817 +:109FD0000430000000000000B815BC00C7002E408F +:109FE0000EF02ABF00C8C8BFC00B9002E404BF0037 +:109FF0003FC00FB20AAC00F88034490CB90B3F00E7 +:10A00000FBC030F00CF0036E0460000000000000A4 +:10A010008000CC00FB803E412CB013AC00F8003E29 +:10A02000C10FA003E800FA403EC00FB00B6D40F82E +:10A03000103A400FB003EC10FE403EC00FF003E1B9 +:10A0400000300000000000000010EC0CDF003B803E +:10A050000FF00B3C08E70833C00BD023740054000A +:10A0600033C00FF083BE20FD0C3B602CE0033C00AE +:10A07000CF1233500C300380043000000000000089 +:10A0800081046C04AB0022A00BB0060C00AB403680 +:10A09000C00BA8026600B80036C10B3443EE00B214 +:10A0A00000226008B4828C048A21224008B0022079 +:10A0B000401000000000000080052C009B002A20BA +:10A0C0000BB0022C0088C522C00B8882E601BB08B9 +:10A0D00022C00AB282AC60B8024AC408B1022C00A5 +:10A0E000830022C008B002A0004000000000000071 +:10A0F00008040C00AB2020010B32062C00A000202D +:10A10000C0090422C400B20024C18BB0024C00B0CC +:10A110000062C0483002AC10820020C00830020249 +:10A120000100000000000000000D7C08DF2A3A005A +:10A130000FF5123C10C900A3C00F8053EC01DA00E8 +:10A1400033C00EB003AC04F8703AC00C60432C422C +:10A15000CD00B2402CF0038003500000000000004E +:10A16000A019FC00FB013D000FB417FC003C003FB0 +:10A17000C04FC0037408FE003FC04FF003FC08F856 +:10A18000303FC00FF003FC04FC003D000FF003E87B +:10A190000670000000000000C005F490EF003FD8FA +:10A1A0000EF3032C01D48037CC0D89431250EC2CD4 +:10A1B00032050DB0533CD4C5947FA08FF0433000DE +:10A1C000DC0033000C4807F00050000000000000E5 +:10A1D0008010E6408B702FDC08F7020C808A20008C +:10A1E000C84A2202A0008A48225888FD02AD02A96E +:10A1F000201EA00380022C048B0022C04C88076024 +:10A2000004300000000000008805C000232C2CC989 +:10A210000230020C68A0282CD00912028400A02170 +:10A22000201819302280D083060CA00BB006001233 +:10A23000A000200029000EA2017000000000000014 +:10A24000C011A8308B002EC04A300A2C14A0800AFE +:10A25000C108888687008300224908B006A040AB69 +:10A260002022200B800A0C04AB0222C0888002F05E +:10A2700004600000000000004015EF40EB063EC007 +:10A280000EB0032C02F9A03EC00D8C03AA10E940C9 +:10A29000B2480DB043AD00CB862E200F3003240012 +:10A2A000F98032C00D0CC290047000000000000064 +:10A2B000E0019400FF003DC00DF0037C00DF00379B +:10A2C000C00FE003F000FE203F400F7003FE00FFD0 +:10A2D000827F000FC003F904DE20BD000FD90B7C84 +:10A2E00000600000000000004010AC01CB003EC048 +:10A2F0002CB00B2C00E8403EC00F94072900C94049 +:10A30000B2C00FB0030102CB0032044FF04334C09F +:10A31000B51A3FC10F8093D0042000000000000058 +:10A32000C80528008F002FC008F0023C04D8002B7D +:10A33000C00C804560007B5822C80BFA0161408B3D +:10A340000032044BCE0228003A402E070B90022622 +:10A350000040000000000000E0054C0083014CC0FC +:10A360000B3002EC1090002AC00A8006C00483045F +:10A37000A289193006CC00830020900B30C248001F +:10A38000B24024200B0900B800500000000000007B +:10A390002001060487A42DE0093802DE009E8129F1 +:10A3A000E0087852FAC0968001A08B3A22CE408F06 +:10A3B000B025A00B08025608B5902DE44BD8220C0E +:10A3C00000400000000000004808080283802EE8DA +:10A3D0000B3813CE41D31028C00E3A02C6084B40AA +:10A3E00030600D3B27CFC4C3A030000F304348403E +:10A3F000F2003C040F020392020000000000000083 +:10A40000401DB800FF003FC40EF1033C00FF0133C4 +:10A41000C04DB1077C90FF003F4003F1037000FB8B +:10A42000103B000FC00BB400FD003FC40FD00390E1 +:10A430000260000000000000A805EC04FB843AC2A2 +:10A440004CB4932C04E9003AC48D08032E00CB01D0 +:10A4500032808FB283EC00CB8032000FF9033C10C6 +:10A46000DF81B3E08CA003EA007000000000000070 +:10A4700048119408B70424C81A304A1D00B7012DAA +:10A48000C08870061C00820021804B7612DC008799 +:10A490000029408B40021000BC002001287003B24C +:10A4A0000460000000000000C0009A00B3902DE49A +:10A4B0000979021E80A7802CE819F8125E018780B6 +:10A4C00025E04B7806D200978021620B3A021E00ED +:10A4D000B78629F0086806E00020000000000000B0 +:10A4E0004814CFC0B30024C08A30320C00B3082C0B +:10A4F000C00830120E20830024F10B3006CE0083FA +:10A500009028600B002A2180B008280008370292AA +:10A510000430000000000000E815B900FA003E8099 +:10A520004DA0032800EE413E800DE00378008E40F0 +:10A5300027A80BA003FB02CA8233A00FA013290097 +:10A54000FA403A800C6C03FA04600000000000003E +:10A550004800C000F8003A000C8003E008F8003E14 +:10A56000008F8023A042F809BA104F8003E060F802 +:10A57000003E200FC003F000FC0027008F800392F4 +:10A5800000300000000000000810E50089003E4097 +:10A590006E9003A408C9003C400D90032410F9A05C +:10A5A00032420C9013C400C9003E400F9003E440B7 +:10A5B000C9203E52CF900902043000000000000084 +:10A5C0008004660089042E400890022400D9003AD5 +:10A5D00041089005A400B940A2400D9002E54689CB +:10A5E000002E400B9012E500A9C82E618B944220EA +:10A5F000001000000000000018012400A9006C40B9 +:10A600004810228403A9002E40099002E404B108F6 +:10A610002840189802E50089002E400B9002F42093 +:10A620008D002F400B944286004000000000000087 +:10A6300008040480A1242C481812020480A10028D8 +:10A6400048081002840091202048091202C4948115 +:10A65000002C610B5A82D4A0A5282D4A0B900282AF +:10A660000100000000000000B80D6002E8502E1448 +:10A670000E8503A140A8503E140D85018140F8527B +:10A6800032940C8013C142C0513E008F8203E0809F +:10A69000C8203F080F8003AE0350000000000000F8 +:10A6A0009819F450D9113E448F9143E440DD003AAB +:10A6B000444FD027B400FD123F444F9143F440FD76 +:10A6C000003F410F9283E4A0F9283E4A0FD0036671 +:10A6D00006700000000000001811F680E9C03E7806 +:10A6E0008F9B03A780C94036780F1023E504DDA4B3 +:10A6F00033620FDA03F660C91033400E9893E630E8 +:10A70000C9C932788CD00B06007000000000000030 +:10A710003810E00088E22E300B88422340A0A122AE +:10A72000380B8A02E280AAE022300B8023AB028839 +:10A73000A02A000B8C02E30088E023380880020E78 +:10A7400004300000000000000805C500A14428589E +:10A75000431622848181202C58491080C48191485D +:10A760006C4A0B14024484810160400A5286D4A0D2 +:10A770008500A150689006D2017000000000000022 +:10A780001805A60089002E400B90020400A9602243 +:10A79000400B9502E410B1004E400B9066AC8089EE +:10A7A000002A600B9052F40085002140089002C6F8 +:10A7B0000460000000000000A005E620E9003E4023 +:10A7C0000F9003A410C90036400F9401E520D94032 +:10A7D000BA688F9007E600C91032620E9002E41842 +:10A7E000C90032400C9003E8047000000000000033 +:10A7F0002801A400F9043E400B90036400F9003ED8 +:10A80000408F9003E400E90272680F9003E600F9BC +:10A81000013E420F9003C402F9043E404F90031AD8 +:10A82000006000000000000028008002C800320024 +:10A830000C80036000C84036000F8403A000D8508D +:10A84000B2108C8103C120C8003E000FC013F00479 +:10A850004C003F000F80030A0420000000000000AD +:10A8600028152A008A04228128A01228008A01368D +:10A87000800BA0102810CE0123810CA812FB008AA7 +:10A88000013B8083A042E8108A002F800B60420ABF +:10A89000004000000000000028054C008300A0C01C +:10A8A00018B000CC009B0024C00B30066C00A3083D +:10A8B00028C8093002CC438B002C800B3002CC021C +:10A8C00083012CC04B30004A005000000000000003 +:10A8D000A0010C24879421E4183102DC8097102514 +:10A8E000CD0BF2027C00A00028E0187002DC01878A +:10A8F000342940094002D00484042D004BD0226842 +:10A900000040000000000000A8081600CFA070E979 +:10A91000187B03FF4097A035E80F74025E20E480A7 +:10A9200039A02D7803FE00C7803DE05F6843C20078 +:10A93000C4841D600F78036A02000000000000005C +:10A94000080DA4003B002ED80FB4032D8AEB623A09 +:10A95000D00FB2870CD0D80032C04F9043EC00FB30 +:10A96000083E408F9003FC00FF043F800F002B82C5 +:10A9700006600000000000000005F600FFA03EF4A5 +:10A980000EB803EE084BF07FF40CF923EE487890F4 +:10A9900032E40CF903FE00FF803FE41C79032E40F3 +:10A9A000FF8033E02C7807000070000000000000FA +:10A9B000A8119400B3000CE50B3802FE808F806173 +:10A9C000C42878004E00F48425A80C7002CC04B38F +:10A9D0009025400C41835240B410A3000C52036AEE +:10A9E000046000000000000000009400B7216DC862 +:10A9F0004B7002DC42A73129C4087202DC00B72880 +:10AA00002480087006D420B7012DC1086002508050 +:10AA1000B4082162097406800020000000000000D4 +:10AA20002014C704B3002CC00BB002CC00A30260FA +:10AA3000C00838024E44A0C02491083002C000B3C0 +:10AA4000002460081C024C88B3C020A008000A88BB +:10AA50000430000000000000A815AC00FF002FC06B +:10AA60004FF013FC08E78A3FC00CF5C2FE10BBC0D4 +:10AA700032D40C3013E304BF002E6208B9026E001A +:10AA8000FB0132A44D9402AB046000000000000002 +:10AA90008000EC60FB001EC00FB013EC005B003ABE +:10AAA000C00FB041EC007B45BA402EB015E001FB71 +:10AAB000003E500EC003F040FC203F508F900160DC +:10AAC00000300000000000000110F400FF003FC053 +:10AAD0008FF0031C02CF0036C00DF0037C007F2AEC +:10AAE0003F800FF8139021CF003F620CE00330004D +:10AAF000F8003F000FD00380443000000000000049 +:10AB000081046411BB002EC00BB0022C00DB0432A8 +:10AB1000C00EB002EC00BB842E400BB94222428B27 +:10AB2000012C720A90422C00BB002EC28F8806E0D6 +:10AB3000001000000000000080012400BB006EC077 +:10AB400048B0422C008B0026C00AB012EC00BB407B +:10AB50002EC80BB0122C008B002E480A30026C005D +:10AB6000BB002E804B9802E0004000000000000077 +:10AB700008040400B3006CC24B31020C509B20202F +:10AB8000C00A3212CC80B3006C0C0B31020C428331 +:10AB9000082E400A00020080B0002C410B10024237 +:10ABA0000100000000000000000D6400BB403FCC2D +:10ABB0000EF0833DA0CF2037C00CF7C3FD48F30053 +:10ABC0003E880FB413A5008F303E400CA003608078 +:10ABD000F8003E000F9023C003500000000000006A +:10ABE000A019F400FF293FC90FF013FC94EF123BAA +:10ABF000C08EB207FD04FF103F0C0FF003F000FB06 +:10AC0000203D400FD043FC40FF043FC00EC043E84E +:10AC10000670000000000000C005FCA2C7203F2411 +:10AC20000CF0033C80CC0933D10CF123FC20DF363F +:10AC30003FC00E4803FE00FF8037E40D780311A0EB +:10AC4000CF0037C80CF00330017000000000000096 +:10AC50008010FF008FD12E080DB6123D45F96427F4 +:10AC6000D088BA14CC048F4023F00B88022E04BB8A +:10AC700080AEC008B80A210088D0222028B0022067 +:10AC800004200000000000008805CC0093002E0086 +:10AC90000A34828CA0A00824D8093102CC20B33217 +:10ACA00028D04A8002CC0CBB00224089B0026080D0 +:10ACB000930024D00B3002A20130000000000000FD +:10ACC000C011AC009B002E2009B04A2C02A0000647 +:10ACD000C009B000EC00AB002AC00B88026C00BBBE +:10ACE000202AE241B82A600A980026000BB002B878 +:10ACF00004600000000000004015EC08DB023E206C +:10AD00004CB0032C028B2012C029B012EC00FB00C7 +:10AD10003AC00E8803ED20FBC834F00DBA0347603B +:10AD2000C90036400FB00B90047000000000000016 +:10AD3000E0019C00EF000F000F3000FC00DF90BB33 +:10AD4000C0CEF003FC04CB0017C00FC003BC84FFCF +:10AD50000037C00ED063B800EA003A800C300370B0 +:10AD600000600000000000004010AC00FB02320058 +:10AD70000FB0532C00FA0032C08FB0072C00FB003C +:10AD8000B2C00F8007AC80DB247ED00EB0237404E9 +:10AD9000DD08B5400CB003100420000000000000E6 +:10ADA000C8053C00BFC0A0001BF0023F60EA502372 +:10ADB000C008FA07FC00DF0063C04818022D00B38A +:10ADC000006EC00D3A032400828032800DF0033201 +:10ADD0000040000000000000E0054C14B359208042 +:10ADE0000930022E05B0442EC0093482EC00AB04B9 +:10ADF00020C00921B28E0493C024C00A18064C005A +:10AE0000925020C008300270005000000000000086 +:10AE100020011E00B78061E00B780A5E01B1A02D11 +:10AE2000E00A78025E00079021E018C8021E00B711 +:10AE3000802DE08AD8023EC085802120197822002A +:10AE4000004000000000000048080C00F3942010AF +:10AE50004B30070C00F3003EC80F3003CC0023102A +:10AE600000CB0520028C60930A2EC40A01074C8097 +:10AE7000D20130C02C300B5A02000000000000004C +:10AE8000401DBC00FF010F400FF013BC00EF267304 +:10AE9000C20CB083BC40FF183DC04AC103FC00FB9C +:10AEA000123FC44DC10BFC81FD003F200FF003D0C9 +:10AEB0000660000000000000A805EC20CB483E0022 +:10AEC0000CB0032D20E980FAC80DB003EE00DB249E +:10AED00076F38E8033EC44EB103EC00F9003E80411 +:10AEE000DC00B3610CB0032A007000000000000019 +:10AEF00048118D0087202F012870020C848D0431A9 +:10AF0000CCC97202DD00373321D8084002DC00B71B +:10AF1000203DC0095022F000970021800AFC0292D7 +:10AF20000460000000000000C0001E8287B02D20D9 +:10AF30000839021E41A78024E0097A328E8207A0D8 +:10AF400025E08B48021E00A7E12DE04B5800DA00F7 +:10AF5000A0802460087A0230002000000000000079 +:10AF60004814CC0083002C000830028C009300228F +:10AF7000C1093042CC00830060C0081A02CE04B37D +:10AF8000E028A0091C824B08A38024A02A30029A42 +:10AF90000410000000000000E815A800CA002F8877 +:10AFA0000CA0132800EE002E802DA003E800DA008C +:10AFB00076800EE803BB80EE402FA28FE603EB867F +:10AFC000FA8037820C20073A04600000000000007D +:10AFD0004800E000F8401E000F800B6100E8C03A16 +:10AFE000000E8003E001F8007E101E8103E008F8E7 +:10AFF000003E000D8003C028DC503B000F8003D2D0 +:10B0000000300000000000000810C402C9003E42E9 +:10B010000F1003A600C9013A400E9401E410F10498 +:10B0200032400F9A232060F8040A420E9013240045 +:10B03000C10032400F900302043000000000000005 +:10B0400080046708A9006E400890022782890026C4 +:10B0500040089C03A410B90036409B1C1A2304B876 +:10B06000003A400E10022402C9A0A2400B900A2010 +:10B0700000100000000000001805258089042C4005 +:10B08000089002848199402E401A9006E401B9008C +:10B09000A6411B90822100B8102E400A920AA401FA +:10B0A0008F2223400B9002060040000000000000A9 +:10B0B00008040480A3202C4109120204808120246A +:10B0C000480A3602C480B12004C84B14020500B1FE +:10B0D0000528500A90020502850021400B12020249 +:10B0E0000100000000000000B80D6000C8006E14F0 +:10B0F0002C8502A140C8503A140E8002E140B050A5 +:10B1000032000B80032000FA003E000E8003A002F4 +:10B11000C80013000F82032E03500000000000003F +:10B12000981DE448F9143F400C9103E442FD1036A9 +:10B13000440D9123A448F91138440FD003E5143984 +:10B14000427B408ED001F500A9403E50079683E631 +:10B1500006700000000000001801F680DDAE3A50D5 +:10B160000D9A0B7680CF8832702DDA03A701E99211 +:10B1700037680D9403E700EDA03A500FD003E702C3 +:10B18000CD8033680CD883060070000000000000FA +:10B190003810E100884020200C8C02230088E02237 +:10B1A00030088402E300B8E022148D8802E300B87E +:10B1B000502EA88B8022E34888502200088C020E73 +:10B1C00004300000000000000805C44091002A4837 +:10B1D0000914820520810820580911028588B14090 +:10B1E000A040081202C580A10028400B1802C484A8 +:10B1F000A10024500810920301700000000000001C +:10B200001815AC109B002240089002040689042007 +:10B2100040099002E401B902224189A082E0A0B96C +:10B22000282E440BB002E402B90026402810020682 +:10B230000460000000000000A015E400D9003840C0 +:10B240000D90032400C9A0A2408D9003A400F90032 +:10B2500036400C8413E200E9003A500F9C02E68469 +:10B26000E900B6400C9003280470000000000000C4 +:10B270002801A400E1003E680E1003A400F1283A62 +:10B28000400E9003E400F9003E420F8023E200F9F3 +:10B29000003E400F9123E440C1003A400F900BCA9A +:10B2A000006000000000000028108000C80032008C +:10B2B0000C8003A020C8403E000E81636000F004B3 +:10B2C0003C010C8403E000C8003E000E8003C10076 +:10B2D000D81032000C80230A042000000000000077 +:10B2E000280538608E0022800AA0023880BE003A0D +:10B2F0008008E0022800BA00239818EC02F820AE7B +:10B300000022800BE482E802CE4428800DA00A0AC5 +:10B310000040000000000000280540008204A0C09A +:10B320000930028E0483506CC00A30860C00B300D2 +:10B3300028300A3612CC80810024C00B3206CC00A3 +:10B3400080886460281002020050000000000000A5 +:10B35000A0011012844021C80A72021000B7002D0B +:10B36000CC0838121C00B3302000087182FE00A403 +:10B370008021C80B7002DC0187002C420951022099 +:10B380000040000000000000A8081200C28031F850 +:10B390004CFC139209C7803CED1E78271E00F78CE9 +:10B3A0007920087A03DE8184803DE00E7803FE2058 +:10B3B000C58135602C58032A0200000000000000FF +:10B3C000081D8000F8043ED00FB013E000FB023AE5 +:10B3D000D00FA00BAC40FB003A002FB003CC00F024 +:10B3E000003AC40FB003FC41F3003A400F5093C23F +:10B3F00006600000000000000005F600CC813FFC64 +:10B400001CF8037640EF923FE48CF803BF10FF80F6 +:10B41000B3200EF913FE24FD9437E01CF903EE006F +:10B42000CD80B3E00C580200007000000000000066 +:10B43000A811944080002FC4087202DD08D7002DA7 +:10B44000CC08DE035C00B7042180C87083DC00B444 +:10B45000A02FC00C7002DE80870021C20A51422A50 +:10B4600004600000000000000000900084002DC86F +:10B47000487002540CA7002CC08972025C00B31003 +:10B4800020000A7006DC00B4202DC0087002DC80A9 +:10B49000930020C0085002000020000000000000BF +:10B4A0002014C00080002EC0083002C408A2422C24 +:10B4B000C10920024C00B3002080083C228C20B03F +:10B4C000082EE0083810CF0A9340A0F00A100208B6 +:10B4D0000430000000000000A815A800C1003FC013 +:10B4E0002CF0036800AA003FC02D80037C00FF0001 +:10B4F00032000EB012ED24FA0827C810B8A2FF607F +:10B5000098A0A2E00C50032A046000000000000094 +:10B510008000C906F8413EC00FB003E9105A203E32 +:10B52000C00E8003EC00F3007E010FB093ED00F835 +:10B53000403EC00EB003FC00E3083CC20FD013E055 +:10B5400000300000000000000110F302CC003BC2FC +:10B550000CF023AE40DF8139C006D003FC00FF04AD +:10B5600031410CF003FC00CCA037C20CF0037C048A +:10B57000CD0033F00CD00308443000000000000080 +:10B5800081046000888022C00AB002E900AB442E2A +:10B59000C0088802EC00BB00A2700AB402CC00A074 +:10B5A0002022C00FBC02CC0A8B80A2C00D900220CA +:10B5B00040100000000000008005200089802AC0A3 +:10B5C00008B002CC0688602EC00A9806EC01BB00C9 +:10B5D000223102B202ECA08A0026C048A802EC0484 +:10B5E000A9802240089002200040000000000000D6 +:10B5F00008040000800020C00A3042CC0080012CEA +:10B60000C01A1202CC00B30020004A3002CC00A0C5 +:10B610000008C00B2006ECA0A300A04029100002E7 +:10B620000100000000000000000D6000C8503BC099 +:10B630000CB003AC00C9003BC00E9283FC00BF00FD +:10B6400012000CB003EC00882616C00C80175C803A +:10B65000E90132402CD0030003500000000000003C +:10B66000A01DD000FC203FC00FF003FC00FC003FF9 +:10B67000C00D8003FC08FF003F000FF003FC10F832 +:10B680004037C00EE021FC08DF003F400FD003E050 +:10B690000670000000000000C005FCC0FF217124FE +:10B6A0000FF183F240FF0037C49FF2473D04C720EB +:10B6B00033C00C7823FE40E81027C40FF2133C84FB +:10B6C000C48133204CF023700070000000000000A3 +:10B6D0008010ED40BF5462C80BF602E000BBD022E0 +:10B6E000F01FF9123D809F812BE00AB812E8008F0D +:10B6F0000422D008B38ABF428B8222E0288C022029 +:10B7000004300000000000008805CC00B3282808A1 +:10B710000B30068080B30224D10B30028D80931051 +:10B7200020CE8B3002CC84A1212CCC0A300A4C00D4 +:10B73000930028C0083C02220170000000000000B5 +:10B74000C015AC10BB026AE00BB002E108BB042AD2 +:10B75000C00AB0128C009B002AC00BB106C8808BB7 +:10B76000826AC10A3002AC1888102A480880023068 +:10B7700004600000000000004015EC00FB00AA304F +:10B780000FB003A800F301B6C10BB002AC084B0028 +:10B79000B2C00FB802EC10A9813EC00FB0030C007C +:10B7A000CBA018D00CB00310047000000000000003 +:10B7B000E001BC08F70037000FF003FD00FF003781 +:10B7C000C00FB0077C00E7003EC00AF003FE00F7A0 +:10B7D0000036C00CF003FC00FF8037E00FA003B878 +:10B7E00000600000000000004010AC00DB003600EC +:10B7F0000EB0036900DB093AC01F3023EC08CB20F0 +:10B8000034C02FB003EC40EB483EC44DB08B6C000D +:10B81000CB0032900F3003900420000000000000A5 +:10B82000C8053C008F00220048F0222C008F002326 +:10B83000E08BF5103C008F8023F08098032D44DBD3 +:10B840000023D408F8023C00830022C00BA48232FB +:10B850000040000000000000E0054C0093002400C0 +:10B860000B30028400B30128F60934328C01B3D0C6 +:10B8700024E80A310A860083002AE00030028C00A6 +:10B88000830028C08938A278005000000000000022 +:10B8900020011E00979423E0093802320097A1216D +:10B8A000E40B78021E40B7A025EC08FC023A009396 +:10B8B000B821E00878829E4087C029A00B58024832 +:10B8C000004000000000000048082C00DB0034208D +:10B8D0000F3A038E00F3B028C40B3A03AE40F3A036 +:10B8E00034EE0F30238400E3F038C00CB00B8E42EE +:10B8F000C30038C00F3063D2020000000000000017 +:10B90000401DBC00EB423AC41EB10788D1E3003FA2 +:10B91000C58FF163AC10CB503BC30FD103C800BB44 +:10B92000203BC02EF1031C00FF0037C04FD1039015 +:10B930000660000000000000A805EC40FB44B2C017 +:10B940004FB3432400DB1036C04CBE226D20CB50D9 +:10B950003EC94CB0132400CF2033C03DF0232CC08F +:10B96000D8003E408F30032A007000000000000025 +:10B9700048119C04B76021C18BF0A2141087000FFE +:10B98000C80D710A1D0087002CCC48702A9C0087C6 +:10B990000C21C00C72020CA287002DC00B70021289 +:10B9A0000460000000000000C0009E00B38021E0A1 +:10B9B0000B7A02DE00B78105E40879025C8087A07B +:10B9C0002DE008F806B600878020E40A7B121E905E +:10B9D00097882DE00B780E3000200000000000005A +:10B9E0004814CC00B30020D00BB0026E34A3002C5E +:10B9F000C10930024C0083002CC04810028D8083A6 +:10BA0000C000C08A30120C0080002C160B380212C5 +:10BA10000430000000000000E815A800FA00338898 +:10BA20000FA0037990FA0136801CA0036800CA00B9 +:10BA30003E812CA00BB90CCEE2B2808EA00B280068 +:10BA4000DA803CB00FE0833A0460000000000000A0 +:10BA50004800E000F0003E000F8003A000C8002E68 +:10BA6000000F8423A000F0403E100F8403E102F891 +:10BA7000483E100C8003C010F8803E000F0003D237 +:10BA800000300000000000000810E400D900364239 +:10BA90000F90032418F9103C48689213E400A91190 +:10BAA000B2600E91032600C90032600C1003240816 +:10BAB000C9003E400C90230204300000000000004A +:10BAC00080046400890022400B9002A40889002EA3 +:10BAD00042489402E40089802270081422A402895A +:10BAE000422A7028900A2400A9002E40289002A023 +:10BAF000001000000000000018050400990026C096 +:10BB00000390022401A9000E400A9046C40A89004D +:10BB100020480A900205808141A05888900224089C +:10BB20008D802FC008980206004000000000000031 +:10BB300008040480812020400B1202840081242C00 +:10BB4000580A3222C584A100205008B0028508811D +:10BB500040205A0816820400A5002D400812828257 +:10BB60000100000000000000B80D6140D8503614FC +:10BB70000F85230140E8003E000E8043C008CA0044 +:10BB800032800E80032000C00032082C02032008FF +:10BB9000C8003F000C82032E03500000000000008C +:10BBA000981DE440F9103F400F9143F404F9103E12 +:10BBB000440D1103E44459403E504F5043D402FD1C +:10BBC000403E400F900BE500F9003E404FD003E6A9 +:10BBD000067000000000000018056660C9E03244ED +:10BBE0000F9C03E400DD843F688FD842E6A0DDA40B +:10BBF00033680D70032500C9E0B2680C9AC32600B3 +:10BC000099003E400F9A03060070000000000000FB +:10BC10003810E3008880AA208B8802E288B8012EC1 +:10BC2000000B8402E2B088502214088002828088CF +:10BC3000E0B63A08CEA2210888002E000BC4020EFE +:10BC400004300000000000000805C48081606848DE +:10BC50005B1602C420A1406C500B1402C400A1006A +:10BC600024400B90221490854221505B501A1500FD +:10BC700095002D400B510A82017000000000000069 +:10BC80001815A40189002A400B9046E400B9012E42 +:10BC9000400B9020E400B900264018B802A4028DA1 +:10BCA000082F408BD00224008D202F480BD0028615 +:10BCB0000460000000000000A015E400C90032404C +:10BCC0000F9002E41049003E400F9002E400E901A9 +:10BCD00036400F18132410C98232407F902324006D +:10BCE000D9203E720F9003A80470000000000000ED +:10BCF00028018402F10116404F9003E510F9082E47 +:10BD0000400F9013E400C9013A401F9003E400F98A +:10BD10002034408C9003C408F9003E600F10034AA1 +:10BD200000600000000000002810A008F8003E009D +:10BD30000C80036000E8003E024F8013E000D0005A +:10BD40003E000E81033000CC4033000CC00B20209D +:10BD5000E8003E100FC003CA0420000000000000ED +:10BD600028052804BA00228008A0022800BEC86F57 +:10BD7000800BE122A8008E202F800BE02368008A30 +:10BD800000228008E00229008A002EA80BA000CA29 +:10BD9000004000000000000028054C00B30024C053 +:10BDA0000930020C00B3C12CE00B38562C101300E4 +:10BDB0002EC00A386A2000880020000980224C42E8 +:10BDC000A3002CE00B2480CA0050000000000000FB +:10BDD000A0011C08B7242FE00939021C01B6002D70 +:10BDE000900B60928E0086822DC20BF0025C06875B +:10BDF0000060C02970025C0086002DC00B6002E864 +:10BE00000040000000000000A8081F40F3E43DE8E7 +:10BE10000D790B1EC067802DE00F70431D80D5008B +:10BE20003D600E78031E00CD8031E00DC8034E004A +:10BE3000E5803DE00F4803EA02000000000000003A +:10BE4000081DAC80FB0070C06EB613AD40FA003E1A +:10BE5000C00F20432D1859003E0003B00BE000FA3C +:10BE600000BE000EB013AC00F8003EC00F8003C24D +:10BE700006600000000000000005FE40FF803FE675 +:10BE80000FF8232E04FF903FE40DBA03FF40CF804C +:10BE900022E10C39433210EC9033208EC803F200BB +:10BEA000DF803F600FF803C000700000000000005A +:10BEB000A8119C40B7903CE00B3A034E80F3B12DA3 +:10BEC000044C3823AE00808034E84D78023E8087F1 +:10BED000A029C0087002C08086022D410B7002EAC2 +:10BEE000046000000000000000009C4837012DC9DC +:10BEF0000B72221C84B5160DC4194042DC808700E9 +:10BF000020C888730A9C80B50029C00A4802C00274 +:10BF100095002D420B5802C00020000000000000D8 +:10BF20002014CC00B3002AE00B30024C20A10124E5 +:10BF3000C10800028C008100248009380A608092C8 +:10BF4000402A000A3002C00080C82C720B1402C8BC +:10BF50000430000000000000A815BC00FF002FF412 +:10BF60008FF0033C00B9003E40099003FC02C3017E +:10BF700032C048B813A100BA002A000AA007EC009A +:10BF8000DBC83E900FA202EA04600000000000003F +:10BF90008000EC00FB023EC40FB063EC01F8403EB1 +:10BFA000400B8003CC00FA423EC00FB500AC58E90C +:10BFB000823EC01D9003EC04FA003E800FA003E017 +:10BFC00000300000000000000110FC0CDF007FC00A +:10BFD0002CF0037C01C70033408FD003FC00D80055 +:10BFE00015440CE01B3C00CB0E33C05C62021C020B +:10BFF000C5002B800FC08780443000000000000087 +:10C0000081446C10BB002EC008B0520C01FAC4224F +:10C01000610B88036C0088472A000E1C02200288EE +:10C0200000AA0028900A2C04A80022900B8002E0AD +:10C03000401000000000000080012C00BB002EC159 +:10C040000830126C0088882A300BB802EC009B087C +:10C050002A4008B80220008210220008A022A00076 +:10C060008B002A020BB002E000400000000000003C +:10C0700008000C00B3202CC20836022CC0A00820F7 +:10C08000000B3346CD28802028C00B32020C2081C3 +:10C090003028C00810028100AA002800033002C224 +:10C0A0000100000000000000000C7C00FB282ECCEA +:10C0B0000C70537D098800BA000F8003FD80DA60A0 +:10C0C0003A508CA2832C804B2030C028A003A100C2 +:10C0D000C9003A000F9003C00310000000000000E8 +:10C0E000A01DFC04FB007EC90BB603FCC0F80C3F8E +:10C0F000004FC3432C00B8383F8E5EF043E010F889 +:10C10000303F010FD0037000FC0037000DD007E96D +:10C110000360000000000000C005FCE0CC8033C0DC +:10C120000DF083FC80DC9433C01CF1037D8CFF3068 +:10C130003F308FC8037E10CF9039A08DF803AE003A +:10C14000D58013E00C5803F00160000000000000EF +:10C150008010DD08880023C408FC02ECA8CB202155 +:10C16000C20DF7121C40DF3022A00B88022E04DB28 +:10C170002122C008B8222E00B9802A600A8802E075 +:10C1800004300000000000008845CC10802C28CA34 +:10C190006830028D009B2028C4083202CC10B30006 +:10C1A00024080B80426C0083002ACA3AB0028C0437 +:10C1B000B00428C0081002E30130000000000000B5 +:10C1C000C0158C028040AAC008B002EC009B202A57 +:10C1D000C088B002AC009B0026E00380822C289B24 +:10C1E0002022E10BB202AC80B8802AC10A9802F08A +:10C1F00004600000000000004015EC00C8503AC088 +:10C200000DB003EC00DB88BAC008B0036C08FB007B +:10C2100036600F8C636C00CBC03A800EBE03AF84D7 +:10C2200079803A88049801D0047000000000000072 +:10C23000E001BC00FC8035C04FF003DC00EF0037AC +:10C24000C0AFF0031C016F0013000FC123FCB8FF47 +:10C250000437C00CF8437E04FD003F040FD003F800 +:10C2600000600000000000004010AC00C8403AC070 +:10C270000CB003EC00FB4038C10EB0432C08C300E7 +:10C280003E400E82036D00DB4032C15FB4A3ED205F +:10C29000C94032E08F984390042000000000000065 +:10C2A000C8053C00880023C028F5C2FC00B3042365 +:10C2B000C148F022BC06AF000E40080002CD00BB12 +:10C2C0000120C0083002EE0081E034A00B90023261 +:10C2D0000040000000000000E0054C02800028C083 +:10C2E000093C024C00B3002CC00AB0020C008301D0 +:10C2F0002C000A0502CD58BB0020000A3D02CF40A9 +:10C30000212060C0091002F8005000000000000069 +:10C3100020011E00848028E4887842DE00B7906502 +:10C32000E4887A429E40A7902DA00A4822DE04B7F6 +:10C33000802360487842FE80AF9065E00BE802C839 +:10C34000004000000000000048080C00C80038C091 +:10C350000C3003CC00FB003CC00EBA030C00C30041 +:10C360003E004E2202CCC0FB4030C00A3003CE80DB +:10C37000E14130C90F3003D202000000000000008C +:10C38000401DBC20FC0037C20EF123EC40FF043AF4 +:10C39000C00FB023FC00FF043EC00DA003FC58FFFB +:10C3A00000BFC006F083DC62DF003FC00FF0031067 +:10C3B0000660000000000000A805ED80C9013EC035 +:10C3C0008CB207AE04CB803AC84CB2032C84CB307D +:10C3D000B0E00D880B2C00EB0030000CBC832D80EE +:10C3E000FB0032C00C9003EA047000000000000063 +:10C3F00048119C4087002CCC0876823C8287002123 +:10C40000C28D32820D4CA72821800840021D80BFBA +:10C410002035400972435CA0B70029C0087002D2E1 +:10C420000460000000000000C0008E0084802DE049 +:10C43000087802DEC08F8028EC287B0A9E948384D3 +:10C4400023E00958509E10A7B023E00B78021E206D +:10C45000B78021E0097802F0002000000000000011 +:10C460004814CC02821C2CC02830024C0083C0200F +:10C47000C00830020C00A30060D2081D020F20BBD0 +:10C480002424C00B3C024F00B38028D8093202D2CA +:10C490000430000000000000E811A800CE843E80B7 +:10C4A0000CA003E800CEC03A8008A003A800CA0090 +:10C4B00033800DEC033B80EE8233800AC08710404E +:10C4C000F6C03390AD6403FA006000000000000085 +:10C4D0004800C002F8003C001F0403A004F8303EEE +:10C4E000000F8003E000F8003E040F8093E000F8A6 +:10C4F000103E002C8403E000F8183E100E8003D29A +:10C5000000300000000000000810E400D9003E40A8 +:10C510000E9003A410F9003E400490032400410053 +:10C520003E400F9113E108F8003240088983A200D1 +:10C53000C98032400C900B02003000000000000067 +:10C540008004640289002E400D90022400B9002E60 +:10C5500040489002A400890022408B9442E220B817 +:10C5600000A240089402E504A990346008900220DB +:10C5700000100000000000001805241099002E4053 +:10C580000A9002E400B90024400A10020400A90045 +:10C590002A400B9082E001B80020403A9002A44467 +:10C5A0008904226208980206004000000000000092 +:10C5B0000804048A81002C480932064480B1002C0A +:10C5C000480A12028480A12020500B1402C500B139 +:10C5D0004020500A2402C900A3002440081102028E +:10C5E0000100000000000000B80D6140D8503E146A +:10C5F0000E8003E140F85136142E85432142E85065 +:10C600003A000F8012E000F80032001E8043A000C4 +:10C61000C80132000C80032E03500000000000000F +:10C62000981DE440FD003E444E1103A440B5003E79 +:10C63000440D9103E440D9103F400F5003E500F949 +:10C64000403F400D4403F100F5023DC02FD203E608 +:10C6500006700000000000001805E700E9003660E1 +:10C660000DDA03E640F9403E680C9A03662089A083 +:10C6700033400E9007A600F9803E500CCA03F380A9 +:10C68000C50233400CC003C600700000000000006B +:10C690003810E30488A22038088002E340B0802EDE +:10C6A00028088A82238088802200DB88026204B8FE +:10C6B000B02EA8888EA2EA8088002A002888038EDF +:10C6C00004300000000000000805C582A9082C52B3 +:10C6D0000B1402C480B1210C5288140244209169C9 +:10C6E00020400A1082C6E0B10C2C48080102E193F8 +:10C6F000A10124410A1002C20170000000000000E4 +:10C700001815A40089042240089000E40039020EA4 +:10C71000400810622400910062408B8002E054B90E +:10C720000C2E4009B652EC00A9002A400A928086DD +:10C730000460000000000000A011E400E160364049 +:10C740000D9023E400F9303E402C90436406C9006C +:10C7500032490E8D93E000F9002E402C9403C7401F +:10C76000E92030550E9003E804700000000000003E +:10C770002801A400F9001E400F9003E400F9803C5A +:10C78000404F9003E400E904BE400F88336200F993 +:10C79000C23E482E8833E200D9003E600D8003CAB5 +:10C7A00000600000000000002810A000C8003E004B +:10C7B0000D8003A004E840BA000C8003E004C80028 +:10C7C0003A000E8C03E000F80232000E8003612074 +:10C7D000F80032160F8003CA042000000000000099 +:10C7E000280528008A002E8008E20328008A0022FB +:10C7F0008008A002E8048A002EA209E802FA04BE1A +:10C8000000A28008CD823320B6C037A04BC882CAB0 +:10C81000004000000000000028056C00830026C0D6 +:10C820000938024C00B30024C0083002EC00830039 +:10C8300028E00B3002CE81B30062C0083C024F00FA +:10C84000B3A020B0033002CA005000000000000076 +:10C85000A0010C4187342DC00860029E40B7A02D76 +:10C86000C0087302DC0087202DC00B7082DD85BFFD +:10C870008163C8887B021C00B74065001B7202E818 +:10C880000040000000000000A8081E00C7813DE035 +:10C89000DD7003FE80F7903FE02C7903FE80C7A097 +:10C8A00039E00F7A02DE84F7C231F20C79035E04BC +:10C8B000F78431600F7E03EA0200000000000000F0 +:10C8C000081DAD0AFB607ED40F30036C00CB003234 +:10C8D000DE2FB203ED421B603EC10DB103EC50F7F9 +:10C8E000803DD82E3203EC30FB003E400FB003C237 +:10C8F00006600000000000000005FF00CBD03FF004 +:10C900004CF813FE00CF883FE00CF8433F00CFC83F +:10C9100033E00CF803FE00FF803FE02CF803BE205C +:10C92000C78033E00CF80100007000000000000038 +:10C93000A801BC4087903DC0084002DC80D7002D94 +:10C94000C00C30037C00871021C41E7020DC44B76B +:10C950000039C00C71021C40D70229400870022A1D +:10C96000046000000000000000009C0087322DC021 +:10C97000087002DC0187002CC02B700A5C00830069 +:10C9800023C0087002DD00B7002DC40BF0029C200C +:10C990008718294008708200002000000000000075 +:10C9A0002014CC00830228C0081002CC0883402E3B +:10C9B000C02A30020C008B0020F20A3002CE00B3F5 +:10C9C000882AD00A30060C0092002878083C4208D9 +:10C9D0000430000000000000A815BC02C7002FC0F2 +:10C9E0002C9002FC028FD83FC04BF0027C02CF009B +:10C9F00020F208B013EE80FF003FD42EBD83AC00C0 +:10CA0000CB803AA0ACB8032A04600000000000000C +:10CA10008000EC00FB103EC00F8403EC10FB003ED6 +:10CA2000C001B003EC00FB00BEC00EB023EC08FB5D +:10CA3000103FC00DB403ED04F9001E14CFB083E025 +:10CA400000300000000000000110FC00CF0030C0EA +:10CA50000C4003AC00FF003FC02CB003BC00FF0043 +:10CA6000B3E00DFA037E80CF0033C00CFC43FF20FF +:10CA7000FF003F4008F803C0443000000000000001 +:10CA800081046C10AB002AC00A8E422C04BB002E1D +:10CA9000C008B0026C00BB003AC00E30020D088323 +:10CAA0000222C00ABC02EF00BBC02C680AB902E037 +:10CAB000401000000000000080050C008B0022C028 +:10CAC00008B802AC00BB022EC008B002EC00BB00EC +:10CAD000264819B0026D008B0022C00AB002EC0497 +:10CAE000BB1C2E200AB002E0004000000000000045 +:10CAF00008140C00AB2028C00A00020C0093042C80 +:10CB0000C10830024C00B300244109B8020C028372 +:10CB100001A0C00A3002CC1093002C000A3002C2DF +:10CB2000010000000000000000057C00CF2833C099 +:10CB30000CA046AC11BF003FC05CF043FC00FF04FA +:10CB400032400DB0036C08CB0431C00CB033ED4063 +:10CB5000FB043E400EB003C0035000000000000084 +:10CB6000A015FC00FF003FC00FC023FC01FF003FE9 +:10CB7000C04FF0877C00FF0039400EF003FC00FF3F +:10CB8000003FC00F7003DC80FF003D400F7003E8E2 +:10CB90000670000000000000C005FC40EB483EC2EB +:10CBA0000E0903BC60C02035240ED2132C60FB6A32 +:10CBB00033C00FCA032220C08037C00DF0037C00B1 +:10CBC000EF0033240FC803300070000000000000A5 +:10CBD0008010DD008F602FD808A202FD80C870226F +:10CBE000002CFD07DC84BF6023D20BBD022300882C +:10CBF00080A22088B0223400BB5022C80BB0022093 +:10CC000004300000000000008805CC40A3032CC2C3 +:10CC10000A00428C82A30A24800B3002CC90B3001D +:10CC200028D80B10028C02900020C00B10424C0040 +:10CC3000B30424C00B300EA20170000000000000FD +:10CC4000C015AC109B042CC0F89806EC00AB8026F5 +:10CC50002008902AAC10BB000AC01BB022AD00987F +:10CC6000402A704BB0022C00B300A6861BB082B0E5 +:10CC700004600000000000004015EC00EB003EC026 +:10CC80008E9803AC08E8C036304FB042EC00F98013 +:10CC90003AC08F88422010C81030F00F30136C104B +:10CCA000EB0036F00FBD03900470000000000000A0 +:10CCB000E001BC00EF047FC00FF043DC00C4003B88 +:10CCC000408BDC037C10F99036C24FF9236241ACF3 +:10CCD00001134004B003E400FF003BC00FC0037821 +:10CCE000006000000000000040108C12CB00F2C079 +:10CCF0000F8003AC08D9003A800F1203AC00E100AA +:10CD000032C00C9003ED02C8403ED00F90132C02AD +:10CD1000DB003E500CB403100420000000000000B3 +:10CD2000C8053C008F0017C00890023C088D002207 +:10CD30005408B4033C00890023C0403502CC248051 +:10CD40000022744CB0022C008F002ED40AB00A329C +:10CD50000040000000000000E0014C02830024C0FD +:10CD60000900028C0190006A410A30204E10310205 +:10CD70002CC0092006CE00800060E00A30820C083A +:10CD800083082CD009B00278005000000000000099 +:10CD900020011E0487B020EC09E9028E589DB02BBB +:10CDA000A5405B06DE4095942DE4197B06DE0084E9 +:10CDB0008060E00A780A161087802D680B79024897 +:10CDC000004000000000000048080C00CBA024E058 +:10CDD0000F2A038E00D2D038FA0F18C3CE2431B0F8 +:10CDE0003CE50C3B17CE04C08238C29E10030C00F9 +:10CDF000C3013EC00D81035202000000000000008C +:10CE0000401DBC00EF103EC20EB1232CC1AB013659 +:10CE1000800FB0232D90E98472C862F117FC00FCEA +:10CE2000003BC41DF003EC00EF083FC80EF1039077 +:10CE30000660000000000000A805EC80FBA43AC8D2 +:10CE40000E90032C04CA0030602D1A276C84CB602E +:10CE500032D20CA0132D84CB023EC00DB803AC809F +:10CE6000CB8132800CB003AA0070000000000000EB +:10CE700048119CA4B72873C208F0023CC08F00314F +:10CE8000C00970829C80870C20D80970221C3084D5 +:10CE9000003DC0087002142487A021C0087012123F +:10CEA0000460000000000000C0009E40B39529E926 +:10CEB0000A68029ED086F0A3E00878129E44A382FE +:10CEC00021E80B38020E1087802FE00B18028E022B +:10CED000870021E0087802300020000000000000F8 +:10CEE0004814CC00B30024C04830020C04838020D6 +:10CEF000D00910028C06A38020C00B30020C0280E7 +:10CF00004028D20A30020C018300223C088702121A +:10CF10000430000000000000E815A818FA003A806C +:10CF20008EE4422802CE8033804DA083E800EAA040 +:10CF3000B2800AA00A2800CE182F800FA013A800E4 +:10CF4000CA0032902CAC0B3A0460000000000000D4 +:10CF50004800E000F8043A000F8083C008E8033A74 +:10CF6000000E8022C000D0007E10A48003C000F814 +:10CF7000003E100D8403C000F800BE000F80015277 +:10CF800000300000000000000810C402C900364054 +:10CF90000C90036402890432420D9203E642C900F8 +:10CFA00032700E120B2408C9003E450E9903E402AC +:10CFB000C10032500494030204300000000000005D +:10CFC0008004640089006E400890022400890022D9 +:10CFD000540B9003E6008900224008900A2400893F +:10CFE000003848089082E404D900224008900220CA +:10CFF00000100000000000001805240089012C40EA +:10D000002810426400A1042250019042E4008904E7 +:10D0100020420A9042340089006E400A9000E400E9 +:10D02000890023400AD002060040000000000000F2 +:10D030000804048081242C480810020480A12028C0 +:10D04000400B100285808120204808506214028124 +:10D05000032E40881682C4A0912821402A50020243 +:10D060000100000000000000B80D6140C8502E14FF +:10D070000C85036140E850B2154D8002C000485055 +:10D08000B2151A80133008C8003E000E8203E080FB +:10D09000C02030000E400B2E0350000000000000A6 +:10D0A000981DE440F9103E440FD003E448DD1037EA +:10D0B000400FD407E440FD103E450F9403E508FD02 +:10D0C0000239D00FD043F4A0F9283E4B0D9283E6ED +:10D0D00006700000000000001805E680C9A632684E +:10D0E0000C9003A681E9E93B400E58033620C9A005 +:10D0F00037780DDA033626C50037690EDE03A682BF +:10D10000CDC033500FD003060070000000000000B7 +:10D110003810E3A488A9223A08080022A0B8E53014 +:10D120002028802243A008E82A3D08A46220008825 +:10D13000002E10088E0323A088A020280B8A820EC0 +:10D1400004300000000000000805C4409140204465 +:10D150000890A28510A1202C420B14128C01911072 +:10D160002C4809110AC40081002C500B1112C50172 +:10D17000B14024480B180E020170000000000000AE +:10D180001815A400910022410894422400B14020C7 +:10D190004049B262240099000A40089002E5808963 +:10D1A000002E4009B0022480B90026504B900206A0 +:10D1B0000460000000000000A015E402D900B240A5 +:10D1C0002C9513A410E900BE608F900BA410590099 +:10D1D0001E409D9423E402890034400F9003E6082A +:10D1E0007900B64007980328047000000000000092 +:10D1F00028018400E9023C402F9802E400F9423AF9 +:10D20000680A1003E410E9003E400E900F2600F972 +:10D21000043E400E1C03E600C1003A500F9983CA39 +:10D2200000600000000000002810A000E8003A00A4 +:10D230000C84032000D84232040C8813E000C8009C +:10D2400030000C040B0000D80036000E80230000D4 +:10D25000C88032000C80010A042000000000000099 +:10D26000280528108A002E8028202228008A0023E2 +:10D27000B088E0022810DA00A3B408E81028008E75 +:10D280002023A048ED1A2800DE0023900AE0020ABD +:10D29000004000000000000028054C00A30028C04A +:10D2A00008300A0C00930020C22A3022A400BB00E0 +:10D2B00008E018090A4C00930224E80208064C0012 +:10D2C000930020D80A90024A00500000000000009D +:10D2D000A0011C8087042DC00870020E0087102555 +:10D2E000000A60025E009700298208501254008FE5 +:10D2F0008061D00804025C01B708A9A00A508268C6 +:10D300000040000000000000A8083E80E78038E4EC +:10D31000087E031F00DF80B1211E7803DC04F38048 +:10D320005BE10828035E00D78035600E68034E007D +:10D33000DF8031E00EF80B6A020000000000000000 +:10D34000081DAD02FB743ED04FB283ED007B683AFE +:10D35000008D8003A420DB0136806FB0418400EB98 +:10D36000003CC00FE683BC40DB00B6800FB00382F8 +:10D3700006600000000000000005FF20DFC03BE663 +:10D380000EF813FF44C7823BE00FF903BE10CFC86D +:10D3900033608DEB033E00DB823FE00CD8033E4060 +:10D3A000CE8033E40FF8030000700000000000009E +:10D3B000A811BC40870021E40B78A2CE90C7B02012 +:10D3C000E80B2892B68887A020640B3503140087E9 +:10D3D000B239C02CC0035E02CF0031CE0B76122AC8 +:10D3E000046000000000000000009C00A31029C899 +:10D3F0000B7402DC808F0029CC0A30061480871061 +:10D4000021C00B66025C0087002DC00B51021C80FE +:10D41000960021C05B748200002000000000000024 +:10D420002014CC08A30020C00BB802CC008B40A86D +:10D43000C08B08228C02830060C00B304204008342 +:10D440004028FC8A00026E008300A0D08B380208BE +:10D450000430000000000000A811BC02EF003BC037 +:10D460004FF802FC02CF0038120E98022C00CF00B9 +:10D4700032C0099003640281C03ED00F90073C0384 +:10D48000D90032600F88032A046000000000000009 +:10D490008000CC00DB003EC08FB003EC00FB023606 +:10D4A000C04F9002E400FB00BE900F9C13EC00E91B +:10D4B000183AD004D503EC40E9003A008F8003E02D +:10D4C00000300000000000000110FC00CF003DC152 +:10D4D0008CF0032C00EF0AB3122C7023140A4F00B7 +:10D4E00035600DB0030400CD8007E80CC4032C00A8 +:10D4F000CD0031E22CE003004430000000000000C9 +:10D5000081046C02AB022EC00EB0022C008B0032E4 +:10D5100030009C036C008B04223608344A2C0889A6 +:10D520009020B80F8400AC02890036A008A4022025 +:10D53000401000000000000080052C008B002EC071 +:10D5400008B0020C008B0022D10888122600A3002C +:10D5500026400BB00226008B0026C05810122C0467 +:10D5600082802A49083002200040000000000000AC +:10D5700008040C00A3142CC81A348A0C848340229B +:10D58000C80803624CC0A36020400A30020C008B24 +:10D590004508C00B10028CA08300264008300A0208 +:10D5A0000100000000000000000D7C00CF402FD2E1 +:10D5B0008CF6033C22CF4032D64CA6C13DA0874812 +:10D5C000360D0FB1022442CB6016C00CD0032C8064 +:10D5D000CA0032C00C3003000350000000000000FD +:10D5E000A019FC00FF203ECA0EB003EC20DB343A49 +:10D5F000C80F8003E410DB213E180DF203FC80FF0E +:10D600003035C00FC013EC00FF003BC00FF003E843 +:10D610000670000000000000C011FC00FB0B2FCAC8 +:10D620008DF203FA0096803BC40DF1037C80EC8000 +:10D630003B080CC2037402CC803F480EF00330A0BC +:10D64000D5803F400CF803F000700000000000009F +:10D650008008EE40BF802FF00BF722EE208A802357 +:10D66000FC8875123D00880022002880022408886A +:10D67000006F5000F502290089002E540D9011A072 +:10D6800004100000000000008805CC00B3002CC18D +:10D69000093082CC82BB0028C0493202CD00B800DC +:10D6A0002C500901020C4080006C4409300220001B +:10D6B000B0002C40183006E20170000000000000AD +:10D6C000C001AC00BB012EC00BB002EE00AA004AA4 +:10D6D000C008B052EC00980226400980026C01AAF2 +:10D6E000042E4009B0022200A9802E41099002F0C8 +:10D6F00004600000000000004005EC00FB003EC09C +:10D700000DB003CE84FA001AC08DB043EC00F002D5 +:10D710003F000DD1033500CB482E402FB0092280A9 +:10D72000F9C81EE008B1E2D004700000000000005B +:10D73000E001BC007B003FC00FF023FC00DE0024B2 +:10D74000C04FF0032C00EC203B000E98039402DD48 +:10D75000003F404EF001F800DD003CE40FD803B874 +:10D7600000600000000000004000ACC0FB2032C898 +:10D770008DB003EC00F9003AC22C30036C04D802DF +:10D780003C448D1003AD03EA003C400C7023E400E0 +:10D79000C8403AC00DBC0350042000000000000047 +:10D7A000C8013D00BF4223F00DF002E500E2013761 +:10D7B000F108F00E3DC0A8002E542890022C008ADB +:10D7C000053B4148F5038C00890022D40E9502F2F6 +:10D7D0000040000000000000E0054C00B30420C041 +:10D7E000893002CC40B2002CC44830022C02A20086 +:10D7F0002C2019201A8008B0006C40083002C400A8 +:10D8000081002C40083002F80050000000000000A9 +:10D8100020011E00B7A0E1E0097802DF04AE802DF0 +:10D82000E00879021E1087902C282968028281B4B2 +:10D83000802D60087810BC008F802D600B6802C8B6 +:10D84000004000000000000048000C05F39230CAC0 +:10D850000D3003CC00F3003CC00C30020C80700093 +:10D860002C400D20038900B1003E402C3003EC50C9 +:10D87000C3203C400C3003D2020000000000000036 +:10D88000401DBC00FF003CC00EB083EC40EA0036F7 +:10D89000C20FB083AC00F8003E480EE00B7A80CF98 +:10D8A000003B440FF003ECC0FF0003440EE003D044 +:10D8B0000660000000000000A805EC00FB233EC845 +:10D8C0001DB003EE00CA003EC80CB2032D90C88400 +:10D8D00036002DB00360189B8033500CF203E20039 +:10D8E000C98032400CB8032A00700000000000001C +:10D8F00048119C00B7280CD2287302FC0086042C27 +:10D90000CC2870830C20950120000930121004856A +:10D91000002152087502D8008700214008600212D9 +:10D920000460000000000000C0009ED4B7B109E10F +:10D93000087822DE0095802DE008780A5E4294C0C7 +:10D9400021600878025A0087802D68087A02D70083 +:10D95000978020600978023000200000000000005D +:10D960004810CC00B3002CC008B002CD8092002C2F +:10D97000C008B002CC009080A04009360248028363 +:10D98000A0AC402A3006CE029304A04009200A121F +:10D990000430000000000000E815A800FA003A80FA +:10D9A0000DA003FB02DE803E800CA0032800CE8089 +:10D9B00032800CA4037800CEA43F800CA007F900AD +:10D9C000DE0032802DE0023A04600000000000001A +:10D9D0004800E100F8007C000F8003E040E8103CC4 +:10D9E00001CF800F2000E8003E000E04039000E805 +:10D9F0000020000D8007E000E8003E040E8003D206 +:10DA000000300000000000000810E400F9107E4122 +:10DA10000E90032400F90036680E900FA408C90088 +:10DA20003A400C900B2412E9003E442C90036424ED +:10DA3000F9022E400C9003C20430000000000000E8 +:10DA400080046510B9803E4008900A2600B1102A73 +:10DA500072089007640289402E40289012250089A0 +:10DA6000453E500D900A2500B9402E40289403E011 +:10DA7000001000000000000018052400B9002E402E +:10DA80004890422601B94026400A904284018B0802 +:10DA90002C4009D0823432A9086E4208100224209A +:10DAA000B9082C40189082C6004000000000000019 +:10DAB00008040480B32028480812020401B1002899 +:10DAC00058081202058981402C5808560615808195 +:10DAD0004028500914020580B1402C5A081402C293 +:10DAE0000100000000000000B80D6800F8002E00E2 +:10DAF0002E85032148F80036008E0502A00880001C +:10DB00003E000D800B1004E0002C004C8003400010 +:10DB1000F0003E080C0003EE03500000000000007F +:10DB2000981DE440F9103E440F9103F400FD003EBF +:10DB3000440F9103E440FD033F441F911BE440FD6B +:10DB4000013F500E9403F440FD003F400FD003A668 +:10DB500006700000000000001815F400CDA07168E8 +:10DB60008D9803D400CD0033600C988F2720C940D6 +:10DB70003E780C9E8B2720D11130608C9C032500B1 +:10DB8000F9403E780F90034600700000000000004E +:10DB90003810E01088012201088C22E80088022A4F +:10DBA00014088C0B239088A02EB0088C4223008888 +:10DBB000A0362A188A022200B8A02E340BCA820E80 +:10DBC00000300000000000000805C400814024501F +:10DBD000091682C400A9002040081292540885004A +:10DBE0002F4C09521214809D002150085422148099 +:10DBF000B5002D480BD00242057000000000000067 +:10DC00001805A4028901A240489002E402A9002A52 +:10DC1000406890026410AD002F4128500234008DFE +:10DC200044274039D0023500BD142F400BD00246A6 +:10DC30000460000000000000A005C400C9003640D8 +:10DC40002D9003E700E1E032400C900B6402C9081C +:10DC50003C500C90022602D9C032400C9013270091 +:10DC6000F9203E400F90036804700000000000009F +:10DC70002801A402F90038400F9003E680D9A03CA7 +:10DC8000400F1003A400D9103E400F9003C492F936 +:10DC9000213C402E900FE680F9803E400F90038A91 +:10DCA00000600000000000002800A040E8103E04D2 +:10DCB0004E80032080D8603A020C80132000F84088 +:10DCC00036102D8003A008E84032000D0003210229 +:10DCD000C840B2000FC003CA0420000000000000CA +:10DCE00028113B1086012FA00DA00238008EE023E2 +:10DCF000A208A0022800BA80228008A00228008280 +:10DD0000002A8028A0022A048A8022A00B6002CA6E +:10DD1000004000000000000028054380A2002CA065 +:10DD20000830022E00920028C02830022C00B38058 +:10DD300024C009300A8C00A30060C008300A4C00DF +:10DD4000830020E00B2002CA005000000000000009 +:10DD5000A001100086002DC0093A0235008600217E +:10DD6000C00873021000BF8821000870021C088FD1 +:10DD7000002BC00820125E20878821830B6002E8F8 +:10DD80000040000000000000A8081200E5813DA04E +:10DD90002C7A0B1E00D48038E00CFA0B1E00F680A3 +:10DDA00034E00D28038A00E68031200C78037A04E1 +:10DDB000CE8431E04F7843EA00000000000000000C +:10DDC000080D8000F8003EC00FB523E400F00436D3 +:10DDD000400FB687E000F2003E001FA00BE800FAFB +:10DDE000003E000EA003A800FA003E800FB003C260 +:10DDF00004600000000000000005F600CC8033A0A5 +:10DE00000CFC033E00FC8037E00FB9213E00FD8290 +:10DE100033E02CF8037E10DF843DE00CF803F600BD +:10DE2000FD803F600CE8230000700000000000004F +:10DE3000A8119840841021C00870021080B40021FD +:10DE4000C80B7A021000FD0021040870021C4287F2 +:10DE5000002DC4486102D680B5002F040861822AD3 +:10DE6000046000000000000000009000810021809C +:10DE70000830021C10BC0825804B300E1C00B4007A +:10DE800020C0082002580096002F000A7002D0809F +:10DE9000B4182D4009F80200002000000000000026 +:10DEA0002014C8028000A0C00830220BC0B0C022DD +:10DEB000800B30020000A004220028A0022B008A60 +:10DEC000002C0008A006C000B0C22C0009BC1A0833 +:10DED0000430000000000000A815A000C80032C0F7 +:10DEE0000CF00B2600F9C036000FF0132C10BB40CD +:10DEF000F2C00890036700D9803EC0089002EC0091 +:10DF0000FBD03EC0298C002A046000000000000005 +:10DF10008000E000F8443CD02FB003E400F9203E3C +:10DF2000400F3003E000FB083E000F9013E442F97D +:10DF3000103EC00F8003EE00FB003E800E8203E027 +:10DF400000300000000000000110E008FC8032E416 +:10DF50000EF0037400FC003F400CF00B3C00FE0090 +:10DF60003FC00DC1032020CC1033000CD10358005A +:10DF7000CE002FC00FD1030044300000000000008D +:10DF800081446200B0402AF108B0122608B8C82EB9 +:10DF9000700AB0022000BA002E00288003224088B8 +:10DFA0000120000A800228008A012E808B90022026 +:10DFB000401000000000000080052600B828224222 +:10DFC0000830026600B8802E3088B0022C00B901FB +:10DFD0002EC0889002A400890022C0089002240C60 +:10DFE00089012E401B8002600040000000000000FC +:10DFF00008040000B00028C02830020000B0002C47 +:10E00000400A30020000B1002C0008100A04008110 +:10E0100001A2C008000A048081002C001B000A0233 +:10E020000100000000000000000D6000F800324018 +:10E030000EF0236408F8002E000CF0032C00F8000A +:10E040003EC00C80032002C80432001C9003200054 +:10E05000C8013E419F904340035000000000000073 +:10E06000A01DF000FC0C3FC00FF003F010F4003FC7 +:10E07000000FF423F000FC003F000EC003B000FCD2 +:10E08000003F000FC003E100FC003F011F5003E808 +:10E090000670000000000000C00DF0D0FF203ED050 +:10E0A0008EB003ECA0DB283ECC0CB303AD08F83CEB +:10E0B00032230E48237A00FD943FE00F7833EE08B8 +:10E0C000BF803FE40FF90330007000000000000043 +:10E0D000A000ECC8BFD10FC80C2682FD248F002EF3 +:10E0E000990AF2621DD099612271888802AC00B849 +:10E0F000222E204B8803A00080002E080B80236076 +:10E1000004300000000000008805CC04B3030CCCF0 +:10E110000A1312CC14A30E0C580A33028C10A3203D +:10E12000A00A18900248A0B02024800A2002CC093E +:10E13000A1002C800B3242A2017000000000000000 +:10E14000E011AC20BB002EC04B80A2EC00AB004E17 +:10E15000462AB0022C049B802A608A9C02AC00B93B +:10E16000812E400B9802A3008A002E400B8004F001 +:10E1700004600000000000004015E100FB043EC008 +:10E180000EB403EC0ADB022ED10EB003AC00FB820E +:10E1900032281E0C036800B9003E404FB043ED002A +:10E1A000EA003E400F800390047000000000000071 +:10E1B000C001B818FF021FC00CE203FC00DF032FF0 +:10E1C000A10F7003FC04AB0437422DD0027C00FC8D +:10E1D000003F800FC003B000FD003F800FF00378C8 +:10E1E00000600000000000004010A900DB003CC0FF +:10E1F0002E94016C11CB00B8C00CB0036C00EB0185 +:10E200003210079203A800F8003E0C07A203AD00ED +:10E21000D80032000C8003D0042000000000000071 +:10E22000C8052808BF002FC08880023C08EF0322E1 +:10E23000000DF5003C008B822260039C022C10B97B +:10E24000B022F00B90022000BB0022E20DB002F2DF +:10E250000040000000000000E0054000B3022CC0B8 +:10E260000830026C00830020C0093404EC00A800D0 +:10E2700022F00B00028800B30028E00B1402A0007B +:10E28000930020C008B002F8005000000000000019 +:10E2900020011E04B7802DE80878020EC8A790213F +:10E2A000A81938529EC1878021E20BD9829E00B600 +:10E2B000A02D200B68021E00B4C12120094802C80D +:10E2C000004000000000000048000C80B3103EE059 +:10E2D0000E3A074E00CB903A610D3803CED1E1984B +:10E2E00030A48F10038800BAA13C8407000382D4B5 +:10E2F000D10072800C3003D2020000000000000048 +:10E300004015BC04FF003FC00FC223ECB0FF003239 +:10E310000406B4237C10BF003E840FB0037C40FF92 +:10E320000033400FF003FC00FE00BF400FC803D0D5 +:10E3300006600000000000008805E400CB333EC802 +:10E340004CB003AC90DBA036C00EBA436C00C900E1 +:10E350003E400F000F2800FB003E400F18436000B6 +:10E36000FA003E404F080B2A007000000000000039 +:10E3700048119C1007082CCA0820021C2087283F3F +:10E38000808AF0021D4087042DC00B70021C00B66D +:10E39000002D800B60031C00B5002D800B70021255 +:10E3A0000460000000000000C0008E0087A02DE483 +:10E3B0000A58021E01839021700B79029E0185C0CC +:10E3C0002DE04B58121A00B6802D200B4802520047 +:10E3D000B4802D200B480230002000000000000017 +:10E3E0004814EC0083002CC08836020C0283006CB9 +:10E3F000C00B300AAC009BE06CC80B32020C01B3BE +:10E40000002CC00B30020C10B3402CC00B3C82120D +:10E410000430000000000000E815B802CA003E8089 +:10E420000EE48B2800CA0033950FA007A802CE4047 +:10E430003FB00FE4822800FA003E800FA02368005E +:10E44000FA403E814FA4E33A04600000000000005F +:10E450004800E080F0003C002F00026000E8003C33 +:10E46000000E80012000E8045E040F8003E000FC41 +:10E47000013F100FC403B000FC093F000FC003D2DE +:10E4800000300000000000000810E400A920364021 +:10E490000E90034404D9003E400D9003E404C900EB +:10E4A00032408F900BE408F9003E440E9803E600DA +:10E4B000F9003E400F9003C204300000000000004D +:10E4C0008004640089002240189002240089002EF4 +:10E4D00040089402E400D90422400B1C0B6400B9EC +:10E4E000942C50089C02E414B9900E400B9002E06A +:10E4F00000100000000000001805240289002640DA +:10E500004A9002640099042E40089882E400890031 +:10E510006A400A9282E400BD012F5012D602F440F4 +:10E52000BD000F400BD002C60040000000000000FC +:10E530000804048081202048081202048081222CD3 +:10E5400048A81206C490912028500B90024500B5AF +:10E55000406D40085012D404B5022D400B5002C249 +:10E560000100000000000000B80D6140C800361432 +:10E570000A85034140D8502E140C8503C140C85071 +:10E58000BA000E8023E00078003E000E8003E00415 +:10E59000F8003E000FC003EE035000000000000032 +:10E5A000981DF440D9103E4407F103E440F9103FB0 +:10E5B00044AF9103E440FD1037500FD003E400F95D +:10E5C000003E400F9003E4A0F9283E4A0F9283E6F4 +:10E5D00006700000000000001805E6D4FDA23A70A5 +:10E5E0008C9E032680C9A032680CDB4327809DA245 +:10E5F000B7400F50036500FD003FC107D003F5048D +:10E60000FD402FC00CD003C60070000000000000C9 +:10E610003810E388B8502238088E00A2A088E8227B +:10E62000384888036210A8E83C000B80036280B879 +:10E63000012E800B8021A200B0842E2A288A82CE4F +:10E6400000300000000000000805C440B100285858 +:10E6500080134005008140205228160285809BC20D +:10E6600064418B98020400B1092C401B1020C400A7 +:10E67000B1002C40481002C20570000000000000EC +:10E680001815A584B900204008900224000100203C +:10E69000500890426400A910AE580398026400B973 +:10E6A000002E400B9046A410B9002E41089002C6DF +:10E6B0000460000000000000A011E700F9002A40FB +:10E6C0002C940B2402C900B2440C90032404D9807A +:10E6D000B6418F18032400F9603E400F9603E40012 +:10E6E000F9803E428C9003E80470000000000000B6 +:10E6F0002801A600F1003E400F1C03C400F9003EB3 +:10E70000408F9023C410F900BE400F900BE400F935 +:10E71000003E40079023E400F9203E408F9003CA5A +:10E7200000600000000000002810A100F800BE00FA +:10E730000E84032000C80032000C00832000F80083 +:10E740003E000C8003A000F80036100F8043E00864 +:10E75000F80032000F8003CA04000000000000002F +:10E7600028052800BA00228048A0036800AA002AD1 +:10E770008008E003680082002F8008E6022804BEBB +:10E780004023800BE802EA00BE0122800BE002CAAF +:10E79000004000000000000028054C01930120C14A +:10E7A0000A30020C00A30020C08838420C00A300ED +:10E7B00024C00A3E428C00B24C24E04B3802C441D3 +:10E7C000B30022C00B1002CA00500000000000007D +:10E7D000A0011C00B70020C9487002DC40A7142C1F +:10E7E000C82830825CC185002DE02AF0121C80B759 +:10E7F000A021820B7082D411B68021404B5002E8D8 +:10E800000040000000000000A8081E80D58029EA12 +:10E810004E3A070E80E3B031FC0C48030E41E7800E +:10E820003DE00E78039E80F4C435E00F7827DE00CB +:10E83000F580B1E00F5803EA00000000000000007E +:10E84000081DAC0031043AC40FB5936D08FB403A83 +:10E85000C8638023EC98E9003EC00DB043EC00F3A0 +:10E86000803E404FA003EC00F8683E408F9803C202 +:10E8700004600000000000000005FE60EB903EE434 +:10E880000FB8003F40CB807FE00EFB032E40CB80D3 +:10E890003FE00F79432E60CA8133648FD903FE00B5 +:10E8A000FF8133E00FD98B000070000000000000F2 +:10E8B000A8019C00878119E40BFA135E8087B22DB2 +:10E8C000EC0D79019E00D5902DF80B78037E08ABF6 +:10E8D0009129850B5102DC48B64021400B50022A99 +:10E8E000046000000000000000008C14B5206DC81A +:10E8F0000B72025C80872069C0885302CC819750DC +:10E900002DC80BF70ADCC0840121441B7022DC00F7 +:10E91000B50021C40B50860000200000000000005C +:10E920002014CF3091002CC00B34024C0083002CFB +:10E93000F20B10220C0091002CC80B180ACD01A379 +:10E940000028600B2102CE20B840A0540B1802080A +:10E950000430000000000000A811BD00F9002FC025 +:10E960000FF4027C12CF033FC20EB003FC049B02E3 +:10E970002EF20FA40BDC00CE00B0C88FA403EF0072 +:10E98000F88032F51FDD032A04600000000000005B +:10E990008000EC40E9003AC00FB103CC00F3003E28 +:10E9A000C00DB409EC18F9103E104FB10A6C80F993 +:10E9B0008936820BA603EC50F9503EC01F900360CD +:10E9C00000300000000000000110FC00FDA03DC070 +:10E9D0000C70832C00EF0235C00DE203FC04FF0233 +:10E9E0002DE08EF0033C10DC003F800CD803FC00CF +:10E9F000DE1833F04FD003C04430000000000000A8 +:10EA000081006C00B9002EC04CB0036C008B023644 +:10EA1000C00DAC12EC0079002E300D3D42AC0089E7 +:10EA2000881A100D8602EE04BB4022E00B9002E033 +:10EA3000401000000000000080052C01B9002EC02D +:10EA400008B042AC000B0526C0099420EC00B98048 +:10EA50006EC488B0822C009B822E42088102E48022 +:10EA6000B80022C10B9002E000400000000000004E +:10EA700008040C10B1252CCA083446CC08830024A5 +:10EA8000C20B0252CC8183002C0019B242AC8081AF +:10EA9000082880090002C440B10020C00B1002C247 +:10EAA000010000000000000000056C00B9003FD02C +:10EAB00008F607BCC2AF3075DC0D1602FCE0B95099 +:10EAC0003ECC0CB0232C10D9003E000C9003EC007F +:10EAD000DE0132C00F9003C00350000000000000B0 +:10EAE000A019FC00FD103FCA2EF6036D949F303A2A +:10EAF000C90C8393FC80FF117E190BB103FC40FD10 +:10EB0000083B000FC003FC807700BFC00F5003E834 +:10EB10000670000000000000C001FC00F49437C83B +:10EB20000D69637C10FF6237C00DB4037C60D48034 +:10EB30003F400F48233200CE00BF408FD10330E06A +:10EB4000FF303B600FD803B00070000000000000F1 +:10EB50008010ED20B82423F449A2023F408F5123B6 +:10EB6000DA08F6123D809B802E494B80034000D985 +:10EB70000122740BD5022100BF422E490B9C02E0FA +:10EB800004300000000000008805CD80B82028C1B6 +:10EB90001BA0024C0093202CD80B3402CC00900117 +:10EBA0002CC61AA00268088300A4400B10020000C3 +:10EBB000B31028420B1402A20170000000000000F4 +:10EBC000C015AC00B8602AC01BA08EAC019B052606 +:10EBD000C003B0426C009B802EC003A00669009960 +:10EBE00080AAC00B900263003B002E584B9002F0AD +:10EBF00004600000000000004011EC04F880BAC07E +:10EC00000F30036C10DB0336C08FB003EC08D880E4 +:10EC10007EE00688034108CBA03E640F900B2A00DB +:10EC20007B003A010F900390047000000000000088 +:10EC3000E001BC00FC8432C00CF9035C10EF003B27 +:10EC4000C00C70039C00EC013FE44FD103F100F3D2 +:10EC50000533600FD003BC04FF003F210FD003F841 +:10EC600000600000000000004010AC00C8403AC640 +:10EC70000DB4036C00F30034C00EB0036C00E91057 +:10EC80003AC00F84032C60CB0032600C500361004B +:10EC9000CB003E900E90A3900420000000000000E6 +:10ECA000C8053C02880101F020B0013E003F00335E +:10ECB000C00BF0323C08898022C0011512AC008BD9 +:10ECC0000022C048DB022F408F002E0108D4803282 +:10ECD0000040000000000000E0054C00080008F0C3 +:10ECE0000800124C00330124C04A30024C00A0201E +:10ECF00028C00B10024604830420C02918020440D7 +:10ED0000B3002C400A1C42B100500000000000007B +:10ED100020011E018D8021E018C8021E00B3A02131 +:10ED2000E01B38020E01A78021E009D840D64087B9 +:10ED30008001E0095902160097842D6008584000B0 +:10ED4000004000000000000048082C40C00038C40B +:10ED50000C30274C20F30134C10E3A034CC4E000C0 +:10ED600018C80F34034440C30030C00D90032E0078 +:10ED7000F3003E400E10019A020000000000000067 +:10ED8000401DBC00F9000ED40EB003EC20FB203F68 +:10ED9000C40FF103EC60DB103FC04FF003A446FB4F +:10EDA00000BDC00ED00BB400EF483F400F5003D061 +:10EDB0000660000000000000A805EC00F80032D456 +:10EDC0000F8003AD00EB0822D20CB6036C00F2807A +:10EDD00036C00EA0032810CB00B2C00FD6032810F7 +:10EDE000FB203E404F99132B0070000000000000F4 +:10EDF00048119D10B40121C18BC0021CA0BF042783 +:10EE0000C80875021CC0B60021C008F04218108F57 +:10EE10000021C00B54A21C00B7042D410B5202125A +:10EE20000460000000000000C0009E80B688A5E0DD +:10EE30000B78129E81A79025E48878021E80BF80FF +:10EE400024600B68021E00878461E00A1A0A1A0017 +:10EE5000B7A02DE00BDA0230002000000000000017 +:10EE60004814CC00BAC0A4C00B34020C00B3002478 +:10EE7000C008B00E2C00B39820600933022C00A308 +:10EE8000C820C00B10020C00B3002CF00B100212B3 +:10EE90000430000000000000E815A800FE80368164 +:10EEA0000BE003A800EA00B28008A0036800FE009F +:10EEB00036A01FE8133B82CEE022808EA0033800EC +:10EEC000BA003FA20FA0033A046000000000000057 +:10EED0004800E000F8203A10078003C100F800382D +:10EEE000002F8003A001F8423E050E800BE080D881 +:10EEF000003E000F8403E100F8003E000F840BD2B7 +:10EF000000300000000000000810E400C9003A5082 +:10EF10008F9083A402D100B2404C90232408C901F1 +:10EF20003E400C90032400C10032400F140A2520FB +:10EF3000E9003E420F9003C20430000000000000D0 +:10EF40008004640A890022700B90122580C9002277 +:10EF5000400A9003640089202C400A900A2400890A +:10EF6000C132400B9802060089902E400B9412E0AB +:10EF700000100000000000001801040089006A422F +:10EF80000A1002A4008900A2400A9002240009008D +:10EF90002E4058100224008980AA600B9002A4041D +:10EFA000A9002E400B9402C60040000000000000A3 +:10EFB00008040480810060480B10020481812060F5 +:10EFC000480A1202448881000E590A140205008181 +:10EFD000C028504930028C8401602C500B1002C2B2 +:10EFE0000100000000000000B80D6140C0542A007C +:10EFF0000E8503A000C85032151E05222142C8000C +:10F000003E000C80030004C8003A004F8503A14075 +:10F0100068003E000F8003EE035000000000000077 +:10F02000981DE440FD033E440FD003E448E9103E40 +:10F03000450F9113E440FD003F440FD003F402FD5F +:10F040004033500FD4237440F9103F400F5403E66F +:10F0500002700000000000001805E400F901336AA6 +:10F06000099003B634F9C832640C9A03E6A0DD00B7 +:10F070003C700F9003A500898033320FD8133C00F9 +:10F08000FD0070500FD0030600700000000000006B +:10F090003810E280B8A822100888022100B8C020E9 +:10F0A000300D8E87838888002E340B8A822280DC84 +:10F0B000E022380B80022000F8A82A280B80020EDC +:10F0C00000300000000000000805C420B10020400E +:10F0D0000A92928411B1246858091102C420910146 +:10F0E0002C481B500274849548AC480B94020404CD +:10F0F000B10224480B10020205700000000000005D +:10F100001811A400B12022400A90062C01B9002A4F +:10F1100040099002A4009B082E480B121A74009517 +:10F12000452E600390022400B9002E400B90020689 +:10F130000460000000000000A015E400F9803040E9 +:10F140000E1603A400B90432400D9002E400D94029 +:10F150002E401F9803E580D900AE6007100B2601F2 +:10F16000B900A6400F900B280470000000000000BA +:10F170002801A400F900BE40AC9203E400F900B4F9 +:10F18000400F9003E400E9003E600F9003A480F973 +:10F190000032000F9083E685E10032440F1003CA6D +:10F1A00000600000000000002810A000F8003200FD +:10F1B0000F8013E094E00032000C80036000C80070 +:10F1C0003E000D80432008F80032000F8003E0402D +:10F1D000F80032004C8023CA042000000000000028 +:10F1E00028052800BA0023800BA002FB046A002235 +:10F1F000800AA003680A8E883A8008A0020800BA34 +:10F2000000B72203E402FA008A00228008E802CA5A +:10F21000004000000000000028054C00B3006041E1 +:10F22000033002CC41A30004C00B30022C00A380A9 +:10F230002CC00938020C00B300A0C00B3402CC80F3 +:10F24000A10020C0083802CA0050000000000000E1 +:10F25000A0011C40B70061000B7102DC00A3002577 +:10F26000C81938025C80A7000FE80964221000B3B7 +:10F270000025C80B6002F200850123E8087082E8CF +:10F280000040000000000000A8081E20FF80A1A090 +:10F290000F7A42DA00E7E835F02F7B621E82E680C3 +:10F2A0001DE00DF80B1E00F78031F00F7803DE0C27 +:10F2B000EF8031F82C7803EA000000000000000025 +:10F2C000081DAD84FB683E000FB003E800FB00FAA8 +:10F2D000D80EB503ED00DB003AC08EA003E000FBC2 +:10F2E000403EC00BB043C404EF02BFC00FB003C226 +:10F2F00004600000000000000005FE42C7383364CF +:10F300000E7C035E00DFA037F00DF803FF20CF81F5 +:10F3100033E20CD803BE007FC033E00CF9037E005B +:10F32000FD803FE00FF803C0007000000000000007 +:10F33000A8119C0087A021140871021410D7203551 +:10F34000C00C7003BC0085082BC04D4602D100B72D +:10F350000021C00860020880F5203DCA0F5403EA6E +:10F36000046000000000000000009C118F01208458 +:10F370001AF0021800A73465C0097102DC008E0083 +:10F3800029C00850069C00BF882DC40A6026582456 +:10F3900097006DC09B7002C00020000000000000BC +:10F3A0002014CC008B4020001830020000BB022447 +:10F3B000C0083020CC0081C028C00B0482E010BB04 +:10F3C000A02CE00A20060000B30028C00A10028822 +:10F3D0000430000000000000A815BC00CF1032006F +:10F3E0000EF00B2400EF0037C00DF003FC06C150F7 +:10F3F0003BC00CB403AC00F8C0BEC82EB0036E0115 +:10F40000FB002DC04B9002EA0460000000000000E9 +:10F410008000EC04FB003E000FB003AD009B003EFB +:10F42000C00F3003AC00F8002EC005B403ED00F8A7 +:10F430004032C0090003E091E3003EC00F9011E0AC +:10F4400000300000000000000110EC00EF0033204D +:10F450004FF003B400EF033AC00FF0033C00DC00B0 +:10F4600031C08DF803FE04CF0032C80CF00B1C0035 +:10F47000CF9333C08C4002004430000000000000F5 +:10F4800081046C00BB00A2040B30020E00AB002A0A +:10F49000C009B0036C08A8C036C008BC02EF02ABBC +:10F4A000D020E008B82226108B0022C0209C022029 +:10F4B000401000000000000080052C00BB0026006A +:10F4C0000AB002A208AB006AC00BB00A0C008B8025 +:10F4D00022C009B102EC40880822C008B802260008 +:10F4E0008B0022C0089802A000400000000000002D +:10F4F00008040C00B30024000BB0020001830020BC +:10F50000C00930024C00000424C00830064C0080C2 +:10F51000002CC008000200418300A2C008100A822B +:10F520000100000000000000000D7C00EF08260034 +:10F530000EF002A000E7003BC00FF5433C02DA00EA +:10F5400032C00DB003EC00CB00B2C00CA0032810F9 +:10F55000CB0032C00C80038003500000000000008C +:10F56000A00DFC00FB003B000FF003F000FF023F8A +:10F57000C00DF203BC00F4003FC00FF003FC00F725 +:10F580000033C00F6003F088FF003FC04FD0036816 +:10F590000670000000000000C005FC40FC313B0884 +:10F5A0004FF943EF00DF3032210F94077D80EF38B1 +:10F5B00032091C3803F221FD0033C40CF002FC00B8 +:10F5C000DF0033C00FF003300070000000000000C7 +:10F5D0008010EC888B6022E50EB222EC80AF112AFD +:10F5E000200BB113AC488B4534CC48B0026B00BA49 +:10F5F000823600088822C0048800A2088B88622016 +:10F6000004300000000000008805CC00A130280074 +:10F610000B3202CC00A3222C008B1206C880A30060 +:10F620002002CA3006C401B10068800920028800A7 +:10F63000830020C20B000AA201700000000000003D +:10F64000C015AC008B6162C00BB202E800AB022AAD +:10F65000611B9002A800AB0020C00AB0026C04BA83 +:10F66000002E40899002E608980022000BB002B0FC +:10F6700004600000000000004015EE00F8013A04AC +:10F680000FAC03EC90FB023EE00B90426780A8C4F5 +:10F690002248228603E140B8022A40299003EC0266 +:10F6A000C94832400FB01390047000000000000001 +:10F6B000E001AC40FB001FA20EF882FC08FF003FF7 +:10F6C000C00FFA439644D4913F400DC003FA00FFA7 +:10F6D0000825800EE003D000EA003F800FC00378C9 +:10F6E00000600000000000004010AC00E1203A5033 +:10F6F0000F90032C00EB0876050EB027E010EA40CF +:10F70000B2C00CA4432500F80032080F8043E80083 +:10F71000D108EE400F0003D00420000000000000DC +:10F72000C8052C008B0022D00B90822C0087402231 +:10F73000608BB002E000D85022D00CA0036C00B364 +:10F74000C83ED00BB80225088A202A808BB882F2E6 +:10F750000040000000000000E0056400A0C024C0DC +:10F760000938022C0083032000103022CC008300D3 +:10F7700060080A30824C00B1C000D10B380284808E +:10F7800082012080033802F80050000000000000D1 +:10F7900020011640849825E00B7A02FA48A32061E4 +:10F7A000240B7900CEC093A421A60B7812DE80B67C +:10F7B000802D240B4B021A40858121600B4802C822 +:10F7C000004000000000000048080C00E2A0B4FE69 +:10F7D0004BB80B0E00A3B024A80E1B02CEC1C3C0B1 +:10F7E00030682E3A474E80F18030800F22838000AF +:10F7F000C21038804F0007D2020000000000000055 +:10F80000400DBC10FE043BC107F0031CC8DF2A0BEF +:10F81000C48FD143F8027F003FC00CF10F3C00F2CF +:10F82000113F411F5203BC0EED143F400FF803D0AF +:10F830000660000000000000A805E400E900328036 +:10F840000EBE4B6F00CB827AC02CB0032C00C900D7 +:10F8500032002C10032C08C00026406C9013241298 +:10F86000C8013E000FB80B2A007000000000000025 +:10F87000481194008D0021800B70823C2083322936 +:10F88000C008F0201400800023000850069C04D714 +:10F89000022880086002081087002DC00B40021269 +:10F8A0000460000000000000C0009E00A78021E06E +:10F8B0000B5C121E0487820DA00978160200B4802A +:10F8C00025E00B78029E00848021220808021201A4 +:10F8D00084C02D200B080230002000000000000032 +:10F8E0004814CC008342A0D80B34820C00A3022021 +:10F8F000E008B0020C88B32124D80B3E028C0093A0 +:10F900000828C00838022C058B012CE00B300212AD +:10F910000430000000000000E815A800EE0033905D +:10F920000FA00B6800CA017FA80CAA033A12FEE2DE +:10F9300037B00FEE021800CA4036A008A08B28008E +:10F94000CA812EA00FE0033A04600000000000000E +:10F950004800E000F8083E000F8003A202D8403EB5 +:10F96000080F8013E0404840B8040884036100FC9D +:10F97000003F004FC003F100FC003F040FC003D262 +:10F9800000300000000000000810C400F9003050F2 +:10F990004CB9036C18F90036400E9C23A4024100B8 +:10F9A000B2440E9A03A680C9003A600A9003A4806C +:10F9B000C90034400C9003C2043000000000000075 +:10F9C0008004640089402278089402E410B9003C65 +:10F9D00062189482A40089C82270481E016780D1F1 +:10F9E00000BC42081002252089022240089002E053 +:10F9F000001000000000000018052400B12822407B +:10FA000008B082640439412E480A90020418A920E3 +:10FA100022424A90022C0489042B4802D002B40AE4 +:10FA20008D8023C048D002C60040000000000000C6 +:10FA3000080404808120A048281002C400B1242AB0 +:10FA4000400812428580A120A048089002440095F9 +:10FA50002C2D5A0A728214A085A8214A085282C20B +:10FA60000100000000000000B80D4140F8503200D5 +:10FA70008C05036140F8512E000A85022000E850F1 +:10FA80003214068517A000C8203A080E8203A08011 +:10FA9000C82032082CC203EE035000000000000012 +:10FAA0009819F440FF103F440BB003E400F9103DF7 +:10FAB000400FD103F4589D103F444FD003D500F9B7 +:10FAC000003E408D9003E4B8F928BA6A0F9003E62F +:10FAD00006700000000000001801E700FD883E608D +:10FAE0008FD0032401DD8073400FD803A604CDA27C +:10FAF00033781CD0033401F5883B680CDA47378033 +:10FB0000CD8832620CDA03060070000000000000AD +:10FB10003810E380B8802E140B0A822280B8F8A235 +:10FB2000000B8FA383E088EB22A9088812A005B8F8 +:10FB3000002AAA88801362828880222888A4020E64 +:10FB400004300000000000000805C500B10A2C4187 +:10FB50000B10060420A10000408B1046C401911137 +:10FB600024586890C20400B100A85009140A0595F1 +:10FB7000A108A04228110A02017000000000000044 +:10FB80001815A418B9202E500B90062409B900228C +:10FB9000408B9102840099642440589002A420BBB9 +:10FBA000002A4009B0020501A900224088920206FD +:10FBB0000460000000000000A015E600F9403E408F +:10FBC0004F980B2480D90022720B9803E484D9004B +:10FBD000B6700899022400B9002A400D94C225008D +:10FBE000A90022400C9403280470000000000000CB +:10FBF0002801A680F9083EC00F9143E400F9003EB9 +:10FC0000500F9803A500E9003A640F9003E400F94F +:10FC1000003C406E9003E420D9003C400F9082CA23 +:10FC200000600000000000002810A000E8003E0076 +:10FC30004F840B2000F80036010E8003E000C8401E +:10FC400032102D8003E054C80036100F0483E050BA +:10FC5000D80412000C000B0A042000000000000071 +:10FC6000280528008E422EA28BEA022808BE89377A +:10FC70008448E01228028EC023B04D6062F80086EE +:10FC80000023800BE002F8000E00228008E4020A44 +:10FC9000004000000000000028054C00A3002C805C +:10FCA0001BB09A4C109B8024C00A30000C049B208F +:10FCB00020D60830028E08A30424C0193402C707D6 +:10FCC000AAA4A0C04834020A0050000000000000AE +:10FCD000A0010E0087002DC00B40025C40B314252C +:10FCE000E0087A029EC09240A000496002CE028ED7 +:10FCF0000121C08B5402C408864021C88810022804 +:10FD00000040000000000000A8081EC0E4803DE2A2 +:10FD10000F58035E90B6A235E00E7C231C00D680FF +:10FD200031E0847803DE00C78035E00F6803DE0031 +:10FD3000E38033E82C78032A020000000000000072 +:10FD4000081DAC90FA007E400F9003AC01FB003C14 +:10FD5000410F300B2D04EB013EC00EB003EC00FA56 +:10FD6000003FC00F8003EC00E9603EE40F9003C247 +:10FD700006600000000000000005FE20FF903E200D +:10FD80000CA9072E44C99130A00CB8632F44CBA115 +:10FD900036208CF8033600CF8233E00CF8232E0097 +:10FDA000CEC03BE00C6803000070000000000000C3 +:10FDB000A8119C84B3542CF428BA8A3E4081A0290F +:10FDC000B00F7842AE00839033E80DE100854082A9 +:10FDD0002423C60D71035EE087002BC10D44022A67 +:10FDE000046000000000000000009C0835146DC095 +:10FDF0008872325C8084302B880A70425CA891083B +:10FE000025C80970024C22830A61C009200204003F +:10FE1000870021C0086002000020000000000000F0 +:10FE20002014CC10B3856CDC0834024D21810028ED +:10FE3000024A3112EF0C91C220F00830428E00824B +:10FE40004020C8192802228183C028D409000A084A +:10FE50000430000000000000A815BC00FBA03EC05C +:10FE60008C04127D10CF023A5008C0427D525801D6 +:10FE7000362269D0132A00888232F009B8822F0016 +:10FE8000C9C823C00C8A032A0460000000000000D7 +:10FE90008000EC00B9403C504F8023AC12FB002A9C +:10FEA000C06D8013AC00E804BA100F8003E800F3C3 +:10FEB000083C800F9083EC04F9602CC20F8083E033 +:10FEC00000300000000000000110DC00EC2C3FF0CE +:10FED0008CFA8BBC00FE003F000F79033C00CE087B +:10FEE0000BC20CF003BC00FC0033408C7A033A00D8 +:10FEF000C50033C04CC803004430000000000000BF +:10FF000081046C0088C02EE00894022C00BB80663F +:10FF10003016B0022C00DA4C22F008F003EC00EBB3 +:10FF2000C022680094022C02A98022C0080C02A002 +:10FF3000401000000000000080052C00AB042EC023 +:10FF400008A4062C04AB102E604380826C018180D3 +:10FF5000280A089100E000B88002E00880022D80A5 +:10FF600088C022C00882022000400000000000007B +:10FF700008040C0080442CC828A0220C04B3262CB2 +:10FF8000C88801060CE09120200C380422C048A348 +:10FF900042A0810800020C80810020C0280002825B +:10FFA0000100000000000000000D7C00A9403E445C +:10FFB00008B1032C40EA492E0D0BB6137D80C940D1 +:10FFC000BAD00CB403AC00F80032400C800B200017 +:10FFD000C500B2C00C800300035000000000000008 +:10FFE000A01DFC04FC003DC50BF100FCD0772937B7 +:10FFF0000C8E7403FC08FD693FD80FF003BC00EFC2 +:10801000003F4007C003F040FD003FC00FC003E831 +:108020000670000000000000C00DFCC0DC803FC8EE +:108030000F48037C20FF6837E00EF1039C00BF204F +:1080400037E00CC8133C40ED60BBE42C434B70A000 +:10805000CC2C3F090FD843700070000000000000D6 +:108060008000EDC0B8802FF40F98023F00BF42227D +:10807000CA08F4023E00BFD0226028880A3D808DE5 +:108080004022C80881022180DBC02EA50B98422027 +:1080900004300000000000008805CC10B0002CC0A7 +:1080A0000B2002CC00B32026C08A36128C41B300CC +:1080B0002E400800020D81A13022C889A24208206A +:1080C000B0002C400B902662017000000000000000 +:1080D000C015AC00B8502EC00A9002AC00BB002204 +:1080E000C008B0622C10BB042AF04A88020C008140 +:1080F0000022C009B8802600B8802E210B900230E3 +:1081000004600000000000008015EC00D8C03EC0F4 +:108110000B8003EC00FB0036800EB003AC00FB00CC +:108120003CE00C0C032C00E90010C00C8C03060092 +:10813000F8CD3E220F18034004700000000000003C +:10814000E001BC00FF003EC00FF0037C00F7023FDF +:10815000E40F70037C04B70037400DC003FC00FD42 +:108160000037D00EC043F400DF003F808FDA03F801 +:1081700000600000000000004010AC00F8103AC0A1 +:108180006DA613EC00CB003AD00FB0032C10DB101F +:1081900036D80D8403EC06C9083AC00E8603A860E1 +:1081A000F8203A400C900354042000000000000026 +:1081B00098053C00BB4023D00830023E10AF0020A1 +:1081C000C00BF0023C008F502EC8068A02FC008DC6 +:1081D0002482D60832022D083A4022800D90036294 +:1081E0000040000000000000E8054C00B02028C25C +:1081F0000804028C00130228C00B30020C3093805C +:1082000024D0092002CC00914008C02A1402810029 +:10821000900068000818023A0050000000000000BA +:1082200070011E00B4A021E008C8129E00B3822194 +:10823000E00B7A0A1E0097802DE10A4802CE409595 +:108240009029E40858029A00B78821E00958025C96 +:1082500000400000000000004A000C00F08038C41C +:108260000C25038C20930038C40FB0030C80D3007E +:1082700034C00D0413CC0899002AC00E21038804D1 +:10828000F30038C00C11831202000000000000004F +:108290004215BC00F4003FC30EC0031C00AF4A7F70 +:1082A000C40FB203FD01EF103F840FC003FC00E9CF +:1082B0000037C20EF1477C00F7003DC00F5003D0DD +:1082C0000660000000000000AA15EC08F8003ECA95 +:1082D0000F9003EF21FB807A408FB2A12F00CB607B +:1082E0003EC00FB003EDA0E93032C02DB003E40072 +:1082F000F8003E000FB003EA00700000000000002C +:10830000C8919D00B4012DC80B7002CC808F202134 +:10831000C08B76035D00870A2DC00B4022FD008DC7 +:108320001023C8085012D400B7002DC00B7002F201 +:10833000046000000000000081009E00B4802DE079 +:108340000B7C02DE40A7822DE00B3A028E00879064 +:108350002DE00B58025E00A5A265E0086882DA00F5 +:1083600095802D600B7802E00020000000000000E6 +:108370000884CC00B0092CC00B3802CC0083002E3E +:10838000C00B30424C0083002CA00B0402CC0081B7 +:1083900000A0C008B006CF80B3102CC40B3102C3BC +:1083A0000430000000000000E805A800FE803E80C8 +:1083B0000FE813E800EA003FB00FA003A802C200D4 +:1083C0002F880FE003E800EA0036000CE003F920F4 +:1083D000DE803FA04FA803FA046000000000000008 +:1083E0004800E000F8103C100F8083E100E8002214 +:1083F000060F0013E001F8003E000F8083E000F854 +:10840000003E000F8423E000F8003E100F8003D2EE +:1084100000300000000000000800E400F9103E44B5 +:108420000D9003E400F9003E400C90122400F91076 +:1084300032408F9003C400C90032100C9C0124000C +:10844000F9103E700F9002C20430000000000000DE +:1084500080146400B9C02E48089102E400B9002ECF +:10846000400D90036700B9802A600B9902E40081F7 +:108470000022402C90122520B9482E520B9402E085 +:10848000001000000000000018052400B9002E4074 +:10849000689046E400B9002EC0089002A460B900BC +:1084A00022480B9006E4028900A040089002A61022 +:1084B000B9000E400B9002C6004000000000000012 +:1084C00008040480B1002C48081002C484B1202C98 +:1084D00040091202C480B12028400B1002C48089D8 +:1084E0002020404B120A8484B1202C488B1002C2F9 +:1084F0001100000000000000B80D6140BA002E001D +:108500000C8003E808F8503E140C85032000B800E6 +:1085100032000FA003E140C85032140CA503A14063 +:10852000F8003E000FA003EE035000000000000022 +:10853000880DE440FD003E440FD003E440B9113FF4 +:10854000400F91036444F9103F400FD003E440FD15 +:10855000103F108CD1037440FF103F440FD003E64E +:10856000067000000000000008056620ED00336979 +:108570004D50435600F9A034400F9A0B3400DD8073 +:108580003B400B5003E400F90032E00ED003F4004E +:10859000FD003F400CD003C600700000000000004A +:1085A0007810E280880422100B80022009B8F022A3 +:1085B000000B8E12A000B8522E000B8002E005B80E +:1085C000AA233E0D8002E000B8003A00088002CEE7 +:1085D00004300000000000004805C420A900A444A5 +:1085E000099002C500A1082C400B11820400B100C3 +:1085F00028400A1042C400B500A140081002C4007F +:10860000B1012C40081020D20170000000000000D1 +:108610001815A400890422400B9000AC0039002AF0 +:10862000400B1002A400B9002E480B9012E400B9D0 +:10863000002160099222E428B9000A50089006C679 +:108640000460000000000000A015E400E9003640CE +:108650000D9003E400F9003E480F90032400D90078 +:108660003A780E9803E400B900B2400E9223E60077 +:10867000B9503E702C9003E8047000000000000028 +:1086800068018400F9003E404F9C236400F90436E1 +:10869000480F9003E400F9003E600F9203E400F9F4 +:1086A000003E408F9083E444F90078640F9003DA31 +:1086B00000600000000000002810A000F8003E004C +:1086C0000F8203A040E8003E000D800320C0C88058 +:1086D0003E120F800360007C0033000D8013E01019 +:1086E000C8643E080C8203CA042000000000000099 +:1086F00028052800B6E00FA00B60823800AA002EE3 +:108700008008A042BA00AE202F880BE5022800BAEC +:10871000D8378008EC02F8048E002F900DE002CAD2 +:10872000004000000000000028054C00B0242C6030 +:108730000B38028E80AB002CC00930020D0800807F +:108740006CD00B3402CC00B8C02000483412CC40AE +:1087500083002CE00A3502CA00500000000000002F +:10876000A0011C40B7002D028B60029E0087202FC5 +:10877000E00872029E00A4002DC00BF8029CC0B35A +:1087800002A5C0085086FE0087002FD0097002E8BD +:108790000040000000000000A8081E00F4803D20FA +:1087A0000F58039E0067803DF80D38021A10448070 +:1087B0003DE00F5803DE20B48033A02C6803D600C0 +:1087C000C7813DE00C7803EA0200000000000000D1 +:1087D000081DAC08F8003E008F80036C003B123E81 +:1087E000CA0FB503C800F8047EC00F90036C80FB6D +:1087F000043A400F9023C800F9013CC00FB003C2F7 +:108800000660000000000000C005FE00AC9031488A +:1088100008F803FA00CF803FE00CFC133E04FC8014 +:1088200035A00C7803BE00DF803B2024F8032E40E7 +:10883000CF8033E003F903D0007000000000000097 +:10884000A811BC0080000100087202D00087002D32 +:10885000C80AF0029840F50061410074021C00B49F +:108860000021C80860023E20860821D80F5002EA85 +:10887000046000000000000018009C00A40021001B +:10888000085002D80097002DC08871021400B00073 +:10889000259008C0829C40930029A1886002141290 +:1088A000874029400B6002C4002000000000000047 +:1088B0006014CC0080D0A000081C02C00093002CE3 +:1088C000D00AB0268000B30024E40808028C00B06F +:1088D0000202410808020301810028421A0042D81E +:1088E0000430000000000000F815BC00E8C0328031 +:1088F0000CB503E4009F003DE00CF00B2400F800F1 +:1089000036E00C2503BC05D8022A0008BA022A006A +:10891000C1023A508B9003EE04600000000000009A +:108920008000EC00FB083E800FA103EC04EB022E5C +:10893000C60FB0174400E8003A400F80026C00FBFD +:10894000003EE00F9093E100D90026708F9001E186 +:1089500000300000000000000010FC00FC03372481 +:108960000DF803E000FF003FC18DF00B3800CC0094 +:108970003FC00FFA033C0CFC043B800CA003942086 +:1089800089053B004FD023C00430000000000000E8 +:1089900080046C00B006201388A802EB00BB002EF8 +:1089A000C008B0022A00A8802EE00B941A2C00BB4D +:1089B00000A240299802E200A98422200B9802E03C +:1089C000001000000000000080052C00B80022000C +:1089D000098202E600BB002EC00BB0022600888090 +:1089E0002EA00BA0022C00B3002A00099802EA2056 +:1089F000A9802A609B9882E00040000000000000EF +:108A000008040C00B8002000090802C400B30026C6 +:108A1000C0003002000081002C410B00020C00B0AD +:108A20000020C00B0002C880A80020410B1002C229 +:108A30000100000000000000000D6C10F850B200B2 +:108A40000D8003E000FB003DC00DF0132402C806BA +:108A50003E800FA0033C04FB0078800CA003E400E0 +:108A6000E9001A400F9003C003500000000000000E +:108A7000A01DFC00F4203F000EC002F001FF003FEB +:108A8000C00FF023F000FD003FC00FC003FC00FC4E +:108A9000003F409CC003F040FD003F400FD043E842 +:108AA0000670000000000000C005F000ED23B7488C +:108AB0000CE1C37CC0DD8037E00FCB03FE08FC284F +:108AC0003FF01CFB237C01FF1477E24FE8237C007E +:108AD000C48033482CF822300070000000000000F1 +:108AE0008010E0E0C9C0225B8896222D00892222F6 +:108AF000CA0B9E22E2A0B9612CE0889F023D85BF8F +:108B000060265048A0023C008800225008B0022095 +:108B100004300000000000008805C080B11020442F +:108B20000BB202CED081082CC00B01028C08B30816 +:108B30002CC90810628C60B33224800AA0026C0336 +:108B40009A01264448B04262017000000000000013 +:108B5000C015A4A08B0222E00BB062AC9899002A49 +:108B6000C20B9806E400BB022EC00891422C10BB39 +:108B7000006E800A80026C001B00064048B80A7034 +:108B800004600000000000000011E700A1007678FA +:108B90000FB003E810D9003ED04B9E13AC08B8A02C +:108BA0007EC608A8022C01BB0026304E20034C18BC +:108BB0009980B4404C3A034004700000000000006B +:108BC000E001B200FDC53BC04CD0036A02ED0633A4 +:108BD000C40FD053F800FC907FC10F7803BC04FF92 +:108BE0000037640CF103A400EDA13B400BF083B807 +:108BF000006000000000000040108C00CB203E719F +:108C00000FB3039802FB0236480F9003EC20F800E4 +:108C10003ECC0484032C00DB043C100FA003EC00CA +:108C20009B0032400C9003D00420000000000000A4 +:108C300088052C028B482EE00B34036B008BF52249 +:108C4000F20B9C03AF00B8502EC008B0027C008F1E +:108C5000000E5D0B8002F54083502354089C02E611 +:108C60000040000000000000E0044C0081812E4024 +:108C7000032C020433990020F04A2880CC40B00035 +:108C800026100820024C0083002CC0092002CC00D2 +:108C9000A00228400808027A0050000000000000EE +:108CA00020010A0085802DF80BDA02D64085A0212C +:108CB000E00B48069204B5802D210800024E008783 +:108CC000A42D600B6802DEC2AD902B60285882DCB8 +:108CD000004000000000000048084C40C3102C6C0D +:108CE0000F300386A2F9B0B0E00F2983CE44F380A1 +:108CF0003CAC0C30030C00C3003CD50F2003CEC1AC +:108D0000E010B8400C0003D2020000000000000098 +:108D1000C01DBC00EB003ECC0F32036408F9003BE1 +:108D2000900FF043E440FB343F8107D103AD20EBCB +:108D3000207FC40FE103FC50CD1035400FD003D08D +:108D40000260000000000000A805E404FD043D40AE +:108D50002D30023C00C9013EC04FB843EC10FB006F +:108D600032400FA023EC80CB3632804DA8032C106C +:108D7000CB0032400C90036A00700000000000003D +:108D8000C8119008B5002DC0085002BC0285042D02 +:108D9000C08E6006D804B70421400B7002FC80AF7F +:108DA0002821C00B70020640870021500850023273 +:108DB000046000000000000080009E20B7802B703F +:108DC00008F8061E0087802DE00B7032DE04378421 +:108DD00025E00B6806DE80878021A11B68021E400B +:108DE0009F80206008580220002000000000000042 +:108DF0004814CC20B3002C8088B4228D0083902CA2 +:108E0000C00A3802CE08BB2024D00BB302CC00A38A +:108E10000060D20B202A04089350204008170A0251 +:108E20000430000000000000E815BA00BAA03F843A +:108E30001CE00B38408E062E800BE303F880FEE426 +:108E4000B7900FEC02E8008A00A3A009E4032A020D +:108E5000DEC0F3800C6C033A0460000000000000E8 +:108E60004801E000F8403E000F8413E000F8002EB7 +:108E7000300A8403E004F8003A020F8013E000F89F +:108E8000003E040D8083E040E8203E002F8003D2A6 +:108E900010300000000000000810A400F9003C643D +:108EA0004E90832480C90032E00F10032500F900A2 +:108EB00032440F92236400C10032400C9013E4004E +:108EC000C90022400C9003020430000000000000A2 +:108ED00080046400B9202E404896222500D9C0A203 +:108EE000700B98022400B940A2704B90022400D964 +:108EF00000A2402C9422E4028900A240289413206E +:108F0000001000000000000018012400B9002E40ED +:108F10000A900204008180A2440B910225001940AE +:108F200062400BB402440089002040089082C401D2 +:108F300083022840489082060040000000000000A4 +:108F400000040580B1006C5108141A05009300203C +:108F5000408B14020500B12020500B1406048091B0 +:108F6000202040091002C4A88100284A08904A42E3 +:108F70000100000000000000B80D6000F8003E0095 +:108F80000E80032801C85032948BA0032000B050FB +:108F900032800F80076151C85022000C0003E0842A +:108FA000C8043A080C00032E035000000000000023 +:108FB000989DF440BD413F500FF403F510FD003E75 +:108FC000400FD403F400FF102F404FD440A448F9C1 +:108FD000123F5A8ED283F4A8F52C374A0FD283A6BB +:108FE00012700000000000001805E680FD283F4CCC +:108FF0000F50033C44CD403FD00DD0021401FDA0E2 +:10900000314003D003E789F9907E500C9403E6C009 +:10901000C910326D0F9102C6007000000000000000 +:109020003810E080B8012E0C8B8482204288A06E1C +:1090300020088003600098E82200098002E3C0E86D +:10904000D02E28088A23E284D8A0223D0BC802CE65 +:1090500000300000000000004805C5B0B1002C48F9 +:109060000B13020402B1202E40881022C400B11458 +:1090700024400B1052C400B1212D480A5202D500E1 +:10908000BD00AD400B5202D2017000000000000094 +:109090001855A500B9822E498BB012241099022EC2 +:1090A0004008B200650099802644099102E409A9AC +:1090B000042E460AD402B400BD402F400BD002C695 +:1090C0000460000000000000A015E740F9802E6257 +:1090D0000F9C42240099012E682C92026400B94032 +:1090E000B6600F9A03E400B9002E703E9906E402C0 +:1090F000F9003E400F9803E80470000000000000F3 +:109100006801A600F9003E401F12ABE400E9903E62 +:10911000490E9803E400F1003A400D9803E400F989 +:10912000013E60059013E400592032408F9103DA2C +:1091300000600000000000006810A000C8083E01A8 +:109140000F84630022E8203E130F8403E1C0D84C53 +:1091500032000C8443E000F80022100F840300006A +:10916000C800B2000CC0030A042000000000000088 +:10917000280528008E002F864BE00239088E202D0E +:10918000900BED92F8028EE0A39808E002E808BA8E +:1091900000628008A00228000280028048E0034AA2 +:1091A000004000000000000068054C0083102CF017 +:1091B0000A142A0D1AB30124D00BBC32CC080300C8 +:1091C00020C80B3002CC00B30222C00930020C11BF +:1091D000830020C02820020A005000000000000088 +:1091E00020011E0185002D000B7002183286002D13 +:1091F000C00B6016FE04860027A08B7042DC80B78F +:1092000080210108F80A1800860820A008E80A68EA +:10921000004000000000000028083E02C6803DE03B +:109220000F48030604F58235E00F7803DA00D38097 +:109230003160077803DE20F3B081E04F68070E024B +:10924000CF8031E00C78132A0000000000000000FD +:10925000081DADA0F9003F000FB053F810A9003E63 +:10926000000F8001EC00FB023AC00CB003EC00FBE5 +:10927000743C000F2003E800FA003E800F3003C268 +:1092800006600000000000004005FE028F8035E00F +:109290008DD9032EC4F68032A40CB803DE00CF9023 +:1092A0003CE40CB803FE65FF800FEC8FF803FE0072 +:1092B000C58033E00F68031000700000000000005C +:1092C000AA119C8084B0202029730A0E82A2A0A239 +:1092D000A04F3B038784B2802CA00A7D02DE80F77A +:1092E000202506087002C840840035800B60036AA0 +:1092F000006000000000000000009C10863827C0BD +:1093000049540654401D2021CA096140F880B72005 +:109310002F00897012DC81B7042DC90A6002CC00CD +:109320008D002DC00BF8020400200000000000009A +:109330006014CD288000240009B0224C02A1012035 +:10934000301B2302AF20B3082C801B3000CC04A3B9 +:1093500001263008AC22E80280082E804BB4025867 +:109360000430000000000000A815BC108B8036F00F +:109370002DBC0B6C01DA0422407D9422E400AB4446 +:109380002EC009B802FC00BF003EF0CA9202E402FF +:10939000CB006E400F84012E04600000000000002E +:1093A0008000EC00FB003AE02EBC039808EA40364F +:1093B000438C9003A4442A403E100EB583EC14FB6A +:1093C0000026000E9203E040FA0016000F8013E022 +:1093D00000300000000000000110EC02FA803FE2C3 +:1093E0000FB00B2400EF92BBE01CD0037400CF053C +:1093F0003B400FC8035C00CF0032C24DC123344054 +:10940000CF0017440CD1830004300000000000009E +:1094100081046C008B842E540BBC0A29808B803213 +:1094200000089C03A700AB842E7C0B80022C10DB71 +:1094300001360008800220008200220008900224E9 +:10944000001000000000000080050C0089106690EC +:109450000BB8026E12A34120040A9822E200891977 +:109460002EC04B31226C08830022C00990022400D8 +:1094700089002A400880022000400000000000000F +:1094800008100C0080202C0E1B300204418020208C +:10949000121816420050A0402C881B30020C8193F9 +:1094A00000240008102A000A8800280028000A0268 +:1094B0000100000000000000000C7C11E80026986C +:1094C0000FB013210CEB603AD82884A2E180C820A9 +:1094D0003E5E1F82037C00CF0032C04D8007250016 +:1094E000C90032400C900300015000000000000051 +:1094F000A111FC00F8131E000BF001F0D0F9191FA8 +:10950000084FC013A100F8623FC00BC407ED00FF75 +:10951000003F000FC023F0A0FC0033000FD003E891 +:109520000670000000000000C005FC00FF0C3F209A +:109530000CC9033200CF383FD00F4803FCA0CE2225 +:1095400033000FC1033C00FF003DC44CC0238CE43A +:10955000FF10372008F103F0007000000000000049 +:109560008010FE00BF802E74052202A210DF612F42 +:10957000D08B90023DA4AA9022F40B07121D20BBB1 +:10958000C02FD8889782FD80EF72220828F623E04A +:1095900004300000000000008805CC40B3002C001F +:1095A0000882022200830108CC8B2082CC0090002C +:1095B00020004B12020D80B3402CD80820428C8032 +:1095C000B3202602183326E20170000000000000DC +:1095D000C015AC09BB002E60088002A2009B002EC3 +:1095E000C00BAC022C00BA0622C20B9402AC10BB1A +:1095F000002EC108A802EC00AB00220008B006F063 +:1096000004600000000000009015EC00FB043E60C8 +:109610002882130E08CB003AC00F8C03EC11DB201C +:10962000B2904BA80B2C00BB002CC00C8813AC00D4 +:10963000F300360648B012C40470000000000000B9 +:10964000E001BC00FB083D408FEA01F400FF012F60 +:10965000C00FD022FC04AF003FC08FE9037C00FFA5 +:10966000003FC00F9043FC20EF023F008FF003B893 +:1096700000600000000000005010AC08EB00124039 +:109680000F90032820AB003AC08F8583AC10F350B5 +:1096900032904C34136C00FB003EC00C98032C40FD +:1096A000EB8032120DB00B500420000000000000CF +:1096B00088013C100F05A2500C100222108F0023CD +:1096C000C00B88123C009B8222C008B0023C008F75 +:1096D000A02FC008B0023C088F02200008F003262B +:1096E0000040000000000000E0054D20930020B283 +:1096F0000B10020100A30068C00B8402AC00B38011 +:1097000020400A30024C00A3042CC00800020D00C7 +:10971000A3002024083002380050000000000000A0 +:1097200070011C20978023600878123A00839129E9 +:10973000E40B59021E00979020FC0A78021E008755 +:10974000902DE01959021E80838061A008780218CC +:10975000004000000000000048080C40D3323006F2 +:109760000F30030464E30138C41F30078C18F10084 +:10977000304C0E30034C00E3002CC00C20030E00D4 +:10978000E30032080CB103120200000000000000E8 +:10979000401D9C80EF103D444FF107CC00FF083680 +:1097A000C6CFB003FC009700BECC0DB103FD04FF93 +:1097B0000C3FD29EE04BFD20FF023F800EF013D005 +:1097C0000660000000000000A815ECC0CB283EC0D9 +:1097D0000F8003EC00FB0132E90C28032C00FB0096 +:1097E00032C00CB4832C01EF00B2C80C20036D0012 +:1097F000CB103E000FB203EA007000000000000032 +:10980000C8919CC487602DC00B6002DC00B7122099 +:10981000CC0A70021CC0B300A0C0C870221C80B764 +:109820002421C84850020C8087102D400B7282F210 +:10983000046000000000000081008E0287802DE09F +:109840000B7812DE00B7A021E008F88E1E40B78822 +:1098500021E00838021E40B3A120E848F8825E02E9 +:1098600087802D220B7902E000200000000000001C +:109870000804CC0483022CD40B3002CC00B300A02B +:10988000C08A38060C00B38020E14839122C00B39E +:109890000022C008B0826C0083002C480B3002C24A +:1098A0000430000000000000E805A800CA003FA046 +:1098B0000FE403D800FA0032800CE8032800FA40D5 +:1098C00032A82CA0092808F20032800CE4036800BA +:1098D000CA003F800FA003FB0460000000000000EE +:1098E0004800C000F8013E120B8003E040F8003E43 +:1098F000004F8403E004F0083E004F0003E000F84E +:10990000413E002F8403A000F8003E000F8003D2E8 +:1099100000300000000000000800E600C9123E50C0 +:109920008F9083E420C1003A410F9003E400F900D6 +:1099300030680C90032400D9003A400E98032400AC +:10994000C9903E690C1003020430000000000000C2 +:109950008004674A89802E500B9002E480A900227F +:10996000400B9002E400B9012240089002241089C3 +:10997000002240089302242289422C604890022051 +:1099800000100000000000001815240099002E406F +:109990000B9002E40089002A400B9002E400B90019 +:1099A000234008D002240099002A400A900624404F +:1099B00089412E400890020600400000000000008F +:1099C00008040C8091202C480B1002C400A1202018 +:1099D000480B1002C480B120A14908524A0480817A +:1099E00000204848120A048081202C4028120202DC +:1099F0000100000000000000B80D6008D8043E809F +:109A00000F8503E000C0503A140FA503E140F802AF +:109A100032802CC5032140DA003A140E85432140E0 +:109A2000C8523E140C850B2E0350000000000000AD +:109A3000881DE444E9103F444FD002FC00F9123E77 +:109A4000440FD003E440FD103E444F9103E440E94D +:109A5000403E440FD103E440F9123F400F9103E62A +:109A600006700000000000000805F6A0FD80B3406D +:109A70000C10031400FDA032400FD103E400F58662 +:109A800033602C9A832404FDA822400D5043F40037 +:109A9000FD0033400F90030600700000000000003E +:109AA0007810E100B80022002880022000B800A24F +:109AB000000B8A12E000B80422140884022000B8C7 +:109AC000402000888002E000B800A2000B80020E57 +:109AD00004300000000000004805C400B1422040EE +:109AE0000810020400B14020400B1006C400B14031 +:109AF00024400810024404B1006040091002C40070 +:109B0000B10020400B1002120170000000000000A4 +:109B10001815A400B90222600894022400B9012299 +:109B2000400B9006E400B92026400894026408B96E +:109B3000002240089202EC08B90422410B100206F0 +:109B40000460000000000000A015E410F100326085 +:109B50000C940B2500F90032408F94D3E400F900F7 +:109B600036404C900B6400F10032400D9212E4003C +:109B7000F90032400F900B28047000000000000034 +:109B80006841A400F9003C408F9203E400F9003ED4 +:109B9000400F9C03E400F900BA402F9023A400F981 +:109BA00008BE40CF9003E410F1013E410F9003DA6C +:109BB00000600000000000002810A0C8F8003E036C +:109BC0000C8403A110E80032008C8583E000C00003 +:109BD000380C2C00036000C8003C000D80022010EF +:109BE000C820B2020F8003CA042000000000000059 +:109BF00028053910BE046FA008A0023A008200A216 +:109C0000808DEC03A8008A00238008A02228008E03 +:109C1000CC2F8008E8C2B8008E6023900BA002CA47 +:109C2000004000000000000028054E08B0722CD053 +:109C300028B0068C01A10220C0083802CC008300A5 +:109C400020C02930024C0081002CC00832020C4098 +:109C5000830020F40B3002CA005000000000000016 +:109C6000A0011C00B4002DD048F2021E2185202046 +:109C7000E80972028E808F0120C00972020E80876F +:109C8000002DCC1858028E00850021C00B7202E80E +:109C90000040000000000000A8081E00B4802DE075 +:109CA0000C78839A00EDD031F40C6A03DE82C78011 +:109CB00039E00DF8835EC2C5803DE80C68031200F0 +:109CC000CF8031E00F7E83EA020000000000000038 +:109CD000080DAC08F8003CC00FB303EC00F9023EDD +:109CE000C80FB003ED40FB00BE800EB303EDC0FB18 +:109CF000003ED22E8003EC02F9003EC00FB003C23A +:109D00000660000000000000C005FE00F09133E096 +:109D10008FF803FE00FD803FE00C78833F00CF808A +:109D20003FA00CF8033E00CD803FE00FF813FE107B +:109D3000FF803F200FF943D00070000000000000BA +:109D4000A8119C00B4C131C00B7002D410E5202FC3 +:109D5000C80F40035C0087002D800870021C4087FC +:109D6000102DC00B7602DC80B7002DC00B7002EA0C +:109D7000046000000000000010009C00B62221D00A +:109D80000B7082D840B5022DC08865020C00871880 +:109D90002C040830028C0285002DC00B70469010F8 +:109DA000B6002D000B7022C400200000000000004F +:109DB0006014CC08B200A4C00B3042C610A1002C25 +:109DC000C00A00024C0083002C080830028C00837B +:109DD000002CC00B1882C400B0002C400B3012D8ED +:109DE0000430000000000000F815AC0038003250CC +:109DF0000FF003E620FD003FC008D0023C02CB80FC +:109E00003C502CF00ABC00C9003FC00FBE03AC00A0 +:109E1000FA022EF74FF003EE04600000000000008D +:109E20008000EC00F1003AF00FB003E900F9013EC8 +:109E3000C00F9013EC00F9003E550FB0016C00FB11 +:109E4000023EC00F9073E000F8413E000F3001E089 +:109E500000300000000000000010FC00FC0033C0D7 +:109E60001FF013F008FD023FC08DC0033C00CFA0DF +:109E70003F800C70033C10FC0037C00FE003B000C3 +:109E8000FE003FC00CF0030404300000000000009E +:109E900084046E00B9C2A2F00BB042EB00B9002EF0 +:109EA000C00F18036C00D9812EB00AB0422C00BA42 +:109EB000C62EC00B8C02E300B8C03CA00DB002203F +:109EC000001000000000000080052F00B88022E292 +:109ED0000BB002E620B9002CC008B8020C008B00C1 +:109EE0002E3048B0022C00B9C02EC10B8802EE10F3 +:109EF000B9C02E2019B00220004000000000000070 +:109F000008040C00B00020C00B3006C00091002CEB +:109F1000C04980024C0491002C008A300A0C04B124 +:109F2000002CC01B00124910B1002E200930020283 +:109F30000100000000000000000D6C00B82022C0ED +:109F40008BF003E008FD003FC00CA0033C00CB00F9 +:109F50003E004CF00A3C00B90037C10FA003E000FE +:109F6000FA003E000DF00B0003500000000000005E +:109F7000A01DF001FC403F804FF002F000FD003FCB +:109F8000C10FC003FC00FD003F004FF063FC00FD6B +:109F9000043FC00FC003F080FC007B000FF043E8DB +:109FA0000670000000000000C005F800C81033046F +:109FB0000C40023400C8851FC02DD903FCC0DB282B +:109FC00037640FDB033E00FF253FC80EF203FE207F +:109FD000FFA437C40CC80330047000000000000068 +:109FE0008010E80088202200088812260489822E2A +:109FF000F448B802FCC498C2227C4B9D422608BF9C +:10A000001877E408F182EF00BBD022D80890836073 +:10A0100002300000000000008845C804A0002400B1 +:10A020000A00020C0082042CE0081002CC8083009D +:10A0300024000B1006C801B3202CC0293202C80826 +:10A04000B10024D00882026201700000000000000C +:10A05000C015A800A80C26000A80022C148A026EE3 +:10A06000E008B0024C08A80026200B9C02E400BBCC +:10A070000422C019B002E801BB1102C0889002F0AE +:10A0800000600000000000000015EC02EA40B6602D +:10A090002E980B2002C8023EC00D9803EC02DB880C +:10A0A000B6210F8803AC08FB002CC00EB043E5803E +:10A0B000F06036C00C01434804700000000000004E +:10A0C000E001BC00D6013B6485D903F00CFF003EE3 +:10A0D000C10FFC21EC00D7903B400F50033C00FF28 +:10A0E000003FC08EF003F440FD883FC02FD00278BF +:10A0F000006000000000000040108C00DA403C408E +:10A100000F10034800F9223CC20E9083EC02DB04DE +:10A110003A080F8487E800CB003EC40EB003ED0080 +:10A12000E8423AC00F800B1004200000000000003D +:10A1300088052C088A002E428B90022818BB4922E1 +:10A14000D038BC82FC00E8022262CB9C00EF60DFCA +:10A15000002FC00BF002EC00094037C00B90023218 +:10A160000040000000000000E005481011002CA095 +:10A170000B2002440090C06434283402CC00938445 +:10A1800028400B0800CE0093002CC20A3002C00009 +:10A19000B24022C00B20023000000000000000008E +:10A1A00070011A4085802DA00B68061680BD902591 +:10A1B00024187B42DE40A08021E00B6802D6009785 +:10A1C000902DE00B7802CE4092806DE40B7802086F +:10A1D000000000000000000048082800D1803C88F2 +:10A1E0000B22034E80F2A13C242A3903CC40D3AC8D +:10A1F00038C50F3082C800D3003CC00E3013C000F9 +:10A20000F10038C00FA0031A060000000000000093 +:10A21000401DB810FD343E800FE003EE0072003A9E +:10A22000000FB063EC40F8223EC00FF003D440FFB3 +:10A23000003FD20FF003EC00CF0037C00FF003D087 +:10A240000620000000000000A805EE00EB0036E04C +:10A250000DB0032000F08033C008B8032C80CB0081 +:10A2600032800FA0136E08CB2832E00DB483E200D9 +:10A27000CA003EE00CA803020070000000000000CD +:10A28000C8118C04830021C04870021000B702215D +:10A29000C04A70020D48D40035C00E6002DC00A731 +:10A2A0004029C0097202D410A6022FC808700212F9 +:10A2B000006000000000000080009E00A78020E0F9 +:10A2C0000A38021A00B58021E008F8225C818380F8 +:10A2D00021A10B78825A1083A020E80A7B02DA00C1 +:10A2E00097C02DE408E802080020000000000000EC +:10A2F0000814CC00831020C00A30020808B3702074 +:10A30000F80A30424C04931426C40A3802CC00A345 +:10A310000028C0AA3002CE40B3882CC028300A12D0 +:10A320000430000000000000E815A900EA80B690A3 +:10A330002F240B3904BEC033920CA00B6818CEC07A +:10A3400033800FE9437800CA0032800FA013F84829 +:10A35000DE003E800CE0023A002000000000000019 +:10A360004800E024F8003E120D8093B028F800BCAD +:10A37000000F8403A000F0003E020E8000E000F811 +:10A38000013E000D8003E000E8003E000F8003D294 +:10A3900004200000000000000810E400F900B27082 +:10A3A0000F90010400C9003E400C9803E404E90842 +:10A3B0003A480C9A03E400F90036400B100B268053 +:10A3C000F18032400F9003C2042000000000000022 +:10A3D00080046400B90022610B9002240889002ED9 +:10A3E000400D9A02E408A90022780D9406E410B901 +:10A3F0000022500B90022580B98036400B9002E07D +:10A40000000000000000000018052400B5002342F1 +:10A410000BD00EB40089042E60089102C404B90464 +:10A420002AC0089402E410B10026420A90022400D7 +:10A43000B92162400B9002C60040000000000000FD +:10A4400008040500B54021504B5006940281002CB1 +:10A4500060291406C500A1222051891402C400B14C +:10A460002020480B14020401B10004500B1002C25A +:10A470000100000000000000B80D6008B8003200C4 +:10A480008F8003B00088003E000C8003E000E804E9 +:10A490003A000C8002E000F85036000F80032004E0 +:10A4A000F80112004F8007EE075000000000000086 +:10A4B000981DE510F9403E500F94026501FD013DE5 +:10A4C000504F5013E500FD101F5007D443D400F93E +:10A4D000101E440F9403D500FD403E500F5283EEF2 +:10A4E00006700000000000001815E440F9603F44C9 +:10A4F0000FD0C3E430F9013E420CD003E780DDA069 +:10A5000033400CD003FC00C9903F681E9103340017 +:10A51000FD003E680C94030E007000000000000077 +:10A520003910E000B8422E090B8402E104BE002E6F +:10A5300010088022C280884022000A8002E000A821 +:10A54000D02E104B8A036000BA002E30088A028693 +:10A5500000300000000000004005C580B1606CD0F4 +:10A560000B1000DC0CB5002C41081002C5809110C6 +:10A5700068C0083002E40C81222C5008104204000C +:10A58000A1002C5A28900252102000000000000068 +:10A590001815A400B9002E410B9012F480BF002EB4 +:10A5A00040089002E400A96060420A9412E500A904 +:10A5B000002E400B90026420B9000E40099002C6A4 +:10A5C0000420000000000000A005E400F9003E4166 +:10A5D0000F9023E400F9003E400C9003E404D1C046 +:10A5E000BA700C9803C400C9003E400E9003254089 +:10A5F000E9403E400C10036800200000000000000D +:10A600006801A414F9003E400F9023E408F9A03C2F +:10A61000C22F9003C400D9803E700F9143E400F92B +:10A62000003E401F9013E620F9A03C404E90039A54 +:10A6300004200000000000002800A000F8003E02F6 +:10A640000F8013200CFC013E000C8003E000C8507A +:10A6500032000F800B2008F80032002C8043E040CD +:10A66000F8023A008F80030A042000000000000076 +:10A67000A88528083A000F804BA1022800BA822E34 +:10A680008848E402E800AE90A3900BE0003800BADE +:10A690000037A008A002F8009EE022800BA0234211 +:10A6A000000000000000000028054C1033002CD0F2 +:10A6B0000B14020C00B2912CD0083E024C008340D7 +:10A6C00024C20B36008C00B30020C009B002CE00BB +:10A6D000B3CC68C00B300202005000000000000044 +:10A6E000E0011C88B7252DC08B581A1C08B6002D18 +:10A6F000C0087402DC40A50025C01B78029408B78E +:10A700008025E30A7102DC00978321C88BF102489F +:10A710000060000000000000A8081F00F7E27DE0D4 +:10A720000F58431E18F6807CE02C68025E90C380B0 +:10A7300035E00FF8039E04FFA120A10D7803D60099 +:10A74000F78039F80F78030A0600000000000000C7 +:10A75000481DAC00FB407F410F1003EC04FA003EA3 +:10A76000D00FA003ED00E9002A000FB0036400FB46 +:10A77000403EC00DB003E400D30036C00F3803C222 +:10A7800006600000000000004005FE48CFC03360B6 +:10A790008CC843D600CC943FB00DF8037F00DF8017 +:10A7A0003F600FD803DE00CFCA3D600CF8133A4477 +:10A7B000DD803FE00FF8431800200000000000009B +:10A7C000A8119C008F1133C0484112C44884112C39 +:10A7D000EC2ABA033C40D7482D410B6002D400D785 +:10A7E000013DC00DF0035A0084182DC00B70036AA0 +:10A7F000002000000000000000408C08870021407D +:10A80000094002D400A4922DC80962825C0087002E +:10A810002DC00B5002FC0087002D040870021C8024 +:10A82000B5002DC00BF00200002000000000000069 +:10A830006010CC0083002040090022C700A0412CFA +:10A84000C14B08022C0093402C7C0B3802C720938C +:10A85000002CC00930024F84B0802CC00B32105045 +:10A860000420000000000000AA15BC02CF00B24086 +:10A870000D1003E824EBC13EC02D98137C0AC2439F +:10A880003EB00FA903E920CF003EC08CF0030D209D +:10A89000FAC03FC00F74012A0060000000000000F1 +:10A8A0008000EC00FB023A408E9003E8145B503CC1 +:10A8B000504E8403EC00F8403E80078103EC08F31F +:10A8C000003AC09F3003EC00CB203EC00FB023E81D +:10A8D00004300000000000000190FC00FF003F4039 +:10A8E0000FD0033820CF0832C10ED003FC00FE0881 +:10A8F00031E50EE4033A00FF0033800FF02B240013 +:10A90000CCA03FC00FF00300443000000000000066 +:10A9100080046C00BB003A690B906E0800834136DE +:10A9200040C888C6EC00884036800DA8036E50BB36 +:10A930000036C00BB0022400D9082EC00BB003E0D3 +:10A94000401000000000000080052C00BB002E60BD +:10A95000038002200089012258089822EC01AB00F4 +:10A9600022000A10022800BB0022400BB00228007F +:10A970008A002EC00BB042200050000000000000F2 +:10A9800008040C00B30028408B0002024089012417 +:10A99000D2281002CC00831024200808024E00B3F5 +:10A9A00004A0C00B3002088892002CC00BB002C279 +:10A9B0000000000000000000000D6C00FF003E00E1 +:10A9C0000F80022010895022D82E9622FC00EB40E6 +:10A9D00032C00A90032800FF0022000FB0032CA011 +:10A9E000C8003EC00FB003000610000000000000C9 +:10A9F000A019FC00FF0C3B000FC0027090FD003E50 +:10AA0000C90F96C3FC00FF003FC00FF003FC04FF1A +:10AA1000043FC00FF003EC00FC003FC00F7003E8E0 +:10AA20000670000000000000C005DC80FB283F002D +:10AA30000CC10BF102ED0037302CF103B240FF00E6 +:10AA4000BBC00F4806B200FC803BCC0CF00370800A +:10AA5000DF2833040FF40330007000000000000012 +:10AA60008010FF40BF602E210882022000A9282A02 +:10AA70000009FA022000BF5123D8099802E430B03F +:10AA80000023D008F5A225A48F423C100BB00A2069 +:10AA900004300000000000008805CC00B3082C0042 +:10AAA00028001AC084200024C84B3142C000930201 +:10AAB00020C6080006C081B3002CD8093202A0408D +:10AAC0009301244C0B3202220170000000000000B0 +:10AAD000C011AC00BB022E0A0880826000A8002EC4 +:10AAE000E01BB00262013B0022C1099002E200BB00 +:10AAF0006026C108B02A26009B042E210BB002302C +:10AB000004600000000000004011EC10FB003E104B +:10AB1000088413EC02A90436200FB003EE80FB007A +:10AB20003AC00CA003A28079401EC08CB0636A10AA +:10AB3000D30036A207B0030004700000000000003C +:10AB4000E001BC00FF003E204D41039C00FD20AB16 +:10AB5000000CF003B800F7003FC04DC903F400FF3C +:10AB6000003BC02EF000F000EF003F004B7003F8F8 +:10AB700000600000000000004010AC80EB007E1080 +:10AB80002E8403EC00E00032500FB0862500DB205D +:10AB90003AC00DB063E110FB4838C10F30032C04FC +:10ABA000FB0832C00CB00B90042000000000000035 +:10ABB000C8053C008F006429288003EC02E804A843 +:10ABC0005608FC07E0000FA0BFC00B9502A000BB19 +:10ABD0000537C089F00A0DC8BF082A8008F0023284 +:10ABE0000040000000000000E0054C01B30224E03A +:10ABF0000A30128003A300A80002B822C000B300EC +:10AC000028C10B04020800B94028C00B300203041D +:10AC1000B34420004A300238005000000000000019 +:10AC200020011E2017A065EC083802C241B3922B08 +:10AC3000640A38023601B7902DE003F8009A00B597 +:10AC4000802DE08978121E00B78029E00A7802087A +:10AC5000004000000000000048080C0073B024C849 +:10AC60004E300A8002E20038940E31A2C800730010 +:10AC700018C40500030000F30038C007B10300004A +:10AC8000F30130410EB0039202000000000000000A +:10AC9000401DBD00EF1026C803B103E000EA817833 +:10ACA000C50CB5E3DC00C3003EC10FF083B000FF6C +:10ACB0000037C00DF403E400F7003F400DF003D06F +:10ACC0000660000000000000A805ED10CB283EC083 +:10ACD0000DB013AC10FB003A8004B403AC00FB04CD +:10ACE0003EC00FA4B3E000FB8032C00FB003E80009 +:10ACF000FB48B2800FB043EA007000000000000083 +:10AD000048119C02874438C08D30024C00FF00215E +:10AD1000C00870039C00B35021D44E6202D000BF23 +:10AD20000035D4097022D800BF2221C00B7202D294 +:10AD30000460000000000000C0009E4087802DE0FD +:10AD4000097802DE00B68029A1287A32DE0037A019 +:10AD500025E0097806D200B78021E80B7902DE00F1 +:10AD6000B79021E00B7902F0002000000000000005 +:10AD70004814CC04830128C089B00A4F00B20020D7 +:10AD8000C4883016CF00BB0420C10A3206C200B30B +:10AD90000024C0093042EF10B30020C00B3002D2B3 +:10ADA0000430000000000000E815A8004A003E80C2 +:10ADB0002DA00BAA80FE002B800CA043FB30FA00D4 +:10ADC0003E800FA083FA04FE1822800FA003FA84AD +:10ADD000F20033A20FA003F20460000000000000A4 +:10ADE0004800E000F0003E002F8003A020FC023E5F +:10ADF000001F8403A000F8403E004F8001E040F8AF +:10AE0000403E000D8013E000F8003E000F8003D2AA +:10AE100000300000000000000810C600D9003640D5 +:10AE20000F900B0400C90036686C9403E420B990BD +:10AE300036400C9403E40029803E400F9003242008 +:10AE4000C90036400F9003C204300000000000002B +:10AE500080046650890020500890022409D90020FF +:10AE600048489006E40499A022400DB822640009E5 +:10AE70005032400B9002279089402A400B9002E00C +:10AE80000010000000000000180124009900664234 +:10AE90000AD0123400850026404A9002E401B9012C +:10AEA0002440589012C40029402E400B100A2480E0 +:10AEB000890526410B9002C60040000000000000FA +:10AEC00008040480812061480852021481952020E2 +:10AED000400A3602C400B12000484110424401A19A +:10AEE0000024480B12120480812028480B1202CA49 +:10AEF0000100000000000000B80D6000D8503600CE +:10AF00000E852321428C5434140E8002E140F85007 +:10AF10003614048003E144E8507E150F8503214276 +:10AF20004A0036140F8003EE0350000000000000BA +:10AF3000981DC440F9101E444E9103E440F9103F9F +:10AF4000C00D9103F400D9143E440F90037400DD4A +:10AF5000007A440F9103F440F9383F440F9383E79C +:10AF600006700000000000001801F680F9A43F6898 +:10AF70000E9E436780D9E43F410FD8430400EDC0E3 +:10AF800036400C9003E400D54032400C9003F400AE +:10AF9000DD0032402C9A03C60130000000000000A2 +:10AFA0003810E000E8C02E144D8F2223C0F8F0AA1C +:10AFB000000C8003A2A0D8822200088002E800D8FA +:10AFC000802A00088002E80888A83600488A82CED5 +:10AFD00004300000000000000805C500B1482E4004 +:10AFE0000A122244009104A4410A940624009142CA +:10AFF0002441091002E40191202440091002C401F7 +:10B0000091002C40091402C2013000000000000031 +:10B010001815A400A9002E404810022400B940AA27 +:10B020004018B002E40899002240199046E4809943 +:10B03000042E40099002E40199042650099002C6AA +:10B040000460000000000000A011E400F9063C408C +:10B050000A90036402D900B6500E90232601F9002D +:10B060003640299483E400D94836400D9003C70048 +:10B07000D1073A50CD9003E8042000000000000002 +:10B080002801A408E9003E408F9003C408F1003A6B +:10B09000688F9003A441F900BE400E9003E400F9CC +:10B0A000C038402E9003E640E9003E68069003CA8F +:10B0B00000200000000000002810A000D8053E007D +:10B0C00007800B2000E8403E100D82036000C8009E +:10B0D000B2008D8303E000D8503A001E8003E124C3 +:10B0E000F800B2000F8003020420000000000000FE +:10B0F000280538008A042F846AA00BE8088E003DDA +:10B100008088EC036810A601368008A800C8108E5D +:10B1100010228008A002FB20BE512A800BA00282D0 +:10B1200000000000000000002805412193002CF0E1 +:10B130003930060C00A300280828BC022C008380AC +:10B140002AC0083000CC009A8028C00A3002CD0006 +:10B15000B30462C10B30020A00500000000000007E +:10B16000A0011E0407112CD00A3222DCC187006D19 +:10B17000D00834027C00A70824C8087002DC800FC5 +:10B180000021C4087306DC00B20061C80B3A0288D3 +:10B190000440000000000000A8080A0057812DA00C +:10B1A0002D7C023E82E3E03BE00C78031E20C7804A +:10B1B000B9E82C7803FF80D6803BEC027A03DE00EE +:10B1C000F78131EC8F7C030A0200000000000000D0 +:10B1D000081DAC00FB001E8023B683EDA0DB643E9F +:10B1E000C00EB003EDC0F2003ED40AB003EC30EE66 +:10B1F000643EC007B0C3E800FB013EC80FB803C2FD +:10B2000004600000000000000005F600EF803BE055 +:10B210000FF8637E04CFC0B7200EF803FC00C78090 +:10B2200033F00CCC03FE08F7C133E04FF803B24013 +:10B23000FFA031E60CF803100470000000000000CD +:10B24000A8119C00EF0221402D70021C00F710296C +:10B2500040087022FCC0A7003DC0084002DC00B7D7 +:10B260004021C00B7002DA80B72429C648F0022AB8 +:10B27000066000000000000000009C00A700288479 +:10B280000B30020C00930025800A6102DC01A7103C +:10B2900024C0084082DC009F0025C40B7002942566 +:10B2A000B73223C41B700200002000000000000021 +:10B2B0002014CC0CA300200029300A0C00A3006C41 +:10B2C00000081042CD10AA00ACC0000402CD00BBA3 +:10B2D0001024C0033042C309B3002CD00A30021836 +:10B2E0000030000000000000A8158000EF003A4088 +:10B2F00007F0433C009FC0B6140E8006FC01CB0152 +:10B3000037C0ACB402FC00D90137C04BF013AE0813 +:10B31000FB0033D02EF00B2A00600000000000007C +:10B320008000EC00FB053E400F3003AC14FBA03A5C +:10B33000C00F8443EC01F9403EC00FA203EC21F999 +:10B34000003AC00FB003E420F000BAC00DB003E033 +:10B3500000300000000000000110F800D70135683F +:10B360006DF0033C01E70033C00DC003FC24CF02A5 +:10B3700037C00DD202FC00DF0133C05E70331C18F1 +:10B38000CF4131C20CF0034040300000000000000B +:10B3900081006C008B0022522AB0036C00AB0028A5 +:10B3A000C00A8C02EC108BE022C00F8002CC008B14 +:10B3B0008022C008B0022A10D98022C0C8B002E0A2 +:10B3C0004010000000000000800524019B00268042 +:10B3D00029B0620C00AB016A00089802CC009B8384 +:10B3E0002EC0CBB412EC038B8028C00AB006A2009A +:10B3F0008B0262C008B002E00050000000000000B4 +:10B4000008040C01831420000A30024C0083002A37 +:10B41000400A1000CC02930028C00A2002EC00036E +:10B420000020C00830160080910060C0083002C2C1 +:10B430000100000000000000000D6C00DB00368001 +:10B440002DF0033C00AF003A800D8003FC005B0050 +:10B4500037C0099003FC00DF0033C00AF003A420CA +:10B46000CB00B3C08CB0034002100000000000000D +:10B47000A01DFC04FF200F0027F003FC00FF002D9F +:10B48000000BD027FC00EF0037C00FC043FC00FFCB +:10B49000003FC00DF00BE000F5003FC01FF003E8D7 +:10B4A0000730000000000000C001F4C0FC227FC093 +:10B4B0000CD0433600C48134C01C8907F280CF8091 +:10B4C00033600F79033CE0CF0833480DC403F050DC +:10B4D000DC9037CC0FF803F0007000000000000093 +:10B4E0008010E990B8807EE488990A2608A9802215 +:10B4F000F42C9903A702898022340B9A037D00DF84 +:10B50000482B60080502E500822022C48BB002E0CF +:10B5100006300000000000008805C500B0102CC0F7 +:10B520002A0002A408A804E0800B0002C441B2046F +:10B53000A40A0BB0028C81832060509812128B8079 +:10B5400089002CC80B3002E20170000000000000EE +:10B55000C011AC20BB022AC00A8802A408A980A29C +:10B56000E11B9C22E600B84026300B9002CC0193F0 +:10B57000042A40399882EC148B652AC00BB202F879 +:10B5800000600000000000004015E700B8482E00F1 +:10B590000E88438400E3C136E80F9C12E280F3C0BA +:10B5A00036705FA823AC01CB0422404D8403E20037 +:10B5B000D8003EC00F9003D00470000000000000CF +:10B5C000E001B309FE103E810DC003740CFF003D85 +:10B5D000C18CD0831400CD203A400DCA017C00FFFD +:10B5E000001F400EC023F246FE8437C00FD803F878 +:10B5F00000600000000000004010AC00DD023D4093 +:10B600000E9003AC00EB483ED00C8063A208CA0049 +:10B6100032080CB003AC08EB003E400CD483582039 +:10B62000F94232C00CB003D004200000000000003A +:10B63000C8052802DB002EE0283A022E00DB6076E7 +:10B64000E00D8C02E000880236586815837C08BF44 +:10B65000002D60089002A900B30523C008B002F2D3 +:10B660000040000000000000E0054C1080000CC10C +:10B67000081C82060093C020F60A200208009300EE +:10B680002460093C020C0083002C60090112004078 +:10B69000B000E0C0083002700010000000000000A0 +:10B6A00020410A4086812DE058180A16A09780256F +:10B6B000E9197882D600978025A019F8025E00B7B4 +:10B6C000802D602848129600B48021E0287802C8B6 +:10B6D000041000000000000048080C0081303CC24B +:10B6E0000E00028400E34028E84C29030C00D3003C +:10B6F00034C40D31038C08E3003C460C2003008069 +:10B70000F20032C00C3003D2021000000000000032 +:10B710004019B800FF102FC00FC023C4807F103E17 +:10B72000C00FB103DC00E7003F8006F143FC00FFDF +:10B73000087D500EE123B408FE103FC40FF003D083 +:10B740000460000000000000A805E402CC003E00F8 +:10B750002CC0030401CB0033602C9013E80073006D +:10B76000B2C10FA003EC80FB283E541FD003FE02A1 +:10B77000C98032C00FB003CA007000000000000092 +:10B780004811800086002D800820021408870029B7 +:10B7900040087002DC00B70021C00B60025CA0977B +:10B7A000202D480B5002DC108D0021C80B7002D2F6 +:10B7B0000660000000000000C0009F0085812C6032 +:10B7C000185802DE20B78228605A7852DE10BF80F7 +:10B7D00021E04B7806DE40B7A02D699B7812CE00A1 +:10B7E0008780E1E40B7802C0002000000000000028 +:10B7F0004814EE0083002CC20836028C0883F068DF +:10B80000400A3E02CD40B30020E00B32064C009BC4 +:10B81000000C400B3002CD80830820C00BB102DA4F +:10B820000030000000000000E815B800CE083FB06E +:10B830000CE423DA02DE40BBB20EE243FA00FE0063 +:10B8400033900BE003E800FA003E810BE013F908A7 +:10B85000CE4032800FA803FA047000000000000000 +:10B860004800E02498083C040F000B6000F8402ECC +:10B87000030D8003E000F8003E060B8003E000D8D3 +:10B88000003C00038C23E100F8007E000F8003D20F +:10B8900000600000000000000810E402C9003E4003 +:10B8A0008C90032500E98032440F9402E420F900D3 +:10B8B00032700F9A43E400F90032400C1033241028 +:10B8C000F9013E400F900302042000000000000038 +:10B8D0008004640089822E40289002248281C0A2C4 +:10B8E000700B9C02E4003142A2600B9482E400B928 +:10B8F000002A400894A22500B9002E400B900A208F +:10B9000000100000000000001805240089642E408B +:10B91000089042A400896022420B9002E600B980A0 +:10B9200022400B9002A404B9002240289002240473 +:10B93000B9002E400B90020E0040000000000000F5 +:10B940000804058081002CC1481002A40281002057 +:10B9500040833402C400BB0020D00B1402C480B169 +:10B9600020A06818141A0D00B1402C500B10020AC8 +:10B970000500000000000000B80D6000C8003E0097 +:10B980008C800BA004E8003200078003E000F80080 +:10B9900032001F8003A140F85032000C80032000C9 +:10B9A000F8003E000F80032E03500000000000004E +:10B9B000981DF446FD403F5023D4137404F5023F14 +:10B9C000500FD403FD00BD002F500FD003E440F909 +:10B9D000103F440FD403F508FD063E500FD283E616 +:10B9E00004700000000000001805E640ED043E4829 +:10B9F0000CB283F400C10032408CD0033400FD004F +:10BA000037400FD003E620F9883D620CD803FE24AE +:10BA1000C1003E780FD00306007000000000000057 +:10BA20003810E10088402E1008C423A00888062A98 +:10BA3000140880036004B80022000B8002E200B802 +:10BA4000802E00088C02E38088022E380B88020EBC +:10BA500006300000000000000805C580A1C02D7060 +:10BA6000085042C400A90020E02A100A0410B100C6 +:10BA700024404B1006C420B1086E400B1682C4202F +:10BA800081002C500B928252002000000000000028 +:10BA90001811A400A9012E4028D020A404A9002A2E +:10BAA000401AB0122400B90C22420B9402E400B9EF +:10BAB000006E400B9602E41189206E400B90024606 +:10BAC0000020000000000000A015E4C0A9C03E5006 +:10BAD000089C83E402E900B2402A92122640F94011 +:10BAE00036700F9403E404F9013C400F9803E6021A +:10BAF000C9223E400F1002680470000000000000E0 +:10BB000028018604D9401C400F9223A4B0DB043CDA +:10BB1000C00D9A03E400F9003E440F9003E400F9DD +:10BB2000003E422C9023E480F9003E408F92039225 +:10BB300000600000000000002810A100C8203200B2 +:10BB40004CC08B2002C83132202D8403E104F84818 +:10BB5000BA000F8903E000C80032000D81132010E5 +:10BB6000F8003A000F8123020420000000000000CA +:10BB7000280528000E40228028A40219005280A225 +:10BB8000804DED82E800B64223BD0BE802E804DAFE +:10BB900000378008E0023A20BA0022800BA80A0A87 +:10BBA000004000000000000028054C00838060C0B9 +:10BBB0000829020D00924024C008B402CC00B30052 +:10BBC00068E01B3002CC00930124C06938026C008D +:10BBD000B3002CC00B30020A00500000000000002F +:10BBE000A0011C4083C020400828069C189C022409 +:10BBF000C0097002D400B70021C00B7002CE40977C +:10BC0000B0254008781A5800BFA265C80B780220FA +:10BC10000440000000000000A8080E028780B1A0C8 +:10BC20000C68031A08D69235E4287842D610F580BD +:10BC300039A00F7823DE30D3A235A04DE8035E0093 +:10BC4000F7D03DF80FF003220200000000000000D2 +:10BC5000081DAC00FB043E000BA0034804FA413A67 +:10BC6000500FB003E400F1003EC00FB003ED88FBBD +:10BC70004D3E000FF003BC08FB203AC00FB003C2DA +:10BC800004600000000000000005FE00DC80B3E05E +:10BC90000CD803CE00C8A031A08DE903BE00B2804D +:10BCA00033E00CE8437E040F8131E40CD803F60046 +:10BCB000FF803FE00FF803000420000000000000B8 +:10BCC000A8119C00B4403540085082DE80D49021F9 +:10BCD000E00D5102D440B6B02B900EE5029C40D747 +:10BCE00022195C0D7002D800B7202DC00BF0036A3A +:10BCF000042000000000000000009C009310218040 +:10BD0000085802DCC0940023D00870A0D420B502EB +:10BD100029800960820C00870225C0194002D400E6 +:10BD2000B7006DC00B700200002000000000000092 +:10BD30002014EC00B3C02001481802CC028144A0BA +:10BD4000C0893802C780B1002C094A0062AC09934F +:10BD5000012840193002CD10B3902CC00B3002C81E +:10BD60000420000000000000A815BC20DB6222E0D7 +:10BD70006CA003E400980032C0EC9823AE08FB08E6 +:10BD80003A780990037C10CF0026400CB003EC00F9 +:10BD9000FF803FC00F90032A0460000000000000F5 +:10BDA0008000EC20FB483C610FA043ED00F8243EEE +:10BDB000500F9083E400FB003A500F8043EC08FBE7 +:10BDC000003E400F4003F000FB003EC10F900360B7 +:10BDD00000300000000000000110FC00DDA03280F7 +:10BDE0000CE001FC00DC9139C03C40033400FF80D2 +:10BDF0003F000FD007FC00CB003D400CE003382093 +:10BE0000CF023DC00CD00308443000000000000009 +:10BE100081046C000140220028A002CE86836422A7 +:10BE2000F4088C0F6400BB102E600B9C03AC01DB8C +:10BE3000003E60088F0223408B003AC00D1043681B +:10BE4000401000000000000080052C009900A2C0F6 +:10BE5000089002A607980002C24888022C00BA0285 +:10BE60006E600A9802EC008B012E600890020500BB +:10BE70008B002EC008B1022000400000000000002E +:10BE800008040C1081002040281026CC808020A0BF +:10BE9000CC1814420400B2206C400B00028C0083CA +:10BEA0000028402800020000830028C009B0024298 +:10BEB0000500000000000000000D6C00D900228089 +:10BEC0000C9003AC80DA292AD22880022400FB20BF +:10BED0003E000F9002FC008F002E400C800B2002D1 +:10BEE000CF003EC00CB00300035000000000000073 +:10BEF000A01DFC00FD003F000FD063FC49F5003E93 +:10BF0000C00BC001F4007F403F401FD003BC00FFC6 +:10BF1000003F400FC003F000FF003BC00FF003E8FC +:10BF20000470000000000000C001F240ECA03FE0FF +:10BF30000D48037D80F480336C0EC8033200DD9021 +:10BF40003BA02DF003FCC0FF003BE08EF0033C045F +:10BF5000EC6031000CF003B0007000000000000045 +:10BF60008010EC00D9C12EE10D88023C80F88036AB +:10BF70007D18A00228B0EA202220087702FD50BBDD +:10BF80008022400BF4423D808831221208F602E004 +:10BF900004300000000000008805CC0080112EC194 +:10BFA0000800024D80B80020000A0282000099209B +:10BFB00022C0093082CC00B30028CA0B34820D2085 +:10BFC0008000A08C083482A20170000000000000F4 +:10BFD000C015AC4099802EC20994022C00A980267D +:10BFE000600838422220BA4162463BB002EC01BBF5 +:10BFF0008022400BB0460C1888C0222208B006F000 +:10C0000004600000000000004015CC00C9813CC164 +:10C010000CA9236C00B28032780A8A0B26009901A1 +:10C0200030E00DB003EC00B9003AC01EB0032C00A4 +:10C03000CB8032610CB0139004700000000000004F +:10C04000E001BC10DD003FC20FE803AC00FE003D84 +:10C05000400FC043F810EF14B7E00CF003FC00F5FC +:10C06000023F444FB04BFC02D4043D402FF003F894 +:10C0700000600000000000004010AC00F9083E60C5 +:10C080000DA003AC00E85032000C8403A500E900C9 +:10C090003AD80FB0032C00F9003AC00F30032C003F +:10C0A000CB443ED40EB003D00420000000000000BA +:10C0B000C8052C08B9802EC00A30423C008904769D +:10C0C000600890622000820422D008F0437C00BB0C +:10C0D0008222400BF0423C008AC02EC108F002F2DE +:10C0E0000040000000000000E0054C10B2D02CC061 +:10C0F0002918028C04A100249C0810028000A101D0 +:10C100000CC12B30528C04B30128404B30024C0040 +:10C1100090202C200A3002F800500000000000009F +:10C1200020411E00B7A225E88A68021E00858025EE +:10C130008088E8023E0085802FE4287802DE00B780 +:10C140008061E00378025E82B7822DE0087802C841 +:10C15000004000000000000048080D00F0103C8086 +:10C160000D10838C00E25026040C11038840EB0074 +:10C170003CC40F30038C00F30838400730036E4096 +:10C18000D0083C880E3043D20200000000000000BE +:10C19000401DBC00FB343CC94EB023ED20FB043FE6 +:10C1A000C88F70534C00EB1031C50EF4036D00F3D3 +:10C1B000003FC00FF40BBC00CD003FC00FF483D094 +:10C1C0000660000000000000A805CE04C904B0C14C +:10C1D0000F98136C90CB023EC04FB063E400F18027 +:10C1E00012C00CB503ECC0CF8332400FB3232DA493 +:10C1F000FB003E000FB4032A0070000000000000A6 +:10C2000048119C00870021C02D60021C00D7003916 +:10C21000C00B6002DC00B50021C02A7012CC808700 +:10C220000035C00B72521C00B7002D410B320212B8 +:10C230000460000000000000C000BE0081C0232098 +:10C240000BD8025E0006C02DA00B7C12DE08BF805A +:10C25000A1E22A7A02DE00938025600B781E5E50F0 +:10C26000B7802DA00B7802300020000000000000F5 +:10C270004814CE00836020C00931022C00930028AE +:10C28000C01BB006CC80B34820F00A3002EC00930B +:10C290008024C00BB0024C10B3C82CD28B300212D9 +:10C2A0000430000000000000E815BB00C6C4318166 +:10C2B0000FE0036800CE803FA20BE803F900FE40C8 +:10C2C00031806EA007E800DA0026810FA002680125 +:10C2D000F6E03D920FA0033A046000000000000069 +:10C2E0004800E0C2F8043E140F8013E010F8013E4D +:10C2F000100F8043E000B8003E00478003E002E8F2 +:10C30000103E000F8007A000F8002E000F800BD217 +:10C3100000300000000000000810E400F901324085 +:10C320008C9003E400C90036420F9003A400C900BA +:10C330003E420D90036400D9003E400F900B640014 +:10C34000F99032410C90030204300000000000001C +:10C3500080046400B9C8A2600A9202E40089402EF9 +:10C36000580B90020400D9002E42089002E4048980 +:10C37000002E400B90062404B9082A404890122051 +:10C38000001000000000000018052400B91022442D +:10C39000089002E400890022458B9002A4008900E5 +:10C3A0002A40099002E40099802E400B9026240038 +:10C3B000B9012270091002060040000000000000D0 +:10C3C00008040408B12020400A1002C48083002C15 +:10C3D000504B1002240091002E40081202C48181AB +:10C3E000A26C400B12020480B9202A4829120202D2 +:10C3F0000100000000000000B80D6140F80032802C +:10C40000088003E142C80032001F8503A140C850E4 +:10C410003A008D85036140D8003E000F050321409E +:10C42000F85032140D850B2E035000000000000060 +:10C43000981DF404FD103F400F5003C440FD003F21 +:10C44000510FD003F400FF013D400F9103E440FD84 +:10C45000103F4A0F9103E440FD103F440E9103E664 +:10C4600002700000000000001805C500CD0031403A +:10C470000DD043E400CD0033404F1102E404C1006D +:10C480003D400C9003E400EDA432500F9003E40013 +:10C49000FD003F400F9003C6007000000000000048 +:10C4A0003810E208D8003201008012C0004800367F +:10C4B000800B8A02E000A8002E000F8002E00088B6 +:10C4C0005034280B8002E000B8002E000B8002CE12 +:10C4D00004300000000000000805C48081002640F0 +:10C4E000091802C408210028408B1002C400B101C1 +:10C4F0002E40181002C400A10120481B1002C400E5 +:10C50000B1006C400B1012C201700000000000006E +:10C510001811A4009980A242489002E400A92A269A +:10C52000440B9082C481B9002E400B9042C4008914 +:10C530000026400B9002E400B9012E410B9002C688 +:10C540000460000000000000A015C520C984307000 +:10C550000D9013E402E90032700F9403E400F940F7 +:10C560003C480C9003E400E10032400F9001E400ED +:10C57000F9903E600F9026E8047000000000000073 +:10C580002801A500F1043A448F9003E410C9043E49 +:10C59000600F9003E400E9203E400F9003E410F99F +:10C5A000903E400F9003E400F9803E640F9007CA6C +:10C5B00000600000000000002810A100C8043A003C +:10C5C0001E80038003C8402A041F800320008800C7 +:10C5D00032300C80032000F8003E000C8003E000A5 +:10C5E000C8803E200F8003CA042000000000000025 +:10C5F00028053800AED0378008EC463800D6042332 +:10C60000A00BA0417804FA0037800DA002A810EE1C +:10C61000212E8008A002E8088E802FA08BA002CADD +:10C62000004000000000000028014C0283C0A8E880 +:10C630004A36028C0013A028C20B30060C00B3004F +:10C6400024840930020C00B32028C0093002CC0039 +:10C6500083802CC00B3002CA0100000000000000E3 +:10C66000A0013C44AF4025C248F8821CC89F082165 +:10C67000C08BF8025C00BFB02780093A029C00A57D +:10C68000022DE8097002CE8085082DC20B7302E8E6 +:10C690000040000000000000A8081E00C782A9E0BA +:10C6A0000A78029E40978439A00B7A833F80D79105 +:10C6B00035A00D7A091E44F7803DE82D7A03DE820D +:10C6C000C6803D204B7B23EA0200000000000000F2 +:10C6D000081DAC00D3003EC10F3003ED80E3003EE7 +:10C6E000800FB621EC08DB213E800FB5036C40F9CA +:10C6F000003EDC0EB203ED40F9023E800FB003C2F3 +:10C7000006600000000000000005FE00CF803DE054 +:10C710000FC843FE00FE843FE00DF8C3FF10AF904A +:10C7200035A00CFC033E14EC843FF00EFCC3FF0864 +:10C730004F8033E40CF8030000700000000000009C +:10C74000A8119C00D7A22DC40C41C2DC00740025A6 +:10C75000800F7242DC90D7382D980A70021C048634 +:10C76000003FC00D7002CC00860837C62870022A30 +:10C77000006000000000000000009C0087602DC2E7 +:10C780000A5002DC00B61025C2097086DC30970022 +:10C7900025800830025C0087082DC0087002CC405C +:10C7A0008600210009700A0004200000000000003B +:10C7B0002014ED8093000CE1281802CC08A000247E +:10C7C000121A3402CF0493402C800AB0224C02810A +:10C7D0008028E0283002CC008882242008B002089B +:10C7E0000430000000000000A815BF20C9E02CF1B3 +:10C7F0000EBD03FC00B940364009F502FD40FF8044 +:10C8000036A208F00B7C00EB802FE00AF043FC021C +:10C810008BD032F00DF0032A04600000000000000D +:10C820008000EC10FB003EC80F9413EC00F940367A +:10C83000401FB003EC10FB013ED00FB003AC00F979 +:10C84000003EC40FB001EC00F9043E480FB003E015 +:10C8500000300000000000000110FC00DF003FC0BD +:10C860000CE007FC00FC0A27004FF003FC00FF0867 +:10C8700033800CF0002C005F0033C00CF001FC0092 +:10C88000FE0023400FB00300443000000000000011 +:10C8900081046C008B862EE0488F02EC08B8A0362D +:10C8A000304BB003AC0C9B023CA00CB0436C00B10D +:10C8B0000028C00DB012EC10B980A2610BB00220AC +:10C8C000401000000000000080052C009B882EE036 +:10C8D00008A002EC01BB8026620BB002EC00B301A1 +:10C8E0002A2108B0122C00B80022C008B012EC14A3 +:10C8F000B98422A20BB002A000400000000000009A +:10C9000008040C0493002CE0080002CC09910020DC +:10C91000400B30064C0413002600083002CC04B251 +:10C92000002AC0013000CD00B00020800B300A0288 +:10C930000100000000000000000D6C00DB246EC050 +:10C940002CA002FC00BA0426404FF057FC003F0127 +:10C950003A002CF0013C00DB0033C084F003FD08FA +:10C96000FA0032000FF00300015000000000000048 +:10C97000A019DC00EA403F0007C003FC04FC003FB4 +:10C98000400FF0039C00FF003F000EF0037C00FD11 +:10C99000003FC10FF003FC84F4003F000FF003E8F8 +:10C9A0000470000000000000C001F080FF0003C21E +:10C9B0000FC2033E00DFC03EC04DDB02B0C0DC3022 +:10C9C0003FE00FDB23F620FF2633E00F52035E002B +:10C9D000FF8033C04C4903300070000000000000AD +:10C9E0008010E1E0B70823F00BAD0A2E009A042E68 +:10C9F000B0098F03A040B9302EA00B9F03A700BB46 +:10CA00008026E00BDD022E00BB8022F40A9202A0F9 +:10CA100004300000000000008805C880B31024C066 +:10CA20000B8002AC00A3242CD0081006C080B201F9 +:10CA30002CEA4B0012C204B31008C00A90020C008A +:10CA4000930424C0098202A20170000000000000CB +:10CA5000C015A500BB0022C00B8002AC08BB182E7D +:10CA6000E0188802EC01BA002E800B9886E200BB29 +:10CA70000022C40B90026C00BB00A6C00B9000B05B +:10CA800004600000000000004011E700FB00B2C09D +:10CA90000FA803AC02EB003E600D9E03EC00D840F3 +:10CAA0003E400F8843E200FB2032C00F100B6F9016 +:10CAB0005B8236C02D080190047000000000000069 +:10CAC000E001B708F7003FC00FF9037C08CF823CB4 +:10CAD00000AFD021BC08FD103F808FC003A400F739 +:10CAE00001BFC007D003BD30FFA438C00EDA03F881 +:10CAF00000600000000000004010A800FB00B2C170 +:10CB00000E8103EC40FB443AC10E9503E000CB419B +:10CB1000324D0F8103E020C90072E84491036D009B +:10CB2000CB023EC00C8003900420000000000000F7 +:10CB3000C8052400BF0033C4081D038C00BB983611 +:10CB4000484D9822ED40DB0036B00B9802E300DB45 +:10CB50000032E088D8022C02C3802FC008900372F4 +:10CB60000040000000000000E0014400B30020F09D +:10CB70001808024F84B1C024C0890602C400910085 +:10CB800020F01B1882C60093002CD1081E020E4410 +:10CB900093942CC0082002B8005000000000000050 +:10CBA00020011E04B78020E20868069E80BF84250D +:10CBB000A8096802C60093A065E40B7812DE009312 +:10CBC00000A1E008D8021ED0A7802DE008F8024896 +:10CBD000104000000000000048080800B32030C0EA +:10CBE0000A2202CE40F3A03CE80B3002C100D0C1C3 +:10CBF00030C00B2113CC21D3002CC02C100B0C8087 +:10CC0000D3613CC82C200392020000000000000009 +:10CC1000401DBC00FF403BC00FE003FC00F7507F0D +:10CC2000C42EF003FC40FE003FC00FF047FC00FFA5 +:10CC3000007DC20FD001BC805F003FC00FF003D069 +:10CC40000260000000000000A805E400FBC032C83C +:10CC50000EE003ACA0EB2032408CA0132C00D900D6 +:10CC60003E600CB003E800FA8030C03C9203EF60F5 +:10CC7000C32031C40CA0032A007000000000000093 +:10CC800048119C00332021DA0B70439C01B5002130 +:10CC9000000AE0021C00B7002FC00D70039C00B614 +:10CCA0000031C8085702DC00875021C00A70429248 +:10CCB0000460000000000000C0009A11B79021E05D +:10CCC0000B6882DE08A78024600870121208958025 +:10CCD0002D60096C02DE00B18023E00A5862FE007C +:10CCE00097A021E809E802301020000000000000B1 +:10CCF0004814CD00B30020C08B3C028C00BB002444 +:10CD0000C41A3D022F88B3482CE0893E028D8093DF +:10CD1000D9A440881002CC0493C820C00B300292E2 +:10CD20000430000000000000E815B940FA00B280AD +:10CD30000FE003E800EA8037A00CE8133B08DE01AF +:10CD40003F820CE043FA80FE8031280CA003F00201 +:10CD5000C4C0B2800DE0033A04600000000000008F +:10CD60004800E000F8003E100B8083E000F8303A05 +:10CD7000006D8083E144B8043E100F8013E000F89A +:10CD8000003A104F0403E300E8103E000E8003D287 +:10CD900000300000000000000810E400C900384026 +:10CDA0000F1A032E00FBA036600C9803E604D10096 +:10CDB00036480E9102E600F9003E000C99036240ED +:10CDC000F800A0680C90030204300000000000008E +:10CDD0008004640289042E64889402A500B980202E +:10CDE000640D9C02E642890022600B9C02E410B9AB +:10CDF000403A50089C022720B900224008100360E6 +:10CE00000010000000000000180504008900224006 +:10CE10000A9082254CB9000240089602E41089006D +:10CE20002650139402E440B9082E4008908A24004A +:10CE3000B9012A40089002060040000000000000EE +:10CE40000804058081402CC80810068400B1042025 +:10CE500049091442CC89812020500B1446C400B1EA +:10CE6000002AC02814020101B0042840389402426C +:10CE70001100000000000000B80D600088003A00BA +:10CE80000E80232000F850B2000C8012E140D850F0 +:10CE900036000E8003E000F8002E000C8053600482 +:10CEA000F8003A000C80032E035000000000000040 +:10CEB000981DF440F9443E440FD403E400F1003FD0 +:10CEC000440FD453F444FD102F400FF403FD00FD34 +:10CED000403B100FD423D1047C4336500F5003E65F +:10CEE00006700000000000001805A600F9102E6270 +:10CEF0000FD283E400BD423E610FD003F6C0C9A249 +:10CF00002B400CD0033400F9813E6808C143FA007D +:10CF1000F5803F620C140306007000000000000062 +:10CF20003810E12088112E100B8002E000B8822E0C +:10CF3000100B8000E3C488F022000B800A2000E878 +:10CF4000402F14088802E200B8002E000888028EE4 +:10CF500004300000000000000804C500A1002C40BF +:10CF60000B1002C418B1226CD10B1026C40081082A +:10CF70002A408810020404B5C00F400B020241A0F1 +:10CF8000B1402C40081202021170000000000000A5 +:10CF90001815A40089062E400B9012E400B9402E0B +:10CFA000400BB082C402894422400A90022400A9A6 +:10CFB00000274809B012EC18B9012E4040900286B3 +:10CFC0000460000000000000A015E784E9013E4075 +:10CFD0000F9003E400F9003E720F9003E7608910A0 +:10CFE0003A400C90032400F9443C402D9003E76044 +:10CFF000F9713E40289003280470000000000000F2 +:10D000002801A448A9003EC00F9A43EC00F9207EF5 +:10D01000C80F9A07660079807E400F1C03E700E97D +:10D02000A03E40468003E020F9003C400F9003CA38 +:10D03000006000000000000028108000F8003A00A6 +:10D040000F8003A008E8403A100C8303A1C0F04011 +:10D050003E060F8403E100F8003B000F810320002F +:10D06000F810B2004C800B0A042000000000000001 +:10D0700028052800BA002EB00BE802E9003E900215 +:10D080008108E4127800BA002DB089E822F80CBAC1 +:10D09000006E8003C5033000BA0022A808A0228ACF +:10D0A000004000000000000028054C00B30028E804 +:10D0B0001B31128CC4A3922C408834068E0093003E +:10D0C0002CF01931A2CC04B30028800138024C00A6 +:10D0D000B38020E00AB012020050000000000000FF +:10D0E000A0011C00B7142D420B6002DC00B78127A1 +:10D0F000E01860025818B7222D80097022DC00B7B2 +:10D10000002D800B3B021DD0BF8028C08AF202A0F8 +:10D110000040000000000000A8081F80F7A039E2CE +:10D120000F68039E00ED843DE24478039E00F7B44F +:10D130002DE00D6803D600F68039E00F79035E908C +:10D14000F78131602E7C032A0200000000000000FD +:10D15000081DAD00FB423EC80FA003EDA0BB003888 +:10D16000C80FB0036800FB113E4009B041EC00FA63 +:10D17000023EC00FB20BED803B0036400DB02342A3 +:10D1800006600000000000000005FF00CFD033E47F +:10D190004FF903DE40DC8036E40CB913FE00CF907B +:10D1A00037E50FF843FE00CF923FA40F78031F002E +:10D1B000C58033600CF82000007000000000000003 +:10D1C000A811BC000F1021810B600384008B082183 +:10D1D000600A7B0398008B1029840E6422DC40D700 +:10D1E000022D840B70021C00851821400AF022AA2F +:10D1F000046000000000000000009C00A71469C04B +:10D200001A6012FC01A4102DC00A52024540870C7E +:10D2100021801B6082D400860325E01B70025C40E5 +:10D220009D0029400870020000200000000000005E +:10D230002014CD00A30028C01B20228C11A300685D +:10D24000F60A3C068200838028840A8C82CC4492B1 +:10D25000002CC00B30024E00910028400A3002889A +:10D260000430000000000000A815BE22EF04BAC080 +:10D270000F1493EC02F1C33EF00E90836600CFD200 +:10D2800032500F9C03CB00C9803E280FB0034F00E3 +:10D29000D1C0AAC00C71032A046000000000000085 +:10D2A0008000EC20DB0026800FA003EC081B00367A +:10D2B000C00F8601E540FB023A480E9403EC80F172 +:10D2C000843E004FB003ADC0EB2036C00FB023E06A +:10D2D00000300000000000000110DC00CF003F60C3 +:10D2E0000CE0833E80ED0833D08F50039E00DF00BA +:10D2F00033400CC0033000CC1033680CF0033C8486 +:10D300008D9030400CF00308443000000000000015 +:10D3100081046C008B022CF408A8620C808B802A9C +:10D32000600F9C022E008B0020600D98022C80D88C +:10D330000014400834122E008B8232400DB003607E +:10D34000401000000000000080052C008B002ED053 +:10D3500008B8022C008A8422C00B8802E4A0830053 +:10D3600022620A98022800890022000AB1062C00D5 +:10D37000AB00224008B00260004000000000000046 +:10D3800008040C02A3002CC10820020C028B002808 +:10D39000C20A00024410831022400B10060C0091B8 +:10D3A00004AA002830022C00A101204009B002424A +:10D3B0001100000000000000000D7C008F003EC046 +:10D3C0002CA0032940A84032CC8B8002E000CF4043 +:10D3D00032000E800A2000880022400CB0032C048A +:10D3E000EB00B2408CB0034003500000000000008E +:10D3F000A01DFC00DF003F400FE003FC80FF283D44 +:10D40000C00BC103B014FF003F000DD003DC00FCD3 +:10D410000037400FF021FC001D007B408FF003E03F +:10D420000670000000000000C005D200DF0031A03F +:10D430004DF0433200CE141B680EDA23B2C02F0029 +:10D440003FC22CE8033C40FD083BC84CF0833CA0A5 +:10D45000CF0033C40CF307F00070000000000000A0 +:10D460008010E2008FC022A008FD422F008B7022A6 +:10D470001E48890227C08F5A2E50483002BDC0BDB9 +:10D480004023C548F4823D2C877022C008F103E098 +:10D4900004300000000000008805E00093102681A1 +:10D4A0004930028040832028400A10028000A324D3 +:10D4B0002CCA0832820C00912820CA1B32020C8828 +:10D4C000830920C8093202E2017000000000000058 +:10D4D000C015A3148B04268908B002AC228B882ABD +:10D4E00020089882A610AB002ECA08B082AC00B902 +:10D4F0000022C029B00A2C018B0022C009B022F002 +:10D5000004600000000000004015E300DB0034E28E +:10D510000DB003A300CA80BA700E8803A600EB000A +:10D520003E900CB5032C00FB10BAC00EB0032C02C9 +:10D53000CB0232C009B002D004700000000000002D +:10D54000E001B008FF00BBE00F70036500F4003598 +:10D55000400F40035400DF003E400FF803EC00F79B +:10D56000013DC10E3003EC00FF003FC08EF003B858 +:10D5700000600000000000004010A040EB083E806A +:10D580000DB003E000C8003A510F82036420DB00B5 +:10D590003D820CBC032C10DB0072C00DB1030C20CB +:10D5A000D30032C00FB00B50042000000000000078 +:10D5B000C805010087C02EA808F112C540880022C6 +:10D5C000400B84022700AF002EC008BC123C008B29 +:10D5D0000123C028F54A3D28DF0033C04BF0033259 +:10D5E0000040000000000000E0054880A3902C00EF +:10D5F000083002C100920428000B14124300B30447 +:10D600002C300AB00A8C00930060C0083C060E0162 +:10D61000B3002EC08B300638005000000000000020 +:10D620002001120087802D24087802D200958021E5 +:10D63000A00B68025A2087802D661A7C029E008704 +:10D640008021E11879029E40B780A1E00B78024862 +:10D65000004000000000000048080000E3A03C403B +:10D660000C3003C422D90038D40F30836840F30053 +:10D670003C800A32028C00DB00A2C40C30030C0098 +:10D68000F3003CC00FB103120200000000000000D4 +:10D69000400DB000FF103F400EF003FC00ED003FD6 +:10D6A000C00F3013BC407F103FC12DF0037C00FB46 +:10D6B000403FC20EF4837C00DF003FC20FF00390B6 +:10D6C0000660000000000000A805EC00DBA032C0EE +:10D6D0000DB703E000CA043E800FB8032C10FB0016 +:10D6E00033008DB0032C80E9403ED20FB4032D806F +:10D6F000EB20B2C00FB203EA00700000000000008F +:10D7000048119000B71011C0087082D80A87012D07 +:10D7100080897003D808B70A21402C70020DC0859B +:10D720000179C80B32020D208F2821C00B7282D2E2 +:10D730000460000000000000C0409610979023E0B5 +:10D74000097A02D60097802DF00B78821E00B3B0C4 +:10D7500021A00878021E00A5802DE00B7A021E8011 +:10D76000A7B021E80B7902F00020000000000000C3 +:10D770004814C000B30020E2083002C64093702C69 +:10D78000C0093C028E00B30020D80818020C0081AA +:10D79000902EC00B302A2C108300A0C00B3002D278 +:10D7A0000430000000000000E811B900DA0233B8CC +:10D7B0000DA003F800DEC03FB04FEC063840FA0081 +:10D7C000B3900C6C0B2808EA017E800FA0032800A0 +:10D7D000EA0032800FA003FA04600000000000009D +:10D7E0004800E000F8403A000F8403E100E8023E00 +:10D7F000000F8403E140F8003E000F8103E000F8D1 +:10D80000003A000F8003E000F8003E000F8003D2D2 +:10D8100000300000000000000810E420F9C03E7055 +:10D820000E9002E480C90032420C9883A484F9006F +:10D83000B2600C90832400C9003E400C1A02240000 +:10D84000C100B2400F9001C204300000000000008F +:10D8500080046500B9812C600D94C2C7088900223C +:10D86000400895C7A400B9002870A8940A2400892C +:10D87000042E4028902A2600890022400B9002E0C6 +:10D88000001000000000000018052400B9402E40E0 +:10D890000A9002E5008100A040099042EC00B1002E +:10D8A00022580890A2040289002E40089002A4A0E9 +:10D8B000890022400B9002C60040000000000000DA +:10D8C00008040400B1202EC0891202C480812020E7 +:10D8D00040611042C500B120284818904204808160 +:10D8E000282C4808128284A0812020480B1282C272 +:10D8F0000100000000000000B80D6800F8002E00D4 +:10D900000E8003E008C85032140D8017E804F85068 +:10D9100032144C050B2140C8203E000C8703A1C2E5 +:10D92000C80032148F8203EE035000000000000094 +:10D93000981DF400F1103D400F9102D442FD103FBC +:10D94000510E5413B500F91035442FD003E450FDA7 +:10D95000283E4E0F90036400F9383E440F9283E650 +:10D9600006700000000000001815F400FD003D40A6 +:10D970002CD003B600F9823E400CD003F400F980AD +:10D9800033700C50033400C9C03E400CDA031680DB +:10D99000C9403E622C988306007000000000000021 +:10D9A0003810E000B8002E000880022800B8502689 +:10D9B0000008A002E800B8002A342AAA0A20008839 +:10D9C000C02E2A0880222100A8802E000880020E86 +:10D9D00004300000000000000805C400B1002E4023 +:10D9E0004810068D00B1002C40281002C400B14040 +:10D9F0002C48081082440081602C4028140A0440FE +:10DA000081202C400810020201700000000000007C +:10DA10001805A440B9002E4008B0022400B9282EF1 +:10DA200050089022E400B9002E600B124264008975 +:10DA3000002C400990022400A9002C400810024646 +:10DA40000460000000000000A005E600F9003C4270 +:10DA50000C9003A740F9403E700C9802E540F90095 +:10DA60003E400C98036406C9012E400C9003240428 +:10DA7000C9003E400C900B2804700000000000001C +:10DA80002801A400F9003E400F9083E610F900360B +:10DA9000680F9C03E600F9003A400E9893A400F941 +:10DAA000003E400E9083C400F9003E400F90038A70 +:10DAB00000600000000000002800A000F8003E0404 +:10DAC0000C80032102C84032000F8003E100F00007 +:10DAD0003E020C80032000F8003E000C00032000F2 +:10DAE000C80032000F80030A04200000000000007C +:10DAF00028153A00BE022FB008681238008A042A9E +:10DB0000800BE042FB20BA002F9108E0022800BA07 +:10DB100000268008EE0A38008A0022800BA0028AC4 +:10DB2000004000000000000028054200B3002CC2A5 +:10DB300028380A4800830422C00B1002CD80B300AD +:10DB40002EC0081C022400B3002CC00834120E4062 +:10DB5000830020C00B30120A0050000000000000BB +:10DB6000A0011100B7002FC00870A24E008FB02195 +:10DB7000CC0B6012DC10B7302DC008D0821480B7F7 +:10DB80001225C8286002140087B221CC0B3102A8EC +:10DB90000040000000000000A8081200F7803DE0EF +:10DBA0000C38035600C790B1E40F7803DE00F790FD +:10DBB0001F602C480B16A0F7803CF40C38031E00A5 +:10DBC000CFA0B1E80F7B032A020000000000000094 +:10DBD000080DA000F8003EC00BB003AC00F3213EDE +:10DBE000C807B002E400FB203F400F8003E480FB45 +:10DBF0000036D00FA003E008FB423ED80FB003C2AE +:10DC000006600000000000000005F080CF8031E1D8 +:10DC10000CF803DA10EF803FE40FD803FE10FF8208 +:10DC20003FE04CD81B1620CF803FE04CD830EE4070 +:10DC3000FFC0B3F40FF803C0007000000000000044 +:10DC4000A8019820834021C0087102DC8487202D20 +:10DC5000C00B6002D960F7002DC008F08214048761 +:10DC6000002DC008F0031E00B72021C08B7002EA0F +:10DC700004600000000000000000B0008700218068 +:10DC8000087002F50427002DC08B7002DC00B7007D +:10DC90002C50084002140087002DC00850025C047C +:10DCA000B700A1C08B7002C000200000000000007F +:10DCB0002014C80080000080083002CE0083C02CF1 +:10DCC000D04B3002CE00AB022C4048BC0204008393 +:10DCD000002CC00810020008B30020C0093002C8A0 +:10DCE0000430000000000000A8158340C80030C0C8 +:10DCF0002CB003EC00EF883FE607B183E100BF00E2 +:10DD00003EE00CB8033400CF003FC02CB0036810D5 +:10DD1000FF0033C00FF003EA0460000000000000C1 +:10DD20008000E400F1403EC00FB403ED40FB083E2C +:10DD3000C00FA003E520FB003EE00DB083E400F33C +:10DD4000003EC00F8003C400FB003EC00F3003E064 +:10DD500000300000000000000110F000CA0033E0B5 +:10DD60004EF0033400FF003FC08FE803F000FF00D7 +:10DD7000B1400CE0033400EF00B3C00CF0033800F6 +:10DD8000CF003DC00AF00300443000000000000056 +:10DD900081046222889022E0083C022E08BB012EFA +:10DDA000C00BA0026600BB0022A008A9022400BB91 +:10DDB0000022C0282C02A200DB002EC00AB002A064 +:10DDC000401000000000000080052200980022C8DA +:10DDD0000A98022704BB002EC00BB102E200BB0070 +:10DDE00022E208B002A400AB0020C00A888223000F +:10DDF0008B002EC008B002A0004000000000000010 +:10DE000008140400914022C00810020C00B3002C3A +:10DE1000C04B28224004B30020C028300A0404B3B9 +:10DE20000060C0080002842093002CC00A300282E7 +:10DE3000010000000000000000056000DA40B28030 +:10DE40000E90032400FF003FC08FA003E009FF00F5 +:10DE5000324008A00B3400EB0031C00C8003288056 +:10DE6000C7003FC00CF0030003500000000000009A +:10DE7000A015D000EC203F000FC00BFC10FF013FAD +:10DE8000C00FE003F400FF003FC00FF003F400FFF9 +:10DE9000003FC04FC001F008FF003FC00FF003E893 +:10DEA0000670000000000000C005FC00CC90372088 +:10DEB0000EF013BD04D4C1332C4CD9233260FF20A3 +:10DEC0003DE04FC103B640CD0037E00CE28B10C0FF +:10DED000CD0033C60FD803300070000000000000F2 +:10DEE0008010EE088A20220008B7022D008A00B6B2 +:10DEF0003C0899022784BF682E820B01022440D976 +:10DF00004220C08AAC022DC28248A2D00B820220DD +:10DF100006300000000000008805CC008804268040 +:10DF20002A30C2A580A92128008A00020000A3107F +:10DF30002CC80B0002C490834224C1080002408810 +:10DF4000A360A8C00B00C222017000000000000006 +:10DF5000C015AC068A0022E048B0022E02AB802E2B +:10DF6000204A8C022620BB006E800B30C246049BE8 +:10DF70000AA2C00A80126C40A8002AC00B8C023092 +:10DF800000600000000000004015EC00C10936618F +:10DF90000E3203AB20F8843A782E98032600EB006B +:10DFA0003E404F9003E200C94036E00CB4036E00DF +:10DFB000EB003AC00F88031004700000000000005E +:10DFC000E001BC00FD003F400FFA13F810DC04270D +:10DFD000400D5043F400FF003F400FD903B000F95B +:10DFE000013FF00FF023B200D4A037C00FC00BF8F0 +:10DFF00000600000000000004010AC20EB10F200B8 +:10E000000EB4032180C9403A480F9013E120FB0071 +:10E010003EC00C84032400FB0136E00C740B9C0012 +:10E02000CF0032E00F8403D0042000000000000085 +:10E03000C8051E008B80204008B802838081A02282 +:10E04000780B9183E300BF000EC10AB4036404B9E6 +:10E050005032C00AB2022000880023D40B8802F29A +:10E060000040000000000000E0054C42A0802000BD +:10E070004800020D0680802AD0030002C800B300C9 +:10E080002CC00836024000B90222C28B26020C10B6 +:10E09000010224C04BA102F80010000000000000A3 +:10E0A00020011E088E8021210828C29E008E80211A +:10E0B000600B78029E20B7822FA10A78025E00B51D +:10E0C00091A1E00B290232448680A5E00B4C02C8E6 +:10E0D000001000000000000048080C00E100228051 +:10E0E0000E000B2400C04428AD0F2002C800F3002E +:10E0F0001CC00C0103484CF20430C00F15038040D3 +:10E10000C10014C80F0003DA021000000000000074 +:10E11000401D9C40F7003FC08FC003E400FA013F60 +:10E12000C00FF023FC08FB003F800FF001FC10FF44 +:10E13000003FC00ED103FC42FE803BC00FC003D0A5 +:10E140000660000000000000A805EC40C8003EC0CA +:10E150000F9003EE08CB0032C00FA023E603CB4C98 +:10E1600032400FB007E800F90016400CA00B6C001D +:10E17000CF0232C50C8003020070000000000000D6 +:10E1800048119C8084042DC10B4040DC0087042191 +:10E19000C04B7012FC018F6029400B70139C00B5BE +:10E1A00000A3400A60020000840021C0084002125F +:10E1B0000660000000000000C0008E0087802DA2D5 +:10E1C0000B4C16D608978821A04B6802DE04A78066 +:10E1D00021E00B4802DA04B68225600AE8621E00DC +:10E1E000878020E8084802080020000000000000A6 +:10E1F0004814CC008B806CF00B3C02CE469BC020B8 +:10E20000E40B3C02CC20A30028E00B30028D80B14F +:10E210008022440A210A03828080A0C008060A12D4 +:10E220000030000000000000E815A802CE803FA0EA +:10E230000FE003FA40DEC0B3900FEA13F908EA04D6 +:10E2400033828FE403FB08FEA036A00CAC0B6B827C +:10E25000C6A032802CE4033A0470000000000000E5 +:10E260004800E000F8903E020F8083E100E8203E85 +:10E27000030F8203E140D8003E200F0093A040F836 +:10E28000003E108F080BF000FC003E000F8003D210 +:10E2900000600000000000000810E400E9003640C3 +:10E2A0000F9407E600F980B0400C9403E440F900B5 +:10E2B00032400F940BA40071C032402C94232402EE +:10E2C000C90032400C90030204200000000000004E +:10E2D00080044400890022400B9802E660B90022C5 +:10E2E000600A9C02E624B90436400B98002400B969 +:10E2F00080A25208900224008940224068940220A3 +:10E30000001000000000000018052400A9002640AD +:10E31000039402E401B9102255089022E400B100F0 +:10E3200026400B90002C09B900226008900A1C04BA +:10E330008D08A0400810820E004000000000000080 +:10E3400008040600810020500B1242C480B1042052 +:10E35000500A1402C500B12224400B12220401B15C +:10E3600040205008100A15008540285008140A0A59 +:10E370000500000000000000B80D6000E850360005 +:10E380000F8502E140F85032000CA023E010F85055 +:10E39000B2140FA503A148FA00B2000C80032004B8 +:10E3A000C40232000C00032E0350000000000000E5 +:10E3B000981DE500FD003F400FD103D444F5003F18 +:10E3C000510FD403F500F9103B400FD100F510F5C3 +:10E3D000407F400F542BE500F94036500FD003E644 +:10E3E00004700000000000001805F610BD40334026 +:10E3F0000FDA033780CD003F400FD003F400E9A0CF +:10E400003E400CDE17A408FDC033418DDA1326A070 +:10E41000F9A832780CB40B06007000000000000070 +:10E420003810E100B8A036200B8A82A2802AA82EDC +:10E43000000B8012E004B8A12E284A8E022AA0BA4E +:10E44000C022280885022108B8E8A23C08C8020EAC +:10E4500006300000000000000805C500B900204A91 +:10E460000B1402058001002C410B1002C404A14AC8 +:10E470002E420814028410B160A04A091002440020 +:10E48000B501294018D2021200200000000000004F +:10E490001815A400B92126400B9602A410A9002E3D +:10E4A000400B9612E420B9002E410A90422400B994 +:10E4B0000022410898226400B9202B4128D402068A +:10E4C0000020000000000000A011E400F9E0325834 +:10E4D0000F98032640C9403E580F9C03E400E90012 +:10E4E0006E400C9A02A600F94432400D9A0B6484E7 +:10E4F000F900BA400C180328047000000000000066 +:10E500002801A400F9003E500F9003E600F9043EF4 +:10E51000480F9003E440F9003E650F9981E450F9FB +:10E52000203E408F9003A480F90034400F9203D224 +:10E5300000600000000000002810A000F8403E101D +:10E540000E84036008C8003E080F8083E028E804BA +:10E550003E000C8403211CF04832000B0003E00253 +:10E56000C00032000CC00B020420000000000000BC +:10E5700028053800B2882E8008E0037A808E002FAC +:10E58000A00BE802F910BA002C8028E4022800BE93 +:10E590004023B808E802E804CA20A28008E8020A7A +:10E5A000004000000000000028054C01B3002C4092 +:10E5B00008B8426C0283002CE00B3800CF40B30057 +:10E5C0002CC008B40A0C00B340A2820A3902CC0065 +:10E5D0009380A0C02920020A005000000000000023 +:10E5E000A0011D00B7002D64287402400087052D8E +:10E5F000900B7402DC10B7302DC80834061C80B7AD +:10E6000000A1C00A7002DE80830001000960822040 +:10E610000440000000000000A8081A00F7803D60D8 +:10E620000ED80B5E00C7803DE00F6803DE10F7A92F +:10E630007FE84878031F30FF9433A00E7803CF247F +:10E64000D680B1E00DF84322020000000000000077 +:10E65000081DAC00BB000C400FB003EC08F9003EF5 +:10E66000000F9041EC00FB617ED00FB003EC80FB0B +:10E67000403F9B0CB003ED90FA003C000EB003C28B +:10E6800004600000000000000005DE00EF80336041 +:10E690000DD8033640EF903EE00FF903FE00FF80F7 +:10E6A00033FE0CFA03FE00CF80B3E00FF803FE0048 +:10E6B000CD8033E00FC843C0002000000000000000 +:10E6C000A8119C0085083540087003522087112C42 +:10E6D000EC0B7102D000E70035C4087402DC4087FF +:10E6E0001021C00B7002FC80850821000B4182EADA +:10E6F000062000000000000000009800AF0023503A +:10E700000950021C80A70129C01B6006DC40B7101D +:10E7100021C84A5202DC00830021C00B7002DC13C6 +:10E72000840025C00B5802C000200000000000003B +:10E730002014CC0081802440083E026E0089002C09 +:10E74000C00BB402CA80A30024C00A0402EC4082B9 +:10E750000A20C00B3002CD1080C0A4000B1C02C8E0 +:10E760000020000000000000A8158400EB8033406A +:10E770000D8C832600E9A03E788F9083E100FF0096 +:10E7800031D10E8423FC00CB8232C08FB002FD4019 +:10E79000CB80B6C00FA403EA0460000000000000B4 +:10E7A0008000EC00FB003E400FA003E000F9013EBA +:10E7B000420F9003E554E3003EC8059303EC80FB51 +:10E7C000C13EC00F2003CC48F3083A000FA043E03D +:10E7D00000300000000000000110F000CF003F40BA +:10E7E0000F30012C0ACD1033000FD0831400CB0260 +:10E7F00033C00CE103EC10CD0033C00CF0333C000F +:10E80000EA0033C00CF083C8443000000000000070 +:10E8100081046E008B002E400BBC022E000B0022E8 +:10E82000300B9C022780AB002AC008B802EC00899C +:10E83000C020E008AE022C088A00220008B042E89E +:10E84000401000000000000080052E008B042E40C8 +:10E850008B8C02AE10890022700B8C02A2008B01FF +:10E8600022C0088002EC108288A27009B8022C082D +:10E87000890020C0288022E0104000000000000035 +:10E8800008040C0481002C400B200280008104A0AD +:10E89000504B000A8000A3012AC1201002CC14832F +:10E8A0000022C00820020C008100E000080002C223 +:10E8B0000500000000000000000D6800CB003E4095 +:10E8C0000F900BAC80C90032100F8003A400CF0260 +:10E8D00031C00C8013FC02CD0033C02C90033C02ED +:10E8E000E800B2C00C9003C003500000000000001C +:10E8F000A01DFC02F5003D408FF0236D00FF003F9E +:10E90000040FC003701CFF013FC04FC003FC00FD9B +:10E91000003FC00FE00FFC18FC003F000FD003E8E1 +:10E920000470000000000000C005FE00D7020F3098 +:10E930000CF2017E0644303F200EF0027C84FD2064 +:10E9400027080CD0013600FF6033CC0BF1132CC428 +:10E95000FF300FCD0CF403F0007000000000000049 +:10E960008010EE008FC02E0008FC022E008A302896 +:10E970005208F6823C68BD903234489C122600CF83 +:10E980004023CC0BF6023D00BF102FCC88F602E0EE +:10E9900004300000000000008805CC0093102C0813 +:10E9A0000931024C009B2064580331624C81A10064 +:10E9B00020004814024400933024C00B33028D849D +:10E9C000B3206CC02A3602E2017000000000000093 +:10E9D000C015AC109B022E410BB002A4009A004A55 +:10E9E0006088B0526C01B9002600089122EC08BB87 +:10E9F0000026C00BB002AC00BB056EC10AB002F02D +:10EA000004600000000000004015EC00DB013E3017 +:10EA10002D30034760D8A016388FB0036C00790200 +:10EA200031600CC80A6600BB00B6C00FB00BAC006A +:10EA3000FB013EC10EB003D00470000000000000D6 +:10EA4000E001BC10EF083F240CF0037620EE903577 +:10EA5000400E7003AC00FD00BB640F88133480CB04 +:10EA6000003BC00FB0036C08FF003EC00DF003F880 +:10EA700000600000000000004010AC01FB8032107C +:10EA80000EB003ED00CB503E408CB0432C10F9008B +:10EA900032600C400B2600C30436C00C30032C003F +:10EAA0009B00B0C00CB003D00420000000000000A8 +:10EAB000C8050E80BF042A4000F500E60082D2227D +:10EAC000400DF0223C00950236400A80022E008F55 +:10EAD0000037C00AF0423C008F0023C028F002F249 +:10EAE0000040000000000000E0054E00B3002220BE +:10EAF0004A3000CC0081C028000830020C10A10070 +:10EB000028801830220404830024C0083002CC0876 +:10EB1000930020C0083006F80050000000000000FC +:10EB200020011E00B78029A0087802FE208D8029D0 +:10EB3000E55B38421E40A18125A80879023700878D +:10EB40008025E00A780ADE81878025E5487802C8BA +:10EB5000004000000000000048080C00B310301214 +:10EB60000E3012CCC0C30038800C31060C40F100CE +:10EB700038800C30430442C30036C00C3203CEC090 +:10EB8000DB0030C00C3003D20200000000000000A7 +:10EB9000401DBC00FF103D844FF103D040FC1033FA +:10EBA000805DB183FC50DD0A25890FB803D400FFD6 +:10EBB000103FC00FF4033C40FF003BC00FF003D0F8 +:10EBC0000660000000000000A805EC00FB203E00ED +:10EBD0000FB5032920F90032A00CB083EC0049C81E +:10EBE000B2C08CA0036400FB0812EA0CB00B2C80AE +:10EBF000FB202ED26CB643EA047000000000000037 +:10EC000048119C00B7492D000B30821001B50283DA +:10EC1000C01A7222DD41850061C01820201400BF97 +:10EC20004035D00D34021D20B72825C1087482D28A +:10EC30000660000000000000C0009E0437A02D20E8 +:10EC40000B7A121601B38021E20878429E0085807B +:10EC500020E11868025600B7A025E0087A021E00DD +:10EC6000B7902CE5887A02F0002000000000000038 +:10EC70004814CC00B3006C241B30020000B000200C +:10EC8000F80A3002CC00810020D81820020400B31A +:10EC90000024C00930020C00B30026C0083002D2A4 +:10ECA0000030000000000000E815A800FA003D80D8 +:10ECB0000F200B2880FE0033A00CA003E802CA023C +:10ECC00032902CE4037800FA0032800CA003280074 +:10ECD000FA003E800CA003FA006000000000000073 +:10ECE0004800E100F0003E004F8003E080F8003E65 +:10ECF000000F8023C000F8023C000FC0836000B802 +:10ED0000003E000F8023E018F80136000F8003D288 +:10ED100000300000000000000810E600F921326019 +:10ED20000C90032C44F900B2400F901B2400E90022 +:10ED30003E400C1003A400F90032400F10332410A1 +:10ED4000F10032400C90030200300000000000008F +:10ED500080046400B940A2410890022480E90022A6 +:10ED6000400B9012240089006E411890422400B993 +:10ED7000042A410B90036400F9002A400A900A20FB +:10ED8000001000000000000018012480B942624811 +:10ED900028900A2400B10022400B10022410B9026E +:10EDA0002E4008D002A400B10022400B900224049F +:10EDB000B9002240081002060040000000000000D8 +:10EDC00008040C00B12060400812020400A12020B9 +:10EDD000400B1202048091202D680852120400B1E9 +:10EDE00028284A09128244A0B12C284A0A12820219 +:10EDF0000100000000000000B80D6000F8003214AF +:10EE00000C80032000F85032140F85030140F800F5 +:10EE10002E0028C003A000F82430080F8223208091 +:10EE2000F82032080C82032E03500000000000007E +:10EE3000981DE408F9103F408F9113E400ED103F56 +:10EE4000500F9103E440A5103E440F9103F404F9E0 +:10EE5000283E4B0B92A3E4A0E9283E4A0F9283E69A +:10EE600006700000000000001805F400CD003340DB +:10EE700080D001F400A50026400F90032600F18801 +:10EE80003E680D98834400C9C03A400C980324089A +:10EE9000F9A032780F9A030600700000000000000D +:10EEA0003810E0028800A200088002E0000A002278 +:10EEB000000B80022000B8402E14088043300088E8 +:10EEC000A0222A0A8A42A005B84232380B80020EDC +:10EED00004300000000000000805C4039100244035 +:10EEE0000B1002C411B10420411B10224500B500D3 +:10EEF0002540095002540181402C400914924400DD +:10EF0000B140244C0B140A420170000000000000C4 +:10EF10001815A400990024420B9002E401992026C0 +:10EF200040CB90026400BB002F410AD0023400891C +:10EF30000026400B1002E400310062400B900246B4 +:10EF40000460000000000000A015C400D901365084 +:10EF50002F9003E660F98036520B900A6400F900A6 +:10EF600036400D9003640209003E400D900364009A +:10EF7000B900B6400F900368047000000000000064 +:10EF80002801A400E1003A410C9023E620E900BAF0 +:10EF9000700F9003A400F9003E400D1013A700F974 +:10EFA000003A400E9043A408F9003A400F90038ABB +:10EFB00000600000000000002810A020F8003200CF +:10EFC0000F80832100F0003A11098003E000C8019E +:10EFD00030010C8003B000D00034000D800320000D +:10EFE000C80032000C80030A04200000000000006A +:10EFF00028053800BE00228003E8021A08BE482215 +:10F00000800AA003B800CA0822800FA40208008A60 +:10F010000022808DA0022800DA002A8108A0028A3E +:10F02000004000000000000028054400B30020401C +:10F030000B30020800B06468C108B022CC0C938089 +:10F0400000C04836028800B30024C00830060C0116 +:10F05000A3022CC008B0020A00500000000000000B +:10F06000A0011408B50021400B38821C21B70023F1 +:10F07000E84A72269E408F81AB404270523800A30E +:10F080002220C44931021E0AB7222DE8087202A8C4 +:10F090000040000000000000A8081200F68021E0F7 +:10F0A0000B780B1E00B4823BE84C7C13FE02978069 +:10F0B00033A00838039A00F78835E20C78E30E0095 +:10F0C000E3E834F80C3C232A0200000000000000B2 +:10F0D000081DA804F1003E420FB013EC00FB00BE77 +:10F0E000CC1EB607ED80FB0036000FB0436800CBA6 +:10F0F000303ED80FB60BED40CB003AC02FB603C25E +:10F1000006600000000000000005F240FB913D4C4D +:10F1100080F803DE40C6801BF04FFD07FF00CD8066 +:10F1200033E00C6803BA00FF8033E007F8033F10B8 +:10F13000CF803FE00CFC03000070000000000000E6 +:10F14000A8119000B5C02D40086202DC20D6022133 +:10F15000C88F7002DC81B50081440D61221804B7AC +:10F160000035C00B7002BC00A7012DC0087003EA77 +:10F17000046000000000000000009001B6012FC0F4 +:10F18000187002DC0A961029C14B7006DC1085004D +:10F1900025800860821A20A30025C00B31025C4044 +:10F1A00087002DC008700200002000000000000051 +:10F1B0002014C800B1002C40882002ED008A602095 +:10F1C000C00A3002CC04B10024002824020A003313 +:10F1D0000024C00BB002CC00A3002CC088300288F1 +:10F1E0000430000000000000A815A000FB003EC68F +:10F1F0000C8003E50009C8ABE20BF002FC004A00FA +:10F2000036C0089003A600FF0033C00FF0037C0057 +:10F210008F002FC028F0022A0460000000000000C8 +:10F220008000E100FA013EC00F8003EC00F9403E8F +:10F23000C007B003EC00FA003A400F9023E500FB52 +:10F24000003EC00FB003AC00FB003CC00FB023E099 +:10F2500000300000000000000110F000FC203FC062 +:10F260000CC803FC20CD81B3C24FF003FC00CA00E0 +:10F270003C800CD0823601FF003FC00FF0033C08F9 +:10F28000CF043AC05CB003C044300000000000006E +:10F2900081046204B8402C60088902EE80A9602ACB +:10F2A000C00BB0038C00AA402E000810022681EB90 +:10F2B0000026C08BB0136C00DB002EC03DB002E016 +:10F2C000401000000000000080052300BB032EC892 +:10F2D00009B002EE008B1026C00BB002EC00A800B3 +:10F2E0002EC0088822A480BB002EC04BB0220C0088 +:10F2F0008B002EC00BB002E00040000000000000B8 +:10F3000008040000B2002EC0292802EC01A002204F +:10F31000C0093002CC00A0002C40080042840093B9 +:10F32000006CC00B30064D0093002CC0083002C2A8 +:10F330001100000000000000000D6000F8202FC048 +:10F340000DB003EC00CB0033C00BF003FC18E80059 +:10F350002E80088003A400BF003FC00FF0433D1182 +:10F36000CF033EC15DF023C0035000000000000049 +:10F37000A01DF000FC103F400EE003FC00FC003F2D +:10F38000C00FF003BC00FC003F002FC0037400EF6F +:10F390000027C00FF003FC18FF003FC00FF003E888 +:10F3A0000670000000000000C015FC889C293F0882 +:10F3B0000FD283EC00FF083F280FCA033C41CF2047 +:10F3C000732C0CC0033020CF6033D80F78033F80FC +:10F3D000DD9233C80F5003300070000000000000C1 +:10F3E0008010E54088402E048B9402E400B9000EA2 +:10F3F0007F8F9E836582CF683E508D04922F04D309 +:10F400004074DC0DA2022040890022F00B980220FB +:10F4100004300000000000008805C809A0852C0108 +:10F420000B0010CC40A2082C00DB110289009330A5 +:10F4300020050813028008A36060C00AB082088417 +:10F44000812020D00B1002A20170000000000000FB +:10F45000C015A41288806E200B8882EE00BA812E1F +:10F46000605A9802A2008B002A6008111A2C00BB77 +:10F470000022C008B80A2800812002C00B9002B008 +:10F4800004600000000000004005ED00D9803E202F +:10F490004F9800EB20FBE02E600B8C62AE208B00BF +:10F4A000226008BC03A020EB0022C10A180B250033 +:10F4B000D900B2C00F900B90047000000000000053 +:10F4C000E0019488FF003F010FD001F008DD013F0B +:10F4D000420740035C00AF003F400FF800F000DF40 +:10F4E000003FC00FC023F450FD803FC00FD0037811 +:10F4F00000600000000000004000AC00D9003E4069 +:10F500000F9403A820CA403A400F9403EA08FB0076 +:10F510003A004CF6232C30CB0036C00D9003A102EC +:10F52000D900BAC00F9803100420000000000000AA +:10F53000C80524008A002E400B9502E0088880222E +:10F54000708F8C02E000BF02200008B8020E00DFBE +:10F550000023DD0898822A00898023C00B501A32CC +:10F560000040000000000000E00544008305244145 +:10F57000091002CE0083902C801B2482CC00BB009B +:10F580002C8008040804018B0022C02812026C8021 +:10F59000814824C40B100238005000000000000015 +:10F5A00020013E4286802D600B6802F6908D8021FE +:10F5B000220B5802D740B79021E00849921E53977A +:10F5C0008121E048C80A5222858825E00B580208AC +:10F5D000004000000000000048080C00830034C018 +:10F5E0000F0003CE20C3307C940B3483CC14F30281 +:10F5F0003C800C04030460C300B0C00C1003EC009A +:10F60000C9003CC40F1103120200000000000000FA +:10F61000401D9C00EE013FC04FE103D440F5167A37 +:10F62000C04EF003F41037053DC00FC00BDC40FFA7 +:10F63000003BC20ED007BC02EF003BC60FD003D088 +:10F640000660000000000000A805F400DD8433809F +:10F6500004F0036C02CB027EC01FA053EC00CB2051 +:10F6600034400CD00B2010EB001EE00F300B2C00B0 +:10F67000C10032C00F9103EA0070000000000000DA +:10F6800048119C0087002180086000140085002D2F +:10F69000800B7052D404832829C02850035000875F +:10F6A0004025C80F60020400A7003DC80B5202D2DB +:10F6B0000460000000000000C0008E00958021E082 +:10F6C0000938021E11A7802DF00B7852CE0A9795AB +:10F6D00021E0195C020E00A78029C80BF8021E2049 +:10F6E0008D8021E00B5802F0002000000000000097 +:10F6F0004814CC0082E0A0E82930060E50AB802CE4 +:10F70000F00B3142CC00930028C40998024C2883A6 +:10F710000024C00AB0020D00A25828C00B1002D26B +:10F720000430000000000000E815B900DE8031A0C0 +:10F7300009E20B7804EEA42FA48BEC02D800DA00C7 +:10F7400027810DEC061B00EA043E800BE0033B0022 +:10F75000CEC022800FA003FA046000000000000069 +:10F760004800E080F8103E050E8803E00898403E0F +:10F77000000F8483E140E8003A020E8043E140F844 +:10F780000036000F8003E020F8003E000F8003D217 +:10F7900000300000000000000810C400E9003E40F6 +:10F7A0000C90030420E99032680E9803A400C10075 +:10F7B00030400C94832408C9003E400C9003A40000 +:10F7C000C90030500C1A0302043000000000000091 +:10F7D0008004640089402E5028900A240889061667 +:10F7E000610B9C02E420A90036400D90022760A91D +:10F7F000002E4028901A24008900364028980220C4 +:10F80000001000000000000018052C00A9082EC2FE +:10F810000910002400A9000640899606E600890028 +:10F8200022C00890022402890024400890020C069D +:10F830008300224008900206004000000000000003 +:10F840000804050081442C500814020580812064BE +:10F85000701B1402E480A120644019120A0480A1E4 +:10F86000002C5018140285008140244040100202F0 +:10F870000100000000000000B80D6000E0003C0046 +:10F880000D80020000AA5036000F8003E140C852EC +:10F8900072140C05162008C8503E010C8003A00409 +:10F8A000C800B2000C800B2E0350000000000000C6 +:10F8B0009819F502FD403FD00FD423F444FD147F86 +:10F8C000500FD407F440F9103F5007D123F440F90A +:10F8D000401E5007D00B7500FD023E500FD403E6CA +:10F8E00006700000000000001805F600C9A83E726E +:10F8F0000F9803E6C0FDA0B3400FD0037780CD90F2 +:10F900007F400FDAA31690A9C032604CB1032400E7 +:10F91000C100336A0BDA030600700000000000002B +:10F920003810E34088E02E300B8D02F340B8E876C3 +:10F93000004F800A228088906E288F8A036144F8E5 +:10F94000E13E2A08880342A0DCA03E100B850A0E87 +:10F9500004300000000000000805C4A085082D4800 +:10F960001B5282D480B11420400B18020582810002 +:10F970006C420B12820400A16021500B50021490C3 +:10F98000952C28400B1002020170000000000000BE +:10F990001815A4018D442F400BD402F404B9082299 +:10F9A000400A92022C8489002E400A14026C80A91D +:10F9B000012A4009500A5C028D602A400B904206E1 +:10F9C0000460000000000000A015E662C9023E5479 +:10F9D0000F9003E400F94022460B98036720C90109 +:10F9E0002E690B940B2520A90022402D920A262275 +:10F9F00099002A408F900328047000000000000046 +:10FA000028018602F9003E400F9003E680F1A03EF7 +:10FA1000620F9883C620F9003E490F9083E400717D +:10FA2000023E400E900BE680F9803E400F9003CAE4 +:10FA300000600000000000002810A010C8003E0078 +:10FA40004F8043B000C84132000F80032102C8023A +:10FA50003E104C80030120C8003B000CC003B000E6 +:10FA6000CC0432000F80030A0420000000000000D4 +:10FA7000280528008A802E800BA002F8048E00231F +:10FA8000B20EE082F9048A002E810CE00A3A80DA94 +:10FA90000022B608A00228008E002A800B600B0A04 +:10FAA00000400000000000002805440293812CC0A3 +:10FAB0004B3002C80083CA20E019B0068C008104D4 +:10FAC00044400834020D0083002A0008000A8040E8 +:10FAD000880020C00B30024B0050000000000000E6 +:10FAE000A001040297082DC00B6006CA00830921FB +:10FAF000C00A7002DC0085312D680930021C1493A5 +:10FB00002020C008F0429C028F0029400370122878 +:10FB10000040000000000000A808160096843DA0E8 +:10FB20000F78039A028780B1E00B7803B600C5A076 +:10FB300035610C78131E02C78029000C4803900021 +:10FB4000C48031600F58036A02000000000000000A +:10FB5000081DA400EA003E800FA003E808FB003E59 +:10FB6000800F9013E408F9003C502EF003E808FBE6 +:10FB7000403EC00B30136C00FB003E400F3003C210 +:10FB800006600000000000000005D600CD8033E0D4 +:10FB90000CF803FA00FD803FA00DF803FA40CDD029 +:10FBA000777E0CE8431E00CFD83FE00CC8033AC470 +:10FBB000CC8033E00CF8030000700000000000006F +:10FBC000A81194028D0021C0086003D81035208B45 +:10FBD000D40D6403D8C085002F4E0764029C02D761 +:10FBE000302F040DF10B5440AF0035400870022A4D +:10FBF0000060000000000000000094408418218094 +:10FC0000087002DA20B5000900087002D4048500EB +:10FC10006D4C8960025C4097006DC00940025880BD +:10FC20008488254008D00200002000000000000069 +:10FC30002014C6488000208008AC02A800B100A8AB +:10FC400088092202864281006C520B2002C752832F +:10FC5000002C000834826700A3802040083002088E +:10FC60000430000000000000A815A300CBC0B24083 +:10FC70002C9082E600BB80BE78088E02EE008D00DC +:10FC800027600D900A6F009F022E0009B403678061 +:10FC9000CA40E4C00C30032A0460000000000000E9 +:10FCA0008000E080FB223E400F8013E400FB803E9A +:10FCB000400F9003E500F9003E400E7023AC20FB9E +:10FCC000003EC08F8003E920F9083E400FB013E0EA +:10FCD00000300000000000000110F000C6003200FB +:10FCE0000FD1833440CF003D400CD003DE500D00D7 +:10FCF00073400CD1037C408702B3000DF403240051 +:10FD0000CE2032400CD00300443000000000000040 +:10FD1000810461228A0022000B8040250089C32EC5 +:10FD2000200A9803A100890036408894020F01AB95 +:10FD30000032C008040A2900A902A2400DB00A201E +:10FD400040100000000000008005000089002261D2 +:10FD50000B900225019B882E60088802E800B10202 +:10FD600024401890022C00AB0120C108B4422C00A2 +:10FD7000820022C008B00220004000000000000005 +:10FD800008040000010020400B000A044683012CF7 +:10FD9000401A000680008100244008200A0C01A3BC +:10FDA0000024000880020000A10020400930020267 +:10FDB0000100000000000000000D6002C8002200E9 +:10FDC0000F90022500DA003E400C9002CC00FD00AE +:10FDD00037400C10132C02AF0032C00DB0032C00C2 +:10FDE000CA0032404C900B0001500000000000009F +:10FDF000A01DF000FC003F0007C003F41CF4003F0E +:10FE0000001FC023B0029D013F408FC007FC02FFCE +:10FE1000007B000FC003F000FD003F400F7003E8BF +:10FE20000670000000000000C005FA00CB803F24EF +:10FE30000AC103FC24CD20370A0CC2833080DC02C7 +:10FE40003FCC0DD9033C58DF3033C80DF4233C4080 +:10FE5000FF003FC54FF023B000700000000000001D +:10FE60008000EC020B822E080DB702FD0083180AF9 +:10FE7000580A84A2A5A089302255081262BD908F2D +:10FE80006221D648F3023CC5BF482FD84BB702E0E9 +:10FE900004300000000000008805EC0083002E897B +:10FEA000280002ECA08922288208120228409A0821 +:10FEB00028C888B20A0D109310A0C82830024C0040 +:10FEC000B3602CC40B30C2E20170000000000000DF +:10FED000C015AC408B002E8008B102EC028B0020D4 +:10FEE000D00A9002AC000B0126400894028C008BD3 +:10FEF0000022C008B0022C10BB002EC00BB002F0D4 +:10FF0000046000000000000000148C20CB023E2D95 +:10FF1000088003EC08C9801E040CB00301085018C7 +:10FF20003E400C04032C00DB0132C00CB00B2C084B +:10FF3000BB003EC00FB00380047000000000000052 +:10FF4000E100BC00FF003F600FC023EC00FFC0BE1B +:10FF5000608FC923F650ED80B850AFC003FC00FF9E +:10FF6000003FC10EB003FC04FF023FC00FF003F8D6 +:10FF700000600000000000004010AC00EB00328088 +:10FF80000D90032C0089003E988C30036180FA406C +:10FF90003E402CA5032C00FB013CC02C30032C0060 +:10FFA000DB0232C00FB003D00420000000000000CC +:10FFB000CA002E808B82A0C08C90023C008BF02265 +:10FFC000C20D800227008B1022400880223C00BF17 +:10FFD000002FC008F0023C00BF01A3C00BF012F2DA +:10FFE0000040000000000000E0054C00B31C204071 +:10FFF0000800062C009B0020D00820024C00A30023 +:108010002CC008100A0C00BB0028C00930020C005C +:10802000B30020C00B3002F8005000000000000038 +:1080300022111E0097A021A00879021E009790210E +:108040006009E8223E00AF8421E4485C021E00B7CC +:10805000902DE00978001E09B39021E40B7802D836 +:10806000004000000000000048182C40B3B032402F +:108070002C81130C42D100B0C08C30034820E301A6 +:108080003CC00C30030C00F3103CC0CD320B0C4054 +:10809000D30030C00F3003D2020000000000000007 +:1080A0004015BC00E7003F800BF103FD006D00327E +:1080B000401F7007D841C3103BC00FD103FD00FF24 +:1080C000103FC00EF003EC10FF083FC30FF003D0C9 +:1080D0000660000000000000A815EC04FB023E4012 +:1080E0000BA003AC00DB0036800DB003AC00E80051 +:1080F00036C12E90032C00CBA036DC0FB0032D68C8 +:10810000FBA092C20CB103EA007000000000000066 +:1081100048119C0837002DC00BE0021D80B70423D6 +:10812000000A40021C18840025C01850320D80A39C +:108130003021CC0B34821C10B73021C8087002D219 +:108140000460000000000000C0009E20B7802D6089 +:108150000BFC229E008D8025A008F8229200B4809E +:1081600025E008F8021E0087B021E0097A021E18F7 +:10817000B38021E0087802F0002000000000000039 +:108180004804C520B3012CD80B3C022C08B90020B0 +:10819000030A00822208900D26E40810020C00A3B6 +:1081A0000022C00B30026C00B30022C0283002C293 +:1081B0000430000000000000E8059900FA023F903A +:1081C0000FEC23A800DA0035800DE002BA02FEC2EF +:1081D000B6A00EE40B2800CA00B2800FA00B280046 +:1081E000FA0032800CA003FA0460000000000000D6 +:1081F0004800E000F8003E000F8203E000F8003E77 +:10820000000F8103E040E8103A004F8483E000F85B +:10821000003A000F0003A000F8003E000F8003D2D8 +:1082200000300000000000000800E500C9023E40E8 +:108230000F90232400C90032682F10032400E91492 +:1082400032400D900B0400D9001E400C9003240016 +:10825000C90036400C90030204300000000000000A +:108260008014640089012E404B9012240089C2A220 +:1082700060889003640089C1A240481603640289A3 +:10828000002E40089022240089003E4028900A20B9 +:1082900000100000000000001804240089022E4095 +:1082A0000B1002240089102240899002AC00A10822 +:1082B0002240099802A40089002A40089002240064 +:1082C000890026400810020600400000000000005F +:1082D0000800240081002C410B120204818120221D +:1082E00048081202C481812402480A900284A081B5 +:1082F000286C4A0812D204A181282C4A0812820252 +:108300000100000000000000B8086140C8002E1401 +:108310000F850B2142CA5022140D8543A140E8501D +:1083200030000D8502A1C0D8203A082C820B208293 +:10833000C82034098C82032E035000000000000086 +:10834000980DFC02F9003F404FD103E440F514BF03 +:10835000440D51235C40F5101F4E4D50036408F945 +:10836000283E4A8F9283E4A0F9283A4B0F9283E685 +:1083700006700000000000000805F440FD003040D9 +:108380000C90032400DD003B400E900374005D0060 +:1083900036640DD000A600F94032780C99032440D1 +:1083A000C99032500F9B03060070000000000000CF +:1083B0003810E280B800220108800A200088002AD4 +:1083C00000088002200088002220088A8BE100B883 +:1083D000802230280D022200D8E422280B8F0A0EBA +:1083E00004300000000000000805C480B100A04077 +:1083F0000810020400890008400A904244009100DD +:10840000205828900285008120A04C09120A04807F +:108410009140A0400B10020201700000000000001B +:108420001815A400B9022040089002040089012216 +:1084300040289022040089102240089002E400B1F4 +:108440000022408190020400910022400B9002061D +:108450000460000000000000A015E500F10032609B +:108460002C92132402D1103A400E12036604D90054 +:10847000B6400D1903A400F9003240099001240010 +:10848000D90222400F900328047000000000000071 +:108490002A01A500F9003E640F1003E400F9813EB3 +:1084A000668F9023E480F9043E408F9003E404F942 +:1084B000003C400E9003E400F9003E400F1003CA58 +:1084C00000600000000000002A10A000F8243E0018 +:1084D0002C84032000B8203E008C8003A000708212 +:1084E00032000F80032008F80032002C800B200897 +:1084F000C8003E000C8003CA0420000000000000F9 +:1085000028052804BE803A8008A00228048E006D49 +:10851000900DA0023A008E80A2800EE00B6800BA97 +:1085200000228008A0022800DA002E8008A002CADB +:10853000004000000000000028814C00B1002CC069 +:108540000830020C18A3022C108830068281A0008B +:108550002AC00B300A4C00B30020C01AB0028C01B4 +:1085600083002CC0083002CA005000000000000048 +:1085700020011C10B40A2BC80831261C0086002DCF +:10858000C00972021D00A54029C00A60025C88B3C0 +:108590002025C80A72029C8097202CE8807202E88D +:1085A000004000000000000028081600B5803DE2F1 +:1085B0000C7A8B0EC0A7812C200CFC039202EF805A +:1085C00039E40BD8011F00F780B3F48E79038E00D5 +:1085D000C7C43DE82C7B03EA020000000000000055 +:1085E000081DAC00F8003EDD87B603EDCCE9003E87 +:1085F000400FB007CC100B0036D80F8043AD80FB86 +:10860000283AC00DB4036CE2EB603ED40FB003C255 +:1086100006600000000000004005FE00FE903FE5FF +:108620000EF8033E10FF9017600FFC037A00EE80F7 +:1086300037E20E780FFF40EF881FE00CF883FE80D2 +:10864000CFD0B3F00CF8C3100070000000000000A1 +:10865000A8119C40B4100FCC0072021C00B6020995 +:10866000C028F0029800A60021C00B6003FC02871E +:10867000002DC0087002DE008F1021C008F0036AD0 +:10868000046000000000000080009400B6022FC2C9 +:108690001A30801C00B60801400AF002180087005A +:1086A00021C00BD0029C10870029C0087002DC4456 +:1086B000871064C00870020600200000000000005F +:1086C0006014CE60B0002CC008340A0C08B004005E +:1086D000400830A28980A26220E00B000ACC088307 +:1086E000006CC0083052CC00830024C0083002580F +:1086F0000430000000000000A815AE00F8003FD0D4 +:108700000EFC033C00F90092840FFC03640080001F +:10871000B7C30FB883BC04EF003FC03CF003FC02BA +:10872000CF0037C028F0132A0460000000000000CA +:108730008000EC00F8413EC80F3203EC00F8003A2C +:10874000C40FB103C400F90036C00FE40BEC04FB06 +:10875000003EC10FB043EC04FB003AC00FB003E48D +:1087600000300000000000000110F400FC803FC059 +:108770001FF0033C08FB0033802EF013A404CB0051 +:10878000B9C02CD80B3C00FF003FC00970002C047E +:10879000FF003FC00FF003C00430000000000000E5 +:1087A000C1006C00B8802EC00BB0036C00B9162855 +:1087B0007208B0222740DB0022C008BD822C08BB13 +:1087C000002EC048B0022C00BB002EC10BB002E04E +:1087D000401000000000000080052C00B8602EC092 +:1087E0000BB0022C00B1002A844A3022AC209880C1 +:1087F0002AC0083002AC003B002CC00AB002AC0812 +:10880000BB002EC00BB042E00040000000000000A2 +:1088100008040C01B0002CC00B30024C04B0002A3C +:10882000800830020000100428C00820428C00B3E9 +:10883000002CC042300A8C00B3002CC08B3002C226 +:108840000100000000000000000D6400F8503FC06F +:108850000BF0033C00FA0432800EF023AC00D90088 +:108860003BC00C9003BC04FF003DC02EF00B3C004D +:10887000FF043FC00FF003C00350000000000000E1 +:10888000A01DFC00FC003FC007F003FC047C02B507 +:10889000000FF003F000FC0037C00FF0137C00FF66 +:1088A000003FC00DF0036D00FF003FC01FF003E864 +:1088B0000670000000000000C005D200D580330A19 +:1088C0004CF803F200FC0037261FCA03BCC4CF20BB +:1088D00033E40F78033E44CF003BCE9F6813D000B3 +:1088E000CD80B3600FFA83F0047000000000000038 +:1088F0008010E080C928223008B222EA01B8822024 +:10890000504F9C00A8D1DB10A6E017B803EC80DB29 +:10891000081FD00BB802F600FB8022400BB00260AB +:1089200004300000000000008805C4208180200081 +:108930008B3082C000B01028088B1130C48490287E +:1089400024C80B30024C00831004C80B3002CC004A +:10895000B30024400B3002E2017000000000000070 +:10896000C015A600810022100BB012EA20BB002A1D +:10897000700A9C026200988826C802B2028E088B98 +:108980001822C00BA002EE203B0026400BB0027064 +:1089900004600000000000004015E000CB003280C1 +:1089A0000FB003E700B8523E204B0C43EF829BC050 +:1089B00032C00BB0026C018B802EC00BA083E6008E +:1089C000FB0036400FF003D00470000000000000F0 +:1089D000E001B002FF043F900CF101F4087D803704 +:1089E000000FC0239800F7002BE00FF823FC06FBD4 +:1089F00083BFC087D003DC00EF003BC00FB001F89D +:108A000000600000000000004010A600CB00338092 +:108A10000FB003E110F240B2003D94172D44FA412B +:108A200032C09FB0232C02CB4032C04F90033D0098 +:108A3000CB003E400FB003100420000000000000F7 +:108A4000880526008B7120D5039902E000BB8022A7 +:108A5000601C80036000B80222C20B32022C018F1E +:108A600002D7C00BA0036D4053802EC00EF043729E +:108A70000040000000000000E005680280002400C3 +:108A80000B3526C200B09020C08800024F20B302F0 +:108A900060E21B38020C00880060C00B34824C027C +:108AA000A1902C400B30023001500000000000006B +:108AB00020013A088CA02D204B7802DA00B29021D8 +:108AC00066487902DE40B791A1E0DBF8021E4084DF +:108AD0009001E08BF9025E0197802D600A780048D2 +:108AE000041000000000000048080C00800024046E +:108AF0000F3203C4A0F14230C42C31024400F11102 +:108B0000A0C00B300B0C42830000C00F30034C029E +:108B1000E3003C400B3001120200000000000000A6 +:108B2000C01DBC00FCA533C00FD003FC01BF003F3B +:108B3000C40E7103740075103FC005F003DC40FFE4 +:108B4000043FC00FF043FC007F003F400EF003D015 +:108B50000460000000000000A804E800F204B380F4 +:108B60000FB80B2C00EB8032C00C20132E08CB0169 +:108B700032C50FB103EC48C81032FA8C38033C9070 +:108B8000CB003E400FB013C2047000000000000094 +:108B9000C8109800F60061810BF0021C00D700B7E6 +:108BA000800C7002BC108F0021C88B7243FC88DCE3 +:108BB0000037C80D50021C2287002DC00B7002D355 +:108BC000046000000000000080009E00B680A9A0A4 +:108BD0004B7C025E30A38821F00878021600858065 +:108BE00021E00B7802DE008780A1E408D8024E0065 +:108BF00097802D700B7802C8002000000000000054 +:108C00004814EC00B20028C00B10024E90930222D0 +:108C1000F00838428C42830422E44B38028E4083B1 +:108C20000020C00938224E2193002EE00B3002DBD9 +:108C30000430000000000000E815A801FA003B899C +:108C40000FA0027808AE4023802C6C0B3A008E8C6B +:108C5000B2000B8082E0028E0022800CE8027B8052 +:108C60009A803E800FA003FA04700000000000000C +:108C70004800E009EC0036210B8013A100F8603EAB +:108C8000000F8103E000F8003E000F8043E010F881 +:108C900000BE000F850B8000E8103E000F8003D25D +:108CA00000600000000000000810E402C902304823 +:108CB0000C9913A402C9003E420C908F2400F900C5 +:108CC00032280C8803E000C900B2400F9003E7008F +:108CD000C9103E400C1003020420000000000000F8 +:108CE000800464018980A248289242C50089402EF0 +:108CF000402C90062500B9002250089802C4008933 +:108D00000176404B9202E50289002E400D900360EF +:108D100000100000000000001805240C8520A2406F +:108D2000089006E50089402E40099042A4A0310039 +:108D30002250189102E400810022400B9006E400CA +:108D400089002E400990020E004000000000000043 +:108D50000004150085402040081426E40081002C02 +:108D6000401810028480B120A050081402E502814E +:108D70004020480B1006CC0081012C500914024AF7 +:108D80000500000000000000B80D60008C003200FB +:108D90000C8023E000C8003E140D8012A144F8515D +:108DA00032002C8003E000880422140F8007E000CA +:108DB000C8003E000D80032E03500000000000009C +:108DC000989DE400F9003F500FD003DC01BD423F05 +:108DD000504FD4437441FD103F101FC413F100FDE8 +:108DE000407E440FD043F501FD003F400F9403E661 +:108DF00004700000000000001805F400DF05336176 +:108E00000F50533410FD0433444F500376C1CDE06E +:108E100033600CCE03F6C0E1C0B6648F500B3682CF +:108E2000CD003E444C9EC3C601700000000000000F +:108E30003810EA2880A0B2040B8A836000FA00365A +:108E4000288B8003E3C8C8842214088A02E280D8F1 +:108E50008234341B8003600488002E200A8E42CEA8 +:108E600006300000000000004805C480810804416D +:108E70000B92020400B1002C400B18022400B160D8 +:108E800026400A1602C500A1C020480B90024700E8 +:108E900091012C48181202D201600000000000006D +:108EA0001815A40C8B04A2500B91022404A9012EC6 +:108EB000420B9002A400A90026600A9002E60081FD +:108EC0000022408BB002240899102E401A9002C64E +:108ED0000020000000000000A015E500C900364099 +:108EE0000F10022500B1002E600F10122402B9A04D +:108EF000A4402E9103E600A90022400B19806404CF +:108F0000D9812E404C9003E814700000000000004E +:108F10006801A40AE900BE480F980BE400F9C436C2 +:108F2000701F9203E690C1903A408D8803E400F9E7 +:108F3000903E400B9803E640E9003E400F9003D27C +:108F400000600000000000006810A102D820B210EC +:108F50000C80832140C858B2104C800B2000F8428E +:108F600032000F8003E002D80072001C8000200055 +:108F7000F8043E000F8003020420000000000000FF +:108F800028053804CE41238008E0023910AE402283 +:108F90008008E0021A00BA002BAD038002E800CA84 +:108FA000002A800AE0021800BA001A800BA0034AC7 +:108FB000004000000000000068056C128900A0E07D +:108FC0000838020D88830004E00838320E2531018C +:108FD00024E08B3802E401830020C00830028C00BA +:108FE000B3002EC00B30020A005000000000000049 +:108FF000A0011420862029B008F0823E04A7002199 +:10900000708870921C20BD0069C00B7602D4808FDE +:109010002129E00A60869801B7002DC80B3B026049 +:109020000440000000000000A8083E00C7A0B0E017 +:109030002C780B1A00C38037E02878031A08F590C3 +:1090400035E00F7C12D682C79021E40878039E0099 +:10905000F5803DF10F7803220200000000000000BF +:109060000819A400EE8036C14FD003C800FB003EB3 +:10907000510FB003E408F1603EC00FB003C500EB30 +:10908000103EC00FB0096C00FB003AC00FB003C225 +:1090900004600000000000000001FE00FD88336055 +:1090A0000FF903CE40D78437700CD8233600C5881B +:1090B00033E04FF813F728DF8037E20C58033E0007 +:1090C000FF903FE00CF803000020000000000000CB +:1090D000A9119C08F600A1000B6302D6308541312E +:1090E000C80850231C00D520B1800F7003B400C7FE +:1090F0000021C00F40A35840B7003FC40AF0022A25 +:10910000062000000000000000009C40B71021D2A3 +:109110000B7002DC42860025610851025000950068 +:1091200025C0097082D400870024C00850025C006A +:1091300095042DC00870020000200000000000000F +:109140002014CC08B2D020E04B0802C4008080205C +:10915000F0081A028548811020400A3002C6109398 +:109160000020C00A1C020D40B30068C40AB0020906 +:109170000030000000000000A815AC01FE0032F035 +:109180000F8803E600C8C836F628A60A6D009D00C1 +:1091900032000BB003F603C70037C0089C0A6E000C +:1091A000BB002FC00CF0032A046000000000000088 +:1091B0008000E401EB403E804FC103E400B8083A70 +:1091C000408FA4136C20F9003E700FB003A440EB55 +:1091D000003EC00F9223E800F9803EC00FB063E06C +:1091E00000300000000000000110FC08CE0833C071 +:1091F0000FDA033000E40435C00DA0032800C500D9 +:1092000033000BFA03F403CB0031C00CD403142059 +:10921000CD8023C10CF002084430000000000000A3 +:1092200081044410CBD022C00B94022284B8C60221 +:1092300040082802A580890022600BB80264008BD8 +:10924000002AC0C800036600810000C00DB00AA853 +:10925000401000000000000080052C001300224098 +:109260008B24022A00BB82224000AC0284008900C9 +:1092700022220BB002C4009B002AC008B0022E00BC +:109280008B102AC008B002A01040000000000000AF +:1092900008040C10830020010B20020080B1002084 +:1092A000C108200288018100A0000B300244019B0C +:1092B0000028C008B002480689002AC0093002828E +:1092C0000500000000000000008D6C00C300B2C06B +:1092D0000FB0032820FA00B1400DA007A000CD0078 +:1092E00022000FB003F4009F003BC02CB00B240001 +:1092F000C900BAC00CB00380035000000000000099 +:10930000A01DFC06FF02AFC00FC003F010FC003F21 +:10931000C09FE013F000FD043F404FF0037400EFE6 +:10932000003FC08FE002B401FD0437C00FF0436876 +:109330000470000000000000C005FC00C720B3C896 +:109340001CF1037C20CF0A3FD00DF0037C808F32CC +:1093500033C40FF1833CE0CF1033C40DF2833CE201 +:10936000C78017CC4CF38330007000000000000071 +:109370008010E3408868223008060201A188C40EEC +:109380001408878001C0285002048B8602A19888A7 +:10939000412A040A8482BD808B082BC488F40360B0 +:1093A00004300000000000008805CC088240201036 +:1093B000082112440482042C0889900244218B0065 +:1093C00024888BA00040848930224888B002CC08D1 +:1093D0008820A4C800320A220170000000000000AA +:1093E000C015A000890022C1889062280889082E33 +:1093F000C008A0022808A80026420B9002CC508A80 +:10940000222A860A8002EC0088842AC108B026300D +:1094100004600000000000004015F002CF0033C0DF +:1094200048F84379008DC03F308D60837860C45820 +:1094300037200F58137B02CCC431200C4403EC02BC +:109440008B8036C024B012100470000000000000B1 +:10945000E0019C00F4103D006FC913D412FE903F50 +:10946000F00FDA23F414FF023BF00FEA23B600FFFB +:10947000823FE18FF403BC00FF003FC0AF7003F8F0 +:1094800000600000000000004010A000CA00320888 +:109490001CA003A520CB40BA101FB003AC00EB000A +:1094A00072900CB4032904C95232500CB4030C005E +:1094B000F84032C10EB00B50042000000000000044 +:1094C000C8052D80898022D90890222A008854223C +:1094D000C08B80222019C80022408D801A2410D20F +:1094E0004422810D80037C00B00037C088F0023236 +:1094F0001040000000000000E0054E008100A0F0D8 +:109500000890028902800022C00B0022A000B00057 +:1095100020400800020400826020800800020C083D +:10952000B20022C0083002380050000000000000E5 +:10953000200103108E902324086B0216608F802177 +:10954000280BF9061E408F8023A44979023A409DDA +:1095500090236409F8025E40BE9024E42879020852 +:10956000004000000000000048080C42C009300024 +:1095700028020384008A2030C48B11038450B30076 +:1095800020C00CA4220400CB4030C50C30030E4098 +:10959000F31030C40CB00312020000000000000001 +:1095A000401DB004FB043DC00FF243F804FD013F31 +:1095B0000C0F6103F848F4003D010FD003C800FC14 +:1095C00004BD040B4803FC18FF143FD50DF00390B5 +:1095D0000660000000000000A805E000F90132C0AC +:1095E0008E90032802D10032C00DA80B0800E800BD +:1095F0002E400C980B2E02CA00B2A06C80232D8046 +:10960000CA8032D00CBA032A0070000000000000AB +:1096100048119C00B600A3000860020400860429DB +:10962000000850421404A7000D804A600200008127 +:109630000021400870029D42860120C0083282123B +:109640000460000000000000C0009200BC806320A5 +:10965000820802520084C22320880C0233008480D6 +:109660002F21894C02121494C56421084C020E80EB +:109670009782A1EC08790230002000000000000071 +:109680004814CD44B30020C00830024D8003882820 +:10969000C0083C060F00A3432CC21B38020F009BDE +:1096A0008864D008B8028C10930020C008300A12D9 +:1096B0000430000000000000E815AA00FA0532801E +:1096C0008EA00B6900CA4032A03CA8032A00EA26FB +:1096D0003EB00DA1632820CA4036A00CE013280933 +:1096E000DE0032802CA0033A04600000000000007D +:1096F0004800F020F4003F000F4023B000EC003F92 +:10970000061EC213F088FC203F048EC003F080ECDC +:10971000403B0C0FC0A3E000E8003E004F8003D2A6 +:1097200000300000000000000810E400F9003240A2 +:109730000C90032400C98032400F9053E410C900FC +:1097400032400D9003E400F90036408F900324105E +:10975000C9013C400C9003C204300000000000002E +:109760008004474489002040089002250A81102285 +:1097700040489003C40089007640289002E410B964 +:1097800040B2400B9003640089002E41089042E0F3 +:10979000001000000000000018052402BD0023484E +:1097A00008D0061D048D0029C04AD022F40085008F +:1097B000614018D012FC00BD40A3404BF0020401F0 +:1097C0008B002E40089002C6004000000000000000 +:1097D000080436808520A34808520A148185202970 +:1097E00048085202B48085202548885202D480B5AA +:1097F0002021480B520244A281002C4A081282C246 +:109800000100000000000000B80D6000F8512200C7 +:109810002C85022148C800BA140F8512E142C850B5 +:1098200022000C0003E000F85032000745032080BE +:10983000C0013E082C8203EE03500000000000002F +:10984000980DE440F1103E44079143E458F9113477 +:10985000444F9102E450F9103C4F0F9383E4F0F928 +:10986000113A4F0F9103E4A0FD283E4A0F9283E680 +:1098700006700000000000001805F6A0CDA0B36837 +:109880008C9A033680C5A022600C9A232604F9A086 +:1098900032660C9A830620C5A022600C9B032648E2 +:1098A000C9003E780C9A030600700000000000001A +:1098B0003800E10088442295088512A142884002C0 +:1098C0009008840223A0BA4022A0088E92A3A0A8E8 +:1098D000402A1008AE02234088002E380884120E59 +:1098E00004300000000000000815C4008B12224064 +:1098F00008900244008140A05008110A0500B110F0 +:10990000A04808900204008140205028110244829F +:1099100081002C50081102020170000000000000BC +:109920001815A40289402240089412A50089282213 +:10993000490894022448B9142240089402A440A182 +:10994000502A50089142640089402E4008100206B7 +:109950000460000000000000A015E400C9003070A1 +:109960002C100B6600C94032500C90032620F9C021 +:1099700032700C90032620C90032400C9C03640016 +:10998000C9413E402C900B280470000000000000EC +:109990002801A400F9043E480F9003E488F900343C +:1099A000412F9C03E410F9003E442F9903E410F981 +:1099B000003E500F104BA410F9203C400F90034A7A +:1099C00000600000000000002810A000C8003E1049 +:1099D0002C80032002C04032001C040F2100C00470 +:1099E00038000F80032108C86030100F800220006B +:1099F000F80032000C8003CA0420000000000000C0 +:109A000028051A2082042F8008A00238008E8022A8 +:109A10008008E00228008A0022810B20022800DE54 +:109A2000E436800BA0422800BA04228008A002CAB3 +:109A3000004000000000000028054C0083012C803D +:109A40000830022E608290A0C04830020C028300D1 +:109A500028C00B300A2C0083C220C00B302A2C00F7 +:109A6000B300A0C0083002CA00500000000000008F +:109A7000A0013C0087012DC208F3123C008F012198 +:109A8000C86872221E04872021C40B70023C849F88 +:109A90000025C44B70021C04B78121C8087202E87B +:109AA0000040000000000000A8001E00C7813CA08C +:109AB0004C7A0B1A00C68030E008F8820E40CFF0D6 +:109AC00039E80F3A031E20C78031E30F38231F08FF +:109AD000FFC033F20C7E03EA020000000000000029 +:109AE0000815880A7B003EC10B3423C810FB023ED8 +:109AF000CA0FB743EC80FB002EC20BB483EDD0FA43 +:109B0000003ED90FB383EC80BB203ED82FB403C2F4 +:109B100006600000000000000005FE00F59131A085 +:109B20000CFC03FE00C48131EE8DF80A3E30CF8478 +:109B300033E02CF883FE10FE8033E00CF9193F4827 +:109B4000CFC033E004FC03C0007000000000000040 +:109B5000A8119C08B7A121C8087102F0A085202196 +:109B6000CE0870023C808F002BC5087102DC10B457 +:109B70000021C10AF3820C00870129C00871026A22 +:109B8000046000000000000000009D00BD2127824D +:109B9000007002FC048C00A7CCA870023C08AF0047 +:109BA00021C0087002DC00B70021C40870161C0A2E +:109BB0008F0021C0087002C00020000000000000DB +:109BC0002010C800BB4424E208B102C280018024F6 +:109BD000D08830020F52839128E4883D02CED0B065 +:109BE000B2A2C00A34120C02830028C00830024816 +:109BF0000430000000000000A815AC00FB01E440A8 +:109C00002CF043E5008A8837E000FA023D00EF00BF +:109C100033D10CF403FD00F94033E80CFC013C04A3 +:109C2000CF0233C02CF003EA046000000000000003 +:109C30008000EE08F9103AD00FB093EC00FB0B3A1D +:109C4000C08EB083EC80FB097EC80FB213EC00F924 +:109C5000003EC28FB24BCC04FB003EC00FB003608D +:109C600000300000000000000110FC00FF0833C0BD +:109C70001CF0037040C4C033C20FF0031C10C700B7 +:109C800031C00C70031C00C54133C00CF0232C0004 +:109C9000CF00B3C06CF0038044300000000000002F +:109CA00081046A00B99032F108B0020A10D900228A +:109CB000C10BB0022C00CB0622C088B0122C008849 +:109CC0008022C10DB0022C00830022C108B046E002 +:109CD000401000000000000080012E00B90022F0BA +:109CE00008B01264008A0022C00B30422C008B00A6 +:109CF00022C008B0022C008A0022C088300A2C0042 +:109D00008B0020C008B002E000400000000000000E +:109D100008040C04B102E4C108B022200293002020 +:109D2000C00B30120C028302A0C028300E0C02803F +:109D300000A0C049300A0C028B0020C0083002C2CB +:109D40000100000000000000000D6C00F92432C08A +:109D500008F0036400C800B3C01FF00B3C008F0084 +:109D600033C04CF0433C08C30031C00CF0033D4805 +:109D7000CF0031C00CF00380035000000000000051 +:109D8000A01DF004F9413BC04FF003F011FD003F6E +:109D9000C0877027FC00EF063FC00FF002FC08FCF4 +:109DA000003FC047F043FC0077003FC00FF003E8DE +:109DB0000670000000000000C005D200C701370C8B +:109DC0000FE823104AC4C031300CC9033446CF1009 +:109DD00033D00CF4033C58CF0033C02DF1033E02C6 +:109DE000CF213FE40FF203300070000000000000BC +:109DF0008010E4840B40224C0BA8022CC08B202244 +:109E0000C84A32022480832020C008300220008B00 +:109E10002132CA4832022C308F902E880BBD12207E +:109E200004300000000000008805CE20A340E04878 +:109E30004B20220C0282002A00082002048080208D +:109E400020C80802020C00800C60000820122C8838 +:109E500083002CE80B30026201700000000000005B +:109E6000C015AE00AB01A2600BA002200181002250 +:109E7000C00A901204208A0822C108A00228008883 +:109E800000244408A202AC008B042E8803B00270A8 +:109E900004600000000000004015EC00EA90322849 +:109EA0000FB6032008C9043AC04C90222400CB40CE +:109EB00032A80CB2032C00CB80B2E00CB00B040033 +:109EC000CB003EC04FB00B500470000000000000FB +:109ED000E001BC00DF803B810FF0C3FC00BE011F2E +:109EE000000FE023F400FF003FB04FF043D402FF27 +:109EF000913AE04EF0037C0CFF002F800F3003B846 +:109F000000600000000000004010AC01CA00725068 +:109F100004B4032C82CB0032E00CB8032704C8C879 +:109F2000B2A20C88032C00C1003E002C301B2C0474 +:109F3000FB103EC00FB00310042000000000000022 +:109F4000C8052C040350A2E00834423300880020E6 +:109F5000100D840325008A40229008A5022C008958 +:109F6000A43A4008B0022C00BF842E800BF052327D +:109F70000040000000000000E0056C808180248823 +:109F8000893C2621009000200208808200209B004E +:109F9000224088B0120C0883802CC00810020C00EC +:109FA000B3802C400B30023800500000000000004D +:109FB00020013E0A85A0A56008FB823E849F816344 +:109FC000E089791252809782216C187802120087FA +:109FD000A129E0085B021E00B7C02D600B780208C3 +:109FE000004000000000000048080C00810826C264 +:109FF0002C32130EA4D200B0001C21122402D12056 +:10A0000030C80C10030C00C2103C800C23030C4021 +:10A01000F3003C480F300B1202000000000000006B +:10A02000401DBC00FD20BB40077202F010ED103F48 +:10A03000C40FD163B480EF003FC80FF003D800FE17 +:10A04000343FC40FEB43FC00FF087F400FF183D087 +:10A050000660000000000000A805EC00C800338086 +:10A060008F28032000490232C00F90032000CB004C +:10A0700032404CB00B2C00CB8032C00E9E0324002B +:10A08000FB203EC00FB0032A00700000000000005B +:10A0900048119C008D0121C00B60021D00D60021DB +:10A0A000000BE00200008304204008704234028765 +:10A0B0000123C028510A1C04B7302DC00B72039233 +:10A0C0000460000000000000C0009E00A64021A027 +:10A0D0000B68020E008F8021E00B78021610A5801D +:10A0E00021E00818021E00838021A00878021F00CA +:10A0F000B7802DE00B380230002000000000000087 +:10A100004814EC12A16420E60B20020010904A20B3 +:10A11000204B00420400830020C20830028C0083E0 +:10A120000420C00830020E00B3002CE04B30029235 +:10A130000430000000000000E815B800EEC03390C5 +:10A140000FA01B0800CA40B2820FA00B2802CA0051 +:10A15000B290ACA0032900CA40B2808EA4032A00AA +:10A16000FA003FA80FA00B3A0460000000000000B6 +:10A170004800E20290003E000F8803F100FC023F1D +:10A18000200FC803C100F0003E008F00016002F8FC +:10A19000083E000F8083E000F8002E008F801392AD +:10A1A00000300000000000000810E402C900B264A2 +:10A1B0000F9103E404C90032406C90032502C9905A +:10A1C000B0400C90032420C9A03E404C9023E400F2 +:10A1D000F10092400C100302043000000000000067 +:10A1E000800464008980A2400B9642E50489002225 +:10A1F00040089002240809412240489042240489E2 +:10A20000802640089002E400B90022400894022011 +:10A2100000100000000000001805250089202240E1 +:10A220000B9002F4848500214048500224208D08C0 +:10A23000234008D00294008D0029400AD002A408CF +:10A24000B90028401890C20600400000000000003D +:10A2500008040500810020510B1002F58085C1A182 +:10A260005008540A050685402150885402950085FF +:10A27000442D502A5412C501B100085008100202A2 +:10A280000100000000000000B80D6000CA503280DC +:10A290000F8003E802C80132002CC0032000C8026E +:10A2A00032002C800BA000C8003A004E4023A008CA +:10A2B000F8003A002C800B2E035000000000000034 +:10A2C000981DDC04FD403F504F9063E440F1023E96 +:10A2D000410F9013F504F9413E500F94436502F984 +:10A2E0004136504D9403F400F94137404F9403E652 +:10A2F00006700000000000001801FC00CDA83370BB +:10A300000FD013F688CD0032504F142307A0C9C0D8 +:10A3100032780C9E033702CDC032640F98032400BC +:10A32000CD0032402CDA030600700000000000006F +:10A330003810E20888EB22300B8012E804A0A02A33 +:10A34000200B8A0A23008880222800C842238080AC +:10A35000D420280980022294A8002A008885020EB1 +:10A3600004300000000000000805C4A0830024D8C9 +:10A370008B1002E514890A21480B52025480854053 +:10A3800025580956024502812020500B1402043042 +:10A39000810020400810024201700000000000000F +:10A3A0001815A4128900A6400B9042E498A9802BAE +:10A3B000400B510255009D08274809F602440081D0 +:10A3C00004224019918A2480A9002A40089002465C +:10A3D0000460000000000000A015E702C904365820 +:10A3E0000F9003C500C90032400F90136402C900EA +:10A3F00036402D900B6604C9E0B2488F9847240080 +:10A40000C90072400C1003680470000000000000D6 +:10A410002801A508F9213A400F9003E604F9003E0F +:10A42000404F9883A400E940BA600E9003A480F9DD +:10A43000A33E480F980BE400F9001E400F90038ADA +:10A4400000600000000000002810A248C820320868 +:10A450001F8083E122C80133002CC0033004CC40AC +:10A46000B1000C44032012C84132002D840B60005F +:10A47000F800B2004C800B0A04200000000000002D +:10A4800028053A00A600239003E492F800820036E3 +:10A490008008A0036800CA00228308A00228038A5B +:10A4A00000228008A0022800B68022800DE8020A5F +:10A4B000004000000000000028056E00824220C01D +:10A4C0000B3402CD09800020000800020002980031 +:10A4D000202028000A0410818020C008B0022C002F +:10A4E000B30022C01831020A005000000000000032 +:10A4F000A0013802A30021401B7002DC2084056506 +:10A50000E008F0027C10970024C0083002548887CD +:10A510000921E80933021C80B60863C809381228EB +:10A520000040000000000000A8081E00C7A0A1E035 +:10A530000B7803FE00C58233200C48031E01DF8028 +:10A5400031200C48030640878231F80D7B035F0001 +:10A55000F38031F20C60032A0200000000000000CA +:10A56000081D9C00FB012F4007B003E804F9003EE2 +:10A57000C10FB003E006E8023AC00FB001A410F921 +:10A5800040BED006B003EE00FA003CD80FA003C2D4 +:10A5900006600000000000000005F600CF8833646C +:10A5A0002CF803FE02C4B033208CD8033200CCB4A4 +:10A5B00033A00CC8031620CFC033F00CF803FE0004 +:10A5C000CD803FE00FD803000070000000000000C5 +:10A5D000A811B5048712A1500A7412C44084112333 +:10A5E000C028E0021C02A711215848700A14008DEF +:10A5F0000023C00B7002FC4086002DC00B50022AC5 +:10A600000460000000000000000095008740210069 +:10A61000187102DC009528E1020850023C42A72292 +:10A62000218088410214008500A1C0097102DC006C +:10A63000B5102DC00B4002000020000000000000FB +:10A640002014C41083842011083002C310912020EC +:10A65000C00828120000A08420400830020426838D +:10A660000020D00B3002CC00B2002CC00B0002083E +:10A670000430000000000000A815AD00CF88B2E84B +:10A680000C3013CEC2D08232000C0E0B2000C888D2 +:10A69000B2402CBA433702CB00B3C02CF003FC12FB +:10A6A000FB007FD10F300B2B046000000000000086 +:10A6B0008000ED02F1403E410FB023ED00E8013E85 +:10A6C000C80FB013EC04DB003C800F0403E440F936 +:10A6D000003CC20EB003EE004B413EC00FB003E0A1 +:10A6E00000300000000000000110FC004B0032426E +:10A6F0000CF0033680CD0033004CC0833C04F700DF +:10A7000032400CB1431400CD8033C00CF003FC0088 +:10A71000FF00B3C20CA003004430000000000000A2 +:10A7200081044F028B80203008BC02201089002257 +:10A73000C000B0036004B800A290288C1A24028BD9 +:10A740008322C108B002FC00B36020C00DA003E06A +:10A75000401000000000000080052E00ABC0226009 +:10A7600008B8022900880120000890022000B800E3 +:10A7700022C008B002E4008124A2C009B046EC0067 +:10A78000B90022C008900220004000000000000034 +:10A7900008042C00A100A04108B00A205388002022 +:10A7A000C028A0024C00B30020008800028400836F +:10A7B0000420C0283002CC00B30262C0091002C2DB +:10A7C0000100000000000000000D6C00E900220004 +:10A7D0000CB0030004C900B2000C90032C00F3007D +:10A7E000B2C08CB003B4028F0023C004F003EC08A5 +:10A7F000F90033C00C80030003500000000000008B +:10A80000A01DFC10DD043F000FC023F090FD002FC1 +:10A81000C00FE043D000FC003F008FC0227400FD59 +:10A82000043FC00FF003FC00FF063FC00FC043E829 +:10A830000670000000000000C005FC80EF2011C081 +:10A840000E7203BDB0CF31BFCC02F003FCC6CF0106 +:10A850000BC50FF1033C04EF6133D807F0033480DC +:10A86000CD3073CC0FE80330007000000000000012 +:10A870008018E90088692210088C00218488412210 +:10A88000108886920100886222104B870221A088DE +:10A890006020100B86A235A0AB60A1C40BB80220CB +:10A8A00004300000000000008805CDA8334120C618 +:10A8B0004A31008C10933328CC2934128C50931CCD +:10A8C000288401204A4C41831024CC4B31424C4017 +:10A8D000911024C00B8002220170000000000000D3 +:10A8E000C005A820900222000880002030B8082669 +:10A8F0000001808220201808424003910260000875 +:10A9000001A6000B80006C10BB0126C04B900A30E2 +:10A9100004600000000000000011FD00FD4133A1B3 +:10A920000ED203B502DF423B010FD443B500CD4048 +:10A930001BC40D78037002EC0017A10FE80B2C026A +:10A94000D99026C00FAC0300047000000000000086 +:10A95000E001B800EE001F644FE003D810C41833C4 +:10A96000C00CA0A1B809E60936220F8823BC00FB61 +:10A97000003B640FD9039C00E3043BC00FF403F8D1 +:10A98000006000000000000040108D00C940B6804B +:10A990000F1003A720FB50B6084C14036522D940C2 +:10A9A000B6800EA00B0000D800768228A023640099 +:10A9B000C90412C08E800390042000000000000033 +:10A9C000C8052B608A09205008A023E900B8C022DE +:10A9D000F008AC0228048AC222500890062C008B92 +:10A9E000042251089402E4048B0437C0081842265C +:10A9F0000040000000000000C0044B0082C8244357 +:10AA00000B260A8800B08022E40B20426900A29045 +:10AA10002840E810020C00BB002850889082C40136 +:10AA2000830020C00A1002BA00500000000000009D +:10AA300020104E80810021A8085802D601B79068E6 +:10AA4000200359825600A5842DA2186922020034E1 +:10AA50008029A8086806C614858225E00858821C4B +:10AA6000004000000000000048084800C2F03440E8 +:10AA70000F20038880F81030C027210B4880EA207F +:10AA800038000C00120C087300B8400C12234C0262 +:10AA9000433430C00E110392020000000000000099 +:10AAA0004015AC90F9012E884B90116400FB1032D8 +:10AAB00000009103A400C90032C44DB043E004C8B3 +:10AAC0000036890FA803ED00F9143EC00F1043D0E3 +:10AAD00006600000000000000805E800C8003A0019 +:10AAE0000C0053A000E80132010E80532010C80072 +:10AAF0003A400C90032010E804B6008480032D1225 +:10AB0000CB002ECA049003EA007000000000000091 +:10AB10004C198C00870221C00870020C00830021B0 +:10AB2000C00830624C048300218048E0123C00875A +:10AB30000021C00870021C00850124D00A5002F2D6 +:10AB4000046000000000000020009A00808028209F +:10AB5000084C22D200A48024300B4802520084C04A +:10AB600021200948681300A48060200908025600CB +:10AB700097802DE0885802E01020000000000000BF +:10AB80006C04CC00838020D80830024C4083002421 +:10AB9000D109B9424E00830020C18930420C0083A4 +:10ABA000F0A0D9193622660691000CC10A1002C223 +:10ABB0000430000000000000E815E802CAA52A9150 +:10ABC00028A803EA02AA00B6A00FA00A2A92CA8304 +:10ABD000BA8029A0032B00EA4066902DE40B6A801E +:10ABE000DA003E800CE003FA046000000000000080 +:10ABF00048018000FC003D000FC003B014FC003B86 +:10AC0000120EC043B114FC003D000EC003F020F44E +:10AC10000031000E4413A000E80636004F8013D226 +:10AC200000300000000000000810A400D1003660D1 +:10AC30001C180B4600D98030402C98058600C18036 +:10AC400092400D10034402890032700C98012400D8 +:10AC5000C90430400C9003C2043000000000000022 +:10AC60008004640089002240089402248089012223 +:10AC7000404891022400D990224108901224108962 +:10AC800000324008951224028100A2410D9042E05A +:10AC90000010000000000000380524029D0023443D +:10ACA00008D2067480B52023401AD00635908D0254 +:10ACB0002F4419D00274008D00634018D402A411EF +:10ACC0008900224008B002C60040000000000000D9 +:10ACD00028140480852021680852021480A520A130 +:10ACE000480A7238148095242D4828520214808511 +:10ACF00020214808520684808120204A091002C27F +:10AD00000100000000000000380D6140D850B2146E +:10AD100028A0036140F85032944E85042142C85067 +:10AD20003C140D800361408850B2142CC509A14029 +:10AD3000C850321C0C8003EE0350000000000000DD +:10AD40009815E440F9103A440F9103E440D9143EB9 +:10AD5000440D91436440E91032440793C3E450D159 +:10AD6000107E440391015444FD143E400FD003E68D +:10AD700006700000000000001805F680DDA03368B2 +:10AD80001EDA033690CDA03B680AD823760CED80FE +:10AD90002B620B9902A780F9E137680CDA03278050 +:10ADA000C9A222684C5003C60070000000000000D9 +:10ADB0003818E1408850221408802260008804225C +:10ADC0000008042601008850221008AF02230088E2 +:10ADD000C0A0108884022380A0402A100880124E50 +:10ADE0000430000000000000480084008101204081 +:10ADF0000A1402450081412C500B14020504A100E5 +:10AE000028408210028440A132805009140204C4F8 +:10AE100091106444281002D201700000000000006C +:10AE20001804AC02810022C1089002440289022663 +:10AE30004109900A240C8904225008902624008994 +:10AE40000022410910222440B9012E4008900246F8 +:10AE50000460000000000000A015E41089003240EA +:10AE60000A900B241089001E409B90022410290098 +:10AE70001A400E9441A4002900124005904126007A +:10AE8000D90024400C9003E804700000000000008A +:10AE90004801A402A900BC400F9003A404F9003AA1 +:10AEA000410E90838400F9003C400E9002C408E9F2 +:10AEB000003A402E900BE600E1043A400F92035A0C +:10AEC00000600000000000000810A020D80036023A +:10AED0000E00A3E018C00030030F803320004000B4 +:10AEE000320D0F040BA002C80232028C8203200232 +:10AEF000C80416004E80010A042000000000000073 +:10AF000028053B008ED8238008E002F8808E1023AD +:10AF1000A20BE0827A208E3023A10BE00228008E63 +:10AF2000002B8808E44238008E04238008A0020A1F +:10AF3000004000000000000028056F4093C6244038 +:10AF40000A3802CC008301ACF00BB4024C04A3809D +:10AF500028D04B30024C00AB042AC02A300AAC1077 +:10AF6000930020C10A31020A0050000000000000D6 +:10AF700080111C0082002142887406DC0B86022DA1 +:10AF8000800B702A5800A600A9C00B70025C88A72D +:10AF90002029C00A70029C109720A1C808D8022856 +:10AFA000004000000000000088080E00D7803760D5 +:10AFB0000E6813FE00CF803DE00F78231E00EF8265 +:10AFC00031E00F3CC37E04EF80B1E00EE803BE80A9 +:10AFD000D7E033EA0E78032A0200000000000000E8 +:10AFE0000815AC00FA013E000FB003E004F800328F +:10AFF000800F8043AC0AD80036400FB0032C0CDB26 +:10B000000026C109A0136C40EB403ADC0F900BC244 +:10B0100006600000000000004004BE00CF8133E95C +:10B020001FF913B650EF801FE404C8037E006D8142 +:10B0300033640CF81B3E202F8893E80FFB032E800F +:10B04000CFC073E02CD903D00070000000000000D6 +:10B05000A8189042891821C01F710214C0F7202738 +:10B06000404071121800872021804871023C0887F7 +:10B070002021820B61A21E44DF0131C8087302EA5D +:10B08000046000000000000010008C00870021C850 +:10B090000B70029C0987022D829940020400A509C9 +:10B0A00021401970021C00870525484B72020C4094 +:10B0B0008700A1C0485002C400200000000000002A +:10B0C0006804C120894CA0B40A38022200A1D0240F +:10B0D00030098002274481C62214093D2A0F028BC1 +:10B0E000C0A6200B24000C10938120C0483006D845 +:10B0F0000430000000000000B815A10089C132D161 +:10B1000003BC03A92089413E6085BC8B2540EB41EF +:10B11000A2A00DF0133E20CF9036304FBC0B3C0068 +:10B12000CF8033C10CB103EA0460000000000000CE +:10B130008000ED00F8013CD00FB303E882D8203640 +:10B14000802EB213E100FA007EC82EB003EC80DB43 +:10B15000103A084FB223CC02FB103AC00F9003E420 +:10B160000030000000000000A010F000CD103342BD +:10B170000CCA237C00CF00336206F0013A00CF08EE +:10B1800033801CF0813C00FF0033A00CCA01FC049A +:10B19000CF003FC00FF003C00430000000000000EB +:10B1A000A1046D408848A231081002201088B42202 +:10B1B000A00880006A848820225208B00A2C10BBA4 +:10B1C0000032B3888002EC00DB002EC00B9012E14D +:10B1D0000010000000000000000500108A0122A0FD +:10B1E00008B0426020800020441A801AE442A00681 +:10B1F0002200783002AC00BB00A24408B012EC0080 +:10B200008B000EC00B9002E0004000000000000028 +:10B21000081400088000208108300240128000A03D +:10B220004008B002C000820000800830028C00BBE1 +:10B23000002000082002CC8093002CC00B3002C2FA +:10B240000100000000000000000D6000CA14320080 +:10B250000CB0034C00CA0032000E0012A000C00067 +:10B26000700028F013AC00FB0032402C1043EC00BF +:10B27000CF003FC00F9003C003500000000000004B +:10B280002015F002FC001F00677003B000FC003FB7 +:10B29000002DC0033010FC01BF000F70037C00F7CD +:10B2A000043B000FC013FD10FF003DC00FF003E88A +:10B2B0001270000000000000C005F4C0CF803360B1 +:10B2C0000EC9133650CE863F080CC0033E02D7800D +:10B2D00039E00FF8133E40C7303BCE0DF6033D88F2 +:10B2E000CF3133E40F78033000700000000000001D +:10B2F0008010E5D0DB807260889202E4108A802E94 +:10B30000344A8C032E00AB8002E00BB8022C808FF5 +:10B310006013D84A76029D84AF3022480B8812A071 +:10B3200004300000000000008805C4008B002400E9 +:10B330004A0002AC8083002C01280402AC008B017F +:10B3400020C003B0020C80834020C1A834228D139A +:10B350008320ACC80BB00262017000000000000046 +:10B36000C01586009B04AE000A9002EC000B142E60 +:10B37000C602B1126C00AB202AC10BB0422C008B6C +:10B380000226C10AB002AC00AB042A400B9002F0C6 +:10B3900004600000000000000011E700C301364017 +:10B3A0000E88132402CA001E202C8E0B2C00CB000A +:10B3B0002AC00FB8032E06CB003AC04CB013AC0C19 +:10B3C000CB003EC80FB043500470000000000000E6 +:10B3D000E001B408FF91334009DC01F4207E022E25 +:10B3E000400D9801BC80EF80B7E48FF40BFE407FE6 +:10B3F00000B9C04EF003FC08F70037C00FE002B8F8 +:10B4000000600000000000004010A144CB023200A8 +:10B410000D800A6D00EB04109028220B2CC2CB206B +:10B4200076C00EB103EC01CB0632C10C30032C0206 +:10B43000CB003ED00CB00310042000000000000040 +:10B44000C8052148AB0020000095234C08BB012211 +:10B45000C008B2020C08838892D5283402EC028F0F +:10B460002023C04DF0017C00DF002EC00D300372A0 +:10B470000040000000000000E00544008310206050 +:10B480000925020008A0004C000B0C224F1293402B +:10B4900000C0093E02EC00AB80A4C00930222C0899 +:10B4A000B3010C8108300238005000000000000099 +:10B4B00060011609B78021640878061200B4822D55 +:10B4C000A41B69067E04179225E6097806DE80A78C +:10B4D0009025E00979505E04B7922F6109C80248AF +:10B4E000004000000000000048082500C300B00331 +:10B4F0000DA3420940E100BC400F11034C001300B2 +:10B5000020C0093203CC10A30026C48D302B0C8040 +:10B51000F3007C800C3001120200000000000000EB +:10B52000401DBC00E7103D012FF142E800F59003FB +:10B53000C10CF1439C04EF083BC20CF081DCA0DF9E +:10B54000003BC33FF083FC05DF0C3D400FD103D02F +:10B550000660000000000000A805F400CB80304029 +:10B560002CA003E000F88032C02EB80B2C46D3008C +:10B5700030C00C30030C00DB4832C01FB4032C88F1 +:10B58000CB4832800C30132A00700000000000000D +:10B590004811B40087012140087042D008B4002946 +:10B5A000C00870021C00870021C80C720A1C848F1E +:10B5B0004009C48F73129C40832021C0086002920E +:10B5C0000460000000000000C0009601AF80212050 +:10B5D000086802DA00BD8021E00978021E008F8829 +:10B5E00083E229F8825F8087A025E00B3A120E5093 +:10B5F00097A421A02978023000200000000000005C +:10B600000814CC02A1810000487002C800B1002CCF +:10B61000F80931420C10830020E00838124E0083F4 +:10B62000006AC00B30028C04930020E009380292BB +:10B630000430000000000000E815B940EE20308022 +:10B640000CA003E800FA0033B00DE4033288CC808C +:10B6500023000DC0036202CA0036800FA0432806F3 +:10B66000DA0033A00D6A033A046000000000000015 +:10B670004800E0009801BE000F8003F000BC0038D5 +:10B68000040880A3E000F8003E000F8013A000E053 +:10B69000003E000E0003C000E800BE044E8007D24A +:10B6A00000300000000000000810E480C9003E687F +:10B6B0000C90036400C9003E400C9043E000C800B9 +:10B6C00032000C80132000C90036400C9003640047 +:10B6D000810032400490130204300000000000009A +:10B6E0008004650689402E601A142A052089002EE0 +:10B6F00040089002C408C102204008101A240089A2 +:10B7000010324108901224008904364088940A209F +:10B7100000100000000000001805042089552E408C +:10B7200008D50234008D002E40189002E4009900E4 +:10B730002640089002040A8900264038900A240016 +:10B74000A90020400A90820600400000000000008E +:10B750000804050081002F400AD402340085012C22 +:10B7600040081042E40699002240081002050081BA +:10B770004028500814120500A14024505A1002021B +:10B780000100000000000000B80D6000C8043E0089 +:10B790000880032142CC003E002C8002E000D8004B +:10B7A000B6002C80022002C80036000C8003600224 +:10B7B000E80032008E80032E0350000000000000DD +:10B7C000981DF500F5003E40879003E400F1003D30 +:10B7D000500F5403D100EC403F100BC443F100F96B +:10B7E0004036500F9413E510D9443D402DD003E668 +:10B7F00006700000000000001805F660CD023B4016 +:10B800000CD003B440FD063E400C90036604C98290 +:10B81000B6620F180B3600CD4032610C9023240A1B +:10B82000C90032404CD04306007000000000000008 +:10B830003910E380D80022000D80022294B8002E37 +:10B84000000D80032100884022000BC42221508873 +:10B85000802222088002201080012A000A80034EE4 +:10B8600004300000000000000005C60089002A40E6 +:10B8700088100A8408B10029400A700AB5008F4078 +:10B8800029C00BF4022400812028448910020404FA +:10B8900081022A400810020201700000000000002E +:10B8A0001815A600992022400990122480B9002F73 +:10B8B0004403D002F4008D002B410BD002261089E6 +:10B8C000042A4009906E240089002A400A94024606 +:10B8D0000460000000000000A215E600C900384224 +:10B8E0000C1013A60479083A78069203A408C9003C +:10B8F0003A608F98230602C9023A400D9003040073 +:10B90000C90038400C9003280470000000000000BB +:10B9100028018410F980BE404F9002E400F9003CF9 +:10B92000608D92032442E91032500F9403E400F931 +:10B9300000B6412E1003E400F9002E400F9003CA18 +:10B9400000600000000000002810A008C8003E10A1 +:10B950000F88032008F8C01E102C4003F200CC0012 +:10B960003F000CC0132002C00030000C802B2010C0 +:10B97000C00432000F80030A042000000000000011 +:10B98000A8053A8086E02FA01BE0023A80BA042E78 +:10B990008008A0038808C2002E8108600228108E4B +:10B9A00081038008E00178008E040380096803CADF +:10B9B000004000000000000028054C0083602C447B +:10B9C0000B38020F80B1002CE5033010CC1083003F +:10B9D0000CC02930220409911024C0C830004C0446 +:10B9E000930224C00B31020A005000000000000046 +:10B9F000E001188087002D400B74421C01B5012C1A +:10BA0000C00B6002B00094042F2009C0021490976C +:10BA10000025C80870024C80972025C0097002E8F4 +:10BA20000040000000000000A8083A82C6802D6097 +:10BA30000BF80B1A00F5803DE08F7803DE02C7801B +:10BA40002DE00D780B1702DF8024F82CFD035E0C2F +:10BA5000D7E035E00F68032A020000000000000074 +:10BA6000481DAE40FA043E400F8013EC04F9003E3E +:10BA7000C10CA013C010E8003C004E8043C42089D4 +:10BA800000BAC007B621ED06EB68BACC0F2013C28E +:10BA900006600000000000004005BE00C680316066 +:10BAA0002D780B3E48EC923D600C58035A40D580EF +:10BAB00031610C58233600CF823FE00CF803FF6061 +:10BAC000CF9033F00C520300007000000000000023 +:10BAD000A811B8848614B5C00870021EC0C4002D19 +:10BAE0004008400214D0861021804C62423440A5A8 +:10BAF0000035C0287042DCC28F3023C00850022AB3 +:10BB00000460000000000000020098288E00A5409C +:10BB100008F1021864B4006D42085002180185084B +:10BB20002140095822540085102DC4097002DC04FC +:10BB3000970025C00844020010200000000000000B +:10BB400060148C00828024C00880022D00804A2C62 +:10BB500042080A420600928420A08828424400A39A +:10BB60000624C00B3002CC10930424C10900020843 +:10BB70000430000000000000A815BC00CB003640D7 +:10BB80000CB4132C00F9003EA00CA2030408C280E0 +:10BB900030A80D2A035400CB003FC00DF003FC0871 +:10BBA000DF0037D00CB0032A046000000000000062 +:10BBB0008000E000FB103A400EB003ED90F9117EDA +:10BBC000804FB053E840E9003E400F9003A608F9CB +:10BBD000013AC00CB013CC00EB023AC68EB803E0B9 +:10BBE00000300000000000000110F00CCE003FE02B +:10BBF0002CF0833A48CD0135800C6012340ACE0017 +:10BC0000B3802CE00B7400C910B3C10FF01B3C00D3 +:10BC1000CF00B7C02CE0030044300000000000005B +:10BC200081046E1088802CC01898022D8081003607 +:10BC30009108B0036800C9002240089002240083E4 +:10BC40008036C00B30022C02830020C00820036025 +:10BC50004010000000000000800506008A802E458C +:10BC6000288802240288020202088002A2009800AA +:10BC700022000880122400890122C10AB0026C004F +:10BC8000AB0022C1089012600040000000000000DC +:10BC90000804000080002CC04808120080800224A4 +:10BCA00000081842AC028B8022E008B8120402831C +:10BCB0000020C00B30420C00A30160C048100242BB +:10BCC0000100000000000000000D6808CA002E40BE +:10BCD0000880030000C80632000C8002A000D800D3 +:10BCE00032000C80037400CB0022C00FF0033C0034 +:10BCF000EF0037C00C80014003500000000000003E +:10BD0000A019FC00FC043FC00FC003E100FC003B95 +:10BD1000000FD0037C00EF002FC00FF011F410FDD6 +:10BD2000023DC04FF003DC00DF043FC00FC043E919 +:10BD3000067000000000000000C541027020DC1009 +:10BD400067040DC10270209C1037040DC1067040BD +:10BD50004C10371415C1037040DC1013040DC107DB +:10BD60007040DC1037040DC03100000000000000FE +:10BD700000C5440571215C40571015C40571055C70 +:10BD800040571015C40671014C4057100DC4057181 +:10BD9000055C40531015C40771015C40571015C075 +:10BDA00011500000000000000080020120804820A7 +:10BDB0001208048201208048201208048201208099 +:10BDC00048201208048201208048201208048201C1 +:10BDD000208048201208048020000000000000009D +:10BDE000008400016000580056000580016004587E +:10BDF0000016000580012001580016000580016032 +:10BE000000580056000580016000580016000180AF +:10BE1000200000000000000000C5480572115C8091 +:10BE2000172015D80532111C804720148800720194 +:10BE30001C80572005C80472015C80572015C8017A +:10BE400072015C80572415C01150000000000000F2 +:10BE500000C140006000180006000180402000186A +:10BE6000000600019000600018000600418000609C +:10BE70000018000600018000600018100600018014 +:10BE8000310000000000000000C5480422010880C5 +:10BE900002201088046201088042201088002001DE +:10BEA00008804220008804220108004220108800F7 +:10BEB00022010880423010803100000000000000A4 +:10BEC00000C54A05428150A00428150A0552811078 +:10BED000A04428111A00408010A05428050A0542E9 +:10BEE0008151201428150A01428150A054281500C0 +:10BEF000315000000000000000800C01534054C08D +:10BF00001530055C01574054C01530055C015300E5 +:10BF100055C01574054C01530055C01574054C01EE +:10BF2000530054C0113001402110000000000000F7 +:10BF300000800000400010000400010000400010DC +:10BF40000004000100004200100004001100004045 +:10BF50000010C104000100004000100001100101A8 +:10BF6000200000000000000000C560020800820000 +:10BF7000208008200208008200208008200208009B +:10BF80008200208400200208008200208408200211 +:10BF9000080082002180080111500000000000000C +:10BFA00000C54005600158009600159005640258D0 +:10BFB0000056005590056001D900164015800560B7 +:10BFC0000159007640158005600158005600158023 +:10BFD000310000000000000000C440036000D800F1 +:10BFE00036004D80036000D80036000D80076200E7 +:10BFF000580036000D80076000D88016000D8003C1 +:10C000006000D80036001D803100000000000000F4 +:10C0100000C5420430810C20430810C20430810C5A +:10C0200020430810C20430C10C20430810C206305F +:10C03000810C20430810C20430810C20430818C032 +:10C04000115000000000000000C0000030000C0093 +:10C05000030000C00030000C00030000C0403000AE +:10C060000C00030000C00030000C00030000C00002 +:10C0700030000C00030000C00000000000000000C1 +:10C080000080020130804C20130804C20130804C33 +:10C0900020130804C22530814C20130804C201304B +:10C0A000804C32530804C20130804C20130804C075 +:10C0B000204000000000000000C5420562815820B9 +:10C0C000560815820460815820460815820160C117 +:10C0D000582046081582016081583056081582059F +:10C0E00060815820560805801150000000000000B3 +:10C0F00000C542002080082002080082002080083D +:10C1000020020800820020800C200208008200200B +:10C110008008200308008200208008200208008098 +:10C12000210000000000000000C5420466811820C4 +:10C13000460811820464811820460811820060813B +:10C140000C204608118200608119204308118204E6 +:10C1500060811920464801801100000000000000A5 +:10C1600000C56005580156005580156004580156F9 +:10C170000045801160005800060045801560015898 +:10C1800001160001801560055801560055800540D4 +:10C19000115000000000000000800601498010607E +:10C1A00014180506017980506014180106014180B9 +:10C1B000506004180506014180106014180506013E +:10C1C00041805060141805002000000000000000AD +:10C1D0000080020104804020100804020004044092 +:10C1E000201008040201008440201008040201000D +:10C1F00080412010080402110080412010480400F2 +:10C20000000000000000000000C546035180D4601B +:10C2100035180D46021180D46035180D4603118083 +:10C22000D46035180D46035180D46035180D46038F +:10C230005180D46035180D403150000000000000DE +:10C2400000C5460570815C60071815C60471811C25 +:10C2500060171815C6053181DC60571815C60571C1 +:10C26000801C60771815CE0571815C60571815C069 +:10C2700011000000000000000005460271809C6172 +:10C2800077180DC60271809C6037180DC20331808B +:10C290005C6027180DC60371809C6017180DCE03D3 +:10C2A0007180DC6037180DC0110000000000000034 +:10C2B0000045460575815C60771815C60575815C7B +:10C2C00060571815C60531810C60571815C60571E1 +:10C2D000815C60431815C60571815C60571815C0F4 +:10C2E00011500000000000000040020120804820A2 +:10C2F0001208048201208048201208048201208054 +:10C300005C20120804820120804800170804820182 +:10C310002080482012080480000000000000000077 +:10C320000000060163805860161805860161805878 +:10C33000601618058601618158601618058601612E +:10C34000805860561805860161805860161805806F +:10C3500000000000000000000045400570015C0086 +:10C36000170015C08574011C00470011C00570013D +:10C370005C00530010C00570015C00570014C90434 +:10C3800070011C00570015C0115000000000000093 +:10C390000045420060C01820060801820060801835 +:10C3A00020060801820020801830020800821060F8 +:10C3B000801820060800820060801820060801808E +:10C3C0001100000000000000004442042081082009 +:10C3D0000208108204208108204208108204208173 +:10C3E0000820460811820420810820420811820496 +:10C3F0002081082042081080110000000000000089 +:10C400000045420540C550201408150004408150E5 +:10C4100020540811020500801020450C11420440F0 +:10C42000815020140C15420440811020540815003E +:10C4300011500000000000000040030150C04430D3 +:10C44000150C05430150C04C30150C05432150C05C +:10C450005430150C05430150C05430150C054301F0 +:10C4600050C05420150C05400000000000000000E2 +:10C47000000008004200048004200108004200047B +:10C48000800420010800020010000400010800429E +:10C490000010800400010800420010800420010008 +:10C4A00000000000000000000045420200808420DF +:10C4B0002008080202008084202008080202008070 +:10C4C00080A0202808020200808020202808020284 +:10C4D00000808020200808001150000000000000AB +:10C4E0000045400560415800560015800560015820 +:10C4F0000056001580052001D80056001580056003 +:10C50000015800760015800560015800560015801E +:10C51000110000000000000000C540036000D800CA +:10C5200026000D80026000D80036000D80076001F3 +:10C530005C0036000D80036000D80057000D8002BB +:10C540006000980036000D80000000000000000030 +:10C550000000000430210C00430010C00430010C26 +:10C5600000430010C00430011800430010C0043024 +:10C57000010C00460010C00430010C00430010C044 +:10C5800000000000000000000000000030000C006F +:10C59000030000C00035080C00030000C6001400B2 +:10C5A0000800034000C00030000D40020000C00041 +:10C5B00030000C00030000C000000000000000007C +:10C5C0000000050131404C50131404C50131C04C2A +:10C5D00050131404C50531414C50131404C50131E6 +:10C5E000404C70531404C50131404C40131404C036 +:10C5F00000000000000000000000230568C15A3060 +:10C60000568C15A30569C15A30468C11A70168C024 +:10C610001A30568C11A30468C11A30168C15A30465 +:10C6200068C15A30568C11800000000000000000E4 +:10C630000000000020000800020000800024000824 +:10C6400001020000800024000880026000800020B9 +:10C650000009400220008000200008000200008045 +:10C66000000000000000000000000844621118846F +:10C67000462111884462091884462111886062109D +:10C68000180446011188446211188006011188447B +:10C690006211188446211180000000000000000093 +:10C6A00000000045501154045501154044501154E8 +:10C6B00004450111404050105404450115404450B8 +:10C6C0001114001501154044501154045500114037 +:10C6D0000000000000000000000008214208508215 +:10C6E0001420850821420050821420850820420829 +:10C6F0005082152005482142085082142081402193 +:10C700004208508214208500000000000000000054 +:10C7100000000A01028040A01028040A010284409F +:10C72000A11028040A01028040A00028000A01028A +:10C730008040B01028000A01028040A010280400A8 +:10C74000000000000000000000000C035300D4C0F3 +:10C7500035300D4C035300D4C035300D4C0353001D +:10C76000D4C02130084C035300D4C03530084C03EA +:10C770005300D4C035300D40000000000000000020 +:10C780000000080470015C80072025C90472015C68 +:10C7900080472015C8007205DC80572015C8057237 +:10C7A000011C90672015C80572011C80572015C018 +:10C7B00000000000000000000000231848C21231F1 +:10C7C000848C61031840C81231848C61031848C4FA +:10C7D0001031840C41231848C61030040C61231812 +:10C7E00048C61230848C21000000000000000000C8 +:10C7F00000003FFF4FFFD3FFF4FFFD3FFF4FFFD38C +:10C80000FFF4FFFD3FFF4FFFD3FFF4FFFD3FFF4F5E +:10C81000FFD3FFF4FFFD3FFF4FFFD3FFF4FFBD0049 +:10C820000000000000000000000000000000000008 +:10C8300000000000000000000000000000000000F8 +:10C8400000000000000000000000000000000000E8 +:10C8500000000000000000000000000000000000D8 +:10C8600000002CDB0B36C2CDB0B36C2CDB0936C21A +:10C87000CDB0B36C2CDB0B36C2CDB0B36C2CDB0B64 +:10C8800036C2CDB0B36C2CDB0B36C2CDB0B32C00AE +:10C8900000000000000000000000333C4CCF1333C8 +:10C8A000C4CCF1333C4D4E9333C4CCF12B3C4CCF34 +:10C8B0001333C4CCE9333C4CCF12B5C4CCF1333C78 +:10C8C0004CCF1333C4CD3100000000000000000045 +:10C8D00000003B7E4EC793B7E4EDF9237E4E4793AD +:10C8E000B7E4EDF93F7E4EDE1237E48DF93B7E4E24 +:10C8F000DF93F7848DF93B7E4EDF93B1E4EDB90011 +:10C9000000000000000000000000010270409C11C7 +:10C91000670419C30270409C10270409C1027040CB +:10C920001C10271401C10270409C50070409C10269 +:10C9300070409C10671411C000000000000000004F +:10C940000000040571015C40571015C40571015CBD +:10C9500040571015C60571015C40571010C4057191 +:10C96000015C64031055C40571015C40571015C08B +:10C9700000000000000000000000020120804820AC +:10C9800012080482012180482012080480012080BE +:10C990004820120805C2012080482417080482019B +:10C9A00020804820120804800000000000000000E1 +:10C9B00000000000600018004600118400600018AC +:10C9C00000060001800060011800061091800060E0 +:10C9D000001846461801800060001800061001800B +:10C9E00000000000000000000000080473011C802B +:10C9F000072001C80472011C80472011C80472017D +:10CA00001C80472211C80472011C80072011C80431 +:10CA100072011C80072811C0000000000000000007 +:10CA2000000000006000180006000180006000188F +:10CA30000006000180006000180006000180006010 +:10CA40000018004604018000600018000600018004 +:10CA5000000000000000000000000D04220108801A +:10CA600002200090042781088042201098042401AD +:10CA7000088042481088042201094042601088045E +:10CA8000220108C0024010800000000000000000E9 +:10CA900000002A044B8112A004A8012A044A811232 +:10CAA000A044A8112A04488012A04488012A044AFC +:10CAB00081122004AC112A044A8112B0449C110056 +:10CAC000000000000000000008C00C00530014C06B +:10CAD0000530014400530014C00530040C0053001D +:10CAE00014C005B0014C00530016C00130014C00C9 +:10CAF000530014C001380040100000000000000086 +:10CB000008C0001040001000040001100044801014 +:10CB10000004000110004600000004600100004015 +:10CB200000116002400100104000106001501040F0 +:10CB3000300000000000000008C04002000080003B +:10CB40002000080802000080002000080002000009 +:10CB500080002000080002000080000000080002A1 +:10CB600000008000210008403000000000000000AC +:10CB700008C04004600118004600118004600118DC +:10CB80000046001180046001C80046001980006062 +:10CB90000018006600118004600118000600118072 +:10CBA000300000000000000010010002600098004A +:10CBB00026000981026001980026000980066200B3 +:10CBC0004800262001C00260019800070009800289 +:10CBD0006000980026001182100000000000000094 +:10CBE0004045420430810C20430810C20430858C3B +:10CBF00020430810C20430810C20434811820430C5 +:10CC0000818D20460810C20430810C20430C10C0D6 +:10CC100011500000000000004004000030000C0033 +:10CC2000030000C00010000C00030000C000300032 +:10CC30000800030000800030000C80020000C000EB +:10CC400030000C00032000C0104000000000000075 +:10CC50004000020030800C21030800C20030800C2C +:10CC600020030800C20430C10C20030C10C20030A5 +:10CC7000800CB0430800C20030800C20032810C094 +:10CC800000000000000000004045420460811820C0 +:10CC900046081182046080182046081182006081D5 +:10CCA00018204608118204608018200608118204AA +:10CCB00060811820460C11C01150000000000000D7 +:10CCC00040014200208008200208008200208008E5 +:10CCD00020020800820020800C20020800C20020F0 +:10CCE000800820420800820020800820020801807D +:10CCF0000000000000000000500142046081182084 +:10CD0000460811820460801820460811820060C124 +:10CD10000C20460C10C204608018304208118204B6 +:10CD200060811820460810800040000000000000CC +:10CD300040454004500114004500114004500014C7 +:10CD40000045001140005000040045000040045020 +:10CD5000001400010011400450011400450000427D +:10CD600001500000000000004800060041801060F3 +:10CD7000041801060041801060041801060041807B +:10CD800010600418010600418010600418010600BC +:10CD90004180106004180100100000000000000035 +:10CDA0004800020100804021100804020100804078 +:10CDB0002010080402010080402110080402010034 +:10CDC0008040301008040211008440201008140034 +:10CDD0000000000000000000404546035180D46080 +:10CDE00035180D46035180D46035180D4603518027 +:10CDF000D46035100D46035180D44035180D4603DC +:10CE00005180D46035180D40115000000000000022 +:10CE10000001460471811C60071811CE0471811C49 +:10CE200060471801C60471819C60471819C60471D7 +:10CE3000801C60671811C60471811C60471811C0FE +:10CE400000000000000000004000460271809C606D +:10CE5000271809C60671801C60271809C601318091 +:10CE60001C60071809C60271809C60071809C61269 +:10CE700071809C60331801C00000000000000000B9 +:10CE80005045460571815C60571815C60571805C78 +:10CE900060571815C60131810C60171810C605714E +:10CEA000815C60031815C60571815C605318188297 +:10CEB0001050000000000000404012012480482073 +:10CEC0001208048201248048201208048201208074 +:10CED0005820520C0582012080492002080482015A +:10CEE000208049201248048001000000000000005A +:10CEF00040040600618018600618018604618018ED +:10CF00006006180186006181486006181486006179 +:10CF10008018604218018600618018600618008041 +:10CF200001000000000000000045600478011E00C0 +:10CF3000478011E80078011E00478011E004780165 +:10CF40001E00438011E00478011E00038015E004F8 +:10CF500078011E00478011C0105000000000000042 +:10CF600040011200648018200608018200648018C5 +:10CF700020060801820060801830020801820060EB +:10CF80008019304208008200608019200648018024 +:10CF90000000000000000000400142042081082041 +:10CFA000420810820020810820420810820420815B +:10CFB00008204608108204208108204208118204BB +:10CFC00020810820420810800000000000000000BE +:10CFD0004045420440811020440811020040811065 +:10CFE000204408110204408010204508010204403A +:10CFF000811021000C11020440811020440801001E +:10D0000011500000000000004000030050C0143028 +:10D01000050C01430050C01430050C01430050C002 +:10D020001430050C01430050C01430050C014300BE +:10D0300050C01430050C014000000000000000004A +:10D040004000080042041080042001090042011041 +:10D050008004200108004200100004200108004262 +:10D06000001000040001080042001080042011009C +:10D0700000000000000000004045420200808020C7 +:10D08000200808020200800020200808020000801A +:10D0900080A0000A08020200808034622808020290 +:10D0A00000808030200C08001150000000000000BB +:10D0B000400140046001180046001180046003181C +:10D0C000004600118006600198004600118004604F +:10D0D00001180066001180046001180046001180EC +:10D0E0000000000000000000400100026000980005 +:10D0F0002600098002640098002600199002600052 +:10D100001D00260001C0026000990006401980023F +:10D110006000980066000180000000000000000030 +:10D120004045600438010E00438010E00438010ED1 +:10D1300000438010E00438011A00438011A0043835 +:10D14000010E00028040E00438010E004380188088 +:10D1500011500000000000005004010030400C108D +:10D16000030400C90030400C10030400C10030402B +:10D170000810030400810030400C78021400C10044 +:10D1800030400C100304008000000000000000008C +:10D190004000050031400C50031400C50035400C20 +:10D1A00050031410D50031410D50031410C5003147 +:10D1B000400D48435410C50031400C40431000C29C +:10D1C00001000000000000004045430460C1183029 +:10D1D000460C11830461C11830460C01870460C1FC +:10D1E0001830460811830460C11820060C0183041E +:10D1F00060C11830460C1180105000000000000083 +:10D2000040014000200008000200008000200008CB +:10D2100000020000810020000880020000C0002001 +:10D220000008404330008000200008000200008019 +:10D230000000000000000000400148446211188412 +:10D240004621118844630118844621018804621133 +:10D250001804462110C8446211180543018188440E +:10D2600062111884462111800000000000000000B7 +:10D27000404540045001140445011140445001143C +:10D28000044501014045001014044503004044508A +:10D2900011140401054140445011140405010140DA +:10D2A00011500000000000004000082042081082D9 +:10D2B00004208108004200108204208108004208F6 +:10D2C000108205208108204208108A0520050820C8 +:10D2D00042081082042281000000000000000000CB +:10D2E00000000A01028040A01028040201028040D0 +:10D2F000A01028040A01028040A00029040A0102AB +:10D300008040A40028040A01028040A8102B1400C9 +:10D31000004000000000000040454D035340D4D0C1 +:10D3200035340D4D035340D4D035340D4D035340A7 +:10D33000D4D021344D4D035340D4D96134040D036E +:10D340005340C0D835370D40115000000000000098 +:10D350004001480472001C80472011C80472011C5F +:10D3600080472011C80472009C80472019C80072B1 +:10D37000011C88672011C80472015C82472211C019 +:10D3800000000000000000000000230848C2123125 +:10D39000848C61231040C01231848C61031048C416 +:10D3A0001031848C41231848C61030040C412318D6 +:10D3B00048C61230848C010000000000000000000C +:10D3C00000003FFF4FFFD3FFF4FFFD3FFF4FFFD3B0 +:10D3D000FFF4FFFD3FFF4FFFD3FFF4FFFD3FFF4F83 +:10D3E000FFD3FFF4FFDD3FFF4FFFD3FFF4FFFD004E +:10D3F000000000000000000000000000000000002D +:10D40000000000000000000000000000000000001C +:10D41000000000000000000000000000000000000C +:10D4200000000000000000000000000000000000FC +:10D4300000002CDB0B36C2CDB0B36C2CDB0B36C23C +:10D44000CDB0B36C2CDB0B36C2CDB0B36C2CDB0B88 +:10D4500036C2CDB0B34C2CDB0B36C2CDB0B36C00B2 +:10D4600000000000000000000000335C4CD71333C4 +:10D47000C4CCF1333A4AD69333C4CCF12B3A4CCFD7 +:10D480001333C4CCE9333C4CCF12B5A4ACC9333C04 +:10D490004CCF1335C4CD690000000000000000002F +:10D4A00000003B7E4EDF93B7E4EDF93B7E4EDF9309 +:10D4B000B7E4EDF93B7E4EDE1237E4EDE13B7E4E04 +:10D4C000DF9231848DD93B7E4EDF93B1E4EC610075 +:10D4D00000000000000000000000008404A1832C74 +:10D4E000030A1082C134108F004009140203149102 +:10D4F0000008420B1882C40031CA0C520210808509 +:10D5000000218228400A10000000000000000000F6 +:10D5100000000A0402014080732810480706010435 +:10D52000A44121140844061140807020140A04020A +:10D5300000C88441211C08061201C080602014002C +:10D5400000000000000000000000028404218208A6 +:10D5500053021080C500814A0442021400042021B5 +:10D5600080A872221C88C406A1428C52221C888585 +:10D570002621C08850221800000000000000000092 +:10D5800000000244000101006200100004000101DB +:10D590002040001C00440401022062001C8004049E +:10D5A00080892050081480042401C1005000180014 +:10D5B0000000000000000000000002803820040C81 +:10D5C000310A00000218208CA810280888C1141005 +:10D5D000C600220308020108B0000C21020082806C +:10D5E00008004908000200000000000000000000E0 +:10D5F00000000001008008200300040243200040D6 +:10D600000020000442011080842011080400000062 +:10D6100000442420090840030090C42020080C0284 +:10D6200000000000000000000800088108200488B5 +:10D6300002220808C32A90408410200480C22620B9 +:10D64000498822220C08C126A0C98C122A048843CA +:10D650000EA0CB8810220C02000000000000000089 +:10D6600008000A4032000180312800000112808D3C +:10D670008400280C080132008C8002200C08012E46 +:10D6800000C38002200408430200408010200402EE +:10D690000000000000000000080008870A2104883C +:10D6A000112A1C0A06222140A0422A1088850AA1BC +:10D6B00006A462221C0AC40221808C5222144886CD +:10D6C000222008A8602A14020000000000000000C8 +:10D6D000000008450601898063201C884034110140 +:10D6E000A450281848040E014B8073281C8A040695 +:10D6F00091490463201C8A06260185807020180247 +:10D7000000000000000000000800008500B1452C6A +:10D71000700214C00708214900420114820500115B +:10D72000840052021C00C40021C42C53021C02813C +:10D7300004A1CD0850021402000000000000000007 +:10D74000081012043401CC0073401C9045040148B9 +:10D7500004604118C0440401050473481450473460 +:10D7600001452062081CC2040C81C700738018C2E6 +:10D770000400000000000000080010841021CC28E4 +:10D7800042021412C51021840440001C80840091C0 +:10D79000000873821C90050C01CF0C400214304528 +:10D7A00020A1C0085002100200000000000000008C +:10D7B000000000450C8100000108080005189105D3 +:10D7C00004000104400618000224704004004000D8 +:10D7D00001C4240088040043100040200088000099 +:10D7E0000000000000000000000012852431020C3F +:10D7F00002C20410C42821490C02C004B2061C2035 +:10D80000030850420C800104A1490C00C20C1043D3 +:10D8100024A0C10810420000000000000000000029 +:10D820000010A2002000CD000040042001100009DB +:10D830000402490C92073000000033080C924100AA +:10D8400080CC0000000C00432880C20010000000C3 +:10D850000420000000000000000030105080000094 +:10D86000100000F00010800000008000D0808000D8 +:10D8700000000080109080800000000080109080E8 +:10D880000000000000C01080000000000000000048 +:10D890003C3C10808000000000001090A080000040 +:10D8A000000040109080A000000000C0109080A0F8 +:10D8B00000000020801090A0A00000000080108FC9 +:10D8C0000F0000000000000000002CC2E481803F37 +:10D8D000D9BFD998719D428000267FE672AB7C3A11 +:10D8E000400019802648DD3C91C026402640383152 +:10D8F000DB61C01999BFC980000000000000000072 +:10D90000000010801014800684979686960690007A +:10D910003FA1280102901200801788169E90900463 +:10D92000100036BEBE9E861612848013BE97AE804F +:10D93000000000000000000000000000000008825D +:10D940008184214000000008A13801780000000017 +:10D9500008B8217268800000000898448868800038 +:10D96000000008B80178014000000000000000003D +:10D9700000003FFFFFFFC0000000003FF7AFFFC007 +:10D98000000000003FFFFFFFC0000000003FFFFF5E +:10D99000FFC0000000003FFFBFFFC000000000000C +:10D9A000000000000000000000003FFFFFFFC0007B +:10D9B0000000003FFFFF7F40000000003FFFFFFF2F +:10D9C000C0000000003FFFFFFFC0000000003FFF5D +:10D9D0002FFFC00000000000000000000000000059 +:10D9E00000003FFFFFFFC0000000003FFFFF7FC0BF +:10D9F000000000003FFFFFFFC0000000003FFFFFEE +:10DA0000FFC0000000003FFFFF7F8000000000001B +:10DA1000000000000000000000003FFFFFFFC0000A +:10DA20000000003FFFBFBFC0000000003FDFBFDFBE +:10DA3000C0000000003FEFFFFF80000000003FDF5C +:10DA4000FFFFC00000000000000000000000000018 +:10DA500000003FFFFFFFC0000000003F3EAFFFC0DF +:10DA6000000000001FFFDFFFC0000000003FE7FED6 +:10DA7000EFC0000000003FFFFFDFC000000000001B +:10DA8000000000000000000000003FFFFFFFC0009A +:10DA90000000003FFFFFFFC0000000002FF7FFFF66 +:10DAA000C0000000002FFFFFDFC0000000003FF7B4 +:10DAB000DFF7C000000000000000000000000000D0 +:10DAC000000002C400B1C32C50091482C43091C7B5 +:10DAD0002460081C820734914C04430A10C2840459 +:10DAE000918424520B1802C424B1C32C400A108024 +:10DAF0000000000000000000000008050201C480D2 +:10DB000060201C08442201C08450019C08070A01BF +:10DB1000C08472201CC8041211448041011C80077B +:10DB20000811C4007000100000C0000000000000D8 +:10DB3000000000862C214A0C52021C80042021CABD +:10DB40001062021C81470421C32051011C80042C57 +:10DB500001CB0452031440C72031C80C502210805E +:10DB600001200000000000000000000620018900E4 +:10DB700052001480042801450462001080463011D0 +:10DB80000D00420114C0440011050050001C004467 +:10DB90002801490070001080000000000000000013 +:10DBA000000008C002300C8C30220888C226000811 +:10DBB0008020220C88810210C48010220C084002B0 +:10DBC000104888012304C8420210468C122200002B +:10DBD0000010000000000000080002000080C820C3 +:10DBE000110900804110900824300804424100903F +:10DBF000C420000804420010804C20230904C243C2 +:10DC000030804020110800020000000000000000E9 +:10DC1000080008810220C98C122004484122000912 +:10DC20008830200C88030E00498C10220C88402E6E +:10DC300000C984132104C8C32200CB8C3222000007 +:10DC400004000000000000000800080102004B80F2 +:10DC5000322108884102100F8010218C08410200F7 +:10DC6000878410200488000200478010210C88411E +:10DC70001610468030200002000000000000000066 +:10DC800000000AC422A108A4722A140A8502818411 +:10DC9000A042281C0AC5029140B8732910CAC402C8 +:10DCA000A180A4422A14CA85229180A8702A180251 +:10DCB0000080000000000000080008041E01C88069 +:10DCC00043201808453E010C8061209C48061281C3 +:10DCD000C08073001088060201C800422010C807E7 +:10DCE0000211CD80512014820000000000000000CD +:10DCF000080000C42421C80C420114000028104C64 +:10DD000008520214804524294004720010C00524E2 +:10DD1000114408430114C04724204808720210002F +:10DD200000000000000000000810000710110600AD +:10DD3000720018D04620014D00714010500730117C +:10DD4000C300714110B0052C01490043001C50452F +:10DD500030018C0061401842040000000000000007 +:10DD6000000030C50021C00C40011412440431846D +:10DD700024408014A1C70001400840011420052060 +:10DD800011C002608218008724114008404210022E +:10DD90000000000000000000000002000C80C4240D +:10DDA00031480C000108C14100004900420308103D +:10DDB000802021090C02021880C12430080C420185 +:10DDC0001080832011080000000000000000000007 +:10DDD000000010C10420480C1242040083003148A6 +:10DDE00000024104A0070C20400012C20C80C12098 +:10DDF00020C80012C10CB0412000490802420000B6 +:10DE000000000000000000000010800100108100F0 +:10DE100030400820030010C12002000480403090F0 +:10DE20000114024004804020000904320108A003CC +:10DE30000410080022400000043000000000000030 +:10DE40000000300010800000004000F000000000E2 +:10DE500000108000F00080800000200000F010A082 +:10DE6000000000200000F00010000000208000CC26 +:10DE700040000000000000003C3C10A080000000BA +:10DE80000000109080C040000000001090808000D2 +:10DE900000000000109080800000000000109080C2 +:10DEA000E00000000000108C0800000000000000EE +:10DEB0000000094DB1E90026402A7FE3F25498C0E2 +:10DEC0003FE64000014291D0C013E5876383B8CD9F +:10DED000F900267F0000352ED503403FD9BFB18021 +:10DEE00001F0000000000000000004021614001CF5 +:10DEF000A83F881600808480379EBAA05010021276 +:10DF0000001796972650101082801E80DEBE941453 +:10DF100002108017BE819400000000000000000085 +:10DF200000000000000008A84494288000000008B9 +:10DF30009421445100000000088442410100000087 +:10DF40000008A17223414000000008B80178324067 +:10DF5000000000000000000000003FFFFFFFC000C5 +:10DF60000000003FF7FED7C0000000003FFFD7DFF2 +:10DF7000C0000000003FFF7FFFC000000000377FAF +:10DF8000FFFFC000000000000000000000000000D3 +:10DF900000003FFFFFFFC0000000001EFFDE77C053 +:10DFA000000000001FEFFFFFC0000000003FFFFF68 +:10DFB000FFC0000000003FFFFF7FC0000000000026 +:10DFC000000000000000000000003FFFFFFFC00055 +:10DFD0000000001FCFDFFFC0000000003FFFFFBFB9 +:10DFE000C0000000003FFFFFBFC0000000003FFF77 +:10DFF000FFBFC000000000000000000000000000A3 +:10E0000000003FFFFFFFC0000000003FFFFFFFC018 +:10E01000000000003FFFFFFFC0000000001FFF1FC7 +:10E020007FC0000000002FDFFFCFC0000000000015 +:10E03000000000000000000000003FFFFFFFC000E4 +:10E040000000003FBFAFFFC0000000003FFFFFFF28 +:10E05000C0000000003EDE7FFFC0000000003FFF68 +:10E06000FFF7C000000000000000000000000000FA +:10E0700000003FFFFFFFC0000000003F7FFFFFC028 +:10E08000000000003FFFFFFFC0000000003FFEBE99 +:10E090007FC0000000003EFFD77FC00000000000EE +:10E0A0000000000000000000000000000000000070 +:10E0B0000000000000000000000000000000000060 +:10E0C0000000000000000000000000000000000050 +:10E0D0000000000000000000000000000000000040 +:10E0E00030002001020000003000438E00000000DC +:10E0F0000000000000000000000000000000000020 +:10E10000000000000000000000000000000000000F +:10E1100000000000000000000000000000000000FF +:10E1200000000000000000000000000000000000EF +:10E1300000000000000000000000000000000000DF +:10E1400000000000000000000000000000000000CF +:10E1500000000000000000000000000000000000BF +:10E1600000000000000000000000000000000000AF +:10E17000000000000000000000000000000000009F +:10E18000000000000000000000000000000000008F +:10E19000000000000000000000000000000000007F +:10E1A000000000000000000000000000000000006F +:10E1B000000000000000000000000000000000005F +:10E1C000000000000000000000000000000000004F +:10E1D000000000000000000000000000000000003F +:10E1E000000000000000000000000000000000002F +:10E1F000000000000000000000000000000000001F +:10E20000000000000000000000000000000000000E +:10E2100000000000000000000000000000000000FE +:10E2200000000000000000000000000000000000EE +:10E2300000000000000000000000000000000000DE +:10E2400000000000000000000000000000000000CE +:10E2500000000000000000000000000000000000BE +:10E2600000000000000000000000000000000000AE +:10E27000000000000000000000000000000000009E +:10E28000000000000000000000000000000000008E +:10E29000000000000000000000000000000000007E +:10E2A000000000000000000000000000000000006E +:10E2B000000000000000000000000000000000005E +:10E2C000000000000000000000000000000000004E +:10E2D000000000000000000000000000000000003E +:10E2E000000000000000000000000000000000002E +:10E2F000000000000000000000000000000000001E +:10E30000000000000000000000000000000000000D +:10E3100000000000000000000000000000000000FD +:10E3200000000000000000000000000000000000ED +:10E3300000000000000000000000000000000000DD :10E3400000000000000000000000000000000000CD :10E3500000000000000000000000000000000000BD :10E3600000000000000000000000000000000000AD -:10E37000000000000000000000002CDB0FB6C2CD42 -:10E38000B0B36C2CDB0B36C2DFB0B36C2CDB0B7E76 -:10E39000C2CDB0B7FD2CDB0B36C2CDB0B36C0000E4 -:10E3A00000000000000000000000333C4FCF13339A -:10E3B000C4CCF1333C4CCF133FC4CCF1333C4CFFC5 -:10E3C0001333C4CFFD333C4CCF1333C4CCF1000026 -:10E3D000000000000000000000003B7E4EDF93B70D -:10E3E000E4EC793B1E4EDF93BFE48DF93B784EFFA2 -:10E3F00093B7E4EDFD3B1E4EDF93B784EDF90000CB -:10E4000000000000000000000000010270409C10AD -:10E41000271C09C10130401C10670409C10270416A -:10E420009C11071401C10270409C50071C01C000E0 -:10E4300000000000000000000000040571015C40C5 -:10E44000571055C40131005C40571015C4057101C7 -:10E45000DC4017181DC40571055C4057101DC00035 -:10E4600000000000000000000000020120804820A1 -:10E4700012000482012080482012080482012080BA -:10E48000482012080482012080486012080480009D -:10E490000000000000000000000000006000180004 -:10E4A0000600418000600018004600018000600006 -:10E4B0001000061001800060001820461001800046 -:10E4C00000000000000000000000080472011C8031 -:10E4D000472011C80472011C80072011C804730072 -:10E4E0001C80472011CC0472011C80472011C00001 -:10E4F00000000000000000000000000060001800A4 -:10E5000006000184006000180006000180006040E1 -:10E510001800060401810060001800061401800044 -:10E520000000000000000000000008042201088034 -:10E530004270108C04220108C002201088042200BE -:10E540000880425010080422010900424010800057 -:10E55000000000000000000000002E044A8112A00C -:10E5600044A8112A044A8112A004A8112A044B804D -:10E5700012A04488012E044A811220049801000050 -:10E58000000000000000000008C00E00530014C08E -:10E590000530014C00530014E00530014C005300DD -:10E5A00004C00530004C00030014C00530004010CA -:10E5B000000000000000000008C00400400010003F -:10E5C0000458010400400010000400010000410054 -:10E5D00004004458104400000011800450104030E2 -:10E5E000000000000000000008C0400200008000A1 -:10E5F0002000080040000000002000080002000089 -:10E600008400000008400200008000200008403024 -:10E61000000000000000000008C040006001180079 -:10E6200046000180066001980046001180046001E8 -:10E630001800460011800420011800660011803087 -:10E640000000000000000000100140006000980081 -:10E6500026000980026001980006000C800260001C -:10E660001800060001800260009880060001820008 -:10E6700000000000000000004045420030810C20F6 -:10E68000430810C22430818C20030810C20420806B -:10E690000C20030818C20430810C20430818C01154 -:10E6A00050000000000000004000000030000C009E -:10E6B000030000C04030000C000300008000300068 -:10E6C0000C00032000C00030000C00032000C0003C -:10E6D00000000000000000004001021030800C200B -:10E6E000030800C20030800C20030800C201208013 -:10E6F0000C20032C00C20030800C30432C00C000E2 -:10E7000040000000000000004045420460811820E5 -:10E710004608118204608018204608118204608136 -:10E720001820460C11C20460811830460C11C0112B -:10E73000500000000000000040014200208008203E -:10E740000228008200208008200208008200208029 -:10E7500008200208018200208008200308018000B0 -:10E7600000000000000000005001420460811820F9 -:10E7700046281182046080182046081182046081B6 -:10E780001820460810820460811820430810800079 -:10E79000000000000000000040454004500114004B -:10E7A00045001140250000140045001140045001AF -:10E7B00014004500004004500140000100004211D7 -:10E7C000500000000000000048000600418010607A -:10E7D0000418010600418010600418010600418001 -:10E7E0001060041801060041801060041801000048 -:10E7F00000000000000000004800020500804021E9 -:10E80000100804000100804020100804020100806C -:10E810004020500814021100844020100814000009 -:10E820000000000000000000404546015180D46017 -:10E8300035180D46035180D46015180D46035180DC -:10E84000546015180D46035180D46035180D4011E1 -:10E8500050000000000000000001460471811C60AF -:10E86000451811D60471811C60671811C6047181A6 -:10E870009C60471811C60471811C60671811C000A4 -:10E8800000000000000000004005460271809C600E -:10E89000271809C60071809C60671809C60271803C -:10E8A0009C61271801C60271809C60071801C00096 -:10E8B00000000000000000005045460571815C60CA -:10E8C000571855D60171815C60571815C6057181BE -:10E8D0005C60571818C60571815C60431818821176 -:10E8E0005000000000000000400452012080482039 -:10E8F00012480490012080492012080482012480DB -:10E9000048201248009201208048201748048001C6 -:10E910000000000000000000400006006180186058 -:10E92000063C0186006180186046180186006180FF -:10E930001860061801860061801860461801800181 -:10E9400000000000000000000041600478011E008B -:10E95000478011E02478011E00078011E00478014F -:10E960001E00478011E00438011E00478011C011CD -:10E9700050000000000000004001120060801820DC -:10E980000648019200608019200608018200648018 -:10E9900018200648019300208018200648018000B6 -:10E9A0000000000000000000400142042081082017 -:10E9B000420810820420810820020810820420816D -:10E9C00008204208108A0460810820420810800054 -:10E9D000000000000000000040454204408110207B -:10E9E00044081102044081102004081102044081EF -:10E9F0001021440801020450811020040801001174 -:10EA000050000000000000004000030050C014301F -:10EA1000050C01430050C01430050C014300508028 -:10EA200014300508014A0050C014300508014000A8 -:10EA300000000000000000004000080042001080BC -:10EA40000420010800420010800420010800420058 -:10EA500010800420110000420010800420110010DA -:10EA6000400000000000000040454202008080207D -:10EA70002008080200008080202008080202008090 -:10EA80008020200808020200808020200808001151 -:10EA9000500000000000000040014000600118002C -:10EAA00046001180066001180046001180046001D4 -:10EAB00018004600118004600118006600118010E3 -:10EAC00000000000000000004001400264009800C7 -:10EAD0002600099006600198002640098002600027 -:10EAE0009800260000900260009800070001800056 -:10EAF00000000000000000004045600438050E00E2 -:10EB0000438010E04438010E00438010E0043801D7 -:10EB10000E00438018A00438010E004680188011B2 -:10EB200050000000000000005000010030400C10B8 -:10EB3000030400C50030400C10031400C100304035 -:10EB40000C10030400874030400C100204008000C9 -:10EB500000000000000000004004050035400C509B -:10EB6000031400D50431410C50035C00C500310092 -:10EB70000C50031000940031400C50431000C200B0 -:10EB800000000000000000004045430520C118308F -:10EB9000460C11970060C01830461C11830460C1F8 -:10EBA0001830520C11870460C11830460C118011C6 -:10EBB000500000000000000040010000214008005B -:10EBC00002000080002000080002000080002000F9 -:10EBD0000800020000800020000800020000800001 -:10EBE0000000000000000000400148442201188499 -:10EBF0004621119800621018844420118844621143 -:10EC00001884422111804462111884462111800029 -:10EC100000000000000000004045400450111404B2 -:10EC2000450011410050101400450111404450119D -:10EC30001404450101404450111404050101401120 -:10EC40005000000000000000400008204208108230 -:10EC50000420010820420810820420810820420874 -:10EC6000108204228108205208108A0422810000A8 -:10EC7000000000000000000000040A01028440A11E -:10EC80001028000A01028040A01028040A01028016 -:10EC900040A0102C140A00028040B0102C14000078 -:10ECA000000000000000000040454D035340D4D058 -:10ECB00035300C4D035340D4D035340D4D03534003 -:10ECC000D4D035340D4D021340D4D035340D40111D -:10ECD00050000000000000004001080472011C8088 -:10ECE000472015C80472011C80472011C804721106 -:10ECF0001C80472611C84472011C90672611C00071 -:10ED000000000000000000000000230840C612318F -:10ED1000848C01030848C61230840C61231848C251 -:10ED20001231848C01030848C61231048C010000A2 -:10ED3000000000000000000000003FFF4FFFD3FF75 -:10ED4000F4FFFD3FFF4FFFD3FFF4FFFD3FFF4FFFF9 -:10ED5000D3FFF4FFFD3FFF4FFFD3FFF4FFFD0000A3 +:10E37000000000000000000000000000000000009D +:10E38000000000000000000000000000000000008D +:10E39000000000000000000000000000000000007D +:10E3A000000000000000000000000000000000006D +:10E3B000000000000000000000000000000000005D +:10E3C000000000000000000000000000000000004D +:10E3D000000000000000000000000000000000003D +:10E3E000000000000000000000000000000000002D +:10E3F000000000000000000000000000000000001D +:10E40000000000000000000000000000000000000C +:10E4100000000000000000000000000000000000FC +:10E4200000000000000000000000000000000000EC +:10E4300000000000000000000000000000000000DC +:10E4400000000000000000000000000000000000CC +:10E4500000000000000000000000000000000000BC +:10E4600000000000000000000000000000000000AC +:10E47000000000000000000000000000000000009C +:10E48000000000000000000000000000000000008C +:10E49000000000000000000000000000000000007C +:10E4A000000000000000000000000000000000006C +:10E4B000000000000000000000000000000000005C +:10E4C000000000000000000000000000000000004C +:10E4D000000000000000000000000000000000003C +:10E4E000000000000000000000000000000000002C +:10E4F000000000000000000000000000000000001C +:10E50000000000000000000000000000000000000B +:10E5100000000000000000000000000000000000FB +:10E5200000000000000000000000000000000000EB +:10E5300000000000000000000000000000000000DB +:10E5400000000000000000000000000000000000CB +:10E5500000000000000000000000000000000000BB +:10E5600000000000000000000000000000000000AB +:10E57000000000000000000000000000000000009B +:10E58000000000000000000000000000000000008B +:10E59000000000000000000000000000000000007B +:10E5A000000000000000000000000000000000006B +:10E5B000000000000000000000000000000000005B +:10E5C000000000000000000000000000000000004B +:10E5D000000000000000000000000000000000003B +:10E5E000000000000000000000000000000000002B +:10E5F000000000000000000000000000000000001B +:10E60000000000000000000000000000000000000A +:10E6100000000000000000000000000000000000FA +:10E6200000000000000000000000000000000000EA +:10E6300000000000000000000000000000000000DA +:10E6400000000000000000000000000000000000CA +:10E6500000000000000000000000000000000000BA +:10E6600000000000000000000000000000000000AA +:10E67000000000000000000000000000000000009A +:10E68000000000000000000000000000000000008A +:10E69000000000000000000000000000000000007A +:10E6A000000000000000000000000000000000006A +:10E6B000000000000000000000000000000000005A +:10E6C000000000000000000000000000000000004A +:10E6D000000000000000000000000000000000003A +:10E6E000000000000000000000000000000000002A +:10E6F000000000000000000000000000000000001A +:10E700000000000000000000000000000000000009 +:10E7100000000000000000000000000000000000F9 +:10E7200000000000000000000000000000000000E9 +:10E7300000000000000000000000000000000000D9 +:10E7400000000000000000000000000000000000C9 +:10E7500000000000000000000000000000000000B9 +:10E7600000000000000000000000000000000000A9 +:10E770000000000000000000000000000000000099 +:10E780000000000000000000000000000000000089 +:10E790000000000000000000000000000000000079 +:10E7A0000000000000000000000000000000000069 +:10E7B0000000000000000000000000000000000059 +:10E7C0000000000000000000000000000000000049 +:10E7D0000000000000000000000000000000000039 +:10E7E0000000000000000000000000000000000029 +:10E7F0000000000000000000000000000000000019 +:10E800000000000000000000000000000000000008 +:10E8100000000000000000000000000000000000F8 +:10E8200000000000000000000000000000000000E8 +:10E8300000000000000000000000000000000000D8 +:10E8400000000000000000000000000000000000C8 +:10E8500000000000000000000000000000000000B8 +:10E8600000000000000000000000000000000000A8 +:10E870000000000000000000000000000000000098 +:10E880000000000000000000000000000000000088 +:10E890000000000000000000000000000000000078 +:10E8A0000000000000000000000000000000000068 +:10E8B0000000000000000000000000000000000058 +:10E8C0000000000000000000000000000000000048 +:10E8D0000000000000000000000000000000000038 +:10E8E0000000000000000000000000000000000028 +:10E8F0000000000000000000000000000000000018 +:10E900000000000000000000000000000000000007 +:10E9100000000000000000000000000000000000F7 +:10E9200000000000000000000000000000000000E7 +:10E9300000000000000000000000000000000000D7 +:10E9400000000000000000000000000000000000C7 +:10E9500000000000000000000000000000000000B7 +:10E9600000000000000000000000000000000000A7 +:10E970000000000000000000000000000000000097 +:10E980000000000000000000000000000000000087 +:10E990000000000000000000000000000000000077 +:10E9A0000000000000000000000000000000000067 +:10E9B0000000000000000000000000000000000057 +:10E9C0000000000000000000000000000000000047 +:10E9D0000000000000000000000000000000000037 +:10E9E0000000000000000000000000000000000027 +:10E9F0000000000000000000000000000000000017 +:10EA00000000000000000000000000000000000006 +:10EA100000000000000000000000000000000000F6 +:10EA200000000000000000000000000000000000E6 +:10EA300000000000000000000000000000000000D6 +:10EA400000000000000000000000000000000000C6 +:10EA500000000000000000000000000000000000B6 +:10EA600000000000000000000000000000000000A6 +:10EA70000000000000000000000000000000000096 +:10EA80000000000000000000000000000000000086 +:10EA90000000000000000000000000000000000076 +:10EAA0000000000000000000000000000000000066 +:10EAB0000000000000000000000000000000000056 +:10EAC0000000000000000000000000000000000046 +:10EAD0000000000000000000000000000000000036 +:10EAE0000000000000000000000000000000000026 +:10EAF0000000000000000000000000000000000016 +:10EB00000000000000000000000000000000000005 +:10EB100000000000000000000000000000000000F5 +:10EB200000000000000000000000000000000000E5 +:10EB300000000000000000000000000000000000D5 +:10EB400000000000000000000000000000000000C5 +:10EB500000000000000000000000000000000000B5 +:10EB600000000000000000000000000000000000A5 +:10EB70000000000000000000000000000000000095 +:10EB80000000000000000000000000000000000085 +:10EB90000000000000000000000000000000000075 +:10EBA0000000000000000000000000000000000065 +:10EBB0000000000000000000000000000000000055 +:10EBC0000000000000000000000000000000000045 +:10EBD0000000000000000000000000000000000035 +:10EBE0000000000000000000000000000000000025 +:10EBF0000000000000000000000000000000000015 +:10EC00000000000000000000000000000000000004 +:10EC100000000000000000000000000000000000F4 +:10EC200000000000000000000000000000000000E4 +:10EC300000000000000000000000000000000000D4 +:10EC400000000000000000000000000000000000C4 +:10EC500000000000000000000000000000000000B4 +:10EC600000000000000000000000000000000000A4 +:10EC70000000000000000000000000000000000094 +:10EC80000000000000000000000000000000000084 +:10EC90000000000000000000000000000000000074 +:10ECA0000000000000000000000000000000000064 +:10ECB0000000000000000000000000000000000054 +:10ECC0000000000000000000000000000000000044 +:10ECD0000000000000000000000000000000000034 +:10ECE0000000000000000000000000000000000024 +:10ECF0000000000000000000000000000000000014 +:10ED00000000000000000000000000000000000003 +:10ED100000000000000000000000000000000000F3 +:10ED200000000000000000000000000000000000E3 +:10ED300000000000000000000000000000000000D3 +:10ED400000000000000000000000000000000000C3 +:10ED500000000000000000000000000000000000B3 :10ED600000000000000000000000000000000000A3 :10ED70000000000000000000000000000000000093 :10ED80000000000000000000000000000000000083 -:10ED9000000000000000000000002DFB0FB6C2CDF7 -:10EDA000B0B7FD3FFB0B36C2DFB0FB6C2CDB0B7E3C -:10EDB000C2CDB0B7FD3FFB0B36C2CDF4B7FD0000AE -:10EDC0000000000000000000000033FC4FCF1333B0 -:10EDD000C4CFFD3FFC4CCF133FC4FCF1333C4CFF90 -:10EDE0001333C4CFFD3FFC4CCF1333F4CFFD0000F1 -:10EDF000000000000000000000003B7E4EDF93B7E3 -:10EE0000E4EDF93FFE4EDF93B7E4EDF93B7E4EC7EC -:10EE100093B7E4EC61231E4EDF93B784EC610000EE -:10EE20000000000000000000000000C524A14A24EA -:10EE3000630114024400810B2871021082403811D2 -:10EE4000410450081882873831C32C520A10000040 -:10EE5000000000000000000000000845128144800E -:10EE600071211C0A071A8102A0522014480712813E -:10EE7000C680602008884702014A80702010000088 -:10EE80000000000000000000000002C52C014A0044 -:10EE900052091C800724210808710210804520A116 -:10EEA0004928520114C0450091C4007202100000AC -:10EEB0000000000000000000000002072001C10067 -:10EEC0007109108007000101007008188007000117 -:10EED000892052010C8046308145046000100000FA -:10EEE0000000000000000000000008C202200088AE -:10EEF00020220008C22280408802220008820AA044 -:10EF00000CA802220008800A00808C022200000067 -:10EF10000000000000000000080002430000402044 -:10EF200030080440413010C8000000000203001007 -:10EF3000C000110800C2431080C020010800020078 -:10EF40000000000000000000080008C30A20C18C77 -:10EF500012220488013620C3081228040801040084 -:10EF60004AA8220104C8412630C0880221000200BC -:10EF70000000000000000000080008000A10C18026 -:10EF800032210C88430280448012290408420A90EE -:10EF90008A8000200448030A1082800020000200BA -:10EFA000000000000000000000000A8702A180AC01 -:10EFB0004329148A8402A100AC412010080626319E -:10EFC00080A46020144A44328181AC602A18020077 -:10EFD0000000000000000000080008072201C580B2 -:10EFE00073211CC8072A010C807220104847261183 -:10EFF000C58073201C88072A1149807020140200E4 -:10F000000000000000000000080000451031C90C9D -:10F0100073021CC04704010A0C510A1082472031B8 -:10F02000C80072021C40053011C4007201180200B1 -:10F030000000000000000000081010062401450434 -:10F04000518118904714010404718810120534018D -:10F050004404514018D0073801C404520114C204BA -:10F060000000000000000000000000870021890C63 -:10F0700060011CD0452401C10C42010000C52031B3 -:10F08000410840001880450021410C70421CC2001C -:10F090000000000000000000000002011C80C420ED -:10F0A00031081042420880C62031090020031C901C -:10F0B000C42001490C424310804420310810000054 -:10F0C0000000000000000000000030832030480CE9 -:10F0D00032401090812420C80432401020C3208088 -:10F0E000C800024A0CA0012410C8083241100000D8 -:10F0F0000000000000000000001090030000C904A0 -:10F10000304000900020008000104010004020108F -:10F11000C20000800820430810810032400CC00467 -:10F12000200000000000000000003000400000004F -:10F13000100000F01020000000100000F0108040CF -:10F140000000004000F01090800000000000C000AF -:10F1500000000000000000003C3C108090400000D7 -:10F1600000801090A09000000000001090808000AF -:10F1700000000000109080900000000040108F0FF1 -:10F180000000000000000000000024C6BA06C01CF9 -:10F19000492861142B1C0E403FD9BFD9AABC1A5F65 -:10F1A0000010A6503B61B325BC4019BFFFE98000A9 -:10F1B0000000000000000000000010921494800C79 -:10F1C000073F2B948614848028000049140486127B -:10F1D0008000412734D0908492002D8A211E800027 -:10F1E000000000000000000000000000000008A275 -:10F1F000B10101000000000884B17828000000007F -:10F2000008B13214140000000008A8235421400063 -:10F21000000000000000000000003FFFFFFFC000F2 -:10F220000000002FFFFEF7C0000000002FD7FEEF08 -:10F23000C0000000003FFF7FFFC000000000000092 -:10F24000000000000000000000003FFFFFFFC000C2 -:10F250000000000FEF77FFC0000000003EFFFEEF50 -:10F2600040000000003FFFBFFF4000000000000022 -:10F27000000000000000000000003FFFFFFFC00092 -:10F280000000003FFFDFFFC0000000003FFFFFFF66 -:10F29000C0000000003F7F2FFFC000000000000002 -:10F2A000000000000000000000003FFFFFFFC00062 -:10F2B0000000001FFFFFEFC0000000001FEFEFEF96 -:10F2C000C0000000002FFFFFFFC000000000000092 -:10F2D000000000000000000000003FFFFFFFC00032 -:10F2E0000000003FFFEFFFC0000000002FAFDFFF76 -:10F2F000C0000000003FEFFFF7C00000000000006A -:10F30000000000000000000000003FFFFFFFC00001 -:10F310000000003FDFDFFFC0000000003FFFFFFFF5 -:10F32000C0000000001FFFDFFFC000000000000061 -:10F330000000000000000000000002C424A1002C16 -:10F34000520B18C2862CA18038620A0840C42CA136 -:10F350000828420B14008514A10828430A10000055 -:10F3600000000000000000000000080412010380FB -:10F3700061201008071241428070201C08041A0105 -:10F3800084814020180846368105806320100001E2 -:10F390008000000000000000000000842421000C18 -:10F3A00052021400872821810872061C82842021C1 -:10F3B0004818420354804530254A18530210000172 -:10F3C000200000000000000000000804220101806D -:10F3D000422018C8442201808442201C8804220153 -:10F3E0000080402010884436014080410010000019 -:10F3F0000000000000000000000000C00820000C19 -:10F4000022030440810020840803000080C2002001 -:10F41000C408000308888216A040883222800000B9 -:10F42000000000000000000008000201008004202D -:10F4300010080CC2121084C82212080402030088AB -:10F440000021000C0C404130008420100800020014 -:10F450000000000000000000080008820620088C60 -:10F4600032220C888126204D882322808883062022 -:10F4700008880023048A8136204B8832220000004D -:10F4800000000000000000000800080202000980DF -:10F49000322004886022008984002008980002003D -:10F4A000008000200008023A8048803020000200DE -:10F4B000000000000000000008000AC41AA180A893 -:10F4C000412A10CAC71AA104AD712A184AD406B13C -:10F4D00000A8712A100884262906AC522A100200BE -:10F4E0000000000000000000080008042A0141801C -:10F4F00042201C00040A01098451201C8844020196 -:10F5000008804020104A4702014880632010020012 -:10F510008000000000000000080000C41021810CE1 -:10F5200041020C00C020610D0E72021C40C4083163 -:10F530000418420210808720B1C40C53021000004E -:10F540000000000000000000081020072401CC008B -:10F55000724014000424010800734110C0073011E8 -:10F56000CC007101100204208146104240100204B8 -:10F570000000000000000000080000C51021000885 -:10F5800062021C90C52421000C70821C10C4203122 -:10F59000880240061C008500A1000C4042000200C9 -:10F5A000000000000000000000002205148001207F -:10F5B00030080C42060080012451080C02410080F2 -:10F5C0004C2000080C304204000420000800000019 -:10F5D0000000000000000000000010C62420000C05 -:10F5E00032C20480C73020000C53C20410C22870FD -:10F5F0000C0902024C80810430090C024210000008 -:10F60000000000000000000000108001380002002F -:10F6100012400C200734040200630108100024107B -:10F620000400020104820108800910024010000455 -:10F6300030000000000000000000302010800000BA -:10F64000208000F02010800000208000D08000008A -:10F650004000000000301000800000000000CC409E -:10F6600000000000000000003C3C10808000000012 -:10F67000000010908080000000000010908000903A -:10F68000800010000010A0800000002000108C08F6 -:10F6900000000000000000000000341ABE178000C7 -:10F6A0003E40266FBAE32480001659BD828182D87D -:10F6B000800000199986806480C03FD9998000013C -:10F6C000F000000000000000000006160294001682 -:10F6D000C01694829016108021182828020A020869 -:10F6E00080000000000282801400011411A040007C -:10F6F000000000000000000000000000000008847E -:10F700000284A8800000000891228441A2082401FC -:10F7100030000000000000000008840144010000E7 -:10F72000000000000000000000003FFFFFFFC000DD -:10F730000000003EF7FFF7C0000000002FE7B7FF12 -:10F74000C0000000002FFE7FF7C000000000000096 -:10F75000000000000000000000003FFFFFFFC000AD -:10F7600000000036BFFEDFC0000000000FF7DFFF23 -:10F77000C0000000003DB7B7EFC00000000000006F -:10F78000000000000000000000003FFFFFFFC0007D -:10F790000000001FDFDFFFC0000000000FDFDFFF01 -:10F7A000C0000000003FEFFFFFC0000000000000AD -:10F7B000000000000000000000003FFFFFFFC0004D -:10F7C0000000003FBF7FFFC0000000003FFF7FF749 -:10F7D000C0000000003FDFFFFFC00000000000008D -:10F7E000000000000000000000003FFFFFFFC0001D -:10F7F0000000003F7EFFFF40000000003FFEFFFFD3 -:10F80000C0000000003FFFFFFFC00000000000003C -:10F81000000000000000000000003FFFFFFFC000EC -:10F8200000000037FF6FFFC0000000003FFFFFFF38 -:10F83000C0000000003FFFFFFFC00000000000000C +:10ED90000000000000000000000000000000000073 +:10EDA0000000000000000000000000000000000063 +:10EDB0000000000000000000000000000000000053 +:10EDC0000000000000000000000000000000000043 +:10EDD0000000000000000000000000000000000033 +:10EDE0000000000000000000000000000000000023 +:10EDF0000000000000000000000000000000000013 +:10EE00000000000000000000000000000000000002 +:10EE100000000000000000000000000000000000F2 +:10EE200000000000000000000000000000000000E2 +:10EE300000000000000000000000000000000000D2 +:10EE400000000000000000000000000000000000C2 +:10EE500000000000000000000000000000000000B2 +:10EE600000000000000000000000000000000000A2 +:10EE70000000000000000000000000000000000092 +:10EE80000000000000000000000000000000000082 +:10EE90000000000000000000000000000000000072 +:10EEA0000000000000000000000000000000000062 +:10EEB0000000000000000000000000000000000052 +:10EEC0000000000000000000000000000000000042 +:10EED0000000000000000000000000000000000032 +:10EEE0000000000000000000000000000000000022 +:10EEF0000000000000000000000000000000000012 +:10EF00000000000000000000000000000000000001 +:10EF100000000000000000000000000000000000F1 +:10EF20000000000030002001020200003000438099 +:10EF300000000000000000000000000000000000D1 +:10EF400000000000000000000000000000000000C1 +:10EF500000000000000000000000000000000000B1 +:10EF600000000000000000000000000000000000A1 +:10EF70000000000000000000000000000000000091 +:10EF80000000000000000000000000000000000081 +:10EF90000000000000000000000000000000000071 +:10EFA0000000000000000000000000000000000061 +:10EFB0000000000000000000000000000000000051 +:10EFC0000000000000000000000000000000000041 +:10EFD0000000000000000000000000000000000031 +:10EFE0000000000000000000000000000000000021 +:10EFF0000000000000000000000000000000000011 +:10F000000000000000000000000000000000000000 +:10F0100000000000000000000000000000000000F0 +:10F0200000000000000000000000000000000000E0 +:10F0300000000000000000000000000000000000D0 +:10F0400000000000000000000000000000000000C0 +:10F0500000000000000000000000000000000000B0 +:10F0600000000000000000000000000000000000A0 +:10F070000000000000000000000000000000000090 +:10F080000000000000000000000000000000000080 +:10F090000000000000000000000000000000000070 +:10F0A0000000000000000000000000000000000060 +:10F0B0000000000000000000000000000000000050 +:10F0C0000000000000000000000000000000000040 +:10F0D0000000000000000000000000000000000030 +:10F0E0000000000000000000000000000000000020 +:10F0F0000000000000000000000000000000000010 +:10F1000000000000000000000000000000000000FF +:10F1100000000000000000000000000000000000EF +:10F1200000000000000000000000000000000000DF +:10F1300000000000000000000000000000000000CF +:10F1400000000000000000000000000000000000BF +:10F1500000000000000000000000000000000000AF +:10F16000000000000000000000000000000000009F +:10F17000000000000000000000000000000000008F +:10F18000000000000000000000000000000000007F +:10F19000000000000000000000000000000000006F +:10F1A000000000000000000000000000000000005F +:10F1B000000000000000000000000000000000004F +:10F1C000000000000000000000000000000000003F +:10F1D000000000000000000000000000000000002F +:10F1E000000000000000000000000000000000001F +:10F1F000000000000000000000000000000000000F +:10F2000000000000000000000000000000000000FE +:10F2100000000000000000000000000000000000EE +:10F2200000000000000000000000000000000000DE +:10F2300000000000000000000000000000000000CE +:10F2400000000000000000000000000000000000BE +:10F2500000000000000000000000000000000000AE +:10F26000000000000000000000000000000000009E +:10F27000000000000000000000000000000000008E +:10F28000000000000000000000000000000000007E +:10F29000000000000000000000000000000000006E +:10F2A000000000000000000000000000000000005E +:10F2B000000000000000000000000000000000004E +:10F2C000000000000000000000000000000000003E +:10F2D000000000000000000000000000000000002E +:10F2E000000000000000000000000000000000001E +:10F2F000000000000000000000000000000000000E +:10F3000000000000000000000000000000000000FD +:10F3100000000000000000000000000000000000ED +:10F3200000000000000000000000000000000000DD +:10F3300000000000000000000000000000000000CD +:10F3400000000000000000000000000000000000BD +:10F3500000000000000000000000000000000000AD +:10F36000000000000000000000000000000000009D +:10F37000000000000000000000000000000000008D +:10F38000000000000000000000000000000000007D +:10F39000000000000000000000000000000000006D +:10F3A000000000000000000000000000000000005D +:10F3B000000000000000000000000000000000004D +:10F3C000000000000000000000000000000000003D +:10F3D000000000000000000000000000000000002D +:10F3E000000000000000000000000000000000001D +:10F3F000000000000000000000000000000000000D +:10F4000000000000000000000000000000000000FC +:10F4100000000000000000000000000000000000EC +:10F4200000000000000000000000000000000000DC +:10F4300000000000000000000000000000000000CC +:10F4400000000000000000000000000000000000BC +:10F4500000000000000000000000000000000000AC +:10F46000000000000000000000000000000000009C +:10F47000000000000000000000000000000000008C +:10F48000000000000000000000000000000000007C +:10F49000000000000000000000000000000000006C +:10F4A000000000000000000000000000000000005C +:10F4B000000000000000000000000000000000004C +:10F4C000000000000000000000000000000000003C +:10F4D000000000000000000000000000000000002C +:10F4E000000000000000000000000000000000001C +:10F4F000000000000000000000000000000000000C +:10F5000000000000000000000000000000000000FB +:10F5100000000000000000000000000000000000EB +:10F5200000000000000000000000000000000000DB +:10F5300000000000000000000000000000000000CB +:10F5400000000000000000000000000000000000BB +:10F5500000000000000000000000000000000000AB +:10F56000000000000000000000000000000000009B +:10F57000000000000000000000000000000000008B +:10F58000000000000000000000000000000000007B +:10F59000000000000000000000000000000000006B +:10F5A000000000000000000000000000000000005B +:10F5B000000000000000000000000000000000004B +:10F5C000000000000000000000000000000000003B +:10F5D000000000000000000000000000000000002B +:10F5E000000000000000000000000000000000001B +:10F5F000000000000000000000000000000000000B +:10F6000000000000000000000000000000000000FA +:10F6100000000000000000000000000000000000EA +:10F6200000000000000000000000000000000000DA +:10F6300000000000000000000000000000000000CA +:10F6400000000000000000000000000000000000BA +:10F6500000000000000000000000000000000000AA +:10F66000000000000000000000000000000000009A +:10F67000000000000000000000000000000000008A +:10F68000000000000000000000000000000000007A +:10F69000000000000000000000000000000000006A +:10F6A000000000000000000000000000000000005A +:10F6B000000000000000000000000000000000004A +:10F6C000000000000000000000000000000000003A +:10F6D000000000000000000000000000000000002A +:10F6E000000000000000000000000000000000001A +:10F6F000000000000000000000000000000000000A +:10F7000000000000000000000000000000000000F9 +:10F7100000000000000000000000000000000000E9 +:10F7200000000000000000000000000000000000D9 +:10F7300000000000000000000000000000000000C9 +:10F7400000000000000000000000000000000000B9 +:10F7500000000000000000000000000000000000A9 +:10F760000000000000000000000000000000000099 +:10F770000000000000000000000000000000000089 +:10F780000000000000000000000000000000000079 +:10F790000000000000000000000000000000000069 +:10F7A0000000000000000000000000000000000059 +:10F7B0000000000000000000000000000000000049 +:10F7C0000000000000000000000000000000000039 +:10F7D0000000000000000000000000000000000029 +:10F7E0000000000000000000000000000000000019 +:10F7F0000000000000000000000000000000000009 +:10F8000000000000000000000000000000000000F8 +:10F8100000000000000000000000000000000000E8 +:10F8200000000000000000000000000000000000D8 +:10F8300000000000000000000000000000000000C8 :10F8400000000000000000000000000000000000B8 :10F8500000000000000000000000000000000000A8 :10F860000000000000000000000000000000000098 -:10F870000000000000000000300020010200000035 -:10F880003000430C000000000000000000000000F9 +:10F870000000000000000000000000000000000088 +:10F880000000000000000000000000000000000078 :10F890000000000000000000000000000000000068 :10F8A0000000000000000000000000000000000058 :10F8B0000000000000000000000000000000000048 :10F8C0000000000000000000000000000000000038 :10F8D0000000000000000000000000000000000028 :10F8E0000000000000000000000000000000000018 -:10F8F00000000000000000000030C00000000030E8 -:10F90000C000000000000000000000000000000037 +:10F8F0000000000000000000000000000000000008 +:10F9000000000000000000000000000000000000F7 :10F9100000000000000000000000000000000000E7 :10F9200000000000000000000000000000000000D7 :10F9300000000000000000000000000000000000C7 :10F9400000000000000000000000000000000000B7 -:10F95000000000000000000000000030C030C000C7 +:10F9500000000000000000000000000000000000A7 :10F960000000000000000000000000000000000097 :10F970000000000000000000000000000000000087 :10F980000000000000000000000000000000000077 :10F990000000000000000000000000000000000067 :10F9A0000000000000000000000000000000000057 -:10F9B00000000000000000000030C030C030C03047 -:10F9C000C000000000000000000000000000000077 +:10F9B0000000000000000000000000000000000047 +:10F9C0000000000000000000000000000000000037 :10F9D0000000000000000000000000000000000027 :10F9E0000000000000000000000000000000000017 :10F9F0000000000000000000000000000000000007 :10FA000000000000000000000000000000000000F6 -:10FA10000000000000000000000F00000000000FC8 +:10FA100000000000000000000000000000000000E6 :10FA200000000000000000000000000000000000D6 :10FA300000000000000000000000000000000000C6 :10FA400000000000000000000000000000000000B6 :10FA500000000000000000000000000000000000A6 :10FA60000000000000000000000000000000000096 -:10FA70000000000000000000003FC0000000003F48 -:10FA8000C0000000000000000000000000000000B6 +:10FA70000000000000000000000000000000000086 +:10FA80000000000000000000000000000000000076 :10FA90000000000000000000000000000000000066 :10FAA0000000000000000000000000000000000056 :10FAB0000000000000000000000000000000000046 :10FAC0000000000000000000000000000000000036 -:10FAD0000000000000000000000F0030C030C00F28 +:10FAD0000000000000000000000000000000000026 :10FAE0000000000000000000000000000000000016 :10FAF0000000000000000000000000000000000006 :10FB000000000000000000000000000000000000F5 :10FB100000000000000000000000000000000000E5 :10FB200000000000000000000000000000000000D5 -:10FB3000000000000000000000136B00C000CF2C8C -:10FB40004000000000000000000000000000000075 +:10FB300000000000000000000000000000000000C5 +:10FB400000000000000000000000000000000000B5 :10FB500000000000000000000000000000000000A5 :10FB60000000000000000000000000000000000095 :10FB70000000000000000000000000000000000085 :10FB80000000000000000000000000000000000075 -:10FB900000000000000000000000000F000F000047 +:10FB90000000000000000000000000000000000065 :10FBA0000000000000000000000000000000000055 :10FBB0000000000000000000000000000000000045 :10FBC0000000000000000000000000000000000035 :10FBD0000000000000000000000000000000000025 :10FBE0000000000000000000000000000000000015 -:10FBF00000000000000000000030C00F000F0030C7 -:10FC0000C000000000000000000000000000000034 +:10FBF0000000000000000000000000000000000005 +:10FC000000000000000000000000000000000000F4 :10FC100000000000000000000000000000000000E4 :10FC200000000000000000000000000000000000D4 :10FC300000000000000000000000000000000000C4 :10FC400000000000000000000000000000000000B4 -:10FC500000000000000000000000003FC03FC000A6 +:10FC500000000000000000000000000000000000A4 :10FC60000000000000000000000000000000000094 :10FC70000000000000000000000000000000000084 :10FC80000000000000000000000000000000000074 :10FC90000000000000000000000000000000000064 :10FCA0000000000000000000000000000000000054 -:10FCB00000000000000000000030C03FC03FC03026 -:10FCC000C000000000000000000000000000000074 +:10FCB0000000000000000000000000000000000044 +:10FCC0000000000000000000000000000000000034 :10FCD0000000000000000000000000000000000024 :10FCE0000000000000000000000000000000000014 :10FCF0000000000000000000000000000000000004 :10FD000000000000000000000000000000000000F3 -:10FD10000000000000000000000F000F000F000FA7 +:10FD100000000000000000000000000000000000E3 :10FD200000000000000000000000000000000000D3 -:10FD300000000000000000000000000000000000C3 -:10FD400000000000000000000000000000000000B3 +:10FD30003000000100005FA73000800100000003D8 +:10FD40003000400E00000000000000000000000035 :10FD500000000000000000000000000000000000A3 :10FD60000000000000000000000000000000000093 -:10FD70000000000000000000003FC00F000F003F27 -:10FD8000C0000000000000000000000000000000B3 -:10FD90000000000000000000000000000000000063 -:10FDA0000000000000000000000000000000000053 -:10FDB0000000000000000000000000000000000043 -:10FDC0000000000000000000000000000000000033 -:10FDD0000000000000000000000F003FC03FC00F07 -:10FDE0000000000000000000000000000000000013 -:10FDF0000000000000000000000000000000000003 -:10FE000000000000000000000000000000000000F2 -:10FE100000000000000000000000000000000000E2 -:10FE200000000000000000000000000000000000D2 -:10FE3000000000000000000006335D80C000FDAC43 -:10FE400002000000000000000000000000000000B0 -:10FE500000000000000000000000000000000000A2 -:10FE60000000000000000000000000000000000092 -:10FE70000000000000000000000000000000000082 -:10FE80000000000000000000000000000000000072 -:10FE90000000000000000000000000000000000062 -:10FEA0000000000000000000000000000000000052 -:10FEB0000000000000000000000000000000000042 -:10FEC0000000000000000000000000000000000032 -:10FED0000000000000000000000000000000000022 -:10FEE0000000000000000000000000000000000012 -:10FEF00000000000000000000030C00000000030E2 -:10FF0000C000000000000000000000000000000031 -:10FF100000000000000000000000000000000000E1 -:10FF200000000000000000000000000000000000D1 -:10FF300000000000000000000000000000000000C1 -:10FF400000000000000000000000000000000000B1 -:10FF5000000000000000000000000030C030C000C1 -:10FF60000000000000000000000000000000000091 -:10FF70000000000000000000000000000000000081 -:10FF80000000000000000000000000000000000071 -:10FF90000000000000000000000000000000000061 -:10FFA0000000000000000000000000000000000051 -:10FFB00000000000000000000030C030C030C03041 -:10FFC000C000000000000000000000000000000071 -:10FFD0000000000000000000000000000000000021 -:10FFE0000000000000000000000000000000000011 -:10FFF0000000000000000000000000000000000001 -:108010000000000000000000000000000000000060 -:108020000000000000000000000F00000000000F32 -:108030000000000000000000000000000000000040 -:108040000000000000000000000000000000000030 -:108050000000000000000000000000000000000020 -:108060000000000000000000000000000000000010 -:108070000000000000000000000000000000000000 -:108080000000000000000000003FC0000000003FB2 -:10809000C000000000000000000000000000000020 -:1080A00000000000000000000000000000000000D0 -:1080B00000000000000000000000000000000000C0 -:1080C00000000000000000000000000000000000B0 -:1080D00000000000000000000000000000000000A0 -:1080E0000000000000000000000F0030C030C00F92 -:1080F0000000000000000000000000000000000080 -:10810000000000000000000000000000000000006F -:10811000000000000000000000000000000000005F -:10812000000000000000000000000000000000004F -:10813000000000000000000000000000000000003F -:108140000000000000000000001374C0C000F0EC4C -:1081500040000000000000000000000000000000DF -:10816000000000000000000000000000000000000F -:1081700000000000000000000000000000000000FF -:1081800000000000000000000000000000000000EF -:1081900000000000000000000000000000000000DF -:1081A00000000000000000000000000F000F0000B1 -:1081B00000000000000000000000000000000000BF -:1081C00000000000000000000000000000000000AF -:1081D000000000000000000000000000000000009F -:1081E000000000000000000000000000000000008F -:1081F000000000000000000000000000000000007F -:1082000000000000000000000030C00F000F003030 -:10821000C00000000000000000000000000000009E -:10822000000000000000000000000000000000004E -:10823000000000000000000000000000000000003E -:10824000000000000000000000000000000000002E -:10825000000000000000000000000000000000001E -:1082600000000000000000000000003FC03FC00010 -:1082700000000000000000000000000000000000FE -:1082800000000000000000000000000000000000EE -:1082900000000000000000000000000000000000DE -:1082A00000000000000000000000000000000000CE -:1082B00000000000000000000000000000000000BE -:1082C0000000000000000000001986108030823D90 -:1082D000800000000000000000000000000000001E -:1082E000000000000000000000000000000000008E -:1082F000000000000000000000000000000000007E -:10830000000000000000000000000000000000006D -:10831000000000000000000000000000000000005D -:108320000000000000000000000F000F000F000F11 -:10833000000000000000000000000000000000003D -:10834000000000000000000000000000000000002D -:10835000000000000000000000000000000000001D -:10836000000000000000000000000000000000000D -:1083700000000000000000000000000000000000FD -:108380000000000000000000003FC00F000F003F91 -:10839000C00000000000000000000000000000001D -:1083A00000000000000000000000000000000000CD -:1083B00000000000000000000000000000000000BD -:1083C00000000000000000000000000000000000AD -:1083D000000000000000000000000000000000009D -:1083E0000000000000000000000F003FC03FC00F71 -:1083F000000000000000000000000000000000007D -:10840000000000000000000000000000000000006C -:10841000000000000000000000000000000000005C -:10842000000000000000000000000000000000004C -:10843000000000000000000000000000000000003C -:108440000000000000000000376525E48000B088CF -:10845000AB40000000000000000000000000000031 -:10846000000000000000000000000000000000000C -:1084700000000000000000000000000000000000FC -:1084800000000000000000000000000000000000EC -:1084900000000000000000000000000000000000DC -:1084A00000000000000000000000000000000000CC -:1084B00000000000000000000000000000000000BC -:1084C00000000000300020010202000030004300E4 -:1084D000000000000000000000000000000000009C -:1084E000000000000000000000000000000000008C -:1084F000000000000000000000000000000000007C -:10850000000000000000000000000000000000006B -:10851000000000000000000000000000000000005B -:10852000000000000000000000000000000000004B -:10853000000000000000000000000000000000003B -:10854000000000000000000000000000000000002B -:10855000000000000000000000000000000000001B -:10856000000000000000000000000000000000000B -:1085700000000000000000000000000000000000FB -:1085800000000000000000000000000000000000EB -:1085900000000000000000000000000000000000DB -:1085A00000000000000000000000000000000000CB -:1085B00000000000000000000000000000000000BB -:1085C00000000000000000000000000000000000AB -:1085D000000000000000000000000000000000009B -:1085E000000000000000000000000000000000008B -:1085F000000000000000000000000000000000007B -:10860000000000000000000000000000000000006A -:10861000000000000000000000000000000000005A -:10862000000000000000000000000000000000004A -:10863000000000000000000000000000000000003A -:10864000000000000000000000000000000000002A -:10865000000000000000000000000000000000001A -:10866000000000000000000000000000000000000A -:1086700000000000000000000000000000000000FA -:1086800000000000000000000000000000000000EA -:1086900000000000000000000000000000000000DA -:1086A00000000000000000000000000000000000CA -:1086B00000000000000000000000000000000000BA -:1086C00000000000000000000000000000000000AA -:1086D000000000000000000000000000000000009A -:1086E000000000000000000000000000000000008A -:1086F000000000000000000000000000000000007A -:108700000000000000000000000000000000000069 -:108710000000000000000000000000000000000059 -:108720000000000000000000000000000000000049 -:108730000000000000000000000000000000000039 -:108740000000000000000000000000000000000029 -:108750000000000000000000000000000000000019 -:108760000000000000000000000000000000000009 -:1087700000000000000000000000000000000000F9 -:1087800000000000000000000000000000000000E9 -:1087900000000000000000000000000000000000D9 -:1087A00000000000000000000000000000000000C9 -:1087B00000000000000000000000000000000000B9 -:1087C00000000000000000000000000000000000A9 -:1087D0000000000000000000000000000000000099 -:1087E0000000000000000000000000000000000089 -:1087F0000000000000000000000000000000000079 -:108800000000000000000000000000000000000068 -:108810000000000000000000000000000000000058 -:108820000000000000000000000000000000000048 -:108830000000000000000000000000000000000038 -:108840000000000000000000000000000000000028 -:108850000000000000000000000000000000000018 -:108860000000000000000000000000000000000008 -:1088700000000000000000000000000000000000F8 -:1088800000000000000000000000000000000000E8 -:1088900000000000000000000000000000000000D8 -:1088A00000000000000000000000000000000000C8 -:1088B00000000000000000000000000000000000B8 -:1088C00000000000000000000000000000000000A8 -:1088D0000000000000000000000000000000000098 -:1088E0000000000000000000000000000000000088 -:1088F0000000000000000000000000000000000078 -:108900000000000000000000000000000000000067 -:108910000000000000000000000000000000000057 -:108920000000000000000000000000000000000047 -:108930000000000000000000000000000000000037 -:108940000000000000000000000000000000000027 -:108950000000000000000000000000000000000017 -:108960000000000000000000000000000000000007 -:1089700000000000000000000000000000000000F7 -:1089800000000000000000000000000000000000E7 -:1089900000000000000000000000000000000000D7 -:1089A00000000000000000000000000000000000C7 -:1089B00000000000000000000000000000000000B7 -:1089C00000000000000000000000000000000000A7 -:1089D0000000000000000000000000000000000097 -:1089E0000000000000000000000000000000000087 -:1089F0000000000000000000000000000000000077 -:108A00000000000000000000000000000000000066 -:108A10000000000000000000000000000000000056 -:108A20000000000000000000000000000000000046 -:108A30000000000000000000000000000000000036 -:108A40000000000000000000000000000000000026 -:108A50000000000000000000000000000000000016 -:108A60000000000000000000000000000000000006 -:108A700000000000000000000000000000000000F6 -:108A800000000000000000000000000000000000E6 -:108A900000000000000000000000000000000000D6 -:108AA00000000000000000000000000000000000C6 -:108AB00000000000000000000000000000000000B6 -:108AC00000000000000000000000000000000000A6 -:108AD0000000000000000000000000000000000096 -:108AE0000000000000000000000000000000000086 -:108AF0000000000000000000000000000000000076 -:108B00000000000000000000000000000000000065 -:108B10000000000000000000000000000000000055 -:108B20000000000000000000000000000000000045 -:108B30000000000000000000000000000000000035 -:108B40000000000000000000000000000000000025 -:108B50000000000000000000000000000000000015 -:108B60000000000000000000000000000000000005 -:108B700000000000000000000000000000000000F5 -:108B800000000000000000000000000000000000E5 -:108B900000000000000000000000000000000000D5 -:108BA00000000000000000000000000000000000C5 -:108BB00000000000000000000000000000000000B5 -:108BC00000000000000000000000000000000000A5 -:108BD0000000000000000000000000000000000095 -:108BE0000000000000000000000000000000000085 -:108BF0000000000000000000000000000000000075 -:108C00000000000000000000000000000000000064 -:108C10000000000000000000000000000000000054 -:108C20000000000000000000000000000000000044 -:108C30000000000000000000000000000000000034 -:108C40000000000000000000000000000000000024 -:108C50000000000000000000000000000000000014 -:108C60000000000000000000000000000000000004 -:108C700000000000000000000000000000000000F4 -:108C800000000000000000000000000000000000E4 -:108C900000000000000000000000000000000000D4 -:108CA00000000000000000000000000000000000C4 -:108CB00000000000000000000000000000000000B4 -:108CC00000000000000000000000000000000000A4 -:108CD0000000000000000000000000000000000094 -:108CE0000000000000000000000000000000000084 -:108CF0000000000000000000000000000000000074 -:108D00000000000000000000000000000000000063 -:108D10000000000000000000000000000000000053 -:108D20000000000000000000000000000000000043 -:108D30000000000000000000000000000000000033 -:108D40000000000000000000000000000000000023 -:108D50000000000000000000000000000000000013 -:108D60000000000000000000000000000000000003 -:108D700000000000000000000000000000000000F3 -:108D800000000000000000000000000000000000E3 -:108D900000000000000000000000000000000000D3 -:108DA00000000000000000000000000000000000C3 -:108DB00000000000000000000000000000000000B3 -:108DC00000000000000000000000000000000000A3 -:108DD0000000000000000000000000000000000093 -:108DE0000000000000000000000000000000000083 -:108DF0000000000000000000000000000000000073 -:108E00000000000000000000000000000000000062 -:108E10000000000000000000000000000000000052 -:108E20000000000000000000000000000000000042 -:108E30000000000000000000000000000000000032 -:108E40000000000000000000000000000000000022 -:108E50000000000000000000000000000000000012 -:108E60000000000000000000000000000000000002 -:108E700000000000000000000000000000000000F2 -:108E800000000000000000000000000000000000E2 -:108E900000000000000000000000000000000000D2 -:108EA00000000000000000000000000000000000C2 -:108EB00000000000000000000000000000000000B2 -:108EC00000000000000000000000000000000000A2 -:108ED0000000000000000000000000000000000092 -:108EE0000000000000000000000000000000000082 -:108EF0000000000000000000000000000000000072 -:108F00000000000000000000000000000000000061 -:108F10000000000000000000000000000000000051 -:108F20000000000000000000000000000000000041 -:108F30000000000000000000000000000000000031 -:108F40000000000000000000000000000000000021 -:108F50000000000000000000000000000000000011 -:108F60000000000000000000000000000000000001 -:108F700000000000000000000000000000000000F1 -:108F800000000000000000000000000000000000E1 -:108F900000000000000000000000000000000000D1 -:108FA00000000000000000000000000000000000C1 -:108FB00000000000000000000000000000000000B1 -:108FC00000000000000000000000000000000000A1 -:108FD0000000000000000000000000000000000091 -:108FE0000000000000000000000000000000000081 -:108FF0000000000000000000000000000000000071 -:109000000000000000000000000000000000000060 -:109010000000000000000000000000000000000050 -:109020000000000000000000000000000000000040 -:109030000000000000000000000000000000000030 -:109040000000000000000000000000000000000020 -:109050000000000000000000000000000000000010 -:109060000000000000000000000000000000000000 -:1090700000000000000000000000000000000000F0 -:1090800000000000000000000000000000000000E0 -:1090900000000000000000000000000000000000D0 -:1090A00000000000000000000000000000000000C0 -:1090B00000000000000000000000000000000000B0 -:1090C00000000000000000000000000000000000A0 -:1090D00030000001000044723000800100000003F5 -:1090E0003000400C00000000000000000000000004 -:1090F0000000000000000000000000000000000070 -:10910000000000000000000000000000000000005F -:109110000000000030008001000000053000A001C8 -:1091200000000000300000010000E15A00000000D3 -:0C91300000000000000000000000000033 +:10FD700000000000000000000000000030008001D2 +:10FD8000000000053000A00100000000300000016C +:10FD900000006B9700000000000000000000000061 +:04FDA000000000005F :00000001FF // VERSION= 1.0.0.191 // DATE= 2002oct28 diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index adae88f5b0ab..a964f7285600 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -345,6 +345,7 @@ struct sg_mapping_iter { void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl, unsigned int nents, unsigned int flags); +bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset); bool sg_miter_next(struct sg_mapping_iter *miter); void sg_miter_stop(struct sg_mapping_iter *miter); diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h index b8aba196f7f1..efe8d8a7c7ad 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h @@ -134,6 +134,7 @@ struct usb_hcd { unsigned rh_registered:1;/* is root hub registered? */ unsigned rh_pollable:1; /* may we poll the root hub? */ unsigned msix_enabled:1; /* driver has MSI-X enabled? */ + unsigned remove_phy:1; /* auto-remove USB phy */ /* The next flag is a stopgap, to be removed when all the HCDs * support the new root-hub polling mechanism. */ @@ -352,6 +353,8 @@ struct hc_driver { void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); /* Returns the hardware-chosen device address */ int (*address_device)(struct usb_hcd *, struct usb_device *udev); + /* prepares the hardware to send commands to the device */ + int (*enable_device)(struct usb_hcd *, struct usb_device *udev); /* Notifies the HCD after a hub descriptor is fetched. * Will block. */ diff --git a/include/linux/uwb/umc.h b/include/linux/uwb/umc.h index 891d1d5f3947..ba82f03d8287 100644 --- a/include/linux/uwb/umc.h +++ b/include/linux/uwb/umc.h @@ -143,7 +143,7 @@ int umc_match_pci_id(struct umc_driver *umc_drv, struct umc_dev *umc); static inline struct pci_dev *umc_parent_pci_dev(struct umc_dev *umc_dev) { struct pci_dev *pci_dev = NULL; - if (umc_dev->dev.parent->bus == &pci_bus_type) + if (dev_is_pci(umc_dev->dev.parent)) pci_dev = to_pci_dev(umc_dev->dev.parent); return pci_dev; } diff --git a/lib/scatterlist.c b/lib/scatterlist.c index d16fa295ae1d..3a8e8e8fb2a5 100644 --- a/lib/scatterlist.c +++ b/lib/scatterlist.c @@ -495,7 +495,7 @@ static bool sg_miter_get_next_page(struct sg_mapping_iter *miter) * true if @miter contains the valid mapping. false if end of sg * list is reached. */ -static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset) +bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset) { sg_miter_stop(miter); @@ -513,6 +513,7 @@ static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset) return true; } +EXPORT_SYMBOL(sg_miter_skip); /** * sg_miter_next - proceed mapping iterator to the next mapping |