diff options
74 files changed, 9861 insertions, 6934 deletions
@@ -1,32 +1,69 @@ - --- 9.5.0-P1 released --- + --- 9.5.1b1 released --- -2375. [security] Fully randomize UDP query ports to improve +2385. [bug] A condition variable in socket.c could leak in + rare error handling [RT #17968]. + +2384. [security] Additional support for query port randomization (change + #2375) including performance improvement and port range + specification. [RT #17949, #18098] + +2383. [bug] named could double queries when they resulted in + SERVFAIL due to overkilling EDNS0 failure detection. + [RT #18182] + +2382. [doc] Add descriptions of DHCID, IPSECKEY, SPF and SSHFP + to ARM. + +2381. [port] dlz/mysql: support multiple install layouts for + mysql. <prefix>/include/{,mysql/}mysql.h and + <prefix>/lib/{,mysql/}. [RT #18152] + +2380. [bug] dns_view_find() was not returning NXDOMAIN/NXRRSET + proofs which, in turn, caused validation failures + for insecure zones immediately below a secure zone + the server was authoritative for. [RT #18112] + +2379. [contrib] queryperf/gen-data-queryperf.py: removed redundant + TLDs and supported RRs with TTLs [RT #17972] + +2378. [bug] gssapi_functions{} had a redundant member in BIND 9.5. + [RT #18169] + +2377. [bug] Address race condition in dnssec-signzone. [RT #18142] + +2376. [bug] Change #2144 was not complete. + +2375. [security] Fully randomize UDP query ports to improve forgery resilience. [RT #17949] +2373. [bug] Default values of zone ACLs were re-parsed each time a + new zone was configured, causing an overconsumption + of memory. [RT #18092] + --- 9.5.0 released --- -2374. [bug] "blackhole" ACLs could cause named to segfault due +2374. [bug] "blackhole" ACLs could cause named to segfault due to some uninitialized memory. [RT #18095] -2372. [bug] fixed incorrect TAG_HMACSHA256_BITS value [RT #18047] +2372. [bug] fixed incorrect TAG_HMACSHA256_BITS value [RT #18047] -2371. [doc] add +nsid option to dig man page. [RT #18039] +2371. [doc] add +nsid option to dig man page. [RT #18039] -2370. [bug] "rndc freeze" could trigger an assertion in named - when called on a nonexistent zone. [RT #18050] +2370. [bug] "rndc freeze" could trigger an assertion in named + when called on a nonexistent zone. [RT #18050] --- 9.5.0rc1 released --- -2368. [port] Linux: use libcap for capability management if - possible. [RT# 18026] +2368. [port] Linux: use libcap for capability management if + possible. [RT# 18026] -2367. [bug] Improve counting of dns_resstatscounter_retry - [RT #18030] +2367. [bug] Improve counting of dns_resstatscounter_retry + [RT #18030] 2366. [bug] Adb shutdown race. [RT #18021] -2365. [bug] Fix a bug that caused dns_acl_isany() to return - spurious results. [RT #18000] +2365. [bug] Fix a bug that caused dns_acl_isany() to return + spurious results. [RT #18000] 2364. [bug] named could trigger a assertion when serving a malformed signed zone. [RT #17828] @@ -34,9 +71,9 @@ 2363. [port] sunos: pre-set "lt_cv_sys_max_cmd_len=4096;". [RT #17513] -2362. [cleanup] Make "rrset-order fixed" a compile-time option. - settable by "./configure --enable-fixed-rrset". - Disabled by default. [RT #17977] +2362. [cleanup] Make "rrset-order fixed" a compile-time option. + settable by "./configure --enable-fixed-rrset". + Disabled by default. [RT #17977] 2361. [bug] "recursion" statistics counter could be counted multiple times for a single query. [RT #17990] @@ -100,12 +137,12 @@ 2337. [bug] BUILD_LDFLAGS was not being correctly set. [RT #17614] -2335. [port] sunos: libbind and *printf() support for long long. +2335. [port] sunos: libbind and *printf() support for long long. [RT #17513] 2334. [bug] Bad REQUIRES in fromstruct_in_naptr(), off by one bug in fromstruct_txt(). [RT #17609] - + 2333. [bug] Fix off by one error in isc_time_nowplusinterval(). [RT #17608] @@ -113,7 +150,7 @@ 2331. [bug] Failure to regenerate any signatures was not being reported nor being past back to the UPDATE client. - [RT #17570] + [RT #17570] 2330. [bug] Remove potential race condition when handling over memory events. [RT #17572] @@ -150,7 +187,7 @@ 2320. [func] Make statistics counters thread-safe for platforms that support certain atomic operations. [RT #17466] -2319. [bug] Silence Coverity warnings in +2319. [bug] Silence Coverity warnings in lib/dns/rdata/in_1/apl_42.c. [RT #17469] 2318. [port] sunos fixes for libbind. [RT #17514] @@ -160,8 +197,8 @@ 2316. [port] Missing #include <isc/print.h> in lib/dns/gssapictx.c. [RT #17513] -2315. [bug] Used incorrect address family for mapped IPv4 - addresses in acl.c. [RT #17519] +2315. [bug] Used incorrect address family for mapped IPv4 + addresses in acl.c. [RT #17519] 2314. [bug] Uninitialized memory use on error path in bin/named/lwdnoop.c. [RT #17476] @@ -172,14 +209,14 @@ 2312. [cleanup] Silence Coverity warning in lib/isc/unix/socket.c. [RT #17458] -2311. [bug] IPv6 addresses could match IPv4 ACL entries and - vice versa. [RT #17462] +2311. [bug] IPv6 addresses could match IPv4 ACL entries and + vice versa. [RT #17462] 2310. [bug] dig, host, nslookup: flush stdout before emitting debug/fatal messages. [RT #17501] -2309. [cleanup] Fix Coverity warnings in lib/dns/acl.c and iptable.c. - [RT #17455] +2309. [cleanup] Fix Coverity warnings in lib/dns/acl.c and iptable.c. + [RT #17455] 2308. [cleanup] Silence Coverity warning in bin/named/controlconf.c. [RT #17495] @@ -202,7 +239,7 @@ 2301. [bug] Remove resource leak and fix error messages in bin/tests/system/lwresd/lwtest.c. [RT #17474] -2300. [bug] Fixed failure to close open file in +2300. [bug] Fixed failure to close open file in bin/tests/names/t_names.c. [RT #17473] 2299. [bug] Remove unnecessary NULL check in @@ -231,7 +268,7 @@ 2292. [bug] Log if the working directory is not writable. [RT #17312] -2291. [bug] PR_SET_DUMPABLE may be set too late. Also report +2291. [bug] PR_SET_DUMPABLE may be set too late. Also report failure to set PR_SET_DUMPABLE. [RT #17312] 2290. [bug] Let AD in the query signal that the client wants AD @@ -258,7 +295,7 @@ 2280. [func] Allow the experimental http server to be reached over IPv6 as well as IPv4. [RT #17332] -2279. [bug] Use setsockopt(SO_NOSIGPIPE), when available, +2279. [bug] Use setsockopt(SO_NOSIGPIPE), when available, to protect applications from receiving spurious SIGPIPE signals when using the resolver. @@ -293,9 +330,9 @@ --- 9.5.0b1 released --- -2267. [bug] Radix tree node_num value could be set incorrectly, - causing positive ACL matches to look like negative - ones. [RT #17311] +2267. [bug] Radix tree node_num value could be set incorrectly, + causing positive ACL matches to look like negative + ones. [RT #17311] 2266. [bug] client.c:get_clientmctx() returned the same mctx once the pool of mctx's was filled. [RT #17218] @@ -311,10 +348,10 @@ 2262. [bug] Error status from all but the last view could be lost. [RT #17292] -2261. [bug] Fix memory leak with "any" and "none" ACLs [RT #17272] +2261. [bug] Fix memory leak with "any" and "none" ACLs [RT #17272] 2260. [bug] Reported wrong clients-per-query when increasing the - value. [RT #17236] + value. [RT #17236] 2259. [placeholder] @@ -336,10 +373,10 @@ intermediate values as timer->idle was reset by isc_timer_touch(). [RT #17243] -2253. [func] "max-cache-size" defaults to 32M. +2253. [func] "max-cache-size" defaults to 32M. "max-acache-size" defaults to 16M. -2252. [bug] Fixed errors in sortlist code [RT #17216] +2252. [bug] Fixed errors in sortlist code [RT #17216] 2251. [placeholder] @@ -347,11 +384,11 @@ memory statistics file should be written or not. Additionally named's -m option will cause the statistics file to be written. [RT #17113] - -2249. [bug] Only set Authentic Data bit if client requested - DNSSEC, per RFC 3655 [RT #17175] -2248. [cleanup] Fix several errors reported by Coverity. [RT #17160] +2249. [bug] Only set Authentic Data bit if client requested + DNSSEC, per RFC 3655 [RT #17175] + +2248. [cleanup] Fix several errors reported by Coverity. [RT #17160] 2247. [doc] Sort doc/misc/options. [RT #17067] @@ -392,11 +429,11 @@ 2235. [bug] <isc/atomic.h> was not being installed. [RT #17135] -2234. [port] Correct some compiler warnings on SCO OSr5 [RT #17134] - -2233. [func] Add support for O(1) ACL processing, based on - radix tree code originally written by Kevin - Brintnall. [RT #16288] +2234. [port] Correct some compiler warnings on SCO OSr5 [RT #17134] + +2233. [func] Add support for O(1) ACL processing, based on + radix tree code originally written by Kevin + Brintnall. [RT #16288] 2232. [bug] dns_adb_findaddrinfo() could fail and return ISC_R_SUCCESS. [RT #17137] @@ -417,7 +454,7 @@ 2226. [placeholder] 2225. [bug] More support for systems with no IPv4 addresses. - [RT #17111] + [RT #17111] 2224. [bug] Defer journal compaction if a xfrin is in progress. [RT #17119] @@ -425,7 +462,7 @@ 2223. [bug] Make a new journal when compacting. [RT #17119] 2222. [func] named-checkconf now checks server key references. - [RT #17097] + [RT #17097] 2221. [bug] Set the event result code to reflect the actual record turned to caller when a cache update is @@ -434,7 +471,7 @@ 2220. [bug] win32: Address a race condition in final shutdown of the Windows socket code. [RT #17028] - + 2219. [bug] Apply zone consistency checks to additions, not removals, when updating. [RT #17049] @@ -444,7 +481,7 @@ 2217. [func] Adjust update log levels. [RT #17092] 2216. [cleanup] Fix a number of errors reported by Coverity. - [RT #17094] + [RT #17094] 2215. [bug] Bad REQUIRE check isc_hmacsha1_verify(). [RT #17094] @@ -490,7 +527,7 @@ localhost;) is used. [RT #16987] - + 2205. [bug] libbind: change #2119 broke thread support. [RT #16982] 2204. [bug] "rndc flushanme name unknown-view" caused named @@ -629,7 +666,7 @@ allow-query-on, allow-recursion-on and allow-query-cache-on. [RT #16291] -2164. [bug] The code to determine how named-checkzone / +2164. [bug] The code to determine how named-checkzone / named-compilezone was called failed under windows. [RT #16764] @@ -836,14 +873,14 @@ 2095. [port] libbind: alway prototype inet_cidr_ntop_ipv6() and net_cidr_ntop_ipv6(). [RT #16388] - + 2094. [contrib] Update named-bootconf. [RT# 16404] 2093. [bug] named-checkzone -s was broken. 2092. [bug] win32: dig, host, nslookup. Use registry config if resolv.conf does not exist or no nameservers - listed. [RT #15877] + listed. [RT #15877] 2091. [port] dighost.c: race condition on cleanup. [RT #16417] @@ -1247,7 +1284,7 @@ 1964. [func] Separate out MX and SRV to CNAME checks. [RT #15723] -1963. [port] Tru64 4.0E doesn't support send() and recv(). +1963. [port] Tru64 4.0E doesn't support send() and recv(). [RT #15586] 1962. [bug] Named failed to clear old update-policy when it @@ -1290,7 +1327,7 @@ 1951. [security] Drop queries from particular well known ports. Don't return FORMERR to queries from particular well known ports. [RT #15636] - + 1950. [port] Solaris 2.5.1 and earlier cannot bind() then connect() a TCP socket. This prevents the source address being set for TCP connections. [RT #15628] @@ -1312,7 +1349,7 @@ 1945. [cleanup] dnssec-keygen: RSA (RSAMD5) is no longer recommended. To generate a RSAMD5 key you must explicitly request RSAMD5. [RT #13780] - + 1944. [cleanup] isc_hash_create() does not need a read/write lock. [RT #15522] @@ -1424,7 +1461,7 @@ [RT #15034] 1905. [bug] Strings returned from cfg_obj_asstring() should be - treated as read-only. The prototype for + treated as read-only. The prototype for cfg_obj_asstring() has been updated to reflect this. [RT #15256] @@ -1556,10 +1593,10 @@ 1863. [bug] rrset-order "fixed" error messages not complete. 1862. [func] Add additional zone data constancy checks. - named-checkzone has extended checking of NS, MX and + named-checkzone has extended checking of NS, MX and SRV record and the hosts they reference. named has extended post zone load checks. - New zone options: check-mx and integrity-check. + New zone options: check-mx and integrity-check. [RT #4940] 1861. [bug] dig could trigger a INSIST on certain malformed @@ -1602,9 +1639,9 @@ 1848. [bug] Improve SMF integration. [RT #13238] 1847. [bug] isc_ondestroy_init() is called too late in - dns_rbtdb_create()/dns_rbtdb64_create(). + dns_rbtdb_create()/dns_rbtdb64_create(). [RT #13661] - + 1846. [contrib] query-loc-0.3.0 from Stephane Bortzmeyer <bortzmeyer@nic.fr>. @@ -1896,7 +1933,7 @@ [RT #12866] 1748. [func] dig now returns the byte count for axfr/ixfr. - + 1747. [bug] BIND 8 compatibility: named/named-checkconf failed to parse "host-statistics-max" in named.conf. @@ -1914,7 +1951,7 @@ requested number of worker threads then destruction of the manager would trigger an INSIST() failure. [RT #12790] - + 1742. [bug] Deleting all records at a node then adding a previously existing record, in a single UPDATE transaction, failed to leave / regenerate the @@ -1925,7 +1962,7 @@ 1740. [bug] Replace rbt's hash algorithm as it performed badly with certain zones. [RT #12729] - + NOTE: a hash context now needs to be established via isc_hash_create() if the application was not already doing this. @@ -1940,7 +1977,7 @@ 1736. [bug] dst_key_fromnamedfile() could fail to read a public key. [RT #12687] - + 1735. [bug] 'dig +sigtrace' could die with a REQUIRE failure. [RE #12688] @@ -2117,7 +2154,7 @@ 1675. [bug] named would sometimes add extra NSEC records to the authority section. - + 1674. [port] linux: increase buffer size used to scan /proc/net/if_inet6. @@ -2191,7 +2228,7 @@ 1648. [func] Update dnssec-lookaside named.conf syntax to support multiple dnssec-lookaside namespaces (not yet - implemented). + implemented). 1647. [bug] It was possible trigger a INSIST when chasing a DS record that required walking back over a empty node. @@ -2221,7 +2258,7 @@ 1638. [bug] "ixfr-from-differences" could generate a REQUIRE failure if the journal open failed. [RT #11347] - + 1637. [bug] Node reference leak on error in addnoqname(). 1636. [bug] The dump done callback could get ISC_R_SUCCESS even if @@ -2315,21 +2352,21 @@ 1607. [bug] dig, host and nslookup were still using random() to generate query ids. [RT# 11013] -1606. [bug] DLV insecurity proof was failing. +1606. [bug] DLV insecurity proof was failing. 1605. [func] New dns_db_find() option DNS_DBFIND_COVERINGNSEC. 1604. [bug] A xfrout_ctx_create() failure would result in xfrout_ctx_destroy() being called with a partially initialized structure. - + 1603. [bug] nsupdate: set interactive based on isatty(). [RT# 10929] 1602. [bug] Logging to a file failed unless a size was specified. [RT# 10925] -1601. [bug] Silence spurious warning 'both "recursion no;" and +1601. [bug] Silence spurious warning 'both "recursion no;" and "allow-recursion" active' warning from view "_bind". [RT# 10920] @@ -17,7 +17,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: FAQ.xml,v 1.30.26.3 2008/02/25 05:08:10 marka Exp $ --> +<!-- $Id: FAQ.xml,v 1.30.26.4 2008/06/04 02:51:13 tbox Exp $ --> <article class="faq"> <title>Frequently Asked Questions about BIND 9</title> @@ -706,8 +706,7 @@ zone "list.dsbl.org" { requests are coming from a Windows 2000 machine, see <ulink url="http://support.microsoft.com/support/kb/articles/q246/8/04.asp"> - http://support.microsoft.com/support/kb/articles/q246/8/04.asp - </ulink> + <http://support.microsoft.com/support/kb/articles/q246/8/04.asp></ulink> for information about how to turn them off. </para> </answer> @@ -857,7 +856,7 @@ serial-query-rate 5; // default 20</programlisting> usage rules and are leaking queries to the Internet. You should establish your own zones for these addresses to prevent you querying the Internet's name servers for these addresses. - Please see <ulink url="http://as112.net/">http://as112.net/</ulink> + Please see <ulink url="http://as112.net/"><http://as112.net/></ulink> for details of the problems you are causing and the counter measures that have had to be deployed. </para> @@ -1010,7 +1009,31 @@ client: UDP client handler shutting down due to fatal receive error: unexpected </para> <para> See: - <ulink url="http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=2">http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=2</ulink> + <ulink url="http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=2"><http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=2></ulink> + </para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para> + Why does named lock up when it attempts to connect over IPSEC tunnels? + </para> + </question> + <answer> + <para> + This is due to a kernel bug where the fact that a socket is marked + non-blocking is ignored. It is reported that setting + xfrm_larval_drop to 1 helps but this may have negative side effects. + See: +<ulink url="https://bugzilla.redhat.com/show_bug.cgi?id=427629"><https://bugzilla.redhat.com/show_bug.cgi?id=427629></ulink> + and +<ulink url="http://lkml.org/lkml/2007/12/4/260"><http://lkml.org/lkml/2007/12/4/260></ulink>. + </para> + <para> + xfrm_larval_drop can be set to 1 by the following procedure: +<programlisting> +echo "1" > proc/sys/net/core/xfrm_larval_drop</programlisting> </para> </answer> </qandaentry> @@ -1101,8 +1124,9 @@ modprobe capability</programlisting> <para> Red Hat have adopted the National Security Agency's - SELinux security policy ( see http://www.nsa.gov/selinux - ) and recommendations for BIND security , which are more + SELinux security policy (see <ulink + url="http://www.nsa.gov/selinux"><http://www.nsa.gov/selinux></ulink>) + and recommendations for BIND security , which are more secure than running named in a chroot and make use of the bind-chroot environment unnecessary . </para> @@ -1341,8 +1365,7 @@ rand_irqs="3 14 15"</programlisting> <para> See also <ulink url="http://people.freebsd.org/~dougb/randomness.html"> - http://people.freebsd.org/~dougb/randomness.html - </ulink> + <http://people.freebsd.org/~dougb/randomness.html></ulink>. </para> </answer> </qandaentry> @@ -1364,7 +1387,7 @@ rand_irqs="3 14 15"</programlisting> <para> <ulink url="http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris"> - http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris + <http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris> </ulink> </para> </answer> diff --git a/KNOWN-DEFECTS b/KNOWN-DEFECTS deleted file mode 100644 index 97b2f105..00000000 --- a/KNOWN-DEFECTS +++ /dev/null @@ -1,315 +0,0 @@ - Known defects in ISC BIND 9.5.0 - -Just before the 9.5.0 release of BIND it was determined that some of -the changes in this release have caused an overuse of memory on systems -serving very large numbers of zones. - -Zone ACLs, including allow-transfer, allow-query, allow-notify, -allow-update, and allow-update-forwarding, that are defined in the -"view" or "options" block of named.conf, should be parsed and loaded -once, and then referenced by the zones that use them; however, they -are currently parsed and loaded into memory separately by each zone. On -systems with hundreds or thousands of zones, this can consume a huge -amount of memory--especially when the ACLs being copied are also large. - -There is a fix for this problem, but it was developed too late in the -the test/release cycle for inclusion in BIND 9.5.0 as part of the mainline -source code. After it has been sufficiently tested, it will be included in -BIND 9.5.1. - -In the meantime, the patch is included below for those who wish to -experiment with it. To apply, run: "patch -p0 < KNOWN-DEFECTS; -make clean; configure; make". - -Index: bin/named/server.c -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/named/server.c,v -retrieving revision 1.495.10.10 -diff -u -r1.495.10.10 server.c ---- bin/named/server.c 3 Apr 2008 06:20:33 -0000 1.495.10.10 -+++ bin/named/server.c 21 May 2008 23:46:14 -0000 -@@ -1684,6 +1684,28 @@ - CHECK(configure_view_sortlist(vconfig, config, actx, ns_g_mctx, - &view->sortlist)); - -+ /* -+ * Configure default allow-transfer, allow-notify, allow-update -+ * and allow-update-forwarding ACLs, if set, so they can be -+ * inherited by zones. -+ */ -+ if (view->notifyacl == NULL) -+ CHECK(configure_view_acl(NULL, ns_g_config, -+ "allow-notify", actx, -+ ns_g_mctx, &view->notifyacl)); -+ if (view->transferacl == NULL) -+ CHECK(configure_view_acl(NULL, ns_g_config, -+ "allow-transfer", actx, -+ ns_g_mctx, &view->transferacl)); -+ if (view->updateacl == NULL) -+ CHECK(configure_view_acl(NULL, ns_g_config, -+ "allow-update", actx, -+ ns_g_mctx, &view->updateacl)); -+ if (view->upfwdacl == NULL) -+ CHECK(configure_view_acl(NULL, ns_g_config, -+ "allow-update-forwarding", actx, -+ ns_g_mctx, &view->upfwdacl)); -+ - obj = NULL; - result = ns_config_get(maps, "request-ixfr", &obj); - INSIST(result == ISC_R_SUCCESS); -Index: bin/named/zoneconf.c -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/named/zoneconf.c,v -retrieving revision 1.139.56.3 -diff -u -r1.139.56.3 zoneconf.c ---- bin/named/zoneconf.c 21 May 2008 23:26:11 -0000 1.139.56.3 -+++ bin/named/zoneconf.c 21 May 2008 23:46:15 -0000 -@@ -45,6 +45,15 @@ - #include <named/server.h> - #include <named/zoneconf.h> - -+/* ACLs associated with zone */ -+typedef enum { -+ allow_notify, -+ allow_query, -+ allow_transfer, -+ allow_update, -+ allow_update_forwarding -+} acl_type_t; -+ - /*% - * These are BIND9 server defaults, not necessarily identical to the - * library defaults defined in zone.c. -@@ -60,19 +69,69 @@ - */ - static isc_result_t - configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t *vconfig, -- const cfg_obj_t *config, const char *aclname, -+ const cfg_obj_t *config, acl_type_t acltype, - cfg_aclconfctx_t *actx, dns_zone_t *zone, - void (*setzacl)(dns_zone_t *, dns_acl_t *), - void (*clearzacl)(dns_zone_t *)) - { - isc_result_t result; -- const cfg_obj_t *maps[5]; -+ const cfg_obj_t *maps[5] = {NULL, NULL, NULL, NULL, NULL}; - const cfg_obj_t *aclobj = NULL; - int i = 0; -- dns_acl_t *dacl = NULL; -+ dns_acl_t **aclp = NULL, *acl = NULL; -+ const char *aclname; -+ dns_view_t *view; -+ -+ view = dns_zone_getview(zone); -+ -+ switch (acltype) { -+ case allow_notify: -+ if (view != NULL) -+ aclp = &view->notifyacl; -+ aclname = "allow-notify"; -+ break; -+ case allow_query: -+ if (view != NULL) -+ aclp = &view->queryacl; -+ aclname = "allow-query"; -+ break; -+ case allow_transfer: -+ if (view != NULL) -+ aclp = &view->transferacl; -+ aclname = "allow-transfer"; -+ break; -+ case allow_update: -+ if (view != NULL) -+ aclp = &view->updateacl; -+ aclname = "allow-update"; -+ break; -+ case allow_update_forwarding: -+ if (view != NULL) -+ aclp = &view->upfwdacl; -+ aclname = "allow-update-forwarding"; -+ break; -+ default: -+ INSIST(0); -+ return (ISC_R_FAILURE); -+ } - -- if (zconfig != NULL) -- maps[i++] = cfg_tuple_get(zconfig, "options"); -+ /* First check to see if ACL is defined within the zone */ -+ if (zconfig != NULL) { -+ maps[0] = cfg_tuple_get(zconfig, "options"); -+ ns_config_get(maps, aclname, &aclobj); -+ if (aclobj != NULL) { -+ aclp = NULL; -+ goto parse_acl; -+ } -+ } -+ -+ /* Failing that, see if there's a default ACL already in the view */ -+ if (aclp != NULL && *aclp != NULL) { -+ (*setzacl)(zone, *aclp); -+ return (ISC_R_SUCCESS); -+ } -+ -+ /* Check for default ACLs that haven't been parsed yet */ - if (vconfig != NULL) - maps[i++] = cfg_tuple_get(vconfig, "options"); - if (config != NULL) { -@@ -90,12 +149,18 @@ - return (ISC_R_SUCCESS); - } - -+parse_acl: - result = cfg_acl_fromconfig(aclobj, config, ns_g_lctx, actx, -- dns_zone_getmctx(zone), 0, &dacl); -+ dns_zone_getmctx(zone), 0, &acl); - if (result != ISC_R_SUCCESS) - return (result); -- (*setzacl)(zone, dacl); -- dns_acl_detach(&dacl); -+ (*setzacl)(zone, acl); -+ -+ /* Set the view default now */ -+ if (aclp != NULL) -+ dns_acl_attach(acl, aclp); -+ -+ dns_acl_detach(&acl); - return (ISC_R_SUCCESS); - } - -@@ -454,14 +519,14 @@ - - if (ztype == dns_zone_slave) - RETERR(configure_zone_acl(zconfig, vconfig, config, -- "allow-notify", ac, zone, -+ allow_notify, ac, zone, - dns_zone_setnotifyacl, - dns_zone_clearnotifyacl)); - /* - * XXXAG This probably does not make sense for stubs. - */ - RETERR(configure_zone_acl(zconfig, vconfig, config, -- "allow-query", ac, zone, -+ allow_query, ac, zone, - dns_zone_setqueryacl, - dns_zone_clearqueryacl)); - -@@ -564,7 +629,7 @@ - dns_zone_setisself(zone, ns_client_isself, NULL); - - RETERR(configure_zone_acl(zconfig, vconfig, config, -- "allow-transfer", ac, zone, -+ allow_transfer, ac, zone, - dns_zone_setxfracl, - dns_zone_clearxfracl)); - -@@ -655,7 +720,7 @@ - if (ztype == dns_zone_master) { - dns_acl_t *updateacl; - RETERR(configure_zone_acl(zconfig, vconfig, config, -- "allow-update", ac, zone, -+ allow_update, ac, zone, - dns_zone_setupdateacl, - dns_zone_clearupdateacl)); - -@@ -754,7 +819,7 @@ - cfg_obj_asboolean(obj)); - } else if (ztype == dns_zone_slave) { - RETERR(configure_zone_acl(zconfig, vconfig, config, -- "allow-update-forwarding", ac, zone, -+ allow_update_forwarding, ac, zone, - dns_zone_setforwardacl, - dns_zone_clearforwardacl)); - } -Index: lib/dns/view.c -=================================================================== -RCS file: /proj/cvs/prod/bind9/lib/dns/view.c,v -retrieving revision 1.143.128.5 -diff -u -r1.143.128.5 view.c ---- lib/dns/view.c 13 May 2008 23:46:31 -0000 1.143.128.5 -+++ lib/dns/view.c 21 May 2008 23:46:19 -0000 -@@ -172,6 +172,10 @@ - view->recursionacl = NULL; - view->recursiononacl = NULL; - view->sortlist = NULL; -+ view->transferacl = NULL; -+ view->notifyacl = NULL; -+ view->updateacl = NULL; -+ view->upfwdacl = NULL; - view->requestixfr = ISC_TRUE; - view->provideixfr = ISC_TRUE; - view->maxcachettl = 7 * 24 * 3600; -@@ -299,6 +303,14 @@ - dns_acl_detach(&view->recursiononacl); - if (view->sortlist != NULL) - dns_acl_detach(&view->sortlist); -+ if (view->transferacl != NULL) -+ dns_acl_detach(&view->transferacl); -+ if (view->notifyacl != NULL) -+ dns_acl_detach(&view->notifyacl); -+ if (view->updateacl != NULL) -+ dns_acl_detach(&view->updateacl); -+ if (view->upfwdacl != NULL) -+ dns_acl_detach(&view->upfwdacl); - if (view->delonly != NULL) { - dns_name_t *name; - int i; -Index: lib/dns/include/dns/view.h -=================================================================== -RCS file: /proj/cvs/prod/bind9/lib/dns/include/dns/view.h,v -retrieving revision 1.107.128.4 -diff -u -r1.107.128.4 view.h ---- lib/dns/include/dns/view.h 3 Apr 2008 06:20:34 -0000 1.107.128.4 -+++ lib/dns/include/dns/view.h 21 May 2008 23:46:21 -0000 -@@ -123,6 +123,10 @@ - dns_acl_t * recursionacl; - dns_acl_t * recursiononacl; - dns_acl_t * sortlist; -+ dns_acl_t * notifyacl; -+ dns_acl_t * transferacl; -+ dns_acl_t * updateacl; -+ dns_acl_t * upfwdacl; - isc_boolean_t requestixfr; - isc_boolean_t provideixfr; - isc_boolean_t requestnsid; -Index: lib/isccfg/aclconf.c -=================================================================== -RCS file: /proj/cvs/prod/bind9/lib/isccfg/aclconf.c,v -retrieving revision 1.17 -diff -u -r1.17 aclconf.c ---- lib/isccfg/aclconf.c 21 Dec 2007 06:46:47 -0000 1.17 -+++ lib/isccfg/aclconf.c 21 May 2008 23:46:21 -0000 -@@ -175,6 +175,7 @@ - const cfg_listelt_t *elt; - dns_iptable_t *iptab; - int new_nest_level = 0; -+ int nelem; - - if (nest_level != 0) - new_nest_level = nest_level - 1; -@@ -206,6 +207,8 @@ - return (result); - } - -+ nelem = cfg_list_length(caml, ISC_FALSE); -+ - de = dacl->elements; - for (elt = cfg_list_first(caml); - elt != NULL; -@@ -350,6 +353,16 @@ - if (result != ISC_R_SUCCESS) - goto cleanup; - -+ /* -+ * There was only one element and it was -+ * a nested named ACL; attach it to the -+ * target and let's go home. -+ */ -+ if (nelem == 1) { -+ dns_acl_attach(inneracl, target); -+ goto cleanup; -+ } -+ - goto nested_acl; - } - } else { diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c index a0a12305..ec0b8271 100644 --- a/bin/dnssec/dnssec-signzone.c +++ b/bin/dnssec/dnssec-signzone.c @@ -1,5 +1,5 @@ /* - * Portions Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Portions Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Portions Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -29,7 +29,7 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-signzone.c,v 1.204 2007/08/28 07:20:42 tbox Exp $ */ +/* $Id: dnssec-signzone.c,v 1.204.94.2 2008/06/02 23:46:32 tbox Exp $ */ /*! \file */ @@ -141,7 +141,6 @@ static dns_name_t *gorigin; /* The database origin */ static isc_task_t *master = NULL; static unsigned int ntasks = 0; static isc_boolean_t shuttingdown = ISC_FALSE, finished = ISC_FALSE; -static unsigned int assigned = 0, completed = 0; static isc_boolean_t nokeys = ISC_FALSE; static isc_boolean_t removefile = ISC_FALSE; static isc_boolean_t generateds = ISC_FALSE; @@ -982,7 +981,7 @@ active_node(dns_dbnode_t *node) { fatal("rdataset iteration failed: %s", isc_result_totext(result)); } else { - /* + /* * Delete RRSIGs for types that no longer exist. */ result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter2); @@ -1207,7 +1206,7 @@ signapex(void) { dns_fixedname_t fixed; dns_name_t *name; isc_result_t result; - + dns_fixedname_init(&fixed); name = dns_fixedname_name(&fixed); result = dns_dbiterator_current(gdbiter, &node, name); @@ -1237,16 +1236,19 @@ assignwork(isc_task_t *task, isc_task_t *worker) { dns_rdataset_t nsec; isc_boolean_t found; isc_result_t result; + static unsigned int ended = 0; /* Protected by namelock. */ if (shuttingdown) return; + LOCK(&namelock); if (finished) { - if (assigned == completed) { + ended++; + if (ended == ntasks) { isc_task_detach(&task); isc_app_shutdown(); } - return; + goto unlock; } fname = isc_mem_get(mctx, sizeof(dns_fixedname_t)); @@ -1256,7 +1258,6 @@ assignwork(isc_task_t *task, isc_task_t *worker) { name = dns_fixedname_name(fname); node = NULL; found = ISC_FALSE; - LOCK(&namelock); while (!found) { result = dns_dbiterator_current(gdbiter, &node, name); if (result != ISC_R_SUCCESS) @@ -1283,14 +1284,14 @@ assignwork(isc_task_t *task, isc_task_t *worker) { fatal("failure iterating database: %s", isc_result_totext(result)); } - UNLOCK(&namelock); if (!found) { - if (assigned == completed) { + ended++; + if (ended == ntasks) { isc_task_detach(&task); isc_app_shutdown(); } isc_mem_put(mctx, fname, sizeof(dns_fixedname_t)); - return; + goto unlock; } sevent = (sevent_t *) isc_event_allocate(mctx, task, SIGNER_EVENT_WORK, @@ -1301,7 +1302,8 @@ assignwork(isc_task_t *task, isc_task_t *worker) { sevent->node = node; sevent->fname = fname; isc_task_send(worker, ISC_EVENT_PTR(&sevent)); - assigned++; + unlock: + UNLOCK(&namelock); } /*% @@ -1324,7 +1326,6 @@ writenode(isc_task_t *task, isc_event_t *event) { isc_task_t *worker; sevent_t *sevent = (sevent_t *)event; - completed++; worker = (isc_task_t *)event->ev_sender; dumpnode(dns_fixedname_name(sevent->fname), sevent->node); cleannode(gdb, gversion, sevent->node); @@ -1618,7 +1619,7 @@ writeset(const char *prefix, dns_rdatatype_t type) { unsigned char dsbuf[DNS_DS_BUFFERSIZE]; unsigned char keybuf[DST_KEY_MAXSIZE]; unsigned int filenamelen; - const dns_master_style_t *style = + const dns_master_style_t *style = (type == dns_rdatatype_dnskey) ? masterstyle : dsstyle; isc_buffer_init(&namebuf, namestr, sizeof(namestr)); @@ -1831,13 +1832,13 @@ print_stats(isc_time_t *timer_start, isc_time_t *timer_finish) { printf("Signatures successfully verified: %10d\n", nverified); printf("Signatures unsuccessfully verified: %10d\n", nverifyfailed); runtime_ms = runtime_us / 1000; - printf("Runtime in seconds: %7u.%03u\n", - (unsigned int) (runtime_ms / 1000), + printf("Runtime in seconds: %7u.%03u\n", + (unsigned int) (runtime_ms / 1000), (unsigned int) (runtime_ms % 1000)); if (runtime_us > 0) { sig_ms = ((isc_uint64_t)nsigned * 1000000000) / runtime_us; printf("Signatures per second: %7u.%03u\n", - (unsigned int) sig_ms / 1000, + (unsigned int) sig_ms / 1000, (unsigned int) sig_ms % 1000); } } @@ -1937,7 +1938,7 @@ main(int argc, char *argv[]) { fatal("jitter must be numeric and positive"); break; - case 'l': + case 'l': dns_fixedname_init(&dlv_fixed); len = strlen(isc_commandline_argument); isc_buffer_init(&b, isc_commandline_argument, len); @@ -2103,7 +2104,7 @@ main(int argc, char *argv[]) { result = dns_master_stylecreate(&dsstyle, DNS_STYLEFLAG_NO_TTL, 0, 24, 0, 0, 0, 8, mctx); check_result(result, "dns_master_stylecreate"); - + gdb = NULL; TIME_NOW(&timer_start); @@ -2125,8 +2126,8 @@ main(int argc, char *argv[]) { DST_TYPE_PRIVATE, mctx, &newkey); if (result != ISC_R_SUCCESS) - fatal("cannot load dnskey %s: %s", argv[i], - isc_result_totext(result)); + fatal("cannot load dnskey %s: %s", argv[i], + isc_result_totext(result)); key = ISC_LIST_HEAD(keylist); while (key != NULL) { @@ -2134,7 +2135,7 @@ main(int argc, char *argv[]) { if (dst_key_id(dkey) == dst_key_id(newkey) && dst_key_alg(dkey) == dst_key_alg(newkey) && dns_name_equal(dst_key_name(dkey), - dst_key_name(newkey))) + dst_key_name(newkey))) { if (!dst_key_isprivate(dkey)) fatal("cannot sign zone with " @@ -2163,7 +2164,7 @@ main(int argc, char *argv[]) { mctx, &newkey); if (result != ISC_R_SUCCESS) fatal("cannot load dnskey %s: %s", dskeyfile[i], - isc_result_totext(result)); + isc_result_totext(result)); key = ISC_LIST_HEAD(keylist); while (key != NULL) { @@ -2171,7 +2172,7 @@ main(int argc, char *argv[]) { if (dst_key_id(dkey) == dst_key_id(newkey) && dst_key_alg(dkey) == dst_key_alg(newkey) && dns_name_equal(dst_key_name(dkey), - dst_key_name(newkey))) + dst_key_name(newkey))) { /* Override key flags. */ key->issigningkey = ISC_TRUE; diff --git a/bin/named/bind9.xsl b/bin/named/bind9.xsl index edc10ece..cf921ae0 100644 --- a/bin/named/bind9.xsl +++ b/bin/named/bind9.xsl @@ -15,7 +15,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: bind9.xsl,v 1.13.130.4 2008/04/09 22:49:37 jinmei Exp $ --> +<!-- $Id: bind9.xsl,v 1.13.130.5 2008/06/24 00:09:10 jinmei Exp $ --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" @@ -86,7 +86,6 @@ td, th { </head> <body> <div class="header">Bind 9 Configuration and Statistics</div> - <br/> <table> diff --git a/bin/named/bind9.xsl.h b/bin/named/bind9.xsl.h index 80788f8c..42068ce4 100644 --- a/bin/named/bind9.xsl.h +++ b/bin/named/bind9.xsl.h @@ -1,6 +1,6 @@ /* * Generated by convertxsl.pl 1.9.60.4 2008/04/03 10:51:01 marka Exp - * From bind9.xsl 1.13.130.4 2008/04/09 22:49:37 jinmei Exp + * From bind9.xsl 1.13.130.5 2008/06/24 00:09:10 jinmei Exp */ static char xslmsg[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" @@ -20,7 +20,7 @@ static char xslmsg[] = " - PERFORMANCE OF THIS SOFTWARE.\n" "-->\n" "\n" - "<!-- \045Id: bind9.xsl,v 1.13.130.4 2008/04/09 22:49:37 jinmei Exp \045 -->\n" + "<!-- \045Id: bind9.xsl,v 1.13.130.5 2008/06/24 00:09:10 jinmei Exp \045 -->\n" "\n" "<xsl:stylesheet version=\"1.0\"\n" " xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n" @@ -91,7 +91,6 @@ static char xslmsg[] = " </head>\n" " <body>\n" " <div class=\"header\">Bind 9 Configuration and Statistics</div>\n" - "\n" " <br/>\n" "\n" " <table>\n" diff --git a/bin/named/server.c b/bin/named/server.c index d7013825..ef21da86 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.495.10.11 2008/05/27 22:36:09 each Exp $ */ +/* $Id: server.c,v 1.495.10.15 2008/06/24 00:09:10 jinmei Exp $ */ /*! \file */ @@ -33,6 +33,7 @@ #include <isc/httpd.h> #include <isc/lex.h> #include <isc/parseint.h> +#include <isc/portset.h> #include <isc/print.h> #include <isc/resource.h> #include <isc/stdio.h> @@ -538,13 +539,15 @@ mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver) */ static isc_result_t get_view_querysource_dispatch(const cfg_obj_t **maps, - int af, dns_dispatch_t **dispatchp) + int af, dns_dispatch_t **dispatchp, + isc_boolean_t is_firstview) { isc_result_t result; dns_dispatch_t *disp; isc_sockaddr_t sa; unsigned int attrs, attrmask; const cfg_obj_t *obj = NULL; + unsigned int maxdispatchbuffers; /* * Make compiler happy. @@ -596,12 +599,18 @@ get_view_querysource_dispatch(const cfg_obj_t **maps, attrs |= DNS_DISPATCHATTR_IPV6; break; } - - if (isc_sockaddr_getport(&sa) != 0) { + if (isc_sockaddr_getport(&sa) == 0) { + attrs |= DNS_DISPATCHATTR_EXCLUSIVE; + maxdispatchbuffers = 4096; + } else { INSIST(obj != NULL); - cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO, - "using specific query-source port suppresses port " - "randomization and can be insecure."); + if (is_firstview) { + cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO, + "using specific query-source port " + "suppresses port randomization and can be " + "insecure."); + } + maxdispatchbuffers = 1000; } attrmask = 0; @@ -613,7 +622,7 @@ get_view_querysource_dispatch(const cfg_obj_t **maps, disp = NULL; result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr, ns_g_taskmgr, &sa, 4096, - 1024, 32768, 16411, 16433, + maxdispatchbuffers, 32768, 16411, 16433, attrs, attrmask, &disp); if (result != ISC_R_SUCCESS) { isc_sockaddr_t any; @@ -1279,8 +1288,12 @@ configure_view(dns_view_t *view, const cfg_obj_t *config, * * XXXRTH Hardwired number of tasks. */ - CHECK(get_view_querysource_dispatch(maps, AF_INET, &dispatch4)); - CHECK(get_view_querysource_dispatch(maps, AF_INET6, &dispatch6)); + CHECK(get_view_querysource_dispatch(maps, AF_INET, &dispatch4, + ISC_TF(ISC_LIST_PREV(view, link) + == NULL))); + CHECK(get_view_querysource_dispatch(maps, AF_INET6, &dispatch6, + ISC_TF(ISC_LIST_PREV(view, link) + == NULL))); if (dispatch4 == NULL && dispatch6 == NULL) { UNEXPECTED_ERROR(__FILE__, __LINE__, "unable to obtain neither an IPv4 nor" @@ -1288,55 +1301,20 @@ configure_view(dns_view_t *view, const cfg_obj_t *config, result = ISC_R_UNEXPECTED; goto cleanup; } - - obj = NULL; - (void)ns_config_get(maps, "use-queryport-pool", &obj); - if (obj == NULL || cfg_obj_asboolean(obj)) { - isc_sockaddr_t sa; - isc_boolean_t logit4 = ISC_FALSE, logit6 = ISC_FALSE; - - resopts |= (DNS_RESOLVER_USEDISPATCHPOOL4 | - DNS_RESOLVER_USEDISPATCHPOOL6); - - /* Check consistency with query-source(-v6) */ - if (dispatch4 == NULL) - resopts &= ~DNS_RESOLVER_USEDISPATCHPOOL4; - else { - result = dns_dispatch_getlocaladdress(dispatch4, &sa); - INSIST(result == ISC_R_SUCCESS); - if (isc_sockaddr_getport(&sa) != 0) { - logit4 = ISC_TRUE; - resopts &= ~DNS_RESOLVER_USEDISPATCHPOOL4; - } - } - - if (dispatch6 == NULL) - resopts &= ~DNS_RESOLVER_USEDISPATCHPOOL6; - else { - result = dns_dispatch_getlocaladdress(dispatch6, &sa); - INSIST(result == ISC_R_SUCCESS); - if (isc_sockaddr_getport(&sa) != 0) { - logit6 = ISC_TRUE; - resopts &= ~DNS_RESOLVER_USEDISPATCHPOOL6; - } - } - if (logit4 && obj != NULL) - cfg_obj_log(obj, ns_g_lctx, ISC_LOG_ERROR, - "specific query-source port " - "cannot coexist with queryport-pool. " - "(Pool disabled)"); - if (logit6 && obj != NULL) - cfg_obj_log(obj, ns_g_lctx, ISC_LOG_ERROR, - "specific query-source-v6 port " - "cannot coexist with queryport-pool. " - "(Pool disabled)"); - } - CHECK(dns_view_createresolver(view, ns_g_taskmgr, 31, ns_g_socketmgr, ns_g_timermgr, resopts, ns_g_dispatchmgr, dispatch4, dispatch6)); + if (resstats == NULL) { + CHECK(dns_generalstats_create(mctx, &resstats, + dns_resstatscounter_max)); + } + dns_view_setresstats(view, resstats); + if (resquerystats == NULL) + CHECK(dns_rdatatypestats_create(mctx, &resquerystats)); + dns_view_setresquerystats(view, resquerystats); + /* * Set the ADB cache size to 1/8th of the max-cache-size. */ @@ -1644,6 +1622,28 @@ configure_view(dns_view_t *view, const cfg_obj_t *config, CHECK(configure_view_sortlist(vconfig, config, actx, ns_g_mctx, &view->sortlist)); + /* + * Configure default allow-transfer, allow-notify, allow-update + * and allow-update-forwarding ACLs, if set, so they can be + * inherited by zones. + */ + if (view->notifyacl == NULL) + CHECK(configure_view_acl(NULL, ns_g_config, + "allow-notify", actx, + ns_g_mctx, &view->notifyacl)); + if (view->transferacl == NULL) + CHECK(configure_view_acl(NULL, ns_g_config, + "allow-transfer", actx, + ns_g_mctx, &view->transferacl)); + if (view->updateacl == NULL) + CHECK(configure_view_acl(NULL, ns_g_config, + "allow-update", actx, + ns_g_mctx, &view->updateacl)); + if (view->upfwdacl == NULL) + CHECK(configure_view_acl(NULL, ns_g_config, + "allow-update-forwarding", actx, + ns_g_mctx, &view->upfwdacl)); + obj = NULL; result = ns_config_get(maps, "request-ixfr", &obj); INSIST(result == ISC_R_SUCCESS); @@ -2817,24 +2817,41 @@ set_limits(const cfg_obj_t **maps) { SETLIMIT("files", openfiles, "open files"); } -static isc_result_t -portlist_fromconf(dns_portlist_t *portlist, unsigned int family, - const cfg_obj_t *ports) +static void +portset_fromconf(isc_portset_t *portset, const cfg_obj_t *ports, + isc_boolean_t positive) { const cfg_listelt_t *element; - isc_result_t result = ISC_R_SUCCESS; for (element = cfg_list_first(ports); element != NULL; element = cfg_list_next(element)) { const cfg_obj_t *obj = cfg_listelt_value(element); - in_port_t port = (in_port_t)cfg_obj_asuint32(obj); - result = dns_portlist_add(portlist, family, port); - if (result != ISC_R_SUCCESS) - break; + if (cfg_obj_isuint32(obj)) { + in_port_t port = (in_port_t)cfg_obj_asuint32(obj); + + if (positive) + isc_portset_add(portset, port); + else + isc_portset_remove(portset, port); + } else { + const cfg_obj_t *obj_loport, *obj_hiport; + in_port_t loport, hiport; + + obj_loport = cfg_tuple_get(obj, "loport"); + loport = (in_port_t)cfg_obj_asuint32(obj_loport); + obj_hiport = cfg_tuple_get(obj, "hiport"); + hiport = (in_port_t)cfg_obj_asuint32(obj_hiport); + + if (positive) + isc_portset_addrange(portset, loport, hiport); + else { + isc_portset_removerange(portset, loport, + hiport); + } + } } - return (result); } static isc_result_t @@ -2873,7 +2890,7 @@ load_configuration(const char *filename, ns_server_t *server, const cfg_obj_t *options; const cfg_obj_t *views; const cfg_obj_t *obj; - const cfg_obj_t *v4ports, *v6ports; + const cfg_obj_t *usev4ports, *avoidv4ports, *usev6ports, *avoidv6ports; const cfg_obj_t *maps[3]; const cfg_obj_t *builtin_views; const cfg_listelt_t *element; @@ -2885,7 +2902,9 @@ load_configuration(const char *filename, ns_server_t *server, isc_uint32_t interface_interval; isc_uint32_t heartbeat_interval; isc_uint32_t udpsize; - in_port_t listen_port; + in_port_t listen_port, udpport_low, udpport_high; + isc_portset_t *v4portset = NULL; + isc_portset_t *v6portset = NULL; int i; cfg_aclconfctx_init(&aclconfctx); @@ -3002,24 +3021,64 @@ load_configuration(const char *filename, ns_server_t *server, CHECKM(ns_statschannels_configure(ns_g_server, config, &aclconfctx), "configuring statistics server(s)"); - v4ports = NULL; - v6ports = NULL; - (void)ns_config_get(maps, "avoid-v4-udp-ports", &v4ports); - (void)ns_config_get(maps, "avoid-v6-udp-ports", &v6ports); - if (v4ports != NULL || v6ports != NULL) { - dns_portlist_t *portlist = NULL; - result = dns_portlist_create(ns_g_mctx, &portlist); - if (result == ISC_R_SUCCESS && v4ports != NULL) - result = portlist_fromconf(portlist, AF_INET, v4ports); - if (result == ISC_R_SUCCESS && v6ports != NULL) - portlist_fromconf(portlist, AF_INET6, v6ports); - if (result == ISC_R_SUCCESS) - dns_dispatchmgr_setblackportlist(ns_g_dispatchmgr, portlist); - if (portlist != NULL) - dns_portlist_detach(&portlist); - CHECK(result); - } else - dns_dispatchmgr_setblackportlist(ns_g_dispatchmgr, NULL); + /* + * Configure sets of UDP query source ports. + */ + CHECKM(isc_portset_create(ns_g_mctx, &v4portset), + "creating UDP port set"); + CHECKM(isc_portset_create(ns_g_mctx, &v6portset), + "creating UDP port set"); + + usev4ports = NULL; + usev6ports = NULL; + avoidv4ports = NULL; + avoidv6ports = NULL; + + (void)ns_config_get(maps, "use-v4-udp-ports", &usev4ports); + if (usev4ports != NULL) + portset_fromconf(v4portset, usev4ports, ISC_TRUE); + else { + CHECKM(isc_net_getudpportrange(AF_INET, &udpport_low, + &udpport_high), + "get the default UDP/IPv4 port range"); + if (udpport_low == udpport_high) + isc_portset_add(v4portset, udpport_low); + else { + isc_portset_addrange(v4portset, udpport_low, + udpport_high); + } + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, + NS_LOGMODULE_SERVER, ISC_LOG_INFO, + "using default UDP/IPv4 port range: [%d, %d]", + udpport_low, udpport_high); + } + (void)ns_config_get(maps, "avoid-v4-udp-ports", &avoidv4ports); + if (avoidv4ports != NULL) + portset_fromconf(v4portset, avoidv4ports, ISC_FALSE); + + (void)ns_config_get(maps, "use-v6-udp-ports", &usev6ports); + if (usev6ports != NULL) + portset_fromconf(v6portset, usev6ports, ISC_TRUE); + else { + CHECKM(isc_net_getudpportrange(AF_INET6, &udpport_low, + &udpport_high), + "get the default UDP/IPv6 port range"); + if (udpport_low == udpport_high) + isc_portset_add(v6portset, udpport_low); + else { + isc_portset_addrange(v6portset, udpport_low, + udpport_high); + } + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, + NS_LOGMODULE_SERVER, ISC_LOG_INFO, + "using default UDP/IPv6 port range: [%d, %d]", + udpport_low, udpport_high); + } + (void)ns_config_get(maps, "avoid-v6-udp-ports", &avoidv6ports); + if (avoidv6ports != NULL) + portset_fromconf(v6portset, avoidv6ports, ISC_FALSE); + + dns_dispatchmgr_setavailports(ns_g_dispatchmgr, v4portset, v6portset); /* * Set the EDNS UDP size when we don't match a view. @@ -3500,6 +3559,12 @@ load_configuration(const char *filename, ns_server_t *server, result = ISC_R_SUCCESS; cleanup: + if (v4portset != NULL) + isc_portset_destroy(ns_g_mctx, &v4portset); + + if (v6portset != NULL) + isc_portset_destroy(ns_g_mctx, &v6portset); + cfg_aclconfctx_destroy(&aclconfctx); if (parser != NULL) { diff --git a/bin/named/zoneconf.c b/bin/named/zoneconf.c index f569f893..7c00156f 100644 --- a/bin/named/zoneconf.c +++ b/bin/named/zoneconf.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: zoneconf.c,v 1.139.56.3 2008/05/21 23:26:11 each Exp $ */ +/* $Id: zoneconf.c,v 1.139.56.5 2008/05/29 23:46:34 tbox Exp $ */ /*% */ @@ -45,6 +45,15 @@ #include <named/server.h> #include <named/zoneconf.h> +/* ACLs associated with zone */ +typedef enum { + allow_notify, + allow_query, + allow_transfer, + allow_update, + allow_update_forwarding +} acl_type_t; + /*% * These are BIND9 server defaults, not necessarily identical to the * library defaults defined in zone.c. @@ -60,19 +69,69 @@ */ static isc_result_t configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t *vconfig, - const cfg_obj_t *config, const char *aclname, + const cfg_obj_t *config, acl_type_t acltype, cfg_aclconfctx_t *actx, dns_zone_t *zone, void (*setzacl)(dns_zone_t *, dns_acl_t *), void (*clearzacl)(dns_zone_t *)) { isc_result_t result; - const cfg_obj_t *maps[5]; + const cfg_obj_t *maps[5] = {NULL, NULL, NULL, NULL, NULL}; const cfg_obj_t *aclobj = NULL; int i = 0; - dns_acl_t *dacl = NULL; + dns_acl_t **aclp = NULL, *acl = NULL; + const char *aclname; + dns_view_t *view; - if (zconfig != NULL) - maps[i++] = cfg_tuple_get(zconfig, "options"); + view = dns_zone_getview(zone); + + switch (acltype) { + case allow_notify: + if (view != NULL) + aclp = &view->notifyacl; + aclname = "allow-notify"; + break; + case allow_query: + if (view != NULL) + aclp = &view->queryacl; + aclname = "allow-query"; + break; + case allow_transfer: + if (view != NULL) + aclp = &view->transferacl; + aclname = "allow-transfer"; + break; + case allow_update: + if (view != NULL) + aclp = &view->updateacl; + aclname = "allow-update"; + break; + case allow_update_forwarding: + if (view != NULL) + aclp = &view->upfwdacl; + aclname = "allow-update-forwarding"; + break; + default: + INSIST(0); + return (ISC_R_FAILURE); + } + + /* First check to see if ACL is defined within the zone */ + if (zconfig != NULL) { + maps[0] = cfg_tuple_get(zconfig, "options"); + ns_config_get(maps, aclname, &aclobj); + if (aclobj != NULL) { + aclp = NULL; + goto parse_acl; + } + } + + /* Failing that, see if there's a default ACL already in the view */ + if (aclp != NULL && *aclp != NULL) { + (*setzacl)(zone, *aclp); + return (ISC_R_SUCCESS); + } + + /* Check for default ACLs that haven't been parsed yet */ if (vconfig != NULL) maps[i++] = cfg_tuple_get(vconfig, "options"); if (config != NULL) { @@ -90,12 +149,18 @@ configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t *vconfig, return (ISC_R_SUCCESS); } +parse_acl: result = cfg_acl_fromconfig(aclobj, config, ns_g_lctx, actx, - dns_zone_getmctx(zone), 0, &dacl); + dns_zone_getmctx(zone), 0, &acl); if (result != ISC_R_SUCCESS) return (result); - (*setzacl)(zone, dacl); - dns_acl_detach(&dacl); + (*setzacl)(zone, acl); + + /* Set the view default now */ + if (aclp != NULL) + dns_acl_attach(acl, aclp); + + dns_acl_detach(&acl); return (ISC_R_SUCCESS); } @@ -454,14 +519,14 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (ztype == dns_zone_slave) RETERR(configure_zone_acl(zconfig, vconfig, config, - "allow-notify", ac, zone, + allow_notify, ac, zone, dns_zone_setnotifyacl, dns_zone_clearnotifyacl)); /* * XXXAG This probably does not make sense for stubs. */ RETERR(configure_zone_acl(zconfig, vconfig, config, - "allow-query", ac, zone, + allow_query, ac, zone, dns_zone_setqueryacl, dns_zone_clearqueryacl)); @@ -564,7 +629,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, dns_zone_setisself(zone, ns_client_isself, NULL); RETERR(configure_zone_acl(zconfig, vconfig, config, - "allow-transfer", ac, zone, + allow_transfer, ac, zone, dns_zone_setxfracl, dns_zone_clearxfracl)); @@ -655,7 +720,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (ztype == dns_zone_master) { dns_acl_t *updateacl; RETERR(configure_zone_acl(zconfig, vconfig, config, - "allow-update", ac, zone, + allow_update, ac, zone, dns_zone_setupdateacl, dns_zone_clearupdateacl)); @@ -754,7 +819,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, cfg_obj_asboolean(obj)); } else if (ztype == dns_zone_slave) { RETERR(configure_zone_acl(zconfig, vconfig, config, - "allow-update-forwarding", ac, zone, + allow_update_forwarding, ac, zone, dns_zone_setforwardacl, dns_zone_clearforwardacl)); } @@ -14,7 +14,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # -# $Id: configure,v 1.418.60.8 2008/05/06 01:33:33 each Exp $ +# $Id: configure,v 1.418.60.10 2008/06/24 00:10:49 jinmei Exp $ # # Portions Copyright (C) 1996-2001 Nominum, Inc. # @@ -872,6 +872,9 @@ EGREP ISC_SOCKADDR_LEN_T ISC_PLATFORM_HAVELONGLONG ISC_PLATFORM_HAVELIFCONF +ISC_PLATFORM_HAVEKQUEUE +ISC_PLATFORM_HAVEEPOLL +ISC_PLATFORM_HAVEDEVPOLL ISC_PLATFORM_NEEDSYSSELECTH LWRES_PLATFORM_NEEDSYSSELECTH USE_OPENSSL @@ -5283,6 +5286,354 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# +# check if we have kqueue +# +{ echo "$as_me:$LINENO: checking for kqueue" >&5 +echo $ECHO_N "checking for kqueue... $ECHO_C" >&6; } +if test "${ac_cv_func_kqueue+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define kqueue to an innocuous variant, in case <limits.h> declares kqueue. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define kqueue innocuous_kqueue + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char kqueue (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef kqueue + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char kqueue (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_kqueue || defined __stub___kqueue +choke me +#endif + +int +main () +{ +return kqueue (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_kqueue=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_kqueue=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_kqueue" >&5 +echo "${ECHO_T}$ac_cv_func_kqueue" >&6; } +if test $ac_cv_func_kqueue = yes; then + ac_cv_have_kqueue=yes +else + ac_cv_have_kqueue=no +fi + +case $ac_cv_have_kqueue in +yes) + ISC_PLATFORM_HAVEKQUEUE="#define ISC_PLATFORM_HAVEKQUEUE 1" + ;; +*) + ISC_PLATFORM_HAVEKQUEUE="#undef ISC_PLATFORM_HAVEKQUEUE" + ;; +esac + + +# +# check if we have epoll +# +{ echo "$as_me:$LINENO: checking for epoll_create" >&5 +echo $ECHO_N "checking for epoll_create... $ECHO_C" >&6; } +if test "${ac_cv_func_epoll_create+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define epoll_create to an innocuous variant, in case <limits.h> declares epoll_create. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define epoll_create innocuous_epoll_create + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char epoll_create (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef epoll_create + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char epoll_create (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_epoll_create || defined __stub___epoll_create +choke me +#endif + +int +main () +{ +return epoll_create (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_epoll_create=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_epoll_create=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_epoll_create" >&5 +echo "${ECHO_T}$ac_cv_func_epoll_create" >&6; } +if test $ac_cv_func_epoll_create = yes; then + ac_cv_have_epoll=yes +else + ac_cv_have_epoll=no +fi + +case $ac_cv_have_epoll in +yes) + ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1" + ;; +*) + ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL" + ;; +esac + + +# +# check if we support /dev/poll +# + +for ac_header in sys/devpoll.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + ISC_PLATFORM_HAVEDEVPOLL="#define ISC_PLATFORM_HAVEDEVPOLL 1" + +else + ISC_PLATFORM_HAVEDEVPOLL="#undef ISC_PLATFORM_HAVEDEVPOLL" + +fi + +done + + # # check if we need to #include sys/select.h explicitly @@ -9591,7 +9942,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 9594 "configure"' > conftest.$ac_ext + echo '#line 9945 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -11713,11 +12064,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11716: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12067: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11720: \$? = $ac_status" >&5 + echo "$as_me:12071: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -11956,11 +12307,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11959: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12310: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11963: \$? = $ac_status" >&5 + echo "$as_me:12314: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -12016,11 +12367,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12019: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12370: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12023: \$? = $ac_status" >&5 + echo "$as_me:12374: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14164,7 +14515,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 14167 "configure" +#line 14518 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14262,7 +14613,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 14265 "configure" +#line 14616 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16455,11 +16806,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16458: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16809: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16462: \$? = $ac_status" >&5 + echo "$as_me:16813: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -16515,11 +16866,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16518: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16869: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16522: \$? = $ac_status" >&5 + echo "$as_me:16873: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17843,7 +18194,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 17846 "configure" +#line 18197 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -17941,7 +18292,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 17944 "configure" +#line 18295 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18778,11 +19129,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18781: $lt_compile\"" >&5) + (eval echo "\"\$as_me:19132: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:18785: \$? = $ac_status" >&5 + echo "$as_me:19136: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -18838,11 +19189,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18841: $lt_compile\"" >&5) + (eval echo "\"\$as_me:19192: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:18845: \$? = $ac_status" >&5 + echo "$as_me:19196: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -20872,11 +21223,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:20875: $lt_compile\"" >&5) + (eval echo "\"\$as_me:21226: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:20879: \$? = $ac_status" >&5 + echo "$as_me:21230: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -21115,11 +21466,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:21118: $lt_compile\"" >&5) + (eval echo "\"\$as_me:21469: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:21122: \$? = $ac_status" >&5 + echo "$as_me:21473: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -21175,11 +21526,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:21178: $lt_compile\"" >&5) + (eval echo "\"\$as_me:21529: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:21182: \$? = $ac_status" >&5 + echo "$as_me:21533: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -23323,7 +23674,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 23326 "configure" +#line 23677 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -23421,7 +23772,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 23424 "configure" +#line 23775 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -30565,6 +30916,8 @@ else fi +mysql_include="" +mysql_lib="" if test "$use_dlz_mysql" = "yes" then # User did not specify a path - guess it @@ -30574,9 +30927,49 @@ then if test -f $d/include/mysql/mysql.h then use_dlz_mysql=$d + mysql_include=$d/include/mysql + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi + break + elif test -f $d/include/mysql.h + then + use_dlz_mysql=$d + mysql_include=$d/include + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi break fi done +elif test "$use_dlz_mysql" != "no" +then + d=$use_dlz_mysql + if test -f $d/include/mysql/mysql.h + then + mysql_include=$d/include/mysql + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi + elif test -f $d/include/mysql.h + then + mysql_include=$d/include + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi + fi fi if test "$use_dlz_mysql" = "yes" @@ -30601,18 +30994,18 @@ echo "${ECHO_T}no" >&6; } DLZ_DRIVER_SRCS="$DLZ_DRIVER_SRCS $dlzdir/$i.c" DLZ_DRIVER_OBJS="$DLZ_DRIVER_OBJS $i.$O" done - if test -n "-I$use_dlz_mysql/include/mysql" + if test -n "-I${mysql_include}" then - DLZ_DRIVER_INCLUDES="$DLZ_DRIVER_INCLUDES -I$use_dlz_mysql/include/mysql" + DLZ_DRIVER_INCLUDES="$DLZ_DRIVER_INCLUDES -I${mysql_include}" fi - if test -n "-L$use_dlz_mysql/lib/mysql -lmysqlclient -lz -lcrypt -lm" + if test -n "-L${mysql_lib} -lmysqlclient -lz -lcrypt -lm" then - DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L$use_dlz_mysql/lib/mysql -lmysqlclient -lz -lcrypt -lm" + DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L${mysql_lib} -lmysqlclient -lz -lcrypt -lm" fi - { echo "$as_me:$LINENO: result: using mysql from $use_dlz_mysql/lib/mysql and $use_dlz_mysql/include/mysql" >&5 -echo "${ECHO_T}using mysql from $use_dlz_mysql/lib/mysql and $use_dlz_mysql/include/mysql" >&6; } + { echo "$as_me:$LINENO: result: using mysql from ${mysql_lib} and ${mysql_include}" >&5 +echo "${ECHO_T}using mysql from ${mysql_lib} and ${mysql_include}" >&6; } ;; esac @@ -32018,6 +32411,9 @@ EGREP!$EGREP$ac_delim ISC_SOCKADDR_LEN_T!$ISC_SOCKADDR_LEN_T$ac_delim ISC_PLATFORM_HAVELONGLONG!$ISC_PLATFORM_HAVELONGLONG$ac_delim ISC_PLATFORM_HAVELIFCONF!$ISC_PLATFORM_HAVELIFCONF$ac_delim +ISC_PLATFORM_HAVEKQUEUE!$ISC_PLATFORM_HAVEKQUEUE$ac_delim +ISC_PLATFORM_HAVEEPOLL!$ISC_PLATFORM_HAVEEPOLL$ac_delim +ISC_PLATFORM_HAVEDEVPOLL!$ISC_PLATFORM_HAVEDEVPOLL$ac_delim ISC_PLATFORM_NEEDSYSSELECTH!$ISC_PLATFORM_NEEDSYSSELECTH$ac_delim LWRES_PLATFORM_NEEDSYSSELECTH!$LWRES_PLATFORM_NEEDSYSSELECTH$ac_delim USE_OPENSSL!$USE_OPENSSL$ac_delim @@ -32108,9 +32504,6 @@ ISC_PLATFORM_NEEDSTRLCAT!$ISC_PLATFORM_NEEDSTRLCAT$ac_delim ISC_PLATFORM_NEEDSPRINTF!$ISC_PLATFORM_NEEDSPRINTF$ac_delim LWRES_PLATFORM_NEEDSPRINTF!$LWRES_PLATFORM_NEEDSPRINTF$ac_delim ISC_PLATFORM_NEEDVSNPRINTF!$ISC_PLATFORM_NEEDVSNPRINTF$ac_delim -LWRES_PLATFORM_NEEDVSNPRINTF!$LWRES_PLATFORM_NEEDVSNPRINTF$ac_delim -ISC_EXTRA_OBJS!$ISC_EXTRA_OBJS$ac_delim -ISC_EXTRA_SRCS!$ISC_EXTRA_SRCS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -32152,6 +32545,9 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +LWRES_PLATFORM_NEEDVSNPRINTF!$LWRES_PLATFORM_NEEDVSNPRINTF$ac_delim +ISC_EXTRA_OBJS!$ISC_EXTRA_OBJS$ac_delim +ISC_EXTRA_SRCS!$ISC_EXTRA_SRCS$ac_delim USE_ISC_SPNEGO!$USE_ISC_SPNEGO$ac_delim DST_EXTRA_OBJS!$DST_EXTRA_OBJS$ac_delim DST_EXTRA_SRCS!$DST_EXTRA_SRCS$ac_delim @@ -32214,7 +32610,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 60; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 63; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure.in b/configure.in index 4ffa8d7b..5ee7a599 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl esyscmd([sed "s/^/# /" COPYRIGHT])dnl AC_DIVERT_POP()dnl -AC_REVISION($Revision: 1.432.60.9 $) +AC_REVISION($Revision: 1.432.60.10 $) AC_INIT(lib/dns/name.c) AC_PREREQ(2.59) @@ -317,6 +317,43 @@ lifconf.lifc_len = 0; ISC_PLATFORM_HAVELIFCONF="#undef ISC_PLATFORM_HAVELIFCONF"]) AC_SUBST(ISC_PLATFORM_HAVELIFCONF) +# +# check if we have kqueue +# +AC_CHECK_FUNC(kqueue, ac_cv_have_kqueue=yes, ac_cv_have_kqueue=no) +case $ac_cv_have_kqueue in +yes) + ISC_PLATFORM_HAVEKQUEUE="#define ISC_PLATFORM_HAVEKQUEUE 1" + ;; +*) + ISC_PLATFORM_HAVEKQUEUE="#undef ISC_PLATFORM_HAVEKQUEUE" + ;; +esac +AC_SUBST(ISC_PLATFORM_HAVEKQUEUE) + +# +# check if we have epoll +# +AC_CHECK_FUNC(epoll_create, ac_cv_have_epoll=yes, ac_cv_have_epoll=no) +case $ac_cv_have_epoll in +yes) + ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1" + ;; +*) + ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL" + ;; +esac +AC_SUBST(ISC_PLATFORM_HAVEEPOLL) + +# +# check if we support /dev/poll +# +AC_CHECK_HEADERS(sys/devpoll.h, +ISC_PLATFORM_HAVEDEVPOLL="#define ISC_PLATFORM_HAVEDEVPOLL 1" +, +ISC_PLATFORM_HAVEDEVPOLL="#undef ISC_PLATFORM_HAVEDEVPOLL" +) +AC_SUBST(ISC_PLATFORM_HAVEDEVPOLL) # # check if we need to #include sys/select.h explicitly diff --git a/contrib/dlz/config.dlz.in b/contrib/dlz/config.dlz.in index 0e4b2e58..f78e907a 100644 --- a/contrib/dlz/config.dlz.in +++ b/contrib/dlz/config.dlz.in @@ -123,6 +123,8 @@ AC_ARG_WITH(dlz_mysql, (Required to use MySQL with DLZ)], use_dlz_mysql="$withval", use_dlz_mysql="no") +mysql_include="" +mysql_lib="" if test "$use_dlz_mysql" = "yes" then # User did not specify a path - guess it @@ -132,9 +134,49 @@ then if test -f $d/include/mysql/mysql.h then use_dlz_mysql=$d + mysql_include=$d/include/mysql + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi + break + elif test -f $d/include/mysql.h + then + use_dlz_mysql=$d + mysql_include=$d/include + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi break fi done +elif test "$use_dlz_mysql" != "no" +then + d=$use_dlz_mysql + if test -f $d/include/mysql/mysql.h + then + mysql_include=$d/include/mysql + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi + elif test -f $d/include/mysql.h + then + mysql_include=$d/include + if test -d $d/lib/mysql + then + mysql_lib=$d/lib/mysql + else + mysql_lib=$d/lib + fi + fi fi if test "$use_dlz_mysql" = "yes" @@ -150,11 +192,11 @@ case "$use_dlz_mysql" in ;; *) DLZ_ADD_DRIVER(MYSQL, dlz_mysql_driver, - [-I$use_dlz_mysql/include/mysql], - [-L$use_dlz_mysql/lib/mysql -lmysqlclient -lz -lcrypt -lm]) + [-I${mysql_include}], + [-L${mysql_lib} -lmysqlclient -lz -lcrypt -lm]) AC_MSG_RESULT( -[using mysql from $use_dlz_mysql/lib/mysql and $use_dlz_mysql/include/mysql]) +[using mysql from ${mysql_lib} and ${mysql_include}]) ;; esac diff --git a/contrib/queryperf/utils/gen-data-queryperf.py b/contrib/queryperf/utils/gen-data-queryperf.py index b164025a..28eaa3f7 100644 --- a/contrib/queryperf/utils/gen-data-queryperf.py +++ b/contrib/queryperf/utils/gen-data-queryperf.py @@ -1,7 +1,7 @@ #!/usr/bin/python # -# $Id: gen-data-queryperf.py,v 1.1 2003/04/10 02:33:40 marka Exp $ +# $Id: gen-data-queryperf.py,v 1.1.1236.1 2008/06/13 18:18:04 jinmei Exp $ # # Contributed by Stephane Bortzmeyer <bortzmeyer@nic.fr> # @@ -32,9 +32,15 @@ percent_random = 0.3 gen = None zone_file = None domains = {} -domain_ns = "^([a-z0-9-]+)(\.([a-z0-9-\.]+|)|)( +IN|) +NS" +domain_ns = r'^([a-z0-9-\.]+)((\s+\d+)?(\s+IN)?|(\s+IN)(\s+\d+)?)\s+NS' domain_ns_re = re.compile(domain_ns, re.IGNORECASE) +def remove_tld(label, tld): + if label.endswith('.' + tld + '.'): + return label[0:-(1+ len(tld) + 1)] + else: + return label + def gen_random_label(): label = "" for i in range(gen.randint(1, maxsize)): @@ -52,7 +58,7 @@ def usage(): try: optlist, args = getopt.getopt(sys.argv[1:], "hp:f:n:t:m:", ["help", "percentrandom=", "zonefile=", - "num=", "tld=", + "number=", "tld=", "maxsize="]) for option, value in optlist: if option == "--help" or option == "-h": @@ -86,15 +92,22 @@ if zone_file: while line: domain_line = domain_ns_re.match(line) if domain_line: - domain = domain_line.group(1) + print domain_line.group(1) + domain = remove_tld(domain_line.group(1), tld) domains[domain] = 1 line = file.readline() file.close() +if zone_file: + domains = domains.keys() + if len(domains) == 0: + sys.stderr.write("No domains found in '%s'\n" % zone_file) + sys.exit(1) for i in range(num): if zone_file: if gen.random() < percent_random: - print make_domain(gen_random_label()) + sys.stdout.write(make_domain(gen_random_label())) else: - print make_domain(gen.choice(domains.keys())) + sys.stdout.write(make_domain(gen.choice(domains))) else: - print make_domain(gen_random_label()) + sys.stdout.write(make_domain(gen_random_label())) + sys.stdout.write("\n") diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index 0e31c0ba..c7e75484 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> -<!-- File: $Id: Bv9ARM-book.xml,v 1.340.24.11 2008/05/28 21:00:24 each Exp $ --> +<!-- File: $Id: Bv9ARM-book.xml,v 1.340.24.13 2008/06/24 00:09:11 jinmei Exp $ --> <book xmlns:xi="http://www.w3.org/2001/XInclude"> <title>BIND 9 Administrator Reference Manual</title> @@ -2937,6 +2937,33 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. <row rowsep="0"> <entry colname="1"> <para> + <varname>port_list</varname> + </para> + </entry> + <entry colname="2"> + <para> + A list of an <varname>ip_port</varname> or a port + range. + A port range is specified in the form of + <userinput>range</userinput> followed by + two <varname>ip_port</varname>s, + <varname>port_low</varname> and + <varname>port_high</varname>, which represents + port numbers from <varname>port_low</varname> through + <varname>port_high</varname>, inclusive. + <varname>port_low</varname> must not be larger than + <varname>port_high</varname>. + For example, + <userinput>range 1024 65535</userinput> represents + ports from 1024 through 65535. + In either case an asterisk (`*') character is not + allowed as a valid <varname>ip_port</varname>. + </para> + </entry> + </row> + <row rowsep="0"> + <entry colname="1"> + <para> <varname>size_spec</varname> </para> </entry> @@ -4492,7 +4519,9 @@ category notify { null; }; <optional> try-tcp-refresh <replaceable>yes_or_no</replaceable>; </optional> <optional> allow-v6-synthesis { <replaceable>address_match_list</replaceable> }; </optional> <optional> blackhole { <replaceable>address_match_list</replaceable> }; </optional> + <optional> use-v4-udp-ports { <replaceable>port_list</replaceable> }; </optional> <optional> avoid-v4-udp-ports { <replaceable>port_list</replaceable> }; </optional> + <optional> use-v6-udp-ports { <replaceable>port_list</replaceable> }; </optional> <optional> avoid-v6-udp-ports { <replaceable>port_list</replaceable> }; </optional> <optional> listen-on <optional> port <replaceable>ip_port</replaceable> </optional> { <replaceable>address_match_list</replaceable> }; </optional> <optional> listen-on-v6 <optional> port <replaceable>ip_port</replaceable> </optional> { <replaceable>address_match_list</replaceable> }; </optional> @@ -6242,29 +6271,98 @@ listen-on-v6 port 1234 { !2001:db8::/32; any; }; If <command>address</command> is <command>*</command> (asterisk) or is omitted, a wildcard IP address (<command>INADDR_ANY</command>) will be used. + </para> + + <para> If <command>port</command> is <command>*</command> or is omitted, - a random unprivileged port number is picked up and will be - used for each query. - Previously, the <command>use-queryport-pool</command> was provided - to support a pool of such random ports, but this option is now - obsolete because reusing the same ports in the pool is not - sufficiently secure. + a random port number from a pre-configured + range is picked up and will be used for each query. + The port range(s) is that specified in + the <command>use-v4-udp-ports</command> (for IPv4) + and <command>use-v6-udp-ports</command> (for IPv6) + options, excluding the ranges specified in + the <command>avoid-v4-udp-ports</command> + and <command>avoid-v6-udp-ports</command> options, respectively. + </para> + + <para> + The defaults of the <command>query-source</command> and + <command>query-source-v6</command> options + are: + </para> + +<programlisting>query-source address * port *; +query-source-v6 address * port *; +</programlisting> + + <para> + If <command>use-v4-udp-ports</command> or + <command>use-v6-udp-ports</command> is unspecified, + <command>named</command> will check if the operating + system provides a programming interface to retrieve the + system's default range for ephemeral ports. + If such an interface is available, + <command>named</command> will use the corresponding system + default range; otherwise, it will use its own defaults: + </para> + +<programlisting>use-v4-udp-ports { range 1024 65535; }; +use-v6-udp-ports { range 1024 65535; }; +</programlisting> + + <para> + Note: make sure the ranges be sufficiently large for + security. A desirable size depends on various parameters, + but we generally recommend it contain at least 16384 ports + (14 bits of entropy). + Note also that the system's default range when used may be + too small for this purpose, and that the range may even be + changed while <command>named</command> is running; the new + range will automatically be applied when <command>named</command> + is reloaded. + It is encouraged to + configure <command>use-v4-udp-ports</command> and + <command>use-v6-udp-ports</command> explicitly so that the + ranges are sufficiently large and are reasonably + independent from the ranges used by other applications. + </para> + + <para> + Note: the operational configuration + where <command>named</command> runs may prohibit the use + of some ports. For example, UNIX systems will not allow + <command>named</command> running without a root privilege + to use ports less than 1024. + If such ports are included in the specified (or detected) + set of query ports, the corresponding query attempts will + fail, resulting in resolution failures or delay. + It is therefore important to configure the set of ports + that can be safely used in the expected operational environment. + </para> + + <para> + The defaults of the <command>avoid-v4-udp-ports</command> and + <command>avoid-v6-udp-ports</command> options + are: + </para> + +<programlisting>avoid-v4-udp-ports {}; +avoid-v6-udp-ports {}; +</programlisting> + + <para> + Note: BIND 9.5.0 introduced + the <command>use-queryport-pool</command> + option to support a pool of such random ports, but this + option is now obsolete because reusing the same ports in + the pool may not be sufficiently secure. For the same reason, it is generally strongly discouraged to specify a particular port for the <command>query-source</command> or <command>query-source-v6</command> options; it implicitly disables the use of randomized port numbers. - The <command>avoid-v4-udp-ports</command> - and <command>avoid-v6-udp-ports</command> options can be used - to prevent named - from selecting certain ports. - The defaults are: </para> -<programlisting>query-source address * port *; -query-source-v6 address * port *; -</programlisting> - <variablelist> <varlistentry> <term><command>use-queryport-pool</command></term> @@ -6638,17 +6736,48 @@ query-source-v6 address * port *; </sect3> <sect3> - <title>Bad UDP Port Lists</title> - <para><command>avoid-v4-udp-ports</command> - and <command>avoid-v6-udp-ports</command> specify a list - of IPv4 and IPv6 UDP ports that will not be used as system - assigned source ports for UDP sockets. These lists - prevent named from choosing as its random source port a - port that is blocked by your firewall. If a query went - out with such a source port, the answer would not get by - the firewall and the name server would have to query - again. + <title>UDP Port Lists</title> + <para> + <command>use-v4-udp-ports</command>, + <command>avoid-v4-udp-ports</command>, + <command>use-v6-udp-ports</command>, and + <command>avoid-v6-udp-ports</command> + specify a list of IPv4 and IPv6 UDP ports that will be + used or not used as source ports for UDP messages. + See <xref linkend="query_address"/> about how the + available ports are determined. + For example, with the following configuration </para> + +<programlisting> +use-v6-udp-ports { range 32768 65535; }; +avoid-v6-udp-ports { 40000; range 50000 60000; }; +</programlisting> + + <para> + UDP ports of IPv6 messages sent + from <command>named</command> will be in one + of the following ranges: 32768 to 39999, 40001 to 49999, + and 60001 to 65535. + </para> + + <para> + <command>avoid-v4-udp-ports</command> and + <command>avoid-v6-udp-ports</command> can be used + to prevent <command>named</command> from choosing as its random source port a + port that is blocked by your firewall or a port that is + used by other applications; + if a query went out with a source port blocked by a + firewall, the + answer would not get by the firewall and the name server would + have to query again. + Note: the desired range can also be represented only with + <command>use-v4-udp-ports</command> and + <command>use-v6-udp-ports</command>, and the + <command>avoid-</command> options are redundant in that + sense; they are provided for backward compatibility and + to possibly simplify the port specification. + </para> </sect3> <sect3> @@ -9512,6 +9641,19 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea <row rowsep="0"> <entry colname="1"> <para> + DHCID + </para> + </entry> + <entry colname="2"> + <para> + Is used for identifying which DHCP client is + associated with this name. Described in RFC 4701. + </para> + </entry> + </row> + <row rowsep="0"> + <entry colname="1"> + <para> DNAME </para> </entry> @@ -9581,6 +9723,19 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea <row rowsep="0"> <entry colname="1"> <para> + IPSECKEY + </para> + </entry> + <entry colname="2"> + <para> + Provides a method for storing IPsec keying material in + DNS. Described in RFC 4025. + </para> + </entry> + </row> + <row rowsep="0"> + <entry colname="1"> + <para> ISDN </para> </entry> @@ -9819,6 +9974,19 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea <row rowsep="0"> <entry colname="1"> <para> + SPF + </para> + </entry> + <entry colname="2"> + <para> + Contains the Sender Policy Framework information + for a given email domain. Described in RFC 4408. + </para> + </entry> + </row> + <row rowsep="0"> + <entry colname="1"> + <para> SRV </para> </entry> @@ -9832,6 +10000,19 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea <row rowsep="0"> <entry colname="1"> <para> + SSHFP + </para> + </entry> + <entry colname="2"> + <para> + Provides a way to securly publish a secure shell key's + fingerprint. Described in RFC 4255. + </para> + </entry> + </row> + <row rowsep="0"> + <entry colname="1"> + <para> TXT </para> </entry> diff --git a/doc/arm/Bv9ARM.ch01.html b/doc/arm/Bv9ARM.ch01.html index cf83c2e8..22994f60 100644 --- a/doc/arm/Bv9ARM.ch01.html +++ b/doc/arm/Bv9ARM.ch01.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch01.html,v 1.38.18.3 2008/04/09 23:37:47 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch01.html,v 1.38.18.4 2008/05/29 01:41:57 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> diff --git a/doc/arm/Bv9ARM.ch02.html b/doc/arm/Bv9ARM.ch02.html index 0905f90d..63bd7756 100644 --- a/doc/arm/Bv9ARM.ch02.html +++ b/doc/arm/Bv9ARM.ch02.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch02.html,v 1.35.18.2 2008/03/15 01:41:35 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch02.html,v 1.35.18.3 2008/05/29 01:41:57 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> diff --git a/doc/arm/Bv9ARM.ch03.html b/doc/arm/Bv9ARM.ch03.html index 699f93d6..ac86710e 100644 --- a/doc/arm/Bv9ARM.ch03.html +++ b/doc/arm/Bv9ARM.ch03.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch03.html,v 1.67.18.2 2008/03/15 01:41:35 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch03.html,v 1.67.18.3 2008/05/29 01:41:57 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> diff --git a/doc/arm/Bv9ARM.ch04.html b/doc/arm/Bv9ARM.ch04.html index a5d213ba..fdf83981 100644 --- a/doc/arm/Bv9ARM.ch04.html +++ b/doc/arm/Bv9ARM.ch04.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch04.html,v 1.81.18.2 2008/03/15 01:41:35 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch04.html,v 1.81.18.3 2008/05/29 01:41:57 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> diff --git a/doc/arm/Bv9ARM.ch05.html b/doc/arm/Bv9ARM.ch05.html index 42a64ec0..27a6feae 100644 --- a/doc/arm/Bv9ARM.ch05.html +++ b/doc/arm/Bv9ARM.ch05.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch05.html,v 1.66.18.2 2008/03/15 01:41:35 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch05.html,v 1.66.18.3 2008/05/29 01:41:57 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html index eaaaf51a..fc03575f 100644 --- a/doc/arm/Bv9ARM.ch06.html +++ b/doc/arm/Bv9ARM.ch06.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch06.html,v 1.168.18.11 2008/05/27 22:36:09 each Exp $ --> +<!-- $Id: Bv9ARM.ch06.html,v 1.168.18.17 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -48,59 +48,59 @@ <dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt> <dd><dl> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573477">Comment Syntax</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573611">Comment Syntax</a></span></dt> </dl></dd> <dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt> <dd><dl> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574116"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574182"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574306"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574440"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574734"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574752"><span><strong class="command">include</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574869"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574954"><span><strong class="command">include</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574775"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574798"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575026"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575152"><span><strong class="command">logging</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574978"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575001"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575092"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575218"><span><strong class="command">logging</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576464"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576537"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576601"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576645"><span><strong class="command">masters</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576598"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576672"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576736"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576779"><span><strong class="command">masters</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576660"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576862"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2584781"><span><strong class="command">statistics-channels</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585194"><span><strong class="command">statistics-channels</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585533"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585585"><span><strong class="command">trusted-keys</strong></span> Statement Definition +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585878"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585929"><span><strong class="command">trusted-keys</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585667"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2586080"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587159"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587504"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt> </dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589437">Zone File</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589714">Zone File</a></span></dt> <dd><dl> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591459">Discussion of MX Records</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591965">Discussion of MX Records</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592147">Inverse Mapping in IPv4</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592342">Other Zone File Directives</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592599"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592585">Inverse Mapping in IPv4</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592712">Other Zone File Directives</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592901"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt> </dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2593067">BIND9 Statistics</a></span></dt> -<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2593348">Statistics Counters</a></span></dt></dl></dd> +<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2593437">BIND9 Statistics</a></span></dt> +<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2593854">Statistics Counters</a></span></dt></dl></dd> </dl> </div> <p> @@ -361,6 +361,33 @@ <tr> <td> <p> + <code class="varname">port_list</code> + </p> + </td> +<td> + <p> + A list of an <code class="varname">ip_port</code> or a port + range. + A port range is specified in the form of + <strong class="userinput"><code>range</code></strong> followed by + two <code class="varname">ip_port</code>s, + <code class="varname">port_low</code> and + <code class="varname">port_high</code>, which represents + port numbers from <code class="varname">port_low</code> through + <code class="varname">port_high</code>, inclusive. + <code class="varname">port_low</code> must not be larger than + <code class="varname">port_high</code>. + For example, + <strong class="userinput"><code>range 1024 65535</code></strong> represents + ports from 1024 through 65535. + In either case an asterisk (`*') character is not + allowed as a valid <code class="varname">ip_port</code>. + </p> + </td> +</tr> +<tr> +<td> + <p> <code class="varname">size_spec</code> </p> </td> @@ -434,7 +461,7 @@ <a name="address_match_lists"></a>Address Match Lists</h3></div></div></div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2573323"></a>Syntax</h4></div></div></div> +<a name="id2573389"></a>Syntax</h4></div></div></div> <pre class="programlisting"><code class="varname">address_match_list</code> = address_match_list_element ; [<span class="optional"> address_match_list_element; ... </span>] <code class="varname">address_match_list_element</code> = [<span class="optional"> ! </span>] (ip_address [<span class="optional">/length</span>] | @@ -443,7 +470,7 @@ </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2573351"></a>Definition and Usage</h4></div></div></div> +<a name="id2573417"></a>Definition and Usage</h4></div></div></div> <p> Address match lists are primarily used to determine access control for various server operations. They are also used in @@ -527,7 +554,7 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2573477"></a>Comment Syntax</h3></div></div></div> +<a name="id2573611"></a>Comment Syntax</h3></div></div></div> <p> The <acronym class="acronym">BIND</acronym> 9 comment syntax allows for comments to appear @@ -537,7 +564,7 @@ </p> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2573492"></a>Syntax</h4></div></div></div> +<a name="id2573626"></a>Syntax</h4></div></div></div> <p> </p> <pre class="programlisting">/* This is a <acronym class="acronym">BIND</acronym> comment as in C */</pre> @@ -552,7 +579,7 @@ </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2573590"></a>Definition and Usage</h4></div></div></div> +<a name="id2573656"></a>Definition and Usage</h4></div></div></div> <p> Comments may appear anywhere that whitespace may appear in a <acronym class="acronym">BIND</acronym> configuration file. @@ -797,7 +824,7 @@ </p> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2574116"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2574182"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div> <pre class="programlisting"><span><strong class="command">acl</strong></span> acl-name { address_match_list }; @@ -879,7 +906,7 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2574306"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2574440"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div> <pre class="programlisting"><span><strong class="command">controls</strong></span> { [ inet ( ip_addr | * ) [ port ip_port ] allow { <em class="replaceable"><code> address_match_list </code></em> } keys { <em class="replaceable"><code>key_list</code></em> }; ] @@ -1001,12 +1028,12 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2574734"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2574869"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div> <pre class="programlisting"><span><strong class="command">include</strong></span> <em class="replaceable"><code>filename</code></em>;</pre> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2574752"></a><span><strong class="command">include</strong></span> Statement Definition and +<a name="id2574954"></a><span><strong class="command">include</strong></span> Statement Definition and Usage</h3></div></div></div> <p> The <span><strong class="command">include</strong></span> statement inserts the @@ -1021,7 +1048,7 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2574775"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2574978"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div> <pre class="programlisting"><span><strong class="command">key</strong></span> <em class="replaceable"><code>key_id</code></em> { algorithm <em class="replaceable"><code>string</code></em>; secret <em class="replaceable"><code>string</code></em>; @@ -1030,7 +1057,7 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2574798"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div> +<a name="id2575001"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div> <p> The <span><strong class="command">key</strong></span> statement defines a shared secret key for use with TSIG (see <a href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called “TSIG”</a>) @@ -1077,7 +1104,7 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2575026"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2575092"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div> <pre class="programlisting"><span><strong class="command">logging</strong></span> { [ <span><strong class="command">channel</strong></span> <em class="replaceable"><code>channel_name</code></em> { ( <span><strong class="command">file</strong></span> <em class="replaceable"><code>path name</code></em> @@ -1101,7 +1128,7 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2575152"></a><span><strong class="command">logging</strong></span> Statement Definition and +<a name="id2575218"></a><span><strong class="command">logging</strong></span> Statement Definition and Usage</h3></div></div></div> <p> The <span><strong class="command">logging</strong></span> statement configures a @@ -1135,7 +1162,7 @@ </p> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2575204"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div> +<a name="id2575270"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div> <p> All log output goes to one or more <span class="emphasis"><em>channels</em></span>; you can make as many of them as you want. @@ -1691,7 +1718,7 @@ category notify { null; }; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2576464"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2576598"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div> <p> This is the grammar of the <span><strong class="command">lwres</strong></span> statement in the <code class="filename">named.conf</code> file: @@ -1706,7 +1733,7 @@ category notify { null; }; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2576537"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div> +<a name="id2576672"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div> <p> The <span><strong class="command">lwres</strong></span> statement configures the name @@ -1757,14 +1784,14 @@ category notify { null; }; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2576601"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2576736"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div> <pre class="programlisting"> <span><strong class="command">masters</strong></span> <em class="replaceable"><code>name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] }; </pre> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2576645"></a><span><strong class="command">masters</strong></span> Statement Definition and +<a name="id2576779"></a><span><strong class="command">masters</strong></span> Statement Definition and Usage</h3></div></div></div> <p><span><strong class="command">masters</strong></span> lists allow for a common set of masters to be easily used by @@ -1773,7 +1800,7 @@ category notify { null; }; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2576660"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2576862"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div> <p> This is the grammar of the <span><strong class="command">options</strong></span> statement in the <code class="filename">named.conf</code> file: @@ -1845,7 +1872,9 @@ category notify { null; }; [<span class="optional"> try-tcp-refresh <em class="replaceable"><code>yes_or_no</code></em>; </span>] [<span class="optional"> allow-v6-synthesis { <em class="replaceable"><code>address_match_list</code></em> }; </span>] [<span class="optional"> blackhole { <em class="replaceable"><code>address_match_list</code></em> }; </span>] + [<span class="optional"> use-v4-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>] [<span class="optional"> avoid-v4-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>] + [<span class="optional"> use-v6-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>] [<span class="optional"> avoid-v6-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>] [<span class="optional"> listen-on [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em> </span>] { <em class="replaceable"><code>address_match_list</code></em> }; </span>] [<span class="optional"> listen-on-v6 [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em> </span>] { <em class="replaceable"><code>address_match_list</code></em> }; </span>] @@ -2764,7 +2793,7 @@ options { Enable DNSSEC validation in named. Note <span><strong class="command">dnssec-enable</strong></span> also needs to be set to <strong class="userinput"><code>yes</code></strong> to be effective. - The default is <strong class="userinput"><code>no</code></strong>. + The default is <strong class="userinput"><code>yes</code></strong>. </p></dd> <dt><span class="term"><span><strong class="command">dnssec-accept-expired</strong></span></span></dt> <dd><p> @@ -2888,7 +2917,7 @@ options { </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2580872"></a>Forwarding</h4></div></div></div> +<a name="id2580951"></a>Forwarding</h4></div></div></div> <p> The forwarding facility can be used to create a large site-wide cache on a few servers, reducing traffic over links to external @@ -2932,7 +2961,7 @@ options { </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2580931"></a>Dual-stack Servers</h4></div></div></div> +<a name="id2581010"></a>Dual-stack Servers</h4></div></div></div> <p> Dual-stack servers are used as servers of last resort to work around @@ -3128,7 +3157,7 @@ options { </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2581495"></a>Interfaces</h4></div></div></div> +<a name="id2581506"></a>Interfaces</h4></div></div></div> <p> The interfaces and ports that the server will answer queries from may be specified using the <span><strong class="command">listen-on</strong></span> option. <span><strong class="command">listen-on</strong></span> takes @@ -3217,39 +3246,99 @@ listen-on-v6 port 1234 { !2001:db8::/32; any; }; If <span><strong class="command">address</strong></span> is <span><strong class="command">*</strong></span> (asterisk) or is omitted, a wildcard IP address (<span><strong class="command">INADDR_ANY</strong></span>) will be used. + </p> +<p> If <span><strong class="command">port</strong></span> is <span><strong class="command">*</strong></span> or is omitted, - a random unprivileged port number is picked up and will be - used for each query. - Previously, the <command>use-queryport-pool</command> was provided - to support a pool of such random ports, but this option is now - obsolete because reusing the same ports in the pool is not - sufficiently secure. - For the same reason, it is generally strongly discouraged to - specify a particular port for the - <span><strong class="command">query-source</strong></span> or - <span><strong class="command">query-source-v6</strong></span> - options; it implicitly disables the use of randomized port numbers. - The <span><strong class="command">avoid-v4-udp-ports</strong></span> - and <span><strong class="command">avoid-v6-udp-ports</strong></span> options can be used - to prevent named - from selecting certain ports. - The defaults are: + a random port number from a pre-configured + range is picked up and will be used for each query. + The port range(s) is that specified in + the <span><strong class="command">use-v4-udp-ports</strong></span> (for IPv4) + and <span><strong class="command">use-v6-udp-ports</strong></span> (for IPv6) + options, excluding the ranges specified in + the <span><strong class="command">avoid-v4-udp-ports</strong></span> + and <span><strong class="command">avoid-v6-udp-ports</strong></span> options, respectively. + </p> +<p> + The defaults of the <span><strong class="command">query-source</strong></span> and + <span><strong class="command">query-source-v6</strong></span> options + are: </p> <pre class="programlisting">query-source address * port *; query-source-v6 address * port *; </pre> +<p> + If <span><strong class="command">use-v4-udp-ports</strong></span> or + <span><strong class="command">use-v6-udp-ports</strong></span> is unspecified, + <span><strong class="command">named</strong></span> will check if the operating + system provides a programming interface to retrieve the + system's default range for ephemeral ports. + If such an interface is available, + <span><strong class="command">named</strong></span> will use the corresponding system + default range; otherwise, it will use its own defaults: + </p> +<pre class="programlisting">use-v4-udp-ports { range 1024 65535; }; +use-v6-udp-ports { range 1024 65535; }; +</pre> +<p> + Note: make sure the ranges be sufficiently large for + security. A desirable size depends on various parameters, + but we generally recommend it contain at least 16384 ports + (14 bits of entropy). + Note also that the system's default range when used may be + too small for this purpose, and that the range may even be + changed while <span><strong class="command">named</strong></span> is running; the new + range will automatically be applied when <span><strong class="command">named</strong></span> + is reloaded. + It is encouraged to + configure <span><strong class="command">use-v4-udp-ports</strong></span> and + <span><strong class="command">use-v6-udp-ports</strong></span> explicitly so that the + ranges are sufficiently large and are reasonably + independent from the ranges used by other applications. + </p> +<p> + Note: the operational configuration + where <span><strong class="command">named</strong></span> runs may prohibit the use + of some ports. For example, UNIX systems will not allow + <span><strong class="command">named</strong></span> running without a root privilege + to use ports less than 1024. + If such ports are included in the specified (or detected) + set of query ports, the corresponding query attempts will + fail, resulting in resolution failures or delay. + It is therefore important to configure the set of ports + that can be safely used in the expected operational environment. + </p> +<p> + The defaults of the <span><strong class="command">avoid-v4-udp-ports</strong></span> and + <span><strong class="command">avoid-v6-udp-ports</strong></span> options + are: + </p> +<pre class="programlisting">avoid-v4-udp-ports {}; +avoid-v6-udp-ports {}; +</pre> +<p> + Note: BIND 9.5.0 introduced + the <span><strong class="command">use-queryport-pool</strong></span> + option to support a pool of such random ports, but this + option is now obsolete because reusing the same ports in + the pool may not be sufficiently secure. + For the same reason, it is generally strongly discouraged to + specify a particular port for the + <span><strong class="command">query-source</strong></span> or + <span><strong class="command">query-source-v6</strong></span> options; + it implicitly disables the use of randomized port numbers. + </p> <div class="variablelist"><dl> <dt><span class="term"><span><strong class="command">use-queryport-pool</strong></span></span></dt> <dd><p> - This option is obsolete. + This option is obsolete. </p></dd> <dt><span class="term"><span><strong class="command">queryport-pool-ports</strong></span></span></dt> <dd><p> - This option is obsolete. + This option is obsolete. </p></dd> <dt><span class="term"><span><strong class="command">queryport-pool-updateinterval</strong></span></span></dt> <dd><p> - This option is obsolete. + This option is obsolete. </p></dd> </dl></div> <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"> @@ -3513,21 +3602,49 @@ query-source-v6 address * port *; </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2582530"></a>Bad UDP Port Lists</h4></div></div></div> -<p><span><strong class="command">avoid-v4-udp-ports</strong></span> - and <span><strong class="command">avoid-v6-udp-ports</strong></span> specify a list - of IPv4 and IPv6 UDP ports that will not be used as system - assigned source ports for UDP sockets. These lists - prevent named from choosing as its random source port a - port that is blocked by your firewall. If a query went - out with such a source port, the answer would not get by - the firewall and the name server would have to query - again. +<a name="id2582761"></a>UDP Port Lists</h4></div></div></div> +<p> + <span><strong class="command">use-v4-udp-ports</strong></span>, + <span><strong class="command">avoid-v4-udp-ports</strong></span>, + <span><strong class="command">use-v6-udp-ports</strong></span>, and + <span><strong class="command">avoid-v6-udp-ports</strong></span> + specify a list of IPv4 and IPv6 UDP ports that will be + used or not used as source ports for UDP messages. + See <a href="Bv9ARM.ch06.html#query_address" title="Query Address">the section called “Query Address”</a> about how the + available ports are determined. + For example, with the following configuration </p> +<pre class="programlisting"> +use-v6-udp-ports { range 32768 65535; }; +avoid-v6-udp-ports { 40000; range 50000 60000; }; +</pre> +<p> + UDP ports of IPv6 messages sent + from <span><strong class="command">named</strong></span> will be in one + of the following ranges: 32768 to 39999, 40001 to 49999, + and 60001 to 65535. + </p> +<p> + <span><strong class="command">avoid-v4-udp-ports</strong></span> and + <span><strong class="command">avoid-v6-udp-ports</strong></span> can be used + to prevent <span><strong class="command">named</strong></span> from choosing as its random source port a + port that is blocked by your firewall or a port that is + used by other applications; + if a query went out with a source port blocked by a + firewall, the + answer would not get by the firewall and the name server would + have to query again. + Note: the desired range can also be represented only with + <span><strong class="command">use-v4-udp-ports</strong></span> and + <span><strong class="command">use-v6-udp-ports</strong></span>, and the + <span><strong class="command">avoid-</strong></span> options are redundant in that + sense; they are provided for backward compatibility and + to possibly simplify the port specification. + </p> </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2582545"></a>Operating System Resource Limits</h4></div></div></div> +<a name="id2582821"></a>Operating System Resource Limits</h4></div></div></div> <p> The server's usage of many system resources can be limited. Scaled values are allowed when specifying resource limits. For @@ -3586,7 +3703,7 @@ query-source-v6 address * port *; </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2582660"></a>Server Resource Limits</h4></div></div></div> +<a name="id2582936"></a>Server Resource Limits</h4></div></div></div> <p> The following options set limits on the server's resource consumption that are enforced internally by the @@ -3662,7 +3779,7 @@ query-source-v6 address * port *; </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2582861"></a>Periodic Task Intervals</h4></div></div></div> +<a name="id2583069"></a>Periodic Task Intervals</h4></div></div></div> <div class="variablelist"><dl> <dt><span class="term"><span><strong class="command">cleaning-interval</strong></span></span></dt> <dd><p> @@ -4415,7 +4532,7 @@ query-source-v6 address * port *; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2584781"></a><span><strong class="command">statistics-channels</strong></span> Statement Definition and +<a name="id2585194"></a><span><strong class="command">statistics-channels</strong></span> Statement Definition and Usage</h3></div></div></div> <p> The <span><strong class="command">statistics-channels</strong></span> statement @@ -4660,7 +4777,7 @@ query-source-v6 address * port *; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2585533"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div> +<a name="id2585878"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div> <pre class="programlisting"><span><strong class="command">trusted-keys</strong></span> { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional"> <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional">...</span>]</span>] @@ -4669,7 +4786,7 @@ query-source-v6 address * port *; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2585585"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition +<a name="id2585929"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition and Usage</h3></div></div></div> <p> The <span><strong class="command">trusted-keys</strong></span> statement defines @@ -4712,7 +4829,7 @@ query-source-v6 address * port *; </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2585667"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div> +<a name="id2586080"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div> <p> The <span><strong class="command">view</strong></span> statement is a powerful feature @@ -4971,10 +5088,10 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2587159"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div> +<a name="id2587504"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2587166"></a>Zone Types</h4></div></div></div> +<a name="id2587511"></a>Zone Types</h4></div></div></div> <div class="informaltable"><table border="1"> <colgroup> <col> @@ -5183,7 +5300,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2587722"></a>Class</h4></div></div></div> +<a name="id2588067"></a>Class</h4></div></div></div> <p> The zone's name may optionally be followed by a class. If a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>), @@ -5205,7 +5322,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2587755"></a>Zone Options</h4></div></div></div> +<a name="id2588100"></a>Zone Options</h4></div></div></div> <div class="variablelist"><dl> <dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt> <dd><p> @@ -5706,7 +5823,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2589437"></a>Zone File</h2></div></div></div> +<a name="id2589714"></a>Zone File</h2></div></div></div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="types_of_resource_records_and_when_to_use_them"></a>Types of Resource Records and When to Use Them</h3></div></div></div> @@ -5719,7 +5836,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </p> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2589456"></a>Resource Records</h4></div></div></div> +<a name="id2589732"></a>Resource Records</h4></div></div></div> <p> A domain name identifies a node. Each node has a set of resource information, which may be empty. The set of resource @@ -5914,6 +6031,19 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" <tr> <td> <p> + DHCID + </p> + </td> +<td> + <p> + Is used for identifying which DHCP client is + associated with this name. Described in RFC 4701. + </p> + </td> +</tr> +<tr> +<td> + <p> DNAME </p> </td> @@ -5983,6 +6113,19 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" <tr> <td> <p> + IPSECKEY + </p> + </td> +<td> + <p> + Provides a method for storing IPsec keying material in + DNS. Described in RFC 4025. + </p> + </td> +</tr> +<tr> +<td> + <p> ISDN </p> </td> @@ -6221,6 +6364,19 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" <tr> <td> <p> + SPF + </p> + </td> +<td> + <p> + Contains the Sender Policy Framework information + for a given email domain. Described in RFC 4408. + </p> + </td> +</tr> +<tr> +<td> + <p> SRV </p> </td> @@ -6234,6 +6390,19 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" <tr> <td> <p> + SSHFP + </p> + </td> +<td> + <p> + Provides a way to securly publish a secure shell key's + fingerprint. Described in RFC 4255. + </p> + </td> +</tr> +<tr> +<td> + <p> TXT </p> </td> @@ -6370,7 +6539,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2590870"></a>Textual expression of RRs</h4></div></div></div> +<a name="id2591377"></a>Textual expression of RRs</h4></div></div></div> <p> RRs are represented in binary form in the packets of the DNS protocol, and are usually represented in highly encoded form @@ -6573,7 +6742,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2591459"></a>Discussion of MX Records</h3></div></div></div> +<a name="id2591965"></a>Discussion of MX Records</h3></div></div></div> <p> As described above, domain servers store information as a series of resource records, each of which contains a particular @@ -6831,7 +7000,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2592147"></a>Inverse Mapping in IPv4</h3></div></div></div> +<a name="id2592585"></a>Inverse Mapping in IPv4</h3></div></div></div> <p> Reverse name resolution (that is, translation from IP address to name) is achieved by means of the <span class="emphasis"><em>in-addr.arpa</em></span> domain @@ -6892,7 +7061,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2592342"></a>Other Zone File Directives</h3></div></div></div> +<a name="id2592712"></a>Other Zone File Directives</h3></div></div></div> <p> The Master File Format was initially defined in RFC 1035 and has subsequently been extended. While the Master File Format @@ -6907,7 +7076,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional" </p> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2592433"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div> +<a name="id2592734"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div> <p> Syntax: <span><strong class="command">$ORIGIN</strong></span> <em class="replaceable"><code>domain-name</code></em> @@ -6935,7 +7104,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM. </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2592493"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div> +<a name="id2592795"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div> <p> Syntax: <span><strong class="command">$INCLUDE</strong></span> <em class="replaceable"><code>filename</code></em> @@ -6971,7 +7140,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM. </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2592563"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div> +<a name="id2592865"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div> <p> Syntax: <span><strong class="command">$TTL</strong></span> <em class="replaceable"><code>default-ttl</code></em> @@ -6990,7 +7159,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM. </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2592599"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div> +<a name="id2592901"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div> <p> Syntax: <span><strong class="command">$GENERATE</strong></span> <em class="replaceable"><code>range</code></em> @@ -7195,7 +7364,7 @@ $GENERATE 1-127 $ CNAME $.0</pre> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2593067"></a>BIND9 Statistics</h2></div></div></div> +<a name="id2593437"></a>BIND9 Statistics</h2></div></div></div> <p> <acronym class="acronym">BIND</acronym> 9 maintains lots of statistics information and provides several interfaces for users to @@ -7352,7 +7521,7 @@ $GENERATE 1-127 $ CNAME $.0</pre> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2593348"></a>Statistics Counters</h3></div></div></div> +<a name="id2593854"></a>Statistics Counters</h3></div></div></div> <p> The following tables summarize statistics counters that <acronym class="acronym">BIND</acronym> 9 provides. @@ -7371,7 +7540,7 @@ $GENERATE 1-127 $ CNAME $.0</pre> </p> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2593364"></a>Name Server Statistics Counters</h4></div></div></div> +<a name="id2593870"></a>Name Server Statistics Counters</h4></div></div></div> <div class="informaltable"><table border="1"> <colgroup> <col> @@ -7912,7 +8081,7 @@ $GENERATE 1-127 $ CNAME $.0</pre> </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2594955"></a>Zone Maintenance Statistics Counters</h4></div></div></div> +<a name="id2595394"></a>Zone Maintenance Statistics Counters</h4></div></div></div> <div class="informaltable"><table border="1"> <colgroup> <col> @@ -8066,7 +8235,7 @@ $GENERATE 1-127 $ CNAME $.0</pre> </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2595338"></a>Resolver Statistics Counters</h4></div></div></div> +<a name="id2595845"></a>Resolver Statistics Counters</h4></div></div></div> <div class="informaltable"><table border="1"> <colgroup> <col> @@ -8372,7 +8541,7 @@ $GENERATE 1-127 $ CNAME $.0</pre> </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2596328"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div> +<a name="id2596698"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div> <p> Most statistics counters that were available in <span><strong class="command">BIND</strong></span> 8 are also supported in diff --git a/doc/arm/Bv9ARM.ch07.html b/doc/arm/Bv9ARM.ch07.html index 1e27757a..be2048ea 100644 --- a/doc/arm/Bv9ARM.ch07.html +++ b/doc/arm/Bv9ARM.ch07.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch07.html,v 1.152.18.9 2008/05/06 01:41:46 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch07.html,v 1.152.18.14 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -46,10 +46,10 @@ <p><b>Table of Contents</b></p> <dl> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt> -<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2596516"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2596886"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt> <dd><dl> -<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2596593">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2596652">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2597031">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2597091">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt> </dl></dd> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt> </dl> @@ -119,7 +119,7 @@ zone "example.com" { </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2596516"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span> +<a name="id2596886"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span> </h2></div></div></div> <p> On UNIX servers, it is possible to run <acronym class="acronym">BIND</acronym> in a <span class="emphasis"><em>chrooted</em></span> environment @@ -143,7 +143,7 @@ zone "example.com" { </p> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2596593"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div> +<a name="id2597031"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div> <p> In order for a <span><strong class="command">chroot</strong></span> environment to @@ -171,7 +171,7 @@ zone "example.com" { </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2596652"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div> +<a name="id2597091"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div> <p> Prior to running the <span><strong class="command">named</strong></span> daemon, use diff --git a/doc/arm/Bv9ARM.ch08.html b/doc/arm/Bv9ARM.ch08.html index 5fd71b22..ecc993d6 100644 --- a/doc/arm/Bv9ARM.ch08.html +++ b/doc/arm/Bv9ARM.ch08.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch08.html,v 1.153.18.9 2008/05/06 01:41:47 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch08.html,v 1.153.18.14 2008/06/24 01:42:13 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -45,18 +45,18 @@ <div class="toc"> <p><b>Table of Contents</b></p> <dl> -<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2596732">Common Problems</a></span></dt> -<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2596738">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2596749">Incrementing and Changing the Serial Number</a></span></dt> -<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2596766">Where Can I Get Help?</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2597239">Common Problems</a></span></dt> +<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2597244">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd> +<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2597256">Incrementing and Changing the Serial Number</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2597341">Where Can I Get Help?</a></span></dt> </dl> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2596732"></a>Common Problems</h2></div></div></div> +<a name="id2597239"></a>Common Problems</h2></div></div></div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2596738"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div> +<a name="id2597244"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div> <p> The best solution to solving installation and configuration issues is to take preventative measures by setting @@ -68,7 +68,7 @@ </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2596749"></a>Incrementing and Changing the Serial Number</h2></div></div></div> +<a name="id2597256"></a>Incrementing and Changing the Serial Number</h2></div></div></div> <p> Zone serial numbers are just numbers — they aren't date related. A lot of people set them to a number that @@ -95,7 +95,7 @@ </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2596766"></a>Where Can I Get Help?</h2></div></div></div> +<a name="id2597341"></a>Where Can I Get Help?</h2></div></div></div> <p> The Internet Systems Consortium (<acronym class="acronym">ISC</acronym>) offers a wide range diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html index 721127f8..10ef3f1c 100644 --- a/doc/arm/Bv9ARM.ch09.html +++ b/doc/arm/Bv9ARM.ch09.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch09.html,v 1.154.18.9 2008/05/06 01:41:47 tbox Exp $ --> +<!-- $Id: Bv9ARM.ch09.html,v 1.154.18.14 2008/06/24 01:42:13 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -45,21 +45,21 @@ <div class="toc"> <p><b>Table of Contents</b></p> <dl> -<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2596828">Acknowledgments</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2597403">Acknowledgments</a></span></dt> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2597137">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2597575">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt> <dd><dl> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2600348">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2600787">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt> </dl></dd> </dl> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2596828"></a>Acknowledgments</h2></div></div></div> +<a name="id2597403"></a>Acknowledgments</h2></div></div></div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="historical_dns_information"></a>A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym> @@ -164,7 +164,7 @@ </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id2597137"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div> +<a name="id2597575"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="ipv6addresses"></a>IPv6 addresses (AAAA)</h3></div></div></div> @@ -252,17 +252,17 @@ </p> <div class="bibliography"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2597324"></a>Bibliography</h4></div></div></div> +<a name="id2597763"></a>Bibliography</h4></div></div></div> <div class="bibliodiv"> <h3 class="title">Standards</h3> <div class="biblioentry"> -<a name="id2597335"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p> +<a name="id2597773"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p> </div> <div class="biblioentry"> -<a name="id2597427"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p> +<a name="id2597797"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p> </div> <div class="biblioentry"> -<a name="id2597450"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Implementation and +<a name="id2597820"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Implementation and Specification</i>. </span><span class="pubdate">November 1987. </span></p> </div> </div> @@ -270,42 +270,42 @@ <h3 class="title"> <a name="proposed_standards"></a>Proposed Standards</h3> <div class="biblioentry"> -<a name="id2597486"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym> +<a name="id2597857"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym> Specification</i>. </span><span class="pubdate">July 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2597513"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym> +<a name="id2597883"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym> Queries</i>. </span><span class="pubdate">March 1998. </span></p> </div> <div class="biblioentry"> -<a name="id2597539"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p> +<a name="id2597909"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p> </div> <div class="biblioentry"> -<a name="id2597563"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p> +<a name="id2597933"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p> </div> <div class="biblioentry"> -<a name="id2597587"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p> +<a name="id2597957"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2597642"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p> +<a name="id2598012"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2597669"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p> +<a name="id2598039"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2597696"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p> +<a name="id2598066"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2597757"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p> +<a name="id2598128"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2597787"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p> +<a name="id2598157"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2597817"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p> +<a name="id2598187"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2597844"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret +<a name="id2598214"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-TSIG)</i>. </span><span class="pubdate">October 2003. </span></p> </div> @@ -314,19 +314,19 @@ <h3 class="title"> <acronym class="acronym">DNS</acronym> Security Proposed Standards</h3> <div class="biblioentry"> -<a name="id2597926"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p> +<a name="id2598296"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p> </div> <div class="biblioentry"> -<a name="id2597953"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p> +<a name="id2598323"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p> </div> <div class="biblioentry"> -<a name="id2597989"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p> +<a name="id2598359"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p> </div> <div class="biblioentry"> -<a name="id2598054"></a><p>[<abbr class="abbrev">RFC4044</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p> +<a name="id2598424"></a><p>[<abbr class="abbrev">RFC4044</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p> </div> <div class="biblioentry"> -<a name="id2598119"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS +<a name="id2598489"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p> </div> </div> @@ -334,146 +334,146 @@ <h3 class="title">Other Important RFCs About <acronym class="acronym">DNS</acronym> Implementation</h3> <div class="biblioentry"> -<a name="id2598193"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely +<a name="id2598563"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely Deployed <acronym class="acronym">DNS</acronym> Software.</i>. </span><span class="pubdate">October 1993. </span></p> </div> <div class="biblioentry"> -<a name="id2598218"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation +<a name="id2598588"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation Errors and Suggested Fixes</i>. </span><span class="pubdate">October 1993. </span></p> </div> <div class="biblioentry"> -<a name="id2598286"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p> +<a name="id2598725"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p> </div> <div class="biblioentry"> -<a name="id2598322"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym> +<a name="id2598760"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym> Queries for IPv6 Addresses</i>. </span><span class="pubdate">May 2005. </span></p> </div> </div> <div class="bibliodiv"> <h3 class="title">Resource Record Types</h3> <div class="biblioentry"> -<a name="id2598368"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p> +<a name="id2598806"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p> </div> <div class="biblioentry"> -<a name="id2598425"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p> +<a name="id2598864"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p> </div> <div class="biblioentry"> -<a name="id2598462"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using +<a name="id2598901"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using the Domain Name System</i>. </span><span class="pubdate">June 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2598498"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the +<a name="id2598936"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the Domain Name System</i>. </span><span class="pubdate">January 1996. </span></p> </div> <div class="biblioentry"> -<a name="id2598620"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the +<a name="id2598990"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the Location of Services.</i>. </span><span class="pubdate">October 1996. </span></p> </div> <div class="biblioentry"> -<a name="id2598659"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to +<a name="id2599029"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to Distribute MIXER Conformant Global Address Mapping</i>. </span><span class="pubdate">January 1998. </span></p> </div> <div class="biblioentry"> -<a name="id2598684"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p> +<a name="id2599054"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2598710"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> +<a name="id2599080"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2598737"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> +<a name="id2599107"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2598763"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> +<a name="id2599133"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2598803"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> +<a name="id2599173"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2598833"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p> +<a name="id2599203"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2598862"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p> +<a name="id2599233"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2598905"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p> +<a name="id2599275"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2598938"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p> +<a name="id2599308"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p> </div> <div class="biblioentry"> -<a name="id2598965"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p> +<a name="id2599335"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p> </div> <div class="biblioentry"> -<a name="id2598988"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP +<a name="id2599358"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP version 6</i>. </span><span class="pubdate">October 2003. </span></p> </div> <div class="biblioentry"> -<a name="id2599046"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p> +<a name="id2599484"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p> </div> </div> <div class="bibliodiv"> <h3 class="title"> <acronym class="acronym">DNS</acronym> and the Internet</h3> <div class="biblioentry"> -<a name="id2599078"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names +<a name="id2599516"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names and Other Types</i>. </span><span class="pubdate">April 1989. </span></p> </div> <div class="biblioentry"> -<a name="id2599104"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and +<a name="id2599542"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and Support</i>. </span><span class="pubdate">October 1989. </span></p> </div> <div class="biblioentry"> -<a name="id2599126"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p> +<a name="id2599564"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p> </div> <div class="biblioentry"> -<a name="id2599149"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p> +<a name="id2599588"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p> </div> <div class="biblioentry"> -<a name="id2599195"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p> +<a name="id2599634"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2599219"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p> +<a name="id2599657"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p> </div> </div> <div class="bibliodiv"> <h3 class="title"> <acronym class="acronym">DNS</acronym> Operations</h3> <div class="biblioentry"> -<a name="id2599276"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p> +<a name="id2599715"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p> </div> <div class="biblioentry"> -<a name="id2599300"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File +<a name="id2599738"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File Configuration Errors</i>. </span><span class="pubdate">October 1993. </span></p> </div> <div class="biblioentry"> -<a name="id2599326"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and +<a name="id2599765"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and Configuration Errors</i>. </span><span class="pubdate">February 1996. </span></p> </div> <div class="biblioentry"> -<a name="id2599353"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p> +<a name="id2599792"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p> </div> <div class="biblioentry"> -<a name="id2599389"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for +<a name="id2599828"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for Network Services.</i>. </span><span class="pubdate">October 1997. </span></p> </div> </div> <div class="bibliodiv"> <h3 class="title">Internationalized Domain Names</h3> <div class="biblioentry"> -<a name="id2599435"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names, +<a name="id2599874"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names, and the Other Internet protocols</i>. </span><span class="pubdate">May 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2599467"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p> +<a name="id2599906"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p> </div> <div class="biblioentry"> -<a name="id2599513"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p> +<a name="id2599952"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p> </div> <div class="biblioentry"> -<a name="id2599548"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode +<a name="id2599987"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p> </div> @@ -489,47 +489,47 @@ </p> </div> <div class="biblioentry"> -<a name="id2599593"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String +<a name="id2600032"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String Attributes</i>. </span><span class="pubdate">May 1993. </span></p> </div> <div class="biblioentry"> -<a name="id2599616"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p> +<a name="id2600054"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p> </div> <div class="biblioentry"> -<a name="id2599641"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load +<a name="id2600080"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load Balancing</i>. </span><span class="pubdate">April 1995. </span></p> </div> <div class="biblioentry"> -<a name="id2599667"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p> +<a name="id2600105"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2599690"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p> +<a name="id2600129"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p> </div> <div class="biblioentry"> -<a name="id2599736"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p> +<a name="id2600174"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p> </div> <div class="biblioentry"> -<a name="id2599760"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p> +<a name="id2600198"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p> </div> <div class="biblioentry"> -<a name="id2599786"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via +<a name="id2600225"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via Shared Unicast Addresses</i>. </span><span class="pubdate">April 2002. </span></p> </div> <div class="biblioentry"> -<a name="id2599812"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p> +<a name="id2600250"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p> </div> </div> <div class="bibliodiv"> <h3 class="title">Obsolete and Unimplemented Experimental RFC</h3> <div class="biblioentry"> -<a name="id2599856"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical +<a name="id2600294"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical Location</i>. </span><span class="pubdate">November 1994. </span></p> </div> <div class="biblioentry"> -<a name="id2599913"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p> +<a name="id2600352"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2599940"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation +<a name="id2600378"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation and Renumbering</i>. </span><span class="pubdate">July 2000. </span></p> </div> </div> @@ -543,39 +543,39 @@ </p> </div> <div class="biblioentry"> -<a name="id2599988"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p> +<a name="id2600426"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2600027"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p> +<a name="id2600466"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p> </div> <div class="biblioentry"> -<a name="id2600054"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p> +<a name="id2600492"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p> </div> <div class="biblioentry"> -<a name="id2600084"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC) +<a name="id2600522"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC) Signing Authority</i>. </span><span class="pubdate">November 2000. </span></p> </div> <div class="biblioentry"> -<a name="id2600109"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p> +<a name="id2600548"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p> </div> <div class="biblioentry"> -<a name="id2600136"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p> +<a name="id2600574"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p> </div> <div class="biblioentry"> -<a name="id2600172"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p> +<a name="id2600611"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p> </div> <div class="biblioentry"> -<a name="id2600209"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p> +<a name="id2600647"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p> </div> <div class="biblioentry"> -<a name="id2600235"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p> +<a name="id2600674"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p> </div> <div class="biblioentry"> -<a name="id2600262"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record +<a name="id2600700"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record (RR) Secure Entry Point (SEP) Flag</i>. </span><span class="pubdate">April 2004. </span></p> </div> <div class="biblioentry"> -<a name="id2600307"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p> +<a name="id2600745"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p> </div> </div> </div> @@ -596,14 +596,14 @@ </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="id2600348"></a>Other Documents About <acronym class="acronym">BIND</acronym> +<a name="id2600787"></a>Other Documents About <acronym class="acronym">BIND</acronym> </h3></div></div></div> <p></p> <div class="bibliography"> <div class="titlepage"><div><div><h4 class="title"> -<a name="id2600358"></a>Bibliography</h4></div></div></div> +<a name="id2600796"></a>Bibliography</h4></div></div></div> <div class="biblioentry"> -<a name="id2600360"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p> +<a name="id2600798"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p> </div> </div> </div> diff --git a/doc/arm/Bv9ARM.ch10.html b/doc/arm/Bv9ARM.ch10.html index 1e9cbf50..d9786b4e 100644 --- a/doc/arm/Bv9ARM.ch10.html +++ b/doc/arm/Bv9ARM.ch10.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.ch10.html,v 1.7.214.1 2008/01/18 01:44:54 marka Exp $ --> +<!-- $Id: Bv9ARM.ch10.html,v 1.7.214.2 2008/05/29 01:41:57 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html index 292603cc..618f8423 100644 --- a/doc/arm/Bv9ARM.html +++ b/doc/arm/Bv9ARM.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: Bv9ARM.html,v 1.164.18.9 2008/05/06 01:41:47 tbox Exp $ --> +<!-- $Id: Bv9ARM.html,v 1.164.18.14 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -127,88 +127,88 @@ <dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt> <dd><dl> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573477">Comment Syntax</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573611">Comment Syntax</a></span></dt> </dl></dd> <dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt> <dd><dl> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574116"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574182"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574306"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574440"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574734"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574752"><span><strong class="command">include</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574869"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574954"><span><strong class="command">include</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574775"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574798"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575026"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575152"><span><strong class="command">logging</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574978"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575001"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575092"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575218"><span><strong class="command">logging</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576464"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576537"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576601"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576645"><span><strong class="command">masters</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576598"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576672"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576736"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576779"><span><strong class="command">masters</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576660"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576862"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2584781"><span><strong class="command">statistics-channels</strong></span> Statement Definition and +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585194"><span><strong class="command">statistics-channels</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and Usage</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585533"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585585"><span><strong class="command">trusted-keys</strong></span> Statement Definition +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585878"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585929"><span><strong class="command">trusted-keys</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585667"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2586080"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span> Statement Grammar</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587159"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587504"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt> </dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589437">Zone File</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589714">Zone File</a></span></dt> <dd><dl> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591459">Discussion of MX Records</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591965">Discussion of MX Records</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592147">Inverse Mapping in IPv4</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592342">Other Zone File Directives</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592599"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592585">Inverse Mapping in IPv4</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592712">Other Zone File Directives</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592901"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt> </dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2593067">BIND9 Statistics</a></span></dt> -<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2593348">Statistics Counters</a></span></dt></dl></dd> +<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2593437">BIND9 Statistics</a></span></dt> +<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2593854">Statistics Counters</a></span></dt></dl></dd> </dl></dd> <dt><span class="chapter"><a href="Bv9ARM.ch07.html">7. <acronym class="acronym">BIND</acronym> 9 Security Considerations</a></span></dt> <dd><dl> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt> -<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2596516"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2596886"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt> <dd><dl> -<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2596593">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2596652">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2597031">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2597091">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt> </dl></dd> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt> </dl></dd> <dt><span class="chapter"><a href="Bv9ARM.ch08.html">8. Troubleshooting</a></span></dt> <dd><dl> -<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2596732">Common Problems</a></span></dt> -<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2596738">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2596749">Incrementing and Changing the Serial Number</a></span></dt> -<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2596766">Where Can I Get Help?</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2597239">Common Problems</a></span></dt> +<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2597244">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd> +<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2597256">Incrementing and Changing the Serial Number</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2597341">Where Can I Get Help?</a></span></dt> </dl></dd> <dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Appendices</a></span></dt> <dd><dl> -<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2596828">Acknowledgments</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2597403">Acknowledgments</a></span></dt> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd> -<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2597137">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt> +<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2597575">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt> <dd><dl> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt> -<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2600348">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt> +<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2600787">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt> </dl></dd> </dl></dd> <dt><span class="reference"><a href="Bv9ARM.ch10.html">I. Manual pages</a></span></dt> diff --git a/doc/arm/Bv9ARM.pdf b/doc/arm/Bv9ARM.pdf index 260e9a15..dd798c71 100755 --- a/doc/arm/Bv9ARM.pdf +++ b/doc/arm/Bv9ARM.pdf @@ -561,7 +561,7 @@ endobj << /S /GoTo /D (subsubsection.6.2.16.8) >> endobj 380 0 obj -(6.2.16.8 Bad UDP Port Lists) +(6.2.16.8 UDP Port Lists) endobj 381 0 obj << /S /GoTo /D (subsubsection.6.2.16.9) >> @@ -1632,20 +1632,23 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 775 0 obj << -/Length 3170 +/Length 3165 /Filter /FlateDecode >> stream -xÚí[wÛ¸Çßý)ôh?Åýò˜ûɶM²±ûÒí>02#ëD]INÖýôEZàÈhãlli÷ìÚ‰9œñüÂ`@‚d#êÿe#¥‰vÜŒ“DQ¦F“Å MýÏÞœ°ö˜q8hz~qò—×ÂŒqšëÑÅç‘TŠpµ=™%ÔZ6º¸üíôÅûw¯Þ]œŸý~ñËÉ«‹xVè™QQŸòß'¿ýNG—>€_N(ΪÑ7ÿJ˜s|´8‘J%…3?9?ù5žütkšüM%\hžøU¸ -vch¸«Öîùk½¸Þ‰#¨ŸŠcõX‘†hJud…·¬œÏ¦ËÊæªl¾ùgµôßªÄ Ä„¬f1b j1‰80bPÒÖEbDKÌ‹jù/Jùôf¹9/W_ËU=Æ0q¨¨2ò˜Í0Ä:q3ÌH"ŒÔ»a~ÈѾ<r_Õ„á-$Î#B=o?|Õ-7××ÕjÓüa¶l¾>ûîeó7pœ=ÞAæ‡ -% -î½År¢` -‰80Pï¡¿U¢.0:~¿þöͪX,ŠzõȈc{{—Ñl\€!†TLÈa\q`¸ ÞÃ4„s¢¸•¥®+ÞýÁˆµTzõQÅdÞÓ‚áŒÛö˜óM±)»iL¤Ëp{ìcγy†OPS¡†yJÄñ„z<ùÃ¥'þ8í/eÖ±§7µ©Í¦¦³Ã ÂaÌì!ƒ¹n‰‘Ωc#ĉ؋̤ZnVÕ|àF8B™à{†!eÝ“††Ð‰9Îe"ðô4DèIÅàƒ{üX?÷宫`òÁø¹ÇZñÇ€Ë '!—Ùœ -©Í¦¦³Ã ‰áÛòA`È`®1ÜsbX‡ŒÛ‹Ì¼šNë;É…Êø!Ï©}ë9JÔ݆1ÅÙè -úlÄìå²
6zê¨á^9Âî½cÃújá`ë£ë§‚Õl¼¼)æãõ¦˜|¹óD0ñómYúƒDLU6ÀJ¡†g©80PïÚ«\¯bÈ„g“IÜ -ý¢¾Á®/ªy]4Žûž»Äec1, 0‰80,PïÊËM¯v¨‹·KßÀ~.<gcMÙqûbÀl<€!†H
ïHJÅázïðŠ§ÄC7xüzSÖ/Ú>Ð
>PAs¤"æ-› -`ˆQuQÃRq`T Þ;*„ F÷»ÓPÑ<…¶†ââÌÑÓU±\ÞN*”aG,bâ²± -J¼ùp7ìýT˜ëð¤E-ÁþÝóíœ/±¬@} Ñ{7Ïsó”‰á÷°lóœÿ–`†¾ƒ¥ÓP#o`¹Á:ñ½cî¼äÉWøÿqJñÿÿ%ÁÝ»Œe½™Ì܇Å-%®~ÿ–ðÊh÷`"›X¶Èÿ/}Qdendstream +xÚí[wÛ6Çßý)ôh?‹ûå1מvw“4q_¶ÛVfJ¢W’›Í~úEZàÈØÓØR{Z;1‡3žÿO’lBý¿l¢4ÑŽ»‰q’(ÊÔd¶<£“kÿ³ïÎXÌ44…G=¿<ûËka&Ž8ÍõäòãD*E¸ÚÌj-›\^ý|þâí›ËWo.?\ürùÃÙ«ËxVè™QÑžò_g?ÿB'W>€Î(ΪÉgÿJ˜s|²<“J%…³8ûpöc<!øéÎ4û›0J¸Ð<ó«p~•ö‡ŠMŒrDÿ“ö‘Äv1eœÒóïêU½®¶óÕõÅ”+zþ×úËæbj5?'Såx|_¤sØÉîJM}ÖÐ)Ÿ{Ú¬¯'Ý7ï¡ZÁn +
÷ÕÚ?«×{qõsq`¬ Þ+ÒM©Ž¬ðž•óëUeû©î¾ùG³òߪOÄ Ä„¬1b j1™80bPÒÖEbDOÌ‹fõOJùõí:ró¡^ÿ^¯Û1†‰cEe”‘ÇbF€!ÆÔ‰›qF2q`Œ Þ
óCŽöå‘ûª&ï!qêyøþÝïº'ãöæ¦Yo»?ÌWÝ×çß¿yÙ}ç
gwù* +0ÄHba¤dâÀHÙóžs%–ºSݹ{Cmêàªí¼Yr>Öëz5«Ç3N~ïñ`ã-Z°ñŒÓa™ÚóšýL1KŒéWuo³©y=s‹W‹zY¯¶~¢˜9Ö~e”ÒâO0Ä>YP2Œ“L/¨÷0i¥š©UÀe¼Qù{µ} +EyÓ¢¢
?õ´wP é,Fb¨@¹G%† +êqM¤`r¢<4†I›`Ùá"Úõ/«mõï‹©pê´´zPb*KA†(©Prq àÞ(–m ð”—u[‡VóT…ªÕUè{«ëvuþ[˜éUö˜¥b€!Æ +0ÄPra¨dâÀPA½§áBY¢™3 –S]ù_A ©,b @©0P2q` Þ(ReSsãA9Õ•}B–Š +àñÉu³ÎÍt$%Úš;ðHjªBÅô–Â
xòI: +O.Ü{_¡„±„I *Ôá«U‹Ïë:·ÐÇ}}Š°ŒMo¸ÒG|Ý3¦»%`ˆ¡å”ã[ðrq`(¡ÞJZ{z8(aüAP:<Ó‘Ì=¡Ñ'¤µ`ˆ!eÃÉÄ!ƒzÈ(I¨e<!søJÕ²ÚlÛûãóócéôÁþJWõ +9.æbü@
1~2q`ü Þ?’*Jüȇâç>ý•{ÌýUÌe1'Àãj…q’‰ãõ8í„vW‡/U57Ô›üëÏvðR;®©MÈq1?Àãjˆñ“‰ãõøa†8«AÒÅÏ}.XÉG]B.‹9†'P+9¾q"Æ ê=µâT§$¨H:¬ã<ošE]õ¢¾íé˜*áŽøjSLW1ÀƒÊ!Çsq`0 Þ#Ü â8·†~]æu³þ\uOXÙÝv.)?ÝV0d#f¯”
hˆ°1PG”\¸÷ĆõÕÂÁÖG·OkÙxy[-¦›m5ûíÎÁÄ·wËÒ×$bªŠA +„L¨÷‚vÄ*7¨²áÙlo…~Ñn°kÇ‹fÑÓ}Ï)qÅX +¤Æo1ÉÅázOxHEŒÓâ¡;<~¼Û‡íè¨ Œ9QóVL0Ĩ€º`TdâÀ¨@½'*„ F»ÓQÑ=…¶…âòÂÑóuµÚ|ÜM*”a',b⊱ +ä-ˆûA`ïªÂ\‡§þ+"8h ßIßÏù2Ë +Ô—}ðFznžr#1þN–]žËßÈÌÐ÷±$
ò6–»ì¡ßà;åÎKž}
‰ÿ§ÿÿ_œÞk,ÛËìÈž,n)qí»¸„VD?&rCËî ùµ…Sendstream endobj 774 0 obj << /Type /Page @@ -1770,7 +1773,7 @@ endobj 796 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [499.2773 545.4324 511.2325 554.3887] +/Rect [499.2773 545.4324 511.2325 554.5382] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.1.2.2) >> >> endobj @@ -1917,7 +1920,7 @@ endobj 817 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [499.2773 292.7672 511.2325 301.873] +/Rect [499.2773 292.7672 511.2325 301.7235] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.2.16.2) >> >> endobj @@ -1938,7 +1941,7 @@ endobj 820 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [499.2773 256.6722 511.2325 265.6285] +/Rect [499.2773 256.6722 511.2325 265.7779] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.2.16.5) >> >> endobj @@ -2008,21 +2011,21 @@ endobj 830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [499.2773 136.3554 511.2325 145.4611] +/Rect [499.2773 136.3554 511.2325 145.3117] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.2.16.15) >> >> endobj 831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [499.2773 124.3237 511.2325 133.28] +/Rect [499.2773 124.3237 511.2325 133.4295] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.2.16.16) >> >> endobj 832 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [499.2773 112.292 511.2325 121.2483] +/Rect [499.2773 112.292 511.2325 121.3978] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.2.16.17) >> >> endobj @@ -2062,23 +2065,19 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 839 0 obj << -/Length 3439 +/Length 3440 /Filter /FlateDecode >> stream -xÚí[SGÇßùzت…zû~Ù}Ø€R1öbRÙÚ$²4SAÑâýôÛ£™î9B=Gô&W -æÌ9:ÿßœ¾Îˆõ¨ÿÇzV*œì'‰¢Lõã=Úù÷Þì±æ˜ÃpÐ!<êÕåÞß^ÓsÄi®{—ŸÀ¹,¡Ö²ÞåðÇýãwç—§ç—~¾üvïô2ž:fTTgüuïÇŸioèý»G‰pVõîü/”0çxo¼'• J -þr½÷aï_ñ„àÝ•iêƒ(a‰²Ü$> à“0ΉuÆG§Ñ¿W}M8á´ú þpŒXK¥÷Q6/f·Å¬9žUø¸µÖÍaýE1.&‹ƒC®èþIñ¥|R.Êé¤þK2¬_|?Cëè>98TôQ~Hç²îɸ%šSÖftCŸÙ¨W¿¸€Š»Ch¸©ØæùWŠ™8©80^Pï-/Ò¥(oya[yYÌ–óE1<ü¥ø<OP£,qÜvPófÖû3‡|L8~*Ûˆ 9Í&bĬif»‰Iăzo‰ŠHm1ü‹³½Îp%¾²’R˜
0Ä -a~ˆã%üOEÄJÌË?þ|SÌ}†äï°<B )Ìbh@‰08q`x Þ[@4'ÎÈ! ¼äøº?÷HÊ¿&$¾8'Ûp ÍÆb¸@ÁŒèÆ%†ê½ÅEQß q÷ëÉ»›ªÅ¨Ðá»2u™Ëæb\@eŒìæ"Æê½åÂXÆÖ¸5'Ÿ'ýq9hú
7CßŨ_¿Ÿ^—ƒ²ju¤RÏVö˜lÙ!&;L¼Ñݲ'âÀdG½û>ª³Bôü¯Äpß}¬U÷…€ÑµJðº¼ö¯”r_}ò¤;®A†lÆ€!Æ”Ùt¯¤âÀC½·c&‰–&BVõ_§kÝÖŠµé§úçE1Ÿ.gÌîŠð—Átõ‡áüÞ0懫¢Ù,¦a`:ÅWÅØpŒxz“´1#ÙzCLo˜qLïD˜Þ¨÷¶)¡œ(€Þ+ÅÅvi`/²g–0Äp€‚`8$âÀp@½G”£DZ¡¼ÁÁ -pï±PÆIYKo“r>X&ä~ûïD*ÿcϬÇf1B F!‰80BPï-!ÚcÁœŠ„ˆ†ÅbQNFM«~ùÝŠ¹ë_æó2œÍ0Äø -ZÖÍO"ŒÔ{Ëop¸0-?²áçlr[ÌB¯ðmÿæ&ÂT65çìý?˜[±ŠÄ,f31F J#‰80FPï-#’挨†‘w‹«bVÃpð»ZH)ënÉ`QÞVÃ!ÙKn‡B³†#P%Û=¡žŠcõÞöW%ÔÀH¾ø!ebNûã™Kpywqöæì<±T'/cœ7Ç!upè{®{ÖbB³q†.P0—D.¨÷fˆsL -™OÿIãô.bªrA€†kR ¤â@@À½· XFŒT-¦áh8\íõ Ói-¯§³qá{®ÚèÝ '&0`ˆá²ÝKü©80<PïaMOjG´a[«lÖôª"ájª]bå|QªýB|·|÷»q -ÏÆ b8AEm÷΀TN¨÷Øo‘Êxy"tm<´AT[xœå/qš-&,`ˆá -O‡å`Ãkòr¢Þ»MªÓŸ…Á/“éÝu1U…´Zmãn×ÙÊ¿zBr³¯`ˆ]=P<Œ˜D9¨÷ØÙbNÍš;8êÞ–«.¡ºÒ¾š•Es{í7å|1}^¿ç66¿'çîµÓõZ¦ìù “•‹4DPXA!‚î=f%QÜx]DÞ“búUQä‹âSÓRÇg“O«Ã«)2í^ÖšSÌ]6Àj㺗þSq`` ÞÛa8‘²¹ó¨žÁ¯jÄÙû[Ý\ôÃax -Cx6ËO¾Cwäÿó?Yµhov»~c³)†%P'Œ’D%¨÷X>4%B« -ÀCj¢CaÃ}j¾‡QF”6õœå«ªUûoû“ø@°›þ(5íbÖÛ¦}bN€AjÚçþyëœt?¥žËņÛTŸË:"jR±jX…Û–£gU6¿‚Û¸‚¹×°C.;(6FX" -4ÔwàÌ"©h0ã5fWÓªó¦ÌŽ³?³FŽ\ÌZ3„2 5£Ý]ÃÍ°/JAÇç -+"x¨d¢©d“ù¼TßÓ5ªžÙ*¥ÚôÇÔd;— Ö!(ɨEJ~?„
‚âwRrG¬µ©6ÓÿψSõ-î¿ï+0Û/꬞»d»¾ZLPç#§²W}™¨/…ì©]"ÿJkA©endstream +xÚí[SGÇßùzت…zû~Ù}Ø€R1öbRÙÚ$²4ª ÑâýôÛ£™î9B=Gô&W +æÌ9:ÿßœ¾Îˆõ¨ÿÇzV*œì'‰¢Lõ“=Úù÷Þì±æ˜ÃpÐ!<êÕåÞß^ÓsÄi®{—ŸÀ¹,¡Ö²ÞåðÇýãwç—§ç—~¾üvïô2ž:fTTgüuïÇŸioèý»G‰pVõîü/”0çxo²'• J +þr½÷aï_ñ„àÝ•iêƒ(a‰²Ü$> à“0ΉuÆG§Ñ¿W}M8á´ú þpŒXK¥÷Q6/f·Å¬9žUø¸µÖÍaýE1)ÊÅÁ!Wtÿ¤ø‰R^ŽãiYÿ¥_ëßÏû£âàÐ:ºO}”Ò¹,ƒ{r+n‰æ”µÝÐg6êÕ/. bÁîn*¶yþ•bf#Ž@@*ŒÔ{Ë‹4D)Ê[^ØV^³å|Q)>ÏÔ(K·Ô¼™õ'“þÌÃ!Žß‡Ê6bBN³‰†1kšÙnbq`Ä Þ[b„"R[@ÿ¢Äl¯3\‰¯¬¤„f1@Ö$rÝ€$âÀ +„T¸÷ˈ‘ªÁ4
‡«½>a:Eàõt6é/|ÏU½äÄfã1< @¶{)7†ê=¬éIíˆÖ"lk•Íš^U$\
CµKl<_ŒÕ~!¾[¾ûÝ8…Œgã1œ ¢N‰80œPï±ß"•ñ,òDèÚxhƒ¨¶ð8Ë_â4[LX6Àà +bU7‰80Pïmã#ñYŒ4„ÅÜûO—¥ï‹T«zÔ½ðúÑIJ“ËlPZ;Œ †Éf%˜ë¶fA$3-$±dœ÷'¡fÔ·†&ëGäö«V¸ID¶Â¦0H³íÞ:”SsÝ*ÌB‚:§=Ú Ô·ý±—±ì—ƒb›Î¾´<õy¬ø‘³Å†˜š0¥¶ûnÝT˜ž¨÷VPêW +*À®ë\«VógT›C>²Õ†˜Ú0ߘډ80µQïQmáa†Z ¶lÔ>žNn¼ÂÇ×ãÅçZâ»ñ⪞nO`|[@Ã͵«iˆÄ•!"Þ bï3£ÅSëtS–4D€X“ÄvïÒIÅ +ŠQ”ˆ£ õiR”H%M©‡øa—c’5åóøj6.RSñÃrßÐ7‡UÛc¼ŽeD¸U°X,ÇÃÔ©¬o@¤m{áÛ¾ÿbƒ¨ÙÄCŒXëÞÇ—Š#õ‡ÿÂÃe@¶ÝÌ\TPÌsisƒN|ýè¡:i}Øiy[/'LËú^V¡ÅË)ˆ\…Ìgs1® ²W‰80®Pï-WÕm‹Ž¶\…ý¡ßÏãvôº•ÑþŒÅNu•5J«©¯—å ¾+Zš—ÐØvBÒž
0Ä ‚²bP%âÀ B½Çæ•I©
L…»›:ïgk»·FéÝ”e˜Ól`€!Ô&̆÷Ô(ˆ;F´jžGc›QÐåcl6]~¼.æW¾ýªêQWzâ:ØÈ`g-2×½àO‡¤cÓkêúáÆeš'Ø8Ø9žN&a·þûºö©™Tƒy)wc›ìK*¦9÷’‚†È%µ&#ÆN"Œ!Ô{lع®&‰x`(öÏmÌå´y\ÉÝtö‹¿¸þQÿv5½«_úa›vý£z¦É¨¾‹¬)ÜÓe8ÃU?žö®éBŽþéë9³O¨Ñ
)ÉÖ»µÃä ÇÔÞsë…R$VÞT‹³rPKUuåcW.ÞÀy|Õ/Gk=¼°84»XΗ“Õä³Ðîtã›$ekÍ0é[0å7"À„GüFÝ¥ ‚7@±±ŸõCµ¥¾½Hï]ÆoŠæ¢ý¦¸¾ñר”»æâA +1Y¹(@C…51Rq (àÞCaVÅ] ×EäMQ³Ð¯Š"_Ÿš–:nÔ8+?v¯¦È´{YkN1wÙ` +‰@06ܧæ{eDiSÏY¾ªZ±ÿ¶_Æ‚ÝôG©iŸ{°Þ6ísRÓ>÷Ï[ç¤ûI6ð|X.6ܦú\ÖiU“ŠUÃ*Üþp<zVeó+¸« È‘{Ý;䲃bc„%¢@@C}ÎŒ!’Š3^cv5:oÊì8ûÓ9käÈŬ5C(R3ÚÝ5Üû¢Äq|®°"‚‡J&šJVÎçÅ úž®QõÌV)Õ¤?† &Û¹µfA@IF‘G‡n„°APüNÊC6Õfúÿqª¾Åý÷}fûEÕs—l×W‹ ê|äTöª/ õ¥¢=µ«ƒ@äÿ0„A²endstream endobj 838 0 obj << /Type /Page @@ -2147,7 +2146,7 @@ endobj 849 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 661.8203 539.579 670.7765] +/Rect [527.6238 661.9199 539.579 670.926] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.2.26.2) >> >> endobj @@ -2168,21 +2167,21 @@ endobj 852 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 625.6738 539.579 634.5304] +/Rect [527.6238 625.5741 539.579 634.5304] /Subtype /Link /A << /S /GoTo /D (section.6.3) >> >> endobj 853 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 613.5917 539.579 622.4483] +/Rect [527.6238 613.4921 539.579 622.4483] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.1) >> >> endobj 854 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 601.5097 539.579 610.3663] +/Rect [527.6238 601.41 539.579 610.3663] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.1.1) >> >> endobj @@ -2196,7 +2195,7 @@ endobj 856 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 577.2459 539.579 586.2022] +/Rect [527.6238 577.2459 539.579 586.3517] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.2) >> >> endobj @@ -2210,7 +2209,7 @@ endobj 858 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 553.0818 539.579 562.1876] +/Rect [527.6238 553.0818 539.579 562.0381] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.4) >> >> endobj @@ -2252,7 +2251,7 @@ endobj 864 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 480.5895 539.579 489.5458] +/Rect [527.6238 480.5895 539.579 489.6953] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.7) >> >> endobj @@ -2266,7 +2265,7 @@ endobj 866 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 456.4254 539.579 465.5312] +/Rect [527.6238 456.4254 539.579 465.3817] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.4.0.1) >> >> endobj @@ -3883,33 +3882,29 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1137 0 obj << -/Length 3650 -/Filter /FlateDecode ->> -stream -xÚÍ[Ýsã¶÷_¡>UÎœpøþH¦—Ä—^š\Ò‹3}H2WZ¢mÎQ¤#Rö9mÿ÷î DR”ìÔÎLç&!‚‹Åb?~»€ÙŒÂ?6SšhÇÝÌ8Iej¶\ŸÐÙ¼ûê„Å1‹nТ?êóó“—¯…™9â4׳óË-K¨µlv¾úi® #§@οøîíë7_ýøîÕ©‘óó7ß½=]pEç¯ß|sZgßœ}{ööüøE…›ñ×WߟŸ½ït$òù›·_†¨¾;{}öîìíg§¿œ}rvžÓ_0£WòëÉO¿ÐÙ -Öýõ %ÂY5»ƒ”0çøl}"• J -Ñõ”'?œü=ì½õŸN PJF4Wb¶°šp£ÕáiæMåˆ1ÊŽf]hK4£¸'ÔÎw["YoKŒ$Κ™"Zpáw¤¸ËÄ¢„s»a -ÂÖN‹dÑ\ô)îsç(Q|ÌÞM½i‘Á—¯¡c7–qhSà¨Wj‰¿ùŸ¦÷Õ`iˆVǪíú"ßLŠXTªÆžŸ_ç9¨•4Ä áâ°¢ ̖źhóUà¸C'?¯7§ÌÎëíÕuè~„z´g&1œCƒ§÷T23¿ÍÊmÞ„öE^ÖwØ´sF¹íýM±ÌÊò>üô3åM»)–Ùîí)›7yh_Äñ7µeÞ40
rD‡¬lNáê*ª«Ó… zž5øTa¢ºnA¢ÒÀfUáuS¯ó0`™ÅÐætžUÝÇm¾)šaÄÏTÑ~ògx°ðzym2à{ÂgŽ‚Û¹À ”™o\ ¶<O -ȇŸ7e¶Ì¯ërå © -Þz^y÷}–X);¿²/ a±¸Îg“P¢ø€ˆì Å=Q¶ZMy3.@q!V†e ¹B„½¬Ë²gqçE"@oáE$Ó”YsÝ—…wZMÔ[öËhÙeY% Úë¼ -]Ð -hqþu}ú.Š¶ ¢JÆáy»Îšàw¬´óóSGÁˆ‹Ô„¹þl¹Æ½4ÌSÃg6PœpòàŽrK‰sð‰6Š8©Ù“w4Q\ôIîï(·°KMvlG
ÑTw;ºÎîÊkˆO@lÚˆùëzºóÙú¦Ì_DBld<l¤Ä¸yi§æÓDÊzñé¶!ÂÂ¥&–ŠQ€ë,oVx=iš”Pü7ˆ¡)lˆcÈTIA&hk¾–u;Ì•:N»#Ê;!GÀþ£„AèK>%"ÉÁ Í -ä"Ìp¿ÿáÍ`rp³—÷Oàï<âýïÇð¢¨nëòv8N€ë¾Õá‹fYßx„ƒ/Ñ<ðiBG§~#oà¿’ÃÀÆEì؈ Ï`o{µ¡…x¦ë‹ÓÐsW”eG¿]^ÇaÙòÃb -Éämöä28©uø•U÷¡áÙ=6úqüiÐ`‡6B<¿ƒdA¡
e¡e„8Ž6¨$œE±|ÈïÇkvˆ1£vãžêz;‚‹>Å ¸Î
逿b5 5@.%¯¦0%ÒðÎc -ŽbÒõ”Ñ]]-ªü*k‹[ÔMMç‚/ o‹ªÍ¯|y^`¶Tœà&Z*»´G\ -
IF¬LÅL²«¯(øx ð¯&K– • -5»-$fÓ;.8‚rr&$Z‹g(av}’@ˆK"¤å»™ì9DÉØ0ùu&Þ„¥V -.æÔ§Š -¿MØ™ÊULp••/ÖÙÇb½…ô\R¼·YQ†é®ëm…Ç bódÚ'¡”ºÑþB:F'ÅŽ'ŠV05ƒd‘jù“Åž(.ú$÷Å.¥$–ƒ£HÃŽ‰Ý@–É@ºã#¬Í@úÈGád~/:ÛÈbë.k†Øà2X˲3žX>êÙS“onóÍèó¦Í6m„ã 0¹5 Ž<¥‡ü°Ô—4l™E Vß`zÎÞðw8˜r¡|jçØßzX¡p™•!âHÈPëͧ>3‰þ§ód›à -2{E¤æ#]7ä˜ œªn&¨9birb>VÎ?e}qßâAÞ>Q
DeúæÛDu§ø`lýhÆÖ -’‡¦Wxâi¯È}ó“ô[„ƒ•nÌ'éÓ'¹¾<ÖŒ9IÙ«„ŒGâñ¸?íÒh®·>é¦&¨9ôìU}b‘‰Ã!+|¡eÌ| k[5ÅUåƒê”Md˜aªCy8¿oͬ”ÚHI0j泦ö²7ÿ±‰‡BãJ5˜ôcb»&–Q½«Ü‡…W03:ÓH®é"o’_ë2¡::¨ì2/»ênÞRë Èx”ž2Æ®ò1Š9ŒHûHï‰èñLDDuüøY€oý4^²÷!¶LU¯Ò¸g«^õ)®^
ø~£Ï,À&žÏÅ_¢ø -ŠQ¦óoq/Æ` -EàèY:o7ÛüÀɨb|ª7Œ»íZ×qy™•Í%!P“;ÉÅvà¾@o…îe -и’õ6Η -[ð¢¾É7®°ÁkIÆ!¾ŸÊØ{LòA±n|¯Â_[3©Ö9’¹µàR(ÀõçÕbPHò 뼧L -iM½iœðI¸°±¦ÍZ¯Ïa½*€d:êy”QwthJµi‹vÛv‹«^ 3Ý…¬tGa’4:ÂìÒv_á™üèF–¿¼Ò‡æ¡ÖWTWŸúkðóR6õÇ#tÖÍÿä?UÙý!4à®{ÞQ -ýtÇ.\ð=Þd,Bó)æÿÔ·OÇendstream +/Length 4061 +/Filter /FlateDecode +>> +stream +xÚÍ[[sãƱ~ׯ`žB¹ÌÙ¹_’ÊÃÆÑúlŽ½Nl¥òà¸| +’PK2®V©üøtÏ +«o®¾½úpýü¢ÂM¿úŸ·¹¾ú>ÜÓ‘ÈßøSèqár€ê÷W﮾¿úðÕÕåO×¾¸ºÎ‹.˜Q+ùåâÇŸèäÖýçJ„³jò?(aÎñÉòB*A”"õ,.~¸øk&8¸ë-1PJF4Wb2³šp£Õá׆WPxml*GŒQvç3m‰f÷„ZÂùvK$l‰‘ÄY31@D.üŽ4»<±†(áÜvؘ°µe–ÌÁÙâþì%ŠïNï±]÷8Á7ï c;–qh¯ÀQoW(%vúþ/x5ƒ§Fo†au|hµYÞÔëq¡ˆÕJÅa jÜééõC] ÈAl¬<IÐ'„‹Ãš.LvÑ,›¾¾
3îÛÐIãχõ%³Óvsÿúa>B}‰´'3&1œCƒ§÷TŸš‡23ýT-6uÚ7õ¢}¦2Êeè쟛yµX<‡ŸþMuׯ›y˜‹ÓîÍ%›vuhßÄñajóºëà58#:žÊú\šÕýåLP=:¼ªð¢¶í£ÒÀfÂí®]ÖaÀ¼Š_B›ÓiµJ÷õºé>†ÿ Šþß¿…·çÕº‚y¯ãOxl4£`vnðÊL7.[~N +ȇŸ‹j^?´‹[OH൫õ¼]W«ÛvÚÍýÃ,î;rñ¶Ä”F²«eÒP0â¾ÕØ×Ù +JÜ,Ð@ÔõŸA—[ÜKÃ<5¼Ve‡â„“w”[JœƒG´QÄIÍ^½£™âlHrG¹…]²€lò°c;jˆ¦:íè²z+nÁ?G +·–ÍýCzï6k0äëÐS— Ì6ÿ¥B¸è°·þИ·°ÞÏ}øÑD‹üôÐÌ£p5éVÄChÐØ`ï^'ÿUM½ñãÆ}>Ã…4FÕ?ìYiˆ2ð8|µ•ŽgCŠûóc”i!Íð +´1Œ?&‡`2`¸Õ£4}IóÀ³Éáâ9Íð\Ø•C°N-(’KØSLèaðK³C-d€ÏJŸoý‘Þ‰åsg‰’@¤¸Aû?L"eb +ùÕ†‹Æ³ñ=D•3Æ™L¢ù.wC³é"J S;¡ô0]*©‰:¸†D4 +ŒhÄ:ÂHÌXa€‘šàùr‰âlH²”“09Í·o>*4RÑdÀ‡g®…T?Å}Lxà…þålkÎO¬YhX³Ñn¼æ£Â38¾QÞGÄO +KeøQ½‘†Ê©>ßÒ3ÅK—€FÀ–È—l7¦yÁc›£·Ü ·—´¢
Ä–RŠé"$š|Ø%Cj·x²ÇÀ˜Ë ÚzáÀMg^Ê3ÅÙdI8ð…#
{±eÁ3ˆ.ýÉ.|ò3rÍF¡µÛõÌhìNË1ÏC1‚¦46”N +€®¥ê[åY›Û„8þ +/ÀÖ¨”;üai†iÌÙûY†·©\{BXî\Jå;è 0{G… þmaþôaªsAÄ<™„JØ.R7·§c”âèCüMÀƇÙÖW›ÝDq6$Y0»Bƒû˜‡(âd´4ŒCÎuZù+Eõ¯¡™9/qcGÃ%ŠèÃD$Üü³>.¥ç—…K£VI¸äCÚÉHŸ&qžBNõ¶`0#Úåài³JÙ ýw‚Ñ6ÎRÎIû¼ +%GäQê»j³(‰%X*+såÙF+#Ç–ámÑ +Ô±41æ(¬œ~líÍs_w%L „ËüÌ·ˆfÐõ‚‰-_<±e}_ʼnçwƒˆzLjs•ë_¿>Ãï_<Ãû&—ÂÂ4ÛÙ¦íô…ÈÁ± +Ô1‡ž=ÌÏ\rEm¨H…'´ŒÇDеYuÍý* +“@ÄŠçB”‡bW°ÖÌJ©”ÔCq]šù#!¦öŽ„`Üôo]¬ Û˳ÄKú%¾]˨ޖ9…Õ“]|Ìßlšnê.ÛµtlÔFUÝÕ‹T +S÷£sÈÀÈX÷Œ–2w»(æ0 +žèͶKê-‰?˜^À¡E×°NžÄô;,)ÒJ”¯0¬•;ªåëÉ3½&„–˺/ÐñÐè›»ç“_A½Îì±ê%”ÔTÚêÏk]ßëËAt•Û…e›(Cµ|LÌœÜnè?cX/J•–±È +jLŒ˜æxqºñ¿IýÅã=þ\%öúoõ꾈CþuèÃcUJ‡w7žæU¿ú£äí'ÛÒagÐ;ð-JZœòEð½™3 endobj 1136 0 obj << /Type /Page @@ -3922,98 +3917,95 @@ endobj /D [1136 0 R /XYZ 56.6929 794.5015 null] >> endobj 250 0 obj << -/D [1136 0 R /XYZ 56.6929 268.7207 null] +/D [1136 0 R /XYZ 56.6929 165.9801 null] >> endobj 1134 0 obj << -/D [1136 0 R /XYZ 56.6929 240.9336 null] +/D [1136 0 R /XYZ 56.6929 136.242 null] >> endobj 254 0 obj << -/D [1136 0 R /XYZ 56.6929 240.9336 null] +/D [1136 0 R /XYZ 56.6929 136.242 null] >> endobj 1139 0 obj << -/D [1136 0 R /XYZ 56.6929 212.9194 null] ->> endobj -258 0 obj << -/D [1136 0 R /XYZ 56.6929 133.1778 null] ->> endobj -1140 0 obj << -/D [1136 0 R /XYZ 56.6929 104.9484 null] +/D [1136 0 R /XYZ 56.6929 106.2766 null] >> endobj 1135 0 obj << /Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R /F48 925 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1143 0 obj << -/Length 3006 -/Filter /FlateDecode ->> -stream -xÚ]sã6î=¿Â{¨³3¤¨ÏéS›fÛtÚlo7;w3ÝΔ‘™XYòJr²ûï @Yrd§7y ‚ -•eÁl}FZD¡ÖRž¼?ùwOp°ê¶N)°ÇYèP¤1Ð8®æ(±t¯fÔœÁ0Õ ÇB5”*ÙUÉ6…ÉlHï×ë9[îØ* ã0³5iûêWúšå²9Uéܶ->ÊH^ýúÒ¬n<úc+êàå„R¤Y’¾ ¦Ö5y¬—ÕtŒë@Mûl§Õ4d»¯¦
)飔Áçž -ÆúãükTugº¢®Žª*„Šµ~AU¬#ªòX/«êתöÙN«jÈÖèö«ìû36-¶¨¥S[e—4½e¼neñ´ÀB
Y¨L„¡Â£!q¤JH£sdB‚üŒÓ‚ÎíÚVÝAK- Í^Ðø -O.fr‘'û¸Ïáv·-×fi÷ð|,ñ$bX*Zµ_ªÎä]‘ÓK6ÇkõÚ¦³¢ÁfC¨ë¢ -±½jïÀ¶ŸÓ‹C¡Ò4þkôèêCh
’DEãİݸ’è9'Dªãœ¤Jƒ'¢¶€ údš%GËgv %“°§¼Ð)&\.ô}ÙûaU—S§
S¡B5s±+i0*"´û¤ÂHËï‹uQš¿RÊŸr -cRœ§^+H@áž/ù²š—'ªÄ`”sY
Cn† (¶Í£õ¬éË ·GF£ÈO:$Üí‘\ÌòökÞ0ÚÓxZÔ%PöÑB
úî,yÞ˜ìÝd¾yKÕ²Gi:˜Â*„d}(.úàÛ÷æS(Ú”o)ÅtXZïj
…£áP=Ó`—}úz¬o/~sâžËѪ™K©¨˜U!³XŠT4sŬ›Ì„*¨òG¥-&›´¼ãìTåÜr°9$Ñüùј;Î}—Áö溋Êzˆé|Ÿ³fû‡D4ÌM¡ã>|áiš¶;ð*eÞ‹j#)¾à¡– -`Lšª(˜5P8“q2;–vñKÒ‚æ¨\ªwëO:(€yãD‰}Kõ“!'{1Îh6n+K®F؇a}WùáÖÂ2e€õåž«WÞÔõ³YoJË\Šj"Šê@‹4U>*}„ßЖ¯¨¨rP¡ô7S¹QŠJÞOŠƒ~ç‰Ù^i±»Ë,"Q²ÐuF¥¥þ -á`U¬˜ÜbÛì--ó™÷5´þ«5aoÊv…$â¸Ð«e]?l7t5>ú;çnC^1SîÎr öc5ÿÐîr›×%2¼¢¾"äfÁOâ—ý²&a
|ø³3ö8ñ^ -WŽÒ²MÞœfÐ:Ó‚cPòE×#ùoÈÔ°]¹èƒJÆ~( ¿v¦àzi¶-z]Cëa£yGì,>NoRgü}ýšªn&óV¶,Ï7¶é3¿ 8Ïý -í#ûÈÒ}Å24ŠP6Šsw„š¤ßÇEjz“xå¼qn\r‹%=”à×ЇîG½=¹U]Ñ÷‚§ÐüÈHMðäÃàçœ>e&…ãÇ“ós¢ûÏõúõÔÛÌ¿þ?Ôq±æñ‡ë«ÿÒÈݵ§‡5ÜÕÿÉëöáûAe²÷zò¡5÷öåèp±óêá{Vï•ŽäÈ]ó/\#·>D`ï½g÷¯ÏÙýNLŽ<q)çØ€ƒx„íHÛ™¦£úÕFûßZÔ=ÕÉW¦1yç|Î_5ÛÒ´+×æ9~ãÔÿ~‚?ùÐ`ÈãÕ9AØå_?‘D*ØPEi_4Nx?…-“Áo128_Úš2÷j„S>…ÄŸlë÷ô"â1jˆž<ý#)zá—Ÿÿ$GfJ“ºò¼
}ðA^'%…LZ›(Ë¢²ã‡?~1¶müÏ®ëmÙ›ÒúG|¨hÅ¡_>Á
ÂéßãeŸ?ÿñÿºì~B
¡Ó4˜þ)t.Ò Kü¡P^÷OéTDiLý‘ÅK{endstream -endobj 1142 0 obj << +/Length 3058 +/Filter /FlateDecode +>> +stream +xÚ]sÛ6òÝ¿B{ˆÜX4A +IC”ÔB£iNHß4Å:oŠò^·YÒ¨«é¹4iÖEexñbáÉ/ꪳ´ê’ +"™:bm—wfmªŽö«q¿$´) No÷«‚NJ VÛ®è¶Û<ï2žnħ‹º› ð@ªÔéPø=“-r6©¹q¦õ@ƒúšžÝŠg®ë²¬ï‹êæïOyy¬48Tk},ë”Bõ´”Á0•=Z(ïÇP$ûLaW°H%‡¹z¬Çl‡#B«xÈÖéæâ-ëf hm:¼x{§XcC¿‹»ª)J‚Dêô5õ°¨Éa=¯¦C\{jÚg;®¦>Û}5mHI´>ïôT0Öo§/hPÕuøƒª~*“Ù3ªêaP•Ãz^U‡¸öTµÏv\U}¶9mÝ櫲ïNشآ–ë
Ç÷ùÃÎ GBÄ¥„‹=·0÷åÈ †¥r?ì<¥qAâÑÀæ ÆûXOkÜc=«ñƒ\wÄvTã¶>|QÞîG6g·ÜÚeGî"åÞÉÜÝêÐÙD‘ +ÒDi—;åØÙè Qú?ŸMùˆË¨gÓÃ:p6ëù³9ĵw6ûlÇϦϖ½¡2—_r¦Z”uëÖ¸È2or(A(ïö³0Ž1‘ä}ç»Ì*%§>ØÔ'#ã&'A +cÝo_½À¨†¾-c®Ö`ŠlQîÊ/)ݦ`„Úµ`=ˆñai$RÕ•!Ð ,b÷‚‰²^äåªn;^¨"f.3±C¨L×â}9…/¹½©Ci’€d?×;$T7Tsnï¸Ê=;`Í„x/8´jÆÁœç®ë“©ð+ÍX©·4í¢)6»º÷QM‚neÞwOÈ<e(ªtŒæåËè˜ÉiG.vq9žÂén[®ó¥ÙÃs±Ä‘ˆaªhiÔ>T]¾èŠájŽçêµLkE½Å9¡®‹¶„›,›Òi[T‹QÕ´f±mŠŽ‹sÛ–~Š:a£îÕíÊ×íwyY,s*"Õ lG›¯·½Ð‘ß}ì‘Èé¦F®¼Ûº¯' içËXšÛ27ÓK0bÐc LGíØ-6\= 7<È m4hE%ÇÖ‡ŠnEmÉö†7Ú7¦e½ØâYYÓÞ³# + ÿ\ToJ€ÇM{»s@[ +{‚´´Œ¶ñû¶ðQiòÎD¡Gè(HŠì!s·¬É=_|ÝVpê4ÌÇÜÆêŒý¯W†9›±¡éd¯ÇyHÐkÉ +Sv×ØßáC¸óFÈÒlLµl îÐïWÆŠj£ÏJPÑdn¬DŽ@Û #ÈÅöÚxÌ&aäŠ $0¢Ý]+M} +Ö©RÑP·£ü +ý4ðû}kšQmè@×/§5~?•„A”êì9zɽE¾Xݦ2Ð:FDKr\Ð,…8˾Œ*Äöª½Û~L/VHÓøËèÑÑ+h
’DèaÆÛnlI4rk'ÄaN¡H£'¢6ƒ zŸ7KŽ–ì +oæå)Ï$GŠ—‹ƒ(t=‡ì}»ªË1iUŒ}^ÌŶ¤Á ˆRù¤ÂHËþï‹uQæ
$~!„“r +cú+Sèµ¢T ö|É•íмÜS%£—Õ0äf(ÞÝ#°¦''\ŒF‘^YºªDÀõÉuŽYÞ¼à½];îZ†Kæ !Œ¾;KžjLP£ùæ
UËv;B’`«,Ø$ëCpÑ϶¸©0ŸBÑä |K)¦ÃÔzWkls^ZWÚåBKŸžëÕÙOCNÜsYZ5sà] +*f…‚böK‘ŠÞl1+†&3¢ +ªüÕ ´Åd“ú{ÀkÎNÕ‚[6‡DOçȆÀÜrö]Û›í.*ã yçúœ5Û?$¢~nRŠ}øBišÑËx¼Ó™së¢ÚãH +„Á²÷íÅv0rúqVŒ¢]»•w`Ì“£
dŽ@G:F_ºgPò»¢öMØ +`9˜4UQðBÔ@áLÆîÙ6´Šo"4Gå’ P½'i¯ +í*_½û—@6¾M(ñ´MœZ ø+çL‰’dm_Û 'WoâÊæ6üƒ{æô cÁ‘7';ë°+zžá„µáÉÂôড়=Ã,ˆ„VÃ"ëô”èþe¹^¾»äûÛÿ‡:NÖ<þpyñ/Ù£vô*þw‰=ù'¾ùHàß]F¾½„>rüåÕì>©ºë4ÿˆ#C誢,qB¡¶¤Ü—Üÿýæ±èÿbZbNendstream +endobj +1141 0 obj << /Type /Page -/Contents 1143 0 R -/Resources 1141 0 R +/Contents 1142 0 R +/Resources 1140 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1133 0 R >> endobj +1143 0 obj << +/D [1141 0 R /XYZ 85.0394 794.5015 null] +>> endobj +258 0 obj << +/D [1141 0 R /XYZ 85.0394 731.767 null] +>> endobj 1144 0 obj << -/D [1142 0 R /XYZ 85.0394 794.5015 null] +/D [1141 0 R /XYZ 85.0394 703.7216 null] >> endobj 262 0 obj << -/D [1142 0 R /XYZ 85.0394 337.2197 null] +/D [1141 0 R /XYZ 85.0394 229.6467 null] >> endobj 1145 0 obj << -/D [1142 0 R /XYZ 85.0394 308.7375 null] +/D [1141 0 R /XYZ 85.0394 201.8883 null] >> endobj 266 0 obj << -/D [1142 0 R /XYZ 85.0394 249.3979 null] +/D [1141 0 R /XYZ 85.0394 144.1965 null] >> endobj 1146 0 obj << -/D [1142 0 R /XYZ 85.0394 223.4382 null] ->> endobj -270 0 obj << -/D [1142 0 R /XYZ 85.0394 151.2553 null] ->> endobj -1147 0 obj << -/D [1142 0 R /XYZ 85.0394 124.0503 null] +/D [1141 0 R /XYZ 85.0394 118.9605 null] >> endobj -1141 0 obj << -/Font << /F37 779 0 R /F14 717 0 R /F23 714 0 R /F21 690 0 R /F39 873 0 R /F41 910 0 R >> +1140 0 obj << +/Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R /F14 717 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1151 0 obj << -/Length 2400 +1150 0 obj << +/Length 2262 /Filter /FlateDecode >> stream -xÚÍYYoãF~÷¯ ‡P™Ý7ÙÉ“3±;“ÄãÅb‘XšjKD(R!);š_¿ÕÙ’écÖÞ 0`öQ]Ý]U_-!øÉDF©d G˜GÅúEK˜;?ÂŽfî‰æ!Õ·WGÇg4d"ÑÕMÀ+KP–áèjñK,’Ì€ŠßýøáìâüŸ—'³”ÅW?~˜Í GñÙÅ?Nmëüòäýû“ËÙgÇï¾?ùéêôÒN ÇãÛ‹ßÙi?0½<=;½<ýðîtöÛÕG§WÃ]ÂûbDõEþ8úå7-àÚ?¡„ÊŒGwÐA –’Dë#ÆiÂ¥~¤:úxôóÀ0˜5K'å‡QB¨ $tJ€\&‚”à»y×ï*÷¢$.šõZÕ}§{8.òºnz;sí(jÕõj⢈ÆgMkGÕŸùzS©·ºÇã~åˆošªjîÊzi»¥ã;0½Í«ráùù¶S–`` -wœ¼ïÕz3tìW[1ƒ‡®NK2.²‰Ã¸Sãöôs -fŸQÆö¯vÿ uc¿US/Uëí/±›8
A -ye‘ƒQR"⪬•ö¤45¨ô^D·µ1cîÛÍò¦ël½úrS9b½ñþÝ7ÐÌœ^ò[GÛÔ®Q5Ëqw¦ÓmÀr'à6nª„Ùæm«¼X£¶µÞzwb½VèmŒJ¸Æ(8/ˆ#ºc}§æn}ç£>)µ–vlmõežfŽ‰á¡<4ÿtÌå&ôë·€ïÞíq~k{êVÕþPÍv¹rkû}N=Õî±
ñq›VݖͶ»Þ$¢}~\©ª -1¨aã5±Q›s*vÍÖQØ`t£ÚYO¡x°Œ¼Ê¦„$L€SAæ¤_L\&î–@Ÿ¼Þ®¯µK3;—ËÚŠ£ ¼[ŸIQ"ax_àÆ„l½ -Å_¬iô]WŒ‚[z¾ó€±¹$d죕CQD°»ä஄µõÏ0Õƒ÷ahŒ¤ºm¢Žn{ÐNË¢$Çvµ{øÏ7_ZÀRd|σéÿc×6n) -ôe†¯!Æ¥ -mÏEÕt¶j†¹kÈ”¹+’ñ{S°èá@:ç×Q?÷¡8·Ÿëª)~ßëÝöz>2r‘ünUú|w¼¤îTÏT».kX¶8¬¸ÝV '‚þ•O&Â÷Žö~¸{·Ýlš¶üúŸYš ”Fºä’<}Ö›•€%²ÚÃÒÿ¶*Œ„Âüc¯>÷üƒ_q -:GºÎûbeô¥§+À,Ø•4Ù:fEa©uÄ#´…]5e£ùd|Ú¡˜êî;à.õxˆãeòÕšäX¤ãžÏÒ¯x@eX#‰³Çu†!Ê‹4cXۦꞡ¸¢r è|r=ŠØ¬ IP•›ö‰ýµÄëd~½{»mxL,‘®E|"ÕÖ‹bâpIAýá¶}Y•ýn†1ŽVa(ž— üÿ©Ãè¨Oè0£²Q÷N{»POªÐÑu{îÒ¦@-8Ïk íÕ}†Ì‚@4Bh)NRáïW»'ÖmTQj™ dÔ :¯Á묇4Y'¤gì“ŒpÅ(|ó-Ø9ÔÁÅÔø17ÙLfmù)È‚¶Ý©®>^œ?¢®@¯å§^_]Š*ü”‰³4ÉxjCÔ«K-ÏÓM!¡0É´ÜÃ~ B{k|>_“z0ÿja–¨ñÝXgh-ƒ5D™| eCÜÙŸ,L¨±›Ìêm‚x]e±WT˜!þ”¶4–Ú RݵêéˆÖH&ªÜL&Bÿêd³„ûl)ƒxF‘y—ÕÉ€ÉM&¡0CûIGU.WýüNépi*czd‘»}žACåÁƒÿÚãSW¼ç'PO3(xÐ(–É@qŸÑàq
?b2:þ¶ +xÚ½koÜ6ò»…€~¸ÝÔ+“"õ`ûÉqlŸ‹KÚs¶8Ú'k¯P´•´qÝ_3R¢lÙIϹ€ÅÇp8ï—þx'a¢"¤J†1ãqPìŽXp{—GܬÐʇz½>:¹i B•DI°þàáÊB–e<Xo~Z$a.[œ}ÿîâêòÇëÓe*ë«ïß-WQÌWÿ8§ÑåõéÛ·§×ËÏb¾8ûûéëókÚJ,Ž×WïÞЊ¢ÏH¯Ï/ίÏß/Ywt¾xñùåL #¿ýô6ÀöwG,*‹ƒ;˜°+»#‹0–B¸•êèýÑ?„Þ®9:+?ÎÂH$ÑŒ +ãab¢Fd‘L\„EEplB#®Y"64ÍãäM×Ñ|Œ]8˧wtßÂ8‘Wam›´°MmUs;žã.LLˆœq·™€yLcÛqÕ…WN(jùÑƨ$F-MҚ͸.tÛØùlL¢PxÑV_iV<28´sÍßíÃÜŒ~ݵƒã»ƒwÌÇ4Óuíˆj·[{¶Ÿâ°êøÌ…Ïĸ}«?–Í¡{ì¼3E™çï·ºª|D·qšØëÖîY*Ü7AÉèƒnGÏú”–á;¡ eA…J¿ša& +È#%€h‘!-Áo Å¥ÈæG¡˜…“«Þ4Àbàqé¯|̆KhUG;‡n Ò@ +ºÝ•unÞK¦=·½ÊôLÚ_»rÂ!ˆÙTáoï{|"Ñ›oúg–†R—жIÆ?Ç—„_â «‰/ýo§¼Ì Øî¹óQ|p'8³e Tª ã©lþ!ò‰Èx·€ö9å”2ò¢šñNÎ2èHS›7ô¼i"i¢L¼„Qç;Ó’ÁÊÕ´”o6¤ƒÎ‚îò¾Ø…ávN‹aJ*[‹¬(:5ï=õvÕœ‘oªM¿ÕíÐOu#p +IZòÀ—ÇË$ŒºŒy’Ž}>Jwâ)¥1(SR™|Biʉ„îÚ6U÷š+*ëÝðÖ;Ș¶P&誛>
ÞèA¾Vè7÷cqO×údrÅ°qÅT[oŠâ iQ‰pÄú²*ûû%ç|ñŒ=ñ¼LàÿGª8„*ŸW¡R endobj -1150 0 obj << +1149 0 obj << /Type /Page -/Contents 1151 0 R -/Resources 1149 0 R +/Contents 1150 0 R +/Resources 1148 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1133 0 R >> endobj -1148 0 obj << +1147 0 obj << /Type /XObject /Subtype /Form /FormType 1 @@ -4033,41 +4025,45 @@ xÚm”In1EOPw¨u€$ÅIg0²Êľÿ6¤¤êV5oʯÅésÀóή¯ƒÖ×O²Î Ž¢‘ÿ¨#h8Çùø:„5?ù 6\>RgÈbÏWÖ¹j[†› WŒÏ¢®{6;»²þFÃÇñ÷ø]š¨)Õ/Ô¬Mu;pk;Ì©Ëdh<åE–ñ¬AÏw³ð¬±±Nê¦ó¡Ä½t•‹ùD„™Â²]°Ä(‡;„ ·åŽ°Šr²ÂÙÄLûˆ
T¥Í¡èª‹ŠŽt’¹w_=Î]ˆ‹=¦uSä÷—ä"ï±yl±‡µÃ-ËkHsŠöreOÚ³êvg›<7ºt,‡Ýe—;ãÒèÐ/I…B÷&ê(ýê³ö󻉨YÙ¹Ç,çkRÔšÚ'^
m" ^˜h±ÎW9AVªy©/fýÆ"•œãûFy-Sng \Çdª¼˜©Æ¥†Í}B©•µŒÎ$âw1.¶&Øíþ²C¶O–ÃVç X×9g¹E{îÇ<•ãóP)!ÍZÜÅŸLÞª~ÑÔ'¯UâXLµüc“ÅXsЖõÚ¯½˜Ó’~òBL–§èªÆ¹O¦ºNZ_[Èü.øšŠû*]3QôçÇñ!Ö-žendstream endobj +1151 0 obj << +/D [1149 0 R /XYZ 56.6929 794.5015 null] +>> endobj +270 0 obj << +/D [1149 0 R /XYZ 56.6929 769.5949 null] +>> endobj 1152 0 obj << -/D [1150 0 R /XYZ 56.6929 794.5015 null] +/D [1149 0 R /XYZ 56.6929 749.9737 null] >> endobj 274 0 obj << -/D [1150 0 R /XYZ 56.6929 330.9243 null] +/D [1149 0 R /XYZ 56.6929 246.2071 null] >> endobj 1153 0 obj << -/D [1150 0 R /XYZ 56.6929 299.0803 null] +/D [1149 0 R /XYZ 56.6929 214.3631 null] >> endobj 1154 0 obj << -/D [1150 0 R /XYZ 56.6929 240.311 null] +/D [1149 0 R /XYZ 56.6929 155.5938 null] >> endobj 1155 0 obj << -/D [1150 0 R /XYZ 56.6929 228.3558 null] +/D [1149 0 R /XYZ 56.6929 143.6386 null] >> endobj -1149 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F62 1035 0 R /F21 690 0 R >> -/XObject << /Im3 1148 0 R >> +1148 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F62 1035 0 R >> +/XObject << /Im3 1147 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1158 0 obj << -/Length 2199 +/Length 2334 /Filter /FlateDecode >> stream -xÚÍYOwã6¿çSø¶N_Íå‰ÛS:“™MßLÚMÒÓtÞ<ÅVlíØRV’ãfwûÝ HIvä8™äÐçƒIA -ÄiÖEÿ¡¼ÁZÉÚÔ|ƒ.-¸¸4d,!8]qÄs°çàÓ%ñ»y W¥«UêÓZÔ?/GÀl$ÈïMœ&ˆ¨÷_\Ùæð-¼Îfà‘/«´™.¾,:¸¹“Éd¿?:Èçè8i$è-ݼ¼K²hN×øNçCwwç¤û]I$Á•p÷ -ÿª$lèÖë±Ó)¡b¶+žŒÏüVs‚ ÐÊC£ã}ã8•«-An«¼àž:ë:#K©ˆÉ®á–Y˯Ö-™œk“LÐD™ê@(ÁÇ'•ºB¤,ÚÞïN¤æï<æ'o>Ôð/œ—£]„aVIã6>/8‚R žEÚ`K;!eKðÂà -ó7O&5 ux€hמböŒÈ›¼Yah“0ËÛ@¿Ç48mbÀuvS’t´Qî7žéIŠŸ@~¶YÌ~š±ã¢ô÷Š+kÄŽY`‹
ÞÛiíç%ä¢ Šë,—å&›
êï›tSâ,Œœ®‹F`u½Î—Í$/~ØMpBDÌ#GÜ!yéié - mÌsÓÑЪ Uá5‰ [Œ½{A„ˆ¡€…”ʼnò æ~Ài¬bJÄ! }Dnm¶ô÷eQÂ}€ ‹"¡/ËK!„bZÃøk -„: 2¸KKCåW1Œ»QZQ>Ig}a^Kg”â¢×x‰huf°¶ãöÎôñ7xYNÓ%ÿŠ3 -Â+^i#Çg¿ÞED¢J$íI]È
]j€Iä®@(²fSV_©“MVݤ€pÄ8,(ÚÀÓeM<õ=Ôl«GL×ÓÉK_‚é -"ÈöuöJ¬Ne¢ú²î‰(0zäÖö®ÃË®XwkŸSç¾>°PóXƮεI$žXçJ3+k/0ôªŸðš.c%¥‰ÚHùhŠpº\ÖßPÙÅL%UU—® 8pë}¢pÅj!d÷´Û/ν\çÄB(›#!3‘"é¿óCÄ´7€¨ŸVû]n˪iywϾEDžÉùP¹Il>´u‘Üsb`ƒ@ðk±U©ßÕ±0†žèZaŒm-ãƒó×Eþ‡?i -…µ €Q«X¯®3¯ÎrS„fŸ<¯ÊõíCò³NÄ·µñ@´Ý£øú`§ôØ_»'ŒHTÁo£§øí7ð=‡.à%Ç÷›P“µ"Æ1ÉÕÃ"^i»ó™F–PÒâ”î#
c%TWâÁ¿/ñ`äúž(>“:Z:ƒ¶ªÒ¦¬j¶72íQ4g±æ;—µg -_´¡¬¦Ÿ"€à€ä?0˜hŒ MKÔ_íǶ6ÅeÝép¸+ +xÚÍZÝsÛ6÷_¡·“;%Š/â£}r'çNâö÷)Ídh‰–x¡HŸHEuïú¿ßP”MYvÎdü@`,»‹ÝýAf# +ldRB…•#m%I)KG“ÅÍ`ìÍs’8)éÏúñêè»×B,±Š«ÑÕM—!Ô6ºš~Ÿþóä—«³Ëㄧt¬Èq’*:þñüâR,~N¾x}þæ×Ë“c-ÇWç?_ ùòìõÙåÙÅéÙqÂLÊ`=v,x}þö[o.OÞ½;¹<þxõÓÑÙUw–þyî ÿ9ú𑎦p쟎(Ö¤£5t(aÖòÑâH¦‚¤RˆH)Þý«cØõK‡ô'¹ œ[1JRJ$c»wÅ(ìš°Ò:9·7MK‰H…3‰”„Zº1 g=“0Έæ6éÔ%¸ð6)ëÙ¬¨fN70_ôçSC˜Ôn7±¹Í'Åo”ò¼ +=^ϳ[í<w
3nòå—|‰D`Ü|MIÇY5K`”™q¾µÎÏE‹ü˜›&›á&fœ…ù Èg%6M9 +”W-¹oÓ”jb4e£¾.^¦_a9I™Ò£$N8¤É8Ì4”ï3™H¡Á,šl½õì5ؤ®œ¹f+Ta\Ñç/Á”’aA•-òé +µ™5m¾|‚çLsç8•»ƒB§hOÜÃS"'ß)‹¦Å7õIE5)WMᬇ]oÚÕu`YNM™}¼ÝÔUŽ¶ï6sI™š¼Ùm¿¾b¾â{¯4‡–ݪ•ÑÄR†¡º¾mA¥O»ù¿kuéÔfÍxVÖ×YéÚv¤¾‰YëÍå&Ä}üŒÝÖÅö¶Áñi~“ʶ2›wg¨ºç¡Ù´Y›/ Z?f¶ž>¾f³IC¤´ûµRÀÈR×îøpEŠI“LæYUåå“® xzÜPå(0Õb±ªŠI0”'Ev¾ç"³ûÎòÙd’7~P»Áð)¡œ‹=ñ?éæmçßî\˜µ§¯C™5Êðt–qÅn³ +E¤•û¬*)Ô²T…êÃߢýe^ºòe›!¡=¼xîÎtÏu1ÃÏ-VNIw{v5ÅcÊßœêeŠú{uÏG³/“)jå©Ä"d¹‚œ0M>çwÏKgNkÍدÇþ«‹÷ïÏN±í>¢Ðž¨‡Õ(;¨F07 +M +ŠÉ–ì6uÒÍÝ®Á:ð°è¼îÞDÙ¡dß.ØrÿKÐþí« ,Ù>•½Ü¡SnD_ÖERHp*F\ÚÞmxÙ
Û\ÚçàÜÃÌÅÜ”§ ‘ jµ'â\f”å[ï=ô¯†à endobj 1157 0 obj << /Type /Page @@ -4080,57 +4076,55 @@ endobj /D [1157 0 R /XYZ 85.0394 794.5015 null] >> endobj 278 0 obj << -/D [1157 0 R /XYZ 85.0394 632.8653 null] +/D [1157 0 R /XYZ 85.0394 537.224 null] >> endobj 1160 0 obj << -/D [1157 0 R /XYZ 85.0394 608.5257 null] +/D [1157 0 R /XYZ 85.0394 512.8844 null] >> endobj 282 0 obj << -/D [1157 0 R /XYZ 85.0394 539.7572 null] +/D [1157 0 R /XYZ 85.0394 444.1158 null] >> endobj 1161 0 obj << -/D [1157 0 R /XYZ 85.0394 509.6433 null] +/D [1157 0 R /XYZ 85.0394 414.002 null] >> endobj 1162 0 obj << -/D [1157 0 R /XYZ 85.0394 432.3053 null] +/D [1157 0 R /XYZ 85.0394 336.6639 null] >> endobj 1163 0 obj << -/D [1157 0 R /XYZ 85.0394 420.3501 null] +/D [1157 0 R /XYZ 85.0394 324.7088 null] >> endobj 286 0 obj << -/D [1157 0 R /XYZ 85.0394 280.0345 null] +/D [1157 0 R /XYZ 85.0394 175.0326 null] >> endobj 1164 0 obj << -/D [1157 0 R /XYZ 85.0394 252.4421 null] ->> endobj -290 0 obj << -/D [1157 0 R /XYZ 85.0394 134.8432 null] ->> endobj -1016 0 obj << -/D [1157 0 R /XYZ 85.0394 104.2859 null] +/D [1157 0 R /XYZ 85.0394 144.8676 null] >> endobj 1156 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1167 0 obj << -/Length 4329 -/Filter /FlateDecode ->> -stream -xÚ[ÝsÛ8’÷_á·“¯,.@|'OÙL2çÛÌ\⩺«™©+Z¢-V$R+RñøöŸßn4À ²<ç”Øhôǯ»a~Éà_*i—»Kãd¦W—‹Í»|€±/x˜3“æãY½½øËGa.]æt®/oïGkÙŒYË/o—¿Ît–gW°›½ÿéÓÇ›ùüîÊÈÙíÍOŸ®æ¹b³7ÿùZ?~~÷÷¿¿û|5çVñÙûÿx÷óí‡Ï4¤Ã½ùôõ8zœXôó‡>øôþÃÕï·»øpÛïe¼_Înä¿þÎ.—°í¿]°L8«.á…eܹürs!•È”"ö¬/¾\üW¿àhÔÿ4É?β\è<ÁÀ\¤¨\¦!ßÕ¸˜ÉG3¹Êl®-,Sªºì¤ñrš–çaÒ¢©»Ý·³f
<ÊÝl±*êºô/vVµÔYÐëíûŸé½m_aqß^WmWÖUý@sŠÐÝJêh·å¢ú±¼\&HÎ¥†«Hòöðd„tcV»ÁÙä°CkÓ'3ïWœ—$¶)ŠgÎ>åû¶Ù¥˜šóŒ9vÑÔŠ~k¹8É©@(±ßýŠgX •É¸ÖfÊ‚b¹Ü`àa×°q!f«j±Â¹ðMWLÂ79ðU©œÄ¯@^Y;»CVY´ð~óó7I=Í®ïÑÔò€È–m@æê„6hØ}näIÆæ¹}Éa{ÒdÚÀQ¿–±ýŠóñ’ÇŒéÈ,…ï§=ÇX‘9&#g›{š"'[åp<, ÏŒÊOü÷ÄR6³Š™ËѬߘb(ð®j¿B›‡½Þï«F¶Äì„—ØßÒ“Äfų²³Çj½\~þ2œçpVoIrn@„>„¬Î¢«šVFáRklI/ØS,åÖSo¨d8ZÔO¡ãžžž,l´O°¯Í¿µ4ˆôë$•(@Ú‚¸rù¬¡q2hô+úÊhQ’Â@à°WÜ‹;&}´Að|¶oqÆPÈ“f@ZeNJ+6ãà>
ȃÑ`å_+¬qÁùxÅcYå’ƒpvøðs²*3Ƶ:#«t6Lyó&墂`ÐÔqRvOÌ{jö ZÎE ®¦^?QY|ÌZg2!L\oW/i5“ʪ‘
ÇIÈákëfQ„Ïš¶ëÔ;¾ƒ™Íö®X|
g=ˆA…§¢!êa‚Y"ÜDšÀ˜eþx‚z -Ü$œüÒ¬€°’óx¢ÐðŽ»m -€Ž!–8cØböÏðzøÜ Nø²Ý®+ÂHH3!È‚ôÑܺ£e†®Ù=…Ús›ðìÏè¥
ÚU×–ë{bE&@£çµŸM#Š´›mwÕ¦ð4ÂK±ïVÍ®ú¿umJTäªÅG[²ÿ:&ú àjxéu^¼~„© ¨‰¤»û%|%@hðC`0•eHñ«
p\o>,˜0¿0½³&½•`˜0òžWhÁ¸6ôðkùVLL>?˜Öò W”`¸ ¸ Â`ÎO¾>9œW<f—ƒ¡[?ë$Žð‘o4QÞZH;ûP³=J=ƒ9cî´4`êÆaîæ»í·_ñ̆Ñ`;¦ÝvÌ_(©ûjfGNùÜf’?#þ@2 -¢ûŽŽ+žÙpÐÜð…“
ŸROõ˜–¶
‰7˜È‚†žååbïݼ‘.¾Q¤ù
s€)ðd_‚(})ËSU-
aϮ
ÒØîá’ŸSõ¼ñüÓå¨~nõ×Ïå†<ŸÉgŸ -ïñŒ˜ýP@wM½ï'ôà w"o]? -
”ÊÀD‰ íG´~Ö’áH2Žñ÷„æª>ú*@vÅsþRŽõóÏ}ÿh]ïÑ)t'îˆLd -Cáx¡e¯C%s…… -)Áìe>KFz¼Qñ|1†Iy RËê¡ê¨8 †`·ßYfB1ÓcÍÌ ÔØ;TLàe¿xˆ?ìçt«}èòÔa—§dòüôdÅdZÊóµæ;îM[ð7-¾)¾Y¸`¯
øZ0ÚSvl›¶î|ŽK°-ß±Ãß0ˆ¾ÁO’—„áp(Ðoé1Àœƒ„’g0¡ -ëÄ_ù:ö5rôj•Âq -}ˆû2&Pä@9¶-9xp.üÏÈOöõìâ¾óaÕˆL§|?®rž±¨\Õ -W÷¨‰åý…îoèP%Þ½¡'Õ*{‚üL„|á¾ -pn³¹öZ‚³ö¨ôaí{z‡ð—–:€Ûsâ•™Á¬Ð‘ck‹Ú‚·_àðæÃþ©å…Ž€£D4yÂE%(U#«êaf—ôã’F¼Én¬±¡ªL7€x=ûï0÷af,Ò4ómå¥SPÆî!|6*;Î=aÜéñµ¨Î64ZõÃÐýdH⥈p›Ê+f5iÝjÁ«f¿^R'š<j¥|:/X¿Óz©BHߢÇV•¯ÐWñÍcM~ƒÕý„2¼ðÔ®ˆÆ® :Ã4˜ƒÜLíLÏE¿ñ¦í› î˜ø -L¼¯Fîe¼|´ý]º¤‡u…âÇ]Õ…;¼:`_jöØC¨…z}Þ;Cè«È¥ùbž1³±·ü£ÀWèhr¸š$˜Þ˜âH¯,Ø¿ÝUß¼ÃÁD?t…‘Eh‚XÝN\;?ðŠõ8†ëÆæ7‚X¼»ÃŒ—‘iËs¬è&(zÀ‹ÿkãDi¥ÿÅä¶ÿé·†ÿù€ÿŽ5½W¿~hàÌVš‰7:뇷)¬Ž`ÞÁ´T‰+®B¤Š+¬gëÿ)l¨°Iƒ¹ÎüDµÈØLZX$…[úˆòøßcǤÿd@Ééendstream +/Length 4254 +/Filter /FlateDecode +>> +stream +xÚ[Ýsã¶÷_¡·ê:C|ÀÝÓõ¾êLsIv’<ÐmqN"]‘ŠãÎôï. +?Çß®>¾¥K“~z÷þݧwß¼{ñÛõ÷ï®ã^Æûe¹Àüçâ—ßòÙ +¶ýýEž kÔì>òŒYËgÛ©D¦¤¡esñùâŸqÂQ¯ûi’,ϸ(x‚’¥¨lV.ÿ÷ +÷ðÝ{ÎfŒeV)ŽCs˜ÕdZæ&rYãò<Ÿ/ۦߵ›Ž8ñ¹/ûj[5=}¾~ÍsÞÔ}Ý6ÔR6+zù¹+ï*¿–QK‰<ËØ.u½®"Aà ÛWZÃ`I8žM+€ï4®ˆ…¯ªå¦Ü½`f^õBû½`C»¡!ËuÙ4ÕÆw÷-µÞTôÜwÕŠzn©¥{ì`j+WÛº©»~Wöí®£þ0Ãt!œš¶9[y’§g‹È} ¼½¯`âa¡çí->û‘khÊmEM]µû½Ú¡tf¸Gþu¾o²(þlØv{VPm
ßpka±ãƒ9ÈB.=ƒwÍj™8.2&´ñƒö}½©ûGšBt7~½e»Ý‚x¢ ß±Ep› ÉÌ”/Q˜ˆô~WW¿WÔÒ´ÍâíÇÏãîn¿é½˜Þ¶^&ýOˆ‹ð6æ".2ÉY&½Š¼nŒ`*3@°ßcÝT}‚^
ãc±çÁ£´á‡™×5–ôyýæ'úîÚå—ª§÷
ˆWÕÔÍ)}3É4t÷Õ²F
„ÃL(‘,À:¨@òý¡ñÒfynĬà*“ÆÏ1_vhLÚx-⌋ñ”Î2M¥JÁ![͆•‘Âûv—b*œLnƒ)p*ò|høaâ$¤»At¿âŒgX •ÎXQè)ÊÕjw‚‚ù]\ÂÆ…˜?¬ëåš”GB¿Êåò,Kä•1Îœq’濯~ú]RK»‹-½9œ2u``$W'´ÌãZžd,çè‡í1phBʯflœq1žò˜± ™aàã°§+2›ËÀY°»nÈÄ‹K‘ƒ³eàÍö×ÄT&3 +ìúhÔ¯¹ÊKPà]Ý}wFvz¼¯è¹÷†ÍcdGOoÎÊÌêÍjI6|åÏs8«W$œiQA`Á5ÕÝ‹ós +§rnI’§ƒ–r¹¬î{òvÊ)ö–Í£o¸¥§#_Èþ¥£qD¤›g ©B*À¨–Ï[ê'ƒF¿¢UF“’z‡½z=ñÃ2
‚qôgð’#þH›i”>)L˜ŒÂT‡ãÿZa
.Æ3Ë*“Œ€5ÃÂOɪÌrV¨3²ªAgý—/S.ʳ‘† Ž+²[bÞc»Ñ²6H4µÍæ‘ÞÅǬµ:Bó³ +%#ãSÓ€nZÁ‚ðÀHÝAÂ#ÀJ•>·ÎDÃ˶ü£Þî·¿,÷;ÄXŒ1a A2—ÅÉà¹X¢§ó°“EGîóòpŒUb:A#ÂN–;ØNØÊ8úú•s™`ø+@ü`Ɉª“FTeVëb6åftsƒ?kZOÚM5P40*! _F³ÓÈ™å@˜ÂCUøzf\Œ§L@ ïŒóaå' çÂì ´™¨ +Z™£›f'‹7`e´\h}7hD]˜§Èå¾ +Ù”Çú– +šB„¾A¨‹"~³Œúzôf\Œ§L¡ožÒ²aegxWi$bÀÅø]T—¹ñìi½ãJ+FgÏ-;£F!pÿf<ˆ3žá sìiÅÐy¦€‚oGd˜ñ‘¢#vcLä)ŀЫˆÐsdÜ +LDÈÜ>é¦Ázh&˜»]»¿O;|«clý4øh=ÿØöž;Îi:.m}Ëý¦ìÁ(o;bâýÏûæÇÏÔë)Âè +Ü$:þÜnJ +c˜I€Û«˜¯æQ˜p1žñ˜Eü†oqÔI0á‚ß`¨œÍfþ®${”} Ííi™ÀìÅôÍ7Ûoœñ̆ÑlÛ¼°ÏØ1¡d˜ 9å
¸É${B €dEû
7f<³aøÜhðˆ“
ŸR
¸OÅLG[æÄ™MdAKÏêj¹wN>FU'ø¢p7ð^ô²À_•ñ¢ô¹ªNÕ~en2‡†¤¾ÝÝŒ^>¥ªÞãñÄ‘(ÚÆQ¸Õ_>U[òšÏ?RK‹ùÛšj}3¡:+Y:ûÛQ| TfJLh?ª3ÇQgH†#ÉášëæhUÀíŠqö\ŽÅñçÖ?š×ùuŠß‰;" +G%fi±ëåK6J36¿jhHï2Ø·,»ê’ðsœ³Üt-{X»RŒ‘§À“²+”yÖ-!£/_ÃÀM„ØÇ¢šærŠ6F籓œßìý˪\<‡bç›Ö¥+ÿÃ[™yŽaÏ$F*P‘’4 +ð^:ˆó}×í¤K⥛Êé&6iÝjÁëv¿YQ#Z<zKyt]0~Ñ:©B…Hß""«‡ÚhUO|ûÐÐKÜ`};¡/<uk¢1^ˆÍ°ü@e"ÝÆÛ.¾‚¶cÖK +—ØèÒÒη=¬ýͬÁ4åÁ>cùßQÊ-ÆFêÎS<^e-ñƒ`èe$ \/ 'ƪ)ÔÂ1‹¤Šg¤v +Lò$UÄ„Qþa endobj 1166 0 obj << /Type /Page @@ -4143,181 +4137,201 @@ endobj 1169 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [55.6967 552.574 256.3816 564.6336] +/Rect [55.6967 404.4849 256.3816 416.5446] /Subtype /Link /A << /S /GoTo /D (rndc) >> >> endobj 1170 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [268.5158 552.574 332.4306 564.6336] +/Rect [268.5158 404.4849 332.4306 416.5446] /Subtype /Link /A << /S /GoTo /D (admin_tools) >> >> endobj 1168 0 obj << /D [1166 0 R /XYZ 56.6929 794.5015 null] >> endobj -294 0 obj << -/D [1166 0 R /XYZ 56.6929 287.3028 null] ->> endobj -1171 0 obj << -/D [1166 0 R /XYZ 56.6929 262.9578 null] ->> endobj -298 0 obj << -/D [1166 0 R /XYZ 56.6929 228.9466 null] +290 0 obj << +/D [1166 0 R /XYZ 56.6929 724.3071 null] >> endobj -1172 0 obj << -/D [1166 0 R /XYZ 56.6929 199.9231 null] +1016 0 obj << +/D [1166 0 R /XYZ 56.6929 689.0661 null] >> endobj -302 0 obj << -/D [1166 0 R /XYZ 56.6929 131.2977 null] +294 0 obj << +/D [1166 0 R /XYZ 56.6929 117.0915 null] >> endobj -1173 0 obj << -/D [1166 0 R /XYZ 56.6929 103.9878 null] +1171 0 obj << +/D [1166 0 R /XYZ 56.6929 87.6248 null] >> endobj 1165 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R /F48 925 0 R /F14 717 0 R >> +/Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R /F14 717 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1177 0 obj << -/Length 2511 -/Filter /FlateDecode ->> -stream -xÚµY_sÛ8ϧð£2S±ü+J—§n7éeo·½K³OÝNG±™X³²äµädr{÷Ý$HY²˜º;›<˜A -(õÙdz
G³niÌJäDå\G(Y̪ ™àÂ9ð¿Ö†×Wœ-#…RܲÒE*s° Ï“uLN¢”&¿›gtÁǾìÍÆ4=~þh~£”7U_µ
RÊf…ƒ_»òÁømÄH!Ø…+°«@Un×fÐåÀÄ)É$/€ÙòØÝç‚€Gië$ÇÓŸ%+TÌtøYâO·.wç,OÌÊ›%~ûUÎL;¸ow8ØwOU¿ÆÑíÇëw8ú*Ús’j’qP2Ë3¸”ödpr÷°ÀÁÍè(þt¼ÀåÄà¹\køG³Dï[ fÚ(E ΋‰6³p¸Né0“fu -)¬_^ÎÔŽ˜w¹†‚Ì´ôÊÁ©õ»¶î"VÀ¥“+Åfqã¼)!H¡>ÙÍBGšJ’1‰'8¡LªS øÓñ‚H*Íä~cB+0MÚÂ6?OèÀuJ‹™´C™´*lö¿AÝÃo¸°üíYúiL%;pù„¾,haËÆKUAÇ„û4F'à`D·DëoA1œyžÇ1L:ÈK£¦j…’aW«\µŠåOPÔÿ•
f9ѵ0â:ù½iŸ–þ¢ëìœ/<KšrcÜJžTž©Ä™U»)+¿ÞráhßTìMýŒ_P š¾º®š\4Ù€1–¸¤äÉudLjÜy6©ÝÁ)ˆ@Æø´î|-Eáø„¢uf÷hv±ü¤m<RÖ]ÃÚ°,‡¢€àlì°)|ÌÞ¯KOñ»"µ×+XW=%¡®|y -.rîG˜0)n«êÒyþMÙ/×¾¬€é™½CǾª+T9רJž' œŽ§¡Ò0ª@ xdÀsd0̯ËGƒswÆ4HŒ±7&wÒ0š`àT${Ss=DYÑU?´;° ßÑi‰<ÀP2LŸLh‘µ =ì4KëÒGYüŸ}V{qéA^$©3Ah¡‡M_NjN`™·Á:PRfmº~ç¼kÇxž’«ÛšeuÎÜ%m:¤…àJÕ?¿.÷š«K:œÐà HR@RÉ{8¥•_·ßnÛ]ïï»Éë)…·e”Mƒo½)—éf¥"IMrNõP¦æ"ÑjÀ -N¼JXD<áÕ+N‰ÊDq.#Â2Ë+ä_Õ‹«ìEaê¯ -yT3¸)³Šú9Ç`¨¥:’§Q^¨þ±Æ Höi€)pk -‘Osp1¶ŽsšÜž*< ãÍ,¡`tkx\‰Ä¿&q‡ò‰äîÉåvÀëý….(JÕf¿A¦f¿¹s¥&ŠV‡â\
OV'¶r•æ·HO§Å?©BA0ÀéQ¸¬²Ÿ+Pÿ•½§Xbȉ8» -Pk•«QÙ²žÅ“-ؤ«à&Z~ÞcûÑÙø¥t|a¸Xå€ð„«·ãÓz,nkq¿¤1ýõ ³ìLšIü0p#®#ÚH^h xãÛªÚA…oÕíÃèYKèÝ®„ÿ.XGŸAHÿtö2
Õö´ÆÖ~BŽ¡K0úø‚Xm$À¯›½@龪=û¶´×º9v-}aÛw±Í[tP:ü:ykÇÿÁŸ}SW›Ê„çe8úKT/¿«þmf#¸éÆ+Ó¨q~×Ç_îËeUÃuÛ6¬êWf·û -C³¯ëƒc=ØT`ˆ±06µ„O¨«õÄI°k;uÛS¹k†h»·°Ò’ÝÛ—›#Ø|ßN–ÌÝÞòZùúrÂúÇ_-Ç&Ž=Û΋ÜBÞô©½ c½¹ÏÆH°i/¢gÏæ’¦ŽûfIú*äÄ))ÇÅCsø¤ÎS»Ãשtœ´ûFÌ“ÃzqžòÚ[ ¸4VhNtÅÕPý†:ølS¡Ãå4ˆ^R\,ÒzÔ˜ÃW—¥b—\Ø'mÅÙÑc¹«ŒIûaq‰åŒvÄmuÑ~`×\ø§·åÅ3´$ÿxÔÒ¢¥í+¹‹5úàÅ -,}\™0Ñyƒé@|*›Þš;O®ï‘xàqš9Ïä”pl뎽ic
-endobj -1176 0 obj << +1175 0 obj << +/Length 2374 +/Filter /FlateDecode +>> +stream +xÚµËrã6òî¯ÐQ® +<,Ÿ&ÛëìÆÙxœÓdjŠ&a‹>‘²W»É¿§)R¤,ﺶt`h4ºýB‹-(üØBKBE.TI™\¤å]<ÁÚõó8A‡±¾»?ûöJ¨ELâˆG‹ûÇ-M¨ÖlqŸ}^~üÛ‡Þ_Þ\ÒeDÎÑåw7·ßãLŒŸ?Ý^Ý\ÿr÷á\…Ëû›ŸnqúîòêòîòöãåyÀ´d°Ÿ{ +G6\Ýüã¡ë»?þøáîüËýg—÷½,CyVßÏ>¡‹ÄþáŒk¹x%,Žù¢<¥ 2¢›)Î>ýܬºsú“B©¹šQ gÆH,%iPÆ$\8
Z¡#P +Îq³æ_I¹.Ì70âùrD÷ú±Dà’ŠWzg±óëMþˆ8øÍìÎÙ²éxIüÞÄÛ”‹Žo´“>y(¼÷ÕU±CèÁQU +gRLöõ„ÝáÉC)’g~.™‘ R‹ë„zÎÍË\D€úQQy($-ËåßÍ®Á2x{Œ{Çöˆ‘ÃU?–3ü‚¼Š:åN)"B®Ni<éDã
RG•ð`ðqgÄ +·Önꢙ+ƒ4x¿d»qÚÁH!>Èq;æÐ4$“j*A4„”SÝáÃ
3®4¡ûF‡– ZmH~êÐÖ).&ÔöaÒ²PnŸA|UÒ%,Ÿ=“ö ~AÀ¡–8åÇ¢‚<´?ØèHœÃ3(Š\ˆt¾åÆI¬µž…=Å`HÒ)kÌÔaUGæjñl΋¼›¢ßX“fàM
WËߪú¥B0ið‹ +´k®„á‘«ÝNŽï‹Œ+Y]&¹ßïëE€¶UþûÖ¸ÂF¦ª6ÜaÉÍ£ñŒ±¥sM¾¼iq]€‡Žžum¬ÒÁããèóš£Â% +I»²È²3^J e|îédãFˆ4éC–@ cÓ=› :ävÆŸŠ³õ0jÁ¾ü©œX0áÞÜ©NENýX,ŒB\–!/Ç/“6]ùà¢G6“cK‘#Ëðr¬h½Þàvü2
<;êÒ¿’ô¡À°¾Jž
®=Sá\/À^í*I;Ö€c±§ìEÕª·²Xí«ønìË¡™‹QÒ/Ÿtk[(+ѹõþ½pèܸ(NH™-!ùû}Û†g\;„Æjpðq׆ÊG²þ%j„=VÝöƒO„ñVCp1ת€G£ëV48×m0PºäíîÛd +›ú +ÄíÔ® +UÕòî*óû¶ëum›"Ó·\‡àV”omU&iPfrF"xLiNU¬¦$%Q²¯%x¡°RRkqŠ”> Åy8C,²¸ýÃéÍ|q%&ÿ[bBÏrY3êËRï'ä€*”ô$ãGéu‘Ð?ÜÉ6èJÈ B´Š†C°µqSˆð ¬`³ta£Y¹f}£Â-x3B<á»Ó×k(Ò0ZÀ´Oîbi›Då¶D¤j[>¸ +ÉÔ`Yû®Hì¼Ê3`߶nÀî
y"3ÊŽ¡>f‚Zh 錶#Jtµ¡íAn>µ"ÈcQŸ¡°wq²‹H³p•Ë{CVG0Rœ†,a[‚1Óûƒ1‹º +êUÛž +û1ú†Á`ð¶¿ïài')"=æ…G_'6·[È‘8ÚŒó‡CÑ@\hp´'ع…ÿÀ϶*ò2wáqB_æò¿§ßäÿ6Ýpg0+œ?µÙ5 Ï!üÕ7¨wsá¡ÛÕff³™ãëN¾¢ØËq1äƒÍbl-ÖîöŠJm:MŠ‘’àÔz¬¶—dSõÖÐ^ÃNÓMÙ³}´É’Wõh[f¶žçÊ·+P—#Ô\žEj||ÜHÐ5¸MØ´ +endobj +1174 0 obj << /Type /Page -/Contents 1177 0 R -/Resources 1175 0 R +/Contents 1175 0 R +/Resources 1173 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1185 0 R +/Parent 1184 0 R /Annots [ 1180 0 R 1181 0 R 1182 0 R ] >> endobj 1180 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [406.6264 682.3188 456.8481 694.3784] +/Rect [406.6264 524.1437 456.8481 536.2033] /Subtype /Link /A << /S /GoTo /D (tsig) >> >> endobj 1181 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.5805 671.0311 196.7992 682.4232] +/Rect [140.5805 512.856 196.7992 524.2481] /Subtype /Link /A << /S /GoTo /D (controls_statement_definition_and_usage) >> >> endobj 1182 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [103.6195 628.2088 159.8382 640.2684] +/Rect [103.6195 470.0794 159.8382 482.1391] /Subtype /Link /A << /S /GoTo /D (controls_statement_definition_and_usage) >> >> endobj +1176 0 obj << +/D [1174 0 R /XYZ 85.0394 794.5015 null] +>> endobj +298 0 obj << +/D [1174 0 R /XYZ 85.0394 769.5949 null] +>> endobj +1177 0 obj << +/D [1174 0 R /XYZ 85.0394 749.3189 null] +>> endobj +302 0 obj << +/D [1174 0 R /XYZ 85.0394 679.8163 null] +>> endobj 1178 0 obj << -/D [1176 0 R /XYZ 85.0394 794.5015 null] +/D [1174 0 R /XYZ 85.0394 652.1211 null] >> endobj 306 0 obj << -/D [1176 0 R /XYZ 85.0394 731.7607 null] +/D [1174 0 R /XYZ 85.0394 573.4726 null] >> endobj 1179 0 obj << -/D [1176 0 R /XYZ 85.0394 701.1889 null] +/D [1174 0 R /XYZ 85.0394 542.9681 null] >> endobj 310 0 obj << -/D [1176 0 R /XYZ 85.0394 493.1135 null] +/D [1174 0 R /XYZ 85.0394 335.1831 null] >> endobj 1183 0 obj << -/D [1176 0 R /XYZ 85.0394 465.3511 null] ->> endobj -314 0 obj << -/D [1176 0 R /XYZ 85.0394 207.2221 null] ->> endobj -1184 0 obj << -/D [1176 0 R /XYZ 85.0394 176.6503 null] +/D [1174 0 R /XYZ 85.0394 307.4879 null] >> endobj -1175 0 obj << -/Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R /F53 1002 0 R >> +1173 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F53 1002 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1188 0 obj << -/Length 3866 +1187 0 obj << +/Length 3489 /Filter /FlateDecode >> stream -xÚ]sã¶ñݿ“—Ê3'†øâGïé’ú§Í%½ºÓé$™%Q{©ŠÔéÜNÿ{w±”!Ûioô -Û®ü¢î¡é‹OÔ/v²=ð_ª†Zb2€ÌT˜õL…þ¦å´“êÙª\Ǻñy¹-š¦¬»W¤²íZ-¹Y1Ö4âѤÏjÍÀ½°ó³”š¸5Ñ*‘HP«Ìñkâ¨Ã‹–X@„Ԟ΋}ËY‹Ù¾\Vxzdïc1š‹TG‰QÀJ(¤ƒ!; À¼Åq<»wX3èãÇí¡èÊ°ÂË$»HFáMÍ -‡ê’ë霵6}µ<Öž»‡ŽDúëbYÕUÿp#„˜ý”ÿ0U7Øn¬nvIL±cn¢pæ?VU·d(Öøi°„w=D‰˜ƒtL2Q;ê‘SÙ¬®vhåqð„1¦3v%ðOFËá«vË-»`ðTÕ<¶à?Ëe¹ïÑIàüâálƒ0úslb?ãl™©º€êk™E¹09«Dլ۱ɢLäÞØÄF¼"ùÖ:ReÄT4€/è.ÒAÞðÃZZh½$ãGÀIeÚ9µ¦ØÁɪGy®o#˦[_òÎ}µã@LvÖûx#ƒKX¹iQ ñ·`tšÕ—-ã;° -¿˜UØu$&
×`äT–L)0Í>ˆ¦í§6nÐi4#Í6ò72÷Aï/0æŠëš#ˆÍc2I¥‰ó$Sƒ‘'ƒÁÈ‘&Ðíhܺi‰Ý?
8n',„ùØáhKƒV€á{¢c`v•ŒË&EïèÐV¨TØŠ
‰˜€Ìý„¾¤L×µwÄA5h;ò²h ¢¨áX¿Ò2Ž´H2/ÿ6Œª‰& [¥Æ[¥HÂjÙw4I¢‰«î¸ÌêLjm&6@Ç4A8€¹JÀL¡¹²-šTFM*˜^8° -{œÂAùPêÓtöÖj.?…·aÚÙ8J‚ÎrÛ¶¤v’õIÎ>”åÞíC{ó‚¶^Qgt4^{¬°£&6`»Ç纳@òó1 iNSŽ"cuJŒ™Íþaƒ?ì-ÊuëSVø®xÜ&[Ð’À†2 àt’ÆÚ‰•Ç¢úÇø@ç©“AÜóÆúVèÛÀN‰ŽLØG†öŸ¤„?öc`(Ô˜óð_ ýTŒp£8$çº>F°Šó³Å—)…|!å¦'2)k胕2-#
-9Ö³¦TäÚ-òÑѹIV&U/Òr0dS©ë~„æ"M€
:›žÓgÙIŒ¾çWÎ!~ŒÿÛRHª(Ç‹· ?× }ÁÅèêL~)jˆØ“ñîu¨¬¸?TM?§Œ×=”Ýëàu“]7”°&kçAt_r%wÑIšÌ—>¸HpàXrq¡Î$Gu&9-}à -eWTuØ*hîE NþV˜êЉld"³—"SÁ÷_BæÅGºÈ\™E DéKáÔû }Uôäæ„5ÆXg¢ê„&˜…4ŸBÉDBh'·Çãr‚"£$ÓÙsP\Ø°<™’“KóRTW`ò>†¸žcì¡_ -iÝï/Ñ9/R·Ë¢eÑD0‰åo‚#þw8fG~&|Ôg‚£?Ó¹ÌgÂ' ÁÁ«Y_²ºèÄ—o-¨ô(Íe¢°¾]úÇ:ÆZŸ>sË\áî¾EL,½ðù|tÇý¾=pAÌȹú?c¯À(ÃåÖaÚjˆR³o©Æ~³îÊäCèö”Ïü ¹ø{€Ç^ÕŒÞø®Hø»"¾ÀvËåvˆ”Sp³ÉÙ=ƒ¿õ…HSq°«ÇÎ×7Ô†/^ŠÔ¨Éq¢eÛ¬CåW0‰RL\0BfŒwT6øjxZ|,i¨ ”@ÿ´ìµÌòMò:¾ñ‡)[aæ¡ŽŸj(Œ¯Cï2’,Êò³²ÚS<’©·†|¯fŸR¸"‰CâøS;¾£°éì Æ'ø4Ìû},(:x'Š×—¡P}¿‚\CJÅ)"ïѸžKo|°8)õÔ€ ;Gµi8¥äzæàÀL“¿°î#…rvÆ_ó_Má_•x¬ÌìÔ>°xÖÕ‡`˜A$á³â -¿ë<¾æ׬!À¯WCÅŽÊhÆó×VXhŒ_°h÷"ÁÖþ¨¥‚ÎÑ+$ã„ZëtC
‡.·åi¦Î>‡¢Úlqw™“´@‹‚®Fu:cD¯MpÙÖâ½c7¼Q›†®$#éo®låF;l̽&Ê|\°q‰3Žr[—EÇ]›á*—%ÃÀ詆]IO5 »©>–|–¡6fÓÌ$?3i>S_¸¬œžÙ¬ž¹¹~ín«ý©F9øˆ_<$ÖI^Í6z´·{FrñbS¾ØÄŽ'~!UºÀ6t€!~kH<×t³ÛÐa[‘%ƒ¦>mÍM¤Rï¡õ!øD
{.«Ú¾EèËîjøŒ'«PØ*6ý‘Þ÷à÷¾èÐp’¡ö*Íyy‡êxÇÍÖÞÉw;©'·“Æ?ñ¢kNEûz|é¯G~¿¨pKGïQp8ôšGÅÏÇ™|.[Ò1&ŸO‡>™<2úÅñBkbÿäaqì ;~‘›Úwžsvú¹†`*>£Ü&,Uh¤YžOŠC~ßšÁ¤öu£*\BŽŒTúe¤Çù™«H*z#ƒ]9~³+º †Ñ3o2µoR0>ýÔ -RóLy‘¿•bÑ&v&¦Z–áR²©Ñ¥"º`ôW$°û=ۃГse"|'x û÷§ÿ÷sôá¾N#•eÒ¿4ŸÒ=*PÆ!…gRÙ#ÌÝ»õǨÿ‰§z-endstream +xÚZ_“ã¶
ßO±“'ïÌYÿJê=]’½tÓæ’^6Óé$™ŒlË»êYÒÖ’ooÛéw/@€”ä¥ïÜöÆ"A +@ø²¸Lá'.Ml!‹Ë¬Ð‰I…¹\7éåŒ}{!xÎÒOZNg}u{ñåk•]Ia¥½¼ÝNxåIšçâòvóËÂ&2¹éâëÞ¼¾ùöç·¯®2½¸½ùáÍÕRštñúæÏ×Ôúöí«ï¿õöj)r#_ÿñÕ·×oiÈ2¯nÞ|C”‚'˜¾½~}ýöúÍ××W¿Ý~wq}t™ê+R…Šüãâ—ßÒË
¨ýÝEš¨"7—ÐIQò²¹ÐF%F+å)»‹Ÿ.þNFÝ«Qû‰4‘Êʈ¥¸")Œ‘3š"±Jª`A‘‚UÒ4]캻»º½#-Ê¡jªv î7Õ¯i*Ûz¨»–(e»¡ÆÏ}yW¡-`E5Ù²ô†“ãò°Ôí½Ÿ$&“dš¤*30çx ž3S9hYž×Â)•-Ö]‹ÒÝöW"_T=RóEIƒõ¦¢Öûr_WÃuº-Í +J;âê×SgÛí©1ÜW4·-fÕWû÷Õý'“‹›¡h§ÀÖ*‹½¾/Û¶ÚEÔ[j‘%&ËÕå2l¼ðp¿/{XR*°wßwëôî±/Ýax84ÖTÃ}·é_`O£àMÉ#A#|…¶¨}Ò×h +ìí ·ã)õ• +09¤ …@Ã&tž™‰è¯øìÜáÀV¸ÚÕ½ .v`+ð…ݽod”O¸/yUÌfÆãZî{çÁ&ÍH3a¼fÂ.rÔLÉE=ÐÈ£ãsi@fÑwNŽ %Ï$z/¦í3r[*U$µÁ~™%ÃÁø +›0©j‡òµ«½ìöüJÝÒ“ó¨Šl*Œ†M…ö]Çot³7u8\‘}öQŽƒ&ïYR ð±ÔD bR·ÞE•_¥Ô‘P!¬ •ûýZÆvÔËES#êa’JÎ4ýCµ®Q{Î0Gn´™N¬Á¸ª +¨}ùÔ
‚¡Ë«Ä{Ä"8Éš +Žú†šbƒ#ω³ +‡H¿nêˆ$'ÐØÎD¢âœP±ŸN°7÷8h+~©\¯«‡ÁA2_=-0îPMMFNÀ‘ºÂÆ<)„)øDÔí¶‹Åš<ÉEbMjÄro³$SFÌ]ÃÁ?%²Ñß°ã-<ƒ'c§Œ!7a’\ûœ†•Á&v’Ó¤(”
!²j+õ¯<Ô
¯ +Ð]’Fâ$F˜ü]¡PÐ^"…<˜Æ1¤vDtþýÙƒ «dê6q(/@¡‹€Îy
y˜ +’˜ÈT&ya—~&[a‹Ë7há¶Àtú,[¼vQÈÕïc€©ÀF*í4Ö÷]G§Nòq’‹wUõàסµyB·ÛPc¢’·A*l¨Y˜áöôøè4À(Áý|¾
¦H²,@QÜXñM—’ùâïùakUm»P®B¿fº+´àIþ«"`§m–†+
úçò@P™÷AÏ<ìK¬@ºÈJŠ†,²ŽŒI‰ ösf(Ôœ™Ïð.Ø~~^q¡4æçš 8…ÒâH¡ô´BPNÈ3-7×̤\œ{Îê!‹b§Ÿv¨ +0sÈèi.AëÆò9¤}kÂé e5ð¬=Lò×å’oŸG\d¹Ø-ÆRˆoÍÒĤG †o¹= +ˆÒ†–/º°µáúØpˆD ;&9^UÌÅúHáÈÕ‡uUmú£ëvS¯Y!˜„–Á{Y™-Þt4Ãg + +̉ˆµ·üƹ|Aƒ*ŒEN( #Ëì§Ñ0Ai‡(ö*›•Ã~èÐx!”J´qŠ¯|½…„°Ð†X +íISÓkè K¿q:Ö©J”ÍåÜF‘#%ón·#w‘|×+±vXïëU ¯º÷üWÖÒ•ðh«Gj€¢‚ØJ8ñw‡Ã`aØ©äôs +vk^)úåDa%“…KåãVYH13øŠmG+4ÝtÝM9”\k +ü“Ål7·5Ú'}Á¯"´ú‚HcÀÀž¢í¶dÚ¼Œ~?Ú×í°¤jç=U}ô#Í›ªs—QqÏùw2Eš<\{ðõl$a@Z)ĉ+&9¹b’ók$0L’Óë#Ép2 +kî²Úc¯0¹¿C8_Pø;v! ¹(Éï3S|µŒ@x"BÉ_–
IJ,Ç÷xc$†âÖ•Æ'Ëýн.ô'
& endobj -1187 0 obj << +1186 0 obj << /Type /Page -/Contents 1188 0 R -/Resources 1186 0 R +/Contents 1187 0 R +/Resources 1185 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1185 0 R +/Parent 1184 0 R +>> endobj +1188 0 obj << +/D [1186 0 R /XYZ 56.6929 794.5015 null] +>> endobj +314 0 obj << +/D [1186 0 R /XYZ 56.6929 769.5949 null] >> endobj 1189 0 obj << -/D [1187 0 R /XYZ 56.6929 794.5015 null] +/D [1186 0 R /XYZ 56.6929 749.2381 null] >> endobj 318 0 obj << -/D [1187 0 R /XYZ 56.6929 671.5351 null] +/D [1186 0 R /XYZ 56.6929 540.3599 null] >> endobj 1190 0 obj << -/D [1187 0 R /XYZ 56.6929 647.314 null] +/D [1186 0 R /XYZ 56.6929 517.4049 null] >> endobj -1186 0 obj << -/Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R /F39 873 0 R >> +1185 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1193 0 obj << -/Length 2561 -/Filter /FlateDecode ->> -stream -xÚÍYÝsÛ6÷_¡ÉK¤™! -fk˜ûxÅÍš¥]´¯úîñêíLf)KcÏW£³”â³Çâ×ù‡O×??Þ<,–" -æ1[,£8˜wwÿ7Iéóá§ûÛ»ÿx¸^$áüñî§{~¸¹½y¸¹ÿp³XrqØ/Ì 6ÜÞýpC×?þxý°øíñû«›GǢ_Hdä÷«_f°ýýUÀdª¢Ù3tÆÓT̶Wa$YJiGê«_®þîÍê>ùER±H‰Ä#@!}ŒRK˜BÞKDóaSR£¯†}6TmCÝç²[p5דñœÚ_Ê®/‹70½çjØ à2>ºŒÃ%)" ¯i²mY˜ecšd4IeV=wÕP5kºy[ö}¶.{굆ζ©¾ëxÈ’(ŒíAY×àA熜 'f]ÛÑ©›j½FAÙš«ÅÑx®‰KBGnèëvíckrÅâ$£æœ¥Q$ˆ¬v_d@»®jjfuM#ÇØ«Ì4É</«/¥Ù»ÒCí–zZsØÈ7YÓ”5Cz€B°i„À*Þü‹<RK™ˆRÇÎP”]çáF¤Œ‡Âʬ({P’1Ø>Ïëlß—Ô.*Cî€\ÄŽºÔRG¡5_;Û—XÕb xmvöCÖ™>® EH2Þ™=Ý•mÁkÁˆ€Éª§)÷m†²)Èò@)Š…ˆ¦:Yé㔘ŠÏŸQ÷zˆÈƒ†%ÛúlXÖ-Ô|ßh3ÓãYo¾ôÁs‘º5Ѽo -Ú¶£~º[ip¤ ü#Ûîê3*Šòi¿^ï¡OÞ6ÿ±ÞwÙÒi\óEȈú¹h -p/?24äYc÷»x˜,ÿ -ã#… Rèá¬/‚Ö i–®:ÐxEg0zƒß¹`BÊøëØ(mßÈÛAº¾ÕŽÏO¦$K;—¾³yĸ,úƒ¡Ê̼jëº}F(³•Ñg×Bøч=ô^öúˆÌ2"ȆI»sä†ç’X -)˜•œúF×¹ .ËK_˜Yaè×øÍÂ.§YD<£ÙH9Í"Úeµ‰ÀœVêúƦóy¦ñŽ-–ËÃû®)
B4DQ¾!¤DQàè‹¢ -Ð/,Øk*JÉ‚$S#lÚK¢å YqM(¢ù5¹D:u5iJ(ûJp5o²/f4£ó™”$«TIÁ¼ ÚÞµæÂ5—B9š<Fóly˜°\”CVÕ6ȶûa·PóòA -^½¸™‰Íý®Ì«ÕÁÄñÑBsN}g 0…©S5œs´gÌ)œýßyîÁ](KB•Ö÷|66ˆ3ÿѼ - yXpâ -Ã.zµjÛWïý0dˆÕëØ”´|yr2íúó½Çdàd° àŠÒ -EFèÚ5Ff#ðiJg~ð5œaSš™ŽV×`d4’5jÕ¶4i8„ÃÜʬGƒ<»žk§C¸IlÆ»6yÈñ& Ê#3ºLI‡R…“ÃaJóv•€
í -g.¤Ò"@Ù%ŒŠ -…cõ Éê¾¥sµ{ºÒT‰ÕYd¡ u—~ËâaÀ ôN&ÚÉáœuÛ<ôÄ1KbWš$n†1pœÂß÷P4é’S{ci€.DuÍÝmº‡‡_7mˆ6Ãá'3M†Gmmí î5¢Œ„ŒóÊ5Ô:XÄøä CÁ"úXG<r€š›«‘ˆøæ«ž#š -VÙ¾ˆ +/Length 3336 +/Filter /FlateDecode +>> +stream +xÚ¥ZYoãF~÷¯0ò22`1}‘lÎ<Mf=ÉÉd×ñ>%A@K”DD"’²â]ä¿oUW5/·íÃ`_ì®ó«ª¦ä¥€?yiãHèÌ\¦™‰b!ãËÕáB\naîëÉk–~Ñr¼ê«»‹/?êô2‹²D%—w›Ñ^6ÖÊË»õO‹ß¼ÿçÝÍíÕRÅb‘DWË8‹¯>}þdôøðÃ矾þ÷íû«Ô,î>ýð™†oo>ÞÜÞ|þpsµ”6–ð¾âžyáã§ïn¨õõíûï¿{õËÝ·7w=/c~¥ÐÈÈï?ý".×Àö·"Ò™/ÏБÌ2uy¸0±Žb£µÙ_üxñ¯~ÃѬ{5$¿XÛ(¶*
Pé +Êi€dLíó®\íhöÔ:1À ¯{(šGšª÷ë~¨-k>´Þ¸YÊÄF6K§bzIG*U†ùévyGîRWûGjy²Ä¢;×Ô Ûž .?ÇSψ8‘Ò©7°¹ +ÈùYÄþe€,ž-¯’Í©ZuÀöuFå[%Ÿ¿Úç@(µýX[î@ÏG¹jrŒuD2ãD +lô‚ÃÎé + +ˆY1Y^(14Qo¨Ï[(I©Ä+É91ìÊ–í¸Ê¹žùZjzrÉÆBl!þDIjfð¹>í94 +CDžU=yØv{òæÊ.NA=Žç-?é±ávË‘a_;Rº¾¦²®§€CÉœ +‡ÍÛáz +h Ì’kP—†Ã`ñH¯-xý˜è"À5o°œ)Æ)®¨`¦¬;€½×ëÂU¯Š*1WCΈ#ƒ˜ðÇe_ßçhN6áèÍ´Ïã`”•,¶l&i0õ¹*Lý‡Ðvšˆ}µK&2O¥4q.!Ur—yÁt%σc ƒä³A +“ÂtQ9k‹Ž µ()¿ÖŽz¤1ðŠ†1zÏUÉ +J8¼Ž½€Ò}™Dòî!ÝÚïo&)¡€û,dÚët%<úƒ¡êœIÞÔû}}F(³•ÓãXCøq‡=ô^öv@fdäsä† +[A£ÍPáo4ÕzÅ +ˆü‘1ƒ½¡¢Ö‘HŬ„´ãÑÀrЬDcT¼xO.‘MÇŽCšµ„Öþµ#\ÍüÝ‹µ„pvð®Îœ“Z–Ì÷uR`-¸%ð²(GÎc(b&,C½—{dëSw<u¨y)(xù”þê¥=«rÃÕY>Ch^Q¿7Q5'¥\\ÏjDFÿ·‡›!xJáI(W¿ºs~eÄ™ÿ:^•†<l®ÝM‰a}±©ë/Þ…ÈPà:æ›ú¿“ ìü绀ÉÀÎCdi&ÇùvŒ®ÝQcd6º>M¹ÌžÌ65Ï4´zFF#yõH®<ÜÚq£G8¾vÂ14È'ÇKçt7©Ïx·œ‡'Ñ…Þ“ 볺GmÍds˜r|€]¥`ƒ]áÌ3©´""õ`´~@/W!ÐÒ‘”z~ï嶦²ÆšÂYÆ…sÑÚ뇽àa´«Yõx”š×z£‚ÛÝPôn2Mlýý£KŸ»¬x*†PJË¡þ¯º¥Ór@6²i_ î\bf$@±‹îFPjð–ÑhüÏYan
9µtpÎñŒÛ˜žPl¹Üš«0îL_
ý
êùãø¼x@ÔÙ$žÕ¡R9 TŠÿÂ7mŸ 0è\sX;u®(ÓNÁÀøB5ðG¾‚smYÂWÍ’æ%û«„ø»Ï”ÄØÒ‘\I¤^g±0„‚v!\‡-KeY_àvV°Ï¶nB÷ÆI¥I_úÆ$À˜ÂßOP4¹’S{¶4@¢:Å›]>ÍõÜM`Óì@ô^Ê—¿ð$㶳ö÷=¢Œ†Œó#”k¨u°ˆ ÉAYÙ_)^¸?{K¥Éˆ¯®ûê©bÑ°8¼D€¥Tc¨‚ž‡h:è—rXÙË;F uÏ#Þ—&Kž)yb"ú»1âñ™šWô `}Ä2§e"òÇé±t÷Ž-O¤C«´Ã=Ë×hôÚ}É{©³UHoY¹mæûsþØÒ¨S4Œ9r^ê²)íf)µ¦Ü‹2ewÚ¼¥«!tT
Tʽ¹y“ÐvšœDtßóM1\¯Ç¤axºÜÎêU$|7Z›¸K@méEP5 +¾_í9}OAÜvuó›óiGoÙ€¡s +4rÿêçºCt²¦ûc:•õN¾Lt@”¯CUS¯¶Í†_:ºŲ̈÷%͘ +)×ÙœòþYOIÿwB)Îendstream endobj 1192 0 obj << /Type /Page /Contents 1193 0 R /Resources 1191 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1185 0 R +/Parent 1184 0 R /Annots [ 1195 0 R ] >> endobj 1195 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [173.6261 393.0464 242.2981 402.456] +/Rect [173.6261 273.4719 242.2981 282.8815] /Subtype /Link /A << /S /GoTo /D (the_category_phrase) >> >> endobj @@ -4329,155 +4343,167 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1199 0 obj << -/Length 2653 +/Length 2391 /Filter /FlateDecode >> stream -xÚÍZÝsÛ6÷_¡éK¤™@€—§4±{î4NÎuzm'CKÅ Eª"iWíô¿],@‘2%9—d&“‹ÅbñÛO #ÿÄH‡,Ld2ŠÅ4z4[ñÑÌ}&ÏÔ3M»\ßÝœ}{D£„%¡G7‹Ž¬˜ñ8£›ù¯ãI6 |üêíÕÅå÷?_¿œDj|sùöj2•š/.<§Ñ÷×/ß¼yy=™ŠX‹ñ«¿|ws~MS¡“ñÝåÕk¢$ôs@èõùÅùõùÕ«óÉï7?œß´géžWð -êïâÇY½´‡æ}_iƒû@DI)!ñ)az÷Ô€‰mä`Â"gà.ºw™Âe–bD1‚vs$ñùì0©´ðÉ%²j¼-f.€qIîêÒ(´4˜%.š©8 }¼¥ßà4÷+À¬J…P„'‹¬Ò[ŽÓ¼61ÞЗK_ ³Éòzj,. Õ*bÚa“S}>d·ÛÆAGÛÚà°^•ól±ÝËݾ jTÞݵYûÖ±®Ë¬¨[êò®Üd¾ò¤niG×îæËô¾Ý¨èqsk-!:]"6IÐûqÎmCÓÝÜ)ön¹I+s R,QBù~ÈO@þÙ}Äã•MBHÞl®=®Jš°gA^$R*ƒ^‹$*ý@ä*"9vÈWiQÓ¨.iª2ŽûÁkdÃðÑ*§ -Ì]Ñؽ#àÐ%.ÛAZyZUÖjÞHKXÙ -Ÿkw}éݬ]Þé ãçšµ»¦9Ï9bÜjŸf‰}ãªÏi\ð΃ú mE°X‡T²çiÞß#ûÆ}ÓVí@kŸK!„ ª` -_W˜âêD•pª$ô¿4¾œœÄõÕ~ÝÙÿŸŠuº©Ú+S‹¹3Æ¢& ÜQýs!üª8S‰:Q}„ -¡©úlLUæ÷íËýa„__ý4™jèKÉ'aUƒH?Çÿ,ÆU3[â4=R#›M/Hp‹
àoh./Ëͺ¢ù5•‡éPC‚]®oA½Uñ¾›/úq2Ë3ºwßÓ]zj-ÿ(×ÙKóA³wðüš–ˆ™yÂìR2!5&¼`YÔ³â¤åÿÛ¦üz“¬¬ü]÷eÈ™Ýd÷Ç#«£ûל»xÈt|*°ˆ‹xØGؽ²~ˆñ©ø8¸;?/¶âsbP„2>Qn“˜I¡©Úº›ý“fÄéêíÍåÅ/½Œ_—³2?\G¥¯Ø)cÉÂ(8QOãÉ»rjÓäIàÞõªâP¦ý˜î¤£å§\qÎ" õTEL*
ýú©n³û[$Ø/ˆãN~í={AW«b÷M”…*þèüßå8®Žêÿ“Æ!Úendstream +xÚµ]sÛ6òÝ¿BÓ—H3B€ ^žÒÔιsIZŸûpÓv2´IœR¤Ž¤âª7ýïÝÅ.ø!ÓŽï27z °X,ö{œð“3‹8Ué,I#¡©g«ýE0ÛÂÚ»É8K´b}{{ñê*Lf©HcÏn7ZFÆÈÙíúçy,”X +E*ƒh¶”R¤Z+·—Ð^ƒF“0_½¢÷uÞÚ†ÆmE_¦ˆ¤O„hìgN„——› + †j@°*^nl¹¦Ñ¡Î«ñ6âSjPc8æÓÓÉüæ]¾ÝYâf©ÂMu&ÚŸ¯=¯$yøPYå±(†*’‰HCeÆt åI‡ò´UÓxŽNí./·tm§6'’B&A<ÖXGf—3Ï×zu¥ÂG x©0&IÎíÎ2ÒÐmT "…=äÜï%¸`G³X¢«ä9Ž¯DjŒ™vû¥'¸Rt.=âMÊP„”Þ¡“wÇ털¡:¥3f˜Äó]Öà ¥Z‚4»Ê3^>ÔiæÕÁÖèqiwYK;ò– ä¥ìõqe^;¶‡#ãßïléiø³l
A°XB’yÑ
1í-¯‚¹T@Ø4D/ÀoY•X:òY(ƒùuëWê}V {8óñ‰cŒOüfôù%Tai¼‚vMjåXœ†õXf{»õ±œÐ8¤eLʘyɇîøˆ±ÜÄ\Uÿæ'ë܉cWmUŸRʹ í„A,¢$Aõ¸¨#»_U@K¥Ð])9àŒhdMU6/¸•M€kÄ +~Q*šUF¡0©”,Áò8!¤·¡8BŽäªÚï]ÊÁI‘—î$
^ÔæïLßcc׎7í8šàC§"cý<'*õÛYtpÚŠ5ÒÚ5³„®KŠM”PR%lÓRº<O
JiÔ©©°ƒ¦W¡‹4¥[Ç6쇉w
3/í=A~ºþî%H—°Y“ ]<˜.¼µ¥Y:—S‰
´-"“&ÿû9sß´Yݲ£šùñÀêK¤Šä™úãàäM›cÍÀa½€]eI`î´’°³VJ’„t@×y³ÊÜÒìŽbÔüzCk§êHƒÒZ>Çi¾«ìÐÉØDJ.‘¾P³&èIìM;äÉ9£ ÿ¯8¾ÏÛÝT=ï‚û‘ˆ‚’¦LêSÂrûÜ€Š]äèÀ;CÀÑÝg +Î,- °Æ‚íª¶~"ñùì +ié“‹ql|,WÀ¸%ûú0 +-
æAJ%G3„¯ +r-›¯<oð:<|—}îêô0†g-)×송ã + /ºÝÙÑáÌØ»:kì#ýP$ÒHF¾òÁ¦ú‰™ï]Bp/Ø< +õ¼©hÁÉ‚¸N‘¡öATúškÄè¯2lqÔV´ÔXƾ÷¹0|°‹ÀЄøžî¶-Yü‚ŽVžSç*Uù¢%Òs.™R¦UFKz4n“œs †˜pÞ0‘j3ŠvÈ
Õ鿳9'ŽSPIHÀ&¡ímÓd[Ë<çå”s[¦ÌÀä¡JA%˜xŽÑ‡j¶â´v²ý•‘†@‡àó:¡EêsÖðp¬6Í0À58j¡d98—µ‰°N›ÏÖ¨*2žoP„‘PõÙígSEußÅ!¦ÓQìò¤O³¾ŸÄ¦äo<w]½¬ƒ+¤¿¯•§Œùzt5œaϹ¤¼ÁpQ…1¦T<·¿gûCa. Ͳ틆šìD˜¬èØ€Èäš|Ë!w#‚!¼Ê–ÉxÔŒ¦T(ø4—3GGdEÃøþ°xþ›µ>ÖE=€^tîÁãTj!ÂEŸ¸§ÿ×"UP½_pYëão˜œ;›?i?óðR»?}òªø4Z˜| œ²ÁöÊ!}3ÜŽào^O‰8uåç«ëÄ+߯§ÙØëzó}áÉbB¾IÏ]v‚ƒ3þ’ +O§‘«AV¢¾¶ã„¡Ÿ³¼Èî +h¸2êbõ¡0¸Ø††kÛ¬êÜõªŒUmF„¡?ìÙ•9`<Àu[]ÚuâÓ«²ÍòRL)è}Õ‰0Ñmí³“Ï(ì4ëµ]ýhs\ôð5” Ü¡m#¼ý)4`A +•R hôs n‰$HÎ^=ÿ·]žì¡VÇú h_ +™Ìd‰ÀÈ/ti$ùHsÍi&}ÉŒÂA/ÄKÔû64miKÜ „VÞÕp‚½Õd_T5¸7–#×Àù}ßåF1†]êÀÓW¼*q¶=ÖìšÄËüÔ]ÂÚrªyºM¤I¸}üu6Cï€ÖÑôo¶Ï'éw<êF‰8 “§Ý 5Ò©v: Gˆâyn S—ZV»%äz
®œ¿w7é©ÀÖ
ù ‡œ³\óèYÓ8“ad#î_UG|9e©þæ2ºTsÊÖë׎¾¡±Û<nÙξÎÿWËjÈ)qø… endobj 1198 0 obj << /Type /Page /Contents 1199 0 R /Resources 1197 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1185 0 R +/Parent 1184 0 R >> endobj 1200 0 obj << /D [1198 0 R /XYZ 56.6929 794.5015 null] >> endobj 322 0 obj << -/D [1198 0 R /XYZ 56.6929 616.1082 null] +/D [1198 0 R /XYZ 56.6929 496.5566 null] >> endobj 1196 0 obj << -/D [1198 0 R /XYZ 56.6929 591.3263 null] +/D [1198 0 R /XYZ 56.6929 471.7746 null] >> endobj 1201 0 obj << -/D [1198 0 R /XYZ 56.6929 274.3549 null] +/D [1198 0 R /XYZ 56.6929 154.8032 null] >> endobj 1202 0 obj << -/D [1198 0 R /XYZ 56.6929 262.3997 null] +/D [1198 0 R /XYZ 56.6929 142.848 null] >> endobj 1197 0 obj << /Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1205 0 obj << -/Length 2877 +/Length 3084 /Filter /FlateDecode >> stream -xÚµ]Sã8ò_‘ª{XS»öéÖlÞslÍÀpUWµ»&‰k;;d¹_Ýj)q‚CvÔn}´ÔÝê/…üóQšDLfñHgq”0žŒ&ó6šBßçîÆ„~PØõéáäïWR²(SBžzk¥KS>z(~
.þqþËÃøî4 Tt&ŠŸ®o. “Qsq{suýù_wç§:®oo}7¾ßo.Ƨ!Oó…[áÀ„«ë/c‚>ßýz~wúûÃÏ'ã‡ÍYúçåLâAþ8ùõw6*àØ?Ÿ°Hfi2ZËx–‰Ñü$Nd”ÄRzLuròÏÍ‚½^;uˆ1ã‰N ´J“%È:0É"“tjÈ¥ŽâD£LX ±‰à=‘ðXF©”ÉHÃ:J -ie²ªçy7™™¹3doðE'±*8ò«iÛ|jZà–Ý,:ŸÃl‹\ç-áVuþX7²!\a:³œ—µGÏ0©ò¶Eê@'ä<Ê’DX‚ÍÓi(Ó,h–Ðf,x² -œå"ÛÝ~e*$ÚÕ|ž/_è£l©Í«¶AˆU3"Û5®™¡-'°8KÝv&Uiênh×:ÒR'~XÞ™iô9çxÉdð0+‰ç!×Y”¦ZúÍóÝ9¡”ÒîYÊ8x4mG˜ [î19}þƘ@É#ÊÊpmW˜åoçO€H`ê(ÌS¾ªÜ’¥[°T"ˆ·Ù²(9Ä¢ì
Ϥ;z½ªª!þðȘÌòº6U´ob°Z)1êÝ©÷]S [“`·çúëKúo¾ÊÀš(ÐŒ·¯¾Ê@؉Š‰9¦[7ËoG/þg¹Þ,Ì2ïʦn³¬¿™÷pŸgüCy–Æ‘äpÌ#<Ku”1îÌ墀›q”e—/`Ë ±Œæ¼Å¯ÞF>–_«cZD2ÉŽ¹¥“(‹ïñ+lÍdµ,»—£Œ;_,¬=ožóŠ¸—×…©KD×°e-ÁäþXz‹×½C|¯•Ž¤ñ÷¬é§ävÂâ(K5?Æm%£,c™å~Yšö(—ïfR>½ßÖ[ŠŸ~
ûÑΚUåøÿèlÜ•µÅѱ>S£—èòe·Z€ÕSXŒ¨¢7¶½6@`ãl<žŠÁ”poP‚Ý×\¸qëì¾]ÛºYç¥Aò,ùŽ£3.R:ÃÕOy`5|á9í^ñcUW¦m‡6¾VÄ"ímðfì$¦cîÆ5´¡´öƒ¡Sà°©½Sf |™îù@d :XS²ýafh!»q/ -ô†Ò4øû%¼UšXG©`ê;–¤ú°ÒHØo,“c¹Z,b,þ8ãj*3µò›º:ž«]nƃ(!Ô³“\)KE𥙶ԳÉ)ðƒ*‡Íòg³mbà=bñ$4A‰…¶BÇöæß—·_ÏÑC¢6a´`{mj€«-2á7ºlsjzG¬@â‰B)Uð,öYˆŠZ ¬ð:Pi3ésãü„LYd±o¯PÈ©ßÕ)" !`·zìm‡2¥ÊÀ=îÄ.…@šîæaUîëÈûô®'ð$ÂòÛwx+7ã *c.Ö1U–â;¥(6à[ÂÂE“Ç
Í‘˜êå¾ðAz*Xâ´qV;-Ô×G;º¡±6ÂFÄ¢ÊK7£s«A‹H¡AtåÜ4+¬^X±Ûí |ÚSgé -—²¸ÍdµìZ_; gò2›ÄºÆeº]] -õ½´uwðaŠ#Wu|욦 ô#TZ×n2íd( E)Ðá Ñ¥•&äµ¾íˆÜÔt”ßuê¨ÝŠN¥^ý”—•›ÚPëÌÜ¢±ŒQV+¸@ÜÜ/ò¸…wB×¢©pHwlàù`Ñáí<Ê1Wº¢sz3¢I^@ù:B®Ëj³” ŧÀJ)6÷¶m4ÄÝOÆ]DTöLö - -ß±:âÍ*}ùz -På,7´¤
-’)ˆô2˜Â_pô£¯à·¿óÈd”HA¢Á_fp~rÆXP—ÞÏÜwygæôy™ã³ø@t¢i$ •pemoà6†ÎêÖرLÞÎ9çIìÅi_ƒOç2õa»»ã²Þ#°S{Ô2b›7wkÎ"H“Ÿh(ñCéÅüìЯS$é’ý˜„ŽVrþêOW¶¿ë‰‘©ÜÊ{ç•Å«…ß æû{Od%©ÐC›ÿ/Oêendstream +xÚÍ]SãFò_áª{ˆ©Ä:Í·fߘ=R»°\ÕÝ%yÐZV,9–K~ýuOl„¶jáaZ==_Ý=ý5f£þÙ(QQ,¬+#35š-âÑ-ô½?`fÒMºT?_üýT˜‘¬æzt}Ó™+‰â$a£ëì×ññ?Ž>]O/'\ÅcN”ŽÇ?ŸŸÆRs|q~zöþ_—G‡FŽ¯Ï.Î }9=^Nϧ‡–(ãy˜á™§g¦½¿<úøñèòð÷ë_¦×›³tÏËbùãà×ßãQÇþå Ž„MÔè>âˆYËG‹©D¤¤-¦8¸:øçfÂN¯ÚÇ?³ˆq%F‘DR©äùei‰–
c‘Uêñª&ÌdP&JG1€™pÖ‘ “"J„P#£l¤^(µ›Wyó€Ü¢3 +-—«C–Œ«»´ ¾¦eF@æʼEV7ÔzZ÷ÇÚÕM=f½Þù¨»ã×qAÈ$ jÀ@𖌕2Šm¬†+M¤!mŸUåoqÌo{׫´É«’؇˜Â¼LWu^Þ>bzÆÌÕع‡Å½¿‹¹ˆìÞ+ódÊvÄó,æ@™Ä|ˆÅŽÅ™õœ[¹º*îÜjÅ'çW`+b´F‘Õ?¡1ãz=›c·§5‘5sG¢‡RçwŽúŠªú²^ÖÔ¿tžb‚;€µ‚î‘ÜT«…ÂjÅúÙÍÓâf÷¦ÌŠÜ•M‚˜C_:›oD_¦‹ µ[á±ÁÞí‘{‡¡¯Ò·½Zqq>x³`ž„1íûõ&p=/%ÿߪ<kViYÃÈÀh/â/=œ×]ã5sùÝþ«µÝûwl¼´_©m2Àbmm”(-wY\›oÄãÚ•Ù^îv÷ý¶ìeoÊÞDF‚É!§«Ù˜‘Ó-«&¿v¹×-ÿÎ/®ÏNÿ³c÷›jV{˜×ÙÕ÷¬›†GB١믊¬ÔÁ±z{9ȼO;þ±Ïä¾$Pénôø a˜1/Š +l‡°1ºTBÜÏsôÙˆƒYH„¡7€ø²"„?j +ÖgŒáÄ1×óœx>a,bÄ.ï7c&B¿g!$0uC˜Úß Ä᎓Ògº"ÊËpu“¹•X æJú8;2w“®‹0e&Ì{•¡Þ\YÏ"õ‹à~ÅÌŠpôr]}üaQK1›§eéöÙÒÎ¥zÝEý¶¶4Ž#Í“A[ˈ³ ¡¥kî«Õ—Á›èÈŠBÔëS•}ö²³™ïØÿ¨$ Ä +0ü†ñ@wŸƒá÷s{?Ü4Dq2¶7íB¨ÂÅÙÙØ{jøÂsRðë²puÝ·Ap¶\ò¤³ÁÙ³C˜‘,ÐUËPî¹çµp“ +}è(ôÛ!Kq‹Öl|Öô;ÄRL=: @¹}Œè?è˜ +Ø°j(d•LZcˆ=Y^/1¥À!©–à1@›— Ë€eãe:ûâ¼€.J¾x¸† +…Vdø†ŠàQ'¤¾ÃÑàÿ´ ”
+_£³Ã‰:tl4?y=Û}¶ò;&/D¼¨(QzšÊûE0(äoô¬ºs÷+,£ú +ü Ò!BóßÕv¡MüHk°úš¡ŽHn¼Ð±=ÿ÷ÉÅÇ#ô¨M-ø^ŸZ endobj 1204 0 obj << /Type /Page /Contents 1205 0 R /Resources 1203 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1185 0 R +/Parent 1184 0 R >> endobj 1206 0 obj << /D [1204 0 R /XYZ 85.0394 794.5015 null] >> endobj -326 0 obj << -/D [1204 0 R /XYZ 85.0394 115.6831 null] ->> endobj -1207 0 obj << -/D [1204 0 R /XYZ 85.0394 85.2644 null] ->> endobj 1203 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1210 0 obj << -/Length 2005 +1209 0 obj << +/Length 1962 /Filter /FlateDecode >> stream -xÚ¥Ùrã6òÝ_¡Gºj…ÁÅkó4™ñÌ:µq²¶óäL¹h’Pá¡”ïfÿ}Ñh€"%jVž”«ÌF£Ñw7±5lF$JyºˆSIBÊÂE^]ÐÅÚÌ}¾`Žf鉖cªïï/Þ}ñ"%iÄ£ÅýjÄ+!4IØâ¾x"ÂÉ¥á@ƒ?Ý|ºþüËíûËX÷×?Ý\.yHƒO×ÿ¼Bèóíû|{¹dIÈ‚ÿxÿóýÕ-NEŽÇ÷×7“âçÓÛ«OW·W7®.¿Üÿpqu?Ø2¶—Q†ü~ñð…. -cö”ˆ4 /f@ KS¾¨.d(H(…ð˜òâîâ_ÃѬ]:ë?F Ÿq dsS .¬Ë—Vu—ˈÒà?`Í‚’2*KÆH†ÜR= E©»^Õ˦öìGo³¢hqð°mÚ~ÀÃàŽ¾sóß°†‚€Cÿ÷;?…鬪ÏZ½ì¡Ç:«Ôü*6^Õ©¬Í7늦ÊtmÌrjú[t®‹¦w±¨wÕ“j'k–³‘1|Íä»Oœ-ô -ø˘$‘‡*aÜd>… bÄ!ïú¬W•ª{~T¿RÊkÝkˆ0`²º@à—.[+'IŒrÊâ!á)‹ ûÔÙ±”$±„|ÝgÜ1+nÊ:…L·TÝ^5ÁY75è¶Þµ—, @ÀöFœÐý‚CÛgÕºé¿YÙy(wü2Ç!ÃO©×›þEÁD81Mé˜
ŒM€fÁEð+
éR‡-@¦œÈT,ŒU$¦ŒC-â\»^ p;*^O¾ÓÛÚ8çˆ+øèNåKL
)B’Pʦ¹qd©LˆõL"#š,"&I,£ÙÎâi–#¢cÝ9hb¼ÃLê¤r½‰ªTÙ+O!‚jWöz[Î&MG.ÿ_æD$á‘<ÌœåìSG×k9 7ÐLÃ
w‡ô/ºß ºÐ+ ]9“LzZÿ³(&BDñ´©l-Q³Um¯UG†ÊO‹]ç†SBYêšî±åRx®bDt[•k0Ü‹ˆlª<°CD³BŒmÄÖþiC›Û¶ör‡ñ„¹~“9ýF;z]éu®{‰ãâ2ó(Í¥ndLé4q‡ºc,(2UAÜmš]Y œå¹ÚCFÃßwªƒ ÃlS›*5\¯Q7øÅ íH÷Ž*þ¥hRÎP‚'Þuª8àì¼ -|'’ -[;)žìÜ rhÿcAXò€³q¬SÜiÕ8£Zì¥í x¦´úV¯×NZñ¶`2ÒÏ€ÇU áRÊ™*‰µ¾¦–õsVx›¹2µ®œ‘lxF‘`M´ÛûÃÎðNõù»Ö1‰ºš†$’Ì/0Y#h\÷¨»ÛÇžu¡œ•~p/¨Ya¥‰È0ŠùA?ÇC²op
GlÛÙ|fØÁv«ê·9ë·¡A–Y¯Ÿ-lµë…PoÛaMȹ!@sñÜ=Óöb’&)›ñzˆ¹ÏÃppƒGÅï<…CÒ9’ù É'â„ßoŠ¸9ÓÚˆ‡Ðº -¡³Év0ƒ¯Œl¸®*ài‡ãXëjWf2rw€c<Þp +xÚÍ]sÛ6òÝ¿BôL…üÀõ)Mœœ;W·g»OnÆC‹°Å)?T’²›»Þ¿],@‘•(i:ž1‹Å.°_Ø…ø"„?¾ˆbk¡‰V, +y´XUgáâ æÞŸqG³ôDË1Õw·g¯ÞÉd¡™ŽE¼¸}ñJY˜¦|q›ß1ì8„Á›¯Þ]¾ÿùúõy¢‚Û˯Η" +ƒw—ÿº èýõë~x}}¾äiă7ÿ|ýÓíÅ5MÅŽÇw—Wo £és„éõÅ»‹ë‹«7çn¿?»¸Î2>/%ä·³»á"‡c2©ÓhñƒqÅ¢:S‘d‘’Òcʳ›³G³véœþ„ä,‰äb)KAü˜è8I™J¥ +Y ›i®}Zp=JŽž|9¦§Ü8VÎWÔÑY-É5”ŒX†|êdG®U1±¿ÏX¦‹H¢Þ“Ù4ïi–#¢Ã½ísBÑ´I[hŽ>AÚ¤TÙG,BÕ¶ì‹M9ë8aÊ%Ôç<'f©ˆÕ¾çt$gç:EýD"'æFš©¹Cæîˆþ¥èׄ΋G$}tG÷´úç1$z'Ó¤²±DÍÆ´}a:6D¾M¿é'F€‘!tÝ©‡¤{xr%Y"g"FFA·1«nƒEÆÖÕì7bl"¶çïˆ6²¾mcé0!wdOœë×™cÐÛ«qE
Òë•Ùcì%ŽƒæIšsÝŽ ôÔq‡¸ã<È3S¡#Ü›m™œVfƒyèþ¶5g›¢&¸|$DÝЗ®„ +GºSTþ
†z<¢Ñ‚“O¼íà"žrvZ@N#€™›¦©Š¾·¢0¯NwŽ˜—¢, zpe Ô¸LìS3‡ÚÜ„qlj6mIÁ¿À× 9+;²·æL€)Üÿ\“ÊࡨóŽ@RB;‡À‘¥à›Ñ§,Îy0ò ÄM#1Þð–q3a@—;Éñ’¨·W7à•Ðùô¨ XãûÑ™êN¦^Â:4º¶°NnpûÚ4ugˆÛ/iðàÈ Ét}{žÛYÊ…çêˆ:{K!TeumωqÙ.£OÝ´Uæ¸Óa + çJ©™(P)5ÊÆrñœ•Þz®ÒÇÚàÇ’ÿ9ÑõLµ½Ôp3¼2ýêUkƒëX¡#+î€×ÈP—=íÝÝcÏEnÜ)3úÐ]‚PóH‘&c`”ˆ½|NE²OpëKl›Ù¼gØÁfcêܧ9«·!A–Y_<;:ØÓ +Ããð†ýŒÉ÷µ&ÕݳݛN5Ÿkߔ룩ÁO>ap¨ø$Éâˆä#öN£ïWYjZkñSW^¬@hçÎD2$Í—U%vó¶<Ûº¨¶0S±ëaN¨$ +Ç]‡&]‡VePñµ'¼sL< endobj -1209 0 obj << +1208 0 obj << /Type /Page -/Contents 1210 0 R -/Resources 1208 0 R +/Contents 1209 0 R +/Resources 1207 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1185 0 R +/Parent 1184 0 R /Annots [ 1213 0 R 1214 0 R ] >> endobj 1213 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [491.4967 622.8956 511.2325 634.9552] +/Rect [491.4967 546.2465 511.2325 558.3062] /Subtype /Link /A << /S /GoTo /D (lwresd) >> >> endobj 1214 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [55.6967 610.9404 89.457 623] +/Rect [55.6967 534.2914 89.457 546.351] /Subtype /Link /A << /S /GoTo /D (lwresd) >> >> endobj +1210 0 obj << +/D [1208 0 R /XYZ 56.6929 794.5015 null] +>> endobj +326 0 obj << +/D [1208 0 R /XYZ 56.6929 744.5408 null] +>> endobj 1211 0 obj << -/D [1209 0 R /XYZ 56.6929 794.5015 null] +/D [1208 0 R /XYZ 56.6929 717.3918 null] >> endobj 330 0 obj << -/D [1209 0 R /XYZ 56.6929 672.1567 null] +/D [1208 0 R /XYZ 56.6929 594.9189 null] >> endobj 1212 0 obj << -/D [1209 0 R /XYZ 56.6929 641.6925 null] +/D [1208 0 R /XYZ 56.6929 564.805 null] >> endobj 334 0 obj << -/D [1209 0 R /XYZ 56.6929 415.9107 null] +/D [1208 0 R /XYZ 56.6929 340.8686 null] >> endobj 1215 0 obj << -/D [1209 0 R /XYZ 56.6929 391.2207 null] +/D [1208 0 R /XYZ 56.6929 316.529 null] >> endobj 338 0 obj << -/D [1209 0 R /XYZ 56.6929 333.6097 null] +/D [1208 0 R /XYZ 56.6929 259.8095 null] >> endobj 1216 0 obj << -/D [1209 0 R /XYZ 56.6929 303.1455 null] +/D [1208 0 R /XYZ 56.6929 229.6957 null] >> endobj 342 0 obj << -/D [1209 0 R /XYZ 56.6929 269.6003 null] +/D [1208 0 R /XYZ 56.6929 197.042 null] >> endobj 1217 0 obj << -/D [1209 0 R /XYZ 56.6929 242.0411 null] +/D [1208 0 R /XYZ 56.6929 169.8331 null] >> endobj -1208 0 obj << -/Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R >> +1207 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1220 0 obj << -/Length 1122 +/Length 1089 /Filter /FlateDecode >> stream -xÚ½X]s£6}÷¯à1îŒ(ŸfŸ²©“f§›m]ïSšñÈ ‚&±’pìî -ÞOÁÌ0.R”ræ‡Ä˜ 5žC‘¬2˜¢wêù¡¤,禩®kµ1r´d(,ÇÙc{³mÿj×ÿ¦5¸C|EÙ*£= -ž€R~^2çI!"úœ
J F™àÃY$”‹W…À -‹CË6| v92‡Ó+¸Œóä”’áÆenùx3°†ÈôŒs”Á5‘/•ùAÑWÁS„Ò'ÈqT9Ñ®\‚2”a&”µßö§—– -ª-ºI¯3àWÈ*wŸøÓðò(dT‰0—šÆÒ‹dlâof€ï2‘ ŽùÙ؉ì'JÐùyCeã½q@å Üý»Î–#CWX!ηX~¡} -¼Ú©ÒwÇ>ö¼9qûÑõ +xÚ½XÝs›8÷_Ácü ŽcÃô)Í9¹t®éë{Êe< +£±¨$ûÚþï', à’ îÇFìO»?í®Ö²
K}lÃ÷LË
fÆ"˜™že{F˜N,c«æn&vù¨^Í·Þ¯'¿\»#0ƒ¹37ÖqË7-ß·utqõÛåëåj +Ϻ˜›SàÍ‹÷·w¿ê‘@?®>Ý]ßÞüµºœ.fëÛOwzxµ¼^®–wWË)°}ÏVòN‰ðŠÀõíïKݺY]~üx¹š>¬?L–ëÚ–¦½¶å†|™Ü?XF¤Ìþ0±L7ð=ãYu,ÓÇH'3Ï5½™ëV#dòyòg
ؘ=Švñç¹¾éù΢ƒÀ™Ý ж|3˜cáæÜuÜ#ƒ÷S0·¬¹C°f„EˆJ‰žË8¦!Î y§û…Ùjm`ÛfàyÎ8K!¦z@·)LQoéDýê¾jl +Ñ—ž„Ûn»‰Â0A Ƥ”Ì L6=uˆò4)š¢TH(±8zè€Ä†ñ
e=´n‰T!ÃÑHIŽÂœL·ýå[Ú¿YõE` - +Ê$ŽO@w¿éÚg‡•‡–ƒ)qµ…äÐ?ÞÙˆHáq踖ä!Cöpór¡ü<cd¸pÛR}ÞÇ<BFD:… +èU¸oG¸ +¥EP?Ûš+ +(p‚¥U«©is:í¨j±)V™ðÅ>°Z;/|B‘*7ôì Î>¡N9m»Ä¤5€·”qôŠ“õ°(ÝŸšóÆ5ÿXì“(¬#gH®Óò*g¢-Çò0<f+kõiö?Ú,øÓÏ]³ƒ'‰*GÔžªt|̓»Ì@Eì!!6)TÚ†à*¯}ï
Ú¨ÇaÚ¯`‚êä:¯ªàøïëç!¿Qí6$‡TÄU&:›Î'ÖùqÏÏDž©ŠæÜ{§AAyD×áuüYÇîN솧G©¼J†™â4VZ$cÿiÄÊ ,†[×u…äzfqïÓqácÕçü›¯—^îÞfÓõ}§¾9rÜÆÍ‘kÍMß •R…ù3÷TóúêGÕÿÝ«`×endstream endobj 1219 0 obj << /Type /Page @@ -4494,17 +4520,16 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1225 0 obj << -/Length 1126 +/Length 1147 /Filter /FlateDecode >> stream -xÚ½X]s£6}÷¯àÑîŒTôhö)›:ivºÙÖuŸÜŒ‡9¡ÅÈ+äìºíþ÷°‰
¸ÙÉCdI÷pîÑÕÕ•e›?d1:sËå21+XlëÑŒÝP1ì&ꬷÓÁ7ĵ8äv¬é¢‚åAÛó5
gCb82öðúÃýÍÝí“«‘K‡Ó»÷#€™=¼¹ûeœ·n'Wïß_MF -£ -?•HÓc2tž
ÕØRÒîlr”CJ¸ÓH£Ÿ ô% -´Y²ãÍIj¨JíÓZ¨
HåZ<;‡,«|c͸±cãšåŒ<‰ùõ?Šõ]£Ç9=–îü}AÚFOM¡u*À6‚22`%eœ÷oD:—jžÈ–݈Q·Y«<Y/? -ÕN@D‰êÙÏ£Ôˆ,ý/@+?IB-…ºB®uGgjQ_JcÑŠF
C+Ä‘H:¯†ÁZ¥Ñ³ho_ûr*TäÇy\åkÑß>]ÉgnÇQªE’¬»~{¯úBª¥´me"€™ðYì“G±^ɦè/³
êð¹t#wòtoÛ#8ö¶+ãk’öU)?wJ•f—C‚]ÖZä®ë4gÖY™‹dùИގ"t‚gí|<q’†\¥ÊúQÅ61µ™Ë›ÏªXƒN²VÐ^…+‡1Ö–ëYi1F¹¶ó:Q€±õpcd‡Ü‹òv9驣ń"ö7»TÈ$L(DhµmÓ—c—m—@B9o¬Æòü¦)wà+"âb»§äÔÒpõÖ³õšøq*AŽ”wü»gUºzŽí¬‡
„°VÁ}mY\D_ -Äò¤Ñ?¢Geñ—Y×Ä°¥yÖš§+´@¤©©-OÉ]ó ôµßѾöýEîÆ©öƒ¿/aÄÂO¢ä±oú$|¥? -_÷Øš-ü@t +xÚÕX[sâ6~çWø:#UWÛš<eS’f§›m)}¢ãØ"q×X¬-²K»ûß+°Á6°!éL‡¬Ëùô›t$l!ó÷¡-ˆ°Á G˜[þ¬ƒ¬'3v×Áù°™Ê³Þ
;?ÞRÇPØĶ†Ó–‘ëbkŒº6$°gP÷æãÃíý݃ëžÃºÃû=@8êÞÞÿÒϾî×>\z +ƒKñCûÕ¾"âj¶ŒŠ³æ¨ +çl²Z%k}[ãaG@Jn`¡Ã(_£þ
åë”^l;:„ÕÒ)T,/^Ò<_›$uL®ek³Ck³bí²Ý¾åL‡œZë’ܨ,AÈ\ÆZX¢ä€™€Œ +û
Ò‚Â;ï¸jN:Û¸{ßfÂÄF¤…3F.‡Ô´j}ößë@ôFÑcÿ¢§m:5ž½³`A+2fóVQÖ¿”éD%“X5ݼ¶òå ^ÌeÒ"ŒµL^¼è4JE™™÷èÄ‹Ó©L€gÒ +Ú/žjÏÿt {?’^ÆOçÖ¨ÏÒKô£ôt€ +µØÔóå¹ endobj 1224 0 obj << /Type /Page @@ -4521,19 +4546,17 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1229 0 obj << -/Length 2511 +/Length 2041 /Filter /FlateDecode >> stream -xÚYQsÛ8~ϯðÛ93•*Š¢$NŸ²Ý´—ÝÛô.õÎÍMÛéÉmk*K®D%uo÷¿@P²äÈi’»äA | -PU¢ ÏN=Z$-TRæåÚÉKêÛ¤xƹ'ÏJ˜Ñ–Ò"W¥nœªs6C3ž–¼ÿ§•pÇ*‡#^U5¤ó!÷´ú¦ÿ¨“;LªGïOmwzï4àáΈ'¡MO«R'©~öüïU©š§‡
› -üÊÄGêiHû]Õ•SVNS%ŽÖÅsãøh™Ç–Çç®Äb=Ú$d¾|ã³Y¯j…Šér&c#„
¡{ð`µj‡˜ÕPð^'Zm!üèõgõÑóüÒT8â@…"â÷&Y+«‹ª5¨ò…+9£=.6ª7hPÒ¡¢K‚0ÊtÜ_Œ‡Pð¹°rÍÀ8ÎçÒ
Q펞ë¢Zbþ#}ؼè -ŸÁ|©ì„FeD-÷ôÄÞË%r±Éí´#…ÛÄ -cULj«Ç`=Q©¢“ÍfãÓFPåa8OðÍ!зë¶NÈ»8†œB¡ó«1õ2ŽÅsEÑ8dCPL86ŒÝXJöcÏF@zѱg_ÀÚRÀ)“®Þ‰¨pYTé"ïrì˜PBA°d‰†£¡at<2rÝØ õB7‡#ßdj•´…
º»¼(ˆ2ÇO<.÷^Ï깞€vš¾-&›îÑ3”2-æÈm]ÿÛK£òZ¥ºü=ÒÌ0À¥à«î¥&tO‚qÏ•QŽ•cÞ8Üó»ªþÕ^À$ -Oúº‡c11LoOs`«½ešs¡®.eõd;íCîBÚáìØ¥Gv;€¼nÈ|ÿ·a×u²ÅÂ=Õ ’¸ÿ*Ï%V“açiÞµKêDO6øAäBãÎc‘\!…´¢CH‹)oð,•ÊTö -MðM?i¸«¶Léû[®÷à ¯mN-%ž¶6[b#Êð–r¿–S2[¨)Á°Í'>nö)1”:½”©„çë¦Iv¹“Ö°ëRçp9N˜?0£š0cêÒs#X#;æÀA´ñ/¾¥@Y†GCQqFRæSq6´ET¤ñÃ+®’Fì¼!Š”|mUœŽ| -ÍÄÑ…×\à˜Xæ¼}ÿÞY¼¿zKlNºJ«ïwRÎ_¸°“í%˜¿ªzI ^54&è1°•.ÃÌFŽÝ&yAß$MwäƒMòØeßr{Ç6êÊ‘ˆÎu^¦ùÎ\oAÀºGHK {7#3í1>ýÚæ]¡D)½¡uÛõñüÑ-¬Ùƒã·4`j#2©6¾ —?+ÅþÇ-òK¥Ó—_ê¥pa%,§àâ.`AßJ:¡Í¯;
aw# -ˆR¶cö%3gdSPùºuâwO.\ü±r"μþ3êÿü›èáclŽâØŸYŽ_È|uF¡_qlyÿãé}Óÿ!:ؼendstream +xÚ¥]sÛ6òÝ¿Bo'Ï„,Að“'7urî\žëNÒŒ"!‰ŠTIжríï.¤H™veÅ~àr±Xì÷.(6óàŸÍ’Ðõ¸f±ÜÐcá,Ýœy³¬}8c–Æ鈜!Õ÷·gß½çñL¸"ò£ÙírÀ+q½$a³ÛìÓüÝ¿/~¾½¼9wüЛGî¹FÞüû«ë#èñîãõû«¿Þ\œÇÁüöêã5¡o.ß_Þ\^¿»<wX2Øï[ÏlxõŸK‚>Ü\üôÓÅÍùçÛÏ.o{]†ú2£"œ}úìÍ2PûÇ3Ïå" gðâ¹L¶9Bî†ç¦8ûåì¿=ÃÁªÙ:e¿'n˜øñ„60 óW"žÅ¡p#îscÁOçNäyó¶QNþ¸¬ém§š»ª¾++z}KϨ.œé0æŠ0ô‡û·uuŸg“<ŽØ]«?ZÕèãw³án]+©´vdã4[™ªS•Øä¥S«ešµ£óåS¶›…ªg"ObžJ¢ëÝ·ÊñM,¶U Ê·wør„ä2ËrW¥,œe]mÙêõ©þ8ä•Êt}²skYfÀ#S÷y![©×w¥ì¬sŒ_À¨F +§É¿ÚmÝ5[•¾Â5:];¹ÝªÌ%!VÕ¼>m¶gª®Éªh4¿{¡GÐ=þ´oð7B\¼¾ì·°#tWYÙ8m¶¨Nñtd0ž¸µ®*
^+ÔJb,8UYìh¥“ë1-Ú̲ý¿åN-òÆFï_Ý)ǺªQ½+ªÕ©±–å\ʑŪªs½ÞXçB +tÀæØâøÜ8ÁxBöÁâwï}6ëÑK<8ˆ]îEÂáÉ")=àVm±f544þ¢¥V?zýAýîy~i:a Cðk#WÊžÅ#åÈÄ4»Ý®U/Ð`΃1Oˆˆ‘¦“à)3ÁÈCKׄã|Þ(ÝÔné¹*ªæ?Â{µàEWøæe74*#h±£'ä.·ëÜn;8p#-1vEYÛsL'(Uä™0D±ÙØ3XTyÍ%>â9¤ÚvÕÖ’¬‹kˆ)È…b~µ$¤^CƱd®h# +‡hŠ ÃF‰›ÁþÙ²1€^|hÙ7À[„àe:«7"¸(ªô9NLH¡ X G´ƒkh
ˆ\76h½ÈMB‘Œ*SKÙ6èò¢ ȸ+4“æ>¹Èx®ÂÜ$ðùôÅÍ9C*sï™»õTF¨¼V©® þœÌ À…ùËG÷Tg=Á¸çŠ8ŠÆ‡cÞ8ÜçUýº½€H& „²9Jf°Õ’žºÛc«4\ñ²qQZÒ¦¹hª¢Õ–L¬zèd? (òz§€¤8µe`;/;ù”r<€”_TI(ÙГt)€ï½"ŒQË‚&Ú+3ÆŒV‚Y!E>xDi'),Aï#`S5š ®‡!qÕêmkñ¤TÓ½„žrW.¥Îè’zÐÐx™[·åD–ÁÕ8 ·YFýÖ·˜wJ"4©$O|S@Nј••& +eìž›¶Ñã~*»a®ïøörè2á2Áþ¡Ë©^ÝŽª/ŸÎ#Zî0naFñ".^>»§zz8 qø0•‚F§Ó¬Çy²_¸±‡öQZMU6!\?e¨´]iÚA¥XЄ‰(ÓQáIŸ|q-!„™ài¶ÜY¤ñ3u}yL«'Çir&ЮΎMz ·•×˜ïÔ-ª°«Zn°ñÀÌpe‚$é?U'sÝ$b8yš÷Fme-õä€×
²c$ +7¡°¤AèÓÞàY*•©ì-Šà›yÒ`—m™Ò÷·\ï† _ÛœFJô¶2[â +Úïgô}/§dŽPϤDº”~1!ö4ϧƒ¥1=ùªiä6wÒô-ušÃÄ€qð¢ endobj 1228 0 obj << /Type /Page @@ -4546,34 +4569,34 @@ endobj /D [1228 0 R /XYZ 85.0394 794.5015 null] >> endobj 346 0 obj << -/D [1228 0 R /XYZ 85.0394 443.9876 null] +/D [1228 0 R /XYZ 85.0394 349.7573 null] >> endobj 1231 0 obj << -/D [1228 0 R /XYZ 85.0394 412.8839 null] +/D [1228 0 R /XYZ 85.0394 319.5375 null] >> endobj 1227 0 obj << -/Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R /F48 925 0 R >> +/Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1234 0 obj << -/Length 3618 +/Length 3986 /Filter /FlateDecode >> stream -xÚ½Z_sÛ¸÷§Ðô¥ô4¢ €$€¹§\ìä|½8i¬t¦sw”H[œH¤"’vÒN¿{w± -9Ó¡Ny:[<ôÆRa¤›-ò_ƒ4äá%Œo>ܽ½}÷ùÓëK‹Ûw—sžDÁÛÛ_n¨ôîÓë÷ï_ºœ3•°àÍO¯?.n>QSjÇøñöîšj4=Núéæíͧ›»77—¿/~¾¸Yøµô×Ë"ùzñëïÑ,‡eÿ|…B«dö/QÈ´æ³íEœˆ0‰…p5›‹û‹¿ù{¦ë¤üXr‘ò rÑ ba¢u2“‰SM(Àv]Àšâ4¨²-ÕôôMÍ:Û_29½)¾Sá¹Ül°$})
– -åêmÌz¬™äa’*
F¦«MYTíå<¢ Ù«ò¡Ä±ñu—í[`0wÆe¨³ýÿ2ÁB…±¿…Îóz›•ÕÄXiÊDÄ–¶^D:ø -{ÌæBÆ¡Ô„ÊX¨“„¤%„“–ÒHk|S_ZH`¤…
$#,MË(…=Ž LóÚg¬€„².¾Q!/˶™’OC6÷´€t(”ü%”¤:¸hòÛºiie«¬)šWPN¤Y>
Ôç9qƆˆ‘N0çaš0·’f]wÔ;¥QlðTV1¡¢)öOÅþrÆù熪ìš2€éqƒzOUYEdµÛnzêj^|+›Ö¨%6Ýò0”6å—‚ÃMÏ.ˆÜÐoœÇc_ dȤJg’‹P¦©úoœ%WjÚÌÝ€óþˆÇf®¡w*ã_·ß—Œ1ØÌcÍà°GŠ;Õ8»9à:¤L”%Åe£ý°(¸} ×ø½î¨`€^º¦¬¾¿Ÿ/îoß½¢×v]6TzÊöe¶ÜØÛµKK[“¿E¯Š<<òº,”Œ¥³T‹P ˜ö’D4ïS‘ôØD”ñTkY£G¬Y¤`XùoO5Á|`ÅL -N -,f¡Šó;a*I -ÙÄšó¦Ò§:m*ž -9n‹mÓf-À¿rÕœ²‘†1ñÙYxª‰il–,D,‡ó°!+êÙ¾™|L9ý€‚³™^%ë…9ˆ û²5áÊ°8Œ¦Ü5Ù£íwX°§¶Ì*znAu㈑ê*R]ÔŠ„cÚÓçH€é¾:‡vW¦²0Iõ,ì” -³@É2`ƒñcfÌÁ¾‹4:°óûŽ/“ûG˜•jgúW¤_1ÇK³¡ç…üàjßUW¤°“i0¿èÏÐ÷òÈÚU"úûfÞ)®Ç5CAÍHI‚xÜg[KÓ®³–Úž³Ê–ŒÑÀ³)(ª¦|¬²M3l¶†& U"B‡nºKr–ï÷š"¬äÞ–|·ae¦R»„ÁbîX5™nâÄuÊËqC]¬s1iìÙTdôøˆú…>#È -¥cI½úö¤JKWšØ•¸Êl$¹JF0Y…‡)Q˜lÝ@0|Ã¥AA¸3¨Zô$ø¼Ÿ0qœÇ’wukÛÌž’Gd¹xèFû1-8ž„’3G„ª„Cfô -a_¾¼FÒ?I½Víæ;UÙ4$DUÍ’GŒèðn°å#ˆkBní¶Û‚Lû<qY‰sœ:wyÀ¶~«¦98>ý¿ÀÛðÜœ ¢¦©P/‚`“—T»GuFµ•?/ÂG<ÙI”<?O51‡á9dZ -pFJLÑù"ËMŒX°ç 쌦|pYwÂÆÓ(ŒÄÈ@¬Øf֦ꇑÅ\Ùá,#/šÕ¾\öÅHe9ÀÎ~fBjLVLúOûÇ>õ”×ÓÏûŽ•÷x\œÿ=,¸¬+w‡‚ÍH%Y‹t0£##òT/Íãh´³¾CÄ*Ô -‡ÏݾÜfûrc««¢ÈݨFã° -›¸/NeåCâð†5Ö§£æ<δL²‘DwînP<'ÕŒ¥<Œ8AÍúT§ÕÌS›¯ë,~S<;››ËÙ±²%øÁçgá©&¦1P¶òÆÓá<—ˆö˜Ú[¡ðh‰•U†U±¥¤êMÌU¸ É›ÊÒ²øåº!rq[ï¨zS<ÛÝ|ºÓØ詬¯À¬ÜŽaÊÄHŸLŒƒÈÌéÔ®¯nÅ·Õ¦Ëí~£Í„>BdH9]øÑ9+C9çEk8ú>ÈëÙA +xÚ½[[“Ûº‘~Ÿ_1oáT,XûäØcǹÌ9k+µµ•ä9#–%R)Û“_¿ÝèR”&»§jír h Ñ—¯XÜ&ðWÜê,Îr™ßš<u"ôízw“Ü>CÛÇÁ4O´©þ°¼¹ÿ Ìmç™Ìn—OÁX6N¬·ËòïQËøFH¢w¿<~øôñoŸßÞ™4Z~úåñn!u}øô—*}üüö¯}ûùn!¬Ñ»?¾ýuùð™š2ãŸßSMN?ýüðááóÃ㻇».ÿtó°Ö®W$ +òíæïÿLnKXöŸn’XåVßþ€$y.ow7©V±N•ò5Û›/7ÿ9´º®³òI,U&g(U @+bçúÖè<Î4¡ +5ŸûâÐÏÈ\€äÖûßÏ° +¸Û w¶en¢÷õÊÅP-þXm·;§Ë¹e$€³JªZqMï{h9§u>HSíÈÏ熃9–\ôv4ä·;϶5·ÞøÁÜeœä¹[û…™[®¤t(Ñ‹ž{”œÎRû¿Ã80I
ÆÖÜH« –‰ˆXã äd-Û¶(¹Æ±?®¶õš;¸d+õwÔ²¨ ôDÙÆŽƒ®Ò¨Ov,J+Xïë&LK ð£=|Ì¥d$°îÛÃèÁq7òÅ”‘/
ãÈŽ ×{ÒÀ¬Ê©'…ªÍ06ŽqÑî´cí+x9¤ºlw• ÅzS-HZSæyËQ‡9æžh†ù4tJL‹FÜ—ƒkò¿}9¡†¶È%ÓÁμo}¾Ø{ïwEvà|¥„r]vÕÙy*çÆ»ýщDÄZ¤¯0¨f¸…—Åi®'ì—í‹~ã¡Rv•x†Lô + T7]¸³ÑqM)H@T¶ÌÂwšOM +•Ö…3„JO2¢ß¦É‰+ËCEŽyKæ’ +F8ÔÕÐ@^C‡g :ZO®á ŠS;’U9K1¡ÓºñµÙÖº`Ûúíf`É¿`H YN3ï.OxvتùÓ@mFç¥ÿ/6¾6'ˆ§Y¦ìkP@ ÐK«Ô+ªP]QmOå`Ï«¨Os4Äð«S¨fæ0>•P6žAð4@߈;aÅŠ8È… +¡ë:SO4Ãtä +à©GLÙKØèoï½_¾û•>ÜT 8å¸[‘#ð‰NÞÁ"ìˆÔaklUgD6 ë°ñPûþñu
Ÿ¦0¯C1œ¯©ÙtPy˜MÒ ŠVji…ñHÉá¼ÎDíÞ«¿Y:¼Ô ¸‹™MÏÞاzÁ 9Þ~Ó ßÀW&ôWÆ·’<±Í]-Q%€ÆÏsü†¶†¡qFýÉìé2ćøu»Û|’S1~l÷ÏÛvUð úËžØå•CÛꊆ{ªÓ墬¾×ëó˜(ÓØdF\g?PÍðã½<6 4ã ,éj‘ÐÑ©Üš¿Û'ú¿Kª¸¡ +”/þ®˜rCWã)†1ÃôLBÅÃt°º£ßý¡Þ‡zËÕMU•~T¾Åwôåáã=¸lš¶{¼Ÿev—¬BFÝŸA©Ô££_w'âJ`NMW8·ÚÑ'[$x~¼À+ü8îË‚Ò¡„‘Bâ’ØŠ‰ÿÉO‡æ¨s6*G¹ç•¿²_Ì)´‹¹H%|r2@“ 8'"<,AßÃå‰ûâ7_ØÉá3;¼ Á¯p#9jj>¶"ö5OÄÿ~ +ü¬K©$qÈ‘‘›ð™yËÆ6l`c‹šK•¤ñ·H&ˆÈPÞàîaë +“OZýÜÇ®wY«2|þf¼k0gÛø,hO¾Ñà]êöÈœfŽJ
„‰áÑÖ=ìÏ=¿6˜86NSXÀ»G+tœ§éäÉ
ŠøƒÌh_éõž[bšß¥¸ºPKsʹ]i¸šç—ËÙ—RÚتÉk‰ÀïLß©% +3D| X|u©+Žž +nb™™@T#¯]]=ð/üAOux Ûƒg«8e_^ÊÇÇÄã
6Ö'¯£î$δ\š¡“Ç_P<Õ̘Xšì0]V2Oä¾m{0÷mõìŒláîa§š¦ñ©µPW§0Ïa¤g2!³Ñ$–wˆ˜õñŠ²xœ$¢†Õ`]í(уzm-Š<kWYó Ë¿¼ïˆ…Û·{ªÞVß«-wwOt:Ž›–½ö 0å¯kŒŠ3¡ÄØQ¹è>…þõ4ùE¯hÕÏõöXòN£µÄ—ÞÏ+§óðÕø7¿?ýÇ_ÊÚþ@|ƒð¤pÑiv®›üÿ|êÿi´"ùendstream endobj 1233 0 obj << /Type /Page @@ -4586,7 +4609,7 @@ endobj 1236 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [222.5592 378.1793 286.2499 387.5889] +/Rect [222.5592 291.6174 286.2499 301.027] /Subtype /Link /A << /S /GoTo /D (statsfile) >> >> endobj @@ -4594,31 +4617,25 @@ endobj /D [1233 0 R /XYZ 56.6929 794.5015 null] >> endobj 1232 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R >> +/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F48 925 0 R /F21 690 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1240 0 obj << -/Length 3599 -/Filter /FlateDecode ->> -stream -xÚÍZ_sã¶÷§Ð[ä™#€ NŸ.w¾ôÒœ/½s›f’<Ðm±'‘ŠHÙq?}w±ˆ¤(ù®ig2~Ð\ -— [|\U‹‘(-QN…ŠÉ½)x‰ºq¸“ù¬¼‘Ü×îR{Þ¾–xå1ù±‰³2ƒå: -8%<+ÒX‘î«Ó§ÐÂŒ1ÊcЯsMRUßãS2¿s0 ÃUÝ¿HÇèµ€|ÎÏaðÖ¿têr‰$¦óçþù(aDÆÀ€&óB6¿Ì¾^–,@1§Æ˜°sÎ!Ô«0År)¨Î5‘{ÊØšTQÊ’Š,å ìýqÑUe<±ä÷w
^›$±”\¡aQ…0\ŸP›5ͺtY
,ö~‹Ùž‚ªTè8‘*=U}®ÓP¸œyì»UTÿÆ75†(Pkf@g·\ûÌ<ÍãL[;`Òe€1I¿Ìá%Ùga}²0ÎZ!Ô™OB_¾œZ -H#=ËÇ!i[CŒcÚ…#ܬáíúŸ¯ß¿{ùöºôÚ-ÜjÙ²€åƒO}¼ç؉‰öî¡Ü…Ý8Ó‘±Êl6ôhBa›£îÁ£Ÿø n˨K ©¥3Ìây'¾_–wTmø`y‡‘Ö% r5ÀçcÕŸ½¶]D†MüoA?‹UQß—´ååüzà ¬Ô¸¤ŸŸš=¯"<ì[[¸¨é‰õ“ƒåia‡HѬ—!{àj¯¹ëy¹4D»`MXp•X—ãTâotáÅ„Ö°UcC…zÎ\-óœÌHt -˜#õ3}‹>×i7\îJ„þD਩£ò·ª;.+¡ŒWi~^†À5!Äð¼®Á¡†Rܬ|æÖl¹ ÀÚÛ©„;ö7Pñ«CûÊZwCdYsÞ.Våâ<¹¸æî¶Ü4»'b¨ýä7çÕQ
®Y i#êf€àFª¡Iqó2›†ÝzÔY蟇’× °@z[î@¬Íxž¼=mrŸL>g=®3öà¹\4+7ØJ©Ú®Z·° ºÏs£Ïo¸&öÂ>(2˲¡ -ÑOêpSH÷sÏ.ý\i")ÆÚÑ”s„”ÞÝ>MྶC(ï>âÕ&â?¢ahY¸r6`£I…âÄÆ´¢D“Ð -y€Š“$c(ŸÂ -kúŒq_¯Ë–Íæ«hCÄ° újX
ûv={?X]³Ù+]Wu9ô:_ gÑ–Cœ<8ÑB}AÈ>ió‰1 -[VnyP‚SVÝMujJæYtcP5±¿’=d#íº‘§-SÔx’pþ¦^À;îÎôð0³÷""°2ˆÐôÀUñ¯3$V®Ækº2
v+¦ú1-$–ÎýÕ·ÙAåù‚·!R¥OËŽÊ.€3Ü~U»îÌ3ò+M!oÛT{ß`¤RóU³-ïö”ðÂãr¿ã¯<´¡@L,àœ.¸CfɲÃ^Ò)Úýv˱¼-}¾[È·³H·ÍÆGù»†ž'Ðì".¥ì]õ¢zÉŸ'nü‡¼üº*“ÄYfŸOËe[g‘ÂÏGIâ¾7P6ùe&¶yø2ã¡r´D1«sHCÖ“[ΣÖNÅ0ä -eø$p†lB”ÔÆÚ„hýP•’¨4–¦=™<”MBfî.hb!HßÈŽ>0½ {ò²ú âsPătôÛ<ðWaJüŽÛ÷¢íèÐýº¹
.Ðògéì3î#1vx|ûRà]%jxû®5lSÆ C€r8gS×¼…ŸMÑv® e&Ї–¹¯±ûK„ÒÕúö:ªÙwƒ•¯ßß¼}ó#Ñä‚¿îË–y&"¯_ç°Íºx`Oá¶Ù¨¿-rçˆ_{, -ƒ¾XÝß;i
߬ãbi….t½ßÜzV—©Ór+û³dD¢(‡¯[„ô†²'Ç ¨XÚNER‹ë‰>g†¢&˜oÖ/TAûÔæÕùï€G`º¾Pꥀu
±)->yôM!F…JØ# ]yÛ/‹ÇÇée‘þÂY*ÆMÎ1ëac
d£,¦Y¯};™×Ë\ÆIÒκéP
^"bi̳X‘¤™o"ˆE'×Óy¬RÐ6‡]°½ùD×û›2>@Á×”Óüb¯ÄÈp¯0B?!FuûÛÃ,¹&e¬éiþ’ö"Üh
ßï×ÏúY)}*ÇßÐ/vyÁÄihêÞïxÏ[²ÉæàÞ;úä`ü7 ¨ÿŽÇô -%U¬áá‹Rá-¡üm[êyاâýŠå²bß0«!sˆ†þÈ×mð?tÔ”÷‹4mTá;Mõlã
T^ˆ.*ï›<¸¬—õ&蘫 -r¬%>Ñ/µÅ&šRY+£Ÿ÷ŒlVûÔÂgÝ°0]Rxê–È -¿»·mqÍ©ÝEœXm»slL¬‰³<1£)ÚpgÊ×ð~Èl¼„Z¹´<È¥E‹ÞPÅ8Ýs/ ¿õ!ÃAb -FLlÀSg…9qš†¼ƒ©8íø G'—ýÉüXF;|üÇ¢á ›Ìáj;PnEÒÑÉÉÁ1ñá‘KqÂÝmãÔ†äï³Ü- -“†ÅÑÁñ^šfÇÊMÓØÚÜg¥gŒDÇI’dC#Áeÿ¾Úð?µÇ‰û‘f\¿n Ö£f…Tp‘ é£4ösþ¿-É •ØÙéÿÛ7ËÒß“Ð<k1ég—ŠÂ¡`I…ŸẢ&‡Â2ɃÿÏe‡•<ý£ÕÒ%m:=¯éDÈ„)BK:Á%³$;â:@Zÿ^ -¤ÏØbŠ¬€ÒVˆ°.⥦õG‚¥pýY›T&Ϩ/WC²üL§
?$2º ƒÎxÚ¤®zBüU•™ØäF>£*¨\•åüädÖ0ÔÖ„aÓVOŽ?°¶Œû²˜?£-cáLYúLäÖ¸Îø¡“ã ,
P¬”˜¸Æ‰Èò©6·}¤ßýßÚ‡e×ä‚öÄÇ¡D`›<ÏfIklU¡†tv¤Ž³u`ë ÿq¿Qendstream +/Length 3387 +/Filter /FlateDecode +>> +stream +xÚ¥Z_oã6ϧ0úRX«¢DQú”n’Þ¶Ýì]’½^ÑöA±[XYr-9ÙÜá¾ûÍp†´¤ÈÉ.¢5"‡Ã™ßü‘Å,„?1ÓIÆ™œ¥™’P$³åæ$œàÙ'‚yŽiÑçúáöä»Ë8eA¦"5»½ïÍ¥ƒPk1»-~Ÿ¿ýÛÙßo/®OQÎUpºHT8ÿáÝÕ9dtyûáêòݯÏNS9¿}÷ኆ¯/./®/®Þ^œ.„N¼ñG^¸|÷ËQ?^Ÿ½v}úçíO'·~/ýýŠ0ÆüuòûŸá¬€mÿtq¦“Ù#܄Ȳh¶9‘I$2ŽÝHursò?aï©}uJI¬ƒDGé„£¸§@-Õ,M²@ÅðxÕt†¶Ô6¦n9o‰Êw§BÏy¸n:" +S™UÞ•MM÷M]=õG˜„&XcwQ$Ï/ðÿ~ä/§Y4ÿçhðã
þç5ëâðàýÇ›‹ï‘‚©E€úþîRŠÞ®Â¬gÍåñUÎÿƒü3™: +A=BY’D–o×4Ýâ°‘í_2Ÿ—Õ¾0n{ù¦0ß|ÏdõàÉ}ëÉ;5û»ýï÷våÅhi‘Ì&Â6 ”€cÕ´›0Ó¢ÏE§,&ÜÄsá’EÙæw•YäÕªÙ•ÝzÓŽEihôEÓ„CK“ Õ:ÊpN2ÀÙ*9ïÖ–ˆçíÖ,Ë?Â02=9¿º¹¹xK{âÚgyÇWk"Àpgªæñµë|cÐ"ÁÃßï«®\ÐÙ¨$Ðä˜Å´66ЩPªá¸2G:Ð:ˆP½Òvyg6¦î¦ü*¯`¦`§ùà‰vĦiÙóüÞ–tÿXVQwn²í¶*q²c&&@0™ÊWL¬Çõ‚‰9.«•ºmÍrQ5ͧ¼-óÌÀT“«øe <ׄSâT
eøum’”ž·¦{3qR€¨þ 'Dc(„zaky +áI”‘Ž_ð>×q÷\=§Ú 9Þ™ÐûÝs×)d‘m¾(†çšc€ãYdÑHŽ{t©(¯K³£p¹²¥ÁÇu¹\‰ÒeU2Ù'9OA‰kÃîÌEàÈɪ¶‡±÷ áì«ðÙ'h$NõЋÁr)3Õ}œ$ãÏ“™Êh)-0ŠÌ0Gd‰õç‚HòO¤(SE*_.ͶcºnÍ®¥ôJ¼ÂL–U>l/ÊÄ´ø”=ëfJx6ýcÂ3°"í€é°Z}F`2T£DŒòôëLR†TÖ+¼‹ç÷&a¸¬ûiÏú9Þ¹‡V]6ÑJ¥˜ßZ÷ÏF #2ú +Tðâòžkbý™C¹œJ‡Lº0ÆÉ×9| ö™8Ô.Yg ¦¸. =;›šW‰ŽåÎ…cŸ´U㘶ák8G»ú×ù‡÷gï®úA¯Ý©š–4.1tñžc'&Ú»³ó«q¦#‚(Õ£Š›PXgh€{ðè'¾ƒ“Ä2êT@ji
sqƒ¼Ÿæ>‡ª
o4¯0Òº +Ö„9W‰µ§‡|£ó&´†½"í+Ô—ÌU3ÏÑŒ$V@È${ÙÍû\ÇÝÜsY¸3ýKˆÀ‹¦^˜Ïe÷¼¬„2>öeð\B÷kÑPŠÛµËܨ»Äµ·-gìN äG‡¤&´î†HSsž.×fù‰îl\³gk6Íî‰Øj?¹ÅyvTƒmZˆº ¸Ñ0-áö'd6
»õ¨³Ðßï»9°@zkv Öfüž¼=n.²`îe{èq½`ŽËF3³ÁVJÙvåòyªû,Sòåå=×ÄúCØE¦i:àWlZ!ú éO +éž`öÞ¦‚+M$0Ũ,M9‡O9àÙÝÓîGaŠÍ_Êû›_ðlñÑз,l¹°Ñ$aĉŒyhE‰&¡uÇQ«8CùVÈ@¢Çкûº2-›Í·‹
ÂêÛaU4ìÛõìý`uÍfã´*k3ô:W gÞš!Nn‚@Ë0úŠ}Ôæ£4Ò$K^¶ù>×q›÷\ÔnÌ+¨¿ÇÆêÎ Õ‹ëz®‰…‡á14~_¬|¬ªAêË£F.ú ãóCŸ;ØA²ÜvHCۥ؟rc-
a‚÷®¼éÇ\.©îeæÝAmpÏæ Ö[75
£®1ÒÆšEÖX¦ÙÐøPq’ %~ÂDIGÎq;!–°uC¢æw´â~µîè{›`xï‘…û»ø$F«²Ÿ·µð²û†
LH±*œÀÉá8fá#Û¸ÂÉŠÒNJ°Êª»©†ažeÇ0Uû+ ÑC6Ò®yÚ2E'ûoê%¬±ãîLïaöÞADVQš¸J¾Zƒ@bm{a<§-Ó`µ|¸ +-$–Öý£9.³ƒÊó
Ý6vA¤ŒKËž•] +eI-¶'~øœé‹o2¼X¿PíS›Wf¾éºB©—Ö5Ä&_´¸äÑ5µ†å+a‡€täm¿,J/‹t>ÈR1nrŽYk e1MU¹v2¯™âÔ§uÓ¡&¼$„R¯bEœ¤®=ˆ ¶8:Ÿ‡Jd:BÛVÁöÖ3‹”P@ð± +$Ü|Uj!ƒ0t–`>oËC=딼^^%û†JY
©E4ôG>n…?Š¦|¸_¤Yh£ +ßjªg—Py!ºDYßäyÀf½@ج7FÇ\—c<úDWj‹M4¥Ò4ˆ”|Ý32ìĺÔÂeÝ01R¸ë–HÜ~woÛ|…Í©Õà ÖR
VçØk¤Y¬F?ÉÛpgÊ×ð¾Ïlœ„2ôrIqK†^.zBY´Çéž}Hø-i“7bb`žÚ+¼$‰Á;x_;ò{¶8 ðGh%fè[«ÿ÷oÝ?”)œƒŽ¦kÕ8TŽ²Ô …âËt,¹ÿQÜsÑÿúÿ@-endstream endobj 1239 0 obj << /Type /Page @@ -4631,41 +4648,39 @@ endobj /D [1239 0 R /XYZ 85.0394 794.5015 null] >> endobj 350 0 obj << -/D [1239 0 R /XYZ 85.0394 556.4918 null] +/D [1239 0 R /XYZ 85.0394 470.5338 null] >> endobj 1045 0 obj << -/D [1239 0 R /XYZ 85.0394 531.6301 null] ->> endobj -1242 0 obj << -/D [1239 0 R /XYZ 85.0394 136.8705 null] ->> endobj -1243 0 obj << -/D [1239 0 R /XYZ 85.0394 124.9153 null] +/D [1239 0 R /XYZ 85.0394 443.7621 null] >> endobj 1238 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R >> +/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F48 925 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1246 0 obj << -/Length 3489 +1244 0 obj << +/Length 3443 /Filter /FlateDecode >> stream -xÚ]sÛ6òÝ¿Bo•gJ>Ið1Mœ:çê¸sÓkûÀH”Å)Eª"eÅ÷ëo@¤HÉýšŒÃ%° -†¿½ÿD -—Àéꀲj™&Á9#|ÌÝ` ZUƒ—ršÔU/n|»«Š-ænÜJ²i„0€+–’¹[¿çSÝW!S‰ÓÙÚT%1fþx›^’âA’͸ägŠ·Ü”:Hž12J «^áöøV„LÞÁñMhpG©§MHæL¿N¸NøÓ‡§T &4LÌÛ]±„ -áŒäîØл|Ÿwn˜„2iXBÍì•7?t›¨þ²j¶y9e\9ÔbèÓ§É,VBú«¡ü&ŽÏ –¦Þ0÷ë¥ÌD˜Nñ)f;¼š6EìÇ*Á¢”ߊ|uÑ"U¢
ËÄu‹ìc]¶È€eåÞ´]Ôv§µ]¹[$:™e× X-,ÜÛ›iÞ‹Ž6†— -D鯿ÅÎù\NQž½;X¤u³wKŸ)ù/;¬‰¸Ë"0Cˆq[ùœ`´¬}¾$‹€û‰˜ žmòXvçêï}µ4ðv å -iŒyMÚ=¬+ÒöXH)ÚJQùem=Rô9oÇ9²bà8ÓWèXcB 7ÚÎÌ%>¹R§`“§:f"§5±NYBX$Ÿ/:ZoÝ8.ÓÅ-ÝÖžïPhÑ6±…ל³ß–¹& {zÉéÑíóº%€ØHš'R ®R$ÏtÂR¢8(«Í¤"`Q/) ~ؤÿK¹ƒbØO\©²w„°â. -†ù„¤ø²«ÊeÙMP©ÒØ–þ*=m"ÐËQ ä; ?NäYw8‡'¥r)›6•>˜.O4›$V¦¡#uUÌ -"ªV¦WC.7Í$Rÿ#UÒ×þ»Gø¸d#eȃ5¹f§]‚%ïÄP»'6½NÙ…;JŽßãø@•á¢ÒØTdAŸzÚÆc°b—gáÄ´mqÐ_‘Zl<™o:ÖRza×É–¹Øû•"œpÜ”Ë
Kì°X¿vá’õý|L{ë˜Áážõ}4&»Ì®$ƒòÑk‹„z%°øت®ð2ƲÎî\àrújœQ^ ÓÝa_»%ÔcvÓî“uÖûdm楛-Ýáû#̵d¨mØÜj
=ÂË}Þn.¦\œCLR<¹žrõ±.§\«÷“–®‰Ú&·Dí÷|yýø€5qþÐÞ²85:0i½Ø“ñ빋K|~†ßµ3î' -êdóMs,\•îFrZi-ˆ@K2l]áÇ+\àÕÞìttâx€ç¤ÏXˆ¼)WôLÝ%ÔI©ýþôé°Ï½JÝ/œ¶›¥Æw×aŠœŽQ+€cT’ëÁ·ÜŠ2õj”8Ãýã -]f.ôKøé‰BÞ(3ö®PäÉDLþÂAºendstream +xÚÍZÝsÛ6÷_¡·“gJ>Ià1Mœ;çê¸sÓëõ‘(‹W™TEʎﯿ], +;ËJ5ãz¶x¸`³{{{Á=Mˆ’>Õ·w}#ó™Mm&²Ùݪ·–I™1|v·üyž¥"½„Øüõû›7×o¼}u™«ùÝõû›ËDh6sý÷+j½½}õîÝ«ÛË„Íç¯ÿöêwW·4”ù5¾½¾ùŽz,ýœXôöêÍÕíÕÍë«Ë_¸º‹g韗3‰ùíâç_Øl Çþþ‚¥Ò={‚–rkÅìáBi™j%eèÙ\|¸ø!.ØuS'åÇY*d&&(dO€†§ÚZ=˵M3 C(À§uµXƒL,›·ûívwÉͼlÛ²¥¾ºÙ=jÓØÊ“øI4£YÀœª¾§¾¢^úËzÙž™üÛ¾ÜUa«§uYS«[—(X`Ÿ÷Ø—Ê¤Ú +l°ƒXOr@ó¬å›aÆp©$)Ƀ–1ÓJl¡)E>ËX˜ÒÊI|Y›ý–$÷Ð,ËËD¥ÏKY2.I‰Ô¢T<—ùˆªnºjõ||'*©ÍÕ¬ÏÿŸ +_qXÒK™I)3“ft6J™OI™XŽ‘«¨› Õçp
<hþ¿™fËrUì74ùe¢„ÑógÔzôÀ#ôKMJ¯Ç×—•Þ—ÔÑÌ‚£WF¿ =†ŽYS¤B)ŒÅ;×*È/Êç 2?mJT}&¾bQ1QÊó¢ÊŒIE®–Äì무&ôꜴˆõ•K¸Í¥/H+ÏR) T¡và¯ÐWýå:m†}>¾bie,ÍÍKª•At[y!†ŸÖg¸¬_±¨ +3‹BãxŠÎn©&v €>†©l¸ý5ä0z|*iÔÜ`Ša\—=Œ5Û®jj-kL–4ÐVûMÑÑ]Á3&BŽªùØ6›Ò]<twótJGÑ=oýèõ?B^°õ§KÎ9ÜÀ€
©-ˆìF¦‚åEuùXî|¾Ò„\¥·ž{L6õéË% +C‹à¯¿–åÖû\NQ~{gpD«fç§>ø…&v˜q"0CˆñKLm÷Ò XE€MŠ” žmò©êÖÞÕß„lià/\G= +á&(ÃŽ +úévEÝÂõCTˆ¬nš{R®r$´Áq¢8¨©ÃÐÐ"]„Æu½ @€šáà*tþ‹PƒbèýÙw\¹rg„€â +ú ¼£ÐŒºi4áiÛ@šÖäW¿^
Á/â¹Ùˆ4˜Ä_QÑC³ïî›CÑ`t¾*êüÙÂÛ´};õOdXg*”¶»æ°4iíÄ»7 +_‰¥S6yHHŠçf¨v÷‹}eHLv+,÷Õ‹`©«# + Þϼ˜§G–J¦å—0;¦^€6}ª3f¨œÙÁ*ˆÂÉÂe#£“2ŲÜÙýÑÄþƒ£J¸ +‚cIR.1˜úáý+j¼sþÇ5Ý„Í2¨7“ÚÏw‡‡_W7<l×ÒC<üÑNcl|T¢.6m“œü½ŽÒáC8ŠA©÷þ~(Ì]JcÏAD“ç¡¢CKPï—é4×±Œâ*®Ö¹/'<«èkdo„ø°Ûë‰ðÉvÅÛNW +zkl WÂp·ßÕ~ +Õ˜ý°em{¯¬Í¼ò£•ß0¾„±vµ‹;!¦þm±+Úuzêëi©S%'Tlöâ—1Ÿûeõá³s…n˜ endobj -1245 0 obj << +1243 0 obj << /Type /Page -/Contents 1246 0 R -/Resources 1244 0 R +/Contents 1244 0 R +/Resources 1242 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1222 0 R /Annots [ 1248 0 R ] @@ -4673,36 +4688,38 @@ endobj 1248 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [154.2681 239.2989 203.5396 251.3585] +/Rect [154.2681 157.9689 203.5396 170.0286] /Subtype /Link /A << /S /GoTo /D (notify) >> >> endobj +1245 0 obj << +/D [1243 0 R /XYZ 56.6929 794.5015 null] +>> endobj +1246 0 obj << +/D [1243 0 R /XYZ 56.6929 744.8677 null] +>> endobj 1247 0 obj << -/D [1245 0 R /XYZ 56.6929 794.5015 null] +/D [1243 0 R /XYZ 56.6929 732.9125 null] >> endobj -1244 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R /F39 873 0 R >> +1242 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F48 925 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1251 0 obj << -/Length 3818 +/Length 3712 /Filter /FlateDecode >> stream -xÚ]sÛ¸ñÝ¿Bo¥g"ߧO¾ÄI}Ó8mâ›^çîh‰²9¡HE¤¢s}w± -¹¾~§l5µeÈ#ÆKÞÊZ§RXóêz.™ˆ²j ë—B½½ÿL¿¿îòíu·×ÜF9 -Nž$ ÷_x;d?
Mü[^‘&çRë˜0œ-Ê0ðãDG+÷M½¦_O^\øa¢eÖfSH´‚Ð F -#¨ü¹ï©CÅ&‹µì<÷ãõÜðèþÑíH5@T -mgË AäìëÒJSIX½¾›íAðún-fok˜Ó¬?@yÞ'íæeÄ`}aŠ–¡IÌAÞtï²Vb£—kÁ Ób½)ó5i -ô -B‹VgÂ#(¬‚+¡ÎGÇõ 1c^,盺.G& +ÓYŸì86¬1w -Ô´£ªâ;nWΪ$ ]`Dël ‘ x˜éùHÓÇ:j:¬)ÙJ¤”ç¹wX쑪åà
þÝê·‡Ýu³Ø=_©W~û#&”ýüpì{`†¿ cögpÎÊþ…)é~¯ïØóþZM:_Àº$ƈÚy[ÃÝH/ÙZëŒ,:v'lÍÆ\C>:˽Ú`?´5 û8>dÿç˜Úñ$ŽMMÃ&„¥§Ma©¥†ó<gjÿÂŒÇt¿ÛÔž`\Xöë’#jçM
2qÂ.œ«öΚGBví6ÏÚù‚6DY3o6Ù"ØT™³2tHc!æfDl
ìXúRøãʼnúûÌw´ùPŒªy€øèYjÜ~ -¡Èt¹ê¯ã0v/Õ„+@I!<x„ùK(*uØ‚#Ü´y¹ž³m¶˜ûkØœ±ã{Àª7ºñ÷1°ÑÊÖ9öîú‚îIÜPF?iq]×âÂH›=ú«Ç²=\ÉYIJ…±U¶(Ê÷–ô»¬³¥¿—Ièv€´›Æm<k·˜( -5?ÝßýìÅ}MÚzê²Ãߟ)˜íÔsúõ”Wx[B¶àÏ -ãf(c8 -J•×_C?uE±Æ;¨Ô_ôãÈcþœ}+Ü®1u¯\‹çZ˜c½ÅÀ€×@´q´ÀXcè{tÁJ°hïN(Áý•‘$8€'¹Za¹ƒ 삹ÿ S$ày"natNߧ΢U]–õ¾£þæþæÃmໜº>~K¸b‹ª‰;,K“жã_Žä‡ì9½p÷Äé—óž~Þ™9þhð²ÃaOÝò„ÅB2~þꣷÇ4EDý}¥ÇÛÝr÷âóçå)¼xþ’°›sýg‡³t7¾óI‰§<Æ‹ÔANêØgÎ{A¡(cF@Ÿ'PËu…©âiwxËãEEg{ÁÙU8À9½:é[„«R‰£ûf1¨U°Äq㎓ΞyNd$—ÑJ:pN©I? u p²mûw -6uÓîXÁùjü[ª‘¢‹ÓË<׿K©Ëð:`O%öê]铹sŽ}ÑäëÑEy -í>/KTT!h€Â·‘•‡áÛ8‚B®Ø==ÓËHPÑ‹'ÓÅaøAÿ Stßø‘¾Q9 +xÚ]sÛ¸ñÝ¿Bo¥g"†ø"éS.qRw§u|ÓëÜÝMQ6'©#)«î¯ï. H‘’ÒÞfDXî.‹ýØ"‚[hFÂÈEbd¨"¦Ùæ*Z<Áا+æ`–h9„úááêíG‘,Lhb/Ö\:Œ´f‹‡ÕÏÁû¿¼ûûÃÍýõ’«(ˆÃ륊£à‡Û»ÔcèñþËÝÇÛO?Þ¿»Ndðpû厺ïo>ÞÜßܽ¿¹^2|φ|¼ýÛ
µ>Ý¿ûüùÝýõ¯½ºyèç2œ/‹Nä·«Ÿ+˜ö_¯¢P{x‰Bf_l®¤¡’BøžòêëÕ?z„ƒQûéœü¤Ò¡â2^,•¹b^ÊQ)Ú2‘QÈcÍ{)s6'e…R®ê®X¿.»zÙÖéñœ™!S‘^OÈ÷P3ôÅ€>“:dX1p»Fªo?J=d5L¤Añš·2ÂÆaÒQâ@V5¬]¤q6ÔÈžóì6MÐ=çn0ÝämÞ¼äMKEEÏâî+=ïïÛ¼£¯Ó§´¨Úîðë—wÔø|÷îóMè¾®›MZ–¯ÈìbÇ¡‘œƒxXh”¢É¦ + é]œXägD»… + +{ž^ŠvF³@ä¡PÉÿ Z–† +I’„õÎÖJ{w-Mü½•U ¡l#uäþ²² +µÎ»ìyùTîò݃ Q2¯ïécý’ŸtB*ÆÅ yuÚ õPv¬3."½ì^·9›É*1OΓï¡fèö7˜^!èõ›CD ¬0ZJÛªgŒH,Ã$ŽÔ¥ØÙhãÅOvf郢’“rz=rí“¢l¡Ã§³çµ}®Zú4-kÏô¾èžGˆŠÑlü-ÙÆãÉÄŒwÙºn\“?ê¾x-³öÜ+߃\ãšYƒ«L˜°>јµ}ž¾7¸Ç«($hŠãúJö=y¡Ð6ÍÕóy!l¿„…q«Ó¸è»p¹¦ÿbŒjé¹[b²™¨$*]/Yœ¤ +c.A‡‡Mh;Ù»8Î
!£P‰~ç~¹^Æ,x€ÜLDHWz!cpZÆh$¾ømîG#jж³=HÁv¼½ÝðŇæ´NËc^QÛyÅ|´¾0E
™©L`[KIí®v¡øë5‚ܽ›m™oÀHçG!¾+9@ËLV_‚ÇŽE,Cùþ¾%PšH,–‡ºÀïS(¼B\¢ŠJŸ1 P¨X¢Î[Ç +å 6cY¬–Ûº.'* @+Ìbˆvj=Ô”:tȃƎÈ?X{ˆ{¼ÞvÇÐ~§¾Ç¶.ónγ€Ð¤Š‡¡›)0¥å>}mû\ªÎ es¯>p‡æí×7ˆ!ðz hNz-abXðK©ÓêôºôP8£ÿÔU¾l;0”JdíÔo™GšŸg ‡šá`ì·dÈ´QcN$P1ãâ;¢Üd˜@ùìÞ¨A²£údGBÆ^–!ˆŸ¶v ÃEyƒBzºüGY9µ„ë'»ª¤°Ñló¬À:@f;¶Ó +«#G4W`,žªÚˆŸ´¥÷ó…WkÌz Ó–ÔÙðժ@~Òr¹nêÍ2ÝuÏoúó¹Ñ=Àœ¤/=fÄϲ×Mù§,²2èË?F:ɵô‚W‹¨LŠçNÆîãÈcþœ¾6;4ö&€}â^³O˜`Ý IÀ£J5ÐUè†ëí¯äQ°·—%$gî˜ÈšÀêm:AP¶øƒÍg{ÛÈ~ÐK‘F°†ˆ©j,ìvb‚u]–õ¾Çþž.ÝÕܹêw5 –Ì`Qµaeè( ¡þi Æ¡À–•³·?¬|Èú{Ç{“ÍBϲ$‚ð2ºpÕŽ¡òù
Šº36r"–¶=dö–2æjäØS8öÜÁ:A·ÞÚºÏõs;¾sîˆâáéÈ
”ì•ñ5^(ò˜R§ó(åþJWÆ‹Êß”r¾ÛW%pNoŽF†a#S¢h¿ÉFñ©íì
QÜÚ2ôûúb„uÎ_d}YIEfCá‡Ñ®úi»|5[Ï T„ +ãúh³ØѾÐýe$3úÞ_Nƒnk0°Š«ù.èkëm‹n×_‹³ŸYkhŒ;f=žÏ®‚¾h°nôÆ•ƒw¶ÖjÜD°ûᥦÞBw/ºaù²¼q0µ; endobj 1250 0 obj << /Type /Page @@ -4715,35 +4732,35 @@ endobj 1253 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.9497 443.7983 172.6404 453.0137] +/Rect [108.9497 359.6771 172.6404 368.8925] /Subtype /Link /A << /S /GoTo /D (statsfile) >> >> endobj 1254 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [293.8042 398.8702 355.0043 410.9298] +/Rect [293.8042 313.7527 355.0043 325.8123] /Subtype /Link /A << /S /GoTo /D (server_statement_definition_and_usage) >> >> endobj 1255 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [395.8905 398.8702 444.6373 410.9298] +/Rect [395.8905 313.7527 444.6373 325.8123] /Subtype /Link /A << /S /GoTo /D (incremental_zone_transfers) >> >> endobj 1256 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [309.3157 368.5472 370.5157 380.6069] +/Rect [309.3157 282.4335 370.5157 294.4931] /Subtype /Link /A << /S /GoTo /D (server_statement_definition_and_usage) >> >> endobj 1257 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [305.9683 338.2243 367.1684 350.2839] +/Rect [305.9683 251.1143 367.1684 263.1739] /Subtype /Link /A << /S /GoTo /D (server_statement_definition_and_usage) >> >> endobj @@ -4751,31 +4768,26 @@ endobj /D [1250 0 R /XYZ 85.0394 794.5015 null] >> endobj 1249 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R /F62 1035 0 R /F39 873 0 R /F14 717 0 R /F41 910 0 R >> +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R /F62 1035 0 R /F39 873 0 R /F14 717 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1262 0 obj << -/Length 3835 -/Filter /FlateDecode ->> -stream -xÚMwÛ6òî_áÛÒïU($qLS§›¾6Í&Îë¡í¦h‹ŠTIÊŽûëw3€H™’›Ý}:€Á`¾AyÃO^šT¤VÙËÌ&ÂÄÒ\–Û‹øòÆ~¸Œ³òH«)Öw7ß¾ÑÙ¥6UéåÍÝd\Äy./oÖ¿E©Pâ -Vˆ£×¿¼{óö‡O^]eItóö—wW+eâèÍÛŸ®©õÇW?ÿüêÃÕJæFF¯ÿùêýÍõJyïÞ¾ûž –þN,úáúÍõ‡ëw¯¯¯þ¸ùñâú&œez^k<ÈŸ¿ý_®áØ?^ÄBÛÜ\>B'ÒZu¹½HŒ&ÑÚCš‹ÿ -NFÝÔEþÉX(ª*=a`.…±Ö\fÆŠTÃ2ðfS
ÕÕJku»±îÚ:E%óˆGêv¬Úuµ¦Þ]×Sc?„qüO¢b?nº¾‹±~¨®d´êÚ扆†ª¨úáèت'(MÔó‰a–ŽêêqÈe8êJJaQŽîWãXmw#P«”‰ÆÿSØedÀ¦Ú†!˜¬VÈ8™F¶ºÅZ3e—Ô"ÏdÂ(5P¸çÕ‹fð¾{ªÛû»@3ç%úªÜ÷°˜YÜÔä"Sp•~Ó¦!ä²pÌÆ-áh#–ÎPß·¿9æƒãÞJåȼ,›s1\9JuÑ®©Ñt÷¡¿Ç¢oñ„®³†¡¸¯—Úç™[îã9n$¹ÈeÆ'+Öë·.šÕ]ßmWeQºc%êÄeÈLÈTúÙå¸/œ°®‡â¶©ê~b4º»£‘Ùf##µ~9'Þ*ÑD#H±#“¸(S#l–Ï™¸.F`”N‘qÝçý5ÈØ襡$-ØzÜT-
"¦c)‚÷;:ÝŒvx„››†)Õ´´h¨æÕ÷s -ï¡r'„?÷U_;B -óg··)œBæp§n`Fœ›û=ŽUµ(¬&zÛcU¬-*•Ntq;,˜A‡v9•œ<.µ/7!-üÌqC\}úxý½ 8Y>7üoË‘üâ‚’ê5a~Ã=lÙÎ$PØœñG¼wfijðxcøçþ`nJ¶djò˜]³ÉóH*ÁPŠg¤™”)©ˆM’œˆøi5Å¢€O.D̳-Ær³Ú»]µ^Äô@\Â2Sl’9OGÀZ dæ½³Lhió9%oïH&“|3a,ËýD„=[MX|T…Š™'ÈpçZs²&‹Þ¾Høœ4 -jæöNWnâ ?Õíþ5‡'° -Æú†¼hÆù4Èg^‚²cñ™nD -£Þ¿gÑnßï:¿N½x%Ÿ—ݾ‡¤a}ÒÜ%6‘dçÍÝë´¹X¸yý…|<yÄu}‡ -|Às«g”ˆ³DŸ''`-Ð3³S&cgÒ9A¿W>³{Ê¢'Vg
Ÿ’"±>!uÙ#2 `¦BHÀ¦+\8Ö‹ mõH}ãèn
ßüi[€Nó¤788‰’ -¯y(ìXòš*Ût÷÷Ζ%T£ÁNŸcã?þ³c×ñw‚m¶Ã‰ñ–ý°B•›¢½¯x‰²à
ny}w9Ûz=ÎPÃÿR‰a$ú‹-ïƒ"1ÐÄbXŽ9< zçÏDb1ùüJ”ÅR?2äÐ{¾j45´»ýßò0Xà5µ(rDE -~PH -ywRëЃ:ÃFÐ:ìPÉAQåJ…ëU\dpÉß®©F*}Ј˜é)Ž¬žü¾s5v{º~†DuÈ@^VGDpæfá¾((±¼€¥)¨ÿª("ëDù%ŽøüŠi°ˆp[·‘&VdD8bÃ8\ -°ˆ!#GFxôÖøÀsßãž<!ñÓ;ŒBšÂß(¸ ÆОOD¹5¾\ -£á±³x‡«Ì‚,ÇGïiË_9qùXcøÐâÞ„\õâ³.Ƚîº6*6«sü°oÚ*¤‰‡ùtÆ]SøÄk‹òóé÷(™h!cc^© Ö‘òXxt÷è‹ÌÑÆþ§&·ç7öHϘ+‘&±šïÌ_«P 䃊Úøå?D#+at%Xlò¡k¨Véh‹>Tª8 -o}8‘^½°yÀZØ}!½:Úž?Jìáå†oaTfÔ¬þáûºy„>°Xœí‹’Ÿbï=¹:„á©‹/4ꪅ8©êÇ¢æm×Ý–Ú EšSÓN³ªd.•áå!Ôö.ê·ëoýëØêé3>”oò²°&ÈäÙB§¾/
#>RºO>soÝÓ©uO!žáW[$ ,é“:~“Õ©ÏÊ[{ü.³ªðÍ@JŸ©èÍba!‹…‰áþ^®AlU2¯LÙÄ1!´^*Éäx&ÆÇîypÁ%‘X™M\¬½Lºm³YörMÄêðùãÿƒrüqi#H
µ@9=<óT$|3kÔ<}û’cRýØ-öÁ±‰— -FJA@™ÛðÙ'Éé’5w_õz£ËÉ£íÃÆyËs°îóÏÅ«°Bk{:pô%#—ìS"–ÿù›æÃßI&tž«eCÁ!de°…„¿ç†?~~Nú +/Length 3759 +/Filter /FlateDecode +>> +stream +xÚ¥]sÛ6òÝ¿Âo§ÌT(üxtS§—N›ægz3mh ²x¦HU$í¸¿þv±”(¥¹³,Àb±ß ¼Žà_^›D$¹Ê¯Ó<&’æzµ»Š®`ì‡+É8K´c}wwõí^ç"OTr}·•‰(ËäõÝú·E"”x+D‹×¿¼{óö‡On^¥ñâîí/ï^-•‰oÞþtK>Üüüó͇WK™¹xýÏ›÷w·h(á5¾{ûî{‚äôsfÑ·on?ܾ{}û껯nïÂYÆ畑ƃüyõÛÑõŽýãU$tž™ëgèDB湺Þ]ÅFkí!ÕÕÇ«…G£nê,ÿd$”NÔ•10“Âä¹¹NM.
CÈÀn[¶p¨L-Šõºìʦ.*ìËźè +y.+†µ{k×ì÷ôÛÚÓ=Ðp³·‡×ðKvôÛm-!웶-ï+K`ûyoë–‡šÍjñgo¥m‘ÓpÜ¥”"7Fí
]Çá•Ì¶mª'K€çÛ[M_©Ù +r=u±cŸˆhÙzT/™*T½'ëN²ï£ûhÁ³xMtl…wa-ïç}Ú½šçàþ˜¦½ýL-wp\±~Q·žc:Zo4‹:sæ[«h`/sì ò`úÅÈ¥ß?!A zc‡¢r@¥³8JÒâÑš†·eM'1cÜéè†Vl›;”›QÔ…ÔܳW©;ê»U¼ãć¸ØÄK@ÙÓÅDz^Ù#L¯rŠEZ?L1Ƽ +k“.Þ¾Šùœ4 +œ¡†ß5¤mGô;ÞE¢¥‰E; úý‘HL‹gc‘˜«Ò‡ñ$Šb™Ùqè.äLä¬ånC¿÷<xM- +Q@x×/þ”+ÁÅœA™¢`õ‰í3¶[æ +~ß©»=]?A¢Bd GÏk#"8k3s_“ä¼@NKPþe)"ãDé%ŽøôŠiÈᾬ) &+2"±b® +Ǿ±Î‡ÁËq ¯ºr9ðaõJC2|q÷€5³ý$êU‘ÐJ§Óý¹Œ¶#”qEVaÎ^Bƒ +äØzizÂÙºAîûÊ÷ÜYÚÉc%™IÈù‚©žçŽr3…ª£6üæŠÏ1±œz cóâ>WÀ7çÕÌ-Æa:Ïçk`+T^ÿfqCe©«†®iÿ]…/EeþÁ&Í=÷2_~Ê\Ù¶,ü„~wO_]Dœáç¢ü±M_wÀÂTÉwëñ“°"RLáð"|<áIE³Ü<¼ÒnÇ Q ê̵Ýp±á)`¦$”áw Yvñ¹Ž‰!”³ú%Á.H|ö¿¨_c¬óú°œTÔ M+®•œ(¨D–Êüòökfÿ©‚‘¦ÜÖdÙâûw?Þ¾Æ6–[÷àb;p¡< +l—4–zÒœVÐ Øc}‘†€tJÄä´‰*‰ä„Š·=V/äÂÑ^»5¾ì<ÔE׳{'$~s‡QHPøó7ÚÓ‰(±Æ×Ia4Üvfoo™â§pQrôuÖßñTNPüWOG‰MÈòGñ.¾ç‚tг®û^òAzߧ¾ªmH££÷UáS®®+V3Q¾šj~K:sQ8ËÿýÉêð=oœ +egbK°Ô°…4ѩ𷧤ÿÁv„endstream endobj 1261 0 obj << /Type /Page @@ -4788,29 +4800,32 @@ endobj /D [1261 0 R /XYZ 56.6929 794.5015 null] >> endobj 1260 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F48 925 0 R >> +/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F48 925 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1266 0 obj << -/Length 3275 -/Filter /FlateDecode ->> -stream -xÚÅZÝsÛ8Ï_á·sfbHŠõ˜MÓ^v·iÎqïc¶û Xr¬©-y-9Þì_¿ -_áB~»øåW”²¼ð==ÚÇï‰8–£õE •§¥euñxñÏfÀN«í:¤?Œ§Œ(UG‡zŽ"{¡‚&Tàl™ÁŠB9Þ^šñn•Uø¥Æ‹rKäUöœ¬ˆ¶,«ºHÖÄ"ÇI‘}ä+"¥%Ô"Ù^ -3æÑÓl›¿d)},lK¹&¾éû"ÇZrÏ‚¹I<)¾.Ó|‚ÚL„ðb¥]Ïß—v0ÒÓ+ÛÙ!¤ò°hFt4ƒcÏø>j¾Ìæ_'´Tbîª1”žŠD7ÙlV9ªDRêK5®Q©H(÷E¶%kÎRT^_QÓ5ü#Š]9’>þ‡¤ÃyiË´x†FŒïjâJVUÉ[1‹X1PE'rOSd,PL;á°J$Ck@ÂôíüsM$\ -ò?ûd[8)ðs2€@L<Û'»TëTyʺªMYUùÓ*#|¼$«]Æ(sÎüX°n@d¢™ŽÅ‘8Ÿ Nâx {JGŠyòç¢ÜfC+6¾YÙ)àÂp:ÐñÀíp®ãj»ÏWé<Ù¦GðÕ‘>?Ã5 @Om©#iL_‚ÙÒDA ÙÔyYPÝÑvº”>,¡œ3â¡J‘*EYLêl»Îà‹j<µòF(K“.Îõ§ < @p#M^ÍØÀ.æ£ØÜ!Ö!Ž@ø}òZñ§c¡‚wmø¶¢¸æÀ‚o×8xÉûÊ]ùGUSp’n£C¥»b¢¬“z¾Ì‹g'Ús¹Íëåš&@GÉÄ@¼l/ O -ΰ”Þv+"3ág²ÀÉÙ¼æx»NªÚæÐøGYdU3ǾÖ5ÀJ0°w¤Š¼0r>áu0odÊ0ÊÊŸuA×aª+Øv`khêa…l.µôB¡ŒNJÇ@UU;ö, è»@Õ'÷0áÅ|vw¹NïᆫÝÃyQgÏ`Ý×ãM¬¼PC}V€†k@‚þ&6˜n›¾Ù´kqå£ßµˆ3$)ÑTkå´,VøŠšìæ‡ÒÛˆÐnì*€£í%\*Tè ä!ÆÓKÇÿâM‚›Ð¼‘X)%ºñO)H¬ -á48ÇàÙïyÅ] × -%x¾Áo Çjv#(è½õš&$™ˆ5§1K=Î:£,V¯Ôœ6+»Ç)°q\Ðfe3OhA-Üü实”‹f˜¨3ÌÀÈiøȑNì°Ø•=ndZ™ÀdžX2gãÖÀ#1ñ)[•{ªÖå†T²€PkE»0w†;ð¯nZí·…€µyYT`ݬ˜ó‘¯;ÔI PV‚¾ËÃün†k(ÿ’Ú‹tƒ¯=éà‚(ðT -82WWÔÆ×WPsIsи ºõX2+ ÛD„24—æµµ(0GžU¨ïy$¥"RoDž.×K:.›4eÛrR”“ªL&u½:NaûÇÂœ á oKp‘}Ø–ÂåõŽ‘ZK -ŒtÑ „ßvÙ–î+JÎÙ–<àlö3Q(ò]‹°#Pv~‘èoðžçp÷Øí2Å]úÕθ5qúSÁù’n4ì üƒ.?ËoÏydƒ©}ñ]'´„òðÔå:ƒ<Ç5€¼É<™/ƒ¬DÀçÅh¸äè-Ùžo"Ñ„ð' A¬±½¤@Z5üêBØÐZØÂìpHGÀ½ÍÂ
+ÖüØháf)Ü»ck²5Ò-!_8@à -NQ|ãÛ« ~~àÛ{Q xS·ü°á;7_±=~]uïþèܪAßàüÈ¢Ç?=þD9ôßWÉ3‰uËõîþñ§ÛÿãtÊ%•iF—D5ç××f(Pûš½RSµ,w«”ˆO<2œÓRjuã±³¬ú¼¡ó®»ÕíT8v´6gK¹aA
uç]>Û+ðeMÔfá@œNyȧ²^RmŸS-äó)“àXËT¢’=ªñÍjØñ¿(ãÐöƒMêI_Êïáá¬
>+|Ãÿv¹Îì@Çeq´}ÔóÍd›-¶YµŠüJ©è¼ -âÛ>¿cBõñÏø +$]¢ ~z€}æåz.à)_ap -"?qÚþH±¦C2šu -Š|Ž8ó9]«BÝÊ ù§H¸+p©Yš„SËÓ®&†}n7ZÓ%²oáTÃqä±jÊí¾ªûuÎX¼îÚ*¨«@2;`®r{Ðå$ZCw‡à…Ý`›¶kŸŸÂð!b™Ï—5)²À¦XÐI·Ý¡¡{+™–Ù!»UöAÂ^TûfxNÔóš;ZŸôàQäÉ(|ãU¤ÃtÚ;&ûrKÛüø=^x;rnÖ†éxÚž?W¡µR½yù¥,–Ík¦‚„µ¡‘i²Î|,ZìVÔb}sì\9:.‡6 -¢ŽË÷!jEìÔ>¦m!žvtúݱ*
(C>’†Âz|‡º@z³MñCʈjüc+ -v4HÂLˆäâoµãcÀvç± )íêÔᜋÔào8ü‘s;ÿóäÚ_ø«sⶠ+/Length 3230 +/Filter /FlateDecode +>> +stream +xÚÅ]sÛ6òÝ¿BòLÄ +t(ôh¾¹GO0÷áB0ÎÄ!MúXßÏ.¾{¯’Q¤±ŒG³eo-„ƈÑlñËøúoW³ÛéåDêp—‡ãïïîo’ÒãúÓýû»?O¯.“h<»ûtOàéíûÛéíýõíåD-à{É+œøàýÝO·4ú0½úøñjzùÛ쇋ÛY»—þ~E¨p#ÿ¹øå·p´€mÿp*5zô/a ÒTŽ6‘VŽ”rõÅãÅßÛ{³öSŸü"m-£x4Ñ:*ýRƒPƒÔ&‰J‹´•²>);,”òöùîu]=nWÈ8CÝÃöQn±<¤U´Paš8Ò~Üæóbù +b¢ñË*oVù_qEpàí©(Ÿè¥^Uûõ‚ÆŸs›l×ä‹v•’Fe¶q@‹QƒþUhÆwKÜêh” +µ£¢t\m›¢•*ÖÂö5ê +!MEÖP³+æ
Ï jpj¾ÊvÙ¼A_@xÅ8Y¹ œúµl²ß ˆºµßå»&+˜ò¢ÚÐ&H(ÄPÉ–i‚ìÕ&ía“ÕDUÅc´Ñµý +^€ìwOÜÜ?Ò€w°ÊÚáhžÏv» +dr̹%’•õK¾«ÙøbÈj©VCÕ
ÃRg<ƒÐÅÆC/¿†:ô°,¤´vÛÞ±™úâ¹Í¾.lÁjâ€Z'}B<!u!‹§²Úy5‘J¥I?@Ž`ÑÂ+” Œ`T¡`‚Äc 21ã½uC«ñÒJÀëü)[lUÕ
û7ÎØ +IK'êÈm>ÃR¤Q’ž7Ü>ÖiÃm±:Ã})Ö‹y¶[™¯Ž‚$Jôyú-–‡a‰–Bíl̪ÿ¥ŠÚúǶ·Eü‚^¬!ÂsÎCÊì +ÉrBÍMð + ++0ùŠ†½œG¨hÁW4¤>_Øú—ì¿ð ÂX9Þqô´Þç'hx—È/jþ”ìZa[‚ý
Öx—n½DÝ¥‰Ib&a‰ÀIÌB«NÀ¨Êõ+Må„Õ +à~;…¶æ¬¶lå 3(±¥£_í›Iµl—IzËxÊD +Ú°®=¢œØeñSŽTèÈ´3Å<¡z*gãöÀ+1ðs¾®^hØT[F\Ò“„Q·1xtiocøaoce8²îd +döTZnÐn^ιåkÍÆ$ìæ½BP"tuØŸiÁ•õâ(ýŠX{2À©HCÄõù +ÐN£€ìÏ<14U¨o‘y ›ÎR½‘yúXg4é°lÑ”ïªIYMê*›4Íú¸´÷Ç[‡³´X†º„ ‘(1du)\Øì¡Í€ŠÔj Ù¾YaW—5ų-Kðœÿ©}‡×M²> +ˆtÐ +…]«Ú²òi_0RojÒšˆåÊïÎèž‘l›³]@G•ýäKýå¸48!âóä[¤cúãÌ/C‡pÈ‘î¾ã)/ó¨Ù†åü¦§ÓÇ»5—Õú'>kJí¡@~໎Ûþ‚ }{D Ø;|põÞ™Wj¯wýS?º‚€ªE4T5_¯èñ?Rõükªì‰€6|¤ºÃº¹üñöß„8òdEÏöw"4],Ý·¶6Ñ—ü•¦ÚßÕ +ÅÜ™2Z†„ЈÏT{?B°<úÜ3¡”ß"òBPKeüFñÖC:ó³.F²F´{4óíd—/wy½ò%|¥Tr–z‹tLþ0Ý+¡äg—)$ÈWüÉ eiÕ&Ì%×OÚKY-øhBÙ“ú endobj 1265 0 obj << /Type /Page @@ -4822,39 +4837,40 @@ endobj 1267 0 obj << /D [1265 0 R /XYZ 85.0394 794.5015 null] >> endobj -354 0 obj << -/D [1265 0 R /XYZ 85.0394 186.2624 null] ->> endobj -1268 0 obj << -/D [1265 0 R /XYZ 85.0394 160.047 null] ->> endobj 1264 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R >> +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1271 0 obj << -/Length 2793 -/Filter /FlateDecode ->> -stream -xÚµZÝsÜ6÷_¡·“g"Fü%>¦‰sçêäßÃMÛí®ÖÖX+mWÚ¸¾¿þ -Ó5ª¦y¢Ùmsè'i×í³ÿ¶ìÚ¢Ú‚AWáÍ-ôþZñ‚',©íQƒ¦®^ˆk¤Ð,UZ9¦²uZî‹uù[‹bó(F¾µ+ÝŽþ8—<<¼œt‡EƒH(ÁTªdqÎL’»ìñ9?\ò,܇–ÍΙ³”s¤°•DH~æ\ˆ)rѱð%¿ö\§õqíéÒ<ÖpÆIòúÚ=×ÂâC+sØ´Êt6^ý[oe4»áÎÈF„7_‰o6Ö:EÛö<
±¬ -z?¶Å†Fä04ðV-ëô aåeoŠm~¬:b-§+»}÷B´ªl×oq×n]\$GîX
˲trªƒÅáKμ0k8'!˜e–õz¤*¬ ’p×4È«¶¡‘Ý,N55ÚëáHVÙµñüôؤá¦Ù奛ZåmÙ¢+ËÄVÍs¿YMø0ƒÁCÕ¬òªŸé×컲©[÷Ucw-`õÕ2l Tåfc£[CÔÖDÏéñ=?”…57Ì5[">ç/ ‘„øïK0xs$:™Û¢#Ê>?tåúXåz§
·Äeýˆàn¶Üâ>¶d¢îˆo‚h"Ck˜|Ì¿ãý‘çæ” ç")ÁãN¥,…q Æ}ŽIã=žç¡íRS&˜V†»/W(S‚b -‚SCÆVI–bÓäá! ÁÝ è{þhøÁ<èçrmÐktˆ‚‰d¦þX‰‘B³ÜÓs½¥ÆLªÁŽ -v&0—B8ƒêÚÀŸk&Òã8?ó*j»|ýD{øf¡]8@p‘1‘Æ„Ã¥Ô„$ˆ-½ÓÉôBiMJˆêvÀN¼‰
$V9æ(¤¸<Ù:šAÿGússxÊoŽõ†Þ÷¸¶%ªbçVÁÅ'‰Ë×ùª¬JŒQ¶9:õ<®Mâ¢êb£ýí¸ß[œÒ (A€ß|ý®Æþí#„ž”›`ðØ´NÖt+ëâ,f& -Ž,ãâuÌrÇÌž÷¸é1jOG?ÂNi‡bêU<Ó‚ -#äTPâÁ?cFÈ)Uâì"•ë|ç‰hO|NP¹¬ÿÀ”³¢ûàŽ…æóõ¸‰j= h«†fwdV´u&˜´gfqN–p•¡;@ñ†Ž€©]%[$Ó3©LÕ5'"¢2R1Þa‰ç -ö°”ºEÍFk·A<Z÷y¤Ì¡ þ3éÍÑi3<€ 5€÷(‡†øØÔÝ¡©ÞÆ‚þ#%ÈzÊ× @è[SÕ³+7éü¹;”ëÎîhPÝÑ“-•8 ³¥´•Ò4a3ô‰ÓaAýKÛQ‡ª¼´]±ÃrÜúÛ¼vP`¡S¤“&*•oÔ=4ü`žöærǵ¨NÉø<û»&u(þ•Vöu-|þWPæ'Fô=“sâ¢Ë˪ûðcó<Ž ÛJn_<²¹@†uò¶;ßÿI“2Éÿu,rDzžË1¶Ô¨áŸd²Ùë«÷\Ë;ÀŒq!ÆË@ÁÃçÇrýˆCaÁQûÂéVeê|\3O·ËÐ=–î;G®`)5HàÔä?G²Q -T¶!D÷ò½uah3-ŽÎžÊa.8¯Ïb– -%§™ -Öyå?êðöÕ—X£[‚ÿxüÛÐÜ'î±âé¨ -õÜA=—çàò—†r÷
¬1_{ß7ñØóì¹{xÁžŸûš„OË~l‡HÒÉÍÔ_°[šj}¦ -ð³£³ø¿þþ ‡ÿ¹·,ý€„¦L.^rÄ=Þþð_œþtB¥òó™lðÂTBœRh·Dœ½¡™«þ_”Ýeíendstream -endobj 1270 0 obj << +/Length 3187 +/Filter /FlateDecode +>> +stream +xÚ¥ZKsã6¾ûWè¹j„‚äq2ãÉ:µ™d=ÞÃV’-QË鈔½Þ_¿Ýè>$omfªL¨Ñh +?"!³L-öW&Ö"6Z{Juõíê½À ×
ÕŸŒ„ÒVÍ(PÉ9Æ™°Zé^þ€Z¢ÔÕ^óæ¬qk @¢ì^ÄÊ$nèý®¸^éÈ.·nеL—n Ðâå6_—UÙ½Ç:¯‰üÀCŽm±!J×0‹PäsäÔ]‘àG¦¶eW¬^ËMA½ë|íÑð9¯©xåÅá¥8´à—Ì–4Éæ¸æ…ÚewÈ·Hü=ŠÔ7Û”RdqL&ÖÀp`5Ѳ*맖šnÕ:[ÿîŠCWDó}A-ží*É–·QI
ÐÈ«¶¡Ö +$ +ðaظÓZy€¦¡Qe"M{.pƒþ°#¯[™RVb‡ÞWlóc…þ¤¬3€€&ayØèí‰
=ѪßF|c]
.–~(•P‹L¨P’3sý]çùØfÃy`îíÃ\ $®4>:5ªŠ¨Ð]S‹âö’SR'5Ü´ ™^RT[81#Íòvî|”ŒE¢zÕ;š9+c539Ç…>ëõTlð2ýÞÈ<±…§ +²Ô±Ž“DOØ 0€-·YìjjÔ×ã‘á +QÏOç‚V¸iöyÉ]y["ÔQšÁC?iMyOƒÆcÕ< páÞÉú(<·<ª™Ëµn½V;ˆt(7çàËÜr€žÓã%‡4ìÔ
}Í–ˆöiÈ€ÿºÆà{$:©Û¢#Ês~èÊõ‘ ûMn‰‹¢¢vø‰zK綤¢îˆoè‚.æf<Pç9|”s’Ÿˆ¤ +‘xùÚžBùͱÞÐïg—M‘ôP{ž=Ÿ\twùƒ/×@ØæÈËóymäU¯çÍhoÇçg·¦Ô.JÀíÛ__ÌОb½‡Œ +ˆ®¬‚ç(‹"—³èb-ò€W8êï>Ã…8v
õÆ|dN´3&ètgæòœU"–&_ÀohÚmf²t’ºª +a\?É@t¨è™¥G÷Ðçñöïn×@uÕ2Pr0e¢¸U'YïÕ‹ïØ1¯Ÿç)Á\Q ¿¸Ô€ÖÄÊåp3ˆñ +ƒFåÕÌü-=Ñ°¥—ΚjF=V~þ‘U‚õ‹L§ŠÃ¼=ŽsIqVú!\‰¦XѳàD¶æ½ë +Ïß(ø»ifF)-ĹgÃi†úqu/³=Eíg‹'µ9ãåëf¿ï+éŠ-„a…xœÝ*Í„M"ËÄ£åá+3£þŸj¯Ž¤Mò +9þ|势p1zy>þk
È!Ê<‚c.º¼¬Ú¡ ïðZ.t WInß|bc?œ…³ñ¶;_þî¡b€âöb*¹Î§²žËù0V+€¸Âq“ZHf—gï¹f¦€©J
§ÖJö7pJ¹„ÀÔ!Ý-™ +®áÉ;p»FB*»ãe¼S$Ž¶‚ðÇ$çÀûŸ¦æ +õ\'³§ÛËIÓ„}yòžkföaJD$N?ŒB'HÑG!t³> +ý…RBšŽØ>¡ñ&¹»…®Ï_¿Q—¿'
*”f{`7ÒË87¥BI+Ãh |4 ¯K!¶DRÎÜÌÀ1b\¨ƒç|ŒHÈ2Ù;!Â@€Jg"„J£^¾×nb(BÐähì‰cÁùµÈ4‰2z pÄe~%ü›V˜QœŽ.ón·£K–ÿ×qùÝôýÓÐ7Ý2WºSHJg% +Áš¡°s 1]Çš,ókp` +#sS/þ\HHmY¦‰)h»½žtàßßîÕâs;Z„›bÁ«P²Û”¥…Õ`•¢…RAl»–PY;›ÄŠaù¶Zçëkhxã†Ì8Z†¯õUø>jÖš„оñæŸ'‰µ/-²Ð$å÷â kbYÆfBUºÏƒ†s¶YuúHá¯ëÊ¿NÃÛtÀ’ær2e*€L—s‘g…Ü¡½A6Rh +°¶@î4y¦éìsÑà6’ƒé‡©HŸR4«fí®t2y+¢S.5þsGíQ +å!ä!÷±½|E–}þä…–,ç¹iùuGa=l‡)¥-¡”Ç—ÿ ¿·Ó!'„×zíét‡”>\ÈÂ2úHžeøÏ}9±Â/EÜÑ‹<?}d +µ«óÕödéÿ”(x@endstream +endobj +1269 0 obj << /Type /Page -/Contents 1271 0 R -/Resources 1269 0 R +/Contents 1270 0 R +/Resources 1268 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1258 0 R /Annots [ 1273 0 R 1276 0 R ] @@ -4862,56 +4878,58 @@ endobj 1273 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [339.2005 655.8125 400.4005 667.7127] +/Rect [339.2005 543.9652 400.4005 555.8654] /Subtype /Link /A << /S /GoTo /D (zone_statement_grammar) >> >> endobj 1276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [455.0966 437.7416 511.2325 449.8013] +/Rect [455.0966 345.7585 511.2325 357.8182] /Subtype /Link /A << /S /GoTo /D (address_match_lists) >> >> endobj +1271 0 obj << +/D [1269 0 R /XYZ 56.6929 794.5015 null] +>> endobj +354 0 obj << +/D [1269 0 R /XYZ 56.6929 769.5949 null] +>> endobj 1272 0 obj << -/D [1270 0 R /XYZ 56.6929 794.5015 null] +/D [1269 0 R /XYZ 56.6929 749.7875 null] >> endobj 358 0 obj << -/D [1270 0 R /XYZ 56.6929 636.3095 null] +/D [1269 0 R /XYZ 56.6929 528.8451 null] >> endobj 1274 0 obj << -/D [1270 0 R /XYZ 56.6929 610.51 null] +/D [1269 0 R /XYZ 56.6929 505.7912 null] >> endobj 362 0 obj << -/D [1270 0 R /XYZ 56.6929 487.207 null] +/D [1269 0 R /XYZ 56.6929 390.6092 null] >> endobj 1275 0 obj << -/D [1270 0 R /XYZ 56.6929 461.5669 null] +/D [1269 0 R /XYZ 56.6929 367.7147 null] >> endobj -1269 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F63 1038 0 R /F62 1035 0 R >> +1268 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F63 1038 0 R /F62 1035 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1280 0 obj << -/Length 3338 +/Length 3067 /Filter /FlateDecode >> stream -xÚZKsã6¾ûWè¶rÕˆÁ›Då4Éx§vœÄñž’h‰¶X‘HG¤ìx·ö¿o7€@Š’'ÉŽ«F Ð -Ø‘ÚLÅ%Ë´ -GŠï/†Ïïà1¿_.*….€5žRàÞ³ßg<cÊZIDIÛõ ×ñÅõVÌ>´p Yz¦°ð"YÙÊȲ\Æû@e´c¹ÜlÚK®ç/‹ß÷Õ°Ç毋e¹¼„ƺ¢‘"ß"„?qÝób¾ïªµú–~»§jY?¼ÒC¹\V]7$èay×€Ý <dc‘)¸$ -)™»sì|¬z?Út/ÕÎÏ{póÚ-=9\`Ãm –óë¯|©À$3™T -/ŽËbbkg¹âò¯n
‚&SÚA°ÒhpH«ê¡Üozzø…i6Á0øðáø›vYnšªï¾¤Iî¡õåû 3}XŸÓ$wøŃÙÒA>3ÜàÆùE…FJuFSÕ¤¦.èÚÊZ€zI°ðg¹ˆTl”¡3C>Ê*X”I¬Ô[®V¤®]G„£¡±Çú¹¢®¨§Ø}ÐS¢Û†î §ÂÔS7HZƒ]äfõŽ°“Ó9ºà·¡.Ô¹øu"¦&)±k¢ÈëÊ“¶'m^}ãpÎw0’g\±bŒÃ Ø)‘yDlÙ¬¦ÔÐfRç2]
Q<µÃ@$èëI¸ÂbËO[®)Õi¸Fªj€Tzcÿ@4±ÿ -$ðw[þ應ÔèÙwEp¸kBðþq:j?ÔU»gˆ Â$£§=Îb(¥ÁôÊgØz!„ÊASp-¹ð®%ç']‹ÊD1aÚ§\YÙƒ¶|´_ÒøœŸçoø“qÉÄçùˆ–”>»5¹gÅÚÏ*rdˆLÀŸñ-ì¡V\ýuç"þšsÑ<kNømM¨Îhk š€Ø”k€MUœç!RM01Œ]hŇ\UVD×á@p-Ø;r-8ê\‹ƒL੧αºÂ°WWŒú þ@o‚„NQpxàMÀ ÅÓS”À‰þ\o2âä´WÙlŽ¼ -r{ -ô^ y
Ñi0¢öO«²?Îä‚Zس[G¢ã½‡ #¤CR‰Áæ£è¢8Dy°Úض{V‰œô¡³ÛßoëžÚ^›r[/‰àÃÍOÔK'±G»£ÞmÙõ•oÿ»mV0ò¸@ -¶Eœ‚±Þ(y ÀóªrÁô¶„î$ÜÉÃÕC·;e†^ÃÎoÚ¾¢Þ~]ö‘°}©›Gê?¬C÷%™AèwˆÊƒ]ƒ ®ëñ¨àˆþág]ÿàÆFNç€À!¼ë¦C$»1oðºê(‚ƒKÊ•ž)¸eÍáÆ4¸{ô‡Û3‘~‘N8Íñº5Õ²¯ƒå™<âÆ°¬À -ô<U;Xi‹¡ÊB2;¿»´bÞMÕ”÷O·Vy*XXù‡2Þ„œ,dNZÈAT8 n,’yÚÁ%{ÑBª$ûåIÑʘ(-@„߇W',0=—›=§|äèëNë²™`KFJäîŠs,>àš&Ö™1j´lr¼©UA0_'á2ò½ïö ÏWzX¶ûÐüDîhµ_†ê—X¢3C¡öÁ`lÄ@Éêf‰wkƒf -¯Y2@œÀÀ¦Š¢*âÙ°=D»ï«Ê~óMè@—…¿%-DVËõø¸ö¶|õÛþñÔvUè¤ãˆ»)7N»mÉi¨™ºqê8`{RG+p,Ü–HÚ&¹®4ðíûrù[w:8 -RyˆÁÁ¶MEþV¨ -Åóñ»>gñ6"ï«´Š)Â*ø‡¾õûÝBæq2$A
TÎB6ÔœVvü8)y
6~ç"ñmF‘lAøhÉ.ã÷QXæÇOV ·ºÆé¡„èwb†™4LÕÒ‡5.%A['¹…\9<µ;W±<¤ëV„L†GD`ÛËÑMÆW¥Ô{(ÛôóJƒ^©ûÞçECjñ] ¹]ËO.‰×ñ» -¯F'_DÚŽÈÖMº“,~qni%3S#×—¿…oC\¥~i÷N +xÚµZKsã6¾ûWè¶rÕˆÁDå4Éx§6NâxOI´D[¬H¤#Rv¼[ûß·@ð!y’©W
›&Ð +þÅ*n1Á9zË|,;ßZ·/åÁ÷à¾köøæ`a 7]W%·>nê~9QÑY¦Kå}°a
`àƒã2Žc†ÎL9¶ Þ«Ñ–ŽpδžÑFñŒ(©ÊÊõñÐVóžBTNÌh8oG@U8Œk½¸àËF>¼Tíl("Ân®ÅÌÐRgZPþw‡†…e +ÌÑäaa1§š2¿If†üD°<L׬‹]]ví—ø‘{·ÐúrF}°Çœ¨ >ôO‡ñÌNdâJÐ)ŒK-&ÔCu©Q/uÆRƒÔ¬¥ú +D¡©|TÔrë™R†ÆÊbPD ËÛê‚Škƒà©CæØP¡ÙªÍ÷ ó°qÄ +:±ÍÚô%9=à„&@úÔ82Òäskß°É<]„dç‘J†B”ê±p|ÚÝ´PJfÎ¥f†–‹PqÁ†ã²‹¼Ï.tðÚ–½¶{ ^Û +¹= +èþ«ëÝÄÈ(èô8‚¼ª[‹g×æ^[N°Â(„$
%5·›º±ñðènÔDùUúÁ5Ó~jʵ=CmtÆ'Ú(’å,×m&ÈRoé +ÇT +ºÍuˆôK!¥ñ8ùMùä«OpJþt”ŒECV7 +™ÓbˆƒMB5TŸ6v{áíÔÏ`áEfö2ÛTH¼¶óÙwæú…Bãâ|KT–3£ƒRVq9ÉZã庩êÿèQjendstream endobj 1279 0 obj << /Type /Page @@ -4924,77 +4942,80 @@ endobj 1282 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [213.0783 447.9822 261.825 458.7666] +/Rect [213.0783 355.5045 261.825 366.2889] /Subtype /Link /A << /S /GoTo /D (dynamic_update_security) >> >> endobj 1283 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [398.1622 324.1411 446.9089 336.2007] +/Rect [398.1622 226.3122 446.9089 238.3719] /Subtype /Link /A << /S /GoTo /D (dynamic_update_security) >> >> endobj 1281 0 obj << /D [1279 0 R /XYZ 85.0394 794.5015 null] >> endobj -366 0 obj << -/D [1279 0 R /XYZ 85.0394 152.4569 null] ->> endobj -1284 0 obj << -/D [1279 0 R /XYZ 85.0394 127.9318 null] ->> endobj 1278 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F63 1038 0 R /F62 1035 0 R /F21 690 0 R /F48 925 0 R /F41 910 0 R >> +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F63 1038 0 R /F62 1035 0 R /F48 925 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1288 0 obj << -/Length 2712 +1287 0 obj << +/Length 2716 /Filter /FlateDecode >> stream -xÚËrÛÈñ®¯`N¡RÆó`Ÿ´¶´ÑV¬õ*L¥R»{€È‘ˆ2 p PZ%•O÷ô^e{ÒƒžžF¿ñY|¦
3™ÈfI¦˜Ž¹ž-·gñìö¾?ã' -HQë»ÅÙë+™Ì2–af‹û”ÅiÊg‹ÕÏsÃ; -ñüÝ7W×ßÿãöâ<QóÅõ7ç‘Ðñüêúo—´úþöâÇ‹Û󈧚Ïßýõâãâò–¶Œ§ñÝõÍ{‚dôs‚èíåÕåíåÍ»Ëó_?œ].ZYúòòX¢ ¿ýük<[Ø?œÅLf©ž=ÁCÌx–‰ÙöLiÉ´’2@6g?û©%ØÛuG'õÇc&¤ -T|J:cF -é¸)êÆ–QUžG&Žçÿ¡ÍKXú–žþûå„—Eœ³Lk1urWíZq!Õ€ÚŸ8XI2åÉÁÓkn´__;§ð&É7À,¾é©Øl@ñ`[æw‹k9oÖ–€e¾õ Úîíž Èˆ/„hIûÊ£´®?ÒN¾ZíÏy:·uí^áS6ÏËÕ)Ú$3ª{‚äå št˜Þ>¡Öm¾\¥%G+Jú-mCÐ-šuîAEíqªµÍZêq’:ê×÷Ù«½ï B°4SpdhÞcû(@LÒÌcê]¿Ä±°«WI/GkX{kŠ^AëÊÿz•ÂÊ™«·“‡cEÙØý}¾´5‰Í’H_Ò©w$"`ÄFÉ=š 11`¸ÈÕ®)/Êë\fóCmWi*‚8%Ü?{ “_õY&,ò¤ (wM°ð’§uqÎçËõˆV«K8åu©zº(:¸SLþ›€>¼ƒQÊ,Êeµ-ÊRæo»/l° -½òu‹qýñÑLúÒ?×Ö;Ç ÍŒ°|ÈËçñÓß?ãÔ'}B@:ÏýFŒ;xs’0«à–xt£Íi™š™ÎÓп I–¥i:¢£–bÔ'yœy’±"¿{3Å{&1)0¥sÉÿL¶?Ã$à€x6d½kÂlB³,1©W8åÕ¾u¡'cf”ä_z"É ô0©pã½#8ƪ²Þ5(
肧(ƒã„#»|Ÿ7”x#a2¦€ä0>êjùÉ¥[™ú¨†ä»0„FÚ˜¦Çaž—ÞWe2/<-Ï"¬HQDLyb÷þ…kO®ÚY`”‚ëgP×–ÖëÜÓ±euxð|]|¼ö˜‡Ë¡¥Å¾,‘Æó_b·Q¶„ûLŽümoY•pz[Ô© ·Wï U&û5r°§•€×pè±Àgç×%H’» -‘zå -x½0Y¸
Ͼ*||›ß6t’ù®„¼m(`±Ñð½ÑÓÚÇûQ³²uA'=arŒ^æ$ìß=› çx#‹%N¨‡MS€ÓM¤Miէ̈́·È”6=wÎœŽ/J¼]aŒp’Z=þž£ï¿š(®Q–0©d:tµ?ýž¿Wï_žÚƒ/
"Žù›Õ]úæÍk)ÞN¿áKfëv†±Ÿ +xÚ]sÛ¸ñÝ¿B}ªÜ € +߸×è+jAZ˜ž¬ê2 ¤>mçóù¶¨ë¡¹Ja™¶ÂNLš‚I8ñƒM™³ÖŽ›kÒRLº$½-öø“©`Úðl¿3²¹Î›Ùâ€I2®3ù™Œ¿Ä¤kWpê=&ñ4G2•Ì¡Ë“Â1 è”|);ŽÉØqD†º¤#Îa¨—°iš¥ºos=gÓ½zô6/·Oô$ÃY8wt<{
û!nlJ^ÐéVF£eXVVÐq³WCd-éœù lìêbîÝCˆ0Ìáy¡4w«f¹Yº'g0r/q¡”Yc#fÝäM±.Ê&*ˆÐÓVû¢Ú¸ø3_¯F)±€Ñ•{|ïÙI2ˆšÿ¡‡f3̾¥·ÿ¾m%îœß`%iG"•ªGí/B³d*ƒ·×"ëÑ Ïð¦eæw +Ç +Çx¦dL²1±Ì2"SþTйt>¤©â•p÷€^~Åû±NFKj1 +q;ÍÃD[õv6†e\¹ç+aÀ¥¥Í&¼5 ”oMÂ-ŤKò0 ã˜Ïßï|´RH±R|?&[Š_`pXÊ…ë3y¬RÐÌ™,‡W»§Ó¯$!
*)^ìzP›žëaPYp´Žè`óª¦Aa@·§XÐGÉK6ù²*¹$e¦€dß?êjöÙ‡[iƒWCðν½FOÓk?ÎË`«ÒL—V`F¤("¦±»°á"«60JN¯õ¨kMãEèeµ»|}º˜»¡½Ô":‰,aùô7®yëe3±O„áùÁgCx³ª„Õëš ^- +誼U@·³· +_ÕÓäÜš>7¹éÆ7!
½”»õm(t¿J¹¸2äûÚ? ÷»}H@÷¾èï¿YB~Ÿl· ´Ê +® ØS#NúV0`¨QC·‘“ü¡Zο¤G‡GÇ• +á™3}²ºÀ©D—¯Ð8™HÓ~ÕkQìfùP¬¢1ÒNaÝÁMth!ïrhôí渞 Î-ÄËò~q…Ûg$“Ú¨zG“¥ncg¯‘Ÿ¡ÞŒõˆ™™¤/}ô¸§ÞmŸM'J4: k MJ½|“x\‰önŠckY…—’&ë.¢x‚zR?_6²§$Sø—OOãN=Ç:ÂÚs7öß©þab䟼Ýü›ÿ—±ÿÓ +¯µû{á~ê2Ê ˜BƵ:à<þãõÿ=õæúendstream endobj -1287 0 obj << +1286 0 obj << /Type /Page -/Contents 1288 0 R -/Resources 1286 0 R +/Contents 1287 0 R +/Resources 1285 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1258 0 R >> endobj +1288 0 obj << +/D [1286 0 R /XYZ 56.6929 794.5015 null] +>> endobj +366 0 obj << +/D [1286 0 R /XYZ 56.6929 769.5949 null] +>> endobj 1289 0 obj << -/D [1287 0 R /XYZ 56.6929 794.5015 null] +/D [1286 0 R /XYZ 56.6929 752.4136 null] >> endobj 370 0 obj << -/D [1287 0 R /XYZ 56.6929 321.5742 null] +/D [1286 0 R /XYZ 56.6929 255.1849 null] >> endobj 1290 0 obj << -/D [1287 0 R /XYZ 56.6929 294.9193 null] +/D [1286 0 R /XYZ 56.6929 230.3064 null] >> endobj -1286 0 obj << -/Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R >> +1285 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1293 0 obj << -/Length 2317 +/Length 2735 /Filter /FlateDecode >> stream -xÚÝYÝoã6Ï_á·“šå·¤Çín²—âšìe]îÚ>(¶+K^KNšþõ7Ã!eÉ‘½K€û@€hH
É™áo¾d1áð'&‰a\¥z§š.Ìd±>ã“{x÷ñLxžY`šõ¹~˜Ÿ}¡âIÊR+íd~×Û+a<IÄd¾ü%zÿçwŸæç7Ó™4<²l:3–G?\^} ™”ﯯ..?þ|ónëh~y}EÓ7çç7çWïϧ3‘ë¥ßáÈ‚‹Ë¿œõñæÝO?½»™þ6ÿñì|ÞéÒ×Wp…Š|=ûå7>Y‚Ú?žq¦ÒÄLaÀ™HS9YŸi£˜ÑJ…™òìóÙ_»
{oÝÒ1ûi“0#µÌŒfJ 5neθ«Íb
'Å\vV–bÌÊüu—oŸ6õ¶m꺜í6ˬ͋ªÍ·Yyh)ñšôz&NÇ5"êÉ#eÊtbíP ùªhè"êM[ÔÑÝÜmS—y›³£×Ãc¦L"¿é~„dijôøýp0¬bV«ôø^´ŽÃ^ž+†[íýÀJÅb¡Uß"B°Ô‰&I9¼…›´2§Î"W¨«·±Z £àÌ( ’;ŽëéÌŠhÿet~hØSÍj0}JÚL¾Nã†ÄÔ£®{¸‰ï/×rò¡&=¥ÂƳþÎN)+{×z0kÀ&hîÄ_s>i©£l¹ÜæMƒ5›|Qüʹ̗ô¶¨èÙ»³‚í#H(Í,ØÝ›±þΣ§YSï¶SÉ£EXÖ—ÈÆL*Œ`æŽórìš ÀÝTê¶4¸ÛQ?øDœYµÄ - Ë
|ˆ¢AS/Ð߿࿼õ>zÌ?úWü:Ôü÷û‡`Ö -ý¯hêWó-9K…6/ø‡ŽS¦´±oé Z&•ºoë!ýO¸ˆÖ’ °¹HžSDÎʦI¡Z€‚ÊzÛmV5wâs—>OçÑØ€ñlXë3áaŠ'±go+î^J΀®Œ_qÜ=ú7ü:м½{qh„=]«D@K!¨ÚÃNEXc!ÃyôºÊ©ôO…‘» |Ûô°¶C§Œ™H|ÙH’²6Ze
ë|±Êª¢Yû1VWøÜ”™‹i@bQ¡lÝe‹b* f¶ÐÐÔNÇÔIá†i€IDY¬‹Ö¿ý!B‘}]ï*ÏXßùu¶¤SÚUÖŽÅÎÞ™h
/²ë |@åÍSÓæk¬~ -j%pDŽÔÛe¯+Ðnù’8ÂúÁyò']}s}Q»ç€ ¹A„Ö9åÑ*/7žtx†g^5»`V™ -om|šSC’înÕʳ¡,þÝcQ–D}Ý‹/ÎaÜò -M;ßç~“ŠÖ‚ŠY‰Nzõ½¨—w£=FåÚ@3ˆYfè0†â0¾Âó8%$kg°æ}ñW~Ê?³‘#!QÄûÄæ®ÿùYZôÔ†DÕ`œ\@±±³P¶t¢7TƒúÛb™Ó¨khtUPÝêtК6^Гš' ‹žJÃÈ+ô¿ŠPô·•3FªF —@MÞ7‚ã=n|(½¹Õ‡"Ð*B¦¢D[œ™H–H£ºraäP - -ö†n|¸ÜG±Þið•»|¸³Lü±ÙSoWÍÕÁ‰'ÑîÅÒú™“hêsGSÇ5Š¦bYŽ£ÉB(„á¤$׈(C4Aµ¯ dÙ£IthC4 DÇBÐèøÜ8ÙëûïhÖ¢C–è%Œ3:Ôö.{p .q +xÚµY_oÛHϧðÛÉÀzvþKÚ>uÛ´—ÅmÚ˦À»û KãD¨-¹–œlîpßýÈáH–\9i›D#‡Ãá?’²˜qø³Ä0®R=‹SÍf–oÎøìæÞž‰À³è˜C®Ÿ¯Ï~|£âYÊR+íìz5•0ž$bv]ü½úûË÷×çWó…4<²l¾0–G?_\¾&JJWï.ß\¼ýpõrëèúâÝ%‘¯Îßœ__¾:Ÿ/Db¬—A‰o.þqN£·W/ýõåÕüÏë_Îίû³Ï+¸Âƒ|:ûýO>+àØ¿œq¦ÒÄÌîá…3‘¦r¶9ÓF1£•ê(ë³ßÎþÙÌú¥Sö3*a&‘ñ„¥š2 I™U0…¼Xá€S8SfD‚ò‘c߸Å^ì‹íb[ïÚ&ð$ƒvBvêÝ„H!™q:”i¿BfÙ€Ýí«fëòòÎ¥+~˜ØÇZ¦«Ã²*Û¸bB¸R,Q6 \÷åzMâó[—Ä¡Ê‘Ú[GƒzëvY[V74ß<4ÛÐÔv7IT/p§P$܇2³…,5FúMîÊÂÁ!”2Q†ÝºÙe›‹seÕº¹ˆv«,wDikzzn×îJ˜vwÝämxu`fó·°IáVÙ~݆µÈ‡eô¶‚ò·½u‚£lM>4º†×³Ùç·AñÊŸO†*}%„‹¿ª˜ï²r-×nêšRÃLlÍÓ×ËD¯ ¶ +ØAAkcü—uë~š/´´Ñ&ûˆ~Åcpº|K‚kÂÀoØÐxhÍ~…¬Çyéªvý@ôuæE܉ä©Èïòý®læBˆüS':zISV;tµÀ\þÛus[Waﺢç]¶+ë} n³Å”!&xuƒ.¡E´Ü£O¨4ºGGP¨`h°Fµ‘LçÎëͶ#Ž2¬ÈëªÍÊŠ^²–&×.k¼°*Ñ4w…pÀñ@^–DM£zE³`0ÂŽí0 +†G±þNÂ6릦Q{[ŽÎGžJ#:CÐ +6© +Aà +¶—ÿ—#z UŒªº¥Äs}?Yó&pvžYÉm<:{E%Œß¯½÷ÝNô CtÛowåàœ÷1@TŒQ$SÑ‚ó!Àpíš0—¯h„E€Ï ÂW|þÀXñQcSFŒ=TÒüXI¨üª|½/+°’%j)(Æ•;Í`’ó ^b¹Úº¼uæ3šm\KSx§Hø´w»"y
ƒ +†šf´ú‹€ŠDûúÒZÙ`WÚa&¹Î +h‰2âC)©¡èÏŠbç{
ѨñоQ¡gŸqì(Ô”†,’¦ƒ”]#(=Ì%Ëݲ¡F`\©´>*iüvA*£‘²š+î{|YB—N£¯ßg¨N±:,1ÐBŽÒùõ«÷بëN7(X ÉÀãúmb‰Júžñð†Æ¬Ò!¾954WW>g%ôsR¼.H8Þ{E«Nè@’×÷Șá!˜ó¦JXü®î›)ÿqÄp16ÀÛ “:Û‚Èý >TÆÌ‚Z³a(</º0ŽMjÓÙâðÛÛ³c¼ÖZpÖï!+¶ÌÆà{_~ÒnÅ)Iáf’X?#¦eOÎÚ c¿?Œ%?#ÐFZAÙâ·Úש‚•ð\ úox8p¢hG”¢vßWð8 6¦‹;Oqmøš‡/XžJ%-íоôP/tå}SçññŸkC”žŠÁ%?Ïmþ/b,ÿš¬•xïŒÏþYýàò:f*Iät-¡¸e zºWôµÂ˜cËö¿¿®êÿÍÂENendstream endobj 1292 0 obj << /Type /Page @@ -5006,37 +5027,31 @@ endobj 1294 0 obj << /D [1292 0 R /XYZ 85.0394 794.5015 null] >> endobj -374 0 obj << -/D [1292 0 R /XYZ 85.0394 396.7631 null] ->> endobj -1046 0 obj << -/D [1292 0 R /XYZ 85.0394 373.1968 null] ->> endobj 1291 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F62 1035 0 R /F63 1038 0 R >> +/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R /F62 1035 0 R /F63 1038 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1298 0 obj << -/Length 3621 -/Filter /FlateDecode ->> -stream -xÚ]sÛ6òÝ¿Bo'ÏD(¾iâôܹ¦¹Ä›¹¶´DÙœH¤+RvÝ_»ØER”ìLo<câc,ö{P3 j–8á¼ö³Ô[‘H•Ì–Û9»ƒ¹.Ã,"ТõýÍÅwL:óÂ;íf7ëÞZ™Y¦f7«_çNhq +Èù»Ÿ?~¸þá—Ïo/S;¿¹þùãåB'rþáú_WÔúáóÛŸ~zûùr¡²DÍßýóí§›«Ï4åxï¯?¾§OŸ‹~¾úpõùê㻫Ëßo~¼¸ºéÎÒ?¯’òÇů¿ËÙ -Žýã…ÆgÉì :R(ïõl{a#kLÙ\|¹øw·`o6ütŠ~6ÉD¢›-Œì?Me%R¥ -ë“È°!›MýT¬h- ~oú‚õkZP岺cè–&òê™wåcQÑ\[ntiÂÔÄyOŸUMû’uKàlJ¶÷¼_<5Îé§4¶é;àÈ*ò®ª‰h=+sÌY„ô‰ùÖ* Í>kÙð\Wàar²x óíØÐÙhè’#CgÑЕlÔÖCŽt–~zz8.tF:lp˜§WEðjÈhìî" 4OP#…0HòmÖ/µi6"È)C¢´P‰ô/X’ÔS¡uvyÕ¬‹@źÞm®cƒ¢ø!„Qg‘è &°Æ(R¸Ôº!ÿ
a‚òI‡PCÝ%ºlÜò<ñ -[̔𣧚+ˆ;à$| ”Ö¼™òZ&™·Ño@à 8fY!¶J"(jÌ”^ˆLBI0[Ð|^oR)p2RP8aŽP‘¢Ši±ó`/;„Nðr,wJ$.;²±IÆ-
áÄÖ¡ìX“@MßUÓs18)g€f|h#þ/W˜8—QÈ”¬Ç&ÌPÔ“¡‘;É/‡5f´Å†&
( õþãÙM“ßñh
p”Í`½eÑ]’‘\ÑO"éin5u&
úøÛWJ†V%Ñž<ä˯Œ{ÞÐŽø{"Šqœ¬ÕC9Æ]«t„{Cƒ9ê¦)o7 -±WÍóôa‰I9Ô²Ê×J=ä Êx.y÷m}ˆKÓyôð²5¾ÁÌoCzÈñê*d,Ðjöõ®-Vìœ JÔȧ£V’É°É[pǸ€‘â?Ñ$g¡Iùìn´åŒÇdƒpĘΕÃ\&þd`ô¬Ø8ÌYáEBƒuõ”370ÅôbZÕ÷`+lÖ'1óŸfü”RL‘ßx!³N´:½Äp»¡o¾iõÒô¨&~øe1ê‚éŸÊeª›zÍCÿ¹L¡UýÔÐRUDôìÛöV§v¦ÎÛ—O¯_:}*d*Ó¾ÉûI‘¤þ›mªõJuØ=S¬pËñE
‡Þ•«UQqŸ¿9}xùƒA…ŸæMÌ/nŸ_„h°w=j„<N›E)”ë/ˆÛbÒÀÁG"±Fr¢2Ñ}¨ÓÁGÕ'n³(«£¨C‚oCvžÝ½ƒšØ~u(È,œy°@Ôì.—ÀNUkJÐñ[V·µ¯¨C5
lõ‚•Ð½?´BØ‚[†Ü]fó}UQf€ -jdÌÔC3ªUC¹ÌŒÂ®ä„0ĵ£>,,$Û×és‘™›Ð\¤q#%‰|‡M Q¾=ÆÍC)hîðËq> -d
ûB uZ:¨!á±ðvT°"õ -aT[=BpR!œ*„[†ì«‚žP!ÒœL¨Ô¼?%‡Ñª‡-ÉZÓ6Q è[ü¹„ ‡ù¿óŸ‹{ÐäRjÏäÓšk¥9ú›ø»A‰5˜ëIÇlivY½J…OI!˜¾ÌAã¼ö ÎHa„JaôdÕqUJgÂZ£ÎcÑAM 1L"°ùñà¦ì•† s¨ riHɃ9Ç—¨•ìËbèÞS`IJˆC·y${ƒßïØh²fzœ¬)VBü<ðáÊ6iÙmJÐÇȉZìÒÁB‡r¸ç#û¾PùƒPùB¥-è<R$FOÙláÓÔõ¼‚‘¯ò -@-ä†b1Ž,8¹,ÄNxÔàX™¥H²tàŸ¡¸l”žðŠªÀ8Ùõêà3tÊ>ëÊ-Á‘wÀòSJ¼CoKÅÞÐ;°é3'ˆ‰•i8ºMx-ÁÅ&½ðQÏ4E™ 8^ó7§éq -cÈñC*–žÖEKµ¦Œ4œg‡…®?uæ?ñœ^õj\#kDÃ\®Š‘c6¤Éà·ýzôù€°M@o¦®
©þž8®ÈñU,ôyítþËûO4‚ù›a©.Ô×ð.† ¼ë=
öŠàî°'ü8V!âz«g°Xå’æ÷+ÐÌÛ†C ï&&îš‚Ê5\çÓ]~ßP/0Lナ©
ÌoÉ9n6‹ÎšQô°Iâ}³gbi2xa{nåRk¾Bór©B± Úx͸[çKþÍoZÛå¦nS|‚ © -+õ¸ Œ; L±6Â+0×7+Æô.ùoªQà… Ðw¨|á¦ÐñÓ -0 -aCªÝéµèwÖâfüÅp©EÄn¡L"¬×ºŸCu¼ZϲTèüªò™ðB*$ÑÇYRÂoÓˆŸ/NÍoà¿ž½áÊä
‡ªÄŠLÊðæjöÇäÈúíÉA;œõ@ƒ0ðÝõVÏÞ×p¢YÿP¼ð¢¿r8(áèÑ‚±pNç Åq$”_ê
ZUªdAú¹‰PÔ¤ò<4 -†Ù”!†¾†‡]Ã;Ïqȇ@tx¤h[R=ÇωÂ(éí -S\Bú먬5õÆ ^_L¼h€ÕLˆðÒοŠ< +/Length 3388 +/Filter /FlateDecode +>> +stream +xÚÝZÝoã6Ï_á·Ê@ÍòCäã¶›í¥¸f{»>wm[‰…µ%×’7Mÿú›áeI–½Ûë"šr†œß|p(5“ð§fI*R§Ý,s±H¤Jf«Ýœ=Á»ooÓ,Ñ¢Oõõòæ«7&›9áRΖ½¹¬ÖªÙrýS” +-æ0ƒŒ¾y{ÿæîÛ¾{5Ïâhy÷ö~¾Ð‰ŒÞÜýý–Zß¾{õý÷¯ÞÍÊ&*úæo¯~XÞ¾£W)ÏñõÝýkêqô¸0é»Û7·ïnÿ²üîævÙ¥¿^%
.ä×›Ÿ~‘³5,û»)Œ³Éì~H¡œÓ³ÝMœ‘ÄÆ„žíÍû›töÞú¡Sû×Ñ€lÂÈD}[¥…sI<ÍV‚2”HS_ž‹ÆI˜‹›aÄpª“zS—‰Äœ´«ÍL)á’D£zS-L¦ÒY–$ ò”Ô{ì)HÒX!¡’0‹Á=ÅÛù"UÑþëèL0§Ìt’)aFγ_gJÈØ9C4½¶_éi|ÇWw;={]Ãzf½%…y½‰ý’RÝ,àˆ;4lšzyß`(³Q¾mjZ]jzƒb«ÜÓêÚC^5s%£â0×2Z4õÑ7Ví3Ì@ý1ð¡±yµž˜_9al˜¾ªÛòñåú¤°V'Ak4BŒ·8NÐÖÙYO»/ˆÌÄ¥ +6í<ŒJE~CJý»® +r˹R*ò +*M¨a:é
2ŽUæ'"çbÒ4Úä
5vÅj“We³ãßeEÏý6]øf[ã3‹óU9WѶló¶ ®ß½(ž¨“ÂÿDÍûFS´ÔØ–»²å·53i7<:ßÕÇŠ ëGPçkâÒnò‡Ëé̵ƒ¦ç‰»Á"càÓ3ÀFóÒ´Å|¬ /Cïc½ÝÖÏeõÄ£ömYW<[¾ßo_x–šž¿wßq>c¢Xd:KÀýÊŒìò<Ü0Ñ¢Ou•·)0ÚY͘·’à·b0÷«Ì;ª î3/wÆýuñ³”º*P‘<>²èi[?ä[êÚ–MK-¯Hx{÷¯×‡¹²QÑ44>cUù® VS>Š4+žÆÒHþ~Ë4EÅ÷o—woþEípÈŸ +o` +Î
Ûsãv‘.oOQjèÖÅc~Ü2AÙŒ‚c±Û·êX\hý,YqàþÛ¸nŒ«œ<[ôêr4”CRk?
{TW¢a ½Úå¿-B0Fõ.ÚrW,Êê,4&²Ûër0Í„¸ª“T™¡wÕd0è¾m¢´úY‘5à¤mt¬*Ÿpàëm]=ù„¤†…–*ÐÚåÕÜ•Õ±-¸›„‡À§8ìÊ*3 +$|LU`{ëÏB…Ò’X4hjn UoHÛÃé@åóí±Î¬-³Í_z³ÆÒŒ8^ER‰±µtÀ¼Œ¤>Õe$uT“H*×ÛI$Å™°C]—¤£šeˆ&-2§ìP–šT‡&5D“Bt| $A-Ÿ{/{ý|õú|BuÈR²T‚›I=ƒ~3¸ƒKÀ¥ Æiýß‚+½„-uÂÖÿZp0Í$Õ®@«GuZ겓ªí¹—J…RN]¥£še€-€“¡0o-ƒ³Žâ˜•öSð³ïªð÷@ÂÞÊS{oEK¦|«So/áQØpHPN$Rº¿¨·2Y&g«êS]†TGuÙ[MB +’åØ}B”ŽjB–¡»²Â9æ)#¤Œ”%ÕÉ_AÛû+xNø+èý•Ø¢±Þ_IÂÖ1ÄoØ_I‚—Å[ +À•ÏÖ‹C™o¿‹ÃË‟1°îçu˜f‚ÿ +ÑHÝÒŠ¼ÐàZ¾Ã/,³$Ü)À{GuMü¬¯sxrv(ží†ù…Uãûz²ö7ˆ¬ž7àÌ7xGŽ§ªæTâäk&ê9T뺲Òç¨VITËîç®Âš&ù=ME¾»å%eìîbtwàë¨J;8Ye£D¸+Ñœ–‹W+T‰ò&d1T£_ÓÏcÓ]p\ØÌB.g“?æ³8³£
¹àNà¨K“Ÿ(þô©.»“Žªÿã³½Çú°ËÏÓ_À@c®ÑQMH1ÌT¤H³8ŠA÷qÊ%ý„®0 `ãß“®°ÅJñƒžkj¬!û€•ð‚:RZXóåTì2™°.ÑäX€ +®+C²ƒ•Ò!Š—Ó°sà/;.èrŒ;%’ÔžùØÄrXË|B=á
Û=¥„IÖ%Kž ¦çºðÓŠÉÉ8=5ËCŒø º\Óõ߸L®P)¶§ÞiêÉø‚ゾ )ÖøýMC¢ñËB +B½¾O=\¦^Ÿ `/»Áš®xü]n×®‰hHØzz·žZ“ûùãÏD†±ê*àû|õe÷—ÎÀџ樎ß1˜xtq.»VÙøŠ‹:s~îë¦)¶L +XÍïéÁ{$&q¨…µêsQo…TÝ%HÉÜwõ);Í¢ÂÛ±/’—|¤Môà(ª+nVsÜïë^ÿQ,H% (Q£k:`§mÞB8ÞúC1&úÏô’ϾI§¼Ñ1Ÿ;°ß+A†4{œ§éB9¼³â7&¦*¤ì½‹… uÖÕsÞ»p„CÆ´©çÀWĶ¿Å¬z㦌bjûÒvÐêìRòžÔ|9¬¥éíªû‡O†Q—R_®¨ÑÔÜõã<I +šÇ}ï²;ú>T+îôÊÀìš¡é?¡@§”>,øàKaÈùðŽetÇnÍ×Ù¦ÊÓr‹Ñ.};5ù%Ô¶^…«ÜðQÔ…/HM"ð“Î øÊnÿÿô×¥§ãâLk/|Œ¤áŒ[˜„…Â-IÒs£—h.zBôÿ +endstream endobj 1297 0 obj << /Type /Page @@ -5048,37 +5063,36 @@ endobj 1299 0 obj << /D [1297 0 R /XYZ 56.6929 794.5015 null] >> endobj +374 0 obj << +/D [1297 0 R /XYZ 56.6929 676.1712 null] +>> endobj +1046 0 obj << +/D [1297 0 R /XYZ 56.6929 654.351 null] +>> endobj 1296 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F62 1035 0 R >> +/Font << /F37 779 0 R /F23 714 0 R /F62 1035 0 R /F63 1038 0 R /F21 690 0 R /F41 910 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1302 0 obj << -/Length 3122 -/Filter /FlateDecode ->> -stream -xÚÅZÝsÛF÷_¡·Ò3»ß$ÓÔɹÓ&9G}¸iû@K´Í‰D*"eÕýëX`ù!Qv:éÍMfÂå.`±ÀÀZr&àŸœ¥6:3³$3±ÒΖ›1»‡µw’iæh>¤úaqñý[̲8sÊÍw^i,ÒTΫߢ7ÿzýqqus9WVD.¾œ['¢®ßÿH3=Þ|xÿöúݯ7¯/-®?¼§é›«·W7Wïß\]Îej%|¯˜Ã™Þ^ÿ|E£w7¯ùåõÍå‹Ÿ.®Ý^†û•BãF¾\üö‡˜`Û?]ˆXg©àEÄ2ËÔlsa¬ŽÑ:̬/>]ü»c8XõŸNÙϨ4vÚ%0Jc%ÇWˆÕ©·b:-VÀ©èØçEß àÅÃðŘÕ\ -8Cãfsç虚îx•žIgÖ*<_)mì”If‰Ö±À98ß÷haO™ÅÖé Elµ2À)>\Ό𿊮ŽÏyjeÓ™ƒíf2Eѳ/3“ešˆc¿×Þ~âûëšýXÃŽfÃMÆóg¿)§>+-ì/é, Pe™Wùúîr®…ˆž.•ˆê=½¬j|ʨª[š8”ÍÚ‡‚ùº-vè€Q•·<×î.%¬TÍÝ¥.#—¦Þï–¢¦ç-¿ï›bõ -‡n¬AóPï×+-YÞéÁvnŒ‚ÍA¥y»óâ¥ç( 1ÙDªXY›ðùåÛí®Þ‚ÚÒF%ìjýt ÀŽV8@eÕ—2ÚÓBPÇÞX8XÛ¢âÉý¶®P.*Ë¢æŸÄû¢mËê오QΪAóx~î6_â&>ÓZÑ?ñ0pð»j×´ô²+îvž¾|ÙÓ1 ê`ËøØ+M–`ÀêÙ0"¾-Èt -,3@œyßs•Å¸8W&ÖV»iè©:b§ûЖÈÝQùsïŒ%Srše1t'AœJØ››
…œhˆ&Tz°L]ì’Duy]áÁq|Qhák§žóN
Š.ýªŒÊ;¦z`òºâÁºlÚbEã²bD‰4–àœçÍp¤}jb#Møì./×
+¾*Æ -òy¯P=ãxŠìÕ–wOç¼Í@l8eŸßQ½ _ZÀm£Ó8²§Zë$ÛsU€KnÊ -NÊ¥¯+l´®—ùšf‡à†KùjE~×4X*È”ò1’ÖÛ¶¬«|‰ßýñ#}³w-Ê53¾-8£'XH\#ßÃRè¥W|6>C5½ÿ°¸~ûšÝ€ù}Ñ@˜8§£…÷z\èÉ”{LÉ~i»-ò…=Oª¤PÌ:Ãb÷ˆ! -•þwÍ„k—ÅRuõæ&pßMù±Nc«t@ç¿00ÜBn6ö(ì–ë|¥µñ@€O¯¦Ö`ë =@
ã¤eÓz]æä -ºØ,†,bŠdùÞF㸦¤ÚU˯EËh¦‰`6P+g.â+Üð2
É*ì1÷ž4w.^²g–9—n`¬œõ¸â¼åÚ«†Û•«UQñ;”‡Õ¨ ÛrRø‹³2£í`1g(ô¢Xó=ѳ¬–ëýjP%N$ñ0Ò÷õæ™'20=ò?” -¦U:Ô<¯~|VÁ”à“}¡êŸœ;ý8Ô¡“©Ú1íõG0
±ê,G&€Z:+«Ñ€žB U»E<(c¥PØæ+âç«'|„ê‰F?CûØ÷V6¶™¢(Ìër54óýj;Çjkª -ÉÀºKÒÓ¡„êÀÉ`[f뾂m—¾°ñÆˤϸu½4QßÑXÍ0 BO9š¢Ã€$úÕö!gT@✜ -•$8öÉT%©R8!ßɨy‚Bmæšò¾" -9îäa5h -n -':•þG’|o0Œÿn÷Àï>/«©À“ŸqÀ€²3çkGàò)8'þ¢¹Ž¢SNFà,üvÔqÿâ§öf4ô±¨2h[ª'¦¢aÌP6º˜€i¬Âýà–¹¬Q©b…®!tô ÚFïM°ò˜¯÷á³þª_°A!ªšÎ‚+txað@[L¸Á±J(R‘>‹ÞÖ|Ë]ü™o¶ëâÕÄAÿ mWuÉwSpFi6¿i”uË2¹9…QYÉr~‹N]t@BK²pc"E¢#Se¦z3§Jdáò¯&¶¤âK>Ø5mµ¾cékw_Þç·Om1™ƒ ó†æK¨£ûúŠÏqB)“ĉìî -éÀë â´|K¯MIVs[3^0Øä–›ý†^òǼ\ç·k^Ë7õ¾j§TVû‘îˆï–¦ºlõijûKÍæH>ærr&+Cièú(‹ üwX%Ðmûœdä¡`h󇇄Ø.Š£VE³Ü•Û¾1šô!X€F¡ë¶šò¯“ë%(ã4IÕLBͧ”I¿¦ÂTh°sõeÇq>dyZ=jÅ49U(¦ºF
†
åY|´(& kJF» ÅÝ=727ƒò²£ŸÐqä'|}ïR,{Ã;hZŽû -ÐóÇ2 :*È«•·ùô¡@ØC…ð¬ØŽèTîøHð²BÚ‘`²$ôHý‰`Óå“í¸%C™´ØÔ;îàÚð}ž¯ÒձѪ—ÓŸX&§Oïo¡úû'‚ÂÏs€Š“ÔU4~/ -vïb+zA -Cûðì÷e·T(£LÃ
O -‰ÑGP¸´€3[¨a©UµÔàÂÿŠÒò'CÞ%Ë.þ\ú»+¯O'ƒö5õÛ!mcüÁÏ„ˆîþñ›WÔÿè - -?¦êLFõ”µ¬ÚÜ&Çš[üËGª’ Õÿ…ˆMnendstream +/Length 3120 +/Filter /FlateDecode +>> +stream +xÚÅZKsã6¾ûWè¶TÕˆÁàq2ñdÚ™8‡Ý$J¢lV$RI;ίßn4@“%{j²µå*&Ðh|ý¤øŒÁŸ92™©™ÍTª×³ÕîŠÍî`îû+h‘h1¤úööê›÷Òβ43ÂÌn7ƒµ\Êœã³ÛõÏÉ»¿¿ýt{ýy¾š%&/´aÉ·7¾£‘Œï>~xóýOŸßÎJno>~ áÏ×ï¯?_xw=_p§9¼/ +g^xókj}ÿùí?ÿùöóü×Û®®oû³Ï˙ăü~õó¯l¶†cÿpÅR™9={„Ky–‰ÙîJi™j%eÙ^ýxõ¯~ÁÁ¬uJ~J»Tef ¶ +„6)e–2
R[XÅR«ë¥,ø””#J¹=äU³)Í¢îÚã3s%S®˜›
>Ù¾§šØ_öçÊ¥\1fàö¾˜/Ï’]þG¹ëvÔ©ºÝ²8@[°¤ÞÐ0¸¬»jM½?ë*¼ØÈÛû¼¥‰U^Qc(s—tUUVwDºª«Uw8̹KŠªÝ>Í9çIŠR˜-$0k€ãñ4Óš0ù¿)¢$nJ=Zâ÷®hÚ†FÊŠžÅ«¢ cxÿî}Xd[îÊ–šåvKe1\sÓ5Å +9#QáÔºØäÝ6¼ùo»0^6Èû7ïÕðÚ%@‡e\Àeá8#šñÕø3F’ôû`&³if%¿ŒÂ!ÕyöTcîîEÕœ€Q›ÔºÌ\梧š`ctbÃSkY6æƒ$¢îÁˆFÁ2ºCŽ÷°ˆÂ"¶Xô]E|Ïc‡–ò{£÷ˆQCÍS'Tq(<Ÿÿ^üe,ÉéqW>5iÙ]ÝÔ¯ò]h5Åáζ/EÈ‘³!¨²gPeg@%”Já6 FL`JƒXé!µP’%7ÕŠXË›pÀ#th‚´²ðÖ9XídUj¤‹¼ìò§pÔ}Q¬£2³T;{$ÅnzÅI%x'´Ñ]Q +šÅÇÉf›?„!¼ïæ
´…M–`6ý`Ù]¾mjñœàPù|ìb´%O¶u¾&¢º:âfx‰8A—èY\â©ÙØf½Vˆ:Õôr D鄇«t2©”ë5"ÇëðÌi:.8£Wá’›Ð|"²Î_»ÂcžòHOµ4ò +¨IÈR‚¾0«ÐYÞM)Ž•Q!MRnˆâ. + +¨AÈÊÎT:žy}HQ4p)¢¨?Î!öHná¿H®OD‹Jð|3¥LÊDí°ùì÷ Ie>àc£¶?í³üÀ77;1û®†3͆NJ+/†Kûs#8¢cÀ‰si=Ó?Ö[4¬ ^yL–ˆT§œšÞb£4ÛÒÇÁ0²®‹@ÞÎ7šn¿GõT€ž0R´-itÈ^ã(©í +²_ƒñöð¢¿;‰¥&cr¶x.l}²!›Kqrªèà”ç#k¸XÆS°(âr`ÝS1d‹s‚J2°Úp‡ÓØ:RM02*?€]´JqÒxÊס•O¹gmR.2þE†\´s*&Éož«SûPGúó¤¶ÊVÕ…9p&àÖvⱘÐaâTs6+’àÎÌå¬hHuþòz* +MÚÅk2#<>àã"‘h‚ñÝã–`|FŒ¼Ewl-2TªÜGXÖê„89Œí±q>Iáœ\4ŒlKiתšÊ”9¨™±îK½±‘ñ•M^n›Àtµžr³ +û?p’Ã¥/8IçÜ’`b'KžÐëÔuÖXc<ø?†™=&“Ø"äCÃë
"! ʃ“ +SL%HÝ0´ñ»d>MD6±í……u±/ª0Øíë*Ö4ÂV#¼‹a +*dp ÃMNÝR š`eä–ÆcVŽyA·$,º%ì>_AoTr²œÒk3hPh`Yï–°=í–ƒ>>/†#î‚4H‰±kòŒO»&°”–Ùk"P`“°j¬‚„c6Àö±¾¨|É5Å …[Àc/Ô{‡TçQÔSZ ËÑ
^½«¿ÈLO5ÁÍHàM93fç'¬®ƒ© pÙRÎ
!岤š®Ã˜5ÿåIS
f0oÂ’}¨ ãƒZͶTÊqnX
ÄñzªÌZc´Gf½ª§¾~*ô_±P +¶T}×W±5]bä +¢ç¬/\¾†`2Ý°ð‹kûÂ/6ú/ÆZ…/®òË0”–c[µÁØ°ðëûX)Exã +¯§9Œg¨*, Õµ_>ÑsPû¥E'Ü:¸®•y½8XÆN>šÒú}}7$¾SŸh¥…LIó1Š^U }E¡÷U㿪ÐÛW-tŠ?öš°¬O¿ú7eÏ?¸S6…øLõ Ò#ˆ’
Láyµ=æ\£ŽC05Áúþ%ØÞendstream endobj 1301 0 obj << /Type /Page @@ -5086,138 +5100,143 @@ endobj /Resources 1300 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1295 0 R -/Annots [ 1306 0 R ] ->> endobj -1306 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [389.4645 176.4191 438.2112 188.4788] -/Subtype /Link -/A << /S /GoTo /D (configuration_file_elements) >> >> endobj 1303 0 obj << /D [1301 0 R /XYZ 85.0394 794.5015 null] >> endobj -378 0 obj << -/D [1301 0 R /XYZ 85.0394 353.3082 null] ->> endobj -1304 0 obj << -/D [1301 0 R /XYZ 85.0394 330.3459 null] ->> endobj -382 0 obj << -/D [1301 0 R /XYZ 85.0394 257.2494 null] ->> endobj -1305 0 obj << -/D [1301 0 R /XYZ 85.0394 231.8163 null] ->> endobj 1300 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F62 1035 0 R /F63 1038 0 R /F21 690 0 R /F41 910 0 R >> +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F62 1035 0 R /F63 1038 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1309 0 obj << -/Length 3053 +1306 0 obj << +/Length 3230 /Filter /FlateDecode >> stream -xÚË’Û¸ñ>_¡[8UC|€•“íofkíuÆJrØì¢ ‹1EjErÆÚ¯O7ºÁ‡Di²IjjŠFhôM‰E -rɉÆÇg²ã¬v!©íûUg†0N{ø¦M{WÝ)ŽB?UW+.ö§1Õu‡ê©\")¾mí©—eýe9ç]BBxà7Ùè©fø˜x˜T~$Àp'Œ¬¨6ÊäPe\!nÝÔ¥iÍŸï—QÙ¢c<óÜZ«4UžþRqÆ3¨^Pi4Šy½?€:ÖEY´}M!ꮸ Â{XÖŽ5ϼ^º”¾ÂqºþøXÒÕ„|÷˜kNΟšmü¡ÔlRۮʹ$¶–ž£+ÃU[Š²ÌO£ì[S]·¥žêÚ)ÏÍ(ˆ_aÀÍ0pnD¤)Ÿ‘>úx*""; -¤Fq|[º=Õ+\\®Få˜ÜMUàýcg˜ŠÈW$H•d( “ÆÙ´ÖÖ‡ƒõÍËX4ôÔ@ -ë$còžcð 5Oë®÷rÿgâ>Å–}ýl6¿?‹ Å0˜ýÿj®(‚;B¿Rt©n8¶£ÂwuÓ.¡²i‹¤Ñ,Á«.|;‚ò7MÔm&zª.&ÞÅ0EÄGÔ_¢\KRO¡I¤áÈ\"!0lɨ -åT˜Mº´•½uá^tŸF:7bÖ<Þ˜œäª©?†‡bQ„ ÜŠyæäDgcíŽí‘ãùø2H…åo—
0·½}LuÝÛ{*«©üpÕÏ!ѧ”µ77ï©fvŸ^ž•Ÿ¨4žn¿rÖÁÏaÐû9ÀÖ±©:õsÀôÆðêÝ'FÖUeúÌžõÀ¡«›NººCØ. ->ë2ÅÎýEëö?MàIèÇ*Š_ž1C‘úÜ,_ËÜa -¾€äþ+~ÚžhxŸÈhž(ÕÊþÖ ÙÕÜ~©»rCàÐ5á
û,¶awMñGÉ™I¸æþÐÙ³ËôˆHêf×{; -vsQŽô…Ð ‚Š@ÍKõî+c¨ŠêÃÎ614µÃi¯Êª¦)ÆrSÓîŠó{/K«ñ˜?¸âSxefŸ²<³hܲ§)3³?‹øŒ]ší©ÿæÁµ‘ý2´²ÛóOz§™¶ª9»÷vÊkTW>µqˆ(¼ÌƒÅÚïîþµ_Ë@z߸Ìxüóqþç_Ò?3ŠRB}8ïÂaªðó²tL¡cu¸ø'7—¬ÿ™ãA?endstream +xÚ¥ZÝsÛF÷_¡·“g*v¿¹{yJ'—Nëä÷©×J¢mN$R)»êÍýï,vù%ÊN&íL¸\bìøX™ÏüÏgÚ$Æ 7KJ4ãz¶Ú^°Ù=|{ÁÍ"-úT?Ý^üøN¦3—8#Ììö®ÇË&ÌZ>»]ÿ>7‰H.›¿ùxýîÃûßn^_¦j~ûáãõåBh6÷á—+½¿yý믯o.Üj>ó¯×Ÿn¯nè“ <~úpý–f=Î0½¹zwusuýæêòÛŸ/®nÛ½ô÷Ë™Äüyñûl¶†mÿ|Á鬞=ÁK¸sb¶½PZ&ZIg6Ÿ/þÝ2ì}õK§ÎO ›iÒÙBÂqõ5R¥õ‡h§¥2°ì$…ƒ?Ë‹Ö1à†qÅÕÂòD;§gƒ#£\k]!gœ'Nkæµi"Rl”NK…7ï5°§t¸–#!g‰–Bw¤øx¹0|~ÿŠù‰9¬I˜b–2–ØTr=ûsƦœ“DÔû½vgà'~ü°³·ìhÖßT`¼èsö›2¢ç²\H°Œ’³”‹ÄJë¼ÊŸ«M¶7Ôó¢¾›¹¹HtÂi˜•käfSä{šYWy /«†õa·«à³bó8“7MQÞÓKó‡Ùê°_…q¶^ïó:pº»”lààÐê=@ÍÛ7ŸÀÛS‹W—‚Í¿à?yS_‚RÉø¤•q‰°ÎÎúVþ>Ç‘àÆA-:ßÿ>·^—X›Ò•8®Òi8âIʹ‡…hš§Ãò 8j©ðÌÀ0ÅÝqAǽx4ãcâÜE«YŸõ‰‘hBÙw.©Á§´jðKñ%AÓ×VÀ¦3Ù©š½‹ÔÎVÈHýÞòÐÐ ÛíÀ)kzi*zKoÁ½²ûHQçe3¤ýð N†X/^r;‡yLè½à†Ãæ¤ñà¦ÒÔµ°ÏMb!BcóßÞ~"~Ÿª}õKQƒ«·°”Zz¨Á0jqXï:D3Ú~š&Ê@°Æퟪ¥k¬ÙcU¬_â άW_ËÓki¾IË…ÖWj¤ïóÜKRÇLXRïò™WšyF
œ0Žô¼º£°«òG¶Ò‰sLED¡dí±M@¸`9˜"=ü°yÈ=›
Ñ-sšs <öðé±IºOY`„þ޵ʉ¢'ã..oˆN¥€drþ9ÏO0NÉ$E¬×€qŠQ\ÒÇý}È7ý¼éý§|Ê×g‰|ÕUIÊ?Á
ÉN^Tš@´@õ‚"Ò4€¹RÆÑ–Uü‡ê)2æ¿Y±É–›ð¿P\ÓË:oòý¶(ó5ž.‡ªÌ?|Éÿʶ»M æ©hFîªÍ¦zò
_WUùÆÄýaŸùÓñŽ«ú¾áŽøé`g“´0 +Z¥È +,u©þf£ ‚|xµÌ;HRkF5ß‹†Ž±þ]WÀÐã><»}©ÞÆ5ÕÉ(úÖw4£¿J—pfw GUª*| +x_±Éë±ÐŠ~†š?#4Òœ +]e)+Í@h¨gÓ~+˜ÎËÃvIåe~ endobj -1308 0 obj << +1305 0 obj << /Type /Page -/Contents 1309 0 R -/Resources 1307 0 R +/Contents 1306 0 R +/Resources 1304 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1295 0 R -/Annots [ 1312 0 R ] +/Annots [ 1309 0 R 1311 0 R ] >> endobj -1312 0 obj << +1309 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [347.1258 495.9439 404.2417 508.0035] +/Rect [442.7768 577.5961 511.2325 589.6557] /Subtype /Link -/A << /S /GoTo /D (journal) >> +/A << /S /GoTo /D (query_address) >> >> endobj -1310 0 obj << -/D [1308 0 R /XYZ 56.6929 794.5015 null] +1311 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.118 302.4726 409.8647 314.5322] +/Subtype /Link +/A << /S /GoTo /D (configuration_file_elements) >> >> endobj -386 0 obj << -/D [1308 0 R /XYZ 56.6929 628.8449 null] +1307 0 obj << +/D [1305 0 R /XYZ 56.6929 794.5015 null] >> endobj -1311 0 obj << -/D [1308 0 R /XYZ 56.6929 604.7769 null] +378 0 obj << +/D [1305 0 R /XYZ 56.6929 635.9015 null] >> endobj -390 0 obj << -/D [1308 0 R /XYZ 56.6929 170.7642 null] +1308 0 obj << +/D [1305 0 R /XYZ 56.6929 612.1148 null] >> endobj -1313 0 obj << -/D [1308 0 R /XYZ 56.6929 144.0462 null] +382 0 obj << +/D [1305 0 R /XYZ 56.6929 384.6884 null] >> endobj -1307 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R >> +1310 0 obj << +/D [1305 0 R /XYZ 56.6929 358.431 null] +>> endobj +1304 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F62 1035 0 R /F21 690 0 R /F41 910 0 R >> +/XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1316 0 obj << -/Length 2504 +1314 0 obj << +/Length 3180 /Filter /FlateDecode >> stream -xÚY_sÛ8ϧн)3µÊ¿’8}ÊvÓ^vnÓ»\îiw›¶5•¥ÔRšfwî»@2e+ioÚé¤$AÈ@@æ ƒ<)uƤQIaT¦×ÉrwÆ’
̽?ãžg˜1×O·g¯ßÉ"1™ÉEžÜ®#YeÆÊ’'·«ßÒ·¿øçíåÍùBh–æÙùBç,ýéêúg¢jÞ~¸~wõþ?7ç…Jo¯>\ùæòÝåÍåõÛËó/5‡õÂKxfÁ»«\RïýÍů¿^ÜœÿqûËÙåíhKl/g
ùtöÛ,YÙ¿œ±LšR'0`7F$»3¥e¦•”Òœýûì_£ÀhÖ-;?¥ËL•'©²2³§Ì2¦áÔ…6Y.…OYð¹S\xÊ[[í‡;[
‹ºìþsÕÎó<“¥,“Xú‰#׌2R‚<“¹æS-n·ö|¡X™ö ‚Ýc¿Hë¦!ê½Ý¯»ýŽÈvgÞU¨s[µKKSCÕìiø‰V!¸®'Ú®Ú´+"W=|tTR™„[ÛP½U]5÷ž/¶f<Y¡KÀ3£µpü[ÛZg‡,ÊtØÖ=öL:±£Û/÷õþœC§læFÓ1àÔÊ®«‡f AX3ïêöa×ÜتïÚê®ñKAüƒí©_‘xZ:µœÈ«ê
K'&üÎÀ]•‚-E¡Ã–@ä°,RÕMU_êÝÃ9mNtÔI¢¤1ìã)(Z1)ž‘§Wkbìí@,¨2Ø+hK‘¶Ñ -8Cab
Ňtîak{K]ìÒ°×-—{ŒÙ‰ÿ{'Ë
ËòRÉ—=1æzÞG.ÔÑc]-íž(³œ«—UL3*Lü0‡Èb´œê@·ªÍè‡"?œP—UK½!0¶vxìö‰s4暺¨‡Îð4ãgB2ˆ&÷~6Gš—<ã:xæÁ¤,úxû -²®oHÂÑß ¦(ç“pˆ?æ,×ÏË¢udùnX1µÚ-”áY¡„Š!8Þ - ‚ë,ªH´¼Ì ƒt®¸ã„×Q‚‚ÁHøxzÿ‹ôòäh@¨ð.j¦3S*gOò) )c$qE}gíááõÕN$?w`S›$/bÑή\Ä@ ˜’|QÀ‰;³:—ÕéÓ¹`©õƒzwßØXyBK¯ï gNn_™*†\&ñù~ß•A&›A$“Å¡û>@MQ •4/‡C¥ nÒ¦p‡…U*Ï3.àÕgð¦Þº°ÜÝwàO3aÐ+°ŠRnõ…«tp¼RXýpµG»é‰|gÝCdûé¡jÀ+”Æ” ³%α -ârÛu½õ"*jZ/qöÀÉ»#
Ÿì'"é±ÝE«…O¢k¢8y3é -x€²’ëoúj!À‹_D·“¸ˆEžÂ›s‘)7²¹‡¬–Û% Lü@%ƒÄ¯)© TÊ
Ÿ*éàyz—¼È -)x¸Ö%†¥Z‘CïiC˜Ã6GÜã°¿·ËÚÿ08ä\]ðô²‚ƒq -ÊYÑ£¥«MÆŒ[°ÀÂÉ3÷GDëÖý\‘ï\X–~ˆ•÷Ñ0Ò ÉÏ•£9‹ø·ÝÞÕ8)‘éÒŒ‘˜Ö¶ÄRû]<*¢m||tà¢uzAôÃÑw°è>Ç”X0ÍEÄè¾Å¸M”Í!5¾+…àÉŠ©bë0{ó‡;1Þ^ÊÝpìtŃSA«ÕÊÈòÜÞ˜ò@2„ÍHs•ì¶ÆsˆÓÐõÞ3_Æ´¡(z -)eãPQÏú¸Œ -ØzN`,Ì‹ðùí»ðÉ~©0yEQBñ£™Ã^ˆéÛ +xÚ¥Z_sã¸
ϧð[™³*’úCMŸö¶Ùknn÷¶Ù´}¸Þ-Ó±º²ä³ädsŸ¾ +÷¡ìÐÞ +qÀ•]›CÝ3>98&C‰8»B˜?4.àÁzϽ„zÈmK^„6X”i~ÚC©ËÐR8ã¦íúE×ÃVt°ÝPuŽî"RÉëJ© -FèÎ1KJ²±÷x~™ön.ËçM"—séH„Žˆà +”ëÎÎRÁ\B^yU… 5¡ÃØ['QÅX‰ +ŒÖšê(ÎS1Ö€îü‰fâpïÞ¶<VìpÐGBˆëw€žsxHpÂî+ +b¯Ìd´Ã‘$1–2S?%—Ú]î@åêtpÎ3_<A¾ƒ°¤¦6ÌÃ:‰•¼0væÒ)t¯®(â=0bW’7à“)`ÏÐ&PNÙ±c(²=ŒKpmYÞ@¢ÙOUC©+HôR®&‹Æ±†lé +U”‰äº +^hB…qÖQZ¤j¬_BŠÁð¸;À-é͸ð
¢‡í_ÚýW’K >̺‰ºÛ¤Š!¬¾†6½çÁ
nõg±M
FUG*ÍN`P%ŠÌÙ'þ"ªð÷8’„Òm„–‡DjƒÃÏѼñ—Ì©yÆeóƱѼ±Ç™7hÞ8¼3opO.ž†ÄÜxÙ&ÊǷ߶Á@)oÆŽùâêHÑ™i÷·x¹x:àk¿QÅñuvá·n
ߥž¿[»ËÈh$ÔïÎq<àyÓÁɃnKûTñL|+œÂ)o•ri¸mÐ{‡R Å`Rh¢±/5“«ª+Ûg{|[^°§ŽÚx4ü¾÷\H*AÍyŒ£¿Äþ9ˆiùz,O„!EÓ¾ìÆðãˆáeG?9´–ïø¡½Y:©®ow¾š‹3…äåøô~\7ÿGï3ÿ0ñD¾gx1—jÀþbŸFøG=îþó*þï¿:þaUÁWë7}g‘†‹žW +w/-N5dt®ú@eŠßendstream endobj -1315 0 obj << +1313 0 obj << /Type /Page -/Contents 1316 0 R -/Resources 1314 0 R +/Contents 1314 0 R +/Resources 1312 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1295 0 R +/Annots [ 1317 0 R ] >> endobj 1317 0 obj << -/D [1315 0 R /XYZ 85.0394 794.5015 null] +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.4723 642.7661 432.5882 654.8258] +/Subtype /Link +/A << /S /GoTo /D (journal) >> >> endobj -394 0 obj << -/D [1315 0 R /XYZ 85.0394 463.6862 null] +1315 0 obj << +/D [1313 0 R /XYZ 85.0394 794.5015 null] +>> endobj +386 0 obj << +/D [1313 0 R /XYZ 85.0394 769.5949 null] +>> endobj +1316 0 obj << +/D [1313 0 R /XYZ 85.0394 751.8451 null] +>> endobj +390 0 obj << +/D [1313 0 R /XYZ 85.0394 316.9844 null] >> endobj 1318 0 obj << -/D [1315 0 R /XYZ 85.0394 435.2029 null] +/D [1313 0 R /XYZ 85.0394 290.1459 null] >> endobj -1314 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F62 1035 0 R /F41 910 0 R /F63 1038 0 R >> -/XObject << /Im2 1024 0 R >> +1312 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1321 0 obj << -/Length 3047 -/Filter /FlateDecode ->> -stream -xÚµ]sÜ6îÝ¿bßNžÉ*â—DMŸÒÔIÜiÝÖñÍ=´}we[䬴q2ûï –Òjc_ŽÇCAñ¥‹þĤqšË|‘å:6‰0‹Õæ$YÜÂÜÛÁ8K´±¾¿:yùFe‹<ÎS™.®nZ6N¬‹«õïQËø($Ñë_.Þœ¿ý÷å«ÓLGWç¿\œ.¥I¢7ç?ôöòÕÏ?¿º<] -kDôúÝ«_¯Î.i*eߟ_ü@#95Gˆ^ž½9»<»x}vúçÕ'gWÃYÂóŠDáA>žüþg²Xñ<Ib•[³x€N‹<—‹Í‰6*6Z)?RŸ¼?ùm ̺¥³òI,U*g(Åœ -n뎦@¥èi¾êÜPí:zV¸¦ùÂÀzͬv%Ósò…–ø -¶£¡•{F -¼,ÚUgN±s]Öí{¦î®ø€GÇ™¢™ã@ÙØæ`´ˆ2ŠÄ:gž¤’r‘ª˜Ìž‹È8·ÖÎG"Ëâ2$yfHkc #r¹)úÕÝ”G†U[m¿ÅGxTp:Sé˜É#7)²X¥Jxy7kºœªOÊ–©ç«zºC07
lZo°×Ý—« -µyå=Ù]gÑÊŽ5,+>©Tñ¶¨:Ϙ©¾½oëööË÷ZÅàWæ\-Ð^·î•¥Òiä¡ÛM b´ C®>ÉÌ£n—ñ—á‚9·;¥;v»À˜w»òP¯%Ü„¸á3n—±ãä€Zàv•ÖÑYjK×ÐÞPÃåÖ$´‰4«¯Þ˜Ð G¹0O2Bi¸Ùuž~ß•õ
iN€Z¢Ó±'CS®2éB>Þ°ü|_W«ªŸa'Õ±Ô¯[9ƒ±i¾H…Š¥‘úÙ/t ¸I¾PIŠÉL¶ßù¨6‹ƒøí˜ôc2Ob+3yÌŒ@Úš
ƒwº«¶)é²0ŒÀþ¡% ¬r¡ËL3C! "¢Ù¢RH~Æ$wÕŠI»d -k^Iz!£ó_I‹„‘ˆëIÈ·wÖà@„ -W07ˆ|W0Òué¢ -‰ùx±dñêÁ·8‚ˆº÷(7ÞÞÅ̸ÇL -;@ žéD=–H€ƒ|ca”ŒÁ~›oH0ÅeHr.‘P±Í€Ì€ö•LÂE-Í·cr ø“è„jÌäñLÂhiYà.º[šó…Iœ©žÞH¦á=´…_v8»‘‰!û¬0ƲzÖt`ÈÉÆBÏ¢ëªÛÆeû)YhÖpÊ‚Š18ج÷á/Œl8Rk¨e1}Ç0EqÑiS5Õf·™Û³bÂøêýîíqËa’‘˜ó*c#0rDéoÍZ~n -eJ„ò6FE¿
Š øÅì@1¡WP樌ë¨;å -#iÎÄW™Ìë$@ÁÁ\Ÿ+ºNUÞÐâ‡)&“u¡†ñÑLïÃu¾ÕL/„ò/ŸuÚKËäSi™Ñ3Þ'<,-¬aÆòawÍ»ûdiÅL¤i/BëcÂ}zÆÂÌY˜3—1}Ëh›Á V[×Õ¨UÓàc}5”ØË7ZL>îCíýGÅ4I¢¿O2üV:âì/Âpvå÷¾Eü>ùò%Íœ¿Á¹ [î—@'ñ=m}œ6°Þ}‡”Ò€öÕ»³‚nªgö¦b - ya„8Q¡¡Ž@úîN}Œì}ÝñhÆ}h–6:wU”KNYÔU›ª.¶4èêÆ3gFÌC2‘`zRKó$º.‚ÿ{¥4Òqf..ƒ —Q2p0ä"HkYŽeM%z9"èc¿!ôPöŸ\܃”º(."ª|Oc,Z Âì†i–†ÇÀY:†£ØR»O© Æ©ÄÅÌuùß X5ܽ•üíš~ÍD +/Length 2861 +/Filter /FlateDecode +>> +stream +xÚ]oÛ8ò=¿Â÷t +P©üE¢OÙ6íf±›î¥9ÜÃî>(¶’•¥Ô’/
÷ßo†CÊ´-;-RÈáp8ηËgþðY®3m…Ve9ãùl¾<a³;XûpÂ=NÒë§ë“×ïe1³™ÕBÏ®o#Z&cÆðÙõâDg"; +,yûñòýŇ_*¹¾øxyšŠœ%ï/~=§Ñ‡«³ß~;»:M¹Éyòöç³ß¯Ï¯hI{?]\¾#ˆ¥Ï¢WçïϯÎ/ßžŸþuýËÉùõx—ø¾œI¼È—“?þb³\û—–IkòÙ#LXƳå‰Êe–+)¤9ùtò¯‘`´ê¶NÉOå&Ë…Ò³TªÌÀùÓRæYÁ9 ¹Í´r”²àSRX(å~(‡ºêyŸÖíPþ[6»7çp¶6VÏbò{LŒX\Ȉ.aµ`;l\–Ëê4•Ì$=ðPüxdçEòX7
Üx즻»«4®`ß2¿sons°0Àç‘ï°ixÆ´ÌýžeÝ®‡ª]RF&×÷þôEu[®›·Ã +žÙ<ngÝ{=d°YrF›²,¿ÖËõ’&ÀÄÚÃÃaè»(Ÿ<äO–3Ť`ž +Ž¯[d¢0@†‰ŒkC)A®wšÃ²\ +å•àãiªyr
ÿŠdÏ=Yp
3
ˤ´xòìË´HY+ )»«nDà +”á-}½“„‘Ý{y¥m&Œ5³X¶/{. ï -øÒtã_¦LÛ |Æj–g…Åp¸Î¸€8ÂXê)ç<é:°…§ š+t¦˜¢íghB +w÷èÀÉp_·w=o*¸ú².0IÑêñ¾jrE˜Á"p~ßu}åI”ôi³ÄÕ
&w¶Ž°/ktƒt»:å&é–Ñn‘4`øžÑ[‚8zèÃضï"ê=0*-OjØ%AõÑêV ‰o\éÚ*@J\c=/›æ‰–æ
^lëè«æÜ™VƹÊ}w ÓÚÛäpøy”ʘ°6òúNçýy§ Ï•ç®l'ÎåTº \¤äæÄ/ž*ˆŠ’•Åªêû gɳ<Ï3¥ +ý-ú-2{T»Á4¦¸¯Ýn^lNu¬æ÷{‹LJi~ƒ#Åg8ä>Œ·˜tš¹ÿ¼È +)xxˆÃ½,¼½2½‡
a
¿U§ýC5¯Ë†&å“3lLžœ— · +Åó&šÃýû-œjhHˆÅVéoʾ![Ì ½VGK9Á¿·”Ã;™ÄØ9‚÷€T!?PÉixï‚kH +E_þ#J9 É +¨ 6_$?ª”„Ó˜ò~)gMV`A@%ÜËQ…ÜôVjñI±o‘xgØË*(ªâ·í~Hq½ÖËÞ5-·Ú~Omx\;c•³:?^ +¡ÍíVm(Cm,º‡Äeù>UƳå"Q*ññû¡k{¡bWJš¾»üDs_ÙápY>Ñâ¶Ññ +7‡ç$¨¿°3‘*à}nÖHA±QU4&ËW¸°ÉóàˆV+à#íVžðŽÊä,PRí—°H¾nwPp•±ÍgBœ5̵ŠhquçÓUÔ²ñÓxÃ~ËvŸ.²ó©š{7ÌûP{<ØÂ@ñ{Íãë9Nö¨yñ£ «½Có¦%¶!mÂÕnáñ òX7‹¯\Êö.zC7@u¢”N€«cà]vªtP´=PîÐ=¬jx-L1 +íû!¸^÷T$ëžÌ +÷¸›d¾òôÈM‡\.®Ó°Q¥Šøu…ˆÛÜyb>¡ß= +³l(G~†ÄÐW&¯¦Ì—B,¥3EÄ‚í 4wfƒêJ•Ú/¹$·‡*Çáw>ǚΤ¨ý“1q·öɲÇlò×(sˆòøÄʇ1ø±,3 +LÅ%á«À›ç½8nœ°mº)¨3߇j…^‘rhj5£C¶]ìœ:ékv\ë<™îðÏžfÑ« Wgê>luò1AM¿¬kë)R# ħ<ß࣊nÓØP¥U¡tC6ûäÖng&;?º€ËPÁÍQrßÇá¯&Üè‰6£_<œ?ÅÉM¥‹MÏ÷ï›îßqi2ƒ½àÐÀ›ìÑ¡GRˆ™³–\¾¸6L#ŠûY”™ +P{…Bn BÑØËæ/ïzé†àDç<‡š¶È‹pêáæ¾) æ÷÷£ØôŽ³gYf„‘1{‡œ†Áß)ƒã§¾ýŠ„éÊŠ +endstream endobj 1320 0 obj << /Type /Page @@ -5225,630 +5244,623 @@ endobj /Resources 1319 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1295 0 R -/Annots [ 1324 0 R 1325 0 R ] +/Annots [ 1325 0 R 1326 0 R ] >> endobj -1324 0 obj << +1325 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [213.6732 702.2957 286.8984 714.3554] +/Rect [213.6732 152.1752 286.8984 164.2348] /Subtype /Link /A << /S /GoTo /D (rrset_ordering) >> >> endobj -1325 0 obj << +1326 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [209.702 621.4019 283.4678 633.4615] +/Rect [209.702 73.4705 283.4678 85.5301] /Subtype /Link /A << /S /GoTo /D (topology) >> >> endobj 1322 0 obj << /D [1320 0 R /XYZ 56.6929 794.5015 null] >> endobj -398 0 obj << -/D [1320 0 R /XYZ 56.6929 769.5949 null] +394 0 obj << +/D [1320 0 R /XYZ 56.6929 620.8907 null] >> endobj 1323 0 obj << -/D [1320 0 R /XYZ 56.6929 750.9506 null] +/D [1320 0 R /XYZ 56.6929 595.6369 null] +>> endobj +398 0 obj << +/D [1320 0 R /XYZ 56.6929 221.4239 null] +>> endobj +1324 0 obj << +/D [1320 0 R /XYZ 56.6929 198.6408 null] >> endobj 1319 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F62 1035 0 R /F41 910 0 R /F63 1038 0 R >> +/XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1328 0 obj << -/Length 3021 -/Filter /FlateDecode ->> -stream -xÚÅ]sã¶ñÝ¿BsOR'Âá›Dòä$vêLãk}êt:—<ð$Úæ„"‘:ŸÓéï Eù£—N's!,»‹ý†ØŒÂl–*B…‘³ÄH¢(S³õöŒÎî`í‡3æa–hC}»:{{)’™!Fs=[ÝF¸RBÓ”ÍV›óïþ|þ×ÕÅÍbÉk²X*Mçß^]3?ß½»¾¼úáï7ç‹DÎWWï®qúæâòâæâú»‹Å’¥ŠÁ~î1œØpyõ—ýpsþÓOç7‹_V?ž]¬:^b~–‘ßÎ>üBg`ûÇ3J„IÕìþ „ÃgÛ3©QRˆ0Sž½?û[‡0Zu[§ä§DJTÊ“ r6%@eˆ\8Zž™&L‚(™Ü4y‹<¾Ûoò}QÝY&•ˆPÑÙ’Kb$“É?îó -öh5ßʶؕ¹ýKÏ÷–Îóuí¾›A2œ!ÚþÊ7¸\T¸’yŒYÕ<ä{¿ÖâÚ6{ĉ͡Éo%ε5~×uõ3¥üîŸ×Þç¸êiBÌz^ßúÍ÷'HX®#F)î¸Þ•ÙÚQ-P펕Òc€)ÄÐìêªÉAMç+XCaÆ÷Â#\éð[´û=ÜÀ²¶ÂŸ¼¢D%ÜxئÍÚ|›W-¹Ë÷Û¢mžÿ¬-ê -!Ÿðí¨ìä`/Úí;™#)7I š£»<P?‘6À_C<ñ\/$FçïsŸ•M£vZni¶!UE½oË¢i'„&$¡œeöÕØz…’D'j–0J’”:3µýÝ7‘Ýðef78|ŒÕñ>_ûKq~mPŒ ’\!T: èÈþ;¨g9Æf)!xŸB‚
^˜%Äð&vñ¼š’»¶~$ñâì5&œqv¢
'©LÒ—xBNLš¦Ó~pÙa\Æ(ãîZö»+ßåë µàœHª‚Ý
ÞÆ&·fƒþÈj¡Ÿ¾Ë²~h¾Fqi¥¡´ð˜ë2k<H
Ò¢ -óuP‰IQÍJ,ÇÊÀž¾Xbã2Fé$6 ŽIˆ‰ì¶4VÙ6Ÿ’˜ -ó\÷ÀC®epÐo6õ6+ª#OZj”1ãÆgÐH@sÄø›)Î
IÓÄ9ïCç÷œð4Õ±o˜Î ¬«·êi†&tÁG(3¯jûM½¸©bÁæ~hí¹°Všo¾‚™ÔÇu»a“ßfuü–fÒ}Aº¤“`öç×ÿœv
ÚÈ »Ñ!q©'΀JI»¼;Ë-ž¤ÍÄ´¥'hK‘¼iOѦŸ¦ÍigtÂ¥H™&1CrC°õŽÐ“kÿÞñg°°)Âi -šÒÙÈŸ&È–À™À¡A„TѬiAOš_aÌ|<bLAE2ŒG«@[™ße%?eå!ïœô~‚¸4J<¯”Ó%W>QýúÈU‹„He=¦¤`/Jó…LIB“Qšÿßí -„Ø,Ü»¦“à> -¸ü0ìG‹ÀÔR¸(g'«$…$b¦)&Ú_‹ÕŸÏ0%ª&‡(Ñ›A- iTH6®`Ù¥“2¨$€ÄY;Î?!FpØ4ÂBç¿×U>•ÐÛ]eNŽ²0(œù,’Ì— Û^+ÔiüËQ†§ï/LI«ô™T TŠc·Ï*T¯¼?‹½Ëå»ûS´+šz`ð Q"û ©Gü|™Œz±ËŠš¼eØqZì<%๟³ˆ<à½T¸õãº,Öÿ3±û*ÌŸÒׇj³ÄÑÇ -A¡5㳤)Âþý͉ŽOæ-ŒWlçëìÐä¡åö7¿°+ãºv‰Ë¬°ƒæx´£ó“M>Ýuñ¼ìÐ -Ébjï3ßÆ»Ï>yT}V9¸E¼HXÈÜÆ"œ`Ó((ëº
Þ§XÖ<~šÃ¥Ö9 ë8fÛ†>M† Ïø(MÎʇìÑ{ßÏ:Þ'¢œkq—>wÁ%짺c¯sô±‡?áÈ£$Ú9ò¸;wœ1K¥»|qGR[Ûu×»]ž9Zúòâq‚¹ªö…Ü+¥À!Ü`2rž QíÈãÂ!e‘7äT;^ƒ
˜—ôãÈFÉ“)w*@Åä+²Û ÌØ!wÏ\A´gšÅ®Ó=PiJ–Úž&ÂúB+æëè"h<Ö`D .â¸6_Áÿùüb,À)™ÍOS4*ç„g¿Í¡Ò@ÑØñÚ‹ÀM¼½ÚòÙ÷5p4‹˜ -ˆ—1fdz¸K—ØžŸ Ê -þh‹m~L€Ëfn}Á|T2Ež°Œxdv ¤›~Ñ–a`—úì1ï!°-8Qü£`ïî8M2L¸ôØ„¾Ì*ù+JóŠ4éi—14tÅýôóçr?ÃÏsÊ?Ï’ÑCå¯càì@Ûø 9Pšp=ýÖê–1ÔiZ:(KK É̲mËãf?½„[xòäjâèÕÚ´ƒg¿Ï[_ltÅDuØ~ÄF -cÖ¹æëw«©Ž¨¤Š8=‰
,¤[ðB›|Cl‹“ˆÕ©>ÝqÅ„$&í·4rªH
:àŠQŸ(Õ¡Í<ÚÅÛj3 -ÊÛìs±=l£ŽÜSä$ áŽø£X:M&²{3±äˆcrÈI#€z›r£ž1‚ê #P–`tY9š4 Ircž>¿ƒš `` - -DÀ ›P°ZPx[•*¯›ÃÚ•®r^åíC½ÿÛ}Öe¹k\Ç‹ã6V¬q¯‹®vf—ï!ǧ»v¥47¡ V½‘ -ò‹=x…MãØð5{›M:›=–“„õ®â%ò1ª{Ûž47CtÚ=e0:mm‚ƒw6Ý[zçGVg{8¼¯ûÞðÆöQJþ:Ê»GѬò%@õú:Ç ™'^^¾úJœ -c¡fß¡ÝS_,a_ØFeZ NÕ–¾èh÷‹â'øùPb´þG¾ÎØtu^áë¤î1Ò÷Õî¼µ¡„s~ï¤K²N/Áå´GŠ€žø -b>íŽ$DÉÓ'Ï:#H}¸dƒÓ}XVá‡5JÇ‘@+ƒi´2<ÜëûÁžÈÁØuº‹Û0ôEmQeûGœ±J¹«›Âuÿ>å!6éÞ-ï~qcƒ+I:R–É®®ª|Èó_û7ªH=¦#O¨5!}bJÒtöl·ÿ¥?ësJiõR~â§'¡}æ‰rÁŸ)ï~?vLú +1329 0 obj << +/Length 2790 +/Filter /FlateDecode +>> +stream +xÚ½ZÝoÜ6÷_±èÓúÐeÄ/‰jžÜœ“ºhÖñápHò ïʶ䮴vŒ¢ÿûÍpH-¥¥?Pç†Á¯ÑpæÇáÌ\>KàÏŒf‰ÌÕ,ËÓ ×³åú ™]ÁØ»îhžhRýx~ðêÌf9ËS‘ÎÎ/^†%ÆðÙùêãüÍOG¿Ÿ.„Næ);\è4™ÿxrúOêÉ©xóþôíÉ»fj~~òþ”ºÏŽßŸŸ¾9>\p£9|/‡>x{òË1ÕÞýúëÑÙáçóŸŽÏ]B}y"Q‘?>~Nf+Pû烄ÉÜèÙ4Æó\ÌÖJK¦•”¾§>øpðûÀ0µŸÆðÓÒ0mDPÈ€:g©„!°X6‡ÜÌË®ûþp!M:/(u>?ùÊÿ”$âë„äèÍ/TiŠuIµvCe…™7e×—+„ „á0B$LKA/ˆ0ÅS*2ól'ó3,7ÆÄñ\!K+”O*Å‘è1Zë¢_^ï ™ &Œ’ßPHÏñ)!3ÍD&ùXȺêz‡x¸ü\1 ÏàŸÍÝŠ]RY šõí
Uêò¶¬]µ:äsàkUGåòº\~¡å¡ÅÒ$OgÎY®µ …½*ª¿Ã]Ó_—TéÚµª¥kVH(Ôè‹?¶å枪ۦ¯j÷´,¶Z9—í¶Y1+YÁÑ:³½opV°bŽ•P©ÄX$°…_8qøºpDeÙPÍÊS®p·¤j^?_èñø¢}Ñ—ë²é©¹l›sÓ7µ›¬mÊA§ +©a³cYÀ®„·Ð™piŒCÖÌ{·è à̃iæù^¨ž–æ˜8nË¥Ç=n’3V;KsÉ„ñbgæ9.B–gÆÁé Àc {Ø㪄)“CçDT’©,3cò·DnaÜUãÖ(–pá¼C[·W÷–0½6Ê»ðÁ81iáj~LmÃ:˜¹g™3u`›©ó)lÏ®«®44ì-¨X–…u¶³Y-m•tê‘[C¥£àÓ]CwU=!ZWMµÞ®csVŽ1îy?{û°ß€ º€XP»€H¬8ÁU3Æm6¨\¶uÝÞYŽÒdóòk±¾©KØåJH +/ë#9VßL¾Í›)5Q¼·[LÆ¿who\‡˜´eüÿ3nâ…¸‰gã&ž‹›˜âÆÿ6nü†›|!nòÙ¸Éçâ&ŸÂM¼7ñ2Ü&¨ý ôx‚,To¬ +j¢’v:ßl(XW+úÁ+Å‚†—7êZiprF™Ä€sJìÓÐbÓeÎÔ ¸†µ+{A5wÞíÚ¦¸ðtåuq[ÙôÊrt•ÞÏá‚V)cÍU¨«£ª
|PN¢ôì¢ÝÃùfSR˜ù‰½ÖJÝS6ïªuUê´÷Ú§GÂC‹Î"Áðä +,µÑ“øÚ“ôø{ít®Xξ:)΂4?£ã\ ÁpA^CÒQÏåu¹Ç«>û’ ‰Oqk3è¤Ã‹t·ˆ2ßñC‹=A"Í05ÍÒP
%5,Ç–ÊÝ¡ +a¦JRDŒ×å•ÂÈaí µ‡®‚Š‰ +ó.Ën’^AÍ$üzè®&àŠç d¼†08=ÖŠ‘:î6´òYœ“ s³¶÷_Ϻ=þfª–j–i©žLÕ¦éUàç’¨»~€xpp2éÁƒr_|¸á)ãàòlÚxvÖ•‰÷›UiϳQO%43:U–É¿éŽ.…³è¶î«Á99óhm¹êˆdw(úíÆÝ™hw÷A%–¼éîìÚá˜óKëâž:.O—ÛšúìÞMíñ^®¶á|Îß鹓©t~Ðú”TïüáTôˆQÝÔÅÒJ$Hm§UÊq€®½KRc=zävQrÎÆ_wm6°‹Á ¯¦3±wESÞ”›ue7+²Ó¿è+»Ÿ€Âê å 倅øn$ì +o'ž(TZØÛ¾™ÒÇ'”"c©’ù´ÞµÖPž¾[µë‚çF>¬4×yþí8>¡¸´ûØì)þ]Lóœ“åcÍwA3¢=¾»›4ô
ñÜ<šg>y/poéö +W¨µoæø~NUÜÏîRz"6þÅV£X—Ä›á™=æ¾`¾4óÛþèô?q×æÊÛ.s?è¸tWŠ{æ¿‘nÊðIß<,[Êf-“L‰!˜=&[ú¸lþ%~¢¾~À‚óÉÏÆâŽwqß|tS=<1`)ÃùGìí
4ƒÜÔýzBØ}d˜è¤èz°“îþ¦ÂÅ#Î%“‰Ìb‡aøª.¯ +—³ßõ¶œô&"œ1,—Z>m”³|H«\ŠúÃC¿Q‚îÂÐ4 ÿƒøÅ¿_Úý¸Káòñ@‚‘¤”ˆ9¡lRϧ’?tÚý¿Ôgu0endstream endobj -1327 0 obj << +1328 0 obj << /Type /Page -/Contents 1328 0 R -/Resources 1326 0 R +/Contents 1329 0 R +/Resources 1327 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1334 0 R -/Annots [ 1330 0 R ] +/Parent 1332 0 R +/Annots [ 1331 0 R ] >> endobj -1330 0 obj << +1331 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [353.6787 706.9749 427.332 719.0345] +/Rect [353.6787 147.6933 427.332 159.7529] /Subtype /Link /A << /S /GoTo /D (the_sortlist_statement) >> >> endobj -1329 0 obj << -/D [1327 0 R /XYZ 85.0394 794.5015 null] +1330 0 obj << +/D [1328 0 R /XYZ 85.0394 794.5015 null] >> endobj 402 0 obj << -/D [1327 0 R /XYZ 85.0394 769.5949 null] +/D [1328 0 R /XYZ 85.0394 219.8215 null] >> endobj 995 0 obj << -/D [1327 0 R /XYZ 85.0394 749.9737 null] +/D [1328 0 R /XYZ 85.0394 191.315 null] >> endobj -1331 0 obj << -/D [1327 0 R /XYZ 85.0394 624.285 null] +1327 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R /F53 1002 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -1332 0 obj << -/D [1327 0 R /XYZ 85.0394 612.3298 null] +1335 0 obj << +/Length 2551 +/Filter /FlateDecode +>> +stream +xÚÅYÝsÛ6÷_¡é5S¢ø">®OnjçÜi;W÷Ôô–è˜S‰TD*Ž{sÿû-° +¿¬/~½øgÇ°7ë—NéORFÏÄ,’Øÿs¶ÒMõhÛ¯[%¡³”b•§%Àux…!®#V)£–0ø¼BdDsf;¯à¬çŒeD=Ó#\Ã8¯xK)ÿX¬œu€\ôÈUFl–9Ý]±¬wsf’U†•4Éý[á^X‚ãv¿«€•Ÿ.+|¶$¬.vÝ÷ç#Fæ@s¡ÉŸuU8YCã1Ö;™Ì4‘Ì™{šy™¶]UÜŸ}Ë(ñi¦Z)ó rMD&¤?ù.¯Võæí—õÕ/#ûeÁ~ðlêM¤Áüø`Lö3Zïçe*:h]jb8Õ_À2®8©u¥AUR±Ohž°úÛòy¹.—ÿ3çø»ˆë}µJqtim1Ž›<"b6ŒJÄ<YÖ•‹œw{e…³Oeûˆ£w"y˹„ª¨òûu‘ÔHw»¦hÝRÕÛ¶¬+d·CQ0 -ëͶ\;¦¢ºœ³dS|ëÞ¤Û« +ßý®Ü‚:ʶÌ×øµ;gY½ÃéúaDwâà·§r½Æ›¼]>N©—9
VaÐl‹eéÎ6¶GGúgGû)Äé;ÕËõàû‡ÌöÿÈYLY" ¤!u¹²‚Ë~Š=Jµ\Á!¼à\Reü^b¢VQÂÑjãMs]ïPËÅÇ|³]ÃH“ý¸tÖ4ÈtÀAçŠi½óFQšüÛÛœib7CË/×yÓ ÕÍ->Ûçm£K|Tù&|øæ±nZ$!àÁßà÷Þ^ˆßOy| +éÒIÁþóý¤ +$êýY:ð¾»ÙðÙ5œhÖ;Tdœö9ûC)ÞSÈ\ÃþR‚n(Ù
¸³d˜Ú•n´+ÖEîàɽ¸LížX¸‘Ÿ’ÒzßðêP}Çd’Ê•í¼xKГçœ&7Ë$ÑLª±7ã~«º‚ywuƒf¿Ý:htý~ñUŽ–9TÅ*BÄ 4©(†h bI¢lrïÄ{Æñªxp|rˆUÐÎ\—3L¬_æU`TàÓ\Žç:.B¶½J +^ÚrSàË™‡gÇ|"1õK:Ü!í}PÚi¨7+|b,ÃÀMÊÇâ@ ‚m +cÆc‚¼}³˜H¢€®1”Clˆ5Á hU¬ìÆ°‚XÄløà°!ÔÍDÅ„$ÐqÆ" +jȉý9%ú§X7Á©
UBYíÛ¢Á}²V£Œ¼É?–›}¨w>äë}qN ·"ŠÃÌ´<Š¸¬pG‹CNE +|@Ü¥o¤¹ípvàдuh
p®*ÞAÈ|”yÕ<;¬ÂFÚL¥rÝ›º÷±:Ç÷ †(Öy¥2.èWV8òAOlØa£œ‡„o¡l†$Ž× +nf:a[Ãý%E¾…sàKYuóq¯¨8)#ò`µF©g
«»€=VR&;àÄç(Çfœ”sk–(#uŒ4:j‚¨¡ºú½QÕëýîu#É
ä?*ù×IÕJ(þ5têËKè ¯Ðwiï¿Ø¢AF¤®”"¡¥í5h
”6U»íF»›Èœ +endobj +1334 0 obj << +/Type /Page +/Contents 1335 0 R +/Resources 1333 0 R +/MediaBox [0 0 595.2756 841.8898] +/Parent 1332 0 R +>> endobj +1336 0 obj << +/D [1334 0 R /XYZ 56.6929 794.5015 null] +>> endobj +1337 0 obj << +/D [1334 0 R /XYZ 56.6929 769.5949 null] +>> endobj +1338 0 obj << +/D [1334 0 R /XYZ 56.6929 769.5949 null] >> endobj 406 0 obj << -/D [1327 0 R /XYZ 85.0394 235.7218 null] +/D [1334 0 R /XYZ 56.6929 378.0087 null] >> endobj -1333 0 obj << -/D [1327 0 R /XYZ 85.0394 212.1106 null] +1339 0 obj << +/D [1334 0 R /XYZ 56.6929 353.9059 null] >> endobj -1326 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F53 1002 0 R /F41 910 0 R /F62 1035 0 R /F63 1038 0 R >> +1333 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F62 1035 0 R /F63 1038 0 R /F48 925 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1337 0 obj << -/Length 3742 -/Filter /FlateDecode ->> -stream -xÚ¥Z_Û¸ßOá·zXá?‘PÈ%›kŠ^rMöúrw²%Ûjdɱ¤Ýì}úÎpHZ’å݇VäpH‡3?‡æ|ëH§"]˜TE1ãñbs¸a‹´ýxÃÏÊ3†\?Üß¼~/Í"R-ôâ~;+‰X’ðÅ}þëRG"º…Øòí§ï?üøËç7·F-ï?|úx»1[¾ÿðÏ;*ýøùÍO?½ù|»âIÌ—oÿþæçû»ÏÔ¤Ý?|øøŽ()}®úùîýÝç»oïn¿ÿÇÍÝ}XËp½œI\È·›_g‹–ýÉ4‰PaOS±8ܨXF±’ÒSª›/7ÿ -Zm×9ý©8‰b¡4hô'„œ×2çÀd$èÔÀL^Ë‚ÏiÙs¡–e½:5M×N×˃žZ.†ƒ^L¸fæ–ƒ¹9‹£T3žü~_ Ö”¢<ô¬¤Ëº?¬‹54[úžn9TšŽ8ÚâôPœZjêöYG¥²¥fË\|ëK*äÔºmܘ٘«h» CGb¥£Y“ɬ
±¬TÜb%T$U‚áQÇ´¾l³)Ž]‘ƒ
JÎürÙ2/¶Y_uT)ê_¿WÉH_:Jb“€–q A,#•‚BÑŽ!šn_£8Mã…N㈠Îÿ{•‰u¿dÞ^ì1ê¶x~,êÇ`,Wô=ÆC¼t+-d¤O‡V4¸]$&&
LÊŒ]ëÇ2b8é+Š¥PNŸnWš/ïá¿X^8r¢Ñ -Å+0|Õl¾R±ýZ<Þ¦âòˆöH.¦2å/Àá€ë8ô\!¶+¶§¢Ý¯py¯H ØçY²åîNO—¼žxáAšGšiõü×ÌF¤u'#ŽVÔÂÆð”k-¦¥ -˜GGñYE»µX 8ívqý_Z%*J“ix¶.öÙCi·V×ô%³Ø:ÄÛ—õŽè}þ +“ŠŽ/!‚<=9.å,ø¾|zC…Í>«wEKH`':
'êBg -¨pÈZ8†ñŽåÆÝ•´^hl«ìÁñùM³Cç«97ÇKBjé -ÂÑ
»®ò=´ëŠ49}y:sË;DÄ RÕäÐÒ¤–gK“Zy@:ËHËÒ¸¶†¾V–‡êánciuî¨lõ…ÉMXƒÝ;âT=E Òá2•\Ûi…ÛŒž¬T =”G–“1*±ÜUÍÚ‡=²&—x…à€A!X9o=Tl¼EE23(ø}EÞ:§ Ú®_ …jÝô®¼¤ÊÇYp÷ˆM–
…mY®óa«Õ–‡õvŒëaÄ6„i®/Ù÷U V<‰R&žÇéÓu˜öLvßòº]õùqÕ–\ ,·ž>;w`ºœ\Nb‡nI£Ù¿UñjÑ`Ûà9]Ù’VÌò"MjùåÝÏDZ÷[Tó–<Ì,è–ÅÞVã©+,tI¶ü7Ú›3` (lgS‚JÌqÐN™¥b©¦bëG¡Äs±4cSiú®-sLàrl:@èå ñ—ˆ„aií(- nÝYP¸ôÿô€W¹‹b0Œ¦K;´/íÐÍ…GXôÓ °Ó>}ÛgnBZhÖÚcêä,(AÑuˆˆ3`>6•ÐN5ÚØÓªuS¯Î‚iÓN°ÐEC„ïxhqº}¤ŒÆ€í˜µ-5w{Ô~·§¦5Õ¿âëè;´®GÀŽÐ+›ÒÖçh{ÊváŠõc¶ùêìÐzòkn
ú8Û›0ûäZ\fœ¶»óÕTrFƼ…^ñu %’nC®ëÞ¸ì)ÕUoÇäœöÙÙ×Ìôr’h`©ÔãùÉáe¢Üa…óYòv,YÛö¢m³c&SÄÜüìmŠîrƒÍEíhˆøõH`¸"6<dÄäÉ(vÞSé7N9tÔlË€ -D!dÆ©~Ùσ%45N»ëO¢8<)7dºJ—Û‚c£³Ï¯®J7Í«âðD‚}œ¸M¤KÀN™˜‹K•Ù+É$AFiXLeNpÿ‹X291éy*óÜâ¬4.©M¿y€Ï0/èNã›´-묵JF{j -…Œ>ÞR9©{ÌL€…24¹™»ìkáĵ›äk›ê¡˜Ýñ†…¹LÛ‡íÈÖäàÊ9¥, ˆÅ÷MácŸïséÅWçáói?„4¡SÊn˜ÏÃ|_V‘q"!E§ßÔL0ç–|lê–²>R/Ï.m9œ@ò.@ô‘ùË°w6RѤéT}w HÚ;Ž³û·”‡Æ‰³A£ýÕµŸ»Ê8ÂߨÎÀ;?ÔûÓ?…=ÿNXAx—$W°0'¦)½PöWÂâòe¬Üþ_ -Õ=endstream +1342 0 obj << +/Length 3800 +/Filter /FlateDecode +>> +stream +xÚ¥Z_ã6ŸO1o—6®þX–
ض³½-®ÛÞîô^Ú>8±'ãÛÄÎÆö̦ŸþH‘RlÇÉ 80–(J¢(ò'ŠŠ¼ð'oS Å·6‹##¤¹]ïnÄíÚ~¸‘̳ôLË!×·7ß¼Óö6‹²D%·ƒ±ÒH¤©¼}(~[|÷Ï·¿<ܼ[*#It·4‰X|ûþÃ÷DÉèóÝÏÞ½ÿá×oïl¼xxÿó"¼wÿñþÃw÷wK™ ýp¡Ã»÷ÿº§ÒßþôÓÛw<üxsÿÖ2\¯òåæ·?ÄmËþñFD:KÍíTD$³LÝînb£#kí)Û›O7ÿZ]×9ýÅ&ŒŠ“Û¥1‘Ií-‹HÐÚÒê4Êd”¬äœ’™ uÜV›ås¾Šª;.«º+P›®\ZÙ4U·ƒáÏdLçBèdµIfFR|Ú—ëêw!TÙÞ-µÐ‹î©¤BÝïVåÊÍ#}‹üèØÔn&û®?ÜÉtÁõ—§²¦Ò÷>}ºÿŽÊ°ì:÷Œ<gÞwÍ.ï–¸zX„ˆR¥
¬KF™1d‘Õ:ßnÀ.ÅbSÖå!ïÊ«r‘·DΩÊ#÷ÛŽÈNv Ç:ßUk"öûh©åwaÄTñZÙHiT¼J@Š4CRãasK…ƒ=üËa‡óM8×íB¹îª¦&ÙâHIcÁ…3PÅpð3;\¯Ép6Ê +¸MÏôª¥¯ô=–ùI¸É:I Ae™› +ŒË` +¬“Ǭ×åžwª]µ›LÖ×ë¦/¶Q¨ìÜJÄØŒÑi蚺¤ÂS“¹Òª|lü¼Xw~……u zÝq‹Á•x8˜·y¡"B4úl«]å\ÅÑvMïGA¿pÃo›õg*¶ŸË—»L-¢3 +…C®ËX¸P/»ª^ÊÇCÙ>-qyoH ØçY²ãîÇs^O<ó $0*½¾„À5³†‘ÁA”éXVÔÂÆÈ”ë,¦¥ +˜Gçv°ÙÁm-Z +è8®zä´4š|ÒùqKe’-Kـ‹R¼*}[o’V}G´Žöa:æ _êüÓQWÇЉ +»¼…³#wS=Ó²¡±ÝæÏÌç÷Î
],ç¼ì´jA;]ƒ(DÞØu[ï×C³pIã‘ïW‡x>#L à—éÈât¢O§“ØãÒéxFZ1‡Ûú:e8ª##Á+Òê‚©t“3Ó›°{!ºwÈéÖ—H‡ëŒõb_ºNKÜgôè8¤çŠ`É‘
e¬›m³r€+a“œé¥^!8`PVN{uQ‘ì +~c‘·.h‚¶ëWDB¡Zžž›Á[¶ùn?·¬€ÜdÚP8Ӗ㺶:myxoÇøFlC¸Æ}ÉÀ/¶1nk¯öë2`.·uEÝ.ûb¿l«?ÏÀVÆY¤d_Ÿ>pÍÌ?bŒáíX€Oeç”d½r°pp ®jI7vqq'µüúý/DZõ¨ìGr4»pÒ;–ªfŽcW: Óbñ´:6` `l'ƒ‚Š‘Š8h¿ì"YB%D^îG
Dw.`#ƒiú® +Lár0°P*Y‰H!–VLiëÎa«Â¥ÿ·Ø*8¦Á ÚÅ4ØB5ìÆÁý4(ì´Oßö9OHÍ[wè@\%(»qøÆÖ±T «&±îl‚jÝÔË“`I– +–ŠÔ+ŸÙh'qœº})¬†Á“Å>o}Ç'‚Ö~óDM+ªÆ; Öщhi/ +\ed2Žâ” +n‚éôb…ürÏ× ðçõ‹‹ƒ£é]E»ãÖômèš…E²–¦ñ€2Y¨VY¤J^Y©´d–n¡¨Ç}ÈÖƘCä¼®6I”¤*ƒX<ÅR–ÏGkèdƒú ÑëÈGf{*g@GjÅÚÆ,’;ã—ëf·}8ï8_Bf"i¬O?vM³EðLõâCÓ•4'i0+¥³‘–3ÖçDj5f*ª€˜œÂ£,J#“ÅÙØ$¼c+«/í
8X– ûÊÖ€¢5`19ü‡·M^`²ä\u±‰tjôPs3£‚~´Þþwù‘†mvk¨m\^ÒÒ{-‚µ²~*ןY6|§Ó3E[Þþ÷†{?jÂ[Ni2‘U“»ê9–§-ˆm»ÓŒE”J™¾ªA+ûâîHvñžGßçpT®ûmι¢sµfq¤O€áT°Då¶sg „ÃKgCÞ–æ)ZUÝtDÈ÷{ì‘7SãüR¥’‘QÊ»Ä!™[ªˆ´¶s+u!¹®…¥è,›¤·Ê¼æÈÑ%›•w „ý€2]õ%!…‰Ò$Î^26ÂŒ¤¤AwíÒä+žnˆP}©º'bà8G/Ú|Ç%§h*nËçrKŒyëö³ó.d‹ÎBL<6F²<}¡1M–¼îf±4Áš§Ýô‡œÎPž”R^'¹àÔèÊ…w±Ëêµ×Ä‘©û0q!šH—‚Šd`.œ3s—’I¦Œ²˜)ËYðUÉö¤ K'"¦?UQ8˜Õ–³Ü)e³ÓQ‚ã—'t-«¼uJFwh +ß|¸þ¯·xu?4¼MBŒò×Æd
šÁ™Øµ9=Ýø| +’†Y:‰/Öøü‹éA5~¢…zAɃýž`(yႱ.½ZªãÄç‘Ó8Ø¥Ä $'21‡²}¤R××<§ƒ’SŠ{×< ¿ÝÍå|ÊHð) ÜlÊ"d +˜:H‰A²{’ŸÄ·õÑó…bò8¥Ù œ¼ò”Û…bûÔô.Þƒ2 +`¢á@¤'÷Œ-ÑÜéA ír’Hp´ãRÁ—l +9}¼¥JR÷˜™, +„m—ÎʆùÞÚE¸ÜÃì4;é/ºô[\è…? Ѹõýß¿Ó=ýˆ9†»3þ*j>í,’(U™õBá=•ÜÀMˤÊΈþ?ÉZÆendstream endobj -1336 0 obj << +1341 0 obj << /Type /Page -/Contents 1337 0 R -/Resources 1335 0 R +/Contents 1342 0 R +/Resources 1340 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1334 0 R -/Annots [ 1339 0 R 1340 0 R ] +/Parent 1332 0 R +/Annots [ 1344 0 R 1345 0 R ] >> endobj -1339 0 obj << +1344 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [297.8955 581.652 347.2449 593.7116] +/Rect [326.242 723.1532 375.5914 735.2128] /Subtype /Link /A << /S /GoTo /D (dynamic_update) >> >> endobj -1340 0 obj << +1345 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [324.9335 268.1937 381.8296 280.2534] +/Rect [353.2799 404.3691 410.176 416.4287] /Subtype /Link /A << /S /GoTo /D (zonefile_format) >> >> endobj -1338 0 obj << -/D [1336 0 R /XYZ 56.6929 794.5015 null] +1343 0 obj << +/D [1341 0 R /XYZ 85.0394 794.5015 null] >> endobj -1335 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R /F62 1035 0 R /F41 910 0 R /F11 1343 0 R >> -/XObject << /Im2 1024 0 R >> +1340 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F11 1348 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1347 0 obj << -/Length 3255 -/Filter /FlateDecode ->> -stream -xÚZ_sã¶÷§ð[噈Å_lžœ³/U&Ñ¥¶ÛÉ4É-Ò'©ˆ”åÓwP DIî´s¾!°X -fáYÒH0a€9UYÔ];]“°Óß·Åfç:…¶4°±V®WÙâ®P“¶è° ']C„?i˜æ+¬jgl€©Bü~€Úõ«ÊUé†jö=Ïvõm¹y!&'6×¾•„·Y÷3 a¦&tlÄÐzØ¡,ZÚâ´šXz.蛓2ëõ‘yåiór¥`*g©UöÇô£6æLEBÆ•0dc%kc$6V‰ð[cÕP7Ô»¶†BÒs³Eû`±±½\ÿ¬&ÖrµnÚÂq<ïF´3êˆ'B
º)ÛM[¾^é5Ç'5£#HaÓ€v±ÖQ¢…‡PÇ4
¹ø„ö\8cÝtåËnšU¶;œœ+\½TžŸ½ç™~° JG©`ñp~&"I&$ç|‚îb¤…‘İ䋦Î[KU°»÷¢è›ê¼¬_i -’l¼í*ócÈÓ‘ÐFœŸ¾ç™zŽd³
i’É쎾'ôp‡ewæ -›©#Bz4…}+Ò~ÛÒ‹L2Yd[è•FF8ðáêâx9]SØØ#8}-aé -zC;>ÊØË9¡h#'4õ=Æ#'v -#'s -*#u5^)S²Y„}eJcççþ©)U³ðlÚ½dÕçBidPi³§±¿aÚÞdQ‰®†´¿5Š'³º+6uÑýÅCNíp -)ƒ4Kª^f / -RöW]PD?i×Ù¢pÈÝvSSûü§»/?ÜÎæT£ÖvÝÔ-up/R…cî‘G2j^=—‹éX¹2{zµ.¢*ѽЉ·HÔÑz/-°ryî&i\£Bíáó'ê¡É¸>vµ÷mz"%$8”ÙÃ*ì[Õ6Ôµ¬Õ6]’XŠ‰%Hí$1Ðg?¾ÅD²[ˆÔ†Žµß¢Èqàµ.rt´¡Œû‘ø¤*ëßÎio±‹w(E³žŽ©öœ-~s÷ké@/¿AìƃҶþnÞ룞íèëùÜGÿÒ¥¬ënP>8ð\ieOhX-_/},XQ‹‡@Bàp<•»vÉwD(þ([û¬eZF§aO+å›ëˆ«@ÛÓ#NµÛÏ,1PmÞ ¹ò)bÛØæxúƒD^@š¶±¯_.€…†Ý?”Ü„……Ó¦s¶ÏèSìñß©®1ìBù›SÈŠÑ¥xòk¹Ønh†Úu©Ê¶ž~ærÛ¢lÿvê‰I¹ÎÙë„\ö±6P42‹Þl ~˜‚N*9?kÏu<íèO\ÓrÍæÓÛ»»‡èöáG¼¬¿=©:Ãp/“ª\gT÷\—U?7k úá´ãª‡Ór8F|Tw.KäyÕ¦Óš{¦‹ŠŸ›r¯÷ᜣj‡s - ÷J?¬y¬#).l÷=Ïi½ÏEµÏÌ·×ú`ÂQ¥ƒ m®)>¬2dªø«²à¿,ÿó×öÖS ¸£ãÚHGÎü^(›>=*÷¿r;ý?‘" -endstream +1352 0 obj << +/Length 3060 +/Filter /FlateDecode +>> +stream +xÚZ[së¶~÷¯Ð[噈ŅÉæÉ9öIÕi|R[ídšä–(‹šTDÊŽú뻋HæåxÚÉÉ—Å.¾öÃ2_0ø/å©XÄ‹0ö½€ñ`±}¹b‹gèûþŠ™•Z¹Rßm®þüY†‹Ø‹•P‹ÍÞÑy,Šøb³ûy©<á]ƒ¶üôåþóúû>Ü\‡þr³þr½[~^ÿýŽJß?ÜüðÃÍÃõŠG_~úëÍ›»êRFÇwëû[j‰é3¢ôáîóÝÃÝý§»ë_7»ºÛ4X\¼œIòûÕÏ¿²Å`ÿíŠy2Ž‚ÅT˜ÇãX,^®ü@z/¥mɯ¯þÑ(tzõÐAÿqæ ©Ä€r`{J +Ù8+ø~a\pÎòz•´JO¯é‰ÊY±/O/I•¦ó?e‘Vè°#;lÝ“‘6°9¤×+µºdÄ—ÇÓ5–åk¶
Ô[¾¹Cš÷çœwYò\”Um©³3 l¨¤êü| µç—'kÜSÛSƒ
k4}-p.v Hpîœ{q=ùZO^†Ëc•žwåª.«<}MóÕ®|I@“Fï»^æRx*#P…ž²b7à#z"äÒé)4G²®FÃò†Föí—Ç…>óâ(²RÛ<©*ÜÔ¡À¨ +YFËD»Í¢KN5•´«°›ªŽÇ öš¥oÔýX•¦£Ûv¤ŠdŒûúNÏ*<¾#OûVí[+…ÓÙ‰<Ö›XÈþl8¼ †mèª=ÔÌ,ÞkÃi€#8Í=‡_íúU”±'ÃHÍ,#HE\øFêím¤6«è[¥°XI
'[îió¿PŸÞXØ¥ûäœ×T¡Uk¦£Æ¦(Xäù°wõõýÀ9ÐEè#òmc˜¶§þ~ƒ†Ô2).$ðœ—OI®#l%ƒÈ%m¤‘7Lž#.mE•ê¬]‡ËdhÎœq/‘
·$ÏË·Õïçôt˜<X–¬‘Ý•d¡(k*$Çc~![äJh«)z°¨£‚ +8y¹ÞSÛ¥<SaŸ¦y3‚tiº3MÆÒ.«’§¼£Y»„+ ª.ùh{àI©¢åY‡°ïF‚Bã$é˧`_Çb©Å!ŒOÔ~ +±|(ÏùŽÊÕÇ =:K¨`>pº¨IÆÕY$/éÀ9)BáRZB4óñFÎËX^Ìꃱr9™~àI[–Úü´b2(J«ñ +D_@*ä÷âp”.}<èÅ£‡žÍÁôó2I¦Æ +r<~kÛKnOrª5K†•&¿² =Îj0ëI+¥Z>Óm¶¿`LM,€ä!ì-…±$4€ +I 2Ù‹ICp&ÈL–·M«J“¶éí0³= €['KÇ0ˆn› @Wj< +æcãŠÚѮα8Œ¸ç‡*6‹o'4ˆ\DT7ÑÈpBr
ñ²»K¾*al0žLó“=P¹¡ ‰”½ŠÚñŒÖ_º¯¸KƒÍt‡hº8N¶‡¬pdé¼sEìhåÜ}“Æ,V$[‘ßõ̾„«¸Ôõi*|Ë£ÐðœÖvJ˜~›Ì$öçBçÂÅfoÁ€ã){IôvÀÊùt,u&㎆F“[ù‘BjÎÌW§-Ð IDQ{P«MJIOçÒD©îE˜Ç³¹˜©ªmÂrÂmRÕT!¿ 9‘Y”ØÖg8Ÿ/V¾zƒ¹iþ€*$\'*5ÄÙÔÁÁÞ‘z{œô Ã};täH/"Kï
³QKù,ì®Þÿ‡ï¸ô wögøΑšà;+ådØ0ÃU¶{—v(/æ“OZ·BÖe?%‡¬cve.×·ômCÃuX¶\õ¸.Â}—nÏ6Í^ÉÍДÐçžVJŽÖµÞ¿˜”Ú ûÇõ "h!æäœ#õ`ö^ž¬f½â‚y"îw†nyLo<6ëŒ
#t‹üpË ë[ïñîá_wC—• +uCR™gslBQ›ÐÕŒ>6q{l2CP0Ò¦äLj¦ß(ôËÀETx>·O9ÙPŒÅܶmˆdÚB +샑Z®‹:=iý'£‡¢Ú*0…,©×†žŠû€ ê9>Ï2±ÍðÞ(¤t’,é7s†ömI'¤”Í+1Pªc²MÍ +ƒfÒ¡õhˆÑ44°ªhw`{²Û™ Ól¡ÉyA…ÚÃçO4ΦȌѫÝöK)áúAy=¬ÂňåUIC³b›ŸwéèÏ BŠÞŒ%ïÌúiÆоþñUQ“Þ‚ÔèÀ >¬v‹¢ÏEºÃÐAJÕhâË<+~›Ò©qˆ™nwåq5í)ÙþfžÖ:³ÃíA76ú t.~+Ê·âÝHʵ‘Ћñ—/‡‚„ˆÍÁ‚¥¤®‘np~öäÀp¥}?Ãj¶7²ôÑdE4B‡‘ÉͳËîB
éYUWT¦uatWú®’½š¸ +´=-s ©KkYâIuz#æÚÛ†\éÈ4׈] +yÚIÿîeN0×±ÆP"ºq[ƒ¦6¾O蓶üo Æz¡ì£)$HéàRlìZnÏ'²P˜!yVÕÝ»OÏ–ÙYõ—±ßðMB2ɧ.v¥ô-['_âž’ÊÑE?×ÀqØ3‚>÷¼I£Vè½Ñîë‡$<ºF9óÖ÷«›ÛÛïæáG|¥¿®à +ÿC°ƒ˜9Í[™qÐFfó„¹rÏÜ bÇœ>Xâ_ZÈ¡Àÿæb÷?ÿ%hë;H(ŠFŽ'âÏŠ ÄLJ¿úïl22ú~êÿŒ£…Kendstream endobj -1346 0 obj << +1351 0 obj << /Type /Page -/Contents 1347 0 R -/Resources 1345 0 R +/Contents 1352 0 R +/Resources 1350 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1334 0 R -/Annots [ 1350 0 R ] +/Parent 1332 0 R +/Annots [ 1355 0 R ] >> endobj -1350 0 obj << +1355 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [84.0431 554.3938 144.9365 566.4535] +/Rect [55.6967 706.8783 116.59 718.9379] /Subtype /Link /A << /S /GoTo /D (view_statement_grammar) >> >> endobj -1348 0 obj << -/D [1346 0 R /XYZ 85.0394 794.5015 null] +1353 0 obj << +/D [1351 0 R /XYZ 56.6929 794.5015 null] >> endobj 410 0 obj << -/D [1346 0 R /XYZ 85.0394 626.6853 null] +/D [1351 0 R /XYZ 56.6929 769.5949 null] >> endobj -1349 0 obj << -/D [1346 0 R /XYZ 85.0394 600.617 null] +1354 0 obj << +/D [1351 0 R /XYZ 56.6929 752.4136 null] >> endobj 414 0 obj << -/D [1346 0 R /XYZ 85.0394 291.0957 null] +/D [1351 0 R /XYZ 56.6929 447.2567 null] >> endobj -1351 0 obj << -/D [1346 0 R /XYZ 85.0394 265.2067 null] +1356 0 obj << +/D [1351 0 R /XYZ 56.6929 422.3782 null] >> endobj -1345 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R /F14 717 0 R >> +1350 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F14 717 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1355 0 obj << -/Length 2001 +1360 0 obj << +/Length 2258 /Filter /FlateDecode >> stream -xÚ½šM“â6Çï| -WN¦*hôbÙRrꙦgI%=³ö”äà3í*0†îí|ú}dI¶0FŠkª¶ú€,ý¥¿~^
M"$â)J%•Q&Ä1áÑj7ÁÑW(û8!F3³¢™«z¿œ¼{`Y$‘Li-7N[a!H´\ÿ§ˆ¢)´€ãŸÿót7Í’x¹øô8QŽã‡Å¯súøt÷ÛowOÓœÄþu÷y9ÒE©iãýâñ^çHýq£Ñ§ùÃüiþøa>ýkùËd¾lY\^‚™ù6ùã/û— FL -½ÂFDJí& gˆ'ŒÙœíä÷É¿ÛÒ¦êPüZÍŒ%H€ Ê\¢”QÖF™$N”3…)X•ŠòŸ˜d}ÔÚ#‚FnsW¦Vtm -ÉÎTĥ䗦$C$£hñ8»»¿BwOŸ§’Æw7Cž`$0OðŽÊoUAxŸiß7†wM‰O ’™xGå·ª ¼Ï´ƒï›Ã»¦DŽƒÇNI -’ûL;ô¾é0»kJ“qðX"LDàsUx« -ÂûL;ø¾é0¼kJù(x.Õ‰9Wu¾U…ས-ü•é ü…)MÇÁCÏYÊËÝUyà*ï3íàû¦Ãð®)w·ãœ"ÎDàõÁUyà*ï3íàû¦Ãð®)w·ãŒ¡ŒÀ!çª<ðV„÷™vð}Óax×”Ž»Ûq¯4ÁïDt# -’{;ðžã0·ãÈÆÝê™"ÌEàsU·Á[UˆÜkÚ¢_™²_˜²q·º$Ëe$pȹ*¼Uá}¦|ßtÞ5%),w9‚ž”à$pʹ*½Ué}¦}ßt˜Þ5¥£gñLŽ9Wå¡·ª ½Ï´£ï›Ó»¦}ßßâsŽ¼0f<ôÕš«òD̪‚ó™vë›GÌ5%ÿˆa‚$MD bŽÊ1« -FÌgÚE¬o:1×ô=(ÚDÎCXŠÀ7%®ê6y« -‘{M[ò+ÓAòSæcØÓÑŒŽTWåa·ª »Ï´c»¦r{ÂQ’$ÕUyØ*Èî3íØû¦Ãì®éÝ8vª¬²Àyêª<ìVd÷™vì}Óav×ôýMöhF$qšF3" ©¾oÏw‡ÓÛtF ÿÞWE’Iœ§Dąί‹Ó)ÿ²5OùIKNÏ&ã¥,^uj[¼[Ó@µÖyûjkšÏ„ºû®jmt]´ÚæµÉZ<"¸/kå¿ÖŠb Ǽí±"Å€; 7/“¦ŒÇeõ\ËSÓKãMSg¿Ó…ûéÜWµ.*7:(ÛP@v(«ö:sÝurm÷ ÀvrëC±*ÿĘZï&ŒÚ@g˜02F@g˜ÇK5~ÆgÿRåºÇ¨÷:ÝÇ<lËúd²7úÓé+<5üQ§ßögXåÕ…V?´:fûSׂN姞Р-“WVúš®mt¾*jµÄ2ÿ¾×ùºÇn¥
DÇVÏMªÎWÇf!¯Ê|;Љ×Âí_Uëfj¨6öCöŬ–uqØîßìÂl6HµŸóªjöTwe©ˆ¾™¥µÏM•ü57yζæÖºF(2èÖI¸ºZðôs5¡N¥døçj€‡Ïz»-]C[&ik\6åþr‡2Œ/îÄm„7QJËà]›$ðî`¯Î–ÁSØ|@H0âŒBÇÅ'X)¶_X/ñÕÏøÐ&ÎhÉI‚›»Iô-RíKÉ´ÆI7¤]šŒw‹î÷À9H¶Ý™Ópƒ”Rgo“(HŽDBõ5Ùs&âc¡ç¥Œù±¨N:FXíHñ˔¥'«ˆ7SÈÒ«FvKDÄO›“»0²vóU³O©ÚÔua¾Ýê„=ø@dëë‚sµ.Ž:yc×j{*„[WdM0{Óe—JhÖðC"„™ñ¢
4sÔ–4¢Ž&‰Íþ§Dú33lÑŸËi¤Ù D‡Ò.dM¯¶±¥n¢ðZ¶1«.ƒ ]ß™ÔÞ§Zª°JãÊf4£W)U¿/õë¢8Øh—Uu8EÛ?wB'©DTH9kéûV§Ú¸„;ñ¬ûÏ”ïÞ;<ÿ¿‚#ëïþŸ÷;DÄÄot (.óðîÁ˜ù£äj…}noÌéüÿ +xÚ½ZÛŽÛ8}ï¯æee fx%rö©“vg=Øéd;ž§É<(¶œ`ËŽ/ÝÓóõ[d‘eËÒx,ˆKÅCž:¥âÍ‹(ü±HIB…N¢L'DR&£ùú†Fß íÃ
s˜±CÔ»ÙÍÛ{‘Ešè”§ÑlŒ¥UŠE³ÅïñûÝ~šMGc.iœ’ÑX¦4~7}¸CÆ÷î§~{¼eI<›~|@÷ãä~ò8yx?™’ús7Â…÷ÓOÐúðxû믷£?f¿ÜLfµ–P/£Âù~óû4Z€ì_n(ZÉè(aZóh}“HAd"„÷¬n>ßü§0hµ]»òWcÆ"!*…1ú³,5Iu–YdYƒ©(ð(“å/”e§RM S’Eáxg¬5êœÌ†–Q°“´MËSÂ2N¦ãÛ»»Grûøi¤y|{1éÂŒGÅ€ü +—z&ã¿6U±7fç»Sqþ}q8ä_Wî)? äðäÏeñ‚Öªx.Vn€j¾MµrÃçÛ-šÐwÓtÝ;Ü›æ«|ï\Ó‚Æ]¹7üDË:b£”‚D8MH‰]BÆeõTìʃI¤ñÒöÙ¬±q³=”›jMå ²N¸›¼@[µAç¢ ¼><hðáw¿-æåJ¹ç¶iDt¸4 +—F.¨Œgæý9žÍs±Û•‹¸žã0’*àaUîνÄÏ Vx²¾AûusDcžW-,>Ô˜³Í¡üpt‚LF£YnvhæëíªøÙ¨y{›xSØ#™€y +1ùâiŸògG†
0æÞ9|ýx®V|EDkú ™`Æ8î(©”‹xZ¡g»Ëç‡r^àÓá©t]`žùÎ=˜™j>+óÂñÕâ]ÝÇ<ß;ë¥<<¡µÎ«W´¾!lÌ×Â*@Ä¢ä¹&œ¼eµÜåûÃn¤âãüp¬_XÆ`]Ú™dáÖU¾.œ¯¬ð†Þû>Û‹óy±7ó+ñç
ú1â°Ó²ã»çÎÚçóÅó2_uñR„ñUE±°¥aÆØt½°¯nª,Šíjóêg¥]ÍD|Ê«Ê.¨á´2}uój“».ùKî|Ášöº”Fhr +È¥ÍQPE³¿õm.ƒ#¦–I÷·¹ ^ÁÑ$ÃoBºÇÂ~Ær¦ïѪٖ¹ÙÖ¸”áYç6fJ2×J˜j„§wɇ`Å©¹@˜Ý”H»(µˆ0W¬¾0câÉif`Ì®§—Œ0¨aC}ày +l«µÉu¼®yt·EQ Ê<G¶¢Rnü<#Ôä„gpsI3<òÌì»ÎT¼+°8u¼ÍwEu@/¼f³,ÅÏ#›V¬Š—#páÔÑÍ<Qñ_#»wV¯`€²+ñˆ›eóÕ +
¿õÈ÷džcµ(vh^XºêH• +ûªÌv +%WÞaßF¦þjßÆ/Šbë³]VMÖÑØE_XÓ‰ÎH*R¹ù”þø5‹Ô©ŽÆͯ7?¶€Œ!4Å„™$M.]T`NHeŽÑZ•eÁÊÀ:~O«Qæ
áéWij£{’Å༎{~v÷¨úÖá=Ñ$ÓR·ù?›câÒìBÇ/vß1–ÈÚfsí¶ˆŒ…[6Úæ•›OÜ ÁÀµj¨2Œñ|þx6Í7öÓ5ÚÔ®´i"æ·A¨ 8DÙÛ„ÐDÁמÆU},Ý48ø¾©÷¤êdw2ãÿÃu@}Ær“,¿OÂ!fq¾O¹÷Í$¬ðZ²¢P=EáQMQÌ7ÕÁ ΪBÃåkˆ¾Fuð·ªBÂUŽžPWW‰« +®dì#²n—6p»´©¤.cã‚åïàh—…i²eÑ45eañ|¥šë˜¾,¸•ù²€òç)\„ ,¾˜%Èüó¿•g°C”A€ê)jÊÀj›U{UœÕB–Â
;Iúc¨QA´jA1¢”ÌÚQLªæNæ¯R‹Zî³å_”¿ç™ö‹w¯þ̹̫æÒæÜyx4D™—sm>•”ý©@—3íA®zg‰†Ù‘д7€tA;ͦ&Ó +˜:‹ò¹\íQžëÄ&AbµKl&VÔ•/ÂÄŠúnºÂæïЀ×w´ÝEÜÞ¹ìÜ‚ÓϤn*Úß,ÀK[y¹ïíåºè9ÛKbþçDGúh}ˆþáÿÄ|…–qñWpAS¢8Ü3\PF\*O#—B©xÖúpfŽendstream endobj -1354 0 obj << +1359 0 obj << /Type /Page -/Contents 1355 0 R -/Resources 1353 0 R +/Contents 1360 0 R +/Resources 1358 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1334 0 R +/Parent 1332 0 R >> endobj -1356 0 obj << -/D [1354 0 R /XYZ 56.6929 794.5015 null] +1361 0 obj << +/D [1359 0 R /XYZ 85.0394 794.5015 null] >> endobj -1353 0 obj << -/Font << /F37 779 0 R /F14 717 0 R /F23 714 0 R /F41 910 0 R /F62 1035 0 R >> +1358 0 obj << +/Font << /F37 779 0 R /F14 717 0 R /F23 714 0 R /F41 910 0 R /F62 1035 0 R /F21 690 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1359 0 obj << -/Length 3133 +1364 0 obj << +/Length 3146 /Filter /FlateDecode >> stream -xÚ¥Zßsã6~Ï_á·:3µŽII|ܶÙ6v÷.›NÚ>(¶kΖ\KJÖýë õ#J¼wYS D‚Àâ#¹ðO.2 eõ"µ:2BšÅúp%Ð÷ý•d•WZ
µ¾¹¿ú×{•.ld“8YÜoce‘È2¹¸ßü¶üö‡wÿ¾¿¹»^ÅF,“èze±üæöÃw$±ôóíÇïo¿ÿåîÝuª—÷·?øîæýÍÝ͇oo®W23Þy„W^xûÓ
µ¾¿{÷óÏïî®ÿ¸ÿñêæ>¬e¸^).äÏ«ßþ‹
,ûÇ+)›™Å3<ˆHZ/WÚ¨Èh¥¼dõéê?aÀA¯{uÎÚd‘‰u²X¥6¶ó^‘0àµUª²(Y¼Ë9/{-ôrq8¶çUSœžŠÓtÉRë(“0ûpܳ™éÕ`z©-,ÁØñüŸŽÅºÜž¯WJÙåó.o©Å¹v• -î/÷{jåÇc‘sYÑo»cµÓµÌ–EÛªbC’Oß
»ÖµûåÎmÍ9_Pó¯º*DLš-o·è˜ÅJÙ(ÓÖŠed‰ý(nʆ~\ÑïBÄÅæk’€aUhQÇÿŠ_ õa‹Ö‡–tM±‰^@‘ãXe©NÞÅPëuPëºjóuû6ŠãKÓ™ùG¨0:ŠÅÔ€€Š8ÓŒŠ83Ko‘³Û@Ìn™‡¶ØK>ÁØå`Ñwõ°ÀNìdX`ÓÃBK`ð¥ÿ ,~cáÿÀÕB‹K0h½¯ÕÃÀyUTùþx…4‰¬Ðúm‚ÖŒ#,d2Ê2“Ž¸¡™\HàwS6½0÷ÞòâüÂ@) 5ƒe›b›wû68ŸÅ9Ÿ‡p“½ák™D2‘é_´Þðµ×ÂUòŠV½Ï_úÚD1:åM‚ÖŒc_ÈOiÇV|×ûUAmʧrÓå{zîÕ÷Zv¯ºWü«¡{•_å_Åò~GÙ¡–õ±-ëŠÚë¼¢ -Ê°LMMØx‰ò‰Bw€ÉË£E[ÐBxâý¤š 8H«HÆ1-ù:"¾ „X¾ÛlJ´(gh}*ÖÞ@ ùzWV<øЫ†·‘RÆ
zï -’6Ë|0šÒª†k€-A%@¹©Ie
¨†•½´_fÀ?âhƒ›#w¯Ï˜vdijYÇGw;ƒ*š¥¬ÚâÄf±%ÔÑÖ$*G¿ú‰—Òz
-ks¬«†»ŽÅiK;èŠâK ‘ÄãñWkRj—õ·ÕÀê@b6[þJ{#ô¡ï®å2DÁ}øÆšƒázP³¡&g2îµY:œ~|Í~Õ(ÌyÌÞ-nº]}jWëÎUBñ†è( -žÏÔCùîeƒµ
žœe^\ðÅJ&@Óipîw]ƒì HD‰;tÂÎUæE-€®qv&¡¬_V@Qk]Þ'\±×ÛB((Mw`FŒ‚’‡ Å»1ÂâÝ°÷•À¿že(! -£h%‘±2þ‚`%F²VO€%e\Q r¹S*<»§§‡3õ¾¾H ö™¶c#'͉-Ii¡Õ›»ˆŒt"Ì›»ˆŒ åG‰(A]áJ‰;"èx8JŽuÓ”t$‚'GOpMá~…\°¡ÚÈdS -Σ&
¡µÀ1É$V½N§$„ª}ÏÐ ‡=¨|eUT}áùPV”ŸzPÿ©‹F -ŒÄc"Ù˜09–Áóþ2¦HÆ[Çää×k[~»[Í%Iݵ³ -Ï4¡1*øbH{±“Gz.öû±„Þ—"œC\§Û¢°Á,ëÆäs^ÛX9¹u¼ÉóÕò‡ú¹@6TÄ ’ImÉ=È4?»Ýßx`€Ê
&GãþÍSÓöc|:4ÌAÇÌøû¾á$häjŽæËí‡#Èè¨ãYGlÕ²¡kJûÁVûC¨Õ´…ÂïÝ©[Ý8~·^…;û׆e§á‰IöH·-›}Ñ4<évdÛ±ï½ÈòN'xeUŸ6ô`‚YÁ™22¼1hÐŇLF ®dJg‰…ÙÁ$À}ºý†¤üí¥Ôr7‚J<½“t|Å—8’ØtZ¦Îc´ásŸ¨u>2ŽýZF±Æººwó+ßr7ÑeÕÐSN?Í!§ŒJ—Uwx âE<г:9«R2~éÜáÆΛ‚5Ê_21t_øYøô7üyWs˜A2Î5aŒÓÔòftp÷†.ÞÖ» Lúû/ªc{8•†ñü5@μ¶;r_}]¤Áæõk‚™ÂÛµ*ý߶ëW¯z¥•8Ü…OnCׯzƒÖ,Ï]É¢$ -óæôAkfþñ‘I!ËÆÜÎe½db<i8CÀg¨“‚¯ú:wù”2º´ñawì®ÔŒ®çŸòp’.›¹X'?:ÚËLO_Œ³´WæB˜{¥7¢ÌJƒ ¯÷0æêqåN °ªñ¶À
$Ì[f¥—vŒ€-D” +xÚ¥ZKsãF¾ûWø¶òÖ¨·l>*§IâIœÊL²¥rHR)š¢$ÖR¤"’ãQ²ùï4Ð|È”=S[>¨Ÿh4€>€V×þÔµ
E˜èä:Ja¥²×ÙþJ^oaî›+Åk–~Ñr¼êËÕÕ¿Þ˜è:I¨ÃëÕfD+2ŽÕõjýË"ZÜ +ƒ\¤”‹×ëuÑu•–tÕ÷y†]GšíŠj‹·ÚfD[^/5’†Ô²Úå7KØE:"g‚`Ñxr8™¹ü´Ãx‘–MMK²´,ó5Ÿ1æ_Å Tpž‘ºí3¼èDÄQó2¦_4ÌPE§U›™-æ„&Úš†Šýáx£âEý¯Òún8ouÕðÔ!?nj7¼D~@*R¢J”‰µÚ±²O«vè(YÔø{‹ƒ‘lT¼øy—W4‡²»Q‹^0Ô‹wd¬
7ƒ÷ÃÁ¼J@|¯p4“§ŸÇ¢dR|eL™à wÖ®>¶Ë¬kÝ•¤¿ +)¥¤uDBÁÆXÑZÇ#Na2«rÕR%å9p@‹ÓªyÌyôþ^Pã]Ýæþ´±Y¶l_²(oNPÈ0ó6º4p2Ȧöy¶K«¢Ù“RŒD"•™*ÕiÒN|Ç+úM«55Ü‘ð[Õ-5È‚Ê´Íy…'þ:qBãëwï©10dQýÇNNÐÞt•“°èÕ‹(Q¡cjüŠ
hvxvc»1 åu74ì¸sópémNm2zhœ=ÐëtzÅþ¯ÒÊüc–Ú³÷÷MÞò!ôJÖù‘à—€Û[ÒÝ`h$Þ‰]™Þ ˆ
ZYNÃyY?ÊMD‹‡®¥‰ÌéÙœ½gœ!Y›ó÷Œ#ôžýs…Í
>ÄmUü*¥ŠmyºQJ-ðÉJ»¸ã³œžaõ!=¶EÖ•éÖÍÜ)ßà‰¼‰c&üê·#Kh ÍPx86<Rq¿kámêéØÁB`š®£¹?ëŠOsÊíR¦
—=ÑÐ:/ómŠBæ©Ç¢ÝÑ”[4ã
¶eÇvº>3Èȸs¶ú§®s¶8üЦ/a»A–>ûnO‰Jp`¤Ï=Ù nhˆ÷L‚OdÉv@‘ô¬`2ÄÙ¶‚›š·ñm²ËͱÞ//ù%&aÇw‰iZ„*ñ¾©ªçÈXam<v_&±l´Y½‡Ë¯¿Œ;%ù$^Œ°2ëŽ´Ø )q/¡t2KÙ'Àjx…36 +›(ý Ê +âU +b.ê=œhö²;Q‘qL™Xp›á%E ó¬Q"¥}Ö‹(-OEÐu+Š{ðH GuÓÈë9x‚w:äY±9ñ l‰°ñ`@ä%»ÃÁC•²Øg¼·[{¦w÷¦kÞ˜Ž^ï¯îšy©j«„5&ôJK?.Y²Mñçœ\##¤±Q/º‹†*LÌ4z½ž!í„3,Aã#«¡èý}QÑûFñŸ¦ˆRH,!&›&‡2øÜ¿L!’õÜ18ùùÆ‚Ëow˹À]wí¬Š(2ñçæYO >W¡Ù)+‹lŽN,,܃—‚LÈÀïfÂ!g&Ø ÇIÀ—cØ‹“Lé1/ËéíW²ÏCܤsQØ`”uêir’+'*9s;ˆ›PôÚ,¾sDc +ŸN endobj -1358 0 obj << +1363 0 obj << /Type /Page -/Contents 1359 0 R -/Resources 1357 0 R +/Contents 1364 0 R +/Resources 1362 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1334 0 R +/Parent 1332 0 R >> endobj -1360 0 obj << -/D [1358 0 R /XYZ 85.0394 794.5015 null] +1365 0 obj << +/D [1363 0 R /XYZ 56.6929 794.5015 null] >> endobj 418 0 obj << -/D [1358 0 R /XYZ 85.0394 579.1982 null] +/D [1363 0 R /XYZ 56.6929 769.5949 null] >> endobj 970 0 obj << -/D [1358 0 R /XYZ 85.0394 550.0226 null] ->> endobj -1357 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1363 0 obj << -/Length 2507 -/Filter /FlateDecode ->> -stream -xÚµÉrÛ8öî¯Ðmä©ÁFèœÒi'í®îtÆ>%®MQ6+©”ÏLþ}ðÀM¢ì(ΔÄúðö›Qø±Y‘Èp3SF’²p–¬OèìæÞœ0¿&hÃU?/Nž¿jfˆ‰x4[¬°4¡Z³Ùbù~NN¿úóíëó7_¼<Ur¾8ÿóíiÀC:}þû¶Þ\¼üã—§Ó!›¿úõå»ÅÙNEÆÏçoÁƒŸ@/Î^Ÿ]œ½}uvz¹øíälÑÑ2¤—Qa ù|òþ’Ζ@öo'”£ÃÙt(aÆðÙúD†‚„Rˆv$?ùëä_ÀÁ¬Û:É?F Ÿ` g3ƈ C>â`hH$¸è8Èp…R:¯›¸Éê&Kê ¹‰‹"Ík¤ø/˜H×iÑx^VñzW–üç¯%H‰ÎnˆÒF9è“ -°czPöëˆP%£Á¨`|¾L“4éyZãHR®×Û"KbÄ]06ïIµš¿W)~·uºÄuW÷8Rß×p¶ãå:+ -2žì)Ç~V¬Êj÷ì.W~°Ñ5Šxí[uZݦ•uAÄadÏÀä÷ŒÏ,P
Ye»YѤÅÒÏ9D˜rL°}·H¿dWy:œÛ
ší¬·y“mÚ%;Œ¶C'‰²)“2¯ÛS=@Gœ¸Ú6[Ø3à ‡mƒ3 Ž-UCÁE“ƒˆ¸ -çeѶ~],Þa«c4´3ÿõø§KðéB‡ós{–Š<¼ÏÛ¬Ó»º¹‰lyß-ƒÇ(øÕ›,·c{wYsƒ<»ú²Î9X-×ÚQ»¯ý\³‰D¸¯þ¨ZÝüHµ0
)—œí›×²@+Îò‡,‡6C&ÒÛ´ðKWþÛàn@4Yî‡,¥åÖƒFaÂ(P]ÅÕý)ë±â4¡'ÌÅÅ=®öòç×u°Åjg¹g€§gD¿ç±óAøM+Ô³)#@uyYL90\iÏ-çl÷Y -ÊhÆý¢¤,<ËâÊM+ÛÑÈ&Œ±»xõûu™|rÖmÒ"+®qM쇑ƒ0PoÒ$³Î¤²2—„ðVa²Ín†!¤!”‚3 -8ˆ÷æ[rj=aÄ`²MzÌD"2Šõ'[¯Øg*ˆ†šÖë;gñí,P°W3q2„äJ)ýãXÐA|„2T„E‘³Àe$Ó,¥ZSb~w“%7^óa>¤r'À'NãÁŸ8ï£Í¼íŸ¿»•8FÐŽDØr8§VƒÓ“<<`
PÏ•<ÈXÎ#°äQA´ -c^ê½*°¿îC€[ÕÊJ[—·L0[Yzyö²zŠ -ð.ñÑ}»pñgv+ü:´l“œÔ¸‘tpz”R«@‘†ZçÔðy‰óèÐpž2 -7Q󨑆Ä(ŒÔBD -tëÂâ|B 1Da< XiOØ"Ju4Ô~ ^«oTÎ_
}¤;¶ìw8)1öD#òŒöä²yŽ}_^bg“Vë¬A -
”O1j̸´†¦SN)Q¼SþÖ`/ä^N€Ìí5UOÏe:ˆÁäDÈ5Ûv·Ì¢é.5örNéäC²ƒø’¤i#éî\&LBˆC¦3 07Þ„ÞpBA%çi &’i3Ò@Ô - -NB ¹Ï(À(ïbƒ¬ -—µŸsÕ˜mS¼îÈŠ$ÅI´ThŒ‚&Üwg6qæë¬ÉnÝ&Žù5o7éî4ôxÙáN¶’n²ëWßC‘µ—
i±l]y{2ô:;&u‰× I:¾Q1ñyPüéñÆßclª*êËÛÉË–At°y0=#»ë - ¸{=Qиóˆ~Å+ÁØ#ú% ÜjÙ–U¾w”øÓl$hó±û–uãŸQÌŸ¸‰ï+!5ÒyCË ¾éo$M{#‰·YO»Vö0wÂïŸoªt•}ÉÓârxÅl«xL]¿^•×[}ŸÖËê£MšlwtK'ï§7Uy›-Ó û²ª¾F…jx,Œé²ønìÞ`»Üuöíúªeí7@XÇ_Ž0B¿©â¢^¥Uý]Ç·»¼MÝ}/(‹4€wi÷dà‘.îýxÝmaãC:õSzß=c¸õG6‡ -¬›KÒžÒl#÷E 0ØúÜ:<Š³ép÷Mdï5är?û€‰jÈ–âØò°G5ÚGÕ(£®VÿÁ¨r*Àw+3‰*x¾luÿm …‡tnâ•i¢<9š¡Jþ˜Äñqfö’ùÈ*'®¹šd&8²jÌK?Ñf¾?åq´LÑhûöÀIô/¼èë‡=«„²ñP}ؘ'BCÒ…òQžt²;ž-ÂØÇdyìçSØ}ؘ-ªi4›ÔiÈŸÇ{x°)íUû(~}ƒãïlkAŽárÙÛ8?%ÀTb§˜Ä'Ù©?H턘z²§Š=ùý¿'$x(wã*j
@<R.+‹ö0oÿI°úÿ -endobj -1362 0 obj << -/Type /Page -/Contents 1363 0 R -/Resources 1361 0 R -/MediaBox [0 0 595.2756 841.8898] -/Parent 1334 0 R ->> endobj -1364 0 obj << -/D [1362 0 R /XYZ 56.6929 794.5015 null] +/D [1363 0 R /XYZ 56.6929 749.5709 null] >> endobj 422 0 obj << -/D [1362 0 R /XYZ 56.6929 769.5949 null] ->> endobj -1365 0 obj << -/D [1362 0 R /XYZ 56.6929 750.8607 null] ->> endobj -426 0 obj << -/D [1362 0 R /XYZ 56.6929 659.0972 null] +/D [1363 0 R /XYZ 56.6929 266.8581 null] >> endobj 1366 0 obj << -/D [1362 0 R /XYZ 56.6929 624.1351 null] +/D [1363 0 R /XYZ 56.6929 238.6068 null] >> endobj -430 0 obj << -/D [1362 0 R /XYZ 56.6929 354.6303 null] +426 0 obj << +/D [1363 0 R /XYZ 56.6929 155.0102 null] >> endobj 1367 0 obj << -/D [1362 0 R /XYZ 56.6929 325.4424 null] +/D [1363 0 R /XYZ 56.6929 123.6346 null] >> endobj -1361 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F41 910 0 R /F23 714 0 R >> +1362 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1370 0 obj << -/Length 4167 -/Filter /FlateDecode ->> -stream -xÚ¥Ërã¸ñî¯ÐQ®1Ä‹*§ÉîÌÆ©dv3ãÍ£vs EJf†"‘²Çùút£|™{6åƒÀÐh4ú
X¬bø+k¢X9½JŽL,Ìj{¸ŠW{èûáJð˜M´úÃíÕïÞ«tå"—Èdu»á²QlXÝ濬¿ûãÛŸnß}¼ÞH¯“èzc’xý‡›ßÄÑÏw?~xóÃÏß^§z}{óã|÷þÝÇw¾{w½Ö˜/Ã… ïoþüŽZ?||û—¿¼ýxý¯Û?]½»í÷2Þ¯ˆnä?W¿ü+^å°í?]Å‘rÖ¬á#Ž„sru¸ÒFEF+ ÕÕ§«¿öG½~êÿŒ²‘±2]` +!"gŒœpи(QRyâ¦eˆãxݧ‡âD[üÔe]q(êŽ>¿/~cY—]ÙÔÉêœ?·Ù¾@VÀ‚jtbñj#“(ÕÎù•nïà 1$l”ØØÀ`Ã<Ç%äØÃÃF´ÅbmEKŸÛûì”m»âT¶]¹e`×Ðï]A¿YÛ6ÛÐäôýXv÷ÜC?§ka×Å¡éü¹®³Oe"A4@\¤Së›Ýd摦"M_hnU\‹u½‡`g«¶‘2¬?ØS‰„*À~,¶%Î-ò71ëî¾@–+é€!§¬ÞÔlv<ËÓÔÒ°€jÛ HK”ªX¯¬«'ê¤Ô84m7[yKhzi@TUvnyFv<VeÁkþ}æóªh™ ÷O7I«‚Ì44>[YÓ™ë±h€ì»4q|æÈÿ<Ú6õnA<@¢Sk›…PQj¤…–‹D¢¾*†L¿$† -õ0b˜ªõ6«©Ñl·ç53ÈtÍ‘ UñPT<~7˜šÏa>e¬o --4žxPsÜÐ “(:Yá¦ÊÐx‹¥bÞ›×Ñr_7ƒÖê4ö'à‡Ñ€‡¬ .ÛpDÝ,ñ'MÁxZó -þ$ÎÊ%þ(‘ÒÞp‘ÉÞæk I«åo]k`wr·ÄM–¨˜²3/vÙ¹êÚ¨7<^ëïô,ÔfýÔœ©‘—-™GÿÕÝ£¢*x`lýñ;ØBl£yÅß}ùPÖ{j7gž—å¼@ÖeȹÄÙés?²ìè7c,wÍþÌÍDzª¨Å.äÁk¢ÝO w§%›úŸ3x:oŽÁ’‚AõÚ+boî<„ÙCYu–x·¨RSÄ)ŸÑ¸xŠ"I¨²]À~[ôö§O5™Zjf» -ÀQk`7ÄtÒÐéOƲ¶
áœas{„e´!~Q‰x51#uQŒLœÆõ–…„ÄÓ'ëÿz»‰‚„vçi
n¤fø= -õëe Ï*ŽÙ-6“ð@NCSOÏéa¾IÅ›„Àµ©7Ä$©A—d’~U𥠽ÚfwÔ€M#ŽEAÁŠ@³ááÝrt•šÈˆ>>{IEÁ]ô¹9rØËzX…( l9N€ß}ÕÜ¡6x˜ŸÚÒǨígFà ïYˆ3J•qzÊ™Œj6± ‹þåbT© -^îDêrqÛ&rƒLô·•d™Ø,I+³„ÌÌÂ& -,Ý`–pœß•¥dDzRKë‚ðX9Vošµ¨up¬:vfÊ5²A2M¦rlÖ;Ò¶w’4›`ˆ6l3ÛÓã‹ŠšiÖÌ„¥ÕÏìÞŒù}AZ¡·Ù
4,X&@-{§õò±ÙÄ<“VÀ^²ù†˜b"§.¤B!ŒŒ9ÖFX/Ãðd<ƒ(:òRúi%?zó÷X3QzfÆA
ÈÚ@Ï(£ÔawÎÝÄiw>›÷ˆY” -2dVq¼…£î_W-ß&Ù†·¾4vRx±†{{Ƀ’ü¯XïÆR|É:K¦ˆ°U=‰|ŒsU¤|dPîÎûýӬ·=eí}H1‚•Ú6§Óµ]Ÿw`ÆC-Þ>´˜93ƒµh”.ºP«E°ÅE^· -º—Ç>¨÷¦Áub;DôÂr,ÐѬOô Íq:æ¾ä§ÇŽ§5ôË‹¤ëwßøÄ3(ÎXÎ8Î5=ïxÉhÈ©ÌÌ
pÝS·à&^ÐÄÓzãåœn1ýIÅRèo³CfÊÄ“ûª,éËbxH›s~Ü´å—êÂ@’K¬›yLÈÐkã9Y.O"ˆyŸ¿ÿ‰ú<Zâ´Ý’ta_–«º’J -}ØÙÝ—æB0YVM ±¬ TC7ç‰Èÿ}û“f-•n «Ž‡Qn` ë»sE0f @¹š<-Û{êôÛÒñp-Á3ç`£€;vàTÞ€¬…gøpðF{ GB¢ûrF iaw=9ãx# C°]0lÞ¬VÅ›¹-ÂŽ‰Ac›‡åYê~¤è»º—T»-Ž°Æ†ƒ=ŠÚá«")ÚOù:ü·å#)h:kÞ!ûòU5s¥ú|¤ -¡‚š -,(:·/åá|ÀÙÛCÅ:‹ýEëo‰h>)0´‚Z -Õ[Ì^j_ùt3RA«HKu¤TœÌŽ¹? )IÕ¤ä» -,M¤úÛRHdžxcKn=?ÖÇègµ´´Ïa¹]VôÄ|ÄÙäqÅŠ¸é -qƒ–¶ -xÏéÐ`7•´cLûrTÊN UyðÉw hÔçìùCŠéd½=Ÿ†°ae}ל½6ÁG¨+Ši]qâ‹Æ‹LøÓ¦yÝ«RbÆ[™çòU*˜.Ù?x=žØy5wäpg=ÆabàÙxtÁ€lLrï¬Ã¥ß²`IÈΆzIOóæÈâ¼(e©Ž¤Ž§9Zn_E;ûúšÄPøõ¹xº½›8‘óì]Cö‘ƒ(Z‚,=B°*Ò°ÈüY–ÄgZË•° <€æ5³d䬵Ëϲ6=ÆÍexs5¾VJ+{eÉ—’pÙá˜Â“¦œ¶íM‡¾T×b•™1`Îäm“›
4|Åä×aÆó;´ÈWàÒ(8xà³ -f3A醰t“¨týv)½š^|ùrg¹/ë¬ëí4õy©j71âtib†Ûó’cý©¿ë«û:ôÝ=…õ2ä–/ó®·Äç=„r:f"±±?e‡¤vþ=oè]ru.J“¼`»M‹g—–ˆRÍæ±¥¶7"Ø8œ«®<V<qbÂ¥ð½Ö±Ÿî“ìF™
¥z-êeþb»äš€Ht”>{g5 -+*æ"g Ï’ÖŠ'òò¥ˆS§íR
òP%}éîCͺŒwó, †ˆZ`|7¿ÁÇJ!):ܳôæ§M NP<(á)ãä‡ä9g…Œ“R¤„S$3º;\¥³»sò±îŸ¤˜É“Ø„')zöÅÌß¡Øþ¹Úò‡¢ -ò¿ÑàÂÞ7üÖŧF€ö‹)^ý¯O -—r%Æ&ßtä›~ÖTýãPÉ„ß‘UóE"¹þQ_•FUI.{d²¦ùi839»-—³g;þqðò¶¤¼ÒHóÍçßã{y?ï‰ôtòvø£,$uÖL½I^tYYµo‚ñ,fæ5/Úí©<ÏÏ—ßá‹4|yÿJ:<½¬¤&U¿AI¥P5=G`¼"iUº‚ˆAÁ‚_€úÑ›aøóècŽsýÐÿIH0QúŒ˜§DÉ1Ï" ~Ì×I˜aꯕ–þYB¼L^Z-îÿ{áÿþGŠá¿L4âÖÊeÂUœDVBÄÆDùÿxƨþ?.ž“þ? ?eendstream +/Length 3208 +/Filter /FlateDecode +>> +stream +xÚµËrÜ6ò®¯˜ÛŽ¶L„x +b`bY*…tÜ\gU•—-Rëåd½’L(gຶ˺|ŸWÐoÒuÑ⿆á¢,i(ÛlòC—oi"¿É+¿tG#Å9_w¾ÙÒÔå±(ýÐÇ¢»®zwÓhY\6Ys{Î9_?!›À¿#«niõ÷oFÚ¶Ø#¶ËŠÉ[Ež¢ˆsf“D8Âð`ºÓ¬¢ÿ¼iιY×
^>s;cØc˜äÒ¸=O+Ï®){yÂŒHçWQå]€§š†÷LÝÔUGg!ªÂö·C\‚ÁŒºÏÞP¿7òŽÚeÑvyUTW´&óÃÄ@hù¦ø5ŽÜË]”…JA^’åÃRœ¥ÖL&ʬ´°L‚Ì<D PhLXœ£b4yWV¥ÐJ¦ãɈá¡nBLœÅ6µžŒºú"hØl¸:ÉeK„’ˆ÷ð@Â&\ò9²í¶9ÁÉ=¨*R®?^›k/ù0ŸÄJ÷²OÖsãDÞ˜õ¥Ó7»îû¯ÞÜ(-èGRj9@fAÓÀZ*‘œP‡¨Zžd¬HÆSäqÍÜÁ£;@Œ¦ ï2V$†ñDÛñäÏ1V2f°ÞÑ5#•ƒ=Ñ®0dâþ3 +ò®´òTƒ‚Ë>/ \ñ=Ò*”î—|ýuÈKyÑ %ä#V(±ŠxWhÝä«1µªéß™h×rRÿóûd¹ÆÄóµpG[jíœá†÷îÐêCÉãõÅuŸ^¨÷«*@5 ÌT[¯¤ê¤’&Ìj®&«D +Ö +æs†$z¤F(ŽÈA®Fæ. Ìa@A•÷I aŠ3“@’ + + +¦‡Tã”xIp·FõÑ¿OÆ!þ0t}<vÛsn¿?VÅ&™7úüAXA„…T,I
jxʤIÈ_c‡ÛóˆÇ1ÜRÞÜä>”øyNîË&Ûï³&,ĘK`%Åp#xÅá7ðw_š|W|*óê=MüÇ]fXø™éÔ;ZqY_[jÞæíouóMØý†þÞ‡äØo>4õM±Í£âÓ®ù3’ÂGÁÈ·Õ_¦÷FÇí!j‹?rªŽûËžµ8}Ÿ}z€®Éªv—7íCwóÐîÏk-8ˆ9µê*`ÁÇâ{¤«[?Þ[øüÐÏáü!¿m{shŽ0„š +Ô}b(± 0”è¦b¨¥#F½Ùjf~Ž‘éê”ù+\i_ñILñ®ŽMŸàÀ Ž”~AíÁôn=ä,XÊJO†RÖM‘늙ÄÜ¡ +eF[’îðÁÉXfb½p2§Ïѱ¡”R÷Ù¼K,±„•Ó0w
ˆ©¯}îNÅÌèä!—'¿s<Uý-Iy>>˜Ô?e½iÈË°!*i™BÓ'¨¯9¢öñI‚Eѹ2ÔÎbÉXŽu=ÔÑ⪪GU:v7à–Ñ‚|Ç£±3²
W“®5O“<€?©5"ÄÉý+:2£myWˆß|éY~PÙÜ
·>²Ë +‹ßoåû®jòÍUoE Yûåá''®ñû”!>»OEÁ]%ÃÃ=Ôù¯Áªñ€\°ñqü_•õ¥+ûãØ¡‚ƒÎ%¨í‡éGeš<‹ÏŸ$~²c²¾ +?³ ìÔ§|2aøý]àûxHÀý™ßø
¤ÒL3ù"hn™Sfä)—êé;/Êý÷€wQÿ¼e{6endstream endobj 1369 0 obj << /Type /Page /Contents 1370 0 R /Resources 1368 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1374 0 R -/Annots [ 1372 0 R 1373 0 R ] +/Parent 1373 0 R +>> endobj +1371 0 obj << +/D [1369 0 R /XYZ 85.0394 794.5015 null] +>> endobj +430 0 obj << +/D [1369 0 R /XYZ 85.0394 583.8023 null] >> endobj 1372 0 obj << +/D [1369 0 R /XYZ 85.0394 558.9029 null] +>> endobj +434 0 obj << +/D [1369 0 R /XYZ 85.0394 285.6218 null] +>> endobj +1259 0 obj << +/D [1369 0 R /XYZ 85.0394 254.9481 null] +>> endobj +1368 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1376 0 obj << +/Length 3621 +/Filter /FlateDecode +>> +stream +xÚÅË’ã¶ñ>_1GNÕŠÁ“ +0°è»?¼»yÿóíÛ+£¢»›?\Í„fÑ»›¿\SëýíÛ¿þõííÕŒ[Í£ïþüö§»ë[J<Žoo>|O”þÎ ½½~w}{ýá»ë«Ïw?\\ßug韗3‰ùõâÓgv™Ã±¸`±L¾|„‹yšŠËÍ…Ò2ÖJÊ +à“Q^´ÅnSVEƒ}=Þí}±£Aht]/²5Ášb÷ +œfÓè±\{»+n#¢—V•Õ‚`›¢ja ¥cÅR}9ã<NµŽòßê +)2IÔY;ÜÐèhéÔ?èèðª|(*‚ùêÖ
Ïái†y›¬i 'mÝ,i ªÛ°²}ÓçŒ=dë½Ç[/4œJMj+!í‹ÅfýäzÛ–µ?MY——1pWÙDt<”Å#µêý¯Öõ܉aaC9Èø5K%É©•yHFy±Ìöë6v4°Ë™`qÂmêö¾ùç;4Y©úrÆåRFmM#Äû†:í}ÖÒpÓ8o¿ÝÖ;?zDìU `Ù¾7Y[‚v®4¸ÌhPEǫ́·ï[@Só•é[Öô"•&j<œøJ®Ì1F¦@ þÛ¨*ƒ +v€
N•pÖÍèXs_ï×He䮳CCíÇz÷-'Iœãr°í~·ßqÿÓˆÁ™’¶»ú¡Ì‹³Öd„ñ“‘k“ŽR«Îˆž·8“¦?éÏUú'é%ýÅÈFeëOY7M9_Ý<g¡’ëlƹ——MFSm4:¯ìxd;‡VAŽZà¡+š5¯Û{‚y§åÚ¤;ÐpÞ—fÂIÊ߬ö£æA§t-åѲöXŠ¯Ùf{žß“VzŠÈccy$~ÂTŽZÞs(óýjuðž¤ò®e±Ëšû¢z©E½Û]Ùh¿mý@žµÞ÷øãCË3gä°&ÒÙj¾¸È«)õ*6ªÓÇ:%·ƒÐ)¹9†Nt2E¨ó!ǵɇᄬm‹Í¶õËjú÷›˜èúûý +wp„-êÍf_Ós—â +¢Íræmöèã;O°/11\=é=¸ŠS%ƒE‘p ½*$÷y!Á•ÞÒlŸogMù[1±”&6ELiñ¤¨KÒ
€<o¡õó÷?јCë@–°UúuY¬jK>?¼Ê6äe-ð2»ƒË‹Â–îäÖ‚wK†bêËDòt(
€¿_¥ž¬ËœÆ]²4 0#¬Ü€æ‚ ¤Ei TBù¡%5M£_˜f}õ¾mÀÅÒ`{_z0äW+ôºŠh‰åR5sŽˆüß{ð?9`æñ”3¸#¬Š%"É£"t}¹_Ì3 ‡zODz¹§Aw,ÅŽ‚hž8ÌXú +…#õ6²ëô|fBðC°;VIÑD<2²a›ÝŠ |,&³Ik#Bî +äëþ,Nc¡ ÚÔÒ+E"vP)%#zoõ徥ɴ²öÊ™)@Ð*:ê4÷¸öUt´u{øàþb ©Ç„Øø«‡QÚÓ·Y»¸/rÒ„n`öMÕ½4ÖeëøO8±yY¬Aï“TEÿBWèâ-,\„F³-åò@_ˆb“l†Ú.œš¯BÃE:ldI°MÄáòQ·lúrü®V"È¢³TàýðB¡?Užv«Ç'_ˆ®ÞZ¼Â™(~ñNŒ½n3#bf…ì)‹d)ÝW`òì8†jRäo05RgjSÌÖÿÀνˆ—‹rvf?#Á²•„Û)S&–iÇÿ¦ÍZw%G[¸ÐDÎ(e±LŒšÙ¼a#"FÞûxwJ‡¿)…íۤ鮣Œº +\Äö(£¼À#WÎo(ï7Ô¹Ë8ˆ+VêÑéÇfè˜N|ú?#}¹•RáÿdÃØ¢@[£Öà#‚+d`¬%äHí´ô´D=0"L®ï>Þ¼3 Ô؉f‰
áHc»Õ%5n{o3aú¬?ÿôiæ+Òð±t[UIá2‰M’è-'¯CݬgH8ÅæùÀ‰€pûDm¶þâ/ÉÀšpïa†0{à¼ôÿðˆŒ‹âÝ +ÿdƒ + +ÀŸ†_ì
«—s¤o@¸„^1“p@iÎ
©Š>Ÿª€ ¸ê¼äóRÕÉ0”ãfó"\†AÍì(þ?@ÿkôË5Lƒ\“—šÛ;)fp˜©¥vßk°T›îY%<gX3íÜûÞÌ•EëÇã5¬ûFÖWZ¿_°ÚØZ#}.ÑÇ” +endobj +1375 0 obj << +/Type /Page +/Contents 1376 0 R +/Resources 1374 0 R +/MediaBox [0 0 595.2756 841.8898] +/Parent 1373 0 R +/Annots [ 1378 0 R 1379 0 R ] +>> endobj +1378 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [116.0003 171.5741 166.1092 183.6337] +/Rect [87.6538 384.3462 137.7628 396.4058] /Subtype /Link /A << /S /GoTo /D (tsig) >> >> endobj -1373 0 obj << +1379 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [399.2874 61.5153 467.9594 73.5749] +/Rect [370.941 271.3774 439.613 283.437] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj -1371 0 obj << -/D [1369 0 R /XYZ 85.0394 794.5015 null] +1377 0 obj << +/D [1375 0 R /XYZ 56.6929 794.5015 null] >> endobj -434 0 obj << -/D [1369 0 R /XYZ 85.0394 769.5949 null] +438 0 obj << +/D [1375 0 R /XYZ 56.6929 161.8309 null] >> endobj -1259 0 obj << -/D [1369 0 R /XYZ 85.0394 748.8663 null] +1380 0 obj << +/D [1375 0 R /XYZ 56.6929 130.5806 null] >> endobj -1368 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> +1374 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1377 0 obj << -/Length 2813 +1383 0 obj << +/Length 3526 /Filter /FlateDecode >> stream -xÚÅ]sÛ¸ñÝ¿BoGÏX(@ -¼]ä( Šª°LÄvu8eÕó§q]m7Ó€Ý%¬cf´‰=vVΆ)JÁÓ!Šã=@Ô -Ç7”À-‰·½_ÐXÓAy¢lžäS̽4(0½ åX#y»–€ÊpD T
“ótÖñ]¬;m˺¸/C-Ãûgö©t‰]^é8^d5ÍLr<%œšV%žß½WÕÌ/ôx
›Íi9¦1ôùK¯EG„«¢•5}r€0'„°`‘Í?§""–Dô-‹Ygqé‘֤͇¼’zwÜ>ÕÞ.òn«%fN -y
œuã#d7 -lÊÓæ~mHÝ3©]ðÚ`§ -=w»AmãÃ8@¿rÅ)RÃ`ZmB±T•3—Vpí¤DAÃeA'†0¾ƒ˜˜±mQóRІœc u-1@Ôg9Äo¿“k–à™ÿ¶'PïiÉlIMÌ;Áóq‘yÌŽåSVTÐ[³—œÔïÕÙ®Ïâ¶S^¹·d -Îÿþæ8¨øà¸úþ1Ñ!¶Á˜]C52&—Fü§¼¾«6we5Ø#ÄÝÁ©§Z#/¾äÇŠÿ™ÙîZ?Ø_3Tð뛄ä%ø6ql…÷s·ý!%¨?5ÄÐ` ¨ðÁgFuõ˜oæ[³L4‡Rê‡mV•Ï-€î„5Ý c<Í<ÍeÞô©:Cv«}›M/Ëú±…éá‹ -Â&j´Ý®^/O‹$¹¼Ù®=áGˆ_Õ¶²×Eö@d0.U!†ÁÎÞn:aº½µ¨ÓÈÆꌄÉöþï˜Å(°ia-FŠ¸ÛFJA•,Ì’é#„‚/|ч¢]83¨×ÙÔÏ“Á DYQ&þ]Mu4@“§Þ>PºäÚÝÉG8쿬‚þ‹,/óõž…&6h†5ÃÆÙ_šF`íäÃ0À¢ß¹öÞe9Œ/?ûŽKsXÙ#ÝÏíE~p&b™„ªbè~Û*Äe -”^E6x(lšôì
oý•.‘')©)A sí.÷“hR5CéCHÕ„è1yÜæu ›2/}³ÁOÏ=Š/ˆfqI› fù<ƒ´H’Ð'It0•R§Kb÷}Õ_>Ø®Wå˜G܇²}×ÖmÖçdh¢ùô›ÏÔ–2Á>Á¯ 3)—¯Õž„tÎ_ü€œ$í×ÊWi/Å%±ê“ +xÚµ]sã¶ñÝ¿Bo‘g,– +–±I'³ÞÚ + +Äë¢+—³rU'Çsb±Ø‚·øä0>œCÁñ¿ +E +>4à4%>ø,è±iìövç|V6½…Tò‡]ïV5ÇÀôudJu$úÓ‚i®l7¦êÙní–“˜¬Û‡¦'éô×Ý>¸€ä¶¿µŽŸT+pÓÙ›†C¹ð˱ë8¼:©ÃóaÙàŽ
Ï¢ýHèÚš^vãIðð]Uî|ÜË0U³$€)"úÜ&J´ß®Ý¬*¦E'Â1Ûí6LøüW³ëB¾,î‰ú¥Æû0Ø™ífà¦]êƒâlÂYæúêc“kPF?c1lZ˜c‹QBkH%(“…Q2}„Ð@p‚“vé“váÌ Ý%“Á DQQæ<×R
Ðüq´ä‚.¸wb‡õ—ÑP‘…`È ´ŒU™³¿<ŸÞƒµÓ†LªqΕ´
Ý< +5xíLxËon÷Úq +“'#ƒÃ&®6ÓKäI)*Kh7¶¬Ð³Ûvt27](€%0Ÿ#&Ÿ6ú4‰ žê«[0ô@LÕäzLñ™£\Ò‡¨…½- 0ÒI0lâÓÑÁ`J)^ª£D¢-/+·ÌðZYŒ$J¥Ó˺Ÿë37ÃQʨ¥-?s¬6é„Ž +ñ7ËcõRé©(Q±üªô°=œhýßH/Ç%²÷D…?èªåÃuÅçP¾ iX6^°‘Ÿ¨B1ñÔ‰7¿‡e…Å£J“¾áT-ðB¤jŠàÄÚ–Ë¢®Ú5½ºçéæÀˆà;=ÃdkW¶ôcÑå#Fbÿ"Õ›²ˆÊY +ò[Ò™š33ƒ›À(!EÎüé%×Au°^W}FŽ…l–zùÈL€ +×ëʄϪ³Ø÷>2îû-†C5·/¼%¯™¢¿ŽT_â·(<Ò`[wo˜Õ‘¾ÂU±æ–ˆÒØ}u¡k˯·ô삵‹É£fŸ]Ð7$¢-Ñø‰-[§0PjGC¿H™!”P\ï3?€Â¢6¾íŵ6¼Y½?Œ#ŒÝû¥ëê¤)]¤âøà~ô
drÛGŒQ1«Þó¥’“™™/¸b×öuÅ¥T@‰EãæÒ?¨Å‡mßÁ|Å¢¤ª}{:àfâ<RIœ<[:¤JÉ@é ½©q_Ú=ɨ‡#EY‚ï¬æ+~w·\lÖ
Ré {›¥Á™É,‹¤ˆŸ³3 •ú‰NC¨éëG_l‚Re|PK°øèRÉÜš4þà +8ó—öqª¥2†êrf%Gí7I ‚ëA׿dÄ€â÷1¾acäȘóÔ]uoyÈ…-xÉ/Þ³PMJ•.èÀ~)°ÖåÎܱ¤‚;°‹Â
‚ûq0½w=ƒ¿oäsÙ<üàÊæ`}ûCQ»â–„ò×6Ü¥Â/ +´`w*Žý’Ob¡£úH'qEÜ P|g‡¨¼XêQjüƒJ÷¸ÁÛþL’ËtýÇ$»ðàÖa]õ3äVÿÛ9ÿøÔ3•Žð•¿ÆÅýGÐßü¿ÍýŸZ“,Ry.òS1„s ÆËL¹Ïæèo}þžÇ¬ÿ1=endstream endobj -1376 0 obj << +1382 0 obj << /Type /Page -/Contents 1377 0 R -/Resources 1375 0 R +/Contents 1383 0 R +/Resources 1381 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1374 0 R -/Annots [ 1381 0 R ] +/Parent 1373 0 R +/Annots [ 1386 0 R ] >> endobj -1381 0 obj << +1386 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [432.8521 516.7732 481.8988 528.8329] +/Rect [461.1985 730.8852 510.2452 742.9449] /Subtype /Link /A << /S /GoTo /D (DNSSEC) >> >> endobj -1378 0 obj << -/D [1376 0 R /XYZ 56.6929 794.5015 null] ->> endobj -438 0 obj << -/D [1376 0 R /XYZ 56.6929 674.1923 null] ->> endobj -1379 0 obj << -/D [1376 0 R /XYZ 56.6929 646.1449 null] +1384 0 obj << +/D [1382 0 R /XYZ 85.0394 794.5015 null] >> endobj 442 0 obj << -/D [1376 0 R /XYZ 56.6929 566.6943 null] +/D [1382 0 R /XYZ 85.0394 769.5949 null] >> endobj -1380 0 obj << -/D [1376 0 R /XYZ 56.6929 535.8374 null] +1385 0 obj << +/D [1382 0 R /XYZ 85.0394 749.4437 null] >> endobj 446 0 obj << -/D [1376 0 R /XYZ 56.6929 380.8349 null] +/D [1382 0 R /XYZ 85.0394 597.4804 null] >> endobj -1352 0 obj << -/D [1376 0 R /XYZ 56.6929 355.7523 null] +1357 0 obj << +/D [1382 0 R /XYZ 85.0394 573.1408 null] >> endobj 450 0 obj << -/D [1376 0 R /XYZ 56.6929 225.5162 null] +/D [1382 0 R /XYZ 85.0394 444.9323 null] >> endobj -1382 0 obj << -/D [1376 0 R /XYZ 56.6929 194.6594 null] +1387 0 obj << +/D [1382 0 R /XYZ 85.0394 414.8185 null] >> endobj -1375 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R >> +1381 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1385 0 obj << -/Length 2081 +1390 0 obj << +/Length 1097 /Filter /FlateDecode >> stream -xÚYYsÛ8~÷¯PåI®Šà¬ŸœŒ“ñÔÄ3ãxw«6“JÑ"d³†"5$%Ç»5ÿ}è‰)Ë›”Ø8ØèãëT0ãðf*b\êp–èE<ˆfËõ ŸÝÁÚ»“€ö,ü¦Åp×뛓Woe2ÓLÇ"žÝ¬¼ãJ³›ìãüÍç¿Þ\\Ÿ.DÄç1;]D1Ÿ¿¾¼úg4>ÞürõöòÝ?¯ÏO“p~sùËN__¼½¸¾¸zsqºTÀû‚8|å…·—?_ õîúüýûóëÓO7?\Ütºõ
¸´ŠüyòñŸe öO'œI¢Ù8´³õII…Rú™âäÃÉoÃÁª{uÊ~‘T,R"™0 SŒ4‹%,YîrópªÅ—<šßÜPPFóª>
Ô<35
WølatÎÁ€3xDÁ*ˆÓ±ÄMÃãEÈÂ$¡=M›¶fmʶA¾9=›ü®Ìç\,Ӳũ߅H,ÎSœX¹ñ‹NJóçÖ44ñR·f¸¥©ŠÉè°²WÆ1^Vek¾´ª ülÉ$çPÓQ$œàø À -Yé‡Ö€#)ã'‹Ä›¬½O[d›Ós¶Ë{Ó0”%æLÅø:H˜Öà`ûÒªÒ€Ù$ 73VœÒ*h‡y{o•´t:!aÀ“!Ÿ1˜H±ï1„µ³¥¬í³*‹ÇñLº\š¦Éo·•}rr ‰Žª[Ê©ì'§`&’„‰€?…3Á+Ú¸Ž9ýˆ†„PbRp=v*™//ïÀøB9 =ÿ/'üá‰Þ‡¥&]ÓRÙQV°¶Þm¾)hÖJÙ¼´Ð’ó,_Y0®bÒ¶øsô<KÛç -3˜Ø´yU68ð6 -öåpî ½#œ¶%YÆ1¥Æ@N7„Bk -GK=Ü;£Õ§B„:LAê¬s›FÜNÐÅRÊ'$˜ˆ0JæÿU¿aÑlÌó6M¦ÅÖ ™sç<PH¹wo_9lŸo'Œ³$ŒõÓî…„N8W‡$Vè= TJ3)>2³J!’Þ¡˜Ÿ^b¤p…-=8a€hâ>Ý™8Uiog.vNïN«%žiëq,UY:Ï0ဆ*Ø¡ã`’D¦¨nÓ?hó±³4™)—4WíLí¹Vž«OÓš@î…F&G&Úª‡R¶ãÇiä_§wH· ø)E‘q°,Ò†æ{•™5z4¿\á‚CôxoNO^„ÃåË«ñ6XØ®MF|¯ª–N§pâ1¤’ÂV.üë»^èõÖu2V -hJÒé $y‡r¬…$¥ò&ïýƒ)€œáˆË+Ÿ»QË%%bY7ya²…wa_:¬™ÌÞÎ|‘°‡t·Õ¿kÚC0Ä|ÌÈŒa¨§úFà‹¢ú„`5ëÚ;Y’Šœ@«‰¡V%)ÍQëE/ae -ú®Óžê·m»ó%x•¥XF{iy‰¦ -”E±3¼"3é+”u³RT,Õ×2PÈ@ú¨ÚÁµVÕxÓ5(_ríUð@ÌS -(8¡»Ä
2ÖfhÜ›¥µÆ$èjÔ׶íO4¹Ä×r±²j£·m»&î5p†ÞêÿÓó¸7n÷Œ«pOmLv1 ï…oö_àøÎX2‚[f´wá}õ -·Ü¸à³Ts_m‹iº³Y²²µ„ç£Ò´UýÇ tbÞ½¾è.(Š{œ¹ß+u†y ›†t8’î׺ÚY¹Am -‡åź<b\$Éž¡,õ?ˆÙáG×Þ~YŒóùûØEaõ°°_-Çñù ÏEÞ´]´¸ç§)ò\xx7¶m–ýD÷
l',°Ýd©/#Ïa:õo ÉþÅ0ñßïPôÍÿdôó -Éáâ/ Í%¡^õ¾äÝ_‡¢ÿ
»ñùendstream +xÚ½X[s›8~÷¯`òd? p16LžÒ¬“Mg“v]ï“›ñÈ mQIØq7ýï+„Á¡œd:~@×ï|çè\$Û†%~¶áMÀ$pcŒgÙž¦Ë¸sW[1õ"³¹êÃbpzéN +ÊðFu¢ª']$[H–ì:Ù*\’Éu;Äús‚JIóq5¸?+zj +=Âr%äÀ’¡.RZΤˆpv¯äEEŒ!ÖÆo«ý@?<k•4é*
&/{ßåH{¢Îº(Ç89 +¶?÷#ãf»^0GqÁŽˆm’–j}¼?#G;¿pHNqȵ•ÞÓýC’qˆ³ÚÿË V¦/Ö u†¡¼Öø¦pàûÓà}B@ŸD#ð{‡Àé¥cõp\ +OEµ˜ºu!u<Q-mتÒ}á£Tœ¿ª¡¦)¤¯U\Ê#÷€ízî¡ÊÖ*ƒ©ê.Ã2vײ˜r•–F½,¶¬£lÍv|È|·ª"h•`Æëh©¾wý0MíÞ¯ƒµŸÃr +3#úÎl‹<‚ºŒ¼¨„3s"B¥mX9³’3+Zh¿] +(+ÒµNÄ=4*Qtö6q$<¼/’óK$ŽÓ×#53è]žôÍ)™óÖ Œs)jŠêzÔŠËEùíx‚ZõÅâÍÞý¿âvâú¾S¿eŃuÝp¦>ûD‘*Í1µž1×/ãçÔÿ©ÇX|endstream endobj -1384 0 obj << +1389 0 obj << /Type /Page -/Contents 1385 0 R -/Resources 1383 0 R +/Contents 1390 0 R +/Resources 1388 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1374 0 R +/Parent 1373 0 R >> endobj -1386 0 obj << -/D [1384 0 R /XYZ 85.0394 794.5015 null] +1391 0 obj << +/D [1389 0 R /XYZ 56.6929 794.5015 null] >> endobj 454 0 obj << -/D [1384 0 R /XYZ 85.0394 170.1085 null] +/D [1389 0 R /XYZ 56.6929 397.4375 null] >> endobj 1277 0 obj << -/D [1384 0 R /XYZ 85.0394 142.8732 null] ->> endobj -1383 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R >> -/ProcSet [ /PDF /Text ] +/D [1389 0 R /XYZ 56.6929 370.0946 null] >> endobj -1389 0 obj << -/Length 1068 -/Filter /FlateDecode ->> -stream -xÚÍXmsÚ8þίðG¸é,¿{ú)Í‘\:×´Gé'Ža[]lË•D€”ûï'¿Hƒ»tÆòÊzôìjWÚÒtõCší@Ç7|Íõ-hëÈÖ‚¸£k3ÕwÝAå7 úÔ¿z?ìüzeºš}Çp´á´†åAÝó6G]°§ôîå§Û«›ë¯ƒ‹žku‡7Ÿn{À°õîÕÍý¢u=¸øøñbÐȳQ÷ò÷‹ÏÃþ èrJŒ÷7·¿¿x¼ -)Žæi½=a©¤,9X‘)üIHN“ÙÁc,$áÙp0e<ÆrkYI–rÍñ¢ÕýÍæ<ÁÑQ\Åf2,‰Vë)åB¶ZÕ‡pÑ‘ÿÐë& Ë)wX· ùh§à„%U©þà‘ö~ãe±ô©Jæñá-ø,ä8SÂ
•§±¹<IÒ¸RC³úúÌ.ëâA–©Ú©©l‹h™_Lº˜ -„$Âå A–„¢-‚d@0|Ð&ÕÐ5ß=Õ®™^j·t·’PmìÒÔªÅÙ:@ŽMW˜ -Æ— -èl¥Âž:R¼bªïÛk«mCë6¦m[ÕoÀ›ëßò†åè¢ý¸è¡ÉÿU=í»I3m˜]í¹÷RÿrÖ“oÙ¶W–Jô=ÏØ\ ©œ{f¸´<R’Ê´uõæÕuÜ.õ}eƒ>endstream -endobj 1388 0 obj << -/Type /Page -/Contents 1389 0 R -/Resources 1387 0 R -/MediaBox [0 0 595.2756 841.8898] -/Parent 1374 0 R ->> endobj -1390 0 obj << -/D [1388 0 R /XYZ 56.6929 794.5015 null] ->> endobj -1387 0 obj << -/Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R >> +/Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1393 0 obj << -/Length 1046 +1394 0 obj << +/Length 1113 /Filter /FlateDecode >> stream -xÚíX]sÚ8}çWø1ìŒK²,kò”fI–ΖîRö‰e‹ÄSPK4¡¥ÿ½22`‚Íì>dƲd{î½úB–Èò(´ w,ÆHmDQÜ°Ýv×@Å7`ù(õ®×¸¼%Ìâ»Øµzã–mÏCV/è_ÜüqýW¯ÕmLí6uí‹wíÎ閭›ÇÍÇÎmûîŸîu“9½öÇŽ©î¶n[ÝVç¦ÕÈ£H÷ÇÂŽ·í?[¦t×½þðáºÛôÞ7Z½•-e{‘MrC¾4úÛ -´Ùï6$Ü£Ö“~±!â[qáR‡eMÔøÔø{Xj]tÒR³ -TÙäg£º“…‚ý&pmû"öŸÊüDŽET&¦%™Æ÷"3å+óävëÁBSŠ÷¥SuR’ªp<3å™Ã4&©y›‡xžDá(T•±/•:M¢Ù¾¡ÐöP ‘_t’b”&<’,P)©ÿ‚sî“éýg1Û–iWYª,LjÛ·rˆL§ÙH˜Êmj‡gèA¶T0‡@ŒC‚ÕH9„.€~[4QÈsR½A¦s’f…'ÂÉ0TðË3
Ý©R†<ÁW·LÕݦÊÄ®N´W¡Šm1a¼’ª)p”¬%´œ“³ƒ«s*W1¢´Òý\J‹1‚ˆÙî+I‹DŽ‡+¥JvÊ{LVIY+è] ÃÎ.ïг¼ƒÄá|ßäS7ä×ùóÙÉÄ‹µ¤BÎoi"€T¾ -¥ -G²rf®á•ÀWþ½/ÅI3Y& ãLÈÇÅêròu>È‚‰ÊfGA mÇBl²˜F*fÍ;Õ!ßD–‚d±r¥¢Ã0 +xÚíX[s£6~÷¯à1îŒT$qÓä)›:ivºÙë>¹9QƒErg½ÿ½âfC‚c°ãn:ÆBp>¾sô]ÒtõCšcBPC³©M™š7ïéÚzvÙCÅ; | Tßú0êý|AlBjaKÍ*XÔi#|rþëÙ—Ñ`ØØÔO,ئ¥Ÿ|¸ºþ%ï¡ùßùçë‹«Ë?‡g}Û8]}¾Î»‡ƒ‹Ápp}>èä˜HÙãa‹ÁÅÕoƒ¼u9<ûôélØŸŒ>ö£µ/U‘NRG¾öÆ]ó•Û{:$Ô1µGu£CD)Öæ=Ã$Ð4){‚Þ½ß×€•§™iSüLâ@ÓÁvC +QsE%"ðyÂ<%EJÆ®¼›†îœµ`ðÌ’„Ù< +mð_&n(f¥|Þí"V9ËÀ,JÝÄ_§ë;àÈÞóîÁ½¸oµÕϲNjË|¹ˆš„£&ÜÍ,¾k"ïa!,ÙµŽW¨4“ÄfÁQƒ®f.Vü6Œ¶Y?ZÄÏçn°ˆ«íiK^J³§öœË]¡–‘Ô<•–’ÏÆ%Éžä*q;¹ò·Z‹ÃrQêÈ¥Ðö†AËÕŒ'BîâЄÃQÓõQš%`ïÅ5³–ó0¤jk .ð‚H÷ýF.±#Tß6V3«LC«.¡¯7¶ª1Yƒ×ǬF¦CΦ«|Ž º‚?ï¿W(§wÀ}•3<Ü{óSŠòpJ馥@(5œ5Wè€=Å÷x]¹j@šó]Qÿê1÷†ëk1 b6…«óÖqÎ7›ÓÓNž»bÔ†Øʶš)%cUc?ªX'›nÙ¤IÐ)¬´#„ëbdš[¶E¯¸î-Æ"[·ŽDÛnÞH +¶†·KVý_}ø/V~HÍ endobj -1392 0 obj << +1393 0 obj << /Type /Page -/Contents 1393 0 R -/Resources 1391 0 R +/Contents 1394 0 R +/Resources 1392 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1374 0 R +/Parent 1373 0 R >> endobj -1394 0 obj << -/D [1392 0 R /XYZ 85.0394 794.5015 null] +1395 0 obj << +/D [1393 0 R /XYZ 85.0394 794.5015 null] >> endobj -1391 0 obj << +1392 0 obj << /Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1397 0 obj << -/Length 1864 +1398 0 obj << +/Length 1060 /Filter /FlateDecode >> stream -xÚXÝ“Û6÷_áGy&fø¥¯ÉÓ&ÝM·Ól{çå’mQkµ²äšt\·×ÿý@‚”íöæîÒñA@à2›Rø±iš‘¬äå4/%I)K§«Í„Naíí„™yšŸK½^L^Þˆ|Z’2ãÙtQŸé*- -6]T“Œp2
4yóÓÝÍíÛ÷W³\&‹ÛŸîfsžÒäæöÇk¤ÞÞ_½{wu?›³"eÉ›ï¯~^\ßãRt¼¾½û9%Ï(½¿¾¹¾¿¾{s={Xü0¹^g9?/£Âä·ÉÇ:àØ?L(e‘N0¡„•%Ÿn&2$•BDN;y?ùÇ ðlÕo£„‹ŒP²± -çA—§WýöˆT_£**eèM$†µ -jo×ý®ð5_"«3ßÜý -¼Q GÜf0 ñçF°«:ª1£!CdºŒ³oIAyðí¡RçTn| -ZûÚÏíüèÊ {€ª£Gû- -á#¸ºm6Íhí W†kÞ]?²L:PÜ„‘ypàDÒwNX‚ÚCSÙµ9£É]%bOn±S= ¬j3™”6.à±#‰4êÎ Ë/pÖû.TYWê »î÷|3øtZb5¥¶>ƒC³sŸ£®Åº‹ãÀZj¼D(`žìF†Â¹=ôó Û"Ú¿ïnnɬÖz¤ÃkŠï~@áï‚%yƒB"Ñ¿¦Mm¶~qz^B»žg€ -wTðˆ÷’šÃ«=zÿò? È t™,ˆÖ:Ü/_kKyR<¢Ãû¼2@.¾»òËsÿ²÷@‚î„Âp7p=í -׆ Ì}ýo -µÁVÕ„ög{0Ê ñ_¿Ï}gœ¿à¿í£@ò‚°Ü¥ž)$å²ûSˆ_ñßüÔéÿ9xhÃ_!—`Ê"P"Rât¹ìäü«?ÈâUAêÌõsAendstream +xÚÍX[sÚ8~çWøvFŠ$K¶5<¥)dÓÙÒ]J_Ê2ŒƒñÔj‰¦i鯌Œ± „Ûff‡KGÖ§s>ÎÅØBú‡-æ@‡n¹œB†0³&qY3½vÛÀÅ;`ý¨¾õfиêÚ®Å!wˆc
¦,"ÏÃÖ 6H`K# æ͇^÷îöSÿºåÒæàîC¯CÍîÝ_3ºí_¿Ýoì1ܼùóúïA§o–œãÍ]ï‘póØÚït;ýNï¦Ó
Þ5:ƒÒ–ª½Ù¹!_òmö»‚6÷˜õ¨'bΉ7(³!£¶½–DJÀÊêjëNþ0‚ÄvÈ)®è!è
å2›Ø+‡-à ÔŒ‘ +AìK%2#yrœfã$5Ó¶yŒr‹õ± +ç´r Ëv9´‰Ë4t©m¢ç«%¹ë:VE¾¹ŠC.WDl]£@[oÚÉç–žà›SUÕy®*w!Ñ©¿P•íQ•§*A¶.?\¾'+p´WÑ•C‚;V׃Ԃ!v‘ó:^@ˆ1õÈN/XHöÒ[æcê6èT:•HNä¹ELà+ÿÞ—G'“zˆ‰©NЫqVxÈãÌå +M”®NÀÏõ8‚œ_—•ò«Òö¾BºÈ´íÃÉøœ¤NþGIýäZkûFþÛ’ÛÞWroéÙ>èW]‚R<ÍUÓÝ!"›îšèˆQ¡œi?êX±ê3Ìô®|IBS½æ? Ìà“ôg¢<gÓŠæPÈ)¦•s .Nú\ž4hqÍó\WÝ[¶‡¡ã¸Ør\è1Jj´ufaœíî³Wê¸TGZ›@J0ÝÕi£’©‹ûúÍGêBÛóHÙ²ë¾|Ãq=H=›X6ƒ9VN–Kž}uX endobj -1396 0 obj << +1397 0 obj << /Type /Page -/Contents 1397 0 R -/Resources 1395 0 R +/Contents 1398 0 R +/Resources 1396 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1374 0 R +/Parent 1373 0 R >> endobj -1398 0 obj << -/D [1396 0 R /XYZ 56.6929 794.5015 null] +1399 0 obj << +/D [1397 0 R /XYZ 56.6929 794.5015 null] >> endobj 458 0 obj << -/D [1396 0 R /XYZ 56.6929 612.9401 null] +/D [1397 0 R /XYZ 56.6929 134.7333 null] >> endobj -1399 0 obj << -/D [1396 0 R /XYZ 56.6929 582.8262 null] +1400 0 obj << +/D [1397 0 R /XYZ 56.6929 104.6195 null] >> endobj 462 0 obj << -/D [1396 0 R /XYZ 56.6929 582.8262 null] ->> endobj -1400 0 obj << -/D [1396 0 R /XYZ 56.6929 558.4148 null] +/D [1397 0 R /XYZ 56.6929 104.6195 null] >> endobj 1401 0 obj << -/D [1396 0 R /XYZ 56.6929 558.4148 null] +/D [1397 0 R /XYZ 56.6929 80.2081 null] >> endobj 1402 0 obj << -/D [1396 0 R /XYZ 56.6929 546.4596 null] +/D [1397 0 R /XYZ 56.6929 80.2081 null] >> endobj -1395 0 obj << +1403 0 obj << +/D [1397 0 R /XYZ 56.6929 68.2529 null] +>> endobj +1396 0 obj << /Font << /F37 779 0 R /F41 910 0 R /F21 690 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1405 0 obj << -/Length 3409 -/Filter /FlateDecode ->> -stream -xÚ¥ÙrÛFò]_Á·@U"<'ŽÚ'Å‘¥ÖrVÖÖnU’ˆE$$À dæë·¯AŠ“u¹äiôÜ}wõDÁ?=É|¬lî&iîb¯´ŸÌÖjò}ï/´Œ™†AÓá¨o.Þ¼³é$óÄ$“‡Å`,VY¦'óŸ¢·ß_ÿøps95^EI|9õ‰Š¾½½ûŽ197o?Þ½»}ÿïûëËÔE·ï}óîæþæîíÍåTg^Ã|#+¼2áÝí?ozýáÃõýå/?\Ü<ôwÞW+‹ùýâ§_Ôd×þáBÅ6Ïüä>T¬óÜLÖÎÛØ;kfuñéâ_ý‚ƒ^š:F?g²Ø'9@&Ëc¯{}_ÞCÁ¾šÄÆJ¡÷jŸL¦^¹8ÏRÝsÅéW´Ëc“$peŸÇ‰5–ØÒv»G¤Í›w€8N²8u÷ÇA×@J›òX€’è¦.WµÒW«U±åî®ad!}«â¹<L¼B0ÊϳrÓñˆnYTu<p{©³¨Ü¬ªYÑ•²GS¯öxV8Ü:ν7t¼n «[“GwŸ°Ídò¬¡vÞrg³à΂?×EÛ•[Fñu[Õ€-æÇ3úõ˺«xíÃ<”C—DŸ„Ž§gÃ!x|¥£"L5JEuÓ –¿Û®¨ç<bΛbÛqž1tD|w÷é=jϸÁêý¢‹²èvC|»)gÕÏJ™ÙñYYE‰m 2¼ªgµÞ¬Ê5ܿ誦ŽÇnJ -PpAÒßceO’83Y* -Œ‹ÍãYS/FtÌA -6A†‚<[k£‡e%ëïÚâIN(¼ÊÔ˜$N”KŽ)M"mAOSÖ 0sb" ™‰ -µU–Z°Ä°5Q…rÀ>±ç -`ÝÆ°D¨—ü {¶Ê0e³ž%´€)e÷Òlã];pý$‰îß½Õ¹Îøcàve -Óè¾Xb~ Êi¬7T]E¤ƒ®ŠÀîß0#šF°R#£!ÔÄ%¤í«”îbÇÑ;.T0%’ÎG_!¦ÍàþÃòsá2 -°Ø0kqf³ÞT«r>%_ˆy¹(v«ÑIb¤%1Òƒã× RÌ*¸q6ï-žŽS9˜Ë% ÁšÖÝÞÉ,ª0 ¦n¸}ÜU«nÊÕÛSÊQÅçÈŽ¯ØF~•’¬Ff!|IÌßX1ÌxÕnÅ*±¯=Mé$¶YžL¦–™J…«ò‰JÃÓðòsbB4Ü=ÑyoBØI›(´\DAˆ]³‰Ê:”KÈPY‚žÓ݉1ÅNc—
‹×‹mÑvÛKˆfýóÊŸ?ý ‡Å·„ø‰"_½ýøኻînðéòŠë~ïߣCŠ¹ïº;uûÂåEòg,ÊêA«gØ¢”ç#ŒÖ›]7™qÜV~Æ÷5ªœCÎâA|ê9`d‘Þú(Ìú¼ÏøÂBœõñgŠñçØß¼ º¼Î
yiÛèî¿ß}üp}{3š9‹Ð¼)e½6ÐNfD.c¡‹£ÊÏD{Í«%W°Qåøy€Gqè¸KuZ6\•Å d}’£ÿ¢Lƒhoƒ[¤2«¥q{¾ñ[s½Ë ‘Á @ÆëÏ8é8
;ž¦¯_ŠX†:ýuvâ`zç_|‡9>÷Çñÿפp8AœAîQšT®<…7ü³·|«ð…-Ǭ?óq®ÓÃ!Ž‚÷ðCíÒ8M5€ð÷þÙT ÈäFFdAaìk´î}Œ¤s–¶oZ†Ù#DI8aÂà–¿eÀ¢YšÖ5E):¶7ähIC9òÓ.«°+kŸzn2aFFŸk¤”ëêP¨ -½ã:X{@ЛÐLä6¾>Ü>|#KþÈ¿²QÄ5æ‚þ2šè¶;>Àù/ -`c¿G‚?¡ðWÿúéðÓ0Ð8›eæ`¤3M9Þ1µgþÅf±ÏL:rôÿ©Ü@endstream +1406 0 obj << +/Length 3467 +/Filter /FlateDecode +>> +stream +xÚ¥]sÛ6òÝ¿BÌŒÅà‹ 9}JÓ8ç›KÚKܧ¶´DY¼R¤*RqÜ_ûˆ’éN;™L†«° +dF¥°ï% +dù+hXúØ·qY±üb.™D|·Ú³ªDÊ¥A;ÈóØŒ[†.Ž¸»Ï·ïú½~ÂceªLn7B–i¡…·B
ï‰_’™þúzÖðà^03Ü3¿ÞS"ÝË”G2c\Ø´)@ñ ¸6¨ùÓMØ«"ÔsâÍD‰ëŒƒ¤UFÎÖö`)‚9þ’3 +|+þD¾F‚ÃXFôÏÞ'?aÕ&¬šá[ o”æ¸iúx™5Ýh0Ʀ[…‰#û
1×€|êõÀ訪㉎{žÄ9`ë¶Ù5³´_)QÃ+“· ÂŒ|Dåd<'L¸²ÍzÜ¢’k•|ìÃŒàÃCÆ +`@Œù³Çßõ_+þ
1´[ó‰ŸûŠrg%APo +ˆ>~þ.¢ž7¡‰nêj<Nñ1ÃZÍæW}©9O=¥Ý$”T¦sR +€9Ï p‚¨‡ö(dXÒîBÒs—¢ð®sÎ;=r•–t#£ÿŒ9m%> +fª\Œ]s¡Éû´€Z[‰!*u›[Ï šÏ³R¦RYj¡òo„>ä7¡´
AÆxˆ=Ο+ +æ|å«þØ®|¨%Ñ„’Š‘æÍ·UD8oÈ=ß +ÁŒ®:0–å‹PÓñ tü©Íƒ+‚Í +#Ï›eRRd™v§%
ƾAü¯ŠŠˆH¾S¦â2õìNU££*$: ½€(Nª"ÄI“ÉØ¢T!%‘ˆÈWŽTHWTHƒ†¾=r'HVÍE#ôuyòÐ|Aâ¨×ƒaႸ„8*>ÇRü`†Ò¬Ž”öáoŠa¸ +DA·„9Šú?螆½2,Ùš/’ZÀ’êœÃïüã8,çäÄô½O>ݼե.øÇ$ìÊLžxDæý3=`¬8>óï£ +xvNÏÃ÷c Ãoº%"ûj&†—6…¨êèPÌ’À¬/CUK²¤î]Õò,a©ŸtÉ©$x8ÖÖa³szþž3éµOÞsN
Ö±—^w¦ÕÌ7–H§ºKCe)_ü¢qÉ‹u—†tH©Â½Twñ…êK;ï¹IÞ«Ãzî}'OsUøSÝå\™üjŒã%R uøÆpü¢e:qø›L¾ºÉÈ MÒjÄ¡ýDBelïΙJpXäS·šº%œúù“Q*ãµNÍ ó††MóÓ$(ˆFª8¦ˆáOû¹')ऻVÖ¾Ì_[¤>=$~cЖF¹‹Oªú#›“\Äå†'¬Ü¤y™]´\^8 +5Ç2UF•‘oÑA¹ÔååÅ»¼:Cí[‰ÊŸ"0)wîyØÁQisäÁÅcÍMUVT¢7·7âüV£“/
µîa¦ +Õì»ßýq”gG.P5wñËŽö¡kã%o'(&1èÔÃc-Zä6œ‰n endobj -1404 0 obj << +1405 0 obj << /Type /Page -/Contents 1405 0 R -/Resources 1403 0 R +/Contents 1406 0 R +/Resources 1404 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1408 0 R >> endobj -1406 0 obj << -/D [1404 0 R /XYZ 85.0394 794.5015 null] ->> endobj -466 0 obj << -/D [1404 0 R /XYZ 85.0394 167.2075 null] ->> endobj 1407 0 obj << -/D [1404 0 R /XYZ 85.0394 139.8789 null] +/D [1405 0 R /XYZ 85.0394 794.5015 null] >> endobj -1403 0 obj << +1404 0 obj << /Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1411 0 obj << -/Length 2962 +/Length 3221 /Filter /FlateDecode >> stream -xÚµ[[sÛ6~÷¯Ð£<S!¸à£›ÚYwZ»ë¨»Mh‰Š9‘D…¤âº¿~" -t¦ÞÉdÏ
€‰Ì0ü#3‘ $¥éL¦ LÄlµ»À³Ïðìñ˜EZôQ?./ÞÝ09KQšÐd¶Üôd)„•"³åúy‚(º xþþþîæöÃïW—’Ï—·÷w—*ðüæö—kÓúðpõë¯W—¢™¿ÿ×ÕoËëó(±2~¼½ûÉô¤æÏ¡×7××wï¯/ÿ\þ|q½t¾ôý%˜iG¾^üñ'žÁíŸ/0b©³gø€IS:Û]pÁàŒu=Û‹ÿv{OÛWGãG0¢,¡#¤l,€"E ƒG:€Wû²yÊ+ðK‰ù¯·KÝàóuþ-ß–‡]¾oÌ“¢6ß?ee½Ï›àcÊæ™éýåêμw¨.‰š—M¹*·æѪíɳ&_[I{¦cW¬$•¸†Aà„Ïÿ[îí“uÖd¼)……µg•íuì! -aÆJ‡T‹rÜ4(/‚Œ"&ajµÍj0ÚÀú„ -¤T’ÌL"¦˜£*MbŒ;7Á¢ûCS”û:àA’d–H‚åçÆÞ€}”z22ô¥
ʶÛòyã_l^†Ê aˆp,ãÚjD}?n„(D(õÕÌóÓˆ´u^¯ª¢†é(7#ÑM%”+;C'†œW(eŠ[p±ú \BT2âùiVŸg¦ñÐóØá'<å—W'ç4H‚øÐ$&4¡éÄÀ;Ô„!¡4m:K6‰&Fœl=T„lê4N_y5Â5Š0ãi\¹Ch÷¹ü óÕ¿%ÙœC®I¤•®1„"=?£\³ø C¹¯çO‘ä„ÆCïP†„Òâ\Ã),yJNp‡ŠpC
†iQÃ@ §R©¸~‡1À£ƒù•`â[ðæt³~”KŠ¤„eæãÌ™”§Üs5Â8‡Ÿp:”ûzÆIØ|Щè;Ô”!´(ã„„#Œë£Î3ΡN#ÕTÙ¾ÞÀf*`†í -ƒŠ×îP#ê}¾A†SRúúÿßRo'/†l£HaNί¨°mǘûaŽ¨~ÂåPîwìÞ #)°9{‡š0$”gHâtŠm=T„mJk4#´8”Ûb5²ƒe•qõ5¢ß§‡™.™oÀGw «Mü3óç¥üc±;l- aŒŽæÄi>ÿÞ®Qæ³õ€Q„õ·DŽ!¬é°ôsÏ¡Xëð®…rGiEÇh•*Ä!óÆcìPS†Ò¢´âŠ# `§UužV5œþ8ã?gÕºØG…1‹âP#–x“ ŒBßÿO>84rL©:ŸÛ8¦ -”pu¾ÄK…^÷|Œ•@:ü„»¡ÜsÇœUwL×*¢aw¨ CBiQŽQ¥À(>Á±>ê<Çê4F°Í]¯àP7v©À1‰«ï@#ê‡W -LA—§ÿm¨¡á•B[G?¥ -Ó\{½Nã8Ôˆ~šK ß„·Is#ŽÓœD§¯ÇŽe9 -PØgö}ˆf9‹Ÿp:”û++l¹Pñè;Ô”!´8å0l}U2ñÍÞ>*B¹¥5ê/N?fup±&H08ÓGw Å~=D—ë¹ô5·÷ôm¡œwÕL–¶¥8ÓeJ•ød¡y^šÞG‹²¥RnÓR7eeJN0ÇÝ]<×ÛëÜUõ;§W6¥¾šõ$Œ}qÚDP¿¤Øæ0Ç0Øîân‚|É_žm•´PiJ¿ú/*óÝøÜ\"Q5ÏìÃÌüÑsÓjc€ç§¢ÉëC¶Êë|[ì -ûªœwZt}^pj=†ºh[ur¶¬ó}S,ì5›µÛóÓ}½"•6Q@ã4Pm7ä殢Dë¾öîI7êãc=šß¤=+-Î}/>²ºãöø|Ô¿:èÌ(ãæØǹ_ -&6
¢NMý»ÿý‘çìeð‹•Í”å0cž4»âò™_0ôO6F&ü·ÿÇ¿9ýl†ëßœ=uèr†!Ö(ÉÃŒdBšþ?–ùëendstream +xÚµZ[sÛ¶~÷¯Ð[å™Á$ðè&vêNc·Ž;çÒö–(›Dª$e×çן],Hñ&*=É™ŒÃ°v±ß^@Ì8ü³ d¡•vYÍ.‚Ùr{ÆgÐ÷áLxžEÍ´hs}{ööJE3Ël(ÃÙýº5–aÜ1»_ý2™dç0Ÿ¿»½¹ºþðóÝÅy¤ç÷×·7çðùÕõ—D}¸»øøñâî|!L æï¾»øñþòŽºB?Æ·×7ï©ÅÒãÈ w—W—w—7ï.Ï»ÿþìò¾Ñ¥¯à +ùóì—ßøljÆ™²&˜½À΄µr¶=ÓbVªnÙœ}:û©°Õë^[?-
B¬ŒT":>-MÁaZOF‚EJô&]ÁÂ0"´°À¡5E´hYDHÎ,3‹ËB%•3ÉSšU¸.o¯ áÀi‰“#ÓýSK)Ä<ÍÒ*7ô£L*"ò5>å¼8fžç¾5‹·IÍX<'Eé‡ðÏr—,Ó_9—ÉŠöeš=Ò@1µü*¥vò¹_ÿɳ[Š‚-„`6¤“ðOI†lv^‘¬ÖÏêé*.ª’èýî
2˜§•o(“²÷n[ëÖ¨æÈ鉂g+¢ã±wœö#‚6R…á<v# +øZ)Ð~‰%™ßÌ·»t“¬iF
«dï7Õø’j*$œáó 0þjÐ¥ &8SÆ¡Vów(]RúwA®‚Èê)Έº¾ñoÅÏ µàêàóaŸn*nD/jIÑÅÏØ-ÚhfBÎÚ>ùE^®¹‚î0 +F}Ù+5ÇYùâθ*jMý赧Ï0…Ó_Òê)ßÂÝSGóä¯Ý&]bRà^Pkºm·–Å÷ú§[7dˆ÷0O‘V¯Ô^&ËšÙ€›
5?$c‘ "Éã +…|·Ä§šßüóýíÇ‹ëFÍdY¤VyâY2ôN÷În‡æBŒ}N8l PC\É_ní6`½6+ò97: =q–4ñ½„&>ß$ñš(gkFí@{àÙ§@mÁ UçÅ'\åÂ'˜L¼ÆU[ÃBS“[í ‰ç?`…Æ–5µ-½äÝ`ábQOÚ±ÎKìXV.Â>-Çþ²Xq?‡Úæd±ï6èÖJÿÓKµ 3¤³2)"Ù.±¥–ŒÓʱE`B0á¡0’b¤T
Í ,ŠšRU€OÎìrÉ +C©‚R¹|Š[™Ü‰Yku7xvDCŒÆ˜á\PŽ‹4w©ùZVɶ¤žU\ŸЀM‰±Ü/Ÿü랤)¨—ÏIý®fß)BËL5¼SæôÌ3PQ+á¿` åäõ…‚ëj*ؾû4æšiÔökðHò5˳×mr„‚Ò¢~¿ƒ¨‹Ì¨Òh8$4÷çd“ï¶TüC›
žïžâ¼B‡†ŒSë7ôÞŽ–©Ê—ù†º–í\îFʈ•¼¶é +ÂEÄ1Â@8›ÿ›¾ MD̤ñŸN8lœUuZî~9@–=/®?dº€×Ký·cP’©È„mò¹½Ör„1a8³PkÕìÊv¯&Htëbr9Ø$€j\@LTQY8Ðã›"žiÑæ:ži.WïaÈ_€ýÓõkráVhˆŽ“³7\#Ów+ðQß™þS’ôââ*)—EºóŽLq¸¼6b\êÚV}%z3cÀPF×>“õõ,1‰=m¨³xœq×Îì5ÿ ‡ã’Ê˃rˆ2Ý Ê0 +´í¨:…¸šÿ„ÒÃq?qaÄ´‚"lrõ®S‚F›FÂ…Ó>ÈâZ\ˆ«¹–Úï FN† ŒÊC=={Ã52}oáLuçÿ2¼ÙÞZôÑ&™áZϨP¶s®»Ë<•Qkþ*ÇýÕD$2O®}ÃuBáhÓhƒ¤‰àÚZ\h«¹pF²Ðb—oÒåHýi? +ìôô
×Èü]¸iðôHuøÔ|Ðu?{ñ\înM{‚êw÷ûg'8rÑo¯bîwpÈ}BN‡Ô¯; +M±šÿ„jÃqGa%Ç`e
Óy§×¸á:%È`´IX¹ÍO™iXµ¹ŽÃªáê»ÿ¾ñ_âb…g±}€Eâ +<ÀRå ²ªj5 i·Ám¤â안ë}ÃjEvðtï6ò¸=Ñ!Ä$T]Pn> :îÑwbðá@×{¸o¢ù…//*¢ÜñIO:™¦å€e„º¶§[\Ý7"®Æ?|–´dJ†µ´5¢Ü¡ƒ3j¶ò-d8S{¡†pÖyÉ`Aâ,LJsÓ\üpÃô`šk'ĺ¦Þ@î'C¶ñH²{Z?)DèÞYAs|݉5탲Ú?tŽ®ý)W“½Ôí¯&c&Û]}”…Þr4”‹÷ÏÔt$o1ä5“ÛJ–,Ð5Ëa…0€ßôÌ
Ópjջͦ¤êÎMÇ€J[ÀJGëu›?Öò7°Åã®*R:çµ{[P#. P;è AÜ$hwGLH”¯YÿE½8øRRTqê§]å[¢5E*ôïïa؉¤î…X +;À¨BwÅlãÞRîªØÛÜw`”v„—geÍ×»X endobj 1410 0 obj << /Type /Page @@ -5856,945 +5868,951 @@ endobj /Resources 1409 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1408 0 R -/Annots [ 1414 0 R 1415 0 R 1416 0 R 1417 0 R 1418 0 R 1419 0 R 1420 0 R 1421 0 R 1422 0 R 1423 0 R 1424 0 R 1425 0 R 1426 0 R 1427 0 R ] ->> endobj -1414 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [284.2769 667.7189 352.9489 679.7785] -/Subtype /Link -/A << /S /GoTo /D (access_control) >> +/Annots [ 1415 0 R 1416 0 R 1417 0 R 1418 0 R 1419 0 R 1420 0 R 1421 0 R ] >> endobj 1415 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [282.0654 636.5559 350.7374 648.6156] +/Rect [284.2769 372.3497 352.9489 384.4093] /Subtype /Link /A << /S /GoTo /D (access_control) >> >> endobj 1416 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [311.9531 605.393 380.6251 617.4526] +/Rect [282.0654 342.4617 350.7374 354.5214] /Subtype /Link /A << /S /GoTo /D (access_control) >> >> endobj 1417 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [299.7586 574.23 368.4306 586.2897] +/Rect [311.9531 312.5738 380.6251 324.6335] /Subtype /Link /A << /S /GoTo /D (access_control) >> >> endobj 1418 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [292.0084 543.0671 360.6804 555.1267] +/Rect [299.7586 282.6859 368.4306 294.7455] /Subtype /Link /A << /S /GoTo /D (access_control) >> >> endobj 1419 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [330.7921 511.9042 399.4641 523.9638] +/Rect [292.0084 252.798 360.6804 264.8576] /Subtype /Link -/A << /S /GoTo /D (dynamic_update_policies) >> +/A << /S /GoTo /D (access_control) >> >> endobj 1420 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [401.5962 480.7412 470.2682 492.8008] +/Rect [330.7921 222.9101 399.4641 234.9697] /Subtype /Link -/A << /S /GoTo /D (access_control) >> +/A << /S /GoTo /D (dynamic_update_policies) >> >> endobj 1421 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [257.6971 315.5214 326.3691 327.581] +/Rect [401.5962 193.0221 470.2682 205.0818] /Subtype /Link -/A << /S /GoTo /D (boolean_options) >> +/A << /S /GoTo /D (access_control) >> >> endobj -1422 0 obj << +1412 0 obj << +/D [1410 0 R /XYZ 56.6929 794.5015 null] +>> endobj +466 0 obj << +/D [1410 0 R /XYZ 56.6929 572.2565 null] +>> endobj +1413 0 obj << +/D [1410 0 R /XYZ 56.6929 547.1358 null] +>> endobj +470 0 obj << +/D [1410 0 R /XYZ 56.6929 428.1752 null] +>> endobj +1414 0 obj << +/D [1410 0 R /XYZ 56.6929 403.4729 null] +>> endobj +1409 0 obj << +/Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1424 0 obj << +/Length 3042 +/Filter /FlateDecode +>> +stream +xÚZ[oã6~ϯ0úR¨¹âE¼<NÛL7Åvf7“bhû Ør¢F–\Knšþú=¼ZWjŠƒAdò3Ï…Ï…2^%ð¯dŠªØJ(†Ò§«íá*Y=ÂÜwWØa6´é¢¾¾¿úÇ{*V +)Nøê~ßYK¢DJ¼ºßý´þæŸïþ}sw½!i²æèz“òdýõí‡o툲¾ùøáýíw?Þ½»l}ûñƒ¾»yswóá››ë
–)†ï·ÂÌÞßþëÆ>}w÷î‡ÞÝ]ÿrÿýÕÍ}°¥k/N¨6ä·«Ÿ~IV;0ûû«Q%ÓÕ|HVŠ¬W,¥(e”ú‘òêÓÕ‚YóÕ)ÿ±T¢”0¾Ú +¶öTxK²õ²
C"¶Qa•ê£›Ç/X=^÷/Ž!N EÝPŠŒW‹sŽAeÁg²ì…sT„suÙª¦x(‹êqÄ8Æcö¢âjB~Ÿq1¢T_¿Ç8Õc\ÇŒlN‘TJÍóèb†ô-ñÍãl¯ûù™T%ˆ÷½-©1\+N6,–r!vQ²y”–øg~ª7U½iêlÓ¶å8À%°KXƨ
útK‘÷UxºM2$œD”ÑH|#p¤ê™o¿`ôxÝ¿À71Y²¸÷jI‘ÑjQÊ¥’#š(§\5O¹€ÒÏÇ]Öæž›çç8°ó
jB…甩Jtx›¤:eÉ@¼¤ˆp>Ë:NäÖ36Æ:_0{¼îçgUèÀTÊUÜÿµ Èxµ8ë D@Fb¬ë "¬ó(-±=½nÚíqsÊ÷§¼yš +tJ‘¸5¡Á0ÐQ(øz¼Mœ›°cç‘•RºA¡×5!ç~Áæñº!ÎA ¨ FPKŠŒV‹3Ž0¨_`\aœGi‰²‡¬ÉÇ÷ ² ´òQÉ5!ºG5ýǤ/ûÓ1ßû×kÝôY¾QªÖíë1·C@4ó7èhçk;úàPç&ßÙ§}}²¦Oºžë,Ö•[B/¨¯Åd²¾÷b›öò•}]–õKo…1ã7žq +;1ü922[âÃòsþúúb¹ÖÚ±.÷ÚŸÓÑÌä1Èuæ&3û§,šÖ>àå©hóæ˜móÍ./‹Cá¾*Ö^J£-fÄY?' 9ùuºìòª-6Ú¢Nog'1êë/ç QÂ… +x¸l”†ü +ÖKÔ:«vv,«^íCs~hòßÎ Æ~Z:œµß~8fÙc3Ñ<ž°‚W£Ž«ã¦ÌÞÀ.ôìy]‡‚Â…„ÌþyÉ^íC£‰«=°u±²ÆÌ‹d=Ž@A(dÂl%m¶‚01vŸËÖ~ +Úܨ|šßc‡³-’6¦+®3$Íõsº6ª˜Ñìx,›8¹KI|ýTØ4˜úDÉ¡9?Ø']¶èÜ͘XßîÝlîð°Â8W +=4ÃÜñð5o&¸ +íµ¢á&õ+ÎáXTN5o†š´¬—¢,eã4wÉT'y”è× +*Ôý¹t‰ioÇ]ZJC¹Ë §5v(³¬þ¦Üry™ŠÒ¤/f<àn$î+¸†±ˆ"‰v “¦Ìmuº“T,ëú©Õ»¶“û¬(-§ˆÂSŒûœÊö®ˆHt—ijt"°ã«HFÆéI{ª`ò1oÛ𕪶ƒYÕ¼Øü&Áu-]N» +zØç +©t,nôÉ=ØI?éIËúÁøÆú4A:š)^a²p_4a º†5¡ð÷:˜j +™ýè‚ei› *QóÆ–G‘ND]‘¡”´íÈ 6`Æ'£r¡³cšåz'ÀîBhšå^)ôç¥x¬vƒ¹à:]!™jiªtµ~JmO>OK ’¤·g]T„–e +®?öF›ÍÜ…†€”Pò‡"]_ÿ^+br†tiï%°b†$zÄ6búIÚ Í`ý±ñ!úƒñ¹ž²Cn‡4™:Sðp‚ •¹ +OcËúÑÎüœ¤É¯õù½<b?˜Òjö]î^A@±uÊšKbË.(œMÅ ìJ@ssû¿÷wÈ>‚=ÐO~k?(û§x¬l'ojî3÷´±ƒaµ- ª¹>oÛá¬ýzȦË^;-Î[§'LW£yåè†mr…î]ûÄSå5ò§ËöðkU.VQFÌô€3Æ6sçÎZ2{p077Nñ¼‹š?8Õ;8íá¸qî½ÒÕ?æ"JÔ„=·1¨˜¨ŽA.”T»zkn|Ywº5ßÍ^~'õÍNÖ·ˆ»9¨š÷4¤ž„¦×]TÄÓeXäˆ;j|%"Œñ¸à€šÜN’ª¾èw®öþIÒ¹w’áP}ÙØ–Ž·€5”–¦"1]ÚÝå•nN’Ôu>÷W5™GÝÏjºÏÉ0·6 B©Á¥ãÌ1†n
ûªMTp‰Â T(t¶2¬q÷YÝ–D7lÛìÁ_ÜøŽ«·×˜ Ä9ó˲F©“ê’õuœXK!ˆ¾Þœ¦ÔRö¤¤©G¹q†ÍГ$q2w@ó\ö k䓇ö¹Å!ߌ/=°þ¡ +á,ªF +endobj +1423 0 obj << +/Type /Page +/Contents 1424 0 R +/Resources 1422 0 R +/MediaBox [0 0 595.2756 841.8898] +/Parent 1408 0 R +/Annots [ 1426 0 R 1427 0 R 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R ] +>> endobj +1426 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [310.7975 284.3584 379.4695 296.4181] +/Rect [286.0435 736.902 354.7155 748.9617] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj -1423 0 obj << +1427 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [308.6055 253.1955 377.2775 265.2551] +/Rect [339.144 706.0223 407.816 718.082] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj -1424 0 obj << +1428 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [294.1999 222.0326 362.8719 234.0922] +/Rect [336.952 675.1426 405.624 687.2022] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj -1425 0 obj << +1429 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [303.0862 190.8696 371.7582 202.9292] +/Rect [322.5463 644.2629 391.2183 656.3225] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj -1426 0 obj << +1430 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [332.9347 159.7067 401.6067 171.7663] +/Rect [331.4327 613.3831 400.1047 625.4428] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj -1427 0 obj << +1431 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [301.97 128.5437 370.642 140.6034] +/Rect [361.2812 582.5034 429.9532 594.5631] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj -1412 0 obj << -/D [1410 0 R /XYZ 56.6929 794.5015 null] ->> endobj -470 0 obj << -/D [1410 0 R /XYZ 56.6929 726.6924 null] ->> endobj -1413 0 obj << -/D [1410 0 R /XYZ 56.6929 700.1172 null] ->> endobj -1409 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1430 0 obj << -/Length 3055 -/Filter /FlateDecode ->> -stream -xÚµZ[sÛ6~÷¯Ðô¥òL… q{L'ëÎ6é:îìÎ4} EÊfM‘Z‘²ëüú=¸ŠW0ݦ“É>â\ðƒ+^Eð¯EQ,“— ¢¦«íþ"ZÝCÛ»l1ÚtQ?Ü^|ÿ6æ+‰$#lu»ëô%P$^Ýf¿®_ÿãÕÏ·W7—B£5C—Ê¢õ×ïߘiþ¼þðþíõ»_n^]òd}{ýὩ¾¹z{usõþõÕåŠá{b{˜ùàíõ?¯LéÝÍ«Ÿ~zusùÛíW·Þ–®½8Š•!ÿ½øõ·h•Ù?^D(–‚®žáG„°”dµ¿HhŒhÇ®¦¼øxñ/ßa§U:å?Dá$qÇ8‚rÂVœJÄbhR¼}ÈÁ¢¯³|—žÊÖü(eÙ÷oÑùžãˆƒPõá7Ç»öƒêI! Á¥E}§ú‹Ýˆ@ÏòÛK¼nL¹JÛâÉŠ/ªÍ>ß×Çóóx‰Å:Ï6weº}Ü´æ§Ó4mÓ»´Éa¬âˆƒ…î/ò
VçNNÝ*EWIÀÇ‚6#I)Ñ*¶écn5ÕbîOû¼j¤?‰ -U]å]:L÷ö›Û›¡ES„" -Î ¬° -‚ÉìaA›.ÊOdRÞÈ -ÄÃP,Æ ’˜“°\šÜ‹:àP¡Û“ü1χ.Í›í±8œ=ZïltuÍE$qÑuÖ 4†Pyþ˜HX„.yÏDÓx¼_™ÂMÇX_0vܯ1v{6K%Y̪Ž0•^÷¨Eƽ)EæiVp–,0¬ƒ -0Ì¡ôåe~Ÿ*ë7uU¾Œ¨F’B†å;ЄüÑÄ9 -˜ü.ÙúSÅé½*ÓµVEצ‡CYè< ?TZQ Ã`Ze¦ªiOw¦ôâ’ã&Iøúzg[s‹‡Æó‰%f–/y3ÁXÌ‘Œ‰8O*µCpTV5gÆg“^@ÖsQ–Öˆ²±šß™¤KI!™Þ$¤´u‰(µÉO%iý×æ°Â%EÓ±*¹ í§ á—ƒa¥Ü<Çp„Ìåë s(eÖ®>>§ÇlÄ-‚åX†{Ô„äÞø†(…8ê‰þ Çt½ÏÓª¨îw§ÒNR;So§(jN5=¤©JÍ£¿šÌÎ LM«§²D3xœÁ݈GÌF\p
óDæØ‚ô”mdnÓS“[Y^Ų®!½kÓ¸K‹ÒpŠHŒ0¬úœJwZ<8¾€T[¾BåÐ8Õh¢ -ïó¶õŸTµ©L«æÙÌåjñÄÙúù¡(§]€"¶ÖA€“cÓNyA/žëSiå§eY?[LMU÷j‰¢ªœ;´mµ©sF8E8ä˜A€y6 -”—È\°9Š÷¨ ùý¼›9Èq}þ})‰žÝ0L”'MT,MUc¶cª$Lƒb°ú©iµ{1?´ÏUk•îsS¥ÈÔi‚ÂÒUj—w -[Ö÷¦åSD£ßëÓv<PÄ®2"¥íU»ªÌ^@@±µÊ`gd“¬œyLyŸ\†°Å¹þÏÛdŠ`ì*ߘÒü)î!—iJ4¦ÂPˆ9Ú˜JßÛˆë±>mÛáÆ~U¥ƒéÜ„×ÖBƒsÖ©½·Q‡¼²ô‡ŸŸIì©Ë¢„˜T¥KÑÈE—í%Ùß«rqý¤Å˜À©d1Œ¹¸3–ÌNBa—Ry58ÕœvØXwÃ'Q%dA šÐ¢ç¶¶<¨áÃÇä ›Jª¬Þê³·|¬;»5·§=Ÿ= u>£õµ'b6•óž&V0‘Xðtð´CiYâŽö¾‘$aaÁ5!¹ŸœbD•}ѯìªC¸8¤sú$|P}Û˜Ÿ†–·€Õ”z-¢ÿÚi7Ë+µ-‰¨ÝóÜïUÏ<êsתè>'CŸy˜$&p)û18Æ°OÃn=†¦\"1ìÒ†j…š4kì©Vw3¢¶jÛôÎ߸½Vo¬qÂc‰ë~Ÿ6jy:y@ ϳ¾Ê‚}IÙ×™Ó”êXj -I:v(»;œas,¢B,ä.jžÍeìüc£§¢]nóG±Ï7ãsÌ…²; kâQªôè-`,#.úºüµ£áGnÞ¢’¡Xe®¹ÃžX”HAzF{<~Áüq¿s‡=|¨RBUÚƒãàQŠŒ{öÄ°oŠa¼ÀÂ*ÀB‡š³"+§Y«fÊdXšP¥ÏBµ/UÃÐÕåë0†,²0F,$ÀBH9êD®kM…¿`þ¸ß/ga¢.BƒG-(2î-ÌB¢ -K›.*ÀB‡šÏõ©ÑP$(a”…Uñ¨ ]ú4”–²¯ÌßDîI£[.˜§1“óD”QÎhÏì~Áã~¿œˆZ–ÂÔõd!ÎÅB*ì€æ9è@óic’‚1ÉÂzxÐX‘>bœ÷5ù›&ã®=Ã<¨»y _ã´kr}6~ÔëŸà^„8æÁp˜°ÃžÂăý—‡‰wˆgAæä©UÇ£M
ÅhêAc©ýë<®ÈÈzb¿ËÎÊö²Œ±ùÛ<Ê`ïJE×¾Ðežƒ‡-õú'®òÀ•tÁßÖbÔW˜UD%¿d‰VT€Wu›M–—éËÔ‰„Œe–îQâ‡'’D¬/ÿk2ìlÅ@4(–Ñüq!BI,z††r—Ã/˜<îw–jt¼¬L,QXØùµ¤É¨· Ý°T;~NÂtë¢æéæQjëMS§c¾ÅàˆH„Å{Ô„ü>ßlî+ðuÖm#3²aÂ`ÁÂ1õbIö,
Îâl÷ûå¹
öüL
ïQKŠŒzóň“há -¹‹ -ðÍ¡”ÄÃéî1Ÿ˜7á³Hа\šÜ?LRô%_+óĆBI|çÎõÉÔøsV(?§¶²¨Z}^¦~Q{‰ÕöÃÞª&æ^3Q–êŠA•í17|¥lÖUþó§ü¨¯Õ¶éY¤>'tSÜWéÆž -Âp%ñð}Áé|á@Ìm‹úûæýÇW¯MYõ¡u&F}6ˆ¾Œ~1¥ó…Q×*iæ¾3GäõÞüÊŠæQ¿„÷P)m[í˜1bܽœ•IÏJO<sÑ Änäú÷+ÝLa†kžÄ‘POæè.*@b‡rg›¦…‘kÚb;¾†ý9Q'A<jBƒ›©š)$í«p½›xÿ"!Äcñ½~qÏkôë>]>¿zyÌóƒ{œcmNmSQíÔ=¾¥0T~ëw4Es~H£ õÀ`û`j·iå_Òè¿ÙiÈ3CzŽ‘ˆ¢ÁuT÷‚iâG‰`nIqœÎåÎp"QBýY®€ÕðêÄsÍ»æ|x䥎e–žx9Lè—ÆhƒŠûÍSZYѾlTF:>MÜ©pªöC$¤€ÇŒ4èoqa‡Å€t¾ÎÊpÖñ)‰%
žò›À³g|´zØç—/Õëip*
yÞc‚:{šž¦ý¡0šy¿ÿmèüå—áçgó G±¢Î´ó"†‘Ü)¥ç#Gù'äcÕÿ.ã(íendstream -endobj -1429 0 obj << -/Type /Page -/Contents 1430 0 R -/Resources 1428 0 R -/MediaBox [0 0 595.2756 841.8898] -/Parent 1408 0 R -/Annots [ 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R ] ->> endobj 1432 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [259.4835 681.3376 328.1555 693.3972] +/Rect [330.3165 551.6237 398.9885 563.6833] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj 1433 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [387.5019 378.783 456.1739 390.8427] +/Rect [259.4835 392.2393 328.1555 404.2989] /Subtype /Link -/A << /S /GoTo /D (zone_transfers) >> +/A << /S /GoTo /D (boolean_options) >> >> endobj 1434 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [381.9629 347.5161 450.6349 359.5757] +/Rect [387.5019 92.395 456.1739 104.4547] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj 1435 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [398.5803 316.2492 467.2523 328.3088] +/Rect [381.9629 61.5153 450.6349 73.5749] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj -1436 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [393.0412 284.9823 461.7132 297.0419] -/Subtype /Link -/A << /S /GoTo /D (zone_transfers) >> +1425 0 obj << +/D [1423 0 R /XYZ 85.0394 794.5015 null] >> endobj +1422 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R /F41 910 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1438 0 obj << +/Length 2686 +/Filter /FlateDecode +>> +stream +xÚµ[]sÛ6}÷¯Ð£=bñIiâdÝÙ¦]Ç}êöA‘h›YôJt\í¯ß€ ‚¼p¦ÊtR‘àáŹÀá. +WÚ5¯´€²5>>}ùZ'!
ªäx=f¢ÒhFTÚôHÆ•^ÙF†„OçàJ¿_Í@nÍÞ•´^jpý¼ì›mWo×õÚÞ©óÛvçŠ÷õ +„ÖlïÜýÒý€o›få®ÿ×nk÷–u÷X^ÿVïšÿPÊWË—*AÝGô¾¹Û.Û>ðIIb¤ÐöÛ"F)~ô¥{:Î +kË[†î÷ý§ÏŸ/ß¹kkãÈ™;=ôù¾îÁð‘ÜÕÒs7›v¹öïÝ´înÝì¿BJ™‡oC(4ý³ÖW + GÙ—›®xMü±S8‘€š`+Pio"*§{‡ÆTDPÃ
jB™Ô‘Ϩ{|ÆûÔîwhPB”톀ÊI¡„ƒT&³À< +êî¾]ïÝÍñtüÞí–Û®¹`çÇ“OP°Ú4õ¶ëQNbp±kî¬u=Ö;«W¸nÁÍÓÑýt¦ +õÇI¬ÿ«vkÕxן+ên|9`çD”T‡eèMû\¸Úg–a¨ôb¶'’&,ڳٕߤs¦ŠGÛ5“s +endobj 1437 0 obj << +/Type /Page +/Contents 1438 0 R +/Resources 1436 0 R +/MediaBox [0 0 595.2756 841.8898] +/Parent 1408 0 R +/Annots [ 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1453 0 R 1454 0 R 1455 0 R 1456 0 R 1457 0 R ] +>> endobj +1440 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [255.0796 253.7154 323.7516 265.775] +/Rect [370.2338 737.7879 438.9058 749.8476] /Subtype /Link -/A << /S /GoTo /D (boolean_options) >> +/A << /S /GoTo /D (zone_transfers) >> >> endobj -1438 0 obj << +1441 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [311.5276 222.4485 385.1809 234.5081] +/Rect [364.6948 707.7941 433.3668 719.8538] /Subtype /Link -/A << /S /GoTo /D (tuning) >> +/A << /S /GoTo /D (zone_transfers) >> >> endobj -1439 0 obj << +1442 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [315.9507 191.1815 384.6227 203.2412] +/Rect [226.7331 677.8003 295.4051 689.8599] /Subtype /Link /A << /S /GoTo /D (boolean_options) >> >> endobj -1440 0 obj << +1443 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [381.2254 61.5153 454.8788 73.5749] +/Rect [283.1811 647.8065 356.8344 659.8661] /Subtype /Link /A << /S /GoTo /D (tuning) >> >> endobj -1431 0 obj << -/D [1429 0 R /XYZ 85.0394 794.5015 null] ->> endobj -1428 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F48 925 0 R /F21 690 0 R /F41 910 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1443 0 obj << -/Length 2815 -/Filter /FlateDecode ->> -stream -xÚµZÝsÛ6÷_¡Gy¦Âá“ -ÿ±™JH’òt¦SIej¶Ü^ÑÙ<{{ÅfáA‹.êÇû«¿½z–’4áÉì~Ý‘e5†ÍîWç áä$Ðùë÷ïÞܾýíîÕµ–óûÛ÷ï®\Ñù›ÛÝàèíÝ«_~yuw½`F±ùë¾úõþæ%NÆ·ï~™/g„Þݼ¹¹»y÷úæúÓýÏW7÷Á–®½Œ -kÈW?ÑÙ -ÌþùŠ‘5{JXšòÙöJ*A”ÂÏl®>\ý;ì<m_Û?©Q\&°“vKññ]fD3 -)Q"a—9Ûe²»Üì²²^ç»kf拺Úï–ù©åŒƒï´Nf]ñ%jDÑÑ‚ñ”(u¢Å‡<ÇíoÝ`•×Ë]ñÔU‰ÕÚêubRª åÒ€[NаßZI÷NQžš+¨!LjÖ3îf8¸ëð†å¢åË£–ò,!z ’–ÄðDÅ=PSŠ¤YEÈ€ðŽUš¦DB\MP¯ƒŠPϣθkñœØ'‘LMèP#ŠôØ'D›î+òÝØçÌ9ÑÁH™ˆP(ð`=‹côø Û‡r/& ¤Ò7Wq'Ô„"CiQ&|+D'`už€eWÌ6Íâ’ü' c1¨]QEjD“>%‘)7}UþSÇ¥ˆA§TDP(Iç9•˜IÓ³9ÊA‡Ÿ°~(÷ÿà JwC@M(2”ç ÔDðZœƒT„ƒqÙX"„@ÈTÅu ¨ez4„ÎB@Iêkó]i8ž
ÓÔVÅÛÖUt‚‰?±C¹—3Qph! Œz" &J‹34q&vP&z”]q_ç‹K3¢%·{S& F´éQ1ÊRÎûê|›¢<aÔ©&3Éy2j
ÔÑžá12züÄå^NF ôa"î -šPc +ÊDE„*ãLì¢Î31 ìŠeÕëÃ9î1pðÔê4²zÿ,ÂHšjÑ_þÛ$Á'k'œ§àsTã© -$ɘ(®Å@Vœ‚;T«‰Ãm!¡GÙ¿äðÓ¬¯v‡±FNi_݃FVï7rœ(uµ·ü·¡ÝÀˆÓFN/š™H#‡ -a}Ñ1!ÚÈ9ü„ÍC¹g¨6lãì'-â;Pj¥Å¹µ¿hĹÖAE¸æQmIÝošb±ÍêNyª)БËøê5²|Ÿlεк÷Öÿ6d;µâ”kÌ&vžk&%‰NTÏÐ×<~Âä¡Ü‹Óš -g?Ždî9£À€„šðzS½,põ3ß^¨ôlÎÊÕ˜ÄRö¿Ò¡¨Å“õÍh M _sª69hEýd9ûœo׌1ä
xŠ§I!Áj4Å|v?n`J,ç.3¯íH„/7Ù¾ç ªç/ÕîKÃÖ¡vPg[ÿ4;à sˆs¸&ó'´á¹¨öîÉs¾«ÁDwg)d¯–‡·
^[V9ØØ_âÐs«Ý-3M„'’;$5`׶¨ëï-àºïÄLVº›½¬Úë*$Á>¨l-¶£¢<É –†$ðsÒ)Æ~>ä—sDRžž¸…1/j¼–ù‹›°z î#fR¼X®âÀRÀ½¶Es0;e¾€/ÊÜ¡!¤šSmPpÄG/Yƒ£c°ZùN$:H‚æ”õÔj¯¬¿¹˜¿²û§æun…)é6]‚CÌ|¿i¥ÂãÖP˜µÑPXEóU% ¨™'v -8(†ŠØ|s½H ‡nó?ÿ‹È,aB²£cº±w6™7‡§üx‡£x±j~ïÀQdÈ
Ö(ˆÌ£mIr¬K6Â]‡º”Ø~ªx.6ùƲ2ó÷åÒ½šáå˜×áÕÇ̽Wï—Kx -sJs-”ýƒ©±Ã4üs{ÿ—ÿ:úø§ãí_Å~æÔýë-BœRvt2ü"D QýŒºendstream -endobj -1442 0 obj << -/Type /Page -/Contents 1443 0 R -/Resources 1441 0 R -/MediaBox [0 0 595.2756 841.8898] -/Parent 1408 0 R -/Annots [ 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1453 0 R 1454 0 R 1455 0 R 1456 0 R ] +1444 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [287.6042 617.8126 356.2762 629.8723] +/Subtype /Link +/A << /S /GoTo /D (boolean_options) >> >> endobj 1445 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [307.1508 736.7306 375.8228 748.7902] +/Rect [352.879 491.9657 426.5323 504.0253] /Subtype /Link -/A << /S /GoTo /D (zone_transfers) >> +/A << /S /GoTo /D (tuning) >> >> endobj 1446 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [334.8268 705.6794 403.4988 717.7391] +/Rect [307.1508 461.9718 375.8228 474.0315] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj 1447 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [337.0185 674.6283 405.6905 686.6879] +/Rect [334.8268 431.978 403.4988 444.0376] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj 1448 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [364.6945 643.5771 433.3665 655.6367] +/Rect [337.0185 401.9842 405.6905 414.0438] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj 1449 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [374.6372 612.5259 443.3092 624.5856] +/Rect [364.6945 371.9904 433.3665 384.05] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj 1450 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [292.0276 581.4748 360.6996 593.5344] +/Rect [374.6372 341.9966 443.3092 354.0562] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj 1451 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [319.7036 550.4236 388.3756 562.4832] +/Rect [292.0276 312.0027 360.6996 324.0624] /Subtype /Link /A << /S /GoTo /D (zone_transfers) >> >> endobj 1452 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [460.1655 519.3724 533.2211 531.4321] +/Rect [319.7036 282.0089 388.3756 294.0685] /Subtype /Link -/A << /S /GoTo /D (tuning) >> +/A << /S /GoTo /D (zone_transfers) >> >> endobj 1453 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [362.144 488.3213 430.816 500.3809] +/Rect [460.1655 252.0151 533.2211 264.0747] /Subtype /Link -/A << /S /GoTo /D (boolean_options) >> +/A << /S /GoTo /D (tuning) >> >> endobj 1454 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [293.1435 457.2701 354.3435 469.3297] +/Rect [362.144 222.0212 430.816 234.0809] /Subtype /Link -/A << /S /GoTo /D (options) >> +/A << /S /GoTo /D (boolean_options) >> >> endobj 1455 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [288.6803 426.2189 357.3523 438.2786] +/Rect [293.1435 192.0274 354.3435 204.0871] /Subtype /Link -/A << /S /GoTo /D (boolean_options) >> +/A << /S /GoTo /D (options) >> >> endobj 1456 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [328.5503 395.1678 402.2036 407.2274] +/Rect [288.6803 162.0336 357.3523 174.0932] +/Subtype /Link +/A << /S /GoTo /D (boolean_options) >> +>> endobj +1457 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.5503 132.0398 402.2036 144.0994] /Subtype /Link /A << /S /GoTo /D (tuning) >> >> endobj -1444 0 obj << -/D [1442 0 R /XYZ 56.6929 794.5015 null] +1439 0 obj << +/D [1437 0 R /XYZ 56.6929 794.5015 null] >> endobj 474 0 obj << -/D [1442 0 R /XYZ 56.6929 378.2509 null] +/D [1437 0 R /XYZ 56.6929 117.6023 null] >> endobj 1091 0 obj << -/D [1442 0 R /XYZ 56.6929 351.7602 null] +/D [1437 0 R /XYZ 56.6929 92.6648 null] >> endobj -1441 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R >> +1436 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F48 925 0 R >> /ProcSet [ /PDF /Text ] >> endobj +1460 0 obj << +/Length 3433 +/Filter /FlateDecode +>> +stream +xÚÅ]sÛ¸ñÝ¿BsOrÇbñEl_šË9©ïÃimw:7w÷@S´ÅFu"Ç7ýñÝÅ.HP¦,ç’›NƸ +ùõä§_ÄdÇþöDD:³ñä>D$³LMV'&ÖQl´öåÉõÉ?;„Á¨[:Æ¿XÛ(¶*a ÒcŒ³(Ñ0„¼Y”x˜*ƒ©2‹Rzœ’/—õÃl·™çŸ¢Mt¤S©yr±ÌwMy:Ó">ÔÛ÷
uÛÚ|åGóGêä<§Zc›L7ÛSi§å‡ªÞñȇrÛTõš¿ê;jñš#ê^´ÔÞoóuËÓî«åšºÅ²*ă¸i¸šDOfRFY+G¶£/vSnWUƒ»Ñw[SËÇwý|ýH"´¨];'R7˜´v'Æ^åqúÍ~«×eä¨@NeZÙçnÅFY–Jæ4Q4ÛÔ˪x»—82bÿZ”ÖÓª¡v]>0 +²Ê¯FÜ¢ig‰¯PD +*yOˆ[‡«L¹R +yÏŽ§Øa^š·v¶‡¶†B¹²Uáû@8Ý34–ÌïhàŠlºýOY´‘Öüæòz³7ùºá ?ƒõ¼„½T"XtË%ó͆œmÒí²Ú-Ûj㧆IãˆtߌòVfþvaæ3ÌE¤e½ö†½Ê®áì+¹w͹(döë._ I_j!šg ÜuêbÊ e{ éƒü$Ò)dÂ$5ò%Øâ±àÒÊHk£‚ÝFvˆXvÅ›³4&ʬô" +¢Ãl!ZCüoÕ1T~/–³ù˜Z¤‘U"})¦¦\Þ<šù,p¼1rdd–"®ºÍG0*<·I€yôˆÑ~yWê42qj&F +h +Ü¡Hä12XuÔÇ<Ô¾ +‚Jgâœ1c&á⻕YÒ_(Ž<pú’ú<*áëB_(»Eø +^©À¢?y0¤RXµ©·«ºi Ù´{æ -†¤·¶8§3î= a\Qø°yè¡&`åŸõºgøΘ†¬Ú¿`‡ÐÂlª:…C|V¸ÃI# +öõ:q匚º·Úm +RKÿáß*Ý{]Õ¼ïßDûB«v‹¼)[æÐä}žýCcM%!Ù±XS)°_±ÔGrÇÑH3¼ñk@‚¥×UµÌ·i¹P|ºìrìC‰/Äo}ɪüX”›–6h¹—õÑ1o]ßì&¥Eþÿ>{ѽrûdÿÞÍ~åQ îà˦%æKŠŠ´Y”âÌ#¢"bŒ•ÆDE‹00LAÛ‰ +~Œ‹ +„úqlŽŠJ&»‡g/*§ìÑÓÛ472&43©L”¥ñÞïžž‘Õ.×xòÈ£‚ÞÀ—”þpÿ‚‹„¸òXàždVAÁ/ñžü"¼MdU†A½I¢$ J*£¿Ès/àÊЕ\t +ºìíwsö\™@v1é§çûuWç¿î?£î +¦´Eb#ŸRòXîWGàÝ“N»‡B +ßP©òâ^ùqµmËÕ¦¾“®ò9?º"›Á·üeÙ2ŒŽbìÞ¹FØ4uQqÝÆ=Ûú×ì¼µí^hK©û€É¿+Ü‹¡Å{Aw¾®ã ˆyoÕ´]qì—žÈÿèÐ/€!{Å·¦‘ßëÂsû³Üÿtr+0JjÜÌt戉Âã§é>åÝψŸ’þ?Ɔendstream +endobj 1459 0 obj << -/Length 3261 +/Type /Page +/Contents 1460 0 R +/Resources 1458 0 R +/MediaBox [0 0 595.2756 841.8898] +/Parent 1408 0 R +>> endobj +1461 0 obj << +/D [1459 0 R /XYZ 85.0394 794.5015 null] +>> endobj +1462 0 obj << +/D [1459 0 R /XYZ 85.0394 417.3459 null] +>> endobj +1463 0 obj << +/D [1459 0 R /XYZ 85.0394 405.3907 null] +>> endobj +1458 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R /F48 925 0 R /F53 1002 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1466 0 obj << +/Length 3030 /Filter /FlateDecode >> stream -xÚÅZÝsÛ6÷_¡é“|c±ÄI°O—¦Nšöƹ³Ýéôë’`‹WJTD*Žï¯¿]ì"%ÊrßÜxÆÀXü°_€Åð'F&‰b•ëQ–ë(‰E2š-ÏâÑ=Ô½=ÜfâMº¾½=ûúÊFy”§2ÝÞux™(6FŒnç¿_ÿꟷ—×ç™Äã4:Ÿ$i<þöÝÕwDÉéçõû«7ïÞþtýê<ÓãÛw﯈|}ùæòúòêõåùD(H` ˜Å¯ï¯.©Ñ›wÿ¸<ÿãö‡³ËÛ0åî²D¬p¾Î~û#Íau?œÅ‘ÊM2z€8y.GË3¨(ÑJyJuvsö¯À°S뺉)Q&JŒÌä$Õœ’<JT¡œn–£Í¸œÛU[¶ø•ci«9U5k;+¥!BAVÅ’;×¢ôùPVóY±9fÌ,°)HP‰x|Uo–EU=ž!ÆÔ¯]”ÌÚÿ¶4¯Þ w{U·7ïÞöÇÂïqÇðOàÞ€€&BDy’H·Ú?-¬OÅùxÛØ9•Úš¦Õ”÷+¦ ×h=/Z.»ÅØ[Û´°mÌøç…åýÜþxù•ì§Ù¢XÝs×EÑÐS{.Æ®|ìÍ - -›s3ÞV–: -ú¹Û‚bž|Øíw"œP™4¹Ûš¶;“5Y”+iž=uäÑ>®íçMÝéQgÎéçcQ:þ†/º–NDJiÙm`$©¢\Äš]°ÑQnÂT -¡ÎÞ¼„T™4I>ƒ¥ïqBI&#•êô„’<F<ž0Qû<°0_-²Â3Kö-½J)Äß౩”<6$:
}
)¶ã®©<ó–j4mšƒÿ±ï~SŒ#; -Qw¢–^!jéƒÉàÇ–~$ðw[H¢ ‚>ø/%+Í0ñC(»Bw©ÇñØÝè/ÏFÞÏgé{Å#ÏQš™S&0Iá¬äéS~Î2°ïa?øìa?±æ#˜Ì‡R)ï’x?‘öé=¬^öÍáN)©)þ•úˆ.¿,Zö?^€ÎÊÕ¾>š$J9x -ºNKH¼’ÉzwGöqål48ªà±4D*¼Ÿ€tˆ5ªrV¶.AÝ·§¸~nãTǑƆ»¬ -?sžl—ëü©áà/”f˜Á^h¡»f]¼zšµœÈ0é¸"ß[gŽ Å´ÞÐ}áƒK:$f|GßKª¿~óšÈ î53™Ûf¶)§.µ‘ð5:¶…Еm_B—ìH,è“ŽœgÜúº³AØÏÐõ5ùÆ®#ç\ö€Z‡§Q’PŒ¤•\‡w±xűö
`KTš-tXo§Þ»d Ö¸Ã/- -~ÉÒ€ ábé+û@,®¯y¨Eñ‘ÙOŸ'¬Xö»\®+»„Æ!ó½ÚËÚ|wu -µŽ ËÆYW
Õܤž[÷üA/iã˜H% -8wÍ÷˜ -êA -¨åêß„x¼ËpÝŽ•NñcaÊQÿÑã‘£W§.º¦Á¡@ÄÐàøpa78Çíˆß¤]
ý¬‹M[ζä‚jÒ}"¼™˜ÕËuÝx~üÆBO~ä „˜ÉIÞg”ø”Ù
ÙaÎà…BÙy}âž…´LçúUÍ|Ùâ6Ì“ˆ]#ë_¡„æS~~²fyÙÍGÿôdʯg<RPSAí¦¹ ´‘—pÕ¡Õ~þíb8ËâD]óÿ |‚€ô=h:´©™v×"7õ†MG§gç–¨NV’e‚„µÝ,Ë–N,|’EÂÉ[*þã_‡`Ëí·°áÁBKû©Às1=¯÷{ž<ƒ«×…óël±™rcg?h7¥×0¸‰÷ -.1UnîGT¸îúоý¤ÛáЇ>ä‹ë½±³6ä¬Ó›€~°ÁåêÍéÀ›NÌDà ¦E<zêL|œ<W¡ý© ð=* -½?§$Î"…1Ä“¢NÌä[¸P‡åHÉ<œƒÇ|ujuxyVtý¯&ƒaéøelƾ9z}oD”jñ×CÉ8d¤qÄ›!‰ÅÁ¹ûâ÷–»7§„kŒ<r|ì `@^(Û,;Ønÿ0“[u¦þ_eýš|endstream +xÚÍZYsÛ8~÷¯Ð#]qqñÚ7Çv&žÍ8YYS[»3ó@QÍŠÔŠ”ϯßn4@²ŽÌÆ©IRe‚|} »!>bðŸ¢8Œ3‘’L…ãѨXž±Ñ=ôýpÆ-ÏØ1}®·Ó³¿½“É(³XÄ£é›+
YšòÑtþK‡2<‡XðŸ·×çc±àÝÍhq©"\¾¿ø4½žPGlYßÞÜ^%£ÇåÇÛw7?ü<¹8OT0½ùxKäÉõ»ëÉõíåõùoÓÏ®§ý’ýmq&q½ÿ=ûå76šÃî~<c¡ÌÒhô/,äY&FË3É0RR:JuvwöÏ~B¯×Ýg¡±Øƒ“à#®B© Ó*ÊB‘&˜0@5µ¶@••ÆÑ<Ì¢ÈLÀFcÉÂ8ái1·ƒ§çžWº¥š…EJ·Íf]h÷V4ë¹eÉë95þõ kju
=ní€éƒ^Ú…HOâ°¡ÂLqeÖ1}(aNeŒãAÑ•MýiTùúœ§Á½®ž‰cÖ¬
¥yÒs¤¤Á‚Þ—Ô?ywIdŸ²“Ìu[¬Ë™n©§{ÐÄ[4u¡WQqÇHÌé•6Ž3–Ûl ö»¿²ˆM&ð—Û€l7×C›ÓŸWU^Öøm.‚'ƒ•ä2Ðyñ@´ÒömZ=EVYÜ•µù,Piµ0`µ™Ue‘#8ÔcVOÚ24Ü–E +@>êu^½ÖO4Ådb?õ?ÚégÚ-¨œëº+eLèEöò.—«J/Y;‚ÿƒûÕí]Ø+€Ó’¤{©ÚÆ
.ªÍwîv 'T”{>÷»_5O*Ûì–›eŽëÆv/
–ø´Ô—[–f®Q6©®Ip–H‡|ÈÞêŽ&42í} R@-ëE³^æNßêGéf_æÏÔ˜Yn½\uÏçœó ܧhS£(ŠÛCÃ|ž{>®˜ÿqbËÛ¶)Ê܈ߟÊîÁöÐc•¯»²Ø Mšw‹´Œ +ÃœE³\5›À}¿Õ0æ¥7PBt×€$®xÏF¬•iü +Ë,„™U^hØÈR9sXg´xÖ%´å}m„Yäµ%%6LZÏwØ ç,XY¼ôúÑðÀ7fÏ–×j +z*è]·FlªG¸òh[?˜ÅzŸA!œèK9¼dA@°¤÷àé`V<À`bÁ“ m@õýpärSu%Ø%Q
VÂb‚„•^/ËŽ,^¸8ìoV]¹,ÿ°Z`87kak?ÖsêÏ9Úý›}s~¿]é¢\<;owÖØé᫾×:_Ï,3ÁIí™5én]:ƒB\·]HÒ¸Óz÷খ%ÐH¥9B©s}?¢ÆÄ;s{þ±?€Î\ßy¼œ÷{§˜ >DÈãËkJ£P%ñ`I/Çtjií8®Ã9þGKBо/ÅÁ±Ÿøü‹Y¢ ^,(IÃ,Uéqz®Sy1®„üáX ŠŒCÀÉ-8·~—hœS
~'ÆÉýPÇyÈþL±'¾w‚ý}w‹œepH±l)&i’|IÜ(U&,Ù‰ÿ¿Qn!žY\c0—mºÃ©Æý¦Æ‘HÃTŠá8MF‘¡â¹¶æ©vÖL.S¤Õô’p‡¯×'ô“Û¡&&6Ê/Üͦ¦pa gQ‚߇…xËý:l8xA)…³£ùÀ‹)݈è2J„'P,T±ÌÈÍB|~>ŽUˆ^º. AýÌ¢€ÇãYÙQÇc^m45#ãŸ]tC]ŽÇL<Æ*ü.’ÉؘX* ¨Á9¶k64À™ÎAy|ª[A©$LKþÄ”nÄAAázù )Û'(•Åaɘ\ÎôÈ)ʘUùà,—zç$ÆUùh‰ëÄaD ê!Q(%B’W5'²#æô*…8JˆÇïÑ!_½O\tXoêÒx@IÑ)>[V=7G¾r‰K˶Z—Ë|]b +†¯àakf)ƒð‡H&ÑÙôÀVqPiÄÑššJ%,^@2bÃKÞðõ¡yªƄ@±‰Ni7oMÙÞèÒ|vî"E㻜Ò,íC³©æÃhd^¶En#Ó#JíkË×ià7õ> +󪌟ð> +O)Èû$ ÖR)ë~2ßý¤žûɶî'íÝO¶“]a_Nq7]S4Qùõí ÏiÖ.{l»¼vžgçD÷§="1Š×rCÄ ^Ub‹>,=!1HuS!È
M®¨î….°°+›%¦b_RÔyÞå`Š ‹¶œ”&RÛ$c)·U ;€Z&ý‚'%Ø +‰«ŠìuEm³ÔèíÁn4Œ +*}6aÒ·#ÂóPy-ámKuEÇã,” yÈ’aÍðEÜ, Ví`"ÁÔÉúáJ‡2†°9á|/šªjž(§ô*5¦–±Çvš—œÂÊûxd_ÅŽ-—3Jp åÜEtíá šàIÿÂúø[HžÂ$£Ìà°õJȤÌúBUœ¨Ø¬„„ƒ¯í¨•ÏçÖxM!EdÁMM=d•Ð¸¹¥§±¨7Twé¨Ê +Tz*S@WE˜Ÿö|í7Q{ì÷ÊžÍ;u@SÄ@¶]“ײÝoþH.ÂTJ$$¿JØôçþ¿U\ +{tñ rCH¶yp14k6Ð~¢Te_7Þ…}ë‚!-?è…ÁÏCÙ[þkyáo²€VË(K&Êæ{—דsHä§&q`Áû¦êo~]F|_vÎÁzÝÙ»–NŸ8ß +Â~øôñÒéìÝàbÔ÷Z÷U3s1îªiKÌøÜÏP6+ü¹â†þBÉÚᇗ‡áôúu{WBJÈO±ø¸Æ|ßO+Øè$Ö_úcÖízÁÊ4=p{dkÒ“zœ±NÒ?µu¿zµ\ÞÒÿ«ÆR_endstream endobj -1458 0 obj << +1465 0 obj << /Type /Page -/Contents 1459 0 R -/Resources 1457 0 R +/Contents 1466 0 R +/Resources 1464 0 R /MediaBox [0 0 595.2756 841.8898] /Parent 1408 0 R -/Annots [ 1465 0 R 1466 0 R ] +/Annots [ 1470 0 R 1471 0 R ] >> endobj -1465 0 obj << +1470 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [341.1654 110.9312 414.8187 122.9908] +/Rect [312.8189 570.0778 386.4723 582.1375] /Subtype /Link /A << /S /GoTo /D (the_sortlist_statement) >> >> endobj -1466 0 obj << +1471 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [434.6742 110.9312 508.3275 122.9908] +/Rect [406.3277 570.0778 479.981 582.1375] /Subtype /Link /A << /S /GoTo /D (rrset_ordering) >> >> endobj -1460 0 obj << -/D [1458 0 R /XYZ 85.0394 794.5015 null] ->> endobj -1461 0 obj << -/D [1458 0 R /XYZ 85.0394 668.4044 null] ->> endobj -1462 0 obj << -/D [1458 0 R /XYZ 85.0394 656.4493 null] +1467 0 obj << +/D [1465 0 R /XYZ 56.6929 794.5015 null] >> endobj 478 0 obj << -/D [1458 0 R /XYZ 85.0394 321.2415 null] +/D [1465 0 R /XYZ 56.6929 769.5949 null] >> endobj -1463 0 obj << -/D [1458 0 R /XYZ 85.0394 289.1359 null] +1468 0 obj << +/D [1465 0 R /XYZ 56.6929 748.2826 null] >> endobj 482 0 obj << -/D [1458 0 R /XYZ 85.0394 289.1359 null] +/D [1465 0 R /XYZ 56.6929 748.2826 null] >> endobj 939 0 obj << -/D [1458 0 R /XYZ 85.0394 259.2801 null] +/D [1465 0 R /XYZ 56.6929 718.4268 null] >> endobj 486 0 obj << -/D [1458 0 R /XYZ 85.0394 202.6222 null] ->> endobj -1464 0 obj << -/D [1458 0 R /XYZ 85.0394 180.311 null] ->> endobj -1467 0 obj << -/D [1458 0 R /XYZ 85.0394 93.9947 null] +/D [1465 0 R /XYZ 56.6929 661.7689 null] >> endobj -1468 0 obj << -/D [1458 0 R /XYZ 85.0394 82.0395 null] ->> endobj -1457 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F48 925 0 R /F53 1002 0 R /F41 910 0 R /F21 690 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1471 0 obj << -/Length 3072 -/Filter /FlateDecode ->> -stream -xÚÍ]SäÆñ_±¢êv2ßÉæàŒ}æàª$¶Ä®8T^Vd%à.¿>ÝÓ#–c¥»°WÁ.{ZžÙQwÏ &þc™
2L\ÐÌpa&³Û=>ùïÞí‰D3m‰¦}ª.÷þr¬Ü$°`¥\^÷ÖòŒ{/&—óß2ËÛ‡xö¯§GûSixv|ò ¡´‘Ùág—GçôÂ&ÒNNß&ÐpøáôøäݯçûNg—'N }~t|t~tzx´ÿÇåO{G—Ý–ûŸ%¸Âýþ{ï·?ød_÷Óg*x3y„ÎDrr»§bF+Õb{{ïì½SŸc“æ‚ iÔdª4óðû_ó³J{æ¸Ûò³|2‚cÖ¢yÖJ`;cs©©à øˆQ;f¥ê‰Qôwg“$Œb¬—ÅŠ˜¾Ìo€|pÙåMA¸yu›—Ë÷ -%ýÎ
Gg29ntŒ)°G
ƒI"YafÂëqeWÂ[çlÿ[6ö²NXˆøA‰ãn3yü"‰”΃ÜðÕrάö[ô£Íp—B•¥0ÕfX×ÕbQ=–Ñ¡¢ù$ŸL‡œ=ô–ñ¸e;ïò‘š¨6~8l¤°‰ª5Jp å¼Íèê¿>i§éŽ•þOàßÅ|
¦–rØ|z!ò
,Ö:mqTRAà«‚òù</FM#Cv²¤7d• -Èñ!;Ë Õ×MmI7a$Ý@zàÇVÝìýeŠô]s*í€oBŒ8eøi£H5/Þþ -ÌBrEÌ==øå¸d5¤o›u1Tk]CÜvµ,g‘É€OÍR—Út€‰n;B‹2ÞÅë
¶I™HP¡·ú–áTÿ¯¸U§œeÒ†1%‡ÑÉ”Á&1`Ûyq·ÈgÔšpYJJ-P·îWœD -¡×eR:) Û
^tw*<^,ªÇhr>ÝŒóxã¥iŠUjúÃ3ëFÀ·Ÿi¤ÍÂ4:RDT{IO`þÖY`â@-'¾²2N¿ù¦ÓÁ¾ wåZ¿C± 4@=ŽèTŽ{r§g—çÛrųÓîöc~ßÜ€M7ŸÛ -/tðêÆ74Sƒ€ø%²®ö¶ûŠ»ÕB9&¬ XBsæŒ"=½88¦:OÌãÍÒ¢y¬V¦3¾bõP¶÷„òÙl}`€Œ~Âb`éÖtÓñ3Ùþ¾_q¿ZŤ±#Ý HÌ™>qÓëÓå:}ͺΨºFg¼Pˆ§]““T>9Õ¶Scô1j¾2ñ½¯{Í÷JËÊŒ©8×ÌC¨NB8:Œmߦä:2,Ž]ÖLñƺ˜Ñ
/jÇ óÏh]¼‡Ðùyššj€†N¾Óo-Ûè¡!üáf“Ó€gB9ádG%âUÕÕV -:†Ì´JÕP|*ëæézÏ%ìKaëÞR¶Ž@ïÛà鑾
¼Š#ÝXÐu—œ"¾WÐ"*--McÜÔô¹uwmªMn_Ü'ëiÆË”MCé MæÒšgÿOFø×þÙÃúO?`CÊû-&]ZS°q-ä¢ó_üQ†àL*+[ªÞÖÿÅÑ€qendstream -endobj -1470 0 obj << -/Type /Page -/Contents 1471 0 R -/Resources 1469 0 R -/MediaBox [0 0 595.2756 841.8898] -/Parent 1408 0 R +1469 0 obj << +/D [1465 0 R /XYZ 56.6929 639.4577 null] >> endobj 1472 0 obj << -/D [1470 0 R /XYZ 56.6929 794.5015 null] +/D [1465 0 R /XYZ 56.6929 553.1414 null] >> endobj 1473 0 obj << -/D [1470 0 R /XYZ 56.6929 579.9063 null] +/D [1465 0 R /XYZ 56.6929 541.1862 null] >> endobj 1474 0 obj << -/D [1470 0 R /XYZ 56.6929 567.9511 null] +/D [1465 0 R /XYZ 56.6929 361.0617 null] >> endobj -1469 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F39 873 0 R >> +1475 0 obj << +/D [1465 0 R /XYZ 56.6929 349.1065 null] +>> endobj +1464 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1477 0 obj << -/Length 3185 +1478 0 obj << +/Length 2852 /Filter /FlateDecode >> stream -xÚÍZ[wÛ6~÷¯Ð[és,”¸äöÉuìÆÝÔÉÊê6g›>Pmq#‰ª@Ùq~ýÎ` -»6Liƒ¢S&ÄZòBv$Ï•d©”ºg`œDÂ;ýÍÛ!ÈJqýjËñi_¥YTÍñ™F/nno//ˆ×Ôô´e±Zžò4*§O¡÷¸*ò¦ôý&yCÔ``‰x¬š QùuÐ3ŠeZãÊ9Â-¤~œ—Kè&x4Ïg8š´àäô(Êe“O´½8ôjÊåC>%þ¸ö£Ô
å‡Ê6Ûãá:âÍ|¬ç0 Ô ¬sLÄzoØzt{Cj0 gó´(-’&ÊI*Ä_PÖsÿÁ]½CÓÓ-ª¿¹r†j~6›)·A0d¥„×
2q"“Q½¬î«9©¨As/¦y>=ÑóÆ©Ó³C4̨²0äqô¢´Å²¹aÀ‰ÜÜèqWD€k¶íV -üÊ$‰èu¬ñË\ª”I½¾,;誟¾Øë3Iª˜äÊqš$ËXªåäôf8À -»Áàöú'8† ÞEõ`w°óõqMÙê~ž7«p"kœ79ˆ—DZîÊ_ÈN¾{5¤b©È¼³›ç:DË4ÑåÐ -_ìº6 3<Ç„+&¸êƒSi¢!zI -&X¯š²ßL(îM ©£¢¤HLjÛX" ‹!…˜Ÿ¹^ùC:••ÿ Ø~UŒ+RlPJ"ª—DyäƒMÅÑÂi½|ï_mÊ~<síz©IÛó-þK'ÛAì -ýËùumCÅ --t”Ž‡ÚýÉÃoÿ¼õ…Îq¯šTì×TGÏ¥¨`&Ÿ?døb¿¢RÎb“¤G4~Ã’Dº"I¡kxš ÈÝ’‡?k÷nÖ|ØÞ»ëû²=]{׆ñ$9VkRF0§"ˆ1û†±k¡ƒ±#ù8©Š ’‰·{dz»G²µ{ììþì@~¼ÂáÜ!à…Û_†oN¹È¢3j{œ„=è2r¤íj±¨—MPîËÊ6õ -Ä.{UØ‘Í·²¤dB'Çb–‚5˜ÌdN˜o…Fì¡!S.;E®¶RIå
x¾eØ©u ‚Æ6"4q¶…ÿv6}vwû\JY×yŽñ›Âñßû*,„'“”G,„ŒÍ‚ó'…g',™Á4ˆÄd{ôªâ25,U¾à5t -ËÂçË;¢ˆáÌHîû0ÊŽ¶¿á:€HS–eæ¨rWe$é¿4•p° —%jŒÂM•»`œ¾¥Ó¦Ô—å´^Pž–Ò‘qFù%Ò—Íÿ‹Ÿ½fxF;Ǫ‚itÙ -^²a"‚M"Ç݈ -Ø~5‡íûY' lE¥œmÌ÷ŽÞ+|îO>×?{U†Ét_‘¥É~Q(R“m¯\#ÞN…Ù±ôÿ½kòendstream +xÚÍ[ÝsÛ¸÷_¡·R3'¾¶O9GN|¶*)mÚ»{ %ÚâDU‘¶ãþõÝÅ‚¥X¢ïlw4™1 @ûùÛÂ;þñŽÓ1“‰êØDÅšqݙܞ°Î
¼ûpÂØ^=¨×õÃøäû3i;Iœa:ãëÆ·\Ìœãñô×èôã»Á¸?ìö„f‘‰»=mXôÃùÅ{êIèqzyqvþáÓð]תh|~yAÝÃþYØ¿8íw{\*-à2|âß—}tvþs¿ûûøÇ“þx½äæ¶8“¸Þÿœüú;ëLaw?ž°X&Nw Ábž$¢s{¢´Œµ’²î™ŸŒNþ¾þ`ãŸú›ã1ZvzšÅŠóý¿J¿ÀàW)dœà:·6mc¥-r^©˜%lÃy!œçJÆNJݱ:‰„wÈúçg—ÝžâNDçÓlQå¿1&²ØÆmTÍ2"NŸˆHS$\t9¢Ž»2›uõHoRjΊ²9ˆ$‰Þgåd•_Õó
ž¢L:VʼnָŽ„ðƒêxWd +dfæV_Æ>©\,A;½zÀkJDÀHÇD›D`«VðÄoü|0êŸþÔÿðÈJ
V]`UqŸOQ(<ÑÈ_ž¨è6«fÅ”º®‹eU¬òÅ
5Îe6!òKö¸î¾M«l•§sj¡0ðùþb?%
²Ð¦Áœ¼Ñö@‚žPL’Vƒ
¯+-õšÒ2‰‰…I\›´€1ŽsCÒ½?¤™¶Ñ0[zYe%˜QZå0I×ø”õPèI§Ó0²ÌJ°Î…‹ú_— –[œ;¯ûÞg½ýrX"œ;¹_";–D@‰ÑÄ$ëû%bÀI2%[$bœÆÉ£yÓ±hÆ@lîö`>–wWó|B4ØExW–Å$˘Rû!¯f[³À>ˆX¤·™/:úTÖÃý{åy“/ÐÞ}ìûoÔ å-çéÄËz¼¥aäèã©Wyù¶]tuWù_e;zQåó9)ApÎ@Ñ~øiÆà‡}HÎXwI,MùìJ$? _
Á½LÞÔ?ib•¨6õÒ‚v¤^Ÿ»=Ã%ß–à +ö(»Nø7ÊŽ1ÀD>'ªÖvj‘²A&L» Îà€ +Ÿá¦w•WD‡(zÝÛG2²˜à·îÓù] Ñ·Í‹ot|YIÝWY¨}µ¯‹9Žš†·ô¤ÅÂ4¯Ô…–IÄñ'¼-Mœ +zBn|GadþXO˜æH¸YZ5†©!) +,e,´iÓ`P×ØüÈç±G²2(°rM•«˜úP{ñ¹½4º–°ç%Œ”×^$H{‘:VíåÇ¡½¢¡½‰ªµW)dƒ^qÙLî¡w“ÜCc'¹‡3áIî*|扟^{¬g
¦çŒ¦¡Ž/Sñ7¾)– +Û/ŠiN‚ š’ì¦Qü LSDß¿Ú9srµinlÏÙ͉Ó&{‘A6˜þZåª7Ð
a`„“m /–ŽQ¹Ê›£vIÒ0G+ر#½c‹ØUÛ"Ò)‘B¶Z +gÐ!SÁÍ Nï–ËbUÕ²ý˜ûÛ“C·#¬9bÌÀ9‹•4»E‚ÂÄŒ9*Ù1Þ›ÒIª0ÂósŒC‘Úhì¦d–%ß^9Ù“¼¨DÒÜík esç¹í5αÌî\¢þs³ê…p“€–Ð ‹Wªyùú›KØ’Á ‘ØNÏai\î1Üú‚8d"RPœ×·=èþæüÀäïÏÀ5næˆß ( óS&óåK㶾U « q̯ÝhYPD«æwœk°Ð:èaB`¸SÍÃE‰ûtžïhÈúº +d‚Ýw#^b½S>uuZƒÐsoËoþÇ€²Q»=ÇekY…E!«l²»r-]¬°O,ýºõ.Òendstream endobj -1476 0 obj << +1477 0 obj << /Type /Page -/Contents 1477 0 R -/Resources 1475 0 R +/Contents 1478 0 R +/Resources 1476 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1481 0 R ->> endobj -1478 0 obj << -/D [1476 0 R /XYZ 85.0394 794.5015 null] +/Parent 1480 0 R >> endobj 1479 0 obj << -/D [1476 0 R /XYZ 85.0394 385.037 null] ->> endobj -1480 0 obj << -/D [1476 0 R /XYZ 85.0394 373.0818 null] +/D [1477 0 R /XYZ 85.0394 794.5015 null] >> endobj -1475 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F39 873 0 R /F41 910 0 R >> +1476 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1484 0 obj << -/Length 3130 +1483 0 obj << +/Length 3246 /Filter /FlateDecode >> stream -xÚÍ]sÛ8î=¿ÂÊL£?ôÁ{˦ɮwºéžë½éÜvd›¶u•%Ÿ%'õ¿?€ -•ÉâÑ3|D¡0FŽ6W:Va¬•ò=åÕ»«töFÝÔA1‰(”*‘r’bHN± %U''JKEÁôZØOí>/‰Uûi»³MSÔ}×KÁ¤AæaÕÛ"ÝH-´[‘n¤‘A¾»Y`éƒà-5Z»À!ÌŠ*ß^Ö»
A4*‚vÍëlóùGÛòŽ.h»Ñ×ïŸ6ªÛz^—¯®oT¤‚¼âOèÚ7Àuyø,‘Žà9"4q,§ëbµvSØj^/:|0ýi<¯mE}M[ÓºŒSpNM•o,MiìîÉæ–)ªKÕUIŒ+šBü#ŸòͶ´
}±žŠÅù¦“‡;š úª_òF¦”£Ð$P}(-ƒÅ¦(Av]ç-B‰›`n‚í&oZËø¢H:ºðã9gÀ±õá|ÉiaO¶A³®Ÿý¦LÒ¼†#ªZ^
µ[P@N'šP4Cˆç”· RÆÁ¦n€ [“ÓÓhpÿŠ@g‚ÎGŠjUZê*‹Êºu—íºÞ¯Ö4€´Õ>oɪ`¢6ö6‚c«Áôf%o»ÇÕy€Ñ*@cIÏR%3ÇÒ”TAÁÉå»–@g&ж~wFH«â‰´¥7 -l’þ
ÌœLBÆ<’Ó:~EÌ쪨xÉç¢]÷Ð`°Ì«(8œ–Mcxç‚—È›f¿
PQTôJ3K--@C¶*
¡šö]Y‡ÌÖþTÔûÆ{¹€ZýYášÝY¹åZËN²¨æåž,
¾–Ît ì|‘ÏŠ²hÎמÜC]–õ³;l´mRr -NA¢½½ÿ?(9ÐÁ£š}K É,”š¤þRBRFaf`F‰0S‚Ôö¥Hnßw¹,ÞNß±<DÊ̘/iŒ0a–&±“Ç©F`´zÞ*5(#`Û„@’¼,ÜÓ|çr‰t¨”ξ¤'¸7ÉÏËN° H þŒz«¿2ÐF†*5ÉtC›:º
NL‚¼¾f -z83ñŽòG.av!µöE,i²0'>‚È Œ”ø:û2ʾÌ×D’ßÀÉy–œïˆÒ8»äúÁè"x- Œ®¿÷ïÃ7wïÂ_ÆSŽ'¥Ié=‡1ØXwàŸÖ/=` -Ž3yööþ«Ð|ã[à( …BFÉ¥K -vŠT ‘d‰dôW—¼ûÜE±D*–Ö'U»t»ZWIéîŠ% -13að|u˜zŒÅ_Jy]4óý@á¯Jç[í¼Þ-¾¢ˆrërp2XØf¾+fî†Ã¬gД9z]짚Ïé*
4VTtÑ¥ã9ãåÝÜÂråÕ@&G©wÎ)µÆÑ!XÀýÙt«\¶|õ¹Ä”pç \¢-æ{WZpß…u© -á:§†ÐõàQ:wNÞ™RPâu峦.÷¥¯Í+ÊÈÎ)SêJ=z'(iÎýšÄúnɈ^ˆøhõ›:ÆÖÛèî÷n©ž“ÀAÊÝ»ýݱ›×“llR²±ÅúhŒ±öÞ;îê:K‰¹Ê€Àîdç]oM·¹SDg{±?l„f~[²FòåLÓ¸¥ØE™^좌#úÀk³oÚÂxÎ$ŒÄ¹Ø&'9€NdaCŒzªÒMSÏ‹¼«*½xbŸ;>ìûþ–#0.†ÜÂ?¼ tìóxûËýé•@z†ÁëÞEˆè6æ…}q?d½rKB¦šM@:7´¼.ò%u:¥ñU¤Œ«žY0«©Tžúu<aIö’EÜê -¾@æ͹üt «OJÊPÞ‘O÷Åg™RÙvÀñ°§0\Œ‡¶XUõQu4èü¸‚k;wN<ò§ÌxGd¢EN4ºÈëÿ“ŸÞÏeÞö®IGEųünŽ3 5зÅÂloŸëœÎêeî”ÂK¿SðêRjè÷[Ñ苯å¯ýµØñs:
U–ÉáW[÷ºc¢ìÅ[˜V¦Hÿ/s¤ºâendstream +xÚÍZ_sÛ6÷§Ð[é™%þí=¥‰Ý¸“¦=ǽë\ÛH„%6© +¤÷Óß.vAQ2§×d®ãX +UäÉlPÈ¢ˆfë³8Q"‰•ò”úìíÙ?†£^7uJMq(…Œ5»P±ÈaýYVŹÈÂìhÙÿm–—$œ]H)Š$ù€4/^\õ3Y]È°þñãL¤Y&ãGjd|)çÙ,K¤ˆRð4þ5Ø)UIÜ®Yìºé̶18¶Xœd"–0-ó×DG%)pD¨%`$ù,ýŒÓÚ€Es)Ó'´¡ +!qÚxñ +¼»ÈUðb¥[Jx:É¢@C‘fÁëçèÕil¶ç2Ú®]´5QŽbtgJ«;êøîú–UC„Î)*몼 +ƒèLyâÖÝ6ºvq:Q8ªuts±¨+mWD±0 úE×Ó@;0àù+ž:Zy£.¬Š½ˆ‹•vFÞÜ0Ø5°¼£FÓ–RÍE,cg‘ƒÍÑA' ÖÀÈ)6Š%ðÂ2rª´DN76H<ðKFç2xï‚
´WF—.KÀ _Â$ì6NæX‹Z[ËõÛÛ×Ð+iÜnU¹SxAÒ¢m,ä5ÓtÔ&½À +`MäÞP檑 +´è Bñ‰ÛËP…QöªšÆ}ćc£dKéºê*Ã#݉„Ò_g&ƒ€Ù:lÒ,«Ø~¹4–Á ~ªË#Ð…,^µ}ÍØgÎÝ„q"Ÿg"øØ–›wT–ú¹ÇS RˆÇƪµC^ipÍs5ð›ådl£,껇ÝàåÓ[œûÅ +öD¨<šD:-ûá»áÉZ0Ô±aaFÅÈ°U5C(_<©ì·œÀÉ”ÞG|Ÿ!6Ä£þþá/^ä€cõâc`WùÈÆö7—{]÷Æ“ëºÝ
‘yˆá´øQ|Î÷ñ9JC>RX£ûψ@8H*D²€³ ª§œ3pœK×),$,ôv[Ñ=’‘-–Ü×®çxp™‹¸ uûÀËt¨X?±aNe»Ö^HVLi|x†'„Ö<l²?jŽ¿÷Ÿô!^‚ò_¢(Þ´„½±~h–ÀÇ÷Þ®G¶xùæàÛáø* Â+w«ÑS–Ñ9ܸÂ4/¥\×õîJŒ7Ò÷›±v¸ú´&x|õæ܇ +À±¤Ë¹qGGhøè@¡‚ÚÓ5[³Ñ»P[.=Lª±Î ‚r¸ë^74…ÏRáÁ¹¥+á¾*½¹zA3e¨âgS{ÃèBðîjÃUˆRµÞRïpþ¡OmHs`ʵ†(Æãx9¹°±Ó\1 lûp<oœ†¥$æ‘_”E‚P‰—¹¹¤%8 â÷4uú¡ Õäƒ
ݸÝËO¬[ëž~rö`YŒ< +\¿¡ª;’l‡=EjC¤ºjè) ÐH
ˆ¬_®¨ešÞ‡$˜†C-UGÙZ8zóš—í-E\ìàaK´öCWåºC•bŸòn¢ÜÊX‹‚%€E{ÔË×ÏÉ™î>ˆ•kîÑÄÇsT11Ë]ÕFà ³ÖÍ;T‡³Ó‰•+fˆ¯G4:õàÑúÛÂQ´t–F¡uCytáÓ~O,åU¾Fi©êmuÙù6Î9¶îKÔé6Üpt©çà®k'-wµO¯x¶ÉÉ¡BJCq¬HƒÓëÊ!°ñP@)ϘD×HïâÒÜ}’yÞͤ{>T^ì
‘ÕzkŽ&®³n›ja'o.Ï}3äèy{ïGê£qêali]sîuoähã»vÐû=lXã»î#–1ïÞYß·•— +²GÓà8l–!4º(.3ჴ
{åbu¯×Üû4ÊÊþ†)ÙªÜ_ŽGñÖÝ…]eûEh×X¡]ÃVB:DnõÎ!g¬ƒ`Usp€qø9c/õTø÷’ÌãàG …l7œ +óÕ©À©Dà¯Ö&~®ÎžŒ?ûã¸ýãL¨<¦Åp|X(Ü]>’c1~Ü,úÈÄendstream endobj -1483 0 obj << +1482 0 obj << /Type /Page -/Contents 1484 0 R -/Resources 1482 0 R +/Contents 1483 0 R +/Resources 1481 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1481 0 R +/Parent 1480 0 R >> endobj -1485 0 obj << -/D [1483 0 R /XYZ 56.6929 794.5015 null] +1484 0 obj << +/D [1482 0 R /XYZ 56.6929 794.5015 null] >> endobj -490 0 obj << -/D [1483 0 R /XYZ 56.6929 769.5949 null] +1485 0 obj << +/D [1482 0 R /XYZ 56.6929 769.5949 null] >> endobj 1486 0 obj << -/D [1483 0 R /XYZ 56.6929 750.0533 null] +/D [1482 0 R /XYZ 56.6929 769.5949 null] +>> endobj +490 0 obj << +/D [1482 0 R /XYZ 56.6929 457.1244 null] >> endobj 1487 0 obj << -/D [1483 0 R /XYZ 56.6929 564.5091 null] +/D [1482 0 R /XYZ 56.6929 432.4221 null] >> endobj 1488 0 obj << -/D [1483 0 R /XYZ 56.6929 552.554 null] +/D [1482 0 R /XYZ 56.6929 246.8779 null] >> endobj 1489 0 obj << -/D [1483 0 R /XYZ 56.6929 384.3846 null] ->> endobj -1490 0 obj << -/D [1483 0 R /XYZ 56.6929 372.4294 null] ->> endobj -494 0 obj << -/D [1483 0 R /XYZ 56.6929 286.7057 null] +/D [1482 0 R /XYZ 56.6929 234.9227 null] >> endobj -1491 0 obj << -/D [1483 0 R /XYZ 56.6929 262.3661 null] ->> endobj -1482 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F39 873 0 R >> +1481 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1494 0 obj << -/Length 2778 -/Filter /FlateDecode ->> -stream -xÚÍZKsÛ8¾ûWè0ºjˆÁ›àÜ2‰“õÔÄÎ*ÞªÔfr %ÚbDjD*Nö×o7 )Y²MR“JU5€ðáëi1áðOLœa\åz’åš.Ìd¶:á“[è{u"˜4JÇ£~»:ùå¥Ê&9Ë´“«›‘.Ǹsbr5Ÿ<ÿdz7WgÓÓTžXvšË“ßÎ/^$§ÇóË‹—ç¯þ5}všéäêüò‚ÄÓ³—gÓ³‹çg§©PÚHP ‚Š_^œÑ —çœ~¸úýäìªßòøX‚+Üï_'ï?ðÉN÷û g*wfr?8y.'«m3Z©(Yž¼=ùg¯pÔ맂É(ÇŒ“Ùœ¤:„“É™UÐ…8½l6tœòS±Z/Ë_÷”gŒK#'™ÖL[ØàSÎ$sf2‘ížéÿ›÷Á'©,7æÐ<ºB3ÎØU•Æ3¥™’ÌÝã¥Å/¸@¦¹P“LY¸Mn=`'6kV@ «´NÎ6Jr—¼¾$ïÂÁOÓŒ¬ŠjÉv¦íAl$èÏÜÌ°¯; B)@ÛwÁLrfŒs‡A“@F¥D>É$˜€6ڃʓ×ïB# £<:ò‰ðÐÊùŽwÌrðPà#$èãê>rŒ».fÿÙ®Y³¹} -1˜ê©n(÷¨Ëª[”!i‚°[4mIÍv;›•åügú5‡ÄÍÐËŽp|è!ØÀq—Ú¯ÃúËba²è9³Si³Î*8¨aB„T³F)ç<y[v]Uß’¶««?Ú›€‚f®Í«…_Ü&]µ*Ó®IñØ$!Œ2À(¦Szþɹ,—súQµ4ª ŸJ¦×Uºê®¼%Ämâ/®\Ó£-kâ¤E -¶uÕµã•mÒ–³¦ž·þJèžGKÚd½©VŦZ~ -Ú’ˆÀw pýV…´Íîµ%ÑÝ¢¬©‡ÃfÅÌšÓi‹a@» -/•'7ÍrÙÜõ”è´Fèí>¯ýöGö@ÇC.ö»³í†~ÖÝ2X„Û·èþ8€'ÿmê0iƾ„ -HÌ”™pÒ…o/!lB&âÅédY´ÞˆÔØØTÀZG“T4%d*öhpw·El™¸hà9ÌhÐÕ"ÎCëü7Ë–úÑÈ7kˆl;6XnLÒD§jÀ\7Á´À8£{3½AA³nRp³‹tÞ€·¬I†~þâÝ‹Ë×ÏÎ/Ы“4뺩۲=ÄûÚ트ö¹Ù²C¶ß[ªøT¶a4úºh ›¸ø. 剢Xä¦7\-pÓ÷3fH”¥µÀ˜!¾ŽdHgÅ¡&J¥bùƒ•ÿ=•qÆqÞËt&¡-Œ`fÛŸ¼³Ð•Ì -b1É”ÌÀ/ÑÎUì,:zv4"K³& º/ˆzÈ‹`‹¼u#ÞcO¹£LèƒÒ[X´
«bqðåM±]v{®¯çD9$ -£¡T+>“YÏ+Ê z(Z Ûn‹¥/Wpö¦êÒC bWÖÌ'1°Ó-òRq -ìHŸ¢ºœ"?‰½·ô”ûô”_Ø!ÀE2‰Õ¹W*9è1/ïW> ïœì}ïâe`}¿Ð#)Xßè°ýéþ•¦ì“~5AíÜ×™
»‹5½#òâïhÚ[ߘ•Ô½Kiyß«€¤è -ŽJ׿7r¼*F]´ÏýÌt-žŸDLÅ‘QèJü!Hª’8ÿj½è0ÐسDú—Ey¤4übBâz‹"Œ\
õºO¬€=Ä‘x¤–²áû×8øybdÌÞ^—}o¥¼Íÿz´¤–XR㛹¿¯¦þfoª‡$T -ËdnŽ}A‹I¨ÄšÚˆ?]NÏ_á[i#Oví¡wãs²ñb_w€!'û˜pÍ”æò1LxÆri9†ÓÔe -èp…ïè‘£ÄÆX`“#ÏŒ’ñ…õ%Rkø_&÷þ(tj;˘„®<ùk"×y®h̨íO: à¿œ¯ääE癌¿W½éH±?°qÌw¬64°
* -.ò¬ùãewrhØ~ÿæ;Ž‚Æuj=þȱ„ˆÒǪÒGß(OÁ¨È|Âbºn°‹òž¬7Í©0ÉÇŠ"<Š°¥éÝ(µ=ªÜ§nX®r¹4šÚ×Rm)3j¡ -È-ƒ|ÞгnºÐ(g±@ʔžª8Êe -â§?¨ˆ{ÁÎY9µ·mq[âq0Æizç<¬F -µÅžÎ~î²jéÓ´›pøÛª¾çótž1«€9#[ú:ëD?`r›Ñ‡ÊÇ|dÜÚC³Ã'Ƨþ…ÐàYtÆÙƒuz_ÏC鉺ðzÝýåñO‰Â¨ÑÖÿɘ̫endstream +1492 0 obj << +/Length 2988 +/Filter /FlateDecode +>> +stream +xÚÍZKsÛF¾ëWð°¨*œ7€½)¶œU*–³²RåÚ$ˆ„DT@€K€–•_¿ÝÓ= H‘²¼–k#0Ïž™¯ÓÝC5‘ð¯&™Òäv’æV8©Üd¶<‘“;èûáDñ˜i4úþúäïoL:ÉE\ߎheBf™š\ÏM^ýóìçëó«Ó©v2ñâtê¼L¾¿¸|M-9}^½»|sñÃ/Wg§©M®/Þ]RóÕù›ó«óËWç§Se¬Ó@À0‰¿»<§Ao.~:?ýýúÇ“óëaËãc)ip¿ÿ9ùõw9™Ãé~<‘Âä™›ÜCE +•çz²<±Îg‰-õÉû“
G½aê!˜¬RÂKO¦ÆŠÌg,k|.¼×nwÙÿmV܉œLa+¹sOì€æI ÅÅ8c—ÔTi/rà(0ߦ§©˜oÕˆùÊaœË'©SB{äþ‡â§WïÅÛ‹kqþú`ÎS—\ +¤Z(–dŸÆïnÌŸyÅÿãí³•Ú[^Ÿ>óêwq[ÒfšžšguÑu‚©«Á@ºÈš#'”’¤‘hA5˜S Òõºêf›®«ÚfwÅ·Øü–³v=ïl,Œ¶"·Ê¢g€‹ñ:™—Ýl]Ý”s¬š¤¸i?–p.“ÃöÛeQ5ÔÞ•ëåšçt}K'¢¾ªp—E6…ý+†¹UÉM¸_lcö´›P˜•ÔK3¢>ïÂ>ã;ž}¿¨ θµ›tuÍÚ¦‡=#Ï +l€ÏªX÷ÕlSk®W%.ˆÅ +ÊPR{W¡*t=ÖtT¨¹o©¡_TÍÔÀS:¼º¢*îëEüòćU hYÕš‰„IæE_ st‡²½ – +è©î÷ÔÈH`'ú6¼~`+Œcõ:$¯¬lZ³²9»UF(³õ†Ëƒ¦8Ëú໳E°‰¡µ¥oÔ¹ÝA÷\d6–nⲤdËyO=ù.&ù.à +iÓèw-7]ÀÃ÷FÊÜó â!.S ä:Ÿî‰t×µ³ªèÃm²ë;Ž
øÖðaÞõgìé{xAó +A*0±3mc§=ì7³“ñ~¾îˆ¦JÞ^O/‡šÉȵwG2&à³å`rSá +uà
…/”¿$º¼ÔM9ZhÛnÛm0d’ +ÎÔ8’5ƒ Âŧ*³—¸Ä>”h”7ïHØvtŠ¥Ü¹!÷ÅmÞ”3š77(›v +fv1&
íüå‡×ïÞž]\Ƽ„åìðeì€ÜßÒn—$kíFÒýA–ŧj¹áÑh붯m|;lá’c¸¶ÙCÐÈu·Í®˜½vì»9ønè=8-#yø:Ci62ËÀ€C€òäO‘Œ3Ž‹-¸6™ÉýçÄÖ: endobj -1493 0 obj << +1491 0 obj << /Type /Page -/Contents 1494 0 R -/Resources 1492 0 R +/Contents 1492 0 R +/Resources 1490 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1481 0 R +/Parent 1480 0 R +>> endobj +1493 0 obj << +/D [1491 0 R /XYZ 85.0394 794.5015 null] +>> endobj +1494 0 obj << +/D [1491 0 R /XYZ 85.0394 769.5949 null] >> endobj 1495 0 obj << -/D [1493 0 R /XYZ 85.0394 794.5015 null] +/D [1491 0 R /XYZ 85.0394 769.5949 null] +>> endobj +494 0 obj << +/D [1491 0 R /XYZ 85.0394 672.3174 null] >> endobj 1496 0 obj << -/D [1493 0 R /XYZ 85.0394 756.8229 null] +/D [1491 0 R /XYZ 85.0394 647.9778 null] >> endobj 1497 0 obj << -/D [1493 0 R /XYZ 85.0394 744.8677 null] ->> endobj -498 0 obj << -/D [1493 0 R /XYZ 85.0394 609.3337 null] +/D [1491 0 R /XYZ 85.0394 430.1905 null] >> endobj 1498 0 obj << -/D [1493 0 R /XYZ 85.0394 582.0292 null] +/D [1491 0 R /XYZ 85.0394 418.2353 null] +>> endobj +498 0 obj << +/D [1491 0 R /XYZ 85.0394 282.7013 null] >> endobj 1499 0 obj << -/D [1493 0 R /XYZ 85.0394 540.5567 null] +/D [1491 0 R /XYZ 85.0394 255.3968 null] >> endobj 1500 0 obj << -/D [1493 0 R /XYZ 85.0394 528.6015 null] ->> endobj -502 0 obj << -/D [1493 0 R /XYZ 85.0394 359.8869 null] +/D [1491 0 R /XYZ 85.0394 213.9243 null] >> endobj 1501 0 obj << -/D [1493 0 R /XYZ 85.0394 329.8975 null] ->> endobj -1502 0 obj << -/D [1493 0 R /XYZ 85.0394 240.6043 null] ->> endobj -1503 0 obj << -/D [1493 0 R /XYZ 85.0394 228.6491 null] +/D [1491 0 R /XYZ 85.0394 201.9691 null] >> endobj -1492 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F39 873 0 R /F62 1035 0 R /F63 1038 0 R >> -/XObject << /Im2 1024 0 R >> +1490 0 obj << +/Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1506 0 obj << -/Length 2186 +1504 0 obj << +/Length 2405 /Filter /FlateDecode >> stream -xÚ½Y_sÛ6÷§àCè™ -Å_èÜtÆuäœ:¶ÜsÔ¦Ó4´Gœ‘HG¤âø>ý-¸ -¬B)M¯ÛµÝ¡ŠÖ•õV+7žzQîì²-?ØÆé
ÜEt -45$gBulk÷‘ÖéUÑ´S =+mÒ‹z·-Z}($ʪlËb³yÄוý‹R^ÙU˜ÅOo.Îq -½µ@…víõîUX£Wè²mìæÎÓ
>—›¢ñd ÛÝ»=+¿”DbwÊ@ eÝ=Wýr¿êSÛo÷gvëGj/@/wSlm$é•ÔD*Ç?ÎNÃÓöR-7û•õGÏ¢£gBgÎ!Ëï®of/gó‘’hî‰ë¾a%‰ÑLF³ùùåo/¦#œ'*ç²ç„ö78fÉ%Bççbq‰†˜ðŒe(DNþ(ó±¶J
áóqðê±j‹?ŽÈ%Q,ScFS£åD0ÎýºU½-ÊjR¹£=Þ<Ó„KâÍ7Ìò°é²ÞnOŽœ#ZŠÀèíˆøf2€€&ïOòs‡zpΡ±mçW,¸+óª9š§•w]7AÆÒ‡£†yçiqßEÕʯ¬ñYTHì«÷ûbS:Á5üi¼& -&ø
F¨¹ÜïÐ -Õ˜¦Ì:?Dèó+Š–”±8s×½ÙÑÐÞ©ºc¸À|so—‘à×ñ863„å&û¼°ƒ°-:õßí·} -(Cºh‡i£ªCŽ¸mê;µdäDAŒHÃ4(E‰`ÓƒTÐe?à\–@“±ôöúõkð~rçó³+Wi ¯ÎfóÉ«éÍïP‚[¼_2mù¡ØôºÁ)Ëüä[ØžLÿ8»úõrJί¯ -íEɆ’Ÿ °ßЂÉÂù„‡tò¿Æðñ|5€]¥…’Ë/¼ƒDû‚+(ô_Šàõ®|‡îý„H¦3¥z -å‡ÞPJ•Þžr€'»Ìºœà\¸gSbíâèºÂ5k‹·!nM -ïcr¼ùÉÂ/r¼lÑîwööô“ÔÁÓéq„$êk®NâXýºðw@£ŒO—h_NCDQÖE7nÇ7“œrmSU§â¨:],.¿Ýí‚c~\ûqȲïÖVö®ØoÚIÛnþÏWàd9h•S1ÌÒ¯ºÃ„ª/#¾,NÄðÖ†7ÃÓéKg½Žú‹* -ÊÃáÀ]ç~@®ñýø*Îø’©£öU|éö[\ºû .þ»ÛºØ”ÑŒ£˜oû¼(Ýýœéûʧ±µ+ªwÞ¨ëa¡Ñ™ÌýUVšgšŸÁLÔüù£uR¬RÔùbHá -§ÃžQªœ~è©uÕwpíÌ;öá.}üŠqênaÀ“ÝLT~÷r:ŸÞœ9“.¦ß."»;sõ;!ÅGg³Y7ã÷‘šò/
Žñc91‚ë¿Û²u×Ì#n4Efxƒ7ìIAäþ²§}¼÷ -îFtý5Äÿ7 ÿÑJÊ!Æ~ï ½~õ¯+wm„Ö<.#Sæ_˜x¡œàšI~†9ý?êHŒUendstream +xÚÅ]oÛ8ò=¿B÷ ËQ"‡²©Óó¢M²©w{Øn[ŽÈ’kÉIs¿þ†R–l%íîÞáP b†Ãá|Ð, ð2!‰æ:HuL$e2XlÎhp{oϘÉ<RÔÇúq~öúR¤&:áI0_õh)B•bÁ|ù)Lˆ @Ãß®¯¦“ˆK^ÎÞÁŠ‰XòðâŸç7óé-n$õÇÙÕ„hü\\_]ÎÞþr{>Iãp>»¾Bðíôrz;½º˜N>Ï:›Î;–ûb1*¿_Î>}¦Á¤û錡•áJ˜Ö<ØœÅRá!åÙ‡³Ÿ;‚½]{tTMŒ.>¢'.Æô$5Il=—å$š…õÊ|yØ®ó&GÐ|þ®Aà2_MX˜íËÖ!Õˆ±¯ŠÖ¡ày6ù¢®–Í«Ió¨Õûûõ2Y…§îÜUù×mY,Š¶|Bx³ÍÅï”ò|i)%áªÞáVþ5ÛlËü•Ñýë˘õ$¤AÄÑRr+[ºA´"¸&J¥Ð
q,èή‚ÈãDBÆhÒ9UD)
gÕC¾3š2ñ>Ûn‹êÿ(*üÎnâ‘ÛI³ØҼ͡iXe³R:ÜM˜ +ó¦.÷mQW¸û;•´]g-b¨c¶»¬jÊÌáÁÎÊ®7xjvƒÐl¹tDÜ°F„
s)f-‡¾XÀÚ¡wOÝäp‚ÐàÔ8J)ôó¦(ªÈÞaD²Ý6Ñx:Ó€ŽVYÖ›¬°ò¤aV.TÞÌoq‚,jû]6¾)§á´jwEÞà!<œXöàˆ»=¸ÉâÆ&[æCJež5mÔÖѦnZ# +8Ý¿!™9.c<©2äÀY‹v`“¸sO~ìžÜù—Ù€ìÆ'¨÷å7ÖÙƒ£ênp$¶‚0GŸž;¯ï.IÀ’89>‚ +Á½I¤ò”d6kÇ@w +j<ʤkuÆBE¸ä_@ÞÅ(,Ž"Å +¿È,ìePAü}ëÌanêÎÙ,>zðà1<ƵD^š +ÀûÀ2á9æ‘k—š?9l²¨7Ÿ„1ÿÃqñVPÕAB)Iûžâ-´ )MŠ÷Ÿ;åÙè ò,xŽ-·ô'†¤"/R$•"i*U×ê¦æD«4ð…>ëÒß®ogogÐðH&h8Œ….…÷Õ§@i ӻ믱o% ¥ûŸh$MˆâPØ_Ôˆ¢ò¯Ë“H¥ £ðŒ³XÕ5éyy^3xgúßÔÌ¡1ü8+ÓŒ¨\&â)Q:NûêI§Ê9#©¦€-‘2VßÕ 3°…–ñ³Ñ¢Q‰b@©þÄ‘R»ynðö8é÷ѽæ00IYH +ª‰]¼\õZ™€3"DŒ°-Í5x4Õð?O& ~–BÃÍ9U±¹:ø0Bc"õÖVÖƒ,àõlÃ75Hô„ò„£>e+L=‡‡˜å)ÜŸ*ÍzüÜ·vÉ }F$óRù<x}’qL”„ +¤NôÉz/§~ÌsÈs ;Äü` ôxB'„&PÜü<(Ý<x
+Úañv/æÅ¡(ÝêM±Ë YôÁ‘‘P³.ê EU0U‚¦w¸v” q…6hc
+ÐGÛG)cñ¢-|£n +¢XxBŸGØä.„ºÓ¶9xìÍÐäu+潕u\òn +PøjÑ«†mÌl2»³ï¦9±(X3˜œtRëá´kæ¹ãY}üøѾpÑðâêü½ùIAÁúýùì*ú0½ýuz;žÛÌ}ÉÁÀ(”Ùâ!+;ÉÀ£Ú‡“p5™þëüýÍ»)¹¸~OaÇF2äbˆxjjf(Bô²7?ÉÞ¾’|úþ¾ü–ªAÊ•z-á=a5ö™ì-¡óc]ñûfö®w¦c¡œ©DÊ.yãÒ9pe.Ó?SÆ~.‚kÍo<#?îÐà›/ßûSR¯Õ… endobj -1505 0 obj << +1503 0 obj << /Type /Page -/Contents 1506 0 R -/Resources 1504 0 R +/Contents 1504 0 R +/Resources 1502 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1481 0 R +/Parent 1480 0 R >> endobj -1507 0 obj << -/D [1505 0 R /XYZ 56.6929 794.5015 null] +1505 0 obj << +/D [1503 0 R /XYZ 56.6929 794.5015 null] >> endobj -506 0 obj << -/D [1505 0 R /XYZ 56.6929 769.5949 null] +502 0 obj << +/D [1503 0 R /XYZ 56.6929 732.3673 null] +>> endobj +1506 0 obj << +/D [1503 0 R /XYZ 56.6929 702.3779 null] +>> endobj +1507 0 obj << +/D [1503 0 R /XYZ 56.6929 613.0847 null] >> endobj 1508 0 obj << -/D [1505 0 R /XYZ 56.6929 752.162 null] +/D [1503 0 R /XYZ 56.6929 601.1295 null] >> endobj -510 0 obj << -/D [1505 0 R /XYZ 56.6929 685.5532 null] +506 0 obj << +/D [1503 0 R /XYZ 56.6929 411.9014 null] >> endobj 1509 0 obj << -/D [1505 0 R /XYZ 56.6929 660.2382 null] +/D [1503 0 R /XYZ 56.6929 388.7145 null] >> endobj -514 0 obj << -/D [1505 0 R /XYZ 56.6929 468.978 null] +510 0 obj << +/D [1503 0 R /XYZ 56.6929 323.2073 null] >> endobj 1510 0 obj << -/D [1505 0 R /XYZ 56.6929 442.1289 null] +/D [1503 0 R /XYZ 56.6929 298.2648 null] >> endobj -518 0 obj << -/D [1505 0 R /XYZ 56.6929 217.1462 null] +514 0 obj << +/D [1503 0 R /XYZ 56.6929 108.8668 null] >> endobj 1511 0 obj << -/D [1505 0 R /XYZ 56.6929 194.0979 null] ->> endobj -522 0 obj << -/D [1505 0 R /XYZ 56.6929 110.3497 null] ->> endobj -1512 0 obj << -/D [1505 0 R /XYZ 56.6929 82.4166 null] +/D [1503 0 R /XYZ 56.6929 82.3901 null] >> endobj -1504 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F53 1002 0 R /F11 1343 0 R /F41 910 0 R /F62 1035 0 R /F63 1038 0 R >> +1502 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F39 873 0 R /F62 1035 0 R /F63 1038 0 R /F53 1002 0 R /F11 1348 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1515 0 obj << -/Length 3201 -/Filter /FlateDecode ->> -stream -xÚåÛrÛ¸õÝ_¡‡ÌTž±°¸Ù7m"§îdÔv;;Íæa‹³”¨);Î×÷€¤dÈö6»Ó‡Ú€p9À¹_@1âð/Fi̸ʢ‘Î"s«>ºƒ¹÷'™øE“áªoN~8Wz”±,‘Éèæv -êµ5¶Éx±=éØä¡ñœšÆlKã6Õ·ÔÒʦÞÙΠ-ÐÃDº½ë -í-Èrý`ù#{¡A›’EÑЬê¢DëÑ/äaYb¡"ÐÚ¥uNv˜Ä!²F³k½ñwŸ~à–nÙ0Å@Rkeˆ© -wLY´Kê¢!¨ù<oPl5Ä€?Á%OŸ¿g¦{UQYBÛÒ5ŠU\€IÎåö -°ž<^Xnƒ$Ï”H¢2·-AœoA%É@àAåjeŠÌUåNúOÍ5€@g_ð9V°e$hJ”±XÄѳLaªOò&dˆÕ>Œ=*ìIèí1÷zÆ>³Üû|†,úò% -; ¼ä]¨wk#¸Ón³!1X€>#6ÉSÖ[Ù…¹ÍtáÞcŠeÈøLžu¿jðÝVˆŸñ°¶B&:Ù8jq¢Å‰¥Kt¢#VX ¬‚Å/Frq¶Wx뺥N>oêj×ZõíªhOÉCœFÉÌcã‹=œ4œ.õÁé9ðsšKüÔº÷AÎ Õ®¼²tZŠ±|°@`²’ñxQ¯6y[Î˪lmÄÙp˜&M¾J+0Œµ4,”…¸Ðš¥YÖù¶s -Ò !VxBÓ–˜"|ŸFÜËoæÄÖèa[®‹Ò{_pC<;,c. -Ro±g ªó«|¸ Ÿ©¢.ÜFR0è4Ý©…?•Ò¡3{°ÒƒŒœÏá¥Ù–÷p.ÛØW -pW^.Ã}ùzáVmOÓñ®2
{9çY`%8@J1g>Ütñ!k ‰µ75a–€ˆ"%‡5ø!Ê`nLW"J¹)Ýk -:‘ÜôÏayÈÑU*ùÄ]f‚ÇÙK…%Ñ'úY.='ð±ÈbåöÛ1 -•sC1‡ñ€˜íë}°Ü•´`å*oíÓN¬<09þ†Õ¿€°w -ø³³uåéˆÖ³c!gn3ѧ9€™w¹ÙàD÷šâ±É´ÅnµÙ_GüÄñ3EÛ×þãìÒM1r‰UÜKøÞ{=Ð,wWœßæ¡XB ´ôʼn~ûbS:—Ú
’f*yCÖ×—š†I`î®™ØÙßÕ]õâ -!Æg>ÐÄüÑçøk•oJ¸±råÌýýÓ¬¦ªó¢-‡yÿ@O©›Q©0³¥Ç•%ŒÌ~×toºâ>ï9£ -“©8¨*øO¬Â•$¬%G]Õ}t1Ár -XÂ:üˆ³õVÖ®À\0¢5qFFýGf‹mÉc÷ÍÙ½ÿò«ö‰l)áå‚~àP¶”ËœNØ廂‹¶\ØW¦#_ûAxŒŸè¾Íã£ã«×~ Ø
ÙÊ»»ÝÎ=»K!õRõ$˜ñŸ>½ú -endobj 1514 0 obj << +/Length 2145 +/Filter /FlateDecode +>> +stream +xÚµX_sÛ8ϧðC왊á‰û–MœžwR§çzwn®ÛÅ–kÍØ–kÉÍæÛ/@¶«½ôz7™ aø¤èqø½Ì0®œî¥N3Ã…éÍÖ¼÷¾½½A&‰BI[ê×éÅÕJ{Ž9+moºhéÊÏ2Ñ›Î?öoþqý~:œixß²Ab,ïÿ:ßÇÑpó0¾½ý}r=Hu:z{2¼N†ã›á J +TPñï‡ñ„îF÷ÃÁ§éoÃéÁä¶[‚+´÷ËÅÇO¼7ï~»àL¹ÌôžàgÂ9Ù[_h£˜ÑJEÎêâÃÅ? +[_ýÔ®0•1“É´#NRuÅÉ8f|Â8MŠ|þ¨¬Ÿo<‘ö·»ÈúÕ¬¨kúÒ,"þä\® +túêN‹–j!˜©30•.ÊU±É×AòÄnfYó°B¹ ¥Ë†~?Þ†°l¹™öó"˜WnšªÛ.ÿ9oâÇ2(ßV0¶OqÛ-‚Mmë¥P8`&UíÊÏå¦ÃvÅ×ʱ¨¾Þ³- +HM:ùLÜeÖÛîÊjw>õ<,Ê +–¦&Fe4¾¹ÿývØUP˜ZǼª6³âD-d”°,tˆE×N¤e‚ùX¢ÈÏœBÛR6³€Ö¼ +¥„dÎÝR¼—8Ť´îÛºh]Œ3NUAß @êl̵è9ÎR`oS³Tdí¤3 +³“3£¤Ñ}$Vô§ð_öÏàtj¦Yi˜Ê +ûy@C{‚†J2kŽU?'¡ˆã‡ük%ÿ‰ÏJ&´ +úˆð½&æ#`*QÕ‚F0oæNý!…Ì™ág‘µ©Ú·}1'ÝyÏi˜^æzþâÈ)1<2Íú‹]µ&Ê'˜LoˆÌƒê*òf¿+°føè±FôãJ´K¡•€´hëÏÕ?"qÀOŽ-ÏÏ¡SR$ƒQ!EtôGÆø~Êøbç%»À9'€ëåtzOÔm¹+fMùµ«Ùýš9-´×õáyÓäýÒuTf„å•{!ÓÖ&áÐ.ÖÛ¼XäûU“4ͪce›1©u¬ªÚdöápšUëõñl?9²,ª¢¢OT0N6èoÃ1’{¾Çp±m +ÎqµÓå'oVÏDÍá +"Ÿûð{AW²5©)òÙ2Ì >ÉÇ05ßÐXBáäpôãcBWí'Ñë$ù¡ÒLØCƒ4ÃÅ”µÔ%Ø4Ä93‹:¤g¢?´)ÈúªE6\k¢|SŸÎ℉ùe_q²N +¼ÝVx‹ò÷D\IÝž÷¬:4SÑ‘ïçŪøœc§r +ø
èõíí„]OÞc0¯£¾¸ +¦”2þ/…;U«8/ŽTÓñð®ä«Ãf„ªH ªâXm<‘ÒéŒæ©":Òu +;'{í-ü¹´ÐÒßñÐp–áÆw<‰óCóûÓðÇË#>^f™ì~[W;.—¢Ý¨ã’©³€Ä—ú Õ2ýo@ û§endstream +endobj +1513 0 obj << /Type /Page -/Contents 1515 0 R -/Resources 1513 0 R +/Contents 1514 0 R +/Resources 1512 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1481 0 R +/Parent 1480 0 R +>> endobj +1515 0 obj << +/D [1513 0 R /XYZ 85.0394 794.5015 null] +>> endobj +518 0 obj << +/D [1513 0 R /XYZ 85.0394 572.7144 null] >> endobj 1516 0 obj << -/D [1514 0 R /XYZ 85.0394 794.5015 null] +/D [1513 0 R /XYZ 85.0394 550.4382 null] +>> endobj +522 0 obj << +/D [1513 0 R /XYZ 85.0394 469.4994 null] >> endobj 1517 0 obj << -/D [1514 0 R /XYZ 85.0394 586.2823 null] +/D [1513 0 R /XYZ 85.0394 442.3384 null] >> endobj 1518 0 obj << -/D [1514 0 R /XYZ 85.0394 574.3272 null] +/D [1513 0 R /XYZ 85.0394 234.4857 null] >> endobj -526 0 obj << -/D [1514 0 R /XYZ 85.0394 166.8772 null] ->> endobj -1344 0 obj << -/D [1514 0 R /XYZ 85.0394 140.1236 null] +1519 0 obj << +/D [1513 0 R /XYZ 85.0394 222.5305 null] >> endobj -1513 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F14 717 0 R >> +1512 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F62 1035 0 R /F63 1038 0 R /F53 1002 0 R >> +/XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1521 0 obj << -/Length 3074 -/Filter /FlateDecode ->> -stream -xÚÝZ[sÛ¶~÷¯Ð£<xp#Hž·4qzœ™“´ŽûrÚ>P$q"‘Š@Ùq}w± -K_ÌV½nÀ8ÌWÆÉÀê'S'”m,«òß•/o–h/VÌ}j«
)¦Œ2ÅÄWJ’˸/Ièe^”Û‰HÓ(Áv{ø&®úËu
3_®Pð¼åIõTXDi&¹`—?0!8Ø=–³±PÐçÞÛöîˆÒÔÕî#%¦OµÏuãéxŽ -ŠI7G<TÅÜ÷‘»:³UQ›Y½w 3™›)ç ýT”5÷µ×ŲœÐüSØ„TýEݸFB‰±è[¯rŸS„/ª¤’ãÜRz³w j[íê|ê”R¡|[Y[L dJt#Юlò]±~¢¤ù–›0„£{.¦¾Ož/)J[ÌMàÑKàáÙ»µ6}…¥)Ú'°íÐ,õø¶DkšöD37,f30%ÊË)‹fƒ†¹EélKƒ=‡ÍÔb ÓjGƒlò¦ÇK+oÌœæ³ûŸÏ¢åÇe4z[µ[,…% UIÄy¬ú–À„úƒ`:Pj¯ëÞØø!õ·5 ˜ð:k-$h¸-},àе¨± \ER'¢‚UàWh™ïêzÂë{WØÞÖÅÌÈš¡úG:ÉÈÑð¾•æÎ·Ò -WÅ2>€Ê_öfW˜Ó ìp)PžgºekJ™È”H;Ͼ-(1õÉOÉ%܆„Þ -f÷Ö£nV‰ÎX³ÏgùoU¢;«pº×Î'OSù´‚ÈŽ–ºë7éƒ?°à šœåŤðÁò’¬Ì /ÖÏÀd -vE9ùÿ¯¹Ÿu6Ôy93_ŒÍÂæùI´Øì΢‡MÝæ\úË -`몹·e&ýJCàˆ- ’™æÎ “„‹®>¬·_¬M[ÃïC›„`Qšð<$Ð¥D7ÖóI©Î+‘²HÅYr>æ/´ˆ$,Åß0Ö*`'ŸZwÛÍü;༿9¿Žt÷Εù°|gÕzI,ÜÇcÏ«ê±$rúAjá¯ß¡PæÃt®igØUîÇiJó}½ªvEý4ž0î’¨ªD6&ö\ÜBƒÈtx;@—ÉO¨›ˆÅžÒ®vÇQûÜàÉõÂ÷Tã ÿÖø®µÛmKóæš«zéâ;‚¢^Q&ˆ¨8x|§N®Ðé´ÎrPÉ3ÙãïÛVáè6Ë]8µws~У÷[6ÁqÜu§^„g
Ms³È÷ëz@Ýݺ¦\+ú•º#LÌö;J–õÚ=>+*ÃèQÝ -|#’r÷T$}Õ€ìÙ*/K³¦Bÿ’&å§D â(c,;ïfHYÓ8J¡;mŒÚ§´èŽÞZ¤„, •CF¤¥ÍrBÜ»1§^‘qð“•ân' ²ÝrDÄÝУ¹nýÓ[ASËyßñ -Ïà02qÈ
çN‚ªÇÎцÔÔz†‹ãÞœ=tîÈñêM +1522 0 obj << +/Length 3608 +/Filter /FlateDecode +>> +stream +xÚåËrÛÈñ®¯àÁU¡ªDd^˜ŽZ¯ìhkW»±˜ªTy} +^`í©:Ro™!Nv¢ƒÒ’ì³nñsÊ´lägÙppéÈrDþ@[á±JÖŸë"©·´”«þRDZ{1.'€ƒœGÜÇE²à!˜ + Ýœ“q?¡cüÇ+˽WÈ¢OŸ& Ç°·[ùð
Ú!™™¿C“…Dɾ$»}‘]M ¤Ã€Ë0|íTê[OµìJ^¥S& ¤|áÔÇ•c¹ +±+6<`²•³Gõ,N(æ·(ÈZ±Â’¢ÄW¹0öØaèŒðʪ¡F²ª«âØXõÕÎ=b_ɧ8 Œ±?Í›ß?ܾ¿½›:“Ý…íž +X{ãBá±Ê@$¯1Óü + °Ù÷¨‚_qVnÆ)F¼,·Àqœ}>í³WÅöº!Û»\Á&’û„FªÒ¦¯ÐUC<X¬°â +„Øö<zgû1juèJæ¯ÕàqafTƒÿÏVyD0.‰‚¸’”(2q¿vÿ¬†/¤^œ¡´Œ +uÇe9qó¡” +"¬R5=›¶Œúµåé÷7w7lâ¼¼™JjüLz;šæÎ{4Qõøí¤£»*ɾ4Y‰‘øHß(ˆB IÍ0¥o# ✔޲N§-øì3ú„ÂbÐpÃ1à6A,!1AŒ;|"/¾Y=BÄÙœqÈí +œô¶\þ::ÇÛ_¯ïïõ‰^(ÖÚëÔÀ”sÎŒ»Žé¸\pÆØü:Móþ&ïr°wö`Sº àÀÿÅŠSàp‹s h9PôfËâÒC‚Ú!àÏѤ§#ZΖ…Ø»ÅDŸz3i“±ÞŽîöÄmb³7x¦ÇÝ~8ø‰-âg=•ýÙë +«q·Šž+‡E?ê†×^½äðoupò0®Œ ñQÁò$fºt„ÅcÕ–©ÑG§¬Ÿ€uñ±ûØá«@ká<ÌݹˆÖÄ¡,ÒX +ÜmÉÉ¿ZÞØv垛ђôHäkzAP¶¤KœNØéÇ‚‹&_Ûk%§ì3pWƒó÷ˆ+µ²uML9°m3«dðÒê5´}ß wÇ{WsöÞ\8~q`Úû¯´Š8´èv\/`‘_CžÄhaçm6u©§1QºÏ¶ ÐXÅ¿DÃêÎåîLU—Ÿ-d„WÑã `xæÆûíMãs™ÎÇ6‡¤¬7½‡*îˆ7-Úï‹S«Ô «~ÊqvÆÕ$:§pÄVQ S~7¦:å…6]´“¼yÄv«†ÐÆàšš ª¤CØvåa,³U¥½¶$en›Cí^\–‹[رÂX>‚ìd”|`ŠREM‡N§°â4•kœ‘' + +ìì"(]é:R󘺣+A%æuåoדû§-ÀJº„÷ÝÑ +
´0~t—rJ´ãûª®ó ™R#0>Èm¡Èå:«œ¿UÎßÂóXû‘¼tŸ´(_”jû±E¿ýng¬°õ lû¦ÀZGRëØ}p!26eÀ¾„º\HÞ a/}ÒŸ°-AÈù«£™z&1 endobj -1520 0 obj << +1521 0 obj << /Type /Page -/Contents 1521 0 R -/Resources 1519 0 R +/Contents 1522 0 R +/Resources 1520 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1481 0 R -/Annots [ 1526 0 R ] +/Parent 1480 0 R >> endobj -1526 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [55.6967 181.3031 116.8967 192.6952] -/Subtype /Link -/A << /S /GoTo /D (statschannels) >> +1523 0 obj << +/D [1521 0 R /XYZ 56.6929 794.5015 null] >> endobj -1522 0 obj << -/D [1520 0 R /XYZ 56.6929 794.5015 null] +526 0 obj << +/D [1521 0 R /XYZ 56.6929 408.8853 null] >> endobj -530 0 obj << -/D [1520 0 R /XYZ 56.6929 632.8729 null] +1349 0 obj << +/D [1521 0 R /XYZ 56.6929 384.5457 null] >> endobj -1523 0 obj << -/D [1520 0 R /XYZ 56.6929 600.7673 null] +530 0 obj << +/D [1521 0 R /XYZ 56.6929 174.3152 null] >> endobj 1524 0 obj << -/D [1520 0 R /XYZ 56.6929 538.4401 null] +/D [1521 0 R /XYZ 56.6929 142.2096 null] >> endobj 1525 0 obj << -/D [1520 0 R /XYZ 56.6929 526.485 null] ->> endobj -534 0 obj << -/D [1520 0 R /XYZ 56.6929 166.6718 null] +/D [1521 0 R /XYZ 56.6929 79.8825 null] >> endobj -1237 0 obj << -/D [1520 0 R /XYZ 56.6929 143.416 null] +1526 0 obj << +/D [1521 0 R /XYZ 56.6929 67.9273 null] >> endobj -1519 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R /F48 925 0 R >> +1520 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F14 717 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1529 0 obj << -/Length 2826 -/Filter /FlateDecode ->> -stream -xÚÍ[[sÛ¶~÷¯Ð#5pˆ+Éž'Ç–SwZ;‘•žÌiú@K´ÅE¹"%Ççן],HQ²dú¢d4™‰Àåb |»øvAмãÃ?Þ 5óe¤:A¤˜ö¹îŒ¦G~çî}8âN§W)õšZï‡Gÿ:“A'b‘¦3¼iØ -™†¼3ÿéürüqØt{BûžaÝž6¾÷þüâ”$ýœ\^œø<8îÊž_^xÐ?ëú'ýn/ŠBýUÂë{5ÄN®çÕðüäªû×ð×£þ°ž@s’Ü—8úŽþüËïŒa®¿ùLF¡îÜÃ…Ïx‰ÎôHiÉ´’²’dGWGŸjƒ»¶ë6д™E°5Á·¡¦#f¤µŸ~¢¹]ÄÓÄÍ2™/“¹k—q™e:*è´aÆ`W6ìúX$Eh-öãÑ´yàɨLg9^o4Ë0UÐÙ
ýfižï -¤—ÔA·ŒÓ<Ío麜$Îbs<Öè"/í`áæ2ÎNïf–e³ûdLZ×$M«§—É·rgt1NŠÑ<½ëáÌì\8‹´v.8|ˆi´mÀZ¦±‰™“,^Æi_gNÅ
«p]Ï*µëy—‡^²Lˇ.çÜɼV'£å$.I}/’Å$¨fh€ òY&Y>+IZLf÷9ÉÒ¼²ž¬O”O±á课/²„Õª
ÿÑp±ÖG - -Çáe‹iNwlìÀ¯Så^|]¯À¸L -µã¬˜‘¤b.¼™o˜Z›\W‘®®ëEia]S§;žS`7†»YQ¤×ÙÝ$²ÂE†¸l›ât6Nñ#ç©%q6®“Òf#lS -kÀIF ,Â1PArïæçn/С#Ô#ŠAvÔÎÉ›ë0 ¿5ŸÈv;«ÄÛýŽÎšºÅUŠ3ñ`ÍUæe®2?ÈUü•®ªaØ—£öÎ:\2ØÛ†-®‚¢\†®ØWõÇyá·;hP»!s5 -ñÕØ.òbqw7›—TÉØÔ‚L[Pù|À“Ù/à|o€K -áxQN>ÍÉß°ÖóŸŸQÎa¯Ù<Å]à2YÅo¾‘±Ä–É*n±(K“5ÔÿNF哨7¦t°°KPóÖ2B”L¤«2bT¡®4€úsªèAéëálõ`)‡°o–mE‚à,€šÇóåfn±4J²Áç/gƒv0ÿ;ËŽå<΋›êÝÆ.~h…¶1ìƒT߀ZØV7øBEuÃç»q\&©FH@$íèž>äñ4¹B×Úx#¼¡*¼"RL(ÙRFˆ(`!üç–4¾ -ÄWŠ@Ò»:΋çð -#R5 ¸ÿô_~O¾,h²1΃ÅR‡ö0-Ù]0b”Xç3·; \mZlŒî`T -2{³Èœ8/îëSa|s;¤7·ÐsšÄ”Ö¶_-W¯ke}"ª…ltó‚îÅôsqÙ.tÑäogÁèo=½Ì’Ø”ëÀ³5 6Üè¡m¼Á€‘pèÎ7îœÐ~~¡ë¯I6Ü!|p×Â[ìôB¯Ö\{ƒ½:Ôt -¿wÕÉýlQ¬½),Öõ_|íùf8½->¿wðÐ0£LûrÐHªÇýé³*©O·PUÈÓw€úx¿Û÷ -ß‹Yìr‡suïîú=ÂkqoÌéPÏH9¤» ä-{n“BÔ\>H`Ÿ:³—¹RP£Ä’y}ǵ’5ב¬XP©G,¸ÑgnO½¦B£Ýç»'#
þ6NñPaÃû:ÿ“°]1ú%EÕcGÄpOÔmT¨S\èz©~›Ï‹¤|ÉÚÁæÚÄOÝ—1«Ü»R«+°ú[Gû!‹û<öþ1ÛvFKÇé…Jöwk(ôLê:½æ;§)ñ0IóÍPBË"ø»J(YÒ7™ô}WC8†|½ê¯Žµ†ßß1+ø -ƒ‡×¡{ñåôò÷ãóXýT¸~IŠår3År—báNe›Ñ¥K§\nÙTpËz;6J[8Š|™_Qàx6Ó|ËÀU{ÛPü°tÚpÁ[³iÈ 6ž -0cèømóo?üN+ý=÷/MV{£ð3šP¬¢h-§ +/Length 2855 +/Filter /FlateDecode +>> +stream +xÚÝZKsÛ8¾ûWè(W".^|ížÇžÉT±5µU;3J¢-ÖR¤"Rrœ_¿ý +#1|ÿñúSR~\Ü\_}üé·Ûw籎?Þ\3ùöòêòöòúâò|”¦‰‚ñÆ“`ÇÞqy7þxqwþçø—³Ëq· +ó¼('@”mò½' +·4
ØQ±’i·£J{;šª@k#1¨¥"ØlÜÑÕ´^Ճݢüó:oÚfßæ§û3|ŸÎÈ´ÖF*IvµÏsP8N‡Õz1ÉWØN†õ=ÓŠí’àíÃõw¯Îe2t룮ûz…Å,*žgÓ9›ãæÓÅ͇Ë`ß¡ŽA•0:¡5*ZÄÑ`´á_‚×i0©OˆI0‘Z¾€I»I{0ùë:_ùHzœ’G•î é+MÔ±î ‰m„$>·Ä·ÏvEô‚ ¤Á®Ž·6ܶOËüOf…Š°I†ß°"7â(FqH“¾E¡ÞDdû›uûP¿‰¾üïÓx‹Äã:wHôt& !; bHÏnAF¨-±‹€ˆc@UD@äV“W-¶âá=E×za9æ9“‹ªÍWUV2™#pS—P|°;—ÿÎ`üç36ú’Â;46Eþxžªáó>p:ûÿ}ÃqŠ 1,ñyˆ¢(Ð oûu¶Èmm–¯6n7îÚ¬-š¶˜qoªSæãê;wðÕ÷9ÑpZ¯”ö-›€GpÓ‹Ñ:ò«…>_X2Þ§yÓÀ#<™
~0Hž°j…ÍB-Í„½±fóÿ·®,&)\äUVMó×Ó›ðdÀ<ºˆ˜þ"ví 3r +ŒÞT¶§hœ|;µ²,3¦˜ü‹Ë‘¬÷8[/–d©(¡éU”ZCEß…*m»YæÓ Ì'OvpB_†QËÈa»‘zˆÓ0
"ºÓºB·5Wÿ<W½Ä6B +1¾CMêvN~ä4‘»+_Ôm^>1Û¹˜ðÔé$±!–ïXcSdÀÀ®àCíº§ó¬ªò’;Éé‰üŒ ¤g!ÒCX1}Î +Q3ŽUäÉ”qZªµ³ £ +•£àžPtUnMò‡Â‡]„Yx”Pà¼uÍÿåÿìY[åÒãÍ›7ýËøÐÍر nÒXÇi’šÔ3îï}ë‚"gûaAÄ·T—™¢˜ÛiŸ?ÀÕÌÞ#ð¨ßªâ¤Ò§ÒJnHm¶Xµ’ÃEž5ëm™#2+²ÉÁ5fî¥ klþ’UëlõÄÌòm_¨”i,0ôˆhxÕGýÈ÷êƒ/í™NÉøÜ"_…gÆ,œÅáÊxîì.0&*P7ÐlËOÞ"Â"_É÷½ŽYÞLWÅ„È8ï¤Þä/îòàBÜÖÒ¾žTÌþâí«Å×Ë8ºäÏš2öô–xëT5µ'|¢Â
j¬´û +TàÅ +hLò–²¶ endobj 1528 0 obj << /Type /Page /Contents 1529 0 R /Resources 1527 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1535 0 R +/Parent 1533 0 R +/Annots [ 1531 0 R ] +>> endobj +1531 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.0431 418.2465 145.2431 429.6386] +/Subtype /Link +/A << /S /GoTo /D (statschannels) >> >> endobj 1530 0 obj << /D [1528 0 R /XYZ 85.0394 794.5015 null] >> endobj -538 0 obj << -/D [1528 0 R /XYZ 85.0394 652.2128 null] +534 0 obj << +/D [1528 0 R /XYZ 85.0394 404.633 null] >> endobj -1531 0 obj << -/D [1528 0 R /XYZ 85.0394 627.6341 null] +1237 0 obj << +/D [1528 0 R /XYZ 85.0394 381.6542 null] >> endobj -542 0 obj << -/D [1528 0 R /XYZ 85.0394 520.1907 null] +538 0 obj << +/D [1528 0 R /XYZ 85.0394 179.3483 null] >> endobj 1532 0 obj << -/D [1528 0 R /XYZ 85.0394 497.8795 null] ->> endobj -1533 0 obj << -/D [1528 0 R /XYZ 85.0394 497.8795 null] ->> endobj -1534 0 obj << -/D [1528 0 R /XYZ 85.0394 485.9243 null] +/D [1528 0 R /XYZ 85.0394 154.7696 null] >> endobj 1527 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> +/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F48 925 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1538 0 obj << -/Length 2431 +1536 0 obj << +/Length 2811 /Filter /FlateDecode >> stream -xÚÍ[[oã¶~ϯð£Ô<¼_³¹´.ºÉ®â,ÚÓÇVŽåHrÒô×w(êB'¶eÅ^!@DÓrøñ›rD“†?2ICÍ@Ž&b0}<Áƒ?á»OHÙfX5ú>OþsÅÔÀ #©Œï½¾4ÂZ“Áxö{ G§Ð>®/Ìé -ÜŽOÎì¿ñèv<:¿=£ipþÓÙ—ñeèZIOÐÕ”âç7×W£
Ën®]uxyu^^Ÿ_žþ1þùär\OÀŸ$ÁÌjÿtòûx0ƒ¹þ|‚3Z^àFÄ:x<á‚!Á«jæ'·'_ë½oÑM q®+@f()bRÒíú!0[™@Z -ñfÔ¡$H1=*Fa‚Õë@‰·RÃ,(ad”ëð5}
£é*Íâdq:d„² ¼z™}µX<óä‰6 ¹á0h!¹ŠÒ8ʬ^âéƒ+N'«,š¹rþ¹B¥ÏQZV&Òû$}tÒS¢ƒZF‚Œ´.¶ê1$EËYÑÇ®3¨þÆt1+ëŠQ«ÊÉÜÕNÙH5,”ÆqæÚM“ÔŸ-“Å,«{Þ †íÛAãCK$bX˙ԟǹ€EÀ†ÓdµÈíT,O“{÷\:]žãd•¹€Îv—·óøÞQs¤Œ"Ÿ‡±Œs†°dìÞ ¥„îÐe%±¸R-#ZˆKRRꊸ«å<žNr»Ú”‰ „Š.Ä¥ÒTĵł6¶P‘Õ–'y=.sKè¢Mâž
]K™»Uî -³8n"Î4±}Z)èŠc |tÏèï8ËãÅŸîÓÓʶ -^ݧ—8p¥B9[È&eiô¥ìh6+Ù›ý°iäe’æ?€rŒ½C×”š`tQÔá`–_ç¯ËÈ};±¶d¿Î'YVÖÍÝ0“Ù«ûî.*Ô¶EÇÙäÍÌ«Ÿ‚bÑŒNUÚdtÊá[<7›øN)¥*rV¯ÿ;‹®¼µ3Û7ØÕrHŒ@Øzëu´Ži}>¯3•ïj}„"¡!fï´>)2›ÚúÒd¹2ïooB© -›‹xê°[yÐz8–ÐßND=]‹èQ='ÕHÕrpªåšÑý<ç8;øJO·s’Hd8ms–#˜ñ9ùQBf{ÐS¬ÇðºF+ÒÖH(Ø“6ð}šÌ¾¤Q=‚¡s˜EÓ:¸ÏVUlOÖ¶SU˜Š³¸v ÍnpÇ*¸ù5à7éÎÖü)ÈpI×Ó§ªÔ À*ÅaIà„†ÖÊϺ¾Ë¾R¥ÁqØ3?Wé-a°Js¬ÄÔk‚èé`Œƒßê=×çI{ÞÅd1-+nóInÏ™ÓrMÏݦ8{»$@$G1†RDé~ hÆ5ÌR±nn–ªÁGtäõ¤†NTŠfÌÌÚTÀB¨'¢q†tûúx—ÌáÃ
.¢lšÆ˼̣úÈq¡'ÆJ7c¦·Eˆa Äñ\JH"¶Å£Ô@`ÁEºÝëu’Ç÷¯7«ü™oð&LYð*6ú -¢-@ʦ¼+g’E‹mÅ®QªÏÈi؈ -®wcÇÀ½Nøìä>ØÉaç©ÕgôÀÇ1cdzJADÔCo´8ˆxef-ŠŸ7ìvªï JØkr.Z@”aFÈ:ˆ‡0pO=íú¢À -Ž°Æ1ŒþjÇp›w—ÖÝŠ£ÛRíÀÑS°Ï82Øw2ÞK§ˆP\Õ›³®D\¡É‡·»DO³ãxÔ] £6î¦?ÝI!}üº˜ò‡ðkë3ÿG’²¶xL4¢6½na9ûv†ÑS'Z™wÙ¸æëéÕgø0ER궀Œ%¢UJ½‚¯ÿºÃçéÕcã¥#EXK(¦ -Ÿ¯WÙg¿Jè– L5EŒs³_öu‡ÏÓ«ÏðÁOã¶sU0†6ªz©s»šÚøýöî%ζיí1šíDÔSµÏöû=Ýv¸£B#θ¬ +xÚÍ[[oÛ8~ϯ𣌹¼_öm’n3I㸃bgæAµ•ÖGr%9iö×ï¡HÉ´-[vâF€ˆ¢HêðãwnMzþHOH$
5=e8˜ˆÞøá÷¾À³÷gÄ·Ôa«·£³]2Õ3ÈH*{£û`,°Ö¤7šüIÄQFÀÑÛ«ësÓP£»Q_ñèý7ºº]½»ëŒÑ4z÷Ÿ7FC×J]ïþîæúòêýÇ¡àæÚU/./†×ï.ú~=»5'I0³Ò;ûóoÜ›À\=È-zOpƒ1†öθ`HpÆêšÙÙÝÙm3`ð´êÚ +Áˆ2I[P£¤
5ad”5¨Dú‚1Ž®ã‡Ä—äIîËe\N‹r:.<*Ù"-“¼XŸ½$H1&{Šc„
V{MŸ3ÄAö•Ù¿¨S-î
AFºýý®†¡|±î±:Ô žÑ@QM€¬„‡Ø¨žbОRÇÇ»ç‡ÏÙ¬?ÜЊYÚ£éëå4:OŠq>—Ó,ÝàæHEzþÝòõÓ±¸aÉDo@2ó†t=Øv„@\Jè›Ük")©*€†É·ER”¼?àŠñhxk!€Ž,èH´Jo³}®>¸æ<ÊûDGn„¢À׌“éc2…6šD×Y™ü»?PBGåשoÏŠÌ1¶D.\9u+ÒǾ^?»…߈¶¯V€Ãë ]_-vÄÕ’:nv¯–4i!åÊrÉÖKþ¤å"/[®ˆc-×ñÍ„a¨ŽåR0—¬^®‹IZàîE6Ëba{š–_]éâüúî/,0†$Ä´^³˜ÒË`ý +ðÿ$ãrðá”NxÍ‘T¬#¤Z#*qRŒkܹ pß'®Ö ¾Ð@ÔãJŽ ¨¢HÝ0%ó–áÓ}^)Ägß.‡Ýhþ7K=e§Å}½ï±ÍJtbH}Âd•RqÖCÉãÆÅ瓸LY%e€/Ôtã{þœÆÓ±{«1^ p ú q¬¾vã+(¼×!E1ÏÒÐSÀ¢»7i±-p<‚E’–;[ÊtÂZq«´# #ÎŒh@U9Y¾HDZMªº£¾±„ÓQÝ#`à!Òž0!tÕFuÄ‚jÄ5g
¦6)ÅspçBšœ'Œ&£Òt9z"ƒ,ºg¶°ÌevÐa Ý k9ÄŸF«.ߓШfßv„›Il”Ç‚’+¤)>„áumPÚ¯DDÊåæ†"I´såtÞ-Æã¤ØÃÃÜÖá%3¦¶‹Ye19¶Y¬{»Kᆽ_Ì|uZ<AD¥x„ÜÖîÈmíBχ$vn}×½üZEl¹ŸË¢§¯ÓqµŠÔË +Y¸?Ä߶îo‰÷·ð¤¹[ï[¡´™gÊnÉZì¡Ý"ײ1‡“ì!ž¦-‚s8Õä§ùÖpN×¹R-@\ÞeîCÔ¶ŒÇªÏ4Yµºv¿üòir{ Y|Ú[‘ ^Ž1ÌeȶPøƒšUeæ®ó$¿Ïò‡mµ -„©ÈÇŒýä-'Õ`»Á ú/Œi:ñuÕ[ëJⵘPÕ¾m·É[7òy›‡óX'®€EÀü§7¤Ä±ü´0H)qˆ.Ô=¶—J„‰îˆ +©‚ЛŠÆyœ/æ³é¸úNÃ(Ñ*!.•¦Ù¯¢ÛÎBMV[ŽË2y˜;ßbÛd«ïóyQºÂdZÚˆ3Î|8æ6¤$ðÑ]“ïöÔrúÅÝÙ¤>‰žÝ‹Cm©ÎŠêð³-]}ðM&ž½Å/mo¶Ç·~áo6ª¨‰®Î«:ÈTa@ÿ¸|ž'îiluÉ>Ïâ¢ðu3÷šxòìž}N*±mÑq6´mXÙ£êð¤4ͦ”jS:åð®íjf_Ú-·“fý[ô4RÉäËŽ
úãb#¶§ÖWÑ:ªö¼~ªüHí#2UN;6f)QHrÓDÉçy6Ÿïó«Ñ7¡TtoÙ‚W<[¬¸mµâÙ2èÑŠÊØ:«2öš|Nµj™?m +àY'$a-jäÍ“[Õˆ +}ƒd¦Ð;û€#xŠ}ڱʥ'Œ$–ˆKÙ±›`=Œ¯@YÌ_ˆåÊWî}Áä<]4í/ éøþaþi4
À÷ÛKÜz&-@ÑWÀx»ðt’žøM‘²#ÔÎH endobj -1537 0 obj << +1535 0 obj << /Type /Page -/Contents 1538 0 R -/Resources 1536 0 R +/Contents 1536 0 R +/Resources 1534 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1535 0 R ->> endobj -1539 0 obj << -/D [1537 0 R /XYZ 56.6929 794.5015 null] +/Parent 1533 0 R >> endobj -546 0 obj << -/D [1537 0 R /XYZ 56.6929 459.6946 null] ->> endobj -1540 0 obj << -/D [1537 0 R /XYZ 56.6929 434.574 null] ->> endobj -1541 0 obj << -/D [1537 0 R /XYZ 56.6929 434.574 null] ->> endobj -1542 0 obj << -/D [1537 0 R /XYZ 56.6929 422.6188 null] +1537 0 obj << +/D [1535 0 R /XYZ 56.6929 794.5015 null] >> endobj -550 0 obj << -/D [1537 0 R /XYZ 56.6929 209.5554 null] +542 0 obj << +/D [1535 0 R /XYZ 56.6929 769.5949 null] >> endobj -1543 0 obj << -/D [1537 0 R /XYZ 56.6929 184.4348 null] +1538 0 obj << +/D [1535 0 R /XYZ 56.6929 752.4444 null] >> endobj -1544 0 obj << -/D [1537 0 R /XYZ 56.6929 184.4348 null] +1539 0 obj << +/D [1535 0 R /XYZ 56.6929 752.4444 null] >> endobj -1545 0 obj << -/D [1537 0 R /XYZ 56.6929 172.4796 null] +1540 0 obj << +/D [1535 0 R /XYZ 56.6929 740.4892 null] >> endobj -1536 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> +1534 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F39 873 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1548 0 obj << -/Length 1842 +1543 0 obj << +/Length 2146 /Filter /FlateDecode >> stream -xÚÍY[sÚ:~çWð3EGwKmJÚtÚ¤Îe¦íƒjã)`Š
™þû³²d#c'§œ™Lf‚/+íêÛO»«5écø#}%fš÷#Í‘ÀDôç«î‡wozÄËŒJ¡Q(õjÖûã’E}´¤²?ûÌ¥VŠôg‹Ïƒ‹·/?ÎƓሠ-<h8^]]¿vO´û¹¸¹¾¼zóçäå0âƒÙÕ͵{<_Ž'ãë‹ñp¤µ¢0ž3ø±Ó™äGNgWÓá×Ù»ÞxV- \$ÁÌZÿ³÷ù+î/`ïz1Dÿn0"ZÓþªÇC‚3V>Yö¦½OÕ„ÁÛbhhœ+ÀŠFýSˆ¡N«u*0¨õ—„ -ı֑ƀ+xAH„¹ˆ*/PxAHB’~$4’Œ²Âã××S|'K
`Á -ðàJôÃ?âþ¹3Û_îò̱ۉ˜ã,C„3Ñ-ü½%sΖ0åˆ ¤¤O˜²qE -b -Óy„d9.H²UœÏï†#®E4˜¼Þm&Ý€£T4ðØmÒuf²ðÑÜ${³ -×ñÊø=h¶{;Oq(·÷™™çIºöüI½Ô[õ>É
!ƒ2Žú=ÏÈTÂv¶-‰¢Ttp æP„È»Y±êín=s³èfÑl¨10E
ÊŠGl:<*ÙtÔƒÁçÚ çÆTnTjÕªÔ)!yÒû‚d'Åu'¬ï+ -/ÌÒ|-SŸdhåy‘$çCRqÄïHREHcâÆÄä6äPN!Î}ê†òÓ!K8èòmR’rc¶°óW@F>[JF1¡;ö¹ŒÒ\ºùf¹3—ÂÿžC,L§¿²GÀyõÑŽ°à]OÝo¼XøýîQýfç-!NÖûôG+ÀñÏ`‰Çœu -ò±Ì=T”¨?[Ú2 -*\úÿ«¨©âåË<7«MÞ
*u¦ãÙ>^&‹øP©Æn’VŸí†' źr?‘ˆD˜Õ`¼ùñ{f»ùܘE+‚uçBBr ø)Üv#Ø …Rpd]9 sD‰?•^›ïO1âºb ¿ð|]§{ãž&k[Nb€õ¨éLØå€pq¿‡ÖÿGaIÕ‘³„˜«š[ÛHÜICãÎÅàCW©³Mc¸¤õ.ÕTšA! -›[š\K¤¨•\"IH³Êœ YSW¸ÙfAÜ6<0\¤«
À~›,mG €þ>Éïœó¤G#déå|W´‡CK'¤|—ѵ;²FŒˆmYAZ„us¨Þ‰Ë(Ò,‡ª’ÒzK…’²u’¹·ù]ìåîKÊN*Þ}âÛ¥q/“u“©8BLÂ,(4')=¬ÇN×T-³Ô›ºÛlÒmÑ#8©”€ã€ô JµWê(ÛDNƒGÁµ‰ ç°)™ªÇ¢ø6ÝûÃvn1É#x𶂬ȻáÍ:ÍËòFïrw™‚"ßF:¸¡˜¶pCqšO« üðÍÆÄÛ²’/ÅMvdÐqç"”ÁÈ
{7wÇÌ(:½*©â”}y¿˜¼˜ÚÿÇš‰€XѪ»’jÐ^xp4Á4Ruõ3·~ÆeHg¸;‹¡}ò -noÍ<Þe¦‰\²º¬vßir ’æ\¤Æ›àµ -(sÓ7Àò«|Yh{~ss3ZÀ àÂË=ÉÒeÇllþÖufÞÇÛE²þÞd¤q¨OÜ<qÖ´Z‚¤–¤}±L¥
¦µx´H'Gúp´=LÖB9›3©Î•Rç^þsùmDC¼]m%Õ ·Æ6¡Œ“¨®xV´ƒMë7c¹¿¡X̲¤ˆ•G›Ô]\çéÊz©¸³Ý¦ª½ä[Ì'Á´ñHGo3”:
f%U€yõé”°fŽ¥lWZI5hA‰réºÚóB91?w&Ë‹% ”XR-X–R–7›<{HLn›V´]m%Õ ·†¦%0À^WÜf•B‚øW|Á8ÿ$”—ŠDO ºÌ[æXí¼–ƒ4xõѧÃMе~àë/Ómæ‡l–ñÜœv-ˆb";\Hµ¸¶”²‹›Ž·Û¦}¢%çíZ+©µÇûDÛ/Ž5½'<7Ëʉ¶ÕfiVd/ü›æ<øeŽ N}qfqÖLq¿³aòدчïó*I”êùÖ×êÞ¨"E6P9+5˜þ/6¯RWendstream +xÚÍ›[sÚÈ€ßù<BÕaÎÜ/Ž
Y¶œ +òÜ¡LP!9™¯'Ý¿¦?·úÓÝ
ø7I0³Ú?¶þø·çp¯?·0bF‹ö7ø€1†¶—-.œ±²eÑš´>ïô¾ÍE߂ƹVTµ{L#.„>|Yw —-N AFˆý«ö®0B"Ì…ÚÍ%Þ,€$$i+ad”å³ðËÃ<ÊâwÑüÓ:^Lj1OŒhê$œÜ<§Ñ2™9ÂÛ\zã>¬»DwââYÏ]Ë|»“l厮ûÿq›l’¬èq%‹kGû³$C„3Ñöïï<`œ3„%Ù«&*8ó Ã%}9ñß%TªA‰DŠ°jÂZùöòÊn–HSÛ[QÓâíy.Z +ý1ϧÍ.‚h·G0ÆßWiÁýc”¤YœFé¬h˜dQ–l²dVÌêõjÖ›ýI!L9)¸Œbˆ*mNAÈÀôV¬Ã·¥JEp»WNòÙf±»©ž”Á©–3þš€YÕÌGJŽŒõ–ñäyù÷jÑíInhç&ÞÌÖÉC–¬Ò}tfHI0 +ÿ"ç)n1p?†7ˆÉCæV±Ôä¼ûh•%wÏ·Û쉿áSÀÝ*ÁUáR†Ÿ Snl)Hý‰1-]Ê&N3tŸ§W“ñÙ3ÂXÇÈÀŸ=|ò|ò»ðyz]¹(>pv\hÂ.Chõð
Ó³ŒÏE£Yœ<Åó#=õšl„´A¢ ‘0ò%ÄsLðDˆ•vMfˆ $wJ‡ bã܃8Žÿ 3Lg«e’~=ÆÑ%WG8z6xI›Rª …¼O™"¸Þ^Õ& âN·ñ:9Í)úª5Ø…RëPHr>ʉO°Îjþ.‚žjM&(’š†<¢Q©]T¾ú2ãÇZFheü%$7G×°¯X“×0ìtU¡°,„BŒ0ý‚_¬ÏÏS¬ÉöÇ Ra|\ &´ÈÃï0¿am|•^M¦Ùž&2Šmå€cÆ_à«c}õñyŠ5yõB¢§!Ûñ£ANí"ð—»õd;›Å›M`U_ÈÖQº¹‹×¯ –±ÄŽÏ"õtm²IBÚg°†dl7Œ”HQ²¸ O[G; +ÓÓòR0O/¡ýˆúÍÀ«YDã +ÃŽÑ8§ õŠh¬(¢ãÍjñTNÅ©u3WªåR[fÔÿ§îxÉ’YQzæð5Ñ\¼]/+KÏœ€Y+B^—ËlÙ^$‹vFùÑ2ZQ–mÿÚ)ËËóaòHzÈÚv|0…è!\¶ùrîgÇ…²3|›—ç«ÈNÙw +È31lsŽã#\,}¹¹ýx5Aœ`\tÆð9Œ³ªÁÏé¦ÍAR)˜ð³×縈¾ý±}0þë +DçjøŒRhÞÈG÷@Ziiû„ÝJ× +Å]èîߌ&ø´¥l»þ‰Æð©2ŸçWïelŽ@¬¼C& ‘uœD)ñ6C*R”\$5Qb\Äþ˜l–Q6»ƒ4âõÍöá„íIiµ¶«¦Ò.a/Iqç·û8ußnîWߊӧ$r'Q¾÷ñ·möB?M§Ÿ úiÙÙx{Oûyv¥i¼øHÃØÙ}R¶»=©ûP6Ì›Š#¬©—,žéGËò%‘x}p㻉gùn͙Ϫèõ·»ë§${îX݇mÉŸ¨ófþÇ-H*l9EÂ1Á\x˜æ·½Þ¦³È¾4£i×X¦;¥ÄyY ¯qSݵ52BQƒre/à¢Æ‡Ü$¶ñ"?rý°3ây¼ˆ¿FÖVë‘ô´lêf™Bb¢CïRX6ÜÞ‘ÛdÖåç$'àèNØ)®¢„#—UÛå‡x
Ky”c¥cc
ƒI ðRÊ×ÚÅŒ÷‹m<ˆÁýÛ]0SŒw&“çMÂÍhâŽÑ|^,÷²¶kÇ- 'éÓêߣ|=årÃe`ßGa¸-ºXÖ,/ØS¾©Ž€@>c d=0ªx/Û³àÓÈS-÷èŠU_㦚-Ña&áŸh…$¥fßlO¦*/HÕÓ¸±T…# „¢’R¹ðÿkžTE‹«,‹—Ù o¯&“þµcö-’yT媑ä(FOÅÆ.y ÝhÀ¥É²½|Š·ÿžðð³Ü +`¥Ü¥øAô5óC: vˆ“°!€‚ eŸûú +Fo°{Ô®µ2oý¾ ·ƒáÔ_SU¿/³{>í—cýéÝ=Ó·V¼Z¡Õë9„;Ô´êæ)ÿ?Å4rendstream endobj -1547 0 obj << +1542 0 obj << /Type /Page -/Contents 1548 0 R -/Resources 1546 0 R +/Contents 1543 0 R +/Resources 1541 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1535 0 R +/Parent 1533 0 R >> endobj -1549 0 obj << -/D [1547 0 R /XYZ 85.0394 794.5015 null] +1544 0 obj << +/D [1542 0 R /XYZ 85.0394 794.5015 null] >> endobj -554 0 obj << -/D [1547 0 R /XYZ 85.0394 531.4256 null] +546 0 obj << +/D [1542 0 R /XYZ 85.0394 710.7531 null] >> endobj -1553 0 obj << -/D [1547 0 R /XYZ 85.0394 503.8343 null] +1545 0 obj << +/D [1542 0 R /XYZ 85.0394 685.6325 null] >> endobj 1546 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F65 1552 0 R /F39 873 0 R >> +/D [1542 0 R /XYZ 85.0394 685.6325 null] +>> endobj +1547 0 obj << +/D [1542 0 R /XYZ 85.0394 673.6774 null] +>> endobj +550 0 obj << +/D [1542 0 R /XYZ 85.0394 460.614 null] +>> endobj +1548 0 obj << +/D [1542 0 R /XYZ 85.0394 435.4933 null] +>> endobj +1549 0 obj << +/D [1542 0 R /XYZ 85.0394 435.4933 null] +>> endobj +1550 0 obj << +/D [1542 0 R /XYZ 85.0394 423.5382 null] +>> endobj +1541 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1556 0 obj << -/Length 69 +1553 0 obj << +/Length 1016 /Filter /FlateDecode >> stream -xÚ3T0 +xÚW]›8}ϯà1‘ŠëoìÇélÒ¦ÒÎtVZ©íO) H£þûÚ`ˆ!„iµ«‘fl8¾çÞsmyPÿ qÀ%–^ )`1/>Ì ÷M¿{?Cã· ßE½goW$ð$s/|vb +É´0rZHu[ÈUù˜WåUh•Ó¬-h„µgI¨-IQŸõ)»[Ã9öÌtâØã0‚?9 d{U©!mÜ»›oýÉÞ€¹éVy£Ñ_ ÄEi—äû(V·ûÊ Zé¶^@]µ SÙvY#Ûƒ#1Ih!×|ƒÁ¤$=¾íÔ“}×9«Õ!ß«ƒÒ˜ä}Ój{ÕüŸjèpë«›0`>•GŠ‚^{Ùüç/òËÿ(T1 +Ç endobj -1555 0 obj << +1552 0 obj << /Type /Page -/Contents 1556 0 R -/Resources 1554 0 R +/Contents 1553 0 R +/Resources 1551 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1535 0 R ->> endobj -1557 0 obj << -/D [1555 0 R /XYZ 56.6929 794.5015 null] +/Parent 1533 0 R >> endobj 1554 0 obj << -/ProcSet [ /PDF ] +/D [1552 0 R /XYZ 56.6929 794.5015 null] >> endobj -1560 0 obj << +554 0 obj << +/D [1552 0 R /XYZ 56.6929 769.5949 null] +>> endobj +1558 0 obj << +/D [1552 0 R /XYZ 56.6929 749.9737 null] +>> endobj +1551 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F65 1557 0 R /F23 714 0 R /F39 873 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1561 0 obj << /Length 1324 /Filter /FlateDecode >> @@ -6802,33 +6820,33 @@ stream xÚ•WKoã6¾çW99@D‹¤DIÍi7ÛmS,Š¢ëžº=Ð2m‘EUdÝbÿ{9R¶lÁÛÀ08¿Î‹…æGgiLBžE³$‹HÒx–ïoÂÙÖ¬ýtCLsGœ›ÉÄjó”Ä)KfÁ)ÈûåÍâ#£3!X<[n]"Iå,-×Îw²îTs°8œ'w-ÁmI҄¶ШHHœ±Ìnxÿôë”Îpø¬ò¾)ºÎuÕkÕÈ®0Ô€G#Â#ÁžˆI,¸…3¦Ü4Ãù»<Wm; t.qò©h;ÄgɈS™ÉïçÌí¿£é0€–üÆá»ÇOé½añt.¬Âu¹^ãÔƒíe—ï,0ÝNvHtD.+$Zå–úÚaVk$ª"®äÞ©Úè:ßô]jCß*80‘R’Å1³G,ªÁ¡G7SfdAD–¥~
*ݛÄÏbA¢(Iœðý\DÒXŒÀþîU3‰›˜²·Cºš@KBÂÒ8ûÜ €x
ä^[LšÜH©x“}Þ´©0éGÿrUÊüy§K5AFß›A¥™˜"w™AD×Ȫݘ:¾TÅcQqTekJu9A<¿ÐŒ$<Â"ÿ£-ª‘¦,M© ep´Íy :ãN¾(¤¾„!«lGtž?Òù±§_p5œ¿îÜn[9V‡o¨ÃÉaÅ ŽÛýâþá-ñÕa|ìkç›üÌYˆ2K›éœòá=4v{Ix¬°7L ÉsaM endobj -1559 0 obj << +1560 0 obj << /Type /Page -/Contents 1560 0 R -/Resources 1558 0 R +/Contents 1561 0 R +/Resources 1559 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1535 0 R +/Parent 1533 0 R >> endobj -1561 0 obj << -/D [1559 0 R /XYZ 85.0394 794.5015 null] +1562 0 obj << +/D [1560 0 R /XYZ 85.0394 794.5015 null] >> endobj 558 0 obj << -/D [1559 0 R /XYZ 85.0394 769.5949 null] +/D [1560 0 R /XYZ 85.0394 769.5949 null] >> endobj -1562 0 obj << -/D [1559 0 R /XYZ 85.0394 573.0962 null] +1563 0 obj << +/D [1560 0 R /XYZ 85.0394 573.0962 null] >> endobj 562 0 obj << -/D [1559 0 R /XYZ 85.0394 573.0962 null] +/D [1560 0 R /XYZ 85.0394 573.0962 null] >> endobj -1563 0 obj << -/D [1559 0 R /XYZ 85.0394 542.127 null] +1564 0 obj << +/D [1560 0 R /XYZ 85.0394 542.127 null] >> endobj -1558 0 obj << +1559 0 obj << /Font << /F21 690 0 R /F23 714 0 R /F39 873 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1566 0 obj << +1567 0 obj << /Length 3437 /Filter /FlateDecode >> @@ -6844,94 +6862,94 @@ aµÉd(Iå:B¶k䪯?óü•ówW]Xéù‘Œ (ãaéÙo3áù:ŽMŒí^Ïg` ˇœ½aG³Á¦ãÅ *þ[Êá¿Ý6[ób0ŠÞØ^¬êÉÕ˜>ŽýÁdsn—+p»É»¼ÛÖ‹Á4(Ð8ûàèPÊçgí춦)îÁX¸¢+I#p¿*—‘)0Ó-ŽßâéØBI¿>0½XyÒ¶ñ5ƒ6Ö`±#_¶5ŸxÝõ¢&ŽÅÓHøˆ´8:çeìùRÖ)¼¨+Oʾ¢™E?}¢6‡el#ÉvL膄…Áød`Ð¥-“gžÚÀŽìH½å
~Dn‰ ä¤ëP·=\3µí«ÁÀ¹y ¦¡ž9—‚Ýõ{Œ§ú¯+z¸GzDßZ&Xñnø}Û,ð3`;Ãô€9€Ï6å_:ÔôÉa¢Ö9/zÆžÉ~ð¥Ê¢ÜÎ}37=ð
Å0tæ‰O<ö'Ê·æÓZqèKZˆÝâ0íç4 ³¾íßmlèçb?·Mnˉ To
t³fîisÚwõ¦Iö[×kÀÇÉ$¨°ýÐåÌhÍkìò¤š>[4A endobj -1565 0 obj << +1566 0 obj << /Type /Page -/Contents 1566 0 R -/Resources 1564 0 R +/Contents 1567 0 R +/Resources 1565 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1535 0 R -/Annots [ 1571 0 R ] +/Parent 1533 0 R +/Annots [ 1572 0 R ] >> endobj -1571 0 obj << +1572 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [63.4454 738.9144 452.088 749.0762] /Subtype/Link/A<</Type/Action/S/URI/URI(ftp://ftp.auscert.org.au/pub/auscert/advisory/AL-1999.004.dns_dos)>> >> endobj -1567 0 obj << -/D [1565 0 R /XYZ 56.6929 794.5015 null] +1568 0 obj << +/D [1566 0 R /XYZ 56.6929 794.5015 null] >> endobj 566 0 obj << -/D [1565 0 R /XYZ 56.6929 723.0302 null] +/D [1566 0 R /XYZ 56.6929 723.0302 null] >> endobj -1572 0 obj << -/D [1565 0 R /XYZ 56.6929 689.3491 null] +1573 0 obj << +/D [1566 0 R /XYZ 56.6929 689.3491 null] >> endobj 570 0 obj << -/D [1565 0 R /XYZ 56.6929 552.677 null] +/D [1566 0 R /XYZ 56.6929 552.677 null] >> endobj -1573 0 obj << -/D [1565 0 R /XYZ 56.6929 525.9649 null] +1574 0 obj << +/D [1566 0 R /XYZ 56.6929 525.9649 null] >> endobj 574 0 obj << -/D [1565 0 R /XYZ 56.6929 411.5673 null] +/D [1566 0 R /XYZ 56.6929 411.5673 null] >> endobj -1574 0 obj << -/D [1565 0 R /XYZ 56.6929 383.9327 null] +1575 0 obj << +/D [1566 0 R /XYZ 56.6929 383.9327 null] >> endobj 578 0 obj << -/D [1565 0 R /XYZ 56.6929 225.6356 null] +/D [1566 0 R /XYZ 56.6929 225.6356 null] >> endobj -1285 0 obj << -/D [1565 0 R /XYZ 56.6929 193.4614 null] +1284 0 obj << +/D [1566 0 R /XYZ 56.6929 193.4614 null] >> endobj -1564 0 obj << -/Font << /F37 779 0 R /F69 1570 0 R /F23 714 0 R /F39 873 0 R /F11 1343 0 R /F41 910 0 R /F21 690 0 R /F53 1002 0 R /F48 925 0 R /F62 1035 0 R /F63 1038 0 R >> +1565 0 obj << +/Font << /F37 779 0 R /F69 1571 0 R /F23 714 0 R /F39 873 0 R /F11 1348 0 R /F41 910 0 R /F21 690 0 R /F53 1002 0 R /F48 925 0 R /F62 1035 0 R /F63 1038 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1577 0 obj << +1578 0 obj << /Length 533 /Filter /FlateDecode >> stream xÚ¥TM›0½ó+|©¸6Æ`³IÚ²RÓ4a«ÕxT‚Ó@6Úýõµ3·¶ôTEóÆoÞ|x€"b~ Ž “1JeŒ9¡•[ µ9ûêQÇ Ï¤ð–u—{Ÿ¿°I,“(AùË–ÀDŠòêÉÍóé"#Nü!Oˆ—Í&à‘ðXNÇ‹,4þ1[f“éb¤±Ÿga,ˆ0ñÌ)Lg£ïÙøó P§Ôžó{oš_¹m–f»øí==T™žï=‚™
˜J¡s†yÌØÙÓxKïçEðæô:4<Îæ"J¦±¡éq‰fŽìô–z«lO‰ßÕ½êÀ,7ZwÎÝkûäþ/¥và)šŒê-¶uið[xØUE¯*8˜ØyžE_€U· ã`wXUz[€×H¶.²RZ!—{Sô7üÐŽÛôRŠ%çÑ©'ÂTÊä)…Ú{2è]·ÊÜ,#‰Ÿoê˜Çâ- ”úŸŒ‰I§Àßë]بWÕ\cÁ*uÛ›|u»vx_÷v endobj -1576 0 obj << +1577 0 obj << /Type /Page -/Contents 1577 0 R -/Resources 1575 0 R +/Contents 1578 0 R +/Resources 1576 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1579 0 R +/Parent 1580 0 R >> endobj -1578 0 obj << -/D [1576 0 R /XYZ 85.0394 794.5015 null] +1579 0 obj << +/D [1577 0 R /XYZ 85.0394 794.5015 null] >> endobj -1575 0 obj << +1576 0 obj << /Font << /F37 779 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1582 0 obj << +1583 0 obj << /Length 69 /Filter /FlateDecode >> stream xÚ3T0 endobj -1581 0 obj << +1582 0 obj << /Type /Page -/Contents 1582 0 R -/Resources 1580 0 R +/Contents 1583 0 R +/Resources 1581 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1579 0 R +/Parent 1580 0 R >> endobj -1583 0 obj << -/D [1581 0 R /XYZ 56.6929 794.5015 null] +1584 0 obj << +/D [1582 0 R /XYZ 56.6929 794.5015 null] >> endobj -1580 0 obj << +1581 0 obj << /ProcSet [ /PDF ] >> endobj -1586 0 obj << +1587 0 obj << /Length 1964 /Filter /FlateDecode >> @@ -6946,84 +6964,84 @@ i ·¥Ý3éÀ–yíˆùðŠ&Â8K<æcø¡›‚hïCû™<»úÐŒêhüýÔï Æס\@•‰ó÷w= vV “¤%œ¡i±Iæ² —â~ÚøÑŸ/¯6³Âv¡ámÒ¥ß;»è½‡CÀê/aïoãã<,EQ^Çsór4ÝÅpµö;[ÃïVÎy7G)JΑOü©5¿|hW°hpk·IQ„"é5¶ÏÍŽûª‡]Ù)C™‹_Ú‘Âõ%KÄQXDñ¯oʬ±]ªÜïʽe×SX{üâññ|>‡¼+¾,}w¸ÉÀUßÄx³Q³Ô}\Wù¸·ö߶ ߣ«ª]qöü´Þíâ³äZÄ^d{‘¡Éep
…E\æÞ†R&·Þæ÷Í{wÿ¡’Œèendstream endobj -1585 0 obj << +1586 0 obj << /Type /Page -/Contents 1586 0 R -/Resources 1584 0 R +/Contents 1587 0 R +/Resources 1585 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1579 0 R -/Annots [ 1593 0 R 1594 0 R ] +/Parent 1580 0 R +/Annots [ 1594 0 R 1595 0 R ] >> endobj -1593 0 obj << +1594 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [348.3486 128.9523 463.9152 141.0119] /Subtype/Link/A<</Type/Action/S/URI/URI(mailto:info@isc.org)>> >> endobj -1594 0 obj << +1595 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [147.3629 116.9971 364.5484 129.0567] /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.isc.org/services/support/)>> >> endobj -1587 0 obj << -/D [1585 0 R /XYZ 85.0394 794.5015 null] +1588 0 obj << +/D [1586 0 R /XYZ 85.0394 794.5015 null] >> endobj 582 0 obj << -/D [1585 0 R /XYZ 85.0394 769.5949 null] +/D [1586 0 R /XYZ 85.0394 769.5949 null] >> endobj -1588 0 obj << -/D [1585 0 R /XYZ 85.0394 576.7004 null] +1589 0 obj << +/D [1586 0 R /XYZ 85.0394 576.7004 null] >> endobj 586 0 obj << -/D [1585 0 R /XYZ 85.0394 576.7004 null] +/D [1586 0 R /XYZ 85.0394 576.7004 null] >> endobj -1589 0 obj << -/D [1585 0 R /XYZ 85.0394 548.3785 null] +1590 0 obj << +/D [1586 0 R /XYZ 85.0394 548.3785 null] >> endobj 590 0 obj << -/D [1585 0 R /XYZ 85.0394 548.3785 null] +/D [1586 0 R /XYZ 85.0394 548.3785 null] >> endobj -1590 0 obj << -/D [1585 0 R /XYZ 85.0394 518.5228 null] +1591 0 obj << +/D [1586 0 R /XYZ 85.0394 518.5228 null] >> endobj 594 0 obj << -/D [1585 0 R /XYZ 85.0394 460.6968 null] +/D [1586 0 R /XYZ 85.0394 460.6968 null] >> endobj -1591 0 obj << -/D [1585 0 R /XYZ 85.0394 425.0333 null] +1592 0 obj << +/D [1586 0 R /XYZ 85.0394 425.0333 null] >> endobj 598 0 obj << -/D [1585 0 R /XYZ 85.0394 260.2468 null] +/D [1586 0 R /XYZ 85.0394 260.2468 null] >> endobj -1592 0 obj << -/D [1585 0 R /XYZ 85.0394 224.698 null] +1593 0 obj << +/D [1586 0 R /XYZ 85.0394 224.698 null] >> endobj -1584 0 obj << -/Font << /F21 690 0 R /F23 714 0 R /F11 1343 0 R /F41 910 0 R >> +1585 0 obj << +/Font << /F21 690 0 R /F23 714 0 R /F11 1348 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1597 0 obj << +1598 0 obj << /Length 69 /Filter /FlateDecode >> stream xÚ3T0 endobj -1596 0 obj << +1597 0 obj << /Type /Page -/Contents 1597 0 R -/Resources 1595 0 R +/Contents 1598 0 R +/Resources 1596 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1579 0 R +/Parent 1580 0 R >> endobj -1598 0 obj << -/D [1596 0 R /XYZ 56.6929 794.5015 null] +1599 0 obj << +/D [1597 0 R /XYZ 56.6929 794.5015 null] >> endobj -1595 0 obj << +1596 0 obj << /ProcSet [ /PDF ] >> endobj -1601 0 obj << +1602 0 obj << /Length 2543 /Filter /FlateDecode >> @@ -7038,39 +7056,39 @@ RÜŠ1ÏuL~”6`l¿‚~ZѨ¢<ÓCƒÚ̓ ÝD‘øñðñ^=:\è±æí ®o¬ƒñ+ñ'E\2}8Ç’;i%Ò‡ï&ª°Wõ\~jÀaÛÍ{³˜¢GË!zeoA_^†NmÞxš^Xð”Ð;’ù‚Ïr{z8Ø'"Hóȃ…×UØNÑô endobj -1600 0 obj << +1601 0 obj << /Type /Page -/Contents 1601 0 R -/Resources 1599 0 R +/Contents 1602 0 R +/Resources 1600 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1579 0 R +/Parent 1580 0 R >> endobj -1602 0 obj << -/D [1600 0 R /XYZ 85.0394 794.5015 null] +1603 0 obj << +/D [1601 0 R /XYZ 85.0394 794.5015 null] >> endobj 602 0 obj << -/D [1600 0 R /XYZ 85.0394 769.5949 null] +/D [1601 0 R /XYZ 85.0394 769.5949 null] >> endobj -1603 0 obj << -/D [1600 0 R /XYZ 85.0394 573.5449 null] +1604 0 obj << +/D [1601 0 R /XYZ 85.0394 573.5449 null] >> endobj 606 0 obj << -/D [1600 0 R /XYZ 85.0394 573.5449 null] +/D [1601 0 R /XYZ 85.0394 573.5449 null] >> endobj -1604 0 obj << -/D [1600 0 R /XYZ 85.0394 539.0037 null] +1605 0 obj << +/D [1601 0 R /XYZ 85.0394 539.0037 null] >> endobj 610 0 obj << -/D [1600 0 R /XYZ 85.0394 539.0037 null] +/D [1601 0 R /XYZ 85.0394 539.0037 null] >> endobj -1605 0 obj << -/D [1600 0 R /XYZ 85.0394 510.2426 null] +1606 0 obj << +/D [1601 0 R /XYZ 85.0394 510.2426 null] >> endobj -1599 0 obj << +1600 0 obj << /Font << /F21 690 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1608 0 obj << +1609 0 obj << /Length 2893 /Filter /FlateDecode >> @@ -7087,64 +7105,64 @@ $Œ©!cš
JÓ©ÍüÉü°×Ê•Ü
Ù™E
AL&ÚûçÇsjÛsîOM–c©6ÛòÍ$;³ è¾ÏÝG$”uf,ÕDC¡Æüx¾;˜t (–"—ÜYi4¹B™º¦qfèY'ÉíŽÑ–\z
¬nÌ\³&ÊKŸ ‰•v(Äð1“‘㣓Æ|ÒØŠž«Ëˆp}µ6eè£[SWöj›ŸMñ¢Âú`K@®Ö j]¼©VP%Û endobj -1607 0 obj << +1608 0 obj << /Type /Page -/Contents 1608 0 R -/Resources 1606 0 R +/Contents 1609 0 R +/Resources 1607 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1579 0 R -/Annots [ 1612 0 R 1613 0 R ] +/Parent 1580 0 R +/Annots [ 1613 0 R 1614 0 R ] >> endobj -1612 0 obj << +1613 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [253.7995 146.8976 417.685 158.9572] /Subtype/Link/A<</Type/Action/S/URI/URI(ftp://www.isi.edu/in-notes/)>> >> endobj -1613 0 obj << +1614 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [63.4454 108.9117 208.8999 119.0735] /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ietf.org/rfc/)>> >> endobj -1609 0 obj << -/D [1607 0 R /XYZ 56.6929 794.5015 null] +1610 0 obj << +/D [1608 0 R /XYZ 56.6929 794.5015 null] >> endobj 614 0 obj << -/D [1607 0 R /XYZ 56.6929 652.1213 null] +/D [1608 0 R /XYZ 56.6929 652.1213 null] >> endobj -1610 0 obj << -/D [1607 0 R /XYZ 56.6929 614.8935 null] +1611 0 obj << +/D [1608 0 R /XYZ 56.6929 614.8935 null] >> endobj 618 0 obj << -/D [1607 0 R /XYZ 56.6929 614.8935 null] +/D [1608 0 R /XYZ 56.6929 614.8935 null] >> endobj 1112 0 obj << -/D [1607 0 R /XYZ 56.6929 584.5024 null] +/D [1608 0 R /XYZ 56.6929 584.5024 null] >> endobj 622 0 obj << -/D [1607 0 R /XYZ 56.6929 289.5256 null] +/D [1608 0 R /XYZ 56.6929 289.5256 null] >> endobj -1611 0 obj << -/D [1607 0 R /XYZ 56.6929 251.3901 null] +1612 0 obj << +/D [1608 0 R /XYZ 56.6929 251.3901 null] >> endobj 626 0 obj << -/D [1607 0 R /XYZ 56.6929 251.3901 null] +/D [1608 0 R /XYZ 56.6929 251.3901 null] >> endobj 940 0 obj << -/D [1607 0 R /XYZ 56.6929 222.7156 null] ->> endobj -1614 0 obj << -/D [1607 0 R /XYZ 56.6929 53.7852 null] +/D [1608 0 R /XYZ 56.6929 222.7156 null] >> endobj 1615 0 obj << -/D [1607 0 R /XYZ 56.6929 53.7852 null] +/D [1608 0 R /XYZ 56.6929 53.7852 null] >> endobj -1606 0 obj << -/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F39 873 0 R /F53 1002 0 R /F11 1343 0 R /F41 910 0 R >> +1616 0 obj << +/D [1608 0 R /XYZ 56.6929 53.7852 null] +>> endobj +1607 0 obj << +/Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F39 873 0 R /F53 1002 0 R /F11 1348 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1618 0 obj << +1619 0 obj << /Length 2824 /Filter /FlateDecode >> @@ -7159,189 +7177,189 @@ lðÇ"¿–EWrܧ¹®ÈŒÆe‚©£G²I¥¯ÃC$d´ßfÇø«`VØôëžêÞ^"ˆ|nÝÛRú7RF÷‘洞ÐîÏ°ûuß_& Zî–Áųž„N(IEHðq ;#UO«E[õ4é’I8F/ì‘ÚRÃd)M¦ï¹ÈtB7dža÷“Ù¯æv^À<ߪ€d>.6'ÙÅh`!,J²´9sèݹ‰|èXìbÊ‹jbÄóSù,t=Ý Ã˜}P£?ÆGÕy²;/ó—e¢#·ÜU-N›cD¤¸Ê¤·ègÃô…¾°_jK9è×RýŽê„¶èïbÐoƒ«3ŠªXb—|æ¡Øt6P#¢Ò·öj1"“pä&1ÁÜ}‚>·~¶Ï™¡W÷¹¿9–Im›…™°YŒ>(qmÊ£ÕÊ-öuoKçxù/ÚTÁLtæn»°¤v¡¥»ðçÁNhË.ºØvaƒ‹\*ëyQB䇑u!JŒú¦¶J#婪ëÄEcâÎìFöŸ¾øÖ¾ e\oÚ‰ÍDdƒ}Pâ&FˆÁ¹:.1-£ø{Œá¬€AáT`ÙÜÐÐÑ|ä X9Sƒ35ø˜€´I:zÝÏÞsç¤Û¡8óf™9ñý>“à"~¸-Â6-Ô|P9N\¸9tûÁF^&ÇT•<žškZoI$Uºî«2!3ÿütÖÅ´çâ¸ö{?’ˆ<±¡þ·„†®…š4ïúìË…Û(¼Ü¯pÙxÔùiù’ìâ×Td},»…®ÖLKç„}R[‹ÈªFïž^y5ݨYÈ°½Ž@óañEXóDý*Å1-wiKIŒ¯„—(™û4ß'©vB½fkÉ>Ü®Þ U‹Op{Të™Üþ—¿ôµvCD£hà0zŠõK‰_ÁÃî››O‚Ï_ý¿m1bªendstream endobj -1617 0 obj << +1618 0 obj << /Type /Page -/Contents 1618 0 R -/Resources 1616 0 R +/Contents 1619 0 R +/Resources 1617 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1675 0 R ->> endobj -1619 0 obj << -/D [1617 0 R /XYZ 85.0394 794.5015 null] +/Parent 1676 0 R >> endobj 1620 0 obj << -/D [1617 0 R /XYZ 85.0394 752.3015 null] +/D [1618 0 R /XYZ 85.0394 794.5015 null] >> endobj 1621 0 obj << -/D [1617 0 R /XYZ 85.0394 752.3015 null] +/D [1618 0 R /XYZ 85.0394 752.3015 null] >> endobj 1622 0 obj << -/D [1617 0 R /XYZ 85.0394 752.3015 null] +/D [1618 0 R /XYZ 85.0394 752.3015 null] >> endobj 1623 0 obj << -/D [1617 0 R /XYZ 85.0394 746.3107 null] +/D [1618 0 R /XYZ 85.0394 752.3015 null] >> endobj 1624 0 obj << -/D [1617 0 R /XYZ 85.0394 731.5461 null] +/D [1618 0 R /XYZ 85.0394 746.3107 null] >> endobj 1625 0 obj << -/D [1617 0 R /XYZ 85.0394 728.1497 null] +/D [1618 0 R /XYZ 85.0394 731.5461 null] >> endobj 1626 0 obj << -/D [1617 0 R /XYZ 85.0394 713.3851 null] +/D [1618 0 R /XYZ 85.0394 728.1497 null] >> endobj 1627 0 obj << -/D [1617 0 R /XYZ 85.0394 709.9887 null] +/D [1618 0 R /XYZ 85.0394 713.3851 null] >> endobj 1628 0 obj << -/D [1617 0 R /XYZ 85.0394 651.9592 null] ->> endobj -1056 0 obj << -/D [1617 0 R /XYZ 85.0394 651.9592 null] +/D [1618 0 R /XYZ 85.0394 709.9887 null] >> endobj 1629 0 obj << -/D [1617 0 R /XYZ 85.0394 651.9592 null] +/D [1618 0 R /XYZ 85.0394 651.9592 null] +>> endobj +1056 0 obj << +/D [1618 0 R /XYZ 85.0394 651.9592 null] >> endobj 1630 0 obj << -/D [1617 0 R /XYZ 85.0394 648.8377 null] +/D [1618 0 R /XYZ 85.0394 651.9592 null] >> endobj 1631 0 obj << -/D [1617 0 R /XYZ 85.0394 634.0731 null] +/D [1618 0 R /XYZ 85.0394 648.8377 null] >> endobj 1632 0 obj << -/D [1617 0 R /XYZ 85.0394 630.6767 null] +/D [1618 0 R /XYZ 85.0394 634.0731 null] >> endobj 1633 0 obj << -/D [1617 0 R /XYZ 85.0394 615.9121 null] +/D [1618 0 R /XYZ 85.0394 630.6767 null] >> endobj 1634 0 obj << -/D [1617 0 R /XYZ 85.0394 612.5156 null] +/D [1618 0 R /XYZ 85.0394 615.9121 null] >> endobj 1635 0 obj << -/D [1617 0 R /XYZ 85.0394 585.7959 null] +/D [1618 0 R /XYZ 85.0394 612.5156 null] >> endobj 1636 0 obj << -/D [1617 0 R /XYZ 85.0394 582.3994 null] +/D [1618 0 R /XYZ 85.0394 585.7959 null] >> endobj 1637 0 obj << -/D [1617 0 R /XYZ 85.0394 567.6349 null] +/D [1618 0 R /XYZ 85.0394 582.3994 null] >> endobj 1638 0 obj << -/D [1617 0 R /XYZ 85.0394 564.2384 null] +/D [1618 0 R /XYZ 85.0394 567.6349 null] >> endobj 1639 0 obj << -/D [1617 0 R /XYZ 85.0394 549.5337 null] +/D [1618 0 R /XYZ 85.0394 564.2384 null] >> endobj 1640 0 obj << -/D [1617 0 R /XYZ 85.0394 546.0774 null] +/D [1618 0 R /XYZ 85.0394 549.5337 null] >> endobj 1641 0 obj << -/D [1617 0 R /XYZ 85.0394 531.3128 null] +/D [1618 0 R /XYZ 85.0394 546.0774 null] >> endobj 1642 0 obj << -/D [1617 0 R /XYZ 85.0394 527.9163 null] +/D [1618 0 R /XYZ 85.0394 531.3128 null] >> endobj 1643 0 obj << -/D [1617 0 R /XYZ 85.0394 513.1518 null] +/D [1618 0 R /XYZ 85.0394 527.9163 null] >> endobj 1644 0 obj << -/D [1617 0 R /XYZ 85.0394 509.7553 null] +/D [1618 0 R /XYZ 85.0394 513.1518 null] >> endobj 1645 0 obj << -/D [1617 0 R /XYZ 85.0394 483.0356 null] +/D [1618 0 R /XYZ 85.0394 509.7553 null] >> endobj 1646 0 obj << -/D [1617 0 R /XYZ 85.0394 479.6391 null] +/D [1618 0 R /XYZ 85.0394 483.0356 null] >> endobj 1647 0 obj << -/D [1617 0 R /XYZ 85.0394 464.8745 null] +/D [1618 0 R /XYZ 85.0394 479.6391 null] >> endobj 1648 0 obj << -/D [1617 0 R /XYZ 85.0394 461.4781 null] +/D [1618 0 R /XYZ 85.0394 464.8745 null] >> endobj 1649 0 obj << -/D [1617 0 R /XYZ 85.0394 446.7135 null] +/D [1618 0 R /XYZ 85.0394 461.4781 null] >> endobj 1650 0 obj << -/D [1617 0 R /XYZ 85.0394 443.3171 null] +/D [1618 0 R /XYZ 85.0394 446.7135 null] >> endobj 1651 0 obj << -/D [1617 0 R /XYZ 85.0394 428.5525 null] +/D [1618 0 R /XYZ 85.0394 443.3171 null] >> endobj 1652 0 obj << -/D [1617 0 R /XYZ 85.0394 425.156 null] +/D [1618 0 R /XYZ 85.0394 428.5525 null] >> endobj 1653 0 obj << -/D [1617 0 R /XYZ 85.0394 355.0758 null] +/D [1618 0 R /XYZ 85.0394 425.156 null] >> endobj 1654 0 obj << -/D [1617 0 R /XYZ 85.0394 355.0758 null] +/D [1618 0 R /XYZ 85.0394 355.0758 null] >> endobj 1655 0 obj << -/D [1617 0 R /XYZ 85.0394 355.0758 null] +/D [1618 0 R /XYZ 85.0394 355.0758 null] >> endobj 1656 0 obj << -/D [1617 0 R /XYZ 85.0394 352.0499 null] +/D [1618 0 R /XYZ 85.0394 355.0758 null] >> endobj 1657 0 obj << -/D [1617 0 R /XYZ 85.0394 337.3452 null] +/D [1618 0 R /XYZ 85.0394 352.0499 null] >> endobj 1658 0 obj << -/D [1617 0 R /XYZ 85.0394 333.8889 null] +/D [1618 0 R /XYZ 85.0394 337.3452 null] >> endobj 1659 0 obj << -/D [1617 0 R /XYZ 85.0394 309.8192 null] +/D [1618 0 R /XYZ 85.0394 333.8889 null] >> endobj 1660 0 obj << -/D [1617 0 R /XYZ 85.0394 303.7727 null] +/D [1618 0 R /XYZ 85.0394 309.8192 null] >> endobj 1661 0 obj << -/D [1617 0 R /XYZ 85.0394 278.3282 null] +/D [1618 0 R /XYZ 85.0394 303.7727 null] >> endobj 1662 0 obj << -/D [1617 0 R /XYZ 85.0394 273.6565 null] +/D [1618 0 R /XYZ 85.0394 278.3282 null] >> endobj 1663 0 obj << -/D [1617 0 R /XYZ 85.0394 246.9367 null] +/D [1618 0 R /XYZ 85.0394 273.6565 null] >> endobj 1664 0 obj << -/D [1617 0 R /XYZ 85.0394 243.5403 null] +/D [1618 0 R /XYZ 85.0394 246.9367 null] >> endobj 1665 0 obj << -/D [1617 0 R /XYZ 85.0394 173.5556 null] +/D [1618 0 R /XYZ 85.0394 243.5403 null] >> endobj 1666 0 obj << -/D [1617 0 R /XYZ 85.0394 173.5556 null] +/D [1618 0 R /XYZ 85.0394 173.5556 null] >> endobj 1667 0 obj << -/D [1617 0 R /XYZ 85.0394 173.5556 null] +/D [1618 0 R /XYZ 85.0394 173.5556 null] >> endobj 1668 0 obj << -/D [1617 0 R /XYZ 85.0394 170.4341 null] +/D [1618 0 R /XYZ 85.0394 173.5556 null] >> endobj 1669 0 obj << -/D [1617 0 R /XYZ 85.0394 144.9896 null] +/D [1618 0 R /XYZ 85.0394 170.4341 null] >> endobj 1670 0 obj << -/D [1617 0 R /XYZ 85.0394 140.3179 null] +/D [1618 0 R /XYZ 85.0394 144.9896 null] >> endobj 1671 0 obj << -/D [1617 0 R /XYZ 85.0394 113.5982 null] +/D [1618 0 R /XYZ 85.0394 140.3179 null] >> endobj 1672 0 obj << -/D [1617 0 R /XYZ 85.0394 110.2017 null] +/D [1618 0 R /XYZ 85.0394 113.5982 null] >> endobj 1673 0 obj << -/D [1617 0 R /XYZ 85.0394 95.4372 null] +/D [1618 0 R /XYZ 85.0394 110.2017 null] >> endobj 1674 0 obj << -/D [1617 0 R /XYZ 85.0394 92.0407 null] +/D [1618 0 R /XYZ 85.0394 95.4372 null] >> endobj -1616 0 obj << +1675 0 obj << +/D [1618 0 R /XYZ 85.0394 92.0407 null] +>> endobj +1617 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1678 0 obj << +1679 0 obj << /Length 2889 /Filter /FlateDecode >> @@ -7361,177 +7379,177 @@ id„ý4¦Õ0m¥Ñ¡¥ …º#õ:ÓÊEYi(^ds›´¥«ÝÅÔOï7Õá¸D˜d™7žmôl‘‡ü€ºíÉÿ ã .Wçñ|¾FñZD—øw¦~TЙìkUUIw9SAèJ6î$Í«z꾅щlÍ£ü~dÃÏu1dwGÛ›VdÊJ#‰å4i•6uµû‘™ÚËøBm¼DÁ¶Ï9„§L½Î´ç1NîC݇MyúýȺ‡ лéz~ÐÛ–±DÇÊŽ§^I§‚ö;•“~f8ö–…a4LK5eb©TÛtV]á^T¦°Žqn¨bœñ7ƒ´ºsnÔ©b‚å2^Åâêr…tÇÉÐû¼¤é“ÖÓ?±N©áv3¥†f#¥æÒè¢.lå¹x òüßµ·eYšìÕ‹Z¤uö×ÎÚyÍnð i©³xˆ¿OÛ3ùŽ>“þϯíUñ endobj -1677 0 obj << +1678 0 obj << /Type /Page -/Contents 1678 0 R -/Resources 1676 0 R +/Contents 1679 0 R +/Resources 1677 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1675 0 R ->> endobj -1679 0 obj << -/D [1677 0 R /XYZ 56.6929 794.5015 null] +/Parent 1676 0 R >> endobj 1680 0 obj << -/D [1677 0 R /XYZ 56.6929 748.5056 null] +/D [1678 0 R /XYZ 56.6929 794.5015 null] >> endobj 1681 0 obj << -/D [1677 0 R /XYZ 56.6929 748.5056 null] +/D [1678 0 R /XYZ 56.6929 748.5056 null] >> endobj 1682 0 obj << -/D [1677 0 R /XYZ 56.6929 748.5056 null] +/D [1678 0 R /XYZ 56.6929 748.5056 null] >> endobj 1683 0 obj << -/D [1677 0 R /XYZ 56.6929 743.7078 null] +/D [1678 0 R /XYZ 56.6929 748.5056 null] >> endobj 1684 0 obj << -/D [1677 0 R /XYZ 56.6929 719.6381 null] +/D [1678 0 R /XYZ 56.6929 743.7078 null] >> endobj 1685 0 obj << -/D [1677 0 R /XYZ 56.6929 711.8197 null] +/D [1678 0 R /XYZ 56.6929 719.6381 null] >> endobj 1686 0 obj << -/D [1677 0 R /XYZ 56.6929 697.0552 null] +/D [1678 0 R /XYZ 56.6929 711.8197 null] >> endobj 1687 0 obj << -/D [1677 0 R /XYZ 56.6929 691.8868 null] +/D [1678 0 R /XYZ 56.6929 697.0552 null] >> endobj 1688 0 obj << -/D [1677 0 R /XYZ 56.6929 665.1671 null] +/D [1678 0 R /XYZ 56.6929 691.8868 null] >> endobj 1689 0 obj << -/D [1677 0 R /XYZ 56.6929 659.9987 null] +/D [1678 0 R /XYZ 56.6929 665.1671 null] >> endobj 1690 0 obj << -/D [1677 0 R /XYZ 56.6929 635.929 null] +/D [1678 0 R /XYZ 56.6929 659.9987 null] >> endobj 1691 0 obj << -/D [1677 0 R /XYZ 56.6929 628.1106 null] +/D [1678 0 R /XYZ 56.6929 635.929 null] >> endobj 1692 0 obj << -/D [1677 0 R /XYZ 56.6929 601.3909 null] +/D [1678 0 R /XYZ 56.6929 628.1106 null] >> endobj 1693 0 obj << -/D [1677 0 R /XYZ 56.6929 596.2225 null] +/D [1678 0 R /XYZ 56.6929 601.3909 null] >> endobj 1694 0 obj << -/D [1677 0 R /XYZ 56.6929 569.5028 null] +/D [1678 0 R /XYZ 56.6929 596.2225 null] >> endobj 1695 0 obj << -/D [1677 0 R /XYZ 56.6929 564.3344 null] +/D [1678 0 R /XYZ 56.6929 569.5028 null] >> endobj 1696 0 obj << -/D [1677 0 R /XYZ 56.6929 549.6297 null] +/D [1678 0 R /XYZ 56.6929 564.3344 null] >> endobj 1697 0 obj << -/D [1677 0 R /XYZ 56.6929 544.4015 null] +/D [1678 0 R /XYZ 56.6929 549.6297 null] >> endobj 1698 0 obj << -/D [1677 0 R /XYZ 56.6929 529.6968 null] +/D [1678 0 R /XYZ 56.6929 544.4015 null] >> endobj 1699 0 obj << -/D [1677 0 R /XYZ 56.6929 524.4686 null] +/D [1678 0 R /XYZ 56.6929 529.6968 null] >> endobj 1700 0 obj << -/D [1677 0 R /XYZ 56.6929 500.3989 null] +/D [1678 0 R /XYZ 56.6929 524.4686 null] >> endobj 1701 0 obj << -/D [1677 0 R /XYZ 56.6929 492.5805 null] +/D [1678 0 R /XYZ 56.6929 500.3989 null] >> endobj 1702 0 obj << -/D [1677 0 R /XYZ 56.6929 467.136 null] +/D [1678 0 R /XYZ 56.6929 492.5805 null] >> endobj 1703 0 obj << -/D [1677 0 R /XYZ 56.6929 460.6924 null] +/D [1678 0 R /XYZ 56.6929 467.136 null] >> endobj 1704 0 obj << -/D [1677 0 R /XYZ 56.6929 436.6227 null] +/D [1678 0 R /XYZ 56.6929 460.6924 null] >> endobj 1705 0 obj << -/D [1677 0 R /XYZ 56.6929 428.8043 null] +/D [1678 0 R /XYZ 56.6929 436.6227 null] >> endobj 1706 0 obj << -/D [1677 0 R /XYZ 56.6929 414.0996 null] +/D [1678 0 R /XYZ 56.6929 428.8043 null] >> endobj 1707 0 obj << -/D [1677 0 R /XYZ 56.6929 408.8714 null] +/D [1678 0 R /XYZ 56.6929 414.0996 null] >> endobj 1708 0 obj << -/D [1677 0 R /XYZ 56.6929 382.1516 null] +/D [1678 0 R /XYZ 56.6929 408.8714 null] >> endobj 1709 0 obj << -/D [1677 0 R /XYZ 56.6929 376.9833 null] +/D [1678 0 R /XYZ 56.6929 382.1516 null] >> endobj 1710 0 obj << -/D [1677 0 R /XYZ 56.6929 350.2636 null] +/D [1678 0 R /XYZ 56.6929 376.9833 null] >> endobj 1711 0 obj << -/D [1677 0 R /XYZ 56.6929 345.0952 null] +/D [1678 0 R /XYZ 56.6929 350.2636 null] >> endobj 1712 0 obj << -/D [1677 0 R /XYZ 56.6929 321.0255 null] +/D [1678 0 R /XYZ 56.6929 345.0952 null] >> endobj 1713 0 obj << -/D [1677 0 R /XYZ 56.6929 313.2071 null] +/D [1678 0 R /XYZ 56.6929 321.0255 null] >> endobj 1714 0 obj << -/D [1677 0 R /XYZ 56.6929 298.5024 null] +/D [1678 0 R /XYZ 56.6929 313.2071 null] >> endobj 1715 0 obj << -/D [1677 0 R /XYZ 56.6929 293.2742 null] +/D [1678 0 R /XYZ 56.6929 298.5024 null] >> endobj 1716 0 obj << -/D [1677 0 R /XYZ 56.6929 267.8297 null] +/D [1678 0 R /XYZ 56.6929 293.2742 null] >> endobj 1717 0 obj << -/D [1677 0 R /XYZ 56.6929 261.3861 null] +/D [1678 0 R /XYZ 56.6929 267.8297 null] >> endobj 1718 0 obj << -/D [1677 0 R /XYZ 56.6929 199.468 null] +/D [1678 0 R /XYZ 56.6929 261.3861 null] >> endobj 1719 0 obj << -/D [1677 0 R /XYZ 56.6929 199.468 null] +/D [1678 0 R /XYZ 56.6929 199.468 null] >> endobj 1720 0 obj << -/D [1677 0 R /XYZ 56.6929 199.468 null] +/D [1678 0 R /XYZ 56.6929 199.468 null] >> endobj 1721 0 obj << -/D [1677 0 R /XYZ 56.6929 191.7053 null] +/D [1678 0 R /XYZ 56.6929 199.468 null] >> endobj 1722 0 obj << -/D [1677 0 R /XYZ 56.6929 176.9408 null] +/D [1678 0 R /XYZ 56.6929 191.7053 null] >> endobj 1723 0 obj << -/D [1677 0 R /XYZ 56.6929 171.7724 null] +/D [1678 0 R /XYZ 56.6929 176.9408 null] >> endobj 1724 0 obj << -/D [1677 0 R /XYZ 56.6929 157.0677 null] +/D [1678 0 R /XYZ 56.6929 171.7724 null] >> endobj 1725 0 obj << -/D [1677 0 R /XYZ 56.6929 151.8395 null] +/D [1678 0 R /XYZ 56.6929 157.0677 null] >> endobj 1726 0 obj << -/D [1677 0 R /XYZ 56.6929 137.1348 null] +/D [1678 0 R /XYZ 56.6929 151.8395 null] >> endobj 1727 0 obj << -/D [1677 0 R /XYZ 56.6929 131.9066 null] +/D [1678 0 R /XYZ 56.6929 137.1348 null] >> endobj 1728 0 obj << -/D [1677 0 R /XYZ 56.6929 117.2018 null] +/D [1678 0 R /XYZ 56.6929 131.9066 null] >> endobj 1729 0 obj << -/D [1677 0 R /XYZ 56.6929 111.9736 null] +/D [1678 0 R /XYZ 56.6929 117.2018 null] >> endobj 1730 0 obj << -/D [1677 0 R /XYZ 56.6929 97.2091 null] +/D [1678 0 R /XYZ 56.6929 111.9736 null] >> endobj 1731 0 obj << -/D [1677 0 R /XYZ 56.6929 92.0407 null] +/D [1678 0 R /XYZ 56.6929 97.2091 null] >> endobj -1676 0 obj << +1732 0 obj << +/D [1678 0 R /XYZ 56.6929 92.0407 null] +>> endobj +1677 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1734 0 obj << +1735 0 obj << /Length 2545 /Filter /FlateDecode >> @@ -7547,171 +7565,171 @@ O¶y)ÒÙÑÖkÚ'áQ·
šžöo")3}{” 6_('L)JJAGé„6ˆb[ˆ0Áõ‰ê€_ŠÜ
.nÊÃ1-~tâ e'´AñÛB± ~úØúœ¾0U3gg'íhM![ –z" ’ñÏ`7UúýUôHv*œö§ºÑ<$V ” ÒMƒ!dgA uŸ¤"GíÂí8S`"'‹1œ†g"Ùû¦äÿÍâeT†+ã<”û½Ø«ïú±ò XeÍŠ·ôñ"œ€M (2›q"èŠûtuËÊsS>Øs«õ¹ó”¿ÓøtÊæóO+Ȩ#àÿïdýÉÈ#±çBP™z©—â›K’á›ë_n¿ú %÷Üendstream endobj -1733 0 obj << +1734 0 obj << /Type /Page -/Contents 1734 0 R -/Resources 1732 0 R +/Contents 1735 0 R +/Resources 1733 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1675 0 R ->> endobj -1735 0 obj << -/D [1733 0 R /XYZ 85.0394 794.5015 null] +/Parent 1676 0 R >> endobj 1736 0 obj << -/D [1733 0 R /XYZ 85.0394 748.4854 null] +/D [1734 0 R /XYZ 85.0394 794.5015 null] >> endobj 1737 0 obj << -/D [1733 0 R /XYZ 85.0394 748.4854 null] +/D [1734 0 R /XYZ 85.0394 748.4854 null] >> endobj 1738 0 obj << -/D [1733 0 R /XYZ 85.0394 748.4854 null] +/D [1734 0 R /XYZ 85.0394 748.4854 null] >> endobj 1739 0 obj << -/D [1733 0 R /XYZ 85.0394 743.3452 null] +/D [1734 0 R /XYZ 85.0394 748.4854 null] >> endobj 1740 0 obj << -/D [1733 0 R /XYZ 85.0394 728.6405 null] +/D [1734 0 R /XYZ 85.0394 743.3452 null] >> endobj 1741 0 obj << -/D [1733 0 R /XYZ 85.0394 723.1655 null] +/D [1734 0 R /XYZ 85.0394 728.6405 null] >> endobj 1742 0 obj << -/D [1733 0 R /XYZ 85.0394 708.4607 null] +/D [1734 0 R /XYZ 85.0394 723.1655 null] >> endobj 1743 0 obj << -/D [1733 0 R /XYZ 85.0394 702.9857 null] +/D [1734 0 R /XYZ 85.0394 708.4607 null] >> endobj 1744 0 obj << -/D [1733 0 R /XYZ 85.0394 688.2211 null] +/D [1734 0 R /XYZ 85.0394 702.9857 null] >> endobj 1745 0 obj << -/D [1733 0 R /XYZ 85.0394 682.8059 null] +/D [1734 0 R /XYZ 85.0394 688.2211 null] >> endobj 1746 0 obj << -/D [1733 0 R /XYZ 85.0394 668.0414 null] +/D [1734 0 R /XYZ 85.0394 682.8059 null] >> endobj 1747 0 obj << -/D [1733 0 R /XYZ 85.0394 662.6262 null] +/D [1734 0 R /XYZ 85.0394 668.0414 null] >> endobj 1748 0 obj << -/D [1733 0 R /XYZ 85.0394 599.7666 null] +/D [1734 0 R /XYZ 85.0394 662.6262 null] >> endobj 1749 0 obj << -/D [1733 0 R /XYZ 85.0394 599.7666 null] +/D [1734 0 R /XYZ 85.0394 599.7666 null] >> endobj 1750 0 obj << -/D [1733 0 R /XYZ 85.0394 599.7666 null] +/D [1734 0 R /XYZ 85.0394 599.7666 null] >> endobj 1751 0 obj << -/D [1733 0 R /XYZ 85.0394 591.7571 null] +/D [1734 0 R /XYZ 85.0394 599.7666 null] >> endobj 1752 0 obj << -/D [1733 0 R /XYZ 85.0394 565.0374 null] +/D [1734 0 R /XYZ 85.0394 591.7571 null] >> endobj 1753 0 obj << -/D [1733 0 R /XYZ 85.0394 559.6222 null] +/D [1734 0 R /XYZ 85.0394 565.0374 null] >> endobj 1754 0 obj << -/D [1733 0 R /XYZ 85.0394 534.1777 null] +/D [1734 0 R /XYZ 85.0394 559.6222 null] >> endobj 1755 0 obj << -/D [1733 0 R /XYZ 85.0394 527.4872 null] +/D [1734 0 R /XYZ 85.0394 534.1777 null] >> endobj 1756 0 obj << -/D [1733 0 R /XYZ 85.0394 502.0427 null] +/D [1734 0 R /XYZ 85.0394 527.4872 null] >> endobj 1757 0 obj << -/D [1733 0 R /XYZ 85.0394 495.3523 null] +/D [1734 0 R /XYZ 85.0394 502.0427 null] >> endobj 1758 0 obj << -/D [1733 0 R /XYZ 85.0394 420.5376 null] +/D [1734 0 R /XYZ 85.0394 495.3523 null] >> endobj 1759 0 obj << -/D [1733 0 R /XYZ 85.0394 420.5376 null] +/D [1734 0 R /XYZ 85.0394 420.5376 null] >> endobj 1760 0 obj << -/D [1733 0 R /XYZ 85.0394 420.5376 null] +/D [1734 0 R /XYZ 85.0394 420.5376 null] >> endobj 1761 0 obj << -/D [1733 0 R /XYZ 85.0394 412.5281 null] +/D [1734 0 R /XYZ 85.0394 420.5376 null] >> endobj 1762 0 obj << -/D [1733 0 R /XYZ 85.0394 388.4584 null] +/D [1734 0 R /XYZ 85.0394 412.5281 null] >> endobj 1763 0 obj << -/D [1733 0 R /XYZ 85.0394 380.3932 null] +/D [1734 0 R /XYZ 85.0394 388.4584 null] >> endobj 1764 0 obj << -/D [1733 0 R /XYZ 85.0394 365.6884 null] +/D [1734 0 R /XYZ 85.0394 380.3932 null] >> endobj 1765 0 obj << -/D [1733 0 R /XYZ 85.0394 360.2134 null] +/D [1734 0 R /XYZ 85.0394 365.6884 null] >> endobj 1766 0 obj << -/D [1733 0 R /XYZ 85.0394 345.4488 null] +/D [1734 0 R /XYZ 85.0394 360.2134 null] >> endobj 1767 0 obj << -/D [1733 0 R /XYZ 85.0394 340.0336 null] +/D [1734 0 R /XYZ 85.0394 345.4488 null] >> endobj 1768 0 obj << -/D [1733 0 R /XYZ 85.0394 325.269 null] +/D [1734 0 R /XYZ 85.0394 340.0336 null] >> endobj 1769 0 obj << -/D [1733 0 R /XYZ 85.0394 319.8539 null] +/D [1734 0 R /XYZ 85.0394 325.269 null] >> endobj 1770 0 obj << -/D [1733 0 R /XYZ 85.0394 295.7842 null] +/D [1734 0 R /XYZ 85.0394 319.8539 null] >> endobj 1771 0 obj << -/D [1733 0 R /XYZ 85.0394 287.7189 null] +/D [1734 0 R /XYZ 85.0394 295.7842 null] >> endobj 1772 0 obj << -/D [1733 0 R /XYZ 85.0394 272.9543 null] +/D [1734 0 R /XYZ 85.0394 287.7189 null] >> endobj 1773 0 obj << -/D [1733 0 R /XYZ 85.0394 267.5392 null] +/D [1734 0 R /XYZ 85.0394 272.9543 null] >> endobj 1774 0 obj << -/D [1733 0 R /XYZ 85.0394 252.7746 null] +/D [1734 0 R /XYZ 85.0394 267.5392 null] >> endobj 1775 0 obj << -/D [1733 0 R /XYZ 85.0394 247.3594 null] +/D [1734 0 R /XYZ 85.0394 252.7746 null] >> endobj 1776 0 obj << -/D [1733 0 R /XYZ 85.0394 223.2897 null] +/D [1734 0 R /XYZ 85.0394 247.3594 null] >> endobj 1777 0 obj << -/D [1733 0 R /XYZ 85.0394 215.2245 null] +/D [1734 0 R /XYZ 85.0394 223.2897 null] >> endobj 1778 0 obj << -/D [1733 0 R /XYZ 85.0394 149.4956 null] +/D [1734 0 R /XYZ 85.0394 215.2245 null] >> endobj 1779 0 obj << -/D [1733 0 R /XYZ 85.0394 149.4956 null] +/D [1734 0 R /XYZ 85.0394 149.4956 null] >> endobj 1780 0 obj << -/D [1733 0 R /XYZ 85.0394 149.4956 null] +/D [1734 0 R /XYZ 85.0394 149.4956 null] >> endobj 1781 0 obj << -/D [1733 0 R /XYZ 85.0394 144.3554 null] +/D [1734 0 R /XYZ 85.0394 149.4956 null] >> endobj 1782 0 obj << -/D [1733 0 R /XYZ 85.0394 120.2857 null] +/D [1734 0 R /XYZ 85.0394 144.3554 null] >> endobj 1783 0 obj << -/D [1733 0 R /XYZ 85.0394 112.2205 null] +/D [1734 0 R /XYZ 85.0394 120.2857 null] >> endobj 1784 0 obj << -/D [1733 0 R /XYZ 85.0394 97.4559 null] +/D [1734 0 R /XYZ 85.0394 112.2205 null] >> endobj 1785 0 obj << -/D [1733 0 R /XYZ 85.0394 92.0407 null] +/D [1734 0 R /XYZ 85.0394 97.4559 null] >> endobj -1732 0 obj << +1786 0 obj << +/D [1734 0 R /XYZ 85.0394 92.0407 null] +>> endobj +1733 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1788 0 obj << +1789 0 obj << /Length 2121 /Filter /FlateDecode >> @@ -7726,117 +7744,117 @@ aÜo汆ÆÙ3¨¢sõd¥Ë*^ÉÛXxùÎR~ȬتýÁŠüˆ9w›m&U¿Øé½cïU¢Àâ,pò¢2ª‹ö6°L@ÎU\¿²q8.€ BRSOÄú1£ìô<(AD]Xx©°óZìM¬¸¾{˜åºP¬ú\J"VßCÞäN¹Qï3;¡Ô»pý²©Î“ ì‚ ÓÙ„õç‘AÇ<r¦¶3´´b¡žq+êÛ–²íC@
…ñç)ÞgÈ4ÍàÂõlj¤8Nš¼ëøýût¯™çö°KWk\F,an¨þ^¡æ9Á%@?.aÂIàG°O‹îe^×å€ÃúúdQâÚò5.«b[èhAöfúwœyüË3¤™yÂçžÒur¥kª‘)\+’ÎrÙ[tÀaUuàE›cýÿ/eU/aßU„f¿^”6 ¥gK¯ÿÁ:_ûøØendstream endobj -1787 0 obj << +1788 0 obj << /Type /Page -/Contents 1788 0 R -/Resources 1786 0 R +/Contents 1789 0 R +/Resources 1787 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1675 0 R ->> endobj -1789 0 obj << -/D [1787 0 R /XYZ 56.6929 794.5015 null] +/Parent 1676 0 R >> endobj 1790 0 obj << -/D [1787 0 R /XYZ 56.6929 749.4437 null] +/D [1788 0 R /XYZ 56.6929 794.5015 null] >> endobj 1791 0 obj << -/D [1787 0 R /XYZ 56.6929 749.4437 null] +/D [1788 0 R /XYZ 56.6929 749.4437 null] >> endobj 1792 0 obj << -/D [1787 0 R /XYZ 56.6929 749.4437 null] +/D [1788 0 R /XYZ 56.6929 749.4437 null] >> endobj 1793 0 obj << -/D [1787 0 R /XYZ 56.6929 746.6461 null] +/D [1788 0 R /XYZ 56.6929 749.4437 null] >> endobj 1794 0 obj << -/D [1787 0 R /XYZ 56.6929 722.5763 null] +/D [1788 0 R /XYZ 56.6929 746.6461 null] >> endobj 1795 0 obj << -/D [1787 0 R /XYZ 56.6929 716.7581 null] +/D [1788 0 R /XYZ 56.6929 722.5763 null] >> endobj 1796 0 obj << -/D [1787 0 R /XYZ 56.6929 701.9936 null] +/D [1788 0 R /XYZ 56.6929 716.7581 null] >> endobj 1797 0 obj << -/D [1787 0 R /XYZ 56.6929 698.8254 null] +/D [1788 0 R /XYZ 56.6929 701.9936 null] >> endobj 1798 0 obj << -/D [1787 0 R /XYZ 56.6929 684.1207 null] +/D [1788 0 R /XYZ 56.6929 698.8254 null] >> endobj 1799 0 obj << -/D [1787 0 R /XYZ 56.6929 680.8926 null] +/D [1788 0 R /XYZ 56.6929 684.1207 null] >> endobj 1800 0 obj << -/D [1787 0 R /XYZ 56.6929 656.8229 null] +/D [1788 0 R /XYZ 56.6929 680.8926 null] >> endobj 1801 0 obj << -/D [1787 0 R /XYZ 56.6929 651.0047 null] +/D [1788 0 R /XYZ 56.6929 656.8229 null] >> endobj 1802 0 obj << -/D [1787 0 R /XYZ 56.6929 636.3 null] +/D [1788 0 R /XYZ 56.6929 651.0047 null] >> endobj 1803 0 obj << -/D [1787 0 R /XYZ 56.6929 633.072 null] +/D [1788 0 R /XYZ 56.6929 636.3 null] >> endobj 1804 0 obj << -/D [1787 0 R /XYZ 56.6929 609.0023 null] +/D [1788 0 R /XYZ 56.6929 633.072 null] >> endobj 1805 0 obj << -/D [1787 0 R /XYZ 56.6929 603.184 null] +/D [1788 0 R /XYZ 56.6929 609.0023 null] >> endobj 1806 0 obj << -/D [1787 0 R /XYZ 56.6929 579.1143 null] +/D [1788 0 R /XYZ 56.6929 603.184 null] >> endobj 1807 0 obj << -/D [1787 0 R /XYZ 56.6929 573.2961 null] +/D [1788 0 R /XYZ 56.6929 579.1143 null] >> endobj 1808 0 obj << -/D [1787 0 R /XYZ 56.6929 558.5914 null] +/D [1788 0 R /XYZ 56.6929 573.2961 null] >> endobj 1809 0 obj << -/D [1787 0 R /XYZ 56.6929 555.3634 null] +/D [1788 0 R /XYZ 56.6929 558.5914 null] >> endobj 1810 0 obj << -/D [1787 0 R /XYZ 56.6929 540.5988 null] +/D [1788 0 R /XYZ 56.6929 555.3634 null] >> endobj 1811 0 obj << -/D [1787 0 R /XYZ 56.6929 537.4306 null] +/D [1788 0 R /XYZ 56.6929 540.5988 null] >> endobj 1812 0 obj << -/D [1787 0 R /XYZ 56.6929 510.7109 null] +/D [1788 0 R /XYZ 56.6929 537.4306 null] >> endobj 1813 0 obj << -/D [1787 0 R /XYZ 56.6929 507.5427 null] ->> endobj -630 0 obj << -/D [1787 0 R /XYZ 56.6929 477.5928 null] +/D [1788 0 R /XYZ 56.6929 510.7109 null] >> endobj 1814 0 obj << -/D [1787 0 R /XYZ 56.6929 453.2532 null] +/D [1788 0 R /XYZ 56.6929 507.5427 null] >> endobj -634 0 obj << -/D [1787 0 R /XYZ 56.6929 369.7201 null] +630 0 obj << +/D [1788 0 R /XYZ 56.6929 477.5928 null] >> endobj 1815 0 obj << -/D [1787 0 R /XYZ 56.6929 345.3805 null] +/D [1788 0 R /XYZ 56.6929 453.2532 null] +>> endobj +634 0 obj << +/D [1788 0 R /XYZ 56.6929 369.7201 null] >> endobj 1816 0 obj << -/D [1787 0 R /XYZ 56.6929 310.6805 null] +/D [1788 0 R /XYZ 56.6929 345.3805 null] >> endobj 1817 0 obj << -/D [1787 0 R /XYZ 56.6929 310.6805 null] +/D [1788 0 R /XYZ 56.6929 310.6805 null] >> endobj 1818 0 obj << -/D [1787 0 R /XYZ 56.6929 310.6805 null] +/D [1788 0 R /XYZ 56.6929 310.6805 null] >> endobj 1819 0 obj << -/D [1787 0 R /XYZ 56.6929 310.6805 null] +/D [1788 0 R /XYZ 56.6929 310.6805 null] >> endobj -1786 0 obj << +1820 0 obj << +/D [1788 0 R /XYZ 56.6929 310.6805 null] +>> endobj +1787 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F39 873 0 R /F14 717 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1822 0 obj << +1823 0 obj << /Length 1916 /Filter /FlateDecode >> @@ -7852,42 +7870,42 @@ l0ý"ë¯q›Rv“FGïnï>Fî©îZ~½8¾Ô¬gcf01vÏë’NuðfðÎæ™´'8På"™ÿn_
e[ÙÓèüè˾ß[å α ÙÕu<¼œfœlÖš÷®1„Rs{G¿ÔÂâý'ú¥¯®ÕÅ\дX¬Š–6¾&Ãj¸JnhZ"VÙ'[Œº{OÙ=ªOÒ,úXRs„pê¸ü3`¹>$ð0TOÌ{¤³éÒ·pçžÕÌÈà]ñr¾šI(“jæ”ÏïÐQ¸tº>x å2Aó¼‘Ñ°›!5#Ì…©ò=f¸73s˜çä8„‡Ï3‡öïóS®Ä:Y endobj -1821 0 obj << +1822 0 obj << /Type /Page -/Contents 1822 0 R -/Resources 1820 0 R +/Contents 1823 0 R +/Resources 1821 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1675 0 R +/Parent 1676 0 R >> endobj -1823 0 obj << -/D [1821 0 R /XYZ 85.0394 794.5015 null] +1824 0 obj << +/D [1822 0 R /XYZ 85.0394 794.5015 null] >> endobj 638 0 obj << -/D [1821 0 R /XYZ 85.0394 769.5949 null] +/D [1822 0 R /XYZ 85.0394 769.5949 null] >> endobj -1824 0 obj << -/D [1821 0 R /XYZ 85.0394 573.0107 null] +1825 0 obj << +/D [1822 0 R /XYZ 85.0394 573.0107 null] >> endobj 642 0 obj << -/D [1821 0 R /XYZ 85.0394 573.0107 null] ->> endobj -1825 0 obj << -/D [1821 0 R /XYZ 85.0394 538.4209 null] +/D [1822 0 R /XYZ 85.0394 573.0107 null] >> endobj 1826 0 obj << -/D [1821 0 R /XYZ 85.0394 504.6118 null] +/D [1822 0 R /XYZ 85.0394 538.4209 null] >> endobj 1827 0 obj << -/D [1821 0 R /XYZ 85.0394 432.7569 null] +/D [1822 0 R /XYZ 85.0394 504.6118 null] >> endobj 1828 0 obj << -/D [1821 0 R /XYZ 85.0394 303.3232 null] +/D [1822 0 R /XYZ 85.0394 432.7569 null] >> endobj -1820 0 obj << +1829 0 obj << +/D [1822 0 R /XYZ 85.0394 303.3232 null] +>> endobj +1821 0 obj << /Font << /F21 690 0 R /F23 714 0 R /F41 910 0 R /F53 1002 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1831 0 obj << +1832 0 obj << /Length 3970 /Filter /FlateDecode >> @@ -7916,27 +7934,27 @@ j®Yópô§mM9QKSƒ- !oÃü=uà—;úQv;\Ù/JžÊ#ƒ=<Ô]í‚1þ€ÀƨÀBιï¸ ¨xÛ¯·=]
2(èYw(Yéïù#PVhÍst‹j¹üš!5àí¾¥J–¿+s÷Yb endobj -1830 0 obj << +1831 0 obj << /Type /Page -/Contents 1831 0 R -/Resources 1829 0 R +/Contents 1832 0 R +/Resources 1830 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1675 0 R ->> endobj -1832 0 obj << -/D [1830 0 R /XYZ 56.6929 794.5015 null] +/Parent 1676 0 R >> endobj 1833 0 obj << -/D [1830 0 R /XYZ 56.6929 752.2728 null] +/D [1831 0 R /XYZ 56.6929 794.5015 null] >> endobj 1834 0 obj << -/D [1830 0 R /XYZ 56.6929 504.0748 null] +/D [1831 0 R /XYZ 56.6929 752.2728 null] >> endobj -1829 0 obj << -/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F48 925 0 R /F53 1002 0 R /F11 1343 0 R >> +1835 0 obj << +/D [1831 0 R /XYZ 56.6929 504.0748 null] +>> endobj +1830 0 obj << +/Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F48 925 0 R /F53 1002 0 R /F11 1348 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1837 0 obj << +1838 0 obj << /Length 2761 /Filter /FlateDecode >> @@ -7958,24 +7976,24 @@ wT—7«wû¼®¶/SÇj
«bê„v¢ ÍD *8– ÛÉÂYÃí
á‰åñžé+üb8UÒŇABýðéòîÎ]Èæeç3œ/½.ÕFþ“ȸq„qô¶¥ihR{³ØÀªŸ€+eÀŽ˜5ì•N,÷¡•p°ƒCQÏô‡ìýý§ÿ®®TVùkŽ‘Ù1ÿAþþ£‘öObd`ã8N¦lBs甉31tÝÿyÉ©ïÿœ‡®cendstream endobj -1836 0 obj << +1837 0 obj << /Type /Page -/Contents 1837 0 R -/Resources 1835 0 R +/Contents 1838 0 R +/Resources 1836 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1840 0 R ->> endobj -1838 0 obj << -/D [1836 0 R /XYZ 85.0394 794.5015 null] +/Parent 1841 0 R >> endobj 1839 0 obj << -/D [1836 0 R /XYZ 85.0394 695.9587 null] +/D [1837 0 R /XYZ 85.0394 794.5015 null] >> endobj -1835 0 obj << +1840 0 obj << +/D [1837 0 R /XYZ 85.0394 695.9587 null] +>> endobj +1836 0 obj << /Font << /F37 779 0 R /F23 714 0 R /F21 690 0 R /F41 910 0 R /F48 925 0 R /F53 1002 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1843 0 obj << +1844 0 obj << /Length 2838 /Filter /FlateDecode >> @@ -7990,21 +8008,21 @@ Y·G†R„Ø…xHµaKåsl6‡Õ³ÉÛç˜óåq7é˜.¹CÓ:¹l®î‘/JÐêIÿ ŸrÍ06ûáÏò‡ÊÕO7ù8à ;¢a3¤Z7Œ£ò†1g½ó=Ò¼ÄÛüÕ\€Ø6ࣄ#KàmCm¨µ
lCÝI1J¼ÈêÕ›‡”Ú<T›‡.™åÆ<445æ¡Æ<4:]Þ6ìX‹²¸JCª
óX*ožºnäêªvn.ïZòmÕ\‚Ø> ©ÜvGæáÖ<Üš‡GæÉyxˆ¬Þ½}(7öáÚ>|É>¥µíÃ}¸±Oî죂)/Óœ“ºhÃh¸„½¢æCªu£9*o´¶]=¥ÛäìOéf¬—Oé"ÞŸ„‰4¶„Û·¢2M)Ò<ê|EˆTëæ4EüÂaF@´¡$C¤o›ƒøËíJ¹¶ÅÓVkS–ËÅZÈt£ðcó¾l€Pœ÷êÄÞõÕ4*ý°Ù^’öKW¢P§ä,·Ç÷·G(î6ü ïê!BYr-“Äg Óøû·V_ë99
é¸ 0¨BpŸn.;*{6jVëÎ`oÒ!6'éÅ—9HðY/>IŠV¿Ö b—r{»{ ®ÝIê^agÇstaRm ÖR™ïFsÌz·Þâ¸õ”õŠ[‡¼
tí}—l¸Ãsé¦A–®7O¥jh|~£ö–("s§7ºoœŒ‘´Ä˜m"½ÌXašnEUOä³ÂÑ .FËMley9ƒt(¤]A°C',ÉR}øóYý´Í·¥³gð”´$q,ÖqféšÉÿßXOp˜´h«{1=hº}{®§GŒêBÎB=üûÕÊï€/]þÚYçú¿ÿ”çÿrHsȘkw“YÎRø˜[¡¤& endobj -1842 0 obj << +1843 0 obj << /Type /Page -/Contents 1843 0 R -/Resources 1841 0 R +/Contents 1844 0 R +/Resources 1842 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1840 0 R +/Parent 1841 0 R >> endobj -1844 0 obj << -/D [1842 0 R /XYZ 56.6929 794.5015 null] +1845 0 obj << +/D [1843 0 R /XYZ 56.6929 794.5015 null] >> endobj -1841 0 obj << +1842 0 obj << /Font << /F37 779 0 R /F48 925 0 R /F23 714 0 R /F21 690 0 R /F53 1002 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1847 0 obj << +1848 0 obj << /Length 3266 /Filter /FlateDecode >> @@ -8019,24 +8037,24 @@ Ww[¬'Ç©d""9ÏÜSM¹Âš8V|ÌþǂψCÖþÝÍ×Ôž\^œÒjólM1ÀŒ<»+aÇ@àxÁßÙ¥úÓìúüÏ ¬Ò ¥r»«Ìw¿ÌÆÌÊ|˜ÞY¨Z þbõ…§îEÛïv¶ĩ¥ª/i¸˜BØ®²‚¡BJcb(@Mƒt[À Y€½M0
J~tùÓþ$“TŠ`ÊÉg$2ãó_ûÐûjæ”å܇3®Â4NnVY‡1 ²Àà’¸Kì6;”Ó!üŽs½ sóÕHºGS*Ä!¯_gVúUq¾*Í÷h%ƒã&l1+~®-¥ù¹ endobj -1846 0 obj << +1847 0 obj << /Type /Page -/Contents 1847 0 R -/Resources 1845 0 R +/Contents 1848 0 R +/Resources 1846 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1840 0 R ->> endobj -1848 0 obj << -/D [1846 0 R /XYZ 85.0394 794.5015 null] +/Parent 1841 0 R >> endobj 1849 0 obj << -/D [1846 0 R /XYZ 85.0394 179.5067 null] +/D [1847 0 R /XYZ 85.0394 794.5015 null] >> endobj -1845 0 obj << +1850 0 obj << +/D [1847 0 R /XYZ 85.0394 179.5067 null] +>> endobj +1846 0 obj << /Font << /F37 779 0 R /F48 925 0 R /F23 714 0 R /F53 1002 0 R /F41 910 0 R /F21 690 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1852 0 obj << +1853 0 obj << /Length 1912 /Filter /FlateDecode >> @@ -8050,45 +8068,45 @@ xÚ¥X[sÛº~ׯÐCgJ͉`Üx;oJlçøLŽãFÊ´Ç4 YœP„BRVÔNÿ{X¦$jt:= ÙF¬šDÞ¶¬ÏP- HeˆTËã8¶¹½û„ï»Óº½G¯WªI¯*Uëâ•À _¶iÇ0ˆìŠ¿üû·ÏÜü犀U:d nþó{×mEÑÖý¦¿mò"oöçÓ1›ïK½©á|ÑŽ`$Œà1FPQ@å1ðy€‘Ü7—Óð·0šÁ©ìi8å˜îË[ôæ¢yb>N“YQVõb÷úÔŠÒ¡BS˜'l/Ó´HêzðUB,-ÚEÂû…Â'Qà· Xfº9«/Œ~¹¬p»~VƒÏÅ€p.Ù±Ææ¢Æf¿üú!H̨<Ö÷÷‹úvIÞœÕ':}ø ‹‡à Â0>N×»´,’—¡]$‘at‚‚ìzëaíbeX<ûnÞ™]™J»£ñS{ûd(M‘ñáÏe<ô ü9h2N2œ˜Þ~};µý¿oÅ"3endstream endobj -1851 0 obj << +1852 0 obj << /Type /Page -/Contents 1852 0 R -/Resources 1850 0 R +/Contents 1853 0 R +/Resources 1851 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1840 0 R ->> endobj -1853 0 obj << -/D [1851 0 R /XYZ 56.6929 794.5015 null] +/Parent 1841 0 R >> endobj 1854 0 obj << -/D [1851 0 R /XYZ 56.6929 581.7741 null] +/D [1852 0 R /XYZ 56.6929 794.5015 null] >> endobj 1855 0 obj << -/D [1851 0 R /XYZ 56.6929 460.6765 null] +/D [1852 0 R /XYZ 56.6929 581.7741 null] >> endobj 1856 0 obj << -/D [1851 0 R /XYZ 56.6929 366.7195 null] +/D [1852 0 R /XYZ 56.6929 460.6765 null] >> endobj 1857 0 obj << -/D [1851 0 R /XYZ 56.6929 293.4426 null] ->> endobj -646 0 obj << -/D [1851 0 R /XYZ 56.6929 247.3727 null] +/D [1852 0 R /XYZ 56.6929 366.7195 null] >> endobj 1858 0 obj << -/D [1851 0 R /XYZ 56.6929 211.2315 null] +/D [1852 0 R /XYZ 56.6929 293.4426 null] +>> endobj +646 0 obj << +/D [1852 0 R /XYZ 56.6929 247.3727 null] >> endobj 1859 0 obj << -/D [1851 0 R /XYZ 56.6929 172.539 null] +/D [1852 0 R /XYZ 56.6929 211.2315 null] >> endobj 1860 0 obj << -/D [1851 0 R /XYZ 56.6929 96.3402 null] +/D [1852 0 R /XYZ 56.6929 172.539 null] >> endobj -1850 0 obj << +1861 0 obj << +/D [1852 0 R /XYZ 56.6929 96.3402 null] +>> endobj +1851 0 obj << /Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F53 1002 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1863 0 obj << +1864 0 obj << /Length 4198 /Filter /FlateDecode >> @@ -8106,24 +8124,24 @@ IÜnš|Ðm¬CYdmÀBÜÀDÁrKæÊE68ÍSAOŠ›‡‡
´?MY¯™Á£“ÈJ1 ßoóº© j:2sHjÜŸ"Í&ߢL„
xº›q‰4½¼™ZzÌî\…£Rè /K¥3ŠJ£~å¿g«“؆CÇv^V¥''°–ÓGkùpDYÂO¤9P›<¯µU¤½Š¹Ø_š4&TAÝ ëìUc¥Gº…b9_´˜J¾7¾>ö\•¿‡'Lü/¢¹Y¼¿¿ýáã;"cM2ˆ‹&±ð÷®£Z<Ü}Ï?¤ó_÷S.Ðù
ä~ˆ'"ñ7Ÿ¬¢¤žå’-×$€Ò×ËfÏsA5 ÷°—¡^šØÇØr³¸}jhêœùË|Ìp8–R±02Å©Êæµ·Þmé2†¬ü[&
rá ‰XÜk¨Ii<¼#‰f¬£r“êÐøá'ê3)vb·,[<u<¬«ˆØìÜq…Š#-{sFÏO‚'òÕ0€¾uæ&öÈη0²H&½Ï’:åSÄÔgÚ_ñ˜ëdf}:á²ö+7³æ"ð #¹XnS}âMGœt ÓZH#\uF÷t€KÏ6]Í^ÀÒé endobj -1862 0 obj << +1863 0 obj << /Type /Page -/Contents 1863 0 R -/Resources 1861 0 R +/Contents 1864 0 R +/Resources 1862 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1840 0 R ->> endobj -1864 0 obj << -/D [1862 0 R /XYZ 85.0394 794.5015 null] +/Parent 1841 0 R >> endobj 1865 0 obj << -/D [1862 0 R /XYZ 85.0394 751.6872 null] +/D [1863 0 R /XYZ 85.0394 794.5015 null] >> endobj -1861 0 obj << +1866 0 obj << +/D [1863 0 R /XYZ 85.0394 751.6872 null] +>> endobj +1862 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F53 1002 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1868 0 obj << +1869 0 obj << /Length 2149 /Filter /FlateDecode >> @@ -8135,48 +8153,48 @@ xÚ¥XKsÛ8¾ûWè¶RUˆàAð17%–Í&Ž7Ôlí–'Z„$V(RCRÎjý6Ð ÍÃã˜ôdô̈ݰú>¬žƒt
¨yh›¾Y»4ð\a|yNë‘9Æ·-à¢f_¨G¿ò•üRh÷ªÐ®oU½ˆ÷ËŠö™×`~±18ùIàáˆKÁ¯*[ÁÄTýjüÕOÕî²'ÀpCLŒªÑõ"{ÿuy·Z~¹õô¥‹Â}Yi/*js#OÅ8è”i‰In\£OU51à:Sëã€ñýÐ# HI’_h;_Ì?ÿâc{ã1 eš¼ÜXιð¯±\¦X»."G]z]*}Mä\9‡'‹/j7pyÔue`b¤^¦*µ63LZ,‹u{:ôͶͻr¤AI?4AÉC ˆ¯‚9âhŸš/Q¡r§"bþ¦yù‘‹‹aÝÍ`Ç?XÍšÚ-6xà×lþùZÚ ðArÃØ!tì—Ii„sü1û87Çäô:›¿AúõGüׯK3¬èTHý¨ªjŸ×.TY8Èûøyþ> endobj -1867 0 obj << +1868 0 obj << /Type /Page -/Contents 1868 0 R -/Resources 1866 0 R +/Contents 1869 0 R +/Resources 1867 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1840 0 R ->> endobj -1869 0 obj << -/D [1867 0 R /XYZ 56.6929 794.5015 null] +/Parent 1841 0 R >> endobj 1870 0 obj << -/D [1867 0 R /XYZ 56.6929 681.7223 null] +/D [1868 0 R /XYZ 56.6929 794.5015 null] >> endobj 1871 0 obj << -/D [1867 0 R /XYZ 56.6929 568.1619 null] +/D [1868 0 R /XYZ 56.6929 681.7223 null] >> endobj 1872 0 obj << -/D [1867 0 R /XYZ 56.6929 502.4221 null] ->> endobj -650 0 obj << -/D [1867 0 R /XYZ 56.6929 461.5895 null] +/D [1868 0 R /XYZ 56.6929 568.1619 null] >> endobj 1873 0 obj << -/D [1867 0 R /XYZ 56.6929 424.1905 null] +/D [1868 0 R /XYZ 56.6929 502.4221 null] +>> endobj +650 0 obj << +/D [1868 0 R /XYZ 56.6929 461.5895 null] >> endobj 1874 0 obj << -/D [1867 0 R /XYZ 56.6929 391.3558 null] +/D [1868 0 R /XYZ 56.6929 424.1905 null] >> endobj 1875 0 obj << -/D [1867 0 R /XYZ 56.6929 322.6942 null] +/D [1868 0 R /XYZ 56.6929 391.3558 null] >> endobj 1876 0 obj << -/D [1867 0 R /XYZ 56.6929 236.009 null] +/D [1868 0 R /XYZ 56.6929 322.6942 null] >> endobj 1877 0 obj << -/D [1867 0 R /XYZ 56.6929 158.3141 null] +/D [1868 0 R /XYZ 56.6929 236.009 null] >> endobj -1866 0 obj << +1878 0 obj << +/D [1868 0 R /XYZ 56.6929 158.3141 null] +>> endobj +1867 0 obj << /Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F39 873 0 R /F53 1002 0 R /F55 1010 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1880 0 obj << +1881 0 obj << /Length 2958 /Filter /FlateDecode >> @@ -8195,24 +8213,24 @@ xÚ¥Z[sÛ6~÷¯Ð£<h\y™}rc'qÓØÙHÝnÛZ¢lN(R)»î¯ßsp —L€Ó§º“°iÆnÆŠ{ ¢Ýö´ä—ÅÆ‚M9[·dþXVe÷Îæ[˜¯;Ã|»3v$^r›½Á˜ÙtÀh÷Ißnm¯_ÔóÍÛÚZM\ö¨Äs
R¨ù™üÌG—øe$þålá§*^ŠÃÔ„C$*>MY -¬ºó,cHeAê¼(·OO}ýÌPõIrÏxˆlÌãC8KFÁÇÛûÛo×(³Û›>=œˆ>CƒeB‘¡þ×sŸ\¹xFÕÌÿ1‡´C9¦Î›Õº*HŸ“ÌÅæËmUíÊÊiÁ;¶¦ÞCeÀæ4ÆCFSÇ(€$c5ôõP2ègîëáçþ¢ò<ÿ¡Ä¿¢!®„;s†¢¡å]ˆ2Q"…‹“{¥Ï¶Å¢ƒfÛ™0ÏÆ.®XT¶a¡¢_P5ôsóÊÆî¤þ«^&¾»ÒjÙíyœ>±ŒŽýú%Ö‘üôÏvv#·\…õ‡,•ý:ôq…'ʼ¢’Sûõ˜ý
CÃÍ úämˆw8l¼ñ3–ãÚcLÃHø({ WÃõ\Ö+Ûÿý᧨jšq‹GR‚èZ¢ðXÀ}Ò5Ä%:É endobj -1879 0 obj << +1880 0 obj << /Type /Page -/Contents 1880 0 R -/Resources 1878 0 R +/Contents 1881 0 R +/Resources 1879 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1883 0 R ->> endobj -1881 0 obj << -/D [1879 0 R /XYZ 85.0394 794.5015 null] +/Parent 1884 0 R >> endobj 1882 0 obj << -/D [1879 0 R /XYZ 85.0394 114.265 null] +/D [1880 0 R /XYZ 85.0394 794.5015 null] >> endobj -1878 0 obj << +1883 0 obj << +/D [1880 0 R /XYZ 85.0394 114.265 null] +>> endobj +1879 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F55 1010 0 R /F23 714 0 R /F41 910 0 R /F14 717 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1886 0 obj << +1887 0 obj << /Length 2218 /Filter /FlateDecode >> @@ -8229,45 +8247,45 @@ p*ºiƒp¦Œô ÛCD’6í+³Ÿ˜ŸHÈà1kôt‰Ó³k´eØ€wÌQa'-—,ÖîrËîD‡¢ëWÔŸÉò9WhV.= "ði}Çm¹à.aáÐ÷½§Å‰Bbæêð©ÖFÀ2ÞÔÞÖ¦•¨Œ@—ös$GLb—¬œñ@#”…ÖêhƒŠã®wL²`1Ôó“Ý–fKø‘ÞƒAâÕ"oäÑV˜Žl¹¼ø2½9¬!êì©Ðå\o©ë«5!‹û³D2æN©ãÉ•‘[é2+2ðȤqïš+c»bfò:)VP”| K±(º€ßW º˜r™ª—ñùàõiÀ›¤jE8‡(êÚ…ŽkÓ^*íøç0TåoÏr=ØîKÆPÍâQMçÚ6Yjˆi„Ѓ·òê:Š¡Ù*&W£éåÝøö~|3ñô·Çû*ßí]„
]\jB]Eضö‚µê"}eG†ãÆl¹1×NL•„fX€»»éø“ÙÛ¾ëq¼
!š{à2]ÍÔ¶Xˆ²Ü^TU›;bxQÎíƒÕ{[3sÄÒiraÇ™8v0X®íF“4ú6DÐN-°—ª\=µWÒöÅÜh¸4¯;~°i›ØÕ}«¹ÈÒûY{•B`\(ø°24Óg¶Èډʪ[›]7u»û^lЛÉ]{[”í]”½¶ÍUª}»b”„çÇõÞ•¡»‚ŸíðKû›s7éù.ZCD¡ölÊSßõµDŒºs£egC{¿ÌìU…ƒÅv]oþ!迯xº"ÜÑ¿þSÏæOP¿˜”´ë¯vn›¸…SJ“¼§:Áˆ2 endobj -1885 0 obj << +1886 0 obj << /Type /Page -/Contents 1886 0 R -/Resources 1884 0 R +/Contents 1887 0 R +/Resources 1885 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1883 0 R ->> endobj -1887 0 obj << -/D [1885 0 R /XYZ 56.6929 794.5015 null] +/Parent 1884 0 R >> endobj 1888 0 obj << -/D [1885 0 R /XYZ 56.6929 580.3115 null] +/D [1886 0 R /XYZ 56.6929 794.5015 null] >> endobj 1889 0 obj << -/D [1885 0 R /XYZ 56.6929 436.8921 null] +/D [1886 0 R /XYZ 56.6929 580.3115 null] >> endobj 1890 0 obj << -/D [1885 0 R /XYZ 56.6929 377.2485 null] ->> endobj -654 0 obj << -/D [1885 0 R /XYZ 56.6929 340.7763 null] +/D [1886 0 R /XYZ 56.6929 436.8921 null] >> endobj 1891 0 obj << -/D [1885 0 R /XYZ 56.6929 305.1129 null] +/D [1886 0 R /XYZ 56.6929 377.2485 null] +>> endobj +654 0 obj << +/D [1886 0 R /XYZ 56.6929 340.7763 null] >> endobj 1892 0 obj << -/D [1885 0 R /XYZ 56.6929 274.0138 null] +/D [1886 0 R /XYZ 56.6929 305.1129 null] >> endobj 1893 0 obj << -/D [1885 0 R /XYZ 56.6929 211.4484 null] +/D [1886 0 R /XYZ 56.6929 274.0138 null] >> endobj 1894 0 obj << -/D [1885 0 R /XYZ 56.6929 106.9489 null] +/D [1886 0 R /XYZ 56.6929 211.4484 null] >> endobj -1884 0 obj << +1895 0 obj << +/D [1886 0 R /XYZ 56.6929 106.9489 null] +>> endobj +1885 0 obj << /Font << /F37 779 0 R /F14 717 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R /F48 925 0 R /F39 873 0 R /F53 1002 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1897 0 obj << +1898 0 obj << /Length 3191 /Filter /FlateDecode >> @@ -8290,24 +8308,24 @@ z ŒÚ?S ¿lš]˜Ö{#ÐøýxÝÄ;Ïá·ÙýVR7M\ñ» ü²!¯ _”t>ê2ʳP]ÂXÞÆ—Ò@)«%¿ƒì6õLdŠ endobj -1896 0 obj << +1897 0 obj << /Type /Page -/Contents 1897 0 R -/Resources 1895 0 R +/Contents 1898 0 R +/Resources 1896 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1883 0 R ->> endobj -1898 0 obj << -/D [1896 0 R /XYZ 85.0394 794.5015 null] +/Parent 1884 0 R >> endobj 1899 0 obj << -/D [1896 0 R /XYZ 85.0394 751.8312 null] +/D [1897 0 R /XYZ 85.0394 794.5015 null] >> endobj -1895 0 obj << +1900 0 obj << +/D [1897 0 R /XYZ 85.0394 751.8312 null] +>> endobj +1896 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F55 1010 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1902 0 obj << +1903 0 obj << /Length 2976 /Filter /FlateDecode >> @@ -8325,24 +8343,24 @@ xÚ¥ZÝsÛ6÷_¡·ÊÓÁI ú¢Z}Á¡}þ•‘'wƒ.@Õw:ôoªcé·NC£û‡«µ?`’áõé*üÚ ZkFcäà«à—š
‰ÜTæ×Mux¾B,O˜ÓäÚO÷l¸vjÿü:Y›?·<ß =ëŸ` ž0)5Q|ýûÕ/Ÿ~¾‰Hàh²C—t®q‚OJÛmõDÜ€øœêŽ˜c¸Mͦ}è7ƒr‡äíª¸d¶–ÑÏ›$`ƒ†A[4´yˆzwsE
2ÊÐð¯át#b|^yy@_a¬õ;de
ùë –€É£á.ÜÑØDƒ×2,b|蜄}Îâ{¡Á³`QóiˆÀ©¤cè¦|‡±Ñ@-d©ÏþÇîX7¹óPÔ!iÂÜ¥à®ÝÆà endobj -1901 0 obj << +1902 0 obj << /Type /Page -/Contents 1902 0 R -/Resources 1900 0 R +/Contents 1903 0 R +/Resources 1901 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1883 0 R ->> endobj -1903 0 obj << -/D [1901 0 R /XYZ 56.6929 794.5015 null] +/Parent 1884 0 R >> endobj 1904 0 obj << -/D [1901 0 R /XYZ 56.6929 119.3275 null] +/D [1902 0 R /XYZ 56.6929 794.5015 null] >> endobj -1900 0 obj << +1905 0 obj << +/D [1902 0 R /XYZ 56.6929 119.3275 null] +>> endobj +1901 0 obj << /Font << /F37 779 0 R /F23 714 0 R /F41 910 0 R /F21 690 0 R /F55 1010 0 R /F48 925 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1907 0 obj << +1908 0 obj << /Length 1522 /Filter /FlateDecode >> @@ -8353,45 +8371,45 @@ xÚ¥X[oÚH~çWð²¨ëéÜm?Ò„´é…d•Vjóà€o}ÉÚ†–þú=öÌÛ4Õ*R?ŸËw.sl2ÄðG†ž@˜ù|èú LÄp™ ·Ï Á<çÚê¥má.<£ÏEã”źÎÙ"(ò9—]ó®¶õÙ”UÙË°_#§UËaöô¤k¯ïŽ!LYdZè6Ðâ£tïV¡º82ѾšŸk endobj -1906 0 obj << +1907 0 obj << /Type /Page -/Contents 1907 0 R -/Resources 1905 0 R +/Contents 1908 0 R +/Resources 1906 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1883 0 R ->> endobj -1908 0 obj << -/D [1906 0 R /XYZ 85.0394 794.5015 null] +/Parent 1884 0 R >> endobj 1909 0 obj << -/D [1906 0 R /XYZ 85.0394 562.7154 null] +/D [1907 0 R /XYZ 85.0394 794.5015 null] >> endobj 1910 0 obj << -/D [1906 0 R /XYZ 85.0394 499.03 null] ->> endobj -658 0 obj << -/D [1906 0 R /XYZ 85.0394 459.6249 null] +/D [1907 0 R /XYZ 85.0394 562.7154 null] >> endobj 1911 0 obj << -/D [1906 0 R /XYZ 85.0394 426.4105 null] +/D [1907 0 R /XYZ 85.0394 499.03 null] +>> endobj +658 0 obj << +/D [1907 0 R /XYZ 85.0394 459.6249 null] >> endobj 1912 0 obj << -/D [1906 0 R /XYZ 85.0394 390.6449 null] +/D [1907 0 R /XYZ 85.0394 426.4105 null] >> endobj 1913 0 obj << -/D [1906 0 R /XYZ 85.0394 324.0377 null] +/D [1907 0 R /XYZ 85.0394 390.6449 null] >> endobj 1914 0 obj << -/D [1906 0 R /XYZ 85.0394 263.3171 null] +/D [1907 0 R /XYZ 85.0394 324.0377 null] >> endobj 1915 0 obj << -/D [1906 0 R /XYZ 85.0394 199.6317 null] +/D [1907 0 R /XYZ 85.0394 263.3171 null] >> endobj -1905 0 obj << +1916 0 obj << +/D [1907 0 R /XYZ 85.0394 199.6317 null] +>> endobj +1906 0 obj << /Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R /F39 873 0 R /F53 1002 0 R /F55 1010 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1918 0 obj << +1919 0 obj << /Length 1850 /Filter /FlateDecode >> @@ -8401,45 +8419,45 @@ xÚíYKsÛ6¾ëWèHÍD0^$Á£b+‰ÓøQ[n:ur EÈfB‘*IÙQ}R$ÍXN¬vzèxÆÄc±Øý°»À®Èúòý€# )<Þð&‚ŒƒýOi¯ä?åü@ÉésŽ™G‘àcBPàºT“ ì… e( ˜[^ÈRa½tÎ$ >|) &<My1]]œ«ùmDhàL>\çï8Ž©@Ä
ÌB-éXãó‘E>¯7"3.Áhkîim«Öj‹2,×v6³MÚ.sÍ'Ë-Ùƒ4|M/’¥œ—2ª6°
lY‚äq!ûÑ©ÄmÁs9šÅ“—g=:öò ƒ§Ã?òÊ,m e|»žÖüXÐ4m° ÆHuŽ¯O“ÀŠ-ã|ì7ËÍÐ…\XÒ¹Åá$L׋K QÏóž47m &W³wg»8NK™§Òžèå¦(åÒžÕa–Y^Æëåv[Ž÷¨åÃ}ØÔÞdpgaü>í@Ì|$|׸þ©
8Ec‰Àw»«µO'[®âDê
ôð'Jým<¶c¨|&q—ÓÓLë@^øŽ…«ñ2Ë’>ÄqÇæ6i¶*â¢BA_xlH!LúÄï½—hO]¸RŸíM:¾ò¾Ð^Sõ 7{p6×ãèsÕº«[_êÖŸuë¾nÍ
n+z]aÖ.çIX=“áÒ5T5ÇEGæ"á¹®%]dù2,ûbp‹¬æøfu(çD]TêÓå×㸋V$_f‘ìCB±®Ü_wÊýcü–/ãÇ»üNö,_ºgù²Ýçoß7ž¾Å^—gÑâFÁ´2ÇŠr“ÈçÛýåžµ/wò‹â.Ø,ßô0…ºG]ÒeúðO0=ª[{Ø{¶\ÆÙªÓU0ÈLÔ£½åµMè
ÏðÔ÷©xQxn°x"<WTðܼƺú'Â2H„]á>',‹îîÙ×ÿ(?f^!’‹ö¡ÿ ëxÏ®ù_ìéžåÛC öŸˆ]Ó—Äáÿãf7u¯}4Ý삺ð‚l¡õæ=š^^ŸÏŽÏN(õ¬2‚nêɧ~ýœT”: aUý„;Å&-ÃofÐfŠÜ‰!{¹Íí³žÙ$”™Ê¯3f3U Ä9.ÍàJæ*L<ÚÈ”#`h+w¢GOÆ@KJ+pµž=ÚrbTЉQQ&sÁS`‚Ö¶À$ŒÂ¨¢sBÙ]\˜¹eøUö‰D|•ÑiôFW>².äb˜}:/‚F#[‚-ª0nPµ:ÜHEos{µÈ–nÆæn¦p7sNü¶ã®óm²u'—¶vêªÎ¶ÂfDªâ sÈÐF>o¤Âm³Ãp ÌýÎûX{Ș趤cÀ…mâeœ„Z{RׂhÇ_åÁóQ¥1"Je…pnÖ¥ÙOT`«0y7V†h½\Ù¦1M˜¯ שj)Ó²"Èìz+þJÎ+Øá•pæ¶-Ï–ÀL‘¬Ê’ö endobj -1917 0 obj << +1918 0 obj << /Type /Page -/Contents 1918 0 R -/Resources 1916 0 R +/Contents 1919 0 R +/Resources 1917 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1883 0 R ->> endobj -1919 0 obj << -/D [1917 0 R /XYZ 56.6929 794.5015 null] +/Parent 1884 0 R >> endobj 1920 0 obj << -/D [1917 0 R /XYZ 56.6929 644.7852 null] +/D [1918 0 R /XYZ 56.6929 794.5015 null] >> endobj 1921 0 obj << -/D [1917 0 R /XYZ 56.6929 574.187 null] +/D [1918 0 R /XYZ 56.6929 644.7852 null] >> endobj 1922 0 obj << -/D [1917 0 R /XYZ 56.6929 503.5888 null] ->> endobj -662 0 obj << -/D [1917 0 R /XYZ 56.6929 459.3803 null] +/D [1918 0 R /XYZ 56.6929 574.187 null] >> endobj 1923 0 obj << -/D [1917 0 R /XYZ 56.6929 424.0565 null] +/D [1918 0 R /XYZ 56.6929 503.5888 null] +>> endobj +662 0 obj << +/D [1918 0 R /XYZ 56.6929 459.3803 null] >> endobj 1924 0 obj << -/D [1917 0 R /XYZ 56.6929 386.1814 null] +/D [1918 0 R /XYZ 56.6929 424.0565 null] >> endobj 1925 0 obj << -/D [1917 0 R /XYZ 56.6929 312.6614 null] +/D [1918 0 R /XYZ 56.6929 386.1814 null] >> endobj 1926 0 obj << -/D [1917 0 R /XYZ 56.6929 165.1287 null] +/D [1918 0 R /XYZ 56.6929 312.6614 null] >> endobj -1916 0 obj << +1927 0 obj << +/D [1918 0 R /XYZ 56.6929 165.1287 null] +>> endobj +1917 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F39 873 0 R /F53 1002 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1929 0 obj << +1930 0 obj << /Length 2702 /Filter /FlateDecode >> @@ -8456,24 +8474,24 @@ D„RÓšE©„jmÛ‡/Ǥ«Ûû§bY®?÷ÌèÔ 8“'¾oh M|äæ…lXV§ë{p§1Ñ 49Gg|R³(4TšÜt?UÖÑíçËŒÏ÷ecR:#¡ýÎð±ˆg–àØ
pÒýREe±ØÞ@o]žAFˆ
ó&^PóaÄpJñ!4?=¥ PfGÊPÖ©¹ ƒ“xP,RqVˆÆö¹ÍfŸƒ5\GÞÕ
€0g&Œ€uüFîln¤KÏØ(ÔoÒ|1Щ¶fŠ¦ Ÿ×¥cF[U˜¼8Øõ(°CwÎU–¤8~úÅ_©¿Ç—3¥FŽ†9bL“ ”Q¼ÙW=~Ï:ÔýÏ’,endstream endobj -1928 0 obj << +1929 0 obj << /Type /Page -/Contents 1929 0 R -/Resources 1927 0 R +/Contents 1930 0 R +/Resources 1928 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1932 0 R ->> endobj -1930 0 obj << -/D [1928 0 R /XYZ 85.0394 794.5015 null] +/Parent 1933 0 R >> endobj 1931 0 obj << -/D [1928 0 R /XYZ 85.0394 751.8354 null] +/D [1929 0 R /XYZ 85.0394 794.5015 null] >> endobj -1927 0 obj << +1932 0 obj << +/D [1929 0 R /XYZ 85.0394 751.8354 null] +>> endobj +1928 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F55 1010 0 R /F41 910 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1935 0 obj << +1936 0 obj << /Length 2310 /Filter /FlateDecode >> @@ -8486,42 +8504,42 @@ xÚYYoÛH~÷¯°û QOŸd÷£c;³$NÖÇì™<Ð$eC‘Zq<¿~«/Š”Z’]èÅV±ººÎ¯H2Ãð#3¡HQ5‹G 3¬t¤uùø`\ !£(¤ïÞ&`éKí„®'¾¨Ò²Ïr{‚lìëæÑ:¨ó•ÊñAåÓ⹇VÔî_‹*,ÝnF
2Ïl=„¨A<"Óz˜´Ór×,$TeK?¹º˜ØK[lŠ2iJ·š63`GW@Ý?ŽÆ–aǧckÌu<¶.[/¡Ê§áñùØòÑpR¹+ Ý4¶”NõÒµö0À!~$¬ œ€16öÑ27ۢ̀K2(=ï*ga®9íª× Wy.㪅ꈀøÁò‚Šƒ‰ñ´^ž) ×þÊ„àSņT#Þ—un&sc\S²TìFXç.!É7E¥=l-Ê,µ]"Ó endobj -1934 0 obj << +1935 0 obj << /Type /Page -/Contents 1935 0 R -/Resources 1933 0 R +/Contents 1936 0 R +/Resources 1934 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1932 0 R ->> endobj -1936 0 obj << -/D [1934 0 R /XYZ 56.6929 794.5015 null] +/Parent 1933 0 R >> endobj 1937 0 obj << -/D [1934 0 R /XYZ 56.6929 381.7644 null] +/D [1935 0 R /XYZ 56.6929 794.5015 null] >> endobj 1938 0 obj << -/D [1934 0 R /XYZ 56.6929 321.391 null] +/D [1935 0 R /XYZ 56.6929 381.7644 null] >> endobj 1939 0 obj << -/D [1934 0 R /XYZ 56.6929 261.0176 null] ->> endobj -666 0 obj << -/D [1934 0 R /XYZ 56.6929 223.9137 null] +/D [1935 0 R /XYZ 56.6929 321.391 null] >> endobj 1940 0 obj << -/D [1934 0 R /XYZ 56.6929 191.71 null] +/D [1935 0 R /XYZ 56.6929 261.0176 null] +>> endobj +666 0 obj << +/D [1935 0 R /XYZ 56.6929 223.9137 null] >> endobj 1941 0 obj << -/D [1934 0 R /XYZ 56.6929 156.955 null] +/D [1935 0 R /XYZ 56.6929 191.71 null] >> endobj 1942 0 obj << -/D [1934 0 R /XYZ 56.6929 93.6598 null] +/D [1935 0 R /XYZ 56.6929 156.955 null] >> endobj -1933 0 obj << +1943 0 obj << +/D [1935 0 R /XYZ 56.6929 93.6598 null] +>> endobj +1934 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F55 1010 0 R /F23 714 0 R /F41 910 0 R /F39 873 0 R /F53 1002 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1945 0 obj << +1946 0 obj << /Length 2748 /Filter /FlateDecode >> @@ -8541,28 +8559,28 @@ P¡ŠÍß(bÃñ‚ˆ[)Ýñöîͧw¿Â_È(ÞC\¶.gû|šÍ›ð9PäJ³úW^Î^£’Õ¿¿Óœ v‚AÙ¥h×¢:î•wÛ‹`ó³]]¼˜äg%k¨Dë¸<5´'ÚG@ÕP@Bͤî‹xŒß(£åa}„‰O0>˜û˜tµ>H?gn&¿¤ÛÊUx`kX¸n nÍwkOtóø©ô_4î=ø¬Üe³Ë™l>Ô.F+¥1½„A¡^.E/Öø¾1Dí 3€öû )Ô–×ñÁé•lëÍÔ&~évƒ´(¿›Ùùø’m+7áR>f‡ƒ°ïÎ.0²Ü+q´÷7“{¦¹_Þúî“”-Ø–|«¢oï¢äš]´úV¸‹Ðhö ²_èn…swlºëÐ~?”ƒ‡ÝÎOº#×Ûb)Ï»c›ê´;6TÖwÝqWì«co¤ÄHu^®@4 W~@ÚäqO°ŸÏ´í»j‚|ý,±–|ñ@u9
Þ/z(¾ãXýrªùZrèuÚÅìH‰Óg*%ÑB›gÚ¢:s¦Êži9PLiª8»d X²WLé˜ÅÝ%Áozû<ô2Lı‡‰VUZÁ±æ³òjÇ=–ü endobj -1944 0 obj << +1945 0 obj << /Type /Page -/Contents 1945 0 R -/Resources 1943 0 R +/Contents 1946 0 R +/Resources 1944 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1932 0 R ->> endobj -1946 0 obj << -/D [1944 0 R /XYZ 85.0394 794.5015 null] +/Parent 1933 0 R >> endobj 1947 0 obj << -/D [1944 0 R /XYZ 85.0394 751.7338 null] +/D [1945 0 R /XYZ 85.0394 794.5015 null] >> endobj 1948 0 obj << -/D [1944 0 R /XYZ 85.0394 641.4745 null] +/D [1945 0 R /XYZ 85.0394 751.7338 null] >> endobj -1943 0 obj << +1949 0 obj << +/D [1945 0 R /XYZ 85.0394 641.4745 null] +>> endobj +1944 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F23 714 0 R /F41 910 0 R /F55 1010 0 R /F53 1002 0 R /F62 1035 0 R >> /XObject << /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1951 0 obj << +1952 0 obj << /Length 2379 /Filter /FlateDecode >> @@ -8582,31 +8600,31 @@ B‚šó•
D'ålP٠Ϫ\=ÇZFû,IõQÁ€"Ã=¾ysr›>.]9âµ Vp4eª{ÿJ/êýÓï;DêWV¡#‘ˆI°ÖTð9í ¿6qqáêù¶¸m÷”í*t3+{}zßSûž2¾Í¹>—Í^<\úÞÉç¯Ø¢ûn†©aûP,ÚG´¢ç)áú 15Œ£P^x½úQ¢¢P¥ƒŸËþ_á
Æ•endstream endobj -1950 0 obj << +1951 0 obj << /Type /Page -/Contents 1951 0 R -/Resources 1949 0 R +/Contents 1952 0 R +/Resources 1950 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1932 0 R ->> endobj -1952 0 obj << -/D [1950 0 R /XYZ 56.6929 794.5015 null] +/Parent 1933 0 R >> endobj 1953 0 obj << -/D [1950 0 R /XYZ 56.6929 285.8256 null] +/D [1951 0 R /XYZ 56.6929 794.5015 null] >> endobj 1954 0 obj << -/D [1950 0 R /XYZ 56.6929 148.5666 null] +/D [1951 0 R /XYZ 56.6929 285.8256 null] >> endobj 1955 0 obj << -/D [1950 0 R /XYZ 56.6929 77.061 null] +/D [1951 0 R /XYZ 56.6929 148.5666 null] >> endobj -1949 0 obj << +1956 0 obj << +/D [1951 0 R /XYZ 56.6929 77.061 null] +>> endobj +1950 0 obj << /Font << /F37 779 0 R /F23 714 0 R /F62 1035 0 R /F41 910 0 R /F21 690 0 R /F55 1010 0 R /F53 1002 0 R /F63 1038 0 R /F39 873 0 R >> -/XObject << /Im3 1148 0 R /Im2 1024 0 R >> +/XObject << /Im3 1147 0 R /Im2 1024 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1958 0 obj << +1959 0 obj << /Length 2318 /Filter /FlateDecode >> @@ -8620,45 +8638,45 @@ sn-&–j~¿Œ}¸tê¾…s´ð¾á0³ñ©ºŸÊWßïÇ[Eu’Ö¡ó)ˆÅãë/híNi µLx~7Hõï4àNå‚ŸDÖ Bl,œÿT lG9`ÜU×Ô¥È@'Ë0W¦G ‚á0ž@F7šD̯™«ë(Q¾ƒ'äÕ•oµqžýŒë‘ý³Q±êë}áGöµ¥kgëýàDR E~ÖË
á1hJ€eB—jtB°ÿɪûŒ än]&øŒ»òâoÿB¶ÿ»<z¬Æd˜#‹ˆ zˆ”cè‚i¨šÀþ?–•endstream endobj -1957 0 obj << +1958 0 obj << /Type /Page -/Contents 1958 0 R -/Resources 1956 0 R +/Contents 1959 0 R +/Resources 1957 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1932 0 R ->> endobj -1959 0 obj << -/D [1957 0 R /XYZ 85.0394 794.5015 null] +/Parent 1933 0 R >> endobj 1960 0 obj << -/D [1957 0 R /XYZ 85.0394 686.1157 null] +/D [1958 0 R /XYZ 85.0394 794.5015 null] >> endobj 1961 0 obj << -/D [1957 0 R /XYZ 85.0394 612.8143 null] ->> endobj -670 0 obj << -/D [1957 0 R /XYZ 85.0394 575.0344 null] +/D [1958 0 R /XYZ 85.0394 686.1157 null] >> endobj 1962 0 obj << -/D [1957 0 R /XYZ 85.0394 542.5339 null] +/D [1958 0 R /XYZ 85.0394 612.8143 null] +>> endobj +670 0 obj << +/D [1958 0 R /XYZ 85.0394 575.0344 null] >> endobj 1963 0 obj << -/D [1957 0 R /XYZ 85.0394 507.482 null] +/D [1958 0 R /XYZ 85.0394 542.5339 null] >> endobj 1964 0 obj << -/D [1957 0 R /XYZ 85.0394 443.2139 null] +/D [1958 0 R /XYZ 85.0394 507.482 null] >> endobj 1965 0 obj << -/D [1957 0 R /XYZ 85.0394 372.8773 null] +/D [1958 0 R /XYZ 85.0394 443.2139 null] >> endobj 1966 0 obj << -/D [1957 0 R /XYZ 85.0394 191.4417 null] +/D [1958 0 R /XYZ 85.0394 372.8773 null] >> endobj -1956 0 obj << +1967 0 obj << +/D [1958 0 R /XYZ 85.0394 191.4417 null] +>> endobj +1957 0 obj << /Font << /F37 779 0 R /F48 925 0 R /F23 714 0 R /F21 690 0 R /F39 873 0 R /F41 910 0 R /F53 1002 0 R /F55 1010 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1969 0 obj << +1970 0 obj << /Length 2135 /Filter /FlateDecode >> @@ -8672,42 +8690,42 @@ xÚYÝoÛ6÷_á·Ù@Ìñ[äcÚ¦[†6íw°îA±d[˜,y–œÀÿýîDR–d%ÙÐ!@D‘§ãÝï>xG³)…?6UšhËí4²’(ÊÔt i%jà ²ªÂ<‡ìBJQíbíÃíÇÛess„ÿ–·ŸîîGÔŸ†N†)%ÿ}ó™”i5pÌS¼Ù9‚×5ô m“Ü‘n[<è†ÌhŸ¬ TßÁÆEe¯ê‚ë,ÏêÓœ16î¹Öâqåýß)¾‘Ûsëò(<Wǃw¡:?¹©&Ãó)öµŸp9·|Ì’†IHg°ÒËOÜöK
xwÉ™ã…N£ìi,Ué—ª<‰¸L%XR¢%¿¿Ês]ŽÍÁß“‹AË"sÞø¥*Ĩ|¬\•Åí¯Ëô“:}‚WSÛOb÷éã9)¦Îr! } endobj -1968 0 obj << +1969 0 obj << /Type /Page -/Contents 1969 0 R -/Resources 1967 0 R +/Contents 1970 0 R +/Resources 1968 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1932 0 R ->> endobj -1970 0 obj << -/D [1968 0 R /XYZ 56.6929 794.5015 null] +/Parent 1933 0 R >> endobj 1971 0 obj << -/D [1968 0 R /XYZ 56.6929 470.8431 null] +/D [1969 0 R /XYZ 56.6929 794.5015 null] >> endobj 1972 0 obj << -/D [1968 0 R /XYZ 56.6929 355.3786 null] +/D [1969 0 R /XYZ 56.6929 470.8431 null] >> endobj 1973 0 obj << -/D [1968 0 R /XYZ 56.6929 281.517 null] ->> endobj -674 0 obj << -/D [1968 0 R /XYZ 56.6929 235.0409 null] +/D [1969 0 R /XYZ 56.6929 355.3786 null] >> endobj 1974 0 obj << -/D [1968 0 R /XYZ 56.6929 198.7213 null] +/D [1969 0 R /XYZ 56.6929 281.517 null] +>> endobj +674 0 obj << +/D [1969 0 R /XYZ 56.6929 235.0409 null] >> endobj 1975 0 obj << -/D [1968 0 R /XYZ 56.6929 159.8503 null] +/D [1969 0 R /XYZ 56.6929 198.7213 null] >> endobj 1976 0 obj << -/D [1968 0 R /XYZ 56.6929 83.0669 null] +/D [1969 0 R /XYZ 56.6929 159.8503 null] >> endobj -1967 0 obj << +1977 0 obj << +/D [1969 0 R /XYZ 56.6929 83.0669 null] +>> endobj +1968 0 obj << /Font << /F37 779 0 R /F53 1002 0 R /F21 690 0 R /F55 1010 0 R /F23 714 0 R /F41 910 0 R /F39 873 0 R /F48 925 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1979 0 obj << +1980 0 obj << /Length 2900 /Filter /FlateDecode >> @@ -8725,27 +8743,27 @@ cÿôÔð ÷«~.°Ou‘†{lV8|½Lþ¸'\ÙÀºîÓ\6Þ#”Ñ»],!pý纬þ©Yá8ÆÇ–aÿ’GÃ;j|òì¾|è¹êr]µÕ–ßic4òÐÄ7®¯âÔm?¦Äñ¡æR ›²MCþ(¨6=ǃUu”¨Ï={÷áÇs>Œé6ሡ%þ€Bëq<‘~ºéWP‹íÅ7ùBT68úE7ÑÉXÐIxìö…=ø¥aé¥Ìþ%“pÏw×\)*
ç›nU6ئ½ž¡ÓÁ3D™.ﯹգôßddÇ·Jdý”ê³LGÊyxž²ú2ʦ‡éûs¤µåá¹- endobj -1978 0 obj << +1979 0 obj << /Type /Page -/Contents 1979 0 R -/Resources 1977 0 R +/Contents 1980 0 R +/Resources 1978 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1983 0 R ->> endobj -1980 0 obj << -/D [1978 0 R /XYZ 85.0394 794.5015 null] +/Parent 1984 0 R >> endobj 1981 0 obj << -/D [1978 0 R /XYZ 85.0394 752.0756 null] +/D [1979 0 R /XYZ 85.0394 794.5015 null] >> endobj 1982 0 obj << -/D [1978 0 R /XYZ 85.0394 252.6303 null] +/D [1979 0 R /XYZ 85.0394 752.0756 null] >> endobj -1977 0 obj << +1983 0 obj << +/D [1979 0 R /XYZ 85.0394 252.6303 null] +>> endobj +1978 0 obj << /Font << /F37 779 0 R /F53 1002 0 R /F21 690 0 R /F41 910 0 R /F23 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1986 0 obj << +1987 0 obj << /Length 1787 /Filter /FlateDecode >> @@ -8759,39 +8777,39 @@ wÕòk }¥à»«¡µ€¨¢ªm ag ϬÚ\ÚHÀúã¦'‘NXD¤â(l¶¨ÖˆÄÐúÅ µ@=ßXÄ™E1—w‹XE$ܽ›×øæÕã6¿ÊCA”à÷ãƒRê endobj -1985 0 obj << +1986 0 obj << /Type /Page -/Contents 1986 0 R -/Resources 1984 0 R +/Contents 1987 0 R +/Resources 1985 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1983 0 R ->> endobj -1987 0 obj << -/D [1985 0 R /XYZ 56.6929 794.5015 null] +/Parent 1984 0 R >> endobj 1988 0 obj << -/D [1985 0 R /XYZ 56.6929 343.1761 null] +/D [1986 0 R /XYZ 56.6929 794.5015 null] >> endobj 1989 0 obj << -/D [1985 0 R /XYZ 56.6929 255.6488 null] +/D [1986 0 R /XYZ 56.6929 343.1761 null] >> endobj 1990 0 obj << -/D [1985 0 R /XYZ 56.6929 192.0319 null] ->> endobj -678 0 obj << -/D [1985 0 R /XYZ 56.6929 152.6743 null] +/D [1986 0 R /XYZ 56.6929 255.6488 null] >> endobj 1991 0 obj << -/D [1985 0 R /XYZ 56.6929 115.923 null] +/D [1986 0 R /XYZ 56.6929 192.0319 null] +>> endobj +678 0 obj << +/D [1986 0 R /XYZ 56.6929 152.6743 null] >> endobj 1992 0 obj << -/D [1985 0 R /XYZ 56.6929 83.7361 null] +/D [1986 0 R /XYZ 56.6929 115.923 null] >> endobj -1984 0 obj << +1993 0 obj << +/D [1986 0 R /XYZ 56.6929 83.7361 null] +>> endobj +1985 0 obj << /Font << /F37 779 0 R /F41 910 0 R /F23 714 0 R /F21 690 0 R /F48 925 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1995 0 obj << +1996 0 obj << /Length 3196 /Filter /FlateDecode >> @@ -8817,30 +8835,30 @@ UŽJxËÏ…p÷U8ÁÖðîN§xr[„UËßÒrROòIyê“òÛѿη þ;~Eµªí³ùx,à»×~ª¢hL]¾í5©ÉQƒð`듉p_ÄÜ P»)4þ÷ÊZÇog¬ þïO4Ÿ¢Jû!’žè •DâPVpÆÅXôô1ç©ìÿÁr‹Ïendstream endobj -1994 0 obj << +1995 0 obj << /Type /Page -/Contents 1995 0 R -/Resources 1993 0 R +/Contents 1996 0 R +/Resources 1994 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1983 0 R ->> endobj -1996 0 obj << -/D [1994 0 R /XYZ 85.0394 794.5015 null] +/Parent 1984 0 R >> endobj 1997 0 obj << -/D [1994 0 R /XYZ 85.0394 748.9271 null] +/D [1995 0 R /XYZ 85.0394 794.5015 null] >> endobj 1998 0 obj << -/D [1994 0 R /XYZ 85.0394 674.5821 null] +/D [1995 0 R /XYZ 85.0394 748.9271 null] >> endobj 1999 0 obj << -/D [1994 0 R /XYZ 85.0394 573.362 null] +/D [1995 0 R /XYZ 85.0394 674.5821 null] >> endobj -1993 0 obj << +2000 0 obj << +/D [1995 0 R /XYZ 85.0394 573.362 null] +>> endobj +1994 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F41 910 0 R /F53 1002 0 R /F23 714 0 R /F55 1010 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2002 0 obj << +2003 0 obj << /Length 961 /Filter /FlateDecode >> @@ -8851,37 +8869,37 @@ xÚ¥VMoÛ8½ûWè(+–ß"NâdS$N6v€mª-;ÂÊ”×’äßw(’Žì2ÈaÀIÃyofÞŒD$IMu’kŽ&"YnG æ±oùËgpBË,ã}¶…9µOµ1¶Š›4ä÷—»»«ô`¼ªÔ ÞDÊË5â8€›bcðQ}µÝp¡Ÿ*‡`ˆ]¨K'2nøtÎæөÙÜÍ>6ýXÁ ƒdì1xÐ';ðÒá%‚¦.ngWî¨ö¤VÛÊTm³ÔøUòT®K§1³ô£yïÆ/Òx©•Ð3>¾~¼58¼{Oë2y^üýðôyAnMWîMéWâümùýwÙ˜¶ÙwÕaûÑ' endobj -2001 0 obj << +2002 0 obj << /Type /Page -/Contents 2002 0 R -/Resources 2000 0 R +/Contents 2003 0 R +/Resources 2001 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1983 0 R ->> endobj -2003 0 obj << -/D [2001 0 R /XYZ 56.6929 794.5015 null] +/Parent 1984 0 R >> endobj 2004 0 obj << -/D [2001 0 R /XYZ 56.6929 687.41 null] +/D [2002 0 R /XYZ 56.6929 794.5015 null] >> endobj 2005 0 obj << -/D [2001 0 R /XYZ 56.6929 561.6045 null] +/D [2002 0 R /XYZ 56.6929 687.41 null] >> endobj 2006 0 obj << -/D [2001 0 R /XYZ 56.6929 501.5525 null] +/D [2002 0 R /XYZ 56.6929 561.6045 null] >> endobj -2000 0 obj << +2007 0 obj << +/D [2002 0 R /XYZ 56.6929 501.5525 null] +>> endobj +2001 0 obj << /Font << /F37 779 0 R /F21 690 0 R /F55 1010 0 R /F23 714 0 R /F41 910 0 R /F48 925 0 R /F39 873 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1174 0 obj +1172 0 obj [682 0 R /Fit] endobj -2007 0 obj << +2008 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal 144/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] >> endobj -1569 0 obj << +1570 0 obj << /Length1 1628 /Length2 8040 /Length3 532 @@ -8891,7 +8909,7 @@ endobj stream xÚíte\Ôí¶6Ò ˆtÃÐÝÝÝÝ¡Ä000Ì ÝÝÝÝ’‚R"‚´t ÒÈ‹>ïÞûüž³?³?½¿w¾Ìÿ^×Z׺î7¶‡Œ5Ü ¬‡¹rðpr‹t´P(ÐWç…CfL9g0ЇÉ]Á¢ -Äü{fXE +Äü{fXE 0Üú÷äè¹aÖÃöOÃoäæìüØã?ûÿxýœÿŒ=ì a.ÌÁAb¡ö™9Y®
Ä£ò/z{xÂœ*Þè—ÖÁ»2#×Dj,ïêÃ8›ÇEµyÍî;Ýoª²n
öA™ºÓÁß‹(üèX>ã.3v±ms™W`gÅúϨ¯"› rnêèš—ß¡RŽwð9£_²Ò¹Ð_8=óe4%v>oFÀk(Ù?`LÙ½¼`êú4ð±ûåÃ&9[~ƒ˜;26cLà«|r)Sƒj…×Íl(ßÛ b¬Å7ÎßÊçÏVð™h9Žù,¢I‚°RÊ• e®äß·RÆ%=²ìÙ
êt›œ(†Ì%³LÇî)®Ž>1Ù¥‘„µ…^Ñ2¼éˆO£Ý %õ‰>•pjÕr{2–ÂwÍ<–g¬™-j—!3cäáakIè,AŒ$ÁLˆÇÆ‹J¯³nöùU»Ïm›Þ‰D3 @@ -8914,35 +8932,35 @@ $OíœàÅ€DÈ t‡Í=žÝbóÆÃwî6ß"£“˵?”JËOP2RÐoQo+†â1)©w†¦ÜèådîI½ÈZ¿VÍ(e÷åû È"[vQÔüFØs(úF$'‘qL ®/¶!õÔ
¤HvkÖ‰Œh¼È‰¬ê؉á¶o?Ùa:Šÿ±qêcŒ°gã!_QÇ~ÏWê¡1üaœ¯UÝGmã§Yñmn%ìRãr9÷¬ß0qˆ5†/‚E…(êÚ“†,W‚˜$Ù½ï¶åçLxËÎÔ|ú奕£w†Z|ÂV€ãž÷,éOd ÞyŠGÝ
ŽÎ¨Ý3lÍ4©¿Î\×T2Zª½Ag—.7Ù#ÏPæï™v¼eŦQLÞ»±Oþ¼Ô\’ ¬ÿĵJÅñ¾(š3Ç].Å*,MÎ>ÛBx(ÃSÃó|D³uû‚Þ¡ï†{:Ò‘Á¨2G9¡Cê{É•<|?ÒK áéá@F)Ø,êw÷ó?È ¸¢Ëa„Çh%Ù±o^Œñ{‹6™Ý@¥-«ä%Å~jÉwXjz1îi´·î¬%uÕ3^¿±g¸`d+ÎK[ŽDe—„]âò†YèÖýÇ?Ï>£³HjË,èkѸÍhÔ8Š”™v_Å
[ªJÖ®²9m=·âú?\‹k>¼à¬‡¤*³Ñ³ž,Y
ê<‹ý¹uÓZ/ZV$S·é#ƒmNOš¨5M@¿§rãÝ0Hõ7¬&7[àçŽAØñêOõƧÈêÚ5±pE6~d»Ž^.x¨T1¬µ¤$£Í7¿ÿ4òÆêüj§‹G1¬èípoóÌ3³QýÐZ:œNÍÆéç,0½‹Š‡Zg‹ðâ£à)‹Q©¯³‹X""œÛÆ0ÏÁ¾äBvFA‚)Y9(ÎYÖý…ì¬S…|¸Ôü¾“qbæÇN.LÔX§…_ï‚¿œ%%½¥åŒìé|°D>W²7}C–Í#—ZR¸$º`bÛGο…a¿9gÝS%\”Á/œîñhC|?s§Ø…šg¯ÎÙÈ)ª¬m}ÐvÖËk†Ÿ.bÉ&O üõí+uqfº`Îa‡„°£â,I§ã¯½/‘˜÷ÇÝ›Á¤'P6ߢH‚Ú?÷›½šÙ¹˜Žà9¦ŠmHr7:pMRYŸ#£ 'æW¥¿ðKCß|-¡mWÝ躖nᲶË0–«ÞÐ3äÛÙ=j’¸Ë-,n–³e±€¢üb½iÙ;‘˜Hâ°l<)žL.ßÐYÖÿ°Ú·)wL=(‚Œ£± L|)=å'ÀÆ-Å@²öò¾µ<ÃNrä³6îµEôʃ3±d¶kÓ»¬ÿ‹%ôµøü·(kD~ô(¬_yñ‡Í;¯åä²fùOî{&*‰äyÒ¯9ÛB±T¨d>è.<Sâ¢éX3p7«Á~ª"럽Ÿ“lË´ÍÔDQÿfŒ°Ì -*s"}Y
;Ò‰¢ú{YÌÝÇí]p¶Òݯ€Ž¶Xo³êÙ} +*s"}Y
;Ò‰¢ú{YÌÝÇí]p¶Òݯ€Ž¶Xo³êÙ} endobj -1570 0 obj << +1571 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 67 /LastChar 85 -/Widths 2008 0 R -/BaseFont /HLCUJV+URWPalladioL-Bold-Slant_167 -/FontDescriptor 1568 0 R +/Widths 2009 0 R +/BaseFont /NQJKQU+URWPalladioL-Bold-Slant_167 +/FontDescriptor 1569 0 R >> endobj -1568 0 obj << +1569 0 obj << /Ascent 708 /CapHeight 672 /Descent -266 -/FontName /HLCUJV+URWPalladioL-Bold-Slant_167 +/FontName /NQJKQU+URWPalladioL-Bold-Slant_167 /ItalicAngle -9 /StemV 123 /XHeight 471 /FontBBox [-152 -301 1000 935] /Flags 4 /CharSet (/C/D/E/H/I/O/R/S/T/U) -/FontFile 1569 0 R +/FontFile 1570 0 R >> endobj -2008 0 obj +2009 0 obj [722 833 611 0 0 833 389 0 0 0 0 0 833 0 0 722 611 667 778 ] endobj -1551 0 obj << +1556 0 obj << /Length1 1630 /Length2 6133 /Length3 532 @@ -8950,57 +8968,63 @@ endobj /Filter /FlateDecode >> stream -xÚíVuTÔí¶VA!¤†n†n”.IéΆ˜f(‘N)én$†FJ Á!¤[:%•$.úÝï|g}÷üuÏùë®;kͬ߻Ÿ½Ÿýìø½ki5´8¥¬á–y8ÉÉÃÅ- -Òy¦§aáèha
…«pJÕŽ H -±@Bá0Y$D¤±ÉB¬@¼¼ -µµC‚XnxXÙÙ9þ²ürYzý‰ÜD" ¶0Ó̓;Äîì!o(þ×ZiÙ@! u
%5‹‚šHƒ¸Þ¡áf鵩@ 0„dw9þq -³rt³þ%àÆnÿ-ÈÙ~ãátƒÝiÀH„•+Ô ºÉª!+ÿ‡N¤òWnôÁmn<áVn¿JúÝÐÜ H(BB<‘¿rYB@ÖP„³£…×Mî2gWèon(Ìö/ Wˆ…«µ#¸¡¹áþÕ¿êýSõÎÎŽ^¿£á¿½þ¡ŠD@m¸ -ÿóü{é!Oˆ`zn%lŸš‘†¬"Ïéé—5úÐÁƒÑâ\\£ý:ß¿Þî—¾(Rf~QÂU;(zÕä5¾í|¹ªÌ¶ÖÛAæÈÜžÙË£ò¡g}ŸO4ÏôNˆ}-lZŒŸöU/Ê{LeÓP[wm©_ó™iÑÅ=àà;>WìýSVz÷|R†g_«”·¯´ÖÞ"®*ØþÊ”°yzÂÜÕ÷±§»ýðîûUJöìW8Œbî˜øL‘þ.Ù”OuJåÊߪݎË;BbubÁï<_^Ë¿Å`i¢KÙÅy¨yc@–‰Ÿ'\;ø$·®Q;S-”âs/,
9D¦Ô#,9ƦïKv²±SÐúê¿»èçö‰%…÷²õ-âÁ]3ëãÝ“±Ñ][™CæºÊlëŠÑLü‹¦ëÀ¢€5‘ؽrô›ìç3üÜ°˜üDÑSjÛðôä)Wï8Ž*öÜŸèž“3@'}~+ÏÝ6‘žˆ•Ø\Žpµ<züuÚ>AbåPóبLbZ÷a3ÒYÍEœVÁ= ¾‹{·^®2<¿}5aq€©ÿ_5¹Ûðòµ÷>›À¥´ê$C}ÀXŠ¹œÕ÷ji—û€G‡/§Œdû-!j¹;Ë6#ÔÜŠ.Oé×ôÎc´¼$z¾I(ñØÇ/Wj®½"¹ßKÒÿ¾ð{Lš¿ÞH¥hÔ»Ã:iÓFRF<g]Û39}—ÞÞF™8|à0‰å -b݇a›yKÜ£%t×TcaÖËF˨?B:äÐ 3ÚZP‚ÌÆŠ}
fñφôˆƒTU‡J鉽žj:»«Ï‹ºôN)/ÂÕ äE½¬^gº‹ ^/«k¯&6Ö7%³"”-ήQËòÍ“ñÆ‘r¾“'# -ñÀèHvo»Vüy½¼Òç³³”ÎjÁÕŸ,_Âh^§–p³/â#Ó„HÊÀç„»ûÄŒ[‡¤Ê»B8Ò¬’%PË ™#¹&}Ô7uo(à–îu•úµÒ95ÀŒ¾?ËêcÕ8—ÄñâθÑ,™ê:f”†.‡Ðà¡ÝõÁ41hÀ›3):«;Ícƒ·ú‘¶Þ,èðY½:Nç5u…QEð‰rŸ–²ÌûŠ!&.ÜYâü×Éú;á$¤`×yme~b©@{•3*¹ -·³®pBk¾j0ĵ¹Žjœßç]ZÙŸB dŠÌÓšU• -ÂIÛ9ä‚·œãƒÂè©õß½n^(Á•Ýh´7C¶¦2„K~V')Ïï±^š}zTÉúÔu?£F-!z_‚¬šÉÉ/U‚og4²Š’.§N™EhôáÍÎËåÔŒL^ѽð¹œfCÛïPI†^ÔLʸðˆ§/çÓö±’¾¿Ÿ\S
³©»ï™Î®0‰Ú·˜O%”çp×ù1ÔA?P(åÞ.¤gÔ> -ó¥ªÕl^Œ¨Ý)e»ò3Pp[´dbõ¬ðVŠÿÒ³Ü4Å+β&VÊBÔ eŒCuOé‚¿#U9fiêCl·\r«ÒzÃÐWü®6êb1~i“EÉ5ÚÒA¦¹§üÑœNƒÇ=<l””íyIæj%‡¨äÄiñ(<ÈO›õ;Zõ}¾TªL’[î^åÛA€Z…êþHKJühØûñœq/fóÄf¢8³?€æ¢%K]TkcÑøKEÄL1‡•·FÆîšÃºåØ KCÂCkÇxG®ï[v“ -‰ÌÙd%JWܽóµÈT¿È$ÿ$H~@²&jM¤Iòüé.‡¿÷ywúÜB½ÐÛŠFög„”p¾áÚÀ7sº‰&RDî(ŠpÅ3¯ƒgƒL«Œ˜–)\°¯b„îeý¡u1ì9ÔaºÔ0•i
l]˜dÞÊNºwÚøw T甼T 31&Óãâå"q
è{•tjIõOÙ#u‰Uð¤û/qA©SˆËÕ[7Š·oÑ4Ʀ^žÔ™Q™¦¤îŠ»Lzò9QT1q†}«caK"ªQv[‘,P.£d¡ù:üœFª±î¤R=éY@A -‡¶úL9’00#†ô}à…Ú¬ëè¾>€à)…fbˆû†7sÓ¿×ÄÅ}ä׊³ÒgÍ¿?FІæIP›˜ké÷2è´à2|Ö§™¥£[¶WBMåtè³<èù:28¢Ä;Xf1S§³EŠ&´×å0Ä0d—5ŤÐ4|ylæ©@Är˜léË@È}±}µ\"òSÐd5ŒÓkùpü3ʇÏÎ -+˜^h€&9I‰òÝ3¥–\—qaâ)&J™NBb0šNí`Ò.'39ë4^€îg(}*v–õ -d ¯òˆ¦:ôw -ýL¡T÷Æ{ši®G3È¥ã"y+â3’§[cͽ<å†Q@òæì+}·÷¼Íñ0þ’Dâ%ßéfL¹7®‡SìDnŸe‹ïãF
cé¯ÿäφ=jýúÑ…fìÁµAÌ^He±œÆÌ€PP‹@Sò˜ÈÈ5D7Âþ˃¯íãìoÎ64ÒŽY›]l_o%а¤ÒÉSŽšŒæ©óAüŸhöUù»ÐyèvíS¬ÐD=ËOÃxýa“²I;ÊÃÖ‰do“LÈÁd<±~ŒÞg®¨ÙÏØÃîpðzÕ±5õ*¨2Ò1·2BÏ`«ùñG8nå^{bh…Þƒ1K÷©éVZ˜gí"2eF˜ˆA4”ÈTøxzrA¤ÚØ?ß]íÝÇKÚ -ö”bÇЃ 9µ³+&ì“[8Y) - ‘x£´J60>y®ê$´7An¦“_ƒúµZ³+i5ºÅ‡Á) ¿{iR`FªFý“Sð™ñå»ÿa%€ðeå÷uì†Ò*ড়ÅÊÎ9
|ÀÑå|,´Hƒèn_ÙË%i·˜³¼Ã'µ+c%ü麖‘Ý@;¶zu@
Ëf#[2aPàØÄë üSÑò“ëùIý1›„túÉb¯Mˆ·gÃÞç+kÚ:ÙîSRc;¦ EKZªâ¤ØjU¡ª†ziRûRž2ã ¾~æ9 ¶hKI<üORdÑ*ãAŸYëêà“ºñp0Ÿéj<°÷8KgQ»$`¹dÌù4à|ÐÈ¥ñ„î±ÃäÂñœð*S -(Z¢`‘®~VpùEaAzy÷UwJs÷Œ?´½‹š|: }ÒH»a‚º¾g)o}³=‹rrµM3v-ï€Ä@Ùì'pÅXßÒ–× -ÕB¾ª\h~8©$‰¼¼·ý˜7!g;É¥ƒ\®cf>}7›ùâžÐÙZسãÁÖ–Ü^-Už&( -ÖËÓ»ÜIFÙØS˜õOV_ºhýÐn-® -X{$¢½‰¼û£@–rlZ™âɞˊ1o(¶¨mèö¡Ðé»÷ÝõäIŒ]Œ_-ô‹¸Þûò'zŸT¶n76Gت–·&úìIĆ‹7ÎÔ‰‰f¾<B‡›&ª½úŒ×ž´)„Æc+¤ œ?µÆ(_¹à™ñ0áNZ¬/ˆ_c24íŒË¢—'{.ö¥dÖî§Çz̓¯ÛKÃ{u`‡:s±¹ Á<º'—0— HMq±LåRnC@x›ôs̈W6ß>uä3¾õˆ;)EO4,Źk&l‰#õŽ¾„˜¬Ù¶³ ½höâiF] ‹œx'´ÅfÊb\ñê{Ý?¬¹¶=ê3¤XTÕW©*®§‰\Ee¶©x‘@†Dz:ƒ!¡X¾ÂK”G½èß>c{BŒÍCŒ±¹0šUÕ¼ƒ¿ªÝ•5xfœéÉU“Nhèòã»Z–$8û훎·òБÞåú¸;ß¾2~%~QÍ÷*|6οÀ.©ó¶H&l]ážçµÐ[èù%¥ÎºÆ¬!ÙrOxÆ!.B˜“zuW,Ôêr‹9å™ÊT°CHÖ‘_e‘‰ÿð:û5r€û3.ñ4v—W”ò]ª[)ïó–äÙÀ—݈H¾ÌûùSŽ¸+¹ºfS4çHõ¿ÞzyàÂ*/ç%Šâ×»Í Ï8ôæãmº'7…\ì°Å÷K)8ÐÁ@£bÅî\ç±ÄÝÊ‚×[g“©»5é«ÅÖ¡’'¯ÔíÌ¥ºégˆ<‚â¢Ï8TŠqùœ_Uå=¢¦#fœÞ*ª6í¶²*æ›\oi›–•`ûlj[ÛW*ˆ»ºœ2Ž(ËtŒp{ˆ¥6Í]š†}„¯>{?'CÆà§5zíEëÝÚÓÞ&vø¾öŠ
÷dYcØL‰8àÇÉu°à•GËÝšÎñtûëV²ˆ’eÓëû&KÅàჃ‘oS*.m•»8ÕîŒWQì3ÊDÌûj OpHY²ï®f>×¼ù‰_ôŸö‘Ƥ‰´»ø|EÀ’=PzêîXDƒ%½+C£ˆ1_ù¶‡=AýYœ:&Aaú;æ¬U¾öÝ*“ÍXJ·=à²ùˆ1¦¬ý<ð»©,|#
O'Cƒµë“M]í¼æf°ºÜS4‡AÇ÷Mj€“Ò·ÐökxõÊáž™ËG‡ÞÕéú,óÔ92‚¬
߸gp0o9)ÁM£«&ChVF=Vv¯ñõÅž¡üÜÈT·Žïvä(Ê´ãé¿7jzä ¾¹Â6]E³ÚŸÉÞeIGOIùç…&˜+ÊZ Sl© -Í`ƒ©c½G¯Lsé:JθÿÍàÿ þOX9B,\‘p'WÀÉ”y·endstream +xÚíVuTÔí¶VA!¤†”ºQº¤»{€!f€J¤SJº !¤‘RBpé–NI%‰‹~÷;ßYß=ÝsþºëÎZ3ë÷îgïg?;~ïFZu-Ik¸%DCrpsr‰€t4õÔ--¬¡pe)¸£µ"ÒÂtñ¥]!H(&c„ˆ€ô Ö ˆˆ‡Ä-,,`Iý\¡¶vHó
û_–_. K¯?‘›HÔbºyp‡8Â 0ä
Åÿ:P!í ¨#$¦n ¨*b–WÕÉC`×›"ÔÝ,¡V e¨†€°€là® Ç? +8Ìú«4ç
—$dB8C¬ 7aO+ˆó/ˆäqu‚"7Ï (dëjCÞô +ý-Ã
…Ùþ¥€ä +±µpµv„ 747Ü¿ºóW ªÞÂÙÙÑëw4ü·×?4@‘ˆ£
'€›ç&§ò&·- +âàæâú¦mµr€ýj?ÿfýwí7ƒú¬(¥òLS‡í_ß®¿}Õo¶ +—™_T†pÖŠ\5yo;_®*±®õv9>nO†ìåQùг¼Ï'šgz'ȶ6-ÆOûªå½?¦¼€i(À¥»¶Ô¯¡iZtq8øŽ×{ÿ”ÅŸÞ=ߟ”áÄ™À×*åí«-„µ·ˆ« +¶¿2%lžž<îêûØÓÝ~x÷ý*%[ö+FQwL|¦H—lʧ†:¥²åoUoÇå!±:±àáWòž/¯åÞb°Î4Ћ¥lb<Ô‰<1 ËÄOƒ®¼Ûòרfß©J±¹–†ìÂSj–ìcÓ÷%:YÙ(h}õß]ôsùƒD“Â{Yûñà.™u +ñîÉØ變Ì!s]%Öu…h&¾EÓu`ÑÀšHô^9zˆUæó~nØ@L~¢È©µíŒxzò”³÷‡ÇGe{îOtÏÉ ‰ƒ>¿•ûÎî«pOÄJl.{¸j =þ:mŸ +)£žŒ³,†‡í™œ¾ŒËoo£L>p˜ÖDzAªÓ×Ñ#âÞF]uãŽ$ULeçÁKEúÅÚš‘ÀíöPT›ù[×Mîª +˜]M/„ª¡Q°˜ +‰ÆpJðÉ@{žÞ~~ÜiЋ“”¼—.Dteà¿ûÞ-k¤þ¬µî*a¶o¬lêÞ÷}L˔Ϩä|¤}¦GU,°~Ù(6®¨Ñçº3š!íÿètoSè”ÁˆD> +v×Vâ#–´W>£’
pHOê@ÙPZ¬v–BT rדôɪ®éœ9Jl¢–x–4!©a9êì¸w_>µúÉÑrd7S½êê@¯RUÜfÙúŽÎòb +hÿTÍÎV^‘3/®ïN~®þÓTëxìKÜÎÈë:ç
Ü‹·[^œÂKËé:ñå#”½{‰•Á²]ĹóZ^"8Ð%âô#!gìLrªqÀãiµª‘w×øÒ)j#ÉЇx>ÎPoD;j¦K77ZþvÖNhÍWu†¸6×Qõ³ãû<K+ûSh~„t‘¢bZ]£µªòB^(i;‡\àöƒsc|P=•‚þ»×ÃÍ%¸2öfÈÖT‚p‰Ïj$å9ƒb=ÖK³Ïî‚*Yž¹îgÔ¨&Dï‹“U39ù¥ŠóîïŒFVQ²ÃeµÂ)³>¼Ùy¹|˜’‘Ƀ º>—Ólèqû*ÉЋšI Þ + óó83S€“ÔdäÒ@¡©Ã¦Þ‡N·Š<ìMm(qG.:µcºq)øûëä÷h%µaŽ^ hè$
&BÞ™*¬í
²stÕ|V‰È;K!¯¢Á7ÙÐÀdÎ!3aFnÕ;´zh:ÛKÎkoÐJŠ²H´øYíb"S“{ÂÃ=1áwžÇÆ/ïu’ÔÃak<%)í¯3.ò<Ž«j‰d|†³û
ìÖ +d4}d䣮6ó胦˜ Ö¢(Bŵê}®¿€ ´í¤páÈœM¢t¥ÁÝ;_‹LÅñøŠLòO‚ä$*`"–ÑÑD$ÏŸí²û{Ÿw§Ï-Ô¾HadÓ$¤„óžÕ¾™ÓM4‘$rGQ„+œyh2¬2bZ¦pÀ¾fˆº—õ‹o„ÖÅ°äP‡éRÔ§Õ±uay+;=jÞiãßÅQSr’¶ÎĘLORˆ”Ç5 ïUÒ©&Õ?c‹Ô%VÆ“ê¿Ä¥N!.Wo}Ü(Þ¾EÓC˜zyRgjDIdš’º+æ2éÉëDQÅÄqöŽ™5‰¨FÉmE¢@©Œ’- +‡æëðsÉƺ“Jµ$Í€‚*vylµ™s$a`FéúÀÕ
(X×Ñ |
| +=<G¥]Ü<V,~Uaÿs2˜Ñ³ßÇi†¿ÎŽ¦mõçV|:Ës7v1YsX’áT{ÑC®oßÑꌤӪdŒÅ[8‚l˜vÒ²ZE¶*bWÐèg +¥ºŸ0ÞÓLs=šA.ÉSŸ‘<Ýkîå);”ˆú“7g_á軽çiŽ‡ñ•üè$+ùN7crȵq=œb'Rpû|@0k\l7jKý'x6ìQë×.4c®-böB*‹eÕgƒZø›’Ç„·@®!J¸ö_|m`{sÞ°¡žvÌÒìbûz+†9•FPŽrÔ|d4HâüT£¯Êß…ÎC·kŸb…&J3?
ãõ‡MÊ&í(g['’½M2yR ;ß‘ñÄú1N\xŸ¹*˜¿f?c»O`üÁÁë!TÇÖÔ« ÊHÇÜÊ
<ƒæ'á¸A”{í}ˆ¡zÆ, Üg¦kXiažµ‹È”!"‘P"SYà“éÉy’jcÿ|wÕwt/¥iˆB¸y½¼°¤6_|kÞÄþÉX×K—t‡÷ñ«1½›Ž`†L„±ÕÆ=w©5Vjæq7'a=È€]f
5ˆôeûºØ†õ³eÍ'!¾xdíZô‘¼9¿â(°Uâ;ò<„aÉ¿g§IQ•jy{oqäû!nÉÍ_6¹MªòÜF[µ. +`¹¿œ€JfL„/&kË¢E§ÝŠÞš'§Û$ý°ì–(qqZÓgZÉÖûáfõ/xa”U9ïQÜñox ö6Ȭß6Ã*¼Å[Æc]gŠQn=0oÏò›T_‡y5,©ïQæâJF•UIL™cÙìÂg4¾ÙɃ«¢q¶†‰ªž¦o~ÓÏ{Ê««:Ç¢¢´PÇ>¼[QNç
mha¸˜¨¸;Œ3ܼnq%‡ÓÅÅ;7£Ñ¸ú†Öëí +Ù{¼&¼+¢Bo`Ïs%2º6\ŒÐC8,kn!+86¹ÕV°g;n„É©]1A`ï|œÜÂ)ÈJX¾z/ òa_ÈÊÆC5âg!Äd*¿‡‰9_ Üép;Å—ƒD\`Úª=Ô¶wîIЧG¦'»¢v2¤[íø#MûŸD…÷N‘cœvH¾xèÞó@!Ç]&óîÀpÁ:·€“K{E#íÅ‘ïðô…[:ÎçòX÷?f…FyCÎnà|ª1ü€ +Oéž8L.Ï 2PnÚëâ*6»RMˆ{j¼YGÓµØå<Ÿ¨_Ó?ÜêžSN
G rQD¿-‹Èõ~vÃÀ²öȉ¬Ü8ý1ÁüÓn¥"íƒÇ¸Œ/ß%Ü7NKˆ”:½>GÑ0 ûQµMo]”ôWóé +Œ¼åÇ°üg<ž¢BÉžmaNYî)ËLêò³}!ÞŸˆ³–xõê?þ"r¯èYÒrÈ&*aÜÎí–Ü Ð¢D–*£|µð`šPÅ¥Iñ¢?¤ê
)7I”ZiÏï¤`W*¶mªª}_®S›(…\9b±ŒÏ‹µWOT›ºˆ$6 »”£Ý»ˆ%ZêÆ +ˆ`ž70'Š%â‹ ß”°ž®ÒìÙw¯]ÎÉ¿šÀ§ÎˆÈº¼Û¥,û‚ êïÇm…)‘·HW»
+¸ü"¿ µ¼ûª;¥Ö¹À{ÆŒÚÞEÍ>:i¤Ý0A]_„3—·¾ÙžE9¹Ú¦»–w@b …¬ö¸b ,oiËkk!_•/4>œT’D^ÞÛ~“„³äRÈA.×=~|ún6óÅ=Á³µ0ÍãÁÖ–\^-Už&( +–ËÓ»\IFÙØS˜õOW_ºhýÐj-® +X{$¬½‰¼û£@†rlZ‰âéžËŠ1O($¶ˆmèö¡àé»÷ÝõäIŒ]Œ_-ô‹8ßûò%zŸT¶n76Gت”·&øì‰Ç†‹5ÎÔ‰Šd¾<B‡›&ª½úøמ¶É‡Æc˧ œ?µÆ(_¹à™q3áNZ¬/ˆ]c24íŒË —'{.ö%¥×î§Çz̓¯ÛKÃ{u`‡:s±¹ Á<º'—0— HMq±tåRnC@x«Ôs̈W6ß>uä3¾õˆ;)EO4,Ÿj&l‰#õŽ¾„˜¬Ù¶³ +¾höânF] Ÿx'´ÅfÊ`\ñè{Ý?¬¹¶=ê3‹ XTÑW©(¬§ _Ee¶){‘@ù‡„{:ƒ!¡X¾BK”G½èßj²¾F!Ææ!ÆØœÍ*ªÞAO^ÕîÊ…¼ +3Îôä¬I'4tùÀþÝ-CœýöMÇ[9èHïr}Üo_¿¿¨æ}>ç_`—Ôy[8¶.χãZð-ôü’Òg]}ÖŽŽl¹'4ã!DI½º+ju¹õ8å™òT°CHÖ‘_e‘‰ÿð:û5r€ë3.ñ4v—W”Ò]ª[)ïó–äXÁ—â݈HÞ÷ó§qWru?̦hÌ‘ê¼7ôòÀ…U^ÎK8%į
v›AŸ7°ë1ÌÇÛtOn4 +ºØËc‹í—R°£36‚FÅ +ݹÎ%:¢‰»•¯·0Î&SwªRV‹C%#ìN^©Û™KuÓšˆ<~f‚â¢Ï8”‹qyœ_Uæ=¢¦#fœÞ*¨4í¶²(‚柘\oi›–•`ûljYÛWʈ¹ºœ2Ž(IwŒpyˆ¥6Í]š†}„¯j¾Ÿ“&cðÓ½ö¢õníio=|_{ÅŠ{²¬>l¦Hðãä:XàÊ£ånMçxºýu+ÙVDɲéõýV“¥bððÁÁÈ·©e—¶Ê]œjwÆ«(öe"æ}Õ„§8$‰, +ùHaÒDÚ]|¾"`N„¨L=s÷,¢Á’Ú•¦QÀ˜¯|[Ö ¦§†IP˜þîqÖ*oûƒÆÆnåÉf,ÅÛp™|Ä€(SÖ~ž²GøÝTfÞˆ‘†g“¡Á‡ÚõÉ&®v^ó3
X]î)˜C ãû&5ÀI©[hû5¼z¥pOŠÌå£Cïêt}æyjöi!–†o\38˜·œá¦ÑU“!4+£+»×øúÖ¢ÏÇP~nd*[Çw;r¤Ûqôß5=ò–WÛÜFa›®¢ÙíÏdî2§Î#ȧ$†üsƒBLe-)ÖTùf°ÁÔ1‰ÇÞ£W¦¹t%g\ÿæðÿÿ'¬!®H¸“…«à¿ endobj -1552 0 obj << +1557 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 66 /LastChar 78 -/Widths 2009 0 R -/BaseFont /SVANQU+URWPalladioL-BoldItal -/FontDescriptor 1550 0 R +/Widths 2010 0 R +/BaseFont /IBMKRU+URWPalladioL-BoldItal +/FontDescriptor 1555 0 R >> endobj -1550 0 obj << +1555 0 obj << /Ascent 728 /CapHeight 669 /Descent -256 -/FontName /SVANQU+URWPalladioL-BoldItal +/FontName /IBMKRU+URWPalladioL-BoldItal /ItalicAngle -9.9 /StemV 114 /XHeight 469 /FontBBox [-170 -300 1073 935] /Flags 4 /CharSet (/B/D/I/N) -/FontFile 1551 0 R +/FontFile 1556 0 R >> endobj -2009 0 obj +2010 0 obj [667 0 778 0 0 0 0 389 0 0 0 0 778 ] endobj -1342 0 obj << +1347 0 obj << /Length1 771 /Length2 1151 /Length3 532 @@ -9008,40 +9032,45 @@ endobj /Filter /FlateDecode >> stream -xÚíRiTSבª¡¬2©¤j=,Œy5„„0£soÈ-ɽôrID¨¤*Ë"6ºd¥Âª"P”Zb^'Ò*Â#,ŸEªVEÀ©¬««ôgûëwΟ³¿ý½¿óMs‹1D¶ÆP‚Áar„ P*•pØ€<³Ù-‡å‚¡ArŽ@à´jÀ]Ø|!o…ǧÐ@ –®Ç‘T<é“$>i`QÈQ •*XCÖPÈÕ@†)˜Ð3Hk'od€µpŒg“Âá -.`pyd+öJoÀç±sÿDThqF‰©ñ!
z+ÒSÖÁ -Šù¦ðÙòñÞSÛjóÄÕ]Gm釷tœÛzÒèÃîóqº†7ýð«ãVÇ‘c¥#á_± %¯ŸzJ”cÊ–±¶ö:šì]è•ûd³(†“g\*oo{Os`û]óbKz“çƒÝŸÞÉ<g[¿ú‡_E)šY{óÆËÇyi;ûÍv_BîC¥”¤òÓ«÷À1ÿ½S|eâ~V™k.ÍOÜ÷Ôù•™Úv»'í–½Q`(—Ú\7ú¾˜Ã¦ë”Îþ´Åæ¸2A˜L8{¡×µ˜ -#°zß×Íç×Ò.ýeö`7]0èf|·GR[+‰]p´ÒIQ»@íRCµ†ÚÖµjüÐ…–†È§´†.®o '½immÊøKÚ¯KvÌ|’ôüyß³×jëE¶›•ëñ±žÞûý3=<‡élªíÕÏLnñrÕw ‘hŸÝ*C»æßþ9-cR'¸žïrãÈgîf.åžp\³·â_Òuž_7›v'ŠuV‚ø‹è‡U¾ØjØÏMLèK9uÓóR]ãùê çºÂ™I¦æààê%ͳ±ÞÁ€ùn~Î}æ:ˆ-Q@µÓ|¡GW|_u6lj71¾è˜Ðë@ÏŸ¡J£MM#‡½åÙm^¶“y?jy¶÷/6çÂëRô]Þu'LßÏ[¶ŠÊaDîM;V^»M£$˜³ç¨ á!Ǧ"çìQówÊr¼Ô{„o|ºœÞN[¹îáPñ¼*…‰ÇûŸimCqÔr|<;“{æ£õ<ŸÄÔW=~‡×¬ÉÞµñÁ£›+m_OÚ
ô -¨éâOKó^oí
ÑÚ9Š›;ÌèÝ£ÆÛß÷#‚ÁÍg:jÝ}ã¾Zê×J?ÿŸ±U‘®£2*›Ž÷,²˜ A-Uš:äb¹ Oõ0»š¤ÎßJž¸¢¦–tö`‚vèå‰êÒVž¥wÕI/7bõX••-•œR/·šq{æØãRWËS|Ó«¡üÆŠÿʈu£•¾wº'´ùΗGŠ::½Bª”¾NíI™¯ÌÒëºæe5w—-p¨Ð2<¶œþ(ûsî§M›¬æák$Ð7ÖªŽmל¯„ÆØk8›c:î³#q6ïæ…Q©Ÿ †¥õcº}õ¡e–þ#;.fE¿_hºããZ&.}eS?Ôa]žxˆ+tjR45v_¨*±ÿ0Fˆ—E(Úo%o–Ö7ße·sP•SÒ=·°eÖ›~ty´,SVùå:¿sü‚̘³Á¼~ÿ9ߺ/.VPrbqÍÔ»âÞÐœgþß½½c4ºäqìcQás‹ªï´wE‰dør—èfÛnZ]·º¹¦¬p·tnÓúwBu\^uðÝÕQÒÁû¤}œºŒxñ*áär—¯õ)Åœ ÃÃÖÕYz¸²_Ó×äÔîÏÌÏ•t_ß9¢Jnì¼Vžÿ-k¤N´Wï›Ã‰ÎgùµÏÂlfÝûàJü§ß¤ÔðÇ΋[“®ö~>¹ƒÿœĢ'3äĪÞ<ó†'Y‡ -ª©u쿹(ÿ/ð?Q@¡†å8iäxå7zŒ™endstream +xÚíRiTSבª¡¬2©¤j=,Œy5„„H b,F$æÞ[’{éå’q ’ª,‹Øè’QT” +«Š@Pj‰UxœH«X>‹TŠ€S/XWWéÏö×[ïœ?gû;{ç;›æ!gˆ l,ÁP‚Áar„ X&“rØ€<³Ù-‡‚¡! +Ž@àVê4€»°ùBÞ2!O¡`,Í€#)jxÓ'H| ÒÂ8¢T @¦ Ô°–¬¡Th€S"0a`‘FÖNÜHkátÏ€!&…â$À8A)¬ MRT…þÒ¥½MeÀx:) +xMʤR$„¡€`…µ#»Á¤–BÖÔâF³Z¡(?éÔ_ò +-¢1üÎÀ´i:ƃ`J߈“Á¢ÓNÍJ …QŠÐ
œåLöò78’.Aô0J5P)4éð$£ÐT%¤“:XQA±"©Äû÷¯LF(”ˆ4¤Á€ý{2æü“&áˆÄ³™l6‡$’ûí)qJ31ªÄ M\žPà¸Â@!‡ˆŒxÀÈ +Áz +!=…a=¬¤Xo`J¿-ï=µ:G\ÙqÔžž>ß|xKÛ¹'Í~Ì¡?—kxÑð¿:ouþ9æT<þRñz©§DY£œµµÛÙâèF/ß'Ÿñ@9”4íRikË{ÚÛïZ¤5x?øÑóéŒsöµ«îqøÔá‚éÕ7o¼|œ“º±½×êð%ä9XLI,=½jýß;…WÆï‡b•˜µêÒÜ„}O]_Y©-·»Ro9š¦R™Ýu³ÿ‹Ylº^Õ×NáìO]h-¬”gÎ÷¹]f6ïû{˜cšÃe¿Ììï¤ú=ÌïvIó²‹Ãb¤Q#óŽ–»(«çiüC«¨¶p]˺fm +®çºÝ8ò™§•K¹'Óî-û—l÷×–Ý b½ î"úa_Åß/6›ös“$Áñ=Ég"oz_ª©?_âZ“?=ÑÒ(‘T.jœ‰u÷Íõpï7ÛI”0 Ô;ºô…÷Õg³\xãcŽ }t½ðü¡8ÊÒ0|ØgAŽýàæy©;™÷#—}±;^“lèð9aù~Î’½PdcÍÞÔcÕáÕÛ´†G‚Y{Ž +êrìʲÎ>5~§*ÅAWøƧKé´õ—kN…Ï+’™x\à™æGŽ3¸g>ZÏóKHyÕpxíÁ*ã®Ý\¾`ûzŠÐ¡¯»_@MZœózËHw¨ÎÁYÜØoEï5ßþ¾ôo>{ÐYçéûÕâ€fjíùÿŒ®XÃà:«"lMœwmß8
jªÐÖ¸Ñ ·KAŠ/«»Eæúô‰;jiJ3m“´C/OTG³rºWœôñ VVQùbé)ÍR›i·§>.vxŠo:p5Œ__¶ +¼U±n¤|ÜÿNç¸.×õòpAûO§—ÉT²×ñò=ÉsU™}ÇœÌÆÎ’yNeú`†×–Ó?ç~qÊÔ°Éf¾Z}c«nÛvÍõJX´£–³9F ç>;Ûžg÷nvÁJ*õÔ´¸vT¿¯6¬d ÷ÈŽ‹™Qïç[îxE»—ˆ‹_ÙÆE׶ٖ&â +]”
u¦Ý*Š?ŒÖã%‘yÊÖ[I›WÉjëïrØÎ9¨Î*êœß4cþŽM?º=Z’!/ÿr]À9~^FôY ¯7pÖ·žÕ””}b°P\u 宸;,ëYàwïAï؇Œ,zsÆ\ÿ|@ÝsÚ·¬H:t¹Ct³e7¦SÓXU’¿[6»Úeý;¡N‡Ú.¯:ùïj+jã}Ò:F]B¼xr©Û׆äBNH—éahóªL=ÜŒ…8®îipi
dææŠJ‚:¯ïV'Õ·_+Íý ’×SÇ[+÷ÍâDå²Zgàv3î}p%îÓo’«øý£çÅ͉W»?Y³ƒÿšȢ'2ÄŠ.Þë†'™‡ò*©5}쿹(ÿ/ð?Q@©8ix*å7`ÕŒendstream endobj -1343 0 obj << +1348 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2010 0 R +/Encoding 2011 0 R /FirstChar 60 /LastChar 62 -/Widths 2011 0 R -/BaseFont /QIUGIJ+CMMI10 -/FontDescriptor 1341 0 R +/Widths 2012 0 R +/BaseFont /UBXAIF+CMMI10 +/FontDescriptor 1346 0 R >> endobj -1341 0 obj << +1346 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /QIUGIJ+CMMI10 +/FontName /UBXAIF+CMMI10 /ItalicAngle -14.04 /StemV 72 /XHeight 431 /FontBBox [-32 -250 1048 750] /Flags 4 /CharSet (/less/greater) -/FontFile 1342 0 R +/FontFile 1347 0 R >> endobj -2011 0 obj +2012 0 obj [778 0 778 ] endobj -2010 0 obj << +2011 0 obj << /Type /Encoding /Differences [ 0 /.notdef 60/less 61/.notdef 62/greater 63/.notdef] >> endobj @@ -9049,66 +9078,71 @@ endobj /Length1 1608 /Length2 7939 /Length3 532 -/Length 8790 -/Filter /FlateDecode ->> -stream -xÚívgPTݶ-HPPÉIhrM‘œirNlèZº›,Q@¢ 9G%#A2HÎ9ƒäŒd âC¿{ιõ½óëÞóëÕÛU»j¯9çsÌ9æZµY´tyd K¨"ÂÍäåЀÙ[:£tÁj<²8pk&`a‘CBÁhÂAŒ†>B! - ³‚: -uû
€¡ - sDn³jÉ+þÅmFÿ΂ݺëÛHÂÊùwI|·0·^4æ€ ¡nèß¹,¡ -a%ð21% ]F‘Ñ5 ÿ¼ˆÕè˜÷Iï}¶ïGD³Obð²hÑ‹ëÒ@ÞÊ¡g7uî“;Ž?×U87zZÈálÍñЃ,Z/&ŽÖìG¬
"\þ|æy„I»†áž‡jKØ&Oø
6V´uÌs¯ï>jDâ~çðerÉö%e>w$ò¶J¨ˆ$k|X‰A\–³³Ëóõû9[GowWgó1Në:
Wz$>‹˜6!k˜¯S:”‰~‘g„e.0¦ãclKP«>»àÂÌ1yÕ’ ÀdÿS¡Õ¬çn9´éçï©|e>·'ëC‹›f§—ЛÙq€úYšµ«„8ë$fÚõSëÁ·RÞoÛ@*¾«Ê¹AÔguG…*|«eB‰;}ƒv©¢]ùßÖÒï6”‡yÛ}sx/Gj¢T«$Jñ£•H
âQ–®‹B~RlEÛ1w.ì*Çbr|¬½}$nÖ‡·Gs]> Ã?V1òx£+w¿³\õ9’e‡Ð†ŠØ¥ÍäÊv””7œœ¸äNÑ÷«/ùŠö.‹ú…&Ð)âá0äPùÝÚ…k¥èé¹éÛR§ö -^8³÷&sݱ|&éŸî#6cÕ¯‡‹úœ‚œEë=öÚÊÔïƒ.Œ}(pÚéc8hXÔêëeM±¸ÄÈpefI|š -8xÏŽo‚¹
Lœ¸ -R!ß1Âr<;Þâ$ûg2³£§Ä¯Cǥs‹©Ï¹å‹E#‡„2‰ó9[ª«eÖb äBñÇ›;qäë4‹¦y,'XÈ.ó¹^Ûû¾çm}l3S@+'éY“W[ZTç¤ay þR#ÁWeôùì¯w<Ààø!ËêHô‘ªÝ°a2Y'ŸxVc[ЃÖ̺«P‘|m÷L¨3X´•¢|FSp õ6!wˆ¥qiÍÖ)/)y4ž^ÉdÏ—“¦'»À+Oð+Wë³Ã/HŽõ°8³:̨%¾0€°nô™¦RºNSX)šÄ©wo¸Vá"n®¡U®uë.ýe‡°ƒ5†âÁ„v0äÓ=̲е”ž²ÔÂtwï‡tKy…‰ ö€À›Á²Ãí/hÆnfÔÛYÏß35|\Ã)͹b€½^s$QÛ<.'DÑ -(^‹òp߬h7š” ~Ý¢ñí‚…Ë.^,°‰ðzÈî§D€×û3ÊZú’|JRA.KÞ&[å/0õî¼2³–ÛOy«óCúÒB«e€öžt‹:¹ïäCA2µÅËV‘ÀP½'Ûz”êÅŒ~,ÁÑ’ØAkQè -Çö7=s`[šzþáÞ•MåME÷¿€uG–h‰+÷ÜKI•9º¶Z¶ý3h#`+]¥J¢æ·šõ¬¥¸¦4G‹Æä5ÍɦŸñ
¨/„~
2…°ëIš%ƒR*µÈ¹ï¥‚CSž[çm•&ê,œ^ˆ®ül™ò‰0¼3F£!âù2°gáȺÝYzñ‚Ä^˜X@°æ¨Í›#díQ¿¸ ˜ßÈ?'ty…Š,ÿˆbx_¸Âæ••ÌDC«½¬}F0j|{¯Õ\þ˜ßsžù¬—}8$QŒáinúAµ$o<½öR•eµ#"Uòe¥rÞ‰KÿñÃ=Û`GS"“H®bʘ#6W?³æ—å‰ÖÎ+ëíø ·¯ô–-ÝI{ˆQeY:BøÂb¢÷‘>:_/!€ÐéË@íáÞÑȬýu¢‡3èµ+òLn¯óqŠq`Uúmò'ÄaeG- -óŠW¯C鶰€®ô -„©ÊìiÝÇ.h™³
6'¢È6 -VÍŠ2Û71sz8o+VPÚ^M£õ‚¨‰J®ÆÕe/ýéœGÎ>Î -òÎqE„¹¯øç*+nû…Æ—²;OeŸöY:«*š“ïgœò'\Ý7"µkûl‡ÉqèËÑÌ'ð9‘Tgeix¿qVV^ÐÅnOiêlÄ&Àh1ÿ¥n† Šo-R’È!î±~x“ýè‘·ÞøyoÏõÏ4íÙ{¦Å\4X²‰¤÷•Ï´±ÝÈ/åµ½¸N%{’;4u)Ç!‹=íè¡ç"Â3¬¶Ðœš®`¬õ<xö¡Øà - 1±#-@ëÓóÄ<ì¾âæ©)[‰Ø“9QuC—̨é-ûFæÉ€?›ëþYû|96£àj’òÖåUNºnî…XÓ°‰Ä·ÏGÑÅk'uÁêFd×É>0¼f»åæ6ç-#vƒl|¯göÕšŽùí:qÄÔyN¿3-y„¨Å–UÇâ${Læ6¬ÆÚRøÉ™¼ó¥?"áZ¾þþË\øQ>È” §{õîû7l] -™mÜtW?e‡ÌŠØÇRXÝŸ¶«
qÐNøb%2t)( æß-Ö§9¢A¸‰Éš2žŠŸ±;Njf:¯ƒ9NÃïÊœT)š…ùïš=l“'v!V‚»ú7?êÑš\“Äk=ò†º¦ù^š-2~ë‰Uïs‘.»o¨ËªüaMfsÍ%W2b+¯ø¾ -(Ì°?ø6|Kú‘œ™µÁ86<6zlDÌ)®VésF¢¹¦GfôZ¸èøJü
P!HlÆ<¼H›8ºîeg©õ/¶D-¾ú‰¤÷ ã›UêYœqáÕ±ÇøË -*Ïp›Â¤AwÓ'v•ù7Vš4¶¨ž+jÙÚN9dB<o¬L©oÝÌ#%páÔn³òäAH41ס
tö. Zm½0ë¼r˜$‰®XrJJ&¼è
¢—Ë™¯`¾eM¹»3µ¤¯û_ê÷ðö}d½)(A=À_D‰ÔôÛòbN¿Ø}® ÆÿÄ5,¢Óc9A7!ô{•K*J^ŸÀ~™j'÷%UYÜ{ñ•Ý‡å]ä"Lžïxiå2¬Ž/ïb…U¸ƒjå×)4§"ò§ªÓ -?Uôü¬Ë÷ -žä²5Äõv!.[7$›\ÉÌù ö)%Ü-DÇ9øÓ\¯äͯø7F Oâ×ÏžÅÚÅ8i“£òÅf&\†
--â×6™…ÈXÓØø,ï¾ÆÇ„Ék}YÆð”êA±<‘‹?qâoYêLÁoȯü¸"‚˜‰œñµŠýVw$€ÇÞ5-M¶Ãú&š{ŸQ}2Ñ»5ãùáö¶xĽuéBÿ;¤»¥ªïÕ\rþhüæx¿Í?‚^iºÇ&‹ ÕCžËQµb\¸THüe%¤¼®QÕE²üO¥}¿:y´ÀJ ÛAHù åP¤-´á€[kNÔ/ˆ<Í©ÁEÁ‹zHÃ('¿8/ÖÈ><ï·NZN,±$íŽÝ\ë|.ʳ4 -Úu&IFlµPÈ‹˜<>ê¼çO}ö•>ݧ·ðgžF±;YuQTˆ §ÿæ‡ ¬ßôtD¤ûfP˜{s“cÞ·+J .>xi¾’²È¦{¹3Åš®Þ~—ÛãŒd@ãa‚äÄ·Ž„kï887Kp¥ôRXŠCãóÑ°áTîEQæü^w~@³ßG±¸½Kë3rÎN¡ÀK’jùÚ -}~ÏLcÄçt>í ÔN$c÷¬¤úœ ú=nÆ©ngþõžåÆIE^ÕÖŠ -!dÌFæö/¨˜õpŽI^ø©Ý©²‰µ([|«Fv/f»H/>_!üËê¹ocG¥%ÅÉs5“•ŽnÇ5¾Z‚ÏÝŸ¤±ðJ©ýšžÇÝ\UËúö¡
î[Ÿ2Êíß2û²Qx„úûs‘½¯Ø«PU XäxŠnO -IÇäœ÷îÍóÍè v ó4ýð
CihTðÞ²° ÇÒf%’2Ž -Oyâ|g܇;Òðh¬Ù#1|éôë6Ög²›œ·UëáÇ rk_‹öw€º«¹j!:/œ*¼È_Ô¦¶S+³(#>ûpKÕs%ìÛø“hj£ê·ßN -\O–ˆuõ–.½½h8¤Ëµ[%-n&í—o{Ø,OJ‹ä k ƒ$4Œsz!¼¢‡bÃ7Ú‡vçˆemÝÊ5Hcý™’W¤uÊTãO³‰³7 †³Ê;B¥È†“ŸÌõáõý"¡dËUŒtúÀóñ[í¹0!Ã<Ú—(U½›È>ä9íÁ;˜Ö€7¤ÊÞ:À¤Õ²y£7ÀÔÁT}I”C¶–‘Qîì¹È\·ÞWõ3›Ã½ZÆ™&ÝhÄlÊÞK\o`~~çt!•†ó(à'¤§tq Y†¶bëÑ4r3ÛDZëòa[ö_ó>(ÁÔE7 bO;8<0¹8Ô4;Õª>*ËVëu?+«h–H½~šq»x/·}$ãºÊá+¡V8|ýƒ!Ù‘`Ç©³Mò×ÎàåÇøQÝ'ï³eò^JYõžâ7:¯?¾kñs”ÛqWç®fa Š’Œý4>§ ÇZ'úy]Ü;_GdRÁú È•†bn¥æf§çƒ\Qù²1³7› -3ú·<Ȉ›h¥=¯`·C-ãZ*¾•‘Û3ØJ`+>…p˜;w cÁ¿ù\åµdf؆:îÉVÂÊ£QÏ -Ló¶Ú±{iC¤üD8þúñ7.4ß=£Nƒ~ØA·™Y¼ŸíQíì -;dÕÚÞùYÌú.ëÅ3¬m -Œ·Ò'OܧZM•ÈkÚEä»óÔAøV¿F+áÖØ\7H”ÕÁ¬–ÞÙ‹s± -A7µ¢¿ï?å151"yUF„I×íòÏfwÊ*Q;1WG¬ä‡üÖWG9 -dòú“¢Ï¡ã6–±hò¶þ|áç RÖ/?‚jïVÈttf=]«mîXCh-»E²`?|(“躃Øçw¹©”]“RÉÆè·¸¿½ú‚[O÷^Üä'^m[ñ™4]aÄ‘þÖ9ö5QºÄ”ÔbcÅ‘n"¾ÿ]½GF&<ç
¤3dRµ°%‘ ”Ê.ÓµÉÂÆWòQmw)‡GÒDa™e¹ÔÖlNA|¦Z–ýÒ½‹Lýƒ÷ÛE}b\ÝîL» &épƒ·gr[‹÷šßžz÷ìòdÈĺ‚íüë£-«‡Z‹ÎîpnöŒ´Ð|˨) 2xqô¦S=w¶Ã†ß
jIž6a›6Ä.OSy]ÆñþS§oa¶Ô«ˆÌ±â£Š51r»%ob2üpȈEÐ&â§ÜÈÕöIòÊp¤ì‚è¯ôV²íNæçiX¯Ô²»Íæá‡A$Ñe$D{òD¾Ÿû‡‡';,Ög¦•k\Ü Gái3¼q¸Qþ¥L -Xæ"¢Úbò3¸ý]ub7¾‚夨õù-ÅsÅK>ˆ<–!!’=j‰Á
bê÷](åÏi·t9ù -KÆ.Ha½+-Ε[åòÿÑÒñx Ciif|-is \‹¦ÿ€|6±m¦ÍñŠ =“1ä`K^!y9ÊÌßIjX÷žXHO~ûLýì«œÈF7v—")òï@µW™[zb™®ÕÚ4“*ý÷L´ªŽœ0–¯z$¹Š/‚„à{>UiO³ýE©²5êæ÷”t¦=Ä;î -€¯À4?œt€sTeù›!4J%h¹‰¸—ŽQÏ:µ¿yÓ´(kY¸³½M>X‹–
sôqÀirÐÀ³8!ÂùÕÏS€¤Sì$óÅ$R÷Ñ•amPÍ$?çÔg•ËŸ˜Vd[ƒ1ËiÇO°<Ø_¥¶%yÐœáZ.›eˆô¤Xþ*Iò{()õŠ_¼¾êW÷ºÛ£x}kã¾ããVÔ³Ö–I͵'EÜöGi‚õÂV;áåÏ¿Ø×6™+Ý$Éž {ýTö"1Ðœä5v-V$ÍlÂÞ¯«ª›bݦ´³ã)º§ÊoS6”hLGñ…îÇ,v%¹u©I~®]%¾)Ñ}ú‚¸2¸ âoJ°]^¯ÿRÓ HmØ;Âúž -8>Ô -²© -3ã½+ôÞÊ•÷aˆlª Ïn×–OBw:ëÌDöƒ^ቃ€¸Rn¹šd¢¯ÅÓò;SÓtd®ÌA~zM“èRVt}õÚ+'˜ †4~}µ÷°}³íÚš[T:áµ%|Å’Q"èXê³ÚÎÝ9"áòç0Tw³È‹d·¿Pô@åÉ@ÅìÓEâòxOæî¹Ã åÏIXUb_4²üQ
¨:ù©^\õ47ãÇU¸µ&²ðc
óŒA«`á0Ôýµ˜—™žÌ‘¥ˆß·%¢y†.Sz¾M²hàž·ãý°óg
#$SÿçÅOÁëÏàBø[yã¦5åž Šq(OÜâƒL#‘'Þ/ãØ«*ûü©¯ð5X1œæ)ol×Ós[2L&³d´/øÿ—ÁÿøÀ -#Ñ{0ÒŽàÿ +/Length 8789 +/Filter /FlateDecode +>> +stream +xÚívgPTݶ-HPPÉ™&çÐÉ™–œƒº–††î&K(HÎQÉH’sÎ 9#$ˆ€øÐïžsn}ïüº÷üzõvÕ®ÚkιÆsŽ¹VmVF-]^Yª„p@óùž4`ö–Î(]°ƒ¯ÜEXYå‘P0†pP +G8ÚCзÿãºP( +²BÂÑ€Û¬Z +JñDÛ‚Ñ¿s£`·n +ÏÛZ€X]ŽyŸôÞgû~D4û$/‹½¸.
ä«zzSç>¹ãøsý×FO9œ½9zEëÅÌÙšýhA”{ßß<0i×0ÜópBm Ûä±€ÁÆÊ€¶Žyîõ]º¡!$ÞáwN_f—l_R–sG"o«„ŠH²Æ‡•Äe9;»l1_¿Ÿ³wôvwu6ã´®Óp§GⳊ»`²…ù:¥ÓH›èyFXæc:>ƶµês-Ì“W- L¶ð?ZÍzî–C«‘~þž*Wæsûw²>´¸ivz ¿™ý¨Ÿ¥Y»Jˆ³Nb¤]?µ|+íý¶
ôìÀwuÁC%7ˆú¬îh ðÿj™pâNß ]ªXWþ·µô»
eàa¾v߾ˑš¨ÕªÉRüheRƒx”¥ë¢°Ÿ4{Ñv̻ʱ˜Ÿ +±’4÷S-þ;N¥W÷9}ø…=¯RI\ý!H¤+†K…ItÆà;–4Œ²ö˜ÕÒ'LËÔöÀ7£ÅÑÃ<AûƒÁmÑ |< + Ê)¤A->}D¥~ÀJ—’‹¹ú%Ç⟠§÷î¼W™¾·à!J½˜ +ÉpOPA°g:³F[Q:ä;FXŽgÇ[<àTÿLfvô”ÄuÈ=Žó¸tÎbqõ9·Ü`ñhäp&q>×bKuµìZ,|(~øps'ŽBfñÏ4åä+ +ýÈßvÿÁ„:£E[)ÊgD(—Por‡X—ÖÚl‚ð’’Wã‰Aà•löŒQp9iz²¼ò¿rµ>;üøb€äX‹+«ÃŒZò3ëFŸyê ¥Ëá4…¢I‚z÷†{.êvàZåÚY·îÒ_v;XÓjØI Lhà`sB>ÝÃÜ*]Ké©!ûÐJ-B÷~è@·´W˜¸P¿H +q[ò5Ùª||©¯xç•™µü~zÈ[oœ2÷Z-´÷dZÔÉ}' +‘©-^¶ŠF€ê=Ù×£T/fôc Ž–IJ؊BøbÊõé +䣦|59>,(^~ ›ùÄ(˜½ÕZ'~œÝ:|ÌI×îCh=•³KèÓ\ÉKZFF
À„ÐZŽî°pܼº|ƯŠÝÓæMá&ÏzWi—‹[¸R'muB`ãM2ÕÚ!:ml +Myn·Uš¨ohR´pz!¶ò³eÊ'ÂðΆ¨çËÀž…#ëvg™Å{bA¡š£6oεGe@â‚`#ÿœÐå*²ü#zˆIà}‘ +›W62
ö²ö=¡¨ñíQ¼Vs…cÏy–³^ŽáDqÆ'y¸éÕR|ñÂØKuT–ÕŽôJTÉ—•*Yx'.ý/|$÷lƒM‰LZ ¹J=(cÎØ\ýÌš_–'vX;¯žYGhǹ}e°dléN²ØCŒªÊѽDñÑùz „N_j‡ðÖˆFfí¯=œA¯]Á§ªp{SL«2o{T>!+;j˜ù•[K˜}ëiÛ +m«_M%q/Ú©ÚƒÈ5§÷WŽ¹RœÐeè3ÚÉ-»§Ü\ +)ÏptH—`#£&B¶–ßW3’´^Ó3Úä DøDڌ£ÔU+‰²+Bzã»@Îaøãµnþé÷Õg_!Ü6pqtpü¼îo5^Þï[Тž¯0¯xõ:”~; +ÊBÛ«µi´þ@5QÉÕ¸Z¢Ü¥?½óÈÙÇY!¾ù#®¡ˆ0÷ÿ\åÀm¿ÐøR牣ìÓ>KgU%sbòýŒS„«ûF¤vmŸmà0yN}yšù~'’ê¬,MÏã÷/ÎÊÊ«»¸Áí)MØ-æ¿TÂÍ0AñEÊ’9Ä=Öo²=òÖ?ïí¹þ™¦={ÏÀ´˜›æ +0Jî +'AJc]eT5eŽtÏž;^óººoã`ªiÄ^?—ÝÇÛFÑ/ŽÞRI””IÈJú²–ôfn4<6Í?Æ©Œt.²×~oÑg²ÝøN1³‡þ +£ã§ÜAÇX +›û“vµ!NÚ _¬DÆ.E•ba¡ü»¥Ãú4G@472YÓBÆ[ñ3vÇIÍLçu0çi8Ó]Ù“*%³0ÿ]³‡-â +Ä.ÄÊpWÿæG=Z“K`’xGÞP×4ßK³£E¦ïc=±ê}.2åâ÷
uÙT>¬Én®¹äJElåß +3îÏ +¾’xTߣ1/ÒÅ&Ž®{ÙYjý‹=‚Q‹¯~"åýÈôf•zg\duŒnYñÙ£Á3\¦¦0!ãÝô‰]•&-ªçJZ¶¶S™Ï+ÓFjÄ[7EóHIÜC8µÆly’M,uh½K‚V[/Ì:¯fIÂC¢+Öœ’’ /ƒèåòF–+˜oYSîîL-éëþ—ú=|}cÙn +JPðG¢5ý¶|˜Ó/vŸ+ª <v
‹ètã\NÐÅMÈF½Á^å–Ž’×'p\¦šÇÉÃ}IU«Fƒ÷^|åða½Cù“÷;^Z¹,›ãKc¥;Ç£Á…Xaî šA…u +Í©ˆü©ê´ÂO=?ëò½‚'¹mg
ñ_½]ˆËÖ
É&W6s>¨}B w‘Ãqþ4×+usÄ'ñM‡ 蓃øõ³g±v1NÆä¨|±Ù„—qƒB‹øµMf!2Ö46þ뻯ñ1aF +Z_–ñG +‰¿¬ŒTÐ5ªú±H–?⩼ïW§€\ d?)¤Š´…6ðhÍ)’ú‘§95¸(zQÉb˜ +Qº£Î{þÔg_Ò}zæi»“UE…yúÿh~˜ÀöýG_@GDºo…¹7O19æ}»¢Ùà⃗æ+)‹ìº—;Sléêíwy<ÎH4&HM|ëH¸öŽƒcñ°WÊ,…¥84>
NåYs`Éïu +4…„°ÄøÚ·«5¹O +ê3êŽbk]‡MhÌ;n÷ao'ßlû†´Ø,~h¿þbÚpÚlo«ùïY›ûÙnŸ"G…E/áXE÷X7¶ÍxÈD›š–ó/Ø'uÊ•ŒZ§þ’l½WŸ«Û®J3
=Šñ¾ >¤Mgà©n` ¿Á(9§ä÷¹FV¹‰® +,¶Ä²éµEN†’ß/…îÈ·Ê@¿?s$5SòžoÁÓSìó{þ`³ >§óIO v"‡g%ÕçÕïq3Nu;ó¯÷ü(g0N*òªv°Vì +:ÐÈÞºOVׇ¨?ùÕÓÚ"8Ìc2ÀÌhíµ÷‘î~#üÃD˜ Ù¥"•c@#PÁtW!k¦8b0·AŨ‡sÄDòÂOíN•M¬EÙâ[5ê´{1ÛEz©ðù +‘_VÏ};*-)NfXª™…©tt;®ñÕ|îþ$…WJï×ôÐusW-ëÛ‡6¸o}Ê(·|ÈâËNáêïÏMö¾b`¯vXPU‘`‘ó º=)$CŠkÞ»7GÜg4£'ØÌÓôsÀ7å¡Q¡{?ÊÂF€œK›•HÊ8`Œ³õyŸ_{èz´È
9ÎóqܸŸ§AÛÊ#ˆW÷+æYFê$s·dü‹7f#Ë ŒQåò½ãHsrœQµ~òªº«‚Ç• pÑ÷€ù㬽RxÊcç;ã><‘†Gc͉áK§_·±>“…Øä¼Z?N_ûZ´¿Ô]ÍUÑÙxáTæEþ¢6e°Z…cDñÙo…GfШž;aßÆŸDSU¿ýÆpRðz²D¼«—°téíEÃ!}®Ý*iqp3i¿BÛÃfRZ$'}$¡aœË#á½8¾Ñ>4°;G,·ÈdëV®A2ëÏœ¼"ý¨S¶zš]‚£ÉHd4”˜MÁ*M6œüx®¯ï %{®R¤ÓÞßjÏE9çѾD©êÝ,@¾ð!Ïi¾Á´¼!UŽnÕf–Ícxƒn¥¦êK¢²µ|ŒŒrgÏE~຅ȾªŸÙîÕ2FÈ4éF#fSö^âzËó;§©4\G‰ +)Åáùx>6rÊ3~ñ6@a”ìHœb¾”ÿ‹ß» +áøëÓáo\h¾{Jý°ƒ o3³x?ÿÚ£ÚÙvȦµ½ó³˜í]:÷‹§XÛoeN»Oµšª8‘×>´‹Èw烆q¯~VÆ;¬±¹n,,«+‚Y-
¼³—àf†,njEßÂkjbDòª: “©Û˜Íî”S¦$wb©ŽX;Èù¯ŽJÈäõ'%aÞCÇm,b±ämýùÂÏA¤l_~ÕÞìèÌz²V[Ûܱ†ÐZv‹dÅ0~ø +P&Ùu±/àrS)·&ý,£ßâþöê}<Ü{q“Ÿø´m%fÒtEGú[çØ׌Dé’SÒ‹G¸‰øþwõm™ðž7ÎI×–D'lPÏv™¯mM6¾’j»+J;Ô8’&Š˜È.˧¶f{t +á3ײî—î]dêï¼Ø.êçîvgžØý0I‡¼=“ßZ¼×üöÔ»g—7C6Ö `Ðlç_mYeHj-6;¸ÃµÙ3ÒBó-£¦$ÈàÅÑ{˜NõÜÙj;N|s4¨%yÚ„}r<Ú»<íÙë2Î÷Ÿ:}³¥_EdŽU¬‰“Û-y“á‡CFä)‚6?åG®¶O’W†#åÄ~¥·’mou²<OÃz¥–Ým^0?"i.#!ÚSÈ òýÜ?<<Ùay°>3’XãŠä9ŠL›ÙàÃò/e3€DÍÉy´ïzÉAb5Lªj©»ü^ ¡ÿA.!屄6]ð{ùÍESÃA¡µ©*mßœ¨óçѳd©YrÝ /¢Mûx5ì,½Ý"¶ËFˆz£=Ãéö[ë¨7XÚtÜzL9•°.n˜ É…)FŸÀ#tžßi®1zŸ™ZÚkÍzWžŽŠî3±Wì>ø +ZžºŒíŽ¦·?KK}HÂIÞ]Žá¦ÒhæE1bX¬‹w +OEÚ˜.è¯jŸ–ÿÒéÞª·ë¾*º ÍДA”_¹øM‡:€ErïS(BÒÎq¦¨‰fþgÙ$=¯gU6_ìT猔LVQ* +\e#lˆe»VkÓLLR¨ôß3Óª:rÁX¿ê‘ä*½^€ïùT¥=Éö£ÊÖ¨›ßSÖ™öè¸+¾ÓüpÒÎQ•åo†Ðx(— å'â^:F=íÔþæMÓ¢¢eáÎþ6ù`-Z.ÌÑCÔ§É}@Ïâ„çW?or^Y"°“Ì?·’HÝGWj„A5“üœKŸyT>bZ=’}
j<Æ¢`¤}<Áú`•Ú–äE@BOp†kaL4ºl–1Ò“bù[¨$aÈï¡”ô+.|‰úª_ÝëÂì/ŒâõûŽ[QO[oX'5×ñØ{T¥ Õ‹Xí„—?ÿb_Ûd®|C$z&âõSÅ‹Ä@s’ÏصX‰4³ {¿®ªþmˆm›ÒÎþ§Øžª€MÙP¢1=Åú°Ø•äJÔI¤&ù¹v•Ä¦`D÷éâÊà2l€J )Ávy½þKMƒµaïü Û{Ì’Ùæ´W""€µDG¯çohSÂV’Ù)àøP˜9µØ{LŸv•Ê}ÃÙH&ÒÁ4ñ +®ˆ»ŸÑˆ:Sœ-0öc¶ª¿ÜÈ™©?YtÃÅW’t½¦ºè3WŽïizž¶uKÎÏf +MÆW™ØdæVÚ„ÎG?T¯Ìdão7ù½=ŒRô.\5Úk”fGj,¤FÔDAãü×îðÍN›ÿøê}>„W0ôÎÂ4ź]|hu|éøªŠ$Ò<Åß7d.KÔ:Uoc_a°ØU?`àe>5É4ë‘÷u¦ëI_h÷¼Fh=$Ñi~ý(¯Þ¼7u¨1¬ŸK¬½xIq1Í%&Ä®j(‚÷®Ð{+WÁ?†1²9¨‚!»][! Ýé¬3Ùz…c$âJ»åj’‰U¼–HËïLMÓ‘½2{ùé
0h4M¢OqX]ÐõÕk¯œ`!ÒøõÕÞÃö]̶kknQé„×–ÈkF‰c!¨Ïj;wSôˆ„ÛŸÓPÝAÞ"/’ÃþBÉ•'·?LËã;™»ç'TX<'a
|Ãôú£‘åj@ÕÉOõâª'¹?®âÀ5iÜ…‡œk˜gŒZ‡¡î¯Å½Ìôd,E}ø¿-Í3v™2ðo’E÷¼ï‡?m€!™û?/~ +^ +ÆߊÈ7)÷QŒCyãd +‰>ö~ÇQUÙçO}…¯Á†á4Oyc»žžÛ’a2™%«}!ð¿|þ?Àÿ endobj 1038 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 36 /LastChar 121 -/Widths 2012 0 R -/BaseFont /JFKUYO+NimbusSanL-Bold +/Widths 2013 0 R +/BaseFont /RNPIWI+NimbusSanL-Bold /FontDescriptor 1036 0 R >> endobj 1036 0 obj << /Ascent 722 /CapHeight 722 /Descent -217 -/FontName /JFKUYO+NimbusSanL-Bold +/FontName /RNPIWI+NimbusSanL-Bold /ItalicAngle 0 /StemV 141 /XHeight 532 @@ -9117,7 +9151,7 @@ endobj /CharSet (/dollar/hyphen/semicolon/C/D/E/F/G/I/L/N/O/R/T/U/Y/a/c/d/e/f/g/h/i/l/m/n/o/p/q/r/s/t/u/w/y) /FontFile 1037 0 R >> endobj -2012 0 obj +2013 0 obj [556 0 0 0 0 0 0 0 0 333 0 0 0 0 0 0 0 0 0 0 0 0 0 333 0 0 0 0 0 0 0 722 722 667 611 778 0 278 0 0 611 0 722 778 0 0 722 0 611 722 0 0 0 667 0 0 0 0 0 0 0 556 0 556 611 556 333 611 611 278 0 0 278 889 611 611 611 611 389 556 333 611 0 778 0 556 ] endobj 1034 0 obj << @@ -9133,7 +9167,7 @@ xÚízeTÛÖ-– r¶Cž! s{¦îâèhY¨ .Îæ (ÐòyeÿY(îàèᶲ†é4Õ´é™þaçååšyü… ²spü£Ò3…4r~^´Å¹*–¦’`Øíé¬a0G>VVGKSÐsŒjÉÁXéŸ* ±w°ÿƒ øC3 °3Èü¹)Ö¿ëfqpƒxýGرø³%GVMØÉ$+ñ?ÉÏ!À¿bV ›ƒ—r‚ÜÍYÿ(©ááúdÿ#l -±ðörtpZšÚAAÞ`KÐóà5uaÎ. o¯ÿø÷€h6‡Í@VÏÛð/öç0ÈòsES˜3بÏÆÂÆÆdûãÿÏ‘áó†Z8@ì<þ•®dj²ê*Ê**©0þ½÷f‰‰9<S2³¿ã2s¼ç~vÊ3#/7çßÿ©Å_:üU1ÿÏ:ÙþE)±t +±ðörtpZšÚAAÞ`KÐóà5uaÎ. o¯ÿø÷€h6‡Í@VÏÛð/öç0ÈòsES˜3بÏÆÂÆÆdûãÿÏ‘áó†Z8@ì<þ•®dj²j((KÉË2þ½÷f‰‰9<S2³¿ã2s¼ç~vÊ3#/7çßÿ©Å_:üU1ÿÏ:ÙþE)±t ÝØ)[7q\ä딬Ÿâ}2Ç”¥Wº4BâÃ8êÁø¾d7z»{NÊ/IÈKsËQ•÷fèy eì|Tù^N
~“`³ IA“k¯¿¥•ÓC«?¸Æ-oÃ1™žéÃàö –ÀªOÌHt‹ßñ}n縳.i±¼«tÌå–ã4t\dêÍFÔÏZïÖEη2Úú`¿Lè-Š²FsŽ]Ä!JÞlø*@çìwÓ>ׇ&ª©æˆy²¥@¥]kU>=rEÞ-çŠÇ™°V£¨ÙaQmL1!h²R%^×àj¸Öl;ÓÛì^R‹ 8ÆßÆûOvj(øÏñTÔ¤\¥+Ö#2\…¿n5;ÿH¯i}¤ß®£Ñå~º9$m`Ƶ'4É)ù6b›•½.†eC[•+ÚËG}*”µ>A¼dÏGæjøf¬%€Ê4ìªÉ$›ŠÛwÃPoÄd‰÷ú´ÊÈÓƒ8~Gžõ‘÷<Yqðæ3z©ÞÆ 2[¢ÉIJIH>Èe¦_h‘Q¤Ç‹×g\<©‡3Ѿ¯òJ’ûÁ«‘e‚gìºN¦bŽO+ÞÀ“îS™cHœ4ÞCØKH÷²m:§dÔ’ÆC»t½€!…Âæ©.—IóÉ^!Øæ¾ÔD’ZÐZ¢˜ÝËMïQ•¦ùÜȇ®CÄTÄZÅ‚zŽz‹Ä#EÄ7ÏLm}.éF?:ÃÓ¬vÄ3*ŸH“¾˜sLfZžÓ$Vf‹B4®»%DÚ”6òÛì!Ó7ôRI¿S{ŽØ¸Õü ØKÒG;ë¢Od€V@Sp¾¿–_ @@ -9161,23 +9195,23 @@ s–¬7ôäP"sÌœ9|p]\ÉlfÏ'ªv7K¶iÍÕ$¸Áî}S[ÜVK cب0D×”ê0Ø5ò«¤gitËZhg7ñí¢•dÞÚÇ_ê¶~ Ëȯúô$šü=Z¤ïs£öjïM È"±óBc!¤d³£©Ëb”ű‰„g²@›€³y‹u ¢ï,Ý™Š£°ƒûüµ±ÒI‡c&”ü¼ün®'ñ°~ÅH¿ßýø ‡é+RúŸRû#Ì»’ŒŒ[È1Z‚«„äî<úüEþ„þ'¢DEPˆ¨½|”‘s¼j#U(»1é·–½,ÝÓ4Ešç×ÜWŸuÓ‚S{:D¦àæ }ª¯ÏB%Ö^‰$—Y–Œ8Ǹ %³šc&h˜!ç¹ÙG£ÀŽ–+([;3ˆý¡ŸA`´ž°ç£G°øªlV˜SÞRÿS”W~V'¦—,É*ZÊÿëH™>FþrRZ§³¹™ª$@!È¿Æf'%N¯Íqg'á4¤ÄÛeù+¡D‚A¿x0J1»ôÖ©Cøp:©¡Ý69‡Ñr;âš>ã|º‹Úˆ²;h“Ùé gÖÐŒíõÒ½Ó’iH)è¿iŸö&Iû RKÈÜ-‹Åx°VÅEc°ÖH·1ÁïX™hF¸íµnQtCç¬``*<L5f¾ž‹•3®h¥ÞÞÃI‡€Ú;¿ ñXú¡}JlZaÒÝO—˜‹s1ä¥gH—Mî\åœàdH _„á}<É!‹à¨'…K^y‚ë:C†j½Åê%½2šI‚£Dϵé¼H -Å2ÑÈùðîì”í
êzTóM¥ŸýØc¶ªáq_Ø™ +Å2ÑÈùðîì”í
êzTóM¥ŸýØc¶ªáq_Ø™ endobj 1035 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 2 /LastChar 151 -/Widths 2013 0 R -/BaseFont /YMIMNP+NimbusSanL-Regu +/Widths 2014 0 R +/BaseFont /TLOFKI+NimbusSanL-Regu /FontDescriptor 1033 0 R >> endobj 1033 0 obj << /Ascent 712 /CapHeight 712 /Descent -213 -/FontName /YMIMNP+NimbusSanL-Regu +/FontName /TLOFKI+NimbusSanL-Regu /ItalicAngle 0 /StemV 85 /XHeight 523 @@ -9186,7 +9220,7 @@ endobj /CharSet (/fi/quoteright/parenleft/parenright/comma/hyphen/period/zero/one/two/three/five/eight/nine/semicolon/A/B/C/D/F/I/L/N/O/P/R/S/T/U/Y/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/quotedblright/endash/emdash) /FontFile 1034 0 R >> endobj -2013 0 obj +2014 0 obj [500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 222 333 333 0 0 278 333 278 0 556 556 556 556 0 556 0 0 556 556 0 278 0 0 0 0 0 667 667 722 722 0 611 0 0 278 0 0 556 0 722 778 667 0 722 667 611 722 0 0 0 667 0 0 0 0 0 0 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 0 556 1000 ] endobj 1009 0 obj << @@ -9197,62 +9231,50 @@ endobj /Filter /FlateDecode >> stream -xÚíweT›ë¶.R´¸;A‹»Cq-î‡ H!P¼x‘Bq)-îîPZ(VÜÝݵ-íº{ï3ÖÝ¿ÎÙ¿î¸#ß;Ÿ9Ÿ©ï_˜è´t9el Ö E(ÎÉËÅ#Ð -‚l -°… -qòØ€l1¹5 ðG— -úhÄÃó7LÏt„ü.¿à_bó÷Øõ'rn]íÚòšìÿn·þÑÔzœ¸ž—ðܪCmþyøÍ#+õøp -ñ8ù„E -â6/ÄN;0|ës2©¶òÄXˆÇ`kmH[Ǽà*õp+?ýä†5€Á#/€ˆñÚǘRóŽ¸
¯ *ÿ€9a÷æúÙ—þ¯½=g(Ÿ6)Ù³Þa0‰{<ÁfŽ -pÍ¢”2Ö/õ‰`”TèÄjš 3L¿àƒíá!ŠH» s…?VLãT‘¹Jˆ&‰g: ÉÒѧLy‰À¸Šge0å+÷&|ÂýÀê~sóTšù‡²©ttÔRmñIëëd°9:6+¶@›ÿ䧗%«ŠA~ªÎA ý¨£±bíè0TóYòs¢1…Ðg{Ü™ü_8X—Áx!Öy4´Ê3æmü,qÕ¡Fôž¸Uœ1”=Ê™gÊ™gÆȲüwâEÉw#A¯òøJàú•BþS›•¤ònë®”{w‘?ßW#·TæJZ…å˜>}‡Ñ•ÁJJù‹”ºŠÑäÊj¿¸°[f"u¬x^Ø( HHŠ}Q¡‚ßaŽRz8Œ¶¦µ“;jÇÐ:šÈƒÏó%^%QÓ±¬v˜iŒ¼Æ¤|hÉÊUq”J÷¹ù»Ìã:aẖ²Åà2]½Rô¶°÷\xT;
µ7L4T3FÁ°.ÌkÛ4ä»Ïuä‰qÑÅÓÅŠ ›c´ã¨ˆ“Ÿ¾Ú:‰Á˃NG!òç»EŽfµ4ƒvZi•M–Þc’þÆXÓ"Ã-íêÆáP‡³ÕÌ$’_?Nˆyéå…ÓÕ½mÞ+à„_½‘sãÙ’I%pazÏl›€ÿ¶uçU«
·\Û×Ðbjêìb>U¸)}{QŸNßà—¨ªw%=Ák±äfZ%Åêos[1øÉ]·êñZ¬w¹fsƒ\û¾cx‰¾¾‰ŽµMÌ(}–"Ú\ñ|1wNkõTƒh,.Wèçh7)m|°Íü'gˆ5’S¯ŠJ2ÇM<'sÖ+±UÇR·¬§ëÁµ&I"AkËðÖíƒÜc»Êþª'ºø®¾bÒ^XÛÒV¶ãž‹c&jžüõ«{Aî.5ûÛd -Ž{âA‚ݧL3bü
J?ÙnÁ›C#ŒGÖ:ÂûSÅŸ†¸XJ½·5^9%4•Õó’‚Ò¨î_Zúäu¼AÁÜ݇€,23sËÛZÉzÎgIÞf35TìQ›Ã_
?Ôn¹)-ödÙ¤!á-æÔ‡$J›½Àzö‚õ˜»‹Š)Nü‹:¸¶’{ý[}ð|ͯÍ*Úe™à€\‡v,:j±ªÖÙH’R<[ݧ¹}I¡ÊíÐRò´hst4ý¯3¥{Þë—àe¶A¥ÆÈ)f!ÁîÎÈWn];FuéÅTK&|Õ‹æ¾\c…GîàèE9#½‘lý¤z‡X,¾t8íèëàvO¿šåj›@’ò»²·1Z1–ÈÈWc7Ü^q7÷õÛHm®#Í4š‹9.<qÆ–7]Ï>é"घ»Ž;ʆW=™PNïÞmMj§%·™Gô(àØ/õ]-÷'?E4œ¥ºŸêЗBáNIV}f…×–Ÿý•‰ÓBýó®aˈ -ÝìËI–Ø+¥®kª+…k{p¶MÍÍ$]Lj&”?M(ìzŽh¾ÏöÄÝá6è g*⪈}Æôš.lÄÕÉ^wïkæXÏ7eKxvù»‡ù5QÁ°Ç•Ê.ܥ˯ŒZKòQóÂsÅhã˜\«l>[êßÝ“Ñ"bÇ -idguÊ ÛáÜ‚Ñ9¤ëË‘'jM.~×ÿfêKÃÔŸ’ SêkÉ'ë,Fèø.JìíÜÎXѶ%Ænvâš’¤¼ò\¤ëVù¹r>guΆɩ,hè‡ÓbѤÏ_9¶¯Ë`ÔT•#ÅW}gƒ|³f<×ð8²ÿ5È âõm`cÚ—}çêã[ÿoöþ-ΣÆgLÊôµF&Žzê_Ùºœ['Xæ tqu“G.¢/bŸºâi$g¿Ð ÿ -#ÄÎÝSDº“l
¹ügTù®„B'æ|pÙž2SXÁÖ=‹ç~õÎK–DÛ+Ïk¢·ÀICÇCÜ0SApðäcZ:³ísž÷½Z÷•âKíÀDÙl”osúòÖ'+˜EŒ;úØÏb]RN;-¿Œº(·]({5ׄX’³øö÷ô~™Ÿ=ÇŒpy¾7rB>Ý#ÛÁr{Yƒ©3ßrƒlšê¼õ~±Y¬Ø)Õ`qyûT±ŸIJ\^Òº2¶5ù¶…ŒÂ¨ÆÙ½C+âa¹ÜmyüÊ€=YÙGzm’ÕŸ>ÖÃI)ª~•¢•¾·wZ䥗QyyŒRÂfff8û“‚ -¸ÜÏ„e) ªÔ5‡Ðz}Í=1¶à‡v‰ÓG<˜'}îpÂ/òʨ^ärÁÍ)¤ƒÇ¼V²YYÍsSsôaÛA ŽPWôÔ/U®øGÎ8G”„X×ö¥ïôgd” ŸŸËÀ¿ÚrsŸc¡W8DN0|’t&sõ™9©~ }Y%ÛZˆÝñ4Ã@hÁwKÇÊ0º7ñ¤‡>–"OhIåà"5àÊtþ]ÛŸe»ÝÁ†UyåÞå¼ë\_¹j†œO" o‰¾é~iŒµbâÔwyu«•¾Ö: -ÓEWº?Kûß“IœñáÕtÍ{Be-ë Uu£tië9ÙVåøë_onw®YH°íy‚Þ|˯©KâÉ'zÙuLÔ‚™I…¾?Cfà.mQn%¥Ÿ•I\zQ[°³D]Yí7öT¬$&+ázªŠÜ^„§P•àÇ´ômÖSXS„α¿çd±³Á¡Y>RêÑ™½²†ò…*Ÿ~ûzr”46:bŒ*Ç´H]ÅúÉêXË—P/f Îëîw¸ÑV%.Ð-HÙ¤œùÍØÁ°ù¦µŸÏ™¿Ï³Ú/€V>ÖG—ç™~]I§ÐRúå”ù5ÝÙo<…zÅ•—Ã!rÀÜC)4ÜKÿªdÞÌ5YG¨Ò!ŠUa dV¦Ä`ȆՃ¶å|þFĹšÆ#\XZ•c…–exÍØ⻫‹ -ðŠâÅI´ÁAM8îe¹åÌ4+Ÿ`,NÍ| -‘†“u -jTC©i–Tu#s¥§Ú'¨jzÇ¢’‡‘]ž>û Ó›ãé4ý}AB1ö‰pvs!œÀZý¶Ù0¸øÖ5=YÙ‘Õ®¨=×`«²Š©«åU:¯ -$¨éå,3£¨{Q¾Qê5¨§6µh¸‰Üüß<ü‡ŸP1[½;džFoU—%÷UÒÞ,²Éš5Vo1 -=JƒË¬À<2Í¢îÿ¸£»|µºÂmïÝa²‡kv¼@ˆw÷ÎÖý¢AŸyÆ«ïÌvÒDYœ32² -©òc¦Y+«Æ€§Qùsýò:ŽrM£ÅÈ*iÀ· Kö î0ÐÇkøÄ<æçó|;€^QÞâÝ@öE<YÍ4Ë.8XÉË@¶ÞIǽL» ïk[¯irWÏE/f؇jÈ)RàXý¯œvb~ƒŸCL?;Yt^8+¾ç/*7í2êì)É=fIï#!½öôžcháîÌÃ{ØV°#ré\šùˆ58»ƒ¬«1Éz—xÝ…È®ÊÖ¡@Ñüâ—¿GÈvÄð*†b> -ăڙ~»À?(Ç«Ì_aè3µœÌÀq•Ò·'ZÍMÈòqZ£¹§ËSÅv8à‚¼Ô[=Ä2MV*ÇE¸ì¬Ömpx†“‘ò°Œ¢Ç¸
+4a¯ã§À!¾Â2J ’¯Ôc2Ä»îú£ GЙÓØQö(„ªž0ôéÊ ÕZÅÅ`¹‰ÞÍ>QqÜY·TÓlFrÙ9Ä>‚$s™| -cúÝå99¯ vµI÷ðJÐ?½›ÉÇÎlâ—2ãÁ¯Ú÷ýŒ€%Í4ïÚ]zôMy\U¯_éCùÅ‘Oaðáׯ™Im>jzX <Pû0[:?Ñú"§¤ùñ’¤\H)Ìn®ö£d©üN_ºmíDÕã?³íÙÑÎ*–=ï;ÜRO†vhÁnOxŸŒ={ƒ³{oà¢;ËùNÅZϧ&ˆœ–#)¶[>P’·ž¿Á©Øô©:Ïûô.)¿¨h^iyˆpdÎ<öL#ÑÆ¥{¨Òܺ¾E¨ózÛ'¦îIÐÔñ`Ïõ®±G‘ -F¸lqF÷wã!ïlgVc8Agbf–FLD¿¦x9Š|s ý5þi.ñ½5ò.–so–¾¨ìû4§e5<eÑ”7t>CÚ±CŠH›zrŒøòx³÷ÛÅ»+Vˆ-j¼pÎén
J™m–›Ñs°pÐ@úEƒsFÚ-V^@6êI]§gIëEJ‚J[eƒÏ%K\ñ¸\%kÕבÊ}½Ï±ª·—´Æs‡2ßwýÕk“Òhý€×U%'ˆW(“ûh?œGØâˆÏlíä7+#ÐÖO'›Þÿ²ºéúÅç78' K*ûTâàÃF\Úÿq$qƒqê¦tMŠ+éM4Îâ§7·!…
û9B²cr˜xÔ©*ÑEö¬!ü¯¹Š G_á¹É³Ìkñ¹ïEãA GþHŸ#ÑÙfÓT¼äû<û˜}!gÆÁ¥¬…X
Wϲlq*¿ˆé©°MWfüp]ýÕST”i;Çéyù>.¯GxfœÕÛ[$«LTmç¨m–fîîe¬¢¦§P*†tÑ5[=ÑTQ3<“)uk¥}²ùbâŽ4¯w -E,˜µ´´&¾Þ6º„¢ï¨Í$¹°ÁÜ<ÊÅ|˜oÏLŽ8ßx'%ì-ià_~±úáÚuY߉•ü]<ócÉÞ„Ä:g}äA™l=iÜ’Ù›Añþèuúéצ<ÛO˜àmæ5 ÜT…ò‘êÕkjÕ‹IG ¦X%-úú\¶qŸt§D Љ64>–_ÚÒâ[Nlòí3«KRÁp²–Âb]ÌJ—^»6m4×Ë'rÕÏ"d^D›y!!o<¥fN¸È%PZQ¯÷nœ•7Je( æ%.ÜÆÐFœ—Q Ú›v¢î*ï&Q_Ç1éÇ»OµMí÷S]Ðê—âO -,öŠú"Erq‰3×{1NÛZ2ú
©ôeeE?qx -‡N$ÝE¾ã!Nz(Ý}Xn×ü½aב´˜S€¯q=!ÆUwŽÛ-ÁWá‚}Ø\dæ”Qf¨ÛÁsZY THƒ-´/â«Î-k×ÖôïÒÉRZ¤™2ûx°.[ÿªt8HÕ«XE¥2‡U-äbO¶’g×Vs£I5üŒõ¤JÒ´Ù¼ëâ#LAôfvñͳýn™ÖM6H·Þî,ÙŒšípŸBIN"±Š…:2 íÀlÇV=+èw9fš ÷˜±ÁÕ"ÙÛ½ìøù<´ÓÇ™R]Y4B²,LˆéIL׶—=™ùôÜ3BÍ]²'ÿÔ¨ ’]döŽ -ÝݦDJ)ÙŒáÉ¡fl°«Sa¬c€²cý×Øh}ë
–7‘:©„ÑÅeƒ+"Ï ^Œæ?õl^}âï.<œEÖöþÒë’QzM‚iDÓÂÂLTª¬õºÒk=mùP©ú'·UŒ´/€›0òû -ä–“Tf0kˆ¯¨éÞ6¡"¸FÂéq$îDY7Êôµíª‡æ¢_Ä+ùXDLI¨#%ò8ß[”:¨ËA|’z,¯ -ø¿BówÚ]ŒßxÅ®ªÙÒš› -rÒÛdê9ñb÷Cæ½óG„á·|9]°Qˆí3ˆ¥8ö•'|2
jK¢´”6¾Y¦·ü–ū؆Mì{"¶¶¤~lú…W²ÌÅ£¥ZI¼ýÇCLTb¼Ø¨ñÉ®-üGOdfEæ—ôk'Ì,³q½Š°ÊšBa›=As_|û¢Õå|šEñ ¦Ùá`uͶ‰:ïp0nÚ”Û+•¥`¯|,_ -Q^ ±ëkB˶ÉÝÏW)´XI6°,}¥¬>Ñ -ff|óéæîDÈ[(-’°1MXü’µÌǨæ¹Ð1½æÄCÍ`SN¡‡ÒÅ»ïaÏB±³7,PÄ_ˆ•Žp²Ï‰çó×CG®t¹=6Jøwº‡P×±f×öËÌŸ õò–ÙÍ·¿)—UôÑþN¶Õ2¤C.®;—ÿÔvcƒ‹&çî¼Ð›íø¡¢ ?’!sÛ yvØ·ïœÒÎkYiÌçhbÏ0¾IDê.¶Y_^¤+<@<«Nk¿±eopô³…+¥ºêhC‹0Hó³cŒÆÜHf
Õ»uÎTÉ"[1ò™8ÍQ áMBšHiô*ó]ƽ¨Y©ipá8iÞñó°žÇª<FßèÍNa¼°ã¹Q[£ðbd
Yfwp“—µ©Â·{äBŽT.‡)çN¨5# Ü\8£
¦oåc—j9^ÐbYHËoùIà3Ò"¾œ½OÒU›7œëí
Ú£xÖ°´ =|MÆË•’ëé÷\Êã®›½›ÊLs(iï*{–2w}À ‚Sq¤”œz¬4XBc°ˆ/ùšNߧ}‹ÆO"¼¸ò^µ¯Å•m¹•÷h„‰rd,ŒÛà½ûJtF ˆÛÑW¤\ʯ¡q—9-1;Š’‡Vû·U¢“Äç
- a¤)•Y°žeDÿö‡Ú—«~‰ÕofØB8ûzIÅ‹‹—ç"ç6ZŠõæï?|ÙÊËûêÞVÓjˆóý ª¾$ù…è¾™A_%ãè -½=7c…ÙG¬èÎ35µmªâÊÉmqZ†\B‘[›¸46ÊÎõÉé1‹äp#T‹ÀY̼†Ü¼²µ8c1@Ìõb$ýZÃ>ËA‡ýÿ Z*9/‹[ qM%ÛZîÔ3Ÿ"Å÷OÙýklT¢HFkmºYüéA3—¾OpkÄ·\;±©ô‰ãìµêOX.š²ÃÙZ|©9K>ø -[L-‘×_ÎlrÉÁ~Õ?·åSç& ‰Å¬}+ž¾†¸WfÊ5na¸À®ª|êkS=öê[¢8ˆžºÐ(ú°Oæ*ÔØ…ª\LêÊ°_PÄê:‚܆Ÿ0 -o¶d©W<DÐ?§|)"¶úšzœ8…û>r‘ÓÕ$EŠÚÜÍyÆokjÄÀ”*€Ò¤'ñË']Çåú®8šŸªBžß%[Ž1FôõU~zË7†Ÿ¿Ñ&¤”D·=.Eå°¹úiˆH×
|v`—þ/õ«”WÕw°õ‚I ¾ª@+a®ó(©±ãA5¡=y=£ñxç>USåD»<çÆÍMUÔ›€ÙlE—û†wRŽ{ÞÉíkGo-îçDq±¯R®¾…ù ¤í€‹p¼ìoB:04B»Ëß
*pº¤¯O*=¾oFäÉ°ïCÀIüŠkú$ÛÆò
wLv' +xÚíweT›ë¶.R´¸;A‹»Cq-î H!P¼x‘Bq)-îîPZ(VÜÝݵ-íº{ï3ÖÝ¿ÎÙ¿î¸#ß;Ÿ9Ÿ©ï_˜è´t9el V E(ÎÉËÅ#Ð +°… +°»¹8½}?’¹ÀÀÂpwCìþ +~‡9Jéá0ÚšÖNjì¨C«h">Ï—xA–DM;IJ¶Úa¦1ò“ò¡%+#TÅQ*Ýçæ/ì2ë„…ëZʃËtõJÑÛÂÞsáQí4ÔÜ0ÑPÍú0¯mÓï>ב'ÆEO+€lŽÑŽ£R<"N~øjë$/:…ÈŸï9šÕÒÚi¥U6-LXzI"ø[X`M‹·´¶W¨‡CÎV3“H~ý8!^䥗NW÷¶ x¯X€J|õFÎg/H&•À…é=³mþÛÖW6Þrm_C‹a¨©³‹ùTá¦ôíuD}:}ƒ_¢ªÞ•ô¯Å’wši•«¿Ím9ÄXà'wݪÇk °ÚåÎæ¹ö}Ç>ð}}k›6˜Qú,E´¹âùbîœÖê©ÑX\®ÐÏÑn6RÚø`šùOÎ1j$§^•dŽ›xNæWb«Ž¥nYO׃jM’D‚Ö–‡aÛ¹Çv•ýUOtñ]}Ť½°¶¥¶ãž‹c&jžüõ«{Aî.5ûÛd +Ž{âA‚ݧL3bü
J?ÙnÁ›C#ŒGV:ÂûSÅŸ†¸XJ½·5^9%4•Õó’‚Ò¨î_Zúäu¼AÁÜ݇€,23sËÛZÉzÎgIÞf35TìQ›Ã_
?Ôn¹)-ödÙ¤!á-æÔ‡$J›½Àzö‚õ˜»‹Š)Nü‹:¸¶’{ý[}ð|ͯÍ*Úe™à€\‡v,:j±ªÖÙH’R<[ݧ¹}I¡ÊíÐRò´hst4ý¯3¥{Þë—àe¶A¥ÆÈ)f!ÁîÎÈWn];FuéÅTK&|Õ‹æ¾\c…GîàèE9#½‘lý¤z‡X,¾t8íèëàvO¿šåj›@’ò»²·1Z1–ÈÈWc7Ü^q7÷õÛHm®#Í4š‹9.<qÆ–7]Ï>é"घ»Ž;ʆW=™PNïÞmMj§%·™Gô(àØ/õ]-÷'?E4œ¥ºŸêЗBáNIV}ÄkËÏþÊÄi¡þy×°eD +idguÊ ÛáÜ‚Ñ9¤ëË‘'jM.~×ÿfêKÃÔŸ’ SêkÉ'ë,Fèø.JìíÜÎXѶ%Ænvâš’¤c}å¹H×òså|Îêœ
“SYÐЧŢIŸ1¾rl_—Á¨©*GŠ¯ú"ÎùfÅx®[áqdÿk3@ÄëÛÀÆþ´/úÎÕÇ·þßì/6ü-ZœG%Θ”ékL:õÔ¾²u9·2N&°ÌAéâ*ê&\D_cŸºâi$g¿Ð ÿ +grØÝÙ)[¸³Ø´ÔÍR½§ƒÔî{•wåì>ktµZ±œs–¦ÝÙb</â;ÐÂ{«zÕ!H,Ÿ-ÇÞ°8+sH”>5ýÕ‚“ÈŸ $i‘åqHÝ[óÕýÒË.é©ŽxÝdïUf¿K KÎZ§4ÕÛ&eO°Ò`+sDë‰%ÝÞñ!zSµ‚Ðëâ̺r“–dø$.³nש–¶ê<±HƒD8ÆïÇSJüZâ=ÆôÒªµi3íü”‡ùµ^Ф9Ýö@»Àø†Ðá÷˜ò.øwœô/[¡ÄŒ\~Á‘¯>3=Ó”£½—©Àé¤YEp¢`
‰¡QÙ¨’ºa®zżžÊ*Þœzgç}¼;Ð#U’ýé +#ÄÎÝSDº“l
¹ügTù®„B'æ|pÙž2SXÁÖ=‹ç~õÎK–DÛ+Ïk¢·ÀICÇCÜ0SApðäcZ:³ísž÷½Z÷•âKíÀDÙl”osúòÖ'+˜EŒ;úØÏb]RN;-¿Œº(·]({5ׄX’³øö÷ô~™Ÿ=ÇŒpy¾7rB>Ý#ÛÁr{Yƒ©3ßrƒlšê¼õ~±Y¬Ø)Õ`qyûT±ŸIJ\^Òª2¶5ù¶…ŒÂ¨ÆÙ½C+âa¹ÜmyüÊ€=YÙGzm’ÕŸ>ÖÃI)ª~•¢•¾·wZ䥗QyyŒRÂfff8û“‚ +Ãz¹Ÿ ËR@T©k¡õúš{þbl?Àí§<x0+NúÜá„ ^ä•Q½Èå‚›SHyd³²šç¦æèÃþ¶ƒ@¡®2è©^ª\ñœq>Ž( ±®íKßéÏÈ(A??—µåæ>ÇB¯pˆœ`ø$éLæ&ê3sRý@û²J¶µ»ãi†Ð‚ï–Ð0º7ñ¤‡>–"OhIåà"5àÊtþ]ÛŸe»ÝÁ†UyåÞå¼ë\_¹j†œO" o‰¾é~iŒµ +bâÔwyu«•¾Ö:°N¶ £Ñ(ðíî
vú¬v¹f~)›³š+|ØÿÖÞÜ.ÙVÂ7îEŒæ¶Ü‘™î>ÏGôâ“!çžûTEqõM7<'€3È4³kÎ}$Án0þ¿4âf’‰Ã7nÙ8–ýµ[+–Ž˜vHÁ9cœÆò©R€u·ÔÏfɦŽoEZö›o´G»¥Î¬-e±ƒ^, ÃÂìÀÝ,} Úa:Ü]7Щ ztŽ¡)—ÏbŸ9qà·x2WÐ{ë•Ú'm£èw/ªÌ÷3z=çØ@ð¹ºæKvYùÝõådav£Û5ö#…C_«tþÙµTKÉ/ô#oÖÞ@øžè´Æz¹‘H4´DµÀzGÔ A~bDy›Ö‚×dÕR´¿ÍÀ(¥H‰ªØÏŽ¥Z
öŸ’>»&,UïM6ꑼ+‚C)iÀvw®_.Fzõ³§r$b¸y<¿/}{X3_Ë®~ª¯m¤Z¨}?äÛtMðí® ôZks"ÄN,ˆ¡8ݪ–“§is«ú+|L]éþ,íC|O&qƇWÓ5ï= +•µD¬&TÕÒ¥Jäd[•ã¯½¹Ý¹f= Á¶ç zð
/¾N¤.‰'Ÿèe×1Qf&úþ™»´9D¹•”~V&qéEmÁVÌuedµßØS±’˜¬„ë©*r{~œBU‚ÓvзYOaM:Çþž“IÄ·fùH©GgöÊÊr¨|úíëÉQÒtÚèˆ1ªÓ"u=ë'/¨c,_B½˜i$8K¬ºßáFK\ [²'H9󛱃aóM
j?Ÿ3Ÿgµ7:^ +õŠ+/‡)Bä$€¹‡Rh¸—þUɼ™9"j²ŽP¥C«ÃȬL‰Á
«mËùüˆs5F¸°´Z+Ç* +-Ëðš±ÅwWë+Š'Ñ5ḗå–33Ь|‚±85ó)PD~LÖ@Lx׆z1 +$¨éå,3£¨{Q¾Qê5¨§6µh¸‰Üüß<ü‡ŸP1[½;džFoU—%÷UÒÞ,²Éš5Vo1 +Í/.qù{„l7LØ +¯b(æ¨@<¨é·ür±Êü%†þ0SËÉW)}{¢ÕÜ„,§5š{ºì1Ul‡.ÈK0ð!–ÉÚd¥¢q\„˸nûËÀ€CÀ3œŒ$‡e=ÆmX¡ {?ñ–QJ~¥“!Þu×Mè8‚ΜƎ²G!Tõ„¡OïP5¨ƒå&z[4ûDeÄMpgÝRM³Éeçû’Ìeò)Œéw—wtæP伂Ø!Ô&ÝÃ+Aÿôn&;³‰_ÊŒ¿jß÷3–4Ó¼k7vQèÑ7eäqU½~¥Aä?D>…ÁC†_¿f&e,´ù<ªéae€ò@íÃléüDë‹œ’æÇK’r!¥0» S¸ÚBtü‘¥ò7>:}}趵Uÿ̶gG;«Xô¼ïp?Jy<Ú¡m»=á}2ö<ì
Îì,ç;k=Ÿ˜ rZŽ¤ØFlù@IÜxþ§bÓ§ê<ïÓ»¤ü¢¢yx¥å!‘9óØ3D—î¡Js«ú¡ÎëmŸ˜º'AS[ă=7Ö»ÆE|§s"ÒeÁ릅Ùò§•#ÚÖµ…©Œùn±Ù\KúSÓÌC¸›SrÜ‘âò¯ƒÜÑçD“RšÙaŠËUÊòzäYÉs'¨‡mx˜b¶ž<Ç!ÒµgÂE\™$ĽÞÊ!¨â+äC-ȃô_«žF͸V†¤ÈŸÆóÐÓÁM06éV0Âe‹80º¿£ xg;³Ã :3³4b"‚˜ø5ÅËQä›é¯ñLs‰ï‘w±œÃx³ôEeßß ¡8-«á)‹¦¼¡óÖŒRDÚÔëctÀ—Ç›½ß.Þ]R ¶¨iðÂ=8§»5(e¶YnFÎÁÂA·é
Îi·XyI +‹u1+i\nxíÚX´Ñ\/ŸÈU?‹yunæm„„¼ðü•š95â"—tBiE½Þ»qVzÜ(•¡€˜—¸pCüCq^F=‚$@hoÚ‰º?¨¼o˜D5B||Ǥ?ïR<Õ6µßOuA«_Š?)°Ø+ê‹ÉaÄ%ÎD\ïÅ8mkÉè4¤Ò—•ýÄá):‘LtyøŽ‡8Eè¡t÷a¹]óWô†]GÒbN¾Æõ„0WÝ9n·_ „öas‘™SvF™¡nÏieR!
¶Ð¾Xˆ¯:·¬][Ó¿K'Kmh‘fÊìàÁº<6nõ«Òá U¯b•ÊVµ‹=ÙJ:Lœ][E Ìu4Ž&Õð3Ö“*IÓfóZ¬‹0Ñ›ÙÅ7Ïö»eZ7Ù Ýz»w²d3j¶Ã} +%9‰üÅ*rêTÈ€¶³qXõ¬ ßyä ˜ib€ÞW`ÆW‹do÷>²ãçóÐNgJueÑɲ0!¦'E0-\cØ^ödæÓpÏ5wÉžüS£‚JJt‘Ù;*tw›)¥xd3†'‡š±Á®N…±ŽÊŽõ_c£õ6XÞDê¤F—
®ˆ<'x1šÿ Ô³!xõ‰¿?¸ðpYÛûK¯KFé5 ¦M3Q©²ÖëJ¯õ´åCm¤ê{œÜV1Ò¾ +…möÍ}ñí‹V—óiÅ'˜f{ü…O¬«k¶M,Ðy‡ƒÙpÓÖ Ü^©,{åcùÖg bºº#2Iµ"$_âݧîl€hXÏSÝá‘=°S,úç@PY“,Þ+xM‰z’k½ +=œ.†Ü}{Š½ar nüB¬t„ë”}N<§˜¿:r¥Ëí±QÀ¿CÐ}<„ºŽ5»¶_fþ—·Ìnn¼ý%H¹¬¢ö×p²–!rqݹü§¶\49wßà…ÞlÇù‘™ÛNȳþm|ç”v^ËJc>ÖÆ!öã›D¤îb›õåEºÂijê´öëQöG?[¸Rªkñ¡Ž6´ˆ4?Û¡sì‘јɬa¢z·Î™*yAd+F>S§9 +$¼IH !íƒ^e¾Ë¸wc5+5
.'Õ;~VóX•çÏè½¹Â)Œ7v<7jk^Œ¬!Ëìnò²¶‚"Uøv\È‘jÂÂå0åÜ µf$”›g´ƒé[AùØ¥ZŽƒ´XÒ2Á[~øŒ´ˆ/gï“tÕæ
çz{ƒö(žµ,-hX¿&ãåJÉõÀô{.åñ×MŒÞMe¦9”´w•=K™»>`Á©8RJN=V,¡1XÄ—Öü +ÙæÃ/ÚÝç†Ã…@9¬°YbÒ sìw·+ø•@±ø>ñ){„£ØݯU¬^E›÷ª†´ë?¼d‰}½X!!Œ4¥r Ö³Œèã¿ÁþPûrÕ/±úÍ[Bg_/©xqñ²õ¹È9†„–b½9Ãû_¶òò¾º·Õ´â|?¨ª/I~!ºofÐWÉ8ºBoÏÍXaö‘0+º³ÃLMA›ª¸rr[„–!—PäÖ&.²…ƒs}2GzÌ"ya½*‚Eà,f^Cn^ÙZœ‹± æz1’~aŸå ÃþŒ-•œ—Å-¸¦’m-
wê™O ‘âû§l‚þ56*Q$£µÇ6Ý,þô ™Ë ß'¸‰5â[®ØTz‹‰ÄñöZõ'¬ MÙál-¾Ôœ%HüÆN…-¦–Èë/g6¹ä`¿êŸÛò©óÄbÖ¾O_CÜ+3å·°R\`WU>õµ©ž{õ-QDO]h}Ø'sjìBU.&ueØ/¨bu‡AnÃO…7[²‹T+"èŸÓ¾[}M=NœBŠ}¹Èéj’"Emî‰æ<ã·55b`J@iÒ“øå“®ãr}WM‹ÏU!Ïï’-Ç#úz*?½åÃÏßhRJ¢Û—¢rXŠ\ý4D¤‰ë¶~v`—þ/õ«”WÕw°Õ‚I ¾ª@+a®ó(©±ãA5¡=y=£ñxç>USåD»<çÆÍMUÔ›€ÙlE—û†wRŽ{ÞÉíkGo-îçDq±¯R®¾…ù ¤í€‹p¼ìoB:04B»Ëß
*pº¤¯O*=¾oFäÉ°ïCÀIüŠkú$ÛÆò
wLv' OêX¡gŠÛm9#Êó2Ôq -ÓRLvÏÍŒÆ/Ï7Xy!r8Ë!MÔ4ócKv&½›Ä4á”UO-EyÂTóTâÑÕì}3Þ5ªV¡H·>”œ³"M*œjnøÏ3°ï|Ú÷×’4²{óÝéL¬!àW”¬Pfœ«ÙýFGó¼Õ‰}j™j컓íRÜAñÓ5Ý«rà)vw º'-¢ßGrËpnvÙ1AÛõ ·ºó\<užèÃbð‡ÖhQjÄcñžŠ:DqŽz,|¸>1sNñ&b®]?Mr)smWÅ€ÑûäÌuQØÉ -aàùÚîjäßÜš¨SÞ‚{ÈTvø…ùî)x“›”Vˆc†šçùÁüÿÿO -æˆù_mÇÐQendstream +ÓRLvÏÍŒÆ/Ï7Xy!r8Ë!MÔ4ócKv&½›Ä4á”UO-EyÂTóTñèjvŠ¾ïU«P¤[JÎY‘&•Ç +N57üçØw> +íûkIÙǽùît&Öð+JV(3ÎÕì~££yxbŸZ¦ûn Äd»7FPütM÷ªÜú»;PÝ“Ñï#¹ƒe87»ì˜ íŒzÐ[Ýy.ž:Oôa±aØCk´¨G5b‹±xÏVE¢8G=–>\Ÿ˜9§x1×®Ÿ&¹”¹¶«bÀè}ò +ãL5Å8!á—˜ÐÀÀ7fyÀ,Ô‡(ÝœA£öùŠ´ÍÈ;L=SÞëÑ~Ø„&åQ§ú4»Oˆ~¸J +aàùÚîjäßÜš¨SÞ‚{ÈTvø…ùî)x“›”Vˆc†šçùÁüÿÿOX;€08ÔsÄü/WÐBendstream endobj 1010 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 35 /LastChar 122 -/Widths 2014 0 R -/BaseFont /SQJQDO+NimbusMonL-BoldObli +/Widths 2015 0 R +/BaseFont /MHAHXM+NimbusMonL-BoldObli /FontDescriptor 1008 0 R >> endobj 1008 0 obj << /Ascent 624 /CapHeight 552 /Descent -126 -/FontName /SQJQDO+NimbusMonL-BoldObli +/FontName /MHAHXM+NimbusMonL-BoldObli /ItalicAngle -12 /StemV 103 /XHeight 439 @@ -9261,61 +9283,66 @@ endobj /CharSet (/numbersign/hyphen/period/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/y/z) /FontFile 1009 0 R >> endobj -2014 0 obj +2015 0 obj [600 0 0 0 0 0 0 0 0 0 600 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 0 600 600 ] endobj 1001 0 obj << /Length1 1630 /Length2 10420 /Length3 532 -/Length 11286 -/Filter /FlateDecode ->> -stream -xÚíteTœí’-î\›à.ÁÝÜ]h ‘Æww—à.!$@ð Á=¸[p· Á!—|ßœ9³Î_3ç×]·×z{½Oíª]UÏ®·è¨Õ4Ù$-ÍArŽ(;§@ì`îæªìQbÓ -rrq|ñpxÁ^ÈÔ]¡®.`'(à%«šŒÜßuBm€Ð?¹]Á/0ÀÑêÅÓÒÑÂíOKa/4/(†¸ OèŸ\æ €%ØÕÉèõ’û…ÌÉüWn®`ˆõ?+`¸€¬.–ö Wךî?·óÏ>ÿ¥{ ““½×_ÑŽyýg
`¨+ÈÞŠ‹û%§ô%·5‚ÆñgXä!VŽ -:€í½þ›ÀuÔý]ìðý+,¾\Š$ÄúE6.nvοÍ`W9°'ÈR
µ°Xí_îì/»6Ääb†€^´ýëZ_‚89ÿÓ²[ØAþˆÀû7‚Xþkù/rýU<‡´¾º¾²$Ë·aÿòT{™¨–—ðit•-ÿóð‡GJÊÑàÃÆÇ`ã~Ãàççpqùý7ÿ¢áúçYu{9Ù99¹ -Ì;ƒ„öé ÓBr?¦®"ÜUúV~–`“rÌÌ#ÝXŸ³¥5>Nïê&eHco\PÎn˜iÜ‹ñi¯°ü-Þ×&´áÔÃàÕѧìß\3ô
ô÷uœ#vm“±ä% Ò »#`ÒÇ:瑉hWúD±lÁ}Ù¡ŠïJÎçâYÊÝ¥…ŽeÌ|,PwÐÖºàóoËóÍQä‡/Kk×ØC)3ù•kKКM,y]íÝ»IWàCn‹ÿ³ÑžŸEbg¬BY¶â EœÞïýoÕÍ%¢_¹
p¿ž²Ÿ¬?BûZ·bŒ“ˆ·d*RˆÈÕÝÆø÷@÷¯¾òðgŸoÒÙÌ2ô!í¤Øô‡~‰±ùÁpÕ}ØK³ç¸ûC׫F%=ʾü+Þxè7§Á½€Ö -µå7„ùŸ{D/kÅ:NŠº3©1fæÁª®ÖÌ>›ˆ0œÊ-~ýdžR¨X<™6Ú4’ÑzVÆ„öO”ðµaÕ=åƒd!?Õ–¦.OB)»OÞ8:eõ4 ±ÎÌYÉzM—I[Øù\ó‰i·Ó¯‡‚¶j×ÍX‰õæáBJ÷[ØE¾RS×ß½c&È1Om+bi¬NÈŸ -"¿¹V6Õ›dJ VOÆýräªÕpê9£åLV±Bï÷Õ&JÀà»<ëÈdRs΄5Ãc6âš<ZˆÚ½–‘õxc~Œð -7kXp-ºZc¤ë·8*ŸÑ¶•â–Ÿ÷µÓ÷“hØ4WžL^ñ¶AÞež
"<ÍyÅgWõxÅÇõo)l)ºÍ¨øß*—–£ÉÌ™üÑõÊ”ÒtM -Y4<z€¶TÙ±šm·àÇ™y„>þ=ó×½Ó#|õ‰2Ìu÷Ñà 7$tD;³Ì/>ä…¦+²Ø˜±%œýD@X;…1OžK(„ØfAH̦Ê"m…
`²èF5óRX¯.èÝÀ1_|qãŸ2 -òâ¸ÚqÍ\ó°aTúËî3ìlŸBØ0UmËç:<¢Lµp.«ŒHa>7÷ ¡$é$aLŽW*æ—ôZÇÝඔ‚ªÖß.«UŸHeYê¦äñ4’5¡ö|Ž¥òïm´ÑËçŠß“Trו?äÖÏä‹wJf–h÷3»7P¸bF»`œ/[ŸLÏ>¿¦td#ø5‡ÍPÝ®gÊ|Ô«ÕCY…#4WÚ*€¿0Z^oÖ,F±ãƒiôŽ¬÷“Ön4
‘EMI;h!ŸQ5r²©äÂÏ †uVrŒyq ò…f~IØA¼þ8«+ö}¤&ØõÃu"ažyº-¡Íß*Ã
ɹü#Líj)¸|›t¿Wu‹ü4°s!MRmYŒ5 0ÉWýŽƒýÝGiÅGÝD¥å²VŽ>5ºöæw&‚ß3F\Ü~'²Ý»µIËO™ù™õ¯âÑG÷4•ÌËX¥+© ¬ŠD¾I_åhkˆÀ/ÀŠr2ûHïíæ÷¹Õè9D¾ÏÔK1Íœõ.ÂÖf:¥©_ˆú™4LT™M7(¥o3iså—ò»ºö½_ÚC'¿{drmcN~µG§;ÝÚq´ ÓCLs:l
‚DFLS¤ÁrÚ'»H<uw0¥ÞHÞúµÈ˜lN–D˜•’Æ·+¿Éþ7Tš2|ß=›OG~vu1b4ršTªgŒÌœÊ²ŸŠÀ_|Ž‹lÕ‡—0ûº“8_VÏ»×ö“ý#ò°R—¢“Ë-{z—ú{±Šöý‡9¦/Ú‹]¨mȨõÖ?2T8¯f
5°Ï9[X©Ûß>íÚGtH”ÁòaÀÉ©ZʼÎ÷h96åË—¤õÆ3ψ%6Ëpx¢OÚe.OSåÐœ©<³Œ)˾F‹´®7}Ë”#)_Z¥¢Ê -7ÂÃD
R ‚¿è±¡~HYÑ+RÝ,=Ä-*Òÿ‚´-°?MVC˜$™œiĵ5˜Ãù–…Z¶a8W‘OYE«Pj5úïNhŸüˆ×KÈÜœƒ[—ÝËŒÇÓ]ûʲj -eÕÔ×Ì:8}L¸Õ÷aÈN˜üŠûÔªÌéjb¾ú©;¯·»ñÐA¨1ÆE“¦{øc”’³l -¶§£âŠîZ<3ýrãrö, ˜ú¡ü´sÛ£¦üÇçt™-’,ÊÁš2šv^I4{|ãfg£!Æ-’ßÏ -l ,vßgª[™GV©SÓÄu rbðW„_±}\7Œ]KöÜÏŸŸ=8RÄC&)Ãù13S³à™ÜˆzÖó&Ü{Òâ®;›{ºw/L=®¹>Îi%Â+06wIœ¢¸/óÆ1qx≓–^½Û‚ŸVæø
aF©kH£ ¸p”6œB¨EAb¶¼4ƒ"Ògå#ß–ß]ßÙ¬’ÛžâÀÓÇQ´ÝKçãëA”œ˜jô¾ð‚p?Ѓú'[yõ|#—Qb9rȾÃFNw®Å^™Ý~¹6”Ô™ÓEŠïábä߬í#Áæ#ÚWŒ¯*È•:ëè$4×hÔË×öÂnD¹ïÜšÇS×¢FD¸}¸ÐXëÏI¢U1Øθ3o8ú8J)u£e<Ô…Þóh|¬"=–gfíÎ1`[u˜ÅQAØÇyïóÎp%oZ’øqa’…aÜýËC5¿‘ˆó^ÐŒ -ûôÐÓ]2Žá×ðÂŽk•|½Ç7X>럾·Ù(´Í¾o÷ŸÔÌJmˆ•oXGUç²7w&¿# -)FkcøÖ¥Ó‰]Í¥D¢ØMÐò÷*Óç”t…f¼™¡øÜÏÛÏFfðz•¬ŒÊ2Î`®&qTYOý“ê9JÇÎNy…ï´Ûöpì¯lbúÐ8Á©æf*°©Ç 6Äê••í-Î
¡€Ñ„š_`-{F”šZ…ü‡
LAîP«Ç. :öIæñhž;³»)ÓZ\ÿ/FÉH£}QôùLÊÏ+w5]D0|ƒÆ&ÄWŽ^„IU5lª rôÒ>0„“•¶} -ê(O“ùRtS63ZÞ0CFv߲ͳZ -|C·r®ÿµ?Øô¼©F¨$ @¯ÍrjB/áH
$=@"¿ƒ£ -€ñLœ #Ž|DøÓú$LP÷f(.€RC¿7é@ -ÿ³±Ž“ˆ¸*„e³VtØø®Ï`Áz)£`j|S’»§²×¨?È4·¼-ó5W¾”8˜‰¨WÑ÷ÒhòµÈ~à&JYÈ)0ê¶D©:Ç4Á¬Ãšž“<Á$ ŽFô!uæýÔK~Smò¡z2
;zëJŠfÕiu°„j–ó¼ÍÏ}ÃGL0tW’e³Þ‚å»0\èœCå™xà¶}½©âV<=Xeys¯”òLV²º3#†–¡ØNs‡Nɶ¢»H*åÀ›õ³?ò -/RBùðMÍÚËW?Fóm6¡Iyþ%ÓYµšÕ¥oÅ{;sË2¯Ó†{®G ‹LãžRê
ú AƒíI+23—(-ãAqpå—Zâãö¥‰u#̸{OÿÌ€;Snúäë)ªj¶§×o°O'Iª™›ßá蜼“Ñ;ö~Yå ¦<úhDsÙ˜´\ÎCldS \“2ñœIsd„|ü0"eq’×dÛÑ -ÉÈصM"-!J$Th ¸þ`1/ù†ñ\âîôÜTQ‡ÐŒÈ[ÖNåÝW…ˆãíñò Φ·9íïCÆ?öaô|ºé´Ó2gz µÚ|펋0T§ÃLÒº2ÖËàÃÍÄEßþ:–@A,™Š`kûúm«§”G6Š+Š9gÃÀº‚r~I÷Oùè·DÊ¢[{‚¯´rÁ\CPÉ#†|m\¶}äh;¢µ…ÿ´fBÃ0=7ÍRô‡/œÀÐÀÝÔk¢1fR´^¤ÛºÙCñ®Çäß>0c(¤‚e(Ö.×ÈîJêùô -Q9!™¨‘™y0‹½zÞ½iº˜^Ì /D—Ó|eæèù>JB»!|A¿,S`&ǽï.÷L5ü±ï÷÷ˆCXæçÞŽ¬
å©aÜó‡Û
/}WRèŠ"µ±gÚѾøÿ;.¾‹œ2Q‹)3–+À#'[¼„ì×jéXÜö¤êáEIkÀò YBUµ<ÀòÝÉÛ‹QË¢Ÿ¹Ù¨ƒ-* -HŠ‰³ÝÒ¶X´2l‰ÀëRC/ýÕwÆY@}!ù~ƒvÖ³K®×YËE.®\ØÍ,Å»ÕBj>š…¢«îlô~â†õàØü-³er@ÜYŒÖäžîj«ýT"ŠÒãÛ¨×KÜð%ì_í[~«¶¬ƒxRåøž&'q.kýØ®ƒ”ÞÑ‘ccšÀs1\ÖEÔõŠbº<&zò¹d£}‘l—¾¢@ ¢¯uR$î-±ÌM -ñ,(ZÃ
…G!½½,‹8yKæ;~ã)_Çzá8´‹öÑÊXÐ/â&_5º(Ƀ|s5š)ˆÒá+>úÏ°c²±lj×ú²ˆ%¯ñQ
eÃü²†‚w¾ÙÁÜUú7|Þ–ýö‹ç4Ï‘³·¾hB²’Œh'à¨]NåD¡·T±TÎ$nñõ½Cm¼:1
S’•ÄéEÔ¨“¯Q/nHbç A(¯öÌ'rÀ/V±¼.p:F‹ Ö“»aûÏÕwïl0yß]Žˆ”.z2“ÖŸ~ÝÊü”— ³z^¢ä&Ÿ›ÚÕ_BXÌ].ùÞ,y4DñÓY=õN[“ou1~KM“éýeülÝQЃ$¾®QJÖ\â3¢¼ÛÚ7²_ÞU2æ°(²89j¢è‘X(ÍàRêôâ -ïÝåJÂYsD,~ ‹j%ûÏ.Ÿ(gªbç7ú[([7™>"Ä«1íKIkJ°rÚ(t~¨,{|†xáïÒ…CWá
§›ƒpK¾}AµþÖoX4šÝØœÙ5)köa³ŠGöfeÌƦ¦»#%ÝÅM'zŠX³¸·®ËÂV‹ïÞ,]0.Ùìëî9¡ß‡'¼Ó+}ÅNw§s»çoXçð:¥r•Çu’Ÿ¨óUºÊ‡˜BsûîsŽ1ðô]¸ÑÊágE>èé6±:ËÖªbCÀÙ‘Pý\rËÿñfóªÙL[1Ë@í×õˆL -Æý¾> X¿ ãŒ0ÛÙêpµ~è~ñnrÆÀf·*zW–Wµ8ÁˆåX“7`i
vXìq|¹*ÚÓÝ;É}…ºÛKå×B@ÅSCÂHØjIúœº3NøÎOm‡êuHÎ&¯õHì{ÃNIv-%ó2þb*BÁÁˆµ.Ú¿ÉË(-0ÆÃ.™
bÉJßÒú×קínjiF^Aƒ½x”®8¤á- …Ž!
`ܯ¥ LÑËëû.íS@&Ÿ$ 1~G„¡é!nó[‡:sHæÏÄzŠê÷ ÜPÒõöoaÇ"Û£]¡{;XÎ Fb
úzÛçŽw¯ëö -v{Â~[ Y퉷kë[ÊF.Ëë®R2:|µ&˶ù&~t±³íšá–kAYÆ-Ò’Qíç^Ü—³AÆPR˜R†ŸAÅ%®’+Âã9ÔR´¹«{ Ó’!ŒUW2i÷ø¹ó›
oO7BÁ._«¬ëyŠ
D(aá]k~®u– ®Ý‘»ÌF%ïýÐ×ÙÐdf»qÅ£ˆ=#ã j)Š¸)…ào}Ú|(¤»ó$5÷)ê:×eÝ–\KÒ|ý`S';ZU©Ü -Ÿü._¯ 7#° ôcö›ÐB¥×¢fÜÈ=°ŽÏÚÜÙê?½zêý0íCÊ‘!´æûtÍç«1žu?K+.®o–/þRi†-zSÇ6ÊüdrhŽtFš(eL³‚/umDðN”Vï}º3,RÖŽXí;m?´oZ92íã“Á‚?†}æ]*ý|ðÊI¡¯W•’Ké6¤,È5ßsx˜ ™ßV$$öøu"ÛºîŒw£¸Ô +/Length 11283 +/Filter /FlateDecode +>> +stream +xÚíteTœí’-îîNÜ%¸{pw·iÜÝÝÝ݃kp× +äh- +×u”ø¦ñWÉê!r6Y—fü…øÙGRŸ¾yKR‰vUå)0o+Xä + ø`8ï&-Ô§|_wñ˜7¦æ
奿i®™ÀÂÆC6K’kФZqÿ©Üõ-„8ª±Ïë½=Iæ¾xV@f³6Å-ýwËÄÎûñÌq#Eûu$u±ë5Äel&Qül‰x„ù»ƒ#MeȦ’9ázÚð¤Æ¯ëÃÈ E¸½ëâíŸ+óˆ°×CˆØ³Üg¨´ä·[¾Ñ÷pÒ!ìSðŸò“Ø›9"ÐbòMÀ8Õëq]yZsY£4îV¯—…d<¥siáøÞù%Þ«¯ÔˆÝ¤qg'ä·„ãKä´¾ÀGq!»:½mQ!!&ßa?F±1Ž»ÁÞ¥Y†eP.hNø1!/öã÷œ½ð&
‚¸a©7hèÛûŒýóÇÙ‡\š¯+D®ÉÑÐZƒœ0üÓvÄùØEýÉO¼ö~&ÙRm³ŽÊø=q¶qÊ¥¥»5ôÌ”ëb_
¸mÓa…©!RÇ<Ê)¯$KåT¾C’"ú3LºwìóÏ
#uCm…›®££¥b·B_iÊîð¼ ]7‰Œõ•
ðeQ ,®€”]®ì|va!Ø;ýF‰E=ÅÑ8³¬5)Å¢u,
ûÕðì^È ›Âê‡V+ƉC~~UY›¿>%<{ïè—ÒQs…ñpbÈNÖi¿KÚëC/`_IL»/\x7´×´mÂdšØÒeÖίð¸‡^ìë!>ûÙ;æ ê¹MQU,¯ÕêÓÉKQBäg~—šö–S£,QØú¹¸_ìMjŽCçqTlÉJ6È£¾šø (Ü×}Yô*NY&Xìs'«Q·’RïÍnƒa°1³'ù¶¢;\´ý6§eã3Qº7¢RÜ +ã>õû~ +[`Ï—Ì/ù®—o
MyYU‹â¢/ÿ¼Ý›Âœ¢ÝˆÓ[³¶MlÆ +ËšÕ˜±{[½¤-üyª!Ø¥ò6¯Ë,ÝÏ–r‡{ŠÒþŽ•ðRö¢i³4:»ŒNt8¬¼GrØ¿š&¦².ÌP˜ã®—ae‘©Ö’ГÖNTX/ïbmåV¡îé1âûœ9åì¾ú;‘ùÑ[BvÞÄÏdär{,‹&z¨½tEÒ2]A fS0ò}úö4kwçXN!ZÔ¿£I5·›_m—Ákˆìˆ±—|šÓC„8Ìx^]·=´–(LHžI3(ed7iwã—⋪%ú£%wÚS?{drS[nA½G›;õ>Òi´ý'mLG:dŒhfL{¤ÞzÚGÛH,UAw™Ö
PÖê=µàŒ dn¶h˜¥‚Jï
¡ßÜè{ruIîÏžçS?èôQÚØŒjT3§Ïñ¤ŽYΡ¯jã"»t¡EM>í'ÎÄ—·pýèþÉR
?©0 o‹Oï|ς®š!\Õsø” ¶ìOߨùu +/À/„¡œ‹œãWÃ5t/‡…û’ÀÈÍL´ÀhDÔËá磑À÷7 +Ö«LA‘G´D©(aÿ à;ÔAG´Õ JU;_^\‡uç.-©¤î,+»¼Z‘=•¿RæŸÐò…FIجóÔ~ÅÇ›º1“|÷dÈ…¾^¢§ =Ô**sç «n-Ø[”Ú¶Q¶ñ¦D•œ1ÃØu®KÁ¦¿µÜ†y€´Pä†c(âÏnh0(iX²w¬N¸×õ¡ÍI˜û„ùÒ¥Èæbd¶ùq0«s°ö؆¿-ÆN™¦}ümšŒü‡+ÈŽšœ=zàë…qãWÈÅ+¯|jeÅ5ÎtÿwˆŠoµé¼’{„Ùdã
å”=\bHv8†Nt{„¿_å<˜m«3²”K,Í"ëT)(ãú`ÙP¸&«Âo˜«·õ£C·’=øV–ŽŽ‚ä±à Ë1>F,.6¬z&·!^ý‚÷ž·9š/–_Ý‹ROnOs!ºð± +
ÍœçIËýMãèY=±Dˆ* +Xÿ÷Ô&?=b¬;”½î‚™ ¬«zGn£P6í±ÿû±Ù‘,œPýgµƒ6å Åù„
˜:vn‹ +®õgJŒGâÖÜ3ûRÄë,’ Órw¨¾}óã”sᓱx&á=¥Ì\_Îƈ߾lz'¦vC>_ €1Ä8ïÁ'nX«ÄÿÔ_>E듸è3cióú‚"“š¿X.,\Œ:ÚÎä½s¿
‹Šs©h‰74’žÅïM$úÚ”t¹A¬Å‰V%è¼Úï¯àFð¥ìÌšjIp0!{»¢”§îYý2™‡5¥C)›¬ÜgªïvPc,ØÖ1#H¼l€àT3%H°øófØúï{l;¸¼ûüÓ
¿@vt
MrO;¨|¡–Ï즪ègY§ÓùîîÆô[q£¿èÄ"
…W²Èj7ð!¸ÇŸnV¼ð’"ꘕ¤i$| ðæjlF +ÃÚ¶lóE7÷³3™N/,*+¿PC.m.>ÊÖSyüŠô¥–ƒ®v«~@ P2ÝÒfNMTP-OÏ<a-€…>oIBeqì†bHpæÔt‡“ŽÄqj
µ¥u!Œ»MB“†#z«Vk™…ó³;¨b„èC5ãAÆyÝYïØü£D@ìpøÃò¾×{àOÅvcwQŠrøŽ €e·52åeú/ZLé¹ÉË`~>\‚hX"'N¡Ã$wõ¶!•õ[5ièÑsh7â”›Ž›ã¥ä»l—Ý~ú,;>Â|¡bŒ»-挟 B—ík.D¿ÛµËïÅÓ€”ÖWQ”‘]H‰Õ÷gÆPіتïS+ØT
‹§y3ÕúÑ›:u–ù§™Ã×&_¡TT}4ÞÝÛ˜¤¢ÓM2²%Òì½#øE= +;½N +¸»v ½Ê…éÔÔqKoœâ\¶Ý€×Ÿ0 hïóÚR +¨T5=š€áÅ +•½*V^¾º1êrðŒ* +®é/Š)T,¯}«2lÍ,ʽÆÎ[ÙŸMÕ° Ú~(¤ÞQò«Žã¶ÚœuÁ3°QÑ•×46™›œö¬}Ù6tF-„zôôÏ +x0Æà K¾'¯g~y÷ý|Ž°ž¡CCëLFRçÔûCx“U2x’ì¤Ú€òzô8i½‚“ÀÀºP &&åËk剺âi-`JÜ&â,¿Ý¦¯˜Á¦¯z‚+Ý°G…˜Ö¬l†0ÏüÜÖ9oHƒT>vüŠ"nC1Ç=ˆ§XØ„?ýËzñŽ7½Ò!·51ضMcÿekxnºÒº1Èv&ÿ%V¯ŒQ¶Ù¾¡cÑ4~€Úgo¡ =;?§‹c6vÖÂ5NCÞ0è+wµ ý¶NùLCª•û‰r,Ïbj¿ÞÀ×Otm‹yã«÷Q±âm·/SVæK|“D|VïáEV<Q¡)…xú—7'Õ^'å´U6æAÂÉ¡ehSÃQúÙì6p5=‚ÔKÅ´t,ý‰>
¯-¢A–×pE¸6¥]“¼á£Êh3–©pD’&ä£Ä
É
+k«ût‹2üWŽÜª|nÈ<~'>m8MUš™Ö²Z†>?nÆšfcBeµvG5?ÛbêÀ:' ñ”"en<Ma f'2$ûÌ]R_I¬‹ÃXż #—ˆd}lu>ërv×Mq(‘¦aíÅýv&…æäüá —<šµWˆ¼üe®vz{óü·ÄÜÓòŽ¦G§IDÃ"b_ÖÍ%ËŒ‚²¢êx‡Ê^‘$Û„ù…üÆy
uÁéQ_p$@ÖU/Èãˆ(w¡id-êl¡å¾kT +K§4xÈÔP¶—ÛÛ‰Õ[û‹ÕÇo›_¶¤uÃwü`@Àr4ýÃ¥Šùâu.Çc^ʈ~¢{ªŽËûb²OÁw}ñx×—`c™ãø?$?q;a—C¸GKÁCÐJ&Ÿò"t¸§'¥=€gh¥Þ¹êýs§H½Q”þ¯ÙN0ViT®I‚ÀRÜ#Š,šõ@¯»Ï„S; —nÑ´„(ÁPþ±Óí'ó±÷t—¢ç©¤ç‹ûø?0õK*`ÁÎöÄË’&8¡ßçöìd„ÌV }¼·Õ0£¢²Ü}çŽ 3ѬÅ@‘Òµ13LëÃAÏNÓó.WN8™œ `c¥ý +üm££O<+„ºlMË´p~Mý™[ñ©ø·hÊW·N–&9_ 9øÂåÖ ÒgÙ0ª¸Lt»ÈéX+sÿõ„&ûI*ofʸèÊ
/ŒÀÐÀƒÔ[ü"¤}.¸ûæ¥c‘çäß>3D|åOVη}ðî +(ª4rQ¹!Yzˆ‘Yù_‡u¼‡Ó´Q½Þˆ®¸ËÛÌ« +|ø2C¸Yƒ~Y¤¬BþLŽË¬ðLÕûvè÷Í ³˜U@âçÖ¾”5Ù¹~ÜCåýŽœ—®‘ë†<…¡ÚÉ¡È„¿;÷Un¹ù¼‡ ã
à™9 ZTêS½D,f¥‘j@xqÒ–iEÐ+ž²J>`ýáìÃÕ´Eñϼœ#ÄñN%€õÐ7 +l^¹C8I‘èe«3ÅA¤Ã¯ðÿØòk¾Z¬nk¢ªh±¡FÃ]ðÙ›·²îtxrJ¼‰Ù¿bo
+d©‘¯l};¥ZòM«yŽÏ‚ÐÛe´Æ;Î÷kßíªêÂ×¢èCsú?êÂr؇VÚýV.K“.ÅÍ"ûUg§ ™áön~ vµ2Ävgè"àÃ\ôAm»)Zÿh”RøÉR¼.|y÷¹'"ˆ*&–ç>™#xr§cm¦Æö0žœn³‘=ǤslF&~k2E«jlþ¬ Ƈf„ÃLbJ&ÆRXc6¦KnÄÎäÖ¹˜O"êûðΕ¦#{äÚª|^3ŨÊ;è44Âr1f5)·g¼_
ì(1%Õ +rÒŽ½wÂø’>;Slêô‰‘5s¼uÖ²Å#&ëA¬!ø5çÈÔúÉÂbªªF%.ïîÐ{ãRU©ÉàëNyÐÒ6½/ÚÓNEg“É·Û¯êÏò¼hžNº–Ž¡]Șùj©<}crÑ¥d!]ìÜÎò>þ
ÞÄ ÷{€m6"ûªùø@P¡S†¸s}'V%ó.£zùˆí]¡I^(ÛùÌ6…–¯ƒÑ|4âsæþ>êYÈ-Ï:´¢Ù2åÁÅs(×±@¢
=}Åæ—U·n6ÈBC¯>Ç!Âû@u=å<²—1i=íÉú=ƒ-¨òZ—ÅM Â4÷–@tõJæv‘q½ãû´yç¾vr«Ï„¾VnEø„}j*7Si‹{=‹Áï£!æXàý1±J ='»Ê`W¸îÌÒìì;ïD}Âv-wŒ$ØM0½(ðö¨ÍéM$ÀzCç§ 3ß3XôåB£ +°œâ‘1é#V~Ö¤›½hBñ
åùjtw“bsYŸ´5 ¬˜ºÿ“,W²ýÖ»X,+'z7ÂàOe~a.!dÊ«+¼˜å¡ñÊVóÎçõîú…*>3 þ»m'¯¼ŽpFTYDº9HÁ†“lPËÁsà–Žý„Ä&ä’ÍåìƒÔ„¶“MÊBW{a +œây[ƒËu¦YÚr!ƒô$l³Øa£.†þÌGƒaW]èPj©"!w¦k?…Bm$¯œ:#ϯ˜R¡~+Oø0¹`5ÌP(ÅÍé=vÛ
„ú"þÀ‘—Ñî1+…¸Ý¸&ߘ óÚ*-‰Š ”8ÕÐYNÒcŸ˜¾üJìsMQj[F¸‹kzéú¸ä(ŽÀK¹öëÎá½gnä@@m35N-Í˨d²äí«hV]¨Áà^ƒì÷¾Þ uŸ÷ÚÖ¦k‰-¾·UÉ[~¡‰è%?Ôé·SrJvı}Ñ™¾Ä=3¯rêÅÀØ›uYoaQ•L}F¡©›§ü¡à:Ežir¢,sÊÜ[<z˜¦öÚwR–o'«èC=Rp3s*£_Ë•Fª!Ñ ŒLïЋ˜¦)§í>¸©¿ÄG€ÇàðÿÀï>Â6SGÄT¤®I;@|&ÞHJstÊk=Lig¤5è‰,þm!7ÿîág=ò"Œ +<uHîPe£C³PÍ2EíäÁ|ËMó«QX³g9(bçŠvà‹÷µ/’TÂèó¹ÂûàEÔ’÷¼¡¿J£ºV]CG ;f¥/ÁàL÷mˆª©’’ùê#°ð¯¸1¹C‚U=è3TnÌó´sS_vçahîÖ5ImŒ=_²ž‘•9–ãÆ›Öo!|>i÷.T+=a9?wô²ÅùÄ˺éN¡¼‡Q²¡\Ýq.¿³lߣ¯ÚÌMú‘á£óäPêç@lʼnT +¨JUŠÆ•ý¿Ñu3·àp G„‡ùbÃéÏÝDŒ%çwì´¯ïª9áÌ ó5SsÕþ†ˆKë†Üœ¼e}Vô™¡)‹$?·,V§¨$Uã½cNùÕTD ½³#éˆF»œ±´Å(EB‰w%È
{|(¬3-I™¢m8W‘r…XÍe«àÞVLL¥Q.*Gõt¹IÚ¯±™^_Ø“’ÚÖÈûR˜Sö «îÒžÿk./·9Ï•ÅyÊo •ÓwÉ×°ïJwYâ‘ϱî¸6eÉÑœEɈeósS}¯E±X8‚ÕË#¤y㼟KuEüì£!o´öUöä”óÏéŽÃZX©¨,M|eÍóÉÝ)ƒ^»D¥?OÜ]De×a$p*£<Ôu¸-‡•²·HÈÁÉ'.
JØ QíH2³&šÞ–é{IênÊf›êòËŽêõ0]\³Ç¸,Y|egσÜÍ–Ø,’ä¥à¦¥\ÂO°ÌA%hP
ŽmÀÙ3Y'Ä]ÄhÌýð±ÕÞì²›ODPxþõnº”å“]ç7CåÎm gªô÷ËÜÆu“óm‚5 :ª4kíusD󰈪KÀs¢'·»^Rå”XÄ
)>M“£<Áp©E^ˆž+vxE$¶ÆöÕ¸œ eMÁ$ ÷Š¡|¨•ùìü–îøÈp¹[䢧ªT«-ĺ ô{~Êfª~ý
WÑ8æôQT“yi¬W%>ùàw—3+¶ë‡IÕæŒ}'Î
'>š! ^ËÉ´¯ƒT%¼àn=0Z€ÞOi°nŠŒƒÔ'ó'~ +\´)(ät‹hß÷çuÌîÈÕyêáTÅD_.àÞM`¦_}\_i¥ê#k?×ziÓÍà‰Á¼zñ)90¥7€•ØIgx¶}/b +(Ñ-ì@¹ÀËq²<Þl™xüú0·¨gOyP} Å¥\’`ÀxªÃÆ°6‹9)ü<»^íéîä>ƒ@1è¥ôk5 ê¥5a*ìH¹4}YÕ #|ÿ§¦}ý68w…Ëj*6Ã㸟QmŽECÁ¬œ“§ÄƒOoül“³æoC’rR>s”Ù°ký“Xâ²Tþ--i»ê‘7`ù`/N…›'¶1 h<þS°=xÇ4î×ÚT¡ëÛÇÍs=@· 1~_¶ý)î;ÎnoŸ*CHÖÏÄÒú`^¨VY©êKŒ·€’ÃN±ÍÉÿ£†-$Û:5š›B§>™ÌwÍ? +qÒ¸#q¹àÞMn¢¾ƒÂ†ÇUÛòAö5 îQ¤±£-•²x^€’ÙtÉ¥óçw¸_Ü ý‡ýZ;Ô4ò#qó)ùtƒ/UåÐnp©á„Ͷ5ž‚B²W ÎQÝNk›‹v<§sïU'¦J*"Ñx«xóoŽú¡…ÁÇ••×ÕqƧÇãç‘œ^¬³“RöéEhæå)ôd6ºØ¦Nr?â¿®¼Ä½`„ˆÇÐS#£‹c†MéáßÞÀ>RÝNf¹h}ù)æ_Èt€½ endobj 1002 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 34 /LastChar 122 -/Widths 2015 0 R -/BaseFont /CYQYMA+NimbusMonL-ReguObli +/Widths 2016 0 R +/BaseFont /HZQBUC+NimbusMonL-ReguObli /FontDescriptor 1000 0 R >> endobj 1000 0 obj << /Ascent 625 /CapHeight 557 /Descent -147 -/FontName /CYQYMA+NimbusMonL-ReguObli +/FontName /HZQBUC+NimbusMonL-ReguObli /ItalicAngle -12 /StemV 43 /XHeight 426 @@ -9324,116 +9351,110 @@ endobj /CharSet (/quotedbl/numbersign/parenleft/parenright/plus/hyphen/period/colon/B/C/D/F/N/O/R/T/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) /FontFile 1001 0 R >> endobj -2015 0 obj +2016 0 obj [600 600 0 0 0 0 600 600 0 600 0 600 600 0 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 600 600 600 0 600 0 0 0 0 0 0 0 600 600 0 0 600 0 600 0 0 0 0 0 0 600 0 600 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] endobj 924 0 obj << /Length1 1606 -/Length2 16437 +/Length2 16571 /Length3 532 -/Length 17326 -/Filter /FlateDecode ->> -stream -xÚ¬¶ct§_Ó%Ûv~1:¶mÛ¶í¤ÃŽmÛ¶Ó±mÛìØzûß3ó̺ßù4ó|¸ÖºNU]»j×9ë)(Ó -šØ™ŠÙÛ¹Ð2Ò1pä,m\eíídh…ìmL -7µ3u2´(¸ÙXd,MíœM© -öÎ.ÎÆN–.€¿YDÄþÍÓÅÂÐåŸÜÎ–Ý -UwQñtøKìÔ!koò¿ÿ` Ù{ -¤×+…O¿Pò¾^”ÙÓbcP;Ú›TTÒ+ù€ÀŸîdv‚º~¦ò'q+ðG#}r@ð5NmˆEïBjB©+<¿ O<}~¢ê¹ï;Äý‘MÆíOé˯¥ZéN½tœ1>iƒ!pÁ`Þ3,Éñ€Á¶ÆƽU9ìþóæÝ©<¾2숽â0‘륵“W`_â\¯?Î`Bç~@“ùo¢»êÎO4ñÄkW©s}¼uf¤S^¼48³åºáhI·ðèì¾¼h`˜“§hžÝÒ=h$!‰‰Æ_@¿¯Ãå>³’ÔÎT)mÐdù>æ‘nkÜH‘<»ûÒ9«Rè`ËPY³Ðë|\–ÎBbˆÌÏ‘ÓçñÊ}¶n»ƒÔÉqè<¿JºÄU݇ž~‰vE? -+¨S7r+øv¿-Ž(Õò -%ÕÂé1Ó¸§H” -ï4ÎO%Eáˆt*+÷ctk-*îB_…õ~+w¿1 'ÌDÒÑç£\<}Yõ]W>QçõjV ‚3Ê]ü™‘,Œ\N¾ll‰®ÊœiMÕ®9’TRD„¬}±]4úòµë^Ç¿cS?ï ˜xÁ<ŠÃ¸^)dµªÇ™¥—WZPÜ›‘ªÖŸ4æk›Ñùtµ¬Ëb5¹]D÷<2¦œàlP¯ìÎ"Qµ©ô¬æËþu“¿‰„üû̘׎ Ã8”ÃŒG¦¦æLÆÏ£uFÛ -Îëz°¹áa|ûù{”©·À$ë%¯¬,Ài&)f¶%Ê«gMÒk;t›TúX¡û’%:Ù¥£•~¡)ò.]ØúÉ,¼ød˜¢*xg‘¢qj >³m’žUÕ - -Üœ&È9£q/TÔ¦ÿ†F3Ì#ÌìÑò#j¤Yõº¢°VÈ<â´iØ(¬í‚úà‡¼ÂMZz2iO¢W -CÈ|ÏxÝVæëÛžzz'°û-|*‹de1j²Ä9´c°YûvȬå:&ÂÜQ]
JwÖG»F‹—ÞaÎz†;.=”ž<vŸy–VUÑëŸz=ÔgãÕΪibÛ‡ßaî™3QãV$úkè~Ý_Ù?kâA´dl960¹’+<j;uG“¢Á,N`à¿ÆѲM‡Ã€‡G`2Ü´8:™©„Rüû¸ìÒé¦êcð¹•bÝÚÕÇÅ©dT_â.±ÀGU†ér–¢H.›¯ç…Þ_Û§cæ\Œ[ɽÂjaÔ°êˆ>Fk…׉`ÏÛÂE}·XSh³˜§„×ÖÒúfB@×ÓùF}j¹$“QÂÿ‘ó$ -‡J8æ)“_[K} *Ñ=”2‰‡Íùp㘴|"2ùmUü—Úöƒ¬Ê¨sXs%š¡
ÆF¤Œ¸ìód¼Æ3ë*).!˜òúGÏ’`–Ã-Õ>Õ³)Òé¡ð¿šÿĬΓá•wDÀÍ·´õL|bÎåŒ6Šz9jtV9‡òªÃú1ì-Z44ãOR´æÚ•b²OܦmÊ…c3ÍX6¥%µYTÒzq@«`Ø·Å8HYêR½–Ü -fæßWÍŠUxM “›Öœ9ãÒ2Ü4S_¼ºÎùFØÝyw´ƒ¬"_#kÀ‡ÍŠ¿çòü˜ç²6+8‘k=r¨'¥‹–²ÙW¥‚yU€‰Š¹[±·3‡tªSß#<qý¸#–[pÖtm'`skX'¹öÐô÷ǃílO§nÏá‘:Ëtu4éÎÇC“Ð}6¨ïB’kƒ,¯±q1Oḻآy(ÿr‘áûÃW³Â"6æm¡ä¡—™q²áïP$*¤“¤¼¬\ŽC6ÂœEÍ„ -Õê(žñÅ\ýmÛÓç{‰V¢!di^U“ú€åIÑÏÕÁÒee3{‡Æ.ªq+³Öi¦[†PÝ>ÈHò^>IòÄnÝ“H7ª´/Rïƒö
IÒ&ëžMzᢈfòØû“Ç……\â|¶ÆÊlº©yukhNËÒ¡(§í±0;µØfJï¿ÉV
BaÚñÍÐUþŒñÁîȵR.'Ó5“x“2úšT>gªÂfÇøê~`\k8àC’”ÝoØk;ât<òxø¡!Ó4ÁßÎ…è;•lFÐ NÐõø¦óÅŸŸ¶¢‘_€ -n -‹÷ƒ}¶Üü\XGÔOCèÒ9nÎÍŠ]Â$ç šuðê£ì§1œB'ÿ[©pT‘©#êìÊLTn™µd+àaGØI“F†VåÑi²+Îxñ^ -ÒÇý2¬‚£ÓÐïà‘–£ïé… «’·éí«2Òu†û˜™‡ŠK¹‚™e
…þ’sêƒQµb•5<Æ.iЇ–`K’‰¾‹•ˆQQ_þÔ¥jóɇ`
ŒSp?k^nªeCÓlÀª6µcxºhÜô -4‚éUœh} \+°5äpá¬Ð彦3/醲Äxýóâ¶ÂU¿f<ʦ 'vü*_[ù¶yèU2üwBº‚õl^ÃhïÁ-WmøóùrrDYªè!3´ü‰Ð´gitÜÉ?úB|Ž -Ýź?V¨ÉÖ¡ g£ü@hXlhwÒº€¬Ú¾˜†›ãŒ†»…Ë÷ïi¶Ý9Ùø½FýÌÏCwt–¼”€Ã¾ ¾²bÓýoû¾‰yï®Çz<bp’É3,NÃ3QœÃÏË?qy”E1û³nø”Ìr¨“²ï•èÃWuªM
ý2wˆXÍ«c`¯³]qåôù%æ‘–0¿™ä¹öë”/Ó¿£N…ÁÃÚÙ½š4µ¤;•¿QËÌÂÂâaiî -…æ?ûÈÅ~ÙÊ=öŽ14w.G"Ópô‡\&ì”' -Ÿ½<rÓ£xh -€c -¬ú2³%ñÒÓ¡rn@›¾Ø˜×¶ÇþÞºt\e/“®¦`¨ˆ¬½W|Ô´xâ -†ùhï|°ªñ9à÷º¡—kgj_¡š#¡Y®‹ì-,>r¦Ñ—@mçn†X›bgŒwn\²¥ÔìºúÔEä6äOÓ·,d{IóŸ–ÑvÐõدÀ]6Î]˜KÇÎ^ØdÁâás~B²4‚í¤«“2‹¨Ü€…„Áý:„ÇtžWZž&=âõ€e-ž•˜}jfˆåuf:¹l×ÅÇ`A¼ã!•«0typÓ$ïê-‰‡Êì-Æ@MÃÝ%á÷D<h1ÿ$ïeHq[éÌx•ïNÀ¶„æ“+îææP2oÍca¥±ÿ®8¾vd'³±òÇÅEÎ6/nÅêÈpåon95Ãè+#KPº‘Τ £b±NÕ`ÍH˜¹å}M1‡TùîÅ_½GƆ…†ZQ³çw¼´Q4Œ(¹f„h‹Üш»‹Kk΄ïðë·:f&–ßKÉ«F) Ô}3¤NÚP¿æg«»Å!ÁìŸmÆÌ3$Oi3àu¿¬é…¯ÃŸ‚¸˜ôëÿ!Ï^ÇâHBȨeþ5"óÅ'ñøL–O¾ IúÖ7ñÒ¯S1·ŒbpÝmŸòž&tYìJÁ‹q1OvI„¤<–ÇäæSŠ‘0°EïiÅ+‚2AÄï;¾´(Ð,êu"áDZ&h&R§& -‰@£=Æ.˜ˆw±G ÿºîWf./bv/YþMGÇV^Îå_¾rGý`È>ÇÑápÄÈ&€d™$;x’(H\— VöâΫö”“¬Þ–ŒY ¥S9ż™ŸósÍ‹fý2ˆèÂ9Ъ›¡†ÄQ?¦ç«Š¯„9ÿ½¬ê…)Øü:?„ïàБ¹dè'£IF¶)¶ç Eøx‰AË!—3'Š
~Ð I¼´!Y/½¶˜¾Xç -16``…¾ÞïG0o8O'‘Ñ{-¢žîŠJf—Et~£vÍšAOÝýhÛZÝn¦P/7çT%sŒêI÷03‹O·„íx1/È9™1âB»ó …E*SCîln–.WM#4=5ýŽîf{ŸkÑùz®ª X²TEÕvTmBŽ¨Su "†Äè2šÛ‡ýs4ÑÓê<jŠÒ#/àt¡)uš‚ähÀ:ÿHâ;^mJg«ç*¡w“YfKÍ:™æ›W«Ÿ&{®œ‚ëSrªAñ:½9¤s“Ê,oxDöõ¨‡$8Ì…bµ*ÿ«sBÅ×IÇìµQ$^¦Ù²îö ǜגѪwó]†f$vbiyˆÿ—ú“n¯øJzÇð‹»Ð -·8/šò‰Ü-ÂL„ê ûë| -YØT5) ][´sÛŸƒO-:*ñd¯òüÑmùdû^àkL0©}ã<-#=œkåŸû[l]¿šQþìYsô9S«ˆ}>ì«víÔÚâ2ŒIæàg®/Ð!ûÙÛEfB&£ÃJŠÍ÷SIÐôÖ¤Ž -yL{@¨é.Çu‡ Sóß -a/×!éTàÞp7'2x»f& -Óã8BYà_Àr‹48-þäÌ4…FÔÑydR‰¢jaïë[T§r|xÞT첸®ö½ÜDj‚½±dXÈ–ªq÷ÓuA1™ìG©,§—éÇæFlŸ¯tE¬KeßÚˆNB#Ó#²8ÊÎd:„|K·öÂ{°¹s‰à5ŒXžögÜ£àŠEͬ… -Wìß¼v$§fK¿œÅÌø -aïûiŒ¼<í„ -ùiãýšª1, ²½ÚÅÂ6è+°ªüç<¯Ð®`{·Rª”@Â?Y—º˜î›×¶£Þ|aéeì€ÜùZmlô*”Ó×B‹àŠè]‰¸_ {%DOù¹‘nºµÇã÷ü3ó7w¾ŽÆ‡8Ë›~žžg"F‚p•&00OD³!ÙÕ~ÏÙéaÀ3¿wÍüüýw-¿ŒeŠ¼G‹”b7-'(îL^ á•utn$âE¼bAá.J:ë -€Ž¾òGó˜•\. -G+·´sñ¤5ºT£ÃHÏ)æjAº1s -Ý”¿lùtwÇ‚›¸}@G—îàøz0-¯ÊÙ›ª˜X/eðÞ óÁ<3z–ƒÜ@Uj'TYß"IÓª ãðØ|€6׬–Žâݬ)¬Ïß_ÅøJB•ß žË„9‹™PÅÖדGËÜ]Àça@X}²Þ¯êá»jÓáZGM`sÇâ„}bˆÂéÁ°?°27œÜ²Xgœµn”®$ðtã åZ3o5çVjÞµµ6ß–¬…®A`ã:$?š–|œiË·È“7ÜÝÌêåZGáÒ °kBM{ yu+aÎbâe½ƒ„›Sý05»8ö–{´…>ºZúÀ¢»½om‘oЮajÞìÁ\‘~»ÉF0õUª¬}§Hj·73³tß -ˆCŒ#69êT € -OŒ-—@ñ¡Ê5‘¨8âÓ˜×Õ„åJÇÝ3œ¢êƒFé"²E¤útP³R™U=…²ÒÈÍZeFèEt„¯õ&¹Ø(ÜE~ôŽ"¸uq¸2”JÉw®Ø´ÕS‡_ØÃÂ5ûÅhŸ'tÆiŸhÞ¹Tî“2µ%&ËmÖ™S’/¶^«¤FILn‡mh(FïªYaW¹(X„xþɬý8räC;Fm‹Íä4“t!~•uØÃ$©Óºþ$[wÒnW 5ñ’nõƒ Í}]¶gH©§Ø(Àáï-1‡£E-ª“ºÛO…1ÜÒ¢ï:ï$Ë;VÄòs³óéÖ8ʾš½ 4>ê’‚Ž-Ç0`¿õÂG úä;@!¬ÊÜýjÑœI†ya1‡ð±óÍ -ºÒ“Hw³Q¹3÷-:~¿–/’~½1:[C‚Ögså•»ý5†ã[ò„HÞ¤c|”ç‘šö &ÚžËé8£ˆÎñ²yát¢¦å -Úf(TýyñµÂF|K™ÚÀ¨N1òç‡ÿT>.L>@+?B]’y‰!âh4’tqJ›ñ}€ÑõœÂûõ3â
„_·eÝGnGky}žáa“D9ø÷ô½ëjd‰à•ÿv«ÝŸœâî››Ç^ᤊ¸îdvK'ñÀ”OAýèsf‰ð²ÁäaÞ~!Çû€¤%íg¬
‹éXo„™‰Ò,5ð(ÍŒ˜™nÞË—¤}C)ºŽL»Ù9l'ÿ¢GR'GŸø=Mþ¶åo¥uMr„?”Í,¼,º‰l‘ȳO+žwAž^XåÜ« -Ħ°öÉM,&% -ré;·j -A(|òà+ÌçÀé5(b×Ò'CºÃŒºBÌÁÍÚ»[âg wn@«—ݬ>³Öö@Ÿm£ŠØª*áD)1.¢ -¬ÃY——,Ü¢‡sÈyò BUN˜‹5npЧ,Å’$ù)Øj›¡DOMlØMí¸M˜¿B§/§(” -بïH{‘3†=`í³spœ‘ψyGZ07Ëÿ
¹#W¼± xP_<Ï„©}‡··@ÐV -»1‚hJøí÷SÝÈD»’ÑŠP†GÞ†£)” -ì·`òšúp¨Ë©
ï@5çðùâs ¨_÷J:{Àf˜½z5ƒBÃäÜ)z·:4&3»8ëäæP³Mi÷Í<«%ýœÕ-
[¼-ª$Kà²ï%m
qdZ -ÒfNÍ/ž¬€\1VѾ†õòÅ?{ûWw:QüÕpÇÇØíÌ/~‡fê}½mð½[€ý&ÖõÂŽ_Ü»PùæžZ‘)PJìKíŒõsöí;¬}fRËÖ4êmg~+<¾4Iø/ÕÙ¸4mäÝi5ÇW`k%\9ñRÞ -1V›á$n€è:ŽÔáy盡y(²"‡Åv«H_Ž¥ê¡ŸbC<Ÿ›×¡®ƒå -…T‡O´ÑGnY!ˆC -5Òì]¢‰"£³¾9 -~ÅòtÐÌCf°_¹wËÿ¤½))3ù±Üdlë¦yX>é+¿h-.Ø×å`ùÄš-ñê¨lo"€˜Pg¹<ýà,aíI‰½ª!ß.©º{¬³mËÎ&s.KíøPCÏÊèp:¼›î3€ÉN0ÐF#ËŒìï«Éÿðä -ä(® BD™8 Z?Gkô–lrY ;‚0+_9®BTB¿‹bu‘ž]4ô:@W>kŒƒ"‡÷Œ³VÙYØRø!É–ËÝ–³1ªM´e0x=SŸñÂÐeγ\ÊÛ û{]иææÆK,:Y&oöîÏʇ%ˆ1Ë<†Oàe/ɹz¾—žkQ+¼Ì|T?£Ð2ÐnRïE‘œê3æ“}ƒAÒb÷ã àO%ˆ–’Àëé>Ä÷ÿ‘˜p/ÆéKÎ_]êÓ¹Z={?Êï<Z¨€¥oMÃ5{í!e•æ®Ž -A×Gž—žTˆú¡·zŸ§²ßHZ˜û•·÷nªäK+Ó>üÌ%Z¸ál•ñâ@.œL Â' ŒDˆg›ÀßÝÐcö¶
‡ýÔõÜš:E¥|ªc|Ç«¦¨ø -ˆ®-™:ZƒL£à>^QÙ×ñ‚K®){mÑ×+ì¾`ÒƯð¯=rÃq¶¬ci7dÖ@`^(Ã# k¼ÜŽjè:Ë3¿¹5EÄL@VÁ¸¢"4:bT„Ì>ã6sŽÃòq++oôÞËM^pô6Ù£ã;ÝAì=x›7»št -±’û?iúo9DúŒ”K U¦pÊN>Ðé6{IþiÓ¼ê¼ã7üý¥‡é_qþÀc=ÇqÆôA×vö>`($ÚÅx’(ºÓÜ’‘öÝŠü‚by˜ñfª°>qv^øšŒg°¶jhÔ‡¿ÊªG¬±2g¨x"§´PÀ¢8œÌUnjuôsu¹•Aî¨Øj(ZÅO•«{pÀL› -VCV^uNA a÷¦BRj7Eî¹ÊÉ>Ò>m=”`ýÝÌw0gª„î6¢KŸ7AI#¾ÀÛïÁ1ä{½ÃìvGØÄãl÷7Þ½ò‡×ð®&eo^‡°¸Mã -:âöÕ*Àª}#¥)áÛ°½ Öì¦@‚ø8Ï)@tlØA6Ïz^¸æòš)%Ð0åvá.‡f6ñ§–nmzÕxâ*–Ö$lX1Eå;aî'-†‰7tk„ïj¾ùÀhÅš
hÇüu—S(-Ã?s$Ì¥ _iôù«ˆIH,mXš‘Èž¼*9ö˜ŠâæQÎÆ}RÉ8oöÉTÖ ™?–âùù¦!F‡8š$Z+ˆÔÜ*l#hž#ñE.²”€0nÉý¢òà2¿üã$—r’Nr÷±,(³—®´hÌ2ʈú«q°ítÕµŠÑîfÚY}MºycŸÁ3Ç-V³ßeYé]ù‡vj/¹…ÑÙÌ<<üÐÒž[]Ø™eNxþf{åÑÓS¹¶ø ëŠ7hÔsro>×X?ÿca}0|¼þ(:¯”@NDåáÍjY·ûtîG2Ýlcafœ¦ûávýÞõ%-Ž3ÌæI¤¸zd®`2†ÃLáóÃd¥žFÀ÷E7á«Àt‹6‰æÌFe“ öy†)ì0Ò3̧´Åt£ÿH·Iþéªqy0½à–_/WÁh(k%Œ2©…Ç¥xææè„0+Œn^&~þVÄo t¦º˜ÜÏþÓ‡‡¶§,µ+§Y(º¸À@½Åòîqê?nQ6aŽÌ•êªX–5g¨²õ@ëÖãâEuÜxjúˆ~šmGÜ4yÓbe£GÁ6å¼¼Éx˜ùFA·ºË¤È¿Ý€>–9RTOX¦qZBPcc¤båwÞ^%<tq\v^Ôà…¾MtZ¡Wï¶ò ó )ÍÁØa{xW’Ú˜Û‡Øí«îFbµ#”‡Wx¼ -kSè%ŒG’~z.KWa§2ó…Kº¯Ÿ–½4I
Œ?}Ï}Úïx7_m¥‚vèÖ(@J6”)õ(FKˆÖBEZŸÒTûA-„_ÂFw¤ÿfU—ËÛ¨ºóRŠ%ÏÌÖÞWà‘ûãˆkˆƒû2ÛA”lÛrg%sGÚqˆÅ0"¿ï8e¶¡Ro^Ó @¬2¢[·zl²ý¼žé -ƒƒTä -2ÜçÔÑì÷FÝŸ²µBòÕËuBf§jšk·½ØˆÐ¡_H—œà¦ÒÒxú‘,ašÄéwUqídsXÎB“Eä‰0Ÿ\¦äÒg -É„ÉácÍeéŽ*æ!-•¶e´X’ÛÿºÍ‚|h¨«šÿéœ(ÿB¦j~ÆÁoœ=¦ÑÎdAÌM¼Ñÿ ‘Ç!5›ÚqXTèéÞ -œšn„”‘‹1µÇo¼·ÃJ³ÙÔ“DgŸ‡¶ÑÂÀ”µ8^2X¸ü™#O-^dX¦còæežCàý‡rãljȚ”`#í<ÐìOº”vA¼\&¢WÝÓ¤²rˆªé` )>Yè@pi—º‡µÀ]Ã(v_¶ßáxŽ:ÔKê³b´”W’ -
ýj\Wc)ת‘V[GëJ‹®BxO…ß›ÂyòÃ…e*;‚¯š3Ü:<ã5 tÁ3áå‡ì¢GPi`Dñ°áù »h¦„cø–Í£þÒÜäh.XÁMÓaôS¼—H!Pv*ÅUR~ü*Ä^hñ†`õÌ1äD¹·ñbç=Ù†—. -Ó‡Í -ø¶ŒFéjt+·`Õ{èøaJñNÍ¢YØË$,àâOàBÊ]ac:Aº²9¯ÚÀ¶vÆZ10ˆ/ætéûéÁXå8*12HýÝ°‡«z]˜ß†ÖÎhú0—Žç»têU^ÛK3:ÉNë[=Î8Dõ`j"6ELRg±ËÛ°É"qüLØI~%{×lµ¡™'³eL.Fdƒe×$mâ´z&&Òùjüçnä`)Cç~c‡è¯\‘–Þ—.qÙÚ´ï\¨}–,MfûÙëH|Õw…ʹÅ>*’ÐljR(žËQÍ¢K!d^‚Îï—™ØXÝÚH@Å£Õҵ㴉º»œ”¹Rì…9Qa)ÚçÄ”D8¢8;P{úöã¶-ð•Ò Œ;+î˜øÔ•6Š6Ù¾à„½ýÁÑ.…äÛês´f¶IN}´¿-%“
ÕâŠm_è…0…dšpEanj‡Dh˜s&ÅW¨—ÙN\!$YÞ•aÇôïþl¼|>Àc'ï u¡ð•xFvyx„¡š_y3Š‘ô‡; -”}âJu¬ÍzݨºÙê–ë-VæS;'#rÛL¨y¼o·Ã¯óó;ö©tù^F'É2óyîh"+ȲJ5JÔÛga1Þ?µØ³ —hÖäJ„1‹þvE9ûÖ–‚X -¢6y`8E„gÕÂÞn"Ý—{QwÕZšpœîQ»MÐ×±û÷¡F"”ªMa[üMr†NÂ=ˆÌœ°ÿ‡IÓð‰ß -'…)LÕÆ·_õ<Îün W¹±’‹;<V®®Vê«4«×Âõþ-•ÙÇåqjVŶƶ£)û©‡›'Gò¹Üþ·|B6¥ÛL!/:Í£ˆs-Ì)Ø|:ßx#mmRg‹sÂüU~qëà¨k -ű ïô¡ÿÁvú±3ÇãøïVÐTöíÈ¡Ìf À-7ÖÊË¢Ô¹òí1ú黳ÄH+ÎÊh½TÙ8MÈbQí‡PáÄ´Á%§kùÍÏÏ‹_…âË+Î@dí×>rÍÕ4¯Þ1HÍÅw]¿lh–ò(ÑÂBšùªŒîÖÊ?SÔúFi
O¿±¡æŒ#HnjMa±1§„‡ýù[Õ³0Ýàd.åÓûäè•O%êLþ¿•»íÒkž‘¼r¦„òª7¯fõîËbÞáÙ´Ùÿ €¿Ñ†Ò¥z¼ÛT¦|–Ùb°ÊîOôÔ3§féUÝ9Žþž0ÁË&C‚emŒ@õ—Ù¼)bG~´…~´; ä5¿ åìâuUë9·•°ìuØíivñ~P¾ëÖÄïϱ˜Ì,2™2ÿwQÈöSŽ_ß(,)øÿÁ¬ã¾G>s865ÏdšŸT¹B`©`݃À…g×Jq³kMâez몾-³éÓ“õžlÂçè-Þ¤Qý¸ÒSÉl¯—î¹E.¹awÃ6ü+]ãÅýdi¯CÛ7þ÷o_Zê6×kƒÀ¿Ú3×…O<ڕľ>.ÇT~IÜÏ$_ûo—>FNy¼êSÒE
“?«¦Em| 5Í™Sš¯ýñœ•›{æ￯z|fá› Ù1'2•
™'o¼iºýĆÿ!é¥ïnI¶N{_µ²èñ›òy¹¥Ißß³Ÿœæ±/+JqçtEþ+Œa¶ŽßߧÕÜ0ÖPùéw%bþâ~=ý‰ëV´0·…³>ç•ߥ˜žµ²vÛ›ÙǦ<¸eq-ëEj+˹)S¯2œÿJ%¼YjÒJÜc¢yÇ÷¾¸²™Ç}…ZköµÛ5>›÷-\þ-t~fÙÕ˜É6ÿ“µÓO/¿{±©ïšÿ£É?L•W–ÌpØ+ö®Í’ßLÄÄþbF¬-WÝëã¡â«§•\ÐÛ:£ë¹tϦ̣’,«ŽGßLŠyz½3»|Ê›'=íSìÖOH=k·Æ4íÒÚÛ-Âïþï°’K}x]›Y¨ÍªÂçÁ댈Àƒ?-*Z²åNÊú'/yw¬úd:a~rszòu¿*×ãÌW.Ÿºc´íó‚Gj¡7ÖX¼07 p0,HÎIM,*ÉÏM,Êæ +/Length 17463 +/Filter /FlateDecode +>> +stream +xÚ¬·c”fݲ%œ¶í|Ò¶mÛ¨D¥mÛ¶J«Ò¶mgVÚ¶ùÕ{Nwßçë_Ý÷Çc¯ˆX3fÄŒµÆÞdDŠ*tBÆv†&âv¶ÎtLôŒÜ +`jç°þ÷`dgklñOiNô±„œ +à oçü7%€òÿNeúÿ>‘ÿ$þoø¿EÞÿ7qÿS£ÿíÿ¿žçÿ„w±¶–7°ù; +ìˆÒ0‘Ë…•£g`_Ò\¯?Î`bÇ^@£)yÑÝïŽO4‰¤ké3}¼u¤>÷üt8ÓåÚá)׈˜œ¾ü`g˜ã§ÞÒ]h$aɉP¦` ®ÀëùÏìdõS{5Jk49þyC%¤ÛjWR$î¾®ªTzØ2T¶lôZoç¥ÓÐX"³3äŒy¼²@ïÍÛî
rÜz¯’N 5·¡§à ±ÎØGå +pÇ€úäLÖ˜‰¨ÝA°¼ñ`KûÆ{¥3¹4x“]Ûxš~tl(‚ó|ÊÉ2k$€ bï›a»ìýešQ² Åü›‚ú!0›~'¬lXäúøÁ‹vI2–û3ý²è½:,œIÇ/=Nneü„I1£@®1q½D896RÛò~Fb›†.V••^ò#æW;Ö§Ö0Gg˜rc4Œ¶$¢&V˜$,ŠèZFU¨Òè(ŠCæÀ9XÙˆ
jà‘!*ç+êJ"Èhzåðq½ïŒ5œ½ªÑ]ÑÎgªAÁZ^4ð¶[Põ"´©÷´f$,7Z¼ ¶ÿ¨üÏ}]n•Ÿ†/P’]UÛ<k5˜\{·h8‚–æ)Õj#ñá;+›üƒ!ú¼HףųúMÄv2—Û‰aÁùÃ솦¤nË(ö°Q7”œ +äÅêUCQ‘øôŸ0¬i}ÓOó_¹s#‰ÀÖzýÒBÝ`e¾°Ìˆ +ÚzÖj2üŽE}¬³T{ÔÞ¿zÓŒçѳ© eÌØ}ç3µý:äë…yœ:^ó¼#P⌡ŸûqõhDòŽÕö9Þµ®#êe)1í+dSÆõÓäõkP«uwÅ4ýuS¾¡Gf༥7¿å–¥QÒ̳ŒzŠÄ@~~ÝtÛ°ŸÈ‚ù#!Î4¶óÏU¤IsŸT!rÉ·‡Èä¶l /käáPȼß;±ïÏã%!ªàÂÇbèL‰†ÿ 56‡ÈÐlF
£|˜öR''¢åÛ†ÿQ;÷øw¸à~1Š¹gVáÄû©¦j ’Neç}Œn®EG½S諲Ýo&àîâ7ôâdƒ«A:x”Kd,±Ý¢ëñ)$ið¾^Î +FrE»I\™ÊÁÈÃåþ’‹+ÑUÓ!®Ú1C’NŽŒ”³+¶A_¾vÙmŸphìç“(˜G±ß×+…üæ~ªIéé™ÿf¨¦}•Îrm=:Ÿ¡ž}ÑL¬.¿ƒè–OÆœ›œê™ÓQ$¦¾/‘ÝtÑ¿®j¼ï7‘øë>+öµ=È å ó‘¹±)‹éó°ÇY{É&@ËnŠ”×î®h]gDAq(@Þ¯óçJÞiùyûd@¶NK`•¢å3]h•"6UÀ¬ü®&ü»ŸŠÝ\ûeÚªÎÙiÿp̨Îí]“n{uÀMẆ˜Ç7ßx{Òb?cˆ"Ôëªæ‹ª;\üÍÊž¶ ®þ¹@É.ñyñ(¹RÒ#ËMµ|ľଶ‹Æ—©ð¨_ G…zkLê±NêÒÒœv2X)«í0IA#{’á‡@·Qµ
º/9I²ƒCz1F9M‰oéÜÆOváÅ;³ÄUÑ+›…ŒKñ©˜}ƒôä°ªFxò AÞSRÅe=ņêü‹‚YEŸ«4
³<‡ÈÛʨš _WRr#{’8Ž^Ÿ7xôv\{R +vˆTÞÓ½'¼˜©(
BÍy^ðÎXr·˜my%]-<œï€Xñ‚¢ž¼ »ê¼XfÎÿ +‹èKÿ8ÒNà—]+¶Ï¼{²Ñ°×÷ÎÔ 7fªx±yI;c:Oݳ3±ésÒº ä9ƒåˆÀÏëXW—é +k„Í"O‡
ÃÛÐ ¨÷ioÒƒìÑSH{ê”<SsAæ{Æk7³^Øïô42:Xñ€ÝnáÓX¥*‹QS$Ï BLÛ¶BgeÙ)×1æ[é«éTk½²?Ú4›=õr×3õ8p¤õ°û̲µ«Š^¯êôPŒV;ªªeˆÚ<¼øó¬Èž*Š±2µ 1\C÷ëçøT'€hËÚpþÁ|äN©p¯éÐMŽ3?†ÿOBË1ÿ <<“éªÍÙÁB%œê×ÐÇm›®DÏ8U‹Ï£‚çúЦ1.A%«ö>\®Ë}RŠ"µl¶žvNl=œ™{>n)ÿ +«Qͦ#ö£Q+X€=oýÝlEñƒÕ,5|¼¦Ö€Î7ºŽÞ7úSÛ9…ŒþJÞ_ˆ +§jæ ³_ks] Ñ=” +‰»õùpØŒB2ùmU'ü—úÖƒœê¨SxS%š=-ÆŸ(Y ¹çÈ Íg¶UR\B0•õž%¡lû[ª=ªg¤“‘SuÿˆY'ƒK¯È|€=»oi6ê©ÄÄœó)]4õrôè¬J.åe»Õcø[´XXæUrŒÖÚ¥R<²wü†Mê¹CíX¥µitòzq@"›Pøù8HYÚRƒ¶ü +fÖ߯šËˆjë@Geví93¦¥e¸iæ¾
³?á—ôgÝÙÐörJü
l‚Ö+þËócWd–p:¢×zäPOÊçÍeÕr¯Êój +rKðÛ©°ë¦å×®¡9.Ë„¡œ´ÅÁ0n×´c›*¿w‘¬þ܃i]Ä7EW½ã‡Ý–o¡\N¡%j8"q7"eò60®|ÎRƒÍ‰õÔúÁ¸Ö´Ç‡$«¸ÝpÔ´Çë¸çó +@C¦k¿ 3t<ª"XŒ AZ£ëñOÿ’x~VÜŒA~
+ ¸$ܹbU1²f0úG¯bÍ ²©,`AÂãë¤êÖ5,ÛÆ#€ªJåÝJãchó$#÷X¿frâßØ&½W®ÖT¤Óñ[ºß*Ò(
¢óª˜<)ëÖúŠnHÊ£[® +tßä= +=ŒŸ«¼¯ 9žw™²Ân&~Íùùù•Œûˆ2FŒR¹ +¡!úõÖ¯ˆát÷à«Ö¿øssÅX« 3µý‰Ð~Ì>Ò긑ô…úJxº‰w¬ Q%‘CAÎ6DûвZÓ>n§ïwY¶~'27Åw?–ïÜÓn¹q±xŽú™…më,y*,†|ýÌŽËð·ºíû&æ»»>ëqÅI!Ï¢Yœ:‚g!¢8ƒŸ—~âv/‹>eñgûã]2Ë©Aʱ[¢_Õ¡>54lfW±:—_
9ÆÈQk³âÂå,îžž0»ä½öëT(Ó¿£NƒÁÃÚݹœ4± ?Q¸QÏÊÆÂâemêƒ8ýÈÃ~ÙÊ;òŠ50s*G"Ótð‡\$î”'7(Àw¹©Â2´%ÊÍž=cXÞÇW“ðœ^Xç{áìíÈ9²ø²¢µå1íé^Q†[‡5d¹¤g|ÙåsEÒK`õˆtRÖ¡ÆDõ&‹å ʬ¡«¾ID]G›Ò>Õ—äÒä·ô÷˜ŠÚŒ@ˆ7ê';¤DN_yBPÜ5Æ.£µ¸_=êC`«c·ÿ´èkðo¶C~*½ƒ'츕~–àþ0_½Cyöû‘î¹1_0¿øað4+ðFM(ßwrˆ(Ž)D°êoÀžÌÈ@Ê
úÚäÅÚ¬¦-®kóÂa=Œ£Læ7• cETͽң–ùwä@èGxǃeµ÷>7¸ç
ƒ|38;PÛ +Õi5í2hLmToaÑð¡¾$jƒOÄÚË`T„ÛsÃ’
¥Vçå§.ú#/|º¾E!ûKºÿ´ì{]÷½J +6‰yK:’– ™…‹ÖêA I„A"ÐþãJÄ;ŠÜ%Ð [÷+3S1½—ªÿ¦§g//ç¶ÿU¾rGý`Ì9ÃÑátÀÈ!€d$Û’,H\—¤VñäÉÿí!/õ{K0fŽ.œAåûfv&À=/–ü3²g_»v†G㈼cþ®*¡æ¬kYÍS¨éu~ßÞ¾=kÉÀO.V‹ŒálC|׊ðñƒŽS>wO|¿^‹xéTm‚ôÚbÆb!œ=Ȥ“sÊ=oº„»ØjSÖ³¨O¹ŽœBâèSåF#äô)µ©9¼ñ™áô¢_®ƒ@L>ølf=¥ ^«¹´Ùð<¿!ЃÜôÇ]8¼j)ñÄ)!tÁÀ(ÕJËpgfÎg’þK´0›ý¹m:Ö‚úˆß?êCOU×%[¢^7Â(E”q˜¹®‚ Ñ9Ägáôe‡|d郘K2á>F‡ê_ÏaÓ…^~@çÄé{GÜH¹P‘–¹„‰ßðà f¹¿¶ñg;Ô—yï +lÓ§kë +Õ^¥ÅPÕƒ¬šþÊE¨ò·×ò¯„sͦýÈíÒš(yYœ&iõ€"|‚žâ +9“³@½ÏŠž"c¬u +:¬”ø|?•$ mhuÚh¡°û´;„ºîr|w(:µÀ0ö‚Q-’NÕ +.á
OS£—KV’Ž™9þ9L!h½ãÒ‰W– 4¢Žžè#³j4UÛGGxßØ¢•CàÃó†R§ùõoß‹
¤FØÆ…éj7?]'TãÉ~„°êʲÙ~lžaĶùJä>ˆÊÚ4ŽÍ?1ÉhdzDæ‡9YÌoãÀžxÖwΑ|‘ËÓþL»Üñ@£¨Y5PJý×äÔì÷B³Ø™_¡}Ÿ#
Q'P!¡>Ö^¯) ªÃ‚ª[«œ(샾‚«!WÏàü…¾pkÝ;•Ò¥’þ ȺÔÅôß|6íufK/cûäNÏØÐêc£—a\¾æÚ¬ +wP2ØpˆT,»³'úYÿ ’ü²Å»t§¼S ¼ËH÷½WÞ¢|;BŸ¤lOb+NB66Hu{8à^Ô«2ZÐ3BÒ4©SÉç¡p¶ð¨C;OZ¡K7Øôœ`®d8³ÔÀߪÊzÃ{;û+vïF?Ój¥dÚAë¼£&»Yþü}_ùTÑÝ/{z:®Ž]álL„+OR2K|p×)kÌc»`3žŸ%ôõÙ†€4Zu\F»ÿV|O%qÊn û¢üç¤H]x‹®}—ÍÍæVýdOæQ6ZjYwñ3ÍÉRÀ]]ð1îå¬Ç4?[€H2¢²2§^áIºnùàhñNÉoyÁY»ma³¶¦o4Õ*ÕÇlÝdͨzçŸx»é‘,¨ëN.7ˆÀót2µG?Ft™Áxƒ}WÖ•Þ%fëQPŽ7ž™š$Üo?p.±x” Xm{çƬð*úÊŸO|–¡‹àœt‹ bîz,«ß,v>ó%´1Љz̸Pqªâ½x*&«¡ +[µK\³ê§2xð0p9Þ›çç@Ê +Ô‘x!‚qE«?´¾¬Ö!8É÷`tb?¹Ö`$0v=RYhS‘§eˆPÝ +—A€]fÒɧ[ s› ×à$Ҕ懩ÕÉ9°»”ÔóCø£³¥¾,¦ÛëÖù-©+ß$Ôä‹l-W¡ý³GLHû.ë.©Ôyˆrݤ)?a𲘄ó.T݈ØÐAUB¶o]7°tv£¾!¹ok/D¢Å“–)'¸sT^doRR!|û±Cû²M¡;Êjý€IBo;Ô¬Ú2¨[¸H'Bš¤EL}ÃVGïû^ÕºuÂæqÁCŸ ¥ärå›”)b„l¦`p'b +wÑÄ%ÓŠ_èÀâ1r}!©8‡&5!ùGy]<űX^¼ÓG÷_tåÑý¤Ü_dzŠP¿;uòì¹TÇÞj$ÆÃŒL!Y°™:B`ØzÚã€æ|¢¤ÿ8˜Îe:UGÈb÷U“¨F“QïÙfí2Ç}&ˆ&K\íµÉw‚Ö3M**ƒ[öWÀÄm,h©\ècÁ1’Š”ÄøŒä‚A•Œƒ¼¦n5oÁ£8S”Ó„aŸ8`7ÑåGs|˜mY$YÿŒàÅ®a¹ˆ
€+ %²q6Xø³c°P£vYR\¶yVk“µPÌs‡¡dë®ÙlHÌzÓˆ¤?ÑxDû¨`Y?,·Ò4ðâÓ$pZ¡h©Y)>¾AéæÃsi¨A䘾™åP–¯±"¦¾st%wŸ- Îò^»¿v¿Ú‰¦oHÇ÷)¥>ä:gB%É$êñm‹³(Œ²›ƒÕéµhJ&iHÀxïú‰7'Bæ¸T)ûŽ sh¾±Va+†œ½šÄãjVŒ*®uŠÖKšp8y'”gQͽ:~tøÿ*WÞ´¡ûD£°IË[x¡ðÎa—±…õô›o´`ñgr\SÆÖBBÔ" +¿ñ¹®C +mDûD.eÅûHè~r“>Jè½%£à$)§Í+*_©‘'=m
‘ÁHP]S+ŠùlŒD¹\×éz~ßüÉr©»fBÎ%kÇ¡•Ü:'öBµ +;žÉ†µ´I1OÂ(u„ÙmY,µŠÁÀâŸÁ´óxÁ 4';G(sN£¤wj“Û}"³·=<ˆmr
EörZö‹¡:A¤;']’Ð]ü‰ÄJì4³>Q¦‚ogJ +Õ>‰¦ç
+@†2uQ™$ï +J=ÔŠØdJ&z…(Fh¥³W¯•ÜBÇËñ#?‰t"óxȽNŒ$ð,‰ë„hÀÎ{ɇÿ®Ìó6äoÚÑçMA¯AÕ*s³d²l U\å¸Bs÷bØEúÕrÖ.+D£Cñ³¡Zê ŒHRsy³‘ƒkVïbw-CªîaÊä«úcþ–ÐÛ_—QR˜/Ýûº&¶ZóÃ}}ØÆiקó¦½bsÑYñÞ^ª¼¼ + oÌʶOš(Üb¤Ôhª?ìèÄƮͣ³´å´’Þ·oÛ$ƒœˆñ×3{×Õ’œ±“ô ¼¾²1õ4~¥ÖÀ>ž]„e¨MU‹_!$,þ°ySGs3Q=o r +ÀRîq/H³iG¾ñí33ò~²»¢»dÚ“•€PG…P>ÃïB¦`_+o»eï™ÌϤÇá×Þa)òóæM’häktÕõE ]ÁW É–Á\€¨1
çÌ’ +’ÍV˜ ˤ\·ËóçÈ„?/C“jŸ¯lìJnÈ´2ÚDW>ÑbáüñÁÇò‰“ã%K1 +Ýæ1rlwzŽôúÍÕ5a¾‘†ß4&&âL´JBºy{‘5ºßßfCïV=Š%‘™ItQŠ¼lZ,çŒRÖX=º8…_$‘¿çuóôb8 +]aÝ÷'ÁpœC15> ó—fV÷Ó§ê3ðŽ±q-\w +#„WMÛ€,¦¦³4áYÌA³ì—|$OPx+6ìº)ä2˱¥`ú‡,ó¡Ò{œà}ƒ÷Ĺ.Þ•x
l…Á@HÆIÍሢĔ +b@/>ø_ÇMC§LÎÕSø}Ââá"4, +Xh¤àEá©„3>À‰˜>-~65—¢?gB…[¸üPvØÀÆ^_EÎÝ¡Cò@ºÔJ££Ð"›šdgÀ"讽Z€-?=aòjZñhh¸‡R<€þÂR~ÿfÖ–×سkwϪÊeœŽoKÂ×’Æã¦úÌÞyíÃ5ìoa|cïÚ^Hª–§•ªý]3$¼øÃÜS*´m…NDY)=;â£8¹Eª8‚ä«RoF©Û;<Ÿt‘î%›Ö¡—\7ÛôÃëïlkŸîˆ.‚Ë#nz dªÎsÐõÔよٱ–L¨”'fï©Að6OuôQ£tšlªl•ÏK¬·Ôk†Ø‡[¤T×É|© +:¹äˆ“æ’® ¸y_h)\Ò˜qbÖñö +ac²°1Ö“ðÅŸ(ÿ&¿cZ`”€IØâ“—dø
{…§•Æ]Ái¯õ
Ó¹·Ç ¦Êw¼[šp‹l7V<ì‹þ㸗BJ|XLZC”Ì•¦pUJm›p
ÏÁ‡›Œ~5vu>eè½þkŒˆ85£fÑ[ÆN‚mÙ>-_GæHR¯¡^~E0UêãE•+FÌ~´’ +Y+¨fË5•‘¨šÃ#² °—«´„Wâ^P ´Õ»å·Îź_à£ÙõFoɳÈÂ4?µf†äßFVÉês÷{¶Ýìvâ1fMäèj™×Þ€njyNðp/ÃŽdÏ5’A½©¯mO/
¸ºqŽÞ©ÙÒ»<~àÖÈu¾br¸2dZHI½_€@²‹À¿Ô¢;¥ÎMÈ´3ó)Ë#Ç!ÛfÌêæº[Òe^Ó9Lnßf@Z7ïAÛ‹MØÒ¥UßÉ\x¶áŸ}i~=T“5µFcňSسգÜmµ;yç}¦Å”9MŽœËºjê +ûêJ5º!%ñ=ØÜyj´nŽ®ä'Ù¿Fhüé³}<s+H,u”E¯*<)%ºÜÌ4ã£+÷JÊŸ‡È~IKæT7Ü:ÈàW¼1äŽÇƒàuo‚™ÿ6 +nä@±^=–ßš¦“çB"\6½ÅïˆÄ'à6Ê}¥¸?+pÈÓ©ù(Gj]§Úm"S†mc¢w‚—jï±"‹ä{‹¶»lÊbŸðŠ41ù`;p˜j—Ÿšµ_™2t‚ÎêÌyÁcû3~zÌõ—•ôñ8•()¹³ßûì#ë0S×ì1Ê9!0z†1ÂÔNîãtÙæ番éPI¢h<ûgèé§ñ4ÈûG‹ÿuüÃJ²ÿÑ}œ2)ìJšñÖÉ×Ô¸ ‡…ç.úÜßm¡*´9ê +ÁiÛÉÂ[RÁEûÞ"Y"mÜn˜ãs5;V©/ÞÈÍ,çE<sÚ YÕø9×H½¿‡â¡{¤j°nlª³[>³;SyIlDsD«÷ÖáZáËìW™¥}¹ÌØ$ŒÓ¹àåOfú‡Èl{}ëüEÀ-BIÉ°†ù.»‘'‰Ò…{uÌÔ .0s
æ:§È¬þ
½ÿGdšÔÄÍç7°ë +AÒ‚†EŽ,:tCˆ`Ý7É–)Bè|b¹¦4<×p׋.©ÉïŒ4ò\㬕ÎsRïñ-;äµ°ÖkŒX¨jÜÊ*β—~zaÁE +@΂P2!a7¹˜óæ'ñƒt/Jd¶Þ9™ÏÖŽxä·±&Ñ. +”NáãìR3«»_C‹¬£ ;6aiv,iÁKsó½Cµ›k`$zeqÌ£tobØôûF%‹®¦TïGµÄÕfHkÞ•èâ¶üšœ%«ÎS9£½ ûÔé9¦Ù<º’y{)„H5œÏŠ¯~=ŸoU!ê‡`5\HÌCO3ðk£~@œÑ,÷?ˆÊÚÄÓÏJ´#—Û ËVN“ÛÊÀÔ÷€¨µË)7°ïê+¬jã6;+E‹pPe'ø¶Ê·“9–E UÇiîc˜çî0a¾Z®],Ëú÷°VaÖ„ ifÔ°—WtÒ=¾/hR3å%_RòU1œÄ°-â$ân«Ýô-*º4Ø7ÉÓ-”P¯Â7GÄ|’Ä¢r#)K'Q8ÚR”:èô†ë:L‘cf/dðçï“éð6w¸)B:²»CIFeK4÷“ã·¿ý'L—RÂâ;l!ñmt¿{€dwÄäÿtûF?ÕšèÍ?ì@®M*
ÖO^,r&@WöD¥©Rñtq…gdEÔ’®‘Xì¡š•âPDµel÷zŽâ¶YýàZ|dïÉBÑÙÖá8•jš€¹±kwŠvÙU¢‘;týtm¯;O“,Â7ñ…ú~|Yf2‹X«îBQøàÃ?5½ÛDÈ|NíãåE/Ÿ½ÒàËzøíÔVÅu¹øûZ©¥8 ý”âFKH¶.·sä†Éí”±ød}‚2tì„Wgði<µ§ùÃ)‚»¤&ëðbLÚ> ˜ï425ˆ$³u'@ʲ¯>s}OXDO¼ƒMsœV$º}5È= ™
³j½{_yb)ˆA(™SQc«¤FE´Õ´æ˜×ó…d‹èøYªôÀ̓ڼIg‡$ðà¢ö%v+W`ö4f‘”½Sgï‹KýàIþ´œv¿ó_Å?‰×)¨SN5’‡%<QnZÂ%õ kñ·\™ÂŠ¼†ÍÇ…Í"?äWv©ÜšWTHŒWµmÂÛ0G8]Ö~9X £²´éÔ€85W§S8í^Ròbú…KÌbAn°¿Œ—”9ô\Õj(k™ãÒ.¬w‘¥é®YId›ÆmYs2>x§ª ù0˜(ð¦lŠ¯<ã¨ïü$QƒãJœÁÉþ£îÐí¾’uÿ=ÇHÏ™./˜ +
ƒ‘7”eobipt¯Â‡Æ„èü×¢>°7ÐTÀé‹Œ3¢˜íL>¨;¤Õ¡Z{ëNÃ2Ifk΃X?ûÊŸ•ÇÚ»iСQž]T¿fªºaœDOXegò“Uõ˒Ɔéµ
œ>w·˜qP ]ÆDŸ²eÐA·ÔÈ“ï;ðÚ§ò¦ /oß+íTDzSí
Ç‚)H0RªÆæi›…oÍßMSüÕqI4![¤DÁ‰Ò ˯—©òì&¤ºSã^lœ&ѹ|,È@c(8›…#|p½Ÿˆu˜,dîð©¹Xv<Ù²2<¬E0qð¦8i¯F.…›€•÷2ÞÙ¬=í󆡵#·³ñdæÃS«)6`¶ƒ|QB¬Ï€å±×]LAºyOïQSu4˜½¿bN¦ŽŸ@ñxêòµv+\†y•aµÖýœhFt€ýÉÓ Ú([a8™šU«áDªÆøS}Í€Xê½;+G|Ó¤‡ˆŒ•Œoó¶óEÖ¯õ¦Q}Ö·
ùAäÿ6yXt§¼ÍŒM·;ŸŽBõ sž¯²ìð Z™ ¨"îÊGûo)p
°²¿voé¹:EiØ-/–´Q°ûL»á~äC%4·ÄÑÝ}O¿S€¢BYäð¨€Y°ÿ 4FÍ1w–l–‹æ{UkÊJT“\v½oFö‹lÜ'Ó QB¾©!dé—ì23ÿœ,Íó%§CE¨Úø ØGyž¿Ðv“!^Ç)a©-bRSuÓi?ñœ± +^¸V…ÄÂj•a'Ð@Òãõ¦A’PØžŠõÝÀÑϨÆk’ƒÝ{[s—h£^1˜Á\¶åÍ‚ˆtAG`>UL=_‡Í;Fé™0\ï¬ 2kþ笨oÁ‚Ä2,+³}ª –Ê×µ~C +ŒÌ¥íìGd‡®ðå¡)5¤ä3 W`ì™Ç=B>Ë<¶‡p9¢Á +nÌLHµSgê`CÁ:¢1Mø%Ç©f§GØ\h¤ËSIoN)fKIá\7ìb‚“–\ãÖäâÈ!¿v¥œûl¸•lªIæ&Í,æ5,ІAžpâáÇ~Õ#Ö$! ¯ýì@Y–àç…. +Ê©75”Wòq#ºÞ]q“§wëãó²Þ\³³oõ¸Öœg,ûaøÍm“*úe÷‰Ïjø6Åç,·ÿ¹¶ÿƒ”úw0+ +àXyÍ +•ûµ'ëæS@é&TÙ{ä2ñŠ|È”öùà¬gž/\ÏCöÄIqøyðâÇ]í-ÔE—Ãû›« +á·WJ˜áÀvŹ6º-þvܾ¼A,Z¸ÂÑðnîT,v¢™øcaÞÑ@*IAÛGLÞÙ„¬ýÁé<ç{s¦JAx… KKó‘ý™’Jžø“?µá19_lhØm"¡‰CÀ#¹µ™²-]ŠÎ*—êBùa=Öiú`\°‘šÌĽÄ2q¿ç ~¸`õ†\Ô©ndYˆƒQçûXC(ìˆ}ÈSðäùò¨ŸÉZ†À½ì¯Y˜<L÷5…¦x2°øãV÷Mõ4=é\‹¥Ô9…X+Ï‚Ÿ§RPÖÛGËu…a¤P²² +Åé]¢R;”Ô›Ò²¬[~°›.Î Ì R›ËY:Énà +šykDÿ@–S7í3&£¼ÔEüJõòAil©ì
_wÍŠËÏ6²O`·37DÕä*EŸIÜÄA}%¶¿SÚi:ÕVXË[f ¦¨§Ç…ϵüıÕõ¡®ô
§<´Æ–îö1Ô·ƒùØWºrõEŒCžÿÂ$7ýêU³¢‚På$Øølä7»ÒiBíWf ôöE#Óëóè‚(`ż8ÆÌc#/ªÉ¿‘“\ MnèñjuÚH½Òe=d×\ètn°Æðÿm×ß'ߥÜ:æ®wÝ¡åaë +ñ„æ¬[ëÓsƒûf-eß}ôœLÑÆI«£'sŠêéÔº2uVanæþÈ#êbŸ°E;l\Å,“±î΂ÐÈÖ¹ê¬Ó.ι’=û_CS‚ÒWÿŒÖ5>ùYÛœ:mj>§„¿ciö4hµ°/D¡fšñiï/3ZÚvI—7?éö,9TéÔ\*Xß¿'È·µ÷Ñvé'±ÎÍÜaÔôM]‡'>ÐÙL;áèîõ³&†rÌJï¾V–Ø™iÜ®«Îs¨þaaMVN$ÃÓËsÖïÞ”ã‘kÖ×è/¼\äåŽ]+2ç+ž’ú, ‚MEç{¡Í6‹U×´ç11.ºÊÅü´aíâõ‡ÕWU:ÜÈÛøÿ:ÇŽ¯‚?W½³žùíËÚv·Úe6åLO£Ÿ]*wØåœÚYzȦֺձ–嶕vòÍ'¾÷ÞNJ°rëÍ:%ñ[xΕªà2¿îÞ&ºwdì^qFÊ?8|“£óÁô@··ì!3uÝ'©½{{h!Ÿ|ÓÁÏÿ_¹”¥ËÅäöôOÌÝç¶*ú
ÏG6sUç®7žÈöm—‰ßس&ñòiG¶¬;T‹®•<þ´Ù¬:{Gl²å×¢ï¬ìgïEßÊø²óß‹I³™O¼¿ûDΉåöJ“Þe95.ürfNâ·UÏtžÜ|EõgÅïðóý!¿C…4ÜódùïÜÖÍûƒ=ÞûçßZ&éý*yJdÌƱ•7_Ô 9U¶òx4ç‡RáÇÍ&{gžwJÈnÙ|‚y¶HÆ…¯%jñç…æ¼ì¾¼hyóLÓM»W/tšÉ•yg¿…žÝ«¶è†÷Ÿ}PëR¶ËMìµZ%R¸ã†þAÞZßì“oD–.µ½þse¾™ÚðŽ¾ÝO|¿•hÆ”±';léÇ9s'=:íÖ:×3xEB‚[&_r"Û±[ÑfØ–FlÑóÙ÷U /°•/ϧ{oÀ~›µ3bnéÞ½0]»4ÑTÁW²8·¥ÝL±?æt£ì•ËUOõKÞòß÷ÿ÷'AÅF÷Ï|ñ¶…ú>Àî…€kÔ€aa@rNjbQI~nbQ6 endobj 925 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 34 /LastChar 125 -/Widths 2016 0 R -/BaseFont /ZOHDZR+NimbusMonL-Bold +/Widths 2017 0 R +/BaseFont /PTMDMM+NimbusMonL-Bold /FontDescriptor 923 0 R >> endobj 923 0 obj << /Ascent 624 /CapHeight 552 /Descent -126 -/FontName /ZOHDZR+NimbusMonL-Bold +/FontName /PTMDMM+NimbusMonL-Bold /ItalicAngle 0 /StemV 101 /XHeight 439 /FontBBox [-43 -278 681 871] /Flags 4 -/CharSet (/quotedbl/numbersign/plus/hyphen/period/slash/zero/one/two/three/five/six/seven/eight/semicolon/equal/at/A/B/D/E/F/G/H/K/M/N/O/R/S/T/W/Z/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright) +/CharSet (/quotedbl/numbersign/plus/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/semicolon/equal/at/A/B/D/E/F/G/H/K/M/N/O/R/S/T/W/Z/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright) /FontFile 924 0 R >> endobj -2016 0 obj -[600 600 0 0 0 0 0 0 0 600 0 600 600 600 600 600 600 600 0 600 600 600 600 0 0 600 0 600 0 0 600 600 600 0 600 600 600 600 600 0 0 600 0 600 600 600 0 0 600 600 600 0 0 600 0 0 600 600 0 600 0 0 0 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] +2017 0 obj +[600 600 0 0 0 0 0 0 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 0 0 600 0 600 0 0 600 600 600 0 600 600 600 600 600 0 0 600 0 600 600 600 0 0 600 600 600 0 0 600 0 0 600 600 0 600 0 0 0 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] endobj 909 0 obj << /Length1 1612 @@ -9444,7 +9465,7 @@ endobj >> stream xÚ¬·ctåßÖ&›£’Û¶mWœT²cÛ¶m§bÛ¶]±*¶[ÿsºûíqnß/}ß{Œßšxæ3ç3×c“)ªÐ ÛþŠÛÚ8Ñ1Ñ3räÍ:;ÊÙÚÈÒ)Mlpdd"@C's[QC' 7@h˜™L\\\pd -ŠšRò +ŠšRò üªm{|ÓÂv¸*Þk‚駹?ÛÜ—Ní>ö¥©F{1(zR€—ùøÞ$T}¨›ä4z%ˆégQžW‹²ÛZìŒê»“JÊzÅïPߧ;X`®ž¨üH\ üÐIí|ŒRëc1:QA¾Õžž‘'?=RŽõÜ@öíãÑäÄÂ’ñ¸@ ’GúÙçà h©Ux†SA¥7!àÝ´_}jt{êå‘‘â’FX˾*šæ¯Ù´Ë¾'A¦·ð&Ê9H¶îWþÀ¼žŸŽäJœæšËýZw&sÄâmŸ 쿵$
œÉ„®'~ @@ -9525,23 +9546,23 @@ i¿5xÑ@>,Ïu> w?tiÓ¶0ûôIÏä#%(ù‰ö ^hâŒð·¹ œ£“hZ™Í/øÅ_à7œÀ+P¸¸&&êåî$+Nȶp®Ô
~I(–»c¹ÚŸYªÓÅg¶%ø¥p%ö>’H¾iL¿\ÚõÐß(¦µâ_«8Cƒ—R{‹ Žµrð¦ëØíû‹0Ê{‡˜ÊQê¸2‰«Zœa‰ƒ†*7Äc¹äJî„I›ÏüìÒ]©æÁ 1=Š¡å©òñS€MX¡¥GMøªéþP¢‹:*½ÙOT9†ÜD¨*ÀzÞÃ*Úž“¬ÿ°Ë_hg ‚œ«ê9ŸjˆŠ"J7Þ®(ðhT(ìâ ª¦¼ÜðÊ™§Ä‹V¬áÝq -oò]ç}£¯9B‘7õ· öœH{È’ëæi`T&éVÇãs"¹‡‡ªÃßÛçVMo¼iá÷׈â{C„^×;¿_g¿`,·÷þ2
Ún“
RÂɫǶ]ÅjÍuib°ƒãÏV!QÏÆ>²¦aO<ö”ñOÁxƒªH²$áófe°§Åû›ê¥úКxÇÑiêÅà>ò$–Ìy"-Ú-ŵ ôý‰¤Ëq¸ŠÖˆÕ"™[Ø m¥cA¸¶¹"t8Q+PK¥ìó÷Ñ”¶ëÛãh_“ ®$+ƒº‡¼S¾ÎúÜþµ$áØ™éezv~7EhÅZÞ‚¥ÓªãHÝåûm®Ý‘(ãŸÄ"Þïòwnúê›»ÉÕ”^«¦ +oò]ç}£¯9B‘7õ· öœH{È’ëæi`T&éVÇãs"¹‡‡ªÃßÛçVMo¼iá÷׈â{C„^×;¿_g¿`,·÷þ2
Ún“
RÂɫǶ]ÅjÍuib°ƒãÏV!QÏÆ>²¦aO<ö”ñOÁxƒªH²$áófe°§Åû›ê¥úКxÇÑiêÅà>ò$–Ìy"-Ú-ŵ ôý‰¤Ëq¸ŠÖˆÕ"™[Ø m¥cA¸¶¹"t8Q+PK¥ìó÷Ñ”¶ëÛãh_“ ®$+ƒº‡¼S¾ÎúÜþµ$áØ™éezv~7EhÅZÞ‚¥ÓªãHÝåûm®Ý‘(ãŸÄ"Þïòwnúê›»ÉÕ”^«¦ endobj 910 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 33 /LastChar 125 -/Widths 2017 0 R -/BaseFont /DHRCPM+NimbusMonL-Regu +/Widths 2018 0 R +/BaseFont /RPQJMY+NimbusMonL-Regu /FontDescriptor 908 0 R >> endobj 908 0 obj << /Ascent 625 /CapHeight 557 /Descent -147 -/FontName /DHRCPM+NimbusMonL-Regu +/FontName /RPQJMY+NimbusMonL-Regu /ItalicAngle 0 /StemV 41 /XHeight 426 @@ -9550,108 +9571,116 @@ endobj /CharSet (/exclam/quotedbl/numbersign/dollar/percent/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright) /FontFile 909 0 R >> endobj -2017 0 obj +2018 0 obj [600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] endobj 872 0 obj << /Length1 1620 /Length2 20127 /Length3 532 -/Length 21035 -/Filter /FlateDecode ->> -stream -xÚ¬ºct¤]·.Ûv*I§cul'[£b§bÛ¶mÛ¶Ží¤cwý¼ï·÷>cŸóëœý£jÜk^s^×Zë5FQ’)ª0›Ø%ìlA,ŒÌ< -šþô¯œtGLz¥ÈéQž7K²;P?8˜Õö¦””õJ>`ˆg:Yánžiü(\ -ü°¾<Ù£ø§6Äbw¡5aÔž_|M<}~¢î½…î?$¤Ë‰…§äuBþéçC(øCB¼ªùÕi{Ju¡glŸÏÏìC(»ƒ¢ÈbÓËZÁçjð§fÌÁpC@¶ -¦éÂú”/é„ÐaF)¹ìÉT_Äü AÇDF@’_²–
z¿IÂ>^"ò“£œŸpÖj×Ñm¡HNZ¬¹Šù—;Ão{ô«OŠ—©š}¾ŽÈïqM gÀÁõ@‰Î -vÌó_ŸäsýðKÞ`zŒ—6$Aïܪ“³ÖUªÔ¼qTÉŒ!ÝNë”›Å/˜4ú#pöpò>ÙMBˆÁrêM<õlb®‚‡é‹à\jÑhŽ!··qèš–í:—…u>5±“ª——‡³›G¿:×MÎ{òεÁéKœJC·Ò@µ¾/)qpgŸ”µí‚ ¨•Šgý´»Û]^ÕÞƒÛ1Ü ½û߬Dþµß™á…°ä]xŠ©9 -b¤H#øÕVh@û€€Æjý)ûƒe{’Ó -3 á"Å8a¶ÌýhC©Š‚¡|«ßÎ[ÖGÏ3“GDBI‘Z8«µ¯öºÛK -’wi¡´NºóoI^0Õ–ÎÈ!C6פ AÅjc›a˜LÁýäü>wiúÁЧ('Q_´d¶lAS¬Ôæ‡äaíøîyNM×iÙòD³."KÂ.38°n -ݱÍAïOÇ4å|cåžä½Ë™à˺_…¤Bcbœp%ÉU™xíŒ`#Ë}Cºûð¥H"¹ºå)çØÑYi#,ج¿ßÁ;QÝqç·Äjí(^&+
MÌøkRÐ,7÷u¾!+o¹-}iC¼HBbÛ*1'O. Íþ~6'jïý˜ñ+gt5û¢PVÔÿ¤˜¿T?ÚãÔR¨s(S¡šq¹"yV‡ôî@v¨„3ëÔHG¹çòšu´ÉÅQ›8Ô%âÛV†w>ðÛeã‘[‹}H}öA÷4OöÖgí -„7N•{œP¾©3¹¥Œ/Ä[Ö]ªpCƒ’½f±eB8|*ÿá´%Q0d’hyŽÏË9€œH7þ5'i}=½ó{LXwÜëaä6Aº„ï5Ëo7F—Aµbñ#¹‰…O[?ˆny=¯7…³¾ÏÆ_žMSÑÓ<Ÿj²¹O-ÄËOrlºÈ|!•¡ÀºüV„,y©+¥,ßê¹2š_Sûà£#üåž·${qÛF2<üm=àmûS}ü{/°¥ÖÌ:i‚ƒ‹\’³¦ææŒ"×îS©ÄÙM>?gЀñ¤kMí!,£sê-Ð@‘œm -ï™°H¯Ñq<)XÍe.vUÀŒ‹Ææ6¼j÷(OóÈŠ¨ð"AÏ@ä_ÞžX$#–alxUeh[fdþ.Þ_lÔæ8-®(˜ÙÉë¾—©)ZóÕŸ -Ôû´Þܼõz2‹÷¤#‚JÇ_N‚aºäYCÏ>\z…„–gĈÏs³Ìjd¨¦!X¸ˆÓwÜ2mö8Ùp!os´C?yTÿ@[Qc×Üÿq…ÒŽ¥Á=5(æΡm³× ÔIìÑ/Ôa1VGKj]Ø w´Ú}oä¿8A#çÁ°\SêœM,ZkyÀºHí(¨ ·³ÔŠSñçöš]MC~ÌTŸÜ¤Pg}÷p€‡€
J¥'Þ fØ‘Vý"‡øíbÇdsªÝë~£vz-t±~ŸU²ôn5\±ìÕµIýS«Uÿ >¢KóHšÃmµ[»nKYݼ øËÈ|(ÚÍs@w³™ >sϽ°V…–šü ®ÙÞÇ+×Xª‰‘†€9õUW«K8†?é
`(zšŒÜ›×Io_eîÁ‘Í>&p×$ÏoLòŠJß´/õý…›R-“ÃOÃÄ,Á‰ þØFáÒÓýâùu.ÍŽ©X€²£ÝF:ûL@¥å߸‰+¸CVçD§›î$2ܘ±¤‚Tô¦:‡4Oòü?ŒÙì7ØC*™VBÆò6VjóšÛ¾§
÷fÝÆ1÷ídž
¿ô|ÒÞÞ@OBG À§˜«T ˜Ã1=Úuø1&\ÛTĉº(Ð64Ï›§¼ì¥—¿ž6ÇnÚ4~ÆcÅÛ[zFbÆ’RJ»žƒ.¶¡ÖkŽãÃÞDþÈÉ+GâzƒîÔ¹m_C|øþ0/–Xµ³-`_1+Rå¬Ë¸ƒðžM*&`*ó|ÜTF-ò\<óãT¢ - - -à+N‰Ø5ÚNjÔÐY›€¨áàݵiï+Zf;ˆ?Çåe³ÙvWà·kŸÒÅüµ—¢I¹ë´“F4{½*-5 …)<m‰‘·iîúó…sA€fÌTljò‰¹^›]¿w›H.’îŠI†m¸_|óÚ»b \ÝÛè#Úžƒðž1Êê
×åã–μmœh³fË]Ú¸¤„ž¯\ÇišÒ}EK¶
õ»›õx}3sŵÈûÔM¿=i‹ƒ)»o)=26¢QžÉªËC†;ß5T]hQ€Ð^šŸmúà|‰Z›!ç˜8ºs±S°È¾J¬f?ÝëÞìoåCˆ€ßlOŒ‰¯¸1]§Uxœ<Šzæ᥀•áç=ˆÎmòò‰¿½PÓ1ú”¢>2x¤iÎ#§·5ž.‰©sVñº^ñ¼ëÓýªÀ›`õVÙÅ¢UR¸¼ûpœ“åæ41$ûFÐ8ªŸ8lV{v”ƒîÞw©³î~¯ìýý«&À꾃~èôÓEKå½ây
Dj”¹÷-vá'†H=~€Œøä“þܦð!UMÌÆ‚qzÝKs"œÏòçžNIZÇ&s™/í}‡•‚ðQE´¶åï¼1àE˜»×AÖö¹›€Ú8!ZŒ%©u4¶7×)-¹¢þxÏÌŠi#Ò},V{ 3ê™Lk0Ûd±À1èÙýåÇN@ˆ<E¾=\Ðwö\#·Sä‡ó ̵ì¬j‰um‚Þ>ñ€ÖXzdöi¢ð»†¢”YµÇÙ¹þÕ‚ÅmË.»ÎÅ)6>NSã"jú¦HËèËLnE™ƒ¦üÂKh°ï_ŽÆˆ\RÙßC* 5¦
T(´eLjÔ9úÞÓ…eñrWtA…¤ÙlõtŽcKª¿ÔL©ÓšïÃÍCm á‚cÆó7ªÓû:³HAÁÏÑ×$k!å8Õ#[;mñW¨$¥„ÊQã]T”PpÎÊ©j0)¤p)8H‹Ûä—4ÞÌd9ãYVä]mze;ûµª.ò+ÜôÖƼ9+C…ŒµÍ7ÈÀaÀõñú%B{PçÑó²ŒG>¦ï\8ÞÓ>\ùë -¾07ÙtîRÝçP{myZí2÷<ijœçâzxÒô£'2ºñÉþD–£,9tÞ±¾vR§ðSpCŠ%è²³O»¢‘χæhÇeUfL†öH)”éßѦ"¥2¦TVÞ¤Vx/>’^Ž³Š$pEÚŸºþ<˜÷|š‡+œüäî˜j -º.F5|EKÖ_kßU†Ä&“ó"÷•€äûdÎ…#æ›5åØK"20¬.Fí¢Jà(2\࢚z~"‚*X¸×”•›¹-=‰Œ!‹2ZK
…‹3…~`ÊòJ&qðmvpˆ;¢¬¬Õ¼}ÜtЈD½N¸Q/pÏÐ@Øy)diDÿD¡ -ÛIX¨_QW:ÿµ
]úÐÀï9Lœ`]fd„ú1ØñœÖʨó™¢r -EþØÜlgøÕ_:jûìe‚¡¡¬ -M
q‚8IoÜ•ªÅö›ÍL-Ô…`€ToÞ½*Pvz:N“x›ÝžÜ™3*IŸeÀ4µô -;S9Á%]9Ao¢ÁN©‡’p6/€ôJš6:7õ"élÈ2îqœÞ܃A«ñ)Û«Â!F—?+ÍõÙV³d$7ÁÌ&áýWW(Þg0 ÎÜ#Úž8¤;ßJì¯ý‰Ù¡L¹ŒÙOÝ5oYÖᘠ-AÒà}…a™5‚>ÂÃNFØX4²–€žÞri¸™½‹…:'é‹NÎXªËQ±lC#Ë4’w‰ùŸÈ>ßOºÒLZx¯dTH‘™‡Ø*:ÑP=<Ylc<¢„%Vù3nË
½H¼!›Å.raìþ“¼ù÷Y:›Îxf‘…H^#ü¡ æh -ø>@[›CQƒi«m®þ²´! -ÚÕìΨWtŠã?oAZdævò6I›¼)’þ‰èRUÛÌ(Á@Ú”µ²âa»¦Ð£ñ Ûå²ÛšÖ/ì¬ý&Å%é¾ACF÷êÏa¶šƒ;öùZjûâÛQBÙ„ãljÎYIN«ä…{Ïy|—hX®t²RML‡WK&q¨aEPjÍ–_ê›Í2ÒÙmYL¡£Ý§ÎŒrêgsÓ¯NãÚ‹+A׃²„7g¨ëÞÊN óké…%¦~aÝ–o¥~F¼».û#3{9D«Áä1;â´æÍôQôÃZÏú8w&_a†¶j¡ã÷q ´r©>Ý}~9ÃQ‡“¹ýñQËöš‚¸¸ÅÒRß -nº_Ø;úáW„ZÏ(œd ÆÅÕ>¤õ„‹ÁêÍ¢*qöŒ‚#röwQ;£œjÚÆ^kNÿyŠÕzÁ<S€\ìæ¬# -)¬¹YQkfb -<Æê> tjY×rCD[")Q’£#˜Øn]Ìcõ(ð(»CÈ=g}¶F`³k940ŒÜ§k¤ÿe:ä#_tRáYL©£½N‡íAKZ' KLH§£tvH¶ÐSÑe6óSò<ø]©k>¿2 GÇNê#u0UóQŽÅÕòK»/ó<'\`ÛyæÒ5êLZ íèÄn™çšz‹ˆÆL²˜)ÏvŒX¡[M5þÉž„¤´‚o®HõÌLg‡œQäzä<¸±5î6Ýc²±ï.U¨vÉM{bUWåL¼Ù¾Î,mxÙ*û+‚ikX‚â{uõ<„NZ'8ƒ,T¥~Xè%{2Ñ/f>[µª¦Dîïö|Ý¡±šöœ©.q´Ÿ›l¢”„AMãSæKæí3r,ÁãZ<Ë›¬ïám)œ+h¯zìÏa~¥^Ø‹Yºxà½M67 -}¾Q@<gäÍd}ßÜ-âãf††Çª§è·à^.@uz¥@”M|Ý°Ìì4ÒÊ -à™<=²!>°ë_Â!¡nÒ
q£^c7Nh?–Dbk]z‘Zøù·Íà[ÛX=mÅ›P
:žž‰ÍW½G°tC#<áß×VÂ'¦ŠÒyÞÄ1ò\ðÎòˆ¿ƒˆ§9&åŒÂT«âÞ°;¯oQ -Äd²’Ø[EÜ°¿ÈÇ`n—ÅædþǦiBŠFtù£¿
mŽ<{töJD|Ï;±Æ&G‚iþco§Àå²-çaA3©±W(æ‚2MYÕô(mò¤ œFã³{gþz&V__éa6ÎÇp›¯ØalĺÃuwðnæc"8¡n‡:Ñ!1w‡Í‘˜Ý¿g•Ã
ˆ%ù[ÛÃÞI‘nÓåÙ–~gdº/~û¬ugÉp¡`ÁPþôTiHŸì2\)ÜЙÍàÿ®ºþ0æ‡zx)œE½ Úéq;7,¦ýs¸ƒ,ª‡izÕéü*ið¾\~]•mî§Æ Æ
K•!ì†ß!ou4›¿›û‹†«ðw<«^UG‰/)cy¯$Ë‹>täCÔž•6rеð‚jåº)×ä;æC'17'IÙŬõ1:Ï–¼pV%¤»Ã -2°ÅѦyWýö¾¥jÖÎŒUËü«üÂ@¹,íðÊ&©¾JèS"§oóZ²,¢t -’úC¡ãa4Ÿ—7C‘ªÜ݃~Z¨‹ˆÃ©µ»*‡‚s·@qp![~_£Œ¿:[8&‹”ŽËNp€0ËtÃ"¤ü4q%¬i¨•F³høð¡<uÖñ¾î7iÞßÐäS)–óãIÌ)¶é¿Õ+[ò5L\Ö*ãÍZóÊgDسö@WÎìÖ1üÊ,o>HÁ81äј=Þü2¶ã³âL˜lƒK¯:ÏÂiåsB¢/]ûP6 -Q+ª''a¯¥¯óm@6úâçòg}»°4ï N–³š¬0ìHñëà´Po|®RÎhkÏ–T…£¿» ”àá€#V‰YR³ŠÅ·Rßx°îV&£Ìy«úEê¥Äyêî‰;|0üŸ¸Opˆ`Ôæ:5 × -dž°Åû€{ò$#ïˆÚrþ÷øúø -Ažˆ+‰o徑ù^ÄWòó -þ¤a;åR6¨¹;áD]ëVsGm½˜¤îý‚(Œ3î}
ìfˆ¦»ÖÔÊËÅ!’uÒPPÝöF5ñ;êO"•—ni2õˆbg+€ã–¦ÜÛ%çŸoÚˣǦÅ|É)–C¹,Å‹ñìSÑ.”Qƒ—#l )tæúnÙ‡')ó×LMšýLsi|¼n°Q!gZŠƒp2Äòf;|d·sJ5[èOú»·r• -¹0>“Q80ƒÁ˜jU¥9Ãüró5½C£öñ²·Ëä—A<Õ¦¡1RÁgó[¼X- ?¼§µebÑ×k^6*ÙJ¬(І¦7Ü1)ºPïNଛ/r§tªX¥õø&™ ¥ƒÆôÏážµÓfÇHöõŒ’°.ÛJó9øP>µe't§l†ƒì1M¾#,Çä1¾#ÜÕÄš#[ÀN).·E¶/°6~ª§ˆÄ•T1˜ôY¶#ß:a³áI]ï¡‘g=㟗ì26®HZÄ+ØÃîk -z|~ÝX!ö×½’F`à[m”Ý»”}«SqÁM÷]»&ÃÍÝùԛꚥ‘ü…@ÏHÈúûÓnê -c—™XúAÒœü.;
®¯˜›'·Œ©½C›ˆ^zºnõâ塳ýæzI‡• -RÐ%åØWÔ糖Î;ÇOÏØŒI“ëöL%Ç’,úÛ¼F¬>žÜÁ|á™ôaײÍ4˜m?3’V=·_L=Rx;`‚i<’kav`Äóè·¶²ú0 -pºs*Å"øVŸûå¦ä!¥`˜nƒ³ß+ó+ŽµÐ -çøx£ƒ®Ñãz#ú€½ãJÿy‘ÃEäºF•“Róª»ÿø†D¯11tü@Ct´Y$Á¼šGj™¯%?¼äX+å•?L¤ÔÛ˜‡Í”_´Ò#(?Êô\˜ã@¨nw"àYl™À<”w„ÙY)ª5avQÿÊ%éömŒ—êÆ5=–AâŒ*$$–-Ò{OcŒËüŒÖ3n¡÷j¦&•3ì£Ç€ÄY+÷U&‡Zg\'ãMnÿ@÷W¢4’:zvlAÚ”‘…‡’>é„Üo¦˜Vü_Ù¹šÇ};*ˆux’ÆC,(¨ƒ|ýÜñ¹Ú÷zw¹ -£fÍ6•9í]ØTÉ°bµ÷áú1K/š&‘9€‡e×¢hœj4Šß.Î[)Z -dCŽREm46¬8Ó¥N¸ «Ô6<É,ÆÐÍÉÎæi:ýx(¥Ët8ÐËn ÿ`’®! -¼ë0å ®ÏØ¿îZïܪc~[Q7µê4è©Hšñq‡Ôø°7ò=³ž‰’§™òÆú˜“duˆ?ÎÕ+r^9kæÖq槜a^NžbÁ:ÐÞ“ªC=>JÅЕd›dg‡¼]ÕúˆËz@øeaªCšs5z Q/FÐéDú÷8È«âX²D›íŽO@Ñ%
U÷Méd>kZ|èdü%ÎÐ?,cYÎMw5ÊÃÃP|øTëZBŒåæxM~`Ô•ä×P -Ïoé†-Ë»ç² ¹
Y¶ñα‹èÞÛ°ëÙC¼aŸèß7嶸מ -뜻%CAÌ‚¬UV´‰Maü€¤Ï¹uñçó„áÜêÀ:œð؃CÛ(|#ºÉ&ÇëéòɼÏÈ8GÙx被Š³p<BÌýÀ«›[¤Êñ+ÇÕ˳ž8b׈×[ÍT|¥#NùæQߧCW;Gˆ|SmÿFÞÖil±^õãþ™ef C¹‡¸·á¢y JòëL;˜L]¸îÙÙeÂAÚbˆPAIÛdðIÔPîÅ -×·³÷ŒAÿÞ]ÿ¹:#¥µIä -ÑÅÛ±åprkBÙûCzÆaÑÓ3ëÌ"!²2ö]3¾v{ÌÆY»G«Œs»Oå×náR¤C2¾&`ñNƒ§Eƒ“\ÙÍ9È&Bê.üŒ¶Ù· nRV'“BV’äýáú%h:¾.l¶CÑy%4KÉÂTÙfÝ4„T·:ùÔÖ4_'áULšj€žXËÜý¤öiûÃÆûêç”´c§=`²¨øqªe˜ßC´Ü¥îóÚlméòù -H¦Ö¼9Gž¸M‡ôº„þP¼¡ïÒ4Š›µ.¾êJøiˆG•Ä$…hÎX÷lÕ-DÞßÍ›á/c;§Ü?‚Ë¥9‡l®Ñ{ÄÆ»òni†n½$›B×:õÒ©~’Xv - w/¼ÞU·O§”~EÁÏAç8Q•|ðŒGÇ=gý9,?YÁ2Ë<må,*]ß»¹5HN”¤mf`!”uåIì¦uþÕÕ>2L"ôÄEñK‡æPüÚ÷AÍí"I1„'{†§³
úº¿¯c¼NøŒß_lbéøûö—
m„nĜɫí÷Zäo£‚³|t0ó>ú>S‹Â™ÔRú—°zaI¿ î%ÕA˜">©
•N~ú‚×-†®2-QVçh-‰úó
ýÞpܹâÛ/–¹"5vÎf—GWnT66þ8éô^úÞu¾4+k‹O -Òo)³S™2áØ¢c—¶FäKa·\®ó*‡©‘@èž›XsIÅXðûh‰ðeýÖ8%W6¤¹¤‹»Ü²yÕŠ½¢uoUêJP'mͧésŠêø?¹ÄÆŽÞמ+Ü¿eB*£HH:`rÀL]¿ºH.âØð~}Êη¡>¼üHÇ8š½D ýâ.ºQÞùÎ_]Ì—%×Ïت3©W$@2?d…°Õã¾Â`¾²ß³Þ׆>xÊ:ªÔý°™9•YæÒÊßÞñ˜¥ãë^:?Ü'°‡eIº¼¨-„~ä˦MÕ7W¥_ÓÞàÁ¥MxqÅß)w¾€Ì}®+È Á‘ÄâGu™.Y6¸D£‰ý}KCîý§WçRPn"8U+Sœ÷ÂøÌûyvÝôL½3ìüî3QÁš\É–ä>¨UHC{ϊѼ•€Q¹!÷Å“÷.¼?;L9§ZšÒE¾é«v¥Ž}03|˜6þ–ˆ¶9£,whœ-ÇËŸ×;?zøpÙÍ„y8àŽ9Ë¥H»Ñ<TÒ>HîÍÄû-q˜˜\—1άÄ.5HLUcß|{¨8óŒòZßÔç`äô³ÁPß½Q5åŽèz”=ûŒW0zúU÷Þ r còRˆžÿžDCh-&¦)¬u#Å>"1™k–ôÿ»žÍÌÃá±N”vD#¹¢Açª ›`_ÝxXÒÈwgÞ„ÏÙå솋ÛÈK+´CܦA"Ê -âc§x~XÃJo(¦cé;‚÷ÿ¨š#1âŽøé}SUx °f=”4+ÿ䎧õZ›…H -—€_úØî*Ý– ·£ý7<³Y6ªãvl¤ÎݱæŒú‹Ù¸™‡ÈÈc?m·Ò†h¡ˆÕ©Åç•¥RäÍ×”»L|âÊLwõø
Ρò°¤¼AçYKr¼Ï¹ÙÖJÑkW½b%òyQ·ŠTæ9æ‹Ló"$N¬½ôž‡9ȯòL¡åùö;û¿ZÆMú›¦Ýj{wAÆILTI¨£%èÔ&ëö…ôâÞ %§½(1ã:«/h•¶µôÕ9óUÖô”‘Í¡i¬rÝxUæ¸ÂÝPÂ#á61”#,*@Š
–üb±·Tx8ÙÄç{ëG79yçÐê°ÀCþ“væ$Põ`Ò匀V–ƒÿþu6®%…Ùqc†¬Ó:†wtÎì•NôwØÒPÄv©*û&<û'ývýЊâ¹!ÔA"OýMBð¼"ðÛQܸ…ÍK) z²>Ç'áØóô-oâŠÌ#°±ÛÓÀD/&Ësgk7/;ô^D÷‡ÞKÉÁ¤ ŸCH-²oS<ÛõCoõšÂÛw˜´øŒª"ØK–_Š"H‘¬ûVpÆsáõpa¡£_Ì×SÈÚua¯õ°Ü±l|ÚV±{+ wókÎ:¤6=s÷(HfUôRê¸zP¢[E ïcYÄEùºŽsûr~3§Ÿ°3ŸMÆ?å¦T‚°ÍZ5ÕèR˜±˜rL‰buO[ˆ`×w\ÁU·?‚‹œWà&ó+Дzu(“ Ø!ÌìÅûR% 2ú§8xdßÿó <ÌЃ|Šˆîç}®rw‚RÕ:Mp’òÛBÿÉ]˜RòöÖ„½®íX((gÿ¶Ä?ɸ‹e»¿èÚXÄ -ܯ*ù V}ÒD¦ÿôð¥ÎÈ -}ˆÒçq=G/¦8õ6ÙüÍ/]Z?ó{P>yêU•œµú}éË2&@žÊå:Þä®þ;TÆ -݂Ư9ÎÖïSftt7,-–‘hV©©<
®ÙÒ]+,àŒA‡Ø •;…ÔzEå]þ<Ïßý‹ÌɤC™Ñ6ïðÖR®{ÒºsŽyZÍÒ+±êÈÜôÄk´Ñ¤FÈZ‰!FÝmP€×:%•éd -Ü)„lk2'¨á"€”Öó±âµ|syùͱÕe€\ûÊJ;YýMªI‘_£ƒ~Æ1bfÓõÝd=–ÙþÅ|SÅ=UkΫ -S‚DÍ0 -G7ôæøÆnuÒ{«ýef‚‰@ÆÚJt'D©Ñeèb
ÕÓþÿkŸ,Ûš -ÅGÕkX:gׂ še£¤xu®ôØ\CùqKå1¦g¡lø 7[Ù²Ì4Òÿ¹[PÞÿøç¥ÏFÔ´²ÿšûI#pŒ"ªºóöWwxN¥&ÿÊYGúéÆ„¾åoK?\aùt@½=¥¢D#UŠ&ÐmÂ΃:Kó#˜´ÏÙf`ÃN¯Ú¬5}=ÿúfy$V·‹Id”-é%#©¾¯{z²5…رF’oö¾!²’»÷ØIáMØïä†H}ØÝÖR´x`î/Æ]è›Òª^3±Í7é¶ûñâ¬Â^µñŠ -·(FLH³~å¶ÞÖ@Õ6Jäó¾xÌ0V?K£ÈÕJÑ}gy,‹¨†/ã©$þ¸Ì~“Æp\!#…þö/»-ñæ
–Ú3Uv+l•EM ´Dýý_O‰uò!÷¶:)
G‚·Ñ é91¬ÄdÐ~í@§q&±ÑŸ<¹¥ËŠ)üÁžjÄÆpîp ãO`6ÿÓaÌ€“Ê ‰bœ›³ƒø*Ln<rüME‰J¬#Å<ÝþŽð»Z–êÞ§é -Ö/y³¤¥6f,¹yK@ðcõÏ’bÖ3Jca~Äï¬]+)T!¿hê (ò‹gÙ׺Ñ9QÀî/LÆ. |ºy‹ÔOIûè{£dç*ÇU6j—áÅ+”S•ÙÏ=¡ …–› öHL -ú¼ÌìÝÂYÛ…(tf¦ƒ>•OA‚+«ä¿dWÍXäøkÚ— ÞÎÓÒU±?*›¢jžêß_ -+µ¸¹Cíu†Æ…¥v‹øò¬WU˜}öÔ“LÂØÏÚ(kœ¾¨RoiÍ^$Hé~ÒøÈz’Tñ׿·xû0®Åψ_ShúÜ2\oEŠã¦=U´ž$¸_N Ó–jz͉Q -Žò2Oa}=AÀmãUv”'·ýÆû9û¨,Yó‹Äg“ˆÐ‰$¥°®ÇªÍ3|Zí-Ä -ïùnS;ÝŠM‚fˆðÓ%¸<%kDpu47û95%–T+G“¢æ×*T‹J<Èü«˜t‡'On¬ÄÂ. -ðž¯ÔÏ´ZÕ׈‚œâ^ž>ñ·!eÖ²ØäÛ¶(¥/J‹@Ëz¼–F]¢wò¿ÝÓÏõwÁ/…=£ÆhŒcsËtö„t˹¢Æ1|Pú1—ŠR,·²ÖÑï„$8É -,f¬S¼‚Ô·Nï¡Ó¡›¾¼xœñÏ‚È¥éJ#ìKÛ1íü±SŸä{årsê,<+ö‰ÙöÙœ¼U1*µþôD'î¿ð|ÂBÕF5Ç .‰Õ+‹f¬æ-åuÝÓ±oFã”’zeíðÓ„A Ç«á±™—KØ+·,V cšðôŽ/EþrË<g{³™$ÇÜ-+ÓxYt3É°¯‹çq¬¸”‚û@k{#lŠŠBäƒûO€Ä¦ù%ÛèúCÝt@AÎ]7DXÒþƒÅuOî¾[©ÞÌ
m_'y…,ÒÈŽAìÊxi -K› ÀöYt^¬evQ&57Ñ„t9Æ©‘;ØQLV2²ûËI2U^¹¨%Ô~ŸŒ×ˆzW -—wyÑ7a﨑Ýâ‚\Ð8Ó}`\%êp‡có'Æü-ú稛ù2ü@/øç0´âs]1Ñ“ì³ h«Ñˆs.:5üókÔLžQdBöǺs+úof´Ôë§hÖ"³ÍÞ„ôî¥J¬°aÿì·µid´¯<îûöÞŸpÖ=×&¸ùï|A½WKÏÓ}‡õ2yÐ2f:oü0Á¹=}”%4€%³ì~46¬“âNÑq›äøáõéí”Ú,VÞyš0ÐYjš¿c\êàøªà躮´Cg6Çh¥8=’Š%hU åí™Sî·’|Ì¡)‡{—zBÅŠº¿ð"qج5å§\ -p -íSß»bò7+Ö˜ß áænÍwˆ'£#µE°nx‹¢PšL~|ö4KQ¦–!¯jn£ÕªîØãVBGE”}œœ ŽýÐ{ƒéV³”Vã0¾ô.¶Tv‚Ì|`°SU[¸U!&ýø7 >hI£YÉì0…òÇ*껪¦úݳj€í¨ž¨ß`Ù?8sGx9g3ÎîèñÙt÷:n:—SúluHx‹œ›ÍÉPo·«ÃJAüÕh€ß¾ÅW'ˆÃô´B ¶q…¡Jˆ`“ý kaæ®´bg>–MO”¶æB8uk—ÄþÙ7)Çê®Ü¿5GVQ(ë¿Pm-FG*åTA¸¡WK2z)· Ž×?3Ì›QOl -s¹ -¹ƒ%ÔÕÝÙêjý‚áóendstream +/Length 21036 +/Filter /FlateDecode +>> +stream +xÚ¬ºct¤]·.Ûv*I§cul'ÛFÅNÅFǶm۶͎í¤cwý¼ï·÷>cŸóëœý£jÜk^s^×Zë5FQ’)ª0›Ú%ìí@,ŒÌ< +ükì{ýÒÂv¹+
?j06Íðün÷X>wø<”¦=ëñ¡êM^çùPÐô o}íä¤; +dÒ/EN¿ÐˆòºY’ÝÒæ`V?Ú›RRÖ/ù€!žédu‚»y¦ñ§p-ðÇúòä€âk’Ú‹Ý…Ö†QWx~ñ5ñôù‰jh|td¸÷ºÿ.'ž’× +ùk¤¿c¡ ¶Z…xUó«óö”ê&BÏØ>Ÿ¿ù‡PvE‘妷‚ïÕàO͘ƒá†Àl¬„ÔÈW"æþx²
ãŽïIx%Q¼Kâf†Îo¿møWcwúŸò‚‘ßÄÎ׊ü;L§Ö‘;æT°£6®ãGvíÌÓ.õ=n¾Õ.7èX¬JÌ[ÃZUýùbªÜÁ+_®›xF»-b¨À(¥ã©ƒw¸ÜÄ$ÌÓ…
(_,Ó ¡Ã4ŒS4r-Ù“©¾ˆ3‚2Ž‰ŒŽ$¿ dô“„}¼Dä9%G¹<á¬;Ö6®£ÛA‘œ´Øpÿ(wßöìWŸ.S?62=ú0z‘ßãš@΀ƒëì˜ç3¹>9È%æÒðOÞ`zŒ—6"Aïܪ“³ÖSªÒ¼qRÉŒ!ÝMë–›Å/˜6 pöpò>ÙOBˆÁrêO<õlb‚‡ˆà\jÑhŽ!··qè™•íº”…u=5±—ª——‡³ŸG¿:×KÎ{òɵÅéKœJC·ÒBµ¾/)qpgŸ”µí‚ ¨•ŠgœuºœÚ]_ÕÞ´c¸Cûô¿Y‹ü n¿3ÇaÉ»ðSr +o(:¨Ñ_‚å¤ñOFõØI)Q’l¤®‰Í;TÜ*kÀ2ñ´Ò(ÏË2+Õ»ÐÝé¾›äAM¾×Q?A"tto¯$ÏÊAœÇ;tÎB¾ã¢ü1jþUxq¨eÓÒäþtþcÉTI€3!š@X芆eÎ^í'a‚†:U+“òÀÅ$˜ ‹EÕùÆ +a®;?o®åü+L7O7¹uv¤ÓuÞ̸¶çŽNóæî™Éñ¢ÊÏC°¶ŠæЂÚ\„P¼®ˆ™ß¢’1âÊ¢Þ zO&É·c튩ȗ©7•Á¼G}Žúäñʬ!FŠd1‚_mÅ€th¬×Ÿ2°?X¶'91îî»(RŒæËÜF1”P (Ê·úí¼eô<syôA$”¨…³Z‡j?¡»½¤`y×Ê ›¤»€–ä…@3éŒ2äaMÊàT¬6¶†ÙÁÜßñÁ.ïs—f}ŠrõEKæË–4ÅJmþHž6î€ï^çÔtV-O4ë"²$ì2ƒë†`zê%ž¦,"þ¢ý_…Ù÷4Ô›øãö•÷ï¼f=hR àˆ¼®<|Ó$ddð£Ì…ÌËÖá‰ñq¸WœQÈGðdȾ×-&üäJ6fëÏurþq^KÐk\#º“4”ÿ8rÝäRlºQ +Æ9vrQÚûaÞßïèóQÝiç·Äjí(^&+
MÌäkRÐ<7÷u¾!+o¹-}iC¼HBb×*1'O. Íþ~6'jïó˜ñ+gt5û¢PV4घ¿Ô ÚóÔR¨s(S¡šq¹"yV‡ôîHvhp„3ëÜHG¹çòšu¼ÉÅQ›8Ô%âÛU†w>ðÛgã‘Ûˆ}H}öE÷2OöÑgí +‚7I•{œP¾©3½¥Œ/Ä[Ö[ªp«Cƒ’½f±cB8|*×vÞ’(2M´:G‹çeƒÀü‘H7þ5'is=½ó{LXwÜëiì>Aº„ï=Ëo?F—Aµb©ÜħcL·¼ž…×›ÂY_‰g Ï¿¦©èe‘O5ÙÀܧâí/96]d±ÊPàH]~+B†<Ô•R–…€õ\ͯ©sðÑþrOŒ…[’½¸m+þ¶ø¶ý©>þ½ØRkn„´VÁÁE.ÉYSssF‘kÿ©Tââ.ŸŸ3hÈŽxÒµ¦ö–Ñ9õd¨HÎ6 +á]ô +ØI:ý}Ÿð…îŒr\Òv-`÷’¶»j³œ³·í} +]rSÓ|¬U]Iƒsuoé$½9¢c÷U¹“äx°Ð¶¾Ø¤Û‹«bÜIÅQ¶?³…á6.S¼à‡n|ÑG{×BõwK¢»™(‡§òq°4Nqéåé»iÁ;í¶¹öU‘PÈœ¯æxÊ&ô•¤1S¶2ó¥w\·+zê›DJ´v¸$ÌLßòÈîk>^µ².L±¿²!ð4^¸“PÔ¿¦.¬äïŸ(¿'Ú¶£Pb¥i‘÷êzÝûDUoÀõQ +0E†IÃZ^ŠÿŽ¦Ö‚0›2%“ýJ§^ˆVÄÉk"y +4ÑÃ¥Ë2š=¥«UkW3G{—ð̪K¦¾(ÞØ–WŽÓÓüý®9’ã‘<džâö—ŠäÓ^Rƒÿ°PŠÊ·Zl—›Tj5¾9.¢"¥³f>89ùIÆvp3Ýé9çáCDq
€¯¹/W4=¹¶dopso´‘‡À1¶¬´’møÚÉ6]ó|"쮘V»ÃJhO5‚°2Ó˱‡7Nß¼hC; +®@ê#^>«\×Ȳp‹Ç*, A_ÓðtÅ
âqÙb1?&}=Ä2ãÒ]óð€ÆžoÑG¡PL.]Bª¢E3ý7z®Æn¸c<®žepNwd¶\ñú"¯kÑ;ïX¨‹Ð€BgN}®²ûàóÃÌòhkrŸÀ¶Gâ{°l:&j‘ñ™û
^òÕPkNÉ«±LÖñü«DÙj‹+Y9‚dÌœòÖ„Ê—6<€ôVcŠ§‹Íš‘Ýþ³¥SÕsiÚÚ¤Ûò>vü[Âë +Ð"$©p@zŸÖÐGƒ›‚·^_fñžtDPiÂñøËɘ.yÖÆÐó†·ÅDã^!¡¥ 1âóÜ,óšªiÖc.â4£÷LÛ}cN6\ÈÛÐC•Å?ÐÖÔØ5÷Ü tbgipO
‹¹shÛtƒt{J'uYÌ„ÕÑ’Z6è¬wßù/NÐÈy0¬Ö‚;g‹ÖZ0….R; +*Èí´âT¸žfWÓ3Õ'7)ÔYß=á!`ƒSé‰7ˆv¤U¿È!~{£Ø1Çœj÷àºßŨžG]¬ßg•,½[
W,{ukRÿÔj•Å‚èÒ<’…æp_íÖ©ÛRV·((þ22ߊvóÇÝl.ˆÏÜs/¬U¡¥&‚ko¾÷ñ@ÆÇÊ5V…jj¬a
`N}ÕÆêŽáOú +–ÙýÉvuöù‹ª¥'NP +SèÇ´FÞ¦…ÛÏΚ13±©É'æztƒÞm~ ¹Hº&¶Ñ~ñÍhŸŠpu¢h^Âc0xÆ(ë7\×[:‹¶q¢Íš-µj“’"z¾r§YJ÷-Ù6ÔïnnÔãõÍÌI·n ïS7ýö4¦¦ì¾•ôÈ@؈F9x&«sî|×`pu¡eF`{i~¶ÙƒË!$jmJt†œ/üaâ\èÎÅNià"û*±z˜Ãt3¬Gs€µ/Yn ~³1&¾âÆ0tYœVáqð(ê™w†—V†Ÿ÷ :·ÉóÇotxøí…*˜®ñ§õ‘á#Ms9½C¨9ðtIL³òXˆ×íŠçÝ€îWÞ«Ê.’Âå݇Ӝ,7§©Ù7‚ÆQƒÄéèd`³Ú³“t÷¾k
œM÷ûx}Pïïo\5Ö÷ôC§Ÿ®Z*ïÏkm Rã̽oÙ°?1DêñeÄ'ŸÆ à6…©jb6LÒë¦Xšá|—?÷tKÒ:6™Ëühï;¬p€Gˆ*z µ-Ox—oÂܽš°¶çÈÝÔÆ Ñb„,I£±½é¸NiÉõÇ{^èd–PL[‘îc±Ø™Q¯dZÃÙ&ËŽA¯î/Ú;!òùpÁBßÙsÝO‘΃3ײ³2¨%ÖuzøÄ[cé‘Ù§‰ÂïŠRfUÔgçúW·ºì;§Øø8ÍLŠ¨ék˜"¢¬tµ2¹ešòK¬ Á¾9c$rMe©€€Ô˜6T¡Ð‘1QçTè{O–ÅË]Ñ’f³ÕÓ9-©þR[0£Nk¾·ýµ„ŽÏߨNïçÂ"?Gw~\“¬…XH”ã\lã¼Å_¡’”*GwQQBÁ9+§ªÁ¤Â¥à(-n›_Òx3“mì‚gU‘wµéíâߪv6ºÈ¯pÓ[óæ¢I´2Ö6ß ‡×ÇëŸíIGûƒ—e<ªð1}xçªÀéž~ôá*@O€ô…¹É¶s—ê>‡Ú{#ØËz߈¹ç!žå<×Ó‹¦g=‘ÑGHö'²Ôe ȱóŽõµ“:…Ÿ‚ëR,q@õû´ùüqhŽN\VeÆdh„ɘB™Ám*QZ!cJeåMj…Ïòá#éå8;¡H‚ +¾zT…¢gôOÿ’‹Óo0-šÎ०²ÂŠ˜hÈ›9ÉÈ%m-ÜC7‚µ$©OãzAp9%mëƒf7ìÄîâºÞNÍíOKB¯Wˆà/°´e¡ìÔáo~f›]{ˆðEŠ˜*ƒûN·G®²ÎÏ«Eô[‡ðQðu1ªÑÃ(X²ÁZû¨Âx5¤ 6™œ¹¯$ß's.1߬)Ç^r‘au5nUG‘áŸÕÔ÷TÁzÀ½¦¬ÜÌ
léLdi\”aÐZj(ô ¬õ\œñ,ôS–W2ƒo³‡CÜ`eæí㦃F$êuÆz{†ÂÎK!K#$ +bÉbðúuÙ9ðeÞWsS†ÚINñE$ŒcD3>ä:ÝÔ%žÐçIr<Û½;åµV}$1â°ðô£õmõ“¶)L£BòùP-PîÀ™ÑD|=ÜF—dã;õ…R^jºßsÒcþRÖ'šîϳH¥¹¼+jìF+ò˜ªB~ÈCgÙ5ûë €UÓ(6û˜Ý#̼vÀ£Äòq¥þ…äž“ZrtjŠoe|‚+ gÈb
ÇXxÞÈÍGŸÆÜ/bøc§èüv+ø²òkbˆ BFÛ;l'a¡|E]éü×6téC¿×0q‚M™±I0êÇ`ÇsZ+£.ÌgŠÊ)ùcs³½-ãVé¨Ý³·††²¼&D̘ô”@¶Ý”ï³Oœöø]¥ÿ]ƒÒ˜,±Î +qœ +Çp\=Nü¬4·· +d;uÌ’‘ÜsÛ„÷_]e pxßÁÀ:Ïhâî|k±·¾ö'nTdÇ2å2fu·0¼e}XÇc*IÃoô}xFe6;acÑÈîXúúË¥áær,–êœh¤/º9;`©®GÅ–°
,ÓH>%Oà"û|?éJ3iὓQ!Efb«èDCõñd±Mðhˆ–Xµæϸ6ô#ñ†l»È…±ûsLóæßgél;µñÌ#% +‘¼GøCAÌÑð}¾€¶6Ç¢³V»þ\ƒ diKB´«ÙQïè.§~Þ‚´ÈÌ=ìäm’yS$ý-Ñ¥ªŽ¹P‚´)keÅÓnM¡Gã¶Ëu·5%¬_ØEçMŠKÒcƒ†Œ8î5€Ã|5wìóµ Ô"öů£„²3ÇŸ³’œVÉ÷ +žóø.Ѩ\éd¥(š˜>¯–LãPÚ Ôš3,¿Ô16še¬»Û²˜BG»OåÜÏænPƵW‚®eoÁP×½'”@çßÒKLýº-/ÞJ[ýŒxw]öG8förˆVƒÉsvÄþh;Ìšé£HÛFÏæ8w&_a†¶j¡ã÷q´r©Ý}~9ÃQ‡³¹ÃñQËöš‚¸¸ÅÒRŸv7Ý/샃ð+BgN2ãâjÒz ÂE‡`õfQ•8{ÆÁ9û»¨½qN5mc¯
gÀ<Åj½`ž@.vS;눂DÊknDÔš™˜±ºOZÖµÜÑ–HJ”ää&¶[óX= +<ÊîòÈYŸØìZ
Ê£÷íé™ùÈTxÇSêhD¯Óe{Ð’ÖMÂÒé*’D#ôTtهͼÔ<~WêšÏ¯,Äѵ—úHLÆücœcyµ¼‡ÅÒîÇ<Ï EÇvž¹tú“H;:±[æ¥@B³CoјI3åÕŽ+´s«©Æ?™À“0”VðÍíÉ ¾¹Ùìʃ¼ãAœ'7¶ÆÁ&¢GL6öÝ¥ +Õ.¹YO¬êªœ©Û×™¥
o;å +ˆçŒ¼™¬ï›»E|ÜÌÐðXuãý–üÂ˨µÎ¯ˆr ‰¯ûV™ÆZù +ÙòsøeìÕÙÂ1Y¤tYv~ +³L7,òH +É_AWš…*QÙk4‹†ÊSgïë}“æý
ÝH>•b5?þ‘ÄœbÇ‘þ[½²%?QÃÔu2NѼ5¯|F„=ktåÂnïìÈòæ‹ô'†<³Ç‡_Æn|Vœ “mpéU÷YX |NHô¥kÊ rO6ágÌf +SS˜K" +Ï~~C®x®'ñ0yÉ#ñÚºƒ.UŠq/öÑŸ˜*Îö¥ýµ4Çï`àImŠ´¦Ç”Ní.zßF6ù‰‘¡Dž³¢,t°Í(¸™8é±%iXK{Ëlò\‘Vñ}gx7wÏbðb¬½‰jÁ½`û'üNf ÌB ̴Я1fBÈŒ+%¹7¾CäKvÇÑŽŠ¨'¶,³jvZÛÚ•¢lD¤È½Å‚…U?/rªìuGш¤59+òúøF´'Éûu£÷ÁO^C.¶ºó×?D¡ú +Ë!«O$!*_—‘} qufÖä2¿ÐAQ”¤ÂâWH,‘Z8gmÈÞ¨gA‘¸¶vaõÈ”YÖ¹›‘k ( +á„%F<5Ÿ¼K»ç´Åö Û3Ó΄ÕÁŠÂ~çD7/âšÅ Œˆ¼êÇ™©E½ŽîûFí<gðSL2R\”˜um’|Ø¿I"-‘ÊQ:‡‘w˜°ƒ„~U—ÒÛãäÚ"(ùy—k1WÀqr±·}§MNÉðɆa0’~åBnJèÔ$¶\
áyq!~Y!Ê`Eõâïá$ìµòs¹íÒfØT\à\þL +Pb”<pÂ*1oAjV±üVªñÖÃÚt”9oÕ H½”8OÝ#q‡æ€ÿ÷ ŒÚ‚€@·äV̶xxOždhìQ[Îÿ_¨£òDà1Ös?õ~-e^¹Š‡ºêëé¢>3vŽ,€ +Ôù´6Š8äÔÔs‡ÎCý—ó<n!äö™…ãÖ…T«Ðùê“—J8R…’Ðæ(Qå|?Ç:¹6ê<™úÈüÙ:ò‹G8çü;k»Z[·É}ñ b¦ND‰)Ÿ_ÚT jÄØ*à+5µÐ.‹j´aµ”n^@ì]•yE}±Ï» Ÿù¬w©…ò;ô'ÓÛéû#N䪦(…Yògvì™%c·ëµIˆÛÖ$J×E+¬ÂVbx*5uÃl}¦öKZ#Èóq%ñÜ72ŸÃ‹øiXu€á•©~Öá
œÑð\?"«§Ó-ªˆ„ƵKÑQˆÔÀMH@}ÎîkVÉP" ñZß4l§\Ê7w'œˆ£‹cÝjԽ?P…qƽ¯ÝÑtךY{;¡8FÒ£N ªÛÝè&~GýI¤ò’Á-M¦Qìb
pÚÀÒ”{»äüóMgyôجؒ/9…Áj(—¥x1ž}*Ú•ò£"jðr„-!…ÎÂÀ=ûð$eþš‰¢©c@“ Ÿi.÷Ñ6*älBK±cn +‡fð¦ZUiÎã0$¿Ü|MïШC¼ìí29†ÀeðOµY(FŒÔ³ù-^¬–ŽŸ>Ó:2±èë5/•l†%†ÖhCÓ˜]¨w'hX6Í—¹Sº†U¬Òú|“LAÒÁcçpÏ:i³ˆc¤ÖûúÆIX—m¥ù|(Ÿ:²zS¶ÃÁ˜¦ß–ãòßÆîÖjb- +ৗÛ"ÛX›?ÕSDâJªÌGú¬Ú‘o°Ùð¤®÷ÐȳžñÏKv×F$-ã`÷5 +a-‹PšêÊi^(5aò÷Þ8œÆ—†rmëÜ0Û™//UªŸÑbVPp©ûÉ`i.‰ –§Á’¤Þ¡áû ÇϺ»ijì‘"f[ºtköÁŠ”È|^g†Í„ZÏš¥2ÝDÜyÓ—À>ü¶6•thâàoì\Á +z¤ûŠâuÐyçøé›1irÝžã‘é£äX’Eßa›×ˆÕÇ“;˜/¼’>ì[ö±™³FcFÒªgãö‚á‹©G +oL1MFr-ÍŒ™a=áÖVVFÎwÎ¥Xߪâs¿Ü”<¤Ómpö{g~ű +Ϊ¶yY5Tl´«œ+Ã2Ê$WÄ0Ñ3˜K_Óm£âç¡^‚Ü<çëþ,õ˲
šDÐ)ôà”2Ÿå\[EªâW&Ç'ÒN³…Í(JJÚØ~;Î×ÚÍ+噞¼ULJ;Œ¤3ä%…Óô
X¼©ê+ÎbTØ+E¸¸Ä ßpzeÅ^÷.Ê“ îìÚA–£Ì‘lH¸“iM«™Àþ(ÊnS1¢e…•,vû©œ+½Ôä0euT¯w}Ý.8 +^ÝúãÝ9ÑF˜.ÛgÛ«q\Vßr_g|œx[D&w—=€wÑ6ÊÐE’tœ>-LEøbµ˜öbo…ç
m»7oÕ–7æWÀG»JáoÔbÐ5z^oDB°w\<à /r¸Š\רrRjþBõâÿÂèù!&†Žh„Ž6‹$˜WóˆB-3ã½ä—K`¼ò‡‰”zó°™ò‹N`zd åÇB™£+sÕýN<‹-8‡òŽ0;ë)Eµ&Ì.P¹$ݾM€ñ’@ݸ¦/Ã2HœQ…„IJEzïe‚q™ŸÑzÆ-tàQÍÔ¤rÆ‚}ô˜8kí±ÊäXë‚ël²iÀDâñJ”FR‡AÏŽ-H›2²ãXÒç+Ý"ÃðûÍÓšÿ+;Wó¸_G±.OÒxè"ƒ%u°¯“¿>Wû^ï.7 åòƒ ž0ôuS¼2 ©'w²áÁ™ãi¨šFNù6ýUv“-«>]
xñÕ—*æ®çÅÔv‘?‡Ýâ–Ü©.M +0·dæ´ëžÿÇTcz¡JÍÜæŒ.5aö$¿¥Ê°D
ÜE…q3„f›ÊœÎ.lªdX±îÚûp}˜•7M“ÈœÀÓªkQ4N5Åç-…@²!G©¢6š
VœiˆR7\ÐMj„dcäî€doû4~<”Òe6äm?Ð0I×€ŒÔK›ÛS£ò£Ê%Šv¥Õï^+„¬Æ³ÒÛø!&à1:¥Çã‚'„D=ìà«&€©IãY
¯€äÂWƺ¥„RÒŠHw²ˆsë.üÙgäè÷mïyoµ©ltxebmH÷fïêïo&Hì*âj]¦Î¾kÒrX›0 —
ó=ø^‡,›.Âõ˜/Z—[’áXýõ~™?4ÒdÈÅ7€äñq´¤ª^JÙ[K™†OøDÊW÷ãºò"îf/’’u.3éªZšœ˜Â9µÀµ”…”Û±†mùlË—‡Ï³'´4/Éu×µF±‹gGŽ‚Ç;`Žøç:í·úGj¹ÃÊH‡Íi¤Î@É÷²ÇÖiFèÅžoºÃ‹…õXWAúŒF˜g =çÇ$¥¶¸i\üh¸Ôè¢ë9ÃËñüw<d;BvŠÄŸ„Œï6È™*cf[š—ÇImAÌžëIdM8R«DVUê‚úx×aÊÁ]Ÿ±þ%ܵ>¹UÇüv"¢îjÕiÐS+4ã%⎩ñaoä{Zg=!$Î3åõ1'Éê\ªWä¼sÖ†Ílâ4,N9Ã4¼½þÄ‚;w ½'U‡z~”Š¡+É6ÉÎù¸©õ—õ€ðËÂT‡4çjôA¢ÞŒ Ó[‰ôïqWűd‰¶ÛŸ€¢Kªî1šÒÉ|Ö´øÐÉøKœ-`@XƲœ»Þj”§§¡øð©Öµ„ËÍñšüÀ¨É¯¡žßÒ
#ZVöÏeÁr²lã[cѽ·aײ‡xþѿnÊí"p¯½6Ö8wK +†‚™!Y5ª¬h›Âø +Ü`¹}ÊWÆÖý&_cWs£åÔlÓ¿› +.«þvÐŽ–%u‰ ¯¤’¨]5H4Øe"›ƒhQ‰‰ôM“ªRM-D>í¡)rüˆ(Ëê©è¥ÔYÇ9ÓQHŽÝ\(] +Öð5,(x J)ÜÀÞÁg0ý{wýçêŒx” +Ô&‘#àfîÉ×kBq‚ÂõÅ{à1æˆè#žwKH×\’Ëœ!w[‰‹Ë)ƒ?q[ø,YçÔYÿª²‡¶Ë•:Žè“tG½3èÔ*þmèÊžÜ`m +(¯-üü2ÉòFM:ãM¨sv¶Ä÷Ðv"¥}kædJî +×cºŸËã+DoÇ–ãÉ)ýe¯¶ôŒã¢—WÖ™eBdeìºf|íö˜-Œ‹Zw4Vçvž&Ê=®ýÂ¥H‡,d|Làâ3N‹'¹²,šK°#L„Ô]øm³)n-@Ü´¬N&…¬$ÿÈçÃíKðt|]Øl‡¢ËJ>h– +’9„©²Í¦i=ÿ¨nuþò©'x¾N»˜4Õ07<±–¹ûIíÓî†ÏÕ=Î)iÇN{à$dQñãTË0¿§h¹kÝçµùÚÒ9äóÌèÍï ¢ËG¢$éðf+vHÀÑ:ÓÝ&îûAoÐ `ž®³DGO?Ìd¨Î3ìŒ+Â̪Y¢ì'Y"-¨öíG3qŸZê…[|i<B‡{5mäši’ù%ù— DqërŒh¤c碫Z´BÁGE y"Ïž·Ü‰ü¼ tu¦…³´Ü¸ŒHþ›Zó-%bˆ9S‚®;…þŠG‹ŽÄÇ0¢æÑP±TôÕ••¿|P(×ïVŽ38áôQülõâóüý÷}ΦPÔÃsM’È6¢±dRŒ<ÅBq´—áHW¡°XŽ0ÌQðê5e8ç tKÌÂÔ«UÑ\XîH£WƘŽ+úe@Ã\
+~º8Çùˆê¬ä{„W<:î9ëÏaùÉ +–YæikQ9èúÞÍ…¬Ar¢$sCK¡¬+ÏHbwó¯n‘aÉ çÀ$.Š_ºœ0‡âÐ~jîI²Øˆ!<Ù3<í˜mÐ×µø}ãuÂgü>øb£HÇß·¿lè t#æh'¯¶ßk‘¿ +ÎòÑÁÌûøjTL, +gRH`\Âê‡%Aþ‚¸ÿ•LTa†ø¤6T:ùQè^·.¸Ê´DYAž£µ$À<ô{ÃiçŠKl¿XæŠÔÄ%ã»<ºr£²‰ÉÇI§ßðÒ÷®ó¥©XX;|¨‰êbuÊ X‡jÂÕX£Ô†ØÒïI7Ù¡™
G;³*‡Òe÷ŽnInî‚(¿æ2ÞÅ¡æbE§4!0{šÕ?ÞñŠ”’nô0g™²ä}»O4,ä]Èhö3g"l˜\¡Ì±Óp•Í»6²Z“šÿêŠ/¦¶ƒûeÝ$³®"tÕ¤È:ôƒòõ
‰›îxÿœŒ¥?Àh[MND.ÇðL7|SɶtÑð„ö&øyDZÌû*Gmpr8\UÛ¬gTÀX +h†“Ì]õ5ˆ%?»â'º˜M¾×ž/•[C2°‹ð}j…Ž.ˆ&•µ7ˆˆÁõÖ
ÿ‰r¸‰*½Æ¡rsC¥‡Áà¼qãl§ž_€Ôv¿vwŒSX~K™Ê” Ç›¸´5"_¢»åzW‰8LB‡ôÚÄš+H*Ƃ߯@K„/ë·Á)¹²%Í%]Üå–=È«V,è
{«RW‚:ik>•HŸSTÇÿÉ%6vô¾ö\áñ-R•@BêÔ“fÊø²øÕUrÇ–÷ëSv¾]õáåG:ƉÐì%* +ÖäJ¶$÷AB:{~PŒ|ˆÊ
©¸/N˜¼wéàý‰ØaÊ9ÕÒ”®òM_u*u~0Ã׊éào‰èX0Êr‡ÖÁÙqh[ýl½®ØÑîáÃe7æMà€;æ,—"íFóTIû ¹²ÐŽ÷_â05#¸.cœY‰]j˜ª:Ç¿ùö:Qqæ!å½¾iÀÁÈéo‹¡¾{£6jÆÑõ({öû^ÁèéWÝ{ƒHÈ%ŒéK!zþox
µ˜˜¦°ÖûˆÄll¡Y:Ðÿ3ìvz6G0†Ç&QÚ äŠ«‚n‚}uãaI#߃y>g—/¨`.n+/Ð^q›‰t*+ˆâõa+uF¼ý} ˜Ž¥ï>à£jŽÄ˜;â¤ÏLUáÀ˜ÍPÒ¬ü“žÖkm",Á(\~éGP»Oªt[‚ÜŽŽ6nxf³lTÆíØH'ºSÍõw<²qs)‘‘Ç~*Ún¥
ÑBëRËÏ++¥È›!®)™øÄ•™þîêñþœCåaIyÃγ<–äxßsG²)¬•¢×®8zÅJäó`ãn©ÌsÌ™æEHœX-zoè=O!å™B?Êóíwö» +†»·=z/¢ÇCï¥ä‡`RðÏ!¤Ù·)žíú!Œ·zÍáí;LZ|FÕGì%«¯ˆÅÖ¤H6}+8ã¹ðú¸°ÐÀÑ/Žë)díˆz°W‚úXƒX¶¾m«Ø½•„»ù5gR›žF¹{‚$³*ú)u\=(Ñ-‚"Ð…÷±,â¢|]ǹý?9¿YÐOØ[L‹&ãÀŸrS*AØfši +t)ÌXN9¥D±z¤‰-D0Œ8àª;ÁEÎ+p“ùhJ½:–Éîföâ}©PýSücd?àó <ÌÈ“|Šˆîç}®rw‚RÕ:Í$å·=„~mÉ]]˜RòöÖ„½®íX((—€¶Ä?Éž¸‹e»¿èœ¬ÛXÄ +ܯ*˜Œù¢V}ÒD¦ÿôð£ÎÈ +}ˆ2àq=G/¦8õ1ÝüÍ/]Z?ó{P>yêU•œµú}éÇ2&@žÊå6Þä¡þ;TÆ +Ý‚Æo +©õŠÊ§üyž+¾û™’i†2£]Þá•\÷¤Mçó:µš•wbÕ‘…Ùˆ×hg¢Iµ#ŒºÛà@ïuJ*³É<¸S!ÙÖdNPÂD )×cÅkø2æòò›b«ë +JÎtŒ.a½AöB¿×n
8b¦”w»VŽn$øÍé)4Üú¤÷VçËÌŒµµèN‰R£ëÐŪ—Ãÿ×>Y¶5(QD‰!%ÝHîfà¨Ñ9º‘n i’"]Ò-Ý1ºKÝݵ÷þ‡÷Û}îùçÃyžã•”4|œ"ïñ`Ûý]_€ßÿ¼Ý²í\£$«:ê¯{¶F†Æ»lìÏ3¢?ÑL$G@Öóå×vmôãŠ#Žª×°tή4ËFIñê\é±¹†òã–ÊcLÏBÙðn¶²e™i¤ÿs;<¶ ¼ÿñÏ7JŸ¨ie/þ5÷“FàEZUuç!í¯îðœJMþ•³ŽôÓ }Ëß–~¸ +Âòé€z{JE‰FªM Û„u–æG0iž³ÍÀ†^µYkúzþ'ôÍòH¬n“È([ÒKFR}ÿ^÷ôdk +±5b$ßì}Cd%#vﱓ*š°ßÉ
‘ú°»¥8hñÀÜ_Œ»Ð7¥U½2f +b›oÒm÷ãÅY…½jãnQŒ˜fýÊm½ªm&*þ8”Èç1|ñ˜a¬~– F‘«•¢ûÎòXQ;(_ÆSI0ü+p˜ý&á¸$BF +ý1ì_v#ZâÍ,µgªìVØ +*‹š@i‰úû¿ž8ëäCî3luRŽn£ÒsbX‰É ýÚNã0Lb£?yrK—Søƒ=ÕˆáÜá@Æ žÀlþ
¦Ã<˜'•AÅ87gñU˜ +Üxäø›Š•XGŠyº'üá9vµ,Õ½OÓà¬KÏýØIC`”¿¸9Âò§é¸ˆßcZ”Âh.RÕŒI8¬_$òfIKmÌXró–€àÇêŸ%Ŭg”ÆÂüˆßY'ºVR, ¨B~
ÐÔAQäϲ¯u£s¢€Ý_˜Œ\@øt-ò©Ÿ’>ö‡Q÷FÉÎUŽ«l$Ô.ËW(¦8*³Ÿ{>B7@-7쑘ôy™Ù7º!„³¶QèÌL}*Ÿ$‚WVÉÉ®š±Èñ×´//2ZA$¼§¥ªb;>~T6EÕ<Õ¿¿Vj3ps[‡Ú[ë#.JìñåY¯ª0ûì©'™„±ŸµQÖ8}Q¥ÞÒš½.HÒý¤ñ‘õ$=¨â¯oñöaZ]‹#6ž/¿¦Ðô¹e¸ÞZ‹ÇM{ªh=Hp¿œ¦-Õôš£åežÂúz‚€ÛÆ«ì(Onû÷söQY²æ‰Ï&¡I(Ja]U›-fø´Û[ˆÿÞóݦ6vº%š.[Íá§KpyJÖˆàêh2nösjJ,©VŽ&EͯU¨•x9øW+0éOžÜX‰3„\ +‚¾¡ÉzŒ:s[+ž:[´‚r7À«_ó熈ÑFÂ2Õ:¨Ù˜-Aè +œÆâOŒ,Eß÷;XM«âU†æüìeçÎ&¾¸cë2“.D£T«h8&Ëe7nV"ÎCøpÁ¨Ö#}&_ot-ç2ÃæXL¦ºŠðï"’‚Áf&Ñ탔w¤éʼŽE9Ãê¶Y|t\dà=_©Ÿiµª¯9ÅÝU5½<}âoCʬe±É·mQJ_”–õx-ºDïä»3¦Ÿëï"‚_ +{8þFÑÇæ–éì é–sEcø ôc/
¥Xne£ß Ip’XÌ,X§x©oÞC§C7}yñ8㟑KÓ•F<Ø—¶cÚùc§>É÷"ÊåæÔYxVì#³í³9y«bTjýé‰NÜáù„…ªjŽ\«WÍX!Ì[Ê뺧b'ÞŒÆ)<$1ôÊÚ[,ৠƒ@ŽWÃc3/—°WnY"¬Æ4áé[_Šüå–#xÎöf3I¹[V¦;ñ²è2f’a_ÏãX;q)ö&Öö4FØ…È÷Ÿ +=X¤9ƒ:Ø•ñÒ +†*Nñ(ßc“À“ +ÎQÓp/6è~ +ê™ã2ú»‚îY$óµÉ•ßª2^IÑPYm3ïÜÚ×Juý¼=ÕùÌ~9Äÿ 2©”pmPkDÉ Ç¥)DcX¨Ù콘ûk*+ÇMCÆ{Ù´~͵)²è5¿¯ÅL|yÿ1ª5u‡Êëñ÷Òc9„ÍrU¶óBDøò3TyÈ嘙 SzH1ß+`Îð¶+§`½°W5Ó㎎²ÁÑÃiÁ™,÷ò}cýö3!§ïÒƒŒ‘PuaÛ›”Ë tòÍ|T\ÅL,pÈBHðì9çÑô)8H-úäjj*ê=êOŽ +Œ†<\a/r¼ˆvÈxµfíÉCvP€ÕóuóföÈy§Åm4ÍÛÆajùlW¤JÕ4pñûZ¢Aÿ6Ñ®–B][¢µš×´B©®¦Ö +åUÔwUMõ»gÕ"& +C•Á&ûA×"4ÂÌ]iÅÎ|,›ž(mÍ…pêÖ.‰ý³oRŽÕ]¸kŽ¬¢PÖ¡ZÛZŒŽT2Ê©‚pC¯–dô.Rn®f™7£žØærðk®–-!OõŽž1t¿9~‚ó–‰æ·q¼mxYæó”9gK’}ÃÜÕè×å HéÏAf™\pCÊˬM‚._óBâÚjq
À¶]qL÷‡Âa¯¡n—ˆ›´¢('â¥&Cvpñf–¿‡OFÙ2ö +# ð:øF(‰¥YäsäLèÆùxÂJßÓ%ÌgæÂîˆñe:‡¯#0®ÿëÊ»3¯‡óíLM¤\“wŒgßRkHäŽÅ_KØwÓªÂìni–ŠØ±
¨wŠlNþjsßÑ8v<o¸ÞâÖ²ãU8^ë|Wš +ÆúÁÿ%ž†ëÿ öÿÿsK¨«»³#ÔÕûÿ endobj 873 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 2 /LastChar 151 -/Widths 2018 0 R -/BaseFont /BOBNMX+URWPalladioL-Ital +/Widths 2019 0 R +/BaseFont /VOZHRG+URWPalladioL-Ital /FontDescriptor 871 0 R >> endobj 871 0 obj << /Ascent 722 /CapHeight 693 /Descent -261 -/FontName /BOBNMX+URWPalladioL-Ital +/FontName /VOZHRG+URWPalladioL-Ital /ItalicAngle -9.5 /StemV 78 /XHeight 482 @@ -9660,7 +9689,7 @@ endobj /CharSet (/fi/fl/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/emdash) /FontFile 872 0 R >> endobj -2018 0 obj +2019 0 obj [528 545 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 0 0 250 333 250 296 500 500 500 500 500 500 500 500 500 500 250 0 0 0 0 0 0 722 611 667 778 611 556 722 778 333 0 667 556 944 778 778 611 778 667 556 611 778 722 944 722 667 667 0 0 0 0 0 0 444 463 407 500 389 278 500 500 278 0 444 278 778 556 444 500 463 389 389 333 556 500 722 500 500 444 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 ] endobj 778 0 obj << @@ -9674,7 +9703,7 @@ stream xÚ¬¹cx¥]³-Ûv¯ØfǶm¯$+6:ìض“Žm;éØè°culãëç}ÏÞû\ûœ_çÛ¿Ö=kTªY£æ¼îûZ”¤ÊjŒ"æ¦@I{WFV&^€†ª–²‰‰9ÈAžQÕÁÎð×̉@I)æ4q9Ø‹›¸yZ@s€8ÐÀÆ`ýúõ+%@ÌÁÑËdiå ùËAKOÏð_–\ ø›UY\òßuºZ™¸þ“Ûô8Xüõ4w0sûgKÿÂþÒüE]M@ö. -`abû·Wÿ²kØ›mAöÀ¿šþ« +`abû·Wÿ²kØ›mAöÀ¿šþ« ™**À)—PHW£B¢ªU³m·WÛÔOrí]VÉ• $«ùqyĤ"õÂzŒf<0ëûë£Îðf}/Ÿí¤>bêFè,VØUd‹ÕƒæÔJlNÍo’©+¬OXÏ1Ï-¼§c-NÂ1ipÝ›í\AÖ úêì`uvdé,RHžê$žkK‚>&Y ¤ºÛ”OØ&â„o™kâÆœm§Ù WëÙÉ ¨œ/û«Ð[BÒó´`Ûtä¯äÍN¿GfáĈHªýmVéDÇÏ“Ÿ”Ä÷¦Y_kÉóÍ+èü1pÇÒ¨åÁ³ñÂjD•jÊ @@ -9736,23 +9765,23 @@ MIª\ÂuTØjGI-gýÂÓ–GâydføæÅxÃÃ,oÛ.رÌ*_ùSÕúƒóØCkëÚ™¨·>]ÙrÿÅ:K¥ÓS%œx ¿n$rÝ XðD˜t
ÎõÓ…”2§—n„sÞmOÆ„ ˆ;²ÃßshuåU9ñÖ&;y-sõP~K*ªÅz4rnp´}ª÷œõ)RB—+«å—>¢cI£Ž¹w× éhz€Ì\mm £MúHþ×<×|Ìï&‰ Ÿw³s£Üë+\?VË´<=yò‹ØH»M'²ñÑ67Cøoí+A5x5½·x¯'_Ë c!vÜ~óÓ4¶bIpµP]ãH^ŒúÀnkLßYßÙ„æÀ,•‰)tCœrÀ‘Çi†Ï±m$hýÈn.ÿ¶»öO¿ªWÂ[–{OFChÓ'žWùÆ*6L‡1±’g^H]u Ââa3ð¸g@—TÕL_1@d7¾ùÁ“†µ‹Œ:…‘XF.ÿ§Òfb1\ÄñSÙ£Ö®TÁIS ÒŽã{9.´ v´ôPš_$ƒºÃ™.T€Áj”¤RÚ.zàÂiXÎ^;-”ûkwå0HMKyÃûSc-‘tkâôk'a.*bí Û¶4ŠdÇ&ž*qÉŸX‡ÒÝÓä"c°4 *+9‚3£ cáE¢Lg%ãŸïÁó§KíÚï©=ëg‡~Q)œu‘Še7@ô`¥¡c˜„s2¬ìe/ï´Ã÷5ØI*·[ÔrHîD4;"«hntRÉ´c¬¥ŸýÝ„u å{ÿÁØ}hë … -¯41¶{ºQµÚâl·Pãg;‹($@QQ~:ú4¥ /麞e„¼æª't“Ê>~œÍÆTÂ={š÷ÈcW
äë6Å͆ÇIjË‚¶{Al ¸¸
²œísè¹”Lª £ÈàýÞùqœöÇ=*Y€þK +¯41¶{ºQµÚâl·Pãg;‹($@QQ~:ú4¥ /麞e„¼æª't“Ê>~œÍÆTÂ={š÷ÈcW
äë6Å͆ÇIjË‚¶{Al ¸¸
²œísè¹”Lª £ÈàýÞùqœöÇ=*Y€þK endobj 779 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 40 /LastChar 90 -/Widths 2019 0 R -/BaseFont /YNLJPG+URWPalladioL-Roma-Slant_167 +/Widths 2020 0 R +/BaseFont /PSHMBI+URWPalladioL-Roma-Slant_167 /FontDescriptor 777 0 R >> endobj 777 0 obj << /Ascent 715 /CapHeight 680 /Descent -282 -/FontName /YNLJPG+URWPalladioL-Roma-Slant_167 +/FontName /PSHMBI+URWPalladioL-Roma-Slant_167 /ItalicAngle -9 /StemV 84 /XHeight 469 @@ -9761,7 +9790,7 @@ endobj /CharSet (/parenleft/parenright/hyphen/period/zero/one/two/three/four/five/six/seven/eight/nine/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/X/Y/Z) /FontFile 778 0 R >> endobj -2019 0 obj +2020 0 obj [333 333 0 0 0 333 250 0 500 500 500 500 500 500 500 500 500 500 0 0 0 0 0 0 0 778 611 709 774 611 556 763 832 337 0 726 611 946 831 786 604 786 668 525 613 778 722 0 667 667 667 ] endobj 716 0 obj << @@ -9773,34 +9802,29 @@ endobj >> stream xÚíUkTgnõJÀ+Å€€¸ -æ2@ Š,’ -„‹ -ŠT†dBI& (— -A@0¨P¹TZ)`åb°¢àY#BAn¬\uÝôØ¥?wíÙ™?ó>Ïó½ß3Ïûó™™xúœØHì‚ÅÒ -Cb"܉a -D&Ã(àŽ°aT¸Rê/›s‡Ù<‰`%ËC|ËİhC$[S— žÈ…'…Ùž<1‹p ¾^Âa!{¥,¾%#$·}^n~®VoçºDzB<¡xdß«—jð}¥„ò¤€?™H&ƒ˜{ß}¬Øì!aó„Á -Eâ°„UT xB6,`)æ˜D"bl €Ep·8VÐ ±x(‹³§&^d— *@ -Â2‡ÿ -É«N®ˆýâü>"i½l«T÷j6ûÕÆæóØ1>Ôs^&ÁâÒÑbåÕr|¨BÿK–Ã)]ôŠA†GúWÓ%º¯¦•ûeÅS›ˆ=>øÈÄ4Ùš×Væ£yøÁÓß(
iM裳ßnÛÞ;½-®Mç[E?|¾qn°[{£¥÷IKÓÍv½4>Ü„xÒ¹u²6.ïÆNÖÄíûnO¼È%Í\ÁqÔš†fã8 -…•×ˆSË=•ò˜>{~=3½É_úÔ8Õ4Åìy«O¹t&-Ö0ú·[ašø»©cÅ3_3µpMÆôëwäI7”¤Ìø½ÆnFm¬¹¯6·YyÈ> &Z¯º4RkÐòøÀ/U`Ê•ææ²ØåPhAM®ñž§Qáß×ïœ;€Ïˆ!î«>}èYi½\»»^ÔÝu¯×9óe¡–G‡FÅ]ruVVË=1FÂÛttßÙ[ú(^ðŽÁw_{Ôà2˜ËkŒ–áÁã×Ã(Z¦².;#ó¯¾b¬._+*±Ø$*¹?–Hë?VÝìì¨Æ3ŽäÄ2&iz¹Á×`9޾ʲy£¬N¯§æ¬LÞ§c¬Ù¯ÌŠÒS˜È*Å<ÎíÙÌôÏ -$§ý&Ýïâþ.nar67j*õÜ?L_Æ
þ>ùýÆ¢ÂOÑ–CÈ-×외wƒ“eÜçJfCu™± ±×~Ü.©'$çˆÊ’Ú•kžâoZvv}@1Ë:>fâ©¡Ë,—]qÐNH¨¹n[(™Ý¡¡9ÿ¬TL[¨Ÿzf€kz·îØ3ù±öåï‘S;~RS,%ßÕìg>˜®>°éMæÁçtýÜOBÿ¦;ë§~ž7tX}\Å”õÉ/ã>Ìo”þ øý/C¥“áëó¯Ý’_“]ý·Šl©Šc'•×+oŒIn:˜ËHÊÛ” g²Øþ¥y¾T3#YWT«š{êæSEaÐ=EÕ§´y”óÌe¼Âa²²ÔŸö¹ë¯qT1ç¤Ó‹¿Ÿ"½Iì~¡Q×*5*ó¥W¥LM—hµ¾Ùê™Õ>ÄÔ“ÍYYÒ)Õk$®Í Í~w¿áŽ=œ¹¿Ií[Öû*£íu¼ƒq–ë<ýùnóî×ÜügÇ5¢SäÃEt|â:ÿûªU*õi£0Ú}y@ű®0í¯» -•)Éó[ò‡®7Vì:˜Çhöiyhw|ÃlÓ«DÕ·™Už¦«‹ûJ*ú¶ábuÁÀG$ñö²÷p}Â(5ñyQBCG¸çÀ\—$§!7!ÇC~%Šœù¤)ökµÑ)Ç÷D_uo€£ŒÚjîü5ÕñX׺™»÷àÔúBÙ˜›jU´fŸîÝN—²QÝÖ…Zöî–Û£Ž!CN×´$Aü6ÍŸd‡›@Âaß¼tÍ›
‰ˆINzÀxwÁv}ÃuÙF{I¾?>¬iÿ„úpv«× íøT6Í)¿éC x}ÞäÇo¢ŽªFü׆þÒ×¢¯ª«;zº³+Ù7ÖÍt®]šrF9µqg{7áÄ®læcÆɾ/éng4úçäZ«“ÊcÙ!õ6hÜ!IOL¶·F¯Œ[°6°7·‚óù?|pÿoð?Ñ +æ2@ Š,šÊ©É„’LP.(‚€`P¡r¨´RZ/ÀËÅÄŠ‚g¹iL@°rÕtÐc—þÜýµggþÌû<Ï÷~Ï<ïwÎgfâéCpb!Á°"@"HœÝ|ƒd +å†pD€…óg‹";À‰£\&$ +D¢Âa€ü^½Tƒïk,%”+ÈD2Ä„Øûî+pÅf_˜‹+(T[ +‡ ¬¢1 À°` +kóŒ÷<Žø¾açÜA|f,qÍéÃÏÊdÚÝ
z î®{½ÎY/‹´Ü;4Ò)n⫳Ò:Ή1~xܦ£ûÎÞ²G üt¾ûÚ+°—é¹¼ÖÈl<~=œ¢e*í²32ÿêÐ+ÆꊵÂR‹MÂÒK cI´þc`õÍÎ.ðj<óHnc’‘®—r-Æ‘ì«-[6JëõzjÏJe}:ÆšýÊìh=…‰´JÄeŸÑžÍÊÈôt÷òÛ¯¤%?9Ð#ð¹ZÝ÷¢òY9rvÇØ–Ä1_u +ã„üåà„Õ”pÜG›v©«Ì/ÕÐ< +¾Ôèh3S¨éTqv½Š¡@rÛoÒý.èâ¥äp¢§ÒÎýÃôeüàï“ßo,%üc94¡ÜÚ—3?âfp²œó\éQïPSnlBìµ·Kî Ä9¢Òäv嚧ø›ÖAþûPŒ#â³FŒ™xjèzTH¯8h'&òÕ×-”…¬î°‰°ÜV)¦r#꧞™àšÞ;öL~¬}¹Ð{äÔŽŸÔK±ü»Ú¬ Ó57½É:ô¼ƒ®Ÿ÷IØßtgýÔ¯"òç««<¤}²Ë¸š$?ðÿËPÙdÄú‚k·d×dD‚|BÞ«Ø–ª8öpRy½êƘ¸ñ¦ƒ¹”¤¼M9˜x&›P–ï{ñGµGóŠÊâqusSOý|jÐ p!º§¨þ”6²Ÿ¹ŒW:LV•Ð>÷Ù÷k<UÄ>éôâï§Ho’º_hÔË%Få¾ôêÔ©éR-ù›žÙíCƒzÒ9+K:¥fx_H·ßÝo¸c{îÂoûÖu㾊¤{ï&gœåÇ:O¾Û²û5§àÙq˜TÙp1Ÿ´.à¾j•J}Ú(œv_X9F¬/J¿ð«û®"ejÊ|ä–‚¡ëM•»å3Z|ZÚß0Ûü*ÉBõmVµ§éjã’¾…Ò*€¾m¸D]8ðI´½|À-BŸ0JcN|^œØØá90×%ÎmÌKÌu—]‰&g=)CJüä6:ø’ž˜ËÂî
p´Q[mc࿦9ëZ7s÷œÖP$sUŠÑì3нÛéR>ª+_¨cín½=ê:ätMKÌkÓüyAêßü}ó34gl6$!&¹ãÝ…Ûõ
×åí%±yøðæyüêÃÙ^ƒ¶ãS94§‚æ#¾âIHÌy“¿‰>ª X1úK_«¾ª¾þèéήß8WÓ¹vIêåÔÆíÝ„»r<3Nö}Iw=£Ñ?'ÓZ\Çêm°Aã‹{bs¼5z¥œÂµA½y•ìtÈÿáƒûƒÿ‰ØÕ
¡"„¡a¸àqþqendstream endobj 717 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2020 0 R +/Encoding 2021 0 R /FirstChar 13 /LastChar 110 -/Widths 2021 0 R -/BaseFont /LKQLXH+CMSY10 +/Widths 2022 0 R +/BaseFont /GLQZKS+CMSY10 /FontDescriptor 715 0 R >> endobj 715 0 obj << /Ascent 750 /CapHeight 683 /Descent -194 -/FontName /LKQLXH+CMSY10 +/FontName /GLQZKS+CMSY10 /ItalicAngle -14.035 /StemV 85 /XHeight 431 @@ -9809,10 +9833,10 @@ endobj /CharSet (/circlecopyrt/bullet/braceleft/braceright/bar/backslash) /FontFile 716 0 R >> endobj -2021 0 obj +2022 0 obj [1000 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 500 0 0 278 0 0 0 500 ] endobj -2020 0 obj << +2021 0 obj << /Type /Encoding /Differences [ 0 /.notdef 13/circlecopyrt 14/.notdef 15/bullet 16/.notdef 102/braceleft/braceright 104/.notdef 106/bar 107/.notdef 110/backslash 111/.notdef] >> endobj @@ -9824,7 +9848,7 @@ endobj /Filter /FlateDecode >> stream -xÚ¬ºc”¤]°%\]î²,Û¶mÛvuÙ¶mÛ¶m£ËU]¶í¯ß÷Î;ëÎüšo~äZωˆ³cGìsb'3Iä•hŒíMDílhhé9*ŠjòÖÖÆvÒ4Šv6€¿f(!';[a'N€š‰1@ØÄÀÈ`ààà€"ÙÙ»;X˜™;ÈÿbPPQQÿ—埀¡ûzþît´0³þ}p1±¶³·1±uúñ½QÉÄàdn0µ°6ÉÉkHÈŠÈÅdU +xÚ¬ºc”¤]°%\]î²,Û¶mÛvuÙ¶mÛ¶m£ËU]¶í¯ß÷Î;ëÎüšo~äZωˆ³cGìsb'3Iä•hŒíMDílhhé9*ŠjòÖÖÆvÒ4Šv6€¿f(!';[a'N€š‰1@ØÄÀÈ`ààà€"ÙÙ»;X˜™;ÈÿbPPQQÿ—埀¡ûzþît´0³þ}p1±¶³·1±uúñ½QÉÄàdn0µ°6ÉÉkHÈŠÈÅdU üPˆŸìá|ŒRbQ»š€ê ÏÎIOžŸÈ†ÆGG†{oÁú°©rb’p¹€Â’FúýÊÁæÓT©©jUmÛëÕb3ô]ÿ””s Îl~^õH¹²çŸÈôÿbاÑÙ®ï岞ÒæNHÙ™C ½‰h1R^iC«ÙÂ{»AùÖˆqwÛÁxyÒWcÁ·ÿ¡y÷'‡—ÁOéTñ´šŸwôêuòÓsPMTUËçýNÀ(5±†ÅÄ ö¶‘ÛMüc,‚¨×]EI[™Y… ¸îˆ0^ÆMÏm}™×Ë 3ž@óɪ0öGƺ°>KÛyE‡“åÜTh6þÁØŸøÐJ¢w¢§æ_[c
³öB8xÕ¾Vk”Ô‚—I¯¿ä„÷gÞk‰òŒ+(}‘²Å+åýdä„P9Œ,U•äD¡&w("Z·´U¾D£|yÛ)Õ‚þ0ŽÖ)¹` Á6l¬NÒµ½žŒÍ&²˜ W @@ -9918,23 +9942,23 @@ A™âõ2ѶŠŸÓ¶Äøí÷w6Ê+–IºÓœnµq×oúWïkN)ï‡mÖ8/1aÀÈ[ø'! ´ŒÄPxÉ¢rB<–ðœØEÔ?Pr|7°™2 u|Ðí8t^ˆš/€‹MÝp_’<{*ñ>Jn
ÐÅ—6¹s²R¯aÆ‹úr×€]9ä¯:²(`\‰áÉlA7¾Ä¦K”ž·†9z8nb64Ë¢jE¢$µ1V|·ZBËÐöX#Y»ÍªföWßqYûlf/ö»8Fj…›ë_X1¡ÁèínÕ
(N1©þ¢CÑð´ýÆ9(AÄEêÞ–«ôáÃÉ€ÖÜÑf}_¢£J¾:¤ íéJ$<ÂBÿˆSUÅöìMø›Yr¤˜¾ÃÈ×`Qíå?›Ù±VƒÝŽˆ½¸ÂˆÚÖñhÃÙƒXÔ‡7Ó¶,Í!Á•FÿÁEè^F¸¯xÀÁ¦ÿàB*·ÛvªR&¤N<•ê`¢µ+çN¼é¬ g¤£Ê¾2f~mû„m}…i 'óP4I×¥ŸÐ?`b¬FH.÷R}ÿÀ#]«iÀAñ7FÌÐ5øùq6O‰Ç/êúWbõÑFåq-¢´ð
§]xžök%˜Ã–td˜¯‘ŒÎ¼r¿ -ä&oH[œ¯A•9f +ä&oH[œ¯A•9f endobj 714 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 2 /LastChar 216 -/Widths 2022 0 R -/BaseFont /GDBEMM+URWPalladioL-Roma +/Widths 2023 0 R +/BaseFont /XMFFKP+URWPalladioL-Roma /FontDescriptor 712 0 R >> endobj 712 0 obj << /Ascent 715 /CapHeight 680 /Descent -282 -/FontName /GDBEMM+URWPalladioL-Roma +/FontName /XMFFKP+URWPalladioL-Roma /ItalicAngle 0 /StemV 84 /XHeight 469 @@ -9943,7 +9967,7 @@ endobj /CharSet (/fi/fl/exclam/numbersign/dollar/percent/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/bracketright/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/circumflex/quotedblright/endash/emdash/Oslash) /FontFile 713 0 R >> endobj -2022 0 obj +2023 0 obj [605 608 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 500 500 840 0 278 333 333 389 606 250 333 250 606 500 500 500 500 500 500 500 500 500 500 250 250 0 606 0 444 747 778 611 709 774 611 556 763 832 337 333 726 611 946 831 786 604 786 668 525 613 778 722 1000 667 667 667 333 0 333 0 0 278 500 553 444 611 479 333 556 582 291 234 556 291 883 582 546 601 560 395 424 326 603 565 834 516 556 500 0 0 0 0 0 0 0 0 0 0 0 0 0 333 0 0 0 0 0 0 0 0 0 0 0 500 0 500 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 833 ] endobj 689 0 obj << @@ -9954,7 +9978,7 @@ endobj /Filter /FlateDecode >> stream -xÚ¬zSm]³eÙ¶]uʶmÛ¶mÛö)Û¶mÛæ)ó”«ëû¯:n÷S÷}Xkfæ92GÎ{G,RBy%c;CQ;[gZzNE5ykkc;iA;kc‚3)©£‰³…°³ 'š‰1°‰##)½‡£…™¹3ùõYþ !0ôøÏÏN'3[²ŸWk;{[çˆÿçJ&&Îæ&¦Ö&Brò²bäb²*b&¶&ŽÖò.†ÖFÒF&¶N&¦vŽÖÿ¶ 0²³5¶ø§4'Ú,''{#‹Ÿm&îF&öÿ¸¨ ìMm,œœ~Þ ,œÌ
lzàlG`akdíbü»©Ý¿Ù;ÚýDØüø~Àä휜Œ-ì ~²Ê‹þOgsçr;Yü¸ ìL"íŒ\þ)é_¾˜¯³…³‰»ó?¹MŒ-œì
<~rÿ€Ù;Zü‹†‹“…Ù1 &p413p4¶6qrúùÁþ§;ÿU'ÁÿV½½½µÇ¿vÛý+ê?9X8;™X›ÒB10þä4rþÉmfaE÷ϨHØšÚ0Ðÿ›ÝØÅþ?|®&Žÿjù?3CñCÂÀØÎÖÚƒÀØÄŠNÖÎù'%ùÿ›Ê´ÿs"ÿHü?"ðÿˆ¼ÿâþwþ·Cüÿ{žÿ;´¨‹µµ¬É¿6üÇC MðÏ%óØXX{üßÂÿ{¤šÉ¿qü¿¡H8ü4BÀÖìGzZú3Z8‰Z¸›Ë[8™˜Xÿté_v[cGk[“5ÿÕHzúÿæS6·0²²ý§í,ÿæ2±5þïÔúq:1Aq
QaªÿóFýWœüòÎÊö?Ôþ½;ãÿ\üƒ"(hçNàEÃÀÂH@ÃDÏðsà~øp0±øü_2þˆá¿Ö2ÎŽîZ?eÿìü§øþk¥óß`DlìŒÿ™%g[ãŸñúOÃ?n#GÇUÿuâŠþõ¿ÝÄÄÝÄj}ÅΈ+Ø2ýw†szîÈ”°Ö@ðHˆ}i£rQ]¯_zøG¥þGmmÓçW»ÇòûÏ#IÊã±>4ë_½©&×ù8>ÄýˆÛdlTÇtº¥°jÑ^7KÒ» š¬ôªÇûS +xÚ¬zSm]³eÙ¶]uʶmÛ¶mÛö)Û¶mÛæ)ó”«ëû¯:n÷S÷}Xkfæ92GÎ{G,RBy%c;CQ;[gZzNE5ykkc;iA;kc‚3)©£‰³…°³ 'š‰1°‰##)½‡£…™¹3ùõYþ !0ôøÏÏN'3[²ŸWk;{[çˆÿçJ&&Îæ&¦Ö&Brò²bäb²*b&¶&ŽÖò.†ÖFÒF&¶N&¦vŽÖÿ¶ 0²³5¶ø§4'Ú,''{#‹Ÿm&îF&öÿ¸¨ ìMm,œœ~Þ ,œÌ
lzàlG`akdíbü»©Ý¿Ù;ÚýDØüø~Àä휜Œ-ì ~²Ê‹þOgsçr;Yü¸ ìL"íŒ\þ)é_¾˜¯³…³‰»ó?¹MŒ-œì
<~rÿ€Ù;Zü‹†‹“…Ù1 &p413p4¶6qrúùÁþ§;ÿU'ÁÿV½½½µÇ¿vÛý+ê?9X8;™X›ÒB10þä4rþÉmfaE÷ϨHØšÚ0Ðÿ›ÝØÅþ?|®&Žÿjù?3CñCÂÀØÎÖÚƒÀØÄŠNÖÎù'%ùÿ›Ê´ÿs"ÿHü?"ðÿˆ¼ÿâþwþ·Cüÿ{žÿ;´¨‹µµ¬É¿6üÇC MðÏ%óØXX{üßÂÿ{¤šÉ¿qü¿¡H8ü4BÀÖìGzZú3Z8‰Z¸›Ë[8™˜Xÿté_v[cGk[“5ÿÕHzúÿæS6·0²²ý§í,ÿæ2±5þïÔúq:9)Mu
IªÿóFýWœüòÎÊö?Ôþ½;ãÿ\üƒ"(hçNàEÃÀÂH@ÃDÏðsà~øp0±øü_2þˆá¿Ö2ÎŽîZ?eÿìü§øþk¥óß`DlìŒÿ™%g[ãŸñúOÃ?n#GÇUÿuâŠþõ¿ÝÄÄÝÄj}ÅΈ+Ø2ýw†szîÈ”°Ö@ðHˆ}i£rQ]¯_zøG¥þGmmÓçW»ÇòûÏ#IÊã±>4ë_½©&×ù8>ÄýˆÛdlTÇtº¥°jÑ^7KÒ» š¬ôªÇûS Šº%`¸3LŽ7)ü‰]üQHžíá|ÒâP»š ÿ\%ý}þ54>:2Ü{Ú„M•IÊå KåïƒÍ§©R!RÕDzÝžeÌ}øØ"œ³\ʤ!g?5íµ Îk“T$f}QìŒ}}œ7Ãë–aIzQ£Ø`{1®ËÊ›¡9sõ‰ór5úË<#¤=ø…ˆ´±36…è4Ó+òŽÇ¾a‘Ïp:‰é"“|:[5P6“Ó<M`IÍÍÍLÕ‘˜‡‰ŠŒDa_gÁ¡Ãœá½]é–§ 9ç8sêÓšÆô e¬bô:miØ*N±«z|+hytHOÛV77Ùa‰ @@ -10053,23 +10077,23 @@ Iö×~pºóE¦f}^!˜tQ°Ù’‹ƒEäì>‰ n|'ÆV²5D9_äå‹7â̬FJvõ˜2ÈÛŒ’ý;Û£K¿>Z&ú‰Àš¤þØɉ, y‘üP'càÜ^M#R°·ñÃ4
{LJB«œ»×ën¾HïŸMc–9|þ*S5ïV®ñKãÁ“üvÚJ¦‰‡’à°áR‹ÁPKw©ä;ÉͳðåH-ºOÖ²ÉâØÉ*Wü—¼éýšö•p…+èó®a7AÔºº;˜âR·~4ÿÕ|S®‘mƒ®W•~ ©Ãâ‡}DL×WF5J‰åéØ|¨i÷>#\2®˜ šÒ30D”€`Ÿ†§¾ç4}&1xÒ¤Ö¥ ÎdP•Ý‹$ȾCO‡Ù’jÛvëö?`C&W'aÔCJ•I'sŠFðìM˼k©¡¨»°+X ŠcAÐÀ«á¥£ùr!<s%!ÈbˆÀNÑ*d3³Ê6†Ø0´+3ïÍNYÀ8îj•ÛP³7Þ¨VäÎc=$0€Ž9€òõ
«£…WCÒ¸1å
Ô²9L±ž±~óŸ–äWÚyüInÐäöÀ'¼I3
ú]`+ò7vÃÝ!’ÔËö—k«Zœ–(&4¨j„¸`é+àpôxÿÅë«SüWâ$åM7ƒ[IZÒýš®ê~‚VƒÍ:Ø\é«…Œ€Øy_à£öý .ÈëÃ6‹û¯™ÅSßcŽ¾Q&É5 fd -ön’“,6"”@K;\ÿŸÁüø¯ +ön’“,6"”@K;\ÿŸÁüø¯ endobj 690 0 obj << /Type /Font /Subtype /Type1 -/Encoding 2007 0 R +/Encoding 2008 0 R /FirstChar 2 /LastChar 151 -/Widths 2023 0 R -/BaseFont /GBHYFD+URWPalladioL-Bold +/Widths 2024 0 R +/BaseFont /OKZXYJ+URWPalladioL-Bold /FontDescriptor 688 0 R >> endobj 688 0 obj << /Ascent 708 /CapHeight 672 /Descent -266 -/FontName /GBHYFD+URWPalladioL-Bold +/FontName /OKZXYJ+URWPalladioL-Bold /ItalicAngle 0 /StemV 123 /XHeight 471 @@ -10078,165 +10102,165 @@ endobj /CharSet (/fi/fl/exclam/dollar/percent/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/question/at/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/quotedblright/emdash) /FontFile 689 0 R >> endobj -2023 0 obj +2024 0 obj [611 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 0 500 889 0 278 333 333 444 606 250 333 250 296 500 500 500 500 500 500 500 500 500 500 250 250 0 0 0 444 747 778 667 722 833 611 556 833 833 389 0 778 611 1000 833 833 611 833 722 611 667 778 778 1000 667 667 667 333 0 333 0 0 0 500 611 444 611 500 389 556 611 333 333 611 333 889 611 556 611 611 389 444 333 611 556 833 500 556 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 1000 ] endobj 691 0 obj << /Type /Pages /Count 6 -/Parent 2024 0 R +/Parent 2025 0 R /Kids [682 0 R 709 0 R 719 0 R 774 0 R 838 0 R 900 0 R] >> endobj 926 0 obj << /Type /Pages /Count 6 -/Parent 2024 0 R +/Parent 2025 0 R /Kids [914 0 R 928 0 R 942 0 R 953 0 R 960 0 R 972 0 R] >> endobj 984 0 obj << /Type /Pages /Count 6 -/Parent 2024 0 R +/Parent 2025 0 R /Kids [977 0 R 986 0 R 997 0 R 1005 0 R 1012 0 R 1018 0 R] >> endobj 1041 0 obj << /Type /Pages /Count 6 -/Parent 2024 0 R +/Parent 2025 0 R /Kids [1026 0 R 1048 0 R 1058 0 R 1063 0 R 1067 0 R 1074 0 R] >> endobj 1090 0 obj << /Type /Pages /Count 6 -/Parent 2024 0 R +/Parent 2025 0 R /Kids [1082 0 R 1093 0 R 1100 0 R 1105 0 R 1114 0 R 1121 0 R] >> endobj 1133 0 obj << /Type /Pages /Count 6 -/Parent 2024 0 R -/Kids [1125 0 R 1136 0 R 1142 0 R 1150 0 R 1157 0 R 1166 0 R] +/Parent 2025 0 R +/Kids [1125 0 R 1136 0 R 1141 0 R 1149 0 R 1157 0 R 1166 0 R] >> endobj -1185 0 obj << +1184 0 obj << /Type /Pages /Count 6 -/Parent 2025 0 R -/Kids [1176 0 R 1187 0 R 1192 0 R 1198 0 R 1204 0 R 1209 0 R] +/Parent 2026 0 R +/Kids [1174 0 R 1186 0 R 1192 0 R 1198 0 R 1204 0 R 1208 0 R] >> endobj 1222 0 obj << /Type /Pages /Count 6 -/Parent 2025 0 R -/Kids [1219 0 R 1224 0 R 1228 0 R 1233 0 R 1239 0 R 1245 0 R] +/Parent 2026 0 R +/Kids [1219 0 R 1224 0 R 1228 0 R 1233 0 R 1239 0 R 1243 0 R] >> endobj 1258 0 obj << /Type /Pages /Count 6 -/Parent 2025 0 R -/Kids [1250 0 R 1261 0 R 1265 0 R 1270 0 R 1279 0 R 1287 0 R] +/Parent 2026 0 R +/Kids [1250 0 R 1261 0 R 1265 0 R 1269 0 R 1279 0 R 1286 0 R] >> endobj 1295 0 obj << /Type /Pages /Count 6 -/Parent 2025 0 R -/Kids [1292 0 R 1297 0 R 1301 0 R 1308 0 R 1315 0 R 1320 0 R] +/Parent 2026 0 R +/Kids [1292 0 R 1297 0 R 1301 0 R 1305 0 R 1313 0 R 1320 0 R] >> endobj -1334 0 obj << +1332 0 obj << /Type /Pages /Count 6 -/Parent 2025 0 R -/Kids [1327 0 R 1336 0 R 1346 0 R 1354 0 R 1358 0 R 1362 0 R] +/Parent 2026 0 R +/Kids [1328 0 R 1334 0 R 1341 0 R 1351 0 R 1359 0 R 1363 0 R] >> endobj -1374 0 obj << +1373 0 obj << /Type /Pages /Count 6 -/Parent 2025 0 R -/Kids [1369 0 R 1376 0 R 1384 0 R 1388 0 R 1392 0 R 1396 0 R] +/Parent 2026 0 R +/Kids [1369 0 R 1375 0 R 1382 0 R 1389 0 R 1393 0 R 1397 0 R] >> endobj 1408 0 obj << /Type /Pages /Count 6 -/Parent 2026 0 R -/Kids [1404 0 R 1410 0 R 1429 0 R 1442 0 R 1458 0 R 1470 0 R] +/Parent 2027 0 R +/Kids [1405 0 R 1410 0 R 1423 0 R 1437 0 R 1459 0 R 1465 0 R] >> endobj -1481 0 obj << +1480 0 obj << /Type /Pages /Count 6 -/Parent 2026 0 R -/Kids [1476 0 R 1483 0 R 1493 0 R 1505 0 R 1514 0 R 1520 0 R] +/Parent 2027 0 R +/Kids [1477 0 R 1482 0 R 1491 0 R 1503 0 R 1513 0 R 1521 0 R] >> endobj -1535 0 obj << +1533 0 obj << /Type /Pages /Count 6 -/Parent 2026 0 R -/Kids [1528 0 R 1537 0 R 1547 0 R 1555 0 R 1559 0 R 1565 0 R] +/Parent 2027 0 R +/Kids [1528 0 R 1535 0 R 1542 0 R 1552 0 R 1560 0 R 1566 0 R] >> endobj -1579 0 obj << +1580 0 obj << /Type /Pages /Count 6 -/Parent 2026 0 R -/Kids [1576 0 R 1581 0 R 1585 0 R 1596 0 R 1600 0 R 1607 0 R] +/Parent 2027 0 R +/Kids [1577 0 R 1582 0 R 1586 0 R 1597 0 R 1601 0 R 1608 0 R] >> endobj -1675 0 obj << +1676 0 obj << /Type /Pages /Count 6 -/Parent 2026 0 R -/Kids [1617 0 R 1677 0 R 1733 0 R 1787 0 R 1821 0 R 1830 0 R] +/Parent 2027 0 R +/Kids [1618 0 R 1678 0 R 1734 0 R 1788 0 R 1822 0 R 1831 0 R] >> endobj -1840 0 obj << +1841 0 obj << /Type /Pages /Count 6 -/Parent 2026 0 R -/Kids [1836 0 R 1842 0 R 1846 0 R 1851 0 R 1862 0 R 1867 0 R] +/Parent 2027 0 R +/Kids [1837 0 R 1843 0 R 1847 0 R 1852 0 R 1863 0 R 1868 0 R] >> endobj -1883 0 obj << +1884 0 obj << /Type /Pages /Count 6 -/Parent 2027 0 R -/Kids [1879 0 R 1885 0 R 1896 0 R 1901 0 R 1906 0 R 1917 0 R] +/Parent 2028 0 R +/Kids [1880 0 R 1886 0 R 1897 0 R 1902 0 R 1907 0 R 1918 0 R] >> endobj -1932 0 obj << +1933 0 obj << /Type /Pages /Count 6 -/Parent 2027 0 R -/Kids [1928 0 R 1934 0 R 1944 0 R 1950 0 R 1957 0 R 1968 0 R] +/Parent 2028 0 R +/Kids [1929 0 R 1935 0 R 1945 0 R 1951 0 R 1958 0 R 1969 0 R] >> endobj -1983 0 obj << +1984 0 obj << /Type /Pages /Count 4 -/Parent 2027 0 R -/Kids [1978 0 R 1985 0 R 1994 0 R 2001 0 R] ->> endobj -2024 0 obj << -/Type /Pages -/Count 36 /Parent 2028 0 R -/Kids [691 0 R 926 0 R 984 0 R 1041 0 R 1090 0 R 1133 0 R] +/Kids [1979 0 R 1986 0 R 1995 0 R 2002 0 R] >> endobj 2025 0 obj << /Type /Pages /Count 36 -/Parent 2028 0 R -/Kids [1185 0 R 1222 0 R 1258 0 R 1295 0 R 1334 0 R 1374 0 R] +/Parent 2029 0 R +/Kids [691 0 R 926 0 R 984 0 R 1041 0 R 1090 0 R 1133 0 R] >> endobj 2026 0 obj << /Type /Pages /Count 36 -/Parent 2028 0 R -/Kids [1408 0 R 1481 0 R 1535 0 R 1579 0 R 1675 0 R 1840 0 R] +/Parent 2029 0 R +/Kids [1184 0 R 1222 0 R 1258 0 R 1295 0 R 1332 0 R 1373 0 R] >> endobj 2027 0 obj << /Type /Pages -/Count 16 -/Parent 2028 0 R -/Kids [1883 0 R 1932 0 R 1983 0 R] +/Count 36 +/Parent 2029 0 R +/Kids [1408 0 R 1480 0 R 1533 0 R 1580 0 R 1676 0 R 1841 0 R] >> endobj 2028 0 obj << /Type /Pages -/Count 124 -/Kids [2024 0 R 2025 0 R 2026 0 R 2027 0 R] +/Count 16 +/Parent 2029 0 R +/Kids [1884 0 R 1933 0 R 1984 0 R] >> endobj 2029 0 obj << +/Type /Pages +/Count 124 +/Kids [2025 0 R 2026 0 R 2027 0 R 2028 0 R] +>> endobj +2030 0 obj << /Type /Outlines /First 7 0 R /Last 639 0 R @@ -10313,7 +10337,7 @@ endobj 639 0 obj << /Title 640 0 R /A 637 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 603 0 R /First 643 0 R /Last 679 0 R @@ -10379,7 +10403,7 @@ endobj 603 0 obj << /Title 604 0 R /A 601 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 583 0 R /Next 639 0 R /First 607 0 R @@ -10416,7 +10440,7 @@ endobj 583 0 obj << /Title 584 0 R /A 581 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 559 0 R /Next 603 0 R /First 587 0 R @@ -10460,7 +10484,7 @@ endobj 559 0 obj << /Title 560 0 R /A 557 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 243 0 R /Next 583 0 R /First 563 0 R @@ -11026,7 +11050,7 @@ endobj 243 0 obj << /Title 244 0 R /A 241 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 231 0 R /Next 559 0 R /First 247 0 R @@ -11048,7 +11072,7 @@ endobj 231 0 obj << /Title 232 0 R /A 229 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 131 0 R /Next 243 0 R /First 235 0 R @@ -11230,7 +11254,7 @@ endobj 131 0 obj << /Title 132 0 R /A 129 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 91 0 R /Next 231 0 R /First 135 0 R @@ -11304,7 +11328,7 @@ endobj 91 0 obj << /Title 92 0 R /A 89 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 67 0 R /Next 131 0 R /First 95 0 R @@ -11347,7 +11371,7 @@ endobj 67 0 obj << /Title 68 0 R /A 65 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Prev 7 0 R /Next 91 0 R /First 71 0 R @@ -11456,2079 +11480,2080 @@ endobj 7 0 obj << /Title 8 0 R /A 5 0 R -/Parent 2029 0 R +/Parent 2030 0 R /Next 67 0 R /First 11 0 R /Last 23 0 R /Count -4 >> endobj -2030 0 obj << -/Names [(Access_Control_Lists) 1563 0 R (Bv9ARM.ch01) 917 0 R (Bv9ARM.ch02) 963 0 R (Bv9ARM.ch03) 980 0 R (Bv9ARM.ch04) 1029 0 R (Bv9ARM.ch05) 1117 0 R (Bv9ARM.ch06) 1128 0 R (Bv9ARM.ch07) 1562 0 R (Bv9ARM.ch08) 1588 0 R (Bv9ARM.ch09) 1603 0 R (Bv9ARM.ch10) 1824 0 R (Configuration_File_Grammar) 1153 0 R (DNSSEC) 1096 0 R (Doc-Start) 687 0 R (Setting_TTLs) 1498 0 R (acache) 970 0 R (access_control) 1275 0 R (acl) 1161 0 R (address_match_lists) 1134 0 R (admin_tools) 1003 0 R (appendix.A) 602 0 R (appendix.B) 638 0 R (bibliography) 1611 0 R (boolean_options) 1045 0 R (builtin) 1349 0 R (chapter*.1) 722 0 R (chapter.1) 6 0 R (chapter.2) 66 0 R (chapter.3) 90 0 R (chapter.4) 130 0 R (chapter.5) 230 0 R (chapter.6) 242 0 R (chapter.7) 558 0 R (chapter.8) 582 0 R (cite.RFC1033) 1739 0 R (cite.RFC1034) 1623 0 R (cite.RFC1035) 1625 0 R (cite.RFC1101) 1721 0 R (cite.RFC1123) 1723 0 R (cite.RFC1183) 1683 0 R (cite.RFC1464) 1761 0 R (cite.RFC1535) 1668 0 R (cite.RFC1536) 1670 0 R (cite.RFC1537) 1741 0 R (cite.RFC1591) 1725 0 R (cite.RFC1706) 1685 0 R (cite.RFC1712) 1781 0 R (cite.RFC1713) 1763 0 R (cite.RFC1794) 1765 0 R (cite.RFC1876) 1687 0 R (cite.RFC1912) 1743 0 R (cite.RFC1982) 1672 0 R (cite.RFC1995) 1630 0 R (cite.RFC1996) 1632 0 R (cite.RFC2010) 1745 0 R (cite.RFC2052) 1689 0 R (cite.RFC2065) 1793 0 R (cite.RFC2136) 1634 0 R (cite.RFC2137) 1795 0 R (cite.RFC2163) 1691 0 R (cite.RFC2168) 1693 0 R (cite.RFC2181) 1636 0 R (cite.RFC2219) 1747 0 R (cite.RFC2230) 1695 0 R (cite.RFC2240) 1767 0 R (cite.RFC2308) 1638 0 R (cite.RFC2317) 1727 0 R (cite.RFC2345) 1769 0 R (cite.RFC2352) 1771 0 R (cite.RFC2535) 1797 0 R (cite.RFC2536) 1697 0 R (cite.RFC2537) 1699 0 R (cite.RFC2538) 1701 0 R (cite.RFC2539) 1703 0 R (cite.RFC2540) 1705 0 R (cite.RFC2671) 1640 0 R (cite.RFC2672) 1642 0 R (cite.RFC2673) 1783 0 R (cite.RFC2782) 1707 0 R (cite.RFC2825) 1751 0 R (cite.RFC2826) 1729 0 R (cite.RFC2845) 1644 0 R (cite.RFC2874) 1785 0 R (cite.RFC2915) 1709 0 R (cite.RFC2929) 1731 0 R (cite.RFC2930) 1646 0 R (cite.RFC2931) 1648 0 R (cite.RFC3007) 1650 0 R (cite.RFC3008) 1799 0 R (cite.RFC3071) 1773 0 R (cite.RFC3090) 1801 0 R (cite.RFC3110) 1711 0 R (cite.RFC3123) 1713 0 R (cite.RFC3225) 1656 0 R (cite.RFC3258) 1775 0 R (cite.RFC3445) 1803 0 R (cite.RFC3490) 1753 0 R (cite.RFC3491) 1755 0 R (cite.RFC3492) 1757 0 R (cite.RFC3596) 1715 0 R (cite.RFC3597) 1717 0 R (cite.RFC3645) 1652 0 R (cite.RFC3655) 1805 0 R (cite.RFC3658) 1807 0 R (cite.RFC3755) 1809 0 R (cite.RFC3757) 1811 0 R (cite.RFC3833) 1658 0 R (cite.RFC3845) 1813 0 R (cite.RFC3901) 1777 0 R (cite.RFC4033) 1660 0 R (cite.RFC4035) 1662 0 R (cite.RFC4044) 1664 0 R (cite.RFC4074) 1674 0 R (cite.RFC974) 1627 0 R (cite.id2503226) 1818 0 R (configuration_file_elements) 1129 0 R (controls_statement_definition_and_usage) 1016 0 R (diagnostic_tools) 951 0 R (dynamic_update) 1039 0 R (dynamic_update_policies) 1091 0 R (dynamic_update_security) 1285 0 R (empty) 1351 0 R (historical_dns_information) 1605 0 R (id2464966) 918 0 R (id2466572) 919 0 R (id2467531) 920 0 R (id2467541) 921 0 R (id2467713) 933 0 R (id2467734) 934 0 R (id2467768) 935 0 R (id2467852) 938 0 R (id2467945) 931 0 R (id2470250) 945 0 R (id2470274) 948 0 R (id2470372) 949 0 R (id2470393) 950 0 R (id2470423) 956 0 R (id2470526) 957 0 R (id2470553) 958 0 R (id2470587) 964 0 R (id2470614) 965 0 R (id2470627) 966 0 R (id2470721) 969 0 R (id2470731) 975 0 R (id2470763) 982 0 R (id2470779) 983 0 R (id2470802) 989 0 R (id2470819) 990 0 R (id2471156) 993 0 R (id2471161) 994 0 R (id2473080) 1021 0 R (id2473092) 1022 0 R (id2473485) 1054 0 R (id2473504) 1055 0 R (id2474007) 1071 0 R (id2474024) 1072 0 R (id2474062) 1077 0 R (id2474081) 1078 0 R (id2474091) 1079 0 R (id2474199) 1080 0 R (id2474325) 1085 0 R (id2474370) 1087 0 R (id2474384) 1088 0 R (id2474501) 1089 0 R (id2474569) 1097 0 R (id2474707) 1098 0 R (id2474786) 1103 0 R (id2474860) 1108 0 R (id2474990) 1110 0 R (id2475148) 1111 0 R (id2475181) 1118 0 R (id2475329) 1130 0 R (id2476124) 1139 0 R (id2476152) 1140 0 R (id2476346) 1145 0 R (id2476361) 1146 0 R (id2476391) 1147 0 R (id2476542) 1154 0 R (id2476917) 1160 0 R (id2476960) 1162 0 R (id2477175) 1164 0 R (id2477604) 1171 0 R (id2477621) 1172 0 R (id2477644) 1173 0 R (id2477668) 1179 0 R (id2477827) 1183 0 R (id2477953) 1184 0 R (id2478005) 1190 0 R (id2478766) 1201 0 R (id2479401) 1207 0 R (id2479611) 1212 0 R (id2479675) 1215 0 R (id2479719) 1216 0 R (id2479734) 1217 0 R (id2481874) 1242 0 R (id2483741) 1268 0 R (id2483800) 1274 0 R (id2484364) 1284 0 R (id2485396) 1304 0 R (id2485411) 1305 0 R (id2485526) 1311 0 R (id2485728) 1313 0 R (id2486298) 1331 0 R (id2487648) 1366 0 R (id2488400) 1379 0 R (id2488451) 1380 0 R (id2488533) 1382 0 R (id2490162) 1399 0 R (id2490169) 1400 0 R (id2490174) 1401 0 R (id2490588) 1407 0 R (id2490621) 1413 0 R (id2492046) 1461 0 R (id2492304) 1463 0 R (id2492322) 1464 0 R (id2492342) 1467 0 R (id2492647) 1473 0 R (id2493676) 1479 0 R (id2493804) 1486 0 R (id2493826) 1487 0 R (id2494188) 1489 0 R (id2494393) 1491 0 R (id2494416) 1496 0 R (id2494888) 1499 0 R (id2495081) 1501 0 R (id2495096) 1502 0 R (id2495208) 1508 0 R (id2495230) 1509 0 R (id2495291) 1510 0 R (id2495361) 1511 0 R (id2495397) 1512 0 R (id2495459) 1517 0 R (id2495865) 1523 0 R (id2495888) 1524 0 R (id2496282) 1531 0 R (id2496298) 1532 0 R (id2496304) 1533 0 R (id2497821) 1540 0 R (id2497828) 1541 0 R (id2498204) 1543 0 R (id2498210) 1544 0 R (id2499126) 1553 0 R (id2499382) 1572 0 R (id2499459) 1573 0 R (id2499587) 1574 0 R (id2499667) 1589 0 R (id2499672) 1590 0 R (id2499684) 1591 0 R (id2499701) 1592 0 R (id2499831) 1604 0 R (id2500003) 1610 0 R (id2500259) 1615 0 R (id2500261) 1621 0 R (id2500269) 1626 0 R (id2500293) 1622 0 R (id2500316) 1624 0 R (id2500353) 1635 0 R (id2500379) 1637 0 R (id2500405) 1629 0 R (id2500429) 1631 0 R (id2500453) 1633 0 R (id2500508) 1639 0 R (id2500535) 1641 0 R (id2500562) 1643 0 R (id2500624) 1645 0 R (id2500653) 1647 0 R (id2500683) 1649 0 R (id2500710) 1651 0 R (id2500785) 1654 0 R (id2500792) 1655 0 R (id2500819) 1657 0 R (id2500855) 1659 0 R (id2500920) 1663 0 R (id2500985) 1661 0 R (id2501050) 1666 0 R (id2501059) 1667 0 R (id2501084) 1669 0 R (id2501153) 1671 0 R (id2501188) 1673 0 R (id2501228) 1681 0 R (id2501234) 1682 0 R (id2501291) 1684 0 R (id2501329) 1692 0 R (id2501432) 1686 0 R (id2501486) 1688 0 R (id2501525) 1690 0 R (id2501550) 1694 0 R (id2501576) 1696 0 R (id2501603) 1698 0 R (id2501629) 1700 0 R (id2501669) 1702 0 R (id2501699) 1704 0 R (id2501729) 1706 0 R (id2501771) 1708 0 R (id2501804) 1710 0 R (id2501831) 1712 0 R (id2501854) 1714 0 R (id2501912) 1716 0 R (id2501937) 1719 0 R (id2501944) 1720 0 R (id2501970) 1722 0 R (id2501992) 1724 0 R (id2502016) 1726 0 R (id2502061) 1728 0 R (id2502085) 1730 0 R (id2502135) 1737 0 R (id2502142) 1738 0 R (id2502166) 1740 0 R (id2502193) 1742 0 R (id2502219) 1744 0 R (id2502256) 1746 0 R (id2502296) 1749 0 R (id2502301) 1750 0 R (id2502333) 1752 0 R (id2502379) 1754 0 R (id2502414) 1756 0 R (id2502441) 1759 0 R (id2502459) 1760 0 R (id2502482) 1762 0 R (id2502507) 1764 0 R (id2502533) 1766 0 R (id2502556) 1768 0 R (id2502602) 1770 0 R (id2502626) 1772 0 R (id2502652) 1774 0 R (id2502678) 1776 0 R (id2502715) 1779 0 R (id2502722) 1780 0 R (id2502779) 1782 0 R (id2502806) 1784 0 R (id2502842) 1791 0 R (id2502854) 1792 0 R (id2502893) 1794 0 R (id2502920) 1796 0 R (id2502950) 1798 0 R (id2502976) 1800 0 R (id2503002) 1802 0 R (id2503038) 1804 0 R (id2503075) 1806 0 R (id2503101) 1808 0 R (id2503128) 1810 0 R (id2503173) 1812 0 R (id2503214) 1815 0 R (id2503224) 1817 0 R (id2503226) 1819 0 R (incremental_zone_transfers) 1051 0 R (internet_drafts) 1814 0 R (ipv6addresses) 1112 0 R (journal) 1040 0 R (lwresd) 1119 0 R (man.dig) 1825 0 R (man.dnssec-keygen) 1873 0 R (man.dnssec-signzone) 1891 0 R (man.host) 1858 0 R (man.named) 1940 0 R (man.named-checkconf) 1911 0 R (man.named-checkzone) 1923 0 R (man.rndc) 1962 0 R (man.rndc-confgen) 1991 0 R (man.rndc.conf) 1974 0 R (notify) 1030 0 R (options) 1231 0 R (page.1) 686 0 R (page.10) 955 0 R (page.100) 1789 0 R (page.101) 1823 0 R (page.102) 1832 0 R (page.103) 1838 0 R (page.104) 1844 0 R (page.105) 1848 0 R (page.106) 1853 0 R (page.107) 1864 0 R (page.108) 1869 0 R (page.109) 1881 0 R (page.11) 962 0 R (page.110) 1887 0 R (page.111) 1898 0 R (page.112) 1903 0 R (page.113) 1908 0 R (page.114) 1919 0 R (page.115) 1930 0 R (page.116) 1936 0 R (page.117) 1946 0 R (page.118) 1952 0 R (page.119) 1959 0 R (page.12) 974 0 R (page.120) 1970 0 R (page.121) 1980 0 R (page.122) 1987 0 R (page.123) 1996 0 R (page.124) 2003 0 R (page.13) 979 0 R (page.14) 988 0 R (page.15) 999 0 R (page.16) 1007 0 R (page.17) 1014 0 R (page.18) 1020 0 R (page.19) 1028 0 R (page.2) 711 0 R (page.20) 1050 0 R (page.21) 1060 0 R (page.22) 1065 0 R (page.23) 1069 0 R (page.24) 1076 0 R (page.25) 1084 0 R (page.26) 1095 0 R (page.27) 1102 0 R (page.28) 1107 0 R (page.29) 1116 0 R (page.3) 721 0 R (page.30) 1123 0 R (page.31) 1127 0 R (page.32) 1138 0 R (page.33) 1144 0 R (page.34) 1152 0 R (page.35) 1159 0 R (page.36) 1168 0 R (page.37) 1178 0 R (page.38) 1189 0 R (page.39) 1194 0 R (page.4) 776 0 R (page.40) 1200 0 R (page.41) 1206 0 R (page.42) 1211 0 R (page.43) 1221 0 R (page.44) 1226 0 R (page.45) 1230 0 R (page.46) 1235 0 R (page.47) 1241 0 R (page.48) 1247 0 R (page.49) 1252 0 R (page.5) 840 0 R (page.50) 1263 0 R (page.51) 1267 0 R (page.52) 1272 0 R (page.53) 1281 0 R (page.54) 1289 0 R (page.55) 1294 0 R (page.56) 1299 0 R (page.57) 1303 0 R (page.58) 1310 0 R (page.59) 1317 0 R (page.6) 902 0 R (page.60) 1322 0 R (page.61) 1329 0 R (page.62) 1338 0 R (page.63) 1348 0 R (page.64) 1356 0 R (page.65) 1360 0 R (page.66) 1364 0 R (page.67) 1371 0 R (page.68) 1378 0 R (page.69) 1386 0 R (page.7) 916 0 R (page.70) 1390 0 R (page.71) 1394 0 R (page.72) 1398 0 R (page.73) 1406 0 R (page.74) 1412 0 R (page.75) 1431 0 R (page.76) 1444 0 R (page.77) 1460 0 R (page.78) 1472 0 R (page.79) 1478 0 R (page.8) 930 0 R (page.80) 1485 0 R (page.81) 1495 0 R (page.82) 1507 0 R (page.83) 1516 0 R (page.84) 1522 0 R (page.85) 1530 0 R (page.86) 1539 0 R (page.87) 1549 0 R (page.88) 1557 0 R (page.89) 1561 0 R (page.9) 944 0 R (page.90) 1567 0 R (page.91) 1578 0 R (page.92) 1583 0 R (page.93) 1587 0 R (page.94) 1598 0 R (page.95) 1602 0 R (page.96) 1609 0 R (page.97) 1619 0 R (page.98) 1679 0 R (page.99) 1735 0 R (proposed_standards) 1056 0 R (query_address) 1290 0 R (rfcs) 940 0 R (rndc) 1174 0 R (rrset_ordering) 995 0 R (sample_configuration) 981 0 R (section*.10) 1748 0 R (section*.11) 1758 0 R (section*.12) 1778 0 R (section*.13) 1790 0 R (section*.14) 1816 0 R (section*.15) 1826 0 R (section*.16) 1827 0 R (section*.17) 1828 0 R (section*.18) 1833 0 R (section*.19) 1834 0 R (section*.2) 1614 0 R (section*.20) 1839 0 R (section*.21) 1849 0 R (section*.22) 1854 0 R (section*.23) 1855 0 R (section*.24) 1856 0 R (section*.25) 1857 0 R (section*.26) 1859 0 R (section*.27) 1860 0 R (section*.28) 1865 0 R (section*.29) 1870 0 R (section*.3) 1620 0 R (section*.30) 1871 0 R (section*.31) 1872 0 R (section*.32) 1874 0 R (section*.33) 1875 0 R (section*.34) 1876 0 R (section*.35) 1877 0 R (section*.36) 1882 0 R (section*.37) 1888 0 R (section*.38) 1889 0 R (section*.39) 1890 0 R (section*.4) 1628 0 R (section*.40) 1892 0 R (section*.41) 1893 0 R (section*.42) 1894 0 R (section*.43) 1899 0 R (section*.44) 1904 0 R (section*.45) 1909 0 R (section*.46) 1910 0 R (section*.47) 1912 0 R (section*.48) 1913 0 R (section*.49) 1914 0 R (section*.5) 1653 0 R (section*.50) 1915 0 R (section*.51) 1920 0 R (section*.52) 1921 0 R (section*.53) 1922 0 R (section*.54) 1924 0 R (section*.55) 1925 0 R (section*.56) 1926 0 R (section*.57) 1931 0 R (section*.58) 1937 0 R (section*.59) 1938 0 R (section*.6) 1665 0 R (section*.60) 1939 0 R (section*.61) 1941 0 R (section*.62) 1942 0 R (section*.63) 1947 0 R (section*.64) 1948 0 R (section*.65) 1953 0 R (section*.66) 1954 0 R (section*.67) 1955 0 R (section*.68) 1960 0 R (section*.69) 1961 0 R (section*.7) 1680 0 R (section*.70) 1963 0 R (section*.71) 1964 0 R (section*.72) 1965 0 R (section*.73) 1966 0 R (section*.74) 1971 0 R (section*.75) 1972 0 R (section*.76) 1973 0 R (section*.77) 1975 0 R (section*.78) 1976 0 R (section*.79) 1981 0 R (section*.8) 1718 0 R (section*.80) 1982 0 R (section*.81) 1988 0 R (section*.82) 1989 0 R (section*.83) 1990 0 R (section*.84) 1992 0 R (section*.85) 1997 0 R (section*.86) 1998 0 R (section*.87) 1999 0 R (section*.88) 2004 0 R (section*.89) 2005 0 R (section*.9) 1736 0 R (section*.90) 2006 0 R (section.1.1) 10 0 R (section.1.2) 14 0 R (section.1.3) 18 0 R (section.1.4) 22 0 R (section.2.1) 70 0 R (section.2.2) 74 0 R (section.2.3) 78 0 R (section.2.4) 82 0 R (section.2.5) 86 0 R (section.3.1) 94 0 R (section.3.2) 106 0 R (section.3.3) 110 0 R (section.4.1) 134 0 R (section.4.2) 138 0 R (section.4.3) 146 0 R (section.4.4) 150 0 R (section.4.5) 158 0 R (section.4.6) 194 0 R (section.4.7) 198 0 R (section.4.8) 202 0 R (section.4.9) 218 0 R (section.5.1) 234 0 R (section.5.2) 238 0 R (section.6.1) 246 0 R (section.6.2) 274 0 R (section.6.3) 478 0 R (section.6.4) 530 0 R (section.7.1) 562 0 R (section.7.2) 566 0 R (section.7.3) 578 0 R (section.8.1) 586 0 R (section.8.2) 594 0 R (section.8.3) 598 0 R (section.A.1) 606 0 R (section.A.2) 614 0 R (section.A.3) 622 0 R (section.B.1) 642 0 R (section.B.10) 678 0 R (section.B.2) 646 0 R (section.B.3) 650 0 R (section.B.4) 654 0 R (section.B.5) 658 0 R (section.B.6) 662 0 R (section.B.7) 666 0 R (section.B.8) 670 0 R (section.B.9) 674 0 R (server_statement_definition_and_usage) 1259 0 R (server_statement_grammar) 1367 0 R (statschannels) 1365 0 R (statsfile) 1237 0 R (subsection.1.4.1) 26 0 R (subsection.1.4.2) 30 0 R (subsection.1.4.3) 34 0 R (subsection.1.4.4) 38 0 R (subsection.1.4.5) 54 0 R (subsection.1.4.6) 62 0 R (subsection.3.1.1) 98 0 R (subsection.3.1.2) 102 0 R (subsection.3.3.1) 114 0 R (subsection.3.3.2) 126 0 R (subsection.4.2.1) 142 0 R (subsection.4.4.1) 154 0 R (subsection.4.5.1) 162 0 R (subsection.4.5.2) 174 0 R (subsection.4.5.3) 178 0 R (subsection.4.5.4) 182 0 R (subsection.4.5.5) 186 0 R (subsection.4.5.6) 190 0 R (subsection.4.8.1) 206 0 R (subsection.4.8.2) 210 0 R (subsection.4.8.3) 214 0 R (subsection.4.9.1) 222 0 R (subsection.4.9.2) 226 0 R (subsection.6.1.1) 250 0 R (subsection.6.1.2) 262 0 R (subsection.6.2.1) 278 0 R (subsection.6.2.10) 314 0 R (subsection.6.2.11) 326 0 R (subsection.6.2.12) 330 0 R (subsection.6.2.13) 334 0 R (subsection.6.2.14) 338 0 R (subsection.6.2.15) 342 0 R (subsection.6.2.16) 346 0 R (subsection.6.2.17) 422 0 R (subsection.6.2.18) 426 0 R (subsection.6.2.19) 430 0 R (subsection.6.2.2) 282 0 R (subsection.6.2.20) 434 0 R (subsection.6.2.21) 438 0 R (subsection.6.2.22) 442 0 R (subsection.6.2.23) 446 0 R (subsection.6.2.24) 450 0 R (subsection.6.2.25) 454 0 R (subsection.6.2.26) 458 0 R (subsection.6.2.3) 286 0 R (subsection.6.2.4) 290 0 R (subsection.6.2.5) 294 0 R (subsection.6.2.6) 298 0 R (subsection.6.2.7) 302 0 R (subsection.6.2.8) 306 0 R (subsection.6.2.9) 310 0 R (subsection.6.3.1) 482 0 R (subsection.6.3.2) 494 0 R (subsection.6.3.3) 498 0 R (subsection.6.3.4) 502 0 R (subsection.6.3.5) 506 0 R (subsection.6.3.6) 522 0 R (subsection.6.3.7) 526 0 R (subsection.6.4.1) 538 0 R (subsection.7.2.1) 570 0 R (subsection.7.2.2) 574 0 R (subsection.8.1.1) 590 0 R (subsection.A.1.1) 610 0 R (subsection.A.2.1) 618 0 R (subsection.A.3.1) 626 0 R (subsection.A.3.2) 630 0 R (subsection.A.3.3) 634 0 R (subsubsection.1.4.4.1) 42 0 R (subsubsection.1.4.4.2) 46 0 R (subsubsection.1.4.4.3) 50 0 R (subsubsection.1.4.5.1) 58 0 R (subsubsection.3.3.1.1) 118 0 R (subsubsection.3.3.1.2) 122 0 R (subsubsection.4.5.1.1) 166 0 R (subsubsection.4.5.1.2) 170 0 R (subsubsection.6.1.1.1) 254 0 R (subsubsection.6.1.1.2) 258 0 R (subsubsection.6.1.2.1) 266 0 R (subsubsection.6.1.2.2) 270 0 R (subsubsection.6.2.10.1) 318 0 R (subsubsection.6.2.10.2) 322 0 R (subsubsection.6.2.16.1) 350 0 R (subsubsection.6.2.16.10) 386 0 R (subsubsection.6.2.16.11) 390 0 R (subsubsection.6.2.16.12) 394 0 R (subsubsection.6.2.16.13) 398 0 R (subsubsection.6.2.16.14) 402 0 R (subsubsection.6.2.16.15) 406 0 R (subsubsection.6.2.16.16) 410 0 R (subsubsection.6.2.16.17) 414 0 R (subsubsection.6.2.16.18) 418 0 R (subsubsection.6.2.16.2) 354 0 R (subsubsection.6.2.16.3) 358 0 R (subsubsection.6.2.16.4) 362 0 R (subsubsection.6.2.16.5) 366 0 R (subsubsection.6.2.16.6) 370 0 R (subsubsection.6.2.16.7) 374 0 R (subsubsection.6.2.16.8) 378 0 R (subsubsection.6.2.16.9) 382 0 R (subsubsection.6.2.26.1) 462 0 R (subsubsection.6.2.26.2) 466 0 R (subsubsection.6.2.26.3) 470 0 R (subsubsection.6.2.26.4) 474 0 R (subsubsection.6.3.1.1) 486 0 R (subsubsection.6.3.1.2) 490 0 R (subsubsection.6.3.5.1) 510 0 R (subsubsection.6.3.5.2) 514 0 R (subsubsection.6.3.5.3) 518 0 R (subsubsection.6.4.0.1) 534 0 R (subsubsection.6.4.1.1) 542 0 R (subsubsection.6.4.1.2) 546 0 R (subsubsection.6.4.1.3) 550 0 R (subsubsection.6.4.1.4) 554 0 R (table.1.1) 922 0 R (table.1.2) 932 0 R (table.3.1) 991 0 R (table.3.2) 1023 0 R (table.6.1) 1131 0 R (table.6.10) 1474 0 R (table.6.11) 1480 0 R (table.6.12) 1488 0 R (table.6.13) 1490 0 R (table.6.14) 1497 0 R (table.6.15) 1500 0 R (table.6.16) 1503 0 R (table.6.17) 1518 0 R (table.6.18) 1525 0 R (table.6.19) 1534 0 R (table.6.2) 1155 0 R (table.6.20) 1542 0 R (table.6.21) 1545 0 R (table.6.3) 1163 0 R (table.6.4) 1202 0 R (table.6.5) 1243 0 R (table.6.6) 1332 0 R (table.6.7) 1402 0 R (table.6.8) 1462 0 R (table.6.9) 1468 0 R (the_category_phrase) 1196 0 R (the_sortlist_statement) 1323 0 R (topology) 1318 0 R (tsig) 1070 0 R (tuning) 1333 0 R (types_of_resource_records_and_when_to_use_them) 939 0 R (view_statement_grammar) 1352 0 R (zone_statement_grammar) 1277 0 R (zone_transfers) 1046 0 R (zonefile_format) 1344 0 R] -/Limits [(Access_Control_Lists) (zonefile_format)] ->> endobj 2031 0 obj << -/Kids [2030 0 R] +/Names [(Access_Control_Lists) 1564 0 R (Bv9ARM.ch01) 917 0 R (Bv9ARM.ch02) 963 0 R (Bv9ARM.ch03) 980 0 R (Bv9ARM.ch04) 1029 0 R (Bv9ARM.ch05) 1117 0 R (Bv9ARM.ch06) 1128 0 R (Bv9ARM.ch07) 1563 0 R (Bv9ARM.ch08) 1589 0 R (Bv9ARM.ch09) 1604 0 R (Bv9ARM.ch10) 1825 0 R (Configuration_File_Grammar) 1153 0 R (DNSSEC) 1096 0 R (Doc-Start) 687 0 R (Setting_TTLs) 1499 0 R (acache) 970 0 R (access_control) 1275 0 R (acl) 1161 0 R (address_match_lists) 1134 0 R (admin_tools) 1003 0 R (appendix.A) 602 0 R (appendix.B) 638 0 R (bibliography) 1612 0 R (boolean_options) 1045 0 R (builtin) 1354 0 R (chapter*.1) 722 0 R (chapter.1) 6 0 R (chapter.2) 66 0 R (chapter.3) 90 0 R (chapter.4) 130 0 R (chapter.5) 230 0 R (chapter.6) 242 0 R (chapter.7) 558 0 R (chapter.8) 582 0 R (cite.RFC1033) 1740 0 R (cite.RFC1034) 1624 0 R (cite.RFC1035) 1626 0 R (cite.RFC1101) 1722 0 R (cite.RFC1123) 1724 0 R (cite.RFC1183) 1684 0 R (cite.RFC1464) 1762 0 R (cite.RFC1535) 1669 0 R (cite.RFC1536) 1671 0 R (cite.RFC1537) 1742 0 R (cite.RFC1591) 1726 0 R (cite.RFC1706) 1686 0 R (cite.RFC1712) 1782 0 R (cite.RFC1713) 1764 0 R (cite.RFC1794) 1766 0 R (cite.RFC1876) 1688 0 R (cite.RFC1912) 1744 0 R (cite.RFC1982) 1673 0 R (cite.RFC1995) 1631 0 R (cite.RFC1996) 1633 0 R (cite.RFC2010) 1746 0 R (cite.RFC2052) 1690 0 R (cite.RFC2065) 1794 0 R (cite.RFC2136) 1635 0 R (cite.RFC2137) 1796 0 R (cite.RFC2163) 1692 0 R (cite.RFC2168) 1694 0 R (cite.RFC2181) 1637 0 R (cite.RFC2219) 1748 0 R (cite.RFC2230) 1696 0 R (cite.RFC2240) 1768 0 R (cite.RFC2308) 1639 0 R (cite.RFC2317) 1728 0 R (cite.RFC2345) 1770 0 R (cite.RFC2352) 1772 0 R (cite.RFC2535) 1798 0 R (cite.RFC2536) 1698 0 R (cite.RFC2537) 1700 0 R (cite.RFC2538) 1702 0 R (cite.RFC2539) 1704 0 R (cite.RFC2540) 1706 0 R (cite.RFC2671) 1641 0 R (cite.RFC2672) 1643 0 R (cite.RFC2673) 1784 0 R (cite.RFC2782) 1708 0 R (cite.RFC2825) 1752 0 R (cite.RFC2826) 1730 0 R (cite.RFC2845) 1645 0 R (cite.RFC2874) 1786 0 R (cite.RFC2915) 1710 0 R (cite.RFC2929) 1732 0 R (cite.RFC2930) 1647 0 R (cite.RFC2931) 1649 0 R (cite.RFC3007) 1651 0 R (cite.RFC3008) 1800 0 R (cite.RFC3071) 1774 0 R (cite.RFC3090) 1802 0 R (cite.RFC3110) 1712 0 R (cite.RFC3123) 1714 0 R (cite.RFC3225) 1657 0 R (cite.RFC3258) 1776 0 R (cite.RFC3445) 1804 0 R (cite.RFC3490) 1754 0 R (cite.RFC3491) 1756 0 R (cite.RFC3492) 1758 0 R (cite.RFC3596) 1716 0 R (cite.RFC3597) 1718 0 R (cite.RFC3645) 1653 0 R (cite.RFC3655) 1806 0 R (cite.RFC3658) 1808 0 R (cite.RFC3755) 1810 0 R (cite.RFC3757) 1812 0 R (cite.RFC3833) 1659 0 R (cite.RFC3845) 1814 0 R (cite.RFC3901) 1778 0 R (cite.RFC4033) 1661 0 R (cite.RFC4035) 1663 0 R (cite.RFC4044) 1665 0 R (cite.RFC4074) 1675 0 R (cite.RFC974) 1628 0 R (cite.id2503736) 1819 0 R (configuration_file_elements) 1129 0 R (controls_statement_definition_and_usage) 1016 0 R (diagnostic_tools) 951 0 R (dynamic_update) 1039 0 R (dynamic_update_policies) 1091 0 R (dynamic_update_security) 1284 0 R (empty) 1356 0 R (historical_dns_information) 1606 0 R (id2464966) 918 0 R (id2466572) 919 0 R (id2467531) 920 0 R (id2467541) 921 0 R (id2467713) 933 0 R (id2467734) 934 0 R (id2467768) 935 0 R (id2467852) 938 0 R (id2467945) 931 0 R (id2470250) 945 0 R (id2470274) 948 0 R (id2470372) 949 0 R (id2470393) 950 0 R (id2470423) 956 0 R (id2470526) 957 0 R (id2470553) 958 0 R (id2470587) 964 0 R (id2470614) 965 0 R (id2470627) 966 0 R (id2470721) 969 0 R (id2470731) 975 0 R (id2470763) 982 0 R (id2470779) 983 0 R (id2470802) 989 0 R (id2470819) 990 0 R (id2471156) 993 0 R (id2471161) 994 0 R (id2473080) 1021 0 R (id2473092) 1022 0 R (id2473485) 1054 0 R (id2473504) 1055 0 R (id2474007) 1071 0 R (id2474024) 1072 0 R (id2474062) 1077 0 R (id2474081) 1078 0 R (id2474091) 1079 0 R (id2474199) 1080 0 R (id2474325) 1085 0 R (id2474370) 1087 0 R (id2474384) 1088 0 R (id2474501) 1089 0 R (id2474569) 1097 0 R (id2474707) 1098 0 R (id2474786) 1103 0 R (id2474860) 1108 0 R (id2474990) 1110 0 R (id2475148) 1111 0 R (id2475181) 1118 0 R (id2475329) 1130 0 R (id2476190) 1139 0 R (id2476218) 1144 0 R (id2476412) 1145 0 R (id2476427) 1146 0 R (id2476457) 1152 0 R (id2476609) 1154 0 R (id2476983) 1160 0 R (id2477094) 1162 0 R (id2477309) 1164 0 R (id2477738) 1171 0 R (id2477755) 1177 0 R (id2477779) 1178 0 R (id2477802) 1179 0 R (id2477893) 1183 0 R (id2478019) 1189 0 R (id2478071) 1190 0 R (id2478833) 1201 0 R (id2479467) 1211 0 R (id2479677) 1212 0 R (id2479741) 1215 0 R (id2479785) 1216 0 R (id2479800) 1217 0 R (id2482021) 1246 0 R (id2483889) 1272 0 R (id2483947) 1274 0 R (id2484512) 1289 0 R (id2485562) 1308 0 R (id2485622) 1310 0 R (id2486010) 1316 0 R (id2486144) 1318 0 R (id2486578) 1337 0 R (id2488064) 1367 0 R (id2488816) 1380 0 R (id2488867) 1385 0 R (id2488949) 1387 0 R (id2490373) 1400 0 R (id2490380) 1401 0 R (id2490386) 1402 0 R (id2490868) 1413 0 R (id2490901) 1414 0 R (id2492394) 1462 0 R (id2492720) 1468 0 R (id2492738) 1469 0 R (id2492758) 1472 0 R (id2492926) 1474 0 R (id2494050) 1485 0 R (id2494178) 1487 0 R (id2494336) 1488 0 R (id2494630) 1494 0 R (id2494766) 1496 0 R (id2494789) 1497 0 R (id2495398) 1500 0 R (id2495523) 1506 0 R (id2495538) 1507 0 R (id2495650) 1509 0 R (id2495672) 1510 0 R (id2495733) 1511 0 R (id2495802) 1516 0 R (id2495838) 1517 0 R (id2495900) 1518 0 R (id2496443) 1524 0 R (id2496466) 1525 0 R (id2496792) 1532 0 R (id2496808) 1538 0 R (id2496813) 1539 0 R (id2498195) 1545 0 R (id2498201) 1546 0 R (id2498646) 1548 0 R (id2498651) 1549 0 R (id2499499) 1558 0 R (id2499755) 1573 0 R (id2499900) 1574 0 R (id2499960) 1575 0 R (id2500040) 1590 0 R (id2500045) 1591 0 R (id2500057) 1592 0 R (id2500211) 1593 0 R (id2500341) 1605 0 R (id2500444) 1611 0 R (id2500700) 1616 0 R (id2500702) 1622 0 R (id2500711) 1627 0 R (id2500734) 1623 0 R (id2500758) 1625 0 R (id2500794) 1636 0 R (id2500821) 1638 0 R (id2500846) 1630 0 R (id2500871) 1632 0 R (id2500894) 1634 0 R (id2500950) 1640 0 R (id2500977) 1642 0 R (id2501003) 1644 0 R (id2501065) 1646 0 R (id2501095) 1648 0 R (id2501125) 1650 0 R (id2501152) 1652 0 R (id2501226) 1655 0 R (id2501234) 1656 0 R (id2501260) 1658 0 R (id2501297) 1660 0 R (id2501362) 1664 0 R (id2501427) 1662 0 R (id2501492) 1667 0 R (id2501500) 1668 0 R (id2501526) 1670 0 R (id2501662) 1672 0 R (id2501698) 1674 0 R (id2501738) 1682 0 R (id2501744) 1683 0 R (id2501801) 1685 0 R (id2501838) 1693 0 R (id2501874) 1687 0 R (id2501928) 1689 0 R (id2501966) 1691 0 R (id2501992) 1695 0 R (id2502018) 1697 0 R (id2502113) 1699 0 R (id2502139) 1701 0 R (id2502179) 1703 0 R (id2502209) 1705 0 R (id2502238) 1707 0 R (id2502281) 1709 0 R (id2502314) 1711 0 R (id2502341) 1713 0 R (id2502364) 1715 0 R (id2502422) 1717 0 R (id2502446) 1720 0 R (id2502454) 1721 0 R (id2502480) 1723 0 R (id2502502) 1725 0 R (id2502525) 1727 0 R (id2502571) 1729 0 R (id2502595) 1731 0 R (id2502645) 1738 0 R (id2502652) 1739 0 R (id2502676) 1741 0 R (id2502702) 1743 0 R (id2502729) 1745 0 R (id2502765) 1747 0 R (id2502806) 1750 0 R (id2502811) 1751 0 R (id2502843) 1753 0 R (id2502889) 1755 0 R (id2502924) 1757 0 R (id2502951) 1760 0 R (id2502969) 1761 0 R (id2502992) 1763 0 R (id2503017) 1765 0 R (id2503043) 1767 0 R (id2503066) 1769 0 R (id2503112) 1771 0 R (id2503136) 1773 0 R (id2503162) 1775 0 R (id2503188) 1777 0 R (id2503225) 1780 0 R (id2503232) 1781 0 R (id2503289) 1783 0 R (id2503316) 1785 0 R (id2503352) 1792 0 R (id2503364) 1793 0 R (id2503403) 1795 0 R (id2503430) 1797 0 R (id2503460) 1799 0 R (id2503485) 1801 0 R (id2503512) 1803 0 R (id2503548) 1805 0 R (id2503585) 1807 0 R (id2503611) 1809 0 R (id2503638) 1811 0 R (id2503683) 1813 0 R (id2503724) 1816 0 R (id2503734) 1818 0 R (id2503736) 1820 0 R (incremental_zone_transfers) 1051 0 R (internet_drafts) 1815 0 R (ipv6addresses) 1112 0 R (journal) 1040 0 R (lwresd) 1119 0 R (man.dig) 1826 0 R (man.dnssec-keygen) 1874 0 R (man.dnssec-signzone) 1892 0 R (man.host) 1859 0 R (man.named) 1941 0 R (man.named-checkconf) 1912 0 R (man.named-checkzone) 1924 0 R (man.rndc) 1963 0 R (man.rndc-confgen) 1992 0 R (man.rndc.conf) 1975 0 R (notify) 1030 0 R (options) 1231 0 R (page.1) 686 0 R (page.10) 955 0 R (page.100) 1790 0 R (page.101) 1824 0 R (page.102) 1833 0 R (page.103) 1839 0 R (page.104) 1845 0 R (page.105) 1849 0 R (page.106) 1854 0 R (page.107) 1865 0 R (page.108) 1870 0 R (page.109) 1882 0 R (page.11) 962 0 R (page.110) 1888 0 R (page.111) 1899 0 R (page.112) 1904 0 R (page.113) 1909 0 R (page.114) 1920 0 R (page.115) 1931 0 R (page.116) 1937 0 R (page.117) 1947 0 R (page.118) 1953 0 R (page.119) 1960 0 R (page.12) 974 0 R (page.120) 1971 0 R (page.121) 1981 0 R (page.122) 1988 0 R (page.123) 1997 0 R (page.124) 2004 0 R (page.13) 979 0 R (page.14) 988 0 R (page.15) 999 0 R (page.16) 1007 0 R (page.17) 1014 0 R (page.18) 1020 0 R (page.19) 1028 0 R (page.2) 711 0 R (page.20) 1050 0 R (page.21) 1060 0 R (page.22) 1065 0 R (page.23) 1069 0 R (page.24) 1076 0 R (page.25) 1084 0 R (page.26) 1095 0 R (page.27) 1102 0 R (page.28) 1107 0 R (page.29) 1116 0 R (page.3) 721 0 R (page.30) 1123 0 R (page.31) 1127 0 R (page.32) 1138 0 R (page.33) 1143 0 R (page.34) 1151 0 R (page.35) 1159 0 R (page.36) 1168 0 R (page.37) 1176 0 R (page.38) 1188 0 R (page.39) 1194 0 R (page.4) 776 0 R (page.40) 1200 0 R (page.41) 1206 0 R (page.42) 1210 0 R (page.43) 1221 0 R (page.44) 1226 0 R (page.45) 1230 0 R (page.46) 1235 0 R (page.47) 1241 0 R (page.48) 1245 0 R (page.49) 1252 0 R (page.5) 840 0 R (page.50) 1263 0 R (page.51) 1267 0 R (page.52) 1271 0 R (page.53) 1281 0 R (page.54) 1288 0 R (page.55) 1294 0 R (page.56) 1299 0 R (page.57) 1303 0 R (page.58) 1307 0 R (page.59) 1315 0 R (page.6) 902 0 R (page.60) 1322 0 R (page.61) 1330 0 R (page.62) 1336 0 R (page.63) 1343 0 R (page.64) 1353 0 R (page.65) 1361 0 R (page.66) 1365 0 R (page.67) 1371 0 R (page.68) 1377 0 R (page.69) 1384 0 R (page.7) 916 0 R (page.70) 1391 0 R (page.71) 1395 0 R (page.72) 1399 0 R (page.73) 1407 0 R (page.74) 1412 0 R (page.75) 1425 0 R (page.76) 1439 0 R (page.77) 1461 0 R (page.78) 1467 0 R (page.79) 1479 0 R (page.8) 930 0 R (page.80) 1484 0 R (page.81) 1493 0 R (page.82) 1505 0 R (page.83) 1515 0 R (page.84) 1523 0 R (page.85) 1530 0 R (page.86) 1537 0 R (page.87) 1544 0 R (page.88) 1554 0 R (page.89) 1562 0 R (page.9) 944 0 R (page.90) 1568 0 R (page.91) 1579 0 R (page.92) 1584 0 R (page.93) 1588 0 R (page.94) 1599 0 R (page.95) 1603 0 R (page.96) 1610 0 R (page.97) 1620 0 R (page.98) 1680 0 R (page.99) 1736 0 R (proposed_standards) 1056 0 R (query_address) 1290 0 R (rfcs) 940 0 R (rndc) 1172 0 R (rrset_ordering) 995 0 R (sample_configuration) 981 0 R (section*.10) 1749 0 R (section*.11) 1759 0 R (section*.12) 1779 0 R (section*.13) 1791 0 R (section*.14) 1817 0 R (section*.15) 1827 0 R (section*.16) 1828 0 R (section*.17) 1829 0 R (section*.18) 1834 0 R (section*.19) 1835 0 R (section*.2) 1615 0 R (section*.20) 1840 0 R (section*.21) 1850 0 R (section*.22) 1855 0 R (section*.23) 1856 0 R (section*.24) 1857 0 R (section*.25) 1858 0 R (section*.26) 1860 0 R (section*.27) 1861 0 R (section*.28) 1866 0 R (section*.29) 1871 0 R (section*.3) 1621 0 R (section*.30) 1872 0 R (section*.31) 1873 0 R (section*.32) 1875 0 R (section*.33) 1876 0 R (section*.34) 1877 0 R (section*.35) 1878 0 R (section*.36) 1883 0 R (section*.37) 1889 0 R (section*.38) 1890 0 R (section*.39) 1891 0 R (section*.4) 1629 0 R (section*.40) 1893 0 R (section*.41) 1894 0 R (section*.42) 1895 0 R (section*.43) 1900 0 R (section*.44) 1905 0 R (section*.45) 1910 0 R (section*.46) 1911 0 R (section*.47) 1913 0 R (section*.48) 1914 0 R (section*.49) 1915 0 R (section*.5) 1654 0 R (section*.50) 1916 0 R (section*.51) 1921 0 R (section*.52) 1922 0 R (section*.53) 1923 0 R (section*.54) 1925 0 R (section*.55) 1926 0 R (section*.56) 1927 0 R (section*.57) 1932 0 R (section*.58) 1938 0 R (section*.59) 1939 0 R (section*.6) 1666 0 R (section*.60) 1940 0 R (section*.61) 1942 0 R (section*.62) 1943 0 R (section*.63) 1948 0 R (section*.64) 1949 0 R (section*.65) 1954 0 R (section*.66) 1955 0 R (section*.67) 1956 0 R (section*.68) 1961 0 R (section*.69) 1962 0 R (section*.7) 1681 0 R (section*.70) 1964 0 R (section*.71) 1965 0 R (section*.72) 1966 0 R (section*.73) 1967 0 R (section*.74) 1972 0 R (section*.75) 1973 0 R (section*.76) 1974 0 R (section*.77) 1976 0 R (section*.78) 1977 0 R (section*.79) 1982 0 R (section*.8) 1719 0 R (section*.80) 1983 0 R (section*.81) 1989 0 R (section*.82) 1990 0 R (section*.83) 1991 0 R (section*.84) 1993 0 R (section*.85) 1998 0 R (section*.86) 1999 0 R (section*.87) 2000 0 R (section*.88) 2005 0 R (section*.89) 2006 0 R (section*.9) 1737 0 R (section*.90) 2007 0 R (section.1.1) 10 0 R (section.1.2) 14 0 R (section.1.3) 18 0 R (section.1.4) 22 0 R (section.2.1) 70 0 R (section.2.2) 74 0 R (section.2.3) 78 0 R (section.2.4) 82 0 R (section.2.5) 86 0 R (section.3.1) 94 0 R (section.3.2) 106 0 R (section.3.3) 110 0 R (section.4.1) 134 0 R (section.4.2) 138 0 R (section.4.3) 146 0 R (section.4.4) 150 0 R (section.4.5) 158 0 R (section.4.6) 194 0 R (section.4.7) 198 0 R (section.4.8) 202 0 R (section.4.9) 218 0 R (section.5.1) 234 0 R (section.5.2) 238 0 R (section.6.1) 246 0 R (section.6.2) 274 0 R (section.6.3) 478 0 R (section.6.4) 530 0 R (section.7.1) 562 0 R (section.7.2) 566 0 R (section.7.3) 578 0 R (section.8.1) 586 0 R (section.8.2) 594 0 R (section.8.3) 598 0 R (section.A.1) 606 0 R (section.A.2) 614 0 R (section.A.3) 622 0 R (section.B.1) 642 0 R (section.B.10) 678 0 R (section.B.2) 646 0 R (section.B.3) 650 0 R (section.B.4) 654 0 R (section.B.5) 658 0 R (section.B.6) 662 0 R (section.B.7) 666 0 R (section.B.8) 670 0 R (section.B.9) 674 0 R (server_statement_definition_and_usage) 1259 0 R (server_statement_grammar) 1372 0 R (statschannels) 1366 0 R (statsfile) 1237 0 R (subsection.1.4.1) 26 0 R (subsection.1.4.2) 30 0 R (subsection.1.4.3) 34 0 R (subsection.1.4.4) 38 0 R (subsection.1.4.5) 54 0 R (subsection.1.4.6) 62 0 R (subsection.3.1.1) 98 0 R (subsection.3.1.2) 102 0 R (subsection.3.3.1) 114 0 R (subsection.3.3.2) 126 0 R (subsection.4.2.1) 142 0 R (subsection.4.4.1) 154 0 R (subsection.4.5.1) 162 0 R (subsection.4.5.2) 174 0 R (subsection.4.5.3) 178 0 R (subsection.4.5.4) 182 0 R (subsection.4.5.5) 186 0 R (subsection.4.5.6) 190 0 R (subsection.4.8.1) 206 0 R (subsection.4.8.2) 210 0 R (subsection.4.8.3) 214 0 R (subsection.4.9.1) 222 0 R (subsection.4.9.2) 226 0 R (subsection.6.1.1) 250 0 R (subsection.6.1.2) 262 0 R (subsection.6.2.1) 278 0 R (subsection.6.2.10) 314 0 R (subsection.6.2.11) 326 0 R (subsection.6.2.12) 330 0 R (subsection.6.2.13) 334 0 R (subsection.6.2.14) 338 0 R (subsection.6.2.15) 342 0 R (subsection.6.2.16) 346 0 R (subsection.6.2.17) 422 0 R (subsection.6.2.18) 426 0 R (subsection.6.2.19) 430 0 R (subsection.6.2.2) 282 0 R (subsection.6.2.20) 434 0 R (subsection.6.2.21) 438 0 R (subsection.6.2.22) 442 0 R (subsection.6.2.23) 446 0 R (subsection.6.2.24) 450 0 R (subsection.6.2.25) 454 0 R (subsection.6.2.26) 458 0 R (subsection.6.2.3) 286 0 R (subsection.6.2.4) 290 0 R (subsection.6.2.5) 294 0 R (subsection.6.2.6) 298 0 R (subsection.6.2.7) 302 0 R (subsection.6.2.8) 306 0 R (subsection.6.2.9) 310 0 R (subsection.6.3.1) 482 0 R (subsection.6.3.2) 494 0 R (subsection.6.3.3) 498 0 R (subsection.6.3.4) 502 0 R (subsection.6.3.5) 506 0 R (subsection.6.3.6) 522 0 R (subsection.6.3.7) 526 0 R (subsection.6.4.1) 538 0 R (subsection.7.2.1) 570 0 R (subsection.7.2.2) 574 0 R (subsection.8.1.1) 590 0 R (subsection.A.1.1) 610 0 R (subsection.A.2.1) 618 0 R (subsection.A.3.1) 626 0 R (subsection.A.3.2) 630 0 R (subsection.A.3.3) 634 0 R (subsubsection.1.4.4.1) 42 0 R (subsubsection.1.4.4.2) 46 0 R (subsubsection.1.4.4.3) 50 0 R (subsubsection.1.4.5.1) 58 0 R (subsubsection.3.3.1.1) 118 0 R (subsubsection.3.3.1.2) 122 0 R (subsubsection.4.5.1.1) 166 0 R (subsubsection.4.5.1.2) 170 0 R (subsubsection.6.1.1.1) 254 0 R (subsubsection.6.1.1.2) 258 0 R (subsubsection.6.1.2.1) 266 0 R (subsubsection.6.1.2.2) 270 0 R (subsubsection.6.2.10.1) 318 0 R (subsubsection.6.2.10.2) 322 0 R (subsubsection.6.2.16.1) 350 0 R (subsubsection.6.2.16.10) 386 0 R (subsubsection.6.2.16.11) 390 0 R (subsubsection.6.2.16.12) 394 0 R (subsubsection.6.2.16.13) 398 0 R (subsubsection.6.2.16.14) 402 0 R (subsubsection.6.2.16.15) 406 0 R (subsubsection.6.2.16.16) 410 0 R (subsubsection.6.2.16.17) 414 0 R (subsubsection.6.2.16.18) 418 0 R (subsubsection.6.2.16.2) 354 0 R (subsubsection.6.2.16.3) 358 0 R (subsubsection.6.2.16.4) 362 0 R (subsubsection.6.2.16.5) 366 0 R (subsubsection.6.2.16.6) 370 0 R (subsubsection.6.2.16.7) 374 0 R (subsubsection.6.2.16.8) 378 0 R (subsubsection.6.2.16.9) 382 0 R (subsubsection.6.2.26.1) 462 0 R (subsubsection.6.2.26.2) 466 0 R (subsubsection.6.2.26.3) 470 0 R (subsubsection.6.2.26.4) 474 0 R (subsubsection.6.3.1.1) 486 0 R (subsubsection.6.3.1.2) 490 0 R (subsubsection.6.3.5.1) 510 0 R (subsubsection.6.3.5.2) 514 0 R (subsubsection.6.3.5.3) 518 0 R (subsubsection.6.4.0.1) 534 0 R (subsubsection.6.4.1.1) 542 0 R (subsubsection.6.4.1.2) 546 0 R (subsubsection.6.4.1.3) 550 0 R (subsubsection.6.4.1.4) 554 0 R (table.1.1) 922 0 R (table.1.2) 932 0 R (table.3.1) 991 0 R (table.3.2) 1023 0 R (table.6.1) 1131 0 R (table.6.10) 1475 0 R (table.6.11) 1486 0 R (table.6.12) 1489 0 R (table.6.13) 1495 0 R (table.6.14) 1498 0 R (table.6.15) 1501 0 R (table.6.16) 1508 0 R (table.6.17) 1519 0 R (table.6.18) 1526 0 R (table.6.19) 1540 0 R (table.6.2) 1155 0 R (table.6.20) 1547 0 R (table.6.21) 1550 0 R (table.6.3) 1163 0 R (table.6.4) 1202 0 R (table.6.5) 1247 0 R (table.6.6) 1338 0 R (table.6.7) 1403 0 R (table.6.8) 1463 0 R (table.6.9) 1473 0 R (the_category_phrase) 1196 0 R (the_sortlist_statement) 1324 0 R (topology) 1323 0 R (tsig) 1070 0 R (tuning) 1339 0 R (types_of_resource_records_and_when_to_use_them) 939 0 R (view_statement_grammar) 1357 0 R (zone_statement_grammar) 1277 0 R (zone_transfers) 1046 0 R (zonefile_format) 1349 0 R] +/Limits [(Access_Control_Lists) (zonefile_format)] >> endobj 2032 0 obj << -/Dests 2031 0 R +/Kids [2031 0 R] >> endobj 2033 0 obj << +/Dests 2032 0 R +>> endobj +2034 0 obj << /Type /Catalog -/Pages 2028 0 R -/Outlines 2029 0 R -/Names 2032 0 R +/Pages 2029 0 R +/Outlines 2030 0 R +/Names 2033 0 R /PageMode /UseOutlines /OpenAction 681 0 R >> endobj -2034 0 obj << +2035 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords() -/CreationDate (D:20080528203104Z) +/CreationDate (D:20080630014227Z) /PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4) >> endobj xref -0 2035 +0 2036 0000000001 65535 f 0000000002 00000 f 0000000003 00000 f 0000000004 00000 f 0000000000 00000 f 0000000009 00000 n -0000069905 00000 n -0000696719 00000 n +0000069897 00000 n +0000700237 00000 n 0000000054 00000 n 0000000086 00000 n -0000070029 00000 n -0000696647 00000 n +0000070021 00000 n +0000700165 00000 n 0000000133 00000 n 0000000173 00000 n -0000070154 00000 n -0000696561 00000 n +0000070146 00000 n +0000700079 00000 n 0000000221 00000 n 0000000273 00000 n -0000070279 00000 n -0000696475 00000 n +0000070271 00000 n +0000699993 00000 n 0000000321 00000 n 0000000377 00000 n -0000074543 00000 n -0000696365 00000 n +0000074535 00000 n +0000699883 00000 n 0000000425 00000 n 0000000478 00000 n -0000074668 00000 n -0000696291 00000 n +0000074660 00000 n +0000699809 00000 n 0000000531 00000 n 0000000572 00000 n -0000074793 00000 n -0000696204 00000 n +0000074785 00000 n +0000699722 00000 n 0000000625 00000 n 0000000674 00000 n -0000074918 00000 n -0000696117 00000 n +0000074910 00000 n +0000699635 00000 n 0000000727 00000 n 0000000757 00000 n -0000079197 00000 n -0000695993 00000 n +0000079189 00000 n +0000699511 00000 n 0000000810 00000 n 0000000861 00000 n -0000079322 00000 n -0000695919 00000 n +0000079314 00000 n +0000699437 00000 n 0000000919 00000 n 0000000964 00000 n -0000079447 00000 n -0000695832 00000 n +0000079439 00000 n +0000699350 00000 n 0000001022 00000 n 0000001062 00000 n -0000079572 00000 n -0000695758 00000 n +0000079564 00000 n +0000699276 00000 n 0000001120 00000 n 0000001162 00000 n -0000082544 00000 n -0000695634 00000 n +0000082536 00000 n +0000699152 00000 n 0000001215 00000 n 0000001260 00000 n -0000082669 00000 n -0000695573 00000 n +0000082661 00000 n +0000699091 00000 n 0000001318 00000 n 0000001355 00000 n -0000082794 00000 n -0000695499 00000 n +0000082786 00000 n +0000699017 00000 n 0000001408 00000 n 0000001463 00000 n -0000085722 00000 n -0000695374 00000 n +0000085714 00000 n +0000698892 00000 n 0000001509 00000 n 0000001556 00000 n -0000085847 00000 n -0000695300 00000 n +0000085839 00000 n +0000698818 00000 n 0000001604 00000 n 0000001648 00000 n -0000085972 00000 n -0000695213 00000 n +0000085964 00000 n +0000698731 00000 n 0000001696 00000 n 0000001735 00000 n -0000086097 00000 n -0000695126 00000 n +0000086089 00000 n +0000698644 00000 n 0000001783 00000 n 0000001825 00000 n -0000086221 00000 n -0000695039 00000 n +0000086213 00000 n +0000698557 00000 n 0000001873 00000 n 0000001936 00000 n -0000087307 00000 n -0000694965 00000 n +0000087299 00000 n +0000698483 00000 n 0000001984 00000 n 0000002034 00000 n -0000089017 00000 n -0000694837 00000 n +0000089009 00000 n +0000698355 00000 n 0000002080 00000 n 0000002126 00000 n -0000089141 00000 n -0000694724 00000 n +0000089133 00000 n +0000698242 00000 n 0000002174 00000 n 0000002218 00000 n -0000089266 00000 n -0000694648 00000 n +0000089258 00000 n +0000698166 00000 n 0000002271 00000 n 0000002323 00000 n -0000089391 00000 n -0000694571 00000 n +0000089383 00000 n +0000698089 00000 n 0000002377 00000 n 0000002436 00000 n -0000091920 00000 n -0000694480 00000 n +0000091912 00000 n +0000697998 00000 n 0000002485 00000 n 0000002523 00000 n -0000092172 00000 n -0000694363 00000 n +0000092164 00000 n +0000697881 00000 n 0000002572 00000 n 0000002618 00000 n -0000092298 00000 n -0000694245 00000 n +0000092290 00000 n +0000697763 00000 n 0000002672 00000 n 0000002739 00000 n -0000095504 00000 n -0000694166 00000 n +0000095496 00000 n +0000697684 00000 n 0000002798 00000 n 0000002842 00000 n -0000095630 00000 n -0000694087 00000 n +0000095622 00000 n +0000697605 00000 n 0000002901 00000 n 0000002949 00000 n -0000105983 00000 n -0000694008 00000 n +0000105975 00000 n +0000697526 00000 n 0000003003 00000 n 0000003036 00000 n -0000110970 00000 n -0000693876 00000 n +0000110962 00000 n +0000697394 00000 n 0000003083 00000 n 0000003126 00000 n -0000111099 00000 n -0000693797 00000 n +0000111091 00000 n +0000697315 00000 n 0000003175 00000 n 0000003205 00000 n -0000111228 00000 n -0000693665 00000 n +0000111220 00000 n +0000697183 00000 n 0000003254 00000 n 0000003292 00000 n -0000111357 00000 n -0000693600 00000 n +0000111349 00000 n +0000697118 00000 n 0000003346 00000 n 0000003388 00000 n -0000115619 00000 n -0000693507 00000 n +0000115611 00000 n +0000697025 00000 n 0000003437 00000 n 0000003496 00000 n -0000115748 00000 n -0000693375 00000 n +0000115740 00000 n +0000696893 00000 n 0000003545 00000 n 0000003578 00000 n -0000115877 00000 n -0000693310 00000 n +0000115869 00000 n +0000696828 00000 n 0000003632 00000 n 0000003681 00000 n -0000123187 00000 n -0000693178 00000 n +0000123179 00000 n +0000696696 00000 n 0000003730 00000 n 0000003758 00000 n -0000123316 00000 n -0000693060 00000 n +0000123308 00000 n +0000696578 00000 n 0000003812 00000 n 0000003881 00000 n -0000123445 00000 n -0000692981 00000 n +0000123437 00000 n +0000696499 00000 n 0000003940 00000 n 0000003988 00000 n -0000126279 00000 n -0000692902 00000 n +0000126271 00000 n +0000696420 00000 n 0000004047 00000 n 0000004092 00000 n -0000126408 00000 n -0000692809 00000 n +0000126400 00000 n +0000696327 00000 n 0000004146 00000 n 0000004214 00000 n -0000126537 00000 n -0000692716 00000 n +0000126529 00000 n +0000696234 00000 n 0000004268 00000 n 0000004338 00000 n -0000126666 00000 n -0000692623 00000 n +0000126658 00000 n +0000696141 00000 n 0000004392 00000 n 0000004455 00000 n -0000130569 00000 n -0000692530 00000 n +0000130561 00000 n +0000696048 00000 n 0000004509 00000 n 0000004564 00000 n -0000130698 00000 n -0000692451 00000 n +0000130690 00000 n +0000695969 00000 n 0000004618 00000 n 0000004650 00000 n -0000130827 00000 n -0000692358 00000 n +0000130819 00000 n +0000695876 00000 n 0000004699 00000 n 0000004727 00000 n -0000130956 00000 n -0000692265 00000 n +0000130948 00000 n +0000695783 00000 n 0000004776 00000 n 0000004808 00000 n -0000134575 00000 n -0000692133 00000 n +0000134567 00000 n +0000695651 00000 n 0000004857 00000 n 0000004887 00000 n -0000134704 00000 n -0000692054 00000 n +0000134696 00000 n +0000695572 00000 n 0000004941 00000 n 0000004982 00000 n -0000134832 00000 n -0000691961 00000 n +0000134824 00000 n +0000695479 00000 n 0000005036 00000 n 0000005078 00000 n -0000138273 00000 n -0000691882 00000 n +0000138265 00000 n +0000695400 00000 n 0000005132 00000 n 0000005177 00000 n -0000141348 00000 n -0000691764 00000 n +0000141340 00000 n +0000695282 00000 n 0000005226 00000 n 0000005272 00000 n -0000141477 00000 n -0000691685 00000 n +0000141469 00000 n +0000695203 00000 n 0000005326 00000 n 0000005386 00000 n -0000141605 00000 n -0000691606 00000 n +0000141597 00000 n +0000695124 00000 n 0000005440 00000 n 0000005509 00000 n -0000144087 00000 n -0000691473 00000 n +0000144079 00000 n +0000694991 00000 n 0000005556 00000 n 0000005609 00000 n -0000144216 00000 n -0000691394 00000 n +0000144208 00000 n +0000694912 00000 n 0000005658 00000 n 0000005714 00000 n -0000144345 00000 n -0000691315 00000 n +0000144337 00000 n +0000694833 00000 n 0000005763 00000 n 0000005812 00000 n -0000148529 00000 n -0000691182 00000 n +0000148521 00000 n +0000694700 00000 n 0000005859 00000 n 0000005911 00000 n -0000148658 00000 n -0000691064 00000 n +0000148650 00000 n +0000694582 00000 n 0000005960 00000 n 0000006011 00000 n -0000152937 00000 n -0000690946 00000 n +0000153340 00000 n +0000694464 00000 n 0000006065 00000 n 0000006110 00000 n -0000153066 00000 n -0000690867 00000 n +0000153468 00000 n +0000694385 00000 n 0000006169 00000 n 0000006203 00000 n -0000153195 00000 n -0000690788 00000 n +0000157051 00000 n +0000694306 00000 n 0000006262 00000 n 0000006310 00000 n -0000156727 00000 n -0000690670 00000 n +0000157179 00000 n +0000694188 00000 n 0000006364 00000 n 0000006404 00000 n -0000156856 00000 n -0000690591 00000 n +0000157308 00000 n +0000694109 00000 n 0000006463 00000 n 0000006497 00000 n -0000156985 00000 n -0000690512 00000 n +0000161035 00000 n +0000694030 00000 n 0000006556 00000 n 0000006604 00000 n -0000160850 00000 n -0000690379 00000 n +0000161164 00000 n +0000693897 00000 n 0000006653 00000 n 0000006703 00000 n -0000163734 00000 n -0000690300 00000 n +0000164184 00000 n +0000693818 00000 n 0000006757 00000 n 0000006804 00000 n -0000163863 00000 n -0000690207 00000 n +0000164312 00000 n +0000693725 00000 n 0000006858 00000 n 0000006918 00000 n -0000164122 00000 n -0000690114 00000 n +0000164570 00000 n +0000693632 00000 n 0000006972 00000 n 0000007024 00000 n -0000164251 00000 n -0000690021 00000 n +0000169677 00000 n +0000693539 00000 n 0000007078 00000 n 0000007143 00000 n -0000169431 00000 n -0000689928 00000 n +0000169806 00000 n +0000693446 00000 n 0000007197 00000 n 0000007248 00000 n -0000169560 00000 n -0000689835 00000 n +0000173282 00000 n +0000693353 00000 n 0000007302 00000 n 0000007366 00000 n -0000169689 00000 n -0000689742 00000 n +0000173411 00000 n +0000693260 00000 n 0000007420 00000 n 0000007467 00000 n -0000173304 00000 n -0000689649 00000 n +0000173540 00000 n +0000693167 00000 n 0000007521 00000 n 0000007581 00000 n -0000173433 00000 n -0000689556 00000 n +0000173669 00000 n +0000693074 00000 n 0000007635 00000 n 0000007686 00000 n -0000173562 00000 n -0000689424 00000 n +0000177685 00000 n +0000692942 00000 n 0000007741 00000 n 0000007806 00000 n -0000177955 00000 n -0000689345 00000 n +0000177814 00000 n +0000692863 00000 n 0000007866 00000 n 0000007913 00000 n -0000184265 00000 n -0000689266 00000 n +0000184639 00000 n +0000692784 00000 n 0000007973 00000 n 0000008021 00000 n -0000187785 00000 n -0000689173 00000 n +0000191045 00000 n +0000692691 00000 n 0000008076 00000 n 0000008126 00000 n -0000190632 00000 n -0000689080 00000 n +0000191174 00000 n +0000692598 00000 n 0000008181 00000 n 0000008244 00000 n -0000190761 00000 n -0000688987 00000 n +0000191302 00000 n +0000692505 00000 n 0000008299 00000 n 0000008351 00000 n -0000190890 00000 n -0000688894 00000 n +0000191430 00000 n +0000692412 00000 n 0000008406 00000 n 0000008471 00000 n -0000191019 00000 n -0000688801 00000 n +0000191559 00000 n +0000692319 00000 n 0000008526 00000 n 0000008578 00000 n -0000197033 00000 n -0000688668 00000 n +0000197090 00000 n +0000692186 00000 n 0000008633 00000 n 0000008698 00000 n -0000205351 00000 n -0000688589 00000 n +0000205563 00000 n +0000692107 00000 n 0000008758 00000 n 0000008802 00000 n -0000222776 00000 n -0000688496 00000 n +0000226653 00000 n +0000692014 00000 n 0000008862 00000 n 0000008901 00000 n -0000226448 00000 n -0000688403 00000 n +0000226782 00000 n +0000691921 00000 n 0000008961 00000 n 0000009008 00000 n -0000226575 00000 n -0000688310 00000 n +0000226911 00000 n +0000691828 00000 n 0000009068 00000 n 0000009111 00000 n -0000230853 00000 n -0000688217 00000 n +0000234076 00000 n +0000691735 00000 n 0000009171 00000 n 0000009210 00000 n -0000234148 00000 n -0000688124 00000 n +0000234205 00000 n +0000691642 00000 n 0000009270 00000 n 0000009312 00000 n -0000236978 00000 n -0000688031 00000 n +0000241282 00000 n +0000691549 00000 n 0000009372 00000 n 0000009415 00000 n -0000244901 00000 n -0000687938 00000 n +0000249007 00000 n +0000691456 00000 n 0000009475 00000 n -0000009522 00000 n -0000245030 00000 n -0000687845 00000 n -0000009582 00000 n -0000009643 00000 n -0000248829 00000 n -0000687752 00000 n -0000009704 00000 n -0000009756 00000 n -0000248958 00000 n -0000687659 00000 n -0000009817 00000 n -0000009870 00000 n -0000251975 00000 n -0000687566 00000 n -0000009931 00000 n -0000009969 00000 n -0000255939 00000 n -0000687473 00000 n -0000010030 00000 n -0000010082 00000 n -0000259663 00000 n -0000687380 00000 n -0000010143 00000 n -0000010187 00000 n -0000259920 00000 n -0000687287 00000 n -0000010248 00000 n -0000010284 00000 n -0000268499 00000 n -0000687194 00000 n -0000010345 00000 n -0000010408 00000 n -0000268627 00000 n -0000687101 00000 n -0000010469 00000 n -0000010519 00000 n -0000274714 00000 n -0000687022 00000 n -0000010580 00000 n -0000010636 00000 n -0000277733 00000 n -0000686929 00000 n -0000010691 00000 n -0000010755 00000 n -0000277862 00000 n -0000686836 00000 n -0000010810 00000 n -0000010887 00000 n -0000277991 00000 n -0000686743 00000 n -0000010942 00000 n -0000010993 00000 n -0000283013 00000 n -0000686650 00000 n -0000011048 00000 n -0000011112 00000 n -0000286514 00000 n -0000686557 00000 n -0000011167 00000 n -0000011224 00000 n -0000286643 00000 n -0000686464 00000 n -0000011279 00000 n -0000011349 00000 n -0000286772 00000 n -0000686371 00000 n -0000011404 00000 n -0000011453 00000 n -0000286901 00000 n -0000686278 00000 n -0000011508 00000 n -0000011570 00000 n -0000289495 00000 n -0000686185 00000 n -0000011625 00000 n -0000011674 00000 n -0000294728 00000 n -0000686067 00000 n -0000011729 00000 n -0000011791 00000 n -0000294857 00000 n -0000685988 00000 n -0000011851 00000 n -0000011890 00000 n -0000298909 00000 n -0000685895 00000 n -0000011950 00000 n -0000011984 00000 n -0000304799 00000 n -0000685802 00000 n -0000012044 00000 n -0000012085 00000 n -0000315154 00000 n -0000685723 00000 n -0000012145 00000 n -0000012197 00000 n -0000319420 00000 n -0000685591 00000 n -0000012246 00000 n -0000012279 00000 n -0000319549 00000 n -0000685473 00000 n -0000012333 00000 n -0000012405 00000 n -0000319677 00000 n -0000685394 00000 n -0000012464 00000 n -0000012508 00000 n -0000330745 00000 n -0000685315 00000 n -0000012567 00000 n -0000012620 00000 n -0000331133 00000 n -0000685222 00000 n -0000012674 00000 n -0000012724 00000 n -0000334567 00000 n -0000685129 00000 n -0000012778 00000 n -0000012816 00000 n -0000334826 00000 n -0000685036 00000 n -0000012870 00000 n -0000012919 00000 n -0000337725 00000 n -0000684904 00000 n -0000012973 00000 n -0000013025 00000 n -0000337853 00000 n -0000684825 00000 n -0000013084 00000 n -0000013136 00000 n -0000337982 00000 n -0000684732 00000 n -0000013195 00000 n -0000013248 00000 n -0000338110 00000 n -0000684653 00000 n -0000013307 00000 n -0000013356 00000 n -0000338239 00000 n -0000684560 00000 n -0000013410 00000 n -0000013490 00000 n -0000342167 00000 n -0000684481 00000 n -0000013544 00000 n -0000013593 00000 n -0000345948 00000 n -0000684363 00000 n -0000013642 00000 n -0000013682 00000 n -0000346206 00000 n -0000684284 00000 n -0000013741 00000 n -0000013788 00000 n -0000349557 00000 n -0000684166 00000 n -0000013842 00000 n -0000013887 00000 n -0000349686 00000 n -0000684087 00000 n -0000013946 00000 n -0000014005 00000 n -0000352760 00000 n -0000683994 00000 n -0000014064 00000 n -0000014128 00000 n -0000353017 00000 n -0000683901 00000 n -0000014187 00000 n -0000014243 00000 n -0000355502 00000 n -0000683822 00000 n -0000014302 00000 n -0000014364 00000 n -0000357736 00000 n -0000683689 00000 n -0000014411 00000 n -0000014463 00000 n -0000357865 00000 n -0000683610 00000 n -0000014512 00000 n -0000014556 00000 n -0000362051 00000 n -0000683478 00000 n -0000014605 00000 n -0000014646 00000 n -0000362180 00000 n -0000683399 00000 n -0000014700 00000 n -0000014748 00000 n -0000362308 00000 n -0000683320 00000 n -0000014802 00000 n -0000014853 00000 n -0000362437 00000 n -0000683241 00000 n -0000014902 00000 n -0000014949 00000 n -0000366704 00000 n -0000683108 00000 n -0000014996 00000 n -0000015033 00000 n -0000366833 00000 n -0000682990 00000 n -0000015082 00000 n -0000015121 00000 n -0000366962 00000 n -0000682925 00000 n -0000015175 00000 n -0000015253 00000 n -0000367091 00000 n -0000682832 00000 n -0000015302 00000 n -0000015369 00000 n -0000367220 00000 n -0000682753 00000 n -0000015418 00000 n -0000015463 00000 n -0000370659 00000 n -0000682620 00000 n -0000015511 00000 n -0000015543 00000 n -0000370788 00000 n -0000682502 00000 n -0000015592 00000 n -0000015631 00000 n -0000370917 00000 n -0000682437 00000 n -0000015685 00000 n -0000015746 00000 n -0000374682 00000 n -0000682305 00000 n -0000015795 00000 n -0000015852 00000 n -0000374811 00000 n -0000682240 00000 n -0000015906 00000 n -0000015955 00000 n -0000374940 00000 n -0000682122 00000 n -0000016004 00000 n -0000016066 00000 n -0000375069 00000 n -0000682043 00000 n -0000016120 00000 n -0000016175 00000 n -0000399093 00000 n -0000681950 00000 n -0000016229 00000 n -0000016270 00000 n -0000399222 00000 n -0000681871 00000 n -0000016324 00000 n -0000016376 00000 n -0000401924 00000 n -0000681751 00000 n -0000016424 00000 n -0000016458 00000 n -0000402053 00000 n -0000681672 00000 n -0000016507 00000 n -0000016534 00000 n -0000419674 00000 n -0000681579 00000 n -0000016583 00000 n -0000016611 00000 n -0000427347 00000 n -0000681486 00000 n -0000016660 00000 n -0000016697 00000 n -0000434006 00000 n -0000681393 00000 n -0000016746 00000 n -0000016785 00000 n -0000443523 00000 n -0000681300 00000 n -0000016834 00000 n -0000016873 00000 n -0000446381 00000 n -0000681207 00000 n -0000016922 00000 n -0000016961 00000 n -0000452785 00000 n -0000681114 00000 n -0000017010 00000 n -0000017039 00000 n -0000462314 00000 n -0000681021 00000 n -0000017088 00000 n -0000017116 00000 n -0000465469 00000 n -0000680928 00000 n -0000017165 00000 n -0000017198 00000 n -0000471575 00000 n -0000680849 00000 n -0000017248 00000 n -0000017285 00000 n -0000017654 00000 n -0000017776 00000 n -0000025605 00000 n -0000017338 00000 n -0000025479 00000 n -0000025542 00000 n -0000676592 00000 n -0000650649 00000 n -0000676418 00000 n -0000677617 00000 n -0000020639 00000 n -0000020856 00000 n -0000020925 00000 n -0000020994 00000 n -0000021062 00000 n -0000021130 00000 n -0000021179 00000 n -0000021226 00000 n -0000021559 00000 n -0000021581 00000 n -0000021749 00000 n -0000021914 00000 n -0000022083 00000 n -0000022262 00000 n -0000022571 00000 n -0000022731 00000 n -0000026969 00000 n -0000026784 00000 n -0000025705 00000 n -0000026906 00000 n -0000649428 00000 n -0000622907 00000 n -0000649254 00000 n -0000622222 00000 n -0000620077 00000 n -0000622058 00000 n -0000038676 00000 n -0000030025 00000 n -0000027054 00000 n -0000038550 00000 n -0000038613 00000 n -0000030559 00000 n -0000030713 00000 n -0000030870 00000 n -0000031027 00000 n -0000031183 00000 n -0000031340 00000 n -0000031502 00000 n -0000031663 00000 n -0000031824 00000 n -0000031986 00000 n -0000032153 00000 n -0000032320 00000 n -0000032485 00000 n -0000032647 00000 n -0000032813 00000 n -0000032974 00000 n -0000033129 00000 n -0000033286 00000 n -0000033442 00000 n -0000033599 00000 n -0000033756 00000 n -0000033913 00000 n -0000034067 00000 n -0000034223 00000 n -0000034385 00000 n -0000034547 00000 n -0000034703 00000 n -0000034860 00000 n -0000035022 00000 n -0000035189 00000 n -0000035355 00000 n -0000035516 00000 n -0000035671 00000 n -0000035828 00000 n -0000035985 00000 n -0000036147 00000 n -0000036304 00000 n -0000036461 00000 n -0000036623 00000 n -0000036780 00000 n -0000036942 00000 n -0000037109 00000 n -0000037275 00000 n -0000037437 00000 n -0000037599 00000 n -0000037761 00000 n -0000037923 00000 n -0000038085 00000 n -0000038240 00000 n -0000038395 00000 n -0000052053 00000 n -0000042011 00000 n -0000038761 00000 n -0000051990 00000 n -0000619526 00000 n -0000602445 00000 n -0000619342 00000 n -0000042601 00000 n -0000042764 00000 n -0000042926 00000 n -0000043089 00000 n -0000043247 00000 n -0000043410 00000 n -0000043573 00000 n -0000043728 00000 n -0000043886 00000 n -0000044044 00000 n -0000044200 00000 n -0000044358 00000 n -0000044521 00000 n -0000044689 00000 n -0000044857 00000 n -0000045020 00000 n -0000045188 00000 n -0000045356 00000 n -0000045514 00000 n -0000045677 00000 n -0000045840 00000 n -0000046002 00000 n -0000046164 00000 n -0000046327 00000 n -0000046489 00000 n -0000046651 00000 n -0000046814 00000 n -0000046977 00000 n -0000047140 00000 n -0000047309 00000 n -0000047478 00000 n -0000047642 00000 n -0000047805 00000 n -0000047969 00000 n -0000048133 00000 n -0000048296 00000 n -0000048460 00000 n -0000048629 00000 n -0000048797 00000 n -0000048966 00000 n -0000049135 00000 n -0000049304 00000 n -0000049473 00000 n -0000049642 00000 n -0000049811 00000 n -0000049980 00000 n -0000050150 00000 n -0000050320 00000 n -0000050490 00000 n -0000050659 00000 n -0000050829 00000 n -0000050999 00000 n -0000051167 00000 n -0000051336 00000 n -0000051506 00000 n -0000051667 00000 n -0000051828 00000 n -0000065186 00000 n -0000055670 00000 n -0000052151 00000 n -0000065123 00000 n -0000056244 00000 n -0000056407 00000 n -0000056570 00000 n -0000056733 00000 n -0000056896 00000 n -0000057059 00000 n -0000057222 00000 n -0000057384 00000 n -0000057551 00000 n -0000057719 00000 n -0000057887 00000 n -0000058055 00000 n -0000058212 00000 n -0000058374 00000 n -0000058541 00000 n -0000058707 00000 n -0000058869 00000 n -0000059031 00000 n -0000059193 00000 n -0000059354 00000 n -0000059520 00000 n -0000059686 00000 n -0000059853 00000 n -0000060015 00000 n -0000060177 00000 n -0000060334 00000 n -0000060501 00000 n -0000060663 00000 n -0000060830 00000 n -0000060997 00000 n -0000601556 00000 n -0000580225 00000 n -0000601382 00000 n -0000061164 00000 n -0000061331 00000 n -0000061486 00000 n -0000061643 00000 n -0000061800 00000 n -0000061962 00000 n -0000062123 00000 n -0000062279 00000 n -0000062434 00000 n -0000062591 00000 n -0000062753 00000 n -0000062910 00000 n -0000063067 00000 n -0000063223 00000 n -0000063379 00000 n -0000063540 00000 n -0000063697 00000 n -0000063859 00000 n -0000064016 00000 n -0000064178 00000 n -0000064340 00000 n -0000064502 00000 n -0000064658 00000 n -0000064813 00000 n -0000064968 00000 n -0000067345 00000 n -0000065995 00000 n -0000065297 00000 n -0000067282 00000 n -0000066185 00000 n -0000066342 00000 n -0000066499 00000 n -0000066654 00000 n -0000066811 00000 n -0000579259 00000 n -0000559292 00000 n -0000579086 00000 n -0000066967 00000 n -0000067124 00000 n -0000070530 00000 n -0000069720 00000 n -0000067443 00000 n -0000069842 00000 n -0000069966 00000 n -0000070091 00000 n -0000070216 00000 n -0000070341 00000 n -0000070404 00000 n -0000070467 00000 n -0000558520 00000 n -0000540899 00000 n -0000558347 00000 n -0000677735 00000 n -0000075042 00000 n -0000073860 00000 n -0000070654 00000 n -0000074354 00000 n -0000074417 00000 n -0000074480 00000 n -0000074605 00000 n -0000074730 00000 n -0000074855 00000 n -0000074010 00000 n -0000074203 00000 n -0000074980 00000 n -0000319613 00000 n -0000375133 00000 n -0000079697 00000 n -0000078661 00000 n -0000075166 00000 n -0000079134 00000 n -0000079259 00000 n -0000078811 00000 n -0000078973 00000 n -0000079384 00000 n -0000079509 00000 n -0000079634 00000 n -0000095567 00000 n -0000082919 00000 n -0000082359 00000 n -0000079821 00000 n -0000082481 00000 n -0000082606 00000 n -0000082731 00000 n -0000082856 00000 n -0000086346 00000 n -0000085205 00000 n -0000083030 00000 n -0000085659 00000 n -0000085784 00000 n -0000085909 00000 n -0000086034 00000 n -0000086159 00000 n -0000085355 00000 n -0000085507 00000 n -0000086283 00000 n -0000274778 00000 n -0000087432 00000 n -0000087122 00000 n -0000086431 00000 n -0000087244 00000 n -0000087369 00000 n -0000089517 00000 n -0000088832 00000 n -0000087530 00000 n -0000088954 00000 n -0000089079 00000 n -0000089203 00000 n -0000089328 00000 n -0000089454 00000 n -0000677853 00000 n -0000092423 00000 n -0000091555 00000 n -0000089615 00000 n -0000091857 00000 n -0000091983 00000 n -0000092046 00000 n -0000092109 00000 n -0000091697 00000 n -0000092235 00000 n -0000092361 00000 n -0000259727 00000 n -0000095757 00000 n -0000095319 00000 n -0000092534 00000 n -0000095441 00000 n -0000540241 00000 n -0000528653 00000 n -0000540062 00000 n -0000095693 00000 n -0000099547 00000 n -0000099357 00000 n -0000095882 00000 n -0000099482 00000 n -0000528116 00000 n -0000518599 00000 n -0000527937 00000 n -0000103941 00000 n -0000103543 00000 n -0000099713 00000 n -0000103876 00000 n -0000103689 00000 n -0000164315 00000 n -0000106242 00000 n -0000105793 00000 n -0000104080 00000 n -0000105918 00000 n -0000106047 00000 n -0000106112 00000 n -0000106177 00000 n -0000108939 00000 n -0000111486 00000 n -0000108783 00000 n -0000106367 00000 n -0000110905 00000 n -0000111034 00000 n -0000111163 00000 n -0000110582 00000 n -0000110744 00000 n -0000517729 00000 n -0000508309 00000 n -0000517555 00000 n -0000507745 00000 n -0000498658 00000 n -0000507570 00000 n -0000111292 00000 n -0000111421 00000 n -0000677974 00000 n -0000110411 00000 n -0000110469 00000 n -0000110559 00000 n -0000205415 00000 n -0000237042 00000 n -0000116006 00000 n -0000115071 00000 n -0000111642 00000 n -0000115554 00000 n -0000115683 00000 n -0000115227 00000 n -0000115392 00000 n -0000115812 00000 n -0000115941 00000 n -0000379159 00000 n -0000119620 00000 n -0000119240 00000 n -0000116158 00000 n -0000119555 00000 n -0000119387 00000 n -0000120870 00000 n -0000120679 00000 n -0000119745 00000 n -0000120805 00000 n -0000123573 00000 n -0000122996 00000 n -0000120969 00000 n -0000123122 00000 n -0000123251 00000 n -0000123380 00000 n -0000123509 00000 n -0000126795 00000 n -0000126088 00000 n -0000123711 00000 n -0000126214 00000 n -0000126343 00000 n -0000126472 00000 n -0000126601 00000 n -0000126730 00000 n -0000131084 00000 n -0000130186 00000 n -0000126920 00000 n -0000130504 00000 n -0000130633 00000 n -0000130333 00000 n -0000130762 00000 n -0000130891 00000 n -0000131019 00000 n -0000678099 00000 n -0000315218 00000 n -0000134961 00000 n -0000134384 00000 n -0000131209 00000 n -0000134510 00000 n -0000134639 00000 n -0000134767 00000 n -0000134896 00000 n -0000138402 00000 n -0000138082 00000 n -0000135099 00000 n -0000138208 00000 n -0000138337 00000 n -0000141734 00000 n -0000140975 00000 n -0000138514 00000 n -0000141283 00000 n -0000141412 00000 n -0000141122 00000 n -0000141541 00000 n -0000141669 00000 n -0000374875 00000 n -0000144474 00000 n -0000143896 00000 n -0000141902 00000 n -0000144022 00000 n -0000144151 00000 n -0000144280 00000 n -0000144409 00000 n -0000144914 00000 n -0000144723 00000 n -0000144573 00000 n -0000144849 00000 n -0000148916 00000 n -0000148150 00000 n -0000144956 00000 n -0000148464 00000 n -0000148593 00000 n -0000148721 00000 n -0000148786 00000 n -0000148851 00000 n -0000148297 00000 n -0000678224 00000 n -0000153001 00000 n -0000153324 00000 n -0000152746 00000 n -0000149015 00000 n -0000152872 00000 n -0000153130 00000 n -0000153259 00000 n +0000009518 00000 n +0000249136 00000 n +0000691363 00000 n +0000009578 00000 n +0000009639 00000 n +0000253047 00000 n +0000691270 00000 n +0000009700 00000 n +0000009752 00000 n +0000253176 00000 n +0000691177 00000 n +0000009813 00000 n +0000009866 00000 n +0000256895 00000 n +0000691084 00000 n +0000009927 00000 n +0000009965 00000 n +0000257024 00000 n +0000690991 00000 n +0000010026 00000 n +0000010078 00000 n +0000260574 00000 n +0000690898 00000 n +0000010139 00000 n +0000010183 00000 n +0000263780 00000 n +0000690805 00000 n +0000010244 00000 n +0000010280 00000 n +0000272162 00000 n +0000690712 00000 n +0000010341 00000 n +0000010404 00000 n +0000272291 00000 n +0000690619 00000 n +0000010465 00000 n +0000010515 00000 n +0000278661 00000 n +0000690540 00000 n +0000010576 00000 n +0000010632 00000 n +0000278789 00000 n +0000690447 00000 n +0000010687 00000 n +0000010751 00000 n +0000278918 00000 n +0000690354 00000 n +0000010806 00000 n +0000010883 00000 n +0000282639 00000 n +0000690261 00000 n +0000010938 00000 n +0000010989 00000 n +0000282768 00000 n +0000690168 00000 n +0000011044 00000 n +0000011108 00000 n +0000287242 00000 n +0000690075 00000 n +0000011163 00000 n +0000011220 00000 n +0000291456 00000 n +0000689982 00000 n +0000011275 00000 n +0000011345 00000 n +0000291585 00000 n +0000689889 00000 n +0000011400 00000 n +0000011449 00000 n +0000291714 00000 n +0000689796 00000 n +0000011504 00000 n +0000011566 00000 n +0000293324 00000 n +0000689703 00000 n +0000011621 00000 n +0000011670 00000 n +0000296381 00000 n +0000689585 00000 n +0000011725 00000 n +0000011787 00000 n +0000296510 00000 n +0000689506 00000 n +0000011847 00000 n +0000011886 00000 n +0000305439 00000 n +0000689413 00000 n +0000011946 00000 n +0000011980 00000 n +0000305568 00000 n +0000689320 00000 n +0000012040 00000 n +0000012081 00000 n +0000316975 00000 n +0000689241 00000 n +0000012141 00000 n +0000012193 00000 n +0000324852 00000 n +0000689109 00000 n +0000012242 00000 n +0000012275 00000 n +0000324981 00000 n +0000688991 00000 n +0000012329 00000 n +0000012401 00000 n +0000325109 00000 n +0000688912 00000 n +0000012460 00000 n +0000012504 00000 n +0000332481 00000 n +0000688833 00000 n +0000012563 00000 n +0000012616 00000 n +0000336242 00000 n +0000688740 00000 n +0000012670 00000 n +0000012720 00000 n +0000336501 00000 n +0000688647 00000 n +0000012774 00000 n +0000012812 00000 n +0000339562 00000 n +0000688554 00000 n +0000012866 00000 n +0000012915 00000 n +0000339821 00000 n +0000688422 00000 n +0000012969 00000 n +0000013021 00000 n +0000339950 00000 n +0000688343 00000 n +0000013080 00000 n +0000013132 00000 n +0000340079 00000 n +0000688250 00000 n +0000013191 00000 n +0000013244 00000 n +0000342834 00000 n +0000688171 00000 n +0000013303 00000 n +0000013352 00000 n +0000342963 00000 n +0000688078 00000 n +0000013406 00000 n +0000013486 00000 n +0000347285 00000 n +0000687999 00000 n +0000013540 00000 n +0000013589 00000 n +0000347414 00000 n +0000687881 00000 n +0000013638 00000 n +0000013678 00000 n +0000351104 00000 n +0000687802 00000 n +0000013737 00000 n +0000013784 00000 n +0000351232 00000 n +0000687684 00000 n +0000013838 00000 n +0000013883 00000 n +0000354556 00000 n +0000687605 00000 n +0000013942 00000 n +0000014001 00000 n +0000357345 00000 n +0000687512 00000 n +0000014060 00000 n +0000014124 00000 n +0000357604 00000 n +0000687419 00000 n +0000014183 00000 n +0000014239 00000 n +0000359262 00000 n +0000687340 00000 n +0000014298 00000 n +0000014360 00000 n +0000361113 00000 n +0000687207 00000 n +0000014407 00000 n +0000014459 00000 n +0000361242 00000 n +0000687128 00000 n +0000014508 00000 n +0000014552 00000 n +0000365428 00000 n +0000686996 00000 n +0000014601 00000 n +0000014642 00000 n +0000365557 00000 n +0000686917 00000 n +0000014696 00000 n +0000014744 00000 n +0000365685 00000 n +0000686838 00000 n +0000014798 00000 n +0000014849 00000 n +0000365814 00000 n +0000686759 00000 n +0000014898 00000 n +0000014945 00000 n +0000370081 00000 n +0000686626 00000 n +0000014992 00000 n +0000015029 00000 n +0000370210 00000 n +0000686508 00000 n +0000015078 00000 n +0000015117 00000 n +0000370339 00000 n +0000686443 00000 n +0000015171 00000 n +0000015249 00000 n +0000370468 00000 n +0000686350 00000 n +0000015298 00000 n +0000015365 00000 n +0000370597 00000 n +0000686271 00000 n +0000015414 00000 n +0000015459 00000 n +0000374036 00000 n +0000686138 00000 n +0000015507 00000 n +0000015539 00000 n +0000374165 00000 n +0000686020 00000 n +0000015588 00000 n +0000015627 00000 n +0000374294 00000 n +0000685955 00000 n +0000015681 00000 n +0000015742 00000 n +0000378059 00000 n +0000685823 00000 n +0000015791 00000 n +0000015848 00000 n +0000378188 00000 n +0000685758 00000 n +0000015902 00000 n +0000015951 00000 n +0000378317 00000 n +0000685640 00000 n +0000016000 00000 n +0000016062 00000 n +0000378446 00000 n +0000685561 00000 n +0000016116 00000 n +0000016171 00000 n +0000402470 00000 n +0000685468 00000 n +0000016225 00000 n +0000016266 00000 n +0000402599 00000 n +0000685389 00000 n +0000016320 00000 n +0000016372 00000 n +0000405301 00000 n +0000685269 00000 n +0000016420 00000 n +0000016454 00000 n +0000405430 00000 n +0000685190 00000 n +0000016503 00000 n +0000016530 00000 n +0000423051 00000 n +0000685097 00000 n +0000016579 00000 n +0000016607 00000 n +0000430724 00000 n +0000685004 00000 n +0000016656 00000 n +0000016693 00000 n +0000437383 00000 n +0000684911 00000 n +0000016742 00000 n +0000016781 00000 n +0000446900 00000 n +0000684818 00000 n +0000016830 00000 n +0000016869 00000 n +0000449758 00000 n +0000684725 00000 n +0000016918 00000 n +0000016957 00000 n +0000456162 00000 n +0000684632 00000 n +0000017006 00000 n +0000017035 00000 n +0000465691 00000 n +0000684539 00000 n +0000017084 00000 n +0000017112 00000 n +0000468846 00000 n +0000684446 00000 n +0000017161 00000 n +0000017194 00000 n +0000474952 00000 n +0000684367 00000 n +0000017244 00000 n +0000017281 00000 n +0000017650 00000 n +0000017772 00000 n +0000025601 00000 n +0000017334 00000 n +0000025475 00000 n +0000025538 00000 n +0000680110 00000 n +0000654167 00000 n +0000679936 00000 n +0000681135 00000 n +0000020635 00000 n +0000020852 00000 n +0000020921 00000 n +0000020990 00000 n +0000021058 00000 n +0000021126 00000 n +0000021175 00000 n +0000021222 00000 n +0000021555 00000 n +0000021577 00000 n +0000021745 00000 n +0000021910 00000 n +0000022079 00000 n +0000022258 00000 n +0000022567 00000 n +0000022727 00000 n +0000026965 00000 n +0000026780 00000 n +0000025701 00000 n +0000026902 00000 n +0000652946 00000 n +0000626425 00000 n +0000652772 00000 n +0000625740 00000 n +0000623595 00000 n +0000625576 00000 n +0000038672 00000 n +0000030021 00000 n +0000027050 00000 n +0000038546 00000 n +0000038609 00000 n +0000030555 00000 n +0000030709 00000 n +0000030866 00000 n +0000031023 00000 n +0000031179 00000 n +0000031336 00000 n +0000031498 00000 n +0000031659 00000 n +0000031820 00000 n +0000031982 00000 n +0000032149 00000 n +0000032316 00000 n +0000032481 00000 n +0000032643 00000 n +0000032809 00000 n +0000032970 00000 n +0000033125 00000 n +0000033282 00000 n +0000033438 00000 n +0000033595 00000 n +0000033752 00000 n +0000033909 00000 n +0000034063 00000 n +0000034219 00000 n +0000034381 00000 n +0000034543 00000 n +0000034699 00000 n +0000034856 00000 n +0000035018 00000 n +0000035185 00000 n +0000035351 00000 n +0000035512 00000 n +0000035667 00000 n +0000035824 00000 n +0000035981 00000 n +0000036143 00000 n +0000036300 00000 n +0000036457 00000 n +0000036619 00000 n +0000036776 00000 n +0000036938 00000 n +0000037105 00000 n +0000037271 00000 n +0000037433 00000 n +0000037595 00000 n +0000037757 00000 n +0000037919 00000 n +0000038081 00000 n +0000038236 00000 n +0000038391 00000 n +0000052047 00000 n +0000042002 00000 n +0000038757 00000 n +0000051984 00000 n +0000623044 00000 n +0000605963 00000 n +0000622860 00000 n +0000042592 00000 n +0000042755 00000 n +0000042917 00000 n +0000043080 00000 n +0000043238 00000 n +0000043401 00000 n +0000043564 00000 n +0000043719 00000 n +0000043877 00000 n +0000044035 00000 n +0000044191 00000 n +0000044349 00000 n +0000044512 00000 n +0000044680 00000 n +0000044848 00000 n +0000045011 00000 n +0000045179 00000 n +0000045347 00000 n +0000045505 00000 n +0000045668 00000 n +0000045831 00000 n +0000045993 00000 n +0000046155 00000 n +0000046318 00000 n +0000046480 00000 n +0000046642 00000 n +0000046805 00000 n +0000046968 00000 n +0000047131 00000 n +0000047300 00000 n +0000047469 00000 n +0000047633 00000 n +0000047796 00000 n +0000047960 00000 n +0000048124 00000 n +0000048287 00000 n +0000048451 00000 n +0000048620 00000 n +0000048789 00000 n +0000048958 00000 n +0000049127 00000 n +0000049296 00000 n +0000049465 00000 n +0000049634 00000 n +0000049803 00000 n +0000049972 00000 n +0000050142 00000 n +0000050312 00000 n +0000050482 00000 n +0000050651 00000 n +0000050821 00000 n +0000050991 00000 n +0000051161 00000 n +0000051330 00000 n +0000051500 00000 n +0000051661 00000 n +0000051822 00000 n +0000065178 00000 n +0000055665 00000 n +0000052145 00000 n +0000065115 00000 n +0000056239 00000 n +0000056402 00000 n +0000056565 00000 n +0000056728 00000 n +0000056891 00000 n +0000057054 00000 n +0000057217 00000 n +0000057379 00000 n +0000057546 00000 n +0000057713 00000 n +0000057881 00000 n +0000058049 00000 n +0000058206 00000 n +0000058368 00000 n +0000058533 00000 n +0000058699 00000 n +0000058861 00000 n +0000059023 00000 n +0000059185 00000 n +0000059346 00000 n +0000059512 00000 n +0000059678 00000 n +0000059845 00000 n +0000060007 00000 n +0000060169 00000 n +0000060326 00000 n +0000060493 00000 n +0000060655 00000 n +0000060822 00000 n +0000060989 00000 n +0000605074 00000 n +0000583742 00000 n +0000604900 00000 n +0000061156 00000 n +0000061323 00000 n +0000061478 00000 n +0000061635 00000 n +0000061792 00000 n +0000061954 00000 n +0000062115 00000 n +0000062271 00000 n +0000062426 00000 n +0000062583 00000 n +0000062745 00000 n +0000062902 00000 n +0000063059 00000 n +0000063215 00000 n +0000063371 00000 n +0000063532 00000 n +0000063689 00000 n +0000063851 00000 n +0000064008 00000 n +0000064170 00000 n +0000064332 00000 n +0000064494 00000 n +0000064650 00000 n +0000064805 00000 n +0000064960 00000 n +0000067337 00000 n +0000065987 00000 n +0000065289 00000 n +0000067274 00000 n +0000066177 00000 n +0000066334 00000 n +0000066491 00000 n +0000066646 00000 n +0000066803 00000 n +0000582776 00000 n +0000562809 00000 n +0000582603 00000 n +0000066959 00000 n +0000067116 00000 n +0000070522 00000 n +0000069712 00000 n +0000067435 00000 n +0000069834 00000 n +0000069958 00000 n +0000070083 00000 n +0000070208 00000 n +0000070333 00000 n +0000070396 00000 n +0000070459 00000 n +0000562030 00000 n +0000544272 00000 n +0000561857 00000 n +0000681253 00000 n +0000075034 00000 n +0000073852 00000 n +0000070646 00000 n +0000074346 00000 n +0000074409 00000 n +0000074472 00000 n +0000074597 00000 n +0000074722 00000 n +0000074847 00000 n +0000074002 00000 n +0000074195 00000 n +0000074972 00000 n +0000325045 00000 n +0000378510 00000 n +0000079689 00000 n +0000078653 00000 n +0000075158 00000 n +0000079126 00000 n +0000079251 00000 n +0000078803 00000 n +0000078965 00000 n +0000079376 00000 n +0000079501 00000 n +0000079626 00000 n +0000095559 00000 n +0000082911 00000 n +0000082351 00000 n +0000079813 00000 n +0000082473 00000 n +0000082598 00000 n +0000082723 00000 n +0000082848 00000 n +0000086338 00000 n +0000085197 00000 n +0000083022 00000 n +0000085651 00000 n +0000085776 00000 n +0000085901 00000 n +0000086026 00000 n +0000086151 00000 n +0000085347 00000 n +0000085499 00000 n +0000086275 00000 n +0000278725 00000 n +0000087424 00000 n +0000087114 00000 n +0000086423 00000 n +0000087236 00000 n +0000087361 00000 n +0000089509 00000 n +0000088824 00000 n +0000087522 00000 n +0000088946 00000 n +0000089071 00000 n +0000089195 00000 n +0000089320 00000 n +0000089446 00000 n +0000681371 00000 n +0000092415 00000 n +0000091547 00000 n +0000089607 00000 n +0000091849 00000 n +0000091975 00000 n +0000092038 00000 n +0000092101 00000 n +0000091689 00000 n +0000092227 00000 n +0000092353 00000 n +0000260638 00000 n +0000095749 00000 n +0000095311 00000 n +0000092526 00000 n +0000095433 00000 n +0000543614 00000 n +0000532029 00000 n +0000543435 00000 n +0000095685 00000 n +0000099539 00000 n +0000099349 00000 n +0000095874 00000 n +0000099474 00000 n +0000531492 00000 n +0000521975 00000 n +0000531313 00000 n +0000103933 00000 n +0000103535 00000 n +0000099705 00000 n +0000103868 00000 n +0000103681 00000 n +0000169741 00000 n +0000106234 00000 n +0000105785 00000 n +0000104072 00000 n +0000105910 00000 n +0000106039 00000 n +0000106104 00000 n +0000106169 00000 n +0000108931 00000 n +0000111478 00000 n +0000108775 00000 n +0000106359 00000 n +0000110897 00000 n +0000111026 00000 n +0000111155 00000 n +0000110574 00000 n +0000110736 00000 n +0000521105 00000 n +0000511685 00000 n +0000520931 00000 n +0000511121 00000 n +0000502035 00000 n +0000510946 00000 n +0000111284 00000 n +0000111413 00000 n +0000681492 00000 n +0000110403 00000 n +0000110461 00000 n +0000110551 00000 n +0000205627 00000 n +0000241346 00000 n +0000115998 00000 n +0000115063 00000 n +0000111634 00000 n +0000115546 00000 n +0000115675 00000 n +0000115219 00000 n +0000115384 00000 n +0000115804 00000 n +0000115933 00000 n +0000382536 00000 n +0000119612 00000 n +0000119232 00000 n +0000116150 00000 n +0000119547 00000 n +0000119379 00000 n +0000120862 00000 n +0000120671 00000 n +0000119737 00000 n +0000120797 00000 n +0000123565 00000 n +0000122988 00000 n +0000120961 00000 n +0000123114 00000 n +0000123243 00000 n +0000123372 00000 n +0000123501 00000 n +0000126787 00000 n +0000126080 00000 n +0000123703 00000 n +0000126206 00000 n +0000126335 00000 n +0000126464 00000 n +0000126593 00000 n +0000126722 00000 n +0000131076 00000 n +0000130178 00000 n +0000126912 00000 n +0000130496 00000 n +0000130625 00000 n +0000130325 00000 n +0000130754 00000 n +0000130883 00000 n +0000131011 00000 n +0000681617 00000 n +0000317039 00000 n +0000134953 00000 n +0000134376 00000 n +0000131201 00000 n +0000134502 00000 n +0000134631 00000 n +0000134759 00000 n +0000134888 00000 n +0000138394 00000 n +0000138074 00000 n +0000135091 00000 n +0000138200 00000 n +0000138329 00000 n +0000141726 00000 n +0000140967 00000 n +0000138506 00000 n +0000141275 00000 n +0000141404 00000 n +0000141114 00000 n +0000141533 00000 n +0000141661 00000 n +0000378252 00000 n +0000144466 00000 n +0000143888 00000 n +0000141894 00000 n +0000144014 00000 n +0000144143 00000 n +0000144272 00000 n +0000144401 00000 n +0000144906 00000 n +0000144715 00000 n +0000144565 00000 n +0000144841 00000 n +0000148908 00000 n +0000148142 00000 n +0000144948 00000 n +0000148456 00000 n +0000148585 00000 n +0000148713 00000 n +0000148778 00000 n +0000148843 00000 n +0000148289 00000 n +0000681742 00000 n +0000153404 00000 n +0000153596 00000 n +0000153149 00000 n +0000149007 00000 n +0000153275 00000 n +0000153531 00000 n +0000157437 00000 n +0000156860 00000 n +0000153721 00000 n +0000156986 00000 n 0000157114 00000 n -0000156536 00000 n -0000153449 00000 n -0000156662 00000 n -0000156791 00000 n -0000156920 00000 n -0000157049 00000 n -0000159859 00000 n -0000161108 00000 n -0000159733 00000 n -0000157252 00000 n -0000160785 00000 n -0000160914 00000 n -0000160979 00000 n -0000161043 00000 n -0000164380 00000 n -0000163543 00000 n -0000161263 00000 n -0000163669 00000 n -0000163798 00000 n -0000163927 00000 n -0000163992 00000 n -0000164057 00000 n -0000164186 00000 n -0000169818 00000 n -0000168902 00000 n -0000164492 00000 n -0000169366 00000 n -0000169058 00000 n -0000169208 00000 n -0000169495 00000 n -0000169624 00000 n -0000169753 00000 n -0000477285 00000 n -0000173691 00000 n -0000172548 00000 n -0000169956 00000 n -0000173239 00000 n -0000173368 00000 n -0000172713 00000 n -0000172865 00000 n -0000173052 00000 n -0000173497 00000 n -0000173626 00000 n -0000678349 00000 n -0000178083 00000 n -0000177764 00000 n -0000173817 00000 n -0000177890 00000 n -0000178019 00000 n -0000181228 00000 n -0000180850 00000 n -0000178208 00000 n -0000181163 00000 n -0000180997 00000 n -0000184329 00000 n -0000184524 00000 n -0000184074 00000 n -0000181340 00000 n -0000184200 00000 n -0000184394 00000 n -0000184459 00000 n -0000187913 00000 n -0000187594 00000 n -0000184636 00000 n -0000187720 00000 n -0000187849 00000 n -0000191148 00000 n -0000190111 00000 n -0000188025 00000 n -0000190567 00000 n -0000190696 00000 n -0000190267 00000 n -0000190421 00000 n -0000190825 00000 n -0000190954 00000 n -0000191083 00000 n -0000192654 00000 n -0000192463 00000 n -0000191260 00000 n -0000192589 00000 n -0000678474 00000 n -0000194151 00000 n -0000193960 00000 n -0000192753 00000 n -0000194086 00000 n -0000197162 00000 n -0000196842 00000 n -0000194250 00000 n -0000196968 00000 n -0000197097 00000 n -0000201368 00000 n -0000200999 00000 n -0000197300 00000 n -0000201303 00000 n -0000201146 00000 n -0000346270 00000 n -0000205610 00000 n -0000205160 00000 n -0000201480 00000 n -0000205286 00000 n -0000205480 00000 n -0000205545 00000 n -0000209658 00000 n -0000209292 00000 n -0000205722 00000 n -0000209593 00000 n -0000209439 00000 n -0000214816 00000 n -0000213682 00000 n -0000209783 00000 n -0000214751 00000 n -0000213865 00000 n -0000214022 00000 n -0000214207 00000 n -0000214381 00000 n -0000214566 00000 n -0000678599 00000 n -0000283077 00000 n -0000219117 00000 n -0000218926 00000 n -0000215010 00000 n -0000219052 00000 n -0000222904 00000 n -0000222585 00000 n -0000219229 00000 n -0000222711 00000 n -0000222840 00000 n -0000226703 00000 n -0000225890 00000 n -0000223016 00000 n -0000226383 00000 n -0000226046 00000 n -0000226512 00000 n -0000226638 00000 n -0000226216 00000 n -0000289559 00000 n -0000230982 00000 n -0000230291 00000 n -0000226872 00000 n -0000230788 00000 n -0000230447 00000 n -0000230617 00000 n -0000230917 00000 n -0000362501 00000 n -0000234277 00000 n -0000233957 00000 n -0000231164 00000 n -0000234083 00000 n -0000234212 00000 n -0000237107 00000 n -0000236787 00000 n -0000234389 00000 n -0000236913 00000 n -0000678724 00000 n -0000241156 00000 n -0000240965 00000 n -0000237263 00000 n +0000157243 00000 n +0000157372 00000 n +0000160044 00000 n +0000161423 00000 n +0000159918 00000 n +0000157575 00000 n +0000160970 00000 n +0000161099 00000 n +0000161228 00000 n +0000161293 00000 n +0000161358 00000 n +0000164699 00000 n +0000163993 00000 n +0000161578 00000 n +0000164119 00000 n +0000164247 00000 n +0000164376 00000 n +0000164440 00000 n +0000164505 00000 n +0000164634 00000 n +0000169934 00000 n +0000169146 00000 n +0000164811 00000 n +0000169612 00000 n +0000169302 00000 n +0000169453 00000 n +0000169870 00000 n +0000480662 00000 n +0000173798 00000 n +0000172527 00000 n +0000170072 00000 n +0000173217 00000 n +0000173346 00000 n +0000173475 00000 n +0000173604 00000 n +0000172692 00000 n +0000172844 00000 n +0000173030 00000 n +0000173733 00000 n +0000681867 00000 n +0000177943 00000 n +0000177494 00000 n +0000173924 00000 n +0000177620 00000 n +0000177749 00000 n +0000177878 00000 n +0000181864 00000 n +0000181485 00000 n +0000178068 00000 n +0000181799 00000 n +0000181632 00000 n +0000184703 00000 n +0000184897 00000 n +0000184448 00000 n +0000181976 00000 n +0000184574 00000 n +0000184768 00000 n +0000184833 00000 n +0000188365 00000 n +0000188174 00000 n +0000185009 00000 n +0000188300 00000 n +0000191687 00000 n +0000190520 00000 n +0000188477 00000 n +0000190980 00000 n +0000191109 00000 n +0000191238 00000 n +0000190676 00000 n +0000190830 00000 n +0000191366 00000 n +0000191494 00000 n +0000191622 00000 n +0000193160 00000 n +0000192969 00000 n +0000191799 00000 n +0000193095 00000 n +0000681992 00000 n +0000194678 00000 n +0000194487 00000 n +0000193259 00000 n +0000194613 00000 n +0000197219 00000 n +0000196899 00000 n +0000194777 00000 n +0000197025 00000 n +0000197154 00000 n +0000201779 00000 n +0000201411 00000 n +0000197344 00000 n +0000201714 00000 n +0000201558 00000 n +0000351167 00000 n +0000205692 00000 n +0000205372 00000 n +0000201904 00000 n +0000205498 00000 n +0000209837 00000 n +0000209341 00000 n +0000205817 00000 n +0000209642 00000 n +0000209707 00000 n +0000209772 00000 n +0000209488 00000 n +0000214889 00000 n +0000213755 00000 n +0000209962 00000 n +0000214824 00000 n +0000213938 00000 n +0000214095 00000 n +0000214280 00000 n +0000214454 00000 n +0000214639 00000 n +0000682117 00000 n +0000282832 00000 n +0000219101 00000 n +0000218910 00000 n +0000215070 00000 n +0000219036 00000 n +0000222728 00000 n +0000222537 00000 n +0000219226 00000 n +0000222663 00000 n +0000227040 00000 n +0000226095 00000 n +0000222827 00000 n +0000226588 00000 n +0000226717 00000 n +0000226251 00000 n +0000226846 00000 n +0000226975 00000 n +0000226421 00000 n +0000293388 00000 n +0000230919 00000 n +0000230357 00000 n +0000227209 00000 n +0000230854 00000 n +0000230513 00000 n +0000230683 00000 n +0000365878 00000 n +0000234334 00000 n +0000233885 00000 n +0000231088 00000 n +0000234011 00000 n +0000234140 00000 n +0000234269 00000 n +0000237453 00000 n +0000237262 00000 n +0000234446 00000 n +0000237388 00000 n +0000682242 00000 n +0000241410 00000 n 0000241091 00000 n -0000245159 00000 n -0000244514 00000 n -0000241311 00000 n -0000244836 00000 n -0000244965 00000 n -0000245094 00000 n -0000244661 00000 n -0000249087 00000 n -0000248462 00000 n -0000245328 00000 n -0000248764 00000 n -0000248893 00000 n -0000248609 00000 n -0000249022 00000 n -0000252104 00000 n -0000251784 00000 n -0000249199 00000 n -0000251910 00000 n -0000252039 00000 n -0000256068 00000 n -0000255401 00000 n -0000252273 00000 n -0000255874 00000 n -0000256003 00000 n -0000255557 00000 n -0000255719 00000 n -0000260049 00000 n -0000259282 00000 n -0000256180 00000 n -0000259598 00000 n -0000259429 00000 n -0000259791 00000 n -0000259855 00000 n -0000259984 00000 n -0000678849 00000 n -0000264600 00000 n -0000264055 00000 n -0000260232 00000 n -0000264535 00000 n -0000264211 00000 n -0000264372 00000 n -0000498303 00000 n -0000496306 00000 n -0000498138 00000 n -0000342231 00000 n -0000268756 00000 n -0000268118 00000 n -0000264782 00000 n -0000268434 00000 n -0000268563 00000 n -0000268265 00000 n -0000268691 00000 n -0000286836 00000 n -0000271154 00000 n -0000270963 00000 n -0000268881 00000 n -0000271089 00000 n -0000274842 00000 n -0000274523 00000 n -0000271309 00000 n -0000274649 00000 n -0000278120 00000 n -0000277542 00000 n -0000274954 00000 n -0000277668 00000 n -0000277797 00000 n -0000277926 00000 n -0000278055 00000 n -0000283142 00000 n -0000282480 00000 n -0000278232 00000 n -0000282948 00000 n -0000282636 00000 n -0000282788 00000 n -0000678974 00000 n -0000287030 00000 n -0000286148 00000 n -0000283254 00000 n -0000286449 00000 n -0000286578 00000 n -0000286707 00000 n -0000286295 00000 n -0000286965 00000 n -0000289624 00000 n -0000289304 00000 n -0000287142 00000 n -0000289430 00000 n -0000291076 00000 n -0000290885 00000 n -0000289736 00000 n -0000291011 00000 n -0000292493 00000 n -0000292302 00000 n -0000291175 00000 n -0000292428 00000 n -0000295116 00000 n -0000294537 00000 n -0000292592 00000 n -0000294663 00000 n -0000294792 00000 n -0000294921 00000 n -0000294986 00000 n -0000295051 00000 n -0000299038 00000 n -0000298718 00000 n -0000295228 00000 n -0000298844 00000 n -0000298973 00000 n -0000679099 00000 n -0000304928 00000 n -0000302193 00000 n -0000299150 00000 n -0000304734 00000 n -0000304863 00000 n -0000302457 00000 n -0000302619 00000 n -0000302781 00000 n -0000302942 00000 n -0000303102 00000 n -0000303264 00000 n -0000303435 00000 n -0000303597 00000 n -0000303759 00000 n -0000303922 00000 n -0000304085 00000 n -0000304248 00000 n -0000304411 00000 n -0000304574 00000 n -0000309901 00000 n -0000308176 00000 n -0000305040 00000 n -0000309836 00000 n -0000308395 00000 n -0000308558 00000 n -0000308719 00000 n -0000308881 00000 n -0000309043 00000 n -0000309205 00000 n -0000309367 00000 n -0000309521 00000 n -0000309684 00000 n -0000315283 00000 n -0000312922 00000 n -0000310026 00000 n -0000315089 00000 n -0000313168 00000 n -0000313330 00000 n -0000313492 00000 n -0000313654 00000 n -0000313816 00000 n -0000313978 00000 n -0000314140 00000 n -0000314302 00000 n -0000314456 00000 n -0000314617 00000 n -0000314772 00000 n -0000314935 00000 n -0000319933 00000 n -0000318737 00000 n -0000315395 00000 n -0000319225 00000 n -0000319290 00000 n -0000319355 00000 n -0000319484 00000 n -0000319741 00000 n -0000318893 00000 n -0000319063 00000 n -0000319805 00000 n -0000319869 00000 n -0000323546 00000 n -0000323225 00000 n -0000320072 00000 n -0000323351 00000 n -0000323416 00000 n -0000323481 00000 n -0000327231 00000 n -0000326911 00000 n -0000323645 00000 n -0000327037 00000 n -0000327102 00000 n -0000327166 00000 n -0000679224 00000 n -0000331262 00000 n -0000330554 00000 n -0000327343 00000 n -0000330680 00000 n -0000330809 00000 n -0000330874 00000 n -0000330939 00000 n -0000331003 00000 n -0000331068 00000 n -0000331197 00000 n -0000335085 00000 n -0000334246 00000 n -0000331387 00000 n -0000334372 00000 n -0000334437 00000 n -0000334502 00000 n -0000334631 00000 n -0000334696 00000 n -0000334761 00000 n -0000334890 00000 n -0000334955 00000 n -0000335020 00000 n -0000338367 00000 n -0000337534 00000 n -0000335267 00000 n -0000337660 00000 n -0000337789 00000 n -0000337917 00000 n -0000338045 00000 n -0000338174 00000 n -0000338303 00000 n -0000342296 00000 n -0000341846 00000 n -0000338564 00000 n -0000341972 00000 n -0000342037 00000 n -0000342102 00000 n -0000346334 00000 n -0000345576 00000 n -0000342421 00000 n -0000345883 00000 n -0000346012 00000 n -0000346077 00000 n -0000346142 00000 n -0000345723 00000 n -0000349945 00000 n -0000349366 00000 n -0000346459 00000 n -0000349492 00000 n -0000349621 00000 n -0000349750 00000 n -0000349815 00000 n -0000349880 00000 n -0000679349 00000 n -0000353276 00000 n -0000352569 00000 n -0000350057 00000 n -0000352695 00000 n -0000352824 00000 n -0000352888 00000 n -0000352952 00000 n -0000353081 00000 n -0000353146 00000 n -0000353211 00000 n -0000355631 00000 n -0000355311 00000 n -0000353388 00000 n -0000355437 00000 n -0000496025 00000 n -0000488741 00000 n -0000495845 00000 n -0000355566 00000 n -0000356098 00000 n -0000355907 00000 n -0000355757 00000 n -0000356033 00000 n -0000357993 00000 n -0000357545 00000 n -0000356140 00000 n -0000357671 00000 n -0000357800 00000 n -0000357929 00000 n -0000362566 00000 n -0000361623 00000 n -0000358105 00000 n -0000361986 00000 n -0000488420 00000 n -0000479207 00000 n -0000488234 00000 n -0000361770 00000 n -0000362115 00000 n -0000362243 00000 n -0000362372 00000 n -0000363608 00000 n -0000363417 00000 n -0000362803 00000 n -0000363543 00000 n -0000679474 00000 n -0000364035 00000 n -0000363844 00000 n -0000363694 00000 n -0000363970 00000 n -0000367348 00000 n -0000366122 00000 n -0000364077 00000 n -0000366639 00000 n -0000366768 00000 n -0000366897 00000 n -0000367026 00000 n -0000367155 00000 n -0000367284 00000 n -0000366278 00000 n -0000366450 00000 n -0000367802 00000 n -0000367611 00000 n -0000367461 00000 n -0000367737 00000 n -0000371046 00000 n -0000370468 00000 n -0000367844 00000 n -0000370594 00000 n -0000370723 00000 n -0000370852 00000 n -0000370981 00000 n -0000375325 00000 n -0000374106 00000 n -0000371132 00000 n -0000374617 00000 n -0000374746 00000 n -0000375004 00000 n -0000374262 00000 n -0000374441 00000 n -0000375197 00000 n -0000375261 00000 n -0000382211 00000 n -0000378383 00000 n -0000375478 00000 n -0000378509 00000 n +0000237622 00000 n +0000241217 00000 n +0000244971 00000 n +0000244780 00000 n +0000241579 00000 n +0000244906 00000 n +0000249264 00000 n +0000248451 00000 n +0000245140 00000 n +0000248942 00000 n +0000249071 00000 n +0000248607 00000 n +0000249200 00000 n +0000248768 00000 n +0000253305 00000 n +0000252680 00000 n +0000249419 00000 n +0000252982 00000 n +0000253111 00000 n +0000252827 00000 n +0000253240 00000 n +0000257153 00000 n +0000256359 00000 n +0000253417 00000 n +0000256830 00000 n +0000256959 00000 n +0000257088 00000 n +0000256515 00000 n +0000256677 00000 n +0000260701 00000 n +0000260193 00000 n +0000257322 00000 n +0000260509 00000 n +0000260340 00000 n +0000682367 00000 n +0000263909 00000 n +0000263459 00000 n +0000260827 00000 n +0000263585 00000 n +0000263650 00000 n +0000263715 00000 n +0000263844 00000 n +0000268516 00000 n +0000267972 00000 n +0000264091 00000 n +0000268451 00000 n +0000268128 00000 n +0000268289 00000 n +0000501680 00000 n +0000499683 00000 n +0000501515 00000 n +0000347349 00000 n +0000272420 00000 n +0000271783 00000 n +0000268642 00000 n +0000272097 00000 n +0000272226 00000 n +0000271930 00000 n +0000272355 00000 n +0000291649 00000 n +0000275075 00000 n +0000274884 00000 n +0000272545 00000 n +0000275010 00000 n +0000279047 00000 n +0000278470 00000 n +0000275243 00000 n +0000278596 00000 n +0000278853 00000 n +0000278982 00000 n +0000282897 00000 n +0000282448 00000 n +0000279159 00000 n +0000282574 00000 n +0000282703 00000 n +0000682492 00000 n +0000287371 00000 n +0000286711 00000 n +0000283009 00000 n +0000287177 00000 n +0000286867 00000 n +0000287018 00000 n +0000287306 00000 n +0000291843 00000 n +0000291090 00000 n +0000287483 00000 n +0000291391 00000 n +0000291520 00000 n +0000291237 00000 n +0000291778 00000 n +0000293453 00000 n +0000293133 00000 n +0000291955 00000 n +0000293259 00000 n +0000294950 00000 n +0000294759 00000 n +0000293565 00000 n +0000294885 00000 n +0000296766 00000 n +0000296190 00000 n +0000295049 00000 n +0000296316 00000 n +0000296445 00000 n +0000296574 00000 n +0000296638 00000 n +0000296702 00000 n +0000300617 00000 n +0000300426 00000 n +0000296878 00000 n +0000300552 00000 n +0000682617 00000 n +0000305697 00000 n +0000304031 00000 n +0000300729 00000 n +0000305374 00000 n +0000305503 00000 n +0000305632 00000 n +0000304232 00000 n +0000304394 00000 n +0000304556 00000 n +0000304718 00000 n +0000304880 00000 n +0000305041 00000 n +0000305212 00000 n +0000310843 00000 n +0000308932 00000 n +0000305809 00000 n +0000310778 00000 n +0000309160 00000 n +0000309322 00000 n +0000309482 00000 n +0000309643 00000 n +0000309806 00000 n +0000309969 00000 n +0000310132 00000 n +0000310295 00000 n +0000310458 00000 n +0000310618 00000 n +0000317103 00000 n +0000313735 00000 n +0000310968 00000 n +0000316910 00000 n +0000314035 00000 n +0000314197 00000 n +0000314359 00000 n +0000314522 00000 n +0000314676 00000 n +0000314839 00000 n +0000314992 00000 n +0000315154 00000 n +0000315315 00000 n +0000315477 00000 n +0000315637 00000 n +0000315799 00000 n +0000315961 00000 n +0000316123 00000 n +0000316277 00000 n +0000316438 00000 n +0000316593 00000 n +0000316756 00000 n +0000321050 00000 n +0000320729 00000 n +0000317215 00000 n +0000320855 00000 n +0000320920 00000 n +0000320985 00000 n +0000325498 00000 n +0000324300 00000 n +0000321189 00000 n +0000324787 00000 n +0000324916 00000 n +0000325173 00000 n +0000324456 00000 n +0000324626 00000 n +0000325238 00000 n +0000325303 00000 n +0000325368 00000 n +0000325433 00000 n +0000328734 00000 n +0000328543 00000 n +0000325610 00000 n +0000328669 00000 n +0000682742 00000 n +0000332740 00000 n +0000332160 00000 n +0000328833 00000 n +0000332286 00000 n +0000332351 00000 n +0000332416 00000 n +0000332545 00000 n +0000332610 00000 n +0000332675 00000 n +0000336760 00000 n +0000335921 00000 n +0000332852 00000 n +0000336047 00000 n +0000336112 00000 n +0000336177 00000 n +0000336306 00000 n +0000336371 00000 n +0000336436 00000 n +0000336565 00000 n +0000336630 00000 n +0000336695 00000 n +0000340207 00000 n +0000339371 00000 n +0000336885 00000 n +0000339497 00000 n +0000339626 00000 n +0000339691 00000 n +0000339756 00000 n +0000339885 00000 n +0000340014 00000 n +0000340143 00000 n +0000343222 00000 n +0000342643 00000 n +0000340417 00000 n +0000342769 00000 n +0000342898 00000 n +0000343027 00000 n +0000343092 00000 n +0000343157 00000 n +0000347671 00000 n +0000347094 00000 n +0000343405 00000 n +0000347220 00000 n +0000347478 00000 n +0000347543 00000 n +0000347607 00000 n +0000351361 00000 n +0000350732 00000 n +0000347796 00000 n +0000351039 00000 n +0000350879 00000 n +0000351296 00000 n +0000682867 00000 n +0000354815 00000 n +0000354365 00000 n +0000351473 00000 n +0000354491 00000 n +0000354620 00000 n +0000354685 00000 n +0000354750 00000 n +0000357862 00000 n +0000357154 00000 n +0000354927 00000 n +0000357280 00000 n +0000357409 00000 n +0000357474 00000 n +0000357539 00000 n +0000357667 00000 n +0000357732 00000 n +0000357797 00000 n +0000359391 00000 n +0000359071 00000 n +0000357974 00000 n +0000359197 00000 n +0000499402 00000 n +0000492118 00000 n +0000499222 00000 n +0000359326 00000 n +0000361370 00000 n +0000360922 00000 n +0000359517 00000 n +0000361048 00000 n +0000361177 00000 n +0000361306 00000 n +0000365943 00000 n +0000365000 00000 n +0000361482 00000 n +0000365363 00000 n +0000491797 00000 n +0000482584 00000 n +0000491611 00000 n +0000365147 00000 n +0000365492 00000 n +0000365620 00000 n +0000365749 00000 n +0000366985 00000 n +0000366794 00000 n +0000366180 00000 n +0000366920 00000 n +0000682992 00000 n +0000367412 00000 n +0000367221 00000 n +0000367071 00000 n +0000367347 00000 n +0000370725 00000 n +0000369499 00000 n +0000367454 00000 n +0000370016 00000 n +0000370145 00000 n +0000370274 00000 n +0000370403 00000 n +0000370532 00000 n +0000370661 00000 n +0000369655 00000 n +0000369827 00000 n +0000371179 00000 n +0000370988 00000 n +0000370838 00000 n +0000371114 00000 n +0000374423 00000 n +0000373845 00000 n +0000371221 00000 n +0000373971 00000 n +0000374100 00000 n +0000374229 00000 n +0000374358 00000 n +0000378702 00000 n +0000377483 00000 n +0000374509 00000 n +0000377994 00000 n +0000378123 00000 n +0000378381 00000 n +0000377639 00000 n +0000377818 00000 n 0000378574 00000 n -0000378639 00000 n -0000378704 00000 n -0000378769 00000 n -0000378834 00000 n -0000378899 00000 n -0000378964 00000 n -0000379029 00000 n -0000379094 00000 n -0000379224 00000 n -0000379289 00000 n -0000379354 00000 n -0000379419 00000 n -0000379484 00000 n -0000379549 00000 n -0000379614 00000 n -0000379679 00000 n -0000379744 00000 n -0000379809 00000 n -0000379874 00000 n -0000379939 00000 n -0000380004 00000 n -0000380069 00000 n -0000380134 00000 n -0000380199 00000 n -0000380264 00000 n -0000380329 00000 n -0000380394 00000 n -0000380459 00000 n -0000380524 00000 n -0000380589 00000 n -0000380654 00000 n -0000380719 00000 n -0000380783 00000 n -0000380848 00000 n -0000380913 00000 n -0000380978 00000 n -0000381043 00000 n -0000381108 00000 n -0000381173 00000 n -0000381238 00000 n -0000381303 00000 n -0000381368 00000 n -0000381433 00000 n -0000381498 00000 n -0000381563 00000 n -0000381628 00000 n -0000381693 00000 n -0000381758 00000 n -0000381823 00000 n -0000381888 00000 n -0000381953 00000 n -0000382018 00000 n -0000382083 00000 n -0000382147 00000 n -0000679599 00000 n -0000388857 00000 n -0000385293 00000 n -0000382323 00000 n -0000385419 00000 n -0000385484 00000 n -0000385549 00000 n -0000385614 00000 n -0000385679 00000 n -0000385744 00000 n -0000385809 00000 n -0000385874 00000 n -0000385939 00000 n -0000386004 00000 n -0000386069 00000 n -0000386134 00000 n -0000386198 00000 n -0000386263 00000 n -0000386328 00000 n -0000386393 00000 n -0000386458 00000 n -0000386523 00000 n -0000386588 00000 n -0000386653 00000 n -0000386718 00000 n -0000386783 00000 n -0000386848 00000 n -0000386913 00000 n -0000386977 00000 n -0000387042 00000 n -0000387107 00000 n -0000387172 00000 n -0000387237 00000 n -0000387302 00000 n -0000387367 00000 n -0000387432 00000 n -0000387497 00000 n -0000387562 00000 n -0000387627 00000 n -0000387692 00000 n -0000387757 00000 n -0000387822 00000 n -0000387887 00000 n -0000387952 00000 n -0000388016 00000 n -0000388080 00000 n -0000388144 00000 n -0000388209 00000 n -0000388274 00000 n -0000388339 00000 n -0000388404 00000 n -0000388469 00000 n -0000388534 00000 n -0000388599 00000 n -0000388664 00000 n -0000388729 00000 n -0000388793 00000 n -0000395033 00000 n -0000391595 00000 n -0000388969 00000 n -0000391721 00000 n -0000391786 00000 n -0000391851 00000 n -0000391916 00000 n -0000391981 00000 n -0000392046 00000 n -0000392111 00000 n -0000392176 00000 n -0000392241 00000 n -0000392306 00000 n -0000392371 00000 n -0000392436 00000 n -0000392501 00000 n -0000392566 00000 n -0000392631 00000 n -0000392696 00000 n -0000392761 00000 n -0000392826 00000 n -0000392891 00000 n -0000392956 00000 n -0000393021 00000 n -0000393086 00000 n -0000393151 00000 n -0000393216 00000 n -0000393281 00000 n -0000393346 00000 n -0000393411 00000 n -0000393476 00000 n -0000393541 00000 n -0000393606 00000 n -0000393671 00000 n -0000393736 00000 n -0000393801 00000 n -0000393866 00000 n -0000393930 00000 n -0000393995 00000 n -0000394060 00000 n -0000394125 00000 n -0000394190 00000 n -0000394255 00000 n -0000394320 00000 n -0000394385 00000 n -0000394450 00000 n -0000394515 00000 n -0000394580 00000 n -0000394645 00000 n -0000394710 00000 n -0000394775 00000 n -0000394840 00000 n -0000394905 00000 n -0000394969 00000 n -0000399611 00000 n -0000397347 00000 n -0000395145 00000 n -0000397473 00000 n -0000397538 00000 n -0000397603 00000 n -0000397668 00000 n -0000397733 00000 n -0000397798 00000 n -0000397863 00000 n -0000397928 00000 n -0000397993 00000 n -0000398058 00000 n -0000398123 00000 n -0000398188 00000 n -0000398253 00000 n -0000398318 00000 n -0000398380 00000 n -0000398444 00000 n -0000398509 00000 n -0000398573 00000 n -0000398638 00000 n -0000398703 00000 n -0000398768 00000 n -0000398833 00000 n -0000398898 00000 n -0000398963 00000 n -0000399028 00000 n -0000399157 00000 n -0000399286 00000 n -0000399351 00000 n -0000399416 00000 n -0000399481 00000 n -0000399546 00000 n -0000402377 00000 n -0000401733 00000 n -0000399736 00000 n -0000401859 00000 n -0000401988 00000 n -0000402117 00000 n -0000402182 00000 n -0000402247 00000 n -0000402312 00000 n -0000406862 00000 n -0000406541 00000 n -0000402490 00000 n -0000406667 00000 n -0000406732 00000 n -0000406797 00000 n -0000410113 00000 n -0000409857 00000 n -0000407015 00000 n -0000409983 00000 n -0000410048 00000 n -0000679724 00000 n -0000413362 00000 n -0000413171 00000 n -0000410252 00000 n -0000413297 00000 n -0000417091 00000 n -0000416835 00000 n -0000413488 00000 n -0000416961 00000 n -0000417026 00000 n -0000419931 00000 n -0000419223 00000 n -0000417230 00000 n -0000419349 00000 n -0000419414 00000 n -0000419479 00000 n -0000419544 00000 n -0000419609 00000 n -0000419738 00000 n -0000419803 00000 n -0000419867 00000 n -0000424605 00000 n -0000424349 00000 n -0000420070 00000 n -0000424475 00000 n -0000424540 00000 n -0000427735 00000 n -0000426961 00000 n -0000424731 00000 n -0000427087 00000 n -0000427152 00000 n -0000427217 00000 n -0000427282 00000 n -0000427411 00000 n -0000427476 00000 n -0000427541 00000 n -0000427606 00000 n -0000427670 00000 n -0000431182 00000 n -0000430927 00000 n -0000427888 00000 n -0000431053 00000 n -0000431118 00000 n -0000679849 00000 n -0000434330 00000 n -0000433620 00000 n -0000431321 00000 n -0000433746 00000 n -0000433811 00000 n -0000433876 00000 n -0000433941 00000 n -0000434070 00000 n -0000434135 00000 n -0000434200 00000 n -0000434265 00000 n -0000438023 00000 n -0000437767 00000 n +0000378638 00000 n +0000385588 00000 n +0000381760 00000 n +0000378855 00000 n +0000381886 00000 n +0000381951 00000 n +0000382016 00000 n +0000382081 00000 n +0000382146 00000 n +0000382211 00000 n +0000382276 00000 n +0000382341 00000 n +0000382406 00000 n +0000382471 00000 n +0000382601 00000 n +0000382666 00000 n +0000382731 00000 n +0000382796 00000 n +0000382861 00000 n +0000382926 00000 n +0000382991 00000 n +0000383056 00000 n +0000383121 00000 n +0000383186 00000 n +0000383251 00000 n +0000383316 00000 n +0000383381 00000 n +0000383446 00000 n +0000383511 00000 n +0000383576 00000 n +0000383641 00000 n +0000383706 00000 n +0000383771 00000 n +0000383836 00000 n +0000383901 00000 n +0000383966 00000 n +0000384031 00000 n +0000384096 00000 n +0000384160 00000 n +0000384225 00000 n +0000384290 00000 n +0000384355 00000 n +0000384420 00000 n +0000384485 00000 n +0000384550 00000 n +0000384615 00000 n +0000384680 00000 n +0000384745 00000 n +0000384810 00000 n +0000384875 00000 n +0000384940 00000 n +0000385005 00000 n +0000385070 00000 n +0000385135 00000 n +0000385200 00000 n +0000385265 00000 n +0000385330 00000 n +0000385395 00000 n +0000385460 00000 n +0000385524 00000 n +0000683117 00000 n +0000392234 00000 n +0000388670 00000 n +0000385700 00000 n +0000388796 00000 n +0000388861 00000 n +0000388926 00000 n +0000388991 00000 n +0000389056 00000 n +0000389121 00000 n +0000389186 00000 n +0000389251 00000 n +0000389316 00000 n +0000389381 00000 n +0000389446 00000 n +0000389511 00000 n +0000389575 00000 n +0000389640 00000 n +0000389705 00000 n +0000389770 00000 n +0000389835 00000 n +0000389900 00000 n +0000389965 00000 n +0000390030 00000 n +0000390095 00000 n +0000390160 00000 n +0000390225 00000 n +0000390290 00000 n +0000390354 00000 n +0000390419 00000 n +0000390484 00000 n +0000390549 00000 n +0000390614 00000 n +0000390679 00000 n +0000390744 00000 n +0000390809 00000 n +0000390874 00000 n +0000390939 00000 n +0000391004 00000 n +0000391069 00000 n +0000391134 00000 n +0000391199 00000 n +0000391264 00000 n +0000391329 00000 n +0000391393 00000 n +0000391457 00000 n +0000391521 00000 n +0000391586 00000 n +0000391651 00000 n +0000391716 00000 n +0000391781 00000 n +0000391846 00000 n +0000391911 00000 n +0000391976 00000 n +0000392041 00000 n +0000392106 00000 n +0000392170 00000 n +0000398410 00000 n +0000394972 00000 n +0000392346 00000 n +0000395098 00000 n +0000395163 00000 n +0000395228 00000 n +0000395293 00000 n +0000395358 00000 n +0000395423 00000 n +0000395488 00000 n +0000395553 00000 n +0000395618 00000 n +0000395683 00000 n +0000395748 00000 n +0000395813 00000 n +0000395878 00000 n +0000395943 00000 n +0000396008 00000 n +0000396073 00000 n +0000396138 00000 n +0000396203 00000 n +0000396268 00000 n +0000396333 00000 n +0000396398 00000 n +0000396463 00000 n +0000396528 00000 n +0000396593 00000 n +0000396658 00000 n +0000396723 00000 n +0000396788 00000 n +0000396853 00000 n +0000396918 00000 n +0000396983 00000 n +0000397048 00000 n +0000397113 00000 n +0000397178 00000 n +0000397243 00000 n +0000397307 00000 n +0000397372 00000 n +0000397437 00000 n +0000397502 00000 n +0000397567 00000 n +0000397632 00000 n +0000397697 00000 n +0000397762 00000 n +0000397827 00000 n +0000397892 00000 n +0000397957 00000 n +0000398022 00000 n +0000398087 00000 n +0000398152 00000 n +0000398217 00000 n +0000398282 00000 n +0000398346 00000 n +0000402988 00000 n +0000400724 00000 n +0000398522 00000 n +0000400850 00000 n +0000400915 00000 n +0000400980 00000 n +0000401045 00000 n +0000401110 00000 n +0000401175 00000 n +0000401240 00000 n +0000401305 00000 n +0000401370 00000 n +0000401435 00000 n +0000401500 00000 n +0000401565 00000 n +0000401630 00000 n +0000401695 00000 n +0000401757 00000 n +0000401821 00000 n +0000401886 00000 n +0000401950 00000 n +0000402015 00000 n +0000402080 00000 n +0000402145 00000 n +0000402210 00000 n +0000402275 00000 n +0000402340 00000 n +0000402405 00000 n +0000402534 00000 n +0000402663 00000 n +0000402728 00000 n +0000402793 00000 n +0000402858 00000 n +0000402923 00000 n +0000405754 00000 n +0000405110 00000 n +0000403113 00000 n +0000405236 00000 n +0000405365 00000 n +0000405494 00000 n +0000405559 00000 n +0000405624 00000 n +0000405689 00000 n +0000410239 00000 n +0000409918 00000 n +0000405867 00000 n +0000410044 00000 n +0000410109 00000 n +0000410174 00000 n +0000413490 00000 n +0000413234 00000 n +0000410392 00000 n +0000413360 00000 n +0000413425 00000 n +0000683242 00000 n +0000416739 00000 n +0000416548 00000 n +0000413629 00000 n +0000416674 00000 n +0000420468 00000 n +0000420212 00000 n +0000416865 00000 n +0000420338 00000 n +0000420403 00000 n +0000423308 00000 n +0000422600 00000 n +0000420607 00000 n +0000422726 00000 n +0000422791 00000 n +0000422856 00000 n +0000422921 00000 n +0000422986 00000 n +0000423115 00000 n +0000423180 00000 n +0000423244 00000 n +0000427982 00000 n +0000427726 00000 n +0000423447 00000 n +0000427852 00000 n +0000427917 00000 n +0000431112 00000 n +0000430338 00000 n +0000428108 00000 n +0000430464 00000 n +0000430529 00000 n +0000430594 00000 n +0000430659 00000 n +0000430788 00000 n +0000430853 00000 n +0000430918 00000 n +0000430983 00000 n +0000431047 00000 n +0000434559 00000 n +0000434304 00000 n +0000431265 00000 n +0000434430 00000 n 0000434495 00000 n -0000437893 00000 n -0000437958 00000 n -0000441462 00000 n -0000441206 00000 n -0000438149 00000 n -0000441332 00000 n -0000441397 00000 n -0000443912 00000 n -0000443204 00000 n -0000441601 00000 n -0000443330 00000 n -0000443395 00000 n -0000443460 00000 n -0000443587 00000 n -0000443652 00000 n -0000443717 00000 n -0000443782 00000 n -0000443847 00000 n -0000446705 00000 n -0000445996 00000 n -0000444065 00000 n -0000446122 00000 n -0000446187 00000 n -0000446252 00000 n -0000446316 00000 n -0000446445 00000 n -0000446510 00000 n -0000446575 00000 n -0000446640 00000 n -0000449883 00000 n -0000449627 00000 n -0000446844 00000 n -0000449753 00000 n -0000449818 00000 n -0000679974 00000 n -0000453040 00000 n -0000452400 00000 n -0000450009 00000 n -0000452526 00000 n -0000452591 00000 n -0000452656 00000 n -0000452720 00000 n -0000452849 00000 n -0000452912 00000 n -0000452976 00000 n -0000456343 00000 n -0000456022 00000 n -0000453193 00000 n -0000456148 00000 n -0000456213 00000 n -0000456278 00000 n -0000459370 00000 n -0000458986 00000 n -0000456526 00000 n -0000459112 00000 n -0000459177 00000 n -0000459242 00000 n -0000459307 00000 n -0000462702 00000 n -0000461993 00000 n -0000459594 00000 n -0000462119 00000 n -0000462184 00000 n -0000462249 00000 n -0000462378 00000 n -0000462443 00000 n -0000462507 00000 n -0000462572 00000 n -0000462637 00000 n -0000465727 00000 n -0000465084 00000 n -0000462868 00000 n -0000465210 00000 n -0000465275 00000 n -0000465340 00000 n -0000465405 00000 n -0000465533 00000 n -0000465598 00000 n -0000465663 00000 n -0000469195 00000 n -0000468874 00000 n -0000465893 00000 n -0000469000 00000 n -0000469065 00000 n -0000469130 00000 n -0000680099 00000 n -0000471767 00000 n -0000471189 00000 n -0000469321 00000 n -0000471315 00000 n -0000471380 00000 n -0000471445 00000 n -0000471510 00000 n -0000471639 00000 n -0000471703 00000 n -0000475567 00000 n -0000475182 00000 n -0000471905 00000 n -0000475308 00000 n -0000475373 00000 n -0000475438 00000 n -0000475503 00000 n -0000477133 00000 n -0000476749 00000 n -0000475707 00000 n -0000476875 00000 n -0000476940 00000 n -0000477003 00000 n -0000477068 00000 n -0000477318 00000 n -0000488662 00000 n -0000496251 00000 n -0000498550 00000 n -0000498519 00000 n -0000508044 00000 n -0000518157 00000 n -0000528402 00000 n -0000540612 00000 n -0000558961 00000 n -0000579840 00000 n -0000601983 00000 n -0000619878 00000 n -0000622709 00000 n -0000622479 00000 n -0000650016 00000 n -0000677127 00000 n -0000680206 00000 n -0000680329 00000 n -0000680455 00000 n -0000680581 00000 n -0000680680 00000 n -0000680772 00000 n -0000696829 00000 n -0000714763 00000 n -0000714804 00000 n -0000714844 00000 n -0000714978 00000 n +0000683367 00000 n +0000437707 00000 n +0000436997 00000 n +0000434698 00000 n +0000437123 00000 n +0000437188 00000 n +0000437253 00000 n +0000437318 00000 n +0000437447 00000 n +0000437512 00000 n +0000437577 00000 n +0000437642 00000 n +0000441400 00000 n +0000441144 00000 n +0000437872 00000 n +0000441270 00000 n +0000441335 00000 n +0000444839 00000 n +0000444583 00000 n +0000441526 00000 n +0000444709 00000 n +0000444774 00000 n +0000447289 00000 n +0000446581 00000 n +0000444978 00000 n +0000446707 00000 n +0000446772 00000 n +0000446837 00000 n +0000446964 00000 n +0000447029 00000 n +0000447094 00000 n +0000447159 00000 n +0000447224 00000 n +0000450082 00000 n +0000449373 00000 n +0000447442 00000 n +0000449499 00000 n +0000449564 00000 n +0000449629 00000 n +0000449693 00000 n +0000449822 00000 n +0000449887 00000 n +0000449952 00000 n +0000450017 00000 n +0000453260 00000 n +0000453004 00000 n +0000450221 00000 n +0000453130 00000 n +0000453195 00000 n +0000683492 00000 n +0000456417 00000 n +0000455777 00000 n +0000453386 00000 n +0000455903 00000 n +0000455968 00000 n +0000456033 00000 n +0000456097 00000 n +0000456226 00000 n +0000456289 00000 n +0000456353 00000 n +0000459720 00000 n +0000459399 00000 n +0000456570 00000 n +0000459525 00000 n +0000459590 00000 n +0000459655 00000 n +0000462747 00000 n +0000462363 00000 n +0000459903 00000 n +0000462489 00000 n +0000462554 00000 n +0000462619 00000 n +0000462684 00000 n +0000466079 00000 n +0000465370 00000 n +0000462971 00000 n +0000465496 00000 n +0000465561 00000 n +0000465626 00000 n +0000465755 00000 n +0000465820 00000 n +0000465884 00000 n +0000465949 00000 n +0000466014 00000 n +0000469104 00000 n +0000468461 00000 n +0000466245 00000 n +0000468587 00000 n +0000468652 00000 n +0000468717 00000 n +0000468782 00000 n +0000468910 00000 n +0000468975 00000 n +0000469040 00000 n +0000472572 00000 n +0000472251 00000 n +0000469270 00000 n +0000472377 00000 n +0000472442 00000 n +0000472507 00000 n +0000683617 00000 n +0000475144 00000 n +0000474566 00000 n +0000472698 00000 n +0000474692 00000 n +0000474757 00000 n +0000474822 00000 n +0000474887 00000 n +0000475016 00000 n +0000475080 00000 n +0000478944 00000 n +0000478559 00000 n +0000475282 00000 n +0000478685 00000 n +0000478750 00000 n +0000478815 00000 n +0000478880 00000 n +0000480510 00000 n +0000480126 00000 n +0000479084 00000 n +0000480252 00000 n +0000480317 00000 n +0000480380 00000 n +0000480445 00000 n +0000480695 00000 n +0000492039 00000 n +0000499628 00000 n +0000501927 00000 n +0000501896 00000 n +0000511420 00000 n +0000521533 00000 n +0000531778 00000 n +0000543985 00000 n +0000562476 00000 n +0000583357 00000 n +0000605501 00000 n +0000623396 00000 n +0000626227 00000 n +0000625997 00000 n +0000653534 00000 n +0000680645 00000 n +0000683724 00000 n +0000683847 00000 n +0000683973 00000 n +0000684099 00000 n +0000684198 00000 n +0000684290 00000 n +0000700347 00000 n +0000718281 00000 n +0000718322 00000 n +0000718362 00000 n +0000718496 00000 n trailer << -/Size 2035 -/Root 2033 0 R -/Info 2034 0 R -/ID [<91A16A48AE11DF11651464E9316B0FAD> <91A16A48AE11DF11651464E9316B0FAD>] +/Size 2036 +/Root 2034 0 R +/Info 2035 0 R +/ID [<D1914EAD9EF2898DAF968634948E3A4F> <D1914EAD9EF2898DAF968634948E3A4F>] >> startxref -715236 +718754 %%EOF diff --git a/doc/arm/man.dig.html b/doc/arm/man.dig.html index 92f7c355..d27cce12 100644 --- a/doc/arm/man.dig.html +++ b/doc/arm/man.dig.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.dig.html,v 1.60.18.12 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.dig.html,v 1.60.18.17 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -52,7 +52,7 @@ <div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2569827"></a><h2>DESCRIPTION</h2> +<a name="id2563916"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">dig</strong></span> (domain information groper) is a flexible tool for interrogating DNS name servers. It performs DNS lookups and @@ -98,7 +98,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2600499"></a><h2>SIMPLE USAGE</h2> +<a name="id2569671"></a><h2>SIMPLE USAGE</h2> <p> A typical invocation of <span><strong class="command">dig</strong></span> looks like: </p> @@ -144,7 +144,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2600610"></a><h2>OPTIONS</h2> +<a name="id2569782"></a><h2>OPTIONS</h2> <p> The <code class="option">-b</code> option sets the source IP address of the query to <em class="parameter"><code>address</code></em>. This must be a valid @@ -244,7 +244,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2627703"></a><h2>QUERY OPTIONS</h2> +<a name="id2628005"></a><h2>QUERY OPTIONS</h2> <p><span><strong class="command">dig</strong></span> provides a number of query options which affect the way in which lookups are made and the results displayed. Some of @@ -567,7 +567,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2628704"></a><h2>MULTIPLE QUERIES</h2> +<a name="id2629005"></a><h2>MULTIPLE QUERIES</h2> <p> The BIND 9 implementation of <span><strong class="command">dig </strong></span> supports @@ -613,7 +613,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr </p> </div> <div class="refsect1" lang="en"> -<a name="id2628789"></a><h2>IDN SUPPORT</h2> +<a name="id2629159"></a><h2>IDN SUPPORT</h2> <p> If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. @@ -627,14 +627,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr </p> </div> <div class="refsect1" lang="en"> -<a name="id2628886"></a><h2>FILES</h2> +<a name="id2629188"></a><h2>FILES</h2> <p><code class="filename">/etc/resolv.conf</code> </p> <p><code class="filename">${HOME}/.digrc</code> </p> </div> <div class="refsect1" lang="en"> -<a name="id2628907"></a><h2>SEE ALSO</h2> +<a name="id2629209"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, @@ -642,7 +642,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr </p> </div> <div class="refsect1" lang="en"> -<a name="id2628945"></a><h2>BUGS</h2> +<a name="id2629246"></a><h2>BUGS</h2> <p> There are probably too many query options. </p> diff --git a/doc/arm/man.dnssec-keygen.html b/doc/arm/man.dnssec-keygen.html index 2bb0f5cf..7018f355 100644 --- a/doc/arm/man.dnssec-keygen.html +++ b/doc/arm/man.dnssec-keygen.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.dnssec-keygen.html,v 1.60.18.13 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.dnssec-keygen.html,v 1.60.18.18 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -50,7 +50,7 @@ <div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k</code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2601720"></a><h2>DESCRIPTION</h2> +<a name="id2602090"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">dnssec-keygen</strong></span> generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. It can also generate keys for use with @@ -58,7 +58,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2601734"></a><h2>OPTIONS</h2> +<a name="id2602104"></a><h2>OPTIONS</h2> <div class="variablelist"><dl> <dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt> <dd> @@ -166,7 +166,7 @@ </dl></div> </div> <div class="refsect1" lang="en"> -<a name="id2602555"></a><h2>GENERATED KEYS</h2> +<a name="id2602448"></a><h2>GENERATED KEYS</h2> <p> When <span><strong class="command">dnssec-keygen</strong></span> completes successfully, @@ -212,7 +212,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2602663"></a><h2>EXAMPLE</h2> +<a name="id2604398"></a><h2>EXAMPLE</h2> <p> To generate a 768-bit DSA key for the domain <strong class="userinput"><code>example.com</code></strong>, the following command would be @@ -233,7 +233,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2602720"></a><h2>SEE ALSO</h2> +<a name="id2604455"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">RFC 2535</em>, @@ -242,7 +242,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2604116"></a><h2>AUTHOR</h2> +<a name="id2604486"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/arm/man.dnssec-signzone.html b/doc/arm/man.dnssec-signzone.html index 171ff444..be4a7a40 100644 --- a/doc/arm/man.dnssec-signzone.html +++ b/doc/arm/man.dnssec-signzone.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.dnssec-signzone.html,v 1.58.18.14 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.dnssec-signzone.html,v 1.58.18.19 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -50,7 +50,7 @@ <div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {zonefile} [key...]</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2603191"></a><h2>DESCRIPTION</h2> +<a name="id2602810"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">dnssec-signzone</strong></span> signs a zone. It generates NSEC and RRSIG records and produces a signed version of the @@ -61,7 +61,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2603210"></a><h2>OPTIONS</h2> +<a name="id2602829"></a><h2>OPTIONS</h2> <div class="variablelist"><dl> <dt><span class="term">-a</span></dt> <dd><p> @@ -259,7 +259,7 @@ </dl></div> </div> <div class="refsect1" lang="en"> -<a name="id2657349"></a><h2>EXAMPLE</h2> +<a name="id2657856"></a><h2>EXAMPLE</h2> <p> The following command signs the <strong class="userinput"><code>example.com</code></strong> zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span> @@ -288,14 +288,14 @@ db.example.com.signed %</pre> </div> <div class="refsect1" lang="en"> -<a name="id2657490"></a><h2>SEE ALSO</h2> +<a name="id2657996"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">RFC 2535</em>. </p> </div> <div class="refsect1" lang="en"> -<a name="id2657514"></a><h2>AUTHOR</h2> +<a name="id2658021"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/arm/man.host.html b/doc/arm/man.host.html index b1928fbe..44293109 100644 --- a/doc/arm/man.host.html +++ b/doc/arm/man.host.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.host.html,v 1.58.18.13 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.host.html,v 1.58.18.18 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -50,7 +50,7 @@ <div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2600825"></a><h2>DESCRIPTION</h2> +<a name="id2601059"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">host</strong></span> is a simple utility for performing DNS lookups. It is normally used to convert names to IP addresses and vice versa. @@ -202,7 +202,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2601544"></a><h2>IDN SUPPORT</h2> +<a name="id2601709"></a><h2>IDN SUPPORT</h2> <p> If <span><strong class="command">host</strong></span> has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. @@ -216,12 +216,12 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2601573"></a><h2>FILES</h2> +<a name="id2601738"></a><h2>FILES</h2> <p><code class="filename">/etc/resolv.conf</code> </p> </div> <div class="refsect1" lang="en"> -<a name="id2601860"></a><h2>SEE ALSO</h2> +<a name="id2601752"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>. </p> diff --git a/doc/arm/man.named-checkconf.html b/doc/arm/man.named-checkconf.html index 62ca162a..ec7b8c2e 100644 --- a/doc/arm/man.named-checkconf.html +++ b/doc/arm/man.named-checkconf.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.named-checkconf.html,v 1.57.18.13 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.named-checkconf.html,v 1.57.18.18 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -50,14 +50,14 @@ <div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-z</code>]</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2604958"></a><h2>DESCRIPTION</h2> +<a name="id2603690"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">named-checkconf</strong></span> checks the syntax, but not the semantics, of a named configuration file. </p> </div> <div class="refsect1" lang="en"> -<a name="id2604972"></a><h2>OPTIONS</h2> +<a name="id2603704"></a><h2>OPTIONS</h2> <div class="variablelist"><dl> <dt><span class="term">-h</span></dt> <dd><p> @@ -92,21 +92,21 @@ </dl></div> </div> <div class="refsect1" lang="en"> -<a name="id2605089"></a><h2>RETURN VALUES</h2> +<a name="id2603820"></a><h2>RETURN VALUES</h2> <p><span><strong class="command">named-checkconf</strong></span> returns an exit status of 1 if errors were detected and 0 otherwise. </p> </div> <div class="refsect1" lang="en"> -<a name="id2605102"></a><h2>SEE ALSO</h2> +<a name="id2603834"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>. </p> </div> <div class="refsect1" lang="en"> -<a name="id2605132"></a><h2>AUTHOR</h2> +<a name="id2603864"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/arm/man.named-checkzone.html b/doc/arm/man.named-checkzone.html index 84226709..4ecdac14 100644 --- a/doc/arm/man.named-checkzone.html +++ b/doc/arm/man.named-checkzone.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.named-checkzone.html,v 1.63.18.14 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.named-checkzone.html,v 1.63.18.19 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -51,7 +51,7 @@ <div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2606692"></a><h2>DESCRIPTION</h2> +<a name="id2605765"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">named-checkzone</strong></span> checks the syntax and integrity of a zone file. It performs the same checks as <span><strong class="command">named</strong></span> does when loading a @@ -71,7 +71,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2606742"></a><h2>OPTIONS</h2> +<a name="id2605815"></a><h2>OPTIONS</h2> <div class="variablelist"><dl> <dt><span class="term">-d</span></dt> <dd><p> @@ -257,14 +257,14 @@ </dl></div> </div> <div class="refsect1" lang="en"> -<a name="id2658270"></a><h2>RETURN VALUES</h2> +<a name="id2659869"></a><h2>RETURN VALUES</h2> <p><span><strong class="command">named-checkzone</strong></span> returns an exit status of 1 if errors were detected and 0 otherwise. </p> </div> <div class="refsect1" lang="en"> -<a name="id2658284"></a><h2>SEE ALSO</h2> +<a name="id2659952"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>, <em class="citetitle">RFC 1035</em>, @@ -272,7 +272,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2658317"></a><h2>AUTHOR</h2> +<a name="id2659985"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/arm/man.named.html b/doc/arm/man.named.html index a9b29a8a..68d47ff6 100644 --- a/doc/arm/man.named.html +++ b/doc/arm/man.named.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.named.html,v 1.62.18.14 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.named.html,v 1.62.18.19 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -50,7 +50,7 @@ <div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2606905"></a><h2>DESCRIPTION</h2> +<a name="id2607070"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">named</strong></span> is a Domain Name System (DNS) server, part of the BIND 9 distribution from ISC. For more @@ -65,7 +65,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2606936"></a><h2>OPTIONS</h2> +<a name="id2607101"></a><h2>OPTIONS</h2> <div class="variablelist"><dl> <dt><span class="term">-4</span></dt> <dd><p> @@ -209,7 +209,7 @@ </dl></div> </div> <div class="refsect1" lang="en"> -<a name="id2607415"></a><h2>SIGNALS</h2> +<a name="id2607512"></a><h2>SIGNALS</h2> <p> In routine operation, signals should not be used to control the nameserver; <span><strong class="command">rndc</strong></span> should be used @@ -230,7 +230,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2608899"></a><h2>CONFIGURATION</h2> +<a name="id2607562"></a><h2>CONFIGURATION</h2> <p> The <span><strong class="command">named</strong></span> configuration file is too complex to describe in detail here. A complete description is provided @@ -239,7 +239,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2608918"></a><h2>FILES</h2> +<a name="id2608674"></a><h2>FILES</h2> <div class="variablelist"><dl> <dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt> <dd><p> @@ -252,7 +252,7 @@ </dl></div> </div> <div class="refsect1" lang="en"> -<a name="id2608962"></a><h2>SEE ALSO</h2> +<a name="id2608717"></a><h2>SEE ALSO</h2> <p><em class="citetitle">RFC 1033</em>, <em class="citetitle">RFC 1034</em>, <em class="citetitle">RFC 1035</em>, @@ -265,7 +265,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2609032"></a><h2>AUTHOR</h2> +<a name="id2609061"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/arm/man.rndc-confgen.html b/doc/arm/man.rndc-confgen.html index 6d668a6a..cb9fcc98 100644 --- a/doc/arm/man.rndc-confgen.html +++ b/doc/arm/man.rndc-confgen.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.rndc-confgen.html,v 1.65.10.14 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.rndc-confgen.html,v 1.65.10.19 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -48,7 +48,7 @@ <div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2609820"></a><h2>DESCRIPTION</h2> +<a name="id2609371"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">rndc-confgen</strong></span> generates configuration files for <span><strong class="command">rndc</strong></span>. It can be used as a @@ -64,7 +64,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2610091"></a><h2>OPTIONS</h2> +<a name="id2609437"></a><h2>OPTIONS</h2> <div class="variablelist"><dl> <dt><span class="term">-a</span></dt> <dd> @@ -171,7 +171,7 @@ </dl></div> </div> <div class="refsect1" lang="en"> -<a name="id2624813"></a><h2>EXAMPLES</h2> +<a name="id2610233"></a><h2>EXAMPLES</h2> <p> To allow <span><strong class="command">rndc</strong></span> to be used with no manual configuration, run @@ -188,7 +188,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2624870"></a><h2>SEE ALSO</h2> +<a name="id2610290"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, @@ -196,7 +196,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2624908"></a><h2>AUTHOR</h2> +<a name="id2625347"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/arm/man.rndc.conf.html b/doc/arm/man.rndc.conf.html index 0796a686..1b663f88 100644 --- a/doc/arm/man.rndc.conf.html +++ b/doc/arm/man.rndc.conf.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.rndc.conf.html,v 1.66.10.14 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.rndc.conf.html,v 1.66.10.19 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -50,7 +50,7 @@ <div class="cmdsynopsis"><p><code class="command">rndc.conf</code> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2602375"></a><h2>DESCRIPTION</h2> +<a name="id2608411"></a><h2>DESCRIPTION</h2> <p><code class="filename">rndc.conf</code> is the configuration file for <span><strong class="command">rndc</strong></span>, the BIND 9 name server control utility. This file has a similar structure and syntax to @@ -135,7 +135,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2608281"></a><h2>EXAMPLE</h2> +<a name="id2608583"></a><h2>EXAMPLE</h2> <pre class="programlisting"> options { default-server localhost; @@ -209,7 +209,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2609222"></a><h2>NAME SERVER CONFIGURATION</h2> +<a name="id2609182"></a><h2>NAME SERVER CONFIGURATION</h2> <p> The name server must be configured to accept rndc connections and to recognize the key specified in the <code class="filename">rndc.conf</code> @@ -219,7 +219,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2609248"></a><h2>SEE ALSO</h2> +<a name="id2609208"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">mmencode</span>(1)</span>, @@ -227,7 +227,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2609286"></a><h2>AUTHOR</h2> +<a name="id2609246"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/arm/man.rndc.html b/doc/arm/man.rndc.html index 81db48e8..4d086089 100644 --- a/doc/arm/man.rndc.html +++ b/doc/arm/man.rndc.html @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> -<!-- $Id: man.rndc.html,v 1.64.10.14 2008/05/15 01:42:11 tbox Exp $ --> +<!-- $Id: man.rndc.html,v 1.64.10.19 2008/06/24 01:42:14 tbox Exp $ --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> @@ -50,7 +50,7 @@ <div class="cmdsynopsis"><p><code class="command">rndc</code> [<code class="option">-b <em class="replaceable"><code>source-address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key-file</code></em></code>] [<code class="option">-s <em class="replaceable"><code>server</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-V</code>] [<code class="option">-y <em class="replaceable"><code>key_id</code></em></code>] {command}</p></div> </div> <div class="refsect1" lang="en"> -<a name="id2607533"></a><h2>DESCRIPTION</h2> +<a name="id2607699"></a><h2>DESCRIPTION</h2> <p><span><strong class="command">rndc</strong></span> controls the operation of a name server. It supersedes the <span><strong class="command">ndc</strong></span> utility @@ -79,7 +79,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2607584"></a><h2>OPTIONS</h2> +<a name="id2607749"></a><h2>OPTIONS</h2> <div class="variablelist"><dl> <dt><span class="term">-b <em class="replaceable"><code>source-address</code></em></span></dt> <dd><p> @@ -151,7 +151,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2607945"></a><h2>LIMITATIONS</h2> +<a name="id2608179"></a><h2>LIMITATIONS</h2> <p><span><strong class="command">rndc</strong></span> does not yet support all the commands of the BIND 8 <span><strong class="command">ndc</strong></span> utility. @@ -165,7 +165,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2607976"></a><h2>SEE ALSO</h2> +<a name="id2608210"></a><h2>SEE ALSO</h2> <p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>, <span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, @@ -175,7 +175,7 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2608032"></a><h2>AUTHOR</h2> +<a name="id2608265"></a><h2>AUTHOR</h2> <p><span class="corpauthor">Internet Systems Consortium</span> </p> </div> diff --git a/doc/misc/options b/doc/misc/options index b18b4326..138d9c9f 100644 --- a/doc/misc/options +++ b/doc/misc/options @@ -69,8 +69,8 @@ options { alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]; auth-nxdomain <boolean>; // default changed - avoid-v4-udp-ports { <port>; ... }; - avoid-v6-udp-ports { <port>; ... }; + avoid-v4-udp-ports { <portrange>; ... }; + avoid-v6-udp-ports { <portrange>; ... }; blackhole { <address_match_element>; ... }; cache-file <quoted_string>; check-integrity <boolean>; @@ -158,8 +158,8 @@ options { query-source <querysource4>; query-source-v6 <querysource6>; querylog <boolean>; - queryport-pool-ports <integer>; - queryport-pool-updateinterval <integer>; + queryport-pool-ports <integer>; // obsolete + queryport-pool-updateinterval <integer>; // obsolete random-device <quoted_string>; recursing-file <quoted_string>; recursion <boolean>; @@ -197,7 +197,9 @@ options { use-alt-transfer-source <boolean>; use-id-pool <boolean>; // obsolete use-ixfr <boolean>; - use-queryport-pool <boolean>; + use-queryport-pool <boolean>; // obsolete + use-v4-udp-ports { <portrange>; ... }; + use-v6-udp-ports { <portrange>; ... }; version ( <quoted_string> | none ); zero-no-soa-ttl <boolean>; zero-no-soa-ttl-cache <boolean>; @@ -325,8 +327,8 @@ view <string> <optional_class> { provide-ixfr <boolean>; query-source <querysource4>; query-source-v6 <querysource6>; - queryport-pool-ports <integer>; - queryport-pool-updateinterval <integer>; + queryport-pool-ports <integer>; // obsolete + queryport-pool-updateinterval <integer>; // obsolete recursion <boolean>; request-ixfr <boolean>; request-nsid <boolean>; @@ -368,7 +370,7 @@ view <string> <optional_class> { try-tcp-refresh <boolean>; update-check-ksk <boolean>; use-alt-transfer-source <boolean>; - use-queryport-pool <boolean>; + use-queryport-pool <boolean>; // obsolete zero-no-soa-ttl <boolean>; zero-no-soa-ttl-cache <boolean>; zone <string> <optional_class> { diff --git a/doc/rfc/index b/doc/rfc/index index 45cb89b2..8085a2ce 100644 --- a/doc/rfc/index +++ b/doc/rfc/index @@ -9,7 +9,7 @@ 1183: New DNS RR Definitions (AFSDB, RP, X25, ISDN and RT) 1348: DNS NSAP RRs 1535: A Security Problem and Proposed Correction - With Widely Deployed DNS Software + With Widely Deployed DNS Software 1536: Common DNS Implementation Errors and Suggested Fixes 1537: Common DNS Data File Configuration Errors 1591: Domain Name System Structure and Delegation @@ -82,17 +82,17 @@ 3490: Internationalizing Domain Names In Applications (IDNA) 3491: Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN) 3492: Punycode:A Bootstring encoding of Unicode for - Internationalized Domain Names in Applications (IDNA) + Internationalized Domain Names in Applications (IDNA) 3493: Basic Socket Interface Extensions for IPv6 3513: Internet Protocol Version 6 (IPv6) Addressing Architecture 3596: DNS Extensions to Support IP Version 6 3597: Handling of Unknown DNS Resource Record (RR) Types 3645: Generic Security Service Algorithm for - Secret Key Transaction Authentication for DNS (GSS-TSIG) + Secret Key Transaction Authentication for DNS (GSS-TSIG) 3655: Redefinition of DNS Authenticated Data (AD) bit 3658: Delegation Signer (DS) Resource Record (RR) 3757: Domain Name System KEY (DNSKEY) Resource Record (RR) - Secure Entry Point (SEP) Flag + Secure Entry Point (SEP) Flag 3833: Threat Analysis of the Domain Name System (DNS) 3845: DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format 3901: DNS IPv6 Transport Operational Guidelines @@ -113,3 +113,6 @@ 4470: Minimally Covering NSEC Records and DNSSEC On-line Signing 4634: US Secure Hash Algorithms (SHA and HMAC-SHA) 4641: DNSSEC Operational Practices +4701: A DNS Resource Record (RR) for Encoding + Dynamic Host Configuration Protocol (DHCP) Information (DHCID RR) + diff --git a/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt b/doc/rfc/rfc4701.txt index 07749d95..03e3c543 100644 --- a/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt +++ b/doc/rfc/rfc4701.txt @@ -2,95 +2,91 @@ -DNSEXT M. Stapp -Internet-Draft Cisco Systems, Inc. -Expires: September 1, 2006 T. Lemon + + +Network Working Group M. Stapp +Request for Comments: 4701 Cisco Systems, Inc. +Category: Standards Track T. Lemon Nominum, Inc. A. Gustafsson Araneus Information Systems Oy - February 28, 2006 + October 2006 - A DNS RR for Encoding DHCP Information (DHCID RR) - <draft-ietf-dnsext-dhcid-rr-12.txt> + A DNS Resource Record (RR) for Encoding + Dynamic Host Configuration Protocol (DHCP) Information (DHCID RR) -Status of this Memo +Status of This Memo - By submitting this Internet-Draft, each author represents that any - applicable patent or other IPR claims of which he or she is aware - have been or will be disclosed, and any of which he or she becomes - aware will be disclosed, in accordance with Section 6 of BCP 79. + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. - Internet-Drafts are working documents of the Internet Engineering - Task Force (IETF), its areas, and its working groups. Note that - other groups may also distribute working documents as Internet- - Drafts. +Copyright Notice - Internet-Drafts are draft documents valid for a maximum of six months - and may be updated, replaced, or obsoleted by other documents at any - time. It is inappropriate to use Internet-Drafts as reference - material or to cite them other than as "work in progress." + Copyright (C) The Internet Society (2006). - The list of current Internet-Drafts can be accessed at - http://www.ietf.org/ietf/1id-abstracts.txt. +Abstract - The list of Internet-Draft Shadow Directories can be accessed at - http://www.ietf.org/shadow.html. + It is possible for Dynamic Host Configuration Protocol (DHCP) clients + to attempt to update the same DNS Fully Qualified Domain Name (FQDN) + or to update a DNS FQDN that has been added to the DNS for another + purpose as they obtain DHCP leases. Whether the DHCP server or the + clients themselves perform the DNS updates, conflicts can arise. To + resolve such conflicts, RFC 4703 proposes storing client identifiers + in the DNS to unambiguously associate domain names with the DHCP + clients to which they refer. This memo defines a distinct Resource + Record (RR) type for this purpose for use by DHCP clients and + servers: the "DHCID" RR. - This Internet-Draft will expire on September 1, 2006. -Copyright Notice - Copyright (C) The Internet Society (2006). -Abstract - It is possible for DHCP clients to attempt to update the same DNS - FQDN or attempt to update a DNS FQDN that has been added to the DNS - for another purpose as they obtain DHCP leases. Whether the DHCP - server or the clients themselves perform the DNS updates, conflicts - can arise. To resolve such conflicts, "Resolution of DNS Name -Stapp, et al. Expires September 1, 2006 [Page 1] - -Internet-Draft The DHCID RR February 2006 - Conflicts" [1] proposes storing client identifiers in the DNS to - unambiguously associate domain names with the DHCP clients to which - they refer. This memo defines a distinct RR type for this purpose - for use by DHCP clients and servers, the "DHCID" RR. + + + + + +Stapp, et al. Standards Track [Page 1] + +RFC 4701 The DHCID RR October 2006 Table of Contents - 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 3. The DHCID RR . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 3.1. DHCID RDATA format . . . . . . . . . . . . . . . . . . . . 3 - 3.2. DHCID Presentation Format . . . . . . . . . . . . . . . . 4 - 3.3. The DHCID RR Identifier Type Codes . . . . . . . . . . . . 4 - 3.4. The DHCID RR Digest Type Code . . . . . . . . . . . . . . 4 - 3.5. Computation of the RDATA . . . . . . . . . . . . . . . . . 5 - 3.5.1. Using the Client's DUID . . . . . . . . . . . . . . . 5 - 3.5.2. Using the Client Identifier Option . . . . . . . . . . 5 - 3.5.3. Using the Client's htype and chaddr . . . . . . . . . 6 - 3.6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 3.6.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 6 - 3.6.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 6 - 3.6.3. Example 3 . . . . . . . . . . . . . . . . . . . . . . 7 - 4. Use of the DHCID RR . . . . . . . . . . . . . . . . . . . . . 7 - 5. Updater Behavior . . . . . . . . . . . . . . . . . . . . . . . 8 - 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 - 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 - 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9 - 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9 - 9.2. Informative References . . . . . . . . . . . . . . . . . . 10 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 - Intellectual Property and Copyright Statements . . . . . . . . . . 12 + 1. Introduction ....................................................3 + 2. Terminology .....................................................3 + 3. The DHCID RR ....................................................3 + 3.1. DHCID RDATA Format .........................................3 + 3.2. DHCID Presentation Format ..................................4 + 3.3. The DHCID RR Identifier Type Codes .........................4 + 3.4. The DHCID RR Digest Type Code ..............................4 + 3.5. Computation of the RDATA ...................................5 + 3.5.1. Using the Client's DUID .............................5 + 3.5.2. Using the Client Identifier Option ..................6 + 3.5.3. Using the Client's htype and chaddr .................6 + 3.6. Examples ...................................................6 + 3.6.1. Example 1 ...........................................6 + 3.6.2. Example 2 ...........................................7 + 3.6.3. Example 3 ...........................................7 + 4. Use of the DHCID RR .............................................8 + 5. Updater Behavior ................................................8 + 6. Security Considerations .........................................8 + 7. IANA Considerations .............................................9 + 8. Acknowledgements ................................................9 + 9. References ......................................................9 + 9.1. Normative References .......................................9 + 9.2. Informative References ....................................10 + + @@ -109,33 +105,30 @@ Table of Contents -Stapp, et al. Expires September 1, 2006 [Page 2] - -Internet-Draft The DHCID RR February 2006 -1. Terminology - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in RFC 2119 [2]. -2. Introduction - A set of procedures to allow DHCP [6] [10] clients and servers to - automatically update the DNS (RFC 1034 [3], RFC 1035 [4]) is proposed - in "Resolution of DNS Name Conflicts" [1]. +Stapp, et al. Standards Track [Page 2] + +RFC 4701 The DHCID RR October 2006 + + +1. Introduction + + A set of procedures to allow DHCP [7] [11] clients and servers to + automatically update the DNS ([3], [4]) is proposed in [1]. Conflicts can arise if multiple DHCP clients wish to use the same DNS name or a DHCP client attempts to use a name added for another - purpose. To resolve such conflicts, "Resolution of DNS Name - Conflicts" [1] proposes storing client identifiers in the DNS to - unambiguously associate domain names with the DHCP clients using - them. In the interest of clarity, it is preferable for this DHCP - information to use a distinct RR type. This memo defines a distinct - RR for this purpose for use by DHCP clients or servers, the "DHCID" - RR. + purpose. To resolve such conflicts, [1] proposes storing client + identifiers in the DNS to unambiguously associate domain names with + the DHCP clients using them. In the interest of clarity, it is + preferable for this DHCP information to use a distinct RR type. This + memo defines a distinct RR for this purpose for use by DHCP clients + or servers: the "DHCID" RR. In order to obscure potentially sensitive client identifying information, the data stored is the result of a one-way SHA-256 hash @@ -147,14 +140,19 @@ Internet-Draft The DHCID RR February 2006 time with more than one name. This makes it difficult to 'track' a client as it is associated with various domain names. +2. Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [2]. 3. The DHCID RR - The DHCID RR is defined with mnemonic DHCID and type code [TBD]. The + The DHCID RR is defined with mnemonic DHCID and type code 49. The DHCID RR is only defined in the IN class. DHCID RRs cause no - additional section processing. The DHCID RR is not a singleton type. + additional section processing. -3.1. DHCID RDATA format +3.1. DHCID RDATA Format The RDATA section of a DHCID RR in transmission contains RDLENGTH octets of binary data. The format of this data and its @@ -162,18 +160,18 @@ Internet-Draft The DHCID RR February 2006 DNS software should consider the RDATA section to be opaque. DHCP clients or servers use the DHCID RR to associate a DHCP client's + identity with a DNS name, so that multiple DHCP clients and servers + may deterministically perform dynamic DNS updates to the same zone. + From the updater's perspective, the DHCID resource record RDATA + consists of a 2-octet identifier type, in network byte order, -Stapp, et al. Expires September 1, 2006 [Page 3] +Stapp, et al. Standards Track [Page 3] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 - identity with a DNS name, so that multiple DHCP clients and servers - may deterministically perform dynamic DNS updates to the same zone. - From the updater's perspective, the DHCID resource record RDATA - consists of a 2-octet identifier type, in network byte order, followed by a 1-octet digest type, followed by one or more octets representing the actual identifier: @@ -184,11 +182,11 @@ Internet-Draft The DHCID RR February 2006 3.2. DHCID Presentation Format In DNS master files, the RDATA is represented as a single block in - base 64 encoding identical to that used for representing binary data - in RFC 3548 [7]. The data may be divided up into any number of white - space separated substrings, down to single base 64 digits, which are - concatenated to form the complete RDATA. These substrings can span - lines using the standard parentheses. + base-64 encoding identical to that used for representing binary data + in [8], Section 3. The data may be divided up into any number of + white-space-separated substrings, down to single base-64 digits, + which are concatenated to form the complete RDATA. These substrings + can span lines using the standard parentheses. 3.3. The DHCID RR Identifier Type Codes @@ -196,18 +194,26 @@ Internet-Draft The DHCID RR February 2006 client's request was used as input into the hash function. The identifier type codes are defined in a registry maintained by IANA, as specified in Section 7. The initial list of assigned values for - the identifier type code is: - - 0x0000 = htype, chaddr from a DHCPv4 client's DHCPREQUEST [6]. - 0x0001 = The data octets (i.e., the Type and Client-Identifier - fields) from a DHCPv4 client's Client Identifier option [9]. - 0x0002 = The client's DUID (i.e., the data octets of a DHCPv6 - client's Client Identifier option [10] or the DUID field from a - DHCPv4 client's Client Identifier option [12]). - - 0x0003 - 0xfffe = Available to be assigned by IANA. - - 0xffff = RESERVED + the identifier type code and that type's identifier is: + + + +------------------+------------------------------------------------+ + | Identifier Type | Identifier | + | Code | | + +------------------+------------------------------------------------+ + | 0x0000 | The 1-octet 'htype' followed by 'hlen' octets | + | | of 'chaddr' from a DHCPv4 client's DHCPREQUEST | + | | [7]. | + | 0x0001 | The data octets (i.e., the Type and | + | | Client-Identifier fields) from a DHCPv4 | + | | client's Client Identifier option [10]. | + | 0x0002 | The client's DUID (i.e., the data octets of a | + | | DHCPv6 client's Client Identifier option [11] | + | | or the DUID field from a DHCPv4 client's | + | | Client Identifier option [6]). | + | 0x0003 - 0xfffe | Undefined; available to be assigned by IANA. | + | 0xffff | Undefined; RESERVED. | + +------------------+------------------------------------------------+ 3.4. The DHCID RR Digest Type Code @@ -215,20 +221,19 @@ Internet-Draft The DHCID RR February 2006 algorithm used. The digest is calculated over an identifier and the canonical FQDN as described in the next section. - The digest type codes are defined in a registry maintained by IANA, - as specified in Section 7. The initial list of assigned values for - the digest type codes is: value 0 is reserved and value 1 is SHA-256. - -Stapp, et al. Expires September 1, 2006 [Page 4] +Stapp, et al. Standards Track [Page 4] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 - Reserving other types requires IETF standards action. Defining new - values will also require IETF standards action to document how DNS - updaters are to deal with multiple digest types. + The digest type codes are defined in a registry maintained by IANA, + as specified in Section 7. The initial list of assigned values for + the digest type codes is: value 0 is reserved, and value 1 is + SHA-256. Reserving other types requires IETF standards action. + Defining new values will also require IETF standards action to + document how DNS updaters are to deal with multiple digest types. 3.5. Computation of the RDATA @@ -246,15 +251,15 @@ Internet-Draft The DHCID RR February 2006 digest = SHA-256(< identifier > < FQDN >) - The FQDN is represented in the buffer in unambiguous canonical form - as described in RFC 4034 [8], section 6.1. The identifier type code - and the identifier are related as specified in Section 3.3: the - identifier type code describes the source of the identifier. + The FQDN is represented in the buffer in the canonical wire format as + described in [9], Section 6.2. The identifier type code and the + identifier are related as specified in Section 3.3: the identifier + type code describes the source of the identifier. A DHCPv4 updater uses the 0x0002 type code if a Client Identifier option is present in the DHCPv4 messages and it is encoded as - specified in [12]. Otherwise, the updater uses 0x0001 if a Client - Identifier option is present and 0x0000 if not. + specified in [6]. Otherwise, the updater uses 0x0001 if a Client + Identifier option is present, and 0x0000 if not. A DHCPv6 updater always uses the 0x0002 type code. @@ -262,26 +267,29 @@ Internet-Draft The DHCID RR February 2006 When the updater is using the Client's DUID (either from a DHCPv6 Client Identifier option or from a portion of the DHCPv4 Client - Identifier option encoded as specified in [12]), the first two octets + Identifier option encoded as specified in [6]), the first two octets of the DHCID RR MUST be 0x0002, in network byte order. The third octet is the digest type code (1 for SHA-256). The rest of the DHCID RR MUST contain the results of computing the SHA-256 hash across the octets of the DUID followed by the FQDN. -3.5.2. Using the Client Identifier Option - When the updater is using the DHCPv4 Client Identifier option sent by - the client in its DHCPREQUEST message, the first two octets of the - DHCID RR MUST be 0x0001, in network byte order. The third octet is - the digest type code (1 for SHA-256). The rest of the DHCID RR MUST -Stapp, et al. Expires September 1, 2006 [Page 5] + + +Stapp, et al. Standards Track [Page 5] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 + +3.5.2. Using the Client Identifier Option + When the updater is using the DHCPv4 Client Identifier option sent by + the client in its DHCPREQUEST message, the first two octets of the + DHCID RR MUST be 0x0001, in network byte order. The third octet is + the digest type code (1 for SHA-256). The rest of the DHCID RR MUST contain the results of computing the SHA-256 hash across the data octets (i.e., the Type and Client-Identifier fields) of the option, followed by the FQDN. @@ -307,46 +315,47 @@ Internet-Draft The DHCID RR February 2006 3.6.1. Example 1 - A DHCP server allocating the IPv4 address 10.0.0.1 to a client with - Ethernet MAC address 01:02:03:04:05:06 using domain name - "client.example.com" uses the client's link-layer address to identify - the client. The DHCID RDATA is composed by setting the two type - octets to zero, the 1-octet digest type to 1 for SHA-256, and - performing an SHA-256 hash computation across a buffer containing the - Ethernet MAC type octet, 0x01, the six octets of MAC address, and the - domain name (represented as specified in Section 3.5). + A DHCP server allocates the IPv6 address 2001:DB8::1234:5678 to a + client that included the DHCPv6 client-identifier option data 00:01: + 00:06:41:2d:f1:66:01:02:03:04:05:06 in its DHCPv6 request. The + server updates the name "chi6.example.com" on the client's behalf and + uses the DHCP client identifier option data as input in forming a + DHCID RR. The DHCID RDATA is formed by setting the two type octets + to the value 0x0002, the 1-octet digest type to 1 for SHA-256, and + performing a SHA-256 hash computation across a buffer containing the + 14 octets from the client-id option and the FQDN (represented as + specified in Section 3.5). - client.example.com. A 10.0.0.1 - client.example.com. DHCID ( AAABxLmlskllE0MVjd57zHcWmEH3pCQ6V - ytcKD//7es/deY= ) + chi6.example.com. AAAA 2001:DB8::1234:5678 + chi6.example.com. DHCID ( AAIBY2/AuCccgoJbsaxcQc9TUapptP69l + OjxfNuVAA2kjEA= ) If the DHCID RR type is not supported, the RDATA would be encoded [13] as: - \# 35 ( 000001c4b9a5b249651343158dde7bcc77169841f7a4243a572b5c283 - fffedeb3f75e6 ) - -3.6.2. Example 2 - A DHCP server allocates the IPv4 address 10.0.12.99 to a client which - included the DHCP client-identifier option data 01:07:08:09:0a:0b:0c +Stapp, et al. Standards Track [Page 6] + +RFC 4701 The DHCID RR October 2006 -Stapp, et al. Expires September 1, 2006 [Page 6] - -Internet-Draft The DHCID RR February 2006 + \# 35 ( 000201636fc0b8271c82825bb1ac5c41cf5351aa69b4febd94e8f17cd + b95000da48c40 ) +3.6.2. Example 2 + A DHCP server allocates the IPv4 address 192.0.2.2 to a client that + included the DHCP client-identifier option data 01:07:08:09:0a:0b:0c in its DHCP request. The server updates the name "chi.example.com" - on the client's behalf, and uses the DHCP client identifier option + on the client's behalf and uses the DHCP client identifier option data as input in forming a DHCID RR. The DHCID RDATA is formed by setting the two type octets to the value 0x0001, the 1-octet digest type to 1 for SHA-256, and performing a SHA-256 hash computation across a buffer containing the seven octets from the client-id option and the FQDN (represented as specified in Section 3.5). - chi.example.com. A 10.0.12.99 + chi.example.com. A 192.0.2.2 chi.example.com. DHCID ( AAEBOSD+XR3Os/0LozeXVqcNc7FwCfQdW L3b/NaiUDlW2No= ) @@ -358,45 +367,43 @@ Internet-Draft The DHCID RR February 2006 3.6.3. Example 3 - A DHCP server allocates the IPv6 address 2000::1234:5678 to a client - which included the DHCPv6 client-identifier option data 00:01:00:06: - 41:2d:f1:66:01:02:03:04:05:06 in its DHCPv6 request. The server - updates the name "chi6.example.com" on the client's behalf, and uses - the DHCP client identifier option data as input in forming a DHCID - RR. The DHCID RDATA is formed by setting the two type octets to the - value 0x0002, the 1-octet digest type to 1 for SHA-256, and - performing a SHA-256 hash computation across a buffer containing the - 14 octets from the client-id option and the FQDN (represented as + A DHCP server allocating the IPv4 address 192.0.2.3 to a client with + the Ethernet MAC address 01:02:03:04:05:06 using domain name + "client.example.com" uses the client's link-layer address to identify + the client. The DHCID RDATA is composed by setting the two type + octets to zero, the 1-octet digest type to 1 for SHA-256, and + performing an SHA-256 hash computation across a buffer containing the + 1-octet 'htype' value for Ethernet, 0x01, followed by the six octets + of the Ethernet MAC address, and the domain name (represented as specified in Section 3.5). - chi6.example.com. AAAA 2000::1234:5678 - chi6.example.com. DHCID ( AAIBY2/AuCccgoJbsaxcQc9TUapptP69l - OjxfNuVAA2kjEA= ) + client.example.com. A 192.0.2.3 + client.example.com. DHCID ( AAABxLmlskllE0MVjd57zHcWmEH3pCQ6V + ytcKD//7es/deY= ) If the DHCID RR type is not supported, the RDATA would be encoded [13] as: - \# 35 ( 000201636fc0b8271c82825bb1ac5c41cf5351aa69b4febd94e8f17cd - b95000da48c40 ) + \# 35 ( 000001c4b9a5b249651343158dde7bcc77169841f7a4243a572b5c283 + fffedeb3f75e6 ) -4. Use of the DHCID RR - This RR MUST NOT be used for any purpose other than that detailed in - "Resolution of DNS Name Conflicts" [1]. Although this RR contains - data that is opaque to DNS servers, the data must be consistent - across all entities that update and interpret this record. - -Stapp, et al. Expires September 1, 2006 [Page 7] +Stapp, et al. Standards Track [Page 7] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 - Therefore, new data formats may only be defined through actions of - the DHC Working Group, as a result of revising [1]. +4. Use of the DHCID RR + This RR MUST NOT be used for any purpose other than that detailed in + [1]. Although this RR contains data that is opaque to DNS servers, + the data must be consistent across all entities that update and + interpret this record. Therefore, new data formats may only be + defined through actions of the DHC Working Group, as a result of + revising [1]. 5. Updater Behavior @@ -416,12 +423,11 @@ Internet-Draft The DHCID RR February 2006 policy. That policy might dictate that a different name be selected, or it might permit the updater to continue. - 6. Security Considerations The DHCID record as such does not introduce any new security problems into the DNS. In order to obscure the client's identity information, - a one-way hash is used. And, in order to make it difficult to + a one-way hash is used. Further, in order to make it difficult to 'track' a client by examining the names associated with a particular hash value, the FQDN is included in the hash computation. Thus, the RDATA is dependent on both the DHCP client identification data and on @@ -437,37 +443,31 @@ Internet-Draft The DHCID RR February 2006 Administrators should be wary of permitting unsecured DNS updates to zones, whether or not they are exposed to the global Internet. Both DHCP clients and servers SHOULD use some form of update - authentication (e.g., TSIG [11]) when performing DNS updates. - - -7. IANA Considerations - + authentication (e.g., [12]) when performing DNS updates. -Stapp, et al. Expires September 1, 2006 [Page 8] +Stapp, et al. Standards Track [Page 8] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 - IANA is requested to allocate a DNS RR type number for the DHCID - record type. +7. IANA Considerations + + IANA has allocated a DNS RR type number for the DHCID record type. This specification defines a new number-space for the 2-octet - identifier type codes associated with the DHCID RR. IANA is - requested to establish a registry of the values for this number- - space. Three initial values are assigned in Section 3.3, and the - value 0xFFFF is reserved for future use. New DHCID RR identifier - type codes are assigned through Standards Action, as defined in RFC - 2434 [5]. + identifier type codes associated with the DHCID RR. IANA has + established a registry of the values for this number-space. Three + initial values are assigned in Section 3.3, and the value 0xFFFF is + reserved for future use. New DHCID RR identifier type codes are + assigned through Standards Action, as defined in [5]. This specification defines a new number-space for the 1-octet digest - type codes associated with the DHCID RR. IANA is requested to - establish a registry of the values for this number-space. Two - initial values are assigned in Section 3.4. New DHCID RR digest type - codes are assigned through Standards Action, as defined in RFC 2434 - [5]. - + type codes associated with the DHCID RR. IANA has established a + registry of the values for this number-space. Two initial values are + assigned in Section 3.4. New DHCID RR digest type codes are assigned + through Standards Action, as defined in [5]. 8. Acknowledgements @@ -475,13 +475,13 @@ Internet-Draft The DHCID RR February 2006 Sam Hartman, Josh Littlefield, Pekka Savola, and especially Bernie Volz for their review and suggestions. - 9. References 9.1. Normative References - [1] Stapp, M. and B. Volz, "Resolution of DNS Name Conflicts Among - DHCP Clients (draft-ietf-dhc-dns-resolution-*)", February 2006. + [1] Stapp, M. and B. Volz, "Resolution of Fully Qualified Domain + Name (FQDN) Conflicts among Dynamic Host Configuration Protocol + (DHCP) Clients", RFC 4703, October 2006. [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. @@ -495,44 +495,42 @@ Internet-Draft The DHCID RR February 2006 [5] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. + [6] Lemon, T. and B. Sommerfeld, "Node-specific Client Identifiers + for Dynamic Host Configuration Protocol Version Four (DHCPv4)", + RFC 4361, February 2006. - -Stapp, et al. Expires September 1, 2006 [Page 9] +Stapp, et al. Standards Track [Page 9] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 9.2. Informative References - [6] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, + [7] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997. - [7] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", + [8] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 3548, July 2003. - [8] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, + [9] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, March 2005. - [9] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor + [10] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132, March 1997. - [10] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. + [11] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. - [11] Vixie, P., Gudmundsson, O., Eastlake, D., and B. Wellington, + [12] Vixie, P., Gudmundsson, O., Eastlake, D., and B. Wellington, "Secret Key Transaction Authentication for DNS (TSIG)", RFC 2845, May 2000. - [12] Lemon, T. and B. Sommerfeld, "Node-specific Client Identifiers - for Dynamic Host Configuration Protocol Version Four (DHCPv4)", - RFC 4361, February 2006. - [13] Gustafsson, A., "Handling of Unknown DNS Resource Record (RR) Types", RFC 3597, September 2003. @@ -557,9 +555,13 @@ Internet-Draft The DHCID RR February 2006 -Stapp, et al. Expires September 1, 2006 [Page 10] + + + + +Stapp, et al. Standards Track [Page 10] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 Authors' Addresses @@ -571,7 +573,7 @@ Authors' Addresses USA Phone: 978.936.1535 - Email: mjs@cisco.com + EMail: mjs@cisco.com Ted Lemon @@ -580,7 +582,7 @@ Authors' Addresses Redwood City, CA 94063 USA - Email: mellon@nominum.com + EMail: mellon@nominum.com Andreas Gustafsson @@ -589,7 +591,7 @@ Authors' Addresses 02320 Espoo Finland - Email: gson@araneus.fi + EMail: gson@araneus.fi @@ -613,12 +615,28 @@ Authors' Addresses -Stapp, et al. Expires September 1, 2006 [Page 11] +Stapp, et al. Standards Track [Page 11] -Internet-Draft The DHCID RR February 2006 +RFC 4701 The DHCID RR October 2006 + + +Full Copyright Statement + + Copyright (C) The Internet Society (2006). + + This document is subject to the rights, licenses and restrictions + contained in BCP 78, and except as set forth therein, the authors + retain all their rights. + This document and the information contained herein are provided on an + "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS + OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET + ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE + INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED + WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -Intellectual Property Statement +Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to @@ -642,33 +660,16 @@ Intellectual Property Statement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. +Acknowledgement -Disclaimer of Validity - - This document and the information contained herein are provided on an - "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS - OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET - ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE - INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED - WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + Funding for the RFC Editor function is provided by the IETF + Administrative Support Activity (IASA). -Copyright Statement - Copyright (C) The Internet Society (2006). This document is subject - to the rights, licenses and restrictions contained in BCP 78, and - except as set forth therein, the authors retain all their rights. -Acknowledgment - Funding for the RFC Editor function is currently provided by the - Internet Society. - - - -Stapp, et al. Expires September 1, 2006 [Page 12] +Stapp, et al. Standards Track [Page 12] - diff --git a/lib/dns/api b/lib/dns/api index f19d6343..e6e5cfb1 100644 --- a/lib/dns/api +++ b/lib/dns/api @@ -1,3 +1,3 @@ -LIBINTERFACE = 43 +LIBINTERFACE = 44 LIBREVISION = 0 -LIBAGE = 0 +LIBAGE = 1 diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 7077f0d9..7d531177 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dispatch.c,v 1.137.128.4 2008/05/27 22:36:11 each Exp $ */ +/* $Id: dispatch.c,v 1.137.128.8 2008/07/03 00:14:13 each Exp $ */ /*! \file */ @@ -24,10 +24,12 @@ #include <stdlib.h> #include <sys/types.h> #include <unistd.h> +#include <stdlib.h> #include <isc/entropy.h> #include <isc/mem.h> #include <isc/mutex.h> +#include <isc/portset.h> #include <isc/print.h> #include <isc/random.h> #include <isc/string.h> @@ -47,23 +49,25 @@ typedef ISC_LIST(dns_dispentry_t) dns_displist_t; -/* transaction ID */ -typedef struct dns_qid { - unsigned int magic; - unsigned int qid_nbuckets; /*%< hash table size */ - unsigned int qid_increment; /*%< id increment on collision */ - isc_mutex_t lock; - dns_displist_t *qid_table; /*%< the table itself */ -} dns_qid_t; - /* ARC4 Random generator state */ typedef struct arc4ctx { isc_uint8_t i; isc_uint8_t j; isc_uint8_t s[256]; int count; + isc_entropy_t *entropy; /*%< entropy source for ARC4 */ + isc_mutex_t *lock; } arc4ctx_t; +typedef struct dns_qid { + unsigned int magic; + unsigned int qid_nbuckets; /*%< hash table size */ + unsigned int qid_increment; /*%< id increment on collision */ + isc_mutex_t lock; + dns_displist_t *qid_table; /*%< the table itself */ + dns_displist_t *addr_table; /*%< address/port table */ +} dns_qid_t; + struct dns_dispatchmgr { /* Unlocked. */ unsigned int magic; @@ -71,6 +75,7 @@ struct dns_dispatchmgr { dns_acl_t *blackhole; dns_portlist_t *portlist; dns_stats_t *stats; + isc_entropy_t *entropy; /*%< entropy source */ /* Locked by "lock". */ isc_mutex_t lock; @@ -94,8 +99,27 @@ struct dns_dispatchmgr { isc_mempool_t *rpool; /*%< memory pool for replies */ isc_mempool_t *dpool; /*%< dispatch allocations */ isc_mempool_t *bpool; /*%< memory pool for buffers */ - - isc_entropy_t *entropy; /*%< entropy source */ + isc_mempool_t *spool; /*%< memory pool for dispsocs */ + + /*% + * Locked by qid->lock if qid exists; otherwise, can be used without + * being locked. + * Memory footprint considerations: this is a simple implementation of + * available ports, i.e., an ordered array of the actual port numbers. + * This will require about 256KB of memory in the worst case (128KB for + * each of IPv4 and IPv6). We could reduce it by representing it as a + * more sophisticated way such as a list (or array) of ranges that are + * searched to identify a specific port. Our decision here is the saved + * memory isn't worth the implementation complexity, considering the + * fact that the whole BIND9 process (which is mainly named) already + * requires a pretty large memory footprint. We may, however, have to + * revisit the decision when we want to use it as a separate module for + * an environment where memory requirement is severer. + */ + in_port_t *v4ports; /*%< available ports for IPv4 */ + unsigned int nv4ports; /*%< # of available ports for IPv4 */ + in_port_t *v6ports; /*%< available ports for IPv4 */ + unsigned int nv6ports; /*%< # of available ports for IPv4 */ }; #define MGR_SHUTTINGDOWN 0x00000001U @@ -103,28 +127,76 @@ struct dns_dispatchmgr { #define IS_PRIVATE(d) (((d)->attributes & DNS_DISPATCHATTR_PRIVATE) != 0) +typedef struct dispsocket dispsocket_t; + struct dns_dispentry { unsigned int magic; dns_dispatch_t *disp; dns_messageid_t id; in_port_t port; unsigned int bucket; + unsigned int abucket; isc_sockaddr_t host; isc_task_t *task; isc_taskaction_t action; void *arg; isc_boolean_t item_out; + dispsocket_t *dispsocket; ISC_LIST(dns_dispatchevent_t) items; ISC_LINK(dns_dispentry_t) link; + ISC_LINK(dns_dispentry_t) alink; +}; + +/*% + * Maximum number of dispatch sockets that can be pooled for reuse. The + * appropriate value may vary, but experiments have shown a busy caching server + * may need more than 1000 sockets concurrently opened. The maximum allowable + * number of dispatch sockets (per manager) will be set to the double of this + * value. + */ +#ifndef DNS_DISPATCH_POOLSOCKS +#define DNS_DISPATCH_POOLSOCKS 2048 +#endif + +/*% + * Quota to control the number of dispatch sockets. If a dispatch has more + * than the quota of sockets, new queries will purge oldest ones, so that + * a massive number of outstanding queries won't prevent subsequent queries + * (especially if the older ones take longer time and result in timeout). + */ +#ifndef DNS_DISPATCH_SOCKSQUOTA +#define DNS_DISPATCH_SOCKSQUOTA 3072 +#endif + +struct dispsocket { + unsigned int magic; + isc_socket_t *socket; + dns_dispatch_t *disp; + dns_dispentry_t *resp; + isc_task_t *task; + ISC_LINK(dispsocket_t) link; }; #define INVALID_BUCKET (0xffffdead) +/*% + * Number of tasks for each dispatch that use separate sockets for different + * transactions. This must be a power of 2 as it will divide 32 bit numbers + * to get an uniformly random tasks selection. See get_dispsocket(). + */ +#define MAX_INTERNAL_TASKS 64 + struct dns_dispatch { /* Unlocked. */ unsigned int magic; /*%< magic */ dns_dispatchmgr_t *mgr; /*%< dispatch manager */ - isc_task_t *task; /*%< internal task */ + int ntasks; + /*% + * internal task buckets. We use multiple tasks to distribute various + * socket events well when using separate dispatch sockets. We use the + * 1st task (task[0]) for internal control events. + */ + isc_task_t *task[MAX_INTERNAL_TASKS]; isc_socket_t *socket; /*%< isc socket attached to */ isc_sockaddr_t local; /*%< local address */ in_port_t localport; /*%< local UDP port */ @@ -146,10 +218,14 @@ struct dns_dispatch { tcpmsg_valid : 1, recv_pending : 1; /*%< is a recv() pending? */ isc_result_t shutdown_why; + ISC_LIST(dispsocket_t) activesockets; + ISC_LIST(dispsocket_t) inactivesockets; + unsigned int nsockets; unsigned int requests; /*%< how many requests we have */ unsigned int tcpbuffers; /*%< allocated buffers */ dns_tcpmsg_t tcpmsg; /*%< for tcp streams */ dns_qid_t *qid; + arc4ctx_t arc4ctx; /*%< for QID/UDP port num */ }; #define QID_MAGIC ISC_MAGIC('Q', 'i', 'd', ' ') @@ -158,6 +234,9 @@ struct dns_dispatch { #define RESPONSE_MAGIC ISC_MAGIC('D', 'r', 's', 'p') #define VALID_RESPONSE(e) ISC_MAGIC_VALID((e), RESPONSE_MAGIC) +#define DISPSOCK_MAGIC ISC_MAGIC('D', 's', 'o', 'c') +#define VALID_DISPSOCK(e) ISC_MAGIC_VALID((e), DISPSOCK_MAGIC) + #define DISPATCH_MAGIC ISC_MAGIC('D', 'i', 's', 'p') #define VALID_DISPATCH(e) ISC_MAGIC_VALID((e), DISPATCH_MAGIC) @@ -166,16 +245,34 @@ struct dns_dispatch { #define DNS_QID(disp) ((disp)->socktype == isc_sockettype_tcp) ? \ (disp)->qid : (disp)->mgr->qid +#define DISP_ARC4CTX(disp) ((disp)->socktype == isc_sockettype_udp) ? \ + (&(disp)->arc4ctx) : (&(disp)->mgr->arc4ctx) + +/*% + * Locking a query port buffer is a bit tricky. We access the buffer without + * locking until qid is created. Technically, there is a possibility of race + * between the creation of qid and access to the port buffer; in practice, + * however, this should be safe because qid isn't created until the first + * dispatch is created and there should be no contending situation until then. + */ +#define PORTBUFLOCK(mgr) if ((mgr)->qid != NULL) LOCK(&((mgr)->qid->lock)) +#define PORTBUFUNLOCK(mgr) if ((mgr)->qid != NULL) UNLOCK((&(mgr)->qid->lock)) + /* * Statics. */ -static dns_dispentry_t *bucket_search(dns_qid_t *, isc_sockaddr_t *, - dns_messageid_t, in_port_t, unsigned int); +static dns_dispentry_t *bucket_search(dns_qid_t *, dns_displist_t *, + isc_sockaddr_t *, dns_messageid_t, + in_port_t, unsigned int, isc_boolean_t); static isc_boolean_t destroy_disp_ok(dns_dispatch_t *); static void destroy_disp(isc_task_t *task, isc_event_t *event); -static void udp_recv(isc_task_t *, isc_event_t *); +static void destroy_dispsocket(dns_dispatch_t *, dispsocket_t **); +static void deactivate_dispsocket(dns_dispatch_t *, dispsocket_t *); +static void udp_exrecv(isc_task_t *, isc_event_t *); +static void udp_shrecv(isc_task_t *, isc_event_t *); +static void udp_recv(isc_event_t *, dns_dispatch_t *, dispsocket_t *); static void tcp_recv(isc_task_t *, isc_event_t *); -static void startrecv(dns_dispatch_t *); +static isc_result_t startrecv(dns_dispatch_t *, dispsocket_t *); static isc_uint32_t dns_hash(dns_qid_t *, isc_sockaddr_t *, dns_messageid_t, in_port_t); static void free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len); @@ -187,6 +284,12 @@ static dns_dispentry_t *linear_first(dns_qid_t *disp); static dns_dispentry_t *linear_next(dns_qid_t *disp, dns_dispentry_t *resp); static void dispatch_free(dns_dispatch_t **dispp); +static isc_result_t get_udpsocket(dns_dispatchmgr_t *mgr, + dns_dispatch_t *disp, + isc_socketmgr_t *sockmgr, + isc_sockaddr_t *localaddr, + isc_socket_t **sockp, + unsigned int maxtry); static isc_result_t dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_taskmgr_t *taskmgr, @@ -197,8 +300,13 @@ static isc_result_t dispatch_createudp(dns_dispatchmgr_t *mgr, static isc_boolean_t destroy_mgr_ok(dns_dispatchmgr_t *mgr); static void destroy_mgr(dns_dispatchmgr_t **mgrp); static isc_result_t qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets, - unsigned int increment, dns_qid_t **qidp); + unsigned int increment, dns_qid_t **qidp, + isc_boolean_t needaddrtable); static void qid_destroy(isc_mem_t *mctx, dns_qid_t **qidp); +static isc_result_t open_socket(isc_socketmgr_t *mgr, isc_sockaddr_t *local, + isc_socket_t **sockp); +static isc_boolean_t portavailable(dns_dispatchmgr_t *mgr, isc_socket_t *sock, + isc_sockaddr_t *sockaddrp); #define LVL(x) ISC_LOG_DEBUG(x) @@ -278,17 +386,38 @@ request_log(dns_dispatch_t *disp, dns_dispentry_t *resp, } } -/* - * ARC4 random number generator obtained from OpenBSD +/*% + * ARC4 random number generator derived from OpenBSD. + * Only dispatch_arc4random() and dispatch_arc4uniformrandom() are expected + * to be called from general dispatch routines; the rest of them are subroutines + * for these two. + * + * The original copyright follows: + * Copyright (c) 1996, David Mazieres <dm@uun.org> + * Copyright (c) 2008, Damien Miller <djm@openbsd.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ static void -dispatch_arc4init(arc4ctx_t *actx) { +dispatch_arc4init(arc4ctx_t *actx, isc_entropy_t *entropy, isc_mutex_t *lock) { int n; for (n = 0; n < 256; n++) actx->s[n] = n; actx->i = 0; actx->j = 0; actx->count = 0; + actx->entropy = entropy; /* don't have to attach */ + actx->lock = lock; } static void @@ -332,7 +461,7 @@ dispatch_arc4get16(arc4ctx_t *actx) { } static void -dispatch_arc4stir(dns_dispatchmgr_t *mgr) { +dispatch_arc4stir(arc4ctx_t *actx) { int i; union { unsigned char rnd[128]; @@ -340,51 +469,55 @@ dispatch_arc4stir(dns_dispatchmgr_t *mgr) { } rnd; isc_result_t result; - if (mgr->entropy != NULL) { + if (actx->entropy != NULL) { /* * We accept any quality of random data to avoid blocking. */ - result = isc_entropy_getdata(mgr->entropy, rnd.rnd, + result = isc_entropy_getdata(actx->entropy, rnd.rnd, sizeof(rnd), NULL, 0); RUNTIME_CHECK(result == ISC_R_SUCCESS); } else { for (i = 0; i < 32; i++) isc_random_get(&rnd.rnd32[i]); } - dispatch_arc4addrandom(&mgr->arc4ctx, rnd.rnd, sizeof(rnd.rnd)); + dispatch_arc4addrandom(actx, rnd.rnd, sizeof(rnd.rnd)); /* * Discard early keystream, as per recommendations in: * http://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/Rc4_ksa.ps */ for (i = 0; i < 256; i++) - (void)dispatch_arc4get8(&mgr->arc4ctx); + (void)dispatch_arc4get8(actx); /* * Derived from OpenBSD's implementation. The rationale is not clear, * but should be conservative enough in safety, and reasonably large * for efficiency. */ - mgr->arc4ctx.count = 1600000; + actx->count = 1600000; } static isc_uint16_t -dispatch_arc4random(dns_dispatchmgr_t *mgr) { +dispatch_arc4random(arc4ctx_t *actx) { isc_uint16_t result; - LOCK(&mgr->arc4_lock); - mgr->arc4ctx.count -= sizeof(isc_uint16_t); - if (mgr->arc4ctx.count <= 0) - dispatch_arc4stir(mgr); - result = dispatch_arc4get16(&mgr->arc4ctx); - UNLOCK(&mgr->arc4_lock); + if (actx->lock != NULL) + LOCK(actx->lock); + + actx->count -= sizeof(isc_uint16_t); + if (actx->count <= 0) + dispatch_arc4stir(actx); + result = dispatch_arc4get16(actx); + + if (actx->lock != NULL) + UNLOCK(actx->lock); + return (result); } static isc_uint16_t -dispatch_arc4uniformrandom(dns_dispatchmgr_t *mgr, isc_uint16_t upper_bound) { +dispatch_arc4uniformrandom(arc4ctx_t *actx, isc_uint16_t upper_bound) { isc_uint16_t min, r; - /* The caller must hold the manager lock. */ if (upper_bound < 2) return (0); @@ -406,7 +539,7 @@ dispatch_arc4uniformrandom(dns_dispatchmgr_t *mgr, isc_uint16_t upper_bound) { * to re-roll. */ for (;;) { - r = dispatch_arc4random(mgr); + r = dispatch_arc4random(actx); if (r >= min) break; } @@ -489,13 +622,15 @@ destroy_disp_ok(dns_dispatch_t *disp) if (disp->recv_pending != 0) return (ISC_FALSE); + if (!ISC_LIST_EMPTY(disp->activesockets)) + return (ISC_FALSE); + if (disp->shutting_down == 0) return (ISC_FALSE); return (ISC_TRUE); } - /* * Called when refcount reaches 0 (and safe to destroy). * @@ -507,6 +642,8 @@ destroy_disp(isc_task_t *task, isc_event_t *event) { dns_dispatch_t *disp; dns_dispatchmgr_t *mgr; isc_boolean_t killmgr; + dispsocket_t *dispsocket; + int i; INSIST(event->ev_type == DNS_EVENT_DISPATCHCONTROL); @@ -520,10 +657,16 @@ destroy_disp(isc_task_t *task, isc_event_t *event) { dispatch_log(disp, LVL(90), "shutting down; detaching from sock %p, task %p", - disp->socket, disp->task); + disp->socket, disp->task[0]); /* XXXX */ - isc_socket_detach(&disp->socket); - isc_task_detach(&disp->task); + if (disp->socket != NULL) + isc_socket_detach(&disp->socket); + while ((dispsocket = ISC_LIST_HEAD(disp->inactivesockets)) != NULL) { + ISC_LIST_UNLINK(disp->inactivesockets, dispsocket, link); + destroy_dispsocket(disp, &dispsocket); + } + for (i = 0; i < disp->ntasks; i++) + isc_task_detach(&disp->task[i]); isc_event_free(&event); dispatch_free(&disp); @@ -534,23 +677,180 @@ destroy_disp(isc_task_t *task, isc_event_t *event) { destroy_mgr(&mgr); } +/*% + * Make a new socket for a single dispatch with a random port number. + * The caller must hold the disp->lock and qid->lock. + */ +static isc_result_t +get_dispsocket(dns_dispatch_t *disp, isc_sockaddr_t *dest, + isc_socketmgr_t *sockmgr, dns_qid_t *qid, + dispsocket_t **dispsockp, unsigned int *abucketp, + in_port_t *portp) +{ + int i; + isc_uint32_t r; + dns_dispatchmgr_t *mgr = disp->mgr; + isc_socket_t *sock = NULL; + isc_result_t result = ISC_R_FAILURE; + in_port_t port; + isc_sockaddr_t localaddr; + unsigned int abucket = 0; + dispsocket_t *dispsock; + unsigned int nports; + in_port_t *ports; + + if (isc_sockaddr_pf(&disp->local) == AF_INET) { + nports = disp->mgr->nv4ports; + ports = disp->mgr->v4ports; + } else { + nports = disp->mgr->nv6ports; + ports = disp->mgr->v6ports; + } + if (nports == 0) + return (ISC_R_ADDRNOTAVAIL); + + dispsock = ISC_LIST_HEAD(disp->inactivesockets); + if (dispsock != NULL) { + ISC_LIST_UNLINK(disp->inactivesockets, dispsock, link); + sock = dispsock->socket; + dispsock->socket = NULL; + } else { + dispsock = isc_mempool_get(mgr->spool); + if (dispsock == NULL) + return (ISC_R_NOMEMORY); + + disp->nsockets++; + dispsock->socket = NULL; + dispsock->disp = disp; + dispsock->resp = NULL; + isc_random_get(&r); + dispsock->task = NULL; + isc_task_attach(disp->task[r % disp->ntasks], &dispsock->task); + ISC_LINK_INIT(dispsock, link); + dispsock->magic = DISPSOCK_MAGIC; + } + + /* + * Pick up a random UDP port and open a new socket with it. Avoid + * choosing ports that share the same destination because it will be + * very likely to fail in bind(2) or connect(2). + */ + localaddr = disp->local; + for (i = 0; i < 64; i++) { + port = ports[dispatch_arc4uniformrandom(DISP_ARC4CTX(disp), + nports)]; + isc_sockaddr_setport(&localaddr, port); + + abucket = dns_hash(qid, dest, 0, port); + if (bucket_search(qid, qid->addr_table, dest, 0, port, abucket, + ISC_TRUE) != NULL) { + continue; + } + + result = open_socket(sockmgr, &localaddr, &sock); + if (result == ISC_R_SUCCESS || result != ISC_R_ADDRINUSE) + break; + } + + if (result == ISC_R_SUCCESS) { + dispsock->socket = sock; + *dispsockp = dispsock; + *abucketp = abucket; + *portp = port; + } else { + /* + * We could keep it in the inactive list, but since this should + * be an exceptional case and might be resource shortage, we'd + * rather destroy it. + */ + if (sock != NULL) + isc_socket_detach(&sock); + destroy_dispsocket(disp, &dispsock); + } + + return (result); +} + +/*% + * Destroy a dedicated dispatch socket. + */ +static void +destroy_dispsocket(dns_dispatch_t *disp, dispsocket_t **dispsockp) { + dispsocket_t *dispsock; + + /* + * The dispatch must be locked. + */ + + REQUIRE(dispsockp != NULL && *dispsockp != NULL); + dispsock = *dispsockp; + REQUIRE(!ISC_LINK_LINKED(dispsock, link)); + + disp->nsockets--; + dispsock->magic = 0; + if (dispsock->socket != NULL) + isc_socket_detach(&dispsock->socket); + if (dispsock->task != NULL) + isc_task_detach(&dispsock->task); + isc_mempool_put(disp->mgr->spool, dispsock); + + *dispsockp = NULL; +} + +/*% + * Deactivate a dedicated dispatch socket. Move it to the inactive list for + * future reuse unless the total number of sockets are exceeding the maximum. + */ +static void +deactivate_dispsocket(dns_dispatch_t *disp, dispsocket_t *dispsock) { + isc_result_t result; + + /* + * The dispatch must be locked. + */ + ISC_LIST_UNLINK(disp->activesockets, dispsock, link); + if (dispsock->resp != NULL) { + INSIST(dispsock->resp->dispsocket == dispsock); + dispsock->resp->dispsocket = NULL; + } + + if (disp->nsockets > DNS_DISPATCH_POOLSOCKS) + destroy_dispsocket(disp, &dispsock); + else { + result = isc_socket_close(dispsock->socket); + if (result == ISC_R_SUCCESS) + ISC_LIST_APPEND(disp->inactivesockets, dispsock, link); + else { + /* + * If the underlying system does not allow this + * optimization, destroy this temporary structure (and + * create a new one for a new transaction). + */ + INSIST(result == ISC_R_NOTIMPLEMENTED); + destroy_dispsocket(disp, &dispsock); + } + } +} /* - * Find an entry for query ID 'id' and socket address 'dest' in 'qid'. + * Find an entry for query ID 'id', socket address 'dest', and port number + * 'port' in 'table'. * Return NULL if no such entry exists. */ static dns_dispentry_t * -bucket_search(dns_qid_t *qid, isc_sockaddr_t *dest, dns_messageid_t id, - in_port_t port, unsigned int bucket) +bucket_search(dns_qid_t *qid, dns_displist_t *table, isc_sockaddr_t *dest, + dns_messageid_t id, in_port_t port, unsigned int bucket, + isc_boolean_t ignoreid) { dns_dispentry_t *res; REQUIRE(bucket < qid->qid_nbuckets); - res = ISC_LIST_HEAD(qid->qid_table[bucket]); + res = ISC_LIST_HEAD(table[bucket]); while (res != NULL) { - if ((res->id == id) && isc_sockaddr_equal(dest, &res->host) && + if ((ignoreid || res->id == id) && + isc_sockaddr_equal(dest, &res->host) && res->port == port) { return (res); } @@ -624,6 +924,26 @@ allocate_event(dns_dispatch_t *disp) { return (ev); } +static void +udp_exrecv(isc_task_t *task, isc_event_t *ev) { + dispsocket_t *dispsock = ev->ev_arg; + + UNUSED(task); + + REQUIRE(VALID_DISPSOCK(dispsock)); + udp_recv(ev, dispsock->disp, dispsock); +} + +static void +udp_shrecv(isc_task_t *task, isc_event_t *ev) { + dns_dispatch_t *disp = ev->ev_arg; + + UNUSED(task); + + REQUIRE(VALID_DISPATCH(disp)); + udp_recv(ev, disp, NULL); +} + /* * General flow: * @@ -639,14 +959,13 @@ allocate_event(dns_dispatch_t *disp) { * restart. */ static void -udp_recv(isc_task_t *task, isc_event_t *ev_in) { +udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { isc_socketevent_t *ev = (isc_socketevent_t *)ev_in; - dns_dispatch_t *disp = ev_in->ev_arg; dns_messageid_t id; isc_result_t dres; isc_buffer_t source; unsigned int flags; - dns_dispentry_t *resp; + dns_dispentry_t *resp = NULL; dns_dispatchevent_t *rev; unsigned int bucket; isc_boolean_t killit; @@ -655,8 +974,8 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { dns_qid_t *qid; isc_netaddr_t netaddr; int match; - - UNUSED(task); + int result; + isc_boolean_t qidlocked = ISC_FALSE; LOCK(&disp->lock); @@ -667,7 +986,7 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { "got packet: requests %d, buffers %d, recvs %d", disp->requests, disp->mgr->buffers, disp->recv_pending); - if (ev->ev_type == ISC_SOCKEVENT_RECVDONE) { + if (dispsock == NULL && ev->ev_type == ISC_SOCKEVENT_RECVDONE) { /* * Unless the receive event was imported from a listening * interface, in which case the event type is @@ -677,6 +996,19 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { disp->recv_pending = 0; } + if (dispsock != NULL && + (ev->result == ISC_R_CANCELED || dispsock->resp == NULL)) { + /* + * dispsock->resp can be NULL if this transaction was canceled + * just after receiving a response. Since this socket is + * exclusively used and there should be at most one receive + * event the canceled event should have been no effect. So + * we can (and should) deactivate the socket right now. + */ + deactivate_dispsocket(disp, dispsock); + dispsock = NULL; + } + if (disp->shutting_down) { /* * This dispatcher is shutting down. @@ -689,12 +1021,25 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { killit = destroy_disp_ok(disp); UNLOCK(&disp->lock); if (killit) - isc_task_send(disp->task, &disp->ctlevent); + isc_task_send(disp->task[0], &disp->ctlevent); return; } - if (ev->result != ISC_R_SUCCESS) { + if (dispsock != NULL && + (disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0) { + resp = dispsock->resp; + id = resp->id; + if (ev->result != ISC_R_SUCCESS) { + /* + * This is most likely a network error on a connected + * socket. It makes no sense to check the address or + * parse the packet, but it will help to return the + * error to the caller. + */ + goto sendresponse; + } + } else if (ev->result != ISC_R_SUCCESS) { free_buffer(disp, ev->region.base, ev->region.length); if (ev->result != ISC_R_CANCELED) @@ -755,15 +1100,31 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { goto restart; } - /* response */ - bucket = dns_hash(qid, &ev->address, id, disp->localport); - LOCK(&qid->lock); - resp = bucket_search(qid, &ev->address, id, disp->localport, bucket); - dispatch_log(disp, LVL(90), - "search for response in bucket %d: %s", - bucket, (resp == NULL ? "not found" : "found")); - + /* + * Search for the corresponding response. If we are using an exclusive + * socket, we've already identified it and we can skip the search; but + * the ID and the address must match the expected ones. + */ if (resp == NULL) { + bucket = dns_hash(qid, &ev->address, id, disp->localport); + LOCK(&qid->lock); + qidlocked = ISC_TRUE; + resp = bucket_search(qid, qid->qid_table, &ev->address, id, + disp->localport, bucket, ISC_FALSE); + dispatch_log(disp, LVL(90), + "search for response in bucket %d: %s", + bucket, (resp == NULL ? "not found" : "found")); + + if (resp == NULL) { + dns_generalstats_increment(mgr->stats, + dns_resstatscounter_mismatch); + free_buffer(disp, ev->region.base, ev->region.length); + goto unlock; + } + } else if (resp->id != id || !isc_sockaddr_equal(&ev->address, + &resp->host)) { + dispatch_log(disp, LVL(90), + "response to an exclusive socket doesn't match"); dns_generalstats_increment(mgr->stats, dns_resstatscounter_mismatch); free_buffer(disp, ev->region.base, ev->region.length); @@ -813,6 +1174,7 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { } } + sendresponse: queue_response = resp->item_out; rev = allocate_event(resp->disp); if (rev == NULL) { @@ -827,7 +1189,7 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { */ isc_buffer_init(&rev->buffer, ev->region.base, ev->region.length); isc_buffer_add(&rev->buffer, ev->n); - rev->result = ISC_R_SUCCESS; + rev->result = ev->result; rev->id = id; rev->addr = ev->address; rev->pktinfo = ev->pktinfo; @@ -846,14 +1208,23 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in) { isc_task_send(resp->task, ISC_EVENT_PTR(&rev)); } unlock: - UNLOCK(&qid->lock); + if (qidlocked) + UNLOCK(&qid->lock); /* * Restart recv() to get the next packet. */ restart: - startrecv(disp); - + result = startrecv(disp, dispsock); + if (result != ISC_R_SUCCESS && dispsock != NULL) { + /* + * XXX: wired. There seems to be no recovery process other than + * deactivate this socket anyway (since we cannot start + * receiving, we won't be able to receive a cancel event + * from the user). + */ + deactivate_dispsocket(disp, dispsock); + } UNLOCK(&disp->lock); isc_event_free(&ev_in); @@ -953,7 +1324,7 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { killit = destroy_disp_ok(disp); UNLOCK(&disp->lock); if (killit) - isc_task_send(disp->task, &disp->ctlevent); + isc_task_send(disp->task[0], &disp->ctlevent); return; } @@ -996,8 +1367,8 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { */ bucket = dns_hash(qid, &tcpmsg->address, id, disp->localport); LOCK(&qid->lock); - resp = bucket_search(qid, &tcpmsg->address, id, disp->localport, - bucket); + resp = bucket_search(qid, qid->qid_table, &tcpmsg->address, id, + disp->localport, bucket, ISC_FALSE); dispatch_log(disp, LVL(90), "search for response in bucket %d: %s", bucket, (resp == NULL ? "not found" : "found")); @@ -1038,7 +1409,7 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { * Restart recv() to get the next packet. */ restart: - startrecv(disp); + (void)startrecv(disp, NULL); UNLOCK(&disp->lock); @@ -1048,22 +1419,33 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { /* * disp must be locked. */ -static void -startrecv(dns_dispatch_t *disp) { +static isc_result_t +startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) { isc_result_t res; isc_region_t region; + isc_socket_t *socket; if (disp->shutting_down == 1) - return; + return (ISC_R_SUCCESS); if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) != 0) - return; + return (ISC_R_SUCCESS); - if (disp->recv_pending != 0) - return; + if (disp->recv_pending != 0 && dispsock == NULL) + return (ISC_R_SUCCESS); if (disp->mgr->buffers >= disp->mgr->maxbuffers) - return; + return (ISC_R_NOMEMORY); + + if ((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0 && + dispsock == NULL) + return (ISC_R_SUCCESS); + + if (dispsock != NULL) + socket = dispsock->socket; + else + socket = disp->socket; + INSIST(socket != NULL); switch (disp->socktype) { /* @@ -1073,28 +1455,38 @@ startrecv(dns_dispatch_t *disp) { region.length = disp->mgr->buffersize; region.base = allocate_udp_buffer(disp); if (region.base == NULL) - return; - res = isc_socket_recv(disp->socket, ®ion, 1, - disp->task, udp_recv, disp); - if (res != ISC_R_SUCCESS) { - free_buffer(disp, region.base, region.length); - disp->shutdown_why = res; - disp->shutting_down = 1; - do_cancel(disp); - return; + return (ISC_R_NOMEMORY); + if (dispsock != NULL) { + res = isc_socket_recv(socket, ®ion, 1, + dispsock->task, udp_exrecv, + dispsock); + if (res != ISC_R_SUCCESS) { + free_buffer(disp, region.base, region.length); + return (res); + } + } else { + res = isc_socket_recv(socket, ®ion, 1, + disp->task[0], udp_shrecv, disp); + if (res != ISC_R_SUCCESS) { + free_buffer(disp, region.base, region.length); + disp->shutdown_why = res; + disp->shutting_down = 1; + do_cancel(disp); + return (ISC_R_SUCCESS); /* recover by cancel */ + } + INSIST(disp->recv_pending == 0); + disp->recv_pending = 1; } - INSIST(disp->recv_pending == 0); - disp->recv_pending = 1; break; case isc_sockettype_tcp: - res = dns_tcpmsg_readmessage(&disp->tcpmsg, disp->task, + res = dns_tcpmsg_readmessage(&disp->tcpmsg, disp->task[0], tcp_recv, disp); if (res != ISC_R_SUCCESS) { disp->shutdown_why = res; disp->shutting_down = 1; do_cancel(disp); - return; + return (ISC_R_SUCCESS); /* recover by cancel */ } INSIST(disp->recv_pending == 0); disp->recv_pending = 1; @@ -1103,6 +1495,8 @@ startrecv(dns_dispatch_t *disp) { INSIST(0); break; } + + return (ISC_R_SUCCESS); } /* @@ -1155,6 +1549,7 @@ destroy_mgr(dns_dispatchmgr_t **mgrp) { isc_mempool_destroy(&mgr->rpool); isc_mempool_destroy(&mgr->dpool); isc_mempool_destroy(&mgr->bpool); + isc_mempool_destroy(&mgr->spool); DESTROYLOCK(&mgr->pool_lock); @@ -1168,36 +1563,50 @@ destroy_mgr(dns_dispatchmgr_t **mgrp) { if (mgr->blackhole != NULL) dns_acl_detach(&mgr->blackhole); - if (mgr->portlist != NULL) - dns_portlist_detach(&mgr->portlist); - if (mgr->stats != NULL) dns_stats_detach(&mgr->stats); + if (mgr->v4ports != NULL) { + isc_mem_put(mctx, mgr->v4ports, + mgr->nv4ports * sizeof(in_port_t)); + } + if (mgr->v6ports != NULL) { + isc_mem_put(mctx, mgr->v6ports, + mgr->nv6ports * sizeof(in_port_t)); + } isc_mem_put(mctx, mgr, sizeof(dns_dispatchmgr_t)); isc_mem_detach(&mctx); } static isc_result_t -create_socket(isc_socketmgr_t *mgr, isc_sockaddr_t *local, - isc_socket_t **sockp) +open_socket(isc_socketmgr_t *mgr, isc_sockaddr_t *local, + isc_socket_t **sockp) { isc_socket_t *sock; isc_result_t result; - sock = NULL; - result = isc_socket_create(mgr, isc_sockaddr_pf(local), - isc_sockettype_udp, &sock); - if (result != ISC_R_SUCCESS) - return (result); - isc_socket_setname(sock, "dispatcher", NULL); + sock = *sockp; + if (sock == NULL) { + result = isc_socket_create(mgr, isc_sockaddr_pf(local), + isc_sockettype_udp, &sock); + if (result != ISC_R_SUCCESS) + return (result); + isc_socket_setname(sock, "dispatcher", NULL); + } else { + result = isc_socket_open(sock); + if (result != ISC_R_SUCCESS) + return (result); + } #ifndef ISC_ALLOW_MAPPED isc_socket_ipv6only(sock, ISC_TRUE); #endif result = isc_socket_bind(sock, local); if (result != ISC_R_SUCCESS) { - isc_socket_detach(&sock); + if (*sockp == NULL) + isc_socket_detach(&sock); + else + isc_socket_close(sock); return (result); } @@ -1205,6 +1614,24 @@ create_socket(isc_socketmgr_t *mgr, isc_sockaddr_t *local, return (ISC_R_SUCCESS); } +/*% + * Create a temporary port list to set the initial default set of dispatch + * ports: [1024, 65535]. This is almost meaningless as the application will + * normally set the ports explicitly, but is provided to fill some minor corner + * cases. + */ +static isc_result_t +create_default_portset(isc_mem_t *mctx, isc_portset_t **portsetp) { + isc_result_t result; + + result = isc_portset_create(mctx, portsetp); + if (result != ISC_R_SUCCESS) + return (result); + isc_portset_addrange(*portsetp, 1024, 65535); + + return (ISC_R_SUCCESS); +} + /* * Publics. */ @@ -1215,6 +1642,8 @@ dns_dispatchmgr_create(isc_mem_t *mctx, isc_entropy_t *entropy, { dns_dispatchmgr_t *mgr; isc_result_t result; + isc_portset_t *v4portset = NULL; + isc_portset_t *v6portset = NULL; REQUIRE(mctx != NULL); REQUIRE(mgrp != NULL && *mgrp == NULL); @@ -1227,7 +1656,6 @@ dns_dispatchmgr_create(isc_mem_t *mctx, isc_entropy_t *entropy, isc_mem_attach(mctx, &mgr->mctx); mgr->blackhole = NULL; - mgr->portlist = NULL; mgr->stats = NULL; result = isc_mutex_init(&mgr->lock); @@ -1283,20 +1711,43 @@ dns_dispatchmgr_create(isc_mem_t *mctx, isc_entropy_t *entropy, mgr->buffersize = 0; mgr->maxbuffers = 0; mgr->bpool = NULL; + mgr->spool = NULL; mgr->entropy = NULL; mgr->qid = NULL; mgr->state = 0; ISC_LIST_INIT(mgr->list); + mgr->v4ports = NULL; + mgr->v6ports = NULL; + mgr->nv4ports = 0; + mgr->nv6ports = 0; mgr->magic = DNS_DISPATCHMGR_MAGIC; + result = create_default_portset(mctx, &v4portset); + if (result == ISC_R_SUCCESS) { + result = create_default_portset(mctx, &v6portset); + if (result == ISC_R_SUCCESS) { + result = dns_dispatchmgr_setavailports(mgr, + v4portset, + v6portset); + } + } + if (v4portset != NULL) + isc_portset_destroy(mctx, &v4portset); + if (v6portset != NULL) + isc_portset_destroy(mctx, &v6portset); + if (result != ISC_R_SUCCESS) + goto kill_dpool; + if (entropy != NULL) isc_entropy_attach(entropy, &mgr->entropy); - dispatch_arc4init(&mgr->arc4ctx); + dispatch_arc4init(&mgr->arc4ctx, mgr->entropy, &mgr->arc4_lock); *mgrp = mgr; return (ISC_R_SUCCESS); + kill_dpool: + isc_mempool_destroy(&mgr->dpool); kill_rpool: isc_mempool_destroy(&mgr->rpool); kill_epool: @@ -1335,22 +1786,88 @@ dns_dispatchmgr_setblackportlist(dns_dispatchmgr_t *mgr, dns_portlist_t *portlist) { REQUIRE(VALID_DISPATCHMGR(mgr)); - if (mgr->portlist != NULL) - dns_portlist_detach(&mgr->portlist); - if (portlist != NULL) - dns_portlist_attach(portlist, &mgr->portlist); + UNUSED(portlist); + + /* This function is deprecated: use dns_dispatchmgr_setavailports(). */ + return; } dns_portlist_t * dns_dispatchmgr_getblackportlist(dns_dispatchmgr_t *mgr) { REQUIRE(VALID_DISPATCHMGR(mgr)); - return (mgr->portlist); + return (NULL); /* this function is deprecated */ +} + +isc_result_t +dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, + isc_portset_t *v6portset) +{ + in_port_t *v4ports, *v6ports, p; + unsigned int nv4ports, nv6ports, i4, i6; + + REQUIRE(VALID_DISPATCHMGR(mgr)); + + nv4ports = isc_portset_nports(v4portset); + nv6ports = isc_portset_nports(v6portset); + + v4ports = NULL; + if (nv4ports != 0) { + v4ports = isc_mem_get(mgr->mctx, sizeof(in_port_t) * nv4ports); + if (v4ports == NULL) + return (ISC_R_NOMEMORY); + } + v6ports = NULL; + if (nv6ports != 0) { + v6ports = isc_mem_get(mgr->mctx, sizeof(in_port_t) * nv6ports); + if (v6ports == NULL) { + if (v4ports != NULL) { + isc_mem_put(mgr->mctx, v4ports, + sizeof(in_port_t) * + isc_portset_nports(v4portset)); + } + return (ISC_R_NOMEMORY); + } + } + + p = 0; + i4 = 0; + i6 = 0; + do { + if (isc_portset_isset(v4portset, p)) { + INSIST(i4 < nv4ports); + v4ports[i4++] = p; + } + if (isc_portset_isset(v6portset, p)) { + INSIST(i6 < nv6ports); + v6ports[i6++] = p; + } + } while (p++ < 65535); + INSIST(i4 == nv4ports && i6 == nv6ports); + + PORTBUFLOCK(mgr); + if (mgr->v4ports != NULL) { + isc_mem_put(mgr->mctx, mgr->v4ports, + mgr->nv4ports * sizeof(in_port_t)); + } + mgr->v4ports = v4ports; + mgr->nv4ports = nv4ports; + + if (mgr->v6ports != NULL) { + isc_mem_put(mgr->mctx, mgr->v6ports, + mgr->nv6ports * sizeof(in_port_t)); + } + mgr->v6ports = v6ports; + mgr->nv6ports = nv6ports; + PORTBUFUNLOCK(mgr); + + return (ISC_R_SUCCESS); } static isc_result_t dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, - unsigned int buffersize, unsigned int maxbuffers, - unsigned int buckets, unsigned int increment) + unsigned int buffersize, unsigned int maxbuffers, + unsigned int maxrequests, unsigned int buckets, + unsigned int increment) { isc_result_t result; @@ -1377,24 +1894,39 @@ dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, maxbuffers = 8; LOCK(&mgr->buffer_lock); + + /* Create or adjust buffer pool */ if (mgr->bpool != NULL) { isc_mempool_setmaxalloc(mgr->bpool, maxbuffers); mgr->maxbuffers = maxbuffers; + } else { + result = isc_mempool_create(mgr->mctx, buffersize, &mgr->bpool); + if (result != ISC_R_SUCCESS) { + UNLOCK(&mgr->buffer_lock); + return (result); + } + isc_mempool_setname(mgr->bpool, "dispmgr_bpool"); + isc_mempool_setmaxalloc(mgr->bpool, maxbuffers); + isc_mempool_associatelock(mgr->bpool, &mgr->pool_lock); + } + + /* Create or adjust socket pool */ + if (mgr->spool != NULL) { + isc_mempool_setmaxalloc(mgr->spool, DNS_DISPATCH_POOLSOCKS * 2); UNLOCK(&mgr->buffer_lock); return (ISC_R_SUCCESS); } - - if (isc_mempool_create(mgr->mctx, buffersize, - &mgr->bpool) != ISC_R_SUCCESS) { + result = isc_mempool_create(mgr->mctx, sizeof(dispsocket_t), + &mgr->spool); + if (result != ISC_R_SUCCESS) { UNLOCK(&mgr->buffer_lock); - return (ISC_R_NOMEMORY); + goto cleanup; } + isc_mempool_setname(mgr->spool, "dispmgr_spool"); + isc_mempool_setmaxalloc(mgr->spool, maxrequests); + isc_mempool_associatelock(mgr->spool, &mgr->pool_lock); - isc_mempool_setname(mgr->bpool, "dispmgr_bpool"); - isc_mempool_setmaxalloc(mgr->bpool, maxbuffers); - isc_mempool_associatelock(mgr->bpool, &mgr->pool_lock); - - result = qid_allocate(mgr, buckets, increment, &mgr->qid); + result = qid_allocate(mgr, buckets, increment, &mgr->qid, ISC_TRUE); if (result != ISC_R_SUCCESS) goto cleanup; @@ -1405,8 +1937,10 @@ dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, cleanup: isc_mempool_destroy(&mgr->bpool); + if (mgr->spool != NULL) + isc_mempool_destroy(&mgr->spool); UNLOCK(&mgr->buffer_lock); - return (ISC_R_NOMEMORY); + return (result); } void @@ -1441,29 +1975,56 @@ dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, dns_stats_t *stats) { dns_stats_attach(stats, &mgr->stats); } +static int +port_cmp(const void *key, const void *ent) { + in_port_t p1 = *(const in_port_t *)key; + in_port_t p2 = *(const in_port_t *)ent; + + if (p1 < p2) + return (-1); + else if (p1 == p2) + return (0); + else + return (1); +} + static isc_boolean_t -blacklisted(dns_dispatchmgr_t *mgr, isc_socket_t *sock, - isc_sockaddr_t *sockaddrp) +portavailable(dns_dispatchmgr_t *mgr, isc_socket_t *sock, + isc_sockaddr_t *sockaddrp) { isc_sockaddr_t sockaddr; isc_result_t result; + in_port_t *ports, port; + unsigned int nports; + isc_boolean_t available = ISC_FALSE; REQUIRE(sock != NULL || sockaddrp != NULL); - if (mgr->portlist == NULL) - return (ISC_FALSE); - + PORTBUFLOCK(mgr); if (sock != NULL) { sockaddrp = &sockaddr; result = isc_socket_getsockname(sock, sockaddrp); if (result != ISC_R_SUCCESS) - return (ISC_FALSE); + goto unlock; } - if (dns_portlist_match(mgr->portlist, isc_sockaddr_pf(sockaddrp), - isc_sockaddr_getport(sockaddrp))) - return (ISC_TRUE); - return (ISC_FALSE); + if (isc_sockaddr_pf(sockaddrp) == AF_INET) { + ports = mgr->v4ports; + nports = mgr->nv4ports; + } else { + ports = mgr->v6ports; + nports = mgr->nv6ports; + } + if (ports == NULL) + goto unlock; + + port = isc_sockaddr_getport(sockaddrp); + if (bsearch(&port, ports, nports, sizeof(in_port_t), port_cmp) != NULL) + available = ISC_TRUE; + +unlock: + PORTBUFUNLOCK(mgr); + return (available); } #define ATTRMATCH(_a1, _a2, _mask) (((_a1) & (_mask)) == ((_a2) & (_mask))) @@ -1473,17 +2034,20 @@ local_addr_match(dns_dispatch_t *disp, isc_sockaddr_t *addr) { isc_sockaddr_t sockaddr; isc_result_t result; + REQUIRE(disp->socket != NULL); + if (addr == NULL) return (ISC_TRUE); /* - * Don't match wildcard ports against newly blacklisted ports. + * Don't match wildcard ports unless the port is available in the + * current configuration. */ - if (disp->mgr->portlist != NULL && - isc_sockaddr_getport(addr) == 0 && + if (isc_sockaddr_getport(addr) == 0 && isc_sockaddr_getport(&disp->local) == 0 && - blacklisted(disp->mgr, disp->socket, NULL)) + !portavailable(disp->mgr, disp->socket, NULL)) { return (ISC_FALSE); + } /* * Check if we match the binding <address,port>. @@ -1525,10 +2089,10 @@ dispatch_find(dns_dispatchmgr_t *mgr, isc_sockaddr_t *local, isc_result_t result; /* - * Make certain that we will not match a private dispatch. + * Make certain that we will not match a private or exclusive dispatch. */ - attributes &= ~DNS_DISPATCHATTR_PRIVATE; - mask |= DNS_DISPATCHATTR_PRIVATE; + attributes &= ~(DNS_DISPATCHATTR_PRIVATE|DNS_DISPATCHATTR_EXCLUSIVE); + mask |= (DNS_DISPATCHATTR_PRIVATE|DNS_DISPATCHATTR_EXCLUSIVE); disp = ISC_LIST_HEAD(mgr->list); while (disp != NULL) { @@ -1555,7 +2119,8 @@ dispatch_find(dns_dispatchmgr_t *mgr, isc_sockaddr_t *local, static isc_result_t qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets, - unsigned int increment, dns_qid_t **qidp) + unsigned int increment, dns_qid_t **qidp, + isc_boolean_t needaddrtable) { dns_qid_t *qid; unsigned int i; @@ -1577,16 +2142,35 @@ qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets, return (ISC_R_NOMEMORY); } + qid->addr_table = NULL; + if (needaddrtable) { + qid->addr_table = isc_mem_get(mgr->mctx, + buckets * sizeof(dns_displist_t)); + if (qid->addr_table == NULL) { + isc_mem_put(mgr->mctx, qid, sizeof(*qid)); + isc_mem_put(mgr->mctx, qid->qid_table, + buckets * sizeof(dns_displist_t)); + return (ISC_R_NOMEMORY); + } + } + result = isc_mutex_init(&qid->lock); if (result != ISC_R_SUCCESS) { + if (qid->addr_table != NULL) { + isc_mem_put(mgr->mctx, qid->addr_table, + buckets * sizeof(dns_displist_t)); + } isc_mem_put(mgr->mctx, qid->qid_table, buckets * sizeof(dns_displist_t)); isc_mem_put(mgr->mctx, qid, sizeof(*qid)); return (result); } - for (i = 0; i < buckets; i++) + for (i = 0; i < buckets; i++) { ISC_LIST_INIT(qid->qid_table[i]); + if (qid->addr_table != NULL) + ISC_LIST_INIT(qid->addr_table[i]); + } qid->qid_nbuckets = buckets; qid->qid_increment = increment; @@ -1608,6 +2192,10 @@ qid_destroy(isc_mem_t *mctx, dns_qid_t **qidp) { qid->magic = 0; isc_mem_put(mctx, qid->qid_table, qid->qid_nbuckets * sizeof(dns_displist_t)); + if (qid->addr_table != NULL) { + isc_mem_put(mctx, qid->addr_table, + qid->qid_nbuckets * sizeof(dns_displist_t)); + } DESTROYLOCK(&qid->lock); isc_mem_put(mctx, qid, sizeof(*qid)); } @@ -1651,6 +2239,10 @@ dispatch_allocate(dns_dispatchmgr_t *mgr, unsigned int maxrequests, disp->requests = 0; disp->tcpbuffers = 0; disp->qid = NULL; + ISC_LIST_INIT(disp->activesockets); + ISC_LIST_INIT(disp->inactivesockets); + disp->nsockets = 0; + dispatch_arc4init(&disp->arc4ctx, mgr->entropy, NULL); result = isc_mutex_init(&disp->lock); if (result != ISC_R_SUCCESS) @@ -1703,6 +2295,8 @@ dispatch_free(dns_dispatch_t **dispp) INSIST(disp->tcpbuffers == 0); INSIST(disp->requests == 0); INSIST(disp->recv_pending == 0); + INSIST(ISC_LIST_EMPTY(disp->activesockets)); + INSIST(ISC_LIST_EMPTY(disp->inactivesockets)); isc_mempool_put(mgr->epool, disp->failsafe_ev); disp->failsafe_ev = NULL; @@ -1748,7 +2342,7 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, return (result); } - result = qid_allocate(mgr, buckets, increment, &disp->qid); + result = qid_allocate(mgr, buckets, increment, &disp->qid, ISC_FALSE); if (result != ISC_R_SUCCESS) goto deallocate_dispatch; @@ -1756,8 +2350,9 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, disp->socket = NULL; isc_socket_attach(sock, &disp->socket); - disp->task = NULL; - result = isc_task_create(taskmgr, 0, &disp->task); + disp->ntasks = 1; + disp->task[0] = NULL; + result = isc_task_create(taskmgr, 0, &disp->task[0]); if (result != ISC_R_SUCCESS) goto kill_socket; @@ -1770,7 +2365,7 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, goto kill_task; } - isc_task_setname(disp->task, "tcpdispatch", disp); + isc_task_setname(disp->task[0], "tcpdispatch", disp); dns_tcpmsg_init(mgr->mctx, disp->socket, &disp->tcpmsg); disp->tcpmsg_valid = 1; @@ -1784,7 +2379,7 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, UNLOCK(&mgr->lock); mgr_log(mgr, LVL(90), "created TCP dispatcher %p", disp); - dispatch_log(disp, LVL(90), "created task %p", disp->task); + dispatch_log(disp, LVL(90), "created task %p", disp->task[0]); *dispp = disp; @@ -1794,7 +2389,7 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, * Error returns. */ kill_task: - isc_task_detach(&disp->task); + isc_task_detach(&disp->task[0]); kill_socket: isc_socket_detach(&disp->socket); deallocate_dispatch: @@ -1829,13 +2424,13 @@ dns_dispatch_getudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, REQUIRE((attributes & DNS_DISPATCHATTR_TCP) == 0); result = dns_dispatchmgr_setudp(mgr, buffersize, maxbuffers, - buckets, increment); + maxrequests, buckets, increment); if (result != ISC_R_SUCCESS) return (result); LOCK(&mgr->lock); - if ((attributes & DNS_DISPATCHATTR_RANDOMPORT) != 0) { + if ((attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0) { REQUIRE(isc_sockaddr_getport(localaddr) == 0); goto createudp; } @@ -1855,7 +2450,7 @@ dns_dispatch_getudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, { disp->attributes |= DNS_DISPATCHATTR_NOLISTEN; if (disp->recv_pending != 0) - isc_socket_cancel(disp->socket, disp->task, + isc_socket_cancel(disp->socket, disp->task[0], ISC_SOCKCANCEL_RECV); } @@ -1892,6 +2487,100 @@ dns_dispatch_getudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, #endif static isc_result_t +get_udpsocket(dns_dispatchmgr_t *mgr, dns_dispatch_t *disp, + isc_socketmgr_t *sockmgr, isc_sockaddr_t *localaddr, + isc_socket_t **sockp, unsigned int maxtry) +{ + unsigned int i, j; + isc_socket_t *held[DNS_DISPATCH_HELD]; + isc_sockaddr_t localaddr_bound; + isc_socket_t *sock = NULL; + isc_result_t result = ISC_R_SUCCESS; + isc_boolean_t anyport; + + INSIST(sockp != NULL && *sockp == NULL); + + localaddr_bound = *localaddr; + anyport = ISC_TF(isc_sockaddr_getport(localaddr) == 0); + + if (anyport) { + unsigned int nports; + in_port_t *ports; + + /* + * If no port is specified, we first try to pick up a random + * port by ourselves. + */ + if (isc_sockaddr_pf(&disp->local) == AF_INET) { + nports = disp->mgr->nv4ports; + ports = disp->mgr->v4ports; + } else { + nports = disp->mgr->nv6ports; + ports = disp->mgr->v6ports; + } + if (nports == 0) + return (ISC_R_ADDRNOTAVAIL); + + for (i = 0; i < 1024; i++) { + in_port_t prt; + + prt = ports[dispatch_arc4uniformrandom( + DISP_ARC4CTX(disp), + nports)]; + isc_sockaddr_setport(&localaddr_bound, prt); + result = open_socket(sockmgr, &localaddr_bound, &sock); + if (result == ISC_R_SUCCESS || + result != ISC_R_ADDRINUSE) { + disp->localport = prt; + *sockp = sock; + return (result); + } + } + + /* + * If this fails 1024 times, we then ask the kernel for + * choosing one. + */ + } + + memset(held, 0, sizeof(held)); + i = 0; + + for (j = 0; j < maxtry; j++) { + result = open_socket(sockmgr, localaddr, &sock); + if (result != ISC_R_SUCCESS) + goto end; + else if (!anyport) + break; + else if (portavailable(mgr, sock, NULL)) + break; + if (held[i] != NULL) + isc_socket_detach(&held[i]); + held[i++] = sock; + sock = NULL; + if (i == DNS_DISPATCH_HELD) + i = 0; + } + if (j == maxtry) { + mgr_log(mgr, ISC_LOG_ERROR, + "avoid-v%s-udp-ports: unable to allocate " + "an available port", + isc_sockaddr_pf(localaddr) == AF_INET ? "4" : "6"); + result = ISC_R_FAILURE; + goto end; + } + *sockp = sock; + +end: + for (i = 0; i < DNS_DISPATCH_HELD; i++) { + if (held[i] != NULL) + isc_socket_detach(&held[i]); + } + + return (result); +} + +static isc_result_t dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_taskmgr_t *taskmgr, isc_sockaddr_t *localaddr, @@ -1902,10 +2591,7 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_result_t result; dns_dispatch_t *disp; isc_socket_t *sock = NULL; - isc_socket_t *held[DNS_DISPATCH_HELD]; - unsigned int i = 0, j = 0, k = 0; - isc_sockaddr_t localaddr_bound; - in_port_t localport = 0; + int i = 0; /* * dispatch_allocate() checks mgr for us. @@ -1915,66 +2601,30 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, if (result != ISC_R_SUCCESS) return (result); - /* - * Try to allocate a socket that is not on the blacklist. - * Hold up to DNS_DISPATCH_HELD sockets to prevent the OS - * from returning the same port to us too quickly. - */ - memset(held, 0, sizeof(held)); - localaddr_bound = *localaddr; - getsocket: - if ((attributes & DNS_DISPATCHATTR_RANDOMPORT) != 0) { - in_port_t prt; - - /* XXX: should the range be configurable? */ - prt = 1024 + dispatch_arc4uniformrandom(mgr, 65535 - 1023); - isc_sockaddr_setport(&localaddr_bound, prt); - if (blacklisted(mgr, NULL, &localaddr_bound)) { - if (++k == 1024) - attributes &= ~DNS_DISPATCHATTR_RANDOMPORT; - goto getsocket; - } - result = create_socket(sockmgr, &localaddr_bound, &sock); - if (result == ISC_R_ADDRINUSE) { - if (++k == 1024) - attributes &= ~DNS_DISPATCHATTR_RANDOMPORT; - goto getsocket; - } - localport = prt; - } else - result = create_socket(sockmgr, localaddr, &sock); - if (result != ISC_R_SUCCESS) - goto deallocate_dispatch; - if ((attributes & DNS_DISPATCHATTR_RANDOMPORT) == 0 && - isc_sockaddr_getport(localaddr) == 0 && - blacklisted(mgr, sock, NULL)) - { - if (held[i] != NULL) - isc_socket_detach(&held[i]); - held[i++] = sock; - sock = NULL; - if (i == DNS_DISPATCH_HELD) - i = 0; - if (j++ == 0xffffU) { - mgr_log(mgr, ISC_LOG_ERROR, "avoid-v%s-udp-ports: " - "unable to allocate a non-blacklisted port", - isc_sockaddr_pf(localaddr) == AF_INET ? - "4" : "6"); - result = ISC_R_FAILURE; + if ((attributes & DNS_DISPATCHATTR_EXCLUSIVE) == 0) { + result = get_udpsocket(mgr, disp, sockmgr, localaddr, &sock, + 0xffffU); + if (result != ISC_R_SUCCESS) goto deallocate_dispatch; - } - goto getsocket; } - disp->socktype = isc_sockettype_udp; disp->socket = sock; disp->local = *localaddr; - disp->localport = localport; - disp->task = NULL; - result = isc_task_create(taskmgr, 0, &disp->task); - if (result != ISC_R_SUCCESS) - goto kill_socket; + if ((attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0) + disp->ntasks = MAX_INTERNAL_TASKS; + else + disp->ntasks = 1; + for (i = 0; i < disp->ntasks; i++) { + disp->task[i] = NULL; + result = isc_task_create(taskmgr, 0, &disp->task[i]); + if (result != ISC_R_SUCCESS) { + while (--i >= 0) + isc_task_destroy(&disp->task[i]); + goto kill_socket; + } + isc_task_setname(disp->task[i], "udpdispatch", disp); + } disp->ctlevent = isc_event_allocate(mgr->mctx, disp, DNS_EVENT_DISPATCHCONTROL, @@ -1985,8 +2635,6 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, goto kill_task; } - isc_task_setname(disp->task, "udpdispatch", disp); - attributes &= ~DNS_DISPATCHATTR_TCP; attributes |= DNS_DISPATCHATTR_UDP; disp->attributes = attributes; @@ -1997,26 +2645,25 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, ISC_LIST_APPEND(mgr->list, disp, link); mgr_log(mgr, LVL(90), "created UDP dispatcher %p", disp); - dispatch_log(disp, LVL(90), "created task %p", disp->task); - dispatch_log(disp, LVL(90), "created socket %p", disp->socket); + dispatch_log(disp, LVL(90), "created task %p", disp->task[0]); /* XXX */ + if (disp->socket != NULL) + dispatch_log(disp, LVL(90), "created socket %p", disp->socket); *dispp = disp; - - goto cleanheld; + return (result); /* * Error returns. */ kill_task: - isc_task_detach(&disp->task); + for (i = 0; i < disp->ntasks; i++) + isc_task_detach(&disp->task[i]); kill_socket: - isc_socket_detach(&disp->socket); + if (disp->socket != NULL) + isc_socket_detach(&disp->socket); deallocate_dispatch: dispatch_free(&disp); - cleanheld: - for (i = 0; i < DNS_DISPATCH_HELD; i++) - if (held[i] != NULL) - isc_socket_detach(&held[i]); + return (result); } @@ -2042,6 +2689,7 @@ dns_dispatch_attach(dns_dispatch_t *disp, dns_dispatch_t **dispp) { void dns_dispatch_detach(dns_dispatch_t **dispp) { dns_dispatch_t *disp; + dispsocket_t *dispsock; isc_boolean_t killit; REQUIRE(dispp != NULL && VALID_DISPATCH(*dispp)); @@ -2056,8 +2704,14 @@ dns_dispatch_detach(dns_dispatch_t **dispp) { killit = ISC_FALSE; if (disp->refcount == 0) { if (disp->recv_pending > 0) - isc_socket_cancel(disp->socket, disp->task, + isc_socket_cancel(disp->socket, disp->task[0], ISC_SOCKCANCEL_RECV); + for (dispsock = ISC_LIST_HEAD(disp->activesockets); + dispsock != NULL; + dispsock = ISC_LIST_NEXT(dispsock, link)) { + isc_socket_cancel(dispsock->socket, dispsock->task, + ISC_SOCKCANCEL_RECV); + } disp->shutting_down = 1; } @@ -2066,26 +2720,33 @@ dns_dispatch_detach(dns_dispatch_t **dispp) { killit = destroy_disp_ok(disp); UNLOCK(&disp->lock); if (killit) - isc_task_send(disp->task, &disp->ctlevent); + isc_task_send(disp->task[0], &disp->ctlevent); } isc_result_t -dns_dispatch_addresponse(dns_dispatch_t *disp, isc_sockaddr_t *dest, - isc_task_t *task, isc_taskaction_t action, void *arg, - dns_messageid_t *idp, dns_dispentry_t **resp) +dns_dispatch_addresponse2(dns_dispatch_t *disp, isc_sockaddr_t *dest, + isc_task_t *task, isc_taskaction_t action, void *arg, + dns_messageid_t *idp, dns_dispentry_t **resp, + isc_socketmgr_t *sockmgr) { dns_dispentry_t *res; unsigned int bucket; + unsigned int abucket; + in_port_t localport = 0; dns_messageid_t id; int i; isc_boolean_t ok; dns_qid_t *qid; + dispsocket_t *dispsocket = NULL; + isc_result_t result; REQUIRE(VALID_DISPATCH(disp)); REQUIRE(task != NULL); REQUIRE(dest != NULL); REQUIRE(resp != NULL && *resp == NULL); REQUIRE(idp != NULL); + if ((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0) + REQUIRE(sockmgr != NULL); LOCK(&disp->lock); @@ -2099,23 +2760,77 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, isc_sockaddr_t *dest, return (ISC_R_QUOTA); } + if ((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0 && + disp->nsockets > DNS_DISPATCH_SOCKSQUOTA) { + dispsocket_t *oldestsocket; + dns_dispentry_t *oldestresp; + dns_dispatchevent_t *rev; + + /* + * Kill oldest outstanding query if the number of sockets + * exceeds the quota to keep the room for new queries. + */ + oldestsocket = ISC_LIST_HEAD(disp->activesockets); + oldestresp = oldestsocket->resp; + if (oldestresp != NULL && !oldestresp->item_out) { + rev = allocate_event(oldestresp->disp); + if (rev != NULL) { + rev->buffer.base = NULL; + rev->result = ISC_R_CANCELED; + rev->id = oldestresp->id; + ISC_EVENT_INIT(rev, sizeof(*rev), 0, + NULL, DNS_EVENT_DISPATCH, + oldestresp->action, + oldestresp->arg, oldestresp, + NULL, NULL); + oldestresp->item_out = ISC_TRUE; + isc_task_send(oldestresp->task, + ISC_EVENT_PTR(&rev)); + } + } + + /* + * Move this entry to the tail so that it won't (easily) be + * examined before actually being canceled. + */ + ISC_LIST_UNLINK(disp->activesockets, oldestsocket, link); + ISC_LIST_APPEND(disp->activesockets, oldestsocket, link); + } + + qid = DNS_QID(disp); + LOCK(&qid->lock); + + if ((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0) { + /* + * Get a separate UDP socket with a random port number. + */ + result = get_dispsocket(disp, dest, sockmgr, qid, &dispsocket, + &abucket, &localport); + if (result != ISC_R_SUCCESS) { + UNLOCK(&qid->lock); + UNLOCK(&disp->lock); + return (result); + } + } else { + abucket = 0; /* meaningless, but set explicitly */ + localport = disp->localport; + } + /* * Try somewhat hard to find an unique ID. */ - id = (dns_messageid_t)dispatch_arc4random(disp->mgr); - qid = DNS_QID(disp); - LOCK(&qid->lock); - bucket = dns_hash(qid, dest, id, disp->localport); + id = (dns_messageid_t)dispatch_arc4random(DISP_ARC4CTX(disp)); + bucket = dns_hash(qid, dest, id, localport); ok = ISC_FALSE; for (i = 0; i < 64; i++) { - if (bucket_search(qid, dest, id, disp->localport, bucket) == - NULL) { + if (bucket_search(qid, qid->qid_table, dest, id, localport, + bucket, ISC_FALSE) == NULL) { ok = ISC_TRUE; break; } id += qid->qid_increment; id &= 0x0000ffff; - bucket = dns_hash(qid, dest, id, disp->localport); + bucket = dns_hash(qid, dest, id, localport); } if (!ok) { @@ -2128,6 +2843,8 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, isc_sockaddr_t *dest, if (res == NULL) { UNLOCK(&qid->lock); UNLOCK(&disp->lock); + if (dispsocket != NULL) + destroy_dispsocket(disp, &dispsocket); return (ISC_R_NOMEMORY); } @@ -2137,43 +2854,89 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, isc_sockaddr_t *dest, isc_task_attach(task, &res->task); res->disp = disp; res->id = id; - res->port = disp->localport; + res->port = localport; res->bucket = bucket; + res->abucket = abucket; res->host = *dest; res->action = action; res->arg = arg; + res->dispsocket = dispsocket; + if (dispsocket != NULL) + dispsocket->resp = res; res->item_out = ISC_FALSE; ISC_LIST_INIT(res->items); ISC_LINK_INIT(res, link); + ISC_LINK_INIT(res, alink); res->magic = RESPONSE_MAGIC; ISC_LIST_APPEND(qid->qid_table[bucket], res, link); + if (dispsocket != NULL) + ISC_LIST_APPEND(qid->addr_table[abucket], res, alink); UNLOCK(&qid->lock); request_log(disp, res, LVL(90), "attached to task %p", res->task); if (((disp->attributes & DNS_DISPATCHATTR_UDP) != 0) || - ((disp->attributes & DNS_DISPATCHATTR_CONNECTED) != 0)) - startrecv(disp); + ((disp->attributes & DNS_DISPATCHATTR_CONNECTED) != 0)) { + result = startrecv(disp, dispsocket); + if (result != ISC_R_SUCCESS) { + LOCK(&qid->lock); + ISC_LIST_UNLINK(qid->qid_table[bucket], res, link); + if (ISC_LINK_LINKED(res, alink)) { + ISC_LIST_UNLINK(qid->addr_table[abucket], res, + alink); + } + UNLOCK(&qid->lock); + + if (dispsocket != NULL) + destroy_dispsocket(disp, &dispsocket); + + disp->refcount--; + disp->requests--; + + UNLOCK(&disp->lock); + isc_task_detach(&res->task); + isc_mempool_put(disp->mgr->rpool, res); + return (result); + } + } + + if (dispsocket != NULL) + ISC_LIST_APPEND(disp->activesockets, dispsocket, link); UNLOCK(&disp->lock); *idp = id; *resp = res; + if ((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0) + INSIST(res->dispsocket != NULL); + return (ISC_R_SUCCESS); } +isc_result_t +dns_dispatch_addresponse(dns_dispatch_t *disp, isc_sockaddr_t *dest, + isc_task_t *task, isc_taskaction_t action, void *arg, + dns_messageid_t *idp, dns_dispentry_t **resp) +{ + REQUIRE(VALID_DISPATCH(disp)); + REQUIRE((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) == 0); + + return (dns_dispatch_addresponse2(disp, dest, task, action, arg, + idp, resp, NULL)); +} + void dns_dispatch_starttcp(dns_dispatch_t *disp) { REQUIRE(VALID_DISPATCH(disp)); - dispatch_log(disp, LVL(90), "starttcp %p", disp->task); + dispatch_log(disp, LVL(90), "starttcp %p", disp->task[0]); LOCK(&disp->lock); disp->attributes |= DNS_DISPATCHATTR_CONNECTED; - startrecv(disp); + (void)startrecv(disp, NULL); UNLOCK(&disp->lock); } @@ -2184,6 +2947,7 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, dns_dispatchmgr_t *mgr; dns_dispatch_t *disp; dns_dispentry_t *res; + dispsocket_t *dispsock; dns_dispatchevent_t *ev; unsigned int bucket; isc_boolean_t killit; @@ -2221,8 +2985,14 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, killit = ISC_FALSE; if (disp->refcount == 0) { if (disp->recv_pending > 0) - isc_socket_cancel(disp->socket, disp->task, + isc_socket_cancel(disp->socket, disp->task[0], ISC_SOCKCANCEL_RECV); + for (dispsock = ISC_LIST_HEAD(disp->activesockets); + dispsock != NULL; + dispsock = ISC_LIST_NEXT(dispsock, link)) { + isc_socket_cancel(dispsock->socket, dispsock->task, + ISC_SOCKCANCEL_RECV); + } disp->shutting_down = 1; } @@ -2230,6 +3000,8 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, LOCK(&qid->lock); ISC_LIST_UNLINK(qid->qid_table[bucket], res, link); + if (ISC_LINK_LINKED(res, alink)) + ISC_LIST_UNLINK(qid->addr_table[res->abucket], res, alink); UNLOCK(&qid->lock); if (ev == NULL && res->item_out) { @@ -2258,6 +3030,12 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, request_log(disp, res, LVL(90), "detaching from task %p", res->task); isc_task_detach(&res->task); + if (res->dispsocket != NULL) { + isc_socket_cancel(res->dispsocket->socket, + res->dispsocket->task, ISC_SOCKCANCEL_RECV); + res->dispsocket->resp = NULL; + } + /* * Free any buffered requests as well */ @@ -2274,12 +3052,12 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, if (disp->shutting_down == 1) do_cancel(disp); else - startrecv(disp); + (void)startrecv(disp, NULL); killit = destroy_disp_ok(disp); UNLOCK(&disp->lock); if (killit) - isc_task_send(disp->task, &disp->ctlevent); + isc_task_send(disp->task[0], &disp->ctlevent); } static void @@ -2294,13 +3072,15 @@ do_cancel(dns_dispatch_t *disp) { qid = DNS_QID(disp); /* - * Search for the first response handler without packets outstanding. + * Search for the first response handler without packets outstanding + * unless a specific hander is given. */ LOCK(&qid->lock); for (resp = linear_first(qid); - resp != NULL && resp->item_out != ISC_FALSE; + resp != NULL && !resp->item_out; /* Empty. */) resp = linear_next(qid, resp); + /* * No one to send the cancel event to, so nothing to do. */ @@ -2333,6 +3113,16 @@ dns_dispatch_getsocket(dns_dispatch_t *disp) { return (disp->socket); } +isc_socket_t * +dns_dispatch_getentrysocket(dns_dispentry_t *resp) { + REQUIRE(VALID_RESPONSE(resp)); + + if (resp->dispsocket != NULL) + return (resp->dispsocket->socket); + else + return (NULL); +} + isc_result_t dns_dispatch_getlocaladdress(dns_dispatch_t *disp, isc_sockaddr_t *addrp) { @@ -2366,11 +3156,27 @@ dns_dispatch_cancel(dns_dispatch_t *disp) { return; } +unsigned int +dns_dispatch_getattributes(dns_dispatch_t *disp) { + REQUIRE(VALID_DISPATCH(disp)); + + /* + * We don't bother locking disp here; it's the caller's responsibility + * to use only non volatile flags. + */ + return (disp->attributes); +} + void dns_dispatch_changeattributes(dns_dispatch_t *disp, unsigned int attributes, unsigned int mask) { REQUIRE(VALID_DISPATCH(disp)); + /* Exclusive attribute can only be set on creation */ + REQUIRE((attributes & DNS_DISPATCHATTR_EXCLUSIVE) == 0); + /* Also, a dispatch with randomport specified cannot start listening */ + REQUIRE((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) == 0 || + (attributes & DNS_DISPATCHATTR_NOLISTEN) == 0); /* XXXMLG * Should check for valid attributes here! @@ -2382,13 +3188,13 @@ dns_dispatch_changeattributes(dns_dispatch_t *disp, if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) != 0 && (attributes & DNS_DISPATCHATTR_NOLISTEN) == 0) { disp->attributes &= ~DNS_DISPATCHATTR_NOLISTEN; - startrecv(disp); + (void)startrecv(disp, NULL); } else if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) == 0 && (attributes & DNS_DISPATCHATTR_NOLISTEN) != 0) { disp->attributes |= DNS_DISPATCHATTR_NOLISTEN; if (disp->recv_pending != 0) - isc_socket_cancel(disp->socket, disp->task, + isc_socket_cancel(disp->socket, disp->task[0], ISC_SOCKCANCEL_RECV); } } @@ -2412,7 +3218,7 @@ dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) { INSIST(sevent->n <= disp->mgr->buffersize); newsevent = (isc_socketevent_t *) isc_event_allocate(disp->mgr->mctx, NULL, - DNS_EVENT_IMPORTRECVDONE, udp_recv, + DNS_EVENT_IMPORTRECVDONE, udp_shrecv, disp, sizeof(isc_socketevent_t)); if (newsevent == NULL) return; @@ -2432,7 +3238,7 @@ dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) { newsevent->pktinfo = sevent->pktinfo; newsevent->attributes = sevent->attributes; - isc_task_send(disp->task, ISC_EVENT_PTR(&newsevent)); + isc_task_send(disp->task[0], ISC_EVENT_PTR(&newsevent)); } #if 0 diff --git a/lib/dns/gssapi_link.c b/lib/dns/gssapi_link.c index 349826ff..ab3e553d 100644 --- a/lib/dns/gssapi_link.c +++ b/lib/dns/gssapi_link.c @@ -16,7 +16,7 @@ */ /* - * $Id: gssapi_link.c,v 1.7.128.3 2008/04/03 06:08:26 tbox Exp $ + * $Id: gssapi_link.c,v 1.7.128.4 2008/06/13 00:17:09 jinmei Exp $ */ #include <config.h> @@ -292,7 +292,6 @@ static dst_func_t gssapi_functions = { NULL, /*%< tofile */ NULL, /*%< parse */ NULL, /*%< cleanup */ - NULL }; isc_result_t diff --git a/lib/dns/include/dns/dispatch.h b/lib/dns/include/dns/dispatch.h index d1531ba1..4a52f86d 100644 --- a/lib/dns/include/dns/dispatch.h +++ b/lib/dns/include/dns/dispatch.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dispatch.h,v 1.56.128.3 2008/05/27 22:36:11 each Exp $ */ +/* $Id: dispatch.h,v 1.56.128.5 2008/06/24 23:46:26 tbox Exp $ */ #ifndef DNS_DISPATCH_H #define DNS_DISPATCH_H 1 @@ -105,7 +105,7 @@ struct dns_dispatchevent { * The dispatcher is a TCP or UDP socket. * * _IPV4, _IPV6 - * The dispatcher uses an ipv4 or ipv6 socket. + * The dispatcher uses an IPv4 or IPv6 socket. * * _NOLISTEN * The dispatcher should not listen on the socket. @@ -115,7 +115,12 @@ struct dns_dispatchevent { * accept replies from them. * * _RANDOMPORT - * Allocate UDP port randomly. + * Previously used to indicate that the port of a dispatch UDP must be + * chosen randomly. This behavior now always applies and the attribute + * is obsoleted. + * + * _EXCLUSIVE + * A separate socket will be used on-demand for each transaction. */ #define DNS_DISPATCHATTR_PRIVATE 0x00000001U #define DNS_DISPATCHATTR_TCP 0x00000002U @@ -125,7 +130,8 @@ struct dns_dispatchevent { #define DNS_DISPATCHATTR_NOLISTEN 0x00000020U #define DNS_DISPATCHATTR_MAKEQUERY 0x00000040U #define DNS_DISPATCHATTR_CONNECTED 0x00000080U -#define DNS_DISPATCHATTR_RANDOMPORT 0x00000100U +/*#define DNS_DISPATCHATTR_RANDOMPORT 0x00000100U*/ +#define DNS_DISPATCHATTR_EXCLUSIVE 0x00000200U /*@}*/ isc_result_t @@ -189,23 +195,33 @@ void dns_dispatchmgr_setblackportlist(dns_dispatchmgr_t *mgr, dns_portlist_t *portlist); /*%< - * Sets a list of UDP ports that won't be used when creating a udp - * dispatch with a wildcard port. + * This function is deprecated. Use dns_dispatchmgr_setavailports() instead. * * Requires: *\li mgr is a valid dispatchmgr - *\li portlist to be NULL or a valid port list. */ dns_portlist_t * dns_dispatchmgr_getblackportlist(dns_dispatchmgr_t *mgr); /*%< - * Return the current port list. + * This function is deprecated and always returns NULL. * * Requires: *\li mgr is a valid dispatchmgr */ +isc_result_t +dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, + isc_portset_t *v6portset); +/*%< + * Sets a list of UDP ports that can be used for outgoing UDP messages. + * + * Requires: + *\li mgr is a valid dispatchmgr + *\li v4portset is NULL or a valid port set + *\li v6portset is NULL or a valid port set + */ + void dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, dns_stats_t *stats); /*%< @@ -332,6 +348,12 @@ dns_dispatch_starttcp(dns_dispatch_t *disp); */ isc_result_t +dns_dispatch_addresponse2(dns_dispatch_t *disp, isc_sockaddr_t *dest, + isc_task_t *task, isc_taskaction_t action, void *arg, + isc_uint16_t *idp, dns_dispentry_t **resp, + isc_socketmgr_t *sockmgr); + +isc_result_t dns_dispatch_addresponse(dns_dispatch_t *disp, isc_sockaddr_t *dest, isc_task_t *task, isc_taskaction_t action, void *arg, isc_uint16_t *idp, dns_dispentry_t **resp); @@ -354,6 +376,10 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, isc_sockaddr_t *dest, * *\li "resp" be non-NULL and *resp be NULL * + *\li "sockmgr" be NULL or a valid socket manager. If 'disp' has + * the DNS_DISPATCHATTR_EXCLUSIVE attribute, this must not be NULL, + * which also means dns_dispatch_addresponse() cannot be used. + * * Ensures: * *\li <id, dest> is a unique tuple. That means incoming messages @@ -384,6 +410,8 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, * argument to dns_dispatch_addresponse() when allocating '*resp'. */ +isc_socket_t * +dns_dispatch_getentrysocket(dns_dispentry_t *resp); isc_socket_t * dns_dispatch_getsocket(dns_dispatch_t *disp); @@ -421,6 +449,16 @@ dns_dispatch_cancel(dns_dispatch_t *disp); *\li disp is valid. */ +unsigned int +dns_dispatch_getattributes(dns_dispatch_t *disp); +/*%< + * Return the attributes (DNS_DISPATCHATTR_xxx) of this dispatch. Only the + * non-changeable attributes are expected to be referenced by the caller. + * + * Requires: + *\li disp is valid. + */ + void dns_dispatch_changeattributes(dns_dispatch_t *disp, unsigned int attributes, unsigned int mask); diff --git a/lib/dns/include/dns/resolver.h b/lib/dns/include/dns/resolver.h index 8c5c7afd..48216f42 100644 --- a/lib/dns/include/dns/resolver.h +++ b/lib/dns/include/dns/resolver.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: resolver.h,v 1.56.128.2 2008/04/03 06:08:27 tbox Exp $ */ +/* $Id: resolver.h,v 1.56.128.4 2008/07/01 03:03:43 each Exp $ */ #ifndef DNS_RESOLVER_H #define DNS_RESOLVER_H 1 @@ -107,8 +107,6 @@ typedef struct dns_fetchevent { #define DNS_RESOLVER_CHECKNAMES 0x01 #define DNS_RESOLVER_CHECKNAMESFAIL 0x02 -#define DNS_RESOLVER_USEDISPATCHPOOL4 0x04 -#define DNS_RESOLVER_USEDISPATCHPOOL6 0x08 isc_result_t dns_resolver_create(dns_view_t *view, @@ -478,33 +476,6 @@ dns_resolver_setzeronosoattl(dns_resolver_t *resolver, isc_boolean_t state); unsigned int dns_resolver_getoptions(dns_resolver_t *resolver); -isc_result_t -dns_resolver_createdispatchpool(dns_resolver_t *res, unsigned int ndisps, - unsigned int interval); -/*%< - * Create a pool of dispatches - * - * Notes: - * - *\li Generally, applications should not create a resolver directly, but - * should instead call dns_view_createresolver(). - * - * Requires: - * - *\li 'res' is a valid resolver that has not been frozen. Also it must have - * either the _USEDISPATCHPOOL4 or _USEDISPATCHPOOL6 option. - * - *\li 'taskmgr' is a valid task manager. - * - *\li 'ndisps' > 0. - * - * Returns: - * - *\li #ISC_R_SUCCESS On success. - * - *\li Anything else Failure. - */ - ISC_LANG_ENDDECLS #endif /* DNS_RESOLVER_H */ diff --git a/lib/dns/include/dns/view.h b/lib/dns/include/dns/view.h index a488a62c..a27f3a53 100644 --- a/lib/dns/include/dns/view.h +++ b/lib/dns/include/dns/view.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: view.h,v 1.107.128.4 2008/04/03 06:20:34 tbox Exp $ */ +/* $Id: view.h,v 1.107.128.5 2008/05/29 22:54:02 each Exp $ */ #ifndef DNS_VIEW_H #define DNS_VIEW_H 1 @@ -123,6 +123,10 @@ struct dns_view { dns_acl_t * recursionacl; dns_acl_t * recursiononacl; dns_acl_t * sortlist; + dns_acl_t * notifyacl; + dns_acl_t * transferacl; + dns_acl_t * updateacl; + dns_acl_t * upfwdacl; isc_boolean_t requestixfr; isc_boolean_t provideixfr; isc_boolean_t requestnsid; diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index d2d3630f..9b7809a8 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: rbtdb.c,v 1.248.12.8 2008/05/01 18:32:31 jinmei Exp $ */ +/* $Id: rbtdb.c,v 1.248.12.9 2008/06/04 01:12:20 jinmei Exp $ */ /*! \file */ @@ -1994,7 +1994,7 @@ findnode(dns_db_t *db, dns_name_t *name, isc_boolean_t create, need_relock = ISC_FALSE; NODE_WEAKLOCK(&rbtdb->node_locks[node->locknum].lock, isc_rwlocktype_read); - if (ISC_LINK_LINKED(node, deadlink) && isc_rwlocktype_write) + if (ISC_LINK_LINKED(node, deadlink)) need_relock = ISC_TRUE; else if (!ISC_LIST_EMPTY(rbtdb->deadnodes[node->locknum]) && locktype == isc_rwlocktype_write) diff --git a/lib/dns/request.c b/lib/dns/request.c index dd3e6700..e1709a6a 100644 --- a/lib/dns/request.c +++ b/lib/dns/request.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: request.c,v 1.79 2007/06/19 23:47:16 tbox Exp $ */ +/* $Id: request.c,v 1.79.128.2 2008/06/24 23:46:26 tbox Exp $ */ /*! \file */ @@ -121,6 +121,7 @@ static isc_result_t req_render(dns_message_t *message, isc_buffer_t **buffer, static void req_senddone(isc_task_t *task, isc_event_t *event); static void req_response(isc_task_t *task, isc_event_t *event); static void req_timeout(isc_task_t *task, isc_event_t *event); +static isc_socket_t * req_getsocket(dns_request_t *request); static void req_connected(isc_task_t *task, isc_event_t *event); static void req_sendevent(dns_request_t *request, isc_result_t result); static void req_cancel(dns_request_t *request); @@ -146,6 +147,7 @@ dns_requestmgr_create(isc_mem_t *mctx, isc_socket_t *socket; isc_result_t result; int i; + unsigned int dispattr; req_log(ISC_LOG_DEBUG(3), "dns_requestmgr_create"); @@ -154,13 +156,14 @@ dns_requestmgr_create(isc_mem_t *mctx, REQUIRE(socketmgr != NULL); REQUIRE(taskmgr != NULL); REQUIRE(dispatchmgr != NULL); + UNUSED(socket); if (dispatchv4 != NULL) { - socket = dns_dispatch_getsocket(dispatchv4); - REQUIRE(isc_socket_gettype(socket) == isc_sockettype_udp); + dispattr = dns_dispatch_getattributes(dispatchv4); + REQUIRE((dispattr & DNS_DISPATCHATTR_UDP) != 0); } if (dispatchv6 != NULL) { - socket = dns_dispatch_getsocket(dispatchv6); - REQUIRE(isc_socket_gettype(socket) == isc_sockettype_udp); + dispattr = dns_dispatch_getattributes(dispatchv6); + REQUIRE((dispattr & DNS_DISPATCHATTR_UDP) != 0); } requestmgr = isc_mem_get(mctx, sizeof(*requestmgr)); @@ -425,12 +428,19 @@ req_send(dns_request_t *request, isc_task_t *task, isc_sockaddr_t *address) { isc_region_t r; isc_socket_t *socket; isc_result_t result; + unsigned int dispattr; req_log(ISC_LOG_DEBUG(3), "req_send: request %p", request); REQUIRE(VALID_REQUEST(request)); - socket = dns_dispatch_getsocket(request->dispatch); + dispattr = dns_dispatch_getattributes(request->dispatch); + socket = req_getsocket(request); isc_buffer_usedregion(request->query, &r); + /* + * We could connect the socket when we are using an exclusive dispatch + * as we do in resolver.c, but we prefer implementation simplicity + * at this moment. + */ result = isc_socket_sendto(socket, &r, task, req_senddone, request, address, NULL); if (result == ISC_R_SUCCESS) @@ -685,7 +695,7 @@ dns_request_createraw3(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, REQUIRE(action != NULL); REQUIRE(requestp != NULL && *requestp == NULL); REQUIRE(timeout > 0); - if (srcaddr != NULL) + if (srcaddr != NULL) REQUIRE(isc_sockaddr_pf(srcaddr) == isc_sockaddr_pf(destaddr)); mctx = requestmgr->mctx; @@ -733,7 +743,7 @@ dns_request_createraw3(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, result = DNS_R_FORMERR; goto cleanup; } - + if ((options & DNS_REQUESTOPT_TCP) != 0 || r.length > 512) tcp = ISC_TRUE; @@ -742,14 +752,16 @@ dns_request_createraw3(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, if (result != ISC_R_SUCCESS) goto cleanup; - socket = dns_dispatch_getsocket(request->dispatch); - INSIST(socket != NULL); - result = dns_dispatch_addresponse(request->dispatch, destaddr, task, - req_response, request, &id, - &request->dispentry); + result = dns_dispatch_addresponse2(request->dispatch, destaddr, task, + req_response, request, &id, + &request->dispentry, + requestmgr->socketmgr); if (result != ISC_R_SUCCESS) goto cleanup; + socket = req_getsocket(request); + INSIST(socket != NULL); + result = isc_buffer_allocate(mctx, &request->query, r.length + (tcp ? 2 : 0)); if (result != ISC_R_SUCCESS) @@ -857,7 +869,7 @@ dns_request_createvia2(dns_requestmgr_t *requestmgr, dns_message_t *message, udpretries, task, action, arg, requestp)); } - + isc_result_t dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message, isc_sockaddr_t *srcaddr, isc_sockaddr_t *destaddr, @@ -883,7 +895,7 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message, REQUIRE(action != NULL); REQUIRE(requestp != NULL && *requestp == NULL); REQUIRE(timeout > 0); - if (srcaddr != NULL) + if (srcaddr != NULL) REQUIRE(isc_sockaddr_pf(srcaddr) == isc_sockaddr_pf(destaddr)); mctx = requestmgr->mctx; @@ -935,13 +947,14 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message, if (result != ISC_R_SUCCESS) goto cleanup; - socket = dns_dispatch_getsocket(request->dispatch); - INSIST(socket != NULL); - result = dns_dispatch_addresponse(request->dispatch, destaddr, task, - req_response, request, &id, - &request->dispentry); + result = dns_dispatch_addresponse2(request->dispatch, destaddr, task, + req_response, request, &id, + &request->dispentry, + requestmgr->socketmgr); if (result != ISC_R_SUCCESS) goto cleanup; + socket = req_getsocket(request); + INSIST(socket != NULL); message->id = id; if (setkey) { @@ -1137,7 +1150,7 @@ do_cancel(isc_task_t *task, isc_event_t *event) { if (!DNS_REQUEST_CANCELED(request)) req_cancel(request); send_if_done(request, ISC_R_CANCELED); - UNLOCK(&request->requestmgr->locks[request->hash]); + UNLOCK(&request->requestmgr->locks[request->hash]); } void @@ -1226,6 +1239,21 @@ dns_request_destroy(dns_request_t **requestp) { *** Private: request. ***/ +static isc_socket_t * +req_getsocket(dns_request_t *request) { + unsigned int dispattr; + isc_socket_t *socket; + + dispattr = dns_dispatch_getattributes(request->dispatch); + if ((dispattr & DNS_DISPATCHATTR_EXCLUSIVE) != 0) { + INSIST(request->dispentry != NULL); + socket = dns_dispatch_getentrysocket(request->dispentry); + } else + socket = dns_dispatch_getsocket(request->dispatch); + + return (socket); +} + static void req_connected(isc_task_t *task, isc_event_t *event) { isc_socketevent_t *sevent = (isc_socketevent_t *)event; @@ -1425,6 +1453,7 @@ req_destroy(dns_request_t *request) { static void req_cancel(dns_request_t *request) { isc_socket_t *socket; + unsigned int dispattr; REQUIRE(VALID_REQUEST(request)); @@ -1437,16 +1466,23 @@ req_cancel(dns_request_t *request) { if (request->timer != NULL) isc_timer_detach(&request->timer); + dispattr = dns_dispatch_getattributes(request->dispatch); + socket = NULL; + if (DNS_REQUEST_CONNECTING(request) || DNS_REQUEST_SENDING(request)) { + if ((dispattr & DNS_DISPATCHATTR_EXCLUSIVE) != 0) { + if (request->dispentry != NULL) { + socket = dns_dispatch_getentrysocket( + request->dispentry); + } + } else + socket = dns_dispatch_getsocket(request->dispatch); + if (DNS_REQUEST_CONNECTING(request) && socket != NULL) + isc_socket_cancel(socket, NULL, ISC_SOCKCANCEL_CONNECT); + if (DNS_REQUEST_SENDING(request) && socket != NULL) + isc_socket_cancel(socket, NULL, ISC_SOCKCANCEL_SEND); + } if (request->dispentry != NULL) dns_dispatch_removeresponse(&request->dispentry, NULL); - if (DNS_REQUEST_CONNECTING(request)) { - socket = dns_dispatch_getsocket(request->dispatch); - isc_socket_cancel(socket, NULL, ISC_SOCKCANCEL_CONNECT); - } - if (DNS_REQUEST_SENDING(request)) { - socket = dns_dispatch_getsocket(request->dispatch); - isc_socket_cancel(socket, NULL, ISC_SOCKCANCEL_SEND); - } dns_dispatch_detach(&request->dispatch); } diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index c87fbffb..acc908fe 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: resolver.c,v 1.355.12.16 2008/05/27 22:36:11 each Exp $ */ +/* $Id: resolver.c,v 1.355.12.19 2008/06/24 00:09:11 jinmei Exp $ */ /*! \file */ @@ -124,6 +124,7 @@ typedef struct query { isc_mem_t * mctx; dns_dispatchmgr_t * dispatchmgr; dns_dispatch_t * dispatch; + isc_boolean_t exclusivesocket; dns_adbaddrinfo_t * addrinfo; isc_socket_t * tcpsocket; isc_time_t start; @@ -294,24 +295,6 @@ typedef struct alternate { ISC_LINK(struct alternate) link; } alternate_t; -#ifdef ISC_RWLOCK_USEATOMIC -#define DNS_RESOLVER_USERWLOCK 1 -#else -#define DNS_RESOLVER_USERWLOCK 0 -#endif - -#if DNS_RESOLVER_USERWLOCK -#define RES_INITLOCK(l) isc_rwlock_init((l), 0, 0) -#define RES_DESTROYLOCK(l) isc_rwlock_destroy(l) -#define RES_LOCK(l, t) RWLOCK((l), (t)) -#define RES_UNLOCK(l, t) RWUNLOCK((l), (t)) -#else -#define RES_INITLOCK(l) isc_mutex_init(l) -#define RES_DESTROYLOCK(l) DESTROYLOCK(l) -#define RES_LOCK(l, t) LOCK(l) -#define RES_UNLOCK(l, t) UNLOCK(l) -#endif - struct dns_resolver { /* Unlocked. */ unsigned int magic; @@ -319,11 +302,6 @@ struct dns_resolver { isc_mutex_t lock; isc_mutex_t nlock; isc_mutex_t primelock; -#if DNS_RESOLVER_USERWLOCK - isc_rwlock_t poollock; -#else - isc_mutex_t poollock; -#endif dns_rdataclass_t rdclass; isc_socketmgr_t * socketmgr; isc_timermgr_t * timermgr; @@ -333,7 +311,9 @@ struct dns_resolver { unsigned int options; dns_dispatchmgr_t * dispatchmgr; dns_dispatch_t * dispatchv4; + isc_boolean_t exclusivev4; dns_dispatch_t * dispatchv6; + isc_boolean_t exclusivev6; unsigned int ndisps; unsigned int nbuckets; fctxbucket_t * buckets; @@ -352,7 +332,6 @@ struct dns_resolver { unsigned int spillatmin; isc_timer_t * spillattimer; isc_boolean_t zero_no_soa_ttl; - isc_timer_t * disppooltimer; /* Locked by lock. */ unsigned int references; @@ -366,9 +345,6 @@ struct dns_resolver { dns_fetch_t * primefetch; /* Locked by nlock. */ unsigned int nfctx; - /* Locked by poollock. */ - dns_dispatch_t ** dispatchv4pool; - dns_dispatch_t ** dispatchv6pool; }; #define RES_MAGIC ISC_MAGIC('R', 'e', 's', '!') @@ -603,6 +579,7 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, unsigned int factor; dns_adbfind_t *find; dns_adbaddrinfo_t *addrinfo; + isc_socket_t *socket; query = *queryp; fctx = query->fctx; @@ -684,35 +661,48 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, 0, factor); } - if (query->dispentry != NULL) - dns_dispatch_removeresponse(&query->dispentry, deventp); - - ISC_LIST_UNLINK(fctx->queries, query, link); - - if (query->tsig != NULL) - isc_buffer_free(&query->tsig); - - if (query->tsigkey != NULL) - dns_tsigkey_detach(&query->tsigkey); - /* * Check for any outstanding socket events. If they exist, cancel * them and let the event handlers finish the cleanup. The resolver * only needs to worry about managing the connect and send events; * the dispatcher manages the recv events. */ - if (RESQUERY_CONNECTING(query)) + if (RESQUERY_CONNECTING(query)) { /* * Cancel the connect. */ - isc_socket_cancel(query->tcpsocket, NULL, - ISC_SOCKCANCEL_CONNECT); - else if (RESQUERY_SENDING(query)) + if (query->tcpsocket != NULL) { + isc_socket_cancel(query->tcpsocket, NULL, + ISC_SOCKCANCEL_CONNECT); + } else if (query->dispentry != NULL) { + INSIST(query->exclusivesocket); + socket = dns_dispatch_getentrysocket(query->dispentry); + if (socket != NULL) + isc_socket_cancel(socket, NULL, + ISC_SOCKCANCEL_CONNECT); + } + } else if (RESQUERY_SENDING(query)) { /* * Cancel the pending send. */ - isc_socket_cancel(dns_dispatch_getsocket(query->dispatch), - NULL, ISC_SOCKCANCEL_SEND); + if (query->exclusivesocket && query->dispentry != NULL) + socket = dns_dispatch_getentrysocket(query->dispentry); + else + socket = dns_dispatch_getsocket(query->dispatch); + if (socket != NULL) + isc_socket_cancel(socket, NULL, ISC_SOCKCANCEL_SEND); + } + + if (query->dispentry != NULL) + dns_dispatch_removeresponse(&query->dispentry, deventp); + + ISC_LIST_UNLINK(fctx->queries, query, link); + + if (query->tsig != NULL) + isc_buffer_free(&query->tsig); + + if (query->tsigkey != NULL) + dns_tsigkey_detach(&query->tsigkey); if (query->dispatch != NULL) dns_dispatch_detach(&query->dispatch); @@ -912,43 +902,25 @@ fctx_done(fetchctx_t *fctx, isc_result_t result) { } static void -resquery_senddone(isc_task_t *task, isc_event_t *event) { +process_sendevent(resquery_t *query, isc_event_t *event) { isc_socketevent_t *sevent = (isc_socketevent_t *)event; - resquery_t *query = event->ev_arg; isc_boolean_t retry = ISC_FALSE; isc_result_t result; fetchctx_t *fctx; - REQUIRE(event->ev_type == ISC_SOCKEVENT_SENDDONE); - - QTRACE("senddone"); - - /* - * XXXRTH - * - * Currently we don't wait for the senddone event before retrying - * a query. This means that if we get really behind, we may end - * up doing extra work! - */ - - UNUSED(task); - - INSIST(RESQUERY_SENDING(query)); - - query->sends--; fctx = query->fctx; if (RESQUERY_CANCELED(query)) { - if (query->sends == 0) { + if (query->sends == 0 && query->connects == 0) { /* * This query was canceled while the - * isc_socket_sendto() was in progress. + * isc_socket_sendto/connect() was in progress. */ if (query->tcpsocket != NULL) isc_socket_detach(&query->tcpsocket); resquery_destroy(&query); } - } else + } else { switch (sevent->result) { case ISC_R_SUCCESS: break; @@ -970,6 +942,7 @@ resquery_senddone(isc_task_t *task, isc_event_t *event) { fctx_cancelquery(&query, NULL, NULL, ISC_FALSE); break; } + } isc_event_free(&event); @@ -987,6 +960,48 @@ resquery_senddone(isc_task_t *task, isc_event_t *event) { } } +static void +resquery_udpconnected(isc_task_t *task, isc_event_t *event) { + resquery_t *query = event->ev_arg; + + REQUIRE(event->ev_type == ISC_SOCKEVENT_CONNECT); + + QTRACE("udpconnected"); + + UNUSED(task); + + INSIST(RESQUERY_CONNECTING(query)); + + query->connects--; + + process_sendevent(query, event); +} + +static void +resquery_senddone(isc_task_t *task, isc_event_t *event) { + resquery_t *query = event->ev_arg; + + REQUIRE(event->ev_type == ISC_SOCKEVENT_SENDDONE); + + QTRACE("senddone"); + + /* + * XXXRTH + * + * Currently we don't wait for the senddone event before retrying + * a query. This means that if we get really behind, we may end + * up doing extra work! + */ + + UNUSED(task); + + INSIST(RESQUERY_SENDING(query)); + + query->sends--; + + process_sendevent(query, event); +} + static inline isc_result_t fctx_addopt(dns_message_t *message, unsigned int version, isc_uint16_t udpsize, isc_boolean_t request_nsid) @@ -1139,6 +1154,7 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, */ query->dispatchmgr = res->dispatchmgr; query->dispatch = NULL; + query->exclusivesocket = ISC_FALSE; query->tcpsocket = NULL; if (res->view->peers != NULL) { dns_peer_t *peer = NULL; @@ -1221,53 +1237,21 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, if (result != ISC_R_SUCCESS) goto cleanup_query; } else { - isc_sockaddr_t localaddr; - unsigned int attrs, attrmask; - dns_dispatch_t *disp_base; - - attrs = 0; - attrs |= DNS_DISPATCHATTR_UDP; - attrs |= DNS_DISPATCHATTR_RANDOMPORT; - - attrmask = 0; - attrmask |= DNS_DISPATCHATTR_UDP; - attrmask |= DNS_DISPATCHATTR_TCP; - attrmask |= DNS_DISPATCHATTR_IPV4; - attrmask |= DNS_DISPATCHATTR_IPV6; - switch (isc_sockaddr_pf(&addrinfo->sockaddr)) { - case AF_INET: - disp_base = res->dispatchv4; - attrs |= DNS_DISPATCHATTR_IPV4; + case PF_INET: + dns_dispatch_attach(res->dispatchv4, + &query->dispatch); + query->exclusivesocket = res->exclusivev4; break; - case AF_INET6: - disp_base = res->dispatchv6; - attrs |= DNS_DISPATCHATTR_IPV6; + case PF_INET6: + dns_dispatch_attach(res->dispatchv6, + &query->dispatch); + query->exclusivesocket = res->exclusivev6; break; default: result = ISC_R_NOTIMPLEMENTED; goto cleanup_query; } - - result = dns_dispatch_getlocaladdress(disp_base, - &localaddr); - if (result != ISC_R_SUCCESS) - goto cleanup_query; - if (isc_sockaddr_getport(&localaddr) == 0) { - result = dns_dispatch_getudp(res->dispatchmgr, - res->socketmgr, - res->taskmgr, - &localaddr, - 4096, 1000, 32768, - 16411, 16433, - attrs, attrmask, - &query->dispatch); - if (result != ISC_R_SUCCESS) - goto cleanup_query; - } else { - dns_dispatch_attach(disp_base, - &query->dispatch); - } } /* * We should always have a valid dispatcher here. If we @@ -1458,13 +1442,14 @@ resquery_send(resquery_t *query) { /* * Get a query id from the dispatch. */ - result = dns_dispatch_addresponse(query->dispatch, - &query->addrinfo->sockaddr, - task, - resquery_response, - query, - &query->id, - &query->dispentry); + result = dns_dispatch_addresponse2(query->dispatch, + &query->addrinfo->sockaddr, + task, + resquery_response, + query, + &query->id, + &query->dispentry, + res->socketmgr); if (result != ISC_R_SUCCESS) goto cleanup_temps; @@ -1681,12 +1666,24 @@ resquery_send(resquery_t *query) { */ dns_message_reset(fctx->qmessage, DNS_MESSAGE_INTENTRENDER); - socket = dns_dispatch_getsocket(query->dispatch); + if (query->exclusivesocket) + socket = dns_dispatch_getentrysocket(query->dispentry); + else + socket = dns_dispatch_getsocket(query->dispatch); /* * Send the query! */ - if ((query->options & DNS_FETCHOPT_TCP) == 0) + if ((query->options & DNS_FETCHOPT_TCP) == 0) { address = &query->addrinfo->sockaddr; + if (query->exclusivesocket) { + result = isc_socket_connect(socket, address, task, + resquery_udpconnected, + query); + if (result != ISC_R_SUCCESS) + goto cleanup_message; + query->connects++; + } + } isc_buffer_usedregion(buffer, &r); /* @@ -2012,7 +2009,7 @@ add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason) { return; if (reason == DNS_R_UNEXPECTEDRCODE && - fctx->rmessage->opcode == dns_rcode_servfail && + fctx->rmessage->rcode == dns_rcode_servfail && ISFORWARDER(addrinfo)) return; @@ -2788,6 +2785,8 @@ fctx_destroy(fetchctx_t *fctx) { static void fctx_timeout(isc_task_t *task, isc_event_t *event) { fetchctx_t *fctx = event->ev_arg; + isc_timerevent_t *tevent = (isc_timerevent_t *)event; + resquery_t *query; REQUIRE(VALID_FCTX(fctx)); @@ -2803,8 +2802,18 @@ fctx_timeout(isc_task_t *task, isc_event_t *event) { fctx->timeouts++; /* * We could cancel the running queries here, or we could let - * them keep going. Right now we choose the latter... + * them keep going. Since we normally use separate sockets for + * different queries, we adopt the former approach to reduce + * the number of open sockets: cancel the oldest query if it + * expired before the query had started (this is usually the + * case but is not always so, depending on the task schedule + * timing). */ + query = ISC_LIST_HEAD(fctx->queries); + if (query != NULL && + isc_time_compare(&tevent->due, &query->start) >= 0) { + fctx_cancelquery(&query, NULL, NULL, ISC_TRUE); + } fctx->attributes &= ~FCTX_ATTR_ADDRWAIT; /* * Our timer has triggered. Reestablish the fctx lifetime @@ -5668,6 +5677,19 @@ resquery_response(isc_task_t *task, isc_event_t *event) { * There's no hope for this query. */ keep_trying = ISC_TRUE; + + /* + * If this is a network error on an exclusive query + * socket, mark the server as bad so that we won't try + * it for this fetch again. + */ + if (query->exclusivesocket && + (devent->result == ISC_R_HOSTUNREACH || + devent->result == ISC_R_NETUNREACH || + devent->result == ISC_R_CONNREFUSED || + devent->result == ISC_R_CANCELED)) { + broken_server = devent->result; + } } goto done; } @@ -5852,12 +5874,17 @@ resquery_response(isc_task_t *task, isc_event_t *event) { */ if (message->rcode != dns_rcode_noerror && message->rcode != dns_rcode_nxdomain) { - if ((message->rcode == dns_rcode_formerr || - message->rcode == dns_rcode_notimp || - message->rcode == dns_rcode_servfail) && + if (((message->rcode == dns_rcode_formerr || + message->rcode == dns_rcode_notimp) || + (message->rcode == dns_rcode_servfail && + dns_message_getopt(message) == NULL)) && (query->options & DNS_FETCHOPT_NOEDNS0) == 0) { /* * It's very likely they don't like EDNS0. + * If the response code is SERVFAIL, also check if the + * response contains an OPT RR and don't cache the + * failure since it can be returned for various other + * reasons. * * XXXRTH We should check if the question * we're asking requires EDNS0, and @@ -6266,7 +6293,6 @@ destroy(dns_resolver_t *res) { INSIST(res->nfctx == 0); - RES_DESTROYLOCK(&res->poollock); DESTROYLOCK(&res->primelock); DESTROYLOCK(&res->nlock); DESTROYLOCK(&res->lock); @@ -6283,26 +6309,12 @@ destroy(dns_resolver_t *res) { dns_dispatch_detach(&res->dispatchv4); if (res->dispatchv6 != NULL) dns_dispatch_detach(&res->dispatchv6); - if (res->dispatchv4pool != NULL) { - for (i = 0; i < res->ndisps; i++) - dns_dispatch_detach(&res->dispatchv4pool[i]); - isc_mem_put(res->mctx, res->dispatchv4pool, - res->ndisps * sizeof(dns_dispatch_t *)); - } - if (res->dispatchv6pool != NULL) { - for (i = 0; i < res->ndisps; i++) - dns_dispatch_detach(&res->dispatchv6pool[i]); - isc_mem_put(res->mctx, res->dispatchv6pool, - res->ndisps * sizeof(dns_dispatch_t *)); - } while ((a = ISC_LIST_HEAD(res->alternates)) != NULL) { ISC_LIST_UNLINK(res->alternates, a, link); if (!a->isaddress) dns_name_free(&a->_u._n.name, res->mctx); isc_mem_put(res->mctx, a, sizeof(*a)); } - if (res->disppooltimer != NULL) - isc_timer_detach(&res->disppooltimer); dns_resolver_reset_algorithms(res); dns_resolver_resetmustbesecure(res); #if USE_ALGLOCK @@ -6399,6 +6411,7 @@ dns_resolver_create(dns_view_t *view, unsigned int i, buckets_created = 0; isc_task_t *task = NULL; char name[16]; + unsigned dispattr; /* * Create a resolver. @@ -6433,9 +6446,6 @@ dns_resolver_create(dns_view_t *view, res->zero_no_soa_ttl = ISC_FALSE; res->ndisps = 0; res->nextdisp = 0; /* meaningless at this point, but init it */ - res->dispatchv4pool = NULL; - res->dispatchv6pool = NULL; - res->disppooltimer = NULL; res->nbuckets = ntasks; res->activebuckets = ntasks; res->buckets = isc_mem_get(view->mctx, @@ -6479,12 +6489,20 @@ dns_resolver_create(dns_view_t *view, } res->dispatchv4 = NULL; - if (dispatchv4 != NULL) - dns_dispatch_attach(dispatchv4, &res->dispatchv4); + if (dispatchv4 != NULL) { + dns_dispatch_attach(dispatchv4, &res->dispatchv4); + dispattr = dns_dispatch_getattributes(dispatchv4); + res->exclusivev4 = + ISC_TF((dispattr & DNS_DISPATCHATTR_EXCLUSIVE) != 0); + } res->dispatchv6 = NULL; - if (dispatchv6 != NULL) + if (dispatchv6 != NULL) { dns_dispatch_attach(dispatchv6, &res->dispatchv6); + dispattr = dns_dispatch_getattributes(dispatchv6); + res->exclusivev6 = + ISC_TF((dispattr & DNS_DISPATCHATTR_EXCLUSIVE) != 0); + } res->references = 1; res->exiting = ISC_FALSE; @@ -6506,21 +6524,17 @@ dns_resolver_create(dns_view_t *view, if (result != ISC_R_SUCCESS) goto cleanup_nlock; - result = RES_INITLOCK(&res->poollock); - if (result != ISC_R_SUCCESS) - goto cleanup_primelock; - task = NULL; result = isc_task_create(taskmgr, 0, &task); if (result != ISC_R_SUCCESS) - goto cleanup_poollock; + goto cleanup_primelock; result = isc_timer_create(timermgr, isc_timertype_inactive, NULL, NULL, task, spillattimer_countdown, res, &res->spillattimer); isc_task_detach(&task); if (result != ISC_R_SUCCESS) - goto cleanup_poollock; + goto cleanup_primelock; #if USE_ALGLOCK result = isc_rwlock_init(&res->alglock, 0, 0); @@ -6550,9 +6564,6 @@ dns_resolver_create(dns_view_t *view, isc_timer_detach(&res->spillattimer); #endif - cleanup_poollock: - RES_DESTROYLOCK(&res->poollock); - cleanup_primelock: DESTROYLOCK(&res->primelock); @@ -6774,12 +6785,12 @@ dns_resolver_shutdown(dns_resolver_t *res) { fctx != NULL; fctx = ISC_LIST_NEXT(fctx, link)) fctx_shutdown(fctx); - if (res->dispatchv4 != NULL) { + if (res->dispatchv4 != NULL && !res->exclusivev4) { sock = dns_dispatch_getsocket(res->dispatchv4); isc_socket_cancel(sock, res->buckets[i].task, ISC_SOCKCANCEL_ALL); } - if (res->dispatchv6 != NULL) { + if (res->dispatchv6 != NULL && !res->exclusivev6) { sock = dns_dispatch_getsocket(res->dispatchv6); isc_socket_cancel(sock, res->buckets[i].task, ISC_SOCKCANCEL_ALL); @@ -7463,245 +7474,3 @@ dns_resolver_getoptions(dns_resolver_t *resolver) { return (resolver->options); } - -static void -disppooltimer_update(isc_task_t *task, isc_event_t *event) { - dns_resolver_t *res = event->ev_arg; - isc_sockaddr_t addr4, addr6; - dns_dispatch_t *disp4 = NULL, *disp6 = NULL; - isc_result_t result; - unsigned int nxt; - unsigned int attrs_base, attrs, attrmask; - - REQUIRE(VALID_RESOLVER(res)); - REQUIRE((res->options & DNS_RESOLVER_USEDISPATCHPOOL4) != 0 || - (res->options & DNS_RESOLVER_USEDISPATCHPOOL6) != 0); - - UNUSED(task); - isc_event_free(&event); - - LOCK(&res->lock); - nxt = res->nextdisp++; - if (res->nextdisp == res->ndisps) - res->nextdisp = 0; - UNLOCK(&res->lock); - - attrs_base = 0; - attrs_base |= DNS_DISPATCHATTR_UDP; - attrs_base |= DNS_DISPATCHATTR_RANDOMPORT; - - attrmask = 0; - attrmask |= DNS_DISPATCHATTR_UDP; - attrmask |= DNS_DISPATCHATTR_TCP; - attrmask |= DNS_DISPATCHATTR_IPV4; - attrmask |= DNS_DISPATCHATTR_IPV6; - - RES_LOCK(&res->poollock, isc_rwlocktype_read); - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL4) != 0) { - result = dns_dispatch_getlocaladdress(res->dispatchv4pool[nxt], - &addr4); - INSIST(result == ISC_R_SUCCESS); - } - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL6) != 0) { - result = dns_dispatch_getlocaladdress(res->dispatchv6pool[nxt], - &addr6); - INSIST(result == ISC_R_SUCCESS); - } - RES_UNLOCK(&res->poollock, isc_rwlocktype_read); - - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL4) != 0) { - attrs = attrs_base; - attrs |= DNS_DISPATCHATTR_IPV4; - - result = dns_dispatch_getudp(res->dispatchmgr, - res->socketmgr, - res->taskmgr, &addr4, - 4096, 1000, 32768, 16411, - 16433, attrs, attrmask, - &disp4); - if (result != ISC_R_SUCCESS) { - isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_RESOLVER, ISC_LOG_ERROR, - "could not update an IPv4 random query " - "port: %s", - isc_result_totext(result)); - /* keep the old one */ - } - - /* - * We don't try to ensure the new dispatch is unique (see the - * comments in dns_resolver_createdispatchpool()). - */ - } - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL6) != 0) { - attrs = attrs_base; - attrs |= DNS_DISPATCHATTR_IPV6; - - result = dns_dispatch_getudp(res->dispatchmgr, - res->socketmgr, - res->taskmgr, &addr6, - 4096, 1000, 32768, 16411, - 16433, attrs, attrmask, - &disp6); - if (result != ISC_R_SUCCESS) { - isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_RESOLVER, ISC_LOG_ERROR, - "could not update an IPv6 random query " - "port: %s", - isc_result_totext(result)); - } - } - - RES_LOCK(&res->poollock, isc_rwlocktype_write); - if (disp4 != NULL) { - dns_dispatch_detach(&res->dispatchv4pool[nxt]); - res->dispatchv4pool[nxt] = disp4; - } - if (disp6 != NULL) { - dns_dispatch_detach(&res->dispatchv6pool[nxt]); - res->dispatchv6pool[nxt] = disp6; - } - RES_UNLOCK(&res->poollock, isc_rwlocktype_write); - - return; -} - -isc_result_t -dns_resolver_createdispatchpool(dns_resolver_t *res, unsigned int ndisps, - unsigned int tick) -{ - unsigned int i; - isc_result_t result = ISC_R_SUCCESS; - unsigned int attrs_base, attrs, attrmask; - isc_sockaddr_t addr4, addr6; - dns_dispatch_t *disp; - isc_task_t *task; - isc_interval_t interval; - - REQUIRE(VALID_RESOLVER(res)); - REQUIRE(!res->frozen); /* meaning we don't have to lock res */ - REQUIRE(ndisps > 0); - REQUIRE((res->options & DNS_RESOLVER_USEDISPATCHPOOL4) != 0 || - (res->options & DNS_RESOLVER_USEDISPATCHPOOL6) != 0); - - attrs_base = 0; - attrs_base |= DNS_DISPATCHATTR_UDP; - attrs_base |= DNS_DISPATCHATTR_RANDOMPORT; - - attrmask = 0; - attrmask |= DNS_DISPATCHATTR_UDP; - attrmask |= DNS_DISPATCHATTR_TCP; - attrmask |= DNS_DISPATCHATTR_IPV4; - attrmask |= DNS_DISPATCHATTR_IPV6; - - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL4) != 0) { - INSIST(res->dispatchv4 != NULL); - result = dns_dispatch_getlocaladdress(res->dispatchv4, &addr4); - INSIST(result == ISC_R_SUCCESS && - isc_sockaddr_getport(&addr4) == 0); - res->dispatchv4pool = isc_mem_get(res->mctx, - sizeof(dns_dispatch_t *) * - ndisps); - if (res->dispatchv4pool == NULL) - return (ISC_R_NOMEMORY); - for (i = 0; i < ndisps; i++) - res->dispatchv4pool[i] = NULL; - } - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL6) != 0) { - INSIST(res->dispatchv6 != NULL); - result = dns_dispatch_getlocaladdress(res->dispatchv6, &addr6); - INSIST(result == ISC_R_SUCCESS && - isc_sockaddr_getport(&addr6) == 0); - res->dispatchv6pool = isc_mem_get(res->mctx, - sizeof(dns_dispatch_t *) * - ndisps); - if (res->dispatchv6pool == NULL) { - isc_mem_put(res->mctx, res->dispatchv4pool, - sizeof(dns_dispatch_t *) * ndisps); - res->dispatchv4pool = NULL; - return (ISC_R_NOMEMORY); - } - for (i = 0; i < ndisps; i++) - res->dispatchv6pool[i] = NULL; - } - - for (i = 0; i < ndisps; i++) { - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL4) != 0) { - attrs = attrs_base; - attrs |= DNS_DISPATCHATTR_IPV4; - - disp = NULL; - result = dns_dispatch_getudp(res->dispatchmgr, - res->socketmgr, - res->taskmgr, &addr4, - 4096, 1000, 32768, 16411, - 16433, attrs, attrmask, - &disp); - if (result != ISC_R_SUCCESS) - goto cleanup; - res->dispatchv4pool[i] = disp; - - /* - * It might be better to ensure all ports are - * different, but in practice it's probably okay to - * assume dns_dispatch_getudp() made reasonable - * choices. - */ - } - if ((res->options & DNS_RESOLVER_USEDISPATCHPOOL6) != 0) { - attrs = attrs_base; - attrs |= DNS_DISPATCHATTR_IPV6; - - disp = NULL; - result = dns_dispatch_getudp(res->dispatchmgr, - res->socketmgr, - res->taskmgr, &addr6, - 4096, 1000, 32768, 16411, - 16433, attrs, attrmask, - &disp); - if (result != ISC_R_SUCCESS) - goto cleanup; - - res->dispatchv6pool[i] = disp; - } - } - - /* start update timer */ - if (tick != 0) { - task = NULL; - result = isc_task_create(res->taskmgr, 0, &task); - if (result != ISC_R_SUCCESS) - goto cleanup; - isc_interval_set(&interval, tick, 0); - result = isc_timer_create(res->timermgr, isc_timertype_ticker, - NULL, &interval, task, - disppooltimer_update, - res, &res->disppooltimer); - isc_task_detach(&task); - if (result != ISC_R_SUCCESS) - goto cleanup; - } - - res->ndisps = ndisps; - res->nextdisp = 0; - - return (result); - - cleanup: - if (res->dispatchv4pool != NULL) { - for (i = 0; i < ndisps; i++) - if (res->dispatchv4pool[i] != NULL) - dns_dispatch_detach(&res->dispatchv4pool[i]); - isc_mem_put(res->mctx, res->dispatchv4pool, - sizeof(dns_dispatch_t *) * ndisps); - } - if (res->dispatchv6pool != NULL) { - for (i = 0; i < ndisps; i++) - if (res->dispatchv6pool[i] != NULL) - dns_dispatch_detach(&res->dispatchv6pool[i]); - isc_mem_put(res->mctx, res->dispatchv6pool, - sizeof(dns_dispatch_t *) * ndisps); - } - - return (result); -} diff --git a/lib/dns/view.c b/lib/dns/view.c index 3c73ebcc..6f20e893 100644 --- a/lib/dns/view.c +++ b/lib/dns/view.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: view.c,v 1.143.128.5 2008/05/13 23:46:31 tbox Exp $ */ +/* $Id: view.c,v 1.143.128.7 2008/06/17 03:22:24 marka Exp $ */ /*! \file */ @@ -172,6 +172,10 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, view->recursionacl = NULL; view->recursiononacl = NULL; view->sortlist = NULL; + view->transferacl = NULL; + view->notifyacl = NULL; + view->updateacl = NULL; + view->upfwdacl = NULL; view->requestixfr = ISC_TRUE; view->provideixfr = ISC_TRUE; view->maxcachettl = 7 * 24 * 3600; @@ -299,6 +303,14 @@ destroy(dns_view_t *view) { dns_acl_detach(&view->recursiononacl); if (view->sortlist != NULL) dns_acl_detach(&view->sortlist); + if (view->transferacl != NULL) + dns_acl_detach(&view->transferacl); + if (view->notifyacl != NULL) + dns_acl_detach(&view->notifyacl); + if (view->updateacl != NULL) + dns_acl_detach(&view->updateacl); + if (view->upfwdacl != NULL) + dns_acl_detach(&view->upfwdacl); if (view->delonly != NULL) { dns_name_t *name; int i; @@ -860,17 +872,6 @@ dns_view_find(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, } cleanup: - if (result == DNS_R_NXDOMAIN || result == DNS_R_NXRRSET) { - /* - * We don't care about any DNSSEC proof data in these cases. - */ - if (dns_rdataset_isassociated(rdataset)) - dns_rdataset_disassociate(rdataset); - if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - dns_rdataset_disassociate(sigrdataset); - } - if (dns_rdataset_isassociated(&zrdataset)) { dns_rdataset_disassociate(&zrdataset); if (dns_rdataset_isassociated(&zsigrdataset)) diff --git a/lib/dns/win32/libdns.def b/lib/dns/win32/libdns.def index 1b89cec0..596f371b 100644 --- a/lib/dns/win32/libdns.def +++ b/lib/dns/win32/libdns.def @@ -156,11 +156,14 @@ dns_difftuple_copy dns_difftuple_create dns_difftuple_free dns_dispatch_addresponse +dns_dispatch_addresponse2 dns_dispatch_attach dns_dispatch_cancel dns_dispatch_changeattributes dns_dispatch_createtcp dns_dispatch_detach +dns_dispatch_getattributes +dns_dispatch_getentrysocket dns_dispatch_getlocaladdress dns_dispatch_getsocket dns_dispatch_getudp @@ -170,6 +173,7 @@ dns_dispatch_starttcp dns_dispatchmgr_create dns_dispatchmgr_destroy dns_dispatchmgr_getblackhole +dns_dispatchmgr_setavailports dns_dispatchmgr_setblackhole dns_dispatchmgr_setblackportlist dns_dispatchmgr_setstats @@ -511,7 +515,6 @@ dns_resolver_algorithm_supported dns_resolver_attach dns_resolver_cancelfetch dns_resolver_create -dns_resolver_createdispatchpool dns_resolver_createfetch dns_resolver_createfetch2 dns_resolver_destroyfetch diff --git a/lib/isc/Makefile.in b/lib/isc/Makefile.in index e0a420c7..d3e45165 100644 --- a/lib/isc/Makefile.in +++ b/lib/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2003 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any @@ -13,7 +13,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.93 2007/09/14 03:39:29 marka Exp $ +# $Id: Makefile.in,v 1.93.58.2 2008/06/24 23:46:26 tbox Exp $ srcdir = @srcdir@ VPATH = @srcdir@ @@ -58,7 +58,7 @@ OBJS = @ISC_EXTRA_OBJS@ \ lex.@O@ lfsr.@O@ lib.@O@ log.@O@ \ md5.@O@ mem.@O@ mutexblock.@O@ \ netaddr.@O@ netscope.@O@ ondestroy.@O@ \ - parseint.@O@ quota.@O@ radix.@O@ random.@O@ \ + parseint.@O@ portset.@O@ quota.@O@ radix.@O@ random.@O@ \ ratelimiter.@O@ refcount.@O@ region.@O@ result.@O@ rwlock.@O@ \ serial.@O@ sha1.@O@ sha2.@O@ sockaddr.@O@ \ string.@O@ strtoul.@O@ symtab.@O@ task.@O@ taskpool.@O@ \ @@ -73,7 +73,7 @@ SRCS = @ISC_EXTRA_SRCS@ \ lex.c lfsr.c lib.c log.c \ md5.c mem.c mutexblock.c \ netaddr.c netscope.c ondestroy.c \ - parseint.c quota.c radix.c random.c \ + parseint.c portset.c quota.c radix.c random.c \ ratelimiter.c refcount.c region.c result.c rwlock.c \ serial.c sha1.c sha2.c sockaddr.c string.c strtoul.c \ symtab.c task.c taskpool.c timer.c version.c diff --git a/lib/isc/api b/lib/isc/api index d2b48eaa..f19d6343 100644 --- a/lib/isc/api +++ b/lib/isc/api @@ -1,3 +1,3 @@ -LIBINTERFACE = 42 +LIBINTERFACE = 43 LIBREVISION = 0 -LIBAGE = 1 +LIBAGE = 0 diff --git a/lib/isc/include/isc/lex.h b/lib/isc/include/isc/lex.h index 35c7ccc8..e0c8cc8e 100644 --- a/lib/isc/include/isc/lex.h +++ b/lib/isc/include/isc/lex.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: lex.h,v 1.35 2007/06/19 23:47:18 tbox Exp $ */ +/* $Id: lex.h,v 1.35.128.2 2008/05/30 23:46:31 tbox Exp $ */ #ifndef ISC_LEX_H #define ISC_LEX_H 1 @@ -86,7 +86,7 @@ ISC_LANG_BEGINDECLS #define ISC_LEXOPT_DNSMULTILINE 0x20 /*%< Handle '(' and ')'. */ #define ISC_LEXOPT_NOMORE 0x40 /*%< Want "no more" token. */ -#define ISC_LEXOPT_CNUMBER 0x80 /*%< Regognize octal and hex. */ +#define ISC_LEXOPT_CNUMBER 0x80 /*%< Recognize octal and hex. */ #define ISC_LEXOPT_ESCAPE 0x100 /*%< Recognize escapes. */ #define ISC_LEXOPT_QSTRINGMULTILINE 0x200 /*%< Allow multiline "" strings */ #define ISC_LEXOPT_OCTAL 0x400 /*%< Expect a octal number. */ diff --git a/lib/isc/include/isc/platform.h.in b/lib/isc/include/isc/platform.h.in index 8fd87ab1..21796b92 100644 --- a/lib/isc/include/isc/platform.h.in +++ b/lib/isc/include/isc/platform.h.in @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: platform.h.in,v 1.45.60.2 2008/01/24 23:46:26 tbox Exp $ */ +/* $Id: platform.h.in,v 1.45.60.3 2008/06/24 00:09:12 jinmei Exp $ */ #ifndef ISC_PLATFORM_H #define ISC_PLATFORM_H 1 @@ -136,6 +136,21 @@ */ @ISC_PLATFORM_FIXIN6ISADDR@ +/*! \brief + * Define if the system supports kqueue multiplexing + */ +@ISC_PLATFORM_HAVEKQUEUE@ + +/*! \brief + * Define if the system supports epoll multiplexing + */ +@ISC_PLATFORM_HAVEEPOLL@ + +/*! \brief + * Define if the system supports /dev/poll multiplexing + */ +@ISC_PLATFORM_HAVEDEVPOLL@ + /* *** Printing. ***/ diff --git a/lib/isc/include/isc/portset.h b/lib/isc/include/isc/portset.h new file mode 100644 index 00000000..89909f92 --- /dev/null +++ b/lib/isc/include/isc/portset.h @@ -0,0 +1,141 @@ +/* + * Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC") + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: portset.h,v 1.3.2.2 2008/06/24 23:46:26 tbox Exp $ */ + +/*! \file isc/portset.h + * \brief Transport Protocol Port Manipuration Module + * + * This module provides simple utilities to handle a set of transport protocol + * (UDP or TCP) port numbers, e.g., for creating an ACL list. An isc_portset_t + * object is an opaque instance of a port set, for which the user can add or + * remove a specific port or a range of consecutive ports. This object is + * expected to be used as a temporary work space only, and does not protect + * simultaneous access from multiple threads. Therefore it must not be stored + * in a place that can be accessed from multiple threads. + */ + +#ifndef ISC_PORTSET_H +#define ISC_PORTSET_H 1 + +/*** + *** Imports + ***/ + +#include <isc/net.h> + +/*** + *** Functions + ***/ + +ISC_LANG_BEGINDECLS + +isc_result_t +isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp); +/*%< + * Create a port set and initialize it as an empty set. + * + * Requires: + *\li 'mctx' to be valid. + *\li 'portsetp' to be non NULL and '*portsetp' to be NULL; + * + * Returns: + *\li #ISC_R_SUCCESS + *\li #ISC_R_NOMEMORY + */ + +void +isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp); +/*%< + * Destroy a port set. + * + * Requires: + *\li 'mctx' to be valid and must be the same context given when the port set + * was created. + *\li '*portsetp' to be a valid set. + */ + +isc_boolean_t +isc_portset_isset(isc_portset_t *portset, in_port_t port); +/*%< + * Test whether the given port is stored in the portset. + * + * Requires: + *\li 'portset' to be a valid set. + * + * Returns + * \li #ISC_TRUE if the port is found, ISC_FALSE otherwise. + */ + +unsigned int +isc_portset_nports(isc_portset_t *portset); +/*%< + * Provides the number of ports stored in the given portset. + * + * Requires: + *\li 'portset' to be a valid set. + * + * Returns + * \li the number of ports stored in portset. + */ + +void +isc_portset_add(isc_portset_t *portset, in_port_t port); +/*%< + * Add the given port to the portset. The port may or may not be stored in + * the portset. + * + * Requires: + *\li 'portlist' to be valid. + */ + +void +isc_portset_remove(isc_portset_t *portset, in_port_t port); +/*%< + * Remove the given port to the portset. The port may or may not be stored in + * the portset. + * + * Requires: + *\li 'portlist' to be valid. + */ + +void +isc_portset_addrange(isc_portset_t *portset, in_port_t port_lo, + in_port_t port_hi); +/*%< + * Add a subset of [port_lo, port_hi] (inclusive) to the portset. Ports in the + * subset may or may not be stored in portset. + * + * Requires: + *\li 'portlist' to be valid. + *\li port_lo <= port_hi + */ + +void +isc_portset_removerange(isc_portset_t *portset, in_port_t port_lo, + in_port_t port_hi); +/*%< + * Subtract a subset of [port_lo, port_hi] (inclusive) from the portset. Ports + * in the subset may or may not be stored in portset. + * + * Requires: + *\li 'portlist' to be valid. + *\li port_lo <= port_hi + */ + +ISC_LANG_ENDDECLS + +#endif /* ISC_NETADDR_H */ diff --git a/lib/isc/include/isc/socket.h b/lib/isc/include/isc/socket.h index 44587d52..4cc0a56c 100644 --- a/lib/isc/include/isc/socket.h +++ b/lib/isc/include/isc/socket.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: socket.h,v 1.72 2007/06/18 23:47:44 tbox Exp $ */ +/* $Id: socket.h,v 1.72.128.5 2008/07/03 00:14:13 each Exp $ */ #ifndef ISC_SOCKET_H #define ISC_SOCKET_H 1 @@ -146,7 +146,7 @@ typedef enum { isc_sockettype_udp = 1, isc_sockettype_tcp = 2, isc_sockettype_unix = 3, - isc_sockettype_fdwatch = 4, + isc_sockettype_fdwatch = 4 } isc_sockettype_t; /*@{*/ @@ -361,6 +361,51 @@ isc_socket_detach(isc_socket_t **socketp); */ isc_result_t +isc_socket_open(isc_socket_t *sock); +/*%< + * Open a new socket file descriptor of the given socket structure. It simply + * opens a new descriptor; all of the other parameters including the socket + * type are inherited from the existing socket. This function is provided to + * avoid overhead of destroying and creating sockets when many short-lived + * sockets are frequently opened and closed. When the efficiency is not an + * issue, it should be safer to detach the unused socket and re-create a new + * one. This optimization may not be available for some systems, in which + * case this function will return ISC_R_NOTIMPLEMENTED and must not be used. + * + * Requires: + * + * \li there must be no other reference to this socket. + * + * \li 'socket' is a valid and previously closed by isc_socket_close() + * + * Returns: + * Same as isc_socket_create(). + * \li ISC_R_NOTIMPLEMENTED + */ + +isc_result_t +isc_socket_close(isc_socket_t *sock); +/*%< + * Close a socket file descriptor of the given socket structure. This function + * is provided as an alternative to destroying an unused socket when overhead + * destroying/re-creating sockets can be significant, and is expected to be + * used with isc_socket_open(). This optimization may not be available for some + * systems, in which case this function will return ISC_R_NOTIMPLEMENTED and + * must not be used. + * + * Requires: + * + * \li The socket must have a valid descriptor. + * + * \li There must be no other reference to this socket. + * + * \li There must be no pending I/O requests. + * + * Returns: + * \li #ISC_R_NOTIMPLEMENTED + */ + +isc_result_t isc_socket_bind(isc_socket_t *sock, isc_sockaddr_t *addressp); /*%< * Bind 'socket' to '*addressp'. @@ -780,7 +825,7 @@ isc_socket_cleanunix(isc_sockaddr_t *addr, isc_boolean_t active); isc_result_t isc_socket_permunix(isc_sockaddr_t *sockaddr, isc_uint32_t perm, - isc_uint32_t owner, isc_uint32_t group); + isc_uint32_t owner, isc_uint32_t group); /*%< * Set ownership and file permissions on the UNIX domain socket. * diff --git a/lib/isc/include/isc/timer.h b/lib/isc/include/isc/timer.h index 69b9d2b0..03570460 100644 --- a/lib/isc/include/isc/timer.h +++ b/lib/isc/include/isc/timer.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: timer.h,v 1.38 2007/06/19 23:47:18 tbox Exp $ */ +/* $Id: timer.h,v 1.38.128.2 2008/06/24 23:46:26 tbox Exp $ */ #ifndef ISC_TIMER_H #define ISC_TIMER_H 1 @@ -76,6 +76,7 @@ #include <isc/event.h> #include <isc/eventclass.h> #include <isc/lang.h> +#include <isc/time.h> ISC_LANG_BEGINDECLS @@ -93,6 +94,7 @@ typedef enum { typedef struct isc_timerevent { struct isc_event common; + isc_time_t due; } isc_timerevent_t; #define ISC_TIMEREVENT_FIRSTEVENT (ISC_EVENTCLASS_TIMER + 0) diff --git a/lib/isc/include/isc/types.h b/lib/isc/include/isc/types.h index 7dc4f331..9d129f28 100644 --- a/lib/isc/include/isc/types.h +++ b/lib/isc/include/isc/types.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: types.h,v 1.43.128.2 2008/01/17 23:46:37 tbox Exp $ */ +/* $Id: types.h,v 1.43.128.3 2008/06/24 00:09:12 jinmei Exp $ */ #ifndef ISC_TYPES_H #define ISC_TYPES_H 1 @@ -70,6 +70,7 @@ typedef struct isc_mempool isc_mempool_t; /*%< Memory Pool */ typedef struct isc_msgcat isc_msgcat_t; /*%< Message Catalog */ typedef struct isc_ondestroy isc_ondestroy_t; /*%< On Destroy */ typedef struct isc_netaddr isc_netaddr_t; /*%< Net Address */ +typedef struct isc_portset isc_portset_t; /*%< Port Set */ typedef struct isc_quota isc_quota_t; /*%< Quota */ typedef struct isc_random isc_random_t; /*%< Random */ typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */ diff --git a/lib/isc/portset.c b/lib/isc/portset.c new file mode 100644 index 00000000..ad154f35 --- /dev/null +++ b/lib/isc/portset.c @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC") + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: portset.c,v 1.2.2.3 2008/06/24 23:26:49 marka Exp $ */ + +/*! \file */ + +#include <config.h> + +#include <isc/mem.h> +#include <isc/portset.h> +#include <isc/string.h> +#include <isc/types.h> +#include <isc/util.h> + +#define ISC_PORTSET_BUFSIZE (65536 / (sizeof(isc_uint32_t) * 8)) + +/*% + * Internal representation of portset. It's an array of 32-bit integers, each + * bit corresponding to a single port in the ascending order. For example, + * the second most significant bit of buf[0] corresponds to port 1. + */ +struct isc_portset { + unsigned int nports; /*%< number of ports in the set */ + isc_uint32_t buf[ISC_PORTSET_BUFSIZE]; +}; + +static inline isc_boolean_t +portset_isset(isc_portset_t *portset, in_port_t port) { + return (ISC_TF((portset->buf[port >> 5] & (1 << (port & 31))) != 0)); +} + +static inline void +portset_add(isc_portset_t *portset, in_port_t port) { + if (!portset_isset(portset, port)) { + portset->nports++; + portset->buf[port >> 5] |= (1 << (port & 31)); + } +} + +static inline void +portset_remove(isc_portset_t *portset, in_port_t port) { + if (portset_isset(portset, port)) { + portset->nports--; + portset->buf[port >> 5] &= ~(1 << (port & 31)); + } +} + +isc_result_t +isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp) { + isc_portset_t *portset; + + REQUIRE(portsetp != NULL && *portsetp == NULL); + + portset = isc_mem_get(mctx, sizeof(*portset)); + if (portset == NULL) + return (ISC_R_NOMEMORY); + + /* Make the set 'empty' by default */ + memset(portset, 0, sizeof(*portset)); + *portsetp = portset; + + return (ISC_R_SUCCESS); +} + +void +isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp) { + isc_portset_t *portset; + + REQUIRE(portsetp != NULL); + portset = *portsetp; + + isc_mem_put(mctx, portset, sizeof(*portset)); +} + +isc_boolean_t +isc_portset_isset(isc_portset_t *portset, in_port_t port) { + REQUIRE(portset != NULL); + + return (portset_isset(portset, port)); +} + +unsigned int +isc_portset_nports(isc_portset_t *portset) { + REQUIRE(portset != NULL); + + return (portset->nports); +} + +void +isc_portset_add(isc_portset_t *portset, in_port_t port) { + REQUIRE(portset != NULL); + + portset_add(portset, port); +} + +void +isc_portset_remove(isc_portset_t *portset, in_port_t port) { + portset_remove(portset, port); +} + +void +isc_portset_addrange(isc_portset_t *portset, in_port_t port_lo, + in_port_t port_hi) +{ + in_port_t p; + + REQUIRE(portset != NULL); + REQUIRE(port_lo <= port_hi); + + p = port_lo; + do { + portset_add(portset, p); + } while (p++ < port_hi); +} + +void +isc_portset_removerange(isc_portset_t *portset, in_port_t port_lo, + in_port_t port_hi) +{ + in_port_t p; + + REQUIRE(portset != NULL); + REQUIRE(port_lo <= port_hi); + + p = port_lo; + do { + portset_remove(portset, p); + } while (p++ < port_hi); +} diff --git a/lib/isc/timer.c b/lib/isc/timer.c index fb599796..390a755e 100644 --- a/lib/isc/timer.c +++ b/lib/isc/timer.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: timer.c,v 1.81 2007/10/24 00:57:23 marka Exp $ */ +/* $Id: timer.c,v 1.81.32.2 2008/06/24 23:46:26 tbox Exp $ */ /*! \file */ @@ -225,7 +225,7 @@ schedule(isc_timer_t *timer, isc_time_t *now, isc_boolean_t signal_ok) { "*** POKED TIMER ***"); } } - + if (timer->index == 1 && signal_ok) { XTRACE(isc_msgcat_get(isc_msgcat, ISC_MSGSET_TIMER, ISC_MSG_SIGNALSCHED, @@ -577,7 +577,7 @@ isc_timer_detach(isc_timer_t **timerp) { static void dispatch(isc_timermgr_t *manager, isc_time_t *now) { isc_boolean_t done = ISC_FALSE, post_event, need_schedule; - isc_event_t *event; + isc_timerevent_t *event; isc_eventtype_t type = 0; isc_timer_t *timer; isc_result_t result; @@ -650,16 +650,18 @@ dispatch(isc_timermgr_t *manager, isc_time_t *now) { /* * XXX We could preallocate this event. */ - event = isc_event_allocate(manager->mctx, + event = (isc_timerevent_t *)isc_event_allocate(manager->mctx, timer, type, timer->action, timer->arg, sizeof(*event)); - if (event != NULL) - isc_task_send(timer->task, &event); - else + if (event != NULL) { + event->due = timer->due; + isc_task_send(timer->task, + (isc_event_t **)&event); + } else UNEXPECTED_ERROR(__FILE__, __LINE__, isc_msgcat_get(isc_msgcat, ISC_MSGSET_TIMER, diff --git a/lib/isc/unix/app.c b/lib/isc/unix/app.c index 675fd000..9a8ed6b0 100644 --- a/lib/isc/unix/app.c +++ b/lib/isc/unix/app.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: app.c,v 1.54.128.3 2008/01/17 23:46:37 tbox Exp $ */ +/* $Id: app.c,v 1.54.128.4 2008/06/24 00:09:12 jinmei Exp $ */ /*! \file */ @@ -30,6 +30,9 @@ #include <unistd.h> #include <signal.h> #include <sys/time.h> +#ifdef HAVE_EPOLL +#include <sys/epoll.h> +#endif #include <isc/app.h> #include <isc/boolean.h> @@ -303,8 +306,7 @@ evloop() { int n; isc_time_t when, now; struct timeval tv, *tvp; - fd_set readfds, writefds; - int maxfd; + isc_socketwait_t *swait; isc_boolean_t readytasks; isc_boolean_t call_timer_dispatch = ISC_FALSE; @@ -331,8 +333,8 @@ evloop() { } } - isc__socketmgr_getfdsets(&readfds, &writefds, &maxfd); - n = select(maxfd, &readfds, &writefds, NULL, tvp); + swait = NULL; + n = isc__socketmgr_waitevents(tvp, &swait); if (n == 0 || call_timer_dispatch) { /* @@ -352,8 +354,7 @@ evloop() { isc__timermgr_dispatch(); } if (n > 0) - (void)isc__socketmgr_dispatch(&readfds, &writefds, - maxfd); + (void)isc__socketmgr_dispatch(swait); (void)isc__taskmgr_dispatch(); if (want_reload) { diff --git a/lib/isc/unix/include/isc/net.h b/lib/isc/unix/include/isc/net.h index cb40de2c..82d46d33 100644 --- a/lib/isc/unix/include/isc/net.h +++ b/lib/isc/unix/include/isc/net.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: net.h,v 1.46 2007/06/19 23:47:19 tbox Exp $ */ +/* $Id: net.h,v 1.46.128.2 2008/06/24 23:46:27 tbox Exp $ */ #ifndef ISC_NET_H #define ISC_NET_H 1 @@ -104,7 +104,7 @@ /*% * Required for some pre RFC2133 implementations. * IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT were added in - * draft-ietf-ipngwg-bsd-api-04.txt or draft-ietf-ipngwg-bsd-api-05.txt. + * draft-ietf-ipngwg-bsd-api-04.txt or draft-ietf-ipngwg-bsd-api-05.txt. * If 's6_addr' is defined then assume that there is a union and three * levels otherwise assume two levels required. */ @@ -202,7 +202,7 @@ extern const struct in6_addr isc_net_in6addrloop; #ifdef ISC_PLATFORM_FIXIN6ISADDR #undef IN6_IS_ADDR_GEOGRAPHIC -/*! +/*! * \brief * Fix UnixWare 7.1.1's broken IN6_IS_ADDR_* definitions. */ @@ -324,6 +324,23 @@ isc_net_probeunix(void); * Returns whether UNIX domain sockets are supported. */ +isc_result_t +isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high); +/*%< + * Returns system's default range of ephemeral UDP ports, if defined. + * If the range is not available or unknown, ISC_NET_PORTRANGELOW and + * ISC_NET_PORTRANGEHIGH will be returned. + * + * Requires: + * + *\li 'low' and 'high' must be non NULL. + * + * Returns: + * + *\li *low and *high will be the ports specifying the low and high ends of + * the range. + */ + #ifdef ISC_PLATFORM_NEEDNTOP const char * isc_net_ntop(int af, const void *src, char *dst, size_t size); diff --git a/lib/isc/unix/net.c b/lib/isc/unix/net.c index b19ace9c..fc2217eb 100644 --- a/lib/isc/unix/net.c +++ b/lib/isc/unix/net.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,10 +15,19 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: net.c,v 1.36 2007/09/13 04:45:18 each Exp $ */ +/* $Id: net.c,v 1.36.60.4 2008/07/04 05:52:16 each Exp $ */ #include <config.h> +#include <sys/types.h> + +#if defined(HAVE_SYS_SYSCTL_H) +#if defined(HAVE_SYS_PARAM_H) +#include <sys/param.h> +#endif +#include <sys/sysctl.h> +#endif + #include <errno.h> #include <unistd.h> @@ -30,6 +39,59 @@ #include <isc/string.h> #include <isc/util.h> +/*% + * Definitions about UDP port range specification. This is a total mess of + * portability variants: some use sysctl (but the sysctl names vary), some use + * system-specific interfaces, some have the same interface for IPv4 and IPv6, + * some separate them, etc... + */ + +/*% + * The last resort defaults: use all non well known port space + */ +#ifndef ISC_NET_PORTRANGELOW +#define ISC_NET_PORTRANGELOW 1024 +#endif /* ISC_NET_PORTRANGELOW */ +#ifndef ISC_NET_PORTRANGEHIGH +#define ISC_NET_PORTRANGEHIGH 65535 +#endif /* ISC_NET_PORTRANGEHIGH */ + +#ifdef HAVE_SYSCTLBYNAME + +/*% + * sysctl variants + */ +#if defined(__FreeBSD__) || defined(__APPLE__) || defined(__DragonFly__) +#define USE_SYSCTL_PORTRANGE +#define SYSCTL_V4PORTRANGE_LOW "net.inet.ip.portrange.hifirst" +#define SYSCTL_V4PORTRANGE_HIGH "net.inet.ip.portrange.hilast" +#define SYSCTL_V6PORTRANGE_LOW "net.inet.ip.portrange.hifirst" +#define SYSCTL_V6PORTRANGE_HIGH "net.inet.ip.portrange.hilast" +#endif + +#ifdef __NetBSD__ +#define USE_SYSCTL_PORTRANGE +#define SYSCTL_V4PORTRANGE_LOW "net.inet.ip.anonportmin" +#define SYSCTL_V4PORTRANGE_HIGH "net.inet.ip.anonportmax" +#define SYSCTL_V6PORTRANGE_LOW "net.inet6.ip6.anonportmin" +#define SYSCTL_V6PORTRANGE_HIGH "net.inet6.ip6.anonportmax" +#endif + +#else /* !HAVE_SYSCTLBYNAME */ + +#ifdef __OpenBSD__ +#define USE_SYSCTL_PORTRANGE +#define SYSCTL_V4PORTRANGE_LOW { CTL_NET, PF_INET, IPPROTO_IP, \ + IPCTL_IPPORT_HIFIRSTAUTO } +#define SYSCTL_V4PORTRANGE_HIGH { CTL_NET, PF_INET, IPPROTO_IP, \ + IPCTL_IPPORT_HILASTAUTO } +/* Same for IPv6 */ +#define SYSCTL_V6PORTRANGE_LOW SYSCTL_V4PORTRANGE_LOW +#define SYSCTL_V6PORTRANGE_HIGH SYSCTL_V4PORTRANGE_HIGH +#endif + +#endif /* HAVE_SYSCTLBYNAME */ + #if defined(ISC_PLATFORM_HAVEIPV6) # if defined(ISC_PLATFORM_NEEDIN6ADDRANY) const struct in6_addr isc_net_in6addrany = IN6ADDR_ANY_INIT; @@ -338,6 +400,101 @@ isc_net_probe_ipv6pktinfo(void) { return (ipv6pktinfo_result); } +#if defined(USE_SYSCTL_PORTRANGE) +#if defined(HAVE_SYSCTLBYNAME) +static isc_result_t +getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { + int port_low, port_high; + size_t portlen; + const char *sysctlname_lowport, *sysctlname_hiport; + + if (af == AF_INET) { + sysctlname_lowport = SYSCTL_V4PORTRANGE_LOW; + sysctlname_hiport = SYSCTL_V4PORTRANGE_HIGH; + } else { + sysctlname_lowport = SYSCTL_V6PORTRANGE_LOW; + sysctlname_hiport = SYSCTL_V6PORTRANGE_HIGH; + } + portlen = sizeof(portlen); + if (sysctlbyname(sysctlname_lowport, &port_low, &portlen, + NULL, 0) < 0) { + return (ISC_R_FAILURE); + } + portlen = sizeof(portlen); + if (sysctlbyname(sysctlname_hiport, &port_high, &portlen, + NULL, 0) < 0) { + return (ISC_R_FAILURE); + } + if ((port_low & ~0xffff) != 0 || (port_high & ~0xffff) != 0) + return (ISC_R_RANGE); + + *low = (in_port_t)port_low; + *high = (in_port_t)port_high; + + return (ISC_R_SUCCESS); +} +#else /* !HAVE_SYSCTLBYNAME */ +static isc_result_t +getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { + int mib_lo4[4] = SYSCTL_V4PORTRANGE_LOW; + int mib_hi4[4] = SYSCTL_V4PORTRANGE_HIGH; + int mib_lo6[4] = SYSCTL_V6PORTRANGE_LOW; + int mib_hi6[4] = SYSCTL_V6PORTRANGE_HIGH; + int *mib_lo, *mib_hi, miblen; + int port_low, port_high; + size_t portlen; + + if (af == AF_INET) { + mib_lo = mib_lo4; + mib_hi = mib_hi4; + miblen = sizeof(mib_lo4) / sizeof(mib_lo4[0]); + } else { + mib_lo = mib_lo6; + mib_hi = mib_hi6; + miblen = sizeof(mib_lo6) / sizeof(mib_lo6[0]); + } + + portlen = sizeof(portlen); + if (sysctl(mib_lo, miblen, &port_low, &portlen, NULL, 0) < 0) { + return (ISC_R_FAILURE); + } + + portlen = sizeof(portlen); + if (sysctl(mib_hi, miblen, &port_high, &portlen, NULL, 0) < 0) { + return (ISC_R_FAILURE); + } + + if ((port_low & ~0xffff) != 0 || (port_high & ~0xffff) != 0) + return (ISC_R_RANGE); + + *low = (in_port_t) port_low; + *high = (in_port_t) port_high; + + return (ISC_R_SUCCESS); +} +#endif /* HAVE_SYSCTLBYNAME */ +#endif /* USE_SYSCTL_PORTRANGE */ + +isc_result_t +isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) { + int result = ISC_R_FAILURE; + + REQUIRE(low != NULL && high != NULL); + +#if defined(USE_SYSCTL_PORTRANGE) + result = getudpportrange_sysctl(af, low, high); +#else + UNUSED(af); +#endif + + if (result != ISC_R_SUCCESS) { + *low = ISC_NET_PORTRANGELOW; + *high = ISC_NET_PORTRANGEHIGH; + } + + return (ISC_R_SUCCESS); /* we currently never fail in this function */ +} + void isc_net_disableipv4(void) { initialize(); diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c index aebd825f..f4cba28b 100644 --- a/lib/isc/unix/socket.c +++ b/lib/isc/unix/socket.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: socket.c,v 1.275.10.4 2008/03/27 21:10:24 jinmei Exp $ */ +/* $Id: socket.c,v 1.275.10.10 2008/07/03 00:14:13 each Exp $ */ /*! \file */ @@ -25,9 +25,6 @@ #include <sys/types.h> #include <sys/socket.h> #include <sys/stat.h> -#ifdef ISC_PLATFORM_HAVESYSUNH -#include <sys/un.h> -#endif #include <sys/time.h> #include <sys/uio.h> @@ -59,6 +56,19 @@ #include <isc/util.h> #include <isc/xml.h> +#ifdef ISC_PLATFORM_HAVESYSUNH +#include <sys/un.h> +#endif +#ifdef ISC_PLATFORM_HAVEKQUEUE +#include <sys/event.h> +#endif +#ifdef ISC_PLATFORM_HAVEEPOLL +#include <sys/epoll.h> +#endif +#ifdef ISC_PLATFORM_HAVEDEVPOLL +#include <sys/devpoll.h> +#endif + #include "errno2result.h" #ifndef ISC_PLATFORM_USETHREADS @@ -70,6 +80,70 @@ #endif /*% + * Choose the most preferable multiplex method. + */ +#ifdef ISC_PLATFORM_HAVEKQUEUE +#define USE_KQUEUE +#elif defined (ISC_PLATFORM_HAVEEPOLL) +#define USE_EPOLL +#elif defined (ISC_PLATFORM_HAVEDEVPOLL) +#define USE_DEVPOLL +typedef struct { + unsigned int want_read : 1, + want_write : 1; +} pollinfo_t; +#else +#define USE_SELECT +#endif /* ISC_PLATFORM_HAVEKQUEUE */ + +#ifndef ISC_PLATFORM_USETHREADS +#if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL) +struct isc_socketwait { + int nevents; +}; +#elif defined (USE_SELECT) +struct isc_socketwait { + fd_set readset; + fd_set writeset; + int nfds; + int maxfd; +}; +#endif /* USE_KQUEUE */ +#endif /* !ISC_PLATFORM_USETHREADS */ + +/*% + * Maximum number of allowable open sockets. This is also the maximum + * allowable socket file descriptor. This definition is meaningless with + * USE_SELECT due to the API limitation of select(2). + */ +#if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL) +#ifndef ISC_SOCKET_MAXSOCKETS +#define ISC_SOCKET_MAXSOCKETS 4096 +#endif +#endif /* USE_KQUEUE || USE_EPOLL || USE_DEVPOLL */ + +/*% + * Size of per-FD lock buckets. + */ +#ifdef ISC_PLATFORM_USETHREADS +#define FDLOCK_COUNT 1024 +#define FDLOCK_ID(fd) ((fd) % FDLOCK_COUNT) +#else +#define FDLOCK_COUNT 1 +#define FDLOCK_ID(fd) 0 +#endif /* ISC_PLATFORM_USETHREADS */ + +/*% + * Maximum number of events communicated with the kernel. There should normally + * be no need for having a large number. + */ +#if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL) +#ifndef ISC_SOCKET_MAXEVENTS +#define ISC_SOCKET_MAXEVENTS 64 +#endif +#endif + +/*% * Some systems define the socket length argument as an int, some as size_t, * some as socklen_t. This is here so it can be easily changed if needed. */ @@ -209,17 +283,44 @@ struct isc_socketmgr { unsigned int magic; isc_mem_t *mctx; isc_mutex_t lock; + isc_mutex_t *fdlock; +#ifdef USE_KQUEUE + int kqueue_fd; + int nevents; + struct kevent *events; +#endif /* USE_KQUEUE */ +#ifdef USE_EPOLL + int epoll_fd; + int nevents; + struct epoll_event *events; +#endif /* USE_EPOLL */ +#ifdef USE_DEVPOLL + int devpoll_fd; + int nevents; + struct pollfd *events; +#endif /* USE_DEVPOLL */ + unsigned int maxsocks; +#ifdef ISC_PLATFORM_USETHREADS + int pipe_fds[2]; +#endif + + /* Locked by fdlock. */ + isc_socket_t **fds; + int *fdstate; +#ifdef USE_DEVPOLL + pollinfo_t *fdpollinfo; +#endif + /* Locked by manager lock. */ ISC_LIST(isc_socket_t) socklist; +#ifdef USE_SELECT fd_set read_fds; fd_set write_fds; - isc_socket_t *fds[FD_SETSIZE]; - int fdstate[FD_SETSIZE]; int maxfd; +#endif /* USE_SELECT */ #ifdef ISC_PLATFORM_USETHREADS isc_thread_t watcher; isc_condition_t shutdown_ok; - int pipe_fds[2]; #else /* ISC_PLATFORM_USETHREADS */ unsigned int refs; #endif /* ISC_PLATFORM_USETHREADS */ @@ -261,6 +362,9 @@ static void build_msghdr_send(isc_socket_t *, isc_socketevent_t *, struct msghdr *, struct iovec *, size_t *); static void build_msghdr_recv(isc_socket_t *, isc_socketevent_t *, struct msghdr *, struct iovec *, size_t *); +#ifdef ISC_PLATFORM_USETHREADS +static isc_boolean_t process_ctlfd(isc_socketmgr_t *manager); +#endif #define SELECT_POKE_SHUTDOWN (-1) #define SELECT_POKE_NOTHING (-2) @@ -329,9 +433,164 @@ socket_log(isc_socket_t *sock, isc_sockaddr_t *address, } } +static inline isc_result_t +watch_fd(isc_socketmgr_t *manager, int fd, int msg) { + isc_result_t result = ISC_R_SUCCESS; + +#ifdef USE_KQUEUE + struct kevent evchange; + + memset(&evchange, 0, sizeof(evchange)); + if (msg == SELECT_POKE_READ) + evchange.filter = EVFILT_READ; + else + evchange.filter = EVFILT_WRITE; + evchange.flags = EV_ADD; + evchange.ident = fd; + if (kevent(manager->kqueue_fd, &evchange, 1, NULL, 0, NULL) != 0) + result = isc__errno2result(errno); + + return (result); +#elif defined(USE_EPOLL) + struct epoll_event event; + + if (msg == SELECT_POKE_READ) + event.events = EPOLLIN; + else + event.events = EPOLLOUT; + event.data.fd = fd; + if (epoll_ctl(manager->epoll_fd, EPOLL_CTL_ADD, fd, &event) == -1 && + errno != EEXIST) { + result = isc__errno2result(errno); + } + + return (result); +#elif defined(USE_DEVPOLL) + struct pollfd pfd; + int lockid = FDLOCK_ID(fd); + + memset(&pfd, 0, sizeof(pfd)); + if (msg == SELECT_POKE_READ) + pfd.events = POLLIN; + else + pfd.events = POLLOUT; + pfd.fd = fd; + pfd.revents = 0; + LOCK(&manager->fdlock[lockid]); + if (write(manager->devpoll_fd, &pfd, sizeof(pfd)) == -1) + result = isc__errno2result(errno); + else { + if (msg == SELECT_POKE_READ) + manager->fdpollinfo[fd].want_read = 1; + else + manager->fdpollinfo[fd].want_write = 1; + } + UNLOCK(&manager->fdlock[lockid]); + + return (result); +#elif defined(USE_SELECT) + LOCK(&manager->lock); + if (msg == SELECT_POKE_READ) + FD_SET(fd, &manager->read_fds); + if (msg == SELECT_POKE_WRITE) + FD_SET(fd, &manager->write_fds); + UNLOCK(&manager->lock); + + return (result); +#endif +} + +static inline isc_result_t +unwatch_fd(isc_socketmgr_t *manager, int fd, int msg) { + isc_result_t result = ISC_R_SUCCESS; + +#ifdef USE_KQUEUE + struct kevent evchange; + + memset(&evchange, 0, sizeof(evchange)); + if (msg == SELECT_POKE_READ) + evchange.filter = EVFILT_READ; + else + evchange.filter = EVFILT_WRITE; + evchange.flags = EV_DELETE; + evchange.ident = fd; + if (kevent(manager->kqueue_fd, &evchange, 1, NULL, 0, NULL) != 0) + result = isc__errno2result(errno); + + return (result); +#elif defined(USE_EPOLL) + struct epoll_event event; + + if (msg == SELECT_POKE_READ) + event.events = EPOLLIN; + else + event.events = EPOLLOUT; + event.data.fd = fd; + if (epoll_ctl(manager->epoll_fd, EPOLL_CTL_DEL, fd, &event) == -1 && + errno != ENOENT) { + char strbuf[ISC_STRERRORSIZE]; + isc__strerror(errno, strbuf, sizeof(strbuf)); + UNEXPECTED_ERROR(__FILE__, __LINE__, + "epoll_ctl(DEL), %d: %s", fd, strbuf); + result = ISC_R_UNEXPECTED; + } + return (result); +#elif defined(USE_DEVPOLL) + struct pollfd pfds[2]; + size_t writelen = sizeof(pfds[0]); + int lockid = FDLOCK_ID(fd); + + memset(pfds, 0, sizeof(pfds)); + pfds[0].events = POLLREMOVE; + pfds[0].fd = fd; + + /* + * Canceling read or write polling via /dev/poll is tricky. Since it + * only provides a way of canceling per FD, we may need to re-poll the + * socket for the other operation. + */ + LOCK(&manager->fdlock[lockid]); + if (msg == SELECT_POKE_READ && + manager->fdpollinfo[fd].want_write == 1) { + pfds[1].events = POLLOUT; + pfds[1].fd = fd; + writelen += sizeof(pfds[1]); + } + if (msg == SELECT_POKE_WRITE && + manager->fdpollinfo[fd].want_read == 1) { + pfds[1].events = POLLIN; + pfds[1].fd = fd; + writelen += sizeof(pfds[1]); + } + + if (write(manager->devpoll_fd, pfds, writelen) == -1) + result = isc__errno2result(errno); + else { + if (msg == SELECT_POKE_READ) + manager->fdpollinfo[fd].want_read = 0; + else + manager->fdpollinfo[fd].want_write = 0; + } + UNLOCK(&manager->fdlock[lockid]); + + return (result); +#elif defined(USE_SELECT) + LOCK(&manager->lock); + if (msg == SELECT_POKE_READ) + FD_CLR(fd, &manager->read_fds); + else if (msg == SELECT_POKE_WRITE) + FD_CLR(fd, &manager->write_fds); + UNLOCK(&manager->lock); + + return (result); +#endif +} + static void wakeup_socket(isc_socketmgr_t *manager, int fd, int msg) { - isc_socket_t *sock; + isc_result_t result; + isc_boolean_t needclose; + int lockid = FDLOCK_ID(fd); /* * This is a wakeup on a socket. If the socket is not in the @@ -339,29 +598,50 @@ wakeup_socket(isc_socketmgr_t *manager, int fd, int msg) { * or writes. */ - INSIST(fd >= 0 && fd < (int)FD_SETSIZE); + INSIST(fd >= 0 && fd < (int)manager->maxsocks); + LOCK(&manager->fdlock[lockid]); if (manager->fdstate[fd] == CLOSE_PENDING || manager->fdstate[fd] == MANAGER_CLOSE_PENDING) { - FD_CLR(fd, &manager->read_fds); - FD_CLR(fd, &manager->write_fds); - if (manager->fdstate[fd] == CLOSE_PENDING) - (void)close(fd); + needclose = ISC_TF(manager->fdstate[fd] == CLOSE_PENDING); manager->fdstate[fd] = CLOSED; + UNLOCK(&manager->fdlock[lockid]); + + /* + * We accept (and ignore) any error from unwatch_fd() as we are + * closing the socket, hoping it doesn't leave dangling state in + * the kernel. + * Note that unwatch_fd() must be called after releasing the + * fdlock; otherwise it could cause deadlock due to a lock order + * reversal. + */ + (void)unwatch_fd(manager, fd, SELECT_POKE_READ); + (void)unwatch_fd(manager, fd, SELECT_POKE_WRITE); + if (needclose) + (void)close(fd); return; } - if (manager->fdstate[fd] != MANAGED) + if (manager->fdstate[fd] != MANAGED) { + UNLOCK(&manager->fdlock[lockid]); return; - - sock = manager->fds[fd]; + } + UNLOCK(&manager->fdlock[lockid]); /* * Set requested bit. */ - if (msg == SELECT_POKE_READ) - FD_SET(sock->fd, &manager->read_fds); - if (msg == SELECT_POKE_WRITE) - FD_SET(sock->fd, &manager->write_fds); + result = watch_fd(manager, fd, msg); + if (result != ISC_R_SUCCESS) { + /* + * XXXJT: what should we do? Ignoring the failure of watching + * a socket will make the application dysfunctional, but there + * seems to be no reasonable recovery process. + */ + isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, + ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, + "failed to start watching FD (%d): %s", + fd, isc_result_totext(result)); + } } #ifdef ISC_PLATFORM_USETHREADS @@ -656,7 +936,7 @@ build_msghdr_send(isc_socket_t *sock, isc_socketevent_t *dev, memset(msg, 0, sizeof(*msg)); - if (sock->type == isc_sockettype_udp) { + if (!sock->connected) { msg->msg_name = (void *)&dev->address.type.sa; msg->msg_namelen = dev->address.length; } else { @@ -1222,7 +1502,55 @@ doio_send(isc_socket_t *sock, isc_socketevent_t *dev) { * references exist. */ static void +closesocket(isc_socketmgr_t *manager, isc_sockettype_t type, int fd) { + int lockid = FDLOCK_ID(fd); + + /* + * No one has this socket open, so the watcher doesn't have to be + * poked, and the socket doesn't have to be locked. + */ + LOCK(&manager->fdlock[lockid]); + manager->fds[fd] = NULL; + if (type == isc_sockettype_fdwatch) + manager->fdstate[fd] = MANAGER_CLOSE_PENDING; + else + manager->fdstate[fd] = CLOSE_PENDING; + UNLOCK(&manager->fdlock[lockid]); + select_poke(manager, fd, SELECT_POKE_CLOSE); + + /* + * update manager->maxfd here (XXX: this should be implemented more + * efficiently) + */ +#ifdef USE_SELECT + LOCK(&manager->lock); + if (manager->maxfd == fd) { + int i; + + manager->maxfd = 0; + for (i = fd - 1; i >= 0; i--) { + lockid = FDLOCK_ID(i); + + LOCK(&manager->fdlock[lockid]); + if (manager->fdstate[i] == MANAGED) { + manager->maxfd = i; + UNLOCK(&manager->fdlock[lockid]); + break; + } + UNLOCK(&manager->fdlock[lockid]); + } +#ifdef ISC_PLATFORM_USETHREADS + if (manager->maxfd < manager->pipe_fds[0]) + manager->maxfd = manager->pipe_fds[0]; +#endif + } + UNLOCK(&manager->lock); +#endif /* USE_SELECT */ +} + +static void destroy(isc_socket_t **sockp) { + int fd; isc_socket_t *sock = *sockp; isc_socketmgr_t *manager = sock->manager; @@ -1233,20 +1561,16 @@ destroy(isc_socket_t **sockp) { INSIST(ISC_LIST_EMPTY(sock->recv_list)); INSIST(ISC_LIST_EMPTY(sock->send_list)); INSIST(sock->connect_ev == NULL); - REQUIRE(sock->fd >= 0 && sock->fd < (int)FD_SETSIZE); + REQUIRE(sock->fd == -1 || sock->fd < (int)manager->maxsocks); + + if (sock->fd >= 0) { + fd = sock->fd; + sock->fd = -1; + closesocket(manager, sock->type, fd); + } LOCK(&manager->lock); - /* - * No one has this socket open, so the watcher doesn't have to be - * poked, and the socket doesn't have to be locked. - */ - manager->fds[sock->fd] = NULL; - if (sock->type == isc_sockettype_fdwatch) - manager->fdstate[sock->fd] = MANAGER_CLOSE_PENDING; - else - manager->fdstate[sock->fd] = CLOSE_PENDING; - select_poke(manager, sock->fd, SELECT_POKE_CLOSE); ISC_LIST_UNLINK(manager->socklist, sock, link); #ifdef ISC_PLATFORM_USETHREADS @@ -1254,10 +1578,6 @@ destroy(isc_socket_t **sockp) { SIGNAL(&manager->shutdown_ok); #endif /* ISC_PLATFORM_USETHREADS */ - /* - * XXX should reset manager->maxfd here - */ - UNLOCK(&manager->lock); free_socket(sockp); @@ -1445,18 +1765,11 @@ clear_bsdcompat(void) { } #endif -/*% - * Create a new 'type' socket managed by 'manager'. Events - * will be posted to 'task' and when dispatched 'action' will be - * called with 'arg' as the arg value. The new socket is returned - * in 'socketp'. - */ -isc_result_t -isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, - isc_socket_t **socketp) -{ - isc_socket_t *sock = NULL; - isc_result_t result; +static isc_result_t +opensocket(isc_socketmgr_t *manager, isc_socket_t *sock) { + char strbuf[ISC_STRERRORSIZE]; + const char *err = "socket"; + int tries = 0; #if defined(USE_CMSG) || defined(SO_BSDCOMPAT) int on = 1; #endif @@ -1464,31 +1777,20 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, ISC_SOCKADDR_LEN_T optlen; int size; #endif - char strbuf[ISC_STRERRORSIZE]; - const char *err = "socket"; - int tries = 0; - REQUIRE(VALID_MANAGER(manager)); - REQUIRE(socketp != NULL && *socketp == NULL); - - result = allocate_socket(manager, type, &sock); - if (result != ISC_R_SUCCESS) - return (result); - - sock->pf = pf; again: - switch (type) { + switch (sock->type) { case isc_sockettype_udp: - sock->fd = socket(pf, SOCK_DGRAM, IPPROTO_UDP); + sock->fd = socket(sock->pf, SOCK_DGRAM, IPPROTO_UDP); break; case isc_sockettype_tcp: - sock->fd = socket(pf, SOCK_STREAM, IPPROTO_TCP); + sock->fd = socket(sock->pf, SOCK_STREAM, IPPROTO_TCP); break; case isc_sockettype_unix: - sock->fd = socket(pf, SOCK_STREAM, 0); + sock->fd = socket(sock->pf, SOCK_STREAM, 0); break; case isc_sockettype_fdwatch: - INSIST(type != isc_sockettype_fdwatch); + INSIST(sock->type != isc_sockettype_fdwatch); break; } if (sock->fd == -1 && errno == EINTR && tries++ < 42) @@ -1509,20 +1811,17 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, } #endif - if (sock->fd >= (int)FD_SETSIZE) { + if (sock->fd >= (int)manager->maxsocks) { (void)close(sock->fd); isc_log_iwrite(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, isc_msgcat, ISC_MSGSET_SOCKET, ISC_MSG_TOOMANYFDS, "%s: too many open file descriptors", "socket"); - free_socket(&sock); return (ISC_R_NORESOURCES); } if (sock->fd < 0) { - free_socket(&sock); - switch (errno) { case EMFILE: case ENFILE: @@ -1554,14 +1853,13 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, if (make_nonblock(sock->fd) != ISC_R_SUCCESS) { (void)close(sock->fd); - free_socket(&sock); return (ISC_R_UNEXPECTED); } #ifdef SO_BSDCOMPAT RUNTIME_CHECK(isc_once_do(&bsdcompat_once, clear_bsdcompat) == ISC_R_SUCCESS); - if (type != isc_sockettype_unix && bsdcompat && + if (sock->type != isc_sockettype_unix && bsdcompat && setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT, (void *)&on, sizeof(on)) < 0) { isc__strerror(errno, strbuf, sizeof(strbuf)); @@ -1590,7 +1888,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, #endif #if defined(USE_CMSG) || defined(SO_RCVBUF) - if (type == isc_sockettype_udp) { + if (sock->type == isc_sockettype_udp) { #if defined(USE_CMSG) #if defined(SO_TIMESTAMP) @@ -1611,7 +1909,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, #endif /* SO_TIMESTAMP */ #if defined(ISC_PLATFORM_HAVEIPV6) - if (pf == AF_INET6 && sock->recvcmsgbuflen == 0U) { + if (sock->pf == AF_INET6 && sock->recvcmsgbuflen == 0U) { /* * Warn explicitly because this anomaly can be hidden * in usual operation (and unexpectedly appear later). @@ -1623,7 +1921,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, #ifdef ISC_PLATFORM_HAVEIN6PKTINFO #ifdef IPV6_RECVPKTINFO /* RFC 3542 */ - if ((pf == AF_INET6) + if ((sock->pf == AF_INET6) && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVPKTINFO, (void *)&on, sizeof(on)) < 0)) { isc__strerror(errno, strbuf, sizeof(strbuf)); @@ -1638,7 +1936,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, } #else /* RFC 2292 */ - if ((pf == AF_INET6) + if ((sock->pf == AF_INET6) && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO, (void *)&on, sizeof(on)) < 0)) { isc__strerror(errno, strbuf, sizeof(strbuf)); @@ -1655,7 +1953,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, #endif /* ISC_PLATFORM_HAVEIN6PKTINFO */ #ifdef IPV6_USE_MIN_MTU /* RFC 3542, not too common yet*/ /* use minimum MTU */ - if (pf == AF_INET6) { + if (sock->pf == AF_INET6) { (void)setsockopt(sock->fd, IPPROTO_IPV6, IPV6_USE_MIN_MTU, (void *)&on, sizeof(on)); @@ -1687,25 +1985,64 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, } #endif /* defined(USE_CMSG) || defined(SO_RCVBUF) */ + return (ISC_R_SUCCESS); +} + +/*% + * Create a new 'type' socket managed by 'manager'. Events + * will be posted to 'task' and when dispatched 'action' will be + * called with 'arg' as the arg value. The new socket is returned + * in 'socketp'. + */ +isc_result_t +isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, + isc_socket_t **socketp) +{ + isc_socket_t *sock = NULL; + isc_result_t result; + int lockid; + + REQUIRE(VALID_MANAGER(manager)); + REQUIRE(socketp != NULL && *socketp == NULL); + + result = allocate_socket(manager, type, &sock); + if (result != ISC_R_SUCCESS) + return (result); + + sock->pf = pf; + result = opensocket(manager, sock); + if (result != ISC_R_SUCCESS) { + free_socket(&sock); + return (result); + } + memset(sock->name, 0, sizeof(sock->name)); sock->tag = NULL; sock->references = 1; *socketp = sock; - LOCK(&manager->lock); - /* * Note we don't have to lock the socket like we normally would because * there are no external references to it yet. */ + lockid = FDLOCK_ID(sock->fd); + LOCK(&manager->fdlock[lockid]); manager->fds[sock->fd] = sock; manager->fdstate[sock->fd] = MANAGED; +#ifdef USE_DEVPOLL + INSIST(sock->manager->fdpollinfo[sock->fd].want_read == 0 && + sock->manager->fdpollinfo[sock->fd].want_write == 0); +#endif + UNLOCK(&manager->fdlock[lockid]); + + LOCK(&manager->lock); ISC_LIST_APPEND(manager->socklist, sock, link); +#ifdef USE_SELECT if (manager->maxfd < sock->fd) manager->maxfd = sock->fd; - +#endif UNLOCK(&manager->lock); socket_log(sock, NULL, CREATION, isc_msgcat, ISC_MSGSET_SOCKET, @@ -1714,6 +2051,48 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, return (ISC_R_SUCCESS); } +isc_result_t +isc_socket_open(isc_socket_t *sock) { + isc_result_t result; + + REQUIRE(VALID_SOCKET(sock)); + + LOCK(&sock->lock); + REQUIRE(sock->references == 1); + UNLOCK(&sock->lock); + /* + * We don't need to retain the lock hereafter, since no one else has + * this socket. + */ + REQUIRE(sock->fd == -1); + + result = opensocket(sock->manager, sock); + if (result != ISC_R_SUCCESS) + sock->fd = -1; + + if (result == ISC_R_SUCCESS) { + int lockid = FDLOCK_ID(sock->fd); + + LOCK(&sock->manager->fdlock[lockid]); + sock->manager->fds[sock->fd] = sock; + sock->manager->fdstate[sock->fd] = MANAGED; +#ifdef USE_DEVPOLL + INSIST(sock->manager->fdpollinfo[sock->fd].want_read == 0 && + sock->manager->fdpollinfo[sock->fd].want_write == 0); +#endif + UNLOCK(&sock->manager->fdlock[lockid]); + +#ifdef USE_SELECT + LOCK(&sock->manager->lock); + if (sock->manager->maxfd < sock->fd) + sock->manager->maxfd = sock->fd; + UNLOCK(&sock->manager->lock); +#endif + } + + return (result); +} + /* * Create a new 'type' socket managed by 'manager'. Events * will be posted to 'task' and when dispatched 'action' will be @@ -1727,6 +2106,7 @@ isc_socket_fdwatchcreate(isc_socketmgr_t *manager, int fd, int flags, { isc_socket_t *sock = NULL; isc_result_t result; + int lockid; REQUIRE(VALID_MANAGER(manager)); REQUIRE(socketp != NULL && *socketp == NULL); @@ -1744,19 +2124,23 @@ isc_socket_fdwatchcreate(isc_socketmgr_t *manager, int fd, int flags, sock->references = 1; *socketp = sock; - LOCK(&manager->lock); - /* * Note we don't have to lock the socket like we normally would because * there are no external references to it yet. */ + lockid = FDLOCK_ID(sock->fd); + LOCK(&manager->fdlock[lockid]); manager->fds[sock->fd] = sock; manager->fdstate[sock->fd] = MANAGED; + UNLOCK(&manager->fdlock[lockid]); + + LOCK(&manager->lock); ISC_LIST_APPEND(manager->socklist, sock, link); +#ifdef USE_SELECT if (manager->maxfd < sock->fd) manager->maxfd = sock->fd; - +#endif UNLOCK(&manager->lock); if (flags & ISC_SOCKFDWATCH_READ) @@ -1811,6 +2195,44 @@ isc_socket_detach(isc_socket_t **socketp) { *socketp = NULL; } +isc_result_t +isc_socket_close(isc_socket_t *sock) { + int fd; + + REQUIRE(VALID_SOCKET(sock)); + + LOCK(&sock->lock); + REQUIRE(sock->references == 1); + UNLOCK(&sock->lock); + /* + * We don't need to retain the lock hereafter, since no one else has + * this socket. + */ + + REQUIRE(sock->fd >= 0 && sock->fd < (int)sock->manager->maxsocks); + + INSIST(!sock->connecting); + INSIST(!sock->pending_recv); + INSIST(!sock->pending_send); + INSIST(!sock->pending_accept); + INSIST(ISC_LIST_EMPTY(sock->recv_list)); + INSIST(ISC_LIST_EMPTY(sock->send_list)); + INSIST(ISC_LIST_EMPTY(sock->accept_list)); + INSIST(sock->connect_ev == NULL); + + fd = sock->fd; + sock->fd = -1; + sock->listener = 0; + sock->connected = 0; + sock->connecting = 0; + sock->bound = 0; + isc_sockaddr_any(&sock->peer_address); + + closesocket(sock->manager, sock->type, fd); + + return (ISC_R_SUCCESS); +} + /* * I/O is possible on a given socket. Schedule an event to this task that * will call an internal function to do the I/O. This will charge the @@ -1825,7 +2247,15 @@ dispatch_recv(isc_socket_t *sock) { isc_socketevent_t *ev; isc_task_t *sender; +#if 0 + /* + * XXXJT: this assertion seems to strong, but leave it here for + * reference. + */ INSIST(!sock->pending_recv); +#endif + if (sock->pending_recv != 0) + return; if (sock->type != isc_sockettype_fdwatch) { ev = ISC_LIST_HEAD(sock->recv_list); @@ -2132,7 +2562,7 @@ internal_accept(isc_task_t *me, isc_event_t *ev) { sock->pf); (void)close(fd); goto soft_error; - } else if (fd >= (int)FD_SETSIZE) { + } else if (fd >= (int)manager->maxsocks) { isc_log_iwrite(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, isc_msgcat, ISC_MSGSET_SOCKET, @@ -2172,6 +2602,13 @@ internal_accept(isc_task_t *me, isc_event_t *ev) { * -1 means the new socket didn't happen. */ if (fd != -1) { + int lockid = FDLOCK_ID(fd); + + LOCK(&manager->fdlock[lockid]); + manager->fds[fd] = dev->newsocket; + manager->fdstate[fd] = MANAGED; + UNLOCK(&manager->fdlock[lockid]); + LOCK(&manager->lock); ISC_LIST_APPEND(manager->socklist, dev->newsocket, link); @@ -2184,10 +2621,10 @@ internal_accept(isc_task_t *me, isc_event_t *ev) { */ dev->address = dev->newsocket->peer_address; - manager->fds[fd] = dev->newsocket; - manager->fdstate[fd] = MANAGED; +#ifdef USE_SELECT if (manager->maxfd < fd) manager->maxfd = fd; +#endif socket_log(sock, &dev->newsocket->peer_address, CREATION, isc_msgcat, ISC_MSGSET_SOCKET, ISC_MSG_ACCEPTEDCXN, @@ -2416,80 +2853,238 @@ internal_fdwatch_read(isc_task_t *me, isc_event_t *ev) { UNLOCK(&sock->lock); } +/* + * Process read/writes on each fd here. Avoid locking + * and unlocking twice if both reads and writes are possible. + */ static void -process_fds(isc_socketmgr_t *manager, int maxfd, - fd_set *readfds, fd_set *writefds) +process_fd(isc_socketmgr_t *manager, int fd, isc_boolean_t readable, + isc_boolean_t writeable) { - int i; isc_socket_t *sock; isc_boolean_t unlock_sock; - - REQUIRE(maxfd <= (int)FD_SETSIZE); + isc_boolean_t needclose; + int lockid = FDLOCK_ID(fd); /* - * Process read/writes on other fds here. Avoid locking - * and unlocking twice if both reads and writes are possible. + * If we need to close the socket, do it now. */ - for (i = 0; i < maxfd; i++) { -#ifdef ISC_PLATFORM_USETHREADS - if (i == manager->pipe_fds[0] || i == manager->pipe_fds[1]) - continue; -#endif /* ISC_PLATFORM_USETHREADS */ + LOCK(&manager->fdlock[lockid]); + if (manager->fdstate[fd] == CLOSE_PENDING + || manager->fdstate[fd] == MANAGER_CLOSE_PENDING) { + needclose = ISC_TF(manager->fdstate[fd] == CLOSE_PENDING); + manager->fdstate[fd] = CLOSED; + UNLOCK(&manager->fdlock[lockid]); + + (void)unwatch_fd(manager, fd, SELECT_POKE_READ); + (void)unwatch_fd(manager, fd, SELECT_POKE_WRITE); + if (needclose) + (void)close(fd); + return; + } + + sock = manager->fds[fd]; + UNLOCK(&manager->fdlock[lockid]); + unlock_sock = ISC_FALSE; + if (readable) { + if (sock == NULL) { + (void)unwatch_fd(manager, fd, SELECT_POKE_READ); + goto check_write; + } + unlock_sock = ISC_TRUE; + LOCK(&sock->lock); + if (!SOCK_DEAD(sock)) { + if (sock->listener) + dispatch_accept(sock); + else + dispatch_recv(sock); + } + (void)unwatch_fd(manager, fd, SELECT_POKE_READ); + } +check_write: + if (writeable) { + if (sock == NULL) { + (void)unwatch_fd(manager, fd, SELECT_POKE_WRITE); + return; + } + if (!unlock_sock) { + unlock_sock = ISC_TRUE; + LOCK(&sock->lock); + } + if (!SOCK_DEAD(sock)) { + if (sock->connecting) + dispatch_connect(sock); + else + dispatch_send(sock); + } + (void)unwatch_fd(manager, fd, SELECT_POKE_WRITE); + } + if (unlock_sock) + UNLOCK(&sock->lock); +} +#ifdef USE_KQUEUE +static isc_boolean_t +process_fds(isc_socketmgr_t *manager, struct kevent *events, int nevents) { + int i; + isc_boolean_t readable, writable; + isc_boolean_t done = ISC_FALSE; + + if (nevents == manager->nevents) { /* - * If we need to close the socket, do it now. + * This is not an error, but something unexpected. If this + * happens, it may indicate the need for increasing + * ISC_SOCKET_MAXEVENTS. */ - if (manager->fdstate[i] == CLOSE_PENDING - || manager->fdstate[i] == MANAGER_CLOSE_PENDING) { - FD_CLR(i, &manager->read_fds); - FD_CLR(i, &manager->write_fds); - if (manager->fdstate[i] == CLOSE_PENDING) - (void)close(i); - manager->fdstate[i] = CLOSED; + manager_log(manager, ISC_LOGCATEGORY_GENERAL, + ISC_LOGMODULE_SOCKET, ISC_LOG_INFO, + "maximum number of FD events (%d) received", + nevents); + } + + for (i = 0; i < nevents; i++) { + REQUIRE(events[i].ident < manager->maxsocks); +#ifdef ISC_PLATFORM_USETHREADS + if (events[i].ident == (uintptr_t)manager->pipe_fds[0]) { + done = process_ctlfd(manager); continue; } +#endif + readable = ISC_TF(events[i].filter == EVFILT_READ); + writable = ISC_TF(events[i].filter == EVFILT_WRITE); + process_fd(manager, events[i].ident, readable, writable); + } - sock = manager->fds[i]; - unlock_sock = ISC_FALSE; - if (FD_ISSET(i, readfds)) { - if (sock == NULL) { - FD_CLR(i, &manager->read_fds); - goto check_write; - } - unlock_sock = ISC_TRUE; - LOCK(&sock->lock); - if (!SOCK_DEAD(sock)) { - if (sock->listener) - dispatch_accept(sock); - else - dispatch_recv(sock); - } - FD_CLR(i, &manager->read_fds); + return (done); +} +#elif defined(USE_EPOLL) +static isc_boolean_t +process_fds(isc_socketmgr_t *manager, struct epoll_event *events, int nevents) { + int i; + isc_boolean_t done = ISC_FALSE; + + if (nevents == manager->nevents) { + manager_log(manager, ISC_LOGCATEGORY_GENERAL, + ISC_LOGMODULE_SOCKET, ISC_LOG_INFO, + "maximum number of FD events (%d) received", + nevents); + } + + for (i = 0; i < nevents; i++) { + REQUIRE(events[i].data.fd < (int)manager->maxsocks); +#ifdef ISC_PLATFORM_USETHREADS + if (events[i].data.fd == manager->pipe_fds[0]) { + done = process_ctlfd(manager); + continue; } - check_write: - if (FD_ISSET(i, writefds)) { - if (sock == NULL) { - FD_CLR(i, &manager->write_fds); - continue; - } - if (!unlock_sock) { - unlock_sock = ISC_TRUE; - LOCK(&sock->lock); - } - if (!SOCK_DEAD(sock)) { - if (sock->connecting) - dispatch_connect(sock); - else - dispatch_send(sock); - } - FD_CLR(i, &manager->write_fds); +#endif + if ((events[i].events & EPOLLERR) != 0 || + (events[i].events & EPOLLHUP) != 0) { + /* + * epoll does not set IN/OUT bits on an erroneous + * condition, so we need to try both anyway. This is a + * bit inefficient, but should be okay for such rare + * events. Note also that the read or write attempt + * won't block because we use non-blocking sockets. + */ + events[i].events |= (EPOLLIN | EPOLLOUT); } - if (unlock_sock) - UNLOCK(&sock->lock); + process_fd(manager, events[i].data.fd, + (events[i].events & EPOLLIN) != 0, + (events[i].events & EPOLLOUT) != 0); + } + + return (done); +} +#elif defined(USE_DEVPOLL) +static isc_boolean_t +process_fds(isc_socketmgr_t *manager, struct pollfd *events, int nevents) { + int i; + isc_boolean_t done = ISC_FALSE; + + if (nevents == manager->nevents) { + manager_log(manager, ISC_LOGCATEGORY_GENERAL, + ISC_LOGMODULE_SOCKET, ISC_LOG_INFO, + "maximum number of FD events (%d) received", + nevents); + } + + for (i = 0; i < nevents; i++) { + REQUIRE(events[i].fd < (int)manager->maxsocks); +#ifdef ISC_PLATFORM_USETHREADS + if (events[i].fd == manager->pipe_fds[0]) { + done = process_ctlfd(manager); + continue; + } +#endif + process_fd(manager, events[i].fd, + (events[i].events & POLLIN) != 0, + (events[i].events & POLLOUT) != 0); + } + + return (done); +} +#elif defined(USE_SELECT) +static void +process_fds(isc_socketmgr_t *manager, int maxfd, + fd_set *readfds, fd_set *writefds) +{ + int i; + + REQUIRE(maxfd <= (int)manager->maxsocks); + + for (i = 0; i < maxfd; i++) { +#ifdef ISC_PLATFORM_USETHREADS + if (i == manager->pipe_fds[0] || i == manager->pipe_fds[1]) + continue; +#endif /* ISC_PLATFORM_USETHREADS */ + process_fd(manager, i, FD_ISSET(i, readfds), + FD_ISSET(i, writefds)); } } +#endif #ifdef ISC_PLATFORM_USETHREADS +static isc_boolean_t +process_ctlfd(isc_socketmgr_t *manager) { + int msg, fd; + + for (;;) { + select_readmsg(manager, &fd, &msg); + + manager_log(manager, IOEVENT, + isc_msgcat_get(isc_msgcat, ISC_MSGSET_SOCKET, + ISC_MSG_WATCHERMSG, + "watcher got message %d " + "for socket %d"), msg, fd); + + /* + * Nothing to read? + */ + if (msg == SELECT_POKE_NOTHING) + return (ISC_FALSE); + + /* + * Handle shutdown message. We really should + * jump out of this loop right away, but + * it doesn't matter if we have to do a little + * more work first. + */ + if (msg == SELECT_POKE_SHUTDOWN) + return (ISC_TRUE); + + /* + * This is a wakeup on a socket. Look + * at the event queue for both read and write, + * and decide if we need to watch on it now + * or not. + */ + wakeup_socket(manager, fd, msg); + } + + return (ISC_FALSE); +} + /* * This is the thread that will loop forever, always in a select or poll * call. @@ -2503,97 +3098,77 @@ watcher(void *uap) { isc_boolean_t done; int ctlfd; int cc; +#ifdef USE_KQUEUE + const char *fnname = "kevent()"; +#elif defined (USE_EPOLL) + const char *fnname = "epoll_wait()"; +#elif defined(USE_DEVPOLL) + const char *fnname = "ioctl(DP_POLL)"; + struct dvpoll dvp; +#elif defined (USE_SELECT) + const char *fnname = "select()"; fd_set readfds; fd_set writefds; - int msg, fd; int maxfd; +#endif char strbuf[ISC_STRERRORSIZE]; /* * Get the control fd here. This will never change. */ - LOCK(&manager->lock); ctlfd = manager->pipe_fds[0]; - done = ISC_FALSE; while (!done) { do { +#ifdef USE_KQUEUE + cc = kevent(manager->kqueue_fd, NULL, 0, + manager->events, manager->nevents, NULL); +#elif defined(USE_EPOLL) + cc = epoll_wait(manager->epoll_fd, manager->events, + manager->nevents, -1); +#elif defined(USE_DEVPOLL) + dvp.dp_fds = manager->events; + dvp.dp_nfds = manager->nevents; + dvp.dp_timeout = -1; + cc = ioctl(manager->devpoll_fd, DP_POLL, &dvp); +#elif defined(USE_SELECT) + LOCK(&manager->lock); readfds = manager->read_fds; writefds = manager->write_fds; maxfd = manager->maxfd + 1; - UNLOCK(&manager->lock); cc = select(maxfd, &readfds, &writefds, NULL, NULL); - if (cc < 0) { - if (!SOFT_ERROR(errno)) { - isc__strerror(errno, strbuf, - sizeof(strbuf)); - FATAL_ERROR(__FILE__, __LINE__, - "select() %s: %s", - isc_msgcat_get(isc_msgcat, - ISC_MSGSET_GENERAL, - ISC_MSG_FAILED, - "failed"), - strbuf); - } - } +#endif /* USE_KQUEUE */ - LOCK(&manager->lock); + if (cc < 0 && !SOFT_ERROR(errno)) { + isc__strerror(errno, strbuf, sizeof(strbuf)); + FATAL_ERROR(__FILE__, __LINE__, + "%s %s: %s", fnname, + isc_msgcat_get(isc_msgcat, + ISC_MSGSET_GENERAL, + ISC_MSG_FAILED, + "failed"), strbuf); + } } while (cc < 0); - +#if defined(USE_KQUEUE) || defined (USE_EPOLL) || defined (USE_DEVPOLL) + done = process_fds(manager, manager->events, cc); +#elif defined(USE_SELECT) /* * Process reads on internal, control fd. */ - if (FD_ISSET(ctlfd, &readfds)) { - for (;;) { - select_readmsg(manager, &fd, &msg); - - manager_log(manager, IOEVENT, - isc_msgcat_get(isc_msgcat, - ISC_MSGSET_SOCKET, - ISC_MSG_WATCHERMSG, - "watcher got message %d" - " for socket %d"), - msg, fd); - - /* - * Nothing to read? - */ - if (msg == SELECT_POKE_NOTHING) - break; - - /* - * Handle shutdown message. We really should - * jump out of this loop right away, but - * it doesn't matter if we have to do a little - * more work first. - */ - if (msg == SELECT_POKE_SHUTDOWN) { - done = ISC_TRUE; - - break; - } - - /* - * This is a wakeup on a socket. Look - * at the event queue for both read and write, - * and decide if we need to watch on it now - * or not. - */ - wakeup_socket(manager, fd, msg); - } - } + if (FD_ISSET(ctlfd, &readfds)) + done = process_ctlfd(manager); process_fds(manager, maxfd, &readfds, &writefds); +#endif } manager_log(manager, TRACE, isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL, ISC_MSG_EXITING, "watcher exiting")); - UNLOCK(&manager->lock); return ((isc_threadresult_t)0); } #endif /* ISC_PLATFORM_USETHREADS */ @@ -2601,8 +3176,152 @@ watcher(void *uap) { /* * Create a new socket manager. */ + +static isc_result_t +setup_watcher(isc_mem_t *mctx, isc_socketmgr_t *manager) { + isc_result_t result; + +#ifdef USE_KQUEUE + manager->nevents = ISC_SOCKET_MAXEVENTS; + manager->events = isc_mem_get(mctx, sizeof(struct kevent) * + manager->nevents); + if (manager->events == NULL) + return (ISC_R_NOMEMORY); + manager->kqueue_fd = kqueue(); + if (manager->kqueue_fd == -1) { + result = isc__errno2result(errno); + isc_mem_put(mctx, manager->events, + sizeof(struct kevent) * manager->nevents); + return (result); + } + +#ifdef ISC_PLATFORM_USETHREADS + result = watch_fd(manager, manager->pipe_fds[0], SELECT_POKE_READ); + if (result != ISC_R_SUCCESS) { + close(manager->kqueue_fd); + isc_mem_put(mctx, manager->events, + sizeof(struct kevent) * manager->nevents); + return (result); + } +#endif /* ISC_PLATFORM_USETHREADS */ +#elif defined(USE_EPOLL) + manager->nevents = ISC_SOCKET_MAXEVENTS; + manager->events = isc_mem_get(mctx, sizeof(struct epoll_event) * + manager->nevents); + if (manager->events == NULL) + return (ISC_R_NOMEMORY); + manager->epoll_fd = epoll_create(manager->nevents); + if (manager->epoll_fd == -1) { + result = isc__errno2result(errno); + isc_mem_put(mctx, manager->events, + sizeof(struct epoll_event) * manager->nevents); + return (result); + } +#ifdef ISC_PLATFORM_USETHREADS + result = watch_fd(manager, manager->pipe_fds[0], SELECT_POKE_READ); + if (result != ISC_R_SUCCESS) { + close(manager->epoll_fd); + isc_mem_put(mctx, manager->events, + sizeof(struct epoll_event) * manager->nevents); + return (result); + } +#endif /* ISC_PLATFORM_USETHREADS */ +#elif defined(USE_DEVPOLL) + /* + * XXXJT: /dev/poll seems to reject large numbers of events, + * so we should be careful about redefining ISC_SOCKET_MAXEVENTS. + */ + manager->nevents = ISC_SOCKET_MAXEVENTS; + manager->events = isc_mem_get(mctx, sizeof(struct pollfd) * + manager->nevents); + if (manager->events == NULL) + return (ISC_R_NOMEMORY); + /* + * Note: fdpollinfo should be able to support all possible FDs, so + * it must have maxsocks entries (not nevents). + */ + manager->fdpollinfo = isc_mem_get(mctx, sizeof(pollinfo_t) * + manager->maxsocks); + if (manager->fdpollinfo == NULL) { + isc_mem_put(mctx, manager->events, + sizeof(pollinfo_t) * manager->maxsocks); + return (ISC_R_NOMEMORY); + } + memset(manager->fdpollinfo, 0, sizeof(pollinfo_t) * manager->maxsocks); + manager->devpoll_fd = open("/dev/poll", O_RDWR); + if (manager->devpoll_fd == -1) { + result = isc__errno2result(errno); + isc_mem_put(mctx, manager->events, + sizeof(struct pollfd) * manager->nevents); + isc_mem_put(mctx, manager->fdpollinfo, + sizeof(pollinfo_t) * manager->maxsocks); + return (result); + } +#ifdef ISC_PLATFORM_USETHREADS + result = watch_fd(manager, manager->pipe_fds[0], SELECT_POKE_READ); + if (result != ISC_R_SUCCESS) { + close(manager->devpoll_fd); + isc_mem_put(mctx, manager->events, + sizeof(struct pollfd) * manager->nevents); + isc_mem_put(mctx, manager->fdpollinfo, + sizeof(pollinfo_t) * manager->maxsocks); + return (result); + } +#endif /* ISC_PLATFORM_USETHREADS */ +#elif defined(USE_SELECT) + UNUSED(mctx); + UNUSED(result); + + FD_ZERO(&manager->read_fds); + FD_ZERO(&manager->write_fds); +#ifdef ISC_PLATFORM_USETHREADS + (void)watch_fd(manager, manager->pipe_fds[0], SELECT_POKE_READ); + manager->maxfd = manager->pipe_fds[0]; +#else /* ISC_PLATFORM_USETHREADS */ + manager->maxfd = 0; +#endif /* ISC_PLATFORM_USETHREADS */ +#endif /* USE_KQUEUE */ + + return (ISC_R_SUCCESS); +} + +static void +cleanup_watcher(isc_mem_t *mctx, isc_socketmgr_t *manager) { +#ifdef ISC_PLATFORM_USETHREADS + isc_result_t result; + + result = unwatch_fd(manager, manager->pipe_fds[0], SELECT_POKE_READ); + if (result != ISC_R_SUCCESS) { + UNEXPECTED_ERROR(__FILE__, __LINE__, + "epoll_ctl(DEL) %s", + isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL, + ISC_MSG_FAILED, "failed")); + } +#endif /* ISC_PLATFORM_USETHREADS */ + +#ifdef USE_KQUEUE + close(manager->kqueue_fd); + isc_mem_put(mctx, manager->events, + sizeof(struct kevent) * manager->nevents); +#elif defined(USE_EPOLL) + close(manager->epoll_fd); + isc_mem_put(mctx, manager->events, + sizeof(struct epoll_event) * manager->nevents); +#elif defined(USE_DEVPOLL) + close(manager->devpoll_fd); + isc_mem_put(mctx, manager->events, + sizeof(struct pollfd) * manager->nevents); + isc_mem_put(mctx, manager->fdpollinfo, + sizeof(pollinfo_t) * manager->maxsocks); +#elif defined(USE_SELECT) + UNUSED(mctx); + UNUSED(manager); +#endif /* USE_KQUEUE */ +} + isc_result_t isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { + int i; isc_socketmgr_t *manager; #ifdef ISC_PLATFORM_USETHREADS char strbuf[ISC_STRERRORSIZE]; @@ -2623,24 +3342,59 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { if (manager == NULL) return (ISC_R_NOMEMORY); + /* zero-clear so that necessary cleanup on failure will be easy */ + memset(manager, 0, sizeof(*manager)); + +#if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL) + manager->maxsocks = ISC_SOCKET_MAXSOCKETS; +#elif defined (USE_SELECT) + manager->maxsocks = FD_SETSIZE; +#endif + + manager->fds = isc_mem_get(mctx, + manager->maxsocks * sizeof(isc_socket_t *)); + if (manager->fds == NULL) { + result = ISC_R_NOMEMORY; + goto free_manager; + } + manager->fdstate = isc_mem_get(mctx, manager->maxsocks * sizeof(int)); + if (manager->fds == NULL) { + result = ISC_R_NOMEMORY; + goto free_manager; + } + manager->magic = SOCKET_MANAGER_MAGIC; manager->mctx = NULL; - memset(manager->fds, 0, sizeof(manager->fds)); + memset(manager->fds, 0, manager->maxsocks * sizeof(isc_socket_t *)); ISC_LIST_INIT(manager->socklist); result = isc_mutex_init(&manager->lock); - if (result != ISC_R_SUCCESS) { - isc_mem_put(mctx, manager, sizeof(*manager)); - return (result); + if (result != ISC_R_SUCCESS) + goto free_manager; + manager->fdlock = isc_mem_get(mctx, FDLOCK_COUNT * sizeof(isc_mutex_t)); + if (manager->fdlock == NULL) { + result = ISC_R_NOMEMORY; + goto cleanup_lock; } + for (i = 0; i < FDLOCK_COUNT; i++) { + result = isc_mutex_init(&manager->fdlock[i]); + if (result != ISC_R_SUCCESS) { + while (--i >= 0) + DESTROYLOCK(&manager->fdlock[i]); + isc_mem_put(mctx, manager->fdlock, + FDLOCK_COUNT * sizeof(isc_mutex_t)); + manager->fdlock = NULL; + goto cleanup_lock; + } + } + #ifdef ISC_PLATFORM_USETHREADS if (isc_condition_init(&manager->shutdown_ok) != ISC_R_SUCCESS) { - DESTROYLOCK(&manager->lock); - isc_mem_put(mctx, manager, sizeof(*manager)); UNEXPECTED_ERROR(__FILE__, __LINE__, "isc_condition_init() %s", isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL, ISC_MSG_FAILED, "failed")); - return (ISC_R_UNEXPECTED); + result = ISC_R_UNEXPECTED; + goto cleanup_lock; } /* @@ -2648,16 +3402,14 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { * select/poll loop when something internal needs to be done. */ if (pipe(manager->pipe_fds) != 0) { - DESTROYLOCK(&manager->lock); - isc_mem_put(mctx, manager, sizeof(*manager)); isc__strerror(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "pipe() %s: %s", isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL, ISC_MSG_FAILED, "failed"), strbuf); - - return (ISC_R_UNEXPECTED); + result = ISC_R_UNEXPECTED; + goto cleanup_condition; } RUNTIME_CHECK(make_nonblock(manager->pipe_fds[0]) == ISC_R_SUCCESS); @@ -2671,15 +3423,10 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { /* * Set up initial state for the select loop */ - FD_ZERO(&manager->read_fds); - FD_ZERO(&manager->write_fds); -#ifdef ISC_PLATFORM_USETHREADS - FD_SET(manager->pipe_fds[0], &manager->read_fds); - manager->maxfd = manager->pipe_fds[0]; -#else /* ISC_PLATFORM_USETHREADS */ - manager->maxfd = 0; -#endif /* ISC_PLATFORM_USETHREADS */ - memset(manager->fdstate, 0, sizeof(manager->fdstate)); + result = setup_watcher(mctx, manager); + if (result != ISC_R_SUCCESS) + goto cleanup; + memset(manager->fdstate, 0, manager->maxsocks * sizeof(int)); #ifdef ISC_PLATFORM_USETHREADS /* @@ -2687,15 +3434,13 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { */ if (isc_thread_create(watcher, manager, &manager->watcher) != ISC_R_SUCCESS) { - (void)close(manager->pipe_fds[0]); - (void)close(manager->pipe_fds[1]); - DESTROYLOCK(&manager->lock); - isc_mem_put(mctx, manager, sizeof(*manager)); UNEXPECTED_ERROR(__FILE__, __LINE__, "isc_thread_create() %s", isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL, ISC_MSG_FAILED, "failed")); - return (ISC_R_UNEXPECTED); + cleanup_watcher(mctx, manager); + result = ISC_R_UNEXPECTED; + goto cleanup; } #endif /* ISC_PLATFORM_USETHREADS */ isc_mem_attach(mctx, &manager->mctx); @@ -2706,6 +3451,42 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { *managerp = manager; return (ISC_R_SUCCESS); + +cleanup: +#ifdef ISC_PLATFORM_USETHREADS + (void)close(manager->pipe_fds[0]); + (void)close(manager->pipe_fds[1]); +#endif /* ISC_PLATFORM_USETHREADS */ + +#ifdef ISC_PLATFORM_USETHREADS +cleanup_condition: + (void)isc_condition_destroy(&manager->shutdown_ok); +#endif /* ISC_PLATFORM_USETHREADS */ + + +cleanup_lock: + if (manager->fdlock != NULL) { + for (i = 0; i < FDLOCK_COUNT; i++) + DESTROYLOCK(&manager->fdlock[i]); + } + DESTROYLOCK(&manager->lock); + +free_manager: + if (manager->fdlock != NULL) { + isc_mem_put(mctx, manager->fdlock, + FDLOCK_COUNT * sizeof(isc_mutex_t)); + } + if (manager->fdstate != NULL) { + isc_mem_put(mctx, manager->fdstate, + manager->maxsocks * sizeof(int)); + } + if (manager->fds != NULL) { + isc_mem_put(mctx, manager->fds, + manager->maxsocks * sizeof(isc_socket_t *)); + } + isc_mem_put(mctx, manager, sizeof(*manager)); + + return (result); } void @@ -2779,16 +3560,29 @@ isc_socketmgr_destroy(isc_socketmgr_t **managerp) { /* * Clean up. */ + cleanup_watcher(manager->mctx, manager); + #ifdef ISC_PLATFORM_USETHREADS (void)close(manager->pipe_fds[0]); (void)close(manager->pipe_fds[1]); (void)isc_condition_destroy(&manager->shutdown_ok); #endif /* ISC_PLATFORM_USETHREADS */ - for (i = 0; i < (int)FD_SETSIZE; i++) - if (manager->fdstate[i] == CLOSE_PENDING) + for (i = 0; i < (int)manager->maxsocks; i++) + if (manager->fdstate[i] == CLOSE_PENDING) /* no need to lock */ (void)close(i); + isc_mem_put(manager->mctx, manager->fds, + manager->maxsocks * sizeof(isc_socket_t *)); + isc_mem_put(manager->mctx, manager->fdstate, + manager->maxsocks * sizeof(int)); + + if (manager->fdlock != NULL) { + for (i = 0; i < FDLOCK_COUNT; i++) + DESTROYLOCK(&manager->fdlock[i]); + isc_mem_put(manager->mctx, manager->fdlock, + FDLOCK_COUNT * sizeof(isc_mutex_t)); + } DESTROYLOCK(&manager->lock); manager->magic = 0; mctx= manager->mctx; @@ -3487,7 +4281,7 @@ isc_socket_listen(isc_socket_t *sock, unsigned int backlog) { } /* - * This should try to do agressive accept() XXXMLG + * This should try to do aggressive accept() XXXMLG */ isc_result_t isc_socket_accept(isc_socket_t *sock, @@ -3598,6 +4392,16 @@ isc_socket_connect(isc_socket_t *sock, isc_sockaddr_t *addr, sock->peer_address = *addr; cc = connect(sock->fd, &addr->type.sa, addr->length); if (cc < 0) { + /* + * HP-UX "fails" to connect a UDP socket and sets errno to + * EINPROGRESS if it's non-blocking. We'd rather regard this as + * a success and let the user detect it if it's really an error + * at the time of sending a packet on the socket. + */ + if (sock->type == isc_sockettype_udp && errno == EINPROGRESS) { + cc = 0; + goto success; + } if (SOFT_ERROR(errno) || errno == EINPROGRESS) goto queue; @@ -3639,6 +4443,7 @@ isc_socket_connect(isc_socket_t *sock, isc_sockaddr_t *addr, /* * If connect completed, fire off the done event. */ + success: if (cc == 0) { sock->connected = 1; sock->bound = 1; @@ -4005,26 +4810,84 @@ isc_socket_ipv6only(isc_socket_t *sock, isc_boolean_t yes) { } #ifndef ISC_PLATFORM_USETHREADS -void -isc__socketmgr_getfdsets(fd_set *readset, fd_set *writeset, int *maxfd) { +/* In our assumed scenario, we can simply use a single static object. */ +static isc_socketwait_t swait_private; + +int +isc__socketmgr_waitevents(struct timeval *tvp, isc_socketwait_t **swaitp) { + int n; +#ifdef USE_KQUEUE + struct timespec ts, *tsp; +#endif +#ifdef USE_EPOLL + int timeout; +#endif +#ifdef USE_DEVPOLL + struct dvpoll dvp; +#endif + + REQUIRE(swaitp != NULL && *swaitp == NULL); + if (socketmgr == NULL) - *maxfd = 0; - else { - *readset = socketmgr->read_fds; - *writeset = socketmgr->write_fds; - *maxfd = socketmgr->maxfd + 1; - } + return (0); + +#ifdef USE_KQUEUE + if (tvp != NULL) { + ts.tv_sec = tvp->tv_sec; + ts.tv_nsec = tvp->tv_usec * 1000; + tsp = &ts; + } else + tsp = NULL; + swait_private.nevents = kevent(socketmgr->kqueue_fd, NULL, 0, + socketmgr->events, socketmgr->nevents, + tsp); + n = swait_private.nevents; +#elif defined(USE_EPOLL) + if (tvp != NULL) + timeout = tvp->tv_sec * 1000 + (tvp->tv_usec + 999) / 1000; + else + timeout = -1; + swait_private.nevents = epoll_wait(socketmgr->epoll_fd, + socketmgr->events, + socketmgr->nevents, timeout); + n = swait_private.nevents; +#elif defined(USE_DEVPOLL) + dvp.dp_fds = socketmgr->events; + dvp.dp_nfds = socketmgr->nevents; + if (tvp != NULL) { + dvp.dp_timeout = tvp->tv_sec * 1000 + + (tvp->tv_usec + 999) / 1000; + } else + dvp.dp_timeout = -1; + swait_private.nevents = ioctl(socketmgr->devpoll_fd, DP_POLL, &dvp); + n = swait_private.nevents; +#elif defined(USE_SELECT) + swait_private.readset = socketmgr->read_fds; + swait_private.writeset = socketmgr->write_fds; + swait_private.maxfd = socketmgr->maxfd + 1; + + n = select(swait_private.maxfd, &swait_private.readset, + &swait_private.writeset, NULL, tvp); +#endif + + *swaitp = &swait_private; + return (n); } isc_result_t -isc__socketmgr_dispatch(fd_set *readset, fd_set *writeset, int maxfd) { - isc_socketmgr_t *manager = socketmgr; +isc__socketmgr_dispatch(isc_socketwait_t *swait) { + REQUIRE(swait == &swait_private); - if (manager == NULL) + if (socketmgr == NULL) return (ISC_R_NOTFOUND); - process_fds(manager, maxfd, readset, writeset); +#if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL) + (void)process_fds(socketmgr, socketmgr->events, swait->nevents); return (ISC_R_SUCCESS); +#elif defined(USE_SELECT) + process_fds(socketmgr, swait->maxfd, &swait->readset, &swait->writeset); + return (ISC_R_SUCCESS); +#endif } #endif /* ISC_PLATFORM_USETHREADS */ diff --git a/lib/isc/unix/socket_p.h b/lib/isc/unix/socket_p.h index 76df84e8..1a34c9e0 100644 --- a/lib/isc/unix/socket_p.h +++ b/lib/isc/unix/socket_p.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000, 2001 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: socket_p.h,v 1.11 2007/06/19 23:47:18 tbox Exp $ */ +/* $Id: socket_p.h,v 1.11.128.2 2008/06/24 23:46:27 tbox Exp $ */ #ifndef ISC_SOCKET_P_H #define ISC_SOCKET_P_H @@ -26,10 +26,7 @@ #include <sys/select.h> #endif -void -isc__socketmgr_getfdsets(fd_set *readset, fd_set *writeset, int *maxfd); - -isc_result_t -isc__socketmgr_dispatch(fd_set *readset, fd_set *writeset, int maxfd); - +typedef struct isc_socketwait isc_socketwait_t; +int isc__socketmgr_waitevents(struct timeval *, isc_socketwait_t **); +isc_result_t isc__socketmgr_dispatch(isc_socketwait_t *); #endif /* ISC_SOCKET_P_H */ diff --git a/lib/isc/win32/include/isc/net.h b/lib/isc/win32/include/isc/net.h index 86bb6040..223a4b32 100644 --- a/lib/isc/win32/include/isc/net.h +++ b/lib/isc/win32/include/isc/net.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: net.h,v 1.28 2007/06/19 23:47:20 tbox Exp $ */ +/* $Id: net.h,v 1.28.128.2 2008/07/01 23:46:44 tbox Exp $ */ #ifndef ISC_NET_H #define ISC_NET_H 1 @@ -104,7 +104,7 @@ * This is here because named client, interfacemgr.c, etc. use the name as * a variable */ -#undef interface +#undef interface #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK 0x7f000001UL @@ -155,15 +155,15 @@ typedef isc_uint16_t in_port_t; #define FD_CLR(fd, set) do { \ u_int __i; \ for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \ - if (((fd_set FAR *)(set))->fd_array[__i] == (SOCKET) fd) { \ - while (__i < ((fd_set FAR *)(set))->fd_count-1) { \ - ((fd_set FAR *)(set))->fd_array[__i] = \ - ((fd_set FAR *)(set))->fd_array[__i+1]; \ - __i++; \ - } \ - ((fd_set FAR *)(set))->fd_count--; \ - break; \ - } \ + if (((fd_set FAR *)(set))->fd_array[__i] == (SOCKET) fd) { \ + while (__i < ((fd_set FAR *)(set))->fd_count-1) { \ + ((fd_set FAR *)(set))->fd_array[__i] = \ + ((fd_set FAR *)(set))->fd_array[__i+1]; \ + __i++; \ + } \ + ((fd_set FAR *)(set))->fd_count--; \ + break; \ + } \ } \ } while (0) @@ -171,15 +171,15 @@ typedef isc_uint16_t in_port_t; #define FD_SET(fd, set) do { \ u_int __i; \ for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \ - if (((fd_set FAR *)(set))->fd_array[__i] == (SOCKET)(fd)) { \ - break; \ - } \ + if (((fd_set FAR *)(set))->fd_array[__i] == (SOCKET)(fd)) { \ + break; \ + } \ } \ if (__i == ((fd_set FAR *)(set))->fd_count) { \ - if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \ - ((fd_set FAR *)(set))->fd_array[__i] = (SOCKET)(fd); \ - ((fd_set FAR *)(set))->fd_count++; \ - } \ + if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \ + ((fd_set FAR *)(set))->fd_array[__i] = (SOCKET)(fd); \ + ((fd_set FAR *)(set))->fd_count++; \ + } \ } \ } while (0) @@ -306,6 +306,23 @@ isc_net_enableipv4(void); void isc_net_enableipv6(void); +isc_result_t +isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high); +/*%< + * Returns system's default range of ephemeral UDP ports, if defined. + * If the range is not available or unknown, ISC_NET_PORTRANGELOW and + * ISC_NET_PORTRANGEHIGH will be returned. + * + * Requires: + * + *\li 'low' and 'high' must be non NULL. + * + * Returns: + * + *\li *low and *high will be the ports specifying the low and high ends of + * the range. + */ + #ifdef ISC_PLATFORM_NEEDNTOP const char * isc_net_ntop(int af, const void *src, char *dst, size_t size); diff --git a/lib/isc/win32/libisc.def b/lib/isc/win32/libisc.def index dda07ebf..adeb6367 100644 --- a/lib/isc/win32/libisc.def +++ b/lib/isc/win32/libisc.def @@ -278,6 +278,7 @@ isc_mutexblock_init isc_net_aton isc_net_disableipv4 isc_net_disableipv6 +isc_net_getudpportrange isc_net_ntop isc_net_probe_ipv6only isc_net_probe_ipv6pktinfo @@ -311,6 +312,14 @@ isc_os_ncpus isc_parse_uint16 isc_parse_uint32 isc_parse_uint8 +isc_portset_add +isc_portset_addrange +isc_portset_create +isc_portset_destroy +isc_portset_isset +isc_portset_nports +isc_portset_remove +isc_portset_removerange isc_quota_attach isc_quota_destroy isc_quota_detach @@ -395,6 +404,7 @@ isc_socket_attach isc_socket_bind isc_socket_cancel isc_socket_cleanunix +isc_socket_close isc_socket_connect isc_socket_create isc_socket_detach @@ -407,6 +417,7 @@ isc_socket_gettype isc_socket_ipv6only isc_socket_isbound isc_socket_listen +isc_socket_open isc_socket_permunix isc_socket_recv isc_socket_recv2 diff --git a/lib/isc/win32/libisc.dsp b/lib/isc/win32/libisc.dsp index ec772883..437320a4 100644 --- a/lib/isc/win32/libisc.dsp +++ b/lib/isc/win32/libisc.dsp @@ -405,6 +405,10 @@ SOURCE=..\include\isc\parseint.h # End Source File
# Begin Source File
+SOURCE=..\include\isc\portset.h
+# End Source File
+# Begin Source File
+
SOURCE=..\include\isc\os.h
# End Source File
# Begin Source File
@@ -673,6 +677,10 @@ SOURCE=..\parseint.c # End Source File
# Begin Source File
+SOURCE=..\portset.c
+# End Source File
+# Begin Source File
+
SOURCE=..\quota.c
# End Source File
# Begin Source File
diff --git a/lib/isc/win32/libisc.mak b/lib/isc/win32/libisc.mak index b00a4caa..f70d07ab 100644 --- a/lib/isc/win32/libisc.mak +++ b/lib/isc/win32/libisc.mak @@ -157,6 +157,7 @@ CLEAN : -@erase "$(INTDIR)\ondestroy.obj"
-@erase "$(INTDIR)\os.obj"
-@erase "$(INTDIR)\parseint.obj"
+ -@erase "$(INTDIR)\portset.obj"
-@erase "$(INTDIR)\quota.obj"
-@erase "$(INTDIR)\random.obj"
-@erase "$(INTDIR)\ratelimiter.obj"
@@ -272,6 +273,7 @@ LINK32_OBJS= \ "$(INTDIR)\taskpool.obj" \
"$(INTDIR)\timer.obj" \
"$(INTDIR)\parseint.obj" \
+ "$(INTDIR)\portset.obj" \
"$(INTDIR)\region.obj"
"..\..\..\Build\Release\libisc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
@@ -380,6 +382,8 @@ CLEAN : -@erase "$(INTDIR)\os.sbr"
-@erase "$(INTDIR)\parseint.obj"
-@erase "$(INTDIR)\parseint.sbr"
+ -@erase "$(INTDIR)\portset.obj"
+ -@erase "$(INTDIR)\portset.sbr"
-@erase "$(INTDIR)\quota.obj"
-@erase "$(INTDIR)\quota.sbr"
-@erase "$(INTDIR)\random.obj"
@@ -520,6 +524,7 @@ BSC32_SBRS= \ "$(INTDIR)\taskpool.sbr" \
"$(INTDIR)\timer.sbr" \
"$(INTDIR)\parseint.sbr" \
+ "$(INTDIR)\portset.sbr" \
"$(INTDIR)\region.sbr"
"$(OUTDIR)\libisc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
@@ -601,6 +606,7 @@ LINK32_OBJS= \ "$(INTDIR)\taskpool.obj" \
"$(INTDIR)\timer.obj" \
"$(INTDIR)\parseint.obj" \
+ "$(INTDIR)\portset.obj" \
"$(INTDIR)\region.obj"
"..\..\..\Build\Debug\libisc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
@@ -1574,6 +1580,24 @@ SOURCE=..\parseint.c !ENDIF
+SOURCE=..\portset.c
+
+!IF "$(CFG)" == "libisc - Win32 Release"
+
+
+"$(INTDIR)\portset.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libisc - Win32 Debug"
+
+
+"$(INTDIR)\portset.obj" "$(INTDIR)\portset.sbr" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
SOURCE=..\quota.c
!IF "$(CFG)" == "libisc - Win32 Release"
diff --git a/lib/isc/win32/net.c b/lib/isc/win32/net.c index 37246882..deb0512e 100644 --- a/lib/isc/win32/net.c +++ b/lib/isc/win32/net.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: net.c,v 1.14.128.2 2008/04/02 23:46:28 tbox Exp $ */ +/* $Id: net.c,v 1.14.128.3 2008/07/01 02:09:10 each Exp $ */ #include <config.h> @@ -30,6 +30,23 @@ #include <isc/string.h> #include <isc/util.h> +/*% + * Definitions about UDP port range specification. This is a total mess of + * portability variants: some use sysctl (but the sysctl names vary), some use + * system-specific interfaces, some have the same interface for IPv4 and IPv6, + * some separate them, etc... + */ + +/*% + * The last resort defaults: use all non well known port space + */ +#ifndef ISC_NET_PORTRANGELOW +#define ISC_NET_PORTRANGELOW 1024 +#endif /* ISC_NET_PORTRANGELOW */ +#ifndef ISC_NET_PORTRANGEHIGH +#define ISC_NET_PORTRANGEHIGH 65535 +#endif /* ISC_NET_PORTRANGEHIGH */ + #if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRANY) const struct in6_addr isc_net_in6addrany = IN6ADDR_ANY_INIT; #endif @@ -269,6 +286,22 @@ isc_net_probe_ipv6pktinfo(void) { return (ipv6pktinfo_result); } +isc_result_t +isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) { + int result = ISC_R_FAILURE; + + REQUIRE(low != NULL && high != NULL); + + UNUSED(af); + + if (result != ISC_R_SUCCESS) { + *low = ISC_NET_PORTRANGELOW; + *high = ISC_NET_PORTRANGEHIGH; + } + + return (ISC_R_SUCCESS); /* we currently never fail in this function */ +} + void isc_net_disableipv4(void) { initialize(); diff --git a/lib/isc/win32/socket.c b/lib/isc/win32/socket.c index d80d593d..113acd2b 100644 --- a/lib/isc/win32/socket.c +++ b/lib/isc/win32/socket.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: socket.c,v 1.52.94.2 2008/03/27 23:46:28 tbox Exp $ */ +/* $Id: socket.c,v 1.52.94.5 2008/07/03 00:14:13 each Exp $ */ /* This code has been rewritten to take advantage of Windows Sockets * I/O Completion Ports and Events. I/O Completion Ports is ONLY @@ -2030,6 +2030,13 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, return (ISC_R_SUCCESS); } +isc_result_t +isc_socket_open(isc_socket_t *sock) { + REQUIRE(VALID_SOCKET(sock)); + + return (ISC_R_NOTIMPLEMENTED); +} + /* * Attach to a socket. Caller must explicitly detach when it is done. */ @@ -2071,6 +2078,13 @@ isc_socket_detach(isc_socket_t **socketp) { *socketp = NULL; } +isc_result_t +isc_socket_close(isc_socket_t *sock) { + REQUIRE(VALID_SOCKET(sock)); + + return (ISC_R_NOTIMPLEMENTED); +} + /* * Dequeue an item off the given socket's read queue, set the result code * in the done event to the one provided, and send it to the task it was @@ -2841,6 +2855,7 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { */ result = event_thread_create(&evthread, manager); if (result != ISC_R_SUCCESS) { + isc_condition_destroy(&manager->shutdown_ok); DESTROYLOCK(&manager->lock); isc_mem_put(mctx, manager, sizeof(*manager)); return (result); diff --git a/lib/isccfg/aclconf.c b/lib/isccfg/aclconf.c index 253a8ce9..4dc4632c 100644 --- a/lib/isccfg/aclconf.c +++ b/lib/isccfg/aclconf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: aclconf.c,v 1.17 2007/12/21 06:46:47 marka Exp $ */ +/* $Id: aclconf.c,v 1.17.2.2 2008/05/29 23:46:34 tbox Exp $ */ #include <config.h> @@ -31,7 +31,7 @@ #include <dns/fixedname.h> #include <dns/log.h> -#define LOOP_MAGIC ISC_MAGIC('L','O','O','P') +#define LOOP_MAGIC ISC_MAGIC('L','O','O','P') void cfg_aclconfctx_init(cfg_aclconfctx_t *ctx) { @@ -59,7 +59,7 @@ get_acl_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) { isc_result_t result; const cfg_obj_t *acls = NULL; const cfg_listelt_t *elt; - + result = cfg_map_get(cctx, "acl", &acls); if (result != ISC_R_SUCCESS) return (result); @@ -175,6 +175,7 @@ cfg_acl_fromconfig(const cfg_obj_t *caml, const cfg_listelt_t *elt; dns_iptable_t *iptab; int new_nest_level = 0; + int nelem; if (nest_level != 0) new_nest_level = nest_level - 1; @@ -206,6 +207,8 @@ cfg_acl_fromconfig(const cfg_obj_t *caml, return (result); } + nelem = cfg_list_length(caml, ISC_FALSE); + de = dacl->elements; for (elt = cfg_list_first(caml); elt != NULL; @@ -350,6 +353,16 @@ nested_acl: if (result != ISC_R_SUCCESS) goto cleanup; + /* + * There was only one element and it was + * a nested named ACL; attach it to the + * target and let's go home. + */ + if (nelem == 1) { + dns_acl_attach(inneracl, target); + goto cleanup; + } + goto nested_acl; } } else { @@ -363,7 +376,7 @@ nested_acl: /* * This should only be reached for localhost, localnets * and keyname elements, and nested ACLs if nest_level is - * nonzero (i.e., in sortlists). + * nonzero (i.e., in sortlists). */ if (de->nestedacl != NULL && de->type != dns_aclelementtype_nestedacl) diff --git a/lib/isccfg/api b/lib/isccfg/api index f606e999..12b10f97 100644 --- a/lib/isccfg/api +++ b/lib/isccfg/api @@ -1,3 +1,3 @@ LIBINTERFACE = 40 -LIBREVISION = 3 +LIBREVISION = 4 LIBAGE = 0 diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c index 21ab77ad..a7994b3f 100644 --- a/lib/isccfg/namedconf.c +++ b/lib/isccfg/namedconf.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: namedconf.c,v 1.78.46.7 2008/05/27 22:36:11 each Exp $ */ +/* $Id: namedconf.c,v 1.78.46.9 2008/06/24 23:46:27 tbox Exp $ */ /*! \file */ @@ -546,30 +546,80 @@ static cfg_type_t cfg_type_serverid = { /*% * Port list. */ +static cfg_tuplefielddef_t porttuple_fields[] = { + { "loport", &cfg_type_uint32, 0 }, + { "hiport", &cfg_type_uint32, 0 }, + { NULL, NULL, 0 } +}; +static cfg_type_t cfg_type_porttuple = { + "porttuple", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, porttuple_fields +}; + static isc_result_t -parse_port(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_port(cfg_parser_t *pctx, cfg_obj_t **ret) { isc_result_t result; - UNUSED(type); - CHECK(cfg_parse_uint32(pctx, NULL, ret)); if ((*ret)->value.uint32 > 0xffff) { cfg_parser_error(pctx, CFG_LOG_NEAR, "invalid port"); cfg_obj_destroy(pctx, ret); result = ISC_R_RANGE; } + cleanup: return (result); } -static cfg_type_t cfg_type_port = { - "port", parse_port, NULL, cfg_doc_terminal, +static isc_result_t +parse_portrange(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { + isc_result_t result; + cfg_obj_t *obj = NULL; + + UNUSED(type); + + CHECK(cfg_peektoken(pctx, ISC_LEXOPT_NUMBER | ISC_LEXOPT_CNUMBER)); + if (pctx->token.type == isc_tokentype_number) + CHECK(parse_port(pctx, ret)); + else { + CHECK(cfg_gettoken(pctx, 0)); + if (pctx->token.type != isc_tokentype_string || + strcasecmp(TOKEN_STRING(pctx), "range") != 0) { + cfg_parser_error(pctx, CFG_LOG_NEAR, + "expected integer or 'range'"); + return (ISC_R_UNEXPECTEDTOKEN); + } + CHECK(cfg_create_tuple(pctx, &cfg_type_porttuple, &obj)); + CHECK(parse_port(pctx, &obj->value.tuple[0])); + CHECK(parse_port(pctx, &obj->value.tuple[1])); + if (obj->value.tuple[0]->value.uint32 > + obj->value.tuple[1]->value.uint32) { + cfg_parser_error(pctx, CFG_LOG_NOPREP, + "low port '%u' must not be larger " + "than high port", + obj->value.tuple[0]->value.uint32); + result = ISC_R_RANGE; + goto cleanup; + } + *ret = obj; + obj = NULL; + } + + cleanup: + if (obj != NULL) + cfg_obj_destroy(pctx, &obj); + return (result); +} + +static cfg_type_t cfg_type_portrange = { + "portrange", parse_portrange, NULL, cfg_doc_terminal, NULL, NULL }; static cfg_type_t cfg_type_bracketed_portlist = { - "bracketed_sockaddrlist", cfg_parse_bracketed_list, cfg_print_bracketed_list, cfg_doc_bracketed_list, - &cfg_rep_list, &cfg_type_port + "bracketed_sockaddrlist", cfg_parse_bracketed_list, + cfg_print_bracketed_list, cfg_doc_bracketed_list, + &cfg_rep_list, &cfg_type_portrange }; /*% @@ -610,6 +660,8 @@ namedconf_or_view_clauses[] = { */ static cfg_clausedef_t options_clauses[] = { + { "use-v4-udp-ports", &cfg_type_bracketed_portlist, 0 }, + { "use-v6-udp-ports", &cfg_type_bracketed_portlist, 0 }, { "avoid-v4-udp-ports", &cfg_type_bracketed_portlist, 0 }, { "avoid-v6-udp-ports", &cfg_type_bracketed_portlist, 0 }, { "blackhole", &cfg_type_bracketed_aml, 0 }, @@ -1,10 +1,10 @@ -# $Id: version,v 1.39.18.5 2008/05/27 22:46:39 each Exp $ +# $Id: version,v 1.39.18.6 2008/06/30 22:44:59 each Exp $ # # This file must follow /bin/sh rules. It is imported directly via # configure. # MAJORVER=9 MINORVER=5 -PATCHVER=0 -RELEASETYPE=-P +PATCHVER=1 +RELEASETYPE=b RELEASEVER=1 |