From 34f6c9c3088b13884567429e3c2ceb08d2235b5b Mon Sep 17 00:00:00 2001 From: Howard Yen Date: Fri, 23 Jul 2021 18:56:32 +0800 Subject: [PATCH 1/2] ANDROID: usb: host: fix slab-out-of-bounds in xhci_vendor_get_ops slab-out-of-bounds happens if the xhci platform drivers don't define the extra_priv_size in their xhci_driver_overrides structure. Move xhci_vendor_ops structure to xhci main structure to avoid extra_priv_size affacts xhci_vendor_get_ops which causes the slab-out-of-bounds error. Bug: 194461020 Test: build and boot pass Change-Id: Id17fdfbfd3e8edcc89a05c9c2f553ffab494215e Signed-off-by: Howard Yen Signed-off-by: Greg Kroah-Hartman --- drivers/usb/host/xhci-plat.c | 8 +++----- drivers/usb/host/xhci-plat.h | 1 - drivers/usb/host/xhci.c | 3 +-- drivers/usb/host/xhci.h | 4 +++- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index ea5e34b49df3..21280a6d589e 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -199,11 +199,10 @@ EXPORT_SYMBOL_GPL(xhci_plat_register_vendor_ops); static int xhci_vendor_init(struct xhci_hcd *xhci) { - struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); - struct xhci_plat_priv *priv = xhci_to_priv(xhci); + struct xhci_vendor_ops *ops = NULL; if (xhci_plat_vendor_overwrite.vendor_ops) - ops = priv->vendor_ops = xhci_plat_vendor_overwrite.vendor_ops; + ops = xhci->vendor_ops = xhci_plat_vendor_overwrite.vendor_ops; if (ops && ops->vendor_init) return ops->vendor_init(xhci); @@ -213,12 +212,11 @@ static int xhci_vendor_init(struct xhci_hcd *xhci) static void xhci_vendor_cleanup(struct xhci_hcd *xhci) { struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); - struct xhci_plat_priv *priv = xhci_to_priv(xhci); if (ops && ops->vendor_cleanup) ops->vendor_cleanup(xhci); - priv->vendor_ops = NULL; + xhci->vendor_ops = NULL; } static int xhci_plat_probe(struct platform_device *pdev) diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h index 5b096f72636f..e726a572321d 100644 --- a/drivers/usb/host/xhci-plat.h +++ b/drivers/usb/host/xhci-plat.h @@ -13,7 +13,6 @@ struct xhci_plat_priv { const char *firmware_name; unsigned long long quirks; - struct xhci_vendor_ops *vendor_ops; struct xhci_vendor_data *vendor_data; int (*plat_setup)(struct usb_hcd *); void (*plat_start)(struct usb_hcd *); diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index dabc8a8cd7be..cd2d7caf248a 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -22,7 +22,6 @@ #include "xhci-trace.h" #include "xhci-debugfs.h" #include "xhci-dbgcap.h" -#include "xhci-plat.h" #define DRIVER_AUTHOR "Sarah Sharp" #define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver" @@ -4317,7 +4316,7 @@ static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci, struct xhci_vendor_ops *xhci_vendor_get_ops(struct xhci_hcd *xhci) { - return xhci_to_priv(xhci)->vendor_ops; + return xhci->vendor_ops; } EXPORT_SYMBOL_GPL(xhci_vendor_get_ops); diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 64a658aae707..29327c567084 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1928,7 +1928,9 @@ struct xhci_hcd { void *dbc; - ANDROID_KABI_RESERVE(1); + /* Used for bug 194461020 */ + ANDROID_KABI_USE(1, struct xhci_vendor_ops *vendor_ops); + ANDROID_KABI_RESERVE(2); ANDROID_KABI_RESERVE(3); ANDROID_KABI_RESERVE(4); From 43223c8e15a124421b9a8b82ea3f40c6951b0705 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 4 Aug 2021 09:51:24 +0200 Subject: [PATCH 2/2] ANDROID: GKI: update .xml file after xhci bugfix Due to the xhci bugfix, the abi .xml has to be updated as one of the reserved fields for padding was needed to be used. Leaf changes summary: 1 artifact changed (1 filtered out) Changed leaf types summary: 1 (1 filtered out) leaf types changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 'struct xhci_hcd at xhci.h:1753:1' changed: type size hasn't changed 1 data member insertion: 'union {xhci_vendor_ops* vendor_ops; struct {u64 android_kabi_reserved1;} __UNIQUE_ID_android_kabi_hide321; union {};}', at offset 59392 (in bits) at xhci.h:1932:1 there are data member changes: data member u64 android_kabi_reserved1 at offset 59392 (in bits) became anonymous data member 'union {xhci_vendor_ops* vendor_ops; struct {u64 android_kabi_reserved1;} __UNIQUE_ID_android_kabi_hide315; union {};}' 18 impacted interfaces Bug: 194461020 Signed-off-by: Greg Kroah-Hartman Change-Id: I9ed5203273a951d00d7e6bc5db159411c6db0a58 --- android/abi_gki_aarch64.xml | 10145 +++++++++++++++++----------------- 1 file changed, 5149 insertions(+), 4996 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 99b5cf9027fa..de64133c85e6 100755 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -7703,9 +7703,9 @@ - - - + + + @@ -7718,6 +7718,7 @@ + @@ -7799,6 +7800,7 @@ + @@ -8204,14 +8206,7 @@ - - - - - - - - + @@ -8219,6 +8214,13 @@ + + + + + + + @@ -10530,7 +10532,6 @@ - @@ -10864,8 +10865,8 @@ - - + + @@ -12845,6 +12846,11 @@ + + + + + @@ -13606,6 +13612,12 @@ + + + + + + @@ -14074,9 +14086,6 @@ - - - @@ -14271,29 +14280,7 @@ - - - - - - - - - - - - - - - - - - - - - - - + @@ -16641,42 +16628,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -17111,6 +17098,7 @@ + @@ -17482,7 +17470,11 @@ - + + + + + @@ -18429,6 +18421,7 @@ + @@ -18495,6 +18488,7 @@ + @@ -19921,7 +19915,6 @@ - @@ -20662,11 +20655,6 @@ - - - - - @@ -22640,7 +22628,7 @@ - + @@ -22844,7 +22832,6 @@ - @@ -23792,7 +23779,7 @@ - + @@ -23886,11 +23873,6 @@ - - - - - @@ -24140,6 +24122,7 @@ + @@ -24217,7 +24200,7 @@ - + @@ -24274,7 +24257,6 @@ - @@ -24625,7 +24607,6 @@ - @@ -26181,6 +26162,7 @@ + @@ -29841,9 +29823,9 @@ - - - + + + @@ -30595,6 +30577,17 @@ + + + + + + + + + + + @@ -30716,6 +30709,7 @@ + @@ -30966,68 +30960,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -31528,6 +31461,7 @@ + @@ -31886,7 +31820,6 @@ - @@ -35251,6 +35184,7 @@ + @@ -35444,6 +35378,7 @@ + @@ -35500,7 +35435,7 @@ - + @@ -36232,8 +36167,8 @@ - - + + @@ -37441,9 +37376,9 @@ - - - + + + @@ -37948,7 +37883,6 @@ - @@ -41337,6 +41271,11 @@ + + + + + @@ -41880,6 +41819,7 @@ + @@ -42620,21 +42560,21 @@ - + - + - + - + - + - + @@ -44335,7 +44275,7 @@ - + @@ -44978,35 +44918,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -45567,14 +45479,7 @@ - - - - - - - - + @@ -46220,6 +46125,11 @@ + + + + + @@ -46611,7 +46521,7 @@ - + @@ -47526,7 +47436,6 @@ - @@ -48446,7 +48355,7 @@ - + @@ -49288,6 +49197,7 @@ + @@ -49734,7 +49644,6 @@ - @@ -50320,23 +50229,7 @@ - - - - - - - - - - - - - - - - - + @@ -51532,9 +51425,9 @@ - - - + + + @@ -52254,7 +52147,6 @@ - @@ -52838,7 +52730,7 @@ - + @@ -53058,10 +52950,8 @@ - - - - + + @@ -53270,7 +53160,7 @@ - + @@ -54618,36 +54508,36 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -55403,11 +55293,6 @@ - - - - - @@ -55933,6 +55818,11 @@ + + + + + @@ -57126,7 +57016,44 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -57801,7 +57728,7 @@ - + @@ -60047,17 +59974,7 @@ - - - - - - - - - - - + @@ -61099,7 +61016,7 @@ - + @@ -61583,10 +61500,10 @@ - - - - + + + + @@ -61636,12 +61553,6 @@ - - - - - - @@ -61901,7 +61812,6 @@ - @@ -63812,6 +63722,11 @@ + + + + + @@ -64245,7 +64160,7 @@ - + @@ -65810,7 +65725,7 @@ - + @@ -66281,7 +66196,6 @@ - @@ -67438,7 +67352,7 @@ - + @@ -67772,7 +67686,14 @@ - + + + + + + + + @@ -68576,8 +68497,8 @@ - - + + @@ -68696,6 +68617,7 @@ + @@ -69320,8 +69242,8 @@ - - + + @@ -69393,7 +69315,6 @@ - @@ -69496,26 +69417,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -69566,7 +69467,38 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -69677,7 +69609,7 @@ - + @@ -71860,6 +71792,17 @@ + + + + + + + + + + + @@ -72249,6 +72192,7 @@ + @@ -73643,11 +73587,11 @@ - + - + @@ -74687,12 +74631,12 @@ - - - - - - + + + + + + @@ -75976,7 +75920,6 @@ - @@ -76214,6 +76157,7 @@ + @@ -76422,14 +76366,7 @@ - - - - - - - - + @@ -76929,7 +76866,6 @@ - @@ -77236,19 +77172,243 @@ - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -77517,7 +77677,6 @@ - @@ -77590,9 +77749,6 @@ - - - @@ -77609,6 +77765,11 @@ + + + + + @@ -78085,7 +78246,7 @@ - + @@ -81072,7 +81233,6 @@ - @@ -81691,7 +81851,7 @@ - + @@ -82196,7 +82356,6 @@ - @@ -82340,9 +82499,9 @@ - - - + + + @@ -82810,7 +82969,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -82835,7 +83013,7 @@ - + @@ -82860,7 +83038,6 @@ - @@ -82899,7 +83076,6 @@ - @@ -84212,7 +84388,7 @@ - + @@ -84842,8 +85018,8 @@ - - + + @@ -86062,14 +86238,6 @@ - - - - - - - - @@ -86504,20 +86672,7 @@ - - - - - - - - - - - - - - + @@ -87074,7 +87229,7 @@ - + @@ -87449,7 +87604,6 @@ - @@ -87586,7 +87740,7 @@ - + @@ -90297,7 +90451,7 @@ - + @@ -90841,7 +90995,7 @@ - + @@ -91279,7 +91433,7 @@ - + @@ -91976,6 +92130,9 @@ + + + @@ -93190,7 +93347,6 @@ - @@ -93465,8 +93621,8 @@ - - + + @@ -93662,8 +93818,8 @@ - - + + @@ -94782,7 +94938,6 @@ - @@ -95726,14 +95881,7 @@ - - - - - - - - + @@ -96786,6 +96934,9 @@ + + + @@ -96810,7 +96961,7 @@ - + @@ -96951,8 +97102,8 @@ - - + + @@ -97552,6 +97703,7 @@ + @@ -97820,7 +97972,6 @@ - @@ -98299,20 +98450,7 @@ - - - - - - - - - - - - - - + @@ -101589,7 +101727,6 @@ - @@ -101648,7 +101785,20 @@ - + + + + + + + + + + + + + + @@ -101983,7 +102133,6 @@ - @@ -105273,7 +105422,7 @@ - + @@ -105813,6 +105962,11 @@ + + + + + @@ -106133,7 +106287,6 @@ - @@ -107921,6 +108074,7 @@ + @@ -108039,8 +108193,8 @@ - - + + @@ -108541,7 +108695,6 @@ - @@ -111314,38 +111467,38 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + @@ -111355,32 +111508,32 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - + + @@ -111399,8 +111552,8 @@ - - + + @@ -111416,57 +111569,57 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + @@ -111477,16 +111630,16 @@ - - + + - - + + @@ -111505,12 +111658,12 @@ - - - - - - + + + + + + @@ -111527,9 +111680,9 @@ - - - + + + @@ -111545,33 +111698,33 @@ - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + @@ -111584,22 +111737,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -111673,13 +111826,13 @@ - - - - - - - + + + + + + + @@ -111688,29 +111841,29 @@ - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -111752,11 +111905,11 @@ - - - - - + + + + + @@ -111773,14 +111926,14 @@ - - + + - - - - + + + + @@ -111803,27 +111956,27 @@ - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + @@ -111873,21 +112026,21 @@ - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -111928,18 +112081,18 @@ - - + + - - - + + + - - - + + + @@ -111972,17 +112125,17 @@ - - - - + + + + - - - - - + + + + + @@ -111993,53 +112146,53 @@ - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - - + + + + - - + + - - + + - - + + - - - - - + + + + + @@ -112048,49 +112201,49 @@ - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -112100,10 +112253,10 @@ - - - - + + + + @@ -112147,17 +112300,17 @@ - - + + - - + + - - - + + + @@ -112188,10 +112341,10 @@ - - - - + + + + @@ -112223,13 +112376,13 @@ - - - + + + - - + + @@ -112260,8 +112413,8 @@ - - + + @@ -112270,8 +112423,8 @@ - - + + @@ -112293,8 +112446,8 @@ - - + + @@ -112341,8 +112494,8 @@ - - + + @@ -112364,10 +112517,10 @@ - - - - + + + + @@ -112403,9 +112556,9 @@ - - - + + + @@ -112539,16 +112692,16 @@ - - + + - - + + @@ -112571,53 +112724,53 @@ - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -112635,9 +112788,9 @@ - - - + + + @@ -112685,67 +112838,67 @@ - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -112761,16 +112914,16 @@ - - + + - - - - - - + + + + + + @@ -112791,28 +112944,28 @@ - - + + - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -112822,8 +112975,8 @@ - - + + @@ -112836,8 +112989,8 @@ - - + + @@ -112907,9 +113060,9 @@ - - - + + + @@ -112924,19 +113077,19 @@ - - - + + + - - - + + + - - - + + + @@ -113012,14 +113165,14 @@ - - - + + + - - - + + + @@ -113028,75 +113181,75 @@ - - - + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -113104,34 +113257,34 @@ - - - + + + - - + + - - + + - - - + + + - - + + @@ -113223,8 +113376,8 @@ - - + + @@ -113307,28 +113460,28 @@ - - - + + + - - + + - - - - - + + + + + @@ -113343,11 +113496,11 @@ - - - - - + + + + + @@ -113359,11 +113512,11 @@ - - - - - + + + + + @@ -113382,8 +113535,8 @@ - - + + @@ -113420,10 +113573,10 @@ - - - - + + + + @@ -113461,22 +113614,22 @@ - - + + - - - - + + + + - - + + - - + + @@ -113503,22 +113656,22 @@ - - + + - - - - + + + + - - - + + + @@ -113579,8 +113732,8 @@ - - + + @@ -113591,18 +113744,18 @@ - - + + - - - + + + - - - + + + @@ -113614,8 +113767,8 @@ - - + + @@ -113631,9 +113784,9 @@ - - - + + + @@ -113666,12 +113819,12 @@ - - + + - - + + @@ -113682,23 +113835,23 @@ - - + + - - - + + + - - - - + + + + @@ -113713,9 +113866,9 @@ - - - + + + @@ -113726,8 +113879,8 @@ - - + + @@ -113747,47 +113900,47 @@ - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - + - - - - - + + + + + @@ -113826,12 +113979,12 @@ - - + + - - + + @@ -113860,10 +114013,10 @@ - - - - + + + + @@ -113918,42 +114071,42 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + @@ -113988,10 +114141,10 @@ - - - - + + + + @@ -113999,9 +114152,9 @@ - - - + + + @@ -114011,7 +114164,7 @@ - + @@ -114022,8 +114175,8 @@ - - + + @@ -114040,22 +114193,22 @@ - - + + - - - + + + - - - + + + @@ -114105,11 +114258,11 @@ - - - - - + + + + + @@ -114117,44 +114270,44 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -114169,8 +114322,8 @@ - - + + @@ -114191,18 +114344,18 @@ - - - + + + - - - + + + @@ -114227,11 +114380,11 @@ - - - - - + + + + + @@ -114241,8 +114394,8 @@ - - + + @@ -114258,18 +114411,18 @@ - - + + - - + + - - - - + + + + @@ -114300,8 +114453,8 @@ - - + + @@ -114310,7 +114463,7 @@ - + @@ -114341,11 +114494,11 @@ - - - - - + + + + + @@ -114355,25 +114508,25 @@ - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -114410,11 +114563,11 @@ - - - - - + + + + + @@ -114424,11 +114577,11 @@ - - - - - + + + + + @@ -114460,9 +114613,9 @@ - - - + + + @@ -114473,8 +114626,8 @@ - - + + @@ -114484,9 +114637,9 @@ - - - + + + @@ -114495,11 +114648,11 @@ - - - - - + + + + + @@ -114512,16 +114665,16 @@ - - + + - - + + - - + + @@ -114532,8 +114685,8 @@ - - + + @@ -114569,49 +114722,49 @@ - - + + - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -114633,9 +114786,9 @@ - - - + + + @@ -114648,9 +114801,9 @@ - - - + + + @@ -114672,10 +114825,10 @@ - - - - + + + + @@ -114706,15 +114859,15 @@ - - - - + + + + - - - + + + @@ -114734,8 +114887,8 @@ - - + + @@ -114751,8 +114904,8 @@ - - + + @@ -114760,13 +114913,13 @@ - - + + - - - + + + @@ -114777,9 +114930,9 @@ - - - + + + @@ -114796,16 +114949,16 @@ - - + + - - + + @@ -114817,9 +114970,9 @@ - - - + + + @@ -114904,9 +115057,9 @@ - - - + + + @@ -114914,17 +115067,17 @@ - - - - + + + + - - - - + + + + @@ -114937,9 +115090,9 @@ - - - + + + @@ -114960,11 +115113,11 @@ - - - - - + + + + + @@ -115012,20 +115165,20 @@ - - + + - - + + - - + + @@ -115038,8 +115191,8 @@ - - + + @@ -115061,12 +115214,12 @@ - - - - - - + + + + + + @@ -115075,40 +115228,40 @@ - - - + + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -115143,28 +115296,28 @@ - - - + + + - - + + - - - - + + + + - - - + + + @@ -115182,10 +115335,10 @@ - - - - + + + + @@ -115207,11 +115360,11 @@ - - - - - + + + + + @@ -115234,15 +115387,15 @@ - - - + + + - - - - + + + + @@ -115259,14 +115412,14 @@ - - - + + + - - - + + + @@ -115295,22 +115448,22 @@ - - + + - - + + - - - - + + + + @@ -115333,10 +115486,10 @@ - - - - + + + + @@ -115344,15 +115497,15 @@ - - - - + + + + - - - + + + @@ -115444,11 +115597,11 @@ - - - - - + + + + + @@ -115607,29 +115760,29 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -115639,10 +115792,10 @@ - - - - + + + + @@ -115681,14 +115834,14 @@ - - - - - - - - + + + + + + + + @@ -115701,9 +115854,9 @@ - - - + + + @@ -115730,8 +115883,8 @@ - - + + @@ -115788,14 +115941,14 @@ - - - + + + - - - + + + @@ -115803,10 +115956,10 @@ - - - - + + + + @@ -115851,15 +116004,15 @@ - - - - + + + + - - - + + + @@ -115952,16 +116105,16 @@ - - - + + + - - - - - + + + + + @@ -116011,46 +116164,46 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - + + @@ -116145,9 +116298,9 @@ - - - + + + @@ -116169,17 +116322,17 @@ - - + + - - - + + + - - + + @@ -116187,15 +116340,15 @@ - - - + + + - - - - + + + + @@ -116206,34 +116359,34 @@ - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + @@ -116245,9 +116398,9 @@ - - - + + + @@ -116255,8 +116408,8 @@ - - + + @@ -116267,15 +116420,15 @@ - + - - - - - - + + + + + + @@ -116287,13 +116440,13 @@ - - - - + + + + - - + + @@ -116313,10 +116466,10 @@ - - - - + + + + @@ -116466,46 +116619,46 @@ - - - + + + - - - + + + - - + + - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -116634,8 +116787,8 @@ - - + + @@ -116664,16 +116817,16 @@ - - + + - - + + - - + + @@ -116685,16 +116838,16 @@ - - + + - - + + @@ -116710,9 +116863,9 @@ - - - + + + @@ -116722,62 +116875,62 @@ - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -116790,14 +116943,14 @@ - - - + + + - - - + + + @@ -116823,13 +116976,13 @@ - - - - - - - + + + + + + + @@ -117049,62 +117202,62 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + @@ -117120,15 +117273,15 @@ - - + + - - - - - + + + + + @@ -117139,10 +117292,10 @@ - - - - + + + + @@ -117158,13 +117311,13 @@ - - + + - - - + + + @@ -117196,13 +117349,13 @@ - - - + + + - - + + @@ -117210,19 +117363,19 @@ - - - - - + + + + + - - - - - - + + + + + + @@ -117230,16 +117383,16 @@ - - + + - - + + - - + + @@ -117247,17 +117400,17 @@ - - + + - - + + - - - + + + @@ -117304,19 +117457,19 @@ - - - - - - - + + + + + + + - - - + + + @@ -117324,17 +117477,17 @@ - - - + + + - - + + @@ -117352,20 +117505,20 @@ - - + + - - + + - - + + @@ -117378,44 +117531,44 @@ - - - - - + + + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -117684,17 +117837,17 @@ - - + + - - - + + + @@ -117710,12 +117863,12 @@ - - - - - - + + + + + + @@ -117767,20 +117920,20 @@ - - + + - - - - + + + + - - - - + + + + @@ -117893,10 +118046,10 @@ - - - - + + + + @@ -117941,9 +118094,9 @@ - - - + + + @@ -118068,19 +118221,19 @@ - - - + + + - - - + + + - - - + + + @@ -118152,8 +118305,8 @@ - - + + @@ -118175,9 +118328,9 @@ - - - + + + @@ -118205,8 +118358,8 @@ - - + + @@ -118221,24 +118374,24 @@ - - + + - - - + + + - - - - + + + + - - - + + + @@ -118253,9 +118406,9 @@ - - - + + + @@ -118263,18 +118416,18 @@ - - + + - - - + + + - - - + + + @@ -118287,9 +118440,9 @@ - - - + + + @@ -118310,89 +118463,89 @@ - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + @@ -118421,17 +118574,17 @@ - - + + - - + + - - - + + + @@ -118441,20 +118594,20 @@ - - + + - - + + - - + + @@ -118511,9 +118664,9 @@ - - - + + + @@ -118521,52 +118674,52 @@ - - + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -118582,10 +118735,10 @@ - - - - + + + + @@ -118599,30 +118752,30 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + @@ -118634,8 +118787,8 @@ - - + + @@ -118711,20 +118864,20 @@ - - + + - - - - - - - - - - + + + + + + + + + + @@ -118733,19 +118886,19 @@ - - - + + + - - - - + + + + - - - + + + @@ -118772,24 +118925,24 @@ - - - - + + + + - - + + - - - - + + + + @@ -118962,8 +119115,8 @@ - - + + @@ -118977,13 +119130,13 @@ - - + + - - - + + + @@ -119022,14 +119175,14 @@ - - - + + + - - - + + + @@ -119037,22 +119190,22 @@ - - - - + + + + - - + + - - - + + + @@ -119066,50 +119219,50 @@ - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - + + @@ -119119,15 +119272,15 @@ - - - + + + - - - - + + + + @@ -119149,27 +119302,27 @@ - - - - + + + + - - - - - + + + + + - - - + + + - - + + @@ -119178,9 +119331,9 @@ - - - + + + @@ -119189,30 +119342,30 @@ - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -119228,22 +119381,22 @@ - - + + - - - + + + - - + + - - - + + + @@ -119260,8 +119413,8 @@ - - + + @@ -119276,8 +119429,8 @@ - - + + @@ -119325,18 +119478,18 @@ - - - + + + - - + + - - - + + + @@ -119344,18 +119497,18 @@ - - + + - - - + + + - - - + + + @@ -119413,8 +119566,8 @@ - - + + @@ -119433,8 +119586,8 @@ - - + + @@ -119477,12 +119630,12 @@ - - + + - - + + @@ -119519,35 +119672,35 @@ - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + @@ -119559,13 +119712,13 @@ - - - + + + - - + + @@ -119602,33 +119755,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + @@ -119644,8 +119797,8 @@ - - + + @@ -119672,12 +119825,12 @@ - - + + - - + + @@ -119688,28 +119841,28 @@ - - - - - - - + + + + + + + - - + + - - - - - + + + + + @@ -119721,8 +119874,8 @@ - - + + @@ -119748,8 +119901,8 @@ - - + + @@ -119759,20 +119912,20 @@ - - + + - + - - - + + + @@ -119786,38 +119939,38 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + @@ -119827,13 +119980,13 @@ - - + + - - - + + + @@ -119847,41 +120000,41 @@ - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + @@ -119891,8 +120044,8 @@ - - + + @@ -119904,18 +120057,18 @@ - - + + - - - - + + + + @@ -119939,19 +120092,19 @@ - - - + + + - - - + + + - - - + + + @@ -119964,34 +120117,34 @@ - - - + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + @@ -120019,9 +120172,9 @@ - - - + + + @@ -120030,13 +120183,13 @@ - - + + - - - + + + @@ -120132,13 +120285,13 @@ - - - + + + - - + + @@ -120183,27 +120336,27 @@ - - + + - + - - - + + + - - + + - - + + @@ -120232,38 +120385,38 @@ - - - - + + + + - - - - - - - - + + + + + + + + - - + + - - + + - + - - + + @@ -120274,38 +120427,38 @@ - - - - + + + + - - + + - - - + + + - - + + - - - - - + + + + + - - - - + + + + @@ -120319,28 +120472,28 @@ - - - - - + + + + + - - + + - - - - - + + + + + - - - - + + + + @@ -120362,18 +120515,18 @@ - - + + - - + + - - + + @@ -120392,12 +120545,12 @@ - - + + - - + + @@ -120434,9 +120587,9 @@ - - - + + + @@ -120471,81 +120624,81 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -120670,12 +120823,12 @@ - - + + - - + + @@ -120718,14 +120871,14 @@ - - + + - - - - + + + + @@ -120746,36 +120899,36 @@ - - - - - + + + + + - - + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -120786,39 +120939,39 @@ - - + + - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - + + + + @@ -120844,14 +120997,14 @@ - - + + - - - - + + + + @@ -120868,8 +121021,8 @@ - - + + @@ -120942,14 +121095,14 @@ - - - - - - - - + + + + + + + + @@ -120980,9 +121133,9 @@ - - - + + + @@ -121002,18 +121155,18 @@ - - - - + + + + - - - + + + @@ -121021,18 +121174,18 @@ - - - - - - + + + + + + - - - + + + @@ -121042,8 +121195,8 @@ - - + + @@ -121058,8 +121211,8 @@ - - + + @@ -121074,8 +121227,8 @@ - - + + @@ -121108,20 +121261,20 @@ - - + + - - + + - - + + @@ -121148,12 +121301,12 @@ - - + + - - + + @@ -121161,34 +121314,34 @@ - - + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -121270,9 +121423,9 @@ - - - + + + @@ -121433,21 +121586,21 @@ - - - + + + - - + + - - - - - - + + + + + + @@ -121455,40 +121608,40 @@ - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - - - - + + + + + @@ -121518,8 +121671,8 @@ - - + + @@ -121605,13 +121758,13 @@ - - - + + + - - + + @@ -121622,15 +121775,15 @@ - - - - - - - - - + + + + + + + + + @@ -121666,9 +121819,9 @@ - - - + + + @@ -121680,21 +121833,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -121707,10 +121860,10 @@ - - - - + + + + @@ -121718,11 +121871,11 @@ - - - - - + + + + + @@ -121745,10 +121898,10 @@ - - - - + + + + @@ -121761,20 +121914,20 @@ - - - + + + - - - - + + + + - + - - + + @@ -121784,9 +121937,9 @@ - - - + + + @@ -121821,14 +121974,14 @@ - - - + + + - - + + @@ -121904,8 +122057,8 @@ - - + + @@ -121915,66 +122068,66 @@ - - + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - + + - - + + - + - - - - + + + + @@ -121994,21 +122147,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -122019,23 +122172,23 @@ - - - - - - - - + + + + + + + + - - + + - - - + + + @@ -122044,10 +122197,10 @@ - - - - + + + + @@ -122079,46 +122232,46 @@ - - - - + + + + - - - + + + - - + + - - + + - - - + + + - - - - - + + + + + - - + + - - - + + + @@ -122127,31 +122280,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -122160,23 +122313,23 @@ - - - + + + - - - + + + - - - + + + @@ -122184,34 +122337,34 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - + + + + + @@ -122221,10 +122374,10 @@ - - - - + + + + @@ -122240,10 +122393,10 @@ - - - - + + + + @@ -122253,10 +122406,10 @@ - - - - + + + + @@ -122266,37 +122419,37 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -122307,9 +122460,9 @@ - - - + + + @@ -122320,11 +122473,11 @@ - - - - - + + + + + @@ -122356,11 +122509,11 @@ - - + + - + @@ -122377,15 +122530,15 @@ - - + + - - + + - - + + @@ -122405,8 +122558,8 @@ - - + + @@ -122416,8 +122569,8 @@ - - + + @@ -122429,8 +122582,8 @@ - - + + @@ -122444,18 +122597,18 @@ - - - + + + - - - - + + + + - - + + @@ -122463,10 +122616,10 @@ - - - - + + + + @@ -122479,14 +122632,14 @@ - - - - + + + + - - + + @@ -122517,22 +122670,22 @@ - - - + + + - - - + + + - - + + @@ -122543,29 +122696,29 @@ - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -122584,11 +122737,11 @@ - - - - - + + + + + @@ -122596,8 +122749,8 @@ - - + + @@ -122615,11 +122768,11 @@ - - - - - + + + + + @@ -122647,21 +122800,21 @@ - - - + + + - - - - + + + + - - - - + + + + @@ -122674,9 +122827,9 @@ - - - + + + @@ -122687,31 +122840,31 @@ - - + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -122720,8 +122873,8 @@ - - + + @@ -122819,12 +122972,12 @@ - - + + - - - + + + @@ -122833,17 +122986,17 @@ - - - + + + - - - + + + - + @@ -122854,9 +123007,9 @@ - - - + + + @@ -122921,10 +123074,10 @@ - - - - + + + + @@ -122952,13 +123105,13 @@ - - - - - - - + + + + + + + @@ -123105,12 +123258,12 @@ - - + + - - + + @@ -123122,11 +123275,11 @@ - - - - - + + + + + @@ -123167,8 +123320,8 @@ - - + + @@ -123221,8 +123374,8 @@ - - + + @@ -123234,9 +123387,9 @@ - - - + + + @@ -123247,23 +123400,23 @@ - - - - - - + + + + + + - - + + - - - - - + + + + + @@ -123320,8 +123473,8 @@ - - + + @@ -123336,9 +123489,9 @@ - - - + + + @@ -123380,8 +123533,8 @@ - - + + @@ -123434,51 +123587,51 @@ - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + @@ -123486,18 +123639,18 @@ - - - - + + + + - - + + @@ -123505,14 +123658,14 @@ - - - - + + + + - - - + + + @@ -123543,17 +123696,17 @@ - - + + - - - + + + @@ -123563,9 +123716,9 @@ - - - + + + @@ -123607,12 +123760,12 @@ - - + + - - + + @@ -123626,67 +123779,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + @@ -123694,12 +123847,12 @@ - - + + - - + + @@ -123710,53 +123863,53 @@ - - - - + + + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + - - - - + + + + - - - - + + + + @@ -123777,11 +123930,11 @@ - - - - - + + + + + @@ -123798,24 +123951,24 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + @@ -123850,12 +124003,12 @@ - - + + - - + + @@ -123880,18 +124033,18 @@ - - - + + + - - + + - - - + + + @@ -123915,18 +124068,18 @@ - - - - - + + + + + - - - - - + + + + + @@ -123937,19 +124090,19 @@ - - - - + + + + - - + + - - - + + + @@ -123968,14 +124121,14 @@ - - - + + + - - - + + + @@ -124001,9 +124154,9 @@ - - - + + + @@ -124016,14 +124169,14 @@ - - - - + + + + - - + + @@ -124041,39 +124194,39 @@ - - + + - - - + + + - - - - - + + + + + - - - + + + - - - - - + + + + + @@ -124086,9 +124239,9 @@ - - - + + + @@ -124107,14 +124260,14 @@ - - - - + + + + - - + + @@ -124125,44 +124278,44 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -124185,16 +124338,16 @@ - - - - - - + + + + + + - - - + + + @@ -124202,9 +124355,9 @@ - - - + + + @@ -124231,28 +124384,28 @@ - - - + + + - - - + + + - - + + - - + + - - - - + + + + @@ -124277,9 +124430,9 @@ - - - + + + @@ -124295,32 +124448,32 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -124329,9 +124482,9 @@ - - - + + + @@ -124339,112 +124492,112 @@ - - - + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + @@ -124464,8 +124617,8 @@ - - + + @@ -124479,61 +124632,61 @@ - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + @@ -124551,12 +124704,12 @@ - - - - - - + + + + + + @@ -124567,12 +124720,12 @@ - - - - - - + + + + + + @@ -124580,9 +124733,9 @@ - - - + + + @@ -124595,15 +124748,15 @@ - - + + - - - - - + + + + + @@ -124620,10 +124773,10 @@ - - - - + + + + @@ -124633,10 +124786,10 @@ - - - - + + + + @@ -124655,8 +124808,8 @@ - - + + @@ -124667,8 +124820,8 @@ - - + + @@ -124775,25 +124928,25 @@ - - + + - - - - - - + + + + + + - - - + + + - - + + @@ -124814,8 +124967,8 @@ - - + + @@ -124830,12 +124983,12 @@ - - + + - - + + @@ -124913,19 +125066,19 @@ - - - + + + - - - + + + - - - + + + @@ -124940,8 +125093,8 @@ - - + + @@ -124972,9 +125125,9 @@ - - - + + + @@ -125004,14 +125157,14 @@ - - - + + + - - - + + + @@ -125024,9 +125177,9 @@ - - - + + + @@ -125034,10 +125187,10 @@ - - - - + + + + @@ -125048,12 +125201,12 @@ - - + + - - + + @@ -125074,9 +125227,9 @@ - - - + + + @@ -125088,9 +125241,9 @@ - - - + + + @@ -125130,8 +125283,8 @@ - - + + @@ -125164,9 +125317,9 @@ - - - + + + @@ -125182,10 +125335,10 @@ - - - - + + + + @@ -125206,10 +125359,10 @@ - - - - + + + + @@ -125242,17 +125395,17 @@ - - + + - - - + + + @@ -125266,40 +125419,40 @@ - - + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - + + @@ -125321,20 +125474,20 @@ - - - - - - + + + + + + - - + + - - + + @@ -125342,21 +125495,21 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -125367,7 +125520,7 @@ - + @@ -125386,21 +125539,21 @@ - - - - + + + + - - - - - - - - - + + + + + + + + + @@ -125427,8 +125580,8 @@ - - + + @@ -125437,9 +125590,9 @@ - - - + + + @@ -125447,23 +125600,23 @@ - - - + + + - - - + + + - - - + + + @@ -125480,27 +125633,27 @@ - - + + - - - + + + - - - - + + + + @@ -125542,20 +125695,20 @@ - - + + - - + + - - + + @@ -125593,14 +125746,14 @@ - - - - + + + + - - - + + + @@ -125761,8 +125914,8 @@ - - + + @@ -125782,29 +125935,29 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -125816,14 +125969,14 @@ - - - + + + - - - + + + @@ -125836,16 +125989,16 @@ - - - - + + + + - - - - + + + + @@ -125882,12 +126035,12 @@ - - + + - - + + @@ -125928,24 +126081,24 @@ - - + + - - + + - - + + - - + + @@ -125965,13 +126118,13 @@ - - + + - - - + + + @@ -125985,19 +126138,18 @@ - - - - + + + + - - - - + + + + - @@ -126011,12 +126163,12 @@ - - + + - - + + @@ -126039,8 +126191,8 @@ - - + + @@ -126053,64 +126205,64 @@ - - - - + + + + - - + + - - - + + + - - + + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + @@ -126119,36 +126271,36 @@ - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -126159,12 +126311,12 @@ - - - - - - + + + + + + @@ -126183,9 +126335,9 @@ - - - + + + @@ -126195,8 +126347,8 @@ - - + + @@ -126210,19 +126362,19 @@ - - - - + + + + - - - + + + - - + + @@ -126275,27 +126427,27 @@ - - - - - + + + + + - - + + - - + + - - + + @@ -126303,20 +126455,20 @@ - - + + - - + + - - + + @@ -126363,8 +126515,8 @@ - - + + @@ -126374,21 +126526,21 @@ - - - - - + + + + + - - - - + + + + @@ -126402,24 +126554,24 @@ - - - + + + - - + + - - - - + + + + - - - + + + @@ -126447,38 +126599,38 @@ - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + @@ -126487,7 +126639,7 @@ - + @@ -126527,17 +126679,17 @@ - + - + - - + + @@ -126556,8 +126708,8 @@ - - + + @@ -126584,31 +126736,31 @@ - - + + - - - - + + + + - - - + + + - - - + + + @@ -126668,8 +126820,8 @@ - - + + @@ -126710,16 +126862,16 @@ - - + + - - + + - - + + @@ -126730,8 +126882,8 @@ - - + + @@ -126750,12 +126902,12 @@ - - + + - - + + @@ -126771,8 +126923,8 @@ - - + + @@ -126885,10 +127037,10 @@ - - - - + + + + @@ -126897,20 +127049,20 @@ - - - - - - - - + + + + + + + + - - - - + + + + @@ -126918,14 +127070,14 @@ - - - + + + - - - + + + @@ -126938,8 +127090,8 @@ - - + + @@ -126951,8 +127103,8 @@ - - + + @@ -126989,8 +127141,8 @@ - - + + @@ -127041,22 +127193,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -127142,8 +127294,8 @@ - - + + @@ -127151,22 +127303,22 @@ - - + + - - - - - - + + + + + + - - - - + + + + @@ -127179,9 +127331,9 @@ - - - + + + @@ -127189,9 +127341,9 @@ - - - + + + @@ -127239,13 +127391,13 @@ - - - - - - - + + + + + + + @@ -127253,24 +127405,24 @@ - - + + - - + + - - + + - - + + @@ -127286,20 +127438,20 @@ - - - - - - + + + + + + - - - + + + - - + + @@ -127315,8 +127467,8 @@ - - + + @@ -127333,8 +127485,8 @@ - - + + @@ -127347,15 +127499,15 @@ - - - + + + - - - - + + + + @@ -127363,39 +127515,39 @@ - - - + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + @@ -127403,30 +127555,30 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -127534,8 +127686,8 @@ - - + + @@ -127604,12 +127756,12 @@ - - + + - - + + @@ -127621,14 +127773,14 @@ - - - + + + - - - + + + @@ -127636,9 +127788,9 @@ - - - + + + @@ -127663,12 +127815,12 @@ - - + + - - + + @@ -127686,10 +127838,10 @@ - - - - + + + + @@ -127706,62 +127858,62 @@ - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -127772,7 +127924,7 @@ - + @@ -127806,10 +127958,10 @@ - - - - + + + + @@ -127851,7 +128003,7 @@ - + @@ -127859,34 +128011,34 @@ - - + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -127897,10 +128049,10 @@ - - - - + + + + @@ -127910,8 +128062,8 @@ - - + + @@ -127922,8 +128074,8 @@ - - + + @@ -127952,8 +128104,8 @@ - - + + @@ -127986,11 +128138,11 @@ - - - - - + + + + + @@ -128023,11 +128175,11 @@ - - - - - + + + + + @@ -128099,21 +128251,21 @@ - - + + - - - + + + - - + + - - + + @@ -128147,11 +128299,11 @@ - - - - - + + + + + @@ -128166,21 +128318,21 @@ - - + + - - + + - - + + - - - + + + @@ -128196,11 +128348,11 @@ - - - - - + + + + + @@ -128234,21 +128386,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -128269,26 +128421,26 @@ - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + @@ -128297,20 +128449,20 @@ - - - + + + - - - + + + - - - + + + @@ -128320,26 +128472,26 @@ - - - + + + - - - + + + - - - - + + + + - - - - + + + + @@ -128453,9 +128605,9 @@ - - - + + + @@ -128464,9 +128616,9 @@ - - - + + + @@ -128474,21 +128626,21 @@ - - + + - - - - + + + + - - + + - - + + @@ -128496,15 +128648,15 @@ - - - + + + - - - - + + + + @@ -128516,57 +128668,57 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -128577,13 +128729,13 @@ - - - - - - - + + + + + + + @@ -128615,10 +128767,10 @@ - - - - + + + + @@ -128626,10 +128778,10 @@ - - - - + + + + @@ -128637,10 +128789,10 @@ - - - - + + + + @@ -128663,10 +128815,10 @@ - - - - + + + + @@ -128682,29 +128834,29 @@ - + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -128733,13 +128885,13 @@ - - - - - - - + + + + + + + @@ -128758,10 +128910,10 @@ - - - - + + + + @@ -128778,10 +128930,10 @@ - - - - + + + + @@ -128791,30 +128943,30 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + @@ -128831,13 +128983,13 @@ - - + + - - - + + + @@ -128856,39 +129008,39 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + + @@ -128905,55 +129057,55 @@ - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -128963,9 +129115,9 @@ - - - + + + @@ -128975,16 +129127,16 @@ - - - - - + + + + + - - - + + + @@ -129019,15 +129171,15 @@ - - - + + + - - - - + + + + @@ -129040,11 +129192,11 @@ - - - - - + + + + + @@ -129054,11 +129206,11 @@ - - - - - + + + + + @@ -129068,8 +129220,8 @@ - - + + @@ -129081,25 +129233,25 @@ - - + + - - + + - - - - - - - + + + + + + + - - + + @@ -129110,9 +129262,9 @@ - - - + + + @@ -129200,22 +129352,22 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -129247,13 +129399,13 @@ - - + + - - - + + + @@ -129297,8 +129449,8 @@ - - + + @@ -129310,9 +129462,9 @@ - - - + + + @@ -129322,11 +129474,11 @@ - - - - - + + + + + @@ -129343,17 +129495,17 @@ - - + + - - - - - - - + + + + + + + @@ -129362,23 +129514,23 @@ - - + + - - - - + + + + - - - + + + - - + + @@ -129389,12 +129541,12 @@ - - - - - - + + + + + + @@ -129406,8 +129558,8 @@ - - + + @@ -129419,18 +129571,18 @@ - - - - - - + + + + + + - - - - + + + + @@ -129438,12 +129590,12 @@ - - + + - - + + @@ -129481,9 +129633,9 @@ - - - + + + @@ -129495,8 +129647,8 @@ - - + + @@ -129528,45 +129680,45 @@ - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + @@ -129607,9 +129759,9 @@ - - - + + + @@ -129640,10 +129792,10 @@ - - - - + + + + @@ -129735,14 +129887,14 @@ - - - - + + + + - - + + @@ -129760,8 +129912,8 @@ - - + + @@ -129986,9 +130138,9 @@ - - - + + + @@ -130073,9 +130225,9 @@ - - - + + + @@ -130096,13 +130248,13 @@ - - - - - - - + + + + + + + @@ -130114,29 +130266,29 @@ - - - + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -130194,9 +130346,9 @@ - - - + + + @@ -130208,9 +130360,9 @@ - - - + + + @@ -130334,9 +130486,9 @@ - - - + + + @@ -130362,30 +130514,30 @@ - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -130402,9 +130554,9 @@ - - - + + + @@ -130422,8 +130574,8 @@ - - + + @@ -130458,10 +130610,10 @@ - - - - + + + + @@ -130470,21 +130622,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -130492,21 +130644,21 @@ - - - - + + + + - - - - - + + + + + - - - + + + @@ -130525,12 +130677,12 @@ - - - + + + - - + + @@ -130545,26 +130697,26 @@ - - + + - - + + - - + + - + - + @@ -130576,12 +130728,12 @@ - - + + - - + + @@ -130596,23 +130748,23 @@ - - + + - - + + - - - + + + - + - + @@ -130631,15 +130783,15 @@ - - - + + + - - - - + + + + @@ -130652,20 +130804,20 @@ - - - + + + - - - - + + + + - - - + + + @@ -130687,9 +130839,9 @@ - - - + + + @@ -130698,10 +130850,10 @@ - - - - + + + + @@ -130709,9 +130861,9 @@ - - - + + + @@ -130719,9 +130871,9 @@ - - - + + + @@ -130730,17 +130882,17 @@ - - - - + + + + - + @@ -130752,8 +130904,8 @@ - - + + @@ -130841,8 +130993,8 @@ - - + + @@ -130851,8 +131003,8 @@ - - + + @@ -130875,19 +131027,19 @@ - - - - - - - - - + + + + + + + + + - - + + @@ -130899,9 +131051,9 @@ - - - + + + @@ -130920,14 +131072,14 @@ - - - - + + + + - - + + @@ -130961,6 +131113,7 @@ + @@ -130982,19 +131135,19 @@ - - + + - - - - + + + + - - - + + + @@ -131012,8 +131165,8 @@ - - + + @@ -131023,24 +131176,24 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -131050,26 +131203,26 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + @@ -131092,12 +131245,12 @@ - + - - - + + + @@ -131195,10 +131348,10 @@ - - - - + + + + @@ -131206,10 +131359,10 @@ - - - - + + + + @@ -131288,19 +131441,19 @@ - - - + + + - - - + + + - - - + + + @@ -131330,8 +131483,8 @@ - - + + @@ -131349,8 +131502,8 @@ - - + + @@ -131364,14 +131517,14 @@ - - - + + + - - - + + + @@ -131405,9 +131558,9 @@ - - - + + + @@ -131498,11 +131651,11 @@ - - - - - + + + + + @@ -131617,10 +131770,10 @@ - - - - + + + + @@ -131716,9 +131869,9 @@ - - - + + + @@ -131830,15 +131983,15 @@ - - + + - - - - - + + + + + @@ -131872,8 +132025,8 @@ - - + + @@ -131904,17 +132057,17 @@ - - + + - - + + - - - + + + @@ -131925,8 +132078,8 @@ - - + + @@ -131953,12 +132106,12 @@ - - + + - - + + @@ -131981,8 +132134,8 @@ - - + + @@ -132004,8 +132157,8 @@ - - + + @@ -132036,9 +132189,9 @@ - - - + + + @@ -132061,9 +132214,9 @@ - - - + + + @@ -132078,12 +132231,12 @@ - - + + - - + + @@ -132102,8 +132255,8 @@ - - + + @@ -132118,16 +132271,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -132161,8 +132314,8 @@ - - + + @@ -132180,9 +132333,9 @@ - - - + + + @@ -132194,9 +132347,9 @@ - - - + + + @@ -132215,24 +132368,24 @@ - - - + + + - - - - + + + + - - - + + + @@ -132254,8 +132407,8 @@ - - + + @@ -132274,9 +132427,9 @@ - - - + + + @@ -132285,28 +132438,28 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -132315,14 +132468,14 @@ - - - - + + + + - - + + @@ -132333,9 +132486,9 @@ - - - + + + @@ -132361,8 +132514,8 @@ - - + + @@ -132459,15 +132612,15 @@ - - - + + + - - - - + + + + @@ -132479,8 +132632,8 @@ - - + + @@ -132508,14 +132661,14 @@ - - + + - - - - + + + + @@ -132539,30 +132692,30 @@ - - + + - - + + - - - + + + - - - + + + - - + + @@ -132582,13 +132735,13 @@ - - - + + + - - + + @@ -132614,9 +132767,9 @@ - - - + + + @@ -132637,10 +132790,10 @@ - - - - + + + + @@ -132690,9 +132843,9 @@ - - - + + + @@ -132752,21 +132905,21 @@ - - - + + + - - - - - - + + + + + + - - + + @@ -132947,10 +133100,10 @@ - - - - + + + + @@ -133231,10 +133384,10 @@ - - - - + + + + @@ -133278,9 +133431,9 @@ - - - + + + @@ -133294,10 +133447,10 @@ - - - - + + + + @@ -133375,9 +133528,9 @@ - - - + + + @@ -133404,21 +133557,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -133429,9 +133582,9 @@ - - - + + + @@ -133446,14 +133599,14 @@ - - - + + + - - - + + + @@ -133495,15 +133648,15 @@ - - + + - - - - - + + + + + @@ -133580,8 +133733,8 @@ - - + + @@ -133617,8 +133770,8 @@ - - + + @@ -133685,9 +133838,9 @@ - - - + + + @@ -133758,26 +133911,26 @@ - - - - - - - + + + + + + + - - + + - - - + + + @@ -133822,13 +133975,13 @@ - - - + + + - - - + + + @@ -133888,15 +134041,15 @@ - - + + - - + + @@ -133907,16 +134060,16 @@ - - - - - + + + + + - - - + + + @@ -133925,11 +134078,11 @@ - - - - - + + + + + @@ -133938,9 +134091,9 @@ - - - + + + @@ -133990,11 +134143,11 @@ - - - - - + + + + + @@ -134004,17 +134157,17 @@ - - - + + + - - + + - - + + @@ -134023,12 +134176,12 @@ - - + + - - + + @@ -134036,8 +134189,8 @@ - - + + @@ -134054,8 +134207,8 @@ - - + + @@ -134063,12 +134216,12 @@ - - - + + + - + @@ -134097,17 +134250,17 @@ - - - + + + - - + + @@ -134174,28 +134327,28 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + @@ -134205,17 +134358,17 @@ - - + + - - - - + + + + @@ -134226,26 +134379,26 @@ - - - - + + + + - - - - + + + + - - + + - - - - + + + + @@ -134256,9 +134409,9 @@ - - - + + + @@ -134279,21 +134432,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -134311,24 +134464,24 @@ - - - + + + - - - - + + + + - - - + + + @@ -134336,33 +134489,33 @@ - - - + + + - - + + - - - - + + + + - - - + + + - - - + + + @@ -134377,22 +134530,22 @@ - - - - - - + + + + + + - - - + + + - - - + + + @@ -134404,17 +134557,17 @@ - - + + - - - + + + - - + + @@ -134422,66 +134575,66 @@ - - - + + + - - - - + + + + - - + + - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + +