aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Lansing <erwin@FreeBSD.org>2015-10-01 07:47:44 +0000
committerErwin Lansing <erwin@FreeBSD.org>2015-10-01 07:47:44 +0000
commitff14d03521a89636be959e65a21374951fe699ba (patch)
treef50c4271d12b6939db067758ade30df93a038a91
parentb04f5d3d3ff49c604e768add0cf35600b9eee074 (diff)
Vendor import of BIND 9.9.8vendor/bind9/9.9.8
Sponsored by: DK Hostmaster A/S
Notes
Notes: svn path=/vendor/bind9/dist/; revision=288438 svn path=/vendor/bind9/9.9.8/; revision=288439; tag=vendor/bind9/9.9.8
-rw-r--r--CHANGES312
-rw-r--r--README38
-rw-r--r--bin/check/check-tool.c3
-rw-r--r--bin/check/named-checkconf.c3
-rw-r--r--bin/check/named-checkzone.c3
-rw-r--r--bin/confgen/keygen.c3
-rw-r--r--bin/confgen/util.c3
-rw-r--r--bin/dig/dig.1201
-rw-r--r--bin/dig/dig.c114
-rw-r--r--bin/dig/dig.docbook339
-rw-r--r--bin/dig/dig.html261
-rw-r--r--bin/dig/dighost.c234
-rw-r--r--bin/dig/nslookup.c2
-rw-r--r--bin/dnssec/dnssec-dsfromkey.813
-rw-r--r--bin/dnssec/dnssec-dsfromkey.c40
-rw-r--r--bin/dnssec/dnssec-dsfromkey.docbook17
-rw-r--r--bin/dnssec/dnssec-dsfromkey.html26
-rw-r--r--bin/dnssec/dnssec-keygen.c7
-rw-r--r--bin/dnssec/dnssec-revoke.c8
-rw-r--r--bin/dnssec/dnssec-settime.c7
-rw-r--r--bin/dnssec/dnssec-signzone.c44
-rw-r--r--bin/named/client.c40
-rw-r--r--bin/named/config.c11
-rw-r--r--bin/named/control.c4
-rw-r--r--bin/named/include/named/lwdclient.h3
-rw-r--r--bin/named/include/named/main.h9
-rw-r--r--bin/named/include/named/server.h38
-rw-r--r--bin/named/interfacemgr.c4
-rw-r--r--bin/named/logconf.c3
-rw-r--r--bin/named/lwdclient.c96
-rw-r--r--bin/named/lwresd.c7
-rw-r--r--bin/named/main.c58
-rw-r--r--bin/named/named.812
-rw-r--r--bin/named/named.docbook17
-rw-r--r--bin/named/named.html26
-rw-r--r--bin/named/query.c283
-rw-r--r--bin/named/server.c232
-rw-r--r--bin/named/statschannel.c67
-rw-r--r--bin/named/update.c15
-rw-r--r--bin/named/xfrout.c7
-rw-r--r--bin/nsupdate/nsupdate.1184
-rw-r--r--bin/nsupdate/nsupdate.c12
-rw-r--r--bin/nsupdate/nsupdate.docbook1128
-rw-r--r--bin/nsupdate/nsupdate.html722
-rw-r--r--bin/rndc/rndc.8349
-rw-r--r--bin/rndc/rndc.c3
-rw-r--r--bin/rndc/rndc.docbook1178
-rw-r--r--bin/rndc/rndc.html757
-rw-r--r--bin/rndc/util.c7
-rw-r--r--bin/tools/arpaname.c3
-rw-r--r--bin/tools/isc-hmac-fixup.c3
-rw-r--r--bin/tools/named-journalprint.c3
-rw-r--r--config.h.in7
-rw-r--r--configure.in201
-rw-r--r--doc/arm/Bv9ARM-book.xml753
-rw-r--r--doc/arm/Bv9ARM.ch01.html2
-rw-r--r--doc/arm/Bv9ARM.ch02.html4
-rw-r--r--doc/arm/Bv9ARM.ch03.html2
-rw-r--r--doc/arm/Bv9ARM.ch04.html124
-rw-r--r--doc/arm/Bv9ARM.ch05.html6
-rw-r--r--doc/arm/Bv9ARM.ch06.html831
-rw-r--r--doc/arm/Bv9ARM.ch07.html14
-rw-r--r--doc/arm/Bv9ARM.ch08.html18
-rw-r--r--doc/arm/Bv9ARM.ch09.html142
-rw-r--r--doc/arm/Bv9ARM.ch10.html2
-rw-r--r--doc/arm/Bv9ARM.ch11.html172
-rw-r--r--doc/arm/Bv9ARM.ch12.html42
-rw-r--r--doc/arm/Bv9ARM.ch13.html2
-rw-r--r--doc/arm/Bv9ARM.html116
-rw-r--r--doc/arm/Bv9ARM.pdf15989
-rw-r--r--doc/arm/Makefile.in3
-rwxr-xr-xdoc/arm/html-fixup.pl20
-rw-r--r--doc/arm/man.arpaname.html8
-rw-r--r--doc/arm/man.ddns-confgen.html10
-rw-r--r--doc/arm/man.dig.html261
-rw-r--r--doc/arm/man.dnssec-checkds.html10
-rw-r--r--doc/arm/man.dnssec-coverage.html10
-rw-r--r--doc/arm/man.dnssec-dsfromkey.html26
-rw-r--r--doc/arm/man.dnssec-keyfromlabel.html14
-rw-r--r--doc/arm/man.dnssec-keygen.html16
-rw-r--r--doc/arm/man.dnssec-revoke.html10
-rw-r--r--doc/arm/man.dnssec-settime.html14
-rw-r--r--doc/arm/man.dnssec-signzone.html12
-rw-r--r--doc/arm/man.dnssec-verify.html10
-rw-r--r--doc/arm/man.genrandom.html10
-rw-r--r--doc/arm/man.host.html10
-rw-r--r--doc/arm/man.isc-hmac-fixup.html10
-rw-r--r--doc/arm/man.named-checkconf.html12
-rw-r--r--doc/arm/man.named-checkzone.html12
-rw-r--r--doc/arm/man.named-journalprint.html8
-rw-r--r--doc/arm/man.named.html26
-rw-r--r--doc/arm/man.nsec3hash.html10
-rw-r--r--doc/arm/man.nsupdate.html722
-rw-r--r--doc/arm/man.rndc-confgen.html12
-rw-r--r--doc/arm/man.rndc.conf.html12
-rw-r--r--doc/arm/man.rndc.html757
-rw-r--r--doc/arm/notes.html138
-rw-r--r--doc/arm/notes.pdfbin63182 -> 78451 bytes
-rw-r--r--doc/arm/notes.xml158
-rw-r--r--doc/misc/rfc-compliance73
-rw-r--r--isc-config.sh.in16
-rw-r--r--lib/bind9/api2
-rw-r--r--lib/bind9/check.c6
-rw-r--r--lib/dns/adb.c320
-rw-r--r--lib/dns/api4
-rw-r--r--lib/dns/cache.c26
-rw-r--r--lib/dns/callbacks.c3
-rw-r--r--lib/dns/client.c5
-rw-r--r--lib/dns/diff.c10
-rw-r--r--lib/dns/dispatch.c20
-rw-r--r--lib/dns/dlz.c26
-rw-r--r--lib/dns/dnssec.c10
-rw-r--r--lib/dns/dst_api.c7
-rw-r--r--lib/dns/dst_openssl.h17
-rw-r--r--lib/dns/dst_parse.c5
-rw-r--r--lib/dns/gssapi_link.c3
-rw-r--r--lib/dns/gssapictx.c13
-rw-r--r--lib/dns/hmac_link.c42
-rw-r--r--lib/dns/include/dns/adb.h89
-rw-r--r--lib/dns/include/dns/log.h5
-rw-r--r--lib/dns/include/dns/message.h7
-rw-r--r--lib/dns/include/dns/name.h13
-rw-r--r--lib/dns/include/dns/resolver.h39
-rw-r--r--lib/dns/include/dns/result.h8
-rw-r--r--lib/dns/include/dns/rrl.h21
-rw-r--r--lib/dns/include/dns/stats.h6
-rw-r--r--lib/dns/include/dns/types.h3
-rw-r--r--lib/dns/include/dns/update.h8
-rw-r--r--lib/dns/include/dns/zone.h44
-rw-r--r--lib/dns/include/dst/dst.h3
-rw-r--r--lib/dns/journal.c20
-rw-r--r--lib/dns/keytable.c1
-rw-r--r--lib/dns/log.c5
-rw-r--r--lib/dns/master.c12
-rw-r--r--lib/dns/message.c79
-rw-r--r--lib/dns/name.c79
-rw-r--r--lib/dns/ncache.c15
-rw-r--r--lib/dns/nsec.c5
-rw-r--r--lib/dns/nsec3.c5
-rw-r--r--lib/dns/openssl_link.c21
-rw-r--r--lib/dns/openssldh_link.c156
-rw-r--r--lib/dns/openssldsa_link.c65
-rw-r--r--lib/dns/opensslecdsa_link.c8
-rw-r--r--lib/dns/opensslgost_link.c7
-rw-r--r--lib/dns/opensslrsa_link.c76
-rw-r--r--lib/dns/order.c12
-rw-r--r--lib/dns/private.c17
-rw-r--r--lib/dns/rbt.c6
-rw-r--r--lib/dns/rbtdb.c34
-rw-r--r--lib/dns/rdata.c55
-rw-r--r--lib/dns/rdata/any_255/tsig_250.c50
-rw-r--r--lib/dns/rdata/ch_3/a_1.c27
-rw-r--r--lib/dns/rdata/generic/afsdb_18.c26
-rw-r--r--lib/dns/rdata/generic/caa_257.c28
-rw-r--r--lib/dns/rdata/generic/cdnskey_60.c24
-rw-r--r--lib/dns/rdata/generic/cds_59.c24
-rw-r--r--lib/dns/rdata/generic/cert_37.c26
-rw-r--r--lib/dns/rdata/generic/cname_5.c24
-rw-r--r--lib/dns/rdata/generic/dlv_32769.c26
-rw-r--r--lib/dns/rdata/generic/dname_39.c26
-rw-r--r--lib/dns/rdata/generic/dnskey_48.c26
-rw-r--r--lib/dns/rdata/generic/ds_43.c26
-rw-r--r--lib/dns/rdata/generic/eui48_108.c26
-rw-r--r--lib/dns/rdata/generic/eui64_109.c26
-rw-r--r--lib/dns/rdata/generic/gpos_27.c26
-rw-r--r--lib/dns/rdata/generic/hinfo_13.c24
-rw-r--r--lib/dns/rdata/generic/hip_55.c26
-rw-r--r--lib/dns/rdata/generic/ipseckey_45.c28
-rw-r--r--lib/dns/rdata/generic/isdn_20.c24
-rw-r--r--lib/dns/rdata/generic/key_25.c26
-rw-r--r--lib/dns/rdata/generic/keydata_65533.c36
-rw-r--r--lib/dns/rdata/generic/l32_105.c26
-rw-r--r--lib/dns/rdata/generic/l64_106.c26
-rw-r--r--lib/dns/rdata/generic/loc_29.c39
-rw-r--r--lib/dns/rdata/generic/lp_107.c28
-rw-r--r--lib/dns/rdata/generic/mb_7.c24
-rw-r--r--lib/dns/rdata/generic/md_3.c26
-rw-r--r--lib/dns/rdata/generic/mf_4.c26
-rw-r--r--lib/dns/rdata/generic/mg_8.c26
-rw-r--r--lib/dns/rdata/generic/minfo_14.c26
-rw-r--r--lib/dns/rdata/generic/mr_9.c26
-rw-r--r--lib/dns/rdata/generic/mx_15.c26
-rw-r--r--lib/dns/rdata/generic/naptr_35.c26
-rw-r--r--lib/dns/rdata/generic/nid_104.c26
-rw-r--r--lib/dns/rdata/generic/ns_2.c24
-rw-r--r--lib/dns/rdata/generic/nsec3_50.c24
-rw-r--r--lib/dns/rdata/generic/nsec3param_51.c26
-rw-r--r--lib/dns/rdata/generic/nsec_47.c28
-rw-r--r--lib/dns/rdata/generic/null_10.c26
-rw-r--r--lib/dns/rdata/generic/nxt_30.c26
-rw-r--r--lib/dns/rdata/generic/openpgpkey_61.c30
-rw-r--r--lib/dns/rdata/generic/opt_41.c56
-rw-r--r--lib/dns/rdata/generic/proforma.c34
-rw-r--r--lib/dns/rdata/generic/ptr_12.c29
-rw-r--r--lib/dns/rdata/generic/rp_17.c26
-rw-r--r--lib/dns/rdata/generic/rrsig_46.c28
-rw-r--r--lib/dns/rdata/generic/rt_21.c26
-rw-r--r--lib/dns/rdata/generic/sig_24.c26
-rw-r--r--lib/dns/rdata/generic/soa_6.c36
-rw-r--r--lib/dns/rdata/generic/spf_99.c26
-rw-r--r--lib/dns/rdata/generic/sshfp_44.c26
-rw-r--r--lib/dns/rdata/generic/tkey_249.c24
-rw-r--r--lib/dns/rdata/generic/tlsa_52.c26
-rw-r--r--lib/dns/rdata/generic/txt_16.c32
-rw-r--r--lib/dns/rdata/generic/unspec_103.c26
-rw-r--r--lib/dns/rdata/generic/uri_256.c26
-rw-r--r--lib/dns/rdata/generic/x25_19.c26
-rw-r--r--lib/dns/rdata/hs_4/a_1.c46
-rw-r--r--lib/dns/rdata/in_1/a6_38.c50
-rw-r--r--lib/dns/rdata/in_1/a_1.c64
-rw-r--r--lib/dns/rdata/in_1/aaaa_28.c64
-rw-r--r--lib/dns/rdata/in_1/apl_42.c62
-rw-r--r--lib/dns/rdata/in_1/dhcid_49.c50
-rw-r--r--lib/dns/rdata/in_1/kx_36.c50
-rw-r--r--lib/dns/rdata/in_1/nsap-ptr_23.c50
-rw-r--r--lib/dns/rdata/in_1/nsap_22.c58
-rw-r--r--lib/dns/rdata/in_1/px_26.c50
-rw-r--r--lib/dns/rdata/in_1/srv_33.c48
-rw-r--r--lib/dns/rdata/in_1/wks_11.c50
-rw-r--r--lib/dns/request.c72
-rw-r--r--lib/dns/resolver.c835
-rw-r--r--lib/dns/result.c11
-rw-r--r--lib/dns/rpz.c10
-rw-r--r--lib/dns/rrl.c15
-rw-r--r--lib/dns/sdb.c10
-rw-r--r--lib/dns/sdlz.c10
-rw-r--r--lib/dns/spnego.c37
-rw-r--r--lib/dns/tcpmsg.c3
-rw-r--r--lib/dns/tkey.c75
-rw-r--r--lib/dns/tsig.c15
-rw-r--r--lib/dns/update.c1070
-rw-r--r--lib/dns/view.c17
-rw-r--r--lib/dns/xfrin.c20
-rw-r--r--lib/dns/zone.c530
-rw-r--r--lib/export/isc/unix/include/isc/Makefile.in4
-rw-r--r--lib/export/samples/nsprobe.c1
-rw-r--r--lib/export/samples/sample-async.c3
-rw-r--r--lib/export/samples/sample-gai.c4
-rw-r--r--lib/export/samples/sample-request.c3
-rw-r--r--lib/export/samples/sample-update.c6
-rw-r--r--lib/export/samples/sample.c3
-rw-r--r--lib/irs/api2
-rw-r--r--lib/irs/getaddrinfo.c28
-rw-r--r--lib/isc/api4
-rw-r--r--lib/isc/assertions.c3
-rw-r--r--lib/isc/backtrace.c10
-rw-r--r--lib/isc/commandline.c3
-rw-r--r--lib/isc/entropy.c8
-rw-r--r--lib/isc/error.c3
-rw-r--r--lib/isc/heap.c40
-rw-r--r--lib/isc/hmacmd5.c4
-rw-r--r--lib/isc/hmacsha.c12
-rw-r--r--lib/isc/httpd.c74
-rw-r--r--lib/isc/include/isc/app.h12
-rw-r--r--lib/isc/include/isc/mem.h20
-rw-r--r--lib/isc/include/isc/namespace.h3
-rw-r--r--lib/isc/include/isc/platform.h.in14
-rw-r--r--lib/isc/include/isc/print.h35
-rw-r--r--lib/isc/include/isc/safe.h14
-rw-r--r--lib/isc/include/isc/util.h4
-rw-r--r--lib/isc/lex.c5
-rw-r--r--lib/isc/lib.c3
-rw-r--r--lib/isc/mem.c62
-rw-r--r--lib/isc/pool.c6
-rw-r--r--lib/isc/print.c353
-rw-r--r--lib/isc/pthreads/mutex.c3
-rw-r--r--lib/isc/regex.c3
-rw-r--r--lib/isc/rwlock.c3
-rw-r--r--lib/isc/safe.c33
-rw-r--r--lib/isc/socket_api.c8
-rw-r--r--lib/isc/stats.c7
-rw-r--r--lib/isc/task.c32
-rw-r--r--lib/isc/timer.c3
-rw-r--r--lib/isc/unix/app.c22
-rw-r--r--lib/isc/unix/file.c16
-rw-r--r--lib/isc/unix/ifiter_ioctl.c4
-rw-r--r--lib/isc/unix/ifiter_sysctl.c4
-rw-r--r--lib/isc/unix/net.c33
-rw-r--r--lib/isc/unix/socket.c30
-rw-r--r--lib/isccc/Makefile.in4
-rw-r--r--lib/isccc/alist.c5
-rw-r--r--lib/isccc/api2
-rw-r--r--lib/isccc/cc.c10
-rw-r--r--lib/isccc/sexpr.c3
-rw-r--r--lib/isccfg/api6
-rw-r--r--lib/isccfg/include/isccfg/cfg.h14
-rw-r--r--lib/isccfg/include/isccfg/grammar.h10
-rw-r--r--lib/isccfg/namedconf.c107
-rw-r--r--lib/isccfg/parser.c86
-rw-r--r--lib/lwres/api2
-rw-r--r--lib/lwres/herror.c4
-rw-r--r--lib/lwres/man/lwres.html12
-rw-r--r--lib/lwres/man/lwres_buffer.html4
-rw-r--r--lib/lwres/man/lwres_config.html10
-rw-r--r--lib/lwres/man/lwres_context.html8
-rw-r--r--lib/lwres/man/lwres_gabn.html8
-rw-r--r--lib/lwres/man/lwres_gai_strerror.html6
-rw-r--r--lib/lwres/man/lwres_getaddrinfo.html8
-rw-r--r--lib/lwres/man/lwres_gethostent.html10
-rw-r--r--lib/lwres/man/lwres_getipnode.html8
-rw-r--r--lib/lwres/man/lwres_getnameinfo.html10
-rw-r--r--lib/lwres/man/lwres_getrrsetbyname.html8
-rw-r--r--lib/lwres/man/lwres_gnba.html8
-rw-r--r--lib/lwres/man/lwres_hstrerror.html8
-rw-r--r--lib/lwres/man/lwres_inetntop.html8
-rw-r--r--lib/lwres/man/lwres_noop.html8
-rw-r--r--lib/lwres/man/lwres_packet.html6
-rw-r--r--lib/lwres/man/lwres_resutil.html8
-rw-r--r--lib/lwres/print.c24
-rw-r--r--version6
310 files changed, 20451 insertions, 15111 deletions
diff --git a/CHANGES b/CHANGES
index 8fb62a751e86..5929d6433af4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,14 +1,318 @@
- --- 9.9.7-P2 released ---
+ --- 9.9.8 released ---
+
+ --- 9.9.8rc1 released ---
+
+4193. [bug] Handle broken servers that return BADVERS incorrectly.
+ [RT #40427]
+
+4192. [bug] The default rrset-order of random was not always being
+ applied. [RT #40456]
+
+4191. [protocol] Accept DNS-SD non LDH PTR records in reverse zones
+ as per RFC 6763. [RT #37889]
+
+4190. [protocol] Accept Active Diretory gc._msdcs.<forest> name as
+ valid with check-names. <forest> still needs to be
+ LDH. [RT #40399]
+
+4189. [cleanup] Don't exit on overly long tokens in named.conf.
+ [RT #40418]
+
+4188. [bug] Support HTTP/1.0 client properly on the statistics
+ channel. [RT #40261]
+
+4187. [func] When any RR type implementation doesn't
+ implement totext() for the RDATA's wire
+ representation and returns ISC_R_NOTIMPLEMENTED,
+ such RDATA is now printed in unknown
+ presentation format (RFC 3597). RR types affected
+ include LOC(29) and APL(42). [RT #40317].
+
+4183. [cleanup] Use timing-safe memory comparisons in cryptographic
+ code. Also, the timing-safe comparison functions have
+ been renamed to avoid possible confusion with
+ memcmp(). Thanks to Loganaden Velvindron of
+ AFRINIC. [RT #40148]
+
+4182. [cleanup] Use mnemonics for RR class and type comparisons.
+ [RT #40297]
+
+4181. [bug] Queued notify messages could be dequeued from the
+ wrong rate limiter queue. [RT #40350]
+
+4179. [bug] Fix double frees in getaddrinfo() in libirs.
+ [RT #40209]
+
+4178. [bug] Fix assertion failure in parsing UNSPEC(103) RR from
+ text. [RT #40274]
+
+4177. [bug] Fix assertion failure in parsing NSAP records from
+ text. [RT #40285]
+
+4176. [bug] Address race issues with lwresd. [RT #40284]
+
+4175. [bug] TKEY with GSS-API keys needed bigger buffers.
+ [RT #40333]
+
+4174. [bug] "dnssec-coverage -r" didn't handle time unit
+ suffixes correctly. [RT #38444]
+
+4173. [bug] dig +sigchase was not properly matching the trusted
+ key. [RT #40188]
+
+4172. [bug] Named / named-checkconf didn't handle a view of CLASS0.
+ [RT #40265]
+
+4171. [bug] Fixed incorrect class checks in TSIG RR
+ implementation. [RT #40287]
+
+4170. [security] An incorrect boundary check in the OPENPGPKEY
+ rdatatype could trigger an assertion failure.
+ (CVE-2015-5986) [RT #40286]
+
+4169. [test] Added a 'wire_test -d' option to read input as
+ raw binary data, for use as a fuzzing harness.
+ [RT #40312]
+
+4168. [security] A buffer accounting error could trigger an
+ assertion failure when parsing certain malformed
+ DNSSEC keys. (CVE-2015-5722) [RT #40212]
+
+ --- 9.9.8b1 released ---
4165. [security] A failure to reset a value to NULL in tkey.c could
result in an assertion failure. (CVE-2015-5477)
[RT #40046]
- --- 9.9.7-P1 released ---
+4164. [bug] Don't rename slave files and journals on out of memory.
+ [RT #40033]
+
+4163. [bug] Address compiler warnings. [RT #40024]
+
+4162. [bug] httpdmgr->flags was not being initialized. [RT #40017]
+
+4159. [cleanup] Alphabetize dig's help output. [RT #39966]
+
+4158. [protocol] Support the printing of EDNS COOKIE and EXPIRE options.
+ [RT #39928]
+
+4154. [bug] A OPT record should be included with the FORMERR
+ response when there is a malformed EDNS option.
+ [RT #39647]
+
+4153. [bug] Check that non significant ECS bits are zero on
+ receipt. [RT #39647]
+
+4151. [bug] 'rndc flush' could cause a deadlock. [RT #39835]
+
+4150. [bug] win32: listen-on-v6 { any; }; was not working. Apply
+ minimal fix. [RT #39667]
+
+4149. [bug] Fixed a race condition in the getaddrinfo()
+ implementation in libirs. [RT #39899]
+
+4148. [bug] Fix a bug when printing zone names with '/' character
+ in XML and JSON statistics output. [RT #39873]
+
+4147. [bug] Filter-aaaa / filter-aaaa-on-v4 / filter-aaaa-on-v6
+ was returning referrals rather than nodata responses
+ when the AAAA records were filtered. [RT #39843]
-4138. [bug] An uninitialized value in validator.c could result
+4146. [bug] Address reference leak that could prevent a clean
+ shutdown. [RT #37125]
+
+4145. [bug] Not all unassociated adb entries where being printed.
+ [RT #37125]
+
+4143. [bug] serial-query-rate was not effective for notify.
+ [RT #39858]
+
+4142. [bug] rndc addzone with view specified saved NZF config
+ that could not be read back by named. This has now
+ been fixed. [RT #39845]
+
+4138. [security] An uninitialized value in validator.c could result
in an assertion failure. (CVE-2015-4620) [RT #39795]
+4137. [bug] Make rndc reconfig report configuration errors the
+ same way rndc reload does. [RT #39635]
+
+4132. [cleanup] dig: added +rd as a synonym for +recurse,
+ added +class as an unabbreviated alternative
+ to +cl. [RT #39686]
+
+4130. [bug] The compatibility shim for *printf() misprinted some
+ large numbers. [RT #39586]
+
+4129. [port] Address API changes in OpenSSL 1.1.0. [RT #39532]
+
+4128. [bug] Address issues raised by Coverity 7.6. [RT #39537]
+
+4127. [protocol] CDS and CDNSKEY need to be signed by the key signing
+ key as per RFC 7344, Section 4.1. [RT #37215]
+
+4123. [port] Added %z (size_t) format options to the portable
+ internal printf/sprintf implementation. [RT #39586]
+
+4118. [bug] Teach isc-config.sh about irs. [RT #39213]
+
+4117. [protocol] Add EMPTY.AS112.ARPA as per RFC 7534.
+
+4113. [test] Check for Net::DNS is some system test
+ prerequisites. [RT #39369]
+
+4112. [bug] Named failed to load when "root-delegation-only"
+ was used without a list of domains to exclude.
+ [RT #39380]
+
+4111. [doc] Alphabetize rndc man page. [RT #39360]
+
+4110. [bug] Address memory leaks / null pointer dereferences
+ on out of memory. [RT #39310]
+
+4109. [port] linux: support reading the local port range from
+ net.ipv4.ip_local_port_range. [RT # 39379]
+
+4107. [bug] Address potential deadlock when updating zone content.
+ [RT #39269]
+
+4106. [port] Improve readline support. [RT #38938]
+
+4105. [port] Misc fixes for Microsoft Visual Studio
+ 2015 CTP6 in 64 bit mode. [RT #39308]
+
+4104. [bug] Address uninitialized elements. [RT #39252]
+
+4102. [bug] Fix a use after free bug introduced in change
+ #4094. [RT #39281]
+
+4101. [bug] dig: the +split option didn't work with +short.
+ [RT #39291]
+
+4100. [bug] Inherited owernames on the line immediately following
+ a $INCLUDE were not working. [RT #39268]
+
+4099. [port] clang: make unknown commandline options hard errors
+ when determining what options are supported.
+ [RT #39273]
+
+4098. [bug] Address use-after-free issue when using a
+ predecessor key with dnssec-settime. [RT #39272]
+
+4097. [func] Add additional logging about xfrin transfer status.
+ [RT #39170]
+
+4096. [bug] Fix a use after free of query->sendevent.
+ [RT #39132]
+
+4094. [bug] A race during shutdown or reconfiguration could
+ cause an assertion in mem.c. [RT #38979]
+
+4091. [cleanup] Some cleanups in isc mem code. [RT #38896]
+
+4090. [bug] Fix a crash while parsing malformed CAA RRs in
+ presentation format, i.e., from text such as
+ from master files. Thanks to John Van de
+ Meulebrouck Brendgard for discovering and
+ reporting this problem. [RT #39003]
+
+4089. [bug] Send notifies immediately for slave zones during
+ startup. [RT #38843]
+
+4088. [port] Fixed errors when building with libressl. [RT #38899]
+
+4087. [bug] Fix a crash due to use-after-free due to sequencing
+ of tasks actions. [RT #38495]
+
+4085. [bug] ISC_PLATFORM_HAVEXADDQ could be inconsistently set.
+ [RT #38828]
+
+4084. [bug] Fix a possible race in updating stats counters.
+ [RT #38826]
+
+4082. [bug] Incrementally sign large inline zone deltas.
+ [RT #37927]
+
+4081. [cleanup] Use dns_rdatalist_init consistently. [RT #38759]
+
+4077. [test] Add static-stub regression test for DS NXDOMAIN
+ return making the static stub disappear. [RT #38564]
+
+4076. [bug] Named could crash on shutdown with outstanding
+ reload / reconfig events. [RT #38622]
+
+4075. [bug] Increase nsupdate's input buffer to accomodate
+ very large RRs. [RT #38689]
+
+4074. [cleanup] Cleaned up more warnings from gcc -Wshadow. [RT #38708]
+
+4073. [cleanup] Add libjson-c version number reporting to
+ "named -V"; normalize version number formatting.
+ [RT #38056]
+
+4072. [func] Add a --enable-querytrace configure switch for
+ very verbose query trace logging. (This option
+ has a negative performance impact and should be
+ used only for debugging.) [RT #37520]
+
+4070. [bug] Fix a segfault in nslookup in a query such as
+ "nslookup isc.org AMS.SNS-PB.ISC.ORG -all".
+ [RT #38548]
+
+4069. [doc] Reorganize options in the nsupdate man page.
+ [RT #38515]
+
+4067. [cleanup] Reduce noise from RRL when query logging is
+ disabled. [RT #38648]
+
+4066. [doc] Reorganize options in the dig man page. [RT #38516]
+
+4064. [contrib] dnssec-keyset.sh: Generates a specified number
+ of DNSSEC keys with timing set to implement a
+ pre-publication key rollover strategy. Thanks
+ to Jeffry A. Spain. [RT #38459]
+
+4063. [bug] Asynchronous zone loads were not handled
+ correctly when the zone load was already in
+ progress; this could trigger a crash in zt.c.
+ [RT #37573]
+
+4062. [bug] Fix an out-of-bounds read in RPZ code. If the
+ read succeeded, it doesn't result in a bug
+ during operation. If the read failed, named
+ could segfault. [RT #38559]
+
+3938. [func] Added quotas to be used in recursive resolvers
+ that are under high query load for names in zones
+ whose authoritative servers are nonresponsive or
+ are experiencing a denial of service attack.
+
+ - "fetches-per-server" limits the number of
+ simultaneous queries that can be sent to any
+ single authoritative server. The configured
+ value is a starting point; it is automatically
+ adjusted downward if the server is partially or
+ completely non-responsive. The algorithm used to
+ adjust the quota can be configured via the
+ "fetch-quota-params" option.
+ - "fetches-per-zone" limits the number of
+ simultaneous queries that can be sent for names
+ within a single domain. (Note: Unlike
+ "fetches-per-server", this value is not
+ self-tuning.)
+ - New stats counters have been added to count
+ queries spilled due to these quotas.
+
+ These options are not available by default;
+ use "configure --enable-fetchlimit" (or
+ --enable-developer) to include them in the build.
+
+ See the ARM for details of these options. [RT #37125]
+
+3937. [func] Added some debug logging to better indicate the
+ conditions causing SERVFAILs when resolving.
+ [RT #35538]
+
--- 9.9.7 released ---
--- 9.9.7rc2 released ---
@@ -16,7 +320,7 @@
4061. [bug] Handle timeout in legacy system test. [RT #38573]
4060. [bug] dns_rdata_freestruct could be called on a
- uninitialised structure when handling a error.
+ uninitialized structure when handling a error.
[RT #38568]
4059. [bug] Addressed valgrind warnings. [RT #38549]
diff --git a/README b/README
index 689e609495f0..43c051911cf1 100644
--- a/README
+++ b/README
@@ -51,15 +51,35 @@ BIND 9
For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes
-BIND 9.9.7-P2
-
- BIND 9.9.7-P1 is a security release addressing the flaw
- described in CVE-2015-5477.
-
-BIND 9.9.7-P1
-
- BIND 9.9.7-P1 is a security release addressing the flaw
- described in CVE-2015-4620.
+BIND 9.9.8
+
+ BIND 9.9.8 is a maintenance release and addresses bugs
+ found in BIND 9.9.7 and earlier, as well as the security
+ flaws described in CVE-2015-4620, CVE-2015-5477,
+ CVE-2015-5722, and CVE-2015-5986.
+
+ It also makes the following new features available via a
+ compile-time option:
+
+ - New "fetchlimit" quotas are now available for the use of
+ recursive resolvers that are are under high query load for
+ domains whose authoritative servers are nonresponsive or are
+ experiencing a denial of service attack.
+
+ + "fetches-per-server" limits the number of simultaneous queries
+ that can be sent to any single authoritative server. The
+ configured value is a starting point; it is automatically
+ adjusted downward if the server is partially or completely
+ non-responsive. The algorithm used to adjust the quota can be
+ configured via the "fetch-quota-params" option.
+ + "fetches-per-zone" limits the number of simultaneous queries
+ that can be sent for names within a single domain. (Note:
+ Unlike "fetches-per-server", this value is not self-tuning.)
+ + New stats counters have been added to count
+ queries spilled due to these quotas.
+
+ NOTE: These options are NOT built in by default; use
+ "configure --enable-fetchlimit" to enable them.
BIND 9.9.7
diff --git a/bin/check/check-tool.c b/bin/check/check-tool.c
index 1e534071d0c8..bb51fd360ff9 100644
--- a/bin/check/check-tool.c
+++ b/bin/check/check-tool.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -33,6 +33,7 @@
#include <isc/mem.h>
#include <isc/netdb.h>
#include <isc/net.h>
+#include <isc/print.h>
#include <isc/region.h>
#include <isc/stdio.h>
#include <isc/string.h>
diff --git a/bin/check/named-checkconf.c b/bin/check/named-checkconf.c
index 18cfdddc98bd..a2a0856de475 100644
--- a/bin/check/named-checkconf.c
+++ b/bin/check/named-checkconf.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -31,6 +31,7 @@
#include <isc/hash.h>
#include <isc/log.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/result.h>
#include <isc/string.h>
#include <isc/util.h>
diff --git a/bin/check/named-checkzone.c b/bin/check/named-checkzone.c
index 7e779c2d17f8..b1b871d09bd8 100644
--- a/bin/check/named-checkzone.c
+++ b/bin/check/named-checkzone.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,6 +30,7 @@
#include <isc/hash.h>
#include <isc/log.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/socket.h>
#include <isc/string.h>
#include <isc/task.h>
diff --git a/bin/confgen/keygen.c b/bin/confgen/keygen.c
index d0cdafed364b..3c0507f7ce0f 100644
--- a/bin/confgen/keygen.c
+++ b/bin/confgen/keygen.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2012, 2013, 2015 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
@@ -29,6 +29,7 @@
#include <isc/file.h>
#include <isc/keyboard.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/result.h>
#include <isc/string.h>
diff --git a/bin/confgen/util.c b/bin/confgen/util.c
index 5f5f817a5d3d..a3e21b5155af 100644
--- a/bin/confgen/util.c
+++ b/bin/confgen/util.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2015 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
@@ -25,6 +25,7 @@
#include <stdio.h>
#include <isc/boolean.h>
+#include <isc/print.h>
#include "util.h"
diff --git a/bin/dig/dig.1 b/bin/dig/dig.1
index b492ee71fd58..f78d556bfbd7 100644
--- a/bin/dig/dig.1
+++ b/bin/dig/dig.1
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2004-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -130,77 +130,97 @@ will perform a lookup for an A record.
.RE
.SH "OPTIONS"
.PP
-The
-\fB\-b\fR
-option sets the source IP address of the query to
-\fIaddress\fR. This must be a valid address on one of the host's network interfaces or "0.0.0.0" or "::". An optional port may be specified by appending "#<port>"
+\-4
+.RS 4
+Use IPv4 only.
+.RE
.PP
-The default query class (IN for internet) is overridden by the
-\fB\-c\fR
-option.
+\-6
+.RS 4
+Use IPv6 only.
+.RE
+.PP
+\-b \fIaddress\fR\fI[#port]\fR
+.RS 4
+Set the source IP address of the query. The
+\fIaddress\fR
+must be a valid address on one of the host's network interfaces, or "0.0.0.0" or "::". An optional port may be specified by appending "#<port>"
+.RE
+.PP
+\-c \fIclass\fR
+.RS 4
+Set the query class. The default
\fIclass\fR
-is any valid class, such as HS for Hesiod records or CH for Chaosnet records.
+is IN; other classes are HS for Hesiod records or CH for Chaosnet records.
+.RE
.PP
-The
-\fB\-f\fR
-option makes
-\fBdig \fR
-operate in batch mode by reading a list of lookup requests to process from the file
-\fIfilename\fR. The file contains a number of queries, one per line. Each entry in the file should be organized in the same way they would be presented as queries to
+\-f \fIfile\fR
+.RS 4
+Batch mode:
+\fBdig\fR
+reads a list of lookup requests to process from the given
+\fIfile\fR. Each line in the file should be organized in the same way they would be presented as queries to
\fBdig\fR
using the command\-line interface.
+.RE
.PP
-The
-\fB\-m\fR
-option enables memory usage debugging.
+\-i
+.RS 4
+Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT domain, which is no longer in use. Obsolete bit string label queries (RFC2874) are not attempted.
+.RE
.PP
-If a non\-standard port number is to be queried, the
-\fB\-p\fR
-option is used.
-\fIport#\fR
-is the port number that
-\fBdig\fR
-will send its queries instead of the standard DNS port number 53. This option would be used to test a name server that has been configured to listen for queries on a non\-standard port number.
+\-k \fIkeyfile\fR
+.RS 4
+Sign queries using TSIG using a key read from the given file. Key files can be generated using
+\fBtsig\-keygen\fR(8). When using TSIG authentication with
+\fBdig\fR, the name server that is queried needs to know the key and algorithm that is being used. In BIND, this is done by providing appropriate
+\fBkey\fR
+and
+\fBserver\fR
+statements in
+\fInamed.conf\fR.
+.RE
.PP
-The
-\fB\-4\fR
-option forces
-\fBdig\fR
-to only use IPv4 query transport. The
-\fB\-6\fR
-option forces
-\fBdig\fR
-to only use IPv6 query transport.
+\-m
+.RS 4
+Enable memory usage debugging.
+.RE
.PP
-The
-\fB\-t\fR
-option sets the query type to
-\fItype\fR. It can be any valid query type which is supported in BIND 9. The default query type is "A", unless the
+\-p \fIport\fR
+.RS 4
+Send the query to a non\-standard port on the server, instead of the defaut port 53. This option would be used to test a name server that has been configured to listen for queries on a non\-standard port number.
+.RE
+.PP
+\-q \fIname\fR
+.RS 4
+The domain name to query. This is useful to distinguish the
+\fIname\fR
+from other arguments.
+.RE
+.PP
+\-t \fItype\fR
+.RS 4
+The resource record type to query. It can be any valid query type which is supported in BIND 9. The default query type is "A", unless the
\fB\-x\fR
-option is supplied to indicate a reverse lookup. A zone transfer can be requested by specifying a type of AXFR. When an incremental zone transfer (IXFR) is required,
+option is supplied to indicate a reverse lookup. A zone transfer can be requested by specifying a type of AXFR. When an incremental zone transfer (IXFR) is required, set the
\fItype\fR
-is set to
+to
ixfr=N. The incremental zone transfer will contain the changes made to the zone since the serial number in the zone's SOA record was
\fIN\fR.
+.RE
.PP
-The
-\fB\-q\fR
-option sets the query name to
-\fIname\fR. This is useful to distinguish the
-\fIname\fR
-from other arguments.
-.PP
-The
-\fB\-v\fR
-causes
-\fBdig\fR
-to print the version number and exit.
+\-v
+.RS 4
+Print the version number and exit.
+.RE
.PP
-Reverse lookups \(em mapping addresses to names \(em are simplified by the
-\fB\-x\fR
-option.
+\-x \fIaddr\fR
+.RS 4
+Simplified reverse lookups, for mapping addresses to names. The
\fIaddr\fR
-is an IPv4 address in dotted\-decimal notation, or a colon\-delimited IPv6 address. When this option is used, there is no need to provide the
+is an IPv4 address in dotted\-decimal notation, or a colon\-delimited IPv6 address. When the
+\fB\-x\fR
+is used, there is no need to provide the
\fIname\fR,
\fIclass\fR
and
@@ -208,35 +228,41 @@ and
arguments.
\fBdig\fR
automatically performs a lookup for a name like
-11.12.13.10.in\-addr.arpa
-and sets the query type and class to PTR and IN respectively. By default, IPv6 addresses are looked up using nibble format under the IP6.ARPA domain. To use the older RFC1886 method using the IP6.INT domain specify the
+94.2.0.192.in\-addr.arpa
+and sets the query type and class to PTR and IN respectively. IPv6 addresses are looked up using nibble format under the IP6.ARPA domain (but see also the
\fB\-i\fR
-option. Bit string labels (RFC2874) are now experimental and are not attempted.
+option).
+.RE
.PP
-To sign the DNS queries sent by
-\fBdig\fR
-and their responses using transaction signatures (TSIG), specify a TSIG key file using the
+\-y \fI[hmac:]\fR\fIkeyname:secret\fR
+.RS 4
+Sign queries using TSIG with the given authentication key.
+\fIkeyname\fR
+is the name of the key, and
+\fIsecret\fR
+is the base64 encoded shared secret.
+\fIhmac\fR
+is the name of the key algorithm; valid choices are
+hmac\-md5,
+hmac\-sha1,
+hmac\-sha224,
+hmac\-sha256,
+hmac\-sha384, or
+hmac\-sha512. If
+\fIhmac\fR
+is not specified, the default is
+hmac\-md5.
+.sp
+NOTE: You should use the
\fB\-k\fR
-option. You can also specify the TSIG key itself on the command line using the
+option and avoid the
\fB\-y\fR
-option;
-\fIhmac\fR
-is the type of the TSIG, default HMAC\-MD5,
-\fIname\fR
-is the name of the TSIG key and
-\fIkey\fR
-is the actual key. The key is a base\-64 encoded string, typically generated by
-\fBdnssec\-keygen\fR(8). Caution should be taken when using the
+option, because with
\fB\-y\fR
-option on multi\-user systems as the key can be visible in the output from
+the shared secret is supplied as a command line argument in clear text. This may be visible in the output from
\fBps\fR(1)
-or in the shell's history file. When using TSIG authentication with
-\fBdig\fR, the name server that is queried needs to know the key and algorithm that is being used. In BIND, this is done by providing appropriate
-\fBkey\fR
-and
-\fBserver\fR
-statements in
-\fInamed.conf\fR.
+or in a history file maintained by the user's shell.
+.RE
.SH "QUERY OPTIONS"
.PP
\fBdig\fR
@@ -245,7 +271,10 @@ provides a number of query options which affect the way in which lookups are mad
Each query option is identified by a keyword preceded by a plus sign (+). Some keywords set or reset an option. These may be preceded by the string
no
to negate the meaning of that keyword. Other keywords assign values to options like the timeout interval. They have the form
-\fB+keyword=value\fR. The query options are:
+\fB+keyword=value\fR. Keywords may be abbreviated, provided the abbreviation is unambiguous; for example,
++cd
+is equivalent to
++cdflag. The query options are:
.PP
\fB+[no]aaflag\fR
.RS 4
@@ -300,7 +329,7 @@ bytes. The maximum and minimum sizes of this buffer are 65535 and 0 respectively
Set [do not set] the CD (checking disabled) bit in the query. This requests the server to not perform DNSSEC validation of responses.
.RE
.PP
-\fB+[no]cl\fR
+\fB+[no]class\fR
.RS 4
Display [do not display] the CLASS when printing the record.
.RE
@@ -421,6 +450,12 @@ Print [do not print] the query as it is sent. By default, the query is not print
Print [do not print] the question section of a query when an answer is returned. The default is to print the question section as a comment.
.RE
.PP
+\fB+[no]rdflag\fR
+.RS 4
+A synonym for
+\fI+[no]recurse\fR.
+.RE
+.PP
\fB+[no]recurse\fR
.RS 4
Toggle the setting of the RD (recursion desired) bit in the query. This bit is set by default, which means
@@ -518,6 +553,8 @@ Toggle tracing of the delegation path from the root name servers for the name be
\fBdig\fR
makes iterative queries to resolve the name being looked up. It will follow referrals from the root servers, showing the answer from each server that was used to resolve the lookup.
.sp
+If @server is also specified, it affects only the initial query for the root zone name servers.
+.sp
\fB+dnssec\fR
is also set when +trace is set to better emulate the default queries from a nameserver.
.RE
@@ -620,7 +657,7 @@ RFC1035.
.PP
There are probably too many query options.
.SH "COPYRIGHT"
-Copyright \(co 2004\-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2004\-2011, 2013\-2015 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
diff --git a/bin/dig/dig.c b/bin/dig/dig.c
index 07d8b0b7e14a..145e6107ad33 100644
--- a/bin/dig/dig.c
+++ b/bin/dig/dig.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -165,71 +165,75 @@ help(void) {
" q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a]\n"
" (Use ixfr=version for type ixfr)\n"
" q-opt is one of:\n"
-" -x dot-notation (shortcut for reverse lookups)\n"
-" -i (use IP6.INT for IPv6 reverse lookups)\n"
-" -f filename (batch mode)\n"
+" -4 (use IPv4 query transport only)\n"
+" -6 (use IPv6 query transport only)\n"
" -b address[#port] (bind to source address/port)\n"
+" -c class (specify query class)\n"
+" -f filename (batch mode)\n"
+" -i (use IP6.INT for IPv6 reverse lookups)\n"
+" -k keyfile (specify tsig key file)\n"
+" -m (enable memory usage debugging)\n"
" -p port (specify port number)\n"
" -q name (specify query name)\n"
" -t type (specify query type)\n"
-" -c class (specify query class)\n"
-" -k keyfile (specify tsig key file)\n"
+" -x dot-notation (shortcut for reverse lookups)\n"
" -y [hmac:]name:key (specify named base64 tsig key)\n"
-" -4 (use IPv4 query transport only)\n"
-" -6 (use IPv6 query transport only)\n"
-" -m (enable memory usage debugging)\n"
" d-opt is of the form +keyword[=value], where keyword is:\n"
-" +[no]vc (TCP mode)\n"
-" +[no]tcp (TCP mode, alternate syntax)\n"
-" +time=### (Set query timeout) [5]\n"
-" +tries=### (Set number of UDP attempts) [3]\n"
-" +retry=### (Set number of UDP retries) [2]\n"
-" +domain=### (Set default domainname)\n"
-" +bufsize=### (Set EDNS0 Max UDP packet size)\n"
-" +ndots=### (Set NDOTS value)\n"
-" +[no]edns[=###] (Set EDNS version) [0]\n"
-" +[no]search (Set whether to use searchlist)\n"
-" +[no]showsearch (Search with intermediate results)\n"
-" +[no]defname (Ditto)\n"
-" +[no]recurse (Recursive mode)\n"
-" +[no]ignore (Don't revert to TCP for TC responses.)"
-"\n"
-" +[no]fail (Don't try next server on SERVFAIL)\n"
-" +[no]besteffort (Try to parse even illegal messages)\n"
" +[no]aaonly (Set AA flag in query (+[no]aaflag))\n"
-" +[no]adflag (Set AD flag in query)\n"
-" +[no]cdflag (Set CD flag in query)\n"
+" +[no]additional (Control display of additional section)\n"
+" +[no]adflag (Set AD flag in query (default on))\n"
+" +[no]all (Set or clear all display flags)\n"
+" +[no]answer (Control display of answer section)\n"
+" +[no]authority (Control display of authority section)\n"
+" +[no]besteffort (Try to parse even illegal messages)\n"
+" +bufsize=### (Set EDNS0 Max UDP packet size)\n"
+" +[no]cdflag (Set checking disabled flag in query)\n"
" +[no]cl (Control display of class in records)\n"
" +[no]cmd (Control display of command line)\n"
" +[no]comments (Control display of comment lines)\n"
+" +[no]defname (Use search list (+[no]search))\n"
+" +[no]dnssec (Request DNSSEC records)\n"
+" +domain=### (Set default domainname)\n"
+" +[no]edns[=###] (Set EDNS version) [0]\n"
+" +[no]fail (Don't try next server on SERVFAIL)\n"
+" +[no]identify (ID responders in short answers)\n"
+" +[no]ignore (Don't revert to TCP for TC responses.)"
+"\n"
+" +[no]keepopen (Keep the TCP socket open between queries)\n"
+" +[no]multiline (Print records in an expanded format)\n"
+" +ndots=### (Set search NDOTS value)\n"
+" +[no]nsid (Request Name Server ID)\n"
+" +[no]nssearch (Search all authoritative nameservers)\n"
+" +[no]onesoa (AXFR prints only one soa record)\n"
+" +[no]qr (Print question before sending)\n"
+" +[no]question (Control display of question section)\n"
+" +[no]recurse (Recursive mode)\n"
+" +retry=### (Set number of UDP retries) [2]\n"
" +[no]rrcomments (Control display of per-record "
"comments)\n"
-" +[no]question (Control display of question)\n"
-" +[no]answer (Control display of answer)\n"
-" +[no]authority (Control display of authority)\n"
-" +[no]additional (Control display of additional)\n"
-" +[no]stats (Control display of statistics)\n"
-" +[no]short (Disable everything except short\n"
+" +[no]search (Set whether to use searchlist)\n"
+" +[no]short (Display nothing except short\n"
" form of answer)\n"
-" +[no]ttlid (Control display of ttls in records)\n"
-" +[no]all (Set or clear all display flags)\n"
-" +[no]qr (Print question before sending)\n"
-" +[no]nssearch (Search all authoritative nameservers)\n"
-" +[no]identify (ID responders in short answers)\n"
-" +[no]trace (Trace delegation down from root [+dnssec])\n"
-" +[no]dnssec (Request DNSSEC records)\n"
-" +[no]nsid (Request Name Server ID)\n"
+" +[no]showsearch (Search with intermediate results)\n"
#ifdef DIG_SIGCHASE
" +[no]sigchase (Chase DNSSEC signatures)\n"
-" +trusted-key=#### (Trusted Key when chasing DNSSEC sigs)\n"
+#endif
+" +[no]split=## (Split hex/base64 fields into chunks)\n"
+" +[no]stats (Control display of statistics)\n"
+" +[no]tcp (TCP mode (+[no]vc))\n"
+" +time=### (Set query timeout) [5]\n"
+#ifdef DIG_SIGCHASE
#if DIG_SIGCHASE_TD
" +[no]topdown (Do DNSSEC validation top down mode)\n"
#endif
#endif
-" +[no]split=## (Split hex/base64 fields into chunks)\n"
-" +[no]multiline (Print records in an expanded format)\n"
-" +[no]onesoa (AXFR prints only one soa record)\n"
-" +[no]keepopen (Keep the TCP socket open between queries)\n"
+" +[no]trace (Trace delegation down from root [+dnssec])\n"
+" +tries=### (Set number of UDP attempts) [3]\n"
+#ifdef DIG_SIGCHASE
+" +trusted-key=#### (Trusted Key when chasing DNSSEC sigs)\n"
+#endif
+" +[no]ttlid (Control display of ttls in records)\n"
+" +[no]vc (TCP mode (+[no]tcp))\n"
" global d-opts and servers (before host name) affect all queries.\n"
" local d-opts and servers (after host name) affect only that lookup.\n"
" -h (print help and exit)\n"
@@ -306,6 +310,7 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) {
isc_result_t result;
isc_uint64_t diff;
char store[sizeof("12345678901234567890")];
+ unsigned int styleflags = 0;
if (query->lookup->trace || query->lookup->ns_search_only) {
result = dns_rdatatype_totext(rdata->type, buf);
@@ -313,7 +318,11 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) {
return (result);
ADD_STRING(buf, " ");
}
- result = dns_rdata_totext(rdata, NULL, buf);
+
+ if (rrcomments)
+ styleflags |= DNS_STYLEFLAG_RRCOMMENT;
+ result = dns_rdata_tofmttext(rdata, NULL, styleflags, 0,
+ splitwidth, " ", buf);
if (result == ISC_R_NOSPACE)
return (result);
check_result(result, "dns_rdata_totext");
@@ -831,8 +840,9 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto invalid_option;
}
break;
- case 'l': /* cl */
- FULLCHECK("cl");
+ case 'l': /* class */
+ /* keep +cl for backwards compatibility */
+ FULLCHECK2("cl", "class");
noclass = ISC_TF(!state);
break;
case 'm': /* cmd */
@@ -984,6 +994,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
break;
case 'r':
switch (cmd[1]) {
+ case 'd': /* rdflag */
+ FULLCHECK("rdflag");
+ lookup->recurse = state;
+ break;
case 'e':
switch (cmd[2]) {
case 'c': /* recurse */
diff --git a/bin/dig/dig.docbook b/bin/dig/dig.docbook
index 53ab0c6e9f3c..8a3022dfc893 100644
--- a/bin/dig/dig.docbook
+++ b/bin/dig/dig.docbook
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- - Copyright (C) 2004-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004-2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -47,6 +47,7 @@
<year>2011</year>
<year>2013</year>
<year>2014</year>
+ <year>2015</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -216,127 +217,204 @@
<refsect1>
<title>OPTIONS</title>
- <para>
- The <option>-b</option> option sets the source IP address of the query
- to <parameter>address</parameter>. This must be a valid
- address on
- one of the host's network interfaces or "0.0.0.0" or "::". An optional
- port
- may be specified by appending "#&lt;port&gt;"
- </para>
-
- <para>
- The default query class (IN for internet) is overridden by the
- <option>-c</option> option. <parameter>class</parameter> is
- any valid
- class, such as HS for Hesiod records or CH for Chaosnet records.
- </para>
-
- <para>
- The <option>-f</option> option makes <command>dig </command>
- operate
- in batch mode by reading a list of lookup requests to process from the
- file <parameter>filename</parameter>. The file contains a
- number of
- queries, one per line. Each entry in the file should be organized in
- the same way they would be presented as queries to
- <command>dig</command> using the command-line interface.
- </para>
-
- <para>
- The <option>-m</option> option enables memory usage debugging.
- <!-- It enables ISC_MEM_DEBUGTRACE and ISC_MEM_DEBUGRECORD
- documented in include/isc/mem.h -->
- </para>
-
- <para>
- If a non-standard port number is to be queried, the
- <option>-p</option> option is used. <parameter>port#</parameter> is
- the port number that <command>dig</command> will send its
- queries
- instead of the standard DNS port number 53. This option would be used
- to test a name server that has been configured to listen for queries
- on a non-standard port number.
- </para>
-
- <para>
- The <option>-4</option> option forces <command>dig</command>
- to only
- use IPv4 query transport. The <option>-6</option> option forces
- <command>dig</command> to only use IPv6 query transport.
- </para>
-
- <para>
- The <option>-t</option> option sets the query type to
- <parameter>type</parameter>. It can be any valid query type
- which is
- supported in BIND 9. The default query type is "A", unless the
- <option>-x</option> option is supplied to indicate a reverse lookup.
- A zone transfer can be requested by specifying a type of AXFR. When
- an incremental zone transfer (IXFR) is required,
- <parameter>type</parameter> is set to <literal>ixfr=N</literal>.
- The incremental zone transfer will contain the changes made to the zone
- since the serial number in the zone's SOA record was
- <parameter>N</parameter>.
- </para>
-
- <para>
- The <option>-q</option> option sets the query name to
- <parameter>name</parameter>. This is useful to distinguish the
- <parameter>name</parameter> from other arguments.
- </para>
-
- <para>
- The <option>-v</option> causes <command>dig</command> to
- print the version number and exit.
- </para>
-
- <para>
- Reverse lookups &mdash; mapping addresses to names &mdash; are simplified by the
- <option>-x</option> option. <parameter>addr</parameter> is
- an IPv4
- address in dotted-decimal notation, or a colon-delimited IPv6 address.
- When this option is used, there is no need to provide the
- <parameter>name</parameter>, <parameter>class</parameter> and
- <parameter>type</parameter> arguments. <command>dig</command>
- automatically performs a lookup for a name like
- <literal>11.12.13.10.in-addr.arpa</literal> and sets the
- query type and
- class to PTR and IN respectively. By default, IPv6 addresses are
- looked up using nibble format under the IP6.ARPA domain.
- To use the older RFC1886 method using the IP6.INT domain
- specify the <option>-i</option> option. Bit string labels (RFC2874)
- are now experimental and are not attempted.
- </para>
-
- <para>
- To sign the DNS queries sent by <command>dig</command> and
- their
- responses using transaction signatures (TSIG), specify a TSIG key file
- using the <option>-k</option> option. You can also specify the TSIG
- key itself on the command line using the <option>-y</option> option;
- <parameter>hmac</parameter> is the type of the TSIG, default HMAC-MD5,
- <parameter>name</parameter> is the name of the TSIG key and
- <parameter>key</parameter> is the actual key. The key is a
- base-64
- encoded string, typically generated by
- <citerefentry>
- <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>.
-
- Caution should be taken when using the <option>-y</option> option on
- multi-user systems as the key can be visible in the output from
- <citerefentry>
- <refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum>
- </citerefentry>
- or in the shell's history file. When
- using TSIG authentication with <command>dig</command>, the name
- server that is queried needs to know the key and algorithm that is
- being used. In BIND, this is done by providing appropriate
- <command>key</command> and <command>server</command> statements in
- <filename>named.conf</filename>.
- </para>
-
+ <variablelist>
+ <varlistentry>
+ <term>-4</term>
+ <listitem>
+ <para>
+ Use IPv4 only.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-6</term>
+ <listitem>
+ <para>
+ Use IPv6 only.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-b <replaceable class="parameter">address<optional>#port</optional></replaceable></term>
+ <listitem>
+ <para>
+ Set the source IP address of the query.
+ The <parameter>address</parameter> must be a valid address on
+ one of the host's network interfaces, or "0.0.0.0" or "::". An
+ optional port may be specified by appending "#&lt;port&gt;"
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-c <replaceable class="parameter">class</replaceable></term>
+ <listitem>
+ <para>
+ Set the query class. The
+ default <parameter>class</parameter> is IN; other classes
+ are HS for Hesiod records or CH for Chaosnet records.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-f <replaceable class="parameter">file</replaceable></term>
+ <listitem>
+ <para>
+ Batch mode: <command>dig</command> reads a list of lookup
+ requests to process from the
+ given <parameter>file</parameter>. Each line in the file
+ should be organized in the same way they would be
+ presented as queries to
+ <command>dig</command> using the command-line interface.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i</term>
+ <listitem>
+ <para>
+ Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
+ domain, which is no longer in use. Obsolete bit string
+ label queries (RFC2874) are not attempted.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-k <replaceable class="parameter">keyfile</replaceable></term>
+ <listitem>
+ <para>
+ Sign queries using TSIG using a key read from the given file.
+ Key files can be generated using
+ <citerefentry>
+ <refentrytitle>tsig-keygen</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>.
+ When using TSIG authentication with <command>dig</command>,
+ the name server that is queried needs to know the key and
+ algorithm that is being used. In BIND, this is done by
+ providing appropriate <command>key</command>
+ and <command>server</command> statements in
+ <filename>named.conf</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-m</term>
+ <listitem>
+ <para>
+ Enable memory usage debugging.
+ <!-- It enables ISC_MEM_DEBUGTRACE and ISC_MEM_DEBUGRECORD
+ documented in include/isc/mem.h -->
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p <replaceable class="parameter">port</replaceable></term>
+ <listitem>
+ <para>
+ Send the query to a non-standard port on the server,
+ instead of the defaut port 53. This option would be used
+ to test a name server that has been configured to listen
+ for queries on a non-standard port number.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-q <replaceable class="parameter">name</replaceable></term>
+ <listitem>
+ <para>
+ The domain name to query. This is useful to distinguish
+ the <parameter>name</parameter> from other arguments.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t <replaceable class="parameter">type</replaceable></term>
+ <listitem>
+ <para>
+ The resource record type to query. It can be any valid query type
+ which is
+ supported in BIND 9. The default query type is "A", unless the
+ <option>-x</option> option is supplied to indicate a reverse lookup.
+ A zone transfer can be requested by specifying a type of AXFR. When
+ an incremental zone transfer (IXFR) is required, set the
+ <parameter>type</parameter> to <literal>ixfr=N</literal>.
+ The incremental zone transfer will contain the changes
+ made to the zone since the serial number in the zone's SOA
+ record was
+ <parameter>N</parameter>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v</term>
+ <listitem>
+ <para>
+ Print the version number and exit.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-x <replaceable class="parameter">addr</replaceable></term>
+ <listitem>
+ <para>
+ Simplified reverse lookups, for mapping addresses to
+ names. The <parameter>addr</parameter> is an IPv4 address
+ in dotted-decimal notation, or a colon-delimited IPv6
+ address. When the <option>-x</option> is used, there is no
+ need to provide
+ the <parameter>name</parameter>, <parameter>class</parameter>
+ and <parameter>type</parameter>
+ arguments. <command>dig</command> automatically performs a
+ lookup for a name like
+ <literal>94.2.0.192.in-addr.arpa</literal> and sets the
+ query type and class to PTR and IN respectively. IPv6
+ addresses are looked up using nibble format under the
+ IP6.ARPA domain (but see also the <option>-i</option>
+ option).
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></term>
+ <listitem>
+ <para>
+ Sign queries using TSIG with the given authentication key.
+ <parameter>keyname</parameter> is the name of the key, and
+ <parameter>secret</parameter> is the base64 encoded shared secret.
+ <parameter>hmac</parameter> is the name of the key algorithm;
+ valid choices are <literal>hmac-md5</literal>,
+ <literal>hmac-sha1</literal>, <literal>hmac-sha224</literal>,
+ <literal>hmac-sha256</literal>, <literal>hmac-sha384</literal>, or
+ <literal>hmac-sha512</literal>. If <parameter>hmac</parameter>
+ is not specified, the default is <literal>hmac-md5</literal>.
+ </para>
+ <para>
+ NOTE: You should use the <option>-k</option> option and
+ avoid the <option>-y</option> option, because
+ with <option>-y</option> the shared secret is supplied as
+ a command line argument in clear text. This may be visible
+ in the output from
+ <citerefentry>
+ <refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum>
+ </citerefentry>
+ or in a history file maintained by the user's shell.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
</refsect1>
<refsect1>
@@ -358,6 +436,9 @@
that keyword. Other
keywords assign values to options like the timeout interval. They
have the form <option>+keyword=value</option>.
+ Keywords may be abbreviated, provided the abbreviation is
+ unambiguous; for example, <literal>+cd</literal> is equivalent
+ to <literal>+cdflag</literal>.
The query options are:
<variablelist>
@@ -473,7 +554,7 @@
</varlistentry>
<varlistentry>
- <term><option>+[no]cl</option></term>
+ <term><option>+[no]class</option></term>
<listitem>
<para>
Display [do not display] the CLASS when printing the
@@ -686,6 +767,15 @@
</varlistentry>
<varlistentry>
+ <term><option>+[no]rdflag</option></term>
+ <listitem>
+ <para>
+ A synonym for <parameter>+[no]recurse</parameter>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>+[no]recurse</option></term>
<listitem>
<para>
@@ -850,6 +940,9 @@
referrals from the root servers, showing the answer
from each server that was used to resolve the lookup.
</para> <para>
+ If @server is also specified, it affects only the
+ initial query for the root zone name servers.
+ </para> <para>
<command>+dnssec</command> is also set when +trace
is set to better emulate the default queries from a
nameserver.
diff --git a/bin/dig/dig.html b/bin/dig/dig.html
index e624e151c434..6cb32c118946 100644
--- a/bin/dig/dig.html
+++ b/bin/dig/dig.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2004-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004-2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -34,7 +34,7 @@
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543544"></a><h2>DESCRIPTION</h2>
+<a name="id2543547"></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
@@ -81,7 +81,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543623"></a><h2>SIMPLE USAGE</h2>
+<a name="id2543626"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -134,115 +134,135 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543726"></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
- address on
- one of the host's network interfaces or "0.0.0.0" or "::". An optional
- port
- may be specified by appending "#&lt;port&gt;"
- </p>
-<p>
- The default query class (IN for internet) is overridden by the
- <code class="option">-c</code> option. <em class="parameter"><code>class</code></em> is
- any valid
- class, such as HS for Hesiod records or CH for Chaosnet records.
- </p>
-<p>
- The <code class="option">-f</code> option makes <span><strong class="command">dig </strong></span>
- operate
- in batch mode by reading a list of lookup requests to process from the
- file <em class="parameter"><code>filename</code></em>. The file contains a
- number of
- queries, one per line. Each entry in the file should be organized in
- the same way they would be presented as queries to
- <span><strong class="command">dig</strong></span> using the command-line interface.
- </p>
-<p>
- The <code class="option">-m</code> option enables memory usage debugging.
-
- </p>
-<p>
- If a non-standard port number is to be queried, the
- <code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
- the port number that <span><strong class="command">dig</strong></span> will send its
- queries
- instead of the standard DNS port number 53. This option would be used
- to test a name server that has been configured to listen for queries
- on a non-standard port number.
- </p>
-<p>
- The <code class="option">-4</code> option forces <span><strong class="command">dig</strong></span>
- to only
- use IPv4 query transport. The <code class="option">-6</code> option forces
- <span><strong class="command">dig</strong></span> to only use IPv6 query transport.
- </p>
-<p>
- The <code class="option">-t</code> option sets the query type to
- <em class="parameter"><code>type</code></em>. It can be any valid query type
- which is
- supported in BIND 9. The default query type is "A", unless the
- <code class="option">-x</code> option is supplied to indicate a reverse lookup.
- A zone transfer can be requested by specifying a type of AXFR. When
- an incremental zone transfer (IXFR) is required,
- <em class="parameter"><code>type</code></em> is set to <code class="literal">ixfr=N</code>.
- The incremental zone transfer will contain the changes made to the zone
- since the serial number in the zone's SOA record was
- <em class="parameter"><code>N</code></em>.
- </p>
-<p>
- The <code class="option">-q</code> option sets the query name to
- <em class="parameter"><code>name</code></em>. This is useful to distinguish the
- <em class="parameter"><code>name</code></em> from other arguments.
- </p>
-<p>
- The <code class="option">-v</code> causes <span><strong class="command">dig</strong></span> to
- print the version number and exit.
- </p>
-<p>
- Reverse lookups &#8212; mapping addresses to names &#8212; are simplified by the
- <code class="option">-x</code> option. <em class="parameter"><code>addr</code></em> is
- an IPv4
- address in dotted-decimal notation, or a colon-delimited IPv6 address.
- When this option is used, there is no need to provide the
- <em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em> and
- <em class="parameter"><code>type</code></em> arguments. <span><strong class="command">dig</strong></span>
- automatically performs a lookup for a name like
- <code class="literal">11.12.13.10.in-addr.arpa</code> and sets the
- query type and
- class to PTR and IN respectively. By default, IPv6 addresses are
- looked up using nibble format under the IP6.ARPA domain.
- To use the older RFC1886 method using the IP6.INT domain
- specify the <code class="option">-i</code> option. Bit string labels (RFC2874)
- are now experimental and are not attempted.
- </p>
+<a name="id2543730"></a><h2>OPTIONS</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">-4</span></dt>
+<dd><p>
+ Use IPv4 only.
+ </p></dd>
+<dt><span class="term">-6</span></dt>
+<dd><p>
+ Use IPv6 only.
+ </p></dd>
+<dt><span class="term">-b <em class="replaceable"><code>address[<span class="optional">#port</span>]</code></em></span></dt>
+<dd><p>
+ Set the source IP address of the query.
+ The <em class="parameter"><code>address</code></em> must be a valid address on
+ one of the host's network interfaces, or "0.0.0.0" or "::". An
+ optional port may be specified by appending "#&lt;port&gt;"
+ </p></dd>
+<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
+<dd><p>
+ Set the query class. The
+ default <em class="parameter"><code>class</code></em> is IN; other classes
+ are HS for Hesiod records or CH for Chaosnet records.
+ </p></dd>
+<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
+<dd><p>
+ Batch mode: <span><strong class="command">dig</strong></span> reads a list of lookup
+ requests to process from the
+ given <em class="parameter"><code>file</code></em>. Each line in the file
+ should be organized in the same way they would be
+ presented as queries to
+ <span><strong class="command">dig</strong></span> using the command-line interface.
+ </p></dd>
+<dt><span class="term">-i</span></dt>
+<dd><p>
+ Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
+ domain, which is no longer in use. Obsolete bit string
+ label queries (RFC2874) are not attempted.
+ </p></dd>
+<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
+<dd><p>
+ Sign queries using TSIG using a key read from the given file.
+ Key files can be generated using
+ <span class="citerefentry"><span class="refentrytitle">tsig-keygen</span>(8)</span>.
+ When using TSIG authentication with <span><strong class="command">dig</strong></span>,
+ the name server that is queried needs to know the key and
+ algorithm that is being used. In BIND, this is done by
+ providing appropriate <span><strong class="command">key</strong></span>
+ and <span><strong class="command">server</strong></span> statements in
+ <code class="filename">named.conf</code>.
+ </p></dd>
+<dt><span class="term">-m</span></dt>
+<dd><p>
+ Enable memory usage debugging.
+
+ </p></dd>
+<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
+<dd><p>
+ Send the query to a non-standard port on the server,
+ instead of the defaut port 53. This option would be used
+ to test a name server that has been configured to listen
+ for queries on a non-standard port number.
+ </p></dd>
+<dt><span class="term">-q <em class="replaceable"><code>name</code></em></span></dt>
+<dd><p>
+ The domain name to query. This is useful to distinguish
+ the <em class="parameter"><code>name</code></em> from other arguments.
+ </p></dd>
+<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
+<dd><p>
+ The resource record type to query. It can be any valid query type
+ which is
+ supported in BIND 9. The default query type is "A", unless the
+ <code class="option">-x</code> option is supplied to indicate a reverse lookup.
+ A zone transfer can be requested by specifying a type of AXFR. When
+ an incremental zone transfer (IXFR) is required, set the
+ <em class="parameter"><code>type</code></em> to <code class="literal">ixfr=N</code>.
+ The incremental zone transfer will contain the changes
+ made to the zone since the serial number in the zone's SOA
+ record was
+ <em class="parameter"><code>N</code></em>.
+ </p></dd>
+<dt><span class="term">-v</span></dt>
+<dd><p>
+ Print the version number and exit.
+ </p></dd>
+<dt><span class="term">-x <em class="replaceable"><code>addr</code></em></span></dt>
+<dd><p>
+ Simplified reverse lookups, for mapping addresses to
+ names. The <em class="parameter"><code>addr</code></em> is an IPv4 address
+ in dotted-decimal notation, or a colon-delimited IPv6
+ address. When the <code class="option">-x</code> is used, there is no
+ need to provide
+ the <em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em>
+ and <em class="parameter"><code>type</code></em>
+ arguments. <span><strong class="command">dig</strong></span> automatically performs a
+ lookup for a name like
+ <code class="literal">94.2.0.192.in-addr.arpa</code> and sets the
+ query type and class to PTR and IN respectively. IPv6
+ addresses are looked up using nibble format under the
+ IP6.ARPA domain (but see also the <code class="option">-i</code>
+ option).
+ </p></dd>
+<dt><span class="term">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></span></dt>
+<dd>
<p>
- To sign the DNS queries sent by <span><strong class="command">dig</strong></span> and
- their
- responses using transaction signatures (TSIG), specify a TSIG key file
- using the <code class="option">-k</code> option. You can also specify the TSIG
- key itself on the command line using the <code class="option">-y</code> option;
- <em class="parameter"><code>hmac</code></em> is the type of the TSIG, default HMAC-MD5,
- <em class="parameter"><code>name</code></em> is the name of the TSIG key and
- <em class="parameter"><code>key</code></em> is the actual key. The key is a
- base-64
- encoded string, typically generated by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
-
- Caution should be taken when using the <code class="option">-y</code> option on
- multi-user systems as the key can be visible in the output from
- <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
- or in the shell's history file. When
- using TSIG authentication with <span><strong class="command">dig</strong></span>, the name
- server that is queried needs to know the key and algorithm that is
- being used. In BIND, this is done by providing appropriate
- <span><strong class="command">key</strong></span> and <span><strong class="command">server</strong></span> statements in
- <code class="filename">named.conf</code>.
- </p>
+ Sign queries using TSIG with the given authentication key.
+ <em class="parameter"><code>keyname</code></em> is the name of the key, and
+ <em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
+ <em class="parameter"><code>hmac</code></em> is the name of the key algorithm;
+ valid choices are <code class="literal">hmac-md5</code>,
+ <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>,
+ <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>, or
+ <code class="literal">hmac-sha512</code>. If <em class="parameter"><code>hmac</code></em>
+ is not specified, the default is <code class="literal">hmac-md5</code>.
+ </p>
+<p>
+ NOTE: You should use the <code class="option">-k</code> option and
+ avoid the <code class="option">-y</code> option, because
+ with <code class="option">-y</code> the shared secret is supplied as
+ a command line argument in clear text. This may be visible
+ in the output from
+ <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
+ or in a history file maintained by the user's shell.
+ </p>
+</dd>
+</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2544018"></a><h2>QUERY OPTIONS</h2>
+<a name="id2544181"></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
@@ -258,6 +278,9 @@
that keyword. Other
keywords assign values to options like the timeout interval. They
have the form <code class="option">+keyword=value</code>.
+ Keywords may be abbreviated, provided the abbreviation is
+ unambiguous; for example, <code class="literal">+cd</code> is equivalent
+ to <code class="literal">+cdflag</code>.
The query options are:
</p>
@@ -322,7 +345,7 @@
the query. This requests the server to not perform
DNSSEC validation of responses.
</p></dd>
-<dt><span class="term"><code class="option">+[no]cl</code></span></dt>
+<dt><span class="term"><code class="option">+[no]class</code></span></dt>
<dd><p>
Display [do not display] the CLASS when printing the
record.
@@ -445,6 +468,10 @@
when an answer is returned. The default is to print
the question section as a comment.
</p></dd>
+<dt><span class="term"><code class="option">+[no]rdflag</code></span></dt>
+<dd><p>
+ A synonym for <em class="parameter"><code>+[no]recurse</code></em>.
+ </p></dd>
<dt><span class="term"><code class="option">+[no]recurse</code></span></dt>
<dd><p>
Toggle the setting of the RD (recursion desired) bit
@@ -552,6 +579,10 @@
from each server that was used to resolve the lookup.
</p>
<p>
+ If @server is also specified, it affects only the
+ initial query for the root zone name servers.
+ </p>
+<p>
<span><strong class="command">+dnssec</strong></span> is also set when +trace
is set to better emulate the default queries from a
nameserver.
@@ -600,7 +631,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2545181"></a><h2>MULTIPLE QUERIES</h2>
+<a name="id2545576"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
@@ -646,7 +677,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="id2545243"></a><h2>IDN SUPPORT</h2>
+<a name="id2545638"></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.
@@ -660,14 +691,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="id2545266"></a><h2>FILES</h2>
+<a name="id2545660"></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="id2545283"></a><h2>SEE ALSO</h2>
+<a name="id2545677"></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>,
@@ -675,7 +706,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="id2545320"></a><h2>BUGS</h2>
+<a name="id2545715"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c
index d6fea27bef5c..45dac2f5a112 100644
--- a/bin/dig/dighost.c
+++ b/bin/dig/dighost.c
@@ -85,6 +85,7 @@
#include <isc/print.h>
#include <isc/random.h>
#include <isc/result.h>
+#include <isc/safe.h>
#include <isc/serial.h>
#include <isc/string.h>
#include <isc/task.h>
@@ -193,7 +194,7 @@ dig_lookup_t *current_lookup = NULL;
#ifdef DIG_SIGCHASE
-isc_result_t get_trusted_key(isc_mem_t *mctx);
+isc_result_t get_trusted_key(void);
dns_rdataset_t * sigchase_scanname(dns_rdatatype_t type,
dns_rdatatype_t covers,
isc_boolean_t *lookedup,
@@ -211,32 +212,26 @@ isc_result_t advanced_rrsearch(dns_rdataset_t **rdataset,
isc_result_t sigchase_verify_sig_key(dns_name_t *name,
dns_rdataset_t *rdataset,
dst_key_t* dnsseckey,
- dns_rdataset_t *sigrdataset,
- isc_mem_t *mctx);
+ dns_rdataset_t *sigrdataset);
isc_result_t sigchase_verify_sig(dns_name_t *name,
dns_rdataset_t *rdataset,
dns_rdataset_t *keyrdataset,
- dns_rdataset_t *sigrdataset,
- isc_mem_t *mctx);
+ dns_rdataset_t *sigrdataset);
isc_result_t sigchase_verify_ds(dns_name_t *name,
dns_rdataset_t *keyrdataset,
- dns_rdataset_t *dsrdataset,
- isc_mem_t *mctx);
+ dns_rdataset_t *dsrdataset);
void sigchase(dns_message_t *msg);
void print_rdata(dns_rdata_t *rdata, isc_mem_t *mctx);
-void print_rdataset(dns_name_t *name,
- dns_rdataset_t *rdataset, isc_mem_t *mctx);
-void dup_name(dns_name_t *source, dns_name_t* target,
- isc_mem_t *mctx);
-void free_name(dns_name_t *name, isc_mem_t *mctx);
+void print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset);
+void dup_name(dns_name_t *source, dns_name_t* target);
+void free_name(dns_name_t *name);
void dump_database(void);
void dump_database_section(dns_message_t *msg, int section);
dns_rdataset_t * search_type(dns_name_t *name, dns_rdatatype_t type,
dns_rdatatype_t covers);
isc_result_t contains_trusted_key(dns_name_t *name,
dns_rdataset_t *rdataset,
- dns_rdataset_t *sigrdataset,
- isc_mem_t *mctx);
+ dns_rdataset_t *sigrdataset);
void print_type(dns_rdatatype_t type);
isc_result_t prove_nx_domain(dns_message_t * msg,
dns_name_t * name,
@@ -258,7 +253,7 @@ isc_result_t prove_nx(dns_message_t * msg, dns_name_t * name,
dns_rdataset_t ** sigrdataset);
static void nameFromString(const char *str, dns_name_t *p_ret);
int inf_name(dns_name_t * name1, dns_name_t * name2);
-isc_result_t removetmpkey(isc_mem_t *mctx, const char *file);
+isc_result_t removetmpkey(const char *file);
void clean_trustedkey(void);
isc_result_t insert_trustedkey(void *arg, dns_name_t *name,
dns_rdataset_t *rdataset);
@@ -1011,7 +1006,6 @@ parse_bits(char *arg, const char *desc, isc_uint32_t max) {
return (tmp);
}
-
/*
* Parse HMAC algorithm specification
*/
@@ -1627,7 +1621,7 @@ start_lookup(void) {
#if DIG_SIGCHASE_TD
if (current_lookup->do_topdown &&
!current_lookup->rdtype_sigchaseset) {
- dst_key_t *trustedkey = NULL;
+ dst_key_t *dstkey = NULL;
isc_buffer_t *b = NULL;
isc_region_t r;
isc_result_t result;
@@ -1635,7 +1629,7 @@ start_lookup(void) {
dns_name_t *key_name;
int i;
- result = get_trusted_key(mctx);
+ result = get_trusted_key();
if (result != ISC_R_SUCCESS) {
printf("\n;; No trusted key, "
"+sigchase option is disabled\n");
@@ -1650,22 +1644,22 @@ start_lookup(void) {
if (dns_name_issubdomain(&query_name,
key_name) == ISC_TRUE)
- trustedkey = tk_list.key[i];
+ dstkey = tk_list.key[i];
/*
* Verify temp is really the lowest
* WARNING
*/
}
- if (trustedkey == NULL) {
+ if (dstkey == NULL) {
printf("\n;; The queried zone: ");
dns_name_print(&query_name, stdout);
printf(" isn't a subdomain of any Trusted Keys"
": +sigchase option is disable\n");
current_lookup->sigchase = ISC_FALSE;
- free_name(&query_name, mctx);
+ free_name(&query_name);
goto novalidation;
}
- free_name(&query_name, mctx);
+ free_name(&query_name);
current_lookup->rdtype_sigchase
= current_lookup->rdtype;
@@ -1690,7 +1684,7 @@ start_lookup(void) {
result = isc_buffer_allocate(mctx, &b, BUFSIZE);
check_result(result, "isc_buffer_allocate");
- result = dns_name_totext(dst_key_name(trustedkey),
+ result = dns_name_totext(dst_key_name(dstkey),
ISC_FALSE, b);
check_result(result, "dns_name_totext");
isc_buffer_usedregion(b, &r);
@@ -2010,9 +2004,6 @@ insert_soa(dig_lookup_t *lookup) {
dns_rdatalist_init(rdatalist);
rdatalist->type = dns_rdatatype_soa;
rdatalist->rdclass = lookup->rdclass;
- rdatalist->covers = 0;
- rdatalist->ttl = 0;
- ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
dns_rdataset_init(rdataset);
@@ -3682,10 +3673,14 @@ isc_result_t
get_address(char *host, in_port_t myport, isc_sockaddr_t *sockaddr) {
int count;
isc_result_t result;
+ isc_boolean_t is_running;
- isc_app_block();
+ is_running = isc_app_isrunning();
+ if (is_running)
+ isc_app_block();
result = bind9_getaddresses(host, myport, sockaddr, 1, &count);
- isc_app_unblock();
+ if (is_running)
+ isc_app_unblock();
if (result != ISC_R_SUCCESS)
return (result);
@@ -3922,16 +3917,16 @@ destroy_libs(void) {
isc_mem_free(mctx, ptr);
}
if (dns_name_dynamic(&chase_name))
- free_name(&chase_name, mctx);
+ free_name(&chase_name);
#if DIG_SIGCHASE_TD
if (dns_name_dynamic(&chase_current_name))
- free_name(&chase_current_name, mctx);
+ free_name(&chase_current_name);
if (dns_name_dynamic(&chase_authority_name))
- free_name(&chase_authority_name, mctx);
+ free_name(&chase_authority_name);
#endif
#if DIG_SIGCHASE_BU
if (dns_name_dynamic(&chase_signame))
- free_name(&chase_signame, mctx);
+ free_name(&chase_signame);
#endif
#endif
@@ -4081,7 +4076,7 @@ dump_database_section(dns_message_t *msg, int section)
rdataset = ISC_LIST_NEXT(rdataset, link)) {
dns_name_print(msg_name, stdout);
printf("\n");
- print_rdataset(msg_name, rdataset, mctx);
+ print_rdataset(msg_name, rdataset);
printf("end\n");
}
msg_name = NULL;
@@ -4261,7 +4256,7 @@ isc_result_t
insert_trustedkey(void *arg, dns_name_t *name, dns_rdataset_t *rdataset)
{
isc_result_t result;
- dst_key_t *key;
+ dst_key_t *dstkey;
UNUSED(arg);
@@ -4279,11 +4274,11 @@ insert_trustedkey(void *arg, dns_name_t *name, dns_rdataset_t *rdataset)
isc_buffer_add(&b, rdata.length);
if (tk_list.nb_tk >= MAX_TRUSTED_KEY)
return (ISC_R_SUCCESS);
- key = NULL;
- result = dst_key_fromdns(name, rdata.rdclass, &b, mctx, &key);
+ dstkey = NULL;
+ result = dst_key_fromdns(name, rdata.rdclass, &b, mctx, &dstkey);
if (result != ISC_R_SUCCESS)
continue;
- tk_list.key[tk_list.nb_tk++] = key;
+ tk_list.key[tk_list.nb_tk++] = dstkey;
}
return (ISC_R_SUCCESS);
}
@@ -4308,7 +4303,7 @@ char alphnum[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
isc_result_t
-removetmpkey(isc_mem_t *mctx, const char *file)
+removetmpkey(const char *file)
{
char *tempnamekey = NULL;
int tempnamekeylen;
@@ -4332,8 +4327,7 @@ removetmpkey(isc_mem_t *mctx, const char *file)
}
isc_result_t
-get_trusted_key(isc_mem_t *mctx)
-{
+get_trusted_key(void) {
isc_result_t result;
const char *filename = NULL;
dns_rdatacallbacks_t callbacks;
@@ -4384,7 +4378,7 @@ nameFromString(const char *str, dns_name_t *p_ret) {
check_result(result, "nameFromString");
if (dns_name_dynamic(p_ret))
- free_name(p_ret, mctx);
+ free_name(p_ret);
result = dns_name_dup(dns_fixedname_name(&fixedname), mctx, p_ret);
check_result(result, "nameFromString");
@@ -4433,7 +4427,6 @@ prepare_lookup(dns_name_t *name)
#define __FOLLOW_GLUE__
#ifdef __FOLLOW_GLUE__
isc_buffer_t *b = NULL;
- isc_result_t result;
isc_region_t r;
dns_rdataset_t *rdataset = NULL;
isc_boolean_t true = ISC_TRUE;
@@ -4528,7 +4521,7 @@ prepare_lookup(dns_name_t *name)
printf(" for zone: %s", lookup->textname);
printf(" with nameservers:");
printf("\n");
- print_rdataset(name, chase_nsrdataset, mctx);
+ print_rdataset(name, chase_nsrdataset);
return (ISC_R_SUCCESS);
}
@@ -4611,14 +4604,14 @@ initialization(dns_name_t *name)
INSIST(chase_nsrdataset != NULL);
prepare_lookup(name);
- dup_name(name, &chase_current_name, mctx);
+ dup_name(name, &chase_current_name);
return (ISC_R_SUCCESS);
}
#endif
void
-print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset, isc_mem_t *mctx)
+print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset)
{
isc_buffer_t *b = NULL;
isc_result_t result;
@@ -4640,17 +4633,17 @@ print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset, isc_mem_t *mctx)
void
-dup_name(dns_name_t *source, dns_name_t *target, isc_mem_t *mctx) {
+dup_name(dns_name_t *source, dns_name_t *target) {
isc_result_t result;
if (dns_name_dynamic(target))
- free_name(target, mctx);
+ free_name(target);
result = dns_name_dup(source, mctx, target);
check_result(result, "dns_name_dup");
}
void
-free_name(dns_name_t *name, isc_mem_t *mctx) {
+free_name(dns_name_t *name) {
dns_name_free(name, mctx);
dns_name_init(name, NULL);
}
@@ -4667,8 +4660,7 @@ free_name(dns_name_t *name, isc_mem_t *mctx) {
*/
isc_result_t
contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
- dns_rdataset_t *sigrdataset,
- isc_mem_t *mctx)
+ dns_rdataset_t *sigrdataset)
{
dns_rdataset_t myrdataset;
dst_key_t *dnsseckey = NULL;
@@ -4704,8 +4696,7 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
dst_key_id(dnsseckey));
result = sigchase_verify_sig_key(name, rdataset,
dnsseckey,
- sigrdataset,
- mctx);
+ sigrdataset);
if (result == ISC_R_SUCCESS)
goto cleanup;
}
@@ -4713,19 +4704,20 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
dst_key_free(&dnsseckey);
} while (dns_rdataset_next(&myrdataset) == ISC_R_SUCCESS);
+ result = ISC_R_NOTFOUND;
+
cleanup:
if (dnsseckey != NULL)
dst_key_free(&dnsseckey);
dns_rdataset_disassociate(&myrdataset);
- return (ISC_R_NOTFOUND);
+ return (result);
}
isc_result_t
sigchase_verify_sig(dns_name_t *name, dns_rdataset_t *rdataset,
dns_rdataset_t *keyrdataset,
- dns_rdataset_t *sigrdataset,
- isc_mem_t *mctx)
+ dns_rdataset_t *sigrdataset)
{
dns_rdataset_t mykeyrdataset;
dst_key_t *dnsseckey = NULL;
@@ -4748,7 +4740,7 @@ sigchase_verify_sig(dns_name_t *name, dns_rdataset_t *rdataset,
check_result(result, "dns_dnssec_keyfromrdata");
result = sigchase_verify_sig_key(name, rdataset, dnsseckey,
- sigrdataset, mctx);
+ sigrdataset);
if (result == ISC_R_SUCCESS)
goto cleanup;
dst_key_free(&dnsseckey);
@@ -4766,8 +4758,7 @@ sigchase_verify_sig(dns_name_t *name, dns_rdataset_t *rdataset,
isc_result_t
sigchase_verify_sig_key(dns_name_t *name, dns_rdataset_t *rdataset,
- dst_key_t *dnsseckey, dns_rdataset_t *sigrdataset,
- isc_mem_t *mctx)
+ dst_key_t *dnsseckey, dns_rdataset_t *sigrdataset)
{
dns_rdata_sig_t siginfo;
dns_rdataset_t myrdataset;
@@ -4826,7 +4817,7 @@ sigchase_verify_sig_key(dns_name_t *name, dns_rdataset_t *rdataset,
isc_result_t
sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
- dns_rdataset_t *dsrdataset, isc_mem_t *mctx)
+ dns_rdataset_t *dsrdataset)
{
dns_rdata_ds_t dsinfo;
dns_rdataset_t mydsrdataset;
@@ -4893,8 +4884,7 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
result = sigchase_verify_sig_key(name,
keyrdataset,
dnsseckey,
- chase_sigkeyrdataset,
- mctx);
+ chase_sigkeyrdataset);
if (result == ISC_R_SUCCESS)
goto cleanup;
} else {
@@ -5000,7 +4990,7 @@ sigchase_td(dns_message_t *msg)
dns_rdatatype_ns,
dns_rdatatype_any,
DNS_SECTION_AUTHORITY);
- dup_name(name, &chase_authority_name, mctx);
+ dup_name(name, &chase_authority_name);
if (chase_nsrdataset != NULL) {
have_delegation_ns = ISC_TRUE;
printf("no response but there is a delegation"
@@ -5018,7 +5008,7 @@ sigchase_td(dns_message_t *msg)
} else {
printf(";; NO ANSWERS: %s\n",
isc_result_totext(result));
- free_name(&chase_name, mctx);
+ free_name(&chase_name);
clean_trustedkey();
return;
}
@@ -5050,7 +5040,7 @@ sigchase_td(dns_message_t *msg)
return;
INSIST(chase_keyrdataset != NULL);
printf("\n;; DNSKEYset:\n");
- print_rdataset(&chase_current_name , chase_keyrdataset, mctx);
+ print_rdataset(&chase_current_name , chase_keyrdataset);
result = advanced_rrsearch(&chase_sigkeyrdataset,
@@ -5067,22 +5057,20 @@ sigchase_td(dns_message_t *msg)
return;
INSIST(chase_sigkeyrdataset != NULL);
printf("\n;; RRSIG of the DNSKEYset:\n");
- print_rdataset(&chase_current_name , chase_sigkeyrdataset, mctx);
+ print_rdataset(&chase_current_name , chase_sigkeyrdataset);
if (!chase_dslookedup && !chase_nslookedup) {
if (!delegation_follow) {
result = contains_trusted_key(&chase_current_name,
chase_keyrdataset,
- chase_sigkeyrdataset,
- mctx);
+ chase_sigkeyrdataset);
} else {
INSIST(chase_dsrdataset != NULL);
INSIST(chase_sigdsrdataset != NULL);
result = sigchase_verify_ds(&chase_current_name,
chase_keyrdataset,
- chase_dsrdataset,
- mctx);
+ chase_dsrdataset);
}
if (result != ISC_R_SUCCESS) {
@@ -5141,8 +5129,8 @@ sigchase_td(dns_message_t *msg)
result = child_of_zone(&chase_name, &chase_current_name,
&tmp_name);
if (dns_name_dynamic(&chase_authority_name))
- free_name(&chase_authority_name, mctx);
- dup_name(&tmp_name, &chase_authority_name, mctx);
+ free_name(&chase_authority_name);
+ dup_name(&tmp_name, &chase_authority_name);
printf(";; and we try to continue chain of trust"
" validation of the zone: ");
dns_name_print(&chase_authority_name, stdout);
@@ -5187,7 +5175,7 @@ sigchase_td(dns_message_t *msg)
return;
INSIST(chase_dsrdataset != NULL);
printf("\n;; DSset:\n");
- print_rdataset(&chase_authority_name , chase_dsrdataset, mctx);
+ print_rdataset(&chase_authority_name , chase_dsrdataset);
result = advanced_rrsearch(&chase_sigdsrdataset,
&chase_authority_name,
@@ -5200,14 +5188,13 @@ sigchase_td(dns_message_t *msg)
goto cleanandgo;
}
printf("\n;; RRSIGset of DSset\n");
- print_rdataset(&chase_authority_name,
- chase_sigdsrdataset, mctx);
+ print_rdataset(&chase_authority_name, chase_sigdsrdataset);
INSIST(chase_sigdsrdataset != NULL);
result = sigchase_verify_sig(&chase_authority_name,
chase_dsrdataset,
chase_keyrdataset,
- chase_sigdsrdataset, mctx);
+ chase_sigdsrdataset);
if (result != ISC_R_SUCCESS) {
printf("\n;; Impossible to verify the DSset:"
" FAILED\n\n");
@@ -5223,8 +5210,8 @@ sigchase_td(dns_message_t *msg)
have_delegation_ns = ISC_FALSE;
delegation_follow = ISC_TRUE;
error_message = NULL;
- dup_name(&chase_authority_name, &chase_current_name, mctx);
- free_name(&chase_authority_name, mctx);
+ dup_name(&chase_authority_name, &chase_current_name);
+ free_name(&chase_authority_name);
return;
}
@@ -5249,14 +5236,14 @@ sigchase_td(dns_message_t *msg)
}
ret = sigchase_verify_sig(&rdata_name, rdataset,
chase_keyrdataset,
- sigrdataset, mctx);
+ sigrdataset);
if (ret != ISC_R_SUCCESS) {
- free_name(&rdata_name, mctx);
+ free_name(&rdata_name);
printf("\n;; Impossible to verify the NSEC RR to prove"
" the non-existence : FAILED\n\n");
goto cleanandgo;
}
- free_name(&rdata_name, mctx);
+ free_name(&rdata_name);
if (result != ISC_R_SUCCESS) {
printf("\n;; Impossible to verify the non-existence:"
" FAILED\n\n");
@@ -5271,9 +5258,9 @@ sigchase_td(dns_message_t *msg)
cleanandgo:
printf(";; cleanandgo \n");
if (dns_name_dynamic(&chase_current_name))
- free_name(&chase_current_name, mctx);
+ free_name(&chase_current_name);
if (dns_name_dynamic(&chase_authority_name))
- free_name(&chase_authority_name, mctx);
+ free_name(&chase_authority_name);
clean_trustedkey();
return;
@@ -5289,22 +5276,22 @@ sigchase_td(dns_message_t *msg)
}
result = sigchase_verify_sig(&chase_name, chase_rdataset,
chase_keyrdataset,
- chase_sigrdataset, mctx);
+ chase_sigrdataset);
if (result != ISC_R_SUCCESS) {
printf("\n;; Impossible to verify the RRset : FAILED\n\n");
/*
printf("RRset:\n");
- print_rdataset(&chase_name , chase_rdataset, mctx);
+ print_rdataset(&chase_name , chase_rdataset);
printf("DNSKEYset:\n");
- print_rdataset(&chase_name , chase_keyrdataset, mctx);
+ print_rdataset(&chase_name , chase_keyrdataset);
printf("RRSIG of RRset:\n");
- print_rdataset(&chase_name , chase_sigrdataset, mctx);
+ print_rdataset(&chase_name , chase_sigrdataset);
printf("\n");
*/
goto cleanandgo;
} else {
printf("\n;; The Answer:\n");
- print_rdataset(&chase_name , chase_rdataset, mctx);
+ print_rdataset(&chase_name , chase_rdataset);
printf("\n;; FINISH : we have validate the DNSSEC chain"
" of trust: SUCCESS\n\n");
@@ -5345,9 +5332,9 @@ getneededrr(dns_message_t *msg)
printf("\n;; No Answers: Validation FAILED\n\n");
return (ISC_R_NOTFOUND);
}
- dup_name(name, &chase_name, mctx);
+ dup_name(name, &chase_name);
printf(";; RRset to chase:\n");
- print_rdataset(&chase_name, chase_rdataset, mctx);
+ print_rdataset(&chase_name, chase_rdataset);
}
INSIST(chase_rdataset != NULL);
@@ -5361,14 +5348,14 @@ getneededrr(dns_message_t *msg)
printf("\n;; RRSIG is missing for continue validation:"
" FAILED\n\n");
if (dns_name_dynamic(&chase_name))
- free_name(&chase_name, mctx);
+ free_name(&chase_name);
return (ISC_R_NOTFOUND);
}
if (result == ISC_R_NOTFOUND) {
return (ISC_R_NOTFOUND);
}
printf("\n;; RRSIG of the RRset to chase:\n");
- print_rdataset(&chase_name, chase_sigrdataset, mctx);
+ print_rdataset(&chase_name, chase_sigrdataset);
}
INSIST(chase_sigrdataset != NULL);
@@ -5379,7 +5366,7 @@ getneededrr(dns_message_t *msg)
dns_rdataset_current(chase_sigrdataset, &sigrdata);
result = dns_rdata_tostruct(&sigrdata, &siginfo, NULL);
check_result(result, "sigrdata tostruct siginfo");
- dup_name(&siginfo.signer, &chase_signame, mctx);
+ dup_name(&siginfo.signer, &chase_signame);
dns_rdata_freestruct(&siginfo);
dns_rdata_reset(&sigrdata);
@@ -5393,17 +5380,17 @@ getneededrr(dns_message_t *msg)
if (result == ISC_R_FAILURE) {
printf("\n;; DNSKEY is missing to continue validation:"
" FAILED\n\n");
- free_name(&chase_signame, mctx);
+ free_name(&chase_signame);
if (dns_name_dynamic(&chase_name))
- free_name(&chase_name, mctx);
+ free_name(&chase_name);
return (ISC_R_NOTFOUND);
}
if (result == ISC_R_NOTFOUND) {
- free_name(&chase_signame, mctx);
+ free_name(&chase_signame);
return (ISC_R_NOTFOUND);
}
printf("\n;; DNSKEYset that signs the RRset to chase:\n");
- print_rdataset(&chase_signame, chase_keyrdataset, mctx);
+ print_rdataset(&chase_signame, chase_keyrdataset);
}
INSIST(chase_keyrdataset != NULL);
@@ -5416,18 +5403,18 @@ getneededrr(dns_message_t *msg)
if (result == ISC_R_FAILURE) {
printf("\n;; RRSIG for DNSKEY is missing to continue"
" validation : FAILED\n\n");
- free_name(&chase_signame, mctx);
+ free_name(&chase_signame);
if (dns_name_dynamic(&chase_name))
- free_name(&chase_name, mctx);
+ free_name(&chase_name);
return (ISC_R_NOTFOUND);
}
if (result == ISC_R_NOTFOUND) {
- free_name(&chase_signame, mctx);
+ free_name(&chase_signame);
return (ISC_R_NOTFOUND);
}
printf("\n;; RRSIG of the DNSKEYset that signs the "
"RRset to chase:\n");
- print_rdataset(&chase_signame, chase_sigkeyrdataset, mctx);
+ print_rdataset(&chase_signame, chase_sigkeyrdataset);
}
INSIST(chase_sigkeyrdataset != NULL);
@@ -5442,12 +5429,12 @@ getneededrr(dns_message_t *msg)
printf("\n");
}
if (result == ISC_R_NOTFOUND) {
- free_name(&chase_signame, mctx);
+ free_name(&chase_signame);
return (ISC_R_NOTFOUND);
}
if (chase_dsrdataset != NULL) {
printf("\n;; DSset of the DNSKEYset\n");
- print_rdataset(&chase_signame, chase_dsrdataset, mctx);
+ print_rdataset(&chase_signame, chase_dsrdataset);
}
}
@@ -5470,8 +5457,7 @@ getneededrr(dns_message_t *msg)
chase_dsrdataset = NULL;
} else {
printf("\n;; RRSIG of the DSset of the DNSKEYset\n");
- print_rdataset(&chase_signame, chase_sigdsrdataset,
- mctx);
+ print_rdataset(&chase_signame, chase_sigdsrdataset);
}
}
return (1);
@@ -5486,7 +5472,7 @@ sigchase_bu(dns_message_t *msg)
int ret;
if (tk_list.nb_tk == 0) {
- result = get_trusted_key(mctx);
+ result = get_trusted_key();
if (result != ISC_R_SUCCESS) {
printf("No trusted keys present\n");
return;
@@ -5513,7 +5499,7 @@ sigchase_bu(dns_message_t *msg)
result = prove_nx(msg, &query_name, current_lookup->rdclass,
current_lookup->rdtype, &rdata_name,
&rdataset, &sigrdataset);
- free_name(&query_name, mctx);
+ free_name(&query_name);
if (rdataset == NULL || sigrdataset == NULL ||
dns_name_countlabels(&rdata_name) == 0) {
printf("\n;; Impossible to verify the Non-existence,"
@@ -5532,8 +5518,8 @@ sigchase_bu(dns_message_t *msg)
printf(";; An NSEC prove the non-existence of a answers,"
" Now we want validate this NSEC\n");
- dup_name(&rdata_name, &chase_name, mctx);
- free_name(&rdata_name, mctx);
+ dup_name(&rdata_name, &chase_name);
+ free_name(&rdata_name);
chase_rdataset = rdataset;
chase_sigrdataset = sigrdataset;
chase_keyrdataset = NULL;
@@ -5554,10 +5540,10 @@ sigchase_bu(dns_message_t *msg)
result = sigchase_verify_sig(&chase_name, chase_rdataset,
chase_keyrdataset,
- chase_sigrdataset, mctx);
+ chase_sigrdataset);
if (result != ISC_R_SUCCESS) {
- free_name(&chase_name, mctx);
- free_name(&chase_signame, mctx);
+ free_name(&chase_name);
+ free_name(&chase_signame);
printf(";; No DNSKEY is valid to check the RRSIG"
" of the RRset: FAILED\n");
clean_trustedkey();
@@ -5566,10 +5552,10 @@ sigchase_bu(dns_message_t *msg)
printf(";; OK We found DNSKEY (or more) to validate the RRset\n");
result = contains_trusted_key(&chase_signame, chase_keyrdataset,
- chase_sigkeyrdataset, mctx);
+ chase_sigkeyrdataset);
if (result == ISC_R_SUCCESS) {
- free_name(&chase_name, mctx);
- free_name(&chase_signame, mctx);
+ free_name(&chase_name);
+ free_name(&chase_signame);
printf("\n;; Ok this DNSKEY is a Trusted Key,"
" DNSSEC validation is ok: SUCCESS\n\n");
clean_trustedkey();
@@ -5579,8 +5565,8 @@ sigchase_bu(dns_message_t *msg)
printf(";; Now, we are going to validate this DNSKEY by the DS\n");
if (chase_dsrdataset == NULL) {
- free_name(&chase_name, mctx);
- free_name(&chase_signame, mctx);
+ free_name(&chase_name);
+ free_name(&chase_signame);
printf(";; the DNSKEY isn't trusted-key and there isn't"
" DS to validate the DNSKEY: FAILED\n");
clean_trustedkey();
@@ -5588,10 +5574,10 @@ sigchase_bu(dns_message_t *msg)
}
result = sigchase_verify_ds(&chase_signame, chase_keyrdataset,
- chase_dsrdataset, mctx);
+ chase_dsrdataset);
if (result != ISC_R_SUCCESS) {
- free_name(&chase_signame, mctx);
- free_name(&chase_name, mctx);
+ free_name(&chase_signame);
+ free_name(&chase_name);
printf(";; ERROR no DS validates a DNSKEY in the"
" DNSKEY RRset: FAILED\n");
clean_trustedkey();
@@ -5602,8 +5588,8 @@ sigchase_bu(dns_message_t *msg)
" the RRset\n");
INSIST(chase_sigdsrdataset != NULL);
- dup_name(&chase_signame, &chase_name, mctx);
- free_name(&chase_signame, mctx);
+ dup_name(&chase_signame, &chase_name);
+ free_name(&chase_signame);
chase_rdataset = chase_dsrdataset;
chase_sigrdataset = chase_sigdsrdataset;
chase_keyrdataset = NULL;
@@ -5716,7 +5702,7 @@ prove_nx_domain(dns_message_t *msg,
printf("There is a NSEC for this zone in the"
" AUTHORITY section:\n");
- print_rdataset(nsecname, nsecset, mctx);
+ print_rdataset(nsecname, nsecset);
for (result = dns_rdataset_first(nsecset);
result == ISC_R_SUCCESS;
@@ -5745,7 +5731,7 @@ prove_nx_domain(dns_message_t *msg,
dns_rdata_freestruct(&nsecstruct);
*rdataset = nsecset;
*sigrdataset = signsecset;
- dup_name(nsecname, rdata_name, mctx);
+ dup_name(nsecname, rdata_name);
return (ISC_R_SUCCESS);
}
@@ -5798,7 +5784,7 @@ prove_nx_type(dns_message_t *msg, dns_name_t *name, dns_rdataset_t *nsecset,
printf("There isn't RRSIG NSEC for the zone \n");
return (ISC_R_FAILURE);
}
- dup_name(name, rdata_name, mctx);
+ dup_name(name, rdata_name);
*rdataset = nsecset;
*sigrdataset = signsecset;
diff --git a/bin/dig/nslookup.c b/bin/dig/nslookup.c
index d3237fa5dc2e..30591dc556fd 100644
--- a/bin/dig/nslookup.c
+++ b/bin/dig/nslookup.c
@@ -585,7 +585,7 @@ version(void) {
static void
setoption(char *opt) {
- if (strncasecmp(opt, "all", 4) == 0) {
+ if (strncasecmp(opt, "all", 3) == 0) {
show_settings(ISC_TRUE, ISC_FALSE);
} else if (strncasecmp(opt, "class=", 6) == 0) {
if (testclass(&opt[6]))
diff --git a/bin/dnssec/dnssec-dsfromkey.8 b/bin/dnssec/dnssec-dsfromkey.8
index 1c7e867eae7b..229433d5fa5a 100644
--- a/bin/dnssec/dnssec-dsfromkey.8
+++ b/bin/dnssec/dnssec-dsfromkey.8
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2008-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2008-2012, 2014, 2015 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
@@ -32,7 +32,7 @@
dnssec\-dsfromkey \- DNSSEC DS RR generation tool
.SH "SYNOPSIS"
.HP 17
-\fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] {keyfile}
+\fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] {keyfile}
.HP 17
\fBdnssec\-dsfromkey\fR {\-s} [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-s\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-A\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {dnsname}
.HP 17
@@ -60,6 +60,11 @@ Select the digest algorithm. The value of
must be one of SHA\-1 (SHA1), SHA\-256 (SHA256), GOST or SHA\-384 (SHA384). These values are case insensitive.
.RE
.PP
+\-C
+.RS 4
+Generate CDS records rather than DS records. This is mutually exclusive with generating lookaside records.
+.RE
+.PP
\-T \fITTL\fR
.RS 4
Specifies the TTL of the DS records.
@@ -98,7 +103,7 @@ Include ZSK's when generating DS records. Without this option, only keys which h
.RS 4
Generate a DLV set instead of a DS set. The specified
\fBdomain\fR
-is appended to the name for each record in the set. The DNSSEC Lookaside Validation (DLV) RR is described in RFC 4431.
+is appended to the name for each record in the set. The DNSSEC Lookaside Validation (DLV) RR is described in RFC 4431. This is mutually exclusive with generating CDS records.
.RE
.PP
\-s
@@ -165,5 +170,5 @@ RFC 4509.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
-Copyright \(co 2008\-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2008\-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
.br
diff --git a/bin/dnssec/dnssec-dsfromkey.c b/bin/dnssec/dnssec-dsfromkey.c
index 8c1bd86f16d9..72310f84c544 100644
--- a/bin/dnssec/dnssec-dsfromkey.c
+++ b/bin/dnssec/dnssec-dsfromkey.c
@@ -238,7 +238,7 @@ logkey(dns_rdata_t *rdata)
static void
emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
- dns_rdata_t *rdata)
+ isc_boolean_t cds, dns_rdata_t *rdata)
{
isc_result_t result;
unsigned char buf[DNS_DS_BUFFERSIZE];
@@ -302,9 +302,12 @@ emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
isc_buffer_usedregion(&classb, &r);
printf("%.*s", (int)r.length, r.base);
- if (lookaside == NULL)
- printf(" DS ");
- else
+ if (lookaside == NULL) {
+ if (cds)
+ printf(" CDS ");
+ else
+ printf(" DS ");
+ } else
printf(" DLV ");
isc_buffer_usedregion(&textb, &r);
@@ -332,6 +335,7 @@ usage(void) {
"(SHA-1, SHA-256, GOST or SHA-384)\n");
fprintf(stderr, " -1: use SHA-1\n");
fprintf(stderr, " -2: use SHA-256\n");
+ fprintf(stderr, " -C: print CDS record\n");
fprintf(stderr, " -l: add lookaside zone and print DLV records\n");
fprintf(stderr, " -s: read keyset from keyset-<dnsname> file\n");
fprintf(stderr, " -c class: rdata class for DS set (default: IN)\n");
@@ -352,6 +356,7 @@ main(int argc, char **argv) {
char *endp;
int ch;
unsigned int dtype = DNS_DSDIGEST_SHA1;
+ isc_boolean_t cds = ISC_FALSE;
isc_boolean_t both = ISC_TRUE;
isc_boolean_t usekeyset = ISC_FALSE;
isc_boolean_t showall = ISC_FALSE;
@@ -374,8 +379,8 @@ main(int argc, char **argv) {
isc_commandline_errprint = ISC_FALSE;
- while ((ch = isc_commandline_parse(argc, argv,
- "12Aa:c:d:Ff:K:l:sT:v:hV")) != -1) {
+#define OPTIONS "12Aa:Cc:d:Ff:K:l:sT:v:hV"
+ while ((ch = isc_commandline_parse(argc, argv, OPTIONS)) != -1) {
switch (ch) {
case '1':
dtype = DNS_DSDIGEST_SHA1;
@@ -392,6 +397,12 @@ main(int argc, char **argv) {
algname = isc_commandline_argument;
both = ISC_FALSE;
break;
+ case 'C':
+ if (lookaside != NULL)
+ fatal("lookaside and CDS are mutually"
+ " exclusive");
+ cds = ISC_TRUE;
+ break;
case 'c':
classname = isc_commandline_argument;
break;
@@ -408,6 +419,9 @@ main(int argc, char **argv) {
filename = isc_commandline_argument;
break;
case 'l':
+ if (cds)
+ fatal("lookaside and CDS are mutually"
+ " exclusive");
lookaside = isc_commandline_argument;
if (strlen(lookaside) == 0U)
fatal("lookaside must be a non-empty string");
@@ -526,11 +540,11 @@ main(int argc, char **argv) {
if (both) {
emit(DNS_DSDIGEST_SHA1, showall, lookaside,
- &rdata);
+ cds, &rdata);
emit(DNS_DSDIGEST_SHA256, showall, lookaside,
- &rdata);
+ cds, &rdata);
} else
- emit(dtype, showall, lookaside, &rdata);
+ emit(dtype, showall, lookaside, cds, &rdata);
}
} else {
unsigned char key_buf[DST_KEY_MAXSIZE];
@@ -539,10 +553,12 @@ main(int argc, char **argv) {
DST_KEY_MAXSIZE, &rdata);
if (both) {
- emit(DNS_DSDIGEST_SHA1, showall, lookaside, &rdata);
- emit(DNS_DSDIGEST_SHA256, showall, lookaside, &rdata);
+ emit(DNS_DSDIGEST_SHA1, showall, lookaside, cds,
+ &rdata);
+ emit(DNS_DSDIGEST_SHA256, showall, lookaside, cds,
+ &rdata);
} else
- emit(dtype, showall, lookaside, &rdata);
+ emit(dtype, showall, lookaside, cds, &rdata);
}
if (dns_rdataset_isassociated(&rdataset))
diff --git a/bin/dnssec/dnssec-dsfromkey.docbook b/bin/dnssec/dnssec-dsfromkey.docbook
index 7245a83f4de6..1127fa04e8b0 100644
--- a/bin/dnssec/dnssec-dsfromkey.docbook
+++ b/bin/dnssec/dnssec-dsfromkey.docbook
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- - Copyright (C) 2008-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2008-2012, 2014, 2015 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
@@ -41,6 +41,7 @@
<year>2011</year>
<year>2012</year>
<year>2014</year>
+ <year>2015</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -52,6 +53,7 @@
<arg><option>-1</option></arg>
<arg><option>-2</option></arg>
<arg><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
+ <arg><option>-C</option></arg>
<arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
<arg><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg choice="req">keyfile</arg>
@@ -123,6 +125,16 @@
</varlistentry>
<varlistentry>
+ <term>-C</term>
+ <listitem>
+ <para>
+ Generate CDS records rather than DS records. This is mutually
+ exclusive with generating lookaside records.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>-T <replaceable class="parameter">TTL</replaceable></term>
<listitem>
<para>
@@ -182,7 +194,8 @@
<option>domain</option> is appended to the name for each
record in the set.
The DNSSEC Lookaside Validation (DLV) RR is described
- in RFC 4431.
+ in RFC 4431. This is mutually exclusive with generating
+ CDS records.
</para>
</listitem>
</varlistentry>
diff --git a/bin/dnssec/dnssec-dsfromkey.html b/bin/dnssec/dnssec-dsfromkey.html
index 3f27b49e5bc2..13e9cc5342a3 100644
--- a/bin/dnssec/dnssec-dsfromkey.html
+++ b/bin/dnssec/dnssec-dsfromkey.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2008-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2008-2012, 2014, 2015 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
@@ -28,19 +28,19 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] {keyfile}</p></div>
+<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-C</code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] {keyfile}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-h</code>] [<code class="option">-V</code>]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543514"></a><h2>DESCRIPTION</h2>
+<a name="id2543522"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-dsfromkey</strong></span>
outputs the Delegation Signer (DS) resource record (RR), as defined in
RFC 3658 and RFC 4509, for the given key(s).
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543526"></a><h2>OPTIONS</h2>
+<a name="id2543533"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-1</span></dt>
<dd><p>
@@ -58,6 +58,11 @@
SHA-256 (SHA256), GOST or SHA-384 (SHA384).
These values are case insensitive.
</p></dd>
+<dt><span class="term">-C</span></dt>
+<dd><p>
+ Generate CDS records rather than DS records. This is mutually
+ exclusive with generating lookaside records.
+ </p></dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt>
<dd><p>
Specifies the TTL of the DS records.
@@ -98,7 +103,8 @@
<code class="option">domain</code> is appended to the name for each
record in the set.
The DNSSEC Lookaside Validation (DLV) RR is described
- in RFC 4431.
+ in RFC 4431. This is mutually exclusive with generating
+ CDS records.
</p></dd>
<dt><span class="term">-s</span></dt>
<dd><p>
@@ -125,7 +131,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543780"></a><h2>EXAMPLE</h2>
+<a name="id2543800"></a><h2>EXAMPLE</h2>
<p>
To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
@@ -140,7 +146,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543810"></a><h2>FILES</h2>
+<a name="id2543830"></a><h2>FILES</h2>
<p>
The keyfile can be designed by the key identification
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
@@ -154,13 +160,13 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543845"></a><h2>CAVEAT</h2>
+<a name="id2543865"></a><h2>CAVEAT</h2>
<p>
A keyfile error can give a "file not found" even if the file exists.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543854"></a><h2>SEE ALSO</h2>
+<a name="id2543875"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@@ -170,7 +176,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543894"></a><h2>AUTHOR</h2>
+<a name="id2543914"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/bin/dnssec/dnssec-keygen.c b/bin/dnssec/dnssec-keygen.c
index 3cae29c724fb..384e4b60b369 100644
--- a/bin/dnssec/dnssec-keygen.c
+++ b/bin/dnssec/dnssec-keygen.c
@@ -41,6 +41,7 @@
#include <isc/commandline.h>
#include <isc/entropy.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/region.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -231,7 +232,7 @@ main(int argc, char **argv) {
int dbits = 0;
dns_ttl_t ttl = 0;
isc_boolean_t use_default = ISC_FALSE, use_nsec3 = ISC_FALSE;
- isc_stdtime_t publish = 0, activate = 0, revoke = 0;
+ isc_stdtime_t publish = 0, activate = 0, revokekey = 0;
isc_stdtime_t inactive = 0, delete = 0;
isc_stdtime_t now;
int prepub = -1;
@@ -416,7 +417,7 @@ main(int argc, char **argv) {
if (setrev || unsetrev)
fatal("-R specified more than once");
- revoke = strtotime(isc_commandline_argument,
+ revokekey = strtotime(isc_commandline_argument,
now, now, &setrev);
unsetrev = !setrev;
break;
@@ -945,7 +946,7 @@ main(int argc, char **argv) {
"was used. Revoking a ZSK is "
"legal, but undefined.\n",
program);
- dst_key_settime(key, DST_TIME_REVOKE, revoke);
+ dst_key_settime(key, DST_TIME_REVOKE, revokekey);
}
if (setinact)
diff --git a/bin/dnssec/dnssec-revoke.c b/bin/dnssec/dnssec-revoke.c
index 0b9a1f59ea61..6756a38129e0 100644
--- a/bin/dnssec/dnssec-revoke.c
+++ b/bin/dnssec/dnssec-revoke.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009-2012, 2014, 2015 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
@@ -89,7 +89,7 @@ main(int argc, char **argv) {
isc_uint32_t flags;
isc_buffer_t buf;
isc_boolean_t force = ISC_FALSE;
- isc_boolean_t remove = ISC_FALSE;
+ isc_boolean_t removefile = ISC_FALSE;
isc_boolean_t id = ISC_FALSE;
if (argc == 1)
@@ -123,7 +123,7 @@ main(int argc, char **argv) {
}
break;
case 'r':
- remove = ISC_TRUE;
+ removefile = ISC_TRUE;
break;
case 'R':
id = ISC_TRUE;
@@ -247,7 +247,7 @@ main(int argc, char **argv) {
* Remove old key file, if told to (and if
* it isn't the same as the new file)
*/
- if (remove && dst_key_alg(key) != DST_ALG_RSAMD5) {
+ if (removefile && dst_key_alg(key) != DST_ALG_RSAMD5) {
isc_buffer_init(&buf, oldname, sizeof(oldname));
dst_key_setflags(key, flags & ~DNS_KEYFLAG_REVOKE);
dst_key_buildfilename(key, DST_TYPE_PRIVATE, dir, &buf);
diff --git a/bin/dnssec/dnssec-settime.c b/bin/dnssec/dnssec-settime.c
index 3d18b61a6139..e26356c788b1 100644
--- a/bin/dnssec/dnssec-settime.c
+++ b/bin/dnssec/dnssec-settime.c
@@ -108,8 +108,8 @@ printtime(dst_key_t *key, int type, const char *tag, isc_boolean_t epoch,
} else if (epoch) {
fprintf(stream, "%d\n", (int) when);
} else {
- time_t time = when;
- output = ctime(&time);
+ time_t timet = when;
+ output = ctime(&timet);
fprintf(stream, "%s", output);
}
}
@@ -399,7 +399,6 @@ main(int argc, char **argv) {
"inactive.\n", program);
changed = setpub = setact = ISC_TRUE;
- dst_key_free(&prevkey);
} else {
if (prepub < 0)
prepub = 0;
@@ -590,6 +589,8 @@ main(int argc, char **argv) {
printf("%s\n", newname);
}
+ if (prevkey != NULL)
+ dst_key_free(&prevkey);
dst_key_free(&key);
dst_lib_destroy();
isc_hash_destroy();
diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c
index d791edb53fac..6ef8e44b9d3a 100644
--- a/bin/dnssec/dnssec-signzone.c
+++ b/bin/dnssec/dnssec-signzone.c
@@ -52,6 +52,7 @@
#include <isc/random.h>
#include <isc/rwlock.h>
#include <isc/serial.h>
+#include <isc/safe.h>
#include <isc/stdio.h>
#include <isc/stdlib.h>
#include <isc/string.h>
@@ -681,7 +682,9 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
(iszsk(key) && !keyset_kskonly))
signwithkey(name, set, key->key, ttl, add,
"signing with dnskey");
- } else if (iszsk(key)) {
+ } else if (set->type == dns_rdatatype_cds ||
+ set->type == dns_rdatatype_cdnskey ||
+ iszsk(key)) {
signwithkey(name, set, key->key, ttl, add,
"signing with dnskey");
}
@@ -758,7 +761,7 @@ hashlist_add_dns_name(hashlist_t *l, /*const*/ dns_name_t *name,
static int
hashlist_comp(const void *a, const void *b) {
- return (memcmp(a, b, hash_length + 1));
+ return (isc_safe_memcompare(a, b, hash_length + 1));
}
static void
@@ -785,7 +788,7 @@ hashlist_hasdup(hashlist_t *l) {
next += l->length;
if (next[l->length-1] != 0)
continue;
- if (memcmp(current, next, l->length - 1) == 0)
+ if (isc_safe_memequal(current, next, l->length - 1))
return (ISC_TRUE);
current = next;
}
@@ -1313,7 +1316,7 @@ cleanup:
* Delete any RRSIG records at a node.
*/
static void
-cleannode(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node) {
+cleannode(dns_db_t *db, dns_dbversion_t *dbversion, dns_dbnode_t *node) {
dns_rdatasetiter_t *rdsiter = NULL;
dns_rdataset_t set;
isc_result_t result, dresult;
@@ -1322,7 +1325,7 @@ cleannode(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node) {
return;
dns_rdataset_init(&set);
- result = dns_db_allrdatasets(db, node, version, 0, &rdsiter);
+ result = dns_db_allrdatasets(db, node, dbversion, 0, &rdsiter);
check_result(result, "dns_db_allrdatasets");
result = dns_rdatasetiter_first(rdsiter);
while (result == ISC_R_SUCCESS) {
@@ -1336,7 +1339,7 @@ cleannode(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node) {
dns_rdataset_disassociate(&set);
result = dns_rdatasetiter_next(rdsiter);
if (destroy) {
- dresult = dns_db_deleterdataset(db, node, version,
+ dresult = dns_db_deleterdataset(db, node, dbversion,
dns_rdatatype_rrsig,
covers);
check_result(dresult, "dns_db_deleterdataset");
@@ -1853,11 +1856,9 @@ addnsec3param(const unsigned char *salt, size_t salt_len,
dns_rdatatype_nsec3param,
&nsec3param, &b);
check_result(result, "dns_rdata_fromstruct()");
+ dns_rdatalist_init(&rdatalist);
rdatalist.rdclass = rdata.rdclass;
rdatalist.type = rdata.type;
- rdatalist.covers = 0;
- rdatalist.ttl = 0;
- ISC_LIST_INIT(rdatalist.rdata);
ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
result = dns_rdatalist_tordataset(&rdatalist, &rdataset);
check_result(result, "dns_rdatalist_tordataset()");
@@ -1919,11 +1920,10 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node,
nexthash, ISC_SHA1_DIGESTLENGTH,
nsec3buffer, &rdata);
check_result(result, "addnsec3: dns_nsec3_buildrdata()");
+ dns_rdatalist_init(&rdatalist);
rdatalist.rdclass = rdata.rdclass;
rdatalist.type = rdata.type;
- rdatalist.covers = 0;
rdatalist.ttl = ttl;
- ISC_LIST_INIT(rdatalist.rdata);
ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
result = dns_rdatalist_tordataset(&rdatalist, &rdataset);
check_result(result, "dns_rdatalist_tordataset()");
@@ -2012,13 +2012,12 @@ nsec3clean(dns_name_t *name, dns_dbnode_t *node,
if (exists && nsec3.hash == hashalg &&
nsec3.iterations == iterations &&
nsec3.salt_length == salt_len &&
- !memcmp(nsec3.salt, salt, salt_len))
+ isc_safe_memequal(nsec3.salt, salt, salt_len))
continue;
+ dns_rdatalist_init(&rdatalist);
rdatalist.rdclass = rdata.rdclass;
rdatalist.type = rdata.type;
- rdatalist.covers = 0;
rdatalist.ttl = rdataset.ttl;
- ISC_LIST_INIT(rdatalist.rdata);
dns_rdata_init(&delrdata);
dns_rdata_clone(&rdata, &delrdata);
ISC_LIST_APPEND(rdatalist.rdata, &delrdata, link);
@@ -2672,7 +2671,7 @@ set_nsec3params(isc_boolean_t update, isc_boolean_t set_salt,
if (!update && set_salt) {
if (salt_length != orig_saltlen ||
- memcmp(saltbuf, orig_salt, salt_length) != 0)
+ !isc_safe_memequal(saltbuf, orig_salt, salt_length))
fatal("An NSEC3 chain exists with a different salt. "
"Use -u to update it.");
} else if (!set_salt) {
@@ -2740,7 +2739,7 @@ writeset(const char *prefix, dns_rdatatype_t type) {
char *filename;
char namestr[DNS_NAME_FORMATSIZE];
dns_db_t *db = NULL;
- dns_dbversion_t *version = NULL;
+ dns_dbversion_t *dbversion = NULL;
dns_diff_t diff;
dns_difftuple_t *tuple = NULL;
dns_fixedname_t fixed;
@@ -2860,19 +2859,19 @@ writeset(const char *prefix, dns_rdatatype_t type) {
gclass, 0, NULL, &db);
check_result(result, "dns_db_create");
- result = dns_db_newversion(db, &version);
+ result = dns_db_newversion(db, &dbversion);
check_result(result, "dns_db_newversion");
- result = dns_diff_apply(&diff, db, version);
+ result = dns_diff_apply(&diff, db, dbversion);
check_result(result, "dns_diff_apply");
dns_diff_clear(&diff);
- result = dns_master_dump(mctx, db, version, style, filename);
+ result = dns_master_dump(mctx, db, dbversion, style, filename);
check_result(result, "dns_master_dump");
isc_mem_put(mctx, filename, filenamelen + 1);
- dns_db_closeversion(db, &version, ISC_FALSE);
+ dns_db_closeversion(db, &dbversion, ISC_FALSE);
dns_db_detach(&db);
}
@@ -3515,7 +3514,10 @@ main(int argc, char *argv[]) {
* of keys rather early.
*/
ISC_LIST_INIT(keylist);
- isc_rwlock_init(&keylist_lock, 0, 0);
+ result = isc_rwlock_init(&keylist_lock, 0, 0);
+ if (result != ISC_R_SUCCESS)
+ fatal("could not initialize keylist_lock: %s",
+ isc_result_totext(result));
/*
* Fill keylist with:
diff --git a/bin/named/client.c b/bin/named/client.c
index f66ceda83d50..de2d596c8832 100644
--- a/bin/named/client.c
+++ b/bin/named/client.c
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
#include <config.h>
#include <isc/formatcheck.h>
@@ -25,6 +23,7 @@
#include <isc/platform.h>
#include <isc/print.h>
#include <isc/queue.h>
+#include <isc/random.h>
#include <isc/stats.h>
#include <isc/stdio.h>
#include <isc/string.h>
@@ -113,6 +112,7 @@
*/
#endif
+
/*% nameserver client manager structure */
struct ns_clientmgr {
/* Unlocked. */
@@ -328,12 +328,12 @@ exit_check(ns_client_t *client) {
* We are trying to abort request processing.
*/
if (client->nsends > 0) {
- isc_socket_t *socket;
+ isc_socket_t *sock;
if (TCP_CLIENT(client))
- socket = client->tcpsocket;
+ sock = client->tcpsocket;
else
- socket = client->udpsocket;
- isc_socket_cancel(socket, client->task,
+ sock = client->udpsocket;
+ isc_socket_cancel(sock, client->task,
ISC_SOCKCANCEL_SEND);
}
@@ -828,16 +828,16 @@ client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) {
isc_result_t result;
isc_region_t r;
isc_sockaddr_t *address;
- isc_socket_t *socket;
+ isc_socket_t *sock;
isc_netaddr_t netaddr;
int match;
unsigned int sockflags = ISC_SOCKFLAG_IMMEDIATE;
if (TCP_CLIENT(client)) {
- socket = client->tcpsocket;
+ sock = client->tcpsocket;
address = NULL;
} else {
- socket = client->udpsocket;
+ sock = client->udpsocket;
address = &client->peeraddr;
isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr);
@@ -861,7 +861,7 @@ client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) {
CTRACE("sendto");
- result = isc_socket_sendto2(socket, &r, client->task,
+ result = isc_socket_sendto2(sock, &r, client->task,
address, pktinfo,
client->sendevent, sockflags);
if (result == ISC_R_SUCCESS || result == ISC_R_INPROGRESS) {
@@ -1171,10 +1171,15 @@ ns_client_error(ns_client_t *client, isc_result_t result) {
isc_boolean_t wouldlog;
char log_buf[DNS_RRL_LOG_BUF_LEN];
dns_rrl_result_t rrl_result;
+ int loglevel;
INSIST(rcode != dns_rcode_noerror &&
rcode != dns_rcode_nxdomain);
- wouldlog = isc_log_wouldlog(ns_g_lctx, DNS_RRL_LOG_DROP);
+ if (ns_g_server->log_queries)
+ loglevel = DNS_RRL_LOG_DROP;
+ else
+ loglevel = ISC_LOG_DEBUG(1);
+ wouldlog = isc_log_wouldlog(ns_g_lctx, loglevel);
rrl_result = dns_rrl(client->view, &client->peeraddr,
TCP_CLIENT(client),
dns_rdataclass_in, dns_rdatatype_none,
@@ -1191,7 +1196,7 @@ ns_client_error(ns_client_t *client, isc_result_t result) {
ns_client_log(client,
NS_LOGCATEGORY_QUERY_EERRORS,
NS_LOGMODULE_CLIENT,
- DNS_RRL_LOG_DROP,
+ loglevel,
"%s", log_buf);
}
/*
@@ -1646,7 +1651,7 @@ client_request(isc_task_t *task, isc_event_t *event) {
}
if (TCP_CLIENT(client))
isc_stats_increment(ns_g_server->nsstats,
- dns_nsstatscounter_tcp);
+ dns_nsstatscounter_requesttcp);
/*
* It's a request. Parse it.
@@ -1657,6 +1662,13 @@ client_request(isc_task_t *task, isc_event_t *event) {
* Parsing the request failed. Send a response
* (typically FORMERR or SERVFAIL).
*/
+ if (result == DNS_R_OPTERR)
+ (void)client_addopt(client);
+
+ ns_client_log(client, NS_LOGCATEGORY_CLIENT,
+ NS_LOGMODULE_CLIENT, ISC_LOG_WARNING,
+ "message parsing failed: %s",
+ isc_result_totext(result));
ns_client_error(client, result);
goto cleanup;
}
@@ -2777,7 +2789,7 @@ void
ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level, const char *fmt, va_list ap)
{
- char msgbuf[2048];
+ char msgbuf[4096];
char peerbuf[ISC_SOCKADDR_FORMATSIZE];
char signerbuf[DNS_NAME_FORMATSIZE], qnamebuf[DNS_NAME_FORMATSIZE];
const char *viewname = "";
diff --git a/bin/named/config.c b/bin/named/config.c
index a32f12e660ae..cab6f1fd0db8 100644
--- a/bin/named/config.c
+++ b/bin/named/config.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -156,7 +156,14 @@ options {\n\
dnssec-enable yes;\n\
dnssec-validation yes; \n\
dnssec-accept-expired no;\n\
- clients-per-query 10;\n\
+"
+#ifdef ENABLE_FETCHLIMIT
+" fetches-per-server 0;\n\
+ fetches-per-zone 0;\n\
+ fetch-quota-params 100 0.1 0.3 0.7;\n\
+"
+#endif /* ENABLE_FETCHLIMIT */
+" clients-per-query 10;\n\
max-clients-per-query 100;\n\
max-recursion-depth 7;\n\
max-recursion-queries 50;\n\
diff --git a/bin/named/control.c b/bin/named/control.c
index 306bca0b2794..aacb0884fde0 100644
--- a/bin/named/control.c
+++ b/bin/named/control.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -101,7 +101,7 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
if (command_compare(command, NS_COMMAND_RELOAD)) {
result = ns_server_reloadcommand(ns_g_server, command, text);
} else if (command_compare(command, NS_COMMAND_RECONFIG)) {
- result = ns_server_reconfigcommand(ns_g_server, command);
+ result = ns_server_reconfigcommand(ns_g_server);
} else if (command_compare(command, NS_COMMAND_REFRESH)) {
result = ns_server_refreshcommand(ns_g_server, command, text);
} else if (command_compare(command, NS_COMMAND_RETRANSFER)) {
diff --git a/bin/named/include/named/lwdclient.h b/bin/named/include/named/lwdclient.h
index c345176a2127..51c55ec5d4a5 100644
--- a/bin/named/include/named/lwdclient.h
+++ b/bin/named/include/named/lwdclient.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -186,6 +186,7 @@ struct ns_lwdclientmgr {
lwres_context_t *lwctx; /*%< lightweight proto context */
isc_task_t *task; /*%< owning task */
unsigned int flags;
+ isc_mutex_t lock;
ISC_LINK(ns_lwdclientmgr_t) link;
ISC_LIST(ns_lwdclient_t) idle; /*%< idle client slots */
ISC_LIST(ns_lwdclient_t) running; /*%< running clients */
diff --git a/bin/named/include/named/main.h b/bin/named/include/named/main.h
index 1537fb641da6..d41641f5cf02 100644
--- a/bin/named/include/named/main.h
+++ b/bin/named/include/named/main.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2013, 2015 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,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: main.h,v 1.17 2009/09/29 23:48:03 tbox Exp $ */
-
#ifndef NAMED_MAIN_H
#define NAMED_MAIN_H 1
@@ -26,6 +24,11 @@
#define main(argc, argv) bindmain(argc, argv)
#endif
+/*
+ * Commandline arguments for named; also referenced in win32/ntservice.c
+ */
+#define NS_MAIN_ARGS "46c:C:d:E:fFgi:lM:m:n:N:p:P:sS:t:T:U:u:vVx:"
+
ISC_PLATFORM_NORETURN_PRE void
ns_main_earlyfatal(const char *format, ...)
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
diff --git a/bin/named/include/named/server.h b/bin/named/include/named/server.h
index 1680776cd991..a3696f1614c1 100644
--- a/bin/named/include/named/server.h
+++ b/bin/named/include/named/server.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -51,6 +51,7 @@ struct ns_server {
isc_quota_t xfroutquota;
isc_quota_t tcpquota;
isc_quota_t recursionquota;
+
dns_acl_t *blackholeacl;
char * statsfile; /*%< Statistics file name */
char * dumpfile; /*%< Dump file name */
@@ -130,7 +131,7 @@ enum {
dns_nsstatscounter_tsigin = 4,
dns_nsstatscounter_sig0in = 5,
dns_nsstatscounter_invalidsig = 6,
- dns_nsstatscounter_tcp = 7,
+ dns_nsstatscounter_requesttcp = 7,
dns_nsstatscounter_authrej = 8,
dns_nsstatscounter_recurserej = 9,
@@ -165,16 +166,31 @@ enum {
dns_nsstatscounter_updatefail = 34,
dns_nsstatscounter_updatebadprereq = 35,
- dns_nsstatscounter_rpz_rewrites = 36,
+ dns_nsstatscounter_recursclients = 36,
+
+ dns_nsstatscounter_dns64 = 37,
+
+ dns_nsstatscounter_ratedropped = 38,
+ dns_nsstatscounter_rateslipped = 39,
+
+ dns_nsstatscounter_rpz_rewrites = 40,
+
+ dns_nsstatscounter_udp = 41,
+ dns_nsstatscounter_tcp = 42,
+
+ dns_nsstatscounter_nsidopt = 43,
+ dns_nsstatscounter_expireopt = 44,
+ dns_nsstatscounter_otheropt = 45,
+ dns_nsstatscounter_ecsopt = 46,
-#ifdef USE_RRL
- dns_nsstatscounter_ratedropped = 37,
- dns_nsstatscounter_rateslipped = 38,
+ dns_nsstatscounter_sitopt = 47,
+ dns_nsstatscounter_sitbadsize = 48,
+ dns_nsstatscounter_sitbadtime = 49,
+ dns_nsstatscounter_sitnomatch = 50,
+ dns_nsstatscounter_sitmatch = 51,
+ dns_nsstatscounter_sitnew = 52,
- dns_nsstatscounter_max = 39
-#else /* USE_RRL */
- dns_nsstatscounter_max = 37
-#endif /* USE_RRL */
+ dns_nsstatscounter_max = 53
};
void
@@ -213,7 +229,7 @@ ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text);
*/
isc_result_t
-ns_server_reconfigcommand(ns_server_t *server, char *args);
+ns_server_reconfigcommand(ns_server_t *server);
/*%<
* Act on a "reconfig" command from the command channel.
*/
diff --git a/bin/named/interfacemgr.c b/bin/named/interfacemgr.c
index 850222ad02bf..73422c658981 100644
--- a/bin/named/interfacemgr.c
+++ b/bin/named/interfacemgr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -302,7 +302,7 @@ ns_interface_listenudp(ns_interface_t *ifp) {
return (ISC_R_SUCCESS);
addtodispatch_failure:
- for (i = disp - 1; i <= 0; i--) {
+ for (i = disp - 1; i >= 0; i--) {
dns_dispatch_changeattributes(ifp->udpdispatch[i], 0,
DNS_DISPATCHATTR_NOLISTEN);
dns_dispatch_detach(&(ifp->udpdispatch[i]));
diff --git a/bin/named/logconf.c b/bin/named/logconf.c
index ce804055cc39..fd20d5a5ee8f 100644
--- a/bin/named/logconf.c
+++ b/bin/named/logconf.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2011, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2011, 2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -23,6 +23,7 @@
#include <isc/file.h>
#include <isc/offset.h>
+#include <isc/print.h>
#include <isc/result.h>
#include <isc/stdio.h>
#include <isc/string.h>
diff --git a/bin/named/lwdclient.c b/bin/named/lwdclient.c
index a8431340024c..511cbf0fb496 100644
--- a/bin/named/lwdclient.c
+++ b/bin/named/lwdclient.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -59,12 +59,16 @@ ns_lwdclientmgr_create(ns_lwreslistener_t *listener, unsigned int nclients,
ns_lwdclientmgr_t *cm;
ns_lwdclient_t *client;
unsigned int i;
- isc_result_t result = ISC_R_FAILURE;
+ isc_result_t result;
cm = isc_mem_get(lwresd->mctx, sizeof(ns_lwdclientmgr_t));
if (cm == NULL)
return (ISC_R_NOMEMORY);
+ result = isc_mutex_init(&cm->lock);
+ if (result != ISC_R_SUCCESS)
+ goto freecm;
+
cm->listener = NULL;
ns_lwreslistener_attach(listener, &cm->listener);
cm->mctx = lwresd->mctx;
@@ -78,10 +82,10 @@ ns_lwdclientmgr_create(ns_lwreslistener_t *listener, unsigned int nclients,
ISC_LIST_INIT(cm->idle);
ISC_LIST_INIT(cm->running);
- if (lwres_context_create(&cm->lwctx, cm->mctx,
- ns__lwresd_memalloc, ns__lwresd_memfree,
- LWRES_CONTEXT_SERVERMODE)
- != ISC_R_SUCCESS)
+ result = lwres_context_create(&cm->lwctx, cm->mctx,
+ ns__lwresd_memalloc, ns__lwresd_memfree,
+ LWRES_CONTEXT_SERVERMODE);
+ if (result != ISC_R_SUCCESS)
goto errout;
for (i = 0; i < nclients; i++) {
@@ -96,8 +100,10 @@ ns_lwdclientmgr_create(ns_lwreslistener_t *listener, unsigned int nclients,
/*
* If we could create no clients, clean up and return.
*/
- if (ISC_LIST_EMPTY(cm->idle))
+ if (ISC_LIST_EMPTY(cm->idle)) {
+ result = ISC_R_NOMEMORY;
goto errout;
+ }
result = isc_task_create(taskmgr, 0, &cm->task);
if (result != ISC_R_SUCCESS)
@@ -130,6 +136,9 @@ ns_lwdclientmgr_create(ns_lwreslistener_t *listener, unsigned int nclients,
if (cm->lwctx != NULL)
lwres_context_destroy(&cm->lwctx);
+ DESTROYLOCK(&cm->lock);
+
+ freecm:
isc_mem_put(lwresd->mctx, cm, sizeof(*cm));
return (result);
}
@@ -139,11 +148,14 @@ lwdclientmgr_destroy(ns_lwdclientmgr_t *cm) {
ns_lwdclient_t *client;
ns_lwreslistener_t *listener;
- if (!SHUTTINGDOWN(cm))
+ LOCK(&cm->lock);
+ if (!SHUTTINGDOWN(cm)) {
+ UNLOCK(&cm->lock);
return;
+ }
/*
- * run through the idle list and free the clients there. Idle
+ * Run through the idle list and free the clients there. Idle
* clients do not have a recv running nor do they have any finds
* or similar running.
*/
@@ -156,14 +168,20 @@ lwdclientmgr_destroy(ns_lwdclientmgr_t *cm) {
client = ISC_LIST_HEAD(cm->idle);
}
- if (!ISC_LIST_EMPTY(cm->running))
+ if (!ISC_LIST_EMPTY(cm->running)) {
+ UNLOCK(&cm->lock);
return;
+ }
+
+ UNLOCK(&cm->lock);
lwres_context_destroy(&cm->lwctx);
cm->view = NULL;
isc_socket_detach(&cm->sock);
isc_task_detach(&cm->task);
+ DESTROYLOCK(&cm->lock);
+
listener = cm->listener;
ns_lwreslistener_unlinkcm(listener, cm);
ns_lwdclient_log(50, "destroying manager %p", cm);
@@ -225,8 +243,10 @@ ns_lwdclient_recv(isc_task_t *task, isc_event_t *ev) {
NS_LWDCLIENT_SETRECVDONE(client);
+ LOCK(&cm->lock);
INSIST((cm->flags & NS_LWDCLIENTMGR_FLAGRECVPENDING) != 0);
cm->flags &= ~NS_LWDCLIENTMGR_FLAGRECVPENDING;
+ UNLOCK(&cm->lock);
ns_lwdclient_log(50,
"event received: task %p, length %u, result %u (%s)",
@@ -274,40 +294,53 @@ ns_lwdclient_startrecv(ns_lwdclientmgr_t *cm) {
ns_lwdclient_t *client;
isc_result_t result;
isc_region_t r;
+ isc_boolean_t destroy = ISC_FALSE;
+
+ LOCK(&cm->lock);
if (SHUTTINGDOWN(cm)) {
- lwdclientmgr_destroy(cm);
- return (ISC_R_SUCCESS);
+ destroy = ISC_TRUE;
+ result = ISC_R_SUCCESS;
+ goto unlock;
}
/*
* If a recv is already running, don't bother.
*/
- if ((cm->flags & NS_LWDCLIENTMGR_FLAGRECVPENDING) != 0)
- return (ISC_R_SUCCESS);
+ if ((cm->flags & NS_LWDCLIENTMGR_FLAGRECVPENDING) != 0) {
+ result = ISC_R_SUCCESS;
+ goto unlock;
+ }
/*
* If we have no idle slots, just return success.
*/
client = ISC_LIST_HEAD(cm->idle);
- if (client == NULL)
- return (ISC_R_SUCCESS);
+ if (client == NULL) {
+ result = ISC_R_SUCCESS;
+ goto unlock;
+ }
+
INSIST(NS_LWDCLIENT_ISIDLE(client));
/*
+ * Set the flag to say there is a recv pending. If isc_socket_recv
+ * fails we will clear the flag otherwise it will be cleared by
+ * ns_lwdclient_recv.
+ */
+ cm->flags |= NS_LWDCLIENTMGR_FLAGRECVPENDING;
+
+ /*
* Issue the recv. If it fails, return that it did.
*/
r.base = client->buffer;
r.length = LWRES_RECVLENGTH;
result = isc_socket_recv(cm->sock, &r, 0, cm->task, ns_lwdclient_recv,
client);
- if (result != ISC_R_SUCCESS)
- return (result);
-
- /*
- * Set the flag to say we've issued a recv() call.
- */
- cm->flags |= NS_LWDCLIENTMGR_FLAGRECVPENDING;
+ if (result != ISC_R_SUCCESS) {
+ cm->flags &= ~NS_LWDCLIENTMGR_FLAGRECVPENDING;
+ goto unlock;
+ }
/*
* Remove the client from the idle list, and put it on the running
@@ -317,7 +350,13 @@ ns_lwdclient_startrecv(ns_lwdclientmgr_t *cm) {
ISC_LIST_UNLINK(cm->idle, client, link);
ISC_LIST_APPEND(cm->running, client, link);
- return (ISC_R_SUCCESS);
+ unlock:
+ UNLOCK(&cm->lock);
+
+ if (destroy)
+ lwdclientmgr_destroy(cm);
+
+ return (result);
}
static void
@@ -335,6 +374,7 @@ lwdclientmgr_shutdown_callback(isc_task_t *task, isc_event_t *ev) {
* clients do not have a recv running nor do they have any finds
* or similar running.
*/
+ LOCK(&cm->lock);
client = ISC_LIST_HEAD(cm->idle);
while (client != NULL) {
ns_lwdclient_log(50, "destroying client %p, manager %p",
@@ -343,6 +383,7 @@ lwdclientmgr_shutdown_callback(isc_task_t *task, isc_event_t *ev) {
isc_mem_put(cm->mctx, client, sizeof(*client));
client = ISC_LIST_HEAD(cm->idle);
}
+ UNLOCK(&cm->lock);
/*
* Cancel any pending I/O.
@@ -353,6 +394,7 @@ lwdclientmgr_shutdown_callback(isc_task_t *task, isc_event_t *ev) {
* Run through the running client list and kill off any finds
* in progress.
*/
+ LOCK(&cm->lock);
client = ISC_LIST_HEAD(cm->running);
while (client != NULL) {
if (client->find != client->v4find
@@ -367,6 +409,8 @@ lwdclientmgr_shutdown_callback(isc_task_t *task, isc_event_t *ev) {
cm->flags |= NS_LWDCLIENTMGR_FLAGSHUTTINGDOWN;
+ UNLOCK(&cm->lock);
+
isc_event_free(&ev);
}
@@ -387,8 +431,10 @@ ns_lwdclient_stateidle(ns_lwdclient_t *client) {
INSIST(client->v4find == NULL);
INSIST(client->v6find == NULL);
+ LOCK(&cm->lock);
ISC_LIST_UNLINK(cm->running, client, link);
ISC_LIST_PREPEND(cm->idle, client, link);
+ UNLOCK(&cm->lock);
NS_LWDCLIENT_SETIDLE(client);
@@ -464,5 +510,7 @@ ns_lwdclient_initialize(ns_lwdclient_t *client, ns_lwdclientmgr_t *cmgr) {
client->pktinfo_valid = ISC_FALSE;
+ LOCK(&cmgr->lock);
ISC_LIST_APPEND(cmgr->idle, client, link);
+ UNLOCK(&cmgr->lock);
}
diff --git a/bin/named/lwresd.c b/bin/named/lwresd.c
index 7ee2196364e9..f9ed544fc2e2 100644
--- a/bin/named/lwresd.c
+++ b/bin/named/lwresd.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -602,7 +602,7 @@ listener_copysock(ns_lwreslistener_t *oldlistener,
static isc_result_t
listener_startclients(ns_lwreslistener_t *listener) {
- ns_lwdclientmgr_t *cm;
+ ns_lwdclientmgr_t *cm, *next;
unsigned int i;
isc_result_t result;
@@ -626,6 +626,7 @@ listener_startclients(ns_lwreslistener_t *listener) {
LOCK(&listener->lock);
cm = ISC_LIST_HEAD(listener->cmgrs);
while (cm != NULL) {
+ next = ISC_LIST_NEXT(cm, link);
result = ns_lwdclient_startrecv(cm);
if (result != ISC_R_SUCCESS)
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
@@ -633,7 +634,7 @@ listener_startclients(ns_lwreslistener_t *listener) {
"could not start lwres "
"client handler: %s",
isc_result_totext(result));
- cm = ISC_LIST_NEXT(cm, link);
+ cm = next;
}
UNLOCK(&listener->lock);
diff --git a/bin/named/main.c b/bin/named/main.c
index 6e340cc13c49..5664e6545e4c 100644
--- a/bin/named/main.c
+++ b/bin/named/main.c
@@ -381,6 +381,7 @@ static struct flag_def {
const char *name;
unsigned int value;
} mem_debug_flags[] = {
+ { "none", 0},
{ "trace", ISC_MEM_DEBUGTRACE },
{ "record", ISC_MEM_DEBUGRECORD },
{ "usage", ISC_MEM_DEBUGUSAGE },
@@ -391,6 +392,8 @@ static struct flag_def {
static void
set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) {
+ isc_boolean_t clear = ISC_FALSE;
+
for (;;) {
const struct flag_def *def;
const char *end = strchr(arg, ',');
@@ -401,16 +404,21 @@ set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) {
for (def = defs; def->name != NULL; def++) {
if (arglen == (int)strlen(def->name) &&
memcmp(arg, def->name, arglen) == 0) {
+ if (def->value == 0)
+ clear = ISC_TRUE;
*ret |= def->value;
goto found;
}
}
ns_main_earlyfatal("unrecognized flag '%.*s'", arglen, arg);
found:
- if (*end == '\0')
+ if (clear || (*end == '\0'))
break;
arg = end + 1;
}
+
+ if (clear)
+ *ret = 0;
}
static void
@@ -421,10 +429,12 @@ parse_command_line(int argc, char *argv[]) {
save_command_line(argc, argv);
- /* PLEASE keep options synchronized when main is hooked! */
-#define CMDLINE_FLAGS "46c:C:d:E:fFgi:lm:n:N:p:P:sS:t:T:U:u:vVx:"
+ /*
+ * NS_MAIN_ARGS is defined in main.h, so that it can be used
+ * both by named and by ntservice hooks.
+ */
isc_commandline_errprint = ISC_FALSE;
- while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
+ while ((ch = isc_commandline_parse(argc, argv, NS_MAIN_ARGS)) != -1) {
switch (ch) {
case '4':
if (ns_g_disable4)
@@ -476,6 +486,10 @@ parse_command_line(int argc, char *argv[]) {
case 'l':
ns_g_lwresdonly = ISC_TRUE;
break;
+ case 'M':
+ if (strcmp(isc_commandline_argument, "external") == 0)
+ isc_mem_defaultflags = 0;
+ break;
case 'm':
set_flags(isc_commandline_argument, mem_debug_flags,
&isc_mem_debugging);
@@ -586,16 +600,16 @@ parse_command_line(int argc, char *argv[]) {
ns_g_username = isc_commandline_argument;
break;
case 'v':
- printf("%s %s", ns_g_product, ns_g_version);
- if (*ns_g_description != 0)
- printf(" %s", ns_g_description);
- printf("\n");
+ printf("%s %s%s%s <id:%s>\n",
+ ns_g_product, ns_g_version,
+ (*ns_g_description != '\0') ? " " : "",
+ ns_g_description, ns_g_srcid);
exit(0);
case 'V':
- printf("%s %s", ns_g_product, ns_g_version);
- if (*ns_g_description != 0)
- printf(" %s", ns_g_description);
- printf(" <id:%s> built by %s with %s\n", ns_g_srcid,
+ printf("%s %s%s%s <id:%s>\n", ns_g_product, ns_g_version,
+ (*ns_g_description != '\0') ? " " : "",
+ ns_g_description, ns_g_srcid);
+ printf("built by %s with %s\n",
ns_g_builder, ns_g_configargs);
#ifdef __clang__
printf("compiled by CLANG %s\n", __VERSION__);
@@ -617,19 +631,15 @@ parse_command_line(int argc, char *argv[]) {
#ifdef OPENSSL
printf("compiled with OpenSSL version: %s\n",
OPENSSL_VERSION_TEXT);
-#ifndef WIN32
printf("linked to OpenSSL version: %s\n",
SSLeay_version(SSLEAY_VERSION));
#endif
-#endif
#ifdef HAVE_LIBXML2
printf("compiled with libxml2 version: %s\n",
LIBXML_DOTTED_VERSION);
-#ifndef WIN32
printf("linked to libxml2 version: %s\n",
xmlParserVersion);
#endif
-#endif
exit(0);
case 'F':
/* Reserved for FIPS mode */
@@ -638,7 +648,7 @@ parse_command_line(int argc, char *argv[]) {
usage();
if (isc_commandline_option == '?')
exit(0);
- p = strchr(CMDLINE_FLAGS, isc_commandline_option);
+ p = strchr(NS_MAIN_ARGS, isc_commandline_option);
if (p == NULL || *++p != ':')
ns_main_earlyfatal("unknown option '-%c'",
isc_commandline_option);
@@ -749,10 +759,6 @@ static void
destroy_managers(void) {
ns_lwresd_shutdown();
- isc_entropy_detach(&ns_g_entropy);
- if (ns_g_fallbackentropy != NULL)
- isc_entropy_detach(&ns_g_fallbackentropy);
-
/*
* isc_taskmgr_destroy() will block until all tasks have exited,
*/
@@ -897,8 +903,10 @@ setup(void) {
isc_result_totext(result));
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
- ISC_LOG_NOTICE, "starting %s %s%s", ns_g_product,
- ns_g_version, saved_command_line);
+ ISC_LOG_NOTICE, "starting %s %s%s%s <id:%s>%s",
+ ns_g_product, ns_g_version,
+ *ns_g_description ? " " : "", ns_g_description,
+ ns_g_srcid, saved_command_line);
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE, "built with %s", ns_g_configargs);
@@ -1017,6 +1025,10 @@ cleanup(void) {
ns_server_destroy(&ns_g_server);
+ isc_entropy_detach(&ns_g_entropy);
+ if (ns_g_fallbackentropy != NULL)
+ isc_entropy_detach(&ns_g_fallbackentropy);
+
ns_builtin_deinit();
/*
diff --git a/bin/named/named.8 b/bin/named/named.8
index fe6bb4207e37..09bd4c117d28 100644
--- a/bin/named/named.8
+++ b/bin/named/named.8
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2004-2009, 2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2009, 2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -33,7 +33,7 @@
named \- Internet domain name server
.SH "SYNOPSIS"
.HP 6
-\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-E\ \fR\fB\fIengine\-name\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-U\ \fR\fB\fI#listeners\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
+\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-E\ \fR\fB\fIengine\-name\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-M\ \fR\fB\fIoption\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-U\ \fR\fB\fI#listeners\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
.SH "DESCRIPTION"
.PP
\fBnamed\fR
@@ -101,6 +101,12 @@ Run the server in the foreground and force all logging to
\fIstderr\fR.
.RE
.PP
+\-M \fIoption\fR
+.RS 4
+Sets the default memory context options. Currently the only supported option is
+\fIexternal\fR, which causes the internal memory manager to be bypassed in favor of system\-provided memory allocation functions.
+.RE
+.PP
\-m \fIflag\fR
.RS 4
Turn on memory usage debugging flags. Possible flags are
@@ -280,7 +286,7 @@ BIND 9 Administrator Reference Manual.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
-Copyright \(co 2004\-2009, 2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2004\-2009, 2011, 2013\-2015 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
.br
diff --git a/bin/named/named.docbook b/bin/named/named.docbook
index 7ca3d2bf6a7a..0ea469d35766 100644
--- a/bin/named/named.docbook
+++ b/bin/named/named.docbook
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- - Copyright (C) 2004-2009, 2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004-2009, 2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -45,6 +45,7 @@
<year>2011</year>
<year>2013</year>
<year>2014</year>
+ <year>2015</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -65,6 +66,7 @@
<arg><option>-E <replaceable class="parameter">engine-name</replaceable></option></arg>
<arg><option>-f</option></arg>
<arg><option>-g</option></arg>
+ <arg><option>-M <replaceable class="parameter">option</replaceable></option></arg>
<arg><option>-m <replaceable class="parameter">flag</replaceable></option></arg>
<arg><option>-n <replaceable class="parameter">#cpus</replaceable></option></arg>
<arg><option>-p <replaceable class="parameter">port</replaceable></option></arg>
@@ -182,6 +184,19 @@
</varlistentry>
<varlistentry>
+ <term>-M <replaceable class="parameter">option</replaceable></term>
+ <listitem>
+ <para>
+ Sets the default memory context options. Currently
+ the only supported option is
+ <replaceable class="parameter">external</replaceable>,
+ which causes the internal memory manager to be bypassed
+ in favor of system-provided memory allocation functions.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>-m <replaceable class="parameter">flag</replaceable></term>
<listitem>
<para>
diff --git a/bin/named/named.html b/bin/named/named.html
index 0c1abf1894fb..83494ee5d9c0 100644
--- a/bin/named/named.html
+++ b/bin/named/named.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2004-2009, 2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004-2009, 2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -29,10 +29,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<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">-E <em class="replaceable"><code>engine-name</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">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-U <em class="replaceable"><code>#listeners</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
+<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">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-M <em class="replaceable"><code>option</code></em></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">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-U <em class="replaceable"><code>#listeners</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</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="id2543507"></a><h2>DESCRIPTION</h2>
+<a name="id2543518"></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
@@ -47,7 +47,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543531"></a><h2>OPTIONS</h2>
+<a name="id2543543"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -96,6 +96,14 @@
Run the server in the foreground and force all logging
to <code class="filename">stderr</code>.
</p></dd>
+<dt><span class="term">-M <em class="replaceable"><code>option</code></em></span></dt>
+<dd><p>
+ Sets the default memory context options. Currently
+ the only supported option is
+ <em class="replaceable"><code>external</code></em>,
+ which causes the internal memory manager to be bypassed
+ in favor of system-provided memory allocation functions.
+ </p></dd>
<dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
<dd><p>
Turn on memory usage debugging flags. Possible flags are
@@ -240,7 +248,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2544021"></a><h2>SIGNALS</h2>
+<a name="id2544192"></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
@@ -261,7 +269,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544137"></a><h2>CONFIGURATION</h2>
+<a name="id2544308"></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
@@ -278,7 +286,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544310"></a><h2>FILES</h2>
+<a name="id2544344"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
<dd><p>
@@ -291,7 +299,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2544349"></a><h2>SEE ALSO</h2>
+<a name="id2544384"></a><h2>SEE ALSO</h2>
<p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
@@ -304,7 +312,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544420"></a><h2>AUTHOR</h2>
+<a name="id2544454"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/bin/named/query.c b/bin/named/query.c
index 706fdecd664d..f2ca55538780 100644
--- a/bin/named/query.c
+++ b/bin/named/query.c
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
/*! \file */
#include <config.h>
@@ -25,6 +23,7 @@
#include <isc/hex.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/serial.h>
#include <isc/stats.h>
#include <isc/util.h>
@@ -118,21 +117,31 @@
#define NOQNAME(r) (((r)->attributes & \
DNS_RDATASETATTR_NOQNAME) != 0)
-#if 0
-#define CTRACE(m) isc_log_write(ns_g_lctx, \
- NS_LOGCATEGORY_CLIENT, \
- NS_LOGMODULE_QUERY, \
- ISC_LOG_DEBUG(3), \
- "client %p: %s", client, (m))
-#define QTRACE(m) isc_log_write(ns_g_lctx, \
- NS_LOGCATEGORY_GENERAL, \
- NS_LOGMODULE_QUERY, \
- ISC_LOG_DEBUG(3), \
- "query %p: %s", query, (m))
+#ifdef WANT_QUERYTRACE
+#define CTRACE(l,m) do { \
+ if (client != NULL && client->query.qname != NULL) { \
+ if (isc_log_wouldlog(ns_g_lctx, l)) { \
+ char qbuf[DNS_NAME_FORMATSIZE]; \
+ dns_name_format(client->query.qname, \
+ qbuf, sizeof(qbuf)); \
+ isc_log_write(ns_g_lctx, \
+ NS_LOGCATEGORY_CLIENT, \
+ NS_LOGMODULE_QUERY, \
+ l, "client %p (%s): %s", \
+ client, qbuf, (m)); \
+ } \
+ } else { \
+ isc_log_write(ns_g_lctx, \
+ NS_LOGCATEGORY_CLIENT, \
+ NS_LOGMODULE_QUERY, \
+ l, "client %p (<unknown-name>): %s", \
+ client, (m)); \
+ } \
+} while(0)
#else
-#define CTRACE(m) ((void)m)
-#define QTRACE(m) ((void)m)
-#endif
+#define CTRACE(l,m) ((void)m)
+#endif /* WANT_QUERYTRACE */
+
#define DNS_GETDB_NOEXACT 0x01U
#define DNS_GETDB_NOLOG 0x02U
@@ -307,13 +316,13 @@ static inline void
query_putrdataset(ns_client_t *client, dns_rdataset_t **rdatasetp) {
dns_rdataset_t *rdataset = *rdatasetp;
- CTRACE("query_putrdataset");
+ CTRACE(ISC_LOG_DEBUG(3), "query_putrdataset");
if (rdataset != NULL) {
if (dns_rdataset_isassociated(rdataset))
dns_rdataset_disassociate(rdataset);
dns_message_puttemprdataset(client->message, rdatasetp);
}
- CTRACE("query_putrdataset: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_putrdataset: done");
}
static inline void
@@ -420,7 +429,7 @@ query_newnamebuf(ns_client_t *client) {
isc_buffer_t *dbuf;
isc_result_t result;
- CTRACE("query_newnamebuf");
+ CTRACE(ISC_LOG_DEBUG(3), "query_newnamebuf");
/*%
* Allocate a name buffer.
*/
@@ -428,12 +437,13 @@ query_newnamebuf(ns_client_t *client) {
dbuf = NULL;
result = isc_buffer_allocate(client->mctx, &dbuf, 1024);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_newnamebuf: isc_buffer_allocate failed: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_newnamebuf: isc_buffer_allocate failed: done");
return (result);
}
ISC_LIST_APPEND(client->query.namebufs, dbuf, link);
- CTRACE("query_newnamebuf: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_newnamebuf: done");
return (ISC_R_SUCCESS);
}
@@ -443,7 +453,7 @@ query_getnamebuf(ns_client_t *client) {
isc_result_t result;
isc_region_t r;
- CTRACE("query_getnamebuf");
+ CTRACE(ISC_LOG_DEBUG(3), "query_getnamebuf");
/*%
* Return a name buffer with space for a maximal name, allocating
* a new one if necessary.
@@ -452,7 +462,8 @@ query_getnamebuf(ns_client_t *client) {
if (ISC_LIST_EMPTY(client->query.namebufs)) {
result = query_newnamebuf(client);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_getnamebuf: query_newnamebuf failed: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_getnamebuf: query_newnamebuf failed: done");
return (NULL);
}
}
@@ -463,7 +474,8 @@ query_getnamebuf(ns_client_t *client) {
if (r.length < 255) {
result = query_newnamebuf(client);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_getnamebuf: query_newnamebuf failed: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_getnamebuf: query_newnamebuf failed: done");
return (NULL);
}
@@ -471,7 +483,7 @@ query_getnamebuf(ns_client_t *client) {
isc_buffer_availableregion(dbuf, &r);
INSIST(r.length >= 255);
}
- CTRACE("query_getnamebuf: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_getnamebuf: done");
return (dbuf);
}
@@ -479,7 +491,7 @@ static inline void
query_keepname(ns_client_t *client, dns_name_t *name, isc_buffer_t *dbuf) {
isc_region_t r;
- CTRACE("query_keepname");
+ CTRACE(ISC_LOG_DEBUG(3), "query_keepname");
/*%
* 'name' is using space in 'dbuf', but 'dbuf' has not yet been
* adjusted to take account of that. We do the adjustment.
@@ -503,14 +515,14 @@ query_releasename(ns_client_t *client, dns_name_t **namep) {
* rights on the buffer.
*/
- CTRACE("query_releasename");
+ CTRACE(ISC_LOG_DEBUG(3), "query_releasename");
if (dns_name_hasbuffer(name)) {
INSIST((client->query.attributes & NS_QUERYATTR_NAMEBUFUSED)
!= 0);
client->query.attributes &= ~NS_QUERYATTR_NAMEBUFUSED;
}
dns_message_puttempname(client->message, namep);
- CTRACE("query_releasename: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_releasename: done");
}
static inline dns_name_t *
@@ -523,11 +535,12 @@ query_newname(ns_client_t *client, isc_buffer_t *dbuf,
REQUIRE((client->query.attributes & NS_QUERYATTR_NAMEBUFUSED) == 0);
- CTRACE("query_newname");
+ CTRACE(ISC_LOG_DEBUG(3), "query_newname");
name = NULL;
result = dns_message_gettempname(client->message, &name);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_newname: dns_message_gettempname failed: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_newname: dns_message_gettempname failed: done");
return (NULL);
}
isc_buffer_availableregion(dbuf, &r);
@@ -536,7 +549,7 @@ query_newname(ns_client_t *client, isc_buffer_t *dbuf,
dns_name_setbuffer(name, nbuf);
client->query.attributes |= NS_QUERYATTR_NAMEBUFUSED;
- CTRACE("query_newname: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_newname: done");
return (name);
}
@@ -545,17 +558,18 @@ query_newrdataset(ns_client_t *client) {
dns_rdataset_t *rdataset;
isc_result_t result;
- CTRACE("query_newrdataset");
+ CTRACE(ISC_LOG_DEBUG(3), "query_newrdataset");
rdataset = NULL;
result = dns_message_gettemprdataset(client->message, &rdataset);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_newrdataset: "
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_newrdataset: "
"dns_message_gettemprdataset failed: done");
return (NULL);
}
dns_rdataset_init(rdataset);
- CTRACE("query_newrdataset: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_newrdataset: done");
return (rdataset);
}
@@ -727,8 +741,10 @@ query_validatezonedb(ns_client_t *client, dns_name_t *name,
* Get the current version of this database.
*/
dbversion = query_findversion(client, db);
- if (dbversion == NULL)
+ if (dbversion == NULL) {
+ CTRACE(ISC_LOG_ERROR, "unable to get db version");
return (DNS_R_SERVFAIL);
+ }
if ((options & DNS_GETDB_IGNOREACL) != 0)
goto approved;
@@ -1168,7 +1184,7 @@ query_isduplicate(ns_client_t *client, dns_name_t *name,
dns_name_t *mname = NULL;
isc_result_t result;
- CTRACE("query_isduplicate");
+ CTRACE(ISC_LOG_DEBUG(3), "query_isduplicate");
for (section = DNS_SECTION_ANSWER;
section <= DNS_SECTION_ADDITIONAL;
@@ -1179,7 +1195,8 @@ query_isduplicate(ns_client_t *client, dns_name_t *name,
/*
* We've already got this RRset in the response.
*/
- CTRACE("query_isduplicate: true: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_isduplicate: true: done");
return (ISC_TRUE);
} else if (result == DNS_R_NXRRSET) {
/*
@@ -1195,7 +1212,7 @@ query_isduplicate(ns_client_t *client, dns_name_t *name,
if (mnamep != NULL)
*mnamep = mname;
- CTRACE("query_isduplicate: false: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_isduplicate: false: done");
return (ISC_FALSE);
}
@@ -1222,7 +1239,7 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
if (!WANTDNSSEC(client) && dns_rdatatype_isdnssec(qtype))
return (ISC_R_SUCCESS);
- CTRACE("query_addadditional");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional");
/*
* Initialization.
@@ -1278,7 +1295,7 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
if (result != ISC_R_SUCCESS)
goto try_cache;
- CTRACE("query_addadditional: db_find");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional: db_find");
/*
* Since we are looking for authoritative data, we do not set
@@ -1547,7 +1564,7 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
}
addname:
- CTRACE("query_addadditional: addname");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional: addname");
/*
* If we haven't added anything, then we're done.
*/
@@ -1587,7 +1604,7 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
}
cleanup:
- CTRACE("query_addadditional: cleanup");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional: cleanup");
query_putrdataset(client, &rdataset);
if (sigrdataset != NULL)
query_putrdataset(client, &sigrdataset);
@@ -1600,7 +1617,7 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
if (zone != NULL)
dns_zone_detach(&zone);
- CTRACE("query_addadditional: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional: done");
return (eresult);
}
@@ -1718,7 +1735,7 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
dns_clientinfomethods_init(&cm, ns_client_sourceip);
dns_clientinfo_init(&ci, client);
- CTRACE("query_addadditional2");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional2");
/*
* We treat type A additional section processing as if it
@@ -1750,14 +1767,16 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
if (result != ISC_R_SUCCESS)
goto findauthdb;
if (zone == NULL) {
- CTRACE("query_addadditional2: auth zone not found");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addadditional2: auth zone not found");
goto try_cache;
}
/* Is the cached DB up-to-date? */
result = query_iscachevalid(zone, cdb, NULL, cversion);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_addadditional2: old auth additional cache");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addadditional2: old auth additional cache");
query_discardcache(client, rdataset_base, additionaltype,
type, &zone, &cdb, &cversion, &cnode,
&cfname);
@@ -1770,7 +1789,8 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
* ACL, since the result (not using this zone) would be same
* regardless of the result.
*/
- CTRACE("query_addadditional2: negative auth additional cache");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addadditional2: negative auth additional cache");
dns_db_closeversion(cdb, &cversion, ISC_FALSE);
dns_db_detach(&cdb);
dns_zone_detach(&zone);
@@ -1787,7 +1807,8 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
}
/* We've got an active cache. */
- CTRACE("query_addadditional2: auth additional cache");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addadditional2: auth additional cache");
dns_db_closeversion(cdb, &cversion, ISC_FALSE);
db = cdb;
node = cnode;
@@ -1811,7 +1832,7 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
goto try_cache;
}
- CTRACE("query_addadditional2: db_find");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional2: db_find");
/*
* Since we are looking for authoritative data, we do not set
@@ -1896,7 +1917,8 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
result = query_iscachevalid(zone, cdb, client->query.gluedb, cversion);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_addadditional2: old glue additional cache");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addadditional2: old glue additional cache");
query_discardcache(client, rdataset_base, additionaltype,
type, &zone, &cdb, &cversion, &cnode,
&cfname);
@@ -1905,14 +1927,15 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
if (cnode == NULL) {
/* We have a negative cache. */
- CTRACE("query_addadditional2: negative glue additional cache");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addadditional2: negative glue additional cache");
dns_db_closeversion(cdb, &cversion, ISC_FALSE);
dns_db_detach(&cdb);
goto cleanup;
}
/* Cache hit. */
- CTRACE("query_addadditional2: glue additional cache");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional2: glue additional cache");
dns_db_closeversion(cdb, &cversion, ISC_FALSE);
db = cdb;
node = cnode;
@@ -2095,7 +2118,7 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
}
}
- CTRACE("query_addadditional2: addname");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional2: addname");
/*
* If we haven't added anything, then we're done.
@@ -2114,7 +2137,7 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
fname = NULL;
cleanup:
- CTRACE("query_addadditional2: cleanup");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional2: cleanup");
if (rdataset != NULL)
query_putrdataset(client, &rdataset);
@@ -2133,7 +2156,7 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
if (zone != NULL)
dns_zone_detach(&zone);
- CTRACE("query_addadditional2: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addadditional2: done");
return (eresult);
}
@@ -2148,7 +2171,7 @@ query_addrdataset(ns_client_t *client, dns_name_t *fname,
* 'fname', a name in the response message for 'client'.
*/
- CTRACE("query_addrdataset");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addrdataset");
ISC_LIST_APPEND(fname->list, rdataset, link);
@@ -2170,7 +2193,7 @@ query_addrdataset(ns_client_t *client, dns_name_t *fname,
additionalctx.rdataset = rdataset;
(void)dns_rdataset_additionaldata(rdataset, query_addadditional2,
&additionalctx);
- CTRACE("query_addrdataset: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addrdataset: done");
}
static isc_result_t
@@ -2202,7 +2225,7 @@ query_dns64(ns_client_t *client, dns_name_t **namep, dns_rdataset_t *rdataset,
* stored in 'dbuf'. In this case, query_addrrset() guarantees that
* when it returns the name will either have been kept or released.
*/
- CTRACE("query_dns64");
+ CTRACE(ISC_LOG_DEBUG(3), "query_dns64");
name = *namep;
mname = NULL;
mrdataset = NULL;
@@ -2219,7 +2242,8 @@ query_dns64(ns_client_t *client, dns_name_t **namep, dns_rdataset_t *rdataset,
* We've already got an RRset of the given name and type.
* There's nothing else to do;
*/
- CTRACE("query_dns64: dns_message_findname succeeded: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_dns64: dns_message_findname succeeded: done");
if (dbuf != NULL)
query_releasename(client, namep);
return (ISC_R_SUCCESS);
@@ -2349,7 +2373,7 @@ query_dns64(ns_client_t *client, dns_name_t **namep, dns_rdataset_t *rdataset,
dns_message_puttemprdatalist(client->message, &dns64_rdatalist);
}
- CTRACE("query_dns64: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_dns64: done");
return (result);
}
@@ -2368,7 +2392,7 @@ query_filter64(ns_client_t *client, dns_name_t **namep,
isc_result_t result;
unsigned int i;
- CTRACE("query_filter64");
+ CTRACE(ISC_LOG_DEBUG(3), "query_filter64");
INSIST(client->query.dns64_aaaaok != NULL);
INSIST(client->query.dns64_aaaaoklen == dns_rdataset_count(rdataset));
@@ -2388,7 +2412,8 @@ query_filter64(ns_client_t *client, dns_name_t **namep,
* We've already got an RRset of the given name and type.
* There's nothing else to do;
*/
- CTRACE("query_filter64: dns_message_findname succeeded: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_filter64: dns_message_findname succeeded: done");
if (dbuf != NULL)
query_releasename(client, namep);
return;
@@ -2487,7 +2512,7 @@ query_filter64(ns_client_t *client, dns_name_t **namep,
if (dbuf != NULL)
query_releasename(client, &name);
- CTRACE("query_filter64: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_filter64: done");
}
static void
@@ -2509,7 +2534,7 @@ query_addrrset(ns_client_t *client, dns_name_t **namep,
* stored in 'dbuf'. In this case, query_addrrset() guarantees that
* when it returns the name will either have been kept or released.
*/
- CTRACE("query_addrrset");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addrrset");
name = *namep;
rdataset = *rdatasetp;
if (sigrdatasetp != NULL)
@@ -2525,7 +2550,8 @@ query_addrrset(ns_client_t *client, dns_name_t **namep,
/*
* We've already got an RRset of the given name and type.
*/
- CTRACE("query_addrrset: dns_message_findname succeeded: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addrrset: dns_message_findname succeeded: done");
if (dbuf != NULL)
query_releasename(client, namep);
if ((rdataset->attributes & DNS_RDATASETATTR_REQUIRED) != 0)
@@ -2564,7 +2590,7 @@ query_addrrset(ns_client_t *client, dns_name_t **namep,
ISC_LIST_APPEND(mname->list, sigrdataset, link);
*sigrdatasetp = NULL;
}
- CTRACE("query_addrrset: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addrrset: done");
}
static inline isc_result_t
@@ -2580,7 +2606,7 @@ query_addsoa(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version,
dns_clientinfomethods_t cm;
dns_clientinfo_t ci;
- CTRACE("query_addsoa");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addsoa");
/*
* Initialization.
*/
@@ -2608,12 +2634,14 @@ query_addsoa(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version,
dns_name_clone(dns_db_origin(db), name);
rdataset = query_newrdataset(client);
if (rdataset == NULL) {
+ CTRACE(ISC_LOG_ERROR, "unable to allocate rdataset");
eresult = DNS_R_SERVFAIL;
goto cleanup;
}
if (WANTDNSSEC(client) && dns_db_issecure(db)) {
sigrdataset = query_newrdataset(client);
if (sigrdataset == NULL) {
+ CTRACE(ISC_LOG_ERROR, "unable to allocate sigrdataset");
eresult = DNS_R_SERVFAIL;
goto cleanup;
}
@@ -2643,6 +2671,7 @@ query_addsoa(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version,
* This is bad. We tried to get the SOA RR at the zone top
* and it didn't work!
*/
+ CTRACE(ISC_LOG_ERROR, "unable to find SOA RR at zone apex");
eresult = DNS_R_SERVFAIL;
} else {
/*
@@ -2707,7 +2736,7 @@ query_addns(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version) {
dns_clientinfomethods_t cm;
dns_clientinfo_t ci;
- CTRACE("query_addns");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addns");
/*
* Initialization.
*/
@@ -2725,21 +2754,24 @@ query_addns(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version) {
*/
result = dns_message_gettempname(client->message, &name);
if (result != ISC_R_SUCCESS) {
- CTRACE("query_addns: dns_message_gettempname failed: done");
+ CTRACE(ISC_LOG_DEBUG(3),
+ "query_addns: dns_message_gettempname failed: done");
return (result);
}
dns_name_init(name, NULL);
dns_name_clone(dns_db_origin(db), name);
rdataset = query_newrdataset(client);
if (rdataset == NULL) {
- CTRACE("query_addns: query_newrdataset failed");
+ CTRACE(ISC_LOG_ERROR,
+ "query_addns: query_newrdataset failed");
eresult = DNS_R_SERVFAIL;
goto cleanup;
}
if (WANTDNSSEC(client) && dns_db_issecure(db)) {
sigrdataset = query_newrdataset(client);
if (sigrdataset == NULL) {
- CTRACE("query_addns: query_newrdataset failed");
+ CTRACE(ISC_LOG_ERROR,
+ "query_addns: query_newrdataset failed");
eresult = DNS_R_SERVFAIL;
goto cleanup;
}
@@ -2754,14 +2786,15 @@ query_addns(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version) {
dns_rdatatype_ns, 0, client->now,
rdataset, sigrdataset);
} else {
- CTRACE("query_addns: calling dns_db_find");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addns: calling dns_db_find");
result = dns_db_findext(db, name, NULL, dns_rdatatype_ns,
client->query.dboptions, 0, &node,
fname, &cm, &ci, rdataset, sigrdataset);
- CTRACE("query_addns: dns_db_find complete");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addns: dns_db_find complete");
}
if (result != ISC_R_SUCCESS) {
- CTRACE("query_addns: "
+ CTRACE(ISC_LOG_ERROR,
+ "query_addns: "
"dns_db_findrdataset or dns_db_find failed");
/*
* This is bad. We tried to get the NS rdataset at the zone
@@ -2778,7 +2811,7 @@ query_addns(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version) {
}
cleanup:
- CTRACE("query_addns: cleanup");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addns: cleanup");
query_putrdataset(client, &rdataset);
if (sigrdataset != NULL)
query_putrdataset(client, &sigrdataset);
@@ -2787,7 +2820,7 @@ query_addns(ns_client_t *client, dns_db_t *db, dns_dbversion_t *version) {
if (node != NULL)
dns_db_detachnode(db, &node);
- CTRACE("query_addns: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addns: done");
return (eresult);
}
@@ -2839,7 +2872,6 @@ query_add_cname(ns_client_t *client, dns_name_t *qname, dns_name_t *tname,
}
dns_rdataset_init(rdataset);
rdatalist->type = dns_rdatatype_cname;
- rdatalist->covers = 0;
rdatalist->rdclass = client->message->rdclass;
rdatalist->ttl = ttl;
@@ -3055,7 +3087,7 @@ query_addbestns(ns_client_t *client) {
dns_clientinfomethods_t cm;
dns_clientinfo_t ci;
- CTRACE("query_addbestns");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addbestns");
fname = NULL;
zfname = NULL;
rdataset = NULL;
@@ -3260,7 +3292,7 @@ query_addds(ns_client_t *client, dns_db_t *db, dns_dbnode_t *node,
isc_result_t result;
unsigned int count;
- CTRACE("query_addds");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addds");
rname = NULL;
rdataset = NULL;
sigrdataset = NULL;
@@ -3390,7 +3422,7 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db,
dns_clientinfomethods_t cm;
dns_clientinfo_t ci;
- CTRACE("query_addwildcardproof");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addwildcardproof");
fname = NULL;
rdataset = NULL;
sigrdataset = NULL;
@@ -3754,9 +3786,10 @@ query_resume(isc_task_t *task, isc_event_t *event) {
if (devent->sigrdataset != NULL)
query_putrdataset(client, &devent->sigrdataset);
isc_event_free(&event);
- if (fetch_canceled)
+ if (fetch_canceled) {
+ CTRACE(ISC_LOG_ERROR, "fetch cancelled");
query_error(client, DNS_R_SERVFAIL, __LINE__);
- else
+ } else
query_next(client, ISC_R_CANCELED);
/*
* This may destroy the client.
@@ -3939,8 +3972,11 @@ rpz_ready(ns_client_t *client, dns_zone_t **zonep, dns_db_t **dbp,
rpz_clean(zonep, dbp, nodep, rdatasetp);
if (*rdatasetp == NULL) {
*rdatasetp = query_newrdataset(client);
- if (*rdatasetp == NULL)
+ if (*rdatasetp == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "rpz_ready: query_newrdataset failed");
return (DNS_R_SERVFAIL);
+ }
}
return (ISC_R_SUCCESS);
}
@@ -4005,6 +4041,7 @@ rpz_rrset_find(ns_client_t *client, dns_rpz_type_t rpz_type,
st->r.r_rdataset = NULL;
result = st->r.r_result;
if (result == DNS_R_DELEGATION) {
+ CTRACE(ISC_LOG_ERROR, "RPZ recursing");
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL,
rpz_type, name,
"rpz_rrset_find(1) ", result);
@@ -4295,6 +4332,8 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
dns_db_detachnode(*dbp, nodep);
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, rpz_type,
qnamef, "allrdatasets() ", result);
+ CTRACE(ISC_LOG_ERROR,
+ "rpz_find_p: allrdatasets failed");
*policyp = DNS_RPZ_POLICY_ERROR;
return (DNS_R_SERVFAIL);
}
@@ -4313,6 +4352,9 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL,
rpz_type, qnamef, "rdatasetiter ",
result);
+ CTRACE(ISC_LOG_ERROR,
+ "rpz_find_p: rdatasetiter_destroy "
+ "failed");
*policyp = DNS_RPZ_POLICY_ERROR;
return (DNS_R_SERVFAIL);
}
@@ -4380,6 +4422,8 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
dns_zone_detach(zonep);
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, rpz_type, qnamef,
"", result);
+ CTRACE(ISC_LOG_ERROR,
+ "rpz_find_p: unexpected result");
return (DNS_R_SERVFAIL);
}
@@ -4845,6 +4889,7 @@ cleanup:
rpz_match_clear(st);
}
if (st->m.policy == DNS_RPZ_POLICY_ERROR) {
+ CTRACE(ISC_LOG_ERROR, "SERVFAIL due to RPZ policy");
st->m.type = DNS_RPZ_TYPE_BAD;
result = DNS_R_SERVFAIL;
}
@@ -5072,7 +5117,7 @@ query_addnoqnameproof(ns_client_t *client, dns_rdataset_t *rdataset) {
dns_rdataset_t *neg, *negsig;
isc_result_t result = ISC_R_NOMEMORY;
- CTRACE("query_addnoqnameproof");
+ CTRACE(ISC_LOG_DEBUG(3), "query_addnoqnameproof");
fname = NULL;
neg = NULL;
@@ -5478,7 +5523,7 @@ redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset,
dns_clientinfo_t ci;
ns_dbversion_t *dbversion;
- CTRACE("redirect");
+ CTRACE(ISC_LOG_DEBUG(3), "redirect");
if (client->view->redirect == NULL)
return (ISC_R_NOTFOUND);
@@ -5552,7 +5597,7 @@ redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset,
return (ISC_R_NOTFOUND);
}
- CTRACE("redirect: found data: done");
+ CTRACE(ISC_LOG_DEBUG(3), "redirect: found data: done");
dns_name_copy(found, name, NULL);
if (dns_rdataset_isassociated(rdataset))
dns_rdataset_disassociate(rdataset);
@@ -5618,11 +5663,12 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
isc_boolean_t redirected = ISC_FALSE;
dns_clientinfomethods_t cm;
dns_clientinfo_t ci;
+ char errmsg[256];
isc_boolean_t associated;
dns_section_t section;
dns_ttl_t ttl;
- CTRACE("query_find");
+ CTRACE(ISC_LOG_DEBUG(3), "query_find");
/*
* One-time initialization.
@@ -5714,11 +5760,15 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
dbuf = query_getnamebuf(client);
if (dbuf == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: query_getnamebuf failed (1)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
fname = query_newname(client, dbuf, &b);
if (fname == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: query_newname failed (1)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -5730,6 +5780,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
}
result = dns_name_copy(tname, fname, NULL);
if (result != ISC_R_SUCCESS) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: dns_name_copy failed");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -5758,7 +5810,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
type = qtype;
restart:
- CTRACE("query_find: restart");
+ CTRACE(ISC_LOG_DEBUG(3), "query_find: restart");
want_restart = ISC_FALSE;
authoritative = ISC_FALSE;
version = NULL;
@@ -5834,8 +5886,11 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
inc_stats(client, dns_nsstatscounter_authrej);
if (!PARTIALANSWER(client))
QUERY_ERROR(DNS_R_REFUSED);
- } else
+ } else {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: query_getdb failed");
QUERY_ERROR(DNS_R_SERVFAIL);
+ }
goto cleanup;
}
@@ -5862,24 +5917,30 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
}
db_find:
- CTRACE("query_find: db_find");
+ CTRACE(ISC_LOG_DEBUG(3), "query_find: db_find");
/*
* We'll need some resources...
*/
dbuf = query_getnamebuf(client);
if (dbuf == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: query_getnamebuf failed (2)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
fname = query_newname(client, dbuf, &b);
rdataset = query_newrdataset(client);
if (fname == NULL || rdataset == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: query_newname failed (2)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
if (WANTDNSSEC(client) && (!is_zone || dns_db_issecure(db))) {
sigrdataset = query_newrdataset(client);
if (sigrdataset == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: query_newrdataset failed (2)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -5893,7 +5954,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
&node, fname, &cm, &ci, rdataset, sigrdataset);
resume:
- CTRACE("query_find: resume");
+ CTRACE(ISC_LOG_DEBUG(3), "query_find: resume");
#ifdef USE_RRL
/*
@@ -6234,6 +6295,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
goto cleanup;
} else {
/* Unable to give root server referral. */
+ CTRACE(ISC_LOG_ERROR,
+ "unable to give root server referral");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -6496,11 +6559,17 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
if (fname == NULL) {
dbuf = query_getnamebuf(client);
if (dbuf == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: "
+ "query_getnamebuf failed (3)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
fname = query_newname(client, dbuf, &b);
if (fname == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: "
+ "query_newname failed (3)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -6601,6 +6670,10 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
if (fname == NULL ||
rdataset == NULL ||
sigrdataset == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: "
+ "failure getting "
+ "closest encloser");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -6803,11 +6876,17 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
if (fname == NULL) {
dbuf = query_getnamebuf(client);
if (dbuf == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: "
+ "query_getnamebuf failed (4)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
fname = query_newname(client, dbuf, &b);
if (fname == NULL) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: "
+ "query_newname failed (4)");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -7060,6 +7139,10 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
/*
* Something has gone wrong.
*/
+ snprintf(errmsg, sizeof(errmsg) - 1,
+ "query_find: unexpected error after resuming: %s",
+ isc_result_totext(result));
+ CTRACE(ISC_LOG_ERROR, errmsg);
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -7107,6 +7190,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
rdsiter = NULL;
result = dns_db_allrdatasets(db, node, version, 0, &rdsiter);
if (result != ISC_R_SUCCESS) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: type any; allrdatasets failed");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -7236,12 +7321,18 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
dns_rdatasetiter_destroy(&rdsiter);
fname = query_newname(client, dbuf, &b);
goto nxrrset_rrsig;
- } else
+ } else {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: no matching rdatasets "
+ "in cache");
result = DNS_R_SERVFAIL;
+ }
}
dns_rdatasetiter_destroy(&rdsiter);
if (result != ISC_R_NOMORE) {
+ CTRACE(ISC_LOG_ERROR,
+ "query_find: dns_rdatasetiter_destroy failed");
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@@ -7431,7 +7522,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
}
addauth:
- CTRACE("query_find: addauth");
+ CTRACE(ISC_LOG_DEBUG(3), "query_find: addauth");
/*
* Add NS records to the authority section (if we haven't already
* added them to the answer section).
@@ -7459,7 +7550,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
dns_fixedname_name(&wildcardname),
ISC_TRUE, ISC_FALSE);
cleanup:
- CTRACE("query_find: cleanup");
+ CTRACE(ISC_LOG_DEBUG(3), "query_find: cleanup");
/*
* General cleanup.
*/
@@ -7573,7 +7664,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
query_send(client);
ns_client_detach(&client);
}
- CTRACE("query_find: done");
+ CTRACE(ISC_LOG_DEBUG(3), "query_find: done");
return (eresult);
}
@@ -7661,7 +7752,7 @@ ns_query_start(ns_client_t *client) {
unsigned int saved_extflags = client->extflags;
unsigned int saved_flags = client->message->flags;
- CTRACE("ns_query_start");
+ CTRACE(ISC_LOG_DEBUG(3), "ns_query_start");
/*
* Test only.
diff --git a/bin/named/server.c b/bin/named/server.c
index 84b4067bf400..d7d1a59fc16c 100644
--- a/bin/named/server.c
+++ b/bin/named/server.c
@@ -195,6 +195,8 @@ struct dumpcontext {
isc_mem_t *mctx;
isc_boolean_t dumpcache;
isc_boolean_t dumpzones;
+ isc_boolean_t dumpadb;
+ isc_boolean_t dumpbad;
FILE *fp;
ISC_LIST(struct viewlistentry) viewlist;
struct viewlistentry *view;
@@ -352,6 +354,9 @@ const char *empty_zones[] = {
/* Example Prefix, RFC 3849. */
"8.B.D.0.1.0.0.2.IP6.ARPA",
+ /* RFC 7534 */
+ "EMPTY.AS112.ARPA",
+
NULL
};
@@ -1828,18 +1833,20 @@ add_soa(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name,
isc_result_t result;
unsigned char buf[DNS_SOA_BUFFERSIZE];
- dns_rdataset_init(&rdataset);
- dns_rdatalist_init(&rdatalist);
CHECK(dns_soa_buildrdata(origin, contact, dns_db_class(db),
0, 28800, 7200, 604800, 86400, buf, &rdata));
+
+ dns_rdatalist_init(&rdatalist);
rdatalist.type = rdata.type;
- rdatalist.covers = 0;
rdatalist.rdclass = rdata.rdclass;
rdatalist.ttl = 86400;
ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
+
+ dns_rdataset_init(&rdataset);
CHECK(dns_rdatalist_tordataset(&rdatalist, &rdataset));
CHECK(dns_db_findnode(db, name, ISC_TRUE, &node));
CHECK(dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL));
+
cleanup:
if (node != NULL)
dns_db_detachnode(db, &node);
@@ -1861,8 +1868,6 @@ add_ns(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name,
isc_buffer_init(&b, buf, sizeof(buf));
- dns_rdataset_init(&rdataset);
- dns_rdatalist_init(&rdatalist);
ns.common.rdtype = dns_rdatatype_ns;
ns.common.rdclass = dns_db_class(db);
ns.mctx = NULL;
@@ -1870,14 +1875,18 @@ add_ns(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name,
dns_name_clone(nsname, &ns.name);
CHECK(dns_rdata_fromstruct(&rdata, dns_db_class(db), dns_rdatatype_ns,
&ns, &b));
+
+ dns_rdatalist_init(&rdatalist);
rdatalist.type = rdata.type;
- rdatalist.covers = 0;
rdatalist.rdclass = rdata.rdclass;
rdatalist.ttl = 86400;
ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
+
+ dns_rdataset_init(&rdataset);
CHECK(dns_rdatalist_tordataset(&rdatalist, &rdataset));
CHECK(dns_db_findnode(db, name, ISC_TRUE, &node));
CHECK(dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL));
+
cleanup:
if (node != NULL)
dns_db_detachnode(db, &node);
@@ -2086,6 +2095,9 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
char **dlzargv;
const cfg_obj_t *disabled;
const cfg_obj_t *obj;
+#ifdef ENABLE_FETCHLIMIT
+ const cfg_obj_t *obj2;
+#endif /* ENABLE_FETCHLIMIT */
const cfg_listelt_t *element;
in_port_t port;
dns_cache_t *cache = NULL;
@@ -2742,6 +2754,55 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
}
dns_adb_setadbsize(view->adb, max_adb_size);
+#ifdef ENABLE_FETCHLIMIT
+ /*
+ * Set up ADB quotas
+ */
+ {
+ isc_uint32_t fps, freq;
+ double low, high, discount;
+
+ obj = NULL;
+ result = ns_config_get(maps, "fetches-per-server", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ obj2 = cfg_tuple_get(obj, "fetches");
+ fps = cfg_obj_asuint32(obj2);
+ obj2 = cfg_tuple_get(obj, "response");
+ if (!cfg_obj_isvoid(obj2)) {
+ const char *resp = cfg_obj_asstring(obj2);
+ isc_result_t r;
+
+ if (strcasecmp(resp, "drop") == 0)
+ r = DNS_R_DROP;
+ else if (strcasecmp(resp, "fail") == 0)
+ r = DNS_R_SERVFAIL;
+ else
+ INSIST(0);
+
+ dns_resolver_setquotaresponse(view->resolver,
+ dns_quotatype_server, r);
+ }
+
+ obj = NULL;
+ result = ns_config_get(maps, "fetch-quota-params", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+
+ obj2 = cfg_tuple_get(obj, "frequency");
+ freq = cfg_obj_asuint32(obj2);
+
+ obj2 = cfg_tuple_get(obj, "low");
+ low = (double) cfg_obj_asfixedpoint(obj2) / 100.0;
+
+ obj2 = cfg_tuple_get(obj, "high");
+ high = (double) cfg_obj_asfixedpoint(obj2) / 100.0;
+
+ obj2 = cfg_tuple_get(obj, "discount");
+ discount = (double) cfg_obj_asfixedpoint(obj2) / 100.0;
+
+ dns_adb_setquota(view->adb, fps, freq, low, high, discount);
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
/*
* Set resolver's lame-ttl.
*/
@@ -3169,6 +3230,29 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
INSIST(result == ISC_R_SUCCESS);
dns_resolver_setmaxqueries(view->resolver, cfg_obj_asuint32(obj));
+#ifdef ENABLE_FETCHLIMIT
+ obj = NULL;
+ result = ns_config_get(maps, "fetches-per-zone", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ obj2 = cfg_tuple_get(obj, "fetches");
+ dns_resolver_setfetchesperzone(view->resolver, cfg_obj_asuint32(obj2));
+ obj2 = cfg_tuple_get(obj, "response");
+ if (!cfg_obj_isvoid(obj2)) {
+ const char *resp = cfg_obj_asstring(obj2);
+ isc_result_t r;
+
+ if (strcasecmp(resp, "drop") == 0)
+ r = DNS_R_DROP;
+ else if (strcasecmp(resp, "fail") == 0)
+ r = DNS_R_SERVFAIL;
+ else
+ INSIST(0);
+
+ dns_resolver_setquotaresponse(view->resolver,
+ dns_quotatype_zone, r);
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
#ifdef ALLOW_FILTER_AAAA_ON_V4
obj = NULL;
result = ns_config_get(maps, "filter-aaaa-on-v4", &obj);
@@ -3259,18 +3343,19 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
obj = NULL;
result = ns_config_get(maps, "root-delegation-only", &obj);
- if (result == ISC_R_SUCCESS) {
+ if (result == ISC_R_SUCCESS)
+ dns_view_setrootdelonly(view, ISC_TRUE);
+ if (result == ISC_R_SUCCESS && ! cfg_obj_isvoid(obj)) {
+ const cfg_obj_t *exclude;
dns_fixedname_t fixed;
dns_name_t *name;
- const cfg_obj_t *exclude;
-
- dns_view_setrootdelonly(view, ISC_TRUE);
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
for (element = cfg_list_first(obj);
element != NULL;
- element = cfg_list_next(element)) {
+ element = cfg_list_next(element))
+ {
exclude = cfg_listelt_value(element);
CHECK(dns_name_fromstring(name,
cfg_obj_asstring(exclude),
@@ -4921,6 +5006,9 @@ load_configuration(const char *filename, ns_server_t *server,
ns_cachelist_t cachelist, tmpcachelist;
struct cfg_context *nzctx;
unsigned int maxsocks;
+#ifdef ENABLE_FETCHLIMIT
+ isc_uint32_t softquota = 0;
+#endif /* ENABLE_FETCHLIMIT */
ISC_LIST_INIT(viewlist);
ISC_LIST_INIT(builtin_viewlist);
@@ -5082,11 +5170,30 @@ load_configuration(const char *filename, ns_server_t *server,
configure_server_quota(maps, "tcp-clients", &server->tcpquota);
configure_server_quota(maps, "recursive-clients",
&server->recursionquota);
- if (server->recursionquota.max > 1000)
+
+#ifdef ENABLE_FETCHLIMIT
+ if (server->recursionquota.max > 1000) {
+ int margin = ISC_MAX(100, ns_g_cpus + 1);
+ if (margin > server->recursionquota.max - 100) {
+ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
+ NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
+ "'recursive-clients %d' too low when "
+ "running with %d worker threads",
+ server->recursionquota.max, ns_g_cpus);
+ CHECK(ISC_R_RANGE);
+ }
+ softquota = server->recursionquota.max - margin;
+ } else
+ softquota = (server->recursionquota.max * 90) / 100;
+
+ isc_quota_soft(&server->recursionquota, softquota);
+#else
+ if (server->recursionquota.max > 1000) {
isc_quota_soft(&server->recursionquota,
server->recursionquota.max - 100);
- else
+ } else
isc_quota_soft(&server->recursionquota, 0);
+#endif /* !ENABLE_FETCHLIMIT */
CHECK(configure_view_acl(NULL, config, "blackhole", NULL,
ns_g_aclconfctx, ns_g_mctx,
@@ -5784,6 +5891,8 @@ load_configuration(const char *filename, ns_server_t *server,
if (view != NULL)
dns_view_detach(&view);
+ ISC_LIST_APPENDLIST(viewlist, builtin_viewlist, link);
+
/*
* This cleans up either the old production view list
* or our temporary list depending on whether they
@@ -6464,25 +6573,6 @@ reload(ns_server_t *server) {
return (result);
}
-static void
-reconfig(ns_server_t *server) {
- isc_result_t result;
- CHECK(loadconfig(server));
-
- result = load_new_zones(server, ISC_FALSE);
- if (result == ISC_R_SUCCESS)
- isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
- NS_LOGMODULE_SERVER, ISC_LOG_INFO,
- "any newly configured zones are now loaded");
- else
- isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
- NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
- "loading new zones failed: %s",
- isc_result_totext(result));
-
- cleanup: ;
-}
-
/*
* Handle a reload event (from SIGHUP).
*/
@@ -6720,11 +6810,23 @@ ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text) {
* Act on a "reconfig" command from the command channel.
*/
isc_result_t
-ns_server_reconfigcommand(ns_server_t *server, char *args) {
- UNUSED(args);
+ns_server_reconfigcommand(ns_server_t *server) {
+ isc_result_t result;
- reconfig(server);
- return (ISC_R_SUCCESS);
+ CHECK(loadconfig(server));
+
+ result = load_new_zones(server, ISC_FALSE);
+ if (result == ISC_R_SUCCESS)
+ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
+ NS_LOGMODULE_SERVER, ISC_LOG_INFO,
+ "any newly configured zones are now loaded");
+ else
+ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
+ NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
+ "loading new zones failed: %s",
+ isc_result_totext(result));
+cleanup:
+ return (result);
}
/*
@@ -7061,10 +7163,17 @@ dumpdone(void *arg, isc_result_t result) {
goto cleanup;
}
}
+
+ if ((dctx->dumpadb || dctx->dumpbad) &&
+ dctx->cache == NULL && dctx->view->view->cachedb != NULL)
+ dns_db_attach(dctx->view->view->cachedb, &dctx->cache);
+
if (dctx->cache != NULL) {
- dns_adb_dump(dctx->view->view->adb, dctx->fp);
- dns_resolver_printbadcache(dctx->view->view->resolver,
- dctx->fp);
+ if (dctx->dumpadb)
+ dns_adb_dump(dctx->view->view->adb, dctx->fp);
+ if (dctx->dumpbad)
+ dns_resolver_printbadcache(dctx->view->view->resolver,
+ dctx->fp);
dns_db_detach(&dctx->cache);
}
if (dctx->dumpzones) {
@@ -7148,6 +7257,8 @@ ns_server_dumpdb(ns_server_t *server, char *args) {
dctx->mctx = server->mctx;
dctx->dumpcache = ISC_TRUE;
+ dctx->dumpadb = ISC_TRUE;
+ dctx->dumpbad = ISC_TRUE;
dctx->dumpzones = ISC_FALSE;
dctx->fp = NULL;
ISC_LIST_INIT(dctx->viewlist);
@@ -7171,17 +7282,31 @@ ns_server_dumpdb(ns_server_t *server, char *args) {
ptr = next_token(&args, " \t");
if (ptr != NULL && strcmp(ptr, "-all") == 0) {
+ /* also dump zones */
dctx->dumpzones = ISC_TRUE;
- dctx->dumpcache = ISC_TRUE;
ptr = next_token(&args, " \t");
} else if (ptr != NULL && strcmp(ptr, "-cache") == 0) {
- dctx->dumpzones = ISC_FALSE;
- dctx->dumpcache = ISC_TRUE;
+ /* this is the default */
ptr = next_token(&args, " \t");
} else if (ptr != NULL && strcmp(ptr, "-zones") == 0) {
+ /* only dump zones, suppress caches */
+ dctx->dumpadb = ISC_FALSE;
+ dctx->dumpbad = ISC_FALSE;
+ dctx->dumpcache = ISC_FALSE;
dctx->dumpzones = ISC_TRUE;
+ ptr = next_token(&args, " \t");
+#ifdef ENABLE_FETCHLIMIT
+ } else if (ptr != NULL && strcmp(ptr, "-adb") == 0) {
+ /* only dump adb, suppress other caches */
+ dctx->dumpbad = ISC_FALSE;
dctx->dumpcache = ISC_FALSE;
ptr = next_token(&args, " \t");
+ } else if (ptr != NULL && strcmp(ptr, "-bad") == 0) {
+ /* only dump badcache, suppress other caches */
+ dctx->dumpadb = ISC_FALSE;
+ dctx->dumpcache = ISC_FALSE;
+ ptr = next_token(&args, " \t");
+#endif /* ENABLE_FETCHLIMIT */
}
nextview:
@@ -7275,11 +7400,26 @@ isc_result_t
ns_server_dumprecursing(ns_server_t *server) {
FILE *fp = NULL;
isc_result_t result;
+#ifdef ENABLE_FETCHLIMIT
+ dns_view_t *view;
+#endif /* ENABLE_FETCHLIMIT */
CHECKMF(isc_stdio_open(server->recfile, "w", &fp),
"could not open dump file", server->recfile);
- fprintf(fp,";\n; Recursing Queries\n;\n");
+ fprintf(fp, ";\n; Recursing Queries\n;\n");
ns_interfacemgr_dumprecursing(fp, server->interfacemgr);
+
+#ifdef ENABLE_FETCHLIMIT
+ for (view = ISC_LIST_HEAD(server->viewlist);
+ view != NULL;
+ view = ISC_LIST_NEXT(view, link))
+ {
+ fprintf(fp, ";\n; Active fetch domains [view: %s]\n;\n",
+ view->name);
+ dns_resolver_dumpfetches(view->resolver, fp);
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
fprintf(fp, "; Dump complete\n");
cleanup:
@@ -7632,7 +7772,7 @@ ns_server_status(ns_server_t *server, isc_buffer_t *text) {
n = snprintf((char *)isc_buffer_used(text),
isc_buffer_availablelength(text),
- "version: %s%s%s%s <id:%s>\n"
+ "version: %s %s%s%s <id:%s>%s%s%s\n"
#ifdef ISC_PLATFORM_USETHREADS
"CPUs found: %u\n"
"worker threads: %u\n"
@@ -7647,7 +7787,9 @@ ns_server_status(ns_server_t *server, isc_buffer_t *text) {
"recursive clients: %d/%d/%d\n"
"tcp clients: %d/%d\n"
"server is up and running",
- ns_g_version, ob, alt, cb, ns_g_srcid,
+ ns_g_product, ns_g_version,
+ (*ns_g_description != '\0') ? " " : "",
+ ns_g_description, ns_g_srcid, ob, alt, cb,
#ifdef ISC_PLATFORM_USETHREADS
ns_g_cpus_detected, ns_g_cpus, ns_g_udpdisp,
#endif
diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c
index 8ec08d7b1959..4bfd52176a9a 100644
--- a/bin/named/statschannel.c
+++ b/bin/named/statschannel.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2008-2015 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
@@ -14,8 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: statschannel.c,v 1.28 2011/03/12 04:59:46 tbox Exp $ */
-
/*! \file */
#include <config.h>
@@ -123,6 +121,8 @@ set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs,
const char *xdesc, const char **xdescs)
{
REQUIRE(counter < maxcounter);
+if (fdescs[counter] != NULL)
+fprintf(stderr, "fdescs[%d] == %s\n", counter, fdescs[counter]);
REQUIRE(fdescs[counter] == NULL);
#ifdef HAVE_LIBXML2
REQUIRE(xdescs[counter] == NULL);
@@ -168,7 +168,7 @@ init_desc(void) {
SET_NSSTATDESC(sig0in, "requests with SIG(0) received", "ReqSIG0");
SET_NSSTATDESC(invalidsig, "requests with invalid signature",
"ReqBadSIG");
- SET_NSSTATDESC(tcp, "TCP requests received", "ReqTCP");
+ SET_NSSTATDESC(requesttcp, "TCP requests received", "ReqTCP");
SET_NSSTATDESC(authrej, "auth queries rejected", "AuthQryRej");
SET_NSSTATDESC(recurserej, "recursive queries rejected", "RecQryRej");
SET_NSSTATDESC(xfrrej, "transfer requests rejected", "XfrRej");
@@ -207,14 +207,32 @@ init_desc(void) {
SET_NSSTATDESC(updatebadprereq,
"updates rejected due to prerequisite failure",
"UpdateBadPrereq");
- SET_NSSTATDESC(rpz_rewrites, "response policy zone rewrites",
- "RPZRewrites");
-#ifdef USE_RRL
+ SET_NSSTATDESC(recursclients, "recursing clients",
+ "RecursClients");
+ SET_NSSTATDESC(dns64, "queries answered by DNS64", "DNS64");
SET_NSSTATDESC(ratedropped, "responses dropped for rate limits",
"RateDropped");
SET_NSSTATDESC(rateslipped, "responses truncated for rate limits",
"RateSlipped");
-#endif /* USE_RRL */
+ SET_NSSTATDESC(rpz_rewrites, "response policy zone rewrites",
+ "RPZRewrites");
+ SET_NSSTATDESC(udp, "UDP queries received", "QryUDP");
+ SET_NSSTATDESC(tcp, "TCP queries received", "QryTCP");
+ SET_NSSTATDESC(nsidopt, "NSID option received", "NSIDOpt");
+ SET_NSSTATDESC(expireopt, "Expire option received", "ExpireOpt");
+ SET_NSSTATDESC(otheropt, "Other EDNS option received", "OtherOpt");
+ SET_NSSTATDESC(sitopt, "source identity token option received",
+ "SitOpt");
+ SET_NSSTATDESC(sitnew, "new source identity token requested",
+ "SitNew");
+ SET_NSSTATDESC(sitbadsize, "source identity token - bad size",
+ "SitBadSize");
+ SET_NSSTATDESC(sitbadtime, "source identity token - bad time",
+ "SitBadTime");
+ SET_NSSTATDESC(sitnomatch, "source identity token - no match",
+ "SitNoMatch");
+ SET_NSSTATDESC(sitmatch, "source identity token - match", "SitMatch");
+ SET_NSSTATDESC(ecsopt, "EDNS client subnet option recieved", "ECSOpt");
INSIST(i == dns_nsstatscounter_max);
/* Initialize resolver statistics */
@@ -285,6 +303,10 @@ init_desc(void) {
SET_RESSTATDESC(queryrtt5, "queries with RTT > "
DNS_RESOLVER_QRYRTTCLASS4STR "ms",
"QryRTT" DNS_RESOLVER_QRYRTTCLASS4STR "+");
+ SET_RESSTATDESC(zonequota, "spilled due to zone quota", "ZoneQuota");
+ SET_RESSTATDESC(serverquota, "spilled due to server quota",
+ "ServerQuota");
+
INSIST(i == dns_resstatscounter_max);
/* Initialize zone statistics */
@@ -495,7 +517,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg,
const char *category, const char **desc, int ncounters,
int *indices, isc_uint64_t *values, int options)
{
- int i, index;
+ int i, idx;
isc_uint64_t value;
stats_dumparg_t dumparg;
FILE *fp;
@@ -517,8 +539,8 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg,
isc_stats_dump(stats, generalstat_dump, &dumparg, options);
for (i = 0; i < ncounters; i++) {
- index = indices[i];
- value = values[index];
+ idx = indices[i];
+ value = values[idx];
if (value == 0 && (options & ISC_STATSDUMP_VERBOSE) == 0)
continue;
@@ -527,7 +549,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg,
case statsformat_file:
fp = arg;
fprintf(fp, "%20" ISC_PRINT_QUADFORMAT "u %s\n",
- value, desc[index]);
+ value, desc[idx]);
break;
case statsformat_xml:
#ifdef HAVE_LIBXML2
@@ -545,7 +567,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg,
"name"));
TRY0(xmlTextWriterWriteString(writer,
ISC_XMLCHAR
- desc[index]));
+ desc[i]));
TRY0(xmlTextWriterEndElement(writer));
/* </name> */
@@ -569,7 +591,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg,
ISC_XMLCHAR
"name",
ISC_XMLCHAR
- desc[index]));
+ desc[i]));
TRY0(xmlTextWriterWriteFormatString(writer,
"%" ISC_PRINT_QUADFORMAT "u", value));
TRY0(xmlTextWriterEndElement(writer));
@@ -587,7 +609,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg,
"name"));
TRY0(xmlTextWriterWriteString(writer,
ISC_XMLCHAR
- desc[index]));
+ desc[idx]));
TRY0(xmlTextWriterEndElement(writer)); /* name */
TRY0(xmlTextWriterStartElement(writer,
@@ -596,7 +618,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg,
} else {
TRY0(xmlTextWriterStartElement(writer,
ISC_XMLCHAR
- desc[index]));
+ desc[idx]));
}
TRY0(xmlTextWriterWriteFormatString(writer,
"%"
@@ -893,7 +915,6 @@ static isc_result_t
zone_xmlrender(dns_zone_t *zone, void *arg) {
isc_result_t result;
char buf[1024 + 32]; /* sufficiently large for zone name and class */
- char *zone_name_only = NULL;
dns_rdataclass_t rdclass;
isc_uint32_t serial;
xmlTextWriterPtr writer = arg;
@@ -912,13 +933,11 @@ zone_xmlrender(dns_zone_t *zone, void *arg) {
dumparg.arg = writer;
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "zone"));
- dns_zone_name(zone, buf, sizeof(buf));
- zone_name_only = strtok(buf, "/");
- if(zone_name_only == NULL)
- zone_name_only = buf;
+ dns_zone_nameonly(zone, buf, sizeof(buf));
TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name",
- ISC_XMLCHAR zone_name_only));
+ ISC_XMLCHAR buf));
+
rdclass = dns_zone_getclass(zone);
dns_rdataclass_format(rdclass, buf, sizeof(buf));
TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "rdataclass",
@@ -990,7 +1009,7 @@ zone_xmlrender(dns_zone_t *zone, void *arg) {
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "zone"));
- dns_zone_name(zone, buf, sizeof(buf));
+ dns_zone_nameonly(zone, buf, sizeof(buf));
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "name"));
TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR buf));
TRY0(xmlTextWriterEndElement(writer));
@@ -1058,7 +1077,7 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) {
ISC_XMLCHAR "type=\"text/xsl\" href=\"/bind9.ver3.xsl\""));
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics"));
TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version",
- ISC_XMLCHAR "3.3"));
+ ISC_XMLCHAR "3.6"));
/* Set common fields for statistics dump */
dumparg.type = statsformat_xml;
diff --git a/bin/named/update.c b/bin/named/update.c
index a526b02a1024..badf8fe1081f 100644
--- a/bin/named/update.c
+++ b/bin/named/update.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -3017,6 +3017,19 @@ update_action(isc_task_t *task, isc_event_t *event) {
goto failure;
}
}
+ if (! ISC_LIST_EMPTY(diff.tuples)) {
+ result = dns_zone_cdscheck(zone, db, ver);
+ if (result == DNS_R_BADCDS || result == DNS_R_BADCDNSKEY) {
+ update_log(client, zone, LOGLEVEL_PROTOCOL,
+ "update rejected: bad %s RRset",
+ result == DNS_R_BADCDS ? "CDS" : "CDNSKEY");
+ result = DNS_R_REFUSED;
+ goto failure;
+ }
+ if (result != ISC_R_SUCCESS)
+ goto failure;
+
+ }
/*
* If any changes were made, increment the SOA serial number,
diff --git a/bin/named/xfrout.c b/bin/named/xfrout.c
index a0a617d14c12..f8535b21ea7b 100644
--- a/bin/named/xfrout.c
+++ b/bin/named/xfrout.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -135,6 +135,7 @@ log_rr(dns_name_t *name, dns_rdata_t *rdata, isc_uint32_t ttl) {
dns_rdataset_t rds;
dns_rdata_t rd = DNS_RDATA_INIT;
+ dns_rdatalist_init(&rdl);
rdl.type = rdata->type;
rdl.rdclass = rdata->rdclass;
rdl.ttl = ttl;
@@ -143,8 +144,6 @@ log_rr(dns_name_t *name, dns_rdata_t *rdata, isc_uint32_t ttl) {
rdl.covers = dns_rdata_covers(rdata);
else
rdl.covers = dns_rdatatype_none;
- ISC_LIST_INIT(rdl.rdata);
- ISC_LINK_INIT(&rdl, link);
dns_rdataset_init(&rds);
dns_rdata_init(&rd);
dns_rdata_clone(rdata, &rd);
@@ -1420,8 +1419,6 @@ sendstream(xfrout_ctx_t *xfr) {
msgrdl->covers = dns_rdata_covers(rdata);
else
msgrdl->covers = dns_rdatatype_none;
- ISC_LINK_INIT(msgrdl, link);
- ISC_LIST_INIT(msgrdl->rdata);
ISC_LIST_APPEND(msgrdl->rdata, msgrdata, link);
result = dns_message_gettemprdataset(msg, &msgrds);
diff --git a/bin/nsupdate/nsupdate.1 b/bin/nsupdate/nsupdate.1
index c46d023e8e81..28d5f42d7834 100644
--- a/bin/nsupdate/nsupdate.1
+++ b/bin/nsupdate/nsupdate.1
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2004-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -33,7 +33,7 @@
nsupdate \- Dynamic DNS update utility
.SH "SYNOPSIS"
.HP 9
-\fBnsupdate\fR [\fB\-d\fR] [\fB\-D\fR] [[\fB\-g\fR] | [\fB\-o\fR] | [\fB\-l\fR] | [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR] | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR]] [\fB\-t\ \fR\fB\fItimeout\fR\fR] [\fB\-u\ \fR\fB\fIudptimeout\fR\fR] [\fB\-r\ \fR\fB\fIudpretries\fR\fR] [\fB\-R\ \fR\fB\fIrandomdev\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [filename]
+\fBnsupdate\fR [\fB\-d\fR] [\fB\-D\fR] [\fB\-L\ \fR\fB\fIlevel\fR\fR] [[\fB\-g\fR] | [\fB\-o\fR] | [\fB\-l\fR] | [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR] | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR]] [\fB\-t\ \fR\fB\fItimeout\fR\fR] [\fB\-u\ \fR\fB\fIudptimeout\fR\fR] [\fB\-r\ \fR\fB\fIudpretries\fR\fR] [\fB\-R\ \fR\fB\fIrandomdev\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [filename]
.SH "DESCRIPTION"
.PP
\fBnsupdate\fR
@@ -47,79 +47,48 @@ The resource records that are dynamically added or removed with
\fBnsupdate\fR
have to be in the same zone. Requests are sent to the zone's master server. This is identified by the MNAME field of the zone's SOA record.
.PP
-The
-\fB\-d\fR
-option makes
-\fBnsupdate\fR
-operate in debug mode. This provides tracing information about the update requests that are made and the replies received from the name server.
-.PP
-The
-\fB\-D\fR
-option makes
-\fBnsupdate\fR
-report additional debugging information to
-\fB\-d\fR.
-.PP
-The
-\fB\-L\fR
-option with an integer argument of zero or higher sets the logging debug level. If zero, logging is disabled.
+Transaction signatures can be used to authenticate the Dynamic DNS updates. These use the TSIG resource record type described in RFC 2845 or the SIG(0) record described in RFC 2535 and RFC 2931 or GSS\-TSIG as described in RFC 3645.
.PP
-Transaction signatures can be used to authenticate the Dynamic DNS updates. These use the TSIG resource record type described in RFC 2845 or the SIG(0) record described in RFC 2535 and RFC 2931 or GSS\-TSIG as described in RFC 3645. TSIG relies on a shared secret that should only be known to
+TSIG relies on a shared secret that should only be known to
\fBnsupdate\fR
-and the name server. Currently, the only supported encryption algorithm for TSIG is HMAC\-MD5, which is defined in RFC 2104. Once other algorithms are defined for TSIG, applications will need to ensure they select the appropriate algorithm as well as the key when authenticating each other. For instance, suitable
+and the name server. For instance, suitable
\fBkey\fR
and
\fBserver\fR
statements would be added to
\fI/etc/named.conf\fR
-so that the name server can associate the appropriate secret key and algorithm with the IP address of the client application that will be using TSIG authentication. SIG(0) uses public key cryptography. To use a SIG(0) key, the public key must be stored in a KEY record in a zone served by the name server.
+so that the name server can associate the appropriate secret key and algorithm with the IP address of the client application that will be using TSIG authentication. You can use
+\fBddns\-confgen\fR
+to generate suitable configuration fragments.
\fBnsupdate\fR
-does not read
-\fI/etc/named.conf\fR.
+uses the
+\fB\-y\fR
+or
+\fB\-k\fR
+options to provide the TSIG shared secret. These options are mutually exclusive.
+.PP
+SIG(0) uses public key cryptography. To use a SIG(0) key, the public key must be stored in a KEY record in a zone served by the name server.
.PP
GSS\-TSIG uses Kerberos credentials. Standard GSS\-TSIG mode is switched on with the
\fB\-g\fR
flag. A non\-standards\-compliant variant of GSS\-TSIG used by Windows 2000 can be switched on with the
\fB\-o\fR
flag.
+.SH "OPTIONS"
.PP
-\fBnsupdate\fR
-uses the
-\fB\-y\fR
-or
-\fB\-k\fR
-option to provide the shared secret needed to generate a TSIG record for authenticating Dynamic DNS update requests, default type HMAC\-MD5. These options are mutually exclusive.
+\-d
+.RS 4
+Debug mode. This provides tracing information about the update requests that are made and the replies received from the name server.
+.RE
.PP
-When the
-\fB\-y\fR
-option is used, a signature is generated from
-[\fIhmac:\fR]\fIkeyname:secret.\fR
-\fIkeyname\fR
-is the name of the key, and
-\fIsecret\fR
-is the base64 encoded shared secret.
-\fIhmac\fR
-is the name of the key algorithm; valid choices are
-hmac\-md5,
-hmac\-sha1,
-hmac\-sha224,
-hmac\-sha256,
-hmac\-sha384, or
-hmac\-sha512. If
-\fIhmac\fR
-is not specified, the default is
-hmac\-md5. NOTE: Use of the
-\fB\-y\fR
-option is discouraged because the shared secret is supplied as a command line argument in clear text. This may be visible in the output from
-\fBps\fR(1)
-or in a history file maintained by the user's shell.
+\-D
+.RS 4
+Extra debug mode.
+.RE
.PP
-With the
-\fB\-k\fR
-option,
-\fBnsupdate\fR
-reads the shared secret from the file
-\fIkeyfile\fR. Keyfiles may be in two formats: a single file containing a
+\-k \fIkeyfile\fR
+.RS 4
+The file containing the TSIG authentication key. Keyfiles may be in two formats: a single file containing a
\fInamed.conf\fR\-format
\fBkey\fR
statement, which may be generated automatically by
@@ -130,11 +99,11 @@ and
\fBdnssec\-keygen\fR. The
\fB\-k\fR
may also be used to specify a SIG(0) key used to authenticate Dynamic DNS update requests. In this case, the key specified is not an HMAC\-MD5 key.
+.RE
.PP
-\fBnsupdate\fR
-can be run in a local\-host only mode using the
-\fB\-l\fR
-flag. This sets the server address to localhost (disabling the
+\-l
+.RS 4
+Local\-host only mode. This sets the server address to localhost (disabling the
\fBserver\fR
so that the server address cannot be overridden). Connections to the local server will use a TSIG key found in
\fI/var/run/named/session.key\fR, which is automatically generated by
@@ -145,44 +114,81 @@ to
\fBlocal\fR. The location of this key file can be overridden with the
\fB\-k\fR
option.
+.RE
.PP
-By default,
-\fBnsupdate\fR
-uses UDP to send update requests to the name server unless they are too large to fit in a UDP request in which case TCP will be used. The
-\fB\-v\fR
-option makes
-\fBnsupdate\fR
-use a TCP connection. This may be preferable when a batch of update requests is made.
-.PP
-The
-\fB\-p\fR
-sets the default port number to use for connections to a name server. The default is 53.
-.PP
-The
-\fB\-t\fR
-option sets the maximum time an update request can take before it is aborted. The default is 300 seconds. Zero can be used to disable the timeout.
+\-L \fIlevel\fR
+.RS 4
+Set the logging debug level. If zero, logging is disabled.
+.RE
.PP
-The
-\fB\-u\fR
-option sets the UDP retry interval. The default is 3 seconds. If zero, the interval will be computed from the timeout interval and number of UDP retries.
+\-p \fIport\fR
+.RS 4
+Set the port to use for connections to a name server. The default is 53.
+.RE
.PP
-The
-\fB\-r\fR
-option sets the number of UDP retries. The default is 3. If zero, only one update request will be made.
+\-r \fIudpretries\fR
+.RS 4
+The number of UDP retries. The default is 3. If zero, only one update request will be made.
+.RE
.PP
-The
-\fB\-R \fR\fB\fIrandomdev\fR\fR
-option specifies a source of randomness. If the operating system does not provide a
+\-R \fIrandomdev\fR
+.RS 4
+Where to obtain randomness. If the operating system does not provide a
\fI/dev/random\fR
or equivalent device, the default source of randomness is keyboard input.
\fIrandomdev\fR
specifies the name of a character device or file containing random data to be used instead of the default. The special value
\fIkeyboard\fR
indicates that keyboard input should be used. This option may be specified multiple times.
+.RE
+.PP
+\-t \fItimeout\fR
+.RS 4
+The maximum time an update request can take before it is aborted. The default is 300 seconds. Zero can be used to disable the timeout.
+.RE
.PP
-The \-V option causes
+\-u \fIudptimeout\fR
+.RS 4
+The UDP retry interval. The default is 3 seconds. If zero, the interval will be computed from the timeout interval and number of UDP retries.
+.RE
+.PP
+\-v
+.RS 4
+Use TCP even for small update requests. By default,
\fBnsupdate\fR
-to print the version number and exit.
+uses UDP to send update requests to the name server unless they are too large to fit in a UDP request in which case TCP will be used. TCP may be preferable when a batch of update requests is made.
+.RE
+.PP
+\-V
+.RS 4
+Print the version number and exit.
+.RE
+.PP
+\-y \fI[hmac:]\fR\fIkeyname:secret\fR
+.RS 4
+Literal TSIG authentication key.
+\fIkeyname\fR
+is the name of the key, and
+\fIsecret\fR
+is the base64 encoded shared secret.
+\fIhmac\fR
+is the name of the key algorithm; valid choices are
+hmac\-md5,
+hmac\-sha1,
+hmac\-sha224,
+hmac\-sha256,
+hmac\-sha384, or
+hmac\-sha512. If
+\fIhmac\fR
+is not specified, the default is
+hmac\-md5.
+.sp
+NOTE: Use of the
+\fB\-y\fR
+option is discouraged because the shared secret is supplied as a command line argument in clear text. This may be visible in the output from
+\fBps\fR(1)
+or in a history file maintained by the user's shell.
+.RE
.SH "INPUT FORMAT"
.PP
\fBnsupdate\fR
@@ -463,7 +469,7 @@ RFC 2931,
.PP
The TSIG key is redundantly stored in two separate files. This is a consequence of nsupdate using the DST library for its cryptographic operations, and may change in future releases.
.SH "COPYRIGHT"
-Copyright \(co 2004\-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2004\-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c
index a68b00e0b9d7..bf907f1580fb 100644
--- a/bin/nsupdate/nsupdate.c
+++ b/bin/nsupdate/nsupdate.c
@@ -106,7 +106,7 @@ extern int h_errno;
#endif
#endif
-#define MAXCMD (4 * 1024)
+#define MAXCMD (128 * 1024)
#define MAXWIRE (64 * 1024)
#define PACKETSIZE ((64 * 1024) - 1)
#define INITTEXT (2 * 1024)
@@ -1332,7 +1332,6 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
check_result(result, "dns_message_gettemprdatalist");
result = dns_message_gettemprdataset(updatemsg, &rdataset);
check_result(result, "dns_message_gettemprdataset");
- dns_rdatalist_init(rdatalist);
rdatalist->type = rdatatype;
if (ispositive) {
if (isrrset && rdata->data != NULL)
@@ -1341,11 +1340,8 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
rdatalist->rdclass = dns_rdataclass_any;
} else
rdatalist->rdclass = dns_rdataclass_none;
- rdatalist->covers = 0;
- rdatalist->ttl = 0;
rdata->rdclass = rdatalist->rdclass;
rdata->type = rdatatype;
- ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
dns_rdataset_init(rdataset);
dns_rdatalist_tordataset(rdatalist, rdataset);
@@ -1838,12 +1834,10 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
check_result(result, "dns_message_gettemprdatalist");
result = dns_message_gettemprdataset(updatemsg, &rdataset);
check_result(result, "dns_message_gettemprdataset");
- dns_rdatalist_init(rdatalist);
rdatalist->type = rdatatype;
rdatalist->rdclass = rdataclass;
rdatalist->covers = rdatatype;
rdatalist->ttl = (dns_ttl_t)ttl;
- ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
dns_rdataset_init(rdataset);
dns_rdatalist_tordataset(rdatalist, rdataset);
@@ -2197,6 +2191,7 @@ update_completed(isc_task_t *task, isc_event_t *event) {
dns_request_destroy(&request);
dns_message_renderreset(updatemsg);
dns_message_settsigkey(updatemsg, NULL);
+ /* XXX MPA fix zonename is freed already */
send_update(zname, &master_servers[master_inuse]);
isc_event_free(&event);
return;
@@ -2499,6 +2494,9 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
dns_name_init(&master, NULL);
dns_name_clone(&soa.origin, &master);
+ /*
+ * XXXMPA
+ */
if (userzone != NULL)
zname = userzone;
else
diff --git a/bin/nsupdate/nsupdate.docbook b/bin/nsupdate/nsupdate.docbook
index e0f53e2a24c9..b973c1f693e9 100644
--- a/bin/nsupdate/nsupdate.docbook
+++ b/bin/nsupdate/nsupdate.docbook
@@ -1,8 +1,8 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- - Copyright (C) 2004-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -44,6 +44,7 @@
<year>2011</year>
<year>2012</year>
<year>2014</year>
+ <year>2015</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -60,12 +61,13 @@
<command>nsupdate</command>
<arg><option>-d</option></arg>
<arg><option>-D</option></arg>
+ <arg><option>-L <replaceable class="parameter">level</replaceable></option></arg>
<group>
<arg><option>-g</option></arg>
<arg><option>-o</option></arg>
<arg><option>-l</option></arg>
- <arg><option>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></option></arg>
- <arg><option>-k <replaceable class="parameter">keyfile</replaceable></option></arg>
+ <arg><option>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></option></arg>
+ <arg><option>-k <replaceable class="parameter">keyfile</replaceable></option></arg>
</group>
<arg><option>-t <replaceable class="parameter">timeout</replaceable></option></arg>
<arg><option>-u <replaceable class="parameter">udptimeout</replaceable></option></arg>
@@ -103,43 +105,30 @@
This is identified by the MNAME field of the zone's SOA record.
</para>
<para>
- The
- <option>-d</option>
- option makes
- <command>nsupdate</command>
- operate in debug mode.
- This provides tracing information about the update requests that are
- made and the replies received from the name server.
- </para>
- <para>
- The <option>-D</option> option makes <command>nsupdate</command>
- report additional debugging information to <option>-d</option>.
- </para>
- <para>
- The <option>-L</option> option with an integer argument of zero or
- higher sets the logging debug level. If zero, logging is disabled.
- </para>
- <para>
Transaction signatures can be used to authenticate the Dynamic
DNS updates. These use the TSIG resource record type described
in RFC 2845 or the SIG(0) record described in RFC 2535 and
- RFC 2931 or GSS-TSIG as described in RFC 3645. TSIG relies on
+ RFC 2931 or GSS-TSIG as described in RFC 3645.
+ </para>
+ <para>
+ TSIG relies on
a shared secret that should only be known to
- <command>nsupdate</command> and the name server. Currently,
- the only supported encryption algorithm for TSIG is HMAC-MD5,
- which is defined in RFC 2104. Once other algorithms are
- defined for TSIG, applications will need to ensure they select
- the appropriate algorithm as well as the key when authenticating
- each other. For instance, suitable <type>key</type> and
+ <command>nsupdate</command> and the name server.
+ For instance, suitable <type>key</type> and
<type>server</type> statements would be added to
<filename>/etc/named.conf</filename> so that the name server
can associate the appropriate secret key and algorithm with
the IP address of the client application that will be using
- TSIG authentication. SIG(0) uses public key cryptography.
+ TSIG authentication. You can use <command>ddns-confgen</command>
+ to generate suitable configuration fragments.
+ <command>nsupdate</command>
+ uses the <option>-y</option> or <option>-k</option> options
+ to provide the TSIG shared secret. These options are mutually exclusive.
+ </para>
+ <para>
+ SIG(0) uses public key cryptography.
To use a SIG(0) key, the public key must be stored in a KEY
record in a zone served by the name server.
- <command>nsupdate</command> does not read
- <filename>/etc/named.conf</filename>.
</para>
<para>
GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode
@@ -147,108 +136,183 @@
non-standards-compliant variant of GSS-TSIG used by Windows
2000 can be switched on with the <option>-o</option> flag.
</para>
- <para><command>nsupdate</command>
- uses the <option>-y</option> or <option>-k</option> option
- to provide the shared secret needed to generate a TSIG record
- for authenticating Dynamic DNS update requests, default type
- HMAC-MD5. These options are mutually exclusive.
- </para>
- <para>
- When the <option>-y</option> option is used, a signature is
- generated from
- <optional><parameter>hmac:</parameter></optional><parameter>keyname:secret.</parameter>
- <parameter>keyname</parameter> is the name of the key, and
- <parameter>secret</parameter> is the base64 encoded shared secret.
- <parameter>hmac</parameter> is the name of the key algorithm;
- valid choices are <literal>hmac-md5</literal>,
- <literal>hmac-sha1</literal>, <literal>hmac-sha224</literal>,
- <literal>hmac-sha256</literal>, <literal>hmac-sha384</literal>, or
- <literal>hmac-sha512</literal>. If <parameter>hmac</parameter>
- is not specified, the default is <literal>hmac-md5</literal>.
- NOTE: Use of the <option>-y</option> option is discouraged because the
- shared secret is supplied as a command line argument in clear text.
- This may be visible in the output from
- <citerefentry>
- <refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum>
- </citerefentry>
- or in a history file maintained by the user's shell.
- </para>
- <para>
- With the
- <option>-k</option> option, <command>nsupdate</command> reads
- the shared secret from the file <parameter>keyfile</parameter>.
- Keyfiles may be in two formats: a single file containing
- a <filename>named.conf</filename>-format <command>key</command>
- statement, which may be generated automatically by
- <command>ddns-confgen</command>, or a pair of files whose names are
- of the format <filename>K{name}.+157.+{random}.key</filename> and
- <filename>K{name}.+157.+{random}.private</filename>, which can be
- generated by <command>dnssec-keygen</command>.
- The <option>-k</option> may also be used to specify a SIG(0) key used
- to authenticate Dynamic DNS update requests. In this case, the key
- specified is not an HMAC-MD5 key.
- </para>
- <para>
- <command>nsupdate</command> can be run in a local-host only mode
- using the <option>-l</option> flag. This sets the server address to
- localhost (disabling the <command>server</command> so that the server
- address cannot be overridden). Connections to the local server will
- use a TSIG key found in <filename>/var/run/named/session.key</filename>,
- which is automatically generated by <command>named</command> if any
- local master zone has set <command>update-policy</command> to
- <command>local</command>. The location of this key file can be
- overridden with the <option>-k</option> option.
- </para>
- <para>
- By default, <command>nsupdate</command>
- uses UDP to send update requests to the name server unless they are too
- large to fit in a UDP request in which case TCP will be used.
- The
- <option>-v</option>
- option makes
- <command>nsupdate</command>
- use a TCP connection.
- This may be preferable when a batch of update requests is made.
- </para>
- <para>
- The <option>-p</option> sets the default port number to use for
- connections to a name server. The default is 53.
- </para>
- <para>
- The <option>-t</option> option sets the maximum time an update request
- can
- take before it is aborted. The default is 300 seconds. Zero can be
- used
- to disable the timeout.
- </para>
- <para>
- The <option>-u</option> option sets the UDP retry interval. The default
- is
- 3 seconds. If zero, the interval will be computed from the timeout
- interval
- and number of UDP retries.
- </para>
- <para>
- The <option>-r</option> option sets the number of UDP retries. The
- default is
- 3. If zero, only one update request will be made.
- </para>
- <para>
- The <option>-R <replaceable
- class="parameter">randomdev</replaceable></option> option
- specifies a source of randomness. If the operating system
- does not provide a <filename>/dev/random</filename> or
- equivalent device, the default source of randomness is keyboard
- input. <filename>randomdev</filename> specifies the name of
- a character device or file containing random data to be used
- instead of the default. The special value
- <filename>keyboard</filename> indicates that keyboard input
- should be used. This option may be specified multiple times.
- </para>
- <para>
- The -V option causes <command>nsupdate</command> to print the
- version number and exit.
- </para>
+ </refsect1>
+
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-d</term>
+ <listitem>
+ <para>
+ Debug mode. This provides tracing information about the
+ update requests that are made and the replies received
+ from the name server.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D</term>
+ <listitem>
+ <para>
+ Extra debug mode.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-k <replaceable class="parameter">keyfile</replaceable></term>
+ <listitem>
+ <para>
+ The file containing the TSIG authentication key.
+ Keyfiles may be in two formats: a single file containing
+ a <filename>named.conf</filename>-format <command>key</command>
+ statement, which may be generated automatically by
+ <command>ddns-confgen</command>, or a pair of files whose names are
+ of the format <filename>K{name}.+157.+{random}.key</filename> and
+ <filename>K{name}.+157.+{random}.private</filename>, which can be
+ generated by <command>dnssec-keygen</command>.
+ The <option>-k</option> may also be used to specify a SIG(0) key used
+ to authenticate Dynamic DNS update requests. In this case, the key
+ specified is not an HMAC-MD5 key.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-l</term>
+ <listitem>
+ <para>
+ Local-host only mode. This sets the server address to
+ localhost (disabling the <command>server</command> so that the server
+ address cannot be overridden). Connections to the local server will
+ use a TSIG key found in <filename>/var/run/named/session.key</filename>,
+ which is automatically generated by <command>named</command> if any
+ local master zone has set <command>update-policy</command> to
+ <command>local</command>. The location of this key file can be
+ overridden with the <option>-k</option> option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-L <replaceable class="parameter">level</replaceable></term>
+ <listitem>
+ <para>
+ Set the logging debug level. If zero, logging is disabled.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p <replaceable class="parameter">port</replaceable></term>
+ <listitem>
+ <para>
+ Set the port to use for connections to a name server. The
+ default is 53.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r <replaceable class="parameter">udpretries</replaceable></term>
+ <listitem>
+ <para>
+ The number of UDP retries. The default is 3. If zero, only
+ one update request will be made.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-R <replaceable class="parameter">randomdev</replaceable></term>
+ <listitem>
+ <para>
+ Where to obtain randomness. If the operating system
+ does not provide a <filename>/dev/random</filename> or
+ equivalent device, the default source of randomness is keyboard
+ input. <filename>randomdev</filename> specifies the name of
+ a character device or file containing random data to be used
+ instead of the default. The special value
+ <filename>keyboard</filename> indicates that keyboard input
+ should be used. This option may be specified multiple times.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t <replaceable class="parameter">timeout</replaceable></term>
+ <listitem>
+ <para>
+ The maximum time an update request can take before it is
+ aborted. The default is 300 seconds. Zero can be used to
+ disable the timeout.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-u <replaceable class="parameter">udptimeout</replaceable></term>
+ <listitem>
+ <para>
+ The UDP retry interval. The default is 3 seconds. If zero,
+ the interval will be computed from the timeout interval and
+ number of UDP retries.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v</term>
+ <listitem>
+ <para>
+ Use TCP even for small update requests.
+ By default, <command>nsupdate</command>
+ uses UDP to send update requests to the name server unless they are too
+ large to fit in a UDP request in which case TCP will be used.
+ TCP may be preferable when a batch of update requests is made.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-V</term>
+ <listitem>
+ <para>
+ Print the version number and exit.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></term>
+ <listitem>
+ <para>
+ Literal TSIG authentication key.
+ <parameter>keyname</parameter> is the name of the key, and
+ <parameter>secret</parameter> is the base64 encoded shared secret.
+ <parameter>hmac</parameter> is the name of the key algorithm;
+ valid choices are <literal>hmac-md5</literal>,
+ <literal>hmac-sha1</literal>, <literal>hmac-sha224</literal>,
+ <literal>hmac-sha256</literal>, <literal>hmac-sha384</literal>, or
+ <literal>hmac-sha512</literal>. If <parameter>hmac</parameter>
+ is not specified, the default is <literal>hmac-md5</literal>.
+ </para>
+ <para>
+ NOTE: Use of the <option>-y</option> option is discouraged because the
+ shared secret is supplied as a command line argument in clear text.
+ This may be visible in the output from
+ <citerefentry>
+ <refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum>
+ </citerefentry>
+ or in a history file maintained by the user's shell.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
</refsect1>
<refsect1>
@@ -281,382 +345,382 @@
The command formats and their meaning are as follows:
<variablelist>
- <varlistentry>
- <term>
- <command>server</command>
- <arg choice="req">servername</arg>
- <arg choice="opt">port</arg>
- </term>
- <listitem>
- <para>
- Sends all dynamic update requests to the name server
- <parameter>servername</parameter>.
- When no server statement is provided,
- <command>nsupdate</command>
- will send updates to the master server of the correct zone.
- The MNAME field of that zone's SOA record will identify the
- master
- server for that zone.
- <parameter>port</parameter>
- is the port number on
- <parameter>servername</parameter>
- where the dynamic update requests get sent.
- If no port number is specified, the default DNS port number of
- 53 is
- used.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>local</command>
- <arg choice="req">address</arg>
- <arg choice="opt">port</arg>
- </term>
- <listitem>
- <para>
- Sends all dynamic update requests using the local
- <parameter>address</parameter>.
-
- When no local statement is provided,
- <command>nsupdate</command>
- will send updates using an address and port chosen by the
- system.
- <parameter>port</parameter>
- can additionally be used to make requests come from a specific
- port.
- If no port number is specified, the system will assign one.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>zone</command>
- <arg choice="req">zonename</arg>
- </term>
- <listitem>
- <para>
- Specifies that all updates are to be made to the zone
- <parameter>zonename</parameter>.
- If no
- <parameter>zone</parameter>
- statement is provided,
- <command>nsupdate</command>
- will attempt determine the correct zone to update based on the
- rest of the input.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>class</command>
- <arg choice="req">classname</arg>
- </term>
- <listitem>
- <para>
- Specify the default class.
- If no <parameter>class</parameter> is specified, the
- default class is
- <parameter>IN</parameter>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>ttl</command>
- <arg choice="req">seconds</arg>
- </term>
- <listitem>
- <para>
- Specify the default time to live for records to be added.
+ <varlistentry>
+ <term>
+ <command>server</command>
+ <arg choice="req">servername</arg>
+ <arg choice="opt">port</arg>
+ </term>
+ <listitem>
+ <para>
+ Sends all dynamic update requests to the name server
+ <parameter>servername</parameter>.
+ When no server statement is provided,
+ <command>nsupdate</command>
+ will send updates to the master server of the correct zone.
+ The MNAME field of that zone's SOA record will identify the
+ master
+ server for that zone.
+ <parameter>port</parameter>
+ is the port number on
+ <parameter>servername</parameter>
+ where the dynamic update requests get sent.
+ If no port number is specified, the default DNS port number of
+ 53 is
+ used.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>local</command>
+ <arg choice="req">address</arg>
+ <arg choice="opt">port</arg>
+ </term>
+ <listitem>
+ <para>
+ Sends all dynamic update requests using the local
+ <parameter>address</parameter>.
+
+ When no local statement is provided,
+ <command>nsupdate</command>
+ will send updates using an address and port chosen by the
+ system.
+ <parameter>port</parameter>
+ can additionally be used to make requests come from a specific
+ port.
+ If no port number is specified, the system will assign one.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>zone</command>
+ <arg choice="req">zonename</arg>
+ </term>
+ <listitem>
+ <para>
+ Specifies that all updates are to be made to the zone
+ <parameter>zonename</parameter>.
+ If no
+ <parameter>zone</parameter>
+ statement is provided,
+ <command>nsupdate</command>
+ will attempt determine the correct zone to update based on the
+ rest of the input.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>class</command>
+ <arg choice="req">classname</arg>
+ </term>
+ <listitem>
+ <para>
+ Specify the default class.
+ If no <parameter>class</parameter> is specified, the
+ default class is
+ <parameter>IN</parameter>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>ttl</command>
+ <arg choice="req">seconds</arg>
+ </term>
+ <listitem>
+ <para>
+ Specify the default time to live for records to be added.
The value <parameter>none</parameter> will clear the default
ttl.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>key</command>
- <arg choice="opt">hmac:</arg><arg choice="req">keyname</arg>
- <arg choice="req">secret</arg>
- </term>
- <listitem>
- <para>
- Specifies that all updates are to be TSIG-signed using the
- <parameter>keyname</parameter> <parameter>secret</parameter> pair.
- If <parameter>hmac</parameter> is specified, then it sets the
- signing algorithm in use; the default is
- <literal>hmac-md5</literal>. The <command>key</command>
- command overrides any key specified on the command line via
- <option>-y</option> or <option>-k</option>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>gsstsig</command>
- </term>
- <listitem>
- <para>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>key</command>
+ <arg choice="opt">hmac:</arg><arg choice="req">keyname</arg>
+ <arg choice="req">secret</arg>
+ </term>
+ <listitem>
+ <para>
+ Specifies that all updates are to be TSIG-signed using the
+ <parameter>keyname</parameter> <parameter>secret</parameter> pair.
+ If <parameter>hmac</parameter> is specified, then it sets the
+ signing algorithm in use; the default is
+ <literal>hmac-md5</literal>. The <command>key</command>
+ command overrides any key specified on the command line via
+ <option>-y</option> or <option>-k</option>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>gsstsig</command>
+ </term>
+ <listitem>
+ <para>
Use GSS-TSIG to sign the updated. This is equivalent to
specifying <option>-g</option> on the commandline.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>oldgsstsig</command>
- </term>
- <listitem>
- <para>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>oldgsstsig</command>
+ </term>
+ <listitem>
+ <para>
Use the Windows 2000 version of GSS-TSIG to sign the updated.
This is equivalent to specifying <option>-o</option> on the
commandline.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>realm</command>
- <arg choice="req"><optional>realm_name</optional></arg>
- </term>
- <listitem>
- <para>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>realm</command>
+ <arg choice="req"><optional>realm_name</optional></arg>
+ </term>
+ <listitem>
+ <para>
When using GSS-TSIG use <parameter>realm_name</parameter> rather
than the default realm in <filename>krb5.conf</filename>. If no
realm is specified the saved realm is cleared.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command><optional>prereq</optional> nxdomain</command>
- <arg choice="req">domain-name</arg>
- </term>
- <listitem>
- <para>
- Requires that no resource record of any type exists with name
- <parameter>domain-name</parameter>.
- </para>
- </listitem>
- </varlistentry>
-
-
- <varlistentry>
- <term>
- <command><optional>prereq</optional> yxdomain</command>
- <arg choice="req">domain-name</arg>
- </term>
- <listitem>
- <para>
- Requires that
- <parameter>domain-name</parameter>
- exists (has as at least one resource record, of any type).
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command><optional>prereq</optional> nxrrset</command>
- <arg choice="req">domain-name</arg>
- <arg choice="opt">class</arg>
- <arg choice="req">type</arg>
- </term>
- <listitem>
- <para>
- Requires that no resource record exists of the specified
- <parameter>type</parameter>,
- <parameter>class</parameter>
- and
- <parameter>domain-name</parameter>.
- If
- <parameter>class</parameter>
- is omitted, IN (internet) is assumed.
- </para>
- </listitem>
- </varlistentry>
-
-
- <varlistentry>
- <term>
- <command><optional>prereq</optional> yxrrset</command>
- <arg choice="req">domain-name</arg>
- <arg choice="opt">class</arg>
- <arg choice="req">type</arg>
- </term>
- <listitem>
- <para>
- This requires that a resource record of the specified
- <parameter>type</parameter>,
- <parameter>class</parameter>
- and
- <parameter>domain-name</parameter>
- must exist.
- If
- <parameter>class</parameter>
- is omitted, IN (internet) is assumed.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command><optional>prereq</optional> yxrrset</command>
- <arg choice="req">domain-name</arg>
- <arg choice="opt">class</arg>
- <arg choice="req">type</arg>
- <arg choice="req" rep="repeat">data</arg>
- </term>
- <listitem>
- <para>
- The
- <parameter>data</parameter>
- from each set of prerequisites of this form
- sharing a common
- <parameter>type</parameter>,
- <parameter>class</parameter>,
- and
- <parameter>domain-name</parameter>
- are combined to form a set of RRs. This set of RRs must
- exactly match the set of RRs existing in the zone at the
- given
- <parameter>type</parameter>,
- <parameter>class</parameter>,
- and
- <parameter>domain-name</parameter>.
- The
- <parameter>data</parameter>
- are written in the standard text representation of the resource
- record's
- RDATA.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command><optional>update</optional> del<optional>ete</optional></command>
- <arg choice="req">domain-name</arg>
- <arg choice="opt">ttl</arg>
- <arg choice="opt">class</arg>
- <arg choice="opt">type <arg choice="opt" rep="repeat">data</arg></arg>
- </term>
- <listitem>
- <para>
- Deletes any resource records named
- <parameter>domain-name</parameter>.
- If
- <parameter>type</parameter>
- and
- <parameter>data</parameter>
- is provided, only matching resource records will be removed.
- The internet class is assumed if
- <parameter>class</parameter>
- is not supplied. The
- <parameter>ttl</parameter>
- is ignored, and is only allowed for compatibility.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command><optional>update</optional> add</command>
- <arg choice="req">domain-name</arg>
- <arg choice="req">ttl</arg>
- <arg choice="opt">class</arg>
- <arg choice="req">type</arg>
- <arg choice="req" rep="repeat">data</arg>
- </term>
- <listitem>
- <para>
- Adds a new resource record with the specified
- <parameter>ttl</parameter>,
- <parameter>class</parameter>
- and
- <parameter>data</parameter>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>show</command>
- </term>
- <listitem>
- <para>
- Displays the current message, containing all of the
- prerequisites and
- updates specified since the last send.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>send</command>
- </term>
- <listitem>
- <para>
- Sends the current message. This is equivalent to entering a
- blank line.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>answer</command>
- </term>
- <listitem>
- <para>
- Displays the answer.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>debug</command>
- </term>
- <listitem>
- <para>
- Turn on debugging.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>version</command>
- </term>
- <listitem>
- <para>
- Print version number.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <command>help</command>
- </term>
- <listitem>
- <para>
- Print a list of commands.
- </para>
- </listitem>
- </varlistentry>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command><optional>prereq</optional> nxdomain</command>
+ <arg choice="req">domain-name</arg>
+ </term>
+ <listitem>
+ <para>
+ Requires that no resource record of any type exists with name
+ <parameter>domain-name</parameter>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>
+ <command><optional>prereq</optional> yxdomain</command>
+ <arg choice="req">domain-name</arg>
+ </term>
+ <listitem>
+ <para>
+ Requires that
+ <parameter>domain-name</parameter>
+ exists (has as at least one resource record, of any type).
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command><optional>prereq</optional> nxrrset</command>
+ <arg choice="req">domain-name</arg>
+ <arg choice="opt">class</arg>
+ <arg choice="req">type</arg>
+ </term>
+ <listitem>
+ <para>
+ Requires that no resource record exists of the specified
+ <parameter>type</parameter>,
+ <parameter>class</parameter>
+ and
+ <parameter>domain-name</parameter>.
+ If
+ <parameter>class</parameter>
+ is omitted, IN (internet) is assumed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>
+ <command><optional>prereq</optional> yxrrset</command>
+ <arg choice="req">domain-name</arg>
+ <arg choice="opt">class</arg>
+ <arg choice="req">type</arg>
+ </term>
+ <listitem>
+ <para>
+ This requires that a resource record of the specified
+ <parameter>type</parameter>,
+ <parameter>class</parameter>
+ and
+ <parameter>domain-name</parameter>
+ must exist.
+ If
+ <parameter>class</parameter>
+ is omitted, IN (internet) is assumed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command><optional>prereq</optional> yxrrset</command>
+ <arg choice="req">domain-name</arg>
+ <arg choice="opt">class</arg>
+ <arg choice="req">type</arg>
+ <arg choice="req" rep="repeat">data</arg>
+ </term>
+ <listitem>
+ <para>
+ The
+ <parameter>data</parameter>
+ from each set of prerequisites of this form
+ sharing a common
+ <parameter>type</parameter>,
+ <parameter>class</parameter>,
+ and
+ <parameter>domain-name</parameter>
+ are combined to form a set of RRs. This set of RRs must
+ exactly match the set of RRs existing in the zone at the
+ given
+ <parameter>type</parameter>,
+ <parameter>class</parameter>,
+ and
+ <parameter>domain-name</parameter>.
+ The
+ <parameter>data</parameter>
+ are written in the standard text representation of the resource
+ record's
+ RDATA.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command><optional>update</optional> del<optional>ete</optional></command>
+ <arg choice="req">domain-name</arg>
+ <arg choice="opt">ttl</arg>
+ <arg choice="opt">class</arg>
+ <arg choice="opt">type <arg choice="opt" rep="repeat">data</arg></arg>
+ </term>
+ <listitem>
+ <para>
+ Deletes any resource records named
+ <parameter>domain-name</parameter>.
+ If
+ <parameter>type</parameter>
+ and
+ <parameter>data</parameter>
+ is provided, only matching resource records will be removed.
+ The internet class is assumed if
+ <parameter>class</parameter>
+ is not supplied. The
+ <parameter>ttl</parameter>
+ is ignored, and is only allowed for compatibility.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command><optional>update</optional> add</command>
+ <arg choice="req">domain-name</arg>
+ <arg choice="req">ttl</arg>
+ <arg choice="opt">class</arg>
+ <arg choice="req">type</arg>
+ <arg choice="req" rep="repeat">data</arg>
+ </term>
+ <listitem>
+ <para>
+ Adds a new resource record with the specified
+ <parameter>ttl</parameter>,
+ <parameter>class</parameter>
+ and
+ <parameter>data</parameter>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>show</command>
+ </term>
+ <listitem>
+ <para>
+ Displays the current message, containing all of the
+ prerequisites and
+ updates specified since the last send.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>send</command>
+ </term>
+ <listitem>
+ <para>
+ Sends the current message. This is equivalent to entering a
+ blank line.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>answer</command>
+ </term>
+ <listitem>
+ <para>
+ Displays the answer.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>debug</command>
+ </term>
+ <listitem>
+ <para>
+ Turn on debugging.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>version</command>
+ </term>
+ <listitem>
+ <para>
+ Print version number.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <command>help</command>
+ </term>
+ <listitem>
+ <para>
+ Print a list of commands.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</para>
@@ -723,45 +787,45 @@
<variablelist>
<varlistentry>
- <term><constant>/etc/resolv.conf</constant></term>
- <listitem>
- <para>
- used to identify default name server
- </para>
- </listitem>
+ <term><constant>/etc/resolv.conf</constant></term>
+ <listitem>
+ <para>
+ used to identify default name server
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
- <term><constant>/var/run/named/session.key</constant></term>
- <listitem>
- <para>
- sets the default TSIG key for use in local-only mode
- </para>
- </listitem>
+ <term><constant>/var/run/named/session.key</constant></term>
+ <listitem>
+ <para>
+ sets the default TSIG key for use in local-only mode
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
- <term><constant>K{name}.+157.+{random}.key</constant></term>
- <listitem>
- <para>
- base-64 encoding of HMAC-MD5 key created by
- <citerefentry>
- <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>.
- </para>
- </listitem>
+ <term><constant>K{name}.+157.+{random}.key</constant></term>
+ <listitem>
+ <para>
+ base-64 encoding of HMAC-MD5 key created by
+ <citerefentry>
+ <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>.
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
- <term><constant>K{name}.+157.+{random}.private</constant></term>
- <listitem>
- <para>
- base-64 encoding of HMAC-MD5 key created by
- <citerefentry>
- <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>.
- </para>
- </listitem>
+ <term><constant>K{name}.+157.+{random}.private</constant></term>
+ <listitem>
+ <para>
+ base-64 encoding of HMAC-MD5 key created by
+ <citerefentry>
+ <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>.
+ </para>
+ </listitem>
</varlistentry>
</variablelist>
@@ -778,13 +842,13 @@
<citetitle>RFC 2535</citetitle>,
<citetitle>RFC 2931</citetitle>,
<citerefentry>
- <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
+ <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
- <refentrytitle>ddns-confgen</refentrytitle><manvolnum>8</manvolnum>
+ <refentrytitle>ddns-confgen</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
- <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
+ <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>.
</para>
</refsect1>
diff --git a/bin/nsupdate/nsupdate.html b/bin/nsupdate/nsupdate.html
index 2e71ec1b1a47..76c54db290d5 100644
--- a/bin/nsupdate/nsupdate.html
+++ b/bin/nsupdate/nsupdate.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2004-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -29,10 +29,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [filename]</p></div>
+<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [<code class="option">-L <em class="replaceable"><code>level</code></em></code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [filename]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543479"></a><h2>DESCRIPTION</h2>
+<a name="id2543491"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">nsupdate</strong></span>
is used to submit Dynamic DNS Update requests as defined in RFC 2136
to a name server.
@@ -57,43 +57,30 @@
This is identified by the MNAME field of the zone's SOA record.
</p>
<p>
- The
- <code class="option">-d</code>
- option makes
- <span><strong class="command">nsupdate</strong></span>
- operate in debug mode.
- This provides tracing information about the update requests that are
- made and the replies received from the name server.
- </p>
-<p>
- The <code class="option">-D</code> option makes <span><strong class="command">nsupdate</strong></span>
- report additional debugging information to <code class="option">-d</code>.
- </p>
-<p>
- The <code class="option">-L</code> option with an integer argument of zero or
- higher sets the logging debug level. If zero, logging is disabled.
- </p>
-<p>
Transaction signatures can be used to authenticate the Dynamic
DNS updates. These use the TSIG resource record type described
in RFC 2845 or the SIG(0) record described in RFC 2535 and
- RFC 2931 or GSS-TSIG as described in RFC 3645. TSIG relies on
+ RFC 2931 or GSS-TSIG as described in RFC 3645.
+ </p>
+<p>
+ TSIG relies on
a shared secret that should only be known to
- <span><strong class="command">nsupdate</strong></span> and the name server. Currently,
- the only supported encryption algorithm for TSIG is HMAC-MD5,
- which is defined in RFC 2104. Once other algorithms are
- defined for TSIG, applications will need to ensure they select
- the appropriate algorithm as well as the key when authenticating
- each other. For instance, suitable <span class="type">key</span> and
+ <span><strong class="command">nsupdate</strong></span> and the name server.
+ For instance, suitable <span class="type">key</span> and
<span class="type">server</span> statements would be added to
<code class="filename">/etc/named.conf</code> so that the name server
can associate the appropriate secret key and algorithm with
the IP address of the client application that will be using
- TSIG authentication. SIG(0) uses public key cryptography.
+ TSIG authentication. You can use <span><strong class="command">ddns-confgen</strong></span>
+ to generate suitable configuration fragments.
+ <span><strong class="command">nsupdate</strong></span>
+ uses the <code class="option">-y</code> or <code class="option">-k</code> options
+ to provide the TSIG shared secret. These options are mutually exclusive.
+ </p>
+<p>
+ SIG(0) uses public key cryptography.
To use a SIG(0) key, the public key must be stored in a KEY
record in a zone served by the name server.
- <span><strong class="command">nsupdate</strong></span> does not read
- <code class="filename">/etc/named.conf</code>.
</p>
<p>
GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode
@@ -101,108 +88,119 @@
non-standards-compliant variant of GSS-TSIG used by Windows
2000 can be switched on with the <code class="option">-o</code> flag.
</p>
-<p><span><strong class="command">nsupdate</strong></span>
- uses the <code class="option">-y</code> or <code class="option">-k</code> option
- to provide the shared secret needed to generate a TSIG record
- for authenticating Dynamic DNS update requests, default type
- HMAC-MD5. These options are mutually exclusive.
- </p>
-<p>
- When the <code class="option">-y</code> option is used, a signature is
- generated from
- [<span class="optional"><em class="parameter"><code>hmac:</code></em></span>]<em class="parameter"><code>keyname:secret.</code></em>
- <em class="parameter"><code>keyname</code></em> is the name of the key, and
- <em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
- <em class="parameter"><code>hmac</code></em> is the name of the key algorithm;
- valid choices are <code class="literal">hmac-md5</code>,
- <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>,
- <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>, or
- <code class="literal">hmac-sha512</code>. If <em class="parameter"><code>hmac</code></em>
- is not specified, the default is <code class="literal">hmac-md5</code>.
- NOTE: Use of the <code class="option">-y</code> option is discouraged because the
- shared secret is supplied as a command line argument in clear text.
- This may be visible in the output from
- <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
- or in a history file maintained by the user's shell.
- </p>
-<p>
- With the
- <code class="option">-k</code> option, <span><strong class="command">nsupdate</strong></span> reads
- the shared secret from the file <em class="parameter"><code>keyfile</code></em>.
- Keyfiles may be in two formats: a single file containing
- a <code class="filename">named.conf</code>-format <span><strong class="command">key</strong></span>
- statement, which may be generated automatically by
- <span><strong class="command">ddns-confgen</strong></span>, or a pair of files whose names are
- of the format <code class="filename">K{name}.+157.+{random}.key</code> and
- <code class="filename">K{name}.+157.+{random}.private</code>, which can be
- generated by <span><strong class="command">dnssec-keygen</strong></span>.
- The <code class="option">-k</code> may also be used to specify a SIG(0) key used
- to authenticate Dynamic DNS update requests. In this case, the key
- specified is not an HMAC-MD5 key.
- </p>
-<p>
- <span><strong class="command">nsupdate</strong></span> can be run in a local-host only mode
- using the <code class="option">-l</code> flag. This sets the server address to
- localhost (disabling the <span><strong class="command">server</strong></span> so that the server
- address cannot be overridden). Connections to the local server will
- use a TSIG key found in <code class="filename">/var/run/named/session.key</code>,
- which is automatically generated by <span><strong class="command">named</strong></span> if any
- local master zone has set <span><strong class="command">update-policy</strong></span> to
- <span><strong class="command">local</strong></span>. The location of this key file can be
- overridden with the <code class="option">-k</code> option.
- </p>
-<p>
- By default, <span><strong class="command">nsupdate</strong></span>
- uses UDP to send update requests to the name server unless they are too
- large to fit in a UDP request in which case TCP will be used.
- The
- <code class="option">-v</code>
- option makes
- <span><strong class="command">nsupdate</strong></span>
- use a TCP connection.
- This may be preferable when a batch of update requests is made.
- </p>
-<p>
- The <code class="option">-p</code> sets the default port number to use for
- connections to a name server. The default is 53.
- </p>
-<p>
- The <code class="option">-t</code> option sets the maximum time an update request
- can
- take before it is aborted. The default is 300 seconds. Zero can be
- used
- to disable the timeout.
- </p>
-<p>
- The <code class="option">-u</code> option sets the UDP retry interval. The default
- is
- 3 seconds. If zero, the interval will be computed from the timeout
- interval
- and number of UDP retries.
- </p>
-<p>
- The <code class="option">-r</code> option sets the number of UDP retries. The
- default is
- 3. If zero, only one update request will be made.
- </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2543564"></a><h2>OPTIONS</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">-d</span></dt>
+<dd><p>
+ Debug mode. This provides tracing information about the
+ update requests that are made and the replies received
+ from the name server.
+ </p></dd>
+<dt><span class="term">-D</span></dt>
+<dd><p>
+ Extra debug mode.
+ </p></dd>
+<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
+<dd><p>
+ The file containing the TSIG authentication key.
+ Keyfiles may be in two formats: a single file containing
+ a <code class="filename">named.conf</code>-format <span><strong class="command">key</strong></span>
+ statement, which may be generated automatically by
+ <span><strong class="command">ddns-confgen</strong></span>, or a pair of files whose names are
+ of the format <code class="filename">K{name}.+157.+{random}.key</code> and
+ <code class="filename">K{name}.+157.+{random}.private</code>, which can be
+ generated by <span><strong class="command">dnssec-keygen</strong></span>.
+ The <code class="option">-k</code> may also be used to specify a SIG(0) key used
+ to authenticate Dynamic DNS update requests. In this case, the key
+ specified is not an HMAC-MD5 key.
+ </p></dd>
+<dt><span class="term">-l</span></dt>
+<dd><p>
+ Local-host only mode. This sets the server address to
+ localhost (disabling the <span><strong class="command">server</strong></span> so that the server
+ address cannot be overridden). Connections to the local server will
+ use a TSIG key found in <code class="filename">/var/run/named/session.key</code>,
+ which is automatically generated by <span><strong class="command">named</strong></span> if any
+ local master zone has set <span><strong class="command">update-policy</strong></span> to
+ <span><strong class="command">local</strong></span>. The location of this key file can be
+ overridden with the <code class="option">-k</code> option.
+ </p></dd>
+<dt><span class="term">-L <em class="replaceable"><code>level</code></em></span></dt>
+<dd><p>
+ Set the logging debug level. If zero, logging is disabled.
+ </p></dd>
+<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
+<dd><p>
+ Set the port to use for connections to a name server. The
+ default is 53.
+ </p></dd>
+<dt><span class="term">-r <em class="replaceable"><code>udpretries</code></em></span></dt>
+<dd><p>
+ The number of UDP retries. The default is 3. If zero, only
+ one update request will be made.
+ </p></dd>
+<dt><span class="term">-R <em class="replaceable"><code>randomdev</code></em></span></dt>
+<dd><p>
+ Where to obtain randomness. If the operating system
+ does not provide a <code class="filename">/dev/random</code> or
+ equivalent device, the default source of randomness is keyboard
+ input. <code class="filename">randomdev</code> specifies the name of
+ a character device or file containing random data to be used
+ instead of the default. The special value
+ <code class="filename">keyboard</code> indicates that keyboard input
+ should be used. This option may be specified multiple times.
+ </p></dd>
+<dt><span class="term">-t <em class="replaceable"><code>timeout</code></em></span></dt>
+<dd><p>
+ The maximum time an update request can take before it is
+ aborted. The default is 300 seconds. Zero can be used to
+ disable the timeout.
+ </p></dd>
+<dt><span class="term">-u <em class="replaceable"><code>udptimeout</code></em></span></dt>
+<dd><p>
+ The UDP retry interval. The default is 3 seconds. If zero,
+ the interval will be computed from the timeout interval and
+ number of UDP retries.
+ </p></dd>
+<dt><span class="term">-v</span></dt>
+<dd><p>
+ Use TCP even for small update requests.
+ By default, <span><strong class="command">nsupdate</strong></span>
+ uses UDP to send update requests to the name server unless they are too
+ large to fit in a UDP request in which case TCP will be used.
+ TCP may be preferable when a batch of update requests is made.
+ </p></dd>
+<dt><span class="term">-V</span></dt>
+<dd><p>
+ Print the version number and exit.
+ </p></dd>
+<dt><span class="term">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></span></dt>
+<dd>
<p>
- The <code class="option">-R <em class="replaceable"><code>randomdev</code></em></code> option
- specifies a source of randomness. If the operating system
- does not provide a <code class="filename">/dev/random</code> or
- equivalent device, the default source of randomness is keyboard
- input. <code class="filename">randomdev</code> specifies the name of
- a character device or file containing random data to be used
- instead of the default. The special value
- <code class="filename">keyboard</code> indicates that keyboard input
- should be used. This option may be specified multiple times.
- </p>
+ Literal TSIG authentication key.
+ <em class="parameter"><code>keyname</code></em> is the name of the key, and
+ <em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
+ <em class="parameter"><code>hmac</code></em> is the name of the key algorithm;
+ valid choices are <code class="literal">hmac-md5</code>,
+ <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>,
+ <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>, or
+ <code class="literal">hmac-sha512</code>. If <em class="parameter"><code>hmac</code></em>
+ is not specified, the default is <code class="literal">hmac-md5</code>.
+ </p>
<p>
- The -V option causes <span><strong class="command">nsupdate</strong></span> to print the
- version number and exit.
- </p>
+ NOTE: Use of the <code class="option">-y</code> option is discouraged because the
+ shared secret is supplied as a command line argument in clear text.
+ This may be visible in the output from
+ <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
+ or in a history file maintained by the user's shell.
+ </p>
+</dd>
+</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543849"></a><h2>INPUT FORMAT</h2>
+<a name="id2543963"></a><h2>INPUT FORMAT</h2>
<p><span><strong class="command">nsupdate</strong></span>
reads input from
<em class="parameter"><code>filename</code></em>
@@ -232,270 +230,270 @@
</p>
<div class="variablelist"><dl>
<dt><span class="term">
- <span><strong class="command">server</strong></span>
- {servername}
- [port]
- </span></dt>
-<dd><p>
- Sends all dynamic update requests to the name server
- <em class="parameter"><code>servername</code></em>.
- When no server statement is provided,
- <span><strong class="command">nsupdate</strong></span>
- will send updates to the master server of the correct zone.
- The MNAME field of that zone's SOA record will identify the
- master
- server for that zone.
- <em class="parameter"><code>port</code></em>
- is the port number on
- <em class="parameter"><code>servername</code></em>
- where the dynamic update requests get sent.
- If no port number is specified, the default DNS port number of
- 53 is
- used.
- </p></dd>
+ <span><strong class="command">server</strong></span>
+ {servername}
+ [port]
+ </span></dt>
+<dd><p>
+ Sends all dynamic update requests to the name server
+ <em class="parameter"><code>servername</code></em>.
+ When no server statement is provided,
+ <span><strong class="command">nsupdate</strong></span>
+ will send updates to the master server of the correct zone.
+ The MNAME field of that zone's SOA record will identify the
+ master
+ server for that zone.
+ <em class="parameter"><code>port</code></em>
+ is the port number on
+ <em class="parameter"><code>servername</code></em>
+ where the dynamic update requests get sent.
+ If no port number is specified, the default DNS port number of
+ 53 is
+ used.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">local</strong></span>
- {address}
- [port]
- </span></dt>
+ <span><strong class="command">local</strong></span>
+ {address}
+ [port]
+ </span></dt>
<dd><p>
- Sends all dynamic update requests using the local
- <em class="parameter"><code>address</code></em>.
+ Sends all dynamic update requests using the local
+ <em class="parameter"><code>address</code></em>.
- When no local statement is provided,
- <span><strong class="command">nsupdate</strong></span>
- will send updates using an address and port chosen by the
- system.
- <em class="parameter"><code>port</code></em>
- can additionally be used to make requests come from a specific
- port.
- If no port number is specified, the system will assign one.
- </p></dd>
+ When no local statement is provided,
+ <span><strong class="command">nsupdate</strong></span>
+ will send updates using an address and port chosen by the
+ system.
+ <em class="parameter"><code>port</code></em>
+ can additionally be used to make requests come from a specific
+ port.
+ If no port number is specified, the system will assign one.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">zone</strong></span>
- {zonename}
- </span></dt>
-<dd><p>
- Specifies that all updates are to be made to the zone
- <em class="parameter"><code>zonename</code></em>.
- If no
- <em class="parameter"><code>zone</code></em>
- statement is provided,
- <span><strong class="command">nsupdate</strong></span>
- will attempt determine the correct zone to update based on the
- rest of the input.
- </p></dd>
+ <span><strong class="command">zone</strong></span>
+ {zonename}
+ </span></dt>
+<dd><p>
+ Specifies that all updates are to be made to the zone
+ <em class="parameter"><code>zonename</code></em>.
+ If no
+ <em class="parameter"><code>zone</code></em>
+ statement is provided,
+ <span><strong class="command">nsupdate</strong></span>
+ will attempt determine the correct zone to update based on the
+ rest of the input.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">class</strong></span>
- {classname}
- </span></dt>
-<dd><p>
- Specify the default class.
- If no <em class="parameter"><code>class</code></em> is specified, the
- default class is
- <em class="parameter"><code>IN</code></em>.
- </p></dd>
+ <span><strong class="command">class</strong></span>
+ {classname}
+ </span></dt>
+<dd><p>
+ Specify the default class.
+ If no <em class="parameter"><code>class</code></em> is specified, the
+ default class is
+ <em class="parameter"><code>IN</code></em>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">ttl</strong></span>
- {seconds}
- </span></dt>
+ <span><strong class="command">ttl</strong></span>
+ {seconds}
+ </span></dt>
<dd><p>
- Specify the default time to live for records to be added.
+ Specify the default time to live for records to be added.
The value <em class="parameter"><code>none</code></em> will clear the default
ttl.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">key</strong></span>
- [hmac:] {keyname}
- {secret}
- </span></dt>
-<dd><p>
- Specifies that all updates are to be TSIG-signed using the
- <em class="parameter"><code>keyname</code></em> <em class="parameter"><code>secret</code></em> pair.
- If <em class="parameter"><code>hmac</code></em> is specified, then it sets the
- signing algorithm in use; the default is
- <code class="literal">hmac-md5</code>. The <span><strong class="command">key</strong></span>
- command overrides any key specified on the command line via
- <code class="option">-y</code> or <code class="option">-k</code>.
- </p></dd>
+ <span><strong class="command">key</strong></span>
+ [hmac:] {keyname}
+ {secret}
+ </span></dt>
+<dd><p>
+ Specifies that all updates are to be TSIG-signed using the
+ <em class="parameter"><code>keyname</code></em> <em class="parameter"><code>secret</code></em> pair.
+ If <em class="parameter"><code>hmac</code></em> is specified, then it sets the
+ signing algorithm in use; the default is
+ <code class="literal">hmac-md5</code>. The <span><strong class="command">key</strong></span>
+ command overrides any key specified on the command line via
+ <code class="option">-y</code> or <code class="option">-k</code>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">gsstsig</strong></span>
- </span></dt>
+ <span><strong class="command">gsstsig</strong></span>
+ </span></dt>
<dd><p>
Use GSS-TSIG to sign the updated. This is equivalent to
specifying <code class="option">-g</code> on the commandline.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">oldgsstsig</strong></span>
- </span></dt>
+ <span><strong class="command">oldgsstsig</strong></span>
+ </span></dt>
<dd><p>
Use the Windows 2000 version of GSS-TSIG to sign the updated.
This is equivalent to specifying <code class="option">-o</code> on the
commandline.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">realm</strong></span>
- {[<span class="optional">realm_name</span>]}
- </span></dt>
+ <span><strong class="command">realm</strong></span>
+ {[<span class="optional">realm_name</span>]}
+ </span></dt>
<dd><p>
When using GSS-TSIG use <em class="parameter"><code>realm_name</code></em> rather
than the default realm in <code class="filename">krb5.conf</code>. If no
realm is specified the saved realm is cleared.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] nxdomain</strong></span>
- {domain-name}
- </span></dt>
+ <span><strong class="command">[<span class="optional">prereq</span>] nxdomain</strong></span>
+ {domain-name}
+ </span></dt>
<dd><p>
- Requires that no resource record of any type exists with name
- <em class="parameter"><code>domain-name</code></em>.
- </p></dd>
+ Requires that no resource record of any type exists with name
+ <em class="parameter"><code>domain-name</code></em>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] yxdomain</strong></span>
- {domain-name}
- </span></dt>
-<dd><p>
- Requires that
- <em class="parameter"><code>domain-name</code></em>
- exists (has as at least one resource record, of any type).
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] yxdomain</strong></span>
+ {domain-name}
+ </span></dt>
+<dd><p>
+ Requires that
+ <em class="parameter"><code>domain-name</code></em>
+ exists (has as at least one resource record, of any type).
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] nxrrset</strong></span>
- {domain-name}
- [class]
- {type}
- </span></dt>
-<dd><p>
- Requires that no resource record exists of the specified
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>
- and
- <em class="parameter"><code>domain-name</code></em>.
- If
- <em class="parameter"><code>class</code></em>
- is omitted, IN (internet) is assumed.
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] nxrrset</strong></span>
+ {domain-name}
+ [class]
+ {type}
+ </span></dt>
+<dd><p>
+ Requires that no resource record exists of the specified
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>
+ and
+ <em class="parameter"><code>domain-name</code></em>.
+ If
+ <em class="parameter"><code>class</code></em>
+ is omitted, IN (internet) is assumed.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
- {domain-name}
- [class]
- {type}
- </span></dt>
-<dd><p>
- This requires that a resource record of the specified
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>
- and
- <em class="parameter"><code>domain-name</code></em>
- must exist.
- If
- <em class="parameter"><code>class</code></em>
- is omitted, IN (internet) is assumed.
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
+ {domain-name}
+ [class]
+ {type}
+ </span></dt>
+<dd><p>
+ This requires that a resource record of the specified
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>
+ and
+ <em class="parameter"><code>domain-name</code></em>
+ must exist.
+ If
+ <em class="parameter"><code>class</code></em>
+ is omitted, IN (internet) is assumed.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
- {domain-name}
- [class]
- {type}
- {data...}
- </span></dt>
-<dd><p>
- The
- <em class="parameter"><code>data</code></em>
- from each set of prerequisites of this form
- sharing a common
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>,
- and
- <em class="parameter"><code>domain-name</code></em>
- are combined to form a set of RRs. This set of RRs must
- exactly match the set of RRs existing in the zone at the
- given
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>,
- and
- <em class="parameter"><code>domain-name</code></em>.
- The
- <em class="parameter"><code>data</code></em>
- are written in the standard text representation of the resource
- record's
- RDATA.
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
+ {domain-name}
+ [class]
+ {type}
+ {data...}
+ </span></dt>
+<dd><p>
+ The
+ <em class="parameter"><code>data</code></em>
+ from each set of prerequisites of this form
+ sharing a common
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>,
+ and
+ <em class="parameter"><code>domain-name</code></em>
+ are combined to form a set of RRs. This set of RRs must
+ exactly match the set of RRs existing in the zone at the
+ given
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>,
+ and
+ <em class="parameter"><code>domain-name</code></em>.
+ The
+ <em class="parameter"><code>data</code></em>
+ are written in the standard text representation of the resource
+ record's
+ RDATA.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">update</span>] del[<span class="optional">ete</span>]</strong></span>
- {domain-name}
- [ttl]
- [class]
- [type [data...]]
- </span></dt>
-<dd><p>
- Deletes any resource records named
- <em class="parameter"><code>domain-name</code></em>.
- If
- <em class="parameter"><code>type</code></em>
- and
- <em class="parameter"><code>data</code></em>
- is provided, only matching resource records will be removed.
- The internet class is assumed if
- <em class="parameter"><code>class</code></em>
- is not supplied. The
- <em class="parameter"><code>ttl</code></em>
- is ignored, and is only allowed for compatibility.
- </p></dd>
+ <span><strong class="command">[<span class="optional">update</span>] del[<span class="optional">ete</span>]</strong></span>
+ {domain-name}
+ [ttl]
+ [class]
+ [type [data...]]
+ </span></dt>
+<dd><p>
+ Deletes any resource records named
+ <em class="parameter"><code>domain-name</code></em>.
+ If
+ <em class="parameter"><code>type</code></em>
+ and
+ <em class="parameter"><code>data</code></em>
+ is provided, only matching resource records will be removed.
+ The internet class is assumed if
+ <em class="parameter"><code>class</code></em>
+ is not supplied. The
+ <em class="parameter"><code>ttl</code></em>
+ is ignored, and is only allowed for compatibility.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">update</span>] add</strong></span>
- {domain-name}
- {ttl}
- [class]
- {type}
- {data...}
- </span></dt>
-<dd><p>
- Adds a new resource record with the specified
- <em class="parameter"><code>ttl</code></em>,
- <em class="parameter"><code>class</code></em>
- and
- <em class="parameter"><code>data</code></em>.
- </p></dd>
+ <span><strong class="command">[<span class="optional">update</span>] add</strong></span>
+ {domain-name}
+ {ttl}
+ [class]
+ {type}
+ {data...}
+ </span></dt>
+<dd><p>
+ Adds a new resource record with the specified
+ <em class="parameter"><code>ttl</code></em>,
+ <em class="parameter"><code>class</code></em>
+ and
+ <em class="parameter"><code>data</code></em>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">show</strong></span>
- </span></dt>
+ <span><strong class="command">show</strong></span>
+ </span></dt>
<dd><p>
- Displays the current message, containing all of the
- prerequisites and
- updates specified since the last send.
- </p></dd>
+ Displays the current message, containing all of the
+ prerequisites and
+ updates specified since the last send.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">send</strong></span>
- </span></dt>
+ <span><strong class="command">send</strong></span>
+ </span></dt>
<dd><p>
- Sends the current message. This is equivalent to entering a
- blank line.
- </p></dd>
+ Sends the current message. This is equivalent to entering a
+ blank line.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">answer</strong></span>
- </span></dt>
+ <span><strong class="command">answer</strong></span>
+ </span></dt>
<dd><p>
- Displays the answer.
- </p></dd>
+ Displays the answer.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">debug</strong></span>
- </span></dt>
+ <span><strong class="command">debug</strong></span>
+ </span></dt>
<dd><p>
- Turn on debugging.
- </p></dd>
+ Turn on debugging.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">version</strong></span>
- </span></dt>
+ <span><strong class="command">version</strong></span>
+ </span></dt>
<dd><p>
- Print version number.
- </p></dd>
+ Print version number.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">help</strong></span>
- </span></dt>
+ <span><strong class="command">help</strong></span>
+ </span></dt>
<dd><p>
- Print a list of commands.
- </p></dd>
+ Print a list of commands.
+ </p></dd>
</dl></div>
<p>
</p>
@@ -504,7 +502,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544823"></a><h2>EXAMPLES</h2>
+<a name="id2545067"></a><h2>EXAMPLES</h2>
<p>
The examples below show how
<span><strong class="command">nsupdate</strong></span>
@@ -558,30 +556,30 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544867"></a><h2>FILES</h2>
+<a name="id2545111"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
<dd><p>
- used to identify default name server
- </p></dd>
+ used to identify default name server
+ </p></dd>
<dt><span class="term"><code class="constant">/var/run/named/session.key</code></span></dt>
<dd><p>
- sets the default TSIG key for use in local-only mode
- </p></dd>
+ sets the default TSIG key for use in local-only mode
+ </p></dd>
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.key</code></span></dt>
<dd><p>
- base-64 encoding of HMAC-MD5 key created by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
- </p></dd>
+ base-64 encoding of HMAC-MD5 key created by
+ <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
+ </p></dd>
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.private</code></span></dt>
<dd><p>
- base-64 encoding of HMAC-MD5 key created by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
- </p></dd>
+ base-64 encoding of HMAC-MD5 key created by
+ <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
+ </p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2544950"></a><h2>SEE ALSO</h2>
+<a name="id2545197"></a><h2>SEE ALSO</h2>
<p>
<em class="citetitle">RFC 2136</em>,
<em class="citetitle">RFC 3007</em>,
@@ -596,7 +594,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2542004"></a><h2>BUGS</h2>
+<a name="id2545255"></a><h2>BUGS</h2>
<p>
The TSIG key is redundantly stored in two separate files.
This is a consequence of nsupdate using the DST library
diff --git a/bin/rndc/rndc.8 b/bin/rndc/rndc.8
index 27887cf08192..503108e69216 100644
--- a/bin/rndc/rndc.8
+++ b/bin/rndc/rndc.8
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2004, 2005, 2007, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004, 2005, 2007, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -107,7 +107,9 @@ Use the key
\fIkey_id\fR
from the configuration file.
\fIkey_id\fR
-must be known by named with the same algorithm and secret string in order for control message validation to succeed. If no
+must be known by
+\fBnamed\fR
+with the same algorithm and secret string in order for control message validation to succeed. If no
\fIkey_id\fR
is specified,
\fBrndc\fR
@@ -123,69 +125,101 @@ without arguments.
.PP
Currently supported commands are:
.PP
-\fBreload\fR
+\fBaddzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR\fB\fIconfiguration\fR\fR\fB \fR
.RS 4
-Reload configuration file and zones.
+Add a zone while the server is running. This command requires the
+\fBallow\-new\-zones\fR
+option to be set to
+\fByes\fR. The
+\fIconfiguration\fR
+string specified on the command line is the zone configuration text that would ordinarily be placed in
+\fInamed.conf\fR.
+.sp
+The configuration is saved in a file called
+\fI\fIhash\fR\fR\fI.nzf\fR, where
+\fIhash\fR
+is a cryptographic hash generated from the name of the view. When
+\fBnamed\fR
+is restarted, the file will be loaded into the view configuration, so that zones that were added can persist after a restart.
+.sp
+This sample
+\fBaddzone\fR
+command would add the zone
+example.com
+to the default view:
+.sp
+$\fBrndc addzone example.com '{ type master; file "example.com.db"; };'\fR
+.sp
+(Note the brackets and semi\-colon around the zone configuration text.)
+.sp
+See also
+\fBrndc delzone\fR.
.RE
.PP
-\fBreload \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
+\fBdelzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
.RS 4
-Reload the given zone.
+Delete a zone while the server is running. Only zones that were originally added via
+\fBrndc addzone\fR
+can be deleted in this manner.
+.sp
+See also
+\fBrndc addzone\fR
.RE
.PP
-\fBrefresh \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
+\fBdumpdb \fR\fB[\-all|\-cache|\-zone|\-adb|\-bad]\fR\fB \fR\fB[\fIview ...\fR]\fR
.RS 4
-Schedule zone maintenance for the given zone.
+Dump the server's caches (default) and/or zones to the dump file for the specified views. If no view is specified, all views are dumped. (See the
+\fBdump\-file\fR
+option in the BIND 9 Administrator Reference Manual.)
.RE
.PP
-\fBretransfer \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
+\fBflush\fR
.RS 4
-Retransfer the given slave zone from the master server.
-.sp
-If the zone is configured to use
-\fBinline\-signing\fR, the signed version of the zone is discarded; after the retransfer of the unsigned version is complete, the signed version will be regenerated with all new signatures.
+Flushes the server's cache.
.RE
.PP
-\fBsign \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
+\fBflushname\fR \fIname\fR [\fIview\fR]
.RS 4
-Fetch all DNSSEC keys for the given zone from the key directory (see the
-\fBkey\-directory\fR
-option in the BIND 9 Administrator Reference Manual). If they are within their publication period, merge them into the zone's DNSKEY RRset. If the DNSKEY RRset is changed, then the zone is automatically re\-signed with the new key set.
-.sp
-This command requires that the
-\fBauto\-dnssec\fR
-zone option be set to
-allow
-or
-maintain, and also requires the zone to be configured to allow dynamic DNS. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details.)
+Flushes the given name from the view's DNS cache and, if applicable, from the view's nameserver address database or bad\-server cache.
.RE
.PP
-\fBloadkeys \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
+\fBflushtree\fR \fIname\fR [\fIview\fR]
.RS 4
-Fetch all DNSSEC keys for the given zone from the key directory. If they are within their publication period, merge them into the zone's DNSKEY RRset. Unlike
-\fBrndc sign\fR, however, the zone is not immediately re\-signed by the new keys, but is allowed to incrementally re\-sign over time.
-.sp
-This command requires that the
-\fBauto\-dnssec\fR
-zone option be set to
-maintain, and also requires the zone to be configured to allow dynamic DNS. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details.)
+Flushes the given name, and all of its subdomains, from the view's DNS cache. Note that this does
+\fInot\fR
+affect he server's address database or bad\-server cache.
.RE
.PP
\fBfreeze \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
.RS 4
Suspend updates to a dynamic zone. If no zone is specified, then all zones are suspended. This allows manual edits to be made to a zone normally updated by dynamic update. It also causes changes in the journal file to be synced into the master file. All dynamic update attempts will be refused while the zone is frozen.
+.sp
+See also
+\fBrndc thaw\fR.
.RE
.PP
-\fBthaw \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
+\fBhalt \fR\fB[\-p]\fR
.RS 4
-Enable updates to a frozen dynamic zone. If no zone is specified, then all frozen zones are enabled. This causes the server to reload the zone from disk, and re\-enables dynamic updates after the load has completed. After a zone is thawed, dynamic updates will no longer be refused. If the zone has changed and the
-\fBixfr\-from\-differences\fR
-option is in use, then the journal file will be updated to reflect changes in the zone. Otherwise, if the zone has changed, any existing journal file will be removed.
+Stop the server immediately. Recent changes made through dynamic update or IXFR are not saved to the master files, but will be rolled forward from the journal files when the server is restarted. If
+\fB\-p\fR
+is specified
+\fBnamed\fR's process id is returned. This allows an external process to determine when
+\fBnamed\fR
+had completed halting.
+.sp
+See also
+\fBrndc stop\fR.
.RE
.PP
-\fBsync \fR\fB[\-clean]\fR\fB \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
+\fBloadkeys \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
-Sync changes in the journal file for a dynamic zone to the master file. If the "\-clean" option is specified, the journal file is also removed. If no zone is specified, then all zones are synced.
+Fetch all DNSSEC keys for the given zone from the key directory. If they are within their publication period, merge them into the zone's DNSKEY RRset. Unlike
+\fBrndc sign\fR, however, the zone is not immediately re\-signed by the new keys, but is allowed to incrementally re\-sign over time.
+.sp
+This command requires that the
+\fBauto\-dnssec\fR
+zone option be set to
+maintain, and also requires the zone to be configured to allow dynamic DNS. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details.)
.RE
.PP
\fBnotify \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
@@ -193,16 +227,12 @@ Sync changes in the journal file for a dynamic zone to the master file. If the "
Resend NOTIFY messages for the zone.
.RE
.PP
-\fBreconfig\fR
-.RS 4
-Reload the configuration file and load new zones, but do not reload existing zone files even if they have changed. This is faster than a full
-\fBreload\fR
-when there is a large number of zones because it avoids the need to examine the modification times of the zones files.
-.RE
-.PP
-\fBstats\fR
+\fBnotrace\fR
.RS 4
-Write server statistics to the statistics file.
+Sets the server's debugging level to 0.
+.sp
+See also
+\fBrndc trace\fR.
.RE
.PP
\fBquerylog\fR [on|off]
@@ -226,140 +256,65 @@ section of
\fInamed.conf\fR.
.RE
.PP
-\fBdumpdb \fR\fB[\-all|\-cache|\-zone]\fR\fB \fR\fB[\fIview ...\fR]\fR
-.RS 4
-Dump the server's caches (default) and/or zones to the dump file for the specified views. If no view is specified, all views are dumped.
-.RE
-.PP
-\fBsecroots \fR\fB[\fIview ...\fR]\fR
-.RS 4
-Dump the server's security roots to the secroots file for the specified views. If no view is specified, security roots for all views are dumped.
-.RE
-.PP
-\fBstop \fR\fB[\-p]\fR
+\fBreconfig\fR
.RS 4
-Stop the server, making sure any recent changes made through dynamic update or IXFR are first saved to the master files of the updated zones. If
-\fB\-p\fR
-is specified
-\fBnamed\fR's process id is returned. This allows an external process to determine when
-\fBnamed\fR
-had completed stopping.
+Reload the configuration file and load new zones, but do not reload existing zone files even if they have changed. This is faster than a full
+\fBreload\fR
+when there is a large number of zones because it avoids the need to examine the modification times of the zones files.
.RE
.PP
-\fBhalt \fR\fB[\-p]\fR
+\fBrecursing\fR
.RS 4
-Stop the server immediately. Recent changes made through dynamic update or IXFR are not saved to the master files, but will be rolled forward from the journal files when the server is restarted. If
-\fB\-p\fR
-is specified
-\fBnamed\fR's process id is returned. This allows an external process to determine when
+Dump the list of queries
\fBnamed\fR
-had completed halting.
-.RE
-.PP
-\fBtrace\fR
-.RS 4
-Increment the servers debugging level by one.
-.RE
-.PP
-\fBtrace \fR\fB\fIlevel\fR\fR
-.RS 4
-Sets the server's debugging level to an explicit value.
-.RE
-.PP
-\fBnotrace\fR
-.RS 4
-Sets the server's debugging level to 0.
-.RE
-.PP
-\fBflush\fR
-.RS 4
-Flushes the server's cache.
-.RE
-.PP
-\fBflushname\fR \fIname\fR [\fIview\fR]
-.RS 4
-Flushes the given name from the server's DNS cache and, if applicable, from the server's nameserver address database or bad\-server cache.
+is currently recursing on, and the list of domains to which iterative queries are currently being sent. (The second list includes the number of fetches currently active for the given domain, and how many have been passed or dropped because of the
+\fBfetches\-per\-zone\fR
+option.)
.RE
.PP
-\fBflushtree\fR \fIname\fR [\fIview\fR]
-.RS 4
-Flushes the given name, and all of its subdomains, from the server's DNS cache. Note that this does
-\fInot\fR
-affect he server's address database or bad\-server cache.
-.RE
-.PP
-\fBstatus\fR
+\fBrefresh \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
-Display status of the server. Note that the number of zones includes the internal
-\fBbind/CH\fR
-zone and the default
-\fB./IN\fR
-hint zone if there is not an explicit root zone configured.
+Schedule zone maintenance for the given zone.
.RE
.PP
-\fBrecursing\fR
+\fBreload\fR
.RS 4
-Dump the list of queries
-\fBnamed\fR
-is currently recursing on.
+Reload configuration file and zones.
.RE
.PP
-\fBvalidation ( on | off | check ) \fR\fB[\fIview ...\fR]\fR\fB \fR
+\fBreload \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
-Enable, disable, or check the current status of DNSSEC validation. Note
-\fBdnssec\-enable\fR
-also needs to be set to
-\fByes\fR
-or
-\fBauto\fR
-to be effective. It defaults to enabled.
+Reload the given zone.
.RE
.PP
-\fBtsig\-list\fR
+\fBretransfer \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
-List the names of all TSIG keys currently configured for use by
-\fBnamed\fR
-in each view. The list both statically configured keys and dynamic TKEY\-negotiated keys.
+Retransfer the given slave zone from the master server.
+.sp
+If the zone is configured to use
+\fBinline\-signing\fR, the signed version of the zone is discarded; after the retransfer of the unsigned version is complete, the signed version will be regenerated with all new signatures.
.RE
.PP
-\fBtsig\-delete\fR \fIkeyname\fR [\fIview\fR]
+\fBsecroots \fR\fB[\fIview ...\fR]\fR
.RS 4
-Delete a given TKEY\-negotiated key from the server. (This does not apply to statically configured TSIG keys.)
+Dump the server's security roots to the secroots file for the specified views. If no view is specified, security roots for all views are dumped.
.RE
.PP
-\fBaddzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR\fB\fIconfiguration\fR\fR\fB \fR
+\fBsign \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
-Add a zone while the server is running. This command requires the
-\fBallow\-new\-zones\fR
-option to be set to
-\fByes\fR. The
-\fIconfiguration\fR
-string specified on the command line is the zone configuration text that would ordinarily be placed in
-\fInamed.conf\fR.
-.sp
-The configuration is saved in a file called
-\fI\fIhash\fR\fR\fI.nzf\fR, where
-\fIhash\fR
-is a cryptographic hash generated from the name of the view. When
-\fBnamed\fR
-is restarted, the file will be loaded into the view configuration, so that zones that were added can persist after a restart.
-.sp
-This sample
-\fBaddzone\fR
-command would add the zone
-example.com
-to the default view:
+Fetch all DNSSEC keys for the given zone from the key directory (see the
+\fBkey\-directory\fR
+option in the BIND 9 Administrator Reference Manual). If they are within their publication period, merge them into the zone's DNSKEY RRset. If the DNSKEY RRset is changed, then the zone is automatically re\-signed with the new key set.
.sp
-$\fBrndc addzone example.com '{ type master; file "example.com.db"; };'\fR
+This command requires that the
+\fBauto\-dnssec\fR
+zone option be set to
+allow
+or
+maintain, and also requires the zone to be configured to allow dynamic DNS. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details.)
.sp
-(Note the brackets and semi\-colon around the zone configuration text.)
-.RE
-.PP
-\fBdelzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
-.RS 4
-Delete a zone while the server is running. Only zones that were originally added via
-\fBrndc addzone\fR
-can be deleted in this manner.
+See also
+\fBrndc loadkeys\fR.
.RE
.PP
\fBsigning \fR\fB[( \-list | \-clear \fIkeyid/algorithm\fR | \-clear all | \-nsec3param ( \fIparameters\fR | none ) ) ]\fR\fB \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
@@ -398,6 +353,86 @@ So, for example, to create an NSEC3 chain using the SHA\-1 hash algorithm, no op
\fBrndc signing \-nsec3param none\fR
removes an existing NSEC3 chain and replaces it with NSEC.
.RE
+.PP
+\fBstats\fR
+.RS 4
+Write server statistics to the statistics file. (See the
+\fBstatistics\-file\fR
+option in the BIND 9 Administrator Reference Manual.)
+.RE
+.PP
+\fBstatus\fR
+.RS 4
+Display status of the server. Note that the number of zones includes the internal
+\fBbind/CH\fR
+zone and the default
+\fB./IN\fR
+hint zone if there is not an explicit root zone configured.
+.RE
+.PP
+\fBstop \fR\fB[\-p]\fR
+.RS 4
+Stop the server, making sure any recent changes made through dynamic update or IXFR are first saved to the master files of the updated zones. If
+\fB\-p\fR
+is specified
+\fBnamed\fR's process id is returned. This allows an external process to determine when
+\fBnamed\fR
+had completed stopping.
+.sp
+See also
+\fBrndc halt\fR.
+.RE
+.PP
+\fBsync \fR\fB[\-clean]\fR\fB \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
+.RS 4
+Sync changes in the journal file for a dynamic zone to the master file. If the "\-clean" option is specified, the journal file is also removed. If no zone is specified, then all zones are synced.
+.RE
+.PP
+\fBthaw \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
+.RS 4
+Enable updates to a frozen dynamic zone. If no zone is specified, then all frozen zones are enabled. This causes the server to reload the zone from disk, and re\-enables dynamic updates after the load has completed. After a zone is thawed, dynamic updates will no longer be refused. If the zone has changed and the
+\fBixfr\-from\-differences\fR
+option is in use, then the journal file will be updated to reflect changes in the zone. Otherwise, if the zone has changed, any existing journal file will be removed.
+.sp
+See also
+\fBrndc freeze\fR.
+.RE
+.PP
+\fBtrace\fR
+.RS 4
+Increment the servers debugging level by one.
+.RE
+.PP
+\fBtrace \fR\fB\fIlevel\fR\fR
+.RS 4
+Sets the server's debugging level to an explicit value.
+.sp
+See also
+\fBrndc notrace\fR.
+.RE
+.PP
+\fBtsig\-delete\fR \fIkeyname\fR [\fIview\fR]
+.RS 4
+Delete a given TKEY\-negotiated key from the server. (This does not apply to statically configured TSIG keys.)
+.RE
+.PP
+\fBtsig\-list\fR
+.RS 4
+List the names of all TSIG keys currently configured for use by
+\fBnamed\fR
+in each view. The list both statically configured keys and dynamic TKEY\-negotiated keys.
+.RE
+.PP
+\fBvalidation ( on | off | check ) \fR\fB[\fIview ...\fR]\fR\fB \fR
+.RS 4
+Enable, disable, or check the current status of DNSSEC validation. Note
+\fBdnssec\-enable\fR
+also needs to be set to
+\fByes\fR
+or
+\fBauto\fR
+to be effective. It defaults to enabled.
+.RE
.SH "LIMITATIONS"
.PP
There is currently no way to provide the shared secret for a
@@ -417,7 +452,7 @@ BIND 9 Administrator Reference Manual.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
-Copyright \(co 2004, 2005, 2007, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2004, 2005, 2007, 2013\-2015 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000, 2001 Internet Software Consortium.
.br
diff --git a/bin/rndc/rndc.c b/bin/rndc/rndc.c
index 87e966937e3d..c7d8fe1f8431 100644
--- a/bin/rndc/rndc.c
+++ b/bin/rndc/rndc.c
@@ -32,6 +32,7 @@
#include <isc/log.h>
#include <isc/net.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/random.h>
#include <isc/socket.h>
#include <isc/stdtime.h>
@@ -103,7 +104,7 @@ command is one of the following:\n\
Add zone to given view. Requires new-zone-file option.\n\
delzone zone [class [view]]\n\
Removes zone from given view. Requires new-zone-file option.\n\
- dumpdb [-all|-cache|-zones] [view ...]\n\
+ dumpdb [-all|-cache|-zones|-adb|-bad|-fail] [view ...]\n\
Dump cache(s) to the dump file (named_dump.db).\n\
flush Flushes all of the server's caches.\n\
flush [view] Flushes the server's cache for a view.\n\
diff --git a/bin/rndc/rndc.docbook b/bin/rndc/rndc.docbook
index 5de34d27a3b8..141ce5f37ca2 100644
--- a/bin/rndc/rndc.docbook
+++ b/bin/rndc/rndc.docbook
@@ -1,8 +1,8 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- - Copyright (C) 2004, 2005, 2007, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004, 2005, 2007, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -41,6 +41,7 @@
<year>2007</year>
<year>2013</year>
<year>2014</year>
+ <year>2015</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -99,99 +100,99 @@
<variablelist>
<varlistentry>
- <term>-b <replaceable class="parameter">source-address</replaceable></term>
- <listitem>
- <para>
- Use <replaceable class="parameter">source-address</replaceable>
- as the source address for the connection to the server.
- Multiple instances are permitted to allow setting of both
- the IPv4 and IPv6 source addresses.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-c <replaceable class="parameter">config-file</replaceable></term>
- <listitem>
- <para>
- Use <replaceable class="parameter">config-file</replaceable>
- as the configuration file instead of the default,
- <filename>/etc/rndc.conf</filename>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-k <replaceable class="parameter">key-file</replaceable></term>
- <listitem>
- <para>
- Use <replaceable class="parameter">key-file</replaceable>
- as the key file instead of the default,
- <filename>/etc/rndc.key</filename>. The key in
- <filename>/etc/rndc.key</filename> will be used to
- authenticate
- commands sent to the server if the <replaceable class="parameter">config-file</replaceable>
- does not exist.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-s <replaceable class="parameter">server</replaceable></term>
- <listitem>
- <para><replaceable class="parameter">server</replaceable> is
- the name or address of the server which matches a
- server statement in the configuration file for
- <command>rndc</command>. If no server is supplied on the
- command line, the host named by the default-server clause
- in the options statement of the <command>rndc</command>
+ <term>-b <replaceable class="parameter">source-address</replaceable></term>
+ <listitem>
+ <para>
+ Use <replaceable class="parameter">source-address</replaceable>
+ as the source address for the connection to the server.
+ Multiple instances are permitted to allow setting of both
+ the IPv4 and IPv6 source addresses.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-c <replaceable class="parameter">config-file</replaceable></term>
+ <listitem>
+ <para>
+ Use <replaceable class="parameter">config-file</replaceable>
+ as the configuration file instead of the default,
+ <filename>/etc/rndc.conf</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-k <replaceable class="parameter">key-file</replaceable></term>
+ <listitem>
+ <para>
+ Use <replaceable class="parameter">key-file</replaceable>
+ as the key file instead of the default,
+ <filename>/etc/rndc.key</filename>. The key in
+ <filename>/etc/rndc.key</filename> will be used to
+ authenticate
+ commands sent to the server if the <replaceable class="parameter">config-file</replaceable>
+ does not exist.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-s <replaceable class="parameter">server</replaceable></term>
+ <listitem>
+ <para><replaceable class="parameter">server</replaceable> is
+ the name or address of the server which matches a
+ server statement in the configuration file for
+ <command>rndc</command>. If no server is supplied on the
+ command line, the host named by the default-server clause
+ in the options statement of the <command>rndc</command>
configuration file will be used.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-p <replaceable class="parameter">port</replaceable></term>
- <listitem>
- <para>
- Send commands to TCP port
- <replaceable class="parameter">port</replaceable>
- instead
- of BIND 9's default control channel port, 953.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-V</term>
- <listitem>
- <para>
- Enable verbose logging.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-y <replaceable class="parameter">key_id</replaceable></term>
- <listitem>
- <para>
- Use the key <replaceable class="parameter">key_id</replaceable>
- from the configuration file.
- <replaceable class="parameter">key_id</replaceable>
- must be
- known by named with the same algorithm and secret string
- in order for control message validation to succeed.
- If no <replaceable class="parameter">key_id</replaceable>
- is specified, <command>rndc</command> will first look
- for a key clause in the server statement of the server
- being used, or if no server statement is present for that
- host, then the default-key clause of the options statement.
- Note that the configuration file contains shared secrets
- which are used to send authenticated control commands
- to name servers. It should therefore not have general read
- or write access.
- </para>
- </listitem>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p <replaceable class="parameter">port</replaceable></term>
+ <listitem>
+ <para>
+ Send commands to TCP port
+ <replaceable class="parameter">port</replaceable>
+ instead
+ of BIND 9's default control channel port, 953.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-V</term>
+ <listitem>
+ <para>
+ Enable verbose logging.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-y <replaceable class="parameter">key_id</replaceable></term>
+ <listitem>
+ <para>
+ Use the key <replaceable class="parameter">key_id</replaceable>
+ from the configuration file.
+ <replaceable class="parameter">key_id</replaceable>
+ must be
+ known by <command>named</command> with the same algorithm and secret string
+ in order for control message validation to succeed.
+ If no <replaceable class="parameter">key_id</replaceable>
+ is specified, <command>rndc</command> will first look
+ for a key clause in the server statement of the server
+ being used, or if no server statement is present for that
+ host, then the default-key clause of the options statement.
+ Note that the configuration file contains shared secrets
+ which are used to send authenticated control commands
+ to name servers. It should therefore not have general read
+ or write access.
+ </para>
+ </listitem>
</varlistentry>
</variablelist>
@@ -208,489 +209,522 @@
</para>
<variablelist>
- <varlistentry>
- <term><userinput>reload</userinput></term>
- <listitem>
- <para>
- Reload configuration file and zones.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>reload <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
- <listitem>
- <para>
- Reload the given zone.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>refresh <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
- <listitem>
- <para>
- Schedule zone maintenance for the given zone.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>retransfer <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
- <listitem>
- <para>
- Retransfer the given slave zone from the master server.
- </para>
- <para>
- If the zone is configured to use
- <command>inline-signing</command>, the signed
- version of the zone is discarded; after the
- retransfer of the unsigned version is complete, the
- signed version will be regenerated with all new
- signatures.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>sign <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
- <listitem>
- <para>
- Fetch all DNSSEC keys for the given zone
- from the key directory (see the
- <command>key-directory</command> option in
- the BIND 9 Administrator Reference Manual). If they are within
- their publication period, merge them into the
- zone's DNSKEY RRset. If the DNSKEY RRset
- is changed, then the zone is automatically
- re-signed with the new key set.
- </para>
- <para>
- This command requires that the
- <command>auto-dnssec</command> zone option be set
- to <literal>allow</literal> or
- <literal>maintain</literal>,
- and also requires the zone to be configured to
- allow dynamic DNS.
- (See "Dynamic Update Policies" in the Administrator
- Reference Manual for more details.)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>loadkeys <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
- <listitem>
- <para>
- Fetch all DNSSEC keys for the given zone
- from the key directory. If they are within
- their publication period, merge them into the
- zone's DNSKEY RRset. Unlike <command>rndc
- sign</command>, however, the zone is not
- immediately re-signed by the new keys, but is
- allowed to incrementally re-sign over time.
- </para>
- <para>
- This command requires that the
- <command>auto-dnssec</command> zone option
- be set to <literal>maintain</literal>,
- and also requires the zone to be configured to
- allow dynamic DNS.
- (See "Dynamic Update Policies" in the Administrator
- Reference Manual for more details.)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>freeze <optional><replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></optional></userinput></term>
- <listitem>
- <para>
- Suspend updates to a dynamic zone. If no zone is
- specified, then all zones are suspended. This allows
- manual edits to be made to a zone normally updated by
- dynamic update. It also causes changes in the
- journal file to be synced into the master file.
- All dynamic update attempts will be refused while
- the zone is frozen.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>thaw <optional><replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></optional></userinput></term>
- <listitem>
- <para>
- Enable updates to a frozen dynamic zone. If no
- zone is specified, then all frozen zones are
- enabled. This causes the server to reload the zone
- from disk, and re-enables dynamic updates after the
- load has completed. After a zone is thawed,
- dynamic updates will no longer be refused. If
- the zone has changed and the
- <command>ixfr-from-differences</command> option is
- in use, then the journal file will be updated to
- reflect changes in the zone. Otherwise, if the
- zone has changed, any existing journal file will be
- removed.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>sync <optional>-clean</optional> <optional><replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></optional></userinput></term>
- <listitem>
- <para>
- Sync changes in the journal file for a dynamic zone
- to the master file. If the "-clean" option is
- specified, the journal file is also removed. If
- no zone is specified, then all zones are synced.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>notify <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
- <listitem>
- <para>
- Resend NOTIFY messages for the zone.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>reconfig</userinput></term>
- <listitem>
- <para>
- Reload the configuration file and load new zones,
- but do not reload existing zone files even if they
- have changed.
- This is faster than a full <command>reload</command> when there
- is a large number of zones because it avoids the need
- to examine the
- modification times of the zones files.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>stats</userinput></term>
- <listitem>
- <para>
- Write server statistics to the statistics file.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>querylog</userinput> <optional>on|off</optional> </term>
- <listitem>
- <para>
- Enable or disable query logging. (For backward
- compatibility, this command can also be used without
- an argument to toggle query logging on and off.)
- </para>
- <para>
- Query logging can also be enabled
- by explicitly directing the <command>queries</command>
- <command>category</command> to a
- <command>channel</command> in the
- <command>logging</command> section of
- <filename>named.conf</filename> or by specifying
- <command>querylog yes;</command> in the
- <command>options</command> section of
- <filename>named.conf</filename>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>dumpdb <optional>-all|-cache|-zone</optional> <optional><replaceable>view ...</replaceable></optional></userinput></term>
- <listitem>
- <para>
- Dump the server's caches (default) and/or zones to
- the
- dump file for the specified views. If no view is
- specified, all
- views are dumped.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>secroots <optional><replaceable>view ...</replaceable></optional></userinput></term>
- <listitem>
- <para>
- Dump the server's security roots to the secroots
- file for the specified views. If no view is
- specified, security roots for all
- views are dumped.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>stop <optional>-p</optional></userinput></term>
- <listitem>
- <para>
- Stop the server, making sure any recent changes
- made through dynamic update or IXFR are first saved to
- the master files of the updated zones.
- If <option>-p</option> is specified <command>named</command>'s process id is returned.
- This allows an external process to determine when <command>named</command>
- had completed stopping.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>halt <optional>-p</optional></userinput></term>
- <listitem>
- <para>
- Stop the server immediately. Recent changes
- made through dynamic update or IXFR are not saved to
- the master files, but will be rolled forward from the
- journal files when the server is restarted.
- If <option>-p</option> is specified <command>named</command>'s process id is returned.
- This allows an external process to determine when <command>named</command>
- had completed halting.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>trace</userinput></term>
- <listitem>
- <para>
- Increment the servers debugging level by one.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>trace <replaceable>level</replaceable></userinput></term>
- <listitem>
- <para>
- Sets the server's debugging level to an explicit
- value.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>notrace</userinput></term>
- <listitem>
- <para>
- Sets the server's debugging level to 0.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>flush</userinput></term>
- <listitem>
- <para>
- Flushes the server's cache.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>flushname</userinput> <replaceable>name</replaceable> <optional><replaceable>view</replaceable></optional> </term>
- <listitem>
- <para>
- Flushes the given name from the server's DNS cache
- and, if applicable, from the server's nameserver address
- database or bad-server cache.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>flushtree</userinput> <replaceable>name</replaceable> <optional><replaceable>view</replaceable></optional> </term>
- <listitem>
- <para>
- Flushes the given name, and all of its subdomains,
- from the server's DNS cache. Note that this does
- <emphasis>not</emphasis> affect he server's address
- database or bad-server cache.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>status</userinput></term>
- <listitem>
- <para>
- Display status of the server.
- Note that the number of zones includes the internal <command>bind/CH</command> zone
- and the default <command>./IN</command>
- hint zone if there is not an
- explicit root zone configured.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>recursing</userinput></term>
- <listitem>
- <para>
- Dump the list of queries <command>named</command> is currently recursing
- on.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>validation ( on | off | check ) <optional><replaceable>view ...</replaceable></optional> </userinput></term>
- <listitem>
- <para>
- Enable, disable, or check the current status of
- DNSSEC validation.
- Note <command>dnssec-enable</command> also needs to be
- set to <userinput>yes</userinput> or
- <userinput>auto</userinput> to be effective.
- It defaults to enabled.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>tsig-list</userinput></term>
- <listitem>
- <para>
- List the names of all TSIG keys currently configured
- for use by <command>named</command> in each view. The
- list both statically configured keys and dynamic
- TKEY-negotiated keys.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><userinput>tsig-delete</userinput> <replaceable>keyname</replaceable> <optional><replaceable>view</replaceable></optional></term>
- <listitem>
- <para>
- Delete a given TKEY-negotiated key from the server.
- (This does not apply to statically configured TSIG
- keys.)
- </para>
- </listitem>
- </varlistentry>
<varlistentry>
- <term><userinput>addzone <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> <replaceable>configuration</replaceable> </userinput></term>
- <listitem>
- <para>
- Add a zone while the server is running. This
- command requires the
- <command>allow-new-zones</command> option to be set
- to <userinput>yes</userinput>. The
- <replaceable>configuration</replaceable> string
- specified on the command line is the zone
- configuration text that would ordinarily be
- placed in <filename>named.conf</filename>.
- </para>
- <para>
- The configuration is saved in a file called
- <filename><replaceable>hash</replaceable>.nzf</filename>,
- where <replaceable>hash</replaceable> is a
- cryptographic hash generated from the name of
- the view. When <command>named</command> is
- restarted, the file will be loaded into the view
- configuration, so that zones that were added
- can persist after a restart.
- </para>
- <para>
- This sample <command>addzone</command> command
- would add the zone <literal>example.com</literal>
- to the default view:
- </para>
- <para>
+ <term><userinput>addzone <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> <replaceable>configuration</replaceable> </userinput></term>
+ <listitem>
+ <para>
+ Add a zone while the server is running. This
+ command requires the
+ <command>allow-new-zones</command> option to be set
+ to <userinput>yes</userinput>. The
+ <replaceable>configuration</replaceable> string
+ specified on the command line is the zone
+ configuration text that would ordinarily be
+ placed in <filename>named.conf</filename>.
+ </para>
+ <para>
+ The configuration is saved in a file called
+ <filename><replaceable>hash</replaceable>.nzf</filename>,
+ where <replaceable>hash</replaceable> is a
+ cryptographic hash generated from the name of
+ the view. When <command>named</command> is
+ restarted, the file will be loaded into the view
+ configuration, so that zones that were added
+ can persist after a restart.
+ </para>
+ <para>
+ This sample <command>addzone</command> command
+ would add the zone <literal>example.com</literal>
+ to the default view:
+ </para>
+ <para>
<prompt>$ </prompt><userinput>rndc addzone example.com '{ type master; file "example.com.db"; };'</userinput>
- </para>
- <para>
- (Note the brackets and semi-colon around the zone
- configuration text.)
- </para>
- </listitem>
+ </para>
+ <para>
+ (Note the brackets and semi-colon around the zone
+ configuration text.)
+ </para>
+ <para>
+ See also <command>rndc delzone</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>delzone <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> </userinput></term>
+ <listitem>
+ <para>
+ Delete a zone while the server is running.
+ Only zones that were originally added via
+ <command>rndc addzone</command> can be deleted
+ in this manner.
+ </para>
+ <para>
+ See also <command>rndc addzone</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>dumpdb <optional>-all|-cache|-zone|-adb|-bad</optional> <optional><replaceable>view ...</replaceable></optional></userinput></term>
+ <listitem>
+ <para>
+ Dump the server's caches (default) and/or zones to
+ the
+ dump file for the specified views. If no view is
+ specified, all
+ views are dumped.
+ (See the <command>dump-file</command> option in
+ the BIND 9 Administrator Reference Manual.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>flush</userinput></term>
+ <listitem>
+ <para>
+ Flushes the server's cache.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>flushname</userinput> <replaceable>name</replaceable> <optional><replaceable>view</replaceable></optional> </term>
+ <listitem>
+ <para>
+ Flushes the given name from the view's DNS cache
+ and, if applicable, from the view's nameserver address
+ database or bad-server cache.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>flushtree</userinput> <replaceable>name</replaceable> <optional><replaceable>view</replaceable></optional> </term>
+ <listitem>
+ <para>
+ Flushes the given name, and all of its subdomains,
+ from the view's DNS cache. Note that this does
+ <emphasis>not</emphasis> affect he server's address
+ database or bad-server cache.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>freeze <optional><replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Suspend updates to a dynamic zone. If no zone is
+ specified, then all zones are suspended. This allows
+ manual edits to be made to a zone normally updated by
+ dynamic update. It also causes changes in the
+ journal file to be synced into the master file.
+ All dynamic update attempts will be refused while
+ the zone is frozen.
+ </para>
+ <para>
+ See also <command>rndc thaw</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>halt <optional>-p</optional></userinput></term>
+ <listitem>
+ <para>
+ Stop the server immediately. Recent changes
+ made through dynamic update or IXFR are not saved to
+ the master files, but will be rolled forward from the
+ journal files when the server is restarted.
+ If <option>-p</option> is specified <command>named</command>'s process id is returned.
+ This allows an external process to determine when <command>named</command>
+ had completed halting.
+ </para>
+ <para>
+ See also <command>rndc stop</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>loadkeys <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Fetch all DNSSEC keys for the given zone
+ from the key directory. If they are within
+ their publication period, merge them into the
+ zone's DNSKEY RRset. Unlike <command>rndc
+ sign</command>, however, the zone is not
+ immediately re-signed by the new keys, but is
+ allowed to incrementally re-sign over time.
+ </para>
+ <para>
+ This command requires that the
+ <command>auto-dnssec</command> zone option
+ be set to <literal>maintain</literal>,
+ and also requires the zone to be configured to
+ allow dynamic DNS.
+ (See "Dynamic Update Policies" in the Administrator
+ Reference Manual for more details.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>notify <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Resend NOTIFY messages for the zone.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>notrace</userinput></term>
+ <listitem>
+ <para>
+ Sets the server's debugging level to 0.
+ </para>
+ <para>
+ See also <command>rndc trace</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>querylog</userinput> <optional>on|off</optional> </term>
+ <listitem>
+ <para>
+ Enable or disable query logging. (For backward
+ compatibility, this command can also be used without
+ an argument to toggle query logging on and off.)
+ </para>
+ <para>
+ Query logging can also be enabled
+ by explicitly directing the <command>queries</command>
+ <command>category</command> to a
+ <command>channel</command> in the
+ <command>logging</command> section of
+ <filename>named.conf</filename> or by specifying
+ <command>querylog yes;</command> in the
+ <command>options</command> section of
+ <filename>named.conf</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>reconfig</userinput></term>
+ <listitem>
+ <para>
+ Reload the configuration file and load new zones,
+ but do not reload existing zone files even if they
+ have changed.
+ This is faster than a full <command>reload</command> when there
+ is a large number of zones because it avoids the need
+ to examine the
+ modification times of the zones files.
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
- <term><userinput>delzone <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> </userinput></term>
+ <term><userinput>recursing</userinput></term>
<listitem>
<para>
- Delete a zone while the server is running.
- Only zones that were originally added via
- <command>rndc addzone</command> can be deleted
- in this manner.
- </para>
- </listitem>
+ Dump the list of queries <command>named</command> is currently
+ recursing on, and the list of domains to which iterative
+ queries are currently being sent. (The second list includes
+ the number of fetches currently active for the given domain,
+ and how many have been passed or dropped because of the
+ <option>fetches-per-zone</option> option.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>refresh <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Schedule zone maintenance for the given zone.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>reload</userinput></term>
+ <listitem>
+ <para>
+ Reload configuration file and zones.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>reload <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Reload the given zone.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>retransfer <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Retransfer the given slave zone from the master server.
+ </para>
+ <para>
+ If the zone is configured to use
+ <command>inline-signing</command>, the signed
+ version of the zone is discarded; after the
+ retransfer of the unsigned version is complete, the
+ signed version will be regenerated with all new
+ signatures.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>secroots <optional><replaceable>view ...</replaceable></optional></userinput></term>
+ <listitem>
+ <para>
+ Dump the server's security roots to the secroots
+ file for the specified views. If no view is
+ specified, security roots for all
+ views are dumped.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>sign <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Fetch all DNSSEC keys for the given zone
+ from the key directory (see the
+ <command>key-directory</command> option in
+ the BIND 9 Administrator Reference Manual). If they are within
+ their publication period, merge them into the
+ zone's DNSKEY RRset. If the DNSKEY RRset
+ is changed, then the zone is automatically
+ re-signed with the new key set.
+ </para>
+ <para>
+ This command requires that the
+ <command>auto-dnssec</command> zone option be set
+ to <literal>allow</literal> or
+ <literal>maintain</literal>,
+ and also requires the zone to be configured to
+ allow dynamic DNS.
+ (See "Dynamic Update Policies" in the Administrator
+ Reference Manual for more details.)
+ </para>
+ <para>
+ See also <command>rndc loadkeys</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>signing <optional>( -list | -clear <replaceable>keyid/algorithm</replaceable> | -clear <literal>all</literal> | -nsec3param ( <replaceable>parameters</replaceable> | <literal>none</literal> ) ) </optional> <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> </userinput></term>
+ <listitem>
+ <para>
+ List, edit, or remove the DNSSEC signing state records
+ for the specified zone. The status of ongoing DNSSEC
+ operations (such as signing or generating
+ NSEC3 chains) is stored in the zone in the form
+ of DNS resource records of type
+ <command>sig-signing-type</command>.
+ <command>rndc signing -list</command> converts
+ these records into a human-readable form,
+ indicating which keys are currently signing
+ or have finished signing the zone, and which NSEC3
+ chains are being created or removed.
+ </para>
+ <para>
+ <command>rndc signing -clear</command> can remove
+ a single key (specified in the same format that
+ <command>rndc signing -list</command> uses to
+ display it), or all keys. In either case, only
+ completed keys are removed; any record indicating
+ that a key has not yet finished signing the zone
+ will be retained.
+ </para>
+ <para>
+ <command>rndc signing -nsec3param</command> sets
+ the NSEC3 parameters for a zone. This is the
+ only supported mechanism for using NSEC3 with
+ <command>inline-signing</command> zones.
+ Parameters are specified in the same format as
+ an NSEC3PARAM resource record: hash algorithm,
+ flags, iterations, and salt, in that order.
+ </para>
+ <para>
+ Currently, the only defined value for hash algorithm
+ is <literal>1</literal>, representing SHA-1.
+ The <option>flags</option> may be set to
+ <literal>0</literal> or <literal>1</literal>,
+ depending on whether you wish to set the opt-out
+ bit in the NSEC3 chain. <option>iterations</option>
+ defines the number of additional times to apply
+ the algorithm when generating an NSEC3 hash. The
+ <option>salt</option> is a string of data expressed
+ in hexadecimal, or a hyphen (`-') if no salt is
+ to be used.
+ </para>
+ <para>
+ So, for example, to create an NSEC3 chain using
+ the SHA-1 hash algorithm, no opt-out flag,
+ 10 iterations, and a salt value of "FFFF", use:
+ <command>rndc signing -nsec3param 1 0 10 FFFF <replaceable>zone</replaceable></command>.
+ To set the opt-out flag, 15 iterations, and no
+ salt, use:
+ <command>rndc signing -nsec3param 1 1 15 - <replaceable>zone</replaceable></command>.
+ </para>
+ <para>
+ <command>rndc signing -nsec3param none</command>
+ removes an existing NSEC3 chain and replaces it
+ with NSEC.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>stats</userinput></term>
+ <listitem>
+ <para>
+ Write server statistics to the statistics file.
+ (See the <command>statistics-file</command> option in
+ the BIND 9 Administrator Reference Manual.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>status</userinput></term>
+ <listitem>
+ <para>
+ Display status of the server.
+ Note that the number of zones includes the internal <command>bind/CH</command> zone
+ and the default <command>./IN</command>
+ hint zone if there is not an
+ explicit root zone configured.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>stop <optional>-p</optional></userinput></term>
+ <listitem>
+ <para>
+ Stop the server, making sure any recent changes
+ made through dynamic update or IXFR are first saved to
+ the master files of the updated zones.
+ If <option>-p</option> is specified <command>named</command>'s process id is returned.
+ This allows an external process to determine when <command>named</command>
+ had completed stopping.
+ </para>
+ <para>See also <command>rndc halt</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>sync <optional>-clean</optional> <optional><replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Sync changes in the journal file for a dynamic zone
+ to the master file. If the "-clean" option is
+ specified, the journal file is also removed. If
+ no zone is specified, then all zones are synced.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>thaw <optional><replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></optional></userinput></term>
+ <listitem>
+ <para>
+ Enable updates to a frozen dynamic zone. If no
+ zone is specified, then all frozen zones are
+ enabled. This causes the server to reload the zone
+ from disk, and re-enables dynamic updates after the
+ load has completed. After a zone is thawed,
+ dynamic updates will no longer be refused. If
+ the zone has changed and the
+ <command>ixfr-from-differences</command> option is
+ in use, then the journal file will be updated to
+ reflect changes in the zone. Otherwise, if the
+ zone has changed, any existing journal file will be
+ removed.
+ </para>
+ <para>See also <command>rndc freeze</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>trace</userinput></term>
+ <listitem>
+ <para>
+ Increment the servers debugging level by one.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>trace <replaceable>level</replaceable></userinput></term>
+ <listitem>
+ <para>
+ Sets the server's debugging level to an explicit
+ value.
+ </para>
+ <para>
+ See also <command>rndc notrace</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>tsig-delete</userinput> <replaceable>keyname</replaceable> <optional><replaceable>view</replaceable></optional></term>
+ <listitem>
+ <para>
+ Delete a given TKEY-negotiated key from the server.
+ (This does not apply to statically configured TSIG
+ keys.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>tsig-list</userinput></term>
+ <listitem>
+ <para>
+ List the names of all TSIG keys currently configured
+ for use by <command>named</command> in each view. The
+ list both statically configured keys and dynamic
+ TKEY-negotiated keys.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><userinput>validation ( on | off | check ) <optional><replaceable>view ...</replaceable></optional> </userinput></term>
+ <listitem>
+ <para>
+ Enable, disable, or check the current status of
+ DNSSEC validation.
+ Note <command>dnssec-enable</command> also needs to be
+ set to <userinput>yes</userinput> or
+ <userinput>auto</userinput> to be effective.
+ It defaults to enabled.
+ </para>
+ </listitem>
</varlistentry>
- <varlistentry>
- <term><userinput>signing <optional>( -list | -clear <replaceable>keyid/algorithm</replaceable> | -clear <literal>all</literal> | -nsec3param ( <replaceable>parameters</replaceable> | <literal>none</literal> ) ) </optional> <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> </userinput></term>
- <listitem>
- <para>
- List, edit, or remove the DNSSEC signing state records
- for the specified zone. The status of ongoing DNSSEC
- operations (such as signing or generating
- NSEC3 chains) is stored in the zone in the form
- of DNS resource records of type
- <command>sig-signing-type</command>.
- <command>rndc signing -list</command> converts
- these records into a human-readable form,
- indicating which keys are currently signing
- or have finished signing the zone, and which NSEC3
- chains are being created or removed.
- </para>
- <para>
- <command>rndc signing -clear</command> can remove
- a single key (specified in the same format that
- <command>rndc signing -list</command> uses to
- display it), or all keys. In either case, only
- completed keys are removed; any record indicating
- that a key has not yet finished signing the zone
- will be retained.
- </para>
- <para>
- <command>rndc signing -nsec3param</command> sets
- the NSEC3 parameters for a zone. This is the
- only supported mechanism for using NSEC3 with
- <command>inline-signing</command> zones.
- Parameters are specified in the same format as
- an NSEC3PARAM resource record: hash algorithm,
- flags, iterations, and salt, in that order.
- </para>
- <para>
- Currently, the only defined value for hash algorithm
- is <literal>1</literal>, representing SHA-1.
- The <option>flags</option> may be set to
- <literal>0</literal> or <literal>1</literal>,
- depending on whether you wish to set the opt-out
- bit in the NSEC3 chain. <option>iterations</option>
- defines the number of additional times to apply
- the algorithm when generating an NSEC3 hash. The
- <option>salt</option> is a string of data expressed
- in hexadecimal, or a hyphen (`-') if no salt is
- to be used.
- </para>
- <para>
- So, for example, to create an NSEC3 chain using
- the SHA-1 hash algorithm, no opt-out flag,
- 10 iterations, and a salt value of "FFFF", use:
- <command>rndc signing -nsec3param 1 0 10 FFFF <replaceable>zone</replaceable></command>.
- To set the opt-out flag, 15 iterations, and no
- salt, use:
- <command>rndc signing -nsec3param 1 1 15 - <replaceable>zone</replaceable></command>.
- </para>
- <para>
- <command>rndc signing -nsec3param none</command>
- removes an existing NSEC3 chain and replaces it
- with NSEC.
- </para>
- </listitem>
- </varlistentry>
</variablelist>
</refsect1>
@@ -708,19 +742,19 @@
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
- <refentrytitle>rndc.conf</refentrytitle><manvolnum>5</manvolnum>
+ <refentrytitle>rndc.conf</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>,
<citerefentry>
- <refentrytitle>rndc-confgen</refentrytitle><manvolnum>8</manvolnum>
+ <refentrytitle>rndc-confgen</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
- <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
+ <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
- <refentrytitle>named.conf</refentrytitle><manvolnum>5</manvolnum>
+ <refentrytitle>named.conf</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>,
<citerefentry>
- <refentrytitle>ndc</refentrytitle><manvolnum>8</manvolnum>
+ <refentrytitle>ndc</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
</para>
diff --git a/bin/rndc/rndc.html b/bin/rndc/rndc.html
index 0e74ea3531ed..0daea8a28549 100644
--- a/bin/rndc/rndc.html
+++ b/bin/rndc/rndc.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2004, 2005, 2007, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004, 2005, 2007, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -32,7 +32,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="id2543428"></a><h2>DESCRIPTION</h2>
+<a name="id2543431"></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
@@ -61,73 +61,73 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543463"></a><h2>OPTIONS</h2>
+<a name="id2543466"></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>
- Use <em class="replaceable"><code>source-address</code></em>
- as the source address for the connection to the server.
- Multiple instances are permitted to allow setting of both
- the IPv4 and IPv6 source addresses.
- </p></dd>
+ Use <em class="replaceable"><code>source-address</code></em>
+ as the source address for the connection to the server.
+ Multiple instances are permitted to allow setting of both
+ the IPv4 and IPv6 source addresses.
+ </p></dd>
<dt><span class="term">-c <em class="replaceable"><code>config-file</code></em></span></dt>
<dd><p>
- Use <em class="replaceable"><code>config-file</code></em>
- as the configuration file instead of the default,
- <code class="filename">/etc/rndc.conf</code>.
- </p></dd>
+ Use <em class="replaceable"><code>config-file</code></em>
+ as the configuration file instead of the default,
+ <code class="filename">/etc/rndc.conf</code>.
+ </p></dd>
<dt><span class="term">-k <em class="replaceable"><code>key-file</code></em></span></dt>
<dd><p>
- Use <em class="replaceable"><code>key-file</code></em>
- as the key file instead of the default,
- <code class="filename">/etc/rndc.key</code>. The key in
- <code class="filename">/etc/rndc.key</code> will be used to
- authenticate
- commands sent to the server if the <em class="replaceable"><code>config-file</code></em>
- does not exist.
- </p></dd>
+ Use <em class="replaceable"><code>key-file</code></em>
+ as the key file instead of the default,
+ <code class="filename">/etc/rndc.key</code>. The key in
+ <code class="filename">/etc/rndc.key</code> will be used to
+ authenticate
+ commands sent to the server if the <em class="replaceable"><code>config-file</code></em>
+ does not exist.
+ </p></dd>
<dt><span class="term">-s <em class="replaceable"><code>server</code></em></span></dt>
<dd><p><em class="replaceable"><code>server</code></em> is
- the name or address of the server which matches a
- server statement in the configuration file for
- <span><strong class="command">rndc</strong></span>. If no server is supplied on the
- command line, the host named by the default-server clause
- in the options statement of the <span><strong class="command">rndc</strong></span>
+ the name or address of the server which matches a
+ server statement in the configuration file for
+ <span><strong class="command">rndc</strong></span>. If no server is supplied on the
+ command line, the host named by the default-server clause
+ in the options statement of the <span><strong class="command">rndc</strong></span>
configuration file will be used.
- </p></dd>
+ </p></dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
<dd><p>
- Send commands to TCP port
- <em class="replaceable"><code>port</code></em>
- instead
- of BIND 9's default control channel port, 953.
- </p></dd>
+ Send commands to TCP port
+ <em class="replaceable"><code>port</code></em>
+ instead
+ of BIND 9's default control channel port, 953.
+ </p></dd>
<dt><span class="term">-V</span></dt>
<dd><p>
- Enable verbose logging.
- </p></dd>
+ Enable verbose logging.
+ </p></dd>
<dt><span class="term">-y <em class="replaceable"><code>key_id</code></em></span></dt>
<dd><p>
- Use the key <em class="replaceable"><code>key_id</code></em>
- from the configuration file.
- <em class="replaceable"><code>key_id</code></em>
- must be
- known by named with the same algorithm and secret string
- in order for control message validation to succeed.
- If no <em class="replaceable"><code>key_id</code></em>
- is specified, <span><strong class="command">rndc</strong></span> will first look
- for a key clause in the server statement of the server
- being used, or if no server statement is present for that
- host, then the default-key clause of the options statement.
- Note that the configuration file contains shared secrets
- which are used to send authenticated control commands
- to name servers. It should therefore not have general read
- or write access.
- </p></dd>
+ Use the key <em class="replaceable"><code>key_id</code></em>
+ from the configuration file.
+ <em class="replaceable"><code>key_id</code></em>
+ must be
+ known by <span><strong class="command">named</strong></span> with the same algorithm and secret string
+ in order for control message validation to succeed.
+ If no <em class="replaceable"><code>key_id</code></em>
+ is specified, <span><strong class="command">rndc</strong></span> will first look
+ for a key clause in the server statement of the server
+ being used, or if no server statement is present for that
+ host, then the default-key clause of the options statement.
+ Note that the configuration file contains shared secrets
+ which are used to send authenticated control commands
+ to name servers. It should therefore not have general read
+ or write access.
+ </p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543659"></a><h2>COMMANDS</h2>
+<a name="id2543667"></a><h2>COMMANDS</h2>
<p>
A list of commands supported by <span><strong class="command">rndc</strong></span> can
be seen by running <span><strong class="command">rndc</strong></span> without arguments.
@@ -136,351 +136,396 @@
Currently supported commands are:
</p>
<div class="variablelist"><dl>
-<dt><span class="term"><strong class="userinput"><code>reload</code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>addzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] <em class="replaceable"><code>configuration</code></em> </code></strong></span></dt>
+<dd>
+<p>
+ Add a zone while the server is running. This
+ command requires the
+ <span><strong class="command">allow-new-zones</strong></span> option to be set
+ to <strong class="userinput"><code>yes</code></strong>. The
+ <em class="replaceable"><code>configuration</code></em> string
+ specified on the command line is the zone
+ configuration text that would ordinarily be
+ placed in <code class="filename">named.conf</code>.
+ </p>
+<p>
+ The configuration is saved in a file called
+ <code class="filename"><em class="replaceable"><code>hash</code></em>.nzf</code>,
+ where <em class="replaceable"><code>hash</code></em> is a
+ cryptographic hash generated from the name of
+ the view. When <span><strong class="command">named</strong></span> is
+ restarted, the file will be loaded into the view
+ configuration, so that zones that were added
+ can persist after a restart.
+ </p>
+<p>
+ This sample <span><strong class="command">addzone</strong></span> command
+ would add the zone <code class="literal">example.com</code>
+ to the default view:
+ </p>
+<p>
+<code class="prompt">$ </code><strong class="userinput"><code>rndc addzone example.com '{ type master; file "example.com.db"; };'</code></strong>
+ </p>
+<p>
+ (Note the brackets and semi-colon around the zone
+ configuration text.)
+ </p>
+<p>
+ See also <span><strong class="command">rndc delzone</strong></span>.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>delzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+<dd>
+<p>
+ Delete a zone while the server is running.
+ Only zones that were originally added via
+ <span><strong class="command">rndc addzone</strong></span> can be deleted
+ in this manner.
+ </p>
+<p>
+ See also <span><strong class="command">rndc addzone</strong></span>
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>dumpdb [<span class="optional">-all|-cache|-zone|-adb|-bad</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dd><p>
- Reload configuration file and zones.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>reload <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+ Dump the server's caches (default) and/or zones to
+ the
+ dump file for the specified views. If no view is
+ specified, all
+ views are dumped.
+ (See the <span><strong class="command">dump-file</strong></span> option in
+ the BIND 9 Administrator Reference Manual.)
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>flush</code></strong></span></dt>
<dd><p>
- Reload the given zone.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>refresh <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+ Flushes the server's cache.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>flushname</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
<dd><p>
- Schedule zone maintenance for the given zone.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>retransfer <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+ Flushes the given name from the view's DNS cache
+ and, if applicable, from the view's nameserver address
+ database or bad-server cache.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>flushtree</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
+<dd><p>
+ Flushes the given name, and all of its subdomains,
+ from the view's DNS cache. Note that this does
+ <span class="emphasis"><em>not</em></span> affect he server's address
+ database or bad-server cache.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>freeze [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
<dd>
<p>
- Retransfer the given slave zone from the master server.
- </p>
+ Suspend updates to a dynamic zone. If no zone is
+ specified, then all zones are suspended. This allows
+ manual edits to be made to a zone normally updated by
+ dynamic update. It also causes changes in the
+ journal file to be synced into the master file.
+ All dynamic update attempts will be refused while
+ the zone is frozen.
+ </p>
<p>
- If the zone is configured to use
- <span><strong class="command">inline-signing</strong></span>, the signed
- version of the zone is discarded; after the
- retransfer of the unsigned version is complete, the
- signed version will be regenerated with all new
- signatures.
- </p>
+ See also <span><strong class="command">rndc thaw</strong></span>.
+ </p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>sign <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>halt [<span class="optional">-p</span>]</code></strong></span></dt>
<dd>
<p>
- Fetch all DNSSEC keys for the given zone
- from the key directory (see the
- <span><strong class="command">key-directory</strong></span> option in
- the BIND 9 Administrator Reference Manual). If they are within
- their publication period, merge them into the
- zone's DNSKEY RRset. If the DNSKEY RRset
- is changed, then the zone is automatically
- re-signed with the new key set.
- </p>
-<p>
- This command requires that the
- <span><strong class="command">auto-dnssec</strong></span> zone option be set
- to <code class="literal">allow</code> or
- <code class="literal">maintain</code>,
- and also requires the zone to be configured to
- allow dynamic DNS.
- (See "Dynamic Update Policies" in the Administrator
- Reference Manual for more details.)
- </p>
+ Stop the server immediately. Recent changes
+ made through dynamic update or IXFR are not saved to
+ the master files, but will be rolled forward from the
+ journal files when the server is restarted.
+ If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
+ This allows an external process to determine when <span><strong class="command">named</strong></span>
+ had completed halting.
+ </p>
+<p>
+ See also <span><strong class="command">rndc stop</strong></span>.
+ </p>
</dd>
<dt><span class="term"><strong class="userinput"><code>loadkeys <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd>
<p>
- Fetch all DNSSEC keys for the given zone
- from the key directory. If they are within
- their publication period, merge them into the
- zone's DNSKEY RRset. Unlike <span><strong class="command">rndc
- sign</strong></span>, however, the zone is not
- immediately re-signed by the new keys, but is
- allowed to incrementally re-sign over time.
- </p>
-<p>
- This command requires that the
- <span><strong class="command">auto-dnssec</strong></span> zone option
- be set to <code class="literal">maintain</code>,
- and also requires the zone to be configured to
- allow dynamic DNS.
- (See "Dynamic Update Policies" in the Administrator
- Reference Manual for more details.)
- </p>
+ Fetch all DNSSEC keys for the given zone
+ from the key directory. If they are within
+ their publication period, merge them into the
+ zone's DNSKEY RRset. Unlike <span><strong class="command">rndc
+ sign</strong></span>, however, the zone is not
+ immediately re-signed by the new keys, but is
+ allowed to incrementally re-sign over time.
+ </p>
+<p>
+ This command requires that the
+ <span><strong class="command">auto-dnssec</strong></span> zone option
+ be set to <code class="literal">maintain</code>,
+ and also requires the zone to be configured to
+ allow dynamic DNS.
+ (See "Dynamic Update Policies" in the Administrator
+ Reference Manual for more details.)
+ </p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>freeze [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
-<dd><p>
- Suspend updates to a dynamic zone. If no zone is
- specified, then all zones are suspended. This allows
- manual edits to be made to a zone normally updated by
- dynamic update. It also causes changes in the
- journal file to be synced into the master file.
- All dynamic update attempts will be refused while
- the zone is frozen.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
-<dd><p>
- Enable updates to a frozen dynamic zone. If no
- zone is specified, then all frozen zones are
- enabled. This causes the server to reload the zone
- from disk, and re-enables dynamic updates after the
- load has completed. After a zone is thawed,
- dynamic updates will no longer be refused. If
- the zone has changed and the
- <span><strong class="command">ixfr-from-differences</strong></span> option is
- in use, then the journal file will be updated to
- reflect changes in the zone. Otherwise, if the
- zone has changed, any existing journal file will be
- removed.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>sync [<span class="optional">-clean</span>] [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
-<dd><p>
- Sync changes in the journal file for a dynamic zone
- to the master file. If the "-clean" option is
- specified, the journal file is also removed. If
- no zone is specified, then all zones are synced.
- </p></dd>
<dt><span class="term"><strong class="userinput"><code>notify <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd><p>
- Resend NOTIFY messages for the zone.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>reconfig</code></strong></span></dt>
-<dd><p>
- Reload the configuration file and load new zones,
- but do not reload existing zone files even if they
- have changed.
- This is faster than a full <span><strong class="command">reload</strong></span> when there
- is a large number of zones because it avoids the need
- to examine the
- modification times of the zones files.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>stats</code></strong></span></dt>
-<dd><p>
- Write server statistics to the statistics file.
- </p></dd>
+ Resend NOTIFY messages for the zone.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>notrace</code></strong></span></dt>
+<dd>
+<p>
+ Sets the server's debugging level to 0.
+ </p>
+<p>
+ See also <span><strong class="command">rndc trace</strong></span>.
+ </p>
+</dd>
<dt><span class="term"><strong class="userinput"><code>querylog</code></strong> [<span class="optional">on|off</span>] </span></dt>
<dd>
<p>
- Enable or disable query logging. (For backward
- compatibility, this command can also be used without
- an argument to toggle query logging on and off.)
- </p>
-<p>
- Query logging can also be enabled
- by explicitly directing the <span><strong class="command">queries</strong></span>
- <span><strong class="command">category</strong></span> to a
- <span><strong class="command">channel</strong></span> in the
- <span><strong class="command">logging</strong></span> section of
- <code class="filename">named.conf</code> or by specifying
- <span><strong class="command">querylog yes;</strong></span> in the
- <span><strong class="command">options</strong></span> section of
- <code class="filename">named.conf</code>.
- </p>
+ Enable or disable query logging. (For backward
+ compatibility, this command can also be used without
+ an argument to toggle query logging on and off.)
+ </p>
+<p>
+ Query logging can also be enabled
+ by explicitly directing the <span><strong class="command">queries</strong></span>
+ <span><strong class="command">category</strong></span> to a
+ <span><strong class="command">channel</strong></span> in the
+ <span><strong class="command">logging</strong></span> section of
+ <code class="filename">named.conf</code> or by specifying
+ <span><strong class="command">querylog yes;</strong></span> in the
+ <span><strong class="command">options</strong></span> section of
+ <code class="filename">named.conf</code>.
+ </p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>dumpdb [<span class="optional">-all|-cache|-zone</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
-<dd><p>
- Dump the server's caches (default) and/or zones to
- the
- dump file for the specified views. If no view is
- specified, all
- views are dumped.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
-<dd><p>
- Dump the server's security roots to the secroots
- file for the specified views. If no view is
- specified, security roots for all
- views are dumped.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>stop [<span class="optional">-p</span>]</code></strong></span></dt>
-<dd><p>
- Stop the server, making sure any recent changes
- made through dynamic update or IXFR are first saved to
- the master files of the updated zones.
- If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
- This allows an external process to determine when <span><strong class="command">named</strong></span>
- had completed stopping.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>halt [<span class="optional">-p</span>]</code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>reconfig</code></strong></span></dt>
<dd><p>
- Stop the server immediately. Recent changes
- made through dynamic update or IXFR are not saved to
- the master files, but will be rolled forward from the
- journal files when the server is restarted.
- If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
- This allows an external process to determine when <span><strong class="command">named</strong></span>
- had completed halting.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>trace</code></strong></span></dt>
+ Reload the configuration file and load new zones,
+ but do not reload existing zone files even if they
+ have changed.
+ This is faster than a full <span><strong class="command">reload</strong></span> when there
+ is a large number of zones because it avoids the need
+ to examine the
+ modification times of the zones files.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>recursing</code></strong></span></dt>
<dd><p>
- Increment the servers debugging level by one.
+ Dump the list of queries <span><strong class="command">named</strong></span> is currently
+ recursing on, and the list of domains to which iterative
+ queries are currently being sent. (The second list includes
+ the number of fetches currently active for the given domain,
+ and how many have been passed or dropped because of the
+ <code class="option">fetches-per-zone</code> option.)
</p></dd>
-<dt><span class="term"><strong class="userinput"><code>trace <em class="replaceable"><code>level</code></em></code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>refresh <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd><p>
- Sets the server's debugging level to an explicit
- value.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>notrace</code></strong></span></dt>
+ Schedule zone maintenance for the given zone.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>reload</code></strong></span></dt>
<dd><p>
- Sets the server's debugging level to 0.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>flush</code></strong></span></dt>
+ Reload configuration file and zones.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>reload <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd><p>
- Flushes the server's cache.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>flushname</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
+ Reload the given zone.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>retransfer <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+<dd>
+<p>
+ Retransfer the given slave zone from the master server.
+ </p>
+<p>
+ If the zone is configured to use
+ <span><strong class="command">inline-signing</strong></span>, the signed
+ version of the zone is discarded; after the
+ retransfer of the unsigned version is complete, the
+ signed version will be regenerated with all new
+ signatures.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dd><p>
- Flushes the given name from the server's DNS cache
- and, if applicable, from the server's nameserver address
- database or bad-server cache.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>flushtree</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
+ Dump the server's security roots to the secroots
+ file for the specified views. If no view is
+ specified, security roots for all
+ views are dumped.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>sign <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+<dd>
+<p>
+ Fetch all DNSSEC keys for the given zone
+ from the key directory (see the
+ <span><strong class="command">key-directory</strong></span> option in
+ the BIND 9 Administrator Reference Manual). If they are within
+ their publication period, merge them into the
+ zone's DNSKEY RRset. If the DNSKEY RRset
+ is changed, then the zone is automatically
+ re-signed with the new key set.
+ </p>
+<p>
+ This command requires that the
+ <span><strong class="command">auto-dnssec</strong></span> zone option be set
+ to <code class="literal">allow</code> or
+ <code class="literal">maintain</code>,
+ and also requires the zone to be configured to
+ allow dynamic DNS.
+ (See "Dynamic Update Policies" in the Administrator
+ Reference Manual for more details.)
+ </p>
+<p>
+ See also <span><strong class="command">rndc loadkeys</strong></span>.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>signing [<span class="optional">( -list | -clear <em class="replaceable"><code>keyid/algorithm</code></em> | -clear <code class="literal">all</code> | -nsec3param ( <em class="replaceable"><code>parameters</code></em> | <code class="literal">none</code> ) ) </span>] <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+<dd>
+<p>
+ List, edit, or remove the DNSSEC signing state records
+ for the specified zone. The status of ongoing DNSSEC
+ operations (such as signing or generating
+ NSEC3 chains) is stored in the zone in the form
+ of DNS resource records of type
+ <span><strong class="command">sig-signing-type</strong></span>.
+ <span><strong class="command">rndc signing -list</strong></span> converts
+ these records into a human-readable form,
+ indicating which keys are currently signing
+ or have finished signing the zone, and which NSEC3
+ chains are being created or removed.
+ </p>
+<p>
+ <span><strong class="command">rndc signing -clear</strong></span> can remove
+ a single key (specified in the same format that
+ <span><strong class="command">rndc signing -list</strong></span> uses to
+ display it), or all keys. In either case, only
+ completed keys are removed; any record indicating
+ that a key has not yet finished signing the zone
+ will be retained.
+ </p>
+<p>
+ <span><strong class="command">rndc signing -nsec3param</strong></span> sets
+ the NSEC3 parameters for a zone. This is the
+ only supported mechanism for using NSEC3 with
+ <span><strong class="command">inline-signing</strong></span> zones.
+ Parameters are specified in the same format as
+ an NSEC3PARAM resource record: hash algorithm,
+ flags, iterations, and salt, in that order.
+ </p>
+<p>
+ Currently, the only defined value for hash algorithm
+ is <code class="literal">1</code>, representing SHA-1.
+ The <code class="option">flags</code> may be set to
+ <code class="literal">0</code> or <code class="literal">1</code>,
+ depending on whether you wish to set the opt-out
+ bit in the NSEC3 chain. <code class="option">iterations</code>
+ defines the number of additional times to apply
+ the algorithm when generating an NSEC3 hash. The
+ <code class="option">salt</code> is a string of data expressed
+ in hexadecimal, or a hyphen (`-') if no salt is
+ to be used.
+ </p>
+<p>
+ So, for example, to create an NSEC3 chain using
+ the SHA-1 hash algorithm, no opt-out flag,
+ 10 iterations, and a salt value of "FFFF", use:
+ <span><strong class="command">rndc signing -nsec3param 1 0 10 FFFF <em class="replaceable"><code>zone</code></em></strong></span>.
+ To set the opt-out flag, 15 iterations, and no
+ salt, use:
+ <span><strong class="command">rndc signing -nsec3param 1 1 15 - <em class="replaceable"><code>zone</code></em></strong></span>.
+ </p>
+<p>
+ <span><strong class="command">rndc signing -nsec3param none</strong></span>
+ removes an existing NSEC3 chain and replaces it
+ with NSEC.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>stats</code></strong></span></dt>
<dd><p>
- Flushes the given name, and all of its subdomains,
- from the server's DNS cache. Note that this does
- <span class="emphasis"><em>not</em></span> affect he server's address
- database or bad-server cache.
- </p></dd>
+ Write server statistics to the statistics file.
+ (See the <span><strong class="command">statistics-file</strong></span> option in
+ the BIND 9 Administrator Reference Manual.)
+ </p></dd>
<dt><span class="term"><strong class="userinput"><code>status</code></strong></span></dt>
<dd><p>
- Display status of the server.
- Note that the number of zones includes the internal <span><strong class="command">bind/CH</strong></span> zone
- and the default <span><strong class="command">./IN</strong></span>
- hint zone if there is not an
- explicit root zone configured.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>recursing</code></strong></span></dt>
-<dd><p>
- Dump the list of queries <span><strong class="command">named</strong></span> is currently recursing
- on.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>validation ( on | off | check ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
-<dd><p>
- Enable, disable, or check the current status of
- DNSSEC validation.
- Note <span><strong class="command">dnssec-enable</strong></span> also needs to be
- set to <strong class="userinput"><code>yes</code></strong> or
- <strong class="userinput"><code>auto</code></strong> to be effective.
- It defaults to enabled.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>tsig-list</code></strong></span></dt>
-<dd><p>
- List the names of all TSIG keys currently configured
- for use by <span><strong class="command">named</strong></span> in each view. The
- list both statically configured keys and dynamic
- TKEY-negotiated keys.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>tsig-delete</code></strong> <em class="replaceable"><code>keyname</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span></dt>
-<dd><p>
- Delete a given TKEY-negotiated key from the server.
- (This does not apply to statically configured TSIG
- keys.)
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>addzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] <em class="replaceable"><code>configuration</code></em> </code></strong></span></dt>
+ Display status of the server.
+ Note that the number of zones includes the internal <span><strong class="command">bind/CH</strong></span> zone
+ and the default <span><strong class="command">./IN</strong></span>
+ hint zone if there is not an
+ explicit root zone configured.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>stop [<span class="optional">-p</span>]</code></strong></span></dt>
<dd>
<p>
- Add a zone while the server is running. This
- command requires the
- <span><strong class="command">allow-new-zones</strong></span> option to be set
- to <strong class="userinput"><code>yes</code></strong>. The
- <em class="replaceable"><code>configuration</code></em> string
- specified on the command line is the zone
- configuration text that would ordinarily be
- placed in <code class="filename">named.conf</code>.
- </p>
-<p>
- The configuration is saved in a file called
- <code class="filename"><em class="replaceable"><code>hash</code></em>.nzf</code>,
- where <em class="replaceable"><code>hash</code></em> is a
- cryptographic hash generated from the name of
- the view. When <span><strong class="command">named</strong></span> is
- restarted, the file will be loaded into the view
- configuration, so that zones that were added
- can persist after a restart.
- </p>
-<p>
- This sample <span><strong class="command">addzone</strong></span> command
- would add the zone <code class="literal">example.com</code>
- to the default view:
- </p>
-<p>
-<code class="prompt">$ </code><strong class="userinput"><code>rndc addzone example.com '{ type master; file "example.com.db"; };'</code></strong>
- </p>
+ Stop the server, making sure any recent changes
+ made through dynamic update or IXFR are first saved to
+ the master files of the updated zones.
+ If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
+ This allows an external process to determine when <span><strong class="command">named</strong></span>
+ had completed stopping.
+ </p>
+<p>See also <span><strong class="command">rndc halt</strong></span>.</p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>sync [<span class="optional">-clean</span>] [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
+<dd><p>
+ Sync changes in the journal file for a dynamic zone
+ to the master file. If the "-clean" option is
+ specified, the journal file is also removed. If
+ no zone is specified, then all zones are synced.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
+<dd>
<p>
- (Note the brackets and semi-colon around the zone
- configuration text.)
- </p>
+ Enable updates to a frozen dynamic zone. If no
+ zone is specified, then all frozen zones are
+ enabled. This causes the server to reload the zone
+ from disk, and re-enables dynamic updates after the
+ load has completed. After a zone is thawed,
+ dynamic updates will no longer be refused. If
+ the zone has changed and the
+ <span><strong class="command">ixfr-from-differences</strong></span> option is
+ in use, then the journal file will be updated to
+ reflect changes in the zone. Otherwise, if the
+ zone has changed, any existing journal file will be
+ removed.
+ </p>
+<p>See also <span><strong class="command">rndc freeze</strong></span>.</p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>delzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>trace</code></strong></span></dt>
<dd><p>
- Delete a zone while the server is running.
- Only zones that were originally added via
- <span><strong class="command">rndc addzone</strong></span> can be deleted
- in this manner.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>signing [<span class="optional">( -list | -clear <em class="replaceable"><code>keyid/algorithm</code></em> | -clear <code class="literal">all</code> | -nsec3param ( <em class="replaceable"><code>parameters</code></em> | <code class="literal">none</code> ) ) </span>] <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+ Increment the servers debugging level by one.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>trace <em class="replaceable"><code>level</code></em></code></strong></span></dt>
<dd>
<p>
- List, edit, or remove the DNSSEC signing state records
- for the specified zone. The status of ongoing DNSSEC
- operations (such as signing or generating
- NSEC3 chains) is stored in the zone in the form
- of DNS resource records of type
- <span><strong class="command">sig-signing-type</strong></span>.
- <span><strong class="command">rndc signing -list</strong></span> converts
- these records into a human-readable form,
- indicating which keys are currently signing
- or have finished signing the zone, and which NSEC3
- chains are being created or removed.
- </p>
-<p>
- <span><strong class="command">rndc signing -clear</strong></span> can remove
- a single key (specified in the same format that
- <span><strong class="command">rndc signing -list</strong></span> uses to
- display it), or all keys. In either case, only
- completed keys are removed; any record indicating
- that a key has not yet finished signing the zone
- will be retained.
- </p>
-<p>
- <span><strong class="command">rndc signing -nsec3param</strong></span> sets
- the NSEC3 parameters for a zone. This is the
- only supported mechanism for using NSEC3 with
- <span><strong class="command">inline-signing</strong></span> zones.
- Parameters are specified in the same format as
- an NSEC3PARAM resource record: hash algorithm,
- flags, iterations, and salt, in that order.
- </p>
-<p>
- Currently, the only defined value for hash algorithm
- is <code class="literal">1</code>, representing SHA-1.
- The <code class="option">flags</code> may be set to
- <code class="literal">0</code> or <code class="literal">1</code>,
- depending on whether you wish to set the opt-out
- bit in the NSEC3 chain. <code class="option">iterations</code>
- defines the number of additional times to apply
- the algorithm when generating an NSEC3 hash. The
- <code class="option">salt</code> is a string of data expressed
- in hexadecimal, or a hyphen (`-') if no salt is
- to be used.
- </p>
-<p>
- So, for example, to create an NSEC3 chain using
- the SHA-1 hash algorithm, no opt-out flag,
- 10 iterations, and a salt value of "FFFF", use:
- <span><strong class="command">rndc signing -nsec3param 1 0 10 FFFF <em class="replaceable"><code>zone</code></em></strong></span>.
- To set the opt-out flag, 15 iterations, and no
- salt, use:
- <span><strong class="command">rndc signing -nsec3param 1 1 15 - <em class="replaceable"><code>zone</code></em></strong></span>.
- </p>
-<p>
- <span><strong class="command">rndc signing -nsec3param none</strong></span>
- removes an existing NSEC3 chain and replaces it
- with NSEC.
- </p>
+ Sets the server's debugging level to an explicit
+ value.
+ </p>
+<p>
+ See also <span><strong class="command">rndc notrace</strong></span>.
+ </p>
</dd>
+<dt><span class="term"><strong class="userinput"><code>tsig-delete</code></strong> <em class="replaceable"><code>keyname</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span></dt>
+<dd><p>
+ Delete a given TKEY-negotiated key from the server.
+ (This does not apply to statically configured TSIG
+ keys.)
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>tsig-list</code></strong></span></dt>
+<dd><p>
+ List the names of all TSIG keys currently configured
+ for use by <span><strong class="command">named</strong></span> in each view. The
+ list both statically configured keys and dynamic
+ TKEY-negotiated keys.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>validation ( on | off | check ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
+<dd><p>
+ Enable, disable, or check the current status of
+ DNSSEC validation.
+ Note <span><strong class="command">dnssec-enable</strong></span> also needs to be
+ set to <strong class="userinput"><code>yes</code></strong> or
+ <strong class="userinput"><code>auto</code></strong> to be effective.
+ It defaults to enabled.
+ </p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2541986"></a><h2>LIMITATIONS</h2>
+<a name="id2544994"></a><h2>LIMITATIONS</h2>
<p>
There is currently no way to provide the shared secret for a
<code class="option">key_id</code> without using the configuration file.
@@ -490,7 +535,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2542004"></a><h2>SEE ALSO</h2>
+<a name="id2545012"></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>,
@@ -500,7 +545,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2545200"></a><h2>AUTHOR</h2>
+<a name="id2545067"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/bin/rndc/util.c b/bin/rndc/util.c
index c654462bf04d..7716451da0e3 100644
--- a/bin/rndc/util.c
+++ b/bin/rndc/util.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -26,6 +26,7 @@
#include <stdio.h>
#include <isc/boolean.h>
+#include <isc/print.h>
#include "util.h"
@@ -44,7 +45,7 @@ notify(const char *fmt, ...) {
}
}
-void
+void
fatal(const char *format, ...) {
va_list args;
@@ -54,4 +55,4 @@ fatal(const char *format, ...) {
va_end(args);
fprintf(stderr, "\n");
exit(1);
-}
+}
diff --git a/bin/tools/arpaname.c b/bin/tools/arpaname.c
index 356a883a45da..14609b57965f 100644
--- a/bin/tools/arpaname.c
+++ b/bin/tools/arpaname.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2015 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
@@ -19,6 +19,7 @@
#include "config.h"
#include <isc/net.h>
+#include <isc/print.h>
#include <stdio.h>
diff --git a/bin/tools/isc-hmac-fixup.c b/bin/tools/isc-hmac-fixup.c
index 00613b387c48..e443675ab34f 100644
--- a/bin/tools/isc-hmac-fixup.c
+++ b/bin/tools/isc-hmac-fixup.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2010, 2014, 2015 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
@@ -21,6 +21,7 @@
#include <isc/base64.h>
#include <isc/buffer.h>
#include <isc/md5.h>
+#include <isc/print.h>
#include <isc/region.h>
#include <isc/result.h>
#include <isc/sha1.h>
diff --git a/bin/tools/named-journalprint.c b/bin/tools/named-journalprint.c
index 36d1acd3136d..035cb6e28c92 100644
--- a/bin/tools/named-journalprint.c
+++ b/bin/tools/named-journalprint.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -22,6 +22,7 @@
#include <isc/log.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/util.h>
#include <dns/journal.h>
diff --git a/config.h.in b/config.h.in
index 0182145366c6..c336ba349d38 100644
--- a/config.h.in
+++ b/config.h.in
@@ -169,6 +169,10 @@ int sigwait(const unsigned int *set, int *sig);
/* Define to enable "rrset-order fixed" syntax. */
#undef DNS_RDATASET_FIXED
+/* Define to enable the "fetches-per-server" and "fetches-per-zone" options.
+ */
+#undef ENABLE_FETCHLIMIT
+
/* Define to enable rpz-nsdname rules. */
#undef ENABLE_RPZ_NSDNAME
@@ -470,6 +474,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Enable DNS Response Rate Limiting */
#undef USE_RRL
+/* Define to enable very verbose query trace logging. */
+#undef WANT_QUERYTRACE
+
/* define if idnkit support is to be included. */
#undef WITH_IDN
diff --git a/configure.in b/configure.in
index 53cfaf291ee3..6909b69460fc 100644
--- a/configure.in
+++ b/configure.in
@@ -72,6 +72,7 @@ case "$enable_developer" in
yes)
STD_CDEFINES="$STD_CDEFINES -DISC_LIST_CHECKINIT=1"
test "${enable_fixed_rrset+set}" = set || enable_fixed_rrset=yes
+ test "${enable_querytrace+set}" = set || enable_querytrace=yes
test "${with_atf+set}" = set || with_atf=yes
test "${enable_filter_aaaa+set}" = set || enable_filter_aaaa=yes
test "${enable_rrl+set}" = set || enable_rrl=yes
@@ -85,6 +86,7 @@ yes)
;;
esac
test "${enable_symtable+set}" = set || enable_symtable=all
+ test "${enable_fetchlimit+set}" = set || enable_fetchlimit=yes
test "${enable_warn_error+set}" = set || enable_warn_error=yes
test "${enable_warn_shadow+set}" = set || enable_warn_shadow=yes
;;
@@ -166,7 +168,7 @@ case "$use_python" in
for p in $python
do
AC_PATH_PROGS(PYTHON, $p)
- if test "X$PYTHON" == "X"; then
+ if test "X$PYTHON" = "X"; then
continue;
fi
AC_MSG_CHECKING([python module 'argparse'])
@@ -178,7 +180,7 @@ case "$use_python" in
unset ac_cv_path_PYTHON
unset PYTHON
done
- if test "X$PYTHON" == "X"
+ if test "X$PYTHON" = "X"
then
AC_MSG_CHECKING([for python support])
case "$use_python" in
@@ -776,12 +778,15 @@ shared library configuration (e.g., LD_LIBRARY_PATH).)],
AC_MSG_CHECKING(whether linking with OpenSSL requires -ldl)
AC_TRY_LINK([
-#include <openssl/err.h>],
+#include <openssl/err.h>
+#include <openssl/dso.h>
+],
[ DSO_METHOD_dlfcn(); ],
[AC_MSG_RESULT(no)],
[LIBS="$LIBS -ldl"
AC_TRY_LINK([
#include <openssl/err.h>
+#include <openssl/dso.h>
],[ DSO_METHOD_dlfcn(); ],
[AC_MSG_RESULT(yes)
DNS_OPENSSL_LIBS="$DNS_OPENSSL_LIBS -ldl"
@@ -1490,8 +1495,13 @@ case "$use_libxml2" in
libxml2_cflags=`xml2-config --cflags`
;;
*)
- libxml2_libs=
- libxml2_cflags=
+ if test "$use_libxml2" = "yes" ; then
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR(required libxml2 version not available)
+ else
+ libxml2_libs=
+ libxml2_cflags=
+ fi
;;
esac
;;
@@ -1570,7 +1580,7 @@ if test "X$GCC" = "Xyes"; then
STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith"
AC_MSG_CHECKING(if "$CC" supports -fno-strict-aliasing)
SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fno-strict-aliasing"
+ CFLAGS="$CFLAGS -Werror -fno-strict-aliasing"
AC_TRY_COMPILE(,, [FNOSTRICTALIASING=yes],[FNOSTRICTALIASING=no])
CFLAGS="$SAVE_CFLAGS"
if test "$FNOSTRICTALIASING" = "yes"; then
@@ -1584,7 +1594,7 @@ if test "X$GCC" = "Xyes"; then
#
AC_MSG_CHECKING(if "$CC" supports -fno-delete-null-pointer-checks)
SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
+ CFLAGS="$CFLAGS -Werror -fno-delete-null-pointer-checks"
AC_TRY_COMPILE(,, [FNODELETENULLPOINTERCHECKS=yes],
[FNODELETENULLPOINTERCHECKS=no])
CFLAGS="$SAVE_CFLAGS"
@@ -2575,21 +2585,62 @@ AC_SUBST(ISC_PLATFORM_NEEDSTRCASESTR)
AC_SUBST(READLINE_LIB)
AC_ARG_WITH(readline,
- [ --with-readline[=LIBSPEC] specify readline library [default -lreadline]],
- readline="$withval", readline="-lreadline")
+ [ --with-readline[=LIBSPEC] specify readline library [default auto]],
+ readline="$withval", readline="auto")
case "$readline" in
no) ;;
+yes|auto)
+ saved_LIBS="$LIBS"
+ for readline in -ledit -lreadline
+ do
+ LIBS="$readline"
+ AC_MSG_NOTICE(checking for readline with $readline)
+ AC_CHECK_FUNCS(readline)
+ if test "$ac_cv_func_readline" = "yes"
+ then
+ READLINE_LIB="$readline"
+ break
+ fi
+ if test "X$readline" = "X"
+ then
+ continue
+ fi
+ for lib in -lterminfo -ltermcap -lncurses -lcurses
+ do
+ AC_MSG_NOTICE(checking for readline with $readline $lib)
+ unset ac_cv_func_readline
+ LIBS="$readline $lib"
+ AC_CHECK_FUNCS(readline)
+ if test "$ac_cv_func_readline" = "yes"
+ then
+ READLINE_LIB="$readline $lib"
+ break
+ fi
+ done
+ done
+ LIBS="$saved_LIBS"
+ ;;
*)
- if test "x$readline" = "xyes"
- then
- readline=-lreadline
- fi
saved_LIBS="$LIBS"
LIBS="$readline"
+ AC_MSG_NOTICE(checking for readline with $readline)
AC_CHECK_FUNCS(readline)
if test "$ac_cv_func_readline" = "yes"
then
READLINE_LIB="$readline"
+ else
+ for lib in -lterminfo -ltermcap -lncurses -lcurses
+ do
+ AC_MSG_NOTICE(checking for readline with $readline $lib)
+ unset ac_cv_func_readline
+ LIBS="$readline $lib"
+ AC_CHECK_FUNCS(readline)
+ if test "$ac_cv_func_readline" = "yes"
+ then
+ READLINE_LIB="$readline $lib"
+ break
+ fi
+ done
fi
LIBS="$saved_LIBS"
;;
@@ -2597,40 +2648,65 @@ esac
ISC_PRINT_OBJS=
ISC_PRINT_SRCS=
-AC_MSG_CHECKING(sprintf)
+ISC_PLATFORM_NEEDPRINTF='#undef ISC_PLATFORM_NEEDPRINTF'
+ISC_PLATFORM_NEEDFPRINTF='#undef ISC_PLATFORM_NEEDFPRINTF'
+ISC_PLATFORM_NEEDSPRINTF='#undef ISC_PLATFORM_NEEDSPRINTF'
+ISC_PLATFORM_NEEDVSNPRINTF='#undef ISC_PLATFORM_NEEDVSNPRINTF'
+LWRES_PLATFORM_NEEDVSNPRINTF='#undef LWRES_PLATFORM_NEEDVSNPRINTF'
+
+AC_MSG_CHECKING(sprintf return type)
AC_TRY_COMPILE([
#include <stdio.h>
],
[ char buf[2]; return(*sprintf(buf,"x"));],
-[
+[AC_MSG_RESULT(char *)
ISC_PRINT_OBJS="print.$O"
ISC_PRINT_SRCS="print.c"
ISC_PLATFORM_NEEDSPRINTF="#define ISC_PLATFORM_NEEDSPRINTF"
LWRES_PLATFORM_NEEDSPRINTF="#define LWRES_PLATFORM_NEEDSPRINTF"
-],
-[ISC_PLATFORM_NEEDSPRINTF="#undef ISC_PLATFORM_NEEDSPRINTF"
- LWRES_PLATFORM_NEEDSPRINTF="#undef LWRES_PLATFORM_NEEDSPRINTF"]
-)
-AC_SUBST(ISC_PLATFORM_NEEDSPRINTF)
-AC_SUBST(LWRES_PLATFORM_NEEDSPRINTF)
+],[AC_MSG_RESULT(int)])
-AC_CHECK_FUNC(vsnprintf,
- [ISC_PLATFORM_NEEDVSNPRINTF="#undef ISC_PLATFORM_NEEDVSNPRINTF"
- LWRES_PLATFORM_NEEDVSNPRINTF="#undef LWRES_PLATFORM_NEEDVSNPRINTF"],
+AC_CHECK_FUNC(vsnprintf, [],
[ISC_PRINT_OBJS="print.$O"
ISC_PRINT_SRCS="print.c"
ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"
LWRES_PLATFORM_NEEDVSNPRINTF="#define LWRES_PLATFORM_NEEDVSNPRINTF 1"])
+
+AC_MSG_CHECKING(printf for %z support)
+AC_TRY_RUN([
+#include <stdio.h>
+main() {
+ size_t j = 0;
+ char buf[100];
+ buf[0] = 0;
+ sprintf(buf, "%zu", j);
+ exit(strcmp(buf, "0") != 0);
+}
+],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ ISC_PRINT_OBJS="print.$O"
+ ISC_PRINT_SRCS="print.c"
+ ISC_PLATFORM_NEEDPRINTF='#define ISC_PLATFORM_NEEDPRINTF 1'
+ ISC_PLATFORM_NEEDFPRINTF='#define ISC_PLATFORM_NEEDFPRINTF 1'
+ ISC_PLATFORM_NEEDFSRINTF='#define ISC_PLATFORM_NEEDSPRINTF 1'
+ ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"
+ LWRES_PLATFORM_NEEDVSNPRINTF="#define LWRES_PLATFORM_NEEDVSNPRINTF 1"],
+ [AC_MSG_RESULT(assuming target platform supports %z)])
+
+AC_SUBST(ISC_PLATFORM_NEEDPRINTF)
+AC_SUBST(ISC_PLATFORM_NEEDFPRINTF)
+AC_SUBST(ISC_PLATFORM_NEEDSPRINTF)
AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
+AC_SUBST(LWRES_PLATFORM_NEEDSPRINTF)
AC_SUBST(LWRES_PLATFORM_NEEDVSNPRINTF)
+
ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS $ISC_PRINT_OBJS"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS $ISC_PRINT_SRCS"
-
-AC_CHECK_FUNC(strerror, AC_DEFINE(HAVE_STRERROR))
-
AC_SUBST(ISC_EXTRA_OBJS)
AC_SUBST(ISC_EXTRA_SRCS)
+AC_CHECK_FUNC(strerror, AC_DEFINE(HAVE_STRERROR))
#
# Use our own SPNEGO implementation?
#
@@ -2694,6 +2770,7 @@ main() {
AC_SUBST(ISC_PLATFORM_QUADFORMAT)
AC_SUBST(LWRES_PLATFORM_QUADFORMAT)
+
#
# Security Stuff
#
@@ -3007,6 +3084,9 @@ case "$enable_atomic" in
esac
ISC_PLATFORM_USEOSFASM="#undef ISC_PLATFORM_USEOSFASM"
+ISC_PLATFORM_USEGCCASM="#undef ISC_PLATFORM_USEGCCASM"
+ISC_PLATFORM_USESTDASM="#undef ISC_PLATFORM_USESTDASM"
+ISC_PLATFORM_USEMACASM="#undef ISC_PLATFORM_USEMACASM"
if test "$use_atomic" = "yes"; then
AC_MSG_CHECKING([architecture type for atomic operations])
have_atomic=yes # set default
@@ -3127,15 +3207,15 @@ if test "$have_atomic" = "yes"; then
ISC_PLATFORM_HAVEXADD="#define ISC_PLATFORM_HAVEXADD 1"
ISC_PLATFORM_HAVECMPXCHG="#define ISC_PLATFORM_HAVECMPXCHG 1"
ISC_PLATFORM_HAVEATOMICSTORE="#define ISC_PLATFORM_HAVEATOMICSTORE 1"
+ if test "$have_xaddq" = "yes"; then
+ ISC_PLATFORM_HAVEXADDQ="#define ISC_PLATFORM_HAVEXADDQ 1"
+ else
+ ISC_PLATFORM_HAVEXADDQ="#undef ISC_PLATFORM_HAVEXADDQ"
+ fi
else
ISC_PLATFORM_HAVEXADD="#undef ISC_PLATFORM_HAVEXADD"
ISC_PLATFORM_HAVECMPXCHG="#undef ISC_PLATFORM_HAVECMPXCHG"
ISC_PLATFORM_HAVEATOMICSTORE="#undef ISC_PLATFORM_HAVEATOMICSTORE"
-fi
-
-if test "$have_xaddq" = "yes"; then
- ISC_PLATFORM_HAVEXADDQ="#define ISC_PLATFORM_HAVEXADDQ 1"
-else
ISC_PLATFORM_HAVEXADDQ="#undef ISC_PLATFORM_HAVEXADDQ"
fi
@@ -3208,7 +3288,25 @@ case "$enable_nsdname" in
esac
#
-# Activate "filter-aaaa-on-v4" or not?
+# Activate recursive fetch limits
+#
+AC_ARG_ENABLE(fetchlimit,
+ [ --enable-fetchlimit enable recursive fetch limits [[default=no]]],
+ enable_fetchlimit="$enableval",
+ enable_fetchlimit="no")
+case "$enable_fetchlimit" in
+ yes)
+ AC_DEFINE(ENABLE_FETCHLIMIT, 1,
+ [Define to enable the "fetches-per-server" and "fetches-per-zone" options.])
+ ;;
+ no)
+ ;;
+ *)
+ ;;
+esac
+
+#
+# Activate "filter-aaaa" or not?
#
AC_ARG_ENABLE(filter-aaaa,
[ --enable-filter-aaaa enable filtering of AAAA records over IPv4
@@ -3297,6 +3395,13 @@ AC_PATH_PROG(DOXYGEN, doxygen, doxygen)
AC_SUBST(DOXYGEN)
#
+# Look for curl
+#
+
+AC_PATH_PROG(CURL, curl, curl)
+AC_SUBST(CURL)
+
+#
# Subroutine for searching for an ordinary file (e.g., a stylesheet)
# in a number of directories:
#
@@ -3518,6 +3623,26 @@ AC_CHECK_HEADERS(locale.h)
AC_CHECK_FUNCS(setlocale)
#
+# was --enable-querytrace specified?
+#
+AC_ARG_ENABLE(querytrace,
+ [ --enable-querytrace enable very verbose query trace logging [[default=no]]],
+ want_querytrace="$enableval", want_querytrace="no")
+
+case "$want_querytrace" in
+yes)
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(WANT_QUERYTRACE, 1, [Define to enable very verbose query trace logging.])
+ ;;
+no)
+ AC_MSG_RESULT(no)
+ ;;
+*)
+ AC_MSG_ERROR("--enable-querytrace requires yes or no")
+ ;;
+esac
+
+#
# Substitutions
#
AC_SUBST(BIND9_TOP_BUILDDIR)
@@ -3921,9 +4046,11 @@ AC_CONFIG_FILES([
bin/tests/system/dlz/prereq.sh
bin/tests/system/dlzexternal/Makefile
bin/tests/system/dlzexternal/ns1/named.conf
+ bin/tests/system/fetchlimit/Makefile
bin/tests/system/filter-aaaa/Makefile
bin/tests/system/inline/checkdsa.sh
bin/tests/system/lwresd/Makefile
+ bin/tests/system/statistics/Makefile
bin/tests/system/rpz/Makefile
bin/tests/system/rrl/Makefile
bin/tests/system/rsabigexponent/Makefile
@@ -4054,6 +4181,8 @@ $use_threads && echo " Multiprocessing support (--enable-threads)"
test "$enable_rrl" = "yes" && \
echo " Response Rate Limiting (--enable-rrl)"
+test "$enable_fetchlimit" = "yes" && \
+ echo " Recursive fetch limits for DoS attack mitigation (--enable-fetchlimit)"
test "$use_gssapi" = "no" || echo " GSS-API (--with-gssapi)"
test "$use_pkcs11" = "no" || echo " PKCS#11/Cryptoki support (--with-pkcs11)"
test "$enable_newstats" = "yes" && \
@@ -4068,6 +4197,8 @@ test "$want_symtable" = "minimal" && \
echo " Use symbol table for backtrace, named only (--enable-symtable)"
test "$want_symtable" = "yes" -o "$want_symtable" = "all" && \
echo " Use symbol table for backtrace, all binaries (--enable-symtable=all)"
+test "$want_querytrace" = "yes" && \
+ echo " Very verbose query trace logging (--enable-querytrace)"
test "$atf" = "no" || echo " Automated Testing Framework (--with-atf)"
# these lines are only printed if run with --enable-full-report
@@ -4108,6 +4239,8 @@ test "$enable_ipv6" = "no" -o "$found_ipv6" = "no" && \
echo " IPv6 support (--enable-ipv6)"
test "$enable_rrl" = "yes" || \
echo " Response Rate Limiting (--enable-rrl)"
+test "$enable_fetchlimit" = "no" && \
+ echo " Recursive fetch limits for DoS attack mitigation (--enable-fetchlimit)"
test "$use_gssapi" = "no" && echo " GSS-API (--with-gssapi)"
test "$use_pkcs11" = "no" && echo " PKCS#11/Cryptoki support (--with-pkcs11)"
test "X$enable_newstats" = "X" && echo " New statistics (--enable-newstats)"
@@ -4115,6 +4248,8 @@ test "$enable_fixed" = "yes" || \
echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)"
test "$want_backtrace" = "yes" || \
echo " Print backtrace on crash (--enable-backtrace)"
+test "$want_querytrace" = "yes" || \
+ echo " Very verbose query trace logging (--enable-querytrace)"
test "$atf" = "no" && echo " Automated Testing Framework (--with-atf)"
test "X$USE_OPENSSL" = "X" && \
echo " OpenSSL cryptography/DNSSEC (--with-openssl)"
diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml
index 89db89591c80..d46710ff4342 100644
--- a/doc/arm/Bv9ARM-book.xml
+++ b/doc/arm/Bv9ARM-book.xml
@@ -646,7 +646,7 @@
<para>
ISC <acronym>BIND</acronym> 9 compiles and runs on a large
number
- of Unix-like operating systems and on
+ of Unix-like operating systems and on
Microsoft Windows Server 2003 and 2008, and Windows XP and Vista.
For an up-to-date
list of supported systems, see the README file in the top level
@@ -1390,7 +1390,7 @@ controls {
<command>allow-update</command> or an <command>update-policy</command>
clause in the <command>zone</command> statement.
</para>
-
+
<para>
If the zone's <command>update-policy</command> is set to
<userinput>local</userinput>, updates to the zone
@@ -2234,10 +2234,10 @@ allow-update { key host1-host2. ;};
To enable <command>named</command> to validate answers from
other servers, the <command>dnssec-enable</command> option
must be set to <userinput>yes</userinput>, and the
- <command>dnssec-validation</command> options must be set to
+ <command>dnssec-validation</command> options must be set to
<userinput>yes</userinput> or <userinput>auto</userinput>.
</para>
-
+
<para>
If <command>dnssec-validation</command> is set to
<userinput>auto</userinput>, then a default
@@ -2250,7 +2250,7 @@ allow-update { key host1-host2. ;};
will not occur. The default setting is
<userinput>yes</userinput>.
</para>
-
+
<para>
<command>trusted-keys</command> are copies of DNSKEY RRs
for zones that are used to form the first link in the
@@ -2359,7 +2359,7 @@ options {
including missing, expired, or invalid signatures, a key which
does not match the DS RRset in the parent zone, or an insecure
response from a zone which, according to its parent, should have
- been secure.
+ been secure.
</para>
<note>
@@ -2419,7 +2419,7 @@ options {
the traditional "nibble" format used in the
<emphasis>ip6.arpa</emphasis> domain, as well as the older, deprecated
<emphasis>ip6.int</emphasis> domain.
- Older versions of <acronym>BIND</acronym> 9
+ Older versions of <acronym>BIND</acronym> 9
supported the "binary label" (also known as "bitstring") format,
but support of binary labels has been completely removed per
RFC 3363.
@@ -2878,7 +2878,7 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
"as big as possible", depending on the context.
See the explanations of particular parameters
that use <varname>size_spec</varname>
- for details on how they interpret its use.
+ for details on how they interpret its use.
</para>
<para>
Numeric values can optionally be followed by a
@@ -2897,12 +2897,12 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
(including <option>max-cache-size</option>), it may
mean the largest possible 32-bit unsigned integer
(0xffffffff); this distinction can be important when
- dealing with larger quantities.
+ dealing with larger quantities.
<varname>unlimited</varname> is usually the best way
to safely set a very large number.
</para>
<para>
- <varname>default</varname>
+ <varname>default</varname>
uses the limit that was in force when the server was started.
</para>
</entry>
@@ -3240,7 +3240,7 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
<para>
defines a named masters list for
inclusion in stub and slave zones'
- <command>masters</command> or
+ <command>masters</command> or
<command>also-notify</command> lists.
</para>
</entry>
@@ -3576,8 +3576,8 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
<title><command>key</command> Statement Grammar</title>
<programlisting><command>key</command> <replaceable>key_id</replaceable> {
- algorithm <replaceable>string</replaceable>;
- secret <replaceable>string</replaceable>;
+ algorithm <replaceable>algorithm_id</replaceable>;
+ secret <replaceable>secret_string</replaceable>;
};
</programlisting>
@@ -4652,7 +4652,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<title><command>masters</command> Statement Grammar</title>
<programlisting>
-<command>masters</command> <replaceable>name</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> { ( <replaceable>masters_list</replaceable> |
+<command>masters</command> <replaceable>name</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> { ( <replaceable>masters_list</replaceable> |
<replaceable>ip_addr</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> <optional>key <replaceable>key</replaceable></optional> ) ; <optional>...</optional> };
</programlisting>
@@ -4731,7 +4731,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<optional> forwarders { <optional> <replaceable>ip_addr</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> ; ... </optional> }; </optional>
<optional> dual-stack-servers <optional>port <replaceable>ip_port</replaceable></optional> {
( <replaceable>domain_name</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> |
- <replaceable>ip_addr</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> ) ;
+ <replaceable>ip_addr</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> ) ;
... }; </optional>
<optional> check-names ( <replaceable>master</replaceable> | <replaceable>slave</replaceable> | <replaceable>response</replaceable> )
( <replaceable>warn</replaceable> | <replaceable>fail</replaceable> | <replaceable>ignore</replaceable> ); </optional>
@@ -4774,8 +4774,8 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<optional> address ( <replaceable>ip4_addr</replaceable> | <replaceable>*</replaceable> ) </optional>
<optional> port ( <replaceable>ip_port</replaceable> | <replaceable>*</replaceable> ) </optional> ) ; </optional>
<optional> query-source-v6 ( ( <replaceable>ip6_addr</replaceable> | <replaceable>*</replaceable> )
- <optional> port ( <replaceable>ip_port</replaceable> | <replaceable>*</replaceable> ) </optional> |
- <optional> address ( <replaceable>ip6_addr</replaceable> | <replaceable>*</replaceable> ) </optional>
+ <optional> port ( <replaceable>ip_port</replaceable> | <replaceable>*</replaceable> ) </optional> |
+ <optional> address ( <replaceable>ip6_addr</replaceable> | <replaceable>*</replaceable> ) </optional>
<optional> port ( <replaceable>ip_port</replaceable> | <replaceable>*</replaceable> ) </optional> ) ; </optional>
<optional> use-queryport-pool <replaceable>yes_or_no</replaceable>; </optional>
<optional> queryport-pool-ports <replaceable>number</replaceable>; </optional>
@@ -4784,9 +4784,14 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<optional> max-transfer-time-out <replaceable>number</replaceable>; </optional>
<optional> max-transfer-idle-in <replaceable>number</replaceable>; </optional>
<optional> max-transfer-idle-out <replaceable>number</replaceable>; </optional>
- <optional> tcp-clients <replaceable>number</replaceable>; </optional>
<optional> reserved-sockets <replaceable>number</replaceable>; </optional>
<optional> recursive-clients <replaceable>number</replaceable>; </optional>
+ <optional> tcp-clients <replaceable>number</replaceable>; </optional>
+ <optional> clients-per-query <replaceable>number</replaceable> ; </optional>
+ <optional> max-clients-per-query <replaceable>number</replaceable> ; </optional>
+ <optional> fetches-per-server <replaceable>number</replaceable> <optional><replaceable>(drop | fail)</replaceable></optional>; </optional>
+ <optional> fetch-quota-params <replaceable>number fixedpoint fixedpoint fixedpoint</replaceable> ; </optional>
+ <optional> fetches-per-zone<replaceable>number</replaceable> <optional><replaceable>(drop | fail)</replaceable></optional>; </optional>
<optional> serial-query-rate <replaceable>number</replaceable>; </optional>
<optional> serial-queries <replaceable>number</replaceable>; </optional>
<optional> tcp-listen-queue <replaceable>number</replaceable>; </optional>
@@ -4865,8 +4870,6 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<optional> acache-enable <replaceable>yes_or_no</replaceable> ; </optional>
<optional> acache-cleaning-interval <replaceable>number</replaceable>; </optional>
<optional> max-acache-size <replaceable>size_spec</replaceable> ; </optional>
- <optional> clients-per-query <replaceable>number</replaceable> ; </optional>
- <optional> max-clients-per-query <replaceable>number</replaceable> ; </optional>
<optional> max-recursion-depth <replaceable>number</replaceable> ; </optional>
<optional> max-recursion-queries <replaceable>number</replaceable> ; </optional>
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>) ; </optional>
@@ -4900,12 +4903,12 @@ badresp:1,adberr:0,findfail:0,valfail:0]
zone <replaceable>zone_name</replaceable>
<optional> policy <replaceable>(given | disabled | passthru |
nxdomain | nodata | cname domain</replaceable>) </optional>
- <optional> recursive-only <replaceable>yes_or_no</replaceable> </optional>
- <optional> max-policy-ttl <replaceable>number</replaceable> </optional>
- <optional> break-dnssec <replaceable>yes_or_no</replaceable> </optional>
- <optional> min-ns-dots <replaceable>number</replaceable> </optional>
; <optional>...</optional>
- } ; </optional>
+ } <optional> recursive-only <replaceable>yes_or_no</replaceable> </optional>
+ <optional> max-policy-ttl <replaceable>number</replaceable> </optional>
+ <optional> break-dnssec <replaceable>yes_or_no</replaceable> </optional>
+ <optional> min-ns-dots <replaceable>number</replaceable> </optional>
+ ; </optional>
};
</programlisting>
@@ -5248,7 +5251,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
The pathname of a file to override the built-in trusted
keys provided by <command>named</command>.
See the discussion of <command>dnssec-lookaside</command>
- and <command>dnssec-validation</command> for details.
+ and <command>dnssec-validation</command> for details.
If not specified, the default is
<filename>/etc/bind.keys</filename>.
</para>
@@ -5526,7 +5529,7 @@ options {
<para>
Each <command>dns64</command> supports an optional
<command>mapped</command> ACL that selects which
- IPv4 addresses are to be mapped in the corresponding
+ IPv4 addresses are to be mapped in the corresponding
A RRset. If not defined it defaults to
<userinput>any;</userinput>.
</para>
@@ -6117,7 +6120,7 @@ options {
<listitem>
<para>
If <userinput>yes</userinput>, then an empty EDNS(0)
- NSID (Name Server Identifier) option is sent with all
+ NSID (Name Server Identifier) option is sent with all
queries to authoritative name servers during iterative
resolution. If the authoritative server returns an NSID
option in its response, then its contents are logged in
@@ -6340,7 +6343,7 @@ options {
<para>
If <userinput>yes</userinput>,
the DNS client is at an IPv4 address, in <command>filter-aaaa</command>,
- and if the response does not include DNSSEC signatures,
+ and if the response does not include DNSSEC signatures,
then all AAAA records are deleted from the response.
This filtering applies to all responses and not only
authoritative responses.
@@ -6352,8 +6355,8 @@ options {
because the DNSSEC protocol is designed detect deletions.
</para>
<para>
- This mechanism can erroneously cause other servers to
- not give AAAA records to their clients.
+ This mechanism can erroneously cause other servers to
+ not give AAAA records to their clients.
A recursing server with both IPv6 and IPv4 network connections
that queries an authoritative server using this mechanism
via IPv4 will be denied AAAA records even if its client is
@@ -6430,8 +6433,11 @@ options {
<term><command>dnssec-enable</command></term>
<listitem>
<para>
- Enable DNSSEC support in <command>named</command>. Unless set to <userinput>yes</userinput>,
- <command>named</command> behaves as if it does not support DNSSEC.
+ This indicates whether DNSSEC-related resource
+ records are to be returned by <command>named</command>.
+ If set to <userinput>no</userinput>,
+ <command>named</command> will not return DNSSEC-related
+ resource records unless specifically queried for.
The default is <userinput>yes</userinput>.
</para>
</listitem>
@@ -6454,6 +6460,14 @@ options {
<command>managed-keys</command> statement. The default
is <userinput>yes</userinput>.
</para>
+ <note>
+ <para>
+ Whenever the resolver sends out queries to an
+ EDNS-compliant server, it always sets the DO bit
+ indicating it can support DNSSEC responses even if
+ <command>dnssec-validation</command> is off.
+ </para>
+ </note>
</listitem>
</varlistentry>
@@ -7346,7 +7360,7 @@ avoid-v6-udp-ports {};
<para>
Note: BIND 9.5.0 introduced
- the <command>use-queryport-pool</command>
+ 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.
@@ -7384,7 +7398,7 @@ avoid-v6-udp-ports {};
</para>
</listitem>
</varlistentry>
-
+
</variablelist>
<note>
<para>
@@ -7522,7 +7536,7 @@ avoid-v6-udp-ports {};
</para>
<para>
In addition to controlling the rate SOA refresh
- queries are issued at
+ queries are issued at,
<command>serial-query-rate</command> also controls
the rate at which NOTIFY messages are sent from
both master and slave zones.
@@ -7933,17 +7947,33 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
<term><command>recursive-clients</command></term>
<listitem>
<para>
- The maximum number of simultaneous recursive lookups
- the server will perform on behalf of clients. The default
- is
+ The maximum number ("hard quota") of simultaneous
+ recursive lookups the server will perform on behalf
+ of clients. The default is
<literal>1000</literal>. Because each recursing
client uses a fair
- bit of memory, on the order of 20 kilobytes, the value of
- the
+ bit of memory (on the order of 20 kilobytes), the
+ value of the
<command>recursive-clients</command> option may
- have to be decreased
- on hosts with limited memory.
- </para>
+ have to be decreased on hosts with limited memory.
+ </para>
+ <para>
+ <option>recursive-clients</option> defines a "hard
+ quota" limit for pending recursive clients: when more
+ clients than this are pending, new incoming requests
+ will not be accepted, and for each incoming request
+ a previous pending request will also be dropped.
+ </para>
+ <para>
+ A "soft quota" is also set. When this lower
+ quota is exceeded, incoming requests are accepted, but
+ for each one, a pending request will be dropped.
+ If <option>recursive-clients</option> is greater than
+ 1000, the soft quota is set to
+ <option>recursive-clients</option> minus 100;
+ otherwise it is set to 90% of
+ <option>recursive-clients</option>.
+ </para>
</listitem>
</varlistentry>
@@ -7958,6 +7988,187 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</listitem>
</varlistentry>
+ <varlistentry id="clients-per-query">
+ <term><command>clients-per-query</command></term>
+ <term><command>max-clients-per-query</command></term>
+ <listitem>
+ <para>These set the
+ initial value (minimum) and maximum number of recursive
+ simultaneous clients for any given query
+ (&lt;qname,qtype,qclass&gt;) that the server will accept
+ before dropping additional clients. <command>named</command> will attempt to
+ self tune this value and changes will be logged. The
+ default values are 10 and 100.
+ </para>
+ <para>
+ This value should reflect how many queries come in for
+ a given name in the time it takes to resolve that name.
+ If the number of queries exceed this value, <command>named</command> will
+ assume that it is dealing with a non-responsive zone
+ and will drop additional queries. If it gets a response
+ after dropping queries, it will raise the estimate. The
+ estimate will then be lowered in 20 minutes if it has
+ remained unchanged.
+ </para>
+ <para>
+ If <command>clients-per-query</command> is set to zero,
+ then there is no limit on the number of clients per query
+ and no queries will be dropped.
+ </para>
+ <para>
+ If <command>max-clients-per-query</command> is set to zero,
+ then there is no upper bound other than imposed by
+ <command>recursive-clients</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="fetches-per-zone">
+ <term><command>fetches-per-zone</command></term>
+ <listitem>
+ <para>
+ The maximum number of simultaneous iterative
+ queries to any one domain that the server will
+ permit before blocking new queries for data
+ in or beneath that zone.
+ This value should reflect how many fetches would
+ normally be sent to any one zone in the time it
+ would take to resolve them. It should be smaller
+ than <option>recursive-clients</option>.
+ </para>
+ <para>
+ When many clients simultaneously query for the
+ same name and type, the clients will all be attached
+ to the same fetch, up to the
+ <option>max-clients-per-query</option> limit,
+ and only one iterative query will be sent.
+ However, when clients are simultaneously
+ querying for <emphasis>different</emphasis> names
+ or types, multiple queries will be sent and
+ <option>max-clients-per-query</option> is not
+ effective as a limit.
+ </para>
+ <para>
+ Optionally, this value may be followed by the keyword
+ <literal>drop</literal> or <literal>fail</literal>,
+ indicating whether queries which exceed the fetch
+ quota for a zone will be dropped with no response,
+ or answered with SERVFAIL. The default is
+ <literal>drop</literal>.
+ </para>
+ <para>
+ If <command>fetches-per-zone</command> is set to zero,
+ then there is no limit on the number of fetches per query
+ and no queries will be dropped. The default is zero.
+ </para>
+ <para>
+ The current list of active fetches can be dumped by
+ running <command>rndc recursing</command>. The list
+ includes the number of active fetches for each
+ domain and the number of queries that have been
+ passed or dropped as a result of the
+ <option>fetches-per-zone</option> limit. (Note:
+ these counters are not cumulative over time; whenever
+ the number of active fetches for a domain drops to
+ zero, the counter for that domain is deleted, and the
+ next time a fetch is sent to that domain, it is
+ recreated with the counters set to zero.)
+ </para>
+ <para>
+ (Note: This option is only available when BIND is
+ built with <command>configure --enable-fetchlimit</command>.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="fetches-per-server">
+ <term><command>fetches-per-server</command></term>
+ <listitem>
+ <para>
+ The maximum number of simultaneous iterative
+ queries that the server will allow to be sent to
+ a single upstream name server before blocking
+ additional queries.
+ This value should reflect how many fetches would
+ normally be sent to any one server in the time it
+ would take to resolve them. It should be smaller
+ than <option>recursive-clients</option>.
+ </para>
+ <para>
+ Optionally, this value may be followed by the keyword
+ <literal>drop</literal> or <literal>fail</literal>,
+ indicating whether queries will be dropped with no
+ response, or answered with SERVFAIL, when all of the
+ servers authoritative for a zone are found to have
+ exceeded the per-server quota. The default is
+ <literal>fail</literal>.
+ </para>
+ <para>
+ If <command>fetches-per-server</command> is set to zero,
+ then there is no limit on the number of fetches per query
+ and no queries will be dropped. The default is zero.
+ </para>
+ <para>
+ The <command>fetches-per-server</command> quota is
+ dynamically adjusted in response to detected
+ congestion. As queries are sent to a server
+ and are either answered or time out, an
+ exponentially weighted moving average is calculated
+ of the ratio of timeouts to responses. If the
+ current average timeout ratio rises above a "high"
+ threshold, then <command>fetches-per-server</command>
+ is reduced for that server. If the timeout ratio
+ drops below a "low" threshold, then
+ <command>fetches-per-server</command> is increased.
+ The <command>fetch-quota-params</command> options
+ can be used to adjust the parameters for this
+ calculation.
+ </para>
+ <para>
+ (Note: This option is only available when BIND is
+ built with <command>configure --enable-fetchlimit</command>.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>fetch-quota-params</command></term>
+ <listitem>
+ <para>
+ Sets the parameters to use for dynamic resizing of
+ the <option>fetches-per-server</option> quota in
+ response to detected congestion.
+ </para>
+ <para>
+ The first argument is an integer value indicating
+ how frequently to recalculate the moving average
+ of the ratio of timeouts to responses for each
+ server. The default is 100, meaning we recalculate
+ the average ratio after every 100 queries have either
+ been answered or timed out.
+ </para>
+ <para>
+ The remaining three arguments represent the "low"
+ threshold (defaulting to a timeout ratio of 0.1),
+ the "high" threshold (defaulting to a timeout
+ ratio of 0.3), and the discount rate for
+ the moving average (defaulting to 0.7).
+ A higher discount rate causes recent events to
+ weigh more heavily when calculating the moving
+ average; a lower discount rate causes past
+ events to weigh more heavily, smoothing out
+ short-term blips in the timeout ratio.
+ These arguments are all fixed-point numbers with
+ precision of 1/100: at most two places after
+ the decimal point are significant.
+ </para>
+ <para>
+ (Note: This option is only available when BIND is
+ built with <command>configure --enable-fetchlimit</command>.)
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><command>reserved-sockets</command></term>
<listitem>
@@ -8015,7 +8226,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
waiting for
some data before being passed to accept. Nonzero values
less than 10 will be silently raised. A value of 0 may also
- be used; on most platforms this sets the listen queue
+ be used; on most platforms this sets the listen queue
length to a system-defined default value.
</para>
</listitem>
@@ -8658,41 +8869,6 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</listitem>
</varlistentry>
- <varlistentry id="clients-per-query">
- <term><command>clients-per-query</command></term>
- <term><command>max-clients-per-query</command></term>
- <listitem>
- <para>These set the
- initial value (minimum) and maximum number of recursive
- simultaneous clients for any given query
- (&lt;qname,qtype,qclass&gt;) that the server will accept
- before dropping additional clients. <command>named</command> will attempt to
- self tune this value and changes will be logged. The
- default values are 10 and 100.
- </para>
- <para>
- This value should reflect how many queries come in for
- a given name in the time it takes to resolve that name.
- If the number of queries exceed this value, <command>named</command> will
- assume that it is dealing with a non-responsive zone
- and will drop additional queries. If it gets a response
- after dropping queries, it will raise the estimate. The
- estimate will then be lowered in 20 minutes if it has
- remained unchanged.
- </para>
- <para>
- If <command>clients-per-query</command> is set to zero,
- then there is no limit on the number of clients per query
- and no queries will be dropped.
- </para>
- <para>
- If <command>max-clients-per-query</command> is set to zero,
- then there is no upper bound other than imposed by
- <command>recursive-clients</command>.
- </para>
- </listitem>
- </varlistentry>
-
<varlistentry id="max-recursion-depth">
<term><command>max-recursion-depth</command></term>
<listitem>
@@ -8719,7 +8895,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
is terminated and returns SERVFAIL. Queries to
look up top level comains such as "com" and "net"
and the DNS root zone are exempt from this limitation.
- The default is 50.
+ The default is 75.
</para>
</listitem>
</varlistentry>
@@ -8995,7 +9171,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><command>empty-contact</command></term>
<listitem>
@@ -9006,7 +9182,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><command>empty-zones-enable</command></term>
<listitem>
@@ -9016,7 +9192,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><command>disable-empty-zone</command></term>
<listitem>
@@ -9803,7 +9979,7 @@ ns.domain.com.rpz-nsdname CNAME .
<optional> max-udp-size <replaceable>number</replaceable> ; </optional>
<optional> transfers <replaceable>number</replaceable> ; </optional>
<optional> transfer-format <replaceable>( one-answer | many-answers )</replaceable> ; ]</optional>
- <optional> keys <replaceable>{ string ; <optional> string ; <optional>...</optional></optional> }</replaceable> ; </optional>
+ <optional> keys { <replaceable>key_id</replaceable> }; </optional>
<optional> transfer-source (<replaceable>ip4_addr</replaceable> | <constant>*</constant>) <optional>port <replaceable>ip_port</replaceable></optional> ; </optional>
<optional> transfer-source-v6 (<replaceable>ip6_addr</replaceable> | <constant>*</constant>) <optional>port <replaceable>ip_port</replaceable></optional> ; </optional>
<optional> notify-source (<replaceable>ip4_addr</replaceable> | <constant>*</constant>) <optional>port <replaceable>ip_port</replaceable></optional> ; </optional>
@@ -9960,11 +10136,7 @@ ns.domain.com.rpz-nsdname CNAME .
</para>
<para>
- Although the grammar of the <command>keys</command>
- clause
- allows for multiple keys, only a single key per server is
- currently
- supported.
+ Only a single key per server is currently supported.
</para>
<para>
@@ -10009,7 +10181,7 @@ ns.domain.com.rpz-nsdname CNAME .
whether the local server will add a NSID EDNS option
to requests sent to the server. This overrides
<command>request-nsid</command> set at the view or
- option level.
+ option level.
</para>
</sect2>
@@ -10087,9 +10259,9 @@ ns.domain.com.rpz-nsdname CNAME .
>http://127.0.0.1:8888/</ulink> or
<ulink url="http://127.0.0.1:8888/xml"
>http://127.0.0.1:8888/xml</ulink>. A CSS file is
- included which can format the XML statistics into tables
+ included which can format the XML statistics into tables
when viewed with a stylesheet-capable browser. When
- <acronym>BIND</acronym> 9 is configured with --enable-newstats,
+ <acronym>BIND</acronym> 9 is configured with --enable-newstats,
a new XML schema is used (version 3) which adds additional
zone statistics and uses a flatter tree for more efficient
parsing. The stylesheet included uses the Google Charts API
@@ -10099,10 +10271,10 @@ ns.domain.com.rpz-nsdname CNAME .
<para>
Applications that depend on a particular XML schema
- can request
+ can request
<ulink url="http://127.0.0.1:8888/xml/v2"
>http://127.0.0.1:8888/xml/v2</ulink> for version 2
- of the statistics XML schema or
+ of the statistics XML schema or
<ulink url="http://127.0.0.1:8888/xml/v3"
>http://127.0.0.1:8888/xml/v3</ulink> for version 3.
If the requested schema is supported by the server, then
@@ -10176,7 +10348,7 @@ ns.domain.com.rpz-nsdname CNAME .
<title><command>managed-keys</command> Statement Definition
and Usage</title>
<para>
- The <command>managed-keys</command> statement, like
+ The <command>managed-keys</command> statement, like
<command>trusted-keys</command>, defines DNSSEC
security roots. The difference is that
<command>managed-keys</command> can be kept up to date
@@ -10222,7 +10394,7 @@ ns.domain.com.rpz-nsdname CNAME .
<literal>initial-key</literal>. The difference is, whereas the
keys listed in a <command>trusted-keys</command> continue to be
trusted until they are removed from
- <filename>named.conf</filename>, an initializing key listed
+ <filename>named.conf</filename>, an initializing key listed
in a <command>managed-keys</command> statement is only trusted
<emphasis>once</emphasis>: for as long as it takes to load the
managed key database and start the RFC 5011 key maintenance
@@ -10598,7 +10770,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
type static-stub;
<optional> allow-query { <replaceable>address_match_list</replaceable> }; </optional>
<optional> server-addresses { <optional> <replaceable>ip_addr</replaceable> ; ... </optional> }; </optional>
- <optional> server-names { <optional> <replaceable>namelist</replaceable> </optional> }; </optional>
+ <optional> server-names { <optional> <replaceable>namelist</replaceable> </optional> }; </optional>
<optional> zone-statistics <replaceable>yes_or_no</replaceable> ; </optional>
};
@@ -10798,7 +10970,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
<para>
Each static-stub zone is configured with
internally generated NS and (if necessary)
- glue A or AAAA RRs
+ glue A or AAAA RRs
</para>
</entry>
</row>
@@ -10882,7 +11054,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
2001:ffff:ffff::100.100.100.2, one would
configure a type redirect zone named ".",
with the zone file containing wildcard records
- that point to the desired addresses:
+ that point to the desired addresses:
<literal>"*. IN A 100.100.100.2"</literal>
and
<literal>"*. IN AAAA 2001:ffff:ffff::100.100.100.2"</literal>.
@@ -10890,7 +11062,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
<para>
To redirect all Spanish names (under .ES) one
would use similar entries but with the names
- "*.ES." instead of "*.". To redirect all
+ "*.ES." instead of "*.". To redirect all
commercial Spanish names (under COM.ES) one
would use wildcard entries called "*.COM.ES.".
</para>
@@ -11659,7 +11831,7 @@ example.com. NS ns2.example.net.
<replaceable>zonename</replaceable></command> causes
<command>named</command> to load keys from the key
repository and sign the zone with all keys that are
- active.
+ active.
<command>rndc loadkeys
<replaceable>zonename</replaceable></command> causes
<command>named</command> to load keys from the key
@@ -11693,7 +11865,7 @@ example.com. NS ns2.example.net.
the zone is updated.
</para>
<para>
- When set to
+ When set to
<command>serial-update-method unixtime;</command>, the
SOA serial number will be set to the number of seconds
since the UNIX epoch, unless the serial number is
@@ -11726,7 +11898,7 @@ example.com. NS ns2.example.net.
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><command>masterfile-format</command></term>
<listitem>
@@ -12002,7 +12174,7 @@ example.com. NS ns2.example.net.
<para>
This rule takes a Windows machine principal
(machine$@REALM) for machine in REALM and
- and converts it machine.realm allowing the machine
+ and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
is specified in the <replaceable>identity</replaceable>
field.
@@ -12016,7 +12188,7 @@ example.com. NS ns2.example.net.
</para>
</entry> <entry colname="2">
<para>
- This rule takes a Windows machine principal
+ This rule takes a Windows machine principal
(machine$@REALM) for machine in REALM and
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
@@ -12034,7 +12206,7 @@ example.com. NS ns2.example.net.
<para>
This rule takes a Kerberos machine principal
(host/machine@REALM) for machine in REALM and
- and converts it machine.realm allowing the machine
+ and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
is specified in the <replaceable>identity</replaceable>
field.
@@ -12048,7 +12220,7 @@ example.com. NS ns2.example.net.
</para>
</entry> <entry colname="2">
<para>
- This rule takes a Kerberos machine principal
+ This rule takes a Kerberos machine principal
(host/machine@REALM) for machine in REALM and
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
@@ -12340,6 +12512,58 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ ATMA
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ ATM Address.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ CAA
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Identifies which Certificate Authorities can issue
+ certificates for this domain and what rules they
+ need to follow when doing so. Defined in RFC 6844.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ CDNSKEY
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Identifies which DNSKEY records should be published
+ as DS records in the parent zone.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ CDS
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Contains the set of DS records that should be published
+ by the parent zone.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
CERT
</para>
</entry>
@@ -12379,6 +12603,20 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ DLV
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ A DNS Look-aside Validation record which contains
+ the records that are used as trust anchors for
+ zones in a DLV namespace. Described in RFC 4431.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
DNAME
</para>
</entry>
@@ -12423,6 +12661,54 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ EID
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ End Point Identifier.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ EUI48
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ A 48-bit EUI address. Described in RFC 7043.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ EUI64
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ A 64-bit EUI address. Described in RFC 7043.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ GID
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Reserved.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
GPOS
</para>
</entry>
@@ -12448,6 +12734,19 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ HIP
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Host Identity Protocol Address.
+ Described in RFC 5205.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
IPSECKEY
</para>
</entry>
@@ -12502,6 +12801,34 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ L32
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Holds 32-bit Locator values for
+ Identifier-Locator Network Protocol. Described
+ in RFC 6742.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ L64
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Holds 64-bit Locator values for
+ Identifier-Locator Network Protocol. Described
+ in RFC 6742.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
LOC
</para>
</entry>
@@ -12515,6 +12842,91 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ LP
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Identifier-Locator Network Protocol.
+ Described in RFC 6742.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ MB
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Mail Box. Historical.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ MD
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Mail Destination. Historical.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ MF
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Mail Forwarder. Historical.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ MG
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Mail Group. Historical.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ MINFO
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Mail Information.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ MR
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Mail Rename. Historical.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
MX
</para>
</entry>
@@ -12542,6 +12954,32 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ NID
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Holds values for Node Identifiers in
+ Identifier-Locator Network Protocol. Described
+ in RFC 6742.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ NIMLOC
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Nimrod Locator.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
NSAP
</para>
</entry>
@@ -12555,6 +12993,18 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ NSAP-PTR
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Historical.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
NS
</para>
</entry>
@@ -12619,6 +13069,18 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ NULL
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ This is an opaque container.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
NXT
</para>
</entry>
@@ -12638,6 +13100,18 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ OPENPGPKEY
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Used to hold an OPENPGPKEY.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
PTR
</para>
</entry>
@@ -12772,6 +13246,19 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ TLSA
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Transport Layer Security Certificate Association.
+ Described in RFC 6698.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
TXT
</para>
</entry>
@@ -12784,6 +13271,54 @@ example.com. NS ns2.example.net.
<row rowsep="0">
<entry colname="1">
<para>
+ UID
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Reserved.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ UINFO
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Reserved.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ UNSPEC
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Reserved. Historical.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
+ URI
+ </para>
+ </entry>
+ <entry colname="2">
+ <para>
+ Holds a URI. Described in RFC 7553.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry colname="1">
+ <para>
WKS
</para>
</entry>
@@ -13444,7 +13979,7 @@ example.com. NS ns2.example.net.
<para>
When used in the label (or name) field, the asperand or
at-sign (@) symbol represents the current origin.
- At the start of the zone file, it is the
+ At the start of the zone file, it is the
&lt;<varname>zone_name</varname>&gt; (followed by
trailing dot).
</para>
diff --git a/doc/arm/Bv9ARM.ch01.html b/doc/arm/Bv9ARM.ch01.html
index 453ea4d8722b..ea3a6b682786 100644
--- a/doc/arm/Bv9ARM.ch01.html
+++ b/doc/arm/Bv9ARM.ch01.html
@@ -556,6 +556,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch02.html b/doc/arm/Bv9ARM.ch02.html
index 8daddb376d2e..f2f95dd8ebfc 100644
--- a/doc/arm/Bv9ARM.ch02.html
+++ b/doc/arm/Bv9ARM.ch02.html
@@ -128,7 +128,7 @@
<p>
ISC <acronym class="acronym">BIND</acronym> 9 compiles and runs on a large
number
- of Unix-like operating systems and on
+ of Unix-like operating systems and on
Microsoft Windows Server 2003 and 2008, and Windows XP and Vista.
For an up-to-date
list of supported systems, see the README file in the top level
@@ -154,6 +154,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch03.html b/doc/arm/Bv9ARM.ch03.html
index f612baabef96..d019d62c0aad 100644
--- a/doc/arm/Bv9ARM.ch03.html
+++ b/doc/arm/Bv9ARM.ch03.html
@@ -665,6 +665,6 @@ controls {
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch04.html b/doc/arm/Bv9ARM.ch04.html
index 1cc5498998ca..7cbc19ac9f5c 100644
--- a/doc/arm/Bv9ARM.ch04.html
+++ b/doc/arm/Bv9ARM.ch04.html
@@ -65,43 +65,43 @@
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571054">Generating Keys</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571338">Signing the Zone</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571419">Configuring Servers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571270">Signing the Zone</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571351">Configuring Servers</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609449">Converting from insecure to secure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609486">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563716">Fully automatic zone signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563963">Private-type records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564001">DNSKEY rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564013">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569781">Automatic key rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569808">NSEC3PARAM rollovers via UPDATE</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569817">Converting from NSEC to NSEC3</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569827">Converting from NSEC3 to NSEC</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608888">Converting from secure to insecure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608925">Periodic re-signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608935">NSEC3 and OPTOUT</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610615">Converting from insecure to secure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610652">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563653">Fully automatic zone signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563900">Private-type records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563938">DNSKEY rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563950">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564052">Automatic key rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564078">NSEC3PARAM rollovers via UPDATE</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564088">Converting from NSEC to NSEC3</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569832">Converting from NSEC3 to NSEC</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569845">Converting from secure to insecure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569882">Periodic re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569892">NSEC3 and OPTOUT</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569982">Validating Resolver</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570005">Authoritative Server</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610129">Validating Resolver</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610151">Authoritative Server</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#pkcs11">PKCS #11 (Cryptoki) support</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609020">Prerequisites</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610137">Building BIND 9 with PKCS#11</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2612651">PKCS #11 Tools</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2612682">Using the HSM</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636637">Specifying the engine on the command line</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636683">Running named with automatic zone re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2613326">Prerequisites</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611166">Building BIND 9 with PKCS#11</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2613408">PKCS #11 Tools</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2613438">Using the HSM</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2637735">Specifying the engine on the command line</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2637781">Running named with automatic zone re-signing</a></span></dt>
</dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571639">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571571">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571906">Address Lookups Using AAAA Records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571927">Address to Name Lookups Using Nibble Format</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571837">Address Lookups Using AAAA Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571859">Address to Name Lookups Using Nibble Format</a></span></dt>
</dl></dd>
</dl>
</div>
@@ -872,7 +872,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2571338"></a>Signing the Zone</h3></div></div></div>
+<a name="id2571270"></a>Signing the Zone</h3></div></div></div>
<p>
The <span><strong class="command">dnssec-signzone</strong></span> program is used
to sign a zone.
@@ -914,7 +914,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2571419"></a>Configuring Servers</h3></div></div></div>
+<a name="id2571351"></a>Configuring Servers</h3></div></div></div>
<p>
To enable <span><strong class="command">named</strong></span> to respond appropriately
to DNS requests from DNSSEC aware clients,
@@ -925,7 +925,7 @@ allow-update { key host1-host2. ;};
To enable <span><strong class="command">named</strong></span> to validate answers from
other servers, the <span><strong class="command">dnssec-enable</strong></span> option
must be set to <strong class="userinput"><code>yes</code></strong>, and the
- <span><strong class="command">dnssec-validation</strong></span> options must be set to
+ <span><strong class="command">dnssec-validation</strong></span> options must be set to
<strong class="userinput"><code>yes</code></strong> or <strong class="userinput"><code>auto</code></strong>.
</p>
<p>
@@ -1041,7 +1041,7 @@ options {
including missing, expired, or invalid signatures, a key which
does not match the DS RRset in the parent zone, or an insecure
response from a zone which, according to its parent, should have
- been secure.
+ been secure.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
@@ -1074,7 +1074,7 @@ options {
from insecure to signed and back again. A secure zone can use
either NSEC or NSEC3 chains.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2609449"></a>Converting from insecure to secure</h3></div></div></div></div>
+<a name="id2610615"></a>Converting from insecure to secure</h3></div></div></div></div>
<p>Changing a zone from insecure to secure can be done in two
ways: using a dynamic DNS update, or the
<span><strong class="command">auto-dnssec</strong></span> zone option.</p>
@@ -1100,7 +1100,7 @@ options {
well. An NSEC chain will be generated as part of the initial
signing process.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2609486"></a>Dynamic DNS update method</h3></div></div></div></div>
+<a name="id2610652"></a>Dynamic DNS update method</h3></div></div></div></div>
<p>To insert the keys via dynamic update:</p>
<pre class="screen">
% nsupdate
@@ -1136,7 +1136,7 @@ options {
<p>While the initial signing and NSEC/NSEC3 chain generation
is happening, other updates are possible as well.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2563716"></a>Fully automatic zone signing</h3></div></div></div></div>
+<a name="id2563653"></a>Fully automatic zone signing</h3></div></div></div></div>
<p>To enable automatic signing, add the
<span><strong class="command">auto-dnssec</strong></span> option to the zone statement in
<code class="filename">named.conf</code>.
@@ -1199,7 +1199,7 @@ options {
configuration. If this has not been done, the configuration will
fail.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2563963"></a>Private-type records</h3></div></div></div></div>
+<a name="id2563900"></a>Private-type records</h3></div></div></div></div>
<p>The state of the signing process is signaled by
private-type records (with a default type value of 65534). When
signing is complete, these records will have a nonzero value for
@@ -1240,12 +1240,12 @@ options {
<p>
</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2564001"></a>DNSKEY rollovers</h3></div></div></div></div>
+<a name="id2563938"></a>DNSKEY rollovers</h3></div></div></div></div>
<p>As with insecure-to-secure conversions, rolling DNSSEC
keys can be done in two ways: using a dynamic DNS update, or the
<span><strong class="command">auto-dnssec</strong></span> zone option.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2564013"></a>Dynamic DNS update method</h3></div></div></div></div>
+<a name="id2563950"></a>Dynamic DNS update method</h3></div></div></div></div>
<p> To perform key rollovers via dynamic update, you need to add
the <code class="filename">K*</code> files for the new keys so that
<span><strong class="command">named</strong></span> can find them. You can then add the new
@@ -1267,7 +1267,7 @@ options {
<span><strong class="command">named</strong></span> will clean out any signatures generated
by the old key after the update completes.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2569781"></a>Automatic key rollovers</h3></div></div></div></div>
+<a name="id2564052"></a>Automatic key rollovers</h3></div></div></div></div>
<p>When a new key reaches its activation date (as set by
<span><strong class="command">dnssec-keygen</strong></span> or <span><strong class="command">dnssec-settime</strong></span>),
if the <span><strong class="command">auto-dnssec</strong></span> zone option is set to
@@ -1282,27 +1282,27 @@ options {
completes in 30 days, after which it will be safe to remove the
old key from the DNSKEY RRset.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2569808"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div></div>
+<a name="id2564078"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div></div>
<p>Add the new NSEC3PARAM record via dynamic update. When the
new NSEC3 chain has been generated, the NSEC3PARAM flag field
will be zero. At this point you can remove the old NSEC3PARAM
record. The old chain will be removed after the update request
completes.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2569817"></a>Converting from NSEC to NSEC3</h3></div></div></div></div>
+<a name="id2564088"></a>Converting from NSEC to NSEC3</h3></div></div></div></div>
<p>To do this, you just need to add an NSEC3PARAM record. When
the conversion is complete, the NSEC chain will have been removed
and the NSEC3PARAM record will have a zero flag field. The NSEC3
chain will be generated before the NSEC chain is
destroyed.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2569827"></a>Converting from NSEC3 to NSEC</h3></div></div></div></div>
+<a name="id2569832"></a>Converting from NSEC3 to NSEC</h3></div></div></div></div>
<p>To do this, use <span><strong class="command">nsupdate</strong></span> to
remove all NSEC3PARAM records with a zero flag
field. The NSEC chain will be generated before the NSEC3 chain is
removed.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2608888"></a>Converting from secure to insecure</h3></div></div></div></div>
+<a name="id2569845"></a>Converting from secure to insecure</h3></div></div></div></div>
<p>To convert a signed zone to unsigned using dynamic DNS,
delete all the DNSKEY records from the zone apex using
<span><strong class="command">nsupdate</strong></span>. All signatures, NSEC or NSEC3 chains,
@@ -1317,14 +1317,14 @@ options {
<span><strong class="command">allow</strong></span> instead (or it will re-sign).
</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2608925"></a>Periodic re-signing</h3></div></div></div></div>
+<a name="id2569882"></a>Periodic re-signing</h3></div></div></div></div>
<p>In any secure zone which supports dynamic updates, named
will periodically re-sign RRsets which have not been re-signed as
a result of some update action. The signature lifetimes will be
adjusted so as to spread the re-sign load over time rather than
all at once.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2608935"></a>NSEC3 and OPTOUT</h3></div></div></div></div>
+<a name="id2569892"></a>NSEC3 and OPTOUT</h3></div></div></div></div>
<p>
<span><strong class="command">named</strong></span> only supports creating new NSEC3 chains
where all the NSEC3 records in the zone have the same OPTOUT
@@ -1346,7 +1346,7 @@ options {
configuration files.</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2569982"></a>Validating Resolver</h3></div></div></div>
+<a name="id2610129"></a>Validating Resolver</h3></div></div></div>
<p>To configure a validating resolver to use RFC 5011 to
maintain a trust anchor, configure the trust anchor using a
<span><strong class="command">managed-keys</strong></span> statement. Information about
@@ -1357,7 +1357,7 @@ options {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2570005"></a>Authoritative Server</h3></div></div></div>
+<a name="id2610151"></a>Authoritative Server</h3></div></div></div>
<p>To set up an authoritative zone for RFC 5011 trust anchor
maintenance, generate two (or more) key signing keys (KSKs) for
the zone. Sign the zone with one of them; this is the "active"
@@ -1431,7 +1431,7 @@ $ <strong class="userinput"><code>dnssec-signzone -S -K keys example.net</code><
Debian Linux, Solaris x86 and Windows Server 2003.</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2609020"></a>Prerequisites</h3></div></div></div>
+<a name="id2613326"></a>Prerequisites</h3></div></div></div>
<p>See the HSM vendor documentation for information about
installing, initializing, testing and troubleshooting the
HSM.</p>
@@ -1510,7 +1510,7 @@ $ <strong class="userinput"><code>patch -p1 -d openssl-0.9.8s \
when we configure BIND 9.</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2609731"></a>Building OpenSSL for the AEP Keyper on Linux</h4></div></div></div>
+<a name="id2610828"></a>Building OpenSSL for the AEP Keyper on Linux</h4></div></div></div>
<p>The AEP Keyper is a highly secure key storage device,
but does not provide hardware cryptographic acceleration. It
can carry out cryptographic operations, but it is probably
@@ -1542,7 +1542,7 @@ $ <strong class="userinput"><code>./Configure linux-generic32 -m32 -pthread \
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2609868"></a>Building OpenSSL for the SCA 6000 on Solaris</h4></div></div></div>
+<a name="id2610898"></a>Building OpenSSL for the SCA 6000 on Solaris</h4></div></div></div>
<p>The SCA-6000 PKCS #11 provider is installed as a system
library, libpkcs11. It is a true crypto accelerator, up to 4
times faster than any CPU, so the flavor shall be
@@ -1564,7 +1564,7 @@ $ <strong class="userinput"><code>./Configure solaris64-x86_64-cc \
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2609986"></a>Building OpenSSL for SoftHSM</h4></div></div></div>
+<a name="id2611015"></a>Building OpenSSL for SoftHSM</h4></div></div></div>
<p>SoftHSM is a software library provided by the OpenDNSSEC
project (http://www.opendnssec.org) which provides a PKCS#11
interface to a virtual HSM, implemented in the form of encrypted
@@ -1624,12 +1624,12 @@ $ <strong class="userinput"><code>./Configure linux-x86_64 -pthread \
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2610137"></a>Building BIND 9 with PKCS#11</h3></div></div></div>
+<a name="id2611166"></a>Building BIND 9 with PKCS#11</h3></div></div></div>
<p>When building BIND 9, the location of the custom-built
OpenSSL library must be specified via configure.</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610146"></a>Configuring BIND 9 for Linux with the AEP Keyper</h4></div></div></div>
+<a name="id2611175"></a>Configuring BIND 9 for Linux with the AEP Keyper</h4></div></div></div>
<p>To link with the PKCS #11 provider, threads must be
enabled in the BIND 9 build.</p>
<p>The PKCS #11 library for the AEP Keyper is currently
@@ -1645,7 +1645,7 @@ $ <strong class="userinput"><code>./configure CC="gcc -m32" --enable-threads \
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610178"></a>Configuring BIND 9 for Solaris with the SCA 6000</h4></div></div></div>
+<a name="id2611275"></a>Configuring BIND 9 for Solaris with the SCA 6000</h4></div></div></div>
<p>To link with the PKCS #11 provider, threads must be
enabled in the BIND 9 build.</p>
<pre class="screen">
@@ -1663,7 +1663,7 @@ $ <strong class="userinput"><code>./configure CC="cc -xarch=amd64" --enable-thre
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610214"></a>Configuring BIND 9 for SoftHSM</h4></div></div></div>
+<a name="id2611312"></a>Configuring BIND 9 for SoftHSM</h4></div></div></div>
<pre class="screen">
$ <strong class="userinput"><code>cd ../bind9</code></strong>
$ <strong class="userinput"><code>./configure --enable-threads \
@@ -1680,7 +1680,7 @@ $ <strong class="userinput"><code>./configure --enable-threads \
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2612651"></a>PKCS #11 Tools</h3></div></div></div>
+<a name="id2613408"></a>PKCS #11 Tools</h3></div></div></div>
<p>BIND 9 includes a minimal set of tools to operate the
HSM, including
<span><strong class="command">pkcs11-keygen</strong></span> to generate a new key pair
@@ -1698,7 +1698,7 @@ $ <strong class="userinput"><code>./configure --enable-threads \
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2612682"></a>Using the HSM</h3></div></div></div>
+<a name="id2613438"></a>Using the HSM</h3></div></div></div>
<p>First, we must set up the runtime environment so the
OpenSSL and PKCS #11 libraries can be loaded:</p>
<pre class="screen">
@@ -1786,7 +1786,7 @@ example.net.signed
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2636637"></a>Specifying the engine on the command line</h3></div></div></div>
+<a name="id2637735"></a>Specifying the engine on the command line</h3></div></div></div>
<p>The OpenSSL engine can be specified in
<span><strong class="command">named</strong></span> and all of the BIND
<span><strong class="command">dnssec-*</strong></span> tools by using the "-E
@@ -1807,7 +1807,7 @@ $ <strong class="userinput"><code>dnssec-signzone -E '' -S example.net</code></s
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2636683"></a>Running named with automatic zone re-signing</h3></div></div></div>
+<a name="id2637781"></a>Running named with automatic zone re-signing</h3></div></div></div>
<p>If you want
<span><strong class="command">named</strong></span> to dynamically re-sign zones using HSM
keys, and/or to to sign new records inserted via nsupdate, then
@@ -1843,7 +1843,7 @@ $ <strong class="userinput"><code>dnssec-signzone -E '' -S example.net</code></s
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2571639"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
+<a name="id2571571"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> 9 fully supports all currently
defined forms of IPv6 name to address and address to name
@@ -1865,7 +1865,7 @@ $ <strong class="userinput"><code>dnssec-signzone -E '' -S example.net</code></s
the traditional "nibble" format used in the
<span class="emphasis"><em>ip6.arpa</em></span> domain, as well as the older, deprecated
<span class="emphasis"><em>ip6.int</em></span> domain.
- Older versions of <acronym class="acronym">BIND</acronym> 9
+ Older versions of <acronym class="acronym">BIND</acronym> 9
supported the "binary label" (also known as "bitstring") format,
but support of binary labels has been completely removed per
RFC 3363.
@@ -1881,7 +1881,7 @@ $ <strong class="userinput"><code>dnssec-signzone -E '' -S example.net</code></s
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2571906"></a>Address Lookups Using AAAA Records</h3></div></div></div>
+<a name="id2571837"></a>Address Lookups Using AAAA Records</h3></div></div></div>
<p>
The IPv6 AAAA record is a parallel to the IPv4 A record,
and, unlike the deprecated A6 record, specifies the entire
@@ -1900,7 +1900,7 @@ host 3600 IN AAAA 2001:db8::1
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2571927"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
+<a name="id2571859"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
<p>
When looking up an address in nibble format, the address
components are simply reversed, just as in IPv4, and
@@ -1935,6 +1935,6 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch05.html b/doc/arm/Bv9ARM.ch05.html
index 63f523a134ad..d9c6e3a4259f 100644
--- a/doc/arm/Bv9ARM.ch05.html
+++ b/doc/arm/Bv9ARM.ch05.html
@@ -45,13 +45,13 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
-<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2571960">The Lightweight Resolver Library</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2571892">The Lightweight Resolver Library</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
</dl>
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2571960"></a>The Lightweight Resolver Library</h2></div></div></div>
+<a name="id2571892"></a>The Lightweight Resolver Library</h2></div></div></div>
<p>
Traditionally applications have been linked with a stub resolver
library that sends recursive DNS queries to a local caching name
@@ -139,6 +139,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html
index a0754c6556a1..244e0fa290b8 100644
--- a/doc/arm/Bv9ARM.ch06.html
+++ b/doc/arm/Bv9ARM.ch06.html
@@ -66,9 +66,9 @@
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574875"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575001"><span><strong class="command">logging</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577168"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577241"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577305"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577236"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577309"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577373"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577417"><span><strong class="command">masters</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577438"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
@@ -78,28 +78,28 @@
<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#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590489"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590832"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#trusted-keys"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590796"><span><strong class="command">trusted-keys</strong></span> Statement Definition
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591139"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590843"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591186"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#managed-keys"><span><strong class="command">managed-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#id2591278"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591553"><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#id2592987"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2593398"><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#id2596605">Zone File</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2597084">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#id2598768">Discussion of MX Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2600002">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#id2599451">Inverse Mapping in IPv4</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599578">Other Zone File Directives</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599851"><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#id2600549">Inverse Mapping in IPv4</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2600812">Other Zone File Directives</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2601017"><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#statistics">BIND9 Statistics</a></span></dt>
@@ -424,7 +424,7 @@
"as big as possible", depending on the context.
See the explanations of particular parameters
that use <code class="varname">size_spec</code>
- for details on how they interpret its use.
+ for details on how they interpret its use.
</p>
<p>
Numeric values can optionally be followed by a
@@ -443,12 +443,12 @@
(including <code class="option">max-cache-size</code>), it may
mean the largest possible 32-bit unsigned integer
(0xffffffff); this distinction can be important when
- dealing with larger quantities.
+ dealing with larger quantities.
<code class="varname">unlimited</code> is usually the best way
to safely set a very large number.
</p>
<p>
- <code class="varname">default</code>
+ <code class="varname">default</code>
uses the limit that was in force when the server was started.
</p>
</td>
@@ -777,7 +777,7 @@
<p>
defines a named masters list for
inclusion in stub and slave zones'
- <span><strong class="command">masters</strong></span> or
+ <span><strong class="command">masters</strong></span> or
<span><strong class="command">also-notify</strong></span> lists.
</p>
</td>
@@ -1094,8 +1094,8 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574761"></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>;
+ algorithm <em class="replaceable"><code>algorithm_id</code></em>;
+ secret <em class="replaceable"><code>secret_string</code></em>;
};
</pre>
</div>
@@ -2063,7 +2063,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2577168"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2577236"></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:
@@ -2079,7 +2079,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2577241"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
+<a name="id2577309"></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
@@ -2130,9 +2130,9 @@ badresp:1,adberr:0,findfail:0,valfail:0]
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2577305"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2577373"></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> |
+<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>
@@ -2208,7 +2208,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[<span class="optional"> forwarders { [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; ... </span>] }; </span>]
[<span class="optional"> dual-stack-servers [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] {
( <em class="replaceable"><code>domain_name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] |
- <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ) ;
+ <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ) ;
... }; </span>]
[<span class="optional"> check-names ( <em class="replaceable"><code>master</code></em> | <em class="replaceable"><code>slave</code></em> | <em class="replaceable"><code>response</code></em> )
( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
@@ -2251,8 +2251,8 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[<span class="optional"> address ( <em class="replaceable"><code>ip4_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
[<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] ) ; </span>]
[<span class="optional"> query-source-v6 ( ( <em class="replaceable"><code>ip6_addr</code></em> | <em class="replaceable"><code>*</code></em> )
- [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] |
- [<span class="optional"> address ( <em class="replaceable"><code>ip6_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
+ [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] |
+ [<span class="optional"> address ( <em class="replaceable"><code>ip6_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
[<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] ) ; </span>]
[<span class="optional"> use-queryport-pool <em class="replaceable"><code>yes_or_no</code></em>; </span>]
[<span class="optional"> queryport-pool-ports <em class="replaceable"><code>number</code></em>; </span>]
@@ -2261,9 +2261,14 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[<span class="optional"> max-transfer-time-out <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> max-transfer-idle-in <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> max-transfer-idle-out <em class="replaceable"><code>number</code></em>; </span>]
- [<span class="optional"> tcp-clients <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> reserved-sockets <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> recursive-clients <em class="replaceable"><code>number</code></em>; </span>]
+ [<span class="optional"> tcp-clients <em class="replaceable"><code>number</code></em>; </span>]
+ [<span class="optional"> clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
+ [<span class="optional"> max-clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
+ [<span class="optional"> fetches-per-server <em class="replaceable"><code>number</code></em> [<span class="optional"><em class="replaceable"><code>(drop | fail)</code></em></span>]; </span>]
+ [<span class="optional"> fetch-quota-params <em class="replaceable"><code>number fixedpoint fixedpoint fixedpoint</code></em> ; </span>]
+ [<span class="optional"> fetches-per-zone<em class="replaceable"><code>number</code></em> [<span class="optional"><em class="replaceable"><code>(drop | fail)</code></em></span>]; </span>]
[<span class="optional"> serial-query-rate <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> serial-queries <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> tcp-listen-queue <em class="replaceable"><code>number</code></em>; </span>]
@@ -2342,8 +2347,6 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[<span class="optional"> acache-enable <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
[<span class="optional"> acache-cleaning-interval <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> max-acache-size <em class="replaceable"><code>size_spec</code></em> ; </span>]
- [<span class="optional"> clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
- [<span class="optional"> max-clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> max-recursion-depth <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> max-recursion-queries <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> masterfile-format (<code class="constant">text</code>|<code class="constant">raw</code>) ; </span>]
@@ -2377,12 +2380,12 @@ badresp:1,adberr:0,findfail:0,valfail:0]
zone <em class="replaceable"><code>zone_name</code></em>
[<span class="optional"> policy <em class="replaceable"><code>(given | disabled | passthru |
nxdomain | nodata | cname domain</code></em>) </span>]
- [<span class="optional"> recursive-only <em class="replaceable"><code>yes_or_no</code></em> </span>]
- [<span class="optional"> max-policy-ttl <em class="replaceable"><code>number</code></em> </span>]
- [<span class="optional"> break-dnssec <em class="replaceable"><code>yes_or_no</code></em> </span>]
- [<span class="optional"> min-ns-dots <em class="replaceable"><code>number</code></em> </span>]
; [<span class="optional">...</span>]
- } ; </span>]
+ } [<span class="optional"> recursive-only <em class="replaceable"><code>yes_or_no</code></em> </span>]
+ [<span class="optional"> max-policy-ttl <em class="replaceable"><code>number</code></em> </span>]
+ [<span class="optional"> break-dnssec <em class="replaceable"><code>yes_or_no</code></em> </span>]
+ [<span class="optional"> min-ns-dots <em class="replaceable"><code>number</code></em> </span>]
+ ; </span>]
};
</pre>
</div>
@@ -2640,7 +2643,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
The pathname of a file to override the built-in trusted
keys provided by <span><strong class="command">named</strong></span>.
See the discussion of <span><strong class="command">dnssec-lookaside</strong></span>
- and <span><strong class="command">dnssec-validation</strong></span> for details.
+ and <span><strong class="command">dnssec-validation</strong></span> for details.
If not specified, the default is
<code class="filename">/etc/bind.keys</code>.
</p></dd>
@@ -2862,7 +2865,7 @@ options {
<p>
Each <span><strong class="command">dns64</strong></span> supports an optional
<span><strong class="command">mapped</strong></span> ACL that selects which
- IPv4 addresses are to be mapped in the corresponding
+ IPv4 addresses are to be mapped in the corresponding
A RRset. If not defined it defaults to
<strong class="userinput"><code>any;</code></strong>.
</p>
@@ -3363,7 +3366,7 @@ options {
<dt><span class="term"><span><strong class="command">request-nsid</strong></span></span></dt>
<dd><p>
If <strong class="userinput"><code>yes</code></strong>, then an empty EDNS(0)
- NSID (Name Server Identifier) option is sent with all
+ NSID (Name Server Identifier) option is sent with all
queries to authoritative name servers during iterative
resolution. If the authoritative server returns an NSID
option in its response, then its contents are logged in
@@ -3549,7 +3552,7 @@ options {
<p>
If <strong class="userinput"><code>yes</code></strong>,
the DNS client is at an IPv4 address, in <span><strong class="command">filter-aaaa</strong></span>,
- and if the response does not include DNSSEC signatures,
+ and if the response does not include DNSSEC signatures,
then all AAAA records are deleted from the response.
This filtering applies to all responses and not only
authoritative responses.
@@ -3561,8 +3564,8 @@ options {
because the DNSSEC protocol is designed detect deletions.
</p>
<p>
- This mechanism can erroneously cause other servers to
- not give AAAA records to their clients.
+ This mechanism can erroneously cause other servers to
+ not give AAAA records to their clients.
A recursing server with both IPv6 and IPv4 network connections
that queries an authoritative server using this mechanism
via IPv4 will be denied AAAA records even if its client is
@@ -3627,12 +3630,16 @@ options {
</p></dd>
<dt><span class="term"><span><strong class="command">dnssec-enable</strong></span></span></dt>
<dd><p>
- Enable DNSSEC support in <span><strong class="command">named</strong></span>. Unless set to <strong class="userinput"><code>yes</code></strong>,
- <span><strong class="command">named</strong></span> behaves as if it does not support DNSSEC.
+ This indicates whether DNSSEC-related resource
+ records are to be returned by <span><strong class="command">named</strong></span>.
+ If set to <strong class="userinput"><code>no</code></strong>,
+ <span><strong class="command">named</strong></span> will not return DNSSEC-related
+ resource records unless specifically queried for.
The default is <strong class="userinput"><code>yes</code></strong>.
</p></dd>
<dt><span class="term"><span><strong class="command">dnssec-validation</strong></span></span></dt>
-<dd><p>
+<dd>
+<p>
Enable DNSSEC validation in <span><strong class="command">named</strong></span>.
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.
@@ -3645,7 +3652,17 @@ options {
a <span><strong class="command">trusted-keys</strong></span> or
<span><strong class="command">managed-keys</strong></span> statement. The default
is <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>
+ Whenever the resolver sends out queries to an
+ EDNS-compliant server, it always sets the DO bit
+ indicating it can support DNSSEC responses even if
+ <span><strong class="command">dnssec-validation</strong></span> is off.
+ </p>
+</div>
+</dd>
<dt><span class="term"><span><strong class="command">dnssec-accept-expired</strong></span></span></dt>
<dd><p>
Accept expired signatures when verifying DNSSEC signatures.
@@ -3874,7 +3891,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2583443"></a>Forwarding</h4></div></div></div>
+<a name="id2583480"></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
@@ -3918,7 +3935,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2583570"></a>Dual-stack Servers</h4></div></div></div>
+<a name="id2583607"></a>Dual-stack Servers</h4></div></div></div>
<p>
Dual-stack servers are used as servers of last resort to work
around
@@ -4186,7 +4203,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2584312"></a>Interfaces</h4></div></div></div>
+<a name="id2584281"></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
@@ -4352,7 +4369,7 @@ avoid-v6-udp-ports {};
</pre>
<p>
Note: BIND 9.5.0 introduced
- the <span><strong class="command">use-queryport-pool</strong></span>
+ 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.
@@ -4489,7 +4506,7 @@ avoid-v6-udp-ports {};
</p>
<p>
In addition to controlling the rate SOA refresh
- queries are issued at
+ queries are issued at,
<span><strong class="command">serial-query-rate</strong></span> also controls
the rate at which NOTIFY messages are sent from
both master and slave zones.
@@ -4660,7 +4677,7 @@ avoid-v6-udp-ports {};
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2585465"></a>UDP Port Lists</h4></div></div></div>
+<a name="id2585434"></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>,
@@ -4702,7 +4719,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2585525"></a>Operating System Resource Limits</h4></div></div></div>
+<a name="id2585562"></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
@@ -4795,24 +4812,216 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
Not implemented in BIND 9.
</p></dd>
<dt><span class="term"><span><strong class="command">recursive-clients</strong></span></span></dt>
-<dd><p>
- The maximum number of simultaneous recursive lookups
- the server will perform on behalf of clients. The default
- is
+<dd>
+<p>
+ The maximum number ("hard quota") of simultaneous
+ recursive lookups the server will perform on behalf
+ of clients. The default is
<code class="literal">1000</code>. Because each recursing
client uses a fair
- bit of memory, on the order of 20 kilobytes, the value of
- the
+ bit of memory (on the order of 20 kilobytes), the
+ value of the
<span><strong class="command">recursive-clients</strong></span> option may
- have to be decreased
- on hosts with limited memory.
- </p></dd>
+ have to be decreased on hosts with limited memory.
+ </p>
+<p>
+ <code class="option">recursive-clients</code> defines a "hard
+ quota" limit for pending recursive clients: when more
+ clients than this are pending, new incoming requests
+ will not be accepted, and for each incoming request
+ a previous pending request will also be dropped.
+ </p>
+<p>
+ A "soft quota" is also set. When this lower
+ quota is exceeded, incoming requests are accepted, but
+ for each one, a pending request will be dropped.
+ If <code class="option">recursive-clients</code> is greater than
+ 1000, the soft quota is set to
+ <code class="option">recursive-clients</code> minus 100;
+ otherwise it is set to 90% of
+ <code class="option">recursive-clients</code>.
+ </p>
+</dd>
<dt><span class="term"><span><strong class="command">tcp-clients</strong></span></span></dt>
<dd><p>
The maximum number of simultaneous client TCP
connections that the server will accept.
The default is <code class="literal">100</code>.
</p></dd>
+<dt>
+<a name="clients-per-query"></a><span class="term"><span><strong class="command">clients-per-query</strong></span>, </span><span class="term"><span><strong class="command">max-clients-per-query</strong></span></span>
+</dt>
+<dd>
+<p>These set the
+ initial value (minimum) and maximum number of recursive
+ simultaneous clients for any given query
+ (&lt;qname,qtype,qclass&gt;) that the server will accept
+ before dropping additional clients. <span><strong class="command">named</strong></span> will attempt to
+ self tune this value and changes will be logged. The
+ default values are 10 and 100.
+ </p>
+<p>
+ This value should reflect how many queries come in for
+ a given name in the time it takes to resolve that name.
+ If the number of queries exceed this value, <span><strong class="command">named</strong></span> will
+ assume that it is dealing with a non-responsive zone
+ and will drop additional queries. If it gets a response
+ after dropping queries, it will raise the estimate. The
+ estimate will then be lowered in 20 minutes if it has
+ remained unchanged.
+ </p>
+<p>
+ If <span><strong class="command">clients-per-query</strong></span> is set to zero,
+ then there is no limit on the number of clients per query
+ and no queries will be dropped.
+ </p>
+<p>
+ If <span><strong class="command">max-clients-per-query</strong></span> is set to zero,
+ then there is no upper bound other than imposed by
+ <span><strong class="command">recursive-clients</strong></span>.
+ </p>
+</dd>
+<dt>
+<a name="fetches-per-zone"></a><span class="term"><span><strong class="command">fetches-per-zone</strong></span></span>
+</dt>
+<dd>
+<p>
+ The maximum number of simultaneous iterative
+ queries to any one domain that the server will
+ permit before blocking new queries for data
+ in or beneath that zone.
+ This value should reflect how many fetches would
+ normally be sent to any one zone in the time it
+ would take to resolve them. It should be smaller
+ than <code class="option">recursive-clients</code>.
+ </p>
+<p>
+ When many clients simultaneously query for the
+ same name and type, the clients will all be attached
+ to the same fetch, up to the
+ <code class="option">max-clients-per-query</code> limit,
+ and only one iterative query will be sent.
+ However, when clients are simultaneously
+ querying for <span class="emphasis"><em>different</em></span> names
+ or types, multiple queries will be sent and
+ <code class="option">max-clients-per-query</code> is not
+ effective as a limit.
+ </p>
+<p>
+ Optionally, this value may be followed by the keyword
+ <code class="literal">drop</code> or <code class="literal">fail</code>,
+ indicating whether queries which exceed the fetch
+ quota for a zone will be dropped with no response,
+ or answered with SERVFAIL. The default is
+ <code class="literal">drop</code>.
+ </p>
+<p>
+ If <span><strong class="command">fetches-per-zone</strong></span> is set to zero,
+ then there is no limit on the number of fetches per query
+ and no queries will be dropped. The default is zero.
+ </p>
+<p>
+ The current list of active fetches can be dumped by
+ running <span><strong class="command">rndc recursing</strong></span>. The list
+ includes the number of active fetches for each
+ domain and the number of queries that have been
+ passed or dropped as a result of the
+ <code class="option">fetches-per-zone</code> limit. (Note:
+ these counters are not cumulative over time; whenever
+ the number of active fetches for a domain drops to
+ zero, the counter for that domain is deleted, and the
+ next time a fetch is sent to that domain, it is
+ recreated with the counters set to zero.)
+ </p>
+<p>
+ (Note: This option is only available when BIND is
+ built with <span><strong class="command">configure --enable-fetchlimit</strong></span>.)
+ </p>
+</dd>
+<dt>
+<a name="fetches-per-server"></a><span class="term"><span><strong class="command">fetches-per-server</strong></span></span>
+</dt>
+<dd>
+<p>
+ The maximum number of simultaneous iterative
+ queries that the server will allow to be sent to
+ a single upstream name server before blocking
+ additional queries.
+ This value should reflect how many fetches would
+ normally be sent to any one server in the time it
+ would take to resolve them. It should be smaller
+ than <code class="option">recursive-clients</code>.
+ </p>
+<p>
+ Optionally, this value may be followed by the keyword
+ <code class="literal">drop</code> or <code class="literal">fail</code>,
+ indicating whether queries will be dropped with no
+ response, or answered with SERVFAIL, when all of the
+ servers authoritative for a zone are found to have
+ exceeded the per-server quota. The default is
+ <code class="literal">fail</code>.
+ </p>
+<p>
+ If <span><strong class="command">fetches-per-server</strong></span> is set to zero,
+ then there is no limit on the number of fetches per query
+ and no queries will be dropped. The default is zero.
+ </p>
+<p>
+ The <span><strong class="command">fetches-per-server</strong></span> quota is
+ dynamically adjusted in response to detected
+ congestion. As queries are sent to a server
+ and are either answered or time out, an
+ exponentially weighted moving average is calculated
+ of the ratio of timeouts to responses. If the
+ current average timeout ratio rises above a "high"
+ threshold, then <span><strong class="command">fetches-per-server</strong></span>
+ is reduced for that server. If the timeout ratio
+ drops below a "low" threshold, then
+ <span><strong class="command">fetches-per-server</strong></span> is increased.
+ The <span><strong class="command">fetch-quota-params</strong></span> options
+ can be used to adjust the parameters for this
+ calculation.
+ </p>
+<p>
+ (Note: This option is only available when BIND is
+ built with <span><strong class="command">configure --enable-fetchlimit</strong></span>.)
+ </p>
+</dd>
+<dt><span class="term"><span><strong class="command">fetch-quota-params</strong></span></span></dt>
+<dd>
+<p>
+ Sets the parameters to use for dynamic resizing of
+ the <code class="option">fetches-per-server</code> quota in
+ response to detected congestion.
+ </p>
+<p>
+ The first argument is an integer value indicating
+ how frequently to recalculate the moving average
+ of the ratio of timeouts to responses for each
+ server. The default is 100, meaning we recalculate
+ the average ratio after every 100 queries have either
+ been answered or timed out.
+ </p>
+<p>
+ The remaining three arguments represent the "low"
+ threshold (defaulting to a timeout ratio of 0.1),
+ the "high" threshold (defaulting to a timeout
+ ratio of 0.3), and the discount rate for
+ the moving average (defaulting to 0.7).
+ A higher discount rate causes recent events to
+ weigh more heavily when calculating the moving
+ average; a lower discount rate causes past
+ events to weigh more heavily, smoothing out
+ short-term blips in the timeout ratio.
+ These arguments are all fixed-point numbers with
+ precision of 1/100: at most two places after
+ the decimal point are significant.
+ </p>
+<p>
+ (Note: This option is only available when BIND is
+ built with <span><strong class="command">configure --enable-fetchlimit</strong></span>.)
+ </p>
+</dd>
<dt><span class="term"><span><strong class="command">reserved-sockets</strong></span></span></dt>
<dd>
<p>
@@ -4860,14 +5069,14 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
waiting for
some data before being passed to accept. Nonzero values
less than 10 will be silently raised. A value of 0 may also
- be used; on most platforms this sets the listen queue
+ be used; on most platforms this sets the listen queue
length to a system-defined default value.
</p></dd>
</dl></div>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2585947"></a>Periodic Task Intervals</h4></div></div></div>
+<a name="id2586413"></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>
@@ -5419,39 +5628,6 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</p>
</dd>
<dt>
-<a name="clients-per-query"></a><span class="term"><span><strong class="command">clients-per-query</strong></span>, </span><span class="term"><span><strong class="command">max-clients-per-query</strong></span></span>
-</dt>
-<dd>
-<p>These set the
- initial value (minimum) and maximum number of recursive
- simultaneous clients for any given query
- (&lt;qname,qtype,qclass&gt;) that the server will accept
- before dropping additional clients. <span><strong class="command">named</strong></span> will attempt to
- self tune this value and changes will be logged. The
- default values are 10 and 100.
- </p>
-<p>
- This value should reflect how many queries come in for
- a given name in the time it takes to resolve that name.
- If the number of queries exceed this value, <span><strong class="command">named</strong></span> will
- assume that it is dealing with a non-responsive zone
- and will drop additional queries. If it gets a response
- after dropping queries, it will raise the estimate. The
- estimate will then be lowered in 20 minutes if it has
- remained unchanged.
- </p>
-<p>
- If <span><strong class="command">clients-per-query</strong></span> is set to zero,
- then there is no limit on the number of clients per query
- and no queries will be dropped.
- </p>
-<p>
- If <span><strong class="command">max-clients-per-query</strong></span> is set to zero,
- then there is no upper bound other than imposed by
- <span><strong class="command">recursive-clients</strong></span>.
- </p>
-</dd>
-<dt>
<a name="max-recursion-depth"></a><span class="term"><span><strong class="command">max-recursion-depth</strong></span></span>
</dt>
<dd><p>
@@ -5474,7 +5650,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
is terminated and returns SERVFAIL. Queries to
look up top level comains such as "com" and "net"
and the DNS root zone are exempt from this limitation.
- The default is 50.
+ The default is 75.
</p></dd>
<dt><span class="term"><span><strong class="command">notify-delay</strong></span></span></dt>
<dd>
@@ -5832,7 +6008,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2588571"></a>Content Filtering</h4></div></div></div>
+<a name="id2588923"></a>Content Filtering</h4></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> 9 provides the ability to filter
out DNS responses from external DNS servers containing
@@ -5955,7 +6131,7 @@ deny-answer-aliases { "example.net"; };
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2588765"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div>
+<a name="id2589049"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> 9 includes a limited
mechanism to modify DNS responses for requests
@@ -6222,7 +6398,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2589264"></a>Response Rate Limiting</h4></div></div></div>
+<a name="id2589479"></a>Response Rate Limiting</h4></div></div></div>
<p>
This feature is only available when <acronym class="acronym">BIND</acronym> 9
is compiled with the <strong class="userinput"><code>--enable-rrl</code></strong>
@@ -6460,7 +6636,7 @@ ns.domain.com.rpz-nsdname CNAME .
[<span class="optional"> max-udp-size <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> transfers <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> transfer-format <em class="replaceable"><code>( one-answer | many-answers )</code></em> ; ]</span>]
- [<span class="optional"> keys <em class="replaceable"><code>{ string ; [<span class="optional"> string ; [<span class="optional">...</span>]</span>] }</code></em> ; </span>]
+ [<span class="optional"> keys { <em class="replaceable"><code>key_id</code></em> }; </span>]
[<span class="optional"> transfer-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
[<span class="optional"> transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
[<span class="optional"> notify-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
@@ -6604,11 +6780,7 @@ ns.domain.com.rpz-nsdname CNAME .
to be signed by this key.
</p>
<p>
- Although the grammar of the <span><strong class="command">keys</strong></span>
- clause
- allows for multiple keys, only a single key per server is
- currently
- supported.
+ Only a single key per server is currently supported.
</p>
<p>
The <span><strong class="command">transfer-source</strong></span> and
@@ -6649,7 +6821,7 @@ ns.domain.com.rpz-nsdname CNAME .
whether the local server will add a NSID EDNS option
to requests sent to the server. This overrides
<span><strong class="command">request-nsid</strong></span> set at the view or
- option level.
+ option level.
</p>
</div>
<div class="sect2" lang="en">
@@ -6664,7 +6836,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2590489"></a><span><strong class="command">statistics-channels</strong></span> Statement Definition and
+<a name="id2590832"></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
@@ -6717,9 +6889,9 @@ ns.domain.com.rpz-nsdname CNAME .
port 8888, then the statistics are accessible in XML format at
<a href="http://127.0.0.1:8888/" target="_top">http://127.0.0.1:8888/</a> or
<a href="http://127.0.0.1:8888/xml" target="_top">http://127.0.0.1:8888/xml</a>. A CSS file is
- included which can format the XML statistics into tables
+ included which can format the XML statistics into tables
when viewed with a stylesheet-capable browser. When
- <acronym class="acronym">BIND</acronym> 9 is configured with --enable-newstats,
+ <acronym class="acronym">BIND</acronym> 9 is configured with --enable-newstats,
a new XML schema is used (version 3) which adds additional
zone statistics and uses a flatter tree for more efficient
parsing. The stylesheet included uses the Google Charts API
@@ -6728,9 +6900,9 @@ ns.domain.com.rpz-nsdname CNAME .
</p>
<p>
Applications that depend on a particular XML schema
- can request
+ can request
<a href="http://127.0.0.1:8888/xml/v2" target="_top">http://127.0.0.1:8888/xml/v2</a> for version 2
- of the statistics XML schema or
+ of the statistics XML schema or
<a href="http://127.0.0.1:8888/xml/v3" target="_top">http://127.0.0.1:8888/xml/v3</a> for version 3.
If the requested schema is supported by the server, then
it will respond; if not, it will return a "page not found"
@@ -6748,7 +6920,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2590796"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
+<a name="id2591139"></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
@@ -6788,7 +6960,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2590843"></a><span><strong class="command">managed-keys</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2591186"></a><span><strong class="command">managed-keys</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">managed-keys</strong></span> {
<em class="replaceable"><code>name</code></em> initial-key <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key-data</code></em> ;
[<span class="optional"> <em class="replaceable"><code>name</code></em> initial-key <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key-data</code></em> ; [<span class="optional">...</span>]</span>]
@@ -6800,7 +6972,7 @@ ns.domain.com.rpz-nsdname CNAME .
<a name="managed-keys"></a><span><strong class="command">managed-keys</strong></span> Statement Definition
and Usage</h3></div></div></div>
<p>
- The <span><strong class="command">managed-keys</strong></span> statement, like
+ The <span><strong class="command">managed-keys</strong></span> statement, like
<span><strong class="command">trusted-keys</strong></span>, defines DNSSEC
security roots. The difference is that
<span><strong class="command">managed-keys</strong></span> can be kept up to date
@@ -6846,7 +7018,7 @@ ns.domain.com.rpz-nsdname CNAME .
<code class="literal">initial-key</code>. The difference is, whereas the
keys listed in a <span><strong class="command">trusted-keys</strong></span> continue to be
trusted until they are removed from
- <code class="filename">named.conf</code>, an initializing key listed
+ <code class="filename">named.conf</code>, an initializing key listed
in a <span><strong class="command">managed-keys</strong></span> statement is only trusted
<span class="emphasis"><em>once</em></span>: for as long as it takes to load the
managed key database and start the RFC 5011 key maintenance
@@ -6926,7 +7098,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2591278"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
+<a name="id2591553"></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
@@ -7212,7 +7384,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
type static-stub;
[<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
[<span class="optional"> server-addresses { [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> ; ... </span>] }; </span>]
- [<span class="optional"> server-names { [<span class="optional"> <em class="replaceable"><code>namelist</code></em> </span>] }; </span>]
+ [<span class="optional"> server-names { [<span class="optional"> <em class="replaceable"><code>namelist</code></em> </span>] }; </span>]
[<span class="optional"> zone-statistics <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
};
@@ -7238,10 +7410,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="id2592987"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
+<a name="id2593398"></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="id2592995"></a>Zone Types</h4></div></div></div>
+<a name="id2593405"></a>Zone Types</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -7412,7 +7584,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
<p>
Each static-stub zone is configured with
internally generated NS and (if necessary)
- glue A or AAAA RRs
+ glue A or AAAA RRs
</p>
</td>
</tr>
@@ -7496,7 +7668,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
2001:ffff:ffff::100.100.100.2, one would
configure a type redirect zone named ".",
with the zone file containing wildcard records
- that point to the desired addresses:
+ that point to the desired addresses:
<code class="literal">"*. IN A 100.100.100.2"</code>
and
<code class="literal">"*. IN AAAA 2001:ffff:ffff::100.100.100.2"</code>.
@@ -7504,7 +7676,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
<p>
To redirect all Spanish names (under .ES) one
would use similar entries but with the names
- "*.ES." instead of "*.". To redirect all
+ "*.ES." instead of "*.". To redirect all
commercial Spanish names (under COM.ES) one
would use wildcard entries called "*.COM.ES.".
</p>
@@ -7559,7 +7731,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="id2593739"></a>Class</h4></div></div></div>
+<a name="id2594150"></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>),
@@ -7581,7 +7753,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="id2593772"></a>Zone Options</h4></div></div></div>
+<a name="id2594183"></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>
@@ -8014,7 +8186,7 @@ example.com. NS ns2.example.net.
<em class="replaceable"><code>zonename</code></em></strong></span> causes
<span><strong class="command">named</strong></span> to load keys from the key
repository and sign the zone with all keys that are
- active.
+ active.
<span><strong class="command">rndc loadkeys
<em class="replaceable"><code>zonename</code></em></strong></span> causes
<span><strong class="command">named</strong></span> to load keys from the key
@@ -8045,7 +8217,7 @@ example.com. NS ns2.example.net.
the zone is updated.
</p>
<p>
- When set to
+ When set to
<span><strong class="command">serial-update-method unixtime;</strong></span>, the
SOA serial number will be set to the number of seconds
since the UNIX epoch, unless the serial number is
@@ -8335,7 +8507,7 @@ example.com. NS ns2.example.net.
<p>
This rule takes a Windows machine principal
(machine$@REALM) for machine in REALM and
- and converts it machine.realm allowing the machine
+ and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
is specified in the <em class="replaceable"><code>identity</code></em>
field.
@@ -8350,7 +8522,7 @@ example.com. NS ns2.example.net.
</td>
<td>
<p>
- This rule takes a Windows machine principal
+ This rule takes a Windows machine principal
(machine$@REALM) for machine in REALM and
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
@@ -8369,7 +8541,7 @@ example.com. NS ns2.example.net.
<p>
This rule takes a Kerberos machine principal
(host/machine@REALM) for machine in REALM and
- and converts it machine.realm allowing the machine
+ and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
is specified in the <em class="replaceable"><code>identity</code></em>
field.
@@ -8384,7 +8556,7 @@ example.com. NS ns2.example.net.
</td>
<td>
<p>
- This rule takes a Kerberos machine principal
+ This rule takes a Kerberos machine principal
(host/machine@REALM) for machine in REALM and
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
@@ -8498,7 +8670,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2596605"></a>Zone File</h2></div></div></div>
+<a name="id2597084"></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>
@@ -8511,7 +8683,7 @@ example.com. NS ns2.example.net.
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2596624"></a>Resource Records</h4></div></div></div>
+<a name="id2597102"></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
@@ -8680,6 +8852,58 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ ATMA
+ </p>
+ </td>
+<td>
+ <p>
+ ATM Address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ CAA
+ </p>
+ </td>
+<td>
+ <p>
+ Identifies which Certificate Authorities can issue
+ certificates for this domain and what rules they
+ need to follow when doing so. Defined in RFC 6844.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ CDNSKEY
+ </p>
+ </td>
+<td>
+ <p>
+ Identifies which DNSKEY records should be published
+ as DS records in the parent zone.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ CDS
+ </p>
+ </td>
+<td>
+ <p>
+ Contains the set of DS records that should be published
+ by the parent zone.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
CERT
</p>
</td>
@@ -8719,6 +8943,20 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ DLV
+ </p>
+ </td>
+<td>
+ <p>
+ A DNS Look-aside Validation record which contains
+ the records that are used as trust anchors for
+ zones in a DLV namespace. Described in RFC 4431.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
DNAME
</p>
</td>
@@ -8763,6 +9001,54 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ EID
+ </p>
+ </td>
+<td>
+ <p>
+ End Point Identifier.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ EUI48
+ </p>
+ </td>
+<td>
+ <p>
+ A 48-bit EUI address. Described in RFC 7043.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ EUI64
+ </p>
+ </td>
+<td>
+ <p>
+ A 64-bit EUI address. Described in RFC 7043.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ GID
+ </p>
+ </td>
+<td>
+ <p>
+ Reserved.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
GPOS
</p>
</td>
@@ -8788,6 +9074,19 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ HIP
+ </p>
+ </td>
+<td>
+ <p>
+ Host Identity Protocol Address.
+ Described in RFC 5205.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
IPSECKEY
</p>
</td>
@@ -8842,6 +9141,34 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ L32
+ </p>
+ </td>
+<td>
+ <p>
+ Holds 32-bit Locator values for
+ Identifier-Locator Network Protocol. Described
+ in RFC 6742.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ L64
+ </p>
+ </td>
+<td>
+ <p>
+ Holds 64-bit Locator values for
+ Identifier-Locator Network Protocol. Described
+ in RFC 6742.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
LOC
</p>
</td>
@@ -8855,6 +9182,91 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ LP
+ </p>
+ </td>
+<td>
+ <p>
+ Identifier-Locator Network Protocol.
+ Described in RFC 6742.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ MB
+ </p>
+ </td>
+<td>
+ <p>
+ Mail Box. Historical.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ MD
+ </p>
+ </td>
+<td>
+ <p>
+ Mail Destination. Historical.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ MF
+ </p>
+ </td>
+<td>
+ <p>
+ Mail Forwarder. Historical.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ MG
+ </p>
+ </td>
+<td>
+ <p>
+ Mail Group. Historical.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ MINFO
+ </p>
+ </td>
+<td>
+ <p>
+ Mail Information.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ MR
+ </p>
+ </td>
+<td>
+ <p>
+ Mail Rename. Historical.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
MX
</p>
</td>
@@ -8882,6 +9294,32 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ NID
+ </p>
+ </td>
+<td>
+ <p>
+ Holds values for Node Identifiers in
+ Identifier-Locator Network Protocol. Described
+ in RFC 6742.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NIMLOC
+ </p>
+ </td>
+<td>
+ <p>
+ Nimrod Locator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
NSAP
</p>
</td>
@@ -8895,6 +9333,18 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ NSAP-PTR
+ </p>
+ </td>
+<td>
+ <p>
+ Historical.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
NS
</p>
</td>
@@ -8959,6 +9409,18 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ NULL
+ </p>
+ </td>
+<td>
+ <p>
+ This is an opaque container.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
NXT
</p>
</td>
@@ -8978,6 +9440,18 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ OPENPGPKEY
+ </p>
+ </td>
+<td>
+ <p>
+ Used to hold an OPENPGPKEY.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
PTR
</p>
</td>
@@ -9112,6 +9586,19 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ TLSA
+ </p>
+ </td>
+<td>
+ <p>
+ Transport Layer Security Certificate Association.
+ Described in RFC 6698.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
TXT
</p>
</td>
@@ -9124,6 +9611,54 @@ example.com. NS ns2.example.net.
<tr>
<td>
<p>
+ UID
+ </p>
+ </td>
+<td>
+ <p>
+ Reserved.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ UINFO
+ </p>
+ </td>
+<td>
+ <p>
+ Reserved.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ UNSPEC
+ </p>
+ </td>
+<td>
+ <p>
+ Reserved. Historical.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ URI
+ </p>
+ </td>
+<td>
+ <p>
+ Holds a URI. Described in RFC 7553.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
WKS
</p>
</td>
@@ -9248,7 +9783,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2598247"></a>Textual expression of RRs</h4></div></div></div>
+<a name="id2599413"></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
@@ -9451,7 +9986,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2598768"></a>Discussion of MX Records</h3></div></div></div>
+<a name="id2600002"></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
@@ -9706,7 +10241,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2599451"></a>Inverse Mapping in IPv4</h3></div></div></div>
+<a name="id2600549"></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
@@ -9767,7 +10302,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2599578"></a>Other Zone File Directives</h3></div></div></div>
+<a name="id2600812"></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
@@ -9782,18 +10317,18 @@ example.com. NS ns2.example.net.
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2599601"></a>The <span><strong class="command">@</strong></span> (at-sign)</h4></div></div></div>
+<a name="id2600835"></a>The <span><strong class="command">@</strong></span> (at-sign)</h4></div></div></div>
<p>
When used in the label (or name) field, the asperand or
at-sign (@) symbol represents the current origin.
- At the start of the zone file, it is the
+ At the start of the zone file, it is the
&lt;<code class="varname">zone_name</code>&gt; (followed by
trailing dot).
</p>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2599617"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
+<a name="id2600851"></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>
@@ -9822,7 +10357,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="id2599746"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
+<a name="id2600912"></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>
@@ -9858,7 +10393,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="id2599815"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
+<a name="id2600981"></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>
@@ -9877,7 +10412,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="id2599851"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
+<a name="id2601017"></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>
@@ -10302,7 +10837,7 @@ HOST-127.EXAMPLE. MX 0 .
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2600941"></a>Name Server Statistics Counters</h4></div></div></div>
+<a name="id2602039"></a>Name Server Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -10898,7 +11433,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2602510"></a>Zone Maintenance Statistics Counters</h4></div></div></div>
+<a name="id2603745"></a>Zone Maintenance Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -11052,7 +11587,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2602962"></a>Resolver Statistics Counters</h4></div></div></div>
+<a name="id2604128"></a>Resolver Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -11435,7 +11970,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2604052"></a>Socket I/O Statistics Counters</h4></div></div></div>
+<a name="id2605149"></a>Socket I/O Statistics Counters</h4></div></div></div>
<p>
Socket I/O statistics counters are defined per socket
types, which are
@@ -11590,7 +12125,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2604425"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div>
+<a name="id2605523"></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
@@ -11642,6 +12177,6 @@ HOST-127.EXAMPLE. MX 0 .
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch07.html b/doc/arm/Bv9ARM.ch07.html
index d53b9a8f96ce..ec2af857ff32 100644
--- a/doc/arm/Bv9ARM.ch07.html
+++ b/doc/arm/Bv9ARM.ch07.html
@@ -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#id2604721"><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#id2605750"><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#id2604802">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604861">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2605831">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2605959">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>
@@ -114,7 +114,7 @@ zone "example.com" {
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2604721"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span>
+<a name="id2605750"></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>
@@ -140,7 +140,7 @@ zone "example.com" {
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2604802"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div>
+<a name="id2605831"></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
@@ -168,7 +168,7 @@ zone "example.com" {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2604861"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
+<a name="id2605959"></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
@@ -247,6 +247,6 @@ zone "example.com" {
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch08.html b/doc/arm/Bv9ARM.ch08.html
index 3dcd05888d0b..46168db64093 100644
--- a/doc/arm/Bv9ARM.ch08.html
+++ b/doc/arm/Bv9ARM.ch08.html
@@ -45,18 +45,18 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
-<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2605078">Common Problems</a></span></dt>
-<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2605083">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#id2605095">Incrementing and Changing the Serial Number</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2605112">Where Can I Get Help?</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2606107">Common Problems</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2606113">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#id2606124">Incrementing and Changing the Serial Number</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2606141">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="id2605078"></a>Common Problems</h2></div></div></div>
+<a name="id2606107"></a>Common Problems</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2605083"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
+<a name="id2606113"></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="id2605095"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
+<a name="id2606124"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
<p>
Zone serial numbers are just numbers &#8212; 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="id2605112"></a>Where Can I Get Help?</h2></div></div></div>
+<a name="id2606141"></a>Where Can I Get Help?</h2></div></div></div>
<p>
The Internet Systems Consortium
(<acronym class="acronym">ISC</acronym>) offers a wide range
@@ -135,6 +135,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html
index 182ebd457aae..0875be3c3909 100644
--- a/doc/arm/Bv9ARM.ch09.html
+++ b/doc/arm/Bv9ARM.ch09.html
@@ -45,7 +45,7 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
-<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2563588">Release Notes for BIND Version 9.9.7-P2</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2563593">Release Notes for BIND Version 9.9.8</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
@@ -60,18 +60,13 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2563588"></a>Release Notes for BIND Version 9.9.7-P2</h2></div></div></div>
+<a name="id2563593"></a>Release Notes for BIND Version 9.9.8</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_intro"></a>Introduction</h3></div></div></div>
<p>
- This document summarizes changes since BIND 9.9.7.
- </p>
-<p>
- BIND 9.9.7-P2 addresses a security issue described in CVE-2015-5477.
- </p>
-<p>
- BIND 9.9.7-P1 addresses a security issue described in CVE-2015-4620.
+ This document summarizes changes since the last production release
+ of BIND on the corresponding major release branch.
</p>
</div>
<div class="sect2" lang="en">
@@ -89,6 +84,21 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_security"></a>Security Fixes</h3></div></div></div>
<div class="itemizedlist"><ul type="disc">
+<li><p>
+ An incorrect boundary check in the OPENPGPKEY rdatatype
+ could trigger an assertion failure. This flaw is disclosed
+ in CVE-2015-5986. [RT #40286]
+ </p></li>
+<li>
+<p>
+ A buffer accounting error could trigger an assertion failure
+ when parsing certain malformed DNSSEC keys.
+ </p>
+<p>
+ This flaw was discovered by Hanno B&#50102;ck of the Fuzzing
+ Project, and is disclosed in CVE-2015-5722. [RT #40212]
+ </p>
+</li>
<li>
<p>
A specially crafted query could trigger an assertion failure
@@ -96,7 +106,7 @@
</p>
<p>
This flaw was discovered by Jonathan Foote, and is disclosed
- in CVE-2015-5477. [RT #39795]
+ in CVE-2015-5477. [RT #40046]
</p>
</li>
<li>
@@ -115,17 +125,121 @@
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_features"></a>New Features</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc"><li><p>None</p></li></ul></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p>
+ New quotas have been added to limit the queries that are
+ sent by recursive resolvers to authoritative servers
+ experiencing denial-of-service attacks. When configured,
+ these options can both reduce the harm done to authoritative
+ servers and also avoid the resource exhaustion that can be
+ experienced by recursives when they are being used as a
+ vehicle for such an attack.
+ </p>
+<p>
+ NOTE: These options are not available by default; use
+ <span><strong class="command">configure --enable-fetchlimit</strong></span> to include
+ them in the build.
+ </p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>
+ <code class="option">fetches-per-server</code> limits the number of
+ simultaneous queries that can be sent to any single
+ authoritative server. The configured value is a starting
+ point; it is automatically adjusted downward if the server is
+ partially or completely non-responsive. The algorithm used to
+ adjust the quota can be configured via the
+ <code class="option">fetch-quota-params</code> option.
+ </p></li>
+<li><p>
+ <code class="option">fetches-per-zone</code> limits the number of
+ simultaneous queries that can be sent for names within a
+ single domain. (Note: Unlike "fetches-per-server", this
+ value is not self-tuning.)
+ </p></li>
+</ul></div>
+<p>
+ Statistics counters have also been added to track the number
+ of queries affected by these quotas.
+ </p>
+</li>
+<li><p>
+ An <span><strong class="command">--enable-querytrace</strong></span> configure switch is
+ now available to enable very verbose query tracelogging. This
+ option can only be set at compile time. This option has a
+ negative performance impact and should be used only for
+ debugging.
+ </p></li>
+<li><p>
+ EDNS COOKIE options content is now displayed as
+ "COOKIE: &lt;hexvalue&gt;".
+ </p></li>
+</ul></div>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_changes"></a>Feature Changes</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc"><li><p>None</p></li></ul></div>
+<div class="itemizedlist"><ul type="disc">
+<li><p>
+ Large inline-signing changes should be less disruptive.
+ Signature generation is now done incrementally; the number
+ of signatures to be generated in each quantum is controlled
+ by "sig-signing-signatures <em class="replaceable"><code>number</code></em>;".
+ [RT #37927]
+ </p></li>
+<li><p>
+ Retrieving the local port range from net.ipv4.ip_local_port_range
+ on Linux is now supported.
+ </p></li>
+<li><p>
+ Active Directory names of the form gc._msdcs.&lt;forest&gt; are
+ now accepted as valid hostnames when using the
+ <code class="option">check-names</code> option. &lt;forest&gt; is still
+ restricted to letters, digits and hyphens.
+ </p></li>
+<li><p>
+ Names containing rich text are now accepted as valid
+ hostnames in PTR records in DNS-SD reverse lookup zones,
+ as specified in RFC 6763. [RT #37889]
+ </p></li>
+</ul></div>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_bugs"></a>Bug Fixes</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc"><li><p>None</p></li></ul></div>
+<div class="itemizedlist"><ul type="disc">
+<li><p>
+ Asynchronous zone loads were not handled correctly when the
+ zone load was already in progress; this could trigger a crash
+ in zt.c. [RT #37573]
+ </p></li>
+<li><p>
+ A race during shutdown or reconfiguration could
+ cause an assertion failure in mem.c. [RT #38979]
+ </p></li>
+<li><p>
+ Some answer formatting options didn't work correctly with
+ <span><strong class="command">dig +short</strong></span>. [RT #39291]
+ </p></li>
+<li><p>
+ Malformed records of some types, including NSAP and UNSPEC,
+ could trigger assertion failures when loading text zone files.
+ [RT #40274] [RT #40285]
+ </p></li>
+<li><p>
+ Fixed a possible crash in ratelimiter.c caused by NOTIFY
+ messages being removed from the wrong rate limiter queue.
+ [RT #40350]
+ </p></li>
+<li><p>
+ The default <code class="option">rrset-order</code> of <code class="literal">random</code>
+ was inconsistently applied. [RT #40456]
+ </p></li>
+<li><p>
+ BADVERS responses from broken authoritative name servers were
+ not handled correctly. [RT #40427]
+ </p></li>
+</ul></div>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
@@ -165,6 +279,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch10.html b/doc/arm/Bv9ARM.ch10.html
index f5c665ed907a..1a67f6fabe0b 100644
--- a/doc/arm/Bv9ARM.ch10.html
+++ b/doc/arm/Bv9ARM.ch10.html
@@ -163,6 +163,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch11.html b/doc/arm/Bv9ARM.ch11.html
index fc5a57e55468..99a857457ab7 100644
--- a/doc/arm/Bv9ARM.ch11.html
+++ b/doc/arm/Bv9ARM.ch11.html
@@ -50,7 +50,7 @@
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch11.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch11.html#internet_drafts">Internet Drafts</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch11.html#id2608563">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch11.html#id2609865">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd>
</dl>
</div>
@@ -140,17 +140,17 @@
</p>
<div class="bibliography">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2605539"></a>Bibliography</h4></div></div></div>
+<a name="id2606773"></a>Bibliography</h4></div></div></div>
<div class="bibliodiv">
<h3 class="title">Standards</h3>
<div class="biblioentry">
-<a name="id2605549"></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="id2606784"></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="id2605573"></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 &#8212; Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
+<a name="id2606807"></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 &#8212; Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
</div>
<div class="biblioentry">
-<a name="id2605596"></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 &#8212; Implementation and
+<a name="id2606830"></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 &#8212; Implementation and
Specification</i>. </span><span class="pubdate">November 1987. </span></p>
</div>
</div>
@@ -158,42 +158,42 @@
<h3 class="title">
<a name="proposed_standards"></a>Proposed Standards</h3>
<div class="biblioentry">
-<a name="id2605633"></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="id2606867"></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="id2605659"></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="id2606893"></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="id2605685"></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="id2606919"></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="id2605709"></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="id2606944"></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="id2605733"></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="id2606967"></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="id2605788"></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="id2607022"></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="id2605815"></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="id2607049"></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="id2605842"></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="id2607076"></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="id2605904"></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="id2607138"></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="id2605933"></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="id2607168"></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="id2605963"></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="id2607197"></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="id2605990"></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="id2607224"></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>
@@ -202,19 +202,19 @@
<h3 class="title">
<acronym class="acronym">DNS</acronym> Security Proposed Standards</h3>
<div class="biblioentry">
-<a name="id2606072"></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="id2607306"></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="id2606099"></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="id2607333"></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="id2606135"></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="id2607369"></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="id2606200"></a><p>[<abbr class="abbrev">RFC4034</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="id2607434"></a><p>[<abbr class="abbrev">RFC4034</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="id2606265"></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="id2607499"></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>
@@ -222,146 +222,146 @@
<h3 class="title">Other Important RFCs About <acronym class="acronym">DNS</acronym>
Implementation</h3>
<div class="biblioentry">
-<a name="id2606339"></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="id2607573"></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="id2606364"></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="id2607598"></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="id2606433"></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="id2607667"></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="id2606468"></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="id2607702"></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="id2606514"></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="id2607748"></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="id2606571"></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="id2607874"></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="id2606609"></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="id2607911"></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="id2606644"></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="id2607946"></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="id2606766"></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="id2608001"></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="id2606805"></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="id2608039"></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="id2606830"></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="id2608065"></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="id2606856"></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="id2608090"></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="id2606883"></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="id2608117"></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="id2606909"></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="id2608144"></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="id2606949"></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="id2608183"></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="id2606979"></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="id2608213"></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="id2607009"></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="id2608243"></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="id2607051"></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="id2608285"></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="id2607084"></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="id2608318"></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="id2607111"></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="id2608345"></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="id2607134"></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="id2608369"></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="id2607192"></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="id2608426"></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="id2607224"></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="id2608458"></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="id2607250"></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="id2608552"></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="id2607272"></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="id2608574"></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="id2607296"></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="id2608598"></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="id2607410"></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="id2608712"></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="id2607433"></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="id2608736"></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="id2607491"></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="id2608793"></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="id2607514"></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="id2608817"></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="id2607541"></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="id2608843"></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="id2607568"></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="id2608870"></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="id2607604"></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="id2608906"></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="id2607650"></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="id2608952"></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="id2607682"></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="id2608984"></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="id2607728"></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="id2609030"></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="id2607763"></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="id2609065"></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>
@@ -377,47 +377,47 @@
</p>
</div>
<div class="biblioentry">
-<a name="id2607808"></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="id2609110"></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="id2607830"></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="id2609132"></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="id2607856"></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="id2609158"></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="id2607881"></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="id2609184"></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="id2607905"></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="id2609207"></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="id2607950"></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="id2609253"></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="id2607974"></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="id2609276"></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="id2608001"></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="id2609303"></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="id2608026"></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="id2609329"></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="id2608070"></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="id2609372"></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="id2608128"></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="id2609430"></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="id2608154"></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="id2609457"></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>
@@ -431,39 +431,39 @@
</p>
</div>
<div class="biblioentry">
-<a name="id2608202"></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="id2609505"></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="id2608242"></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="id2609544"></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="id2608268"></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="id2609571"></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="id2608298"></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="id2609601"></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="id2608324"></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="id2609626"></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="id2608350"></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="id2609653"></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="id2608387"></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="id2609689"></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="id2608423"></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="id2609725"></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="id2608450"></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="id2609752"></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="id2608476"></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="id2609779"></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="id2608521"></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="id2609824"></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>
@@ -484,14 +484,14 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2608563"></a>Other Documents About <acronym class="acronym">BIND</acronym>
+<a name="id2609865"></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="id2608572"></a>Bibliography</h4></div></div></div>
+<a name="id2609875"></a>Bibliography</h4></div></div></div>
<div class="biblioentry">
-<a name="id2608574"></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="id2609877"></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>
@@ -514,6 +514,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch12.html b/doc/arm/Bv9ARM.ch12.html
index 325b54ebaf1d..fe8c6a3d7644 100644
--- a/doc/arm/Bv9ARM.ch12.html
+++ b/doc/arm/Bv9ARM.ch12.html
@@ -47,13 +47,13 @@
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch12.html#bind9.library">BIND 9 DNS Library Support</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611115">Prerequisite</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611125">Compilation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2609306">Installation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2609337">Known Defects/Restrictions</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2610301">The dns.conf File</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2610328">Sample Applications</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611437">Library References</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2612691">Prerequisite</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2612700">Compilation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611701">Installation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611732">Known Defects/Restrictions</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611877">The dns.conf File</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611904">Sample Applications</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2612808">Library References</a></span></dt>
</dl></dd>
</dl>
</div>
@@ -89,7 +89,7 @@
</ul></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2611115"></a>Prerequisite</h3></div></div></div>
+<a name="id2612691"></a>Prerequisite</h3></div></div></div>
<p>GNU make is required to build the export libraries (other
part of BIND 9 can still be built with other types of make). In
the reminder of this document, "make" means GNU make. Note that
@@ -98,7 +98,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2611125"></a>Compilation</h3></div></div></div>
+<a name="id2612700"></a>Compilation</h3></div></div></div>
<pre class="screen">
$ <strong class="userinput"><code>./configure --enable-exportlib <em class="replaceable"><code>[other flags]</code></em></code></strong>
$ <strong class="userinput"><code>make</code></strong>
@@ -113,7 +113,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2609306"></a>Installation</h3></div></div></div>
+<a name="id2611701"></a>Installation</h3></div></div></div>
<pre class="screen">
$ <strong class="userinput"><code>cd lib/export</code></strong>
$ <strong class="userinput"><code>make install</code></strong>
@@ -135,7 +135,7 @@ $ <strong class="userinput"><code>make install</code></strong>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2609337"></a>Known Defects/Restrictions</h3></div></div></div>
+<a name="id2611732"></a>Known Defects/Restrictions</h3></div></div></div>
<div class="itemizedlist"><ul type="disc">
<li><p>Currently, win32 is not supported for the export
library. (Normal BIND 9 application can be built as
@@ -175,7 +175,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2610301"></a>The dns.conf File</h3></div></div></div>
+<a name="id2611877"></a>The dns.conf File</h3></div></div></div>
<p>The IRS library supports an "advanced" configuration file
related to the DNS library for configuration parameters that
would be beyond the capability of the
@@ -193,14 +193,14 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2610328"></a>Sample Applications</h3></div></div></div>
+<a name="id2611904"></a>Sample Applications</h3></div></div></div>
<p>Some sample application programs using this API are
provided for reference. The following is a brief description of
these applications.
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610337"></a>sample: a simple stub resolver utility</h4></div></div></div>
+<a name="id2611912"></a>sample: a simple stub resolver utility</h4></div></div></div>
<p>
It sends a query of a given name (of a given optional RR type) to a
specified recursive server, and prints the result as a list of
@@ -264,7 +264,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610427"></a>sample-async: a simple stub resolver, working asynchronously</h4></div></div></div>
+<a name="id2612003"></a>sample-async: a simple stub resolver, working asynchronously</h4></div></div></div>
<p>
Similar to "sample", but accepts a list
of (query) domain names as a separate file and resolves the names
@@ -305,7 +305,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610481"></a>sample-request: a simple DNS transaction client</h4></div></div></div>
+<a name="id2612056"></a>sample-request: a simple DNS transaction client</h4></div></div></div>
<p>
It sends a query to a specified server, and
prints the response with minimal processing. It doesn't act as a
@@ -346,7 +346,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610818"></a>sample-gai: getaddrinfo() and getnameinfo() test code</h4></div></div></div>
+<a name="id2612325"></a>sample-gai: getaddrinfo() and getnameinfo() test code</h4></div></div></div>
<p>
This is a test program
to check getaddrinfo() and getnameinfo() behavior. It takes a
@@ -363,7 +363,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2610833"></a>sample-update: a simple dynamic update client program</h4></div></div></div>
+<a name="id2612340"></a>sample-update: a simple dynamic update client program</h4></div></div></div>
<p>
It accepts a single update command as a
command-line argument, sends an update request message to the
@@ -458,7 +458,7 @@ $ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mm
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2611373"></a>nsprobe: domain/name server checker in terms of RFC 4074</h4></div></div></div>
+<a name="id2612471"></a>nsprobe: domain/name server checker in terms of RFC 4074</h4></div></div></div>
<p>
It checks a set
of domains to see the name servers of the domains behave
@@ -515,7 +515,7 @@ $ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mm
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2611437"></a>Library References</h3></div></div></div>
+<a name="id2612808"></a>Library References</h3></div></div></div>
<p>As of this writing, there is no formal "manual" of the
libraries, except this document, header files (some of them
provide pretty detailed explanations), and sample application
@@ -540,6 +540,6 @@ $ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mm
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.ch13.html b/doc/arm/Bv9ARM.ch13.html
index c043129a6a4f..56fec600eba2 100644
--- a/doc/arm/Bv9ARM.ch13.html
+++ b/doc/arm/Bv9ARM.ch13.html
@@ -140,6 +140,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html
index defab2ba6ad2..91eab41a098e 100644
--- a/doc/arm/Bv9ARM.html
+++ b/doc/arm/Bv9ARM.html
@@ -41,7 +41,7 @@
<div>
<div><h1 class="title">
<a name="id2563180"></a>BIND 9 Administrator Reference Manual</h1></div>
-<div><p class="releaseinfo">BIND Version 9.9.7-P2</p></div>
+<div><p class="releaseinfo">BIND Version 9.9.8</p></div>
<div><p class="copyright">Copyright © 2004-2015 Internet Systems Consortium, Inc. ("ISC")</p></div>
<div><p class="copyright">Copyright © 2000-2003 Internet Software Consortium.</p></div>
</div>
@@ -109,48 +109,48 @@
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571054">Generating Keys</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571338">Signing the Zone</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571419">Configuring Servers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571270">Signing the Zone</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571351">Configuring Servers</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609449">Converting from insecure to secure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609486">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563716">Fully automatic zone signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563963">Private-type records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564001">DNSKEY rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564013">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569781">Automatic key rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569808">NSEC3PARAM rollovers via UPDATE</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569817">Converting from NSEC to NSEC3</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569827">Converting from NSEC3 to NSEC</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608888">Converting from secure to insecure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608925">Periodic re-signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608935">NSEC3 and OPTOUT</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610615">Converting from insecure to secure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610652">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563653">Fully automatic zone signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563900">Private-type records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563938">DNSKEY rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563950">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564052">Automatic key rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564078">NSEC3PARAM rollovers via UPDATE</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2564088">Converting from NSEC to NSEC3</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569832">Converting from NSEC3 to NSEC</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569845">Converting from secure to insecure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569882">Periodic re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569892">NSEC3 and OPTOUT</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2569982">Validating Resolver</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570005">Authoritative Server</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610129">Validating Resolver</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610151">Authoritative Server</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#pkcs11">PKCS #11 (Cryptoki) support</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609020">Prerequisites</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610137">Building BIND 9 with PKCS#11</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2612651">PKCS #11 Tools</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2612682">Using the HSM</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636637">Specifying the engine on the command line</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636683">Running named with automatic zone re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2613326">Prerequisites</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611166">Building BIND 9 with PKCS#11</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2613408">PKCS #11 Tools</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2613438">Using the HSM</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2637735">Specifying the engine on the command line</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2637781">Running named with automatic zone re-signing</a></span></dt>
</dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571639">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571571">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571906">Address Lookups Using AAAA Records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571927">Address to Name Lookups Using Nibble Format</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571837">Address Lookups Using AAAA Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571859">Address to Name Lookups Using Nibble Format</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch05.html">5. The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</a></span></dt>
<dd><dl>
-<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2571960">The Lightweight Resolver Library</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2571892">The Lightweight Resolver Library</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch06.html">6. <acronym class="acronym">BIND</acronym> 9 Configuration Reference</a></span></dt>
@@ -176,9 +176,9 @@
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574875"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575001"><span><strong class="command">logging</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577168"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577241"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577305"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577236"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577309"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577373"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577417"><span><strong class="command">masters</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577438"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
@@ -188,28 +188,28 @@
<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#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590489"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590832"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#trusted-keys"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590796"><span><strong class="command">trusted-keys</strong></span> Statement Definition
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591139"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590843"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591186"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#managed-keys"><span><strong class="command">managed-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#id2591278"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591553"><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#id2592987"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2593398"><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#id2596605">Zone File</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2597084">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#id2598768">Discussion of MX Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2600002">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#id2599451">Inverse Mapping in IPv4</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599578">Other Zone File Directives</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599851"><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#id2600549">Inverse Mapping in IPv4</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2600812">Other Zone File Directives</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2601017"><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#statistics">BIND9 Statistics</a></span></dt>
@@ -218,23 +218,23 @@
<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#id2604721"><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#id2605750"><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#id2604802">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604861">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2605831">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2605959">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#id2605078">Common Problems</a></span></dt>
-<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2605083">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#id2605095">Incrementing and Changing the Serial Number</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2605112">Where Can I Get Help?</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2606107">Common Problems</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2606113">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#id2606124">Incrementing and Changing the Serial Number</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2606141">Where Can I Get Help?</a></span></dt>
</dl></dd>
<dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Release Notes</a></span></dt>
<dd><dl>
-<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2563588">Release Notes for BIND Version 9.9.7-P2</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2563593">Release Notes for BIND Version 9.9.8</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
@@ -255,20 +255,20 @@
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch11.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch11.html#internet_drafts">Internet Drafts</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch11.html#id2608563">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch11.html#id2609865">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="appendix"><a href="Bv9ARM.ch12.html">D. BIND 9 DNS Library Support</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch12.html#bind9.library">BIND 9 DNS Library Support</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611115">Prerequisite</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611125">Compilation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2609306">Installation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2609337">Known Defects/Restrictions</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2610301">The dns.conf File</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2610328">Sample Applications</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611437">Library References</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2612691">Prerequisite</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2612700">Compilation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611701">Installation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611732">Known Defects/Restrictions</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611877">The dns.conf File</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2611904">Sample Applications</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2612808">Library References</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="reference"><a href="Bv9ARM.ch13.html">I. Manual pages</a></span></dt>
@@ -365,6 +365,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/Bv9ARM.pdf b/doc/arm/Bv9ARM.pdf
index d39bb042c8a6..86d4f828f143 100644
--- a/doc/arm/Bv9ARM.pdf
+++ b/doc/arm/Bv9ARM.pdf
@@ -1131,7 +1131,7 @@ endobj
<< /S /GoTo /D (section.A.1) >>
endobj
760 0 obj
-(A.1 Release Notes for BIND Version 9.9.7-P2)
+(A.1 Release Notes for BIND Version 9.9.8)
endobj
761 0 obj
<< /S /GoTo /D (subsection.A.1.1) >>
@@ -1473,12 +1473,11 @@ endobj
<< /S /GoTo /D [986 0 R /FitH ] >>
endobj
989 0 obj <<
-/Length 280
+/Length 277
/Filter /FlateDecode
>>
stream
-xÚ‘MOÃ0 †ïý>n‡z±çãÈ4@C1Tí‚8L[‡*ÑVëÆÿÇ]ÇT)vìGök‡Àè!ˆ‚Æ&!9CÛ:3ð®¹ûŒ.Œ‹â¬ÕÇÙÜQÀ¼@Î. 5dÇØ/œØ 7ž!ÅÙîñy‘Í†Š= J W®Ø½Næ˧Å4g1“4˜›]]5ÕñÔmNm7„^Ê}ٕͶœ¾@Ž‘¼óª/aŒñ\æqÓ|n>ú¼¶eeÐ:Õ¤msöh½W¥:vHñgÛõ”ˆ&ew¬Úæ"†ü™ûjÙmqUœÇHœÀ2Ž
-`”3ñm5z­Ó˜áÒðlY,Úl•ÁjDxÂl¿ð¨ Wÿÿµ/—k8endstream
+xÚ‘MKA †ïû+rl›&™É|-U© PY¼ˆ‡¥ÝJÁné¶þ³ÝZŠzI&yHÞdÈCR$—=ÄìQ‰–Û‚àÝr÷Ÿ¯Õ;g?²¥çˆ9…R|DGì®±_8 a  PªáB$=>­ŠÉ0ˆÇ˜"CµEMQáÂU«×Ñtþ4—¢4ʃ¹Ym7íæpìêã®BÏͺéšvٌߪ`/ÈÁÓ—1¥t*óX·ŸõGŸ·¶b :oš¬mÉI“7}cN?Û¾Œ™yÔt‡Í®= A«Û—*n«Ëœê&– NdplJ؃ žˆokÑýÕ.‰†Ë“ù–a¶+,®ˆÀ£ë·lÛ&ðÿ_öEójŠendstream
endobj
986 0 obj <<
/Type /Page
@@ -2582,17 +2581,18 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1023 0 obj <<
-/Length 2975
+/Length 2973
/Filter /FlateDecode
>>
stream
-xÚí]wÛ6†ïý+t·ö…°ø$KÇqR·›49Ûà‘[{,Ò¥(7î¯_À‘NÌM›4–Nω%KÙÎû
-¹{üÐ £u(JTs'Ž"î(ú¾:aúø*+–¿gíµÔåõrý-)ÒýfŸÍѤ
-f7ÙÝÃ@q½?WŠqáS7š `ˆq¥A¸ˆ„q:ï¹P I”€ Ṩó즾~@FBÍ¡†Y0Ä€ª HDÂÀ@÷5„”D%¬¯!”«!βùõ²¸¬„f{Wlâ“8š`ˆE’ÄDÂÀA÷ƒ†àD&¼/)T()^”ÕoY»À¾hQ‘_Éüås^O|öF£ 14 :‘004PçýàÁ)‰ìëŒÄ ±ÙXGµ¹©—·7î+oË›fòkDòÔg>]£Y
-âiiFJš.Ã9¯|rGŸWÀ;¯ x0‘00pPçaµEJ$£Ò“zŽN6ÝŠí´,nîã˶6í‰Ù+ BÎÆ  ¶4"î¼"ÕDØwß]têÖÙ¶ú
-užRb ëx–_—õò½ÙÛ3uîùR3Â@€cì9 ‘spKlŒ°Hi¨÷@šÒvX4¿ºðü¾ÈV¾¬{w»Èj{5ש:@ôCäò<š¡ÞC¨ˆ´æ:”\&$52õõ“C?Ûûo¹©laào›¦¼ÙýÐnÇOïhp€!F” ·ÆâÀØA½‡ÁGH’˜Ä
-þ¡ݼ2(Ú5z†ÇÔžÎçùzî!¨»¯Ú
-!yÚ wA5—·ÑPôv@ ‰Ý 0"0×=”‘Äwú5Dø'-œWÊÝØx|àÌ“Oûh €!F”C*Æêݯ]iCK}‘ø¥«ïÎÿÝ4ëˆÃÒÕg["õJŒ¥ Ø!AÆ"A ˆ¡®=aiJ¤oH´ÓY¿;sñ²Ù™£Ý¶œ¤æ€Øgм"cIviPoNI‹ýÕÌuÿL"¸{>Ѿ_åõlv~f':ûq̃Ê%,S½‚!j7‚ Â_ù™rCtìyãÍ¿Œ£º5¹_~ú…NöKßQ"ŒV“ßìJ˜±4®Žú?ÔýææhvôÏÞŸogœÊ”=´É(Xóp%¦&ÂÎ÷Dת³lî•ç <=É~Ÿ¤Ó7¼ok8ÿ`'ñ‹°ÒÓÝß½ù× cì8¯ÖËæ6b…tov.AþÍ{endstream
+xÚí]wÛ6†ïý+t·ö…°ø&xé8Nêv“f#gÛݶ<ckEºåÆýõ ’
+€!F¡ F꼧@’¨D
+¸£`v“Ý=7ûs¥ø>u£¹
+3\Ú‰>•%ŸïÑ,CŒ%¨§f)Æê<°¤$aLùŠD ó;WÝ·U‰|:7áüIWŸÙÑÔ
+ nÉRÞ‹6…Ÿ/³«¢\×˹»i¦ÇA³Ç}$!g£
+€ð-g§‹Õ²X®ë
+´£(þ[ŸEŸ¢ÑúCL(¢$ LÔy5 Š$œ‡""ÌEfË«"ëN~v(C?$nˆæ”õÉ~$IÞn
+ #$í¿íë¾ /†ÒŽ÷Øú!7‚P“J×ÅЭž.îìtÆ/1÷7YåY½©òõ`¦ÂÁ>²r2 "+‡;Çm34Ü´‡df×k¬Pç %iʺ^†¥Ã×e½|ogööLÝ£»G¾ÔŒ0àÅ{BCäÜ#,Fê=¦ŒÖ…ͯ.<¿/²•/ëÞÝ.²Ú^ÍM¢ýß¹<f¨·Ã*b턹å
endobj
1022 0 obj <<
/Type /Page
@@ -2963,28 +2963,27 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1078 0 obj <<
-/Length 3313
+/Length 3310
/Filter /FlateDecode
>>
stream
-xÚíÛrÛF†ïõ¬Ú©j9‹9Ï\*²œMbËZ“NÕn’ F‚eVxP(ÒŽöéw@ MrÐÒx}’ĤʄH6»Ùÿ‡é`@ð^þç=m˜ñÂ÷¬WL\÷.¦Eï*¼öýoÞÓ‡7õñ»¾üã¹t=ϼ¦7|ÛSZ3¡×æXáï /9<yu6<=Ž~þxp:ŒŸŠ=óBVùçÁ/¿½ËÀ“ÞéÞ‡ðGÁ¸÷¢7=PZ2­¤„g&ƒƒÅD¯®M“ß„LH#_EôUª5ïY홑B®¿ˆbŽñ£>Eqø}9+£åxvuÔº8ü©¼½9ê;#ÙQ_‡7<¼åý'û°m©‹u+M›ÏmW½zã5V ìúØpW­ÝϯôÅN ~*ŠÒ;°¢,3Ea"+¢ae0¾šEP–ïÊzã?óYز…ÙCYÍ&RÄ`Õï&&E 鈑šiã|$F6ÄœÌg¿…¸Z-"7ƒrñ¾\Tc —O•NF ÙŒ CŠ¬ÅH"ŠÒ»åaÈ1¡<ŠPÕ¤ $> Rž §'¯áxv;MÇíÀrÓ¼0š]ÖÇ«å|êUóž8$)«¾i
-†D ¤÷ã=SVútû| êÕõåhÙÈ?-—ïæaÿ·^>:s•Ë6$8ØÐB¨NRqÐÞg™R"–Ø+<_M&·Íh¿9ÈÿwÝa®
-¤3dH¡‚底D*¤w@ÅH&­k‹ˆ†"r6øéôß’ùd2¯ç¶û)išÈf6)È"«E‘’ˆƒ"…ô¤hΤjgÌìÛN WÙ CŠ¬ÅA"ŠÒ;p C‡Áu[\lÃÁÖDòò69zhåö%%&1dH‚E¦D ¤w
-
-ƒD¤wÀ L4áEÕ8Þ¹ËÁãÆ
-Ò;œþÔZ³ÂÇyFÕ`èí3žÃ#_ (îpu³lNwÎ.ÞÍõöËÑltUNËÙ²’Ã>J^:Ñ€ìe£ )4°:‰8(4Hï0v(É
-ç Á¸é:~®&Ÿ£Éø­Ïz]ÞÌ'¡9êK¡÷Ç5Ó°@B³aA†,X0
-–D,¤w€ErVÈBµ°4]ÉñjFŠñ2°ò¾ÄKmBK¢Õ¾ÙBÒ˜2¤Á2Qˆ$â !½ÇRÃóÞY`„×¥æü§“æh÷ߪ§ª_ ]œ,n¯—ó?Æa»yöfu}=_„*cÕÓ§“Hj61È"‹&\71‰8(bHï0¨&<§:œC:¯g7õ¿®Æ7ãeY÷tx±ç×+Kål‚!EV‘"(Eé Ô䪧K^ÆPÅPE‘ ãÉw«ñä2v0¯®ËÙ`ð¢9Ím\N||zW¢_—Í«óYýøb<[ý>Tª¯Ó†Æ/™+!6$$ÜH¢ð¦â $¤½·:Á|!-–P|„„ƒ“ãzÃE±)à`>-ÆañR|Õá<~×l%‘!¥$Î¥ì^ÀŸŠƒR’ôÞ*i æâÉïµòþBæo—ÿ¼¬VY¹‡ÜäA²%ní(…QŽ)wƒ ô¥\7ÕZiÇœ*d«n3ØÔö»ΞÕ[¾~ø0^¾«·ªN°îzý~ÌY6 È‚k"»WÖ§â p ½·»»2̨ágjoâ
-Œ0âŽß”×MXº+³Qæ‹^ø†Ùú!CJ?œAJ¿D”~¤÷V?©˜µò‰/×·êò=fwŸZÅæ{f‹ØÚQ¢,RîA)H¹n‚Y¥ñ 7SA¨¼\?Ìq‘-12¤4Ɖ¦DNÄA©Lz‡ºÞn¹4­ÈÍ9žÄ•auèv>Ÿ„Ñn?=¾:Þlt!…–OŠntqPèÞt¤wÌ8î[tTΛ›Ý jëÀú=5÷ &f6—lHP³¡AM*‚Ú;Pã 37úº¦fp]^ŒßÞî¢SήÆp­ L¹ã‹óé4žƒž¬ß'¿eŸ¸‘ˆ™ÉVRªãÌËî åRqPª“ÞAu«˜á•S«þz5k/¿Ÿ¦ååv§×yÝÔö"•àç›—Ò-12¤$Æi¦$NÄAILz‡34á­L;ë¨ÏÐüpþÞ4 œ‚©×‘%úF/ø¾@
- Ò;Œº:àpÂæøò²Þ×ošià‹ùüÕuóê6ŽÃ°¢
-ÎÆ¿ÿ>iÞó|¾µ£Úö߼̊l™‘!%3N5%s"Jæï{o~FJrÄ5cÕõEÈÅš¸c/ÆWï–Êêß­BÙ!Œûe $âÞùÜuÖº×<ࣲµã5YI‹°+x^/×ë_˜¨~U$æ«;=ÍË¿/F‹ÛPNÈR‡O½'Aú²÷$dHíIXŠ‰D¤w`CøPµw ¢ac£¥¨x6*§ÕôÉ[½_ÿÒ(“™K
-6$HÙ‹ %AÊ®÷Ô˜+ŒgNûSÓŒ¹;Cm{(7̱`zýº|[.ÊÙEÙ9øðûŽ·Ø€o7‚–Ý‹ðÇQ™ÚñšÜ§´eNØZ&ÇÛdjž¡·8¬×-W×ÓrûTç+|@J³÷,dHíYX2Š“D/¤÷¦iJ3ë \âO@í4­/GË‹wP”o*TŒû9í*ÎlT!…
-–KuŸ^IÅA¡BzgÑ„”Ì¥[XÖ¸ÈêxÈíl9úë¨/½Þ¿(ÊlP!
-–Š%
-é½Epf¥pÑ€ò¬¬êÐlÜV¡xÈûÍÍèªüF5‰S#1KÙ CŠ¬Å@"ŠÒ;Ô•Â3[𶮈xÝþ´¾BJ QC;»5HT Ù¨ C
-,—ê>‹–ŠƒB…ô‡ î-3Æ«–}]ùHPb*sAÁ†(R ¤â @¡½· 8f9Í¢”}]Ùe
-.Åc‘vó‡K:ñiRœMOkGÁƒTÝ'œAPèP®¡™²¾­`곡sZ‹‡@J'"ËlF! ÖŠ¢$… é8á’)eÛʤïäd<»˜¬.Ë&†YÏïêvO«Q†gム)|°„ªûgxSqPøÞŸ‚3ÅM¤Ç|.zîd¾ôIýO¼b2™ IkG1‚t¢Ù ‚"„rÝ
-`R´“''0“ùÕUµ‚,Q›‚;ãõ]Çq¾õäúÄ5«IpþíÀŒ¼¹@OQ·ØŽ`‡™x×Õ¾ð,ù›¶Õ¿œ3߬ÔþÿnòÚÞ‹VfœëZz«‚C.ëÑ­K«îgÐ?íyþµ,g—peÐÆU$?qÎËÅ͸:–]ýÖ—4¡‰UìkŸ(ÿDãæ–endstream
+xÚíÛrÛF†ïõ¬Ú±j9‹9Ï\*²œMbËZSNÕn’ F‚eVxP(ÒŽöéw@ MrÐÒx}’ĤʄH6»Ùÿ‡é`
+V‹"%E
+éHÑœIÕÎ6˜Ù·@®²9@†X ŠƒD¤wà@†ƒë¶¸Ø†ƒ­‰äåmrôÐÊíKJLb6 È‹$L7 ‰8(@Hï
+,…A"
+Ò;`PH&š‚ð¢jïƒÜåàqc
+–D,¤w€ErVÈBµ°4]ÉÑjFŠñ2°ò¾ÄKmBK¢Õ¾ÙBÒ˜2¤Á2Qˆ$â !½ÇRÃóÞY`„×¥æì§ãæh÷ߪ§ª_ ]/n¯—ó?Æa»yöfu}=_„*cÕÓ§“Hj61È"‹&\71‰8(bHï0¨&<§:œC:«g7õ¿®Æ7ãeY÷tx±ç×+Kål‚!EV‘"(Eé Ô䪧K^ÆPÅPE‘ ãÉw«ñä2v0¯®ËÙpø¢9Ím\N|trW¢_—Í«óYýøb<[ý>Tª¯Ó†Æ/™+!6$$ÜH¢ð¦â $¤½·:Á|!-–P|„„Ãã£zÃE±)àp>-ÆañR|Õá<~×l%‘!¥$Î¥ì^ÀŸŠƒR’ôÞ*i æâÉïµòþBço—ÿ¾¬VY¹‡ÜäA²%ní(…QŽ)wƒ ô¥\7ÕZiÇœ*d«n3ØÔö»NŸÕ[¾~ø0^¾«·ªN°îzý~ÌY6 È‚k"»WÖ§â p ½·»»2̨ágjoâ
+Œ0âŽß”×MXº+³Qæ‹^ø†Ùú!CJ?œAJ¿D”~¤÷V?©˜µò‰/×·êò=fwŸZÅæ{f‹ØÚQ¢,RîA)H¹n‚Y¥ñ 7SA¨¼\?Ìq‘-12¤4Ɖ¦DNÄA©Lz‡ºÞn¹4­ÈÍ9žÄ•óêÐí|> ;£)Ü~z|t ½Ùè C
+,ŸÝè$â Ð!½7èHï˜qÜ·è¨77»ÔÖ€õ{jîAMÌl.5Ø fC9‚šT5´w Æf4nôuMÍ𺼿½ÝE§œ]áZ˜rÇ/æÓi<=Y¿O~)Ê>q#3“­:2¤TÇ™—ÝÊ¥â T'½ƒêV1Ã*3¦VýõjÖ^~?MËËíN¯óº©íE*ÁÏ7/1¤![bdHIŒÓLIœˆƒ’˜ôghÂ[™v&ÖQŸ¡ùáì½iA8S¯#Kô^ð} ‚g„ )€°†²û’¹T@¤w#tu<À'à„ÍÑåe½¯ß4ÓÀóù«ëæÔm…ÿ`EºžÎû—‰Ä¼dkŽ )ÍqÞ)ÍqPš“ÞAsé˜íôCÄ3ÿۚǵȡFÐœŽÿ}Ò¼çù|jGµí¿y™!Ù2#CJfœjJæD”Ì;Þ9öÞÜFJrÄ5cÕõEÈÅ94q;Ç^Œ¯Þ-?”Õ¿[+„:³B÷Ë2HĽó¹ë¬u¯yÀGekÇk²’aWð¼^.®×w˜¨î*óÕžæåߣÅm(§d©Ã§Þ“ }Ù{2¤ö$,ÅD"Š Ò;°!|¨‹Ú»† Ñ°±ÑGRT<•Ójúä­Þ¯i”ŒÉÌ%¤lˆE’Šƒ e×{jÌÆ3§}©iÆÜ¡¶=”æX0½~]¾-åì¢ìÎ|ø}Ç[l@Œ·AËîÅøã¨LíxMîSÚ2'l-“‰ãm25ÏÇÐ[œLÖë–«ëi¹}ªó•N> ¥Ù{2¤ö,,ÅI"ŠÒ{Ó´
+¥™õ†.ñP;MëËÑòâå›
+cÅ~N»…
+¤3dH¡‚åRݧWRqP¨ÞãY4!%³Fé–5.²:r;[Žþê¤×ûãá÷R™
+2¤@ÁRQ $â @!½· ά"Pž•UšÛ*y¿¹]•ßÈ¢æ/qj$f)›dH1€U HÄA1@z‡ºRxf ÞÖ¯ÛŸÖWH 4jhg÷£‰
+¤3dH¡‚åRÝgÑRqP¨ÞãpÁ½eÆxÕ²¯+ JLe.(Ø
+$ ê>ᜂB‡r äÍ”õmSŸ {´ÐZ<R:\f3‚ )H°V%‰8(LHïÀ —L)ÛV&}''ãÙÅduY¦01Ìz~W·ã¸xZ2¤8dHáƒ%TÝ·áMÅAáCz|
+Î7‘ó¹è¹{ùÒ'õ?ñŠ Èd6$­ÅÒ‰Bd7ŠÊuˆóL:%# öN@ª;6'ßP¼“w -RºýA_Hy.IÈŽ J”‚ ‰t ¿:d™Ô¢jÜç éîaFo
+©Íþy¢ÖŽúu"$AL"ê·‰(×ñ·˜íäÉß Ìd~uU­ KÔ¦àÎx}×qœoý†\Ÿ¸f5 Îÿy0#\ Š§¨ŸØŽ`‡™ø««áYòž¶Õ¿œ3߬Ôþÿ~äµý-Z˜q®ké9¬
+=º¬GS´.­¾]=ÜÉëä¯e9»„Ë‚6.!ù¹Ï9?,7ãê@vu£¯01‡ã1±„}í%á”üåÜendstream
endobj
1077 0 obj <<
/Type /Page
@@ -3401,17 +3400,23 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1142 0 obj <<
-/Length 3433
+/Length 3425
/Filter /FlateDecode
>>
stream
-xÚí[SGÇßùzØxPoß/o;E*± Æ»[Nò c˜Šˆ$ìx?ýöh¦»Ï@ϽkTªbŒçèÿO}9}QÿYE¨prdœ$Š25š^îÑѹÿ·ï÷X÷Ì8<4†O½8ÝûûkaGŽ8Íõèô#x-K¨µltzöËþË·oN_½9}wðÛé{¯Nã‹BÇŒŠæÿØûå7::óþØ£D8«FŸý_(aÎñÑåžT‚()DøÍlïÝÞÏñÁ¿nLsoD K”å&óN8ï„qN¬3>:åˆ\lÞŠ&܇ڼÿ8 F¬¥Òûh›-ÎÏëùy÷|YaˆÐNwϽ[OÖÕe5_Œ¹¢û‡Õ¯”òy½®óö7“ùYûÃûÕä¼:;föÉÁXQúmþÎý/v7„VÜÍ)K¹¼¥Ìò|Ôþpµ
-vchx[«Û¯ß$Wê[qísq`¤ Þ™’ÄãFF¢5“€ÂüG‡îŸ^Th4%”IÓÁ0½˜ÌçÕ,%R©ðÜñÅr²ò,øˆ¾) ÷ÀI<!½Åð
-Íådµ®²]S3’CÓ©Ø™‡Þ}m€ºó“ì0|€€=·ƒÀàÁ\'vŒ"Vh–à‘÷Ï]æâî1°2IÈe1%ÀÃj¥Ä0'™80PPï‰-ˆÕŠ'RÔVRWØYR´‡“™-ÍŒeìi53!ÇÅCŒ ¨!FP&Œ Ô{"Hy8œu?}_Ý¡­1òQ·5!—Ť
-æ:qâ;¡i¯.Át Ê‹ëz¶×ÝBù
-LWêùÇÅòr’¶Füg1oŠàþå–à˜…b}!&0̲®=åâÀ$F½'¥%º^™œÆ¯.¯Ö]ÉúC«¨~%¨oÒ„$#
-F& Ô}ƒZâ ÓŒîB•Ã/óÉe8øöþê,nMÙì@ª›ŽG*µ³º‡Äë 1ÝaâEæ7™@0ÝQ÷Îÿh}kÁœ!”ÆËd}SÀh¯-x]Ïšµ8å}'òDZQ†RÈ !YOfF‡-äA ÃÝÇÙk¾¨†»PÆÍ –qÚ»6°->°>©¦‹öXÔêÆ´æ_U7ÓY/ÂD'ŒŒ/š3øƈT¶ ‚„Œ  1ÁaÆQÁ3`‚£îcoÂŒ ´Yû‚o$Ûµµ‚=ÅÑELX1Àã
-‚ò ãuŸxЬù6+€ïpØœ©®þ\_‡ ÕŸWáú¥XÈíÂÉfB£w¶èÒT A²Ã
+xÚíKSIÇï|
+ö
+€GÜž?®«å×qµ\.–« @Ê'­è.~HóñGKÍ '!“Åœ
+0ÄHZ)3LJ&ŒÔ{œ}káɨûéP÷{¹X̪I'êqG‡÷àvrtGBºŠa
+ C%†
+ê=¡B%1œ­Ãå½¢r‡é 5¾õI+FbH@QÜð™n¹80$Pï î81Ú¤’ ß~Á§ºúœ;GúdÔ–VC ñÖч`Šé.… "0õätÃ¥õ\L¸÷“¥Ä8pû×÷ÓövE;½¿3GtÅ´C 1h l4™80hPï ß…Xp3:ß^³möW䙡Æm;EYû„×öB¶‹QJvI@K7¼ö“ ãs0RšX¥R%ŽÛ{áh{ÛcÛKÝŒbZï
+Lg7††9bn¾“jF‡WŒr`Рîãz!—Ò!AmΆsQnÜŸøõªÚ܃&žêžÀABB
+‹ †!P"”L !¨ûDˆàÄ1! !Ýa)¯f“ÍÌ䌔¿zóhÐ3$´˜`ˆñctx=(Æ ê>ñÂ)q’+È‹¸Ù¢Äc–nH¢p!sÅ`
+F& Ô}ƒZâ ÓŒî@•Ã¯óÉe¸ñíÃÕYÜš²ÙT7Tjgu‰)ÖbºÃÄ3ŠÌo2`º£îi}kÁœ!”ÆÃd}SÀh¯-xSÏšµ8å}'òDZQ†RÈ !YOfƆopÉ‚@†»³Ö<¨†»PÆÍ –qÚ»6°->Ýa}RMímQ«Óš]TÝLg½02¾hîÁ7F< ²m$d¤Xp`ˆ 3Ž
+ž u{f¡ÍÚ|#¹Ø®­ì)Ž.bŠy
+.b
+I& Ô}®R?@B'Hâôå.'¼ü#³jç_ .hnÒ›¬Ç«ú|ÞÞ¨§{îžbÖ‹¡†TPUƆ÷2åÁ BÝG¨¬#\s˜âLýíøä軣·¹§S"X<5¨×NŒÝëÏÚ ÙÉòYJ °C`ja¬d¢@PA}§‡QÂs€QBÊÑÛW?|8|ÛZ­Õb.v®Ÿ
+™,eØ!Œ@0F2Q`ÏÄ|§ð=œDd "~•ÛY¢‰•n
endobj
1141 0 obj <<
/Type /Page
@@ -3543,7 +3548,7 @@ endobj
1161 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 555.0713 539.579 564.0773]
+/Rect [527.6238 554.9716 539.579 563.9279]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.8) >>
>> endobj
@@ -3571,14 +3576,14 @@ endobj
1165 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 507.1877 539.579 516.0443]
+/Rect [527.6238 507.0881 539.579 516.0443]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.12) >>
>> endobj
1166 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 495.2168 539.579 504.0735]
+/Rect [527.6238 495.1172 539.579 504.0735]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.13) >>
>> endobj
@@ -3592,7 +3597,7 @@ endobj
1168 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 471.1754 539.579 480.1317]
+/Rect [527.6238 471.1754 539.579 480.2811]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.15) >>
>> endobj
@@ -3634,14 +3639,14 @@ endobj
1174 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 399.3501 539.579 408.3064]
+/Rect [527.6238 399.3501 539.579 408.4558]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.21) >>
>> endobj
1175 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 387.3792 539.579 396.485]
+/Rect [527.6238 387.3792 539.579 396.3355]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.17) >>
>> endobj
@@ -3655,42 +3660,42 @@ endobj
1177 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 363.4374 539.579 372.3937]
+/Rect [527.6238 363.4374 539.579 372.5432]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.19) >>
>> endobj
1178 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 351.4666 539.579 360.4228]
+/Rect [527.6238 351.4666 539.579 360.5723]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.20) >>
>> endobj
1179 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 339.4957 539.579 348.6014]
+/Rect [527.6238 339.4957 539.579 348.452]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.21) >>
>> endobj
1180 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 327.5248 539.579 336.6305]
+/Rect [527.6238 327.5248 539.579 336.4811]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.22) >>
>> endobj
1181 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 315.5539 539.579 324.6596]
+/Rect [527.6238 315.5539 539.579 324.5102]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.23) >>
>> endobj
1182 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 303.583 539.579 312.6888]
+/Rect [527.6238 303.583 539.579 312.5393]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.24) >>
>> endobj
@@ -3774,7 +3779,7 @@ endobj
1194 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 160.0321 539.579 169.0381]
+/Rect [522.6425 159.9324 539.579 169.0381]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.1.2) >>
>> endobj
@@ -3802,28 +3807,28 @@ endobj
1198 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 112.1485 539.579 121.1546]
+/Rect [522.6425 112.0489 539.579 121.1546]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.5) >>
>> endobj
1199 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 100.1776 539.579 109.1837]
+/Rect [522.6425 100.078 539.579 109.1837]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.5.1) >>
>> endobj
1200 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 88.2068 539.579 97.2128]
+/Rect [522.6425 88.1071 539.579 97.2128]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.5.2) >>
>> endobj
1201 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 76.2359 539.579 85.242]
+/Rect [522.6425 76.1362 539.579 85.242]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.5.3) >>
>> endobj
@@ -3842,24 +3847,26 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1205 0 obj <<
-/Length 3483
+/Length 3473
/Filter /FlateDecode
>>
stream
-xÚímsã¶ÇßûSèEgjÏT8â™l_t|~¸8MÔvÚi“¼ %ZæœD:"uÎ}û‚@®Lpc^rÉ]¬ÜL,Û\îrÿ?€à„é$2ÿèD*¢–Lt"ˆŒ¨œÌVÑda~÷怺c¦þ )<êõÍÁ«sO’(¦&7w!%ar{²˜DqL'7óïO¾¾¼9»¼¹>úáæ˃³›ö¬Ð3xsʾû!šÌM
-ã
-‚òãuïï>”­ki îîó“rS˜Áˆù.Ž’}Ï&Å's4)À#ŠEi<LJ ŒÔ}Ûs¨$!:Ñ€•¶ç¸LW¾ëÈÖïü˜u˜!ÁâÏAï!¡ÛLŒ"Bïd:"4î¾:Ö$æš9¡ÿW™8ɘEZ̲ŸS;ÑâSvPQÉ£†˜¢0¥”&ÊÁEÝwŠjIbó(åNÑ«¬*—Ïh²±bŸ_‡=(·ÏÇh¹!&7Ì7*w LnÔ}'·yœÍOÜÂÉ}]ÎÞfµ÷âÕ×?§ºŠÄAnŸÑrCLn˜o3|–;&7꾓[R’˜@€ÜÒÉ}R®Œ¶·ù2¯ß[qóúÞV€D´s6MD)WÚV¡úu"sO´;&îÑÂ?µ¡á >e£‰
-3ô䊿œÞq«6óc±‚†V;ÊbX…A°ÂÝ{¬bF¢XtX1‡Õ·U^,ìm4<m©•ðúÞ±ìÓ"¢£¶O;ß³fÐbTÑ/)ŸõÑHC )¨*ŠT  )Ô½¿·JJµgŠ»¡Úéû"]å3ËÔ·ó´ÎžŽnµTûÑX˜ŸÓÑÄ
-îs2Zp`ˆ sŽ
-ußöÔ ßxâg®×¸(fV²fLßêš'U[5¹O‹ÅÎXÏÏæ~=ÓåfuÛL;'ŸQW0OÓh€!”… ê¾… ŠšG:|ýç>ƒíöäIË~ã'¾È–¦Ù
-±¿‘<‹%ŸíÑ,CŒ%¨&ÊR Œ¥žûаLhÓ‹$®Dwl:sƯ²e–V£Ë²Î† ЭùsÇdÐ
-sÕ!Ã-2_×÷þ=øÓr¶Çñm»&Ñ.½ô¥ô>W£A
-LÌ·×_QIÝê/­þí¨ó¢"³²¸ƒûŸªXï; —ÔÑ°tv,@2–~,˜o‹HH”´¬(ËÊuºzð;r?<,ó™Û:i*…Ú£ñ ›ÂÑd´f<(½0,Çí¾k”kBݶñ[0ì;Õæñ¸Ú²á6èO-#UÞñRÕ›[ûÉM-7µÛ¬M
-ý¹Ü%\"FËÛÙaú‚4S1<áˆSóÝIÌ$¡R‰ÙŽÄÓ´z_ÌF ­Åá_v^’vS¢ÍÉîÝ‹Îå¦Z¾oV ±_(Ž»„Ñâtv˜8 A¨8ý(0q0ß8”ƒŽÙ¾˜Ú‰ãË f7,Q[¹ª×iQ¥³º}“n¶Ì·%ÿ}^oó8ZºÎ“¤
-6,]?
-L:Ìw']džïݨV:±+Ý"Íd‹¬n–
-äÅ]ÙÌßÙ¹»5Næˆ"]eý#êvBpVÎܒ˯™»²Ñšuv˜f o¨fý(0Í0ß­fqB˜”@2¹+Ùf»ûÎpC›Ã­z6`«ßΚ϶÷[¬ÓÕÑTÛÚ_Y!wcêÌ}@Ž0yú! ê`Ž»?ë  ‹c Žrâ•Ké­—f^®Ò¼xU´{¶W`ÏöÙ}6{ë¿É ߎ֫jwÉáÕù‰ý "-Æï±4¸…¾½ŒÑè·fØöù]Š¨ž¤î‡€m8vOJÞMŸØUæjwšd»Vl{¯*fÍZ(Éý;-ûön“9~×^o†îÙÛ
-E²c/„íŸ ›²„Ä!ž›ÿSJi7øe¬û#jBíùØ®a”¤9U»Ëó“]üB™íß›gó'3yO7pk«$ówÃ+ĬO‡ÿXSêendstream
+xÚímsÛÆÇßëSðEg*Í”gÜ3оèÈzp”¦J*)í´I^@$DaL2Úñ·ïw,…ÃFpbÇŽÏD”„Å.öÿ»Ãaïp¢“Èü£©ˆJX2щ 2¢r2[D“…ùÝ«ꎙúƒ¦ð¨—7/Îy<IH¢˜šÜÜM„”„ÉíÉbÅ1ÜÌ8<ùöòæìòæú觛¯ÎnÚ³BÏ4âÍ)ßüðS4™›
+càRš_J:Ñ2!Š3¾½E8QGSÊ¢èðåÅåéÑ”ÉèðŸiUgkûù<_föÓÙÏuVTyYüõhÊitXßgÍõ/x¡Z­¥0±5þôêìòìêø(a‡7gîp”â$Š¸tGŸæë#f³:k¼ªH’£©4Á}Ô/T‰Ñ<1jSÕKûz1±®€­Ýö…蟿¹vJU'¯l(ŒÔ½ç@h¢”ì8ÐŽƒãù<¯Ìéò1çåz•Ö•Fa~í‘$‘ŸÀÑt
+ 1EaJ)£ÃŠÁEÝwŠjIbó(åNÑ«¬*—Oh²±b_^‡=(·ÏÇh¹!&7Ì7*w LnÔ}'·yœÍOÜÂÉ}]Î^gµ÷âÅ·¿¤ºŠÄAnŸÑrCLn˜oÊØ°Ü@0¹Q÷Ü’’Ää–Nî“rõ`´½Í—yýÞŠû.¯ïmHD;gÓD$‘r% mª_'2ñD»câ-üsáS6š`ˆ%A‰‚Ñs‹~¾î©˜ù™dÖ{SOŠvꊾpÍ6ë‹“²¨òy¶N›šS5œ8jÀÓ ú÷Ïk&‡·%ªç6T]QT“$–.QÛálS]9žÍ²ªí ‹z[ -]îÓSn'ö5–ñíÎ'|t»†X»ƒ‚¢ÁpBÝ·8EŠD4ö8±@]ž1’PA]zr¿.Ë:ÐÏrA"ó@fJ‹y¨ÂŸ.µ/ð_gõ&Ÿ‡Îƒªï²ŸAqð·&Ök:šX`ˆ ™1·ôab`Ä¢î]ùGš¯‘¤-°mùç&8©dn>‘ˆ¹ci6¯y^ÔÌvV¼µÓIe±Ê
+3ôäŠ?ŸÞq«6óc±‚†V;ÊbX…A°ÂÝ{¬bF¢XtX1‡Õ÷U^,ìm4<m©•ðúÞ±ìÓ"¢£¶O;ß³fÐbTÑÏ)ŸõÑHC )¨*ŠT  )Ô½¿·JJµgŠ»¡Úéû"]å3ËÔ÷ó´ÎnµTûÑX˜ŸÓÑÄ
+O  "Ô½¿³3AX¤Z†ÚãEýg÷À\”®¼ø®\¿6­ëoö»ûòý0KlöËQÄ»àÈþ¤Üø3ܧíiß¹1äâï¦G§ñï@Á à>'£†˜à0ç¨à@0ÁQ÷m¯AÍð'^qæz‹bf%kÆôí ®yRµU“û´XìŒõüì`î×3]nV·Í´ƒqòuƒø4†
+å#Æ êÞ »„„+ÚbÒ€’˜vsáç&æ_aɾÏïhx€!Ô…'êÞÃ#á‰èàažÓò]±,S3b“Jí¡ù`v|zG³ 1v |(;@0vP÷žÁtÇ·ììΟç?7·(E垟àøÜŽbà@íPp`à î=84&BE8‚s™¹2Ày–Öî©‹Û£3ŸÝÑè
+‚„º÷ éˆÈ„u Ťs§zmúoóv¹iª¡|ß}0E>Ñ£)†EPH”¢@ E=÷¡)11SÖûK3¾á¼©”n+ë<sÑWyU—ë÷»=T;ÕrzyýhNÆ/é'Ô»|jY eÕK¡œ'œK`Ïm¨¬Ê¹É¤pź—ÛjOš‡V[$ÓR?÷EŸ¤‘zF7R`ˆ5R¨2ÊV Œ±žû`#¥‚(íjz'Má>>|•ÙÚOp¶-ð*»ËÖYû¢ÜEq·ÝÀ¡Aq0uþäOnŽÀ
+¢ÜÁøAÝ{~X͵ç‡Y~^æ·Ë¼\¬Ó‡û÷4ííîz³XdUÍ}#Lçy±°<qÆžmæÆr .v”Á¸‚p»w£m¦c¢uÔb±½Ï'ÔHýfc”4gÚ¬sËŠô/Wç'•ï_ž >e£y
+O?
+ŒÌ·C‡&Š$2nÑaf7‹|™º•n\ì‰MŒÏìXb€B Ô #&B êÛ ’$í­É®SRfè_ÕéÒ#ó‡Ý³á“ã2<šœÎ#èGÅð|K
+ŒÌ·'Gs1Ñ’#,9ÿ(ÊwnEõiv—ÍêêÅUVÕë|f7H™&Ÿí8æã ÿ}žFëßÙaúPýûQ`úc¾½þŠ’HêViõo7C™•ÅÜ
+UÅzßY °¸¤Ž†¥³Ã`’¡°ô£À`Á|{XDB¢¤eEYV®ÓՃߜûøáa™ÏÜ.JS)ÔGhØŽ&£5ÃÀèäA¹è…€a8n·`£\êvß‚a_¯6ÇÕ– ·Wj©òŽ—ªÞÜÚOn
+ ìƸ©Ý¾mRè/å.á1ZÞÎÓ¤™Šá ß@˜Â˜ïNb& •
+HÌv$ž¦Õûb6Zh-ÿ²ó¾´›mNvïÞy.7Õò}³bˆýJqÜ%Œ§³ÃÄ BÅéG‰ƒùîÄ¡œÐtÌöÕN_n0C¸a‰ÚÊU½N‹*ÕíKu³e¾Ý»(‰øïóz›¿ÀÑÒuv˜t }TˆaéúQ`Òa¾;é"ó|ï^FµÒ‰]éiî$[du³T /îÊfþÎÎÝí¬q2Gé*ëQ·‚³rnä–\~|ÍÜ•Ö¬³Ã4yC5ëGi†ùn5‹¤’É]É6Ûx†ÚîÚ³»öøvÖ|~°½ßb®Ž¦ÚÎÐþÆ
+¹ë+Pg†èr„ÉÓQsÜý…MXq”§¨\Jo½4ór•æÅ‹¢Ý¾½Û·Ïî³ÙkÿM^øv´^U»K¯ÎOìi1~»¥ÁÝôíeŒÞK¿5ÃvÒïRDÅð$u?l}ı{zP’ðnúÄ®2W»Ó$ÛµbÛ{U1kÖBéHîßiØÂw›Ìñøz3tûÞV(*-{!ôøhÿrØ”%$ñÜüŸR’H»WÀ¯ûCeÝßSšðxhûÇv £$Í©Ú Ÿá~•Ìöïͳù£i¼Ç›Ø[­H´<Ìß/³Aþmô
+endstream
endobj
1204 0 obj <<
/Type /Page
@@ -3886,14 +3893,14 @@ endobj
1209 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 734.6423 511.2325 743.6484]
+/Rect [494.296 734.5426 511.2325 743.6484]
/Subtype /Link
/A << /S /GoTo /D (section.6.4) >>
>> endobj
1210 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 722.6753 511.2325 731.6814]
+/Rect [494.296 722.5756 511.2325 731.6814]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.0.1) >>
>> endobj
@@ -3914,21 +3921,21 @@ endobj
1213 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 686.6746 511.2325 695.7804]
+/Rect [494.296 686.7743 511.2325 695.7804]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.2) >>
>> endobj
1214 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 674.7076 511.2325 683.8133]
+/Rect [494.296 674.8073 511.2325 683.8133]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.3) >>
>> endobj
1215 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 662.7406 511.2325 671.8463]
+/Rect [494.296 662.8402 511.2325 671.8463]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.4) >>
>> endobj
@@ -3956,63 +3963,63 @@ endobj
1222 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 604.9622 511.2325 613.9683]
+/Rect [494.296 604.8626 511.2325 613.9683]
/Subtype /Link
/A << /S /GoTo /D (section.7.2) >>
>> endobj
1223 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 592.9952 511.2325 602.0013]
+/Rect [494.296 592.8956 511.2325 602.0013]
/Subtype /Link
/A << /S /GoTo /D (subsection.7.2.1) >>
>> endobj
1224 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 581.0282 511.2325 590.0343]
+/Rect [494.296 580.9285 511.2325 590.0343]
/Subtype /Link
/A << /S /GoTo /D (subsection.7.2.2) >>
>> endobj
1225 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 569.0612 511.2325 578.0673]
+/Rect [494.296 568.9615 511.2325 578.0673]
/Subtype /Link
/A << /S /GoTo /D (section.7.3) >>
>> endobj
1226 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 547.1091 511.2325 555.8213]
+/Rect [494.296 546.9647 511.2325 555.8213]
/Subtype /Link
/A << /S /GoTo /D (chapter.8) >>
>> endobj
1227 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 535.1172 511.2325 544.1233]
+/Rect [494.296 535.0175 511.2325 544.1233]
/Subtype /Link
/A << /S /GoTo /D (section.8.1) >>
>> endobj
1228 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 523.1502 511.2325 532.1563]
+/Rect [494.296 523.0505 511.2325 532.1563]
/Subtype /Link
/A << /S /GoTo /D (subsection.8.1.1) >>
>> endobj
1229 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 511.1832 511.2325 520.1893]
+/Rect [494.296 511.0835 511.2325 520.1893]
/Subtype /Link
/A << /S /GoTo /D (section.8.2) >>
>> endobj
1230 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 499.2162 511.2325 508.2223]
+/Rect [494.296 499.1165 511.2325 508.2223]
/Subtype /Link
/A << /S /GoTo /D (section.8.3) >>
>> endobj
@@ -4145,70 +4152,70 @@ endobj
1249 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 231.6835 511.2325 240.5402]
+/Rect [494.296 231.828 511.2325 240.5402]
/Subtype /Link
/A << /S /GoTo /D (appendix.D) >>
>> endobj
1250 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 219.7364 511.2325 228.8422]
+/Rect [494.296 219.8361 511.2325 228.8422]
/Subtype /Link
/A << /S /GoTo /D (section.D.1) >>
>> endobj
1251 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 207.7694 511.2325 216.8751]
+/Rect [494.296 207.8691 511.2325 216.8751]
/Subtype /Link
/A << /S /GoTo /D (subsection.D.1.1) >>
>> endobj
1252 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 195.8024 511.2325 204.9081]
+/Rect [494.296 195.9021 511.2325 204.9081]
/Subtype /Link
/A << /S /GoTo /D (subsection.D.1.2) >>
>> endobj
1253 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 183.8354 511.2325 192.9411]
+/Rect [494.296 183.935 511.2325 192.9411]
/Subtype /Link
/A << /S /GoTo /D (subsection.D.1.3) >>
>> endobj
1254 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 171.8684 511.2325 180.9741]
+/Rect [494.296 171.9681 511.2325 180.9741]
/Subtype /Link
/A << /S /GoTo /D (subsection.D.1.4) >>
>> endobj
1255 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 159.9014 511.2325 169.0071]
+/Rect [494.296 160.001 511.2325 169.0071]
/Subtype /Link
/A << /S /GoTo /D (subsection.D.1.5) >>
>> endobj
1256 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 147.9344 511.2325 157.0401]
+/Rect [494.296 148.034 511.2325 157.0401]
/Subtype /Link
/A << /S /GoTo /D (subsection.D.1.6) >>
>> endobj
1257 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 136.067 511.2325 145.0731]
+/Rect [494.296 135.9674 511.2325 145.0731]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.D.1.6.1) >>
>> endobj
1258 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 124.1 511.2325 133.1061]
+/Rect [494.296 124.0004 511.2325 133.1061]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.D.1.6.2) >>
>> endobj
@@ -4243,7 +4250,7 @@ endobj
1263 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 64.265 511.2325 73.2711]
+/Rect [494.296 64.1653 511.2325 73.2711]
/Subtype /Link
/A << /S /GoTo /D (subsection.D.1.7) >>
>> endobj
@@ -4255,25 +4262,21 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1266 0 obj <<
-/Length 1503
+/Length 1504
/Filter /FlateDecode
>>
stream
-xÚíÛK“ÚF
-þAá4ãÒ«ÂzÅ4]ÌW#^Ü„÷~A»M7*ñV/§£¯¤+<óF˜bzöåwŠéâÝø‡_ßL¯ÞLßN>L_®¦i§81pÙìñŸÑ»¼X„ü¯GœIïtñoxÂx/ŠÕHiÉ´’2¾r7z;ú=í½{͈–Ži'læHäŽD{f¤‡#¹š”Îùñ/³ú~v7)…æãÍì¦Ú}ydZÈäìctÈq|s{Sü‹ŠÛ—8༨óý6UÒgÄ£Äû£Æâ,­@i}xè°Ze™±öØÕ+“ÒK?^,oÂ/ÆlRj·?‡?Êû‹í¬SWìÇYs¿¦ ž·û|ÿ_U–)„ÒF¦OÚ¤fV€oµ‰£¶ÛõnÆÅܾ?·ØÞÜP Å 74tsËBq#Ó'n¡ kŒk¹ÉöäVïvÕ¼œßVó‹]8ý9¨zª£8Ò½¡@Êî$hÑí(SåˆLŸ0`ZGêÔÑú¡Ú†+†0´Ò‚ž
-)uoH(‚„[ ZvCÊBA"ÓGH&<pÚ¨’>´Ø]o'àÆëÕÇê¿I)4}+£4Ð}á@‚ÑI#Aw_Få
-!Ñé#g™çÐN`˜9aðDGw³¿ª0§qÜvz؉£ÛÛ
-¤ìàî¶Ýv2…PvÈôÉŽÕÌ+'|öK;7UVéá’èBšâx÷Ö„)M¸Ÿ`x·¦L!”&2}Òd$óžÇ ;Ñt8 UëáÚÈhD]HTóÞ¢P %
-÷Œê•)„E¦O¢´`\ê8gó'¢vÕ~¿\Uà ꒜â€÷æ„)N¸¡`ˆK¥L!'2}â¤8ãŽÇ©ðã4-zZÞÔÿ¯ë(9Hzª¤8Ö½%¡@Jî%âÂ)S%‰LŸ$ Ç@è8w8‘ôPm—×aÖ&œV*/«*Ž{oU(R…û
-¶{i)W¥ŠLŸTa`yœÊ8ªªg«jq\¢œ¯ëëæúI „¾™PäÞ„P E7l÷¢R®Š™>⊠Ðé+<yF¨ýˆÓÃYèÛ ÅAîMR„pÁÝ™B(BdúHH{Á„öq
-š”ÎëỸçÿ..5¡/1H;i2Øî˧\!1:}"æ8“\Åyh|–ú{}¿­gw›í²Þ‡×0õç¸7HñÁ ׽Д+„âC¦O|ŒcRù43-ŸÝýf1ÛWÍíj8I=ã`j@o^(â…LòÊBñ"Ó'^Ú0éUšÜÙ#¯m½˜‡Gà†[R¾û§aìHoo(ò†;®{Y*WåLŸ¼)Å0½¹&ý‹W
-o+ó šÍF Ev˜ ¶<Ù«æ&Ûn9½¨ÃØ©ÞQ åK
-¡’é“C)˜r*Íýãy¯l°¾ ” ‡sÜeQÅaï
-R¨p[Áwßv—+„BE¦O¨gZ¸t—g\s_Ô»GTÎØAÓ…4Åñî­ Ršp?Áw¯æ
-¡4‘é“&¶·ÒFMíºûl»™5“ÇI)Ìp%ö¬Ÿ€±½y¡@Šn0ø\!/2}ä¦Ì€‹KÑ.À‡sÔvV/Ö«æãÏ ¾žVú¾°p 뤵¬\!,:}‚å3FÆ)¥h—å—»yy»šÍË÷œ‹O÷›àË·Æ\JTóÞ¢P %
-÷|÷¤1W%ŠLŸDYÁ,wqÒ(â*ý®šËÛÙUF§ªg‡¾7,HÁ­oºae
-9ƒ•~4|X&¬¹ß
-†ÿÀ¼>¾ù´_i>þ–TY&]×áÊð‰ì½±…Ô¬ÙWs°áhœ¿üùÍÇŸ_†í™-Çgï¹æWŸöU½h¾Šj^y{¿Ù¬·ûã“?'
+xÚíÛÍrÛ6
+¡‘é“#
+¡4‘é“&#™÷<Nè܉¦ÃQ¨zX×FFà êB¢â˜÷…)Q¸§`º/‘r…P¢ÈôI”ŒKçlþDÔ®Úï—«j8@]’SðÞœP Å 7 q©”)„âD¦OœgÜñ8u~œ¦EOË›ú¿u}
+¡$‘é“$áçn
+¤TᾂUݪ2…PªÈôI–Ç©ˆ£ªz¶ªÇ[”óu}Ý\?‰Ð“ ÅAîMR„pÁvßÌB"Ó'B\1:=“g„ÚSœŽBO'¹7!HÂMK\%e
+¡‘é#!íÚÇi(DhR:¯‡gq/ÿ,.5¡/1H;i2Øî˧\!1:}"æ8“\Åyh|”úk}¿­gw›í²Þ‡¿3`êÏ'po>(⃮ûFS®Š™>ñ1ŽIåÓ<δ|v÷›Ål_5¯¨á õ‚'ÀÔ€Þ¼P Å 7\÷›¹B(^dúÄK&½J“;{äµ­ó°nx%廟 cGz{C”7Üqp®Û[¦Ê™>ySŠ`"z;¤õFáu…`T“¢Y©¡ÈsÁÚ'[5мÄ`Û5£u;ÕÛ!
+¤b à‰Ój¦Ê!™>9”‚)§ÒÜÑ?÷ÊÛái 9ã.‹*{oT(B…Û
+¾ûžV®
+™>¡œiáÒ[žñžû¢Þ=¢rÆš.¤)ŽwoM(Ò„û ¾û`®J™>iâa}+mÔÔÞwŸm7³fò8)…®Ä^ô Л
+¤xáƒï¾õ•+„âE¦¼ÂÔ€pqb)ÚðáµÕ‹õª9ý™Á×KÀJCß$`´|÷%~®>ÁrŠ#ã”R´·å—»yy»šÍËœ‹/÷›à˯Æ\JTóÞ¢P %
+÷”•)„E¦O¢¬`–»8iñ.ý®šËÛÙî¶yUF‡ª‡¾7,HÁ­ß}o>WȬô¥ÉàÃ2aµÈ}W0üæõñÃç}Kóñ»¤Ê2éºvW†3²÷ÆR³f[ÍÎ>„¡ã×?¿ûñøõË°~ó"a³ø‘k~õe_Õ‹æ9Tó—÷÷›Íz»?þòÇ
endobj
1265 0 obj <<
/Type /Page
@@ -4286,14 +4289,14 @@ endobj
1268 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 758.4568 539.579 767.3134]
+/Rect [522.6425 758.6012 539.579 767.3134]
/Subtype /Link
/A << /S /GoTo /D (appendix.E) >>
>> endobj
1269 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 746.5215 539.579 755.6272]
+/Rect [522.6425 746.6211 539.579 755.6272]
/Subtype /Link
/A << /S /GoTo /D (section.E.1) >>
>> endobj
@@ -4384,7 +4387,7 @@ endobj
1282 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 591.2039 539.579 600.21]
+/Rect [522.6425 591.1043 539.579 600.21]
/Subtype /Link
/A << /S /GoTo /D (section.E.14) >>
>> endobj
@@ -4466,23 +4469,27 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1299 0 obj <<
-/Length 2229
+/Length 2227
/Filter /FlateDecode
>>
stream
-xÚÝYKÛ8¾ûWø¨b-_É9&™Yd°È>ºgç03ÙRÛBlI£Gw¼¿~‹¬¢-Ùr:»i`‹Z$U$‹U_}U”ù’Á_š$fÒª¥¶*NO–›Ã‚-·ðîÏ N2*‘q¢¤„ÎÌÛU"Mœ¡—«ñ"oúAð¥`qšŠdùðxÚ+Õ&¶RÙåCþKôn—5}ÑÞ­DÂ"~÷ÛÃ8MÅÚhî¦1Ø"‰µeÆOøPõm›¾¬+KÛT¤AZÃ\P×I?ì
-XÚ¤nZÑVE½÷õ!++lÌ$sìúâ€í_YÂÞ¼‡w:ÚÔUWv}‡¯ëG|öaýîXõÙg¬i¬)6åãñB²‚ý.V)ª¾ìKÕQyÇ£
-›nœÑŠóØ&‰6 ÃHÁ"w)x”awWmÖÞqmvå&Ûãè!«*0³VÑõqoÚ; {·¹[dèŠÇëy±/¶Y_V[Úgèwu[ö æG꧂dýáh‡¬¢•h+Fòžœˆû•‡f_À™÷ëJ€¢ý.sîÒI”mú!Ûï8~Èš[Á” âmC#?»‰yî-Qt]ÑÅ „‘xEó¬ÏP¬ìÂÊ%hPVήï!â–ÁîÖ¯U Ž‚÷f|“HÚr=ô~‘dÎnÔm¾Î¼Vó\ÅR¥‚P¬X,R‰˜ç1€3Æ¢ûMݸ‚<ß×›ÁYn>„‰Sm'ÁÀ¢·Eû œêíi'¡ÁB8Àø9H˜‡·>¾§x€·'u(‘á#“@¤¢ÈbQW´"nÔã*ÌpRÃa]Ð<›Â[l5ga‚¢H$Ê{–[8Ÿw$ŒçÁ&¾× ßžÊ¼ ÷`ùrƒÍ²…v0­ë&bÌz¡®
-Ò (L½^ŒéÉë¸sÙwhC%y¬“TOmØÁG‰ÐB
-5
-(Á‹}ãy‰kàPÛòh]çÇiùÙ¡Qiˆœ ““ñäD5.  0€ÆÄÀÅz²¦)ª¼tÙæðiÌ•Ù;Г9Ñvà–ö8ì±=f°‡T±’æ„Z‘Ž‹^ç: ”5øàǿЀûWÂu^§A»u¹Þ—õ¶ÍšÝq.
-ÐAÁ$ëC‰œçËœ©&¸-Jí‚ä}TÁ“Çi–B?Á¤ÓUEÐ}cJñY“Nc
-«î¯«6%U›Pœ?9ö­+*-êÂõ®¬¾±ìôet˜{.;}÷™bü}Qp#‰KX´-*>:6è¼ãxìõ¿sZ-¾8}¿±)Ô!€ž¨¥po~_üò[æ ¶üqÁbiM²|†kB¥xX( M–˜0²_Ü/þþ_Î
-zŒ
-…›à<kQ3 {ºÔ*œiÅ]81ÃO_¤¦hf€©`9Ú*ºòøò‰®+!û]™M
-`ÎÍr¼Å·i}Zòµ%”Ž
-*Ÿ©Ú?ß Ý„K×÷ׇHD«4I^ñJ@™Å\Ò§¹ÿ;8 [pñp¦0ã&œíÖÊóN1 '©Rm2—v\Æûûq­”„Ë=ûâ4 ¢Ÿþñ—7(¹«»~$ ¼æ+ð™Ï{ Rô.Éû[0Ýó«â™ P´‡é+*_o#ztÊo3ÜÑ—–SbÑ#ËýP~v›ý>—y¿» ÞWÓ÷ÞàèWäB¡JÒ—ÀËe̤ëÏiX¥ 9¯¾€ŸÑF¯Æˆ—Ê+;‹Ÿ±ò#
-üû¡iê–2í?}qˆ_®ý§ùK@„CiË‘þ vH@8endstream
+xÚÝYÝã¶÷_áG-pVù%‘ÌãÝ%ÅÅínš‡$²¥µ…³%E»çüõr†¶dË·×Þ ŠV$5$‡3¿ùÍPæK|i’˜I«–Úª8a<Yn ¶Ü»¿.8ɨDƉ’:3oW‰4qb„^®Æ‹¼}XüåÁ—‚Åi*’åÃãi¯T›ØJe—ù/Ñ»]ÖôE{· ‹øÝo?â4k£¹›Æ`‹$Ö–?áCÕ·u>lú²®H\,mlS‘i sA]'ý°+`i“ºiE[=öÞׇ¬¬°ý1;Ìý±ë‹¶e {ÿñÜ èhSW]Ùõ¾®ñÙ‡õ»cÕgŸi°¦±¦Ø”Ç É
+ö»X¥¨ú²/qTGå*lºIpFw*Îc›$"Ø€#‹ÜA¤àQ†Ý]Y´Y{ÇM´Ù•›l£‡¬ªÀÌZEo`@ÔǽiïL4ìÝæn‘¡+r¬[läžØf}YmiŸ¡ßÕmÙƒšG©Ÿ
+’õ‡£²ŠV¢­8Éxr"îOTš}q
+Þ›ñM iËõÐûE’9¸Q·ù:óZÌsK•
+B±b±H%bžÇ
+<ð|_og¹ù`&Nµ‹Þí'pª·§„ á
+o±Õœ… Š"‘(ïYná|Þ‘0ž›ø^ƒ~{*ó‚ÞƒåË 6Ë
+:ØÁ@¶®šˆ1ë…º
+
+<‚I Ö‡ 8Ï—9SMp[<”ÚÉû¨‚'ŽÓ0,…~‚I§«Š û<Æ”â³&ÆVÝ_WmJª6¡8rì[WTZþÔ…ë]Y}cÙéËè0÷\vúî3Å:øû¢àF —°h[T|(tlÐ+xÇñØ êç´Z|ÿpú~cS¨C
+75Ày Ö¢f@÷t©U8ÓŠ»pb†Ÿ¾HMÑÌ
+r´Utåñå]WBö»2›À8œ›åx‹oÓú´ä jK(T>Sµ¾,º —®?ˆ4Vi’¼â!”€2‹¹¤Osÿwp2¶àâÿàLaÆM8 (Ú­•çœbNR¥ Ûd.í(¸Œ÷;÷9âZ) —{&öÅi@D?ýóooPrWwýHxÍWà3Ÿö@¤è]’÷·`ºçWÅ3A hÓWT¾ÞFôè”ßf¸¢/-§Ä,¢G–û¡üì86ú}.ó~w¼¯¦ïŸ¼Áѯȅ
+B•¤/—˘I ÖŸÓ
+°Jr^3|?£^/•Wv?cåG
+k}¡[Ày5uÿ,¸pÇfšCí †‘Z¨ñoW¿
+OÁîö
+êcæ~(dË8Rîô›ãœr«ðSâJA¾0FÌ#QB4KÁÔR&±¢ùÝ*á‰}‡vŸžÍù›û÷Ÿ{¸…êþ~hšº¥4û/_âgkÿ]þ á—PÚod„ºj?‡endstream
endobj
1298 0 obj <<
/Type /Page
@@ -4526,7 +4533,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1311 0 obj <<
-/Length 3220
+/Length 3217
/Filter /FlateDecode
>>
stream
@@ -4541,7 +4548,7 @@ xÚÍÛrã¶õÝ_¡Gyf…âBðÒ·Í®·qfâM×n3m’Z„lÎR$#RÖ:_ßsp(R¢w·m:Íè x
0MDßv |˜´‘ |5†?ïýŸí껊n}¼»„šI¨Sd0åW
ŠÅñîg­ìê Hœï6RT@Ù©2=çÔ!¡z/¾Ò*œ÷eE•X2m>ùê‹LpRPïˇš«¹Í|µs F%3ŸÆˆNÚ@
‘ttÛÄ„¶)Ã=Tèu®r£{¦³«(
-®£fw"^Óìñ¬uSw`Ýx(a‡«1l¡–ûÕœ­)tûƒ)åüE=FW[IøF™ Bö‘Q™…­¿Ê"ôãÇœÁò±r=_5M[ô𙯷
+®£fw"^Óìñ¬uSw`Ýx(a‡«1l¡–ûÕœ­)tûƒ)åüE=FW[IøF™ Bö‘Q™…­¿Ê"ôãÇœÁò±r=_5M[ô𙯷
endobj
1310 0 obj <<
/Type /Page
@@ -4600,26 +4607,27 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1324 0 obj <<
-/Length 3458
+/Length 3457
/Filter /FlateDecode
>>
stream
-xÚ¥ZKsã6¾ûWè¹jàA
-iŠlæ‹LX©ìlµ½’³èûç•â17qÐÍxÔw‹«oß™|VˆÂi7[ÜæÊ…Ìs5[¬ÿÃíO‹·Ÿ¯o´•s%®o¬“ó÷Ÿ?½ùùûÅûO¯o”rû2î]ü𖆿ùôáöýGj¼ýÀÔ»_îo?Pû7iå›wðP׿/~¼z»H\w¦¤A–ÿ¸úõw9[ü’¹=˪(ôl{•Y#lfL¤4WwWÿJŽzçS’²&6×~BTZO‰ÊÂm‚¨ž7õjs}cœš—‡k•Ï+|‘óuÕTe_­©¯oéÙö›ê@#þjwUÒs™™ßž|T·;½oë]O]uG¤myxŒ“._xÒ/ÚxPˬ€x¿}—ÉÑ&ŒÏ…ò®€­#ûïè ¿jëŽ>:ÙyVm½çoj涂cg7™ö"3™›VˆÂZ†íY¸<vÜï?¨ÉBÃf·iÍšÚËŠžÛ²_mªH|¡gõDZ~*›4rŽÏÄ9>û@,y²8Œj[&·÷gÝ£ÓŠ¬Š°7 {*D&Möô%¬u2èúr·
-2r¾jw]½®B§‚É…¨”ˆŠ¥XýYn÷M%VívBâ΋¢šÇ®Ûm‰RÇ•£ì`z·jŽëª£Ž]¹¥¦wG’ÍËnŠíÔœfß´]/ʲ‘%:Ucá0u–žê4»Z
-írÖ»õÔª DRëñ¢ËåR|YJ+‘ç>~U=U(“ŒÛãnÒ¼&oo„­ýßÄàmâ¯`O¸ÈHÀ°L»k^ˆ>Ø)w݃^ФÒë3¡½¢Vä…‹§0>€i& %|¦¿"ätÌFq}]¾§sFHÒ…CHÒ²ˆÂù|U-÷Ô€©W} t#Â!±¤GWïþ’ÔMEùùòØ“¨4ðj´3QTŠõ+ÀQ€§M×R‹Ï_$’azj¡A‡Oè‘„ùÉÈñCBŠîì“àЭ½äoÆ0®ÆÕ
-žMUvÜÄï&ÈbÛÄè§<å¿c3†üDÄ)ÁyFŽ/¢øL¥~(¼QtœpÈë²/©EçÄ#阬`ÏÊ9nLîç‹ëBÏÑOx XðˆòõÇ ‰¢¤´Mu(CBäp®@*4‚I îªþ¹=<õ¾¬›#GCè‰s c×ÓÈ 4n4/¬ôÜR£å‰S†¨,é›)¤+ GHœF…d¸¿¯NóEf¹›ôÏU·¼£„ÇÏïÉÝnñ-??xÀ+S?ïKGw Äó‹ÏÐÑuÏö<LZy{*¡â¥0?7(Mˇ™YÎ[êÚ—«ÇIQU=Â¥5¸2οKì–ˆ`/Lk‰Éç®'@ê3¡-Ð×Õ?¡
-tÕÁ(1ÂùÃqp0úØ¥‘}Û6LmêÇ*ÁÄ(èR™Ð¹K9jý0eM¹P`’ɃXy^ò±;æXVÉ Þ+Äq«-wfÔø<®ÖÄñ7ã.«5—ó"wÕꆋÒ¯3UMi„J\”§”Ñ"ý|–Ù ò“õ¤4êf<ì’ÃËÙXFJLˆܨÐ!³4¬ð/ QÂçE¬gü®œ| p⫸Lñ‡÷À9ì~ÞTɇE\Bz
-[ ½j÷/Ô"ïã0AH ’ž‚[ìCŠà\Àˆž"4žèû3<î<iÚžÀõ)î;Üíkbÿ]@¤Ú¹ÏBSP‘MçîÕ
-tÆÆ9£I}qÖL «ŒMúÃGV
-çb'‹¬ —B ¥ «¯Úúĸ0 ¹¸éšïX¨ÖëOÂmC] /ŒŒ%yÆæ ãCÌÌΟ\à ڮ«—[<W”ÑáGiÐWýé±+è4>¤Qïw“à‹œ?Ç›#ÎJJNU+M U¸šâ ªî»ªáL²xnt'sŒÑ;lf4ýqÉëÖ;„WÖéMÁŒœÂñ ³é7a~îb!ÂæˆÉØð¼Y>b$ Ž~Óñ¨3
-ž!±þò
-oÙæ'÷‰‘¼>5ᱫҜç}yI¨}¸´ëëþØs¦6e¢¹Vg©º>ÜÏN£—JW/!g˜hw’¬Ž û µ`ÍѼö_ÉgÝ è0˜¬I"ÒR?!”‘›¡ª¦Æ1ŒÓƒ“‡6é:Ú‡c¿í¾ò:¯bÅ°o÷4¸¸bò¢À¡Ì²¯DEn£»*÷ÕŸÓ÷9æF#Ù»C#ÖV27ÿ%ÔVŽD§+-g‚¨ˆ47¾›˜èî„ÍÝоÂk(ÊÀó\ÕHÚN ŸY{~-H÷Ô#SÁ
-¥Ø´-â5õØlBø43“d´µ\áÇl–g.â~:ì7-˜iÁñ_hhÉsŽÝË™ùíâÅûžc¶T乸¨O¦z>5‚˜'ë@·Óc¼JG„CãB¹÷ %0Šÿz˜p°98X,ýí‚*ÇÎ ñ‹÷YHMƒÎ
-a9+s ÂŒÄÄ+^ .ùRéØ
-S2Õøÿï¿U ÿ.˼0y®§+\Fxœ˜Âã0XÅQŽ¯áp[0^ø›Ÿôðï°·B¸¾Ž¹÷Ýq¿o|Fÿ¾V
-lãÐÕXÁ¼üYú3×¥þ G•;
-endstream
+xÚ¥ZKsã6¾ûWè¹jàA€äÑÉÌl&U3“+»•Jr $Úb™‘²ãüúíF7@J‚g6µ¥Á4Ý_? 5“ðS³Â
+iÊl–—™°RÙÙj{%gÐ÷Ï+Åcn ›é¨ïWß¾3Ŭ¥Ón¶¸ŸÌUYj¶Xÿ:ÿþ‡ÛŸo?_ßh+çJ\ßX'çï?.>zóó÷‹÷Ÿ>^ß(årì˸wñÃ[þæÓ‡Û÷©ýñöSï~¹[¼ý@íߤ•o>ÞÁC]ÿ¾øñêí"r=Ý™’Yþãê×ßål üñJ
+Svö /R¨²Ô³íUf°™1Ò^Ý]ý+N8éõŸ¦$eM!l¡ó„¨´N‰Ê–Âm¼¨ž7Íjs}cœšW‡kUÌk|‘óuÝÖÕP¯©oèèÙ ›ú@#þêvuÒs™™ßž|Ôt;½ïšÝ@]MO¤mux “._xÒ/ÚxPǬ€x¿}—ÉÉ&L^•»¶Žì¼£/hüª;¬{úèdçY)´Ísþ¦aî`+8vv“é\d&s3Ð
+QZ«ý°=Ëw€ÇŽûý5YhØì7ݱ]S{YÓs[ «Mˆ/ô¬ÿ86OU§CÎñ9Ç'pï‰BÇQ]Çäîþ¬{rZUá÷&aO¥È¤ÉüžÞ¡„µÎ@ýPíV~CFÎWÝ®oÖµï´A0 ù©•2¢Q±ë?«í¾­ÅªÛ&$îrQ–RóØu·­Pê¸r¬ÓìVíq]÷Ô±«¶Ô´óþHC²yÕ§8qÐ.AÍiöM×¢ª*X¢S5SgÙ驦ÙÕRhWž°Ú­S«‚I­§‹.—Kñe9(­DQäá«ú©F1˜ dÜp“æ5yçF8ÐÚÿMÜ~Á&þòö„‹L Ët»ö…è£r×=è M!s}&´WŠ¢tá¦f²T"ÏôW„\€ŽÙ ®¯Ë÷tÎ
+¢â¥ 486CóT\ž(ÙÓ3*'Ø`|x Ý㤣@òKw$)\µ&òçwß÷Ô‚(ÌxCÊ°™ÑK„{-OÙåÁ‹Å pàg`6Ž;ð’è:×€4Î"ÈÆÇ8@Yƒ67¿I©WÇvHÙ ÆÇåвº}³Júí{ #åü»÷ßP‹Öï]µ­·pI¤ßÀy†3Æw¶rh‘•c?ŠEo2ر®át©¹?4§5§pžÏ´§ehÓc˜a½á%¶U?xxA~Εöß·Õ“ ªZ¯Ú꼑‘9¯ç^C$øuY°½àÎÖàv÷)¿¨EMÏ£åEû}½jî_h=¿ ¯$’Ô‰l­¸·¼œÿgSïˆÎç 4y$JßmyÖ
+Ð`tÕ=½?7mKª…ABGDæð^ÑkPè4‰|ïÃg ‹‡ÔBv
+ò…•w¸Úpp-|ZÓy¬‰æÓxz¬‚g[W=7ñ»ÄYl›ýT§ÜâwlÆÐâƒODœœWiÔäø²1J€/ÁTï‡üEÀù瀼®†ŠZtN<’ŽÉÁ
+ö<ð¡œãÆù|q]ê9ú‰Ü<¢|sŽcDQRº¶>T>!²?W •FÁ$wõð܉z_5í‘£!ôÄ…†Œ±h¤W ·ñšçWzî¨ÑñÄ1ÃôT–ôM
+©¦ÊÂgA!îïëÓ|‘Yî“€þ¹î÷€w”ðäó{r·[|+ÎðÊÔÏûÒÁ]Cñüâ3ttý3=“VÞÞúÊ…ï_úxÉÏÏ JÓŠqf–³ç–ºöÕê1)ªz@¸´¦W@‘ûóïc »%" Ó:¢@ò¹úLh ôu½ÇO¨^u°JŒpþpŒ>öqäÐu-SÛ汎01 ºT&tábŽÚ<¤¬©
+L2z+ÏK>rÇË*Ä{¥‚8nµåÎÃÃŒŸ§Õš0þfúÁeµær^äà®^ÝpÑÂ@úu¦ª#0B‰‹ò”2Z@¤_Ì2›áBy²žGÝL‡]rx9ËH‰„¸Á
+í3KɪÿÑ%|^„zÆO>
+'¾ŠËäùpN@»Ÿ7uôa—Ãh¯ºý uûH'ÏÃ0@H ’9·Ø‡ÁÕ»€ =Fh<Ñ%ögxÜEÔ´= €ëSÜw¸Û×Äþ»„H;$´ó<óyLIE6]@º×
+¾ªz
+ „ÙtÏõD×µbåRvd>‰²òô"RZª(Ööµ…pHãAQc€æ‹@!óòX:«¬>'NybÏúJ†Øݧ¥«³XÈ^¿@<جH¼Ç=ÀQJ¼à>lYÆCÛ×ì2“ ç¢Èr@:›€´f¾£€þo…ÌÍ:Zœ‰ðvŒ¯LöšÎ*§„”YHÿ(½H€ 8@ˆEO@C^ôâ\›6wÝóŽõTÑHI+t™3:­Ó8˜8¾óšlùø¿óå ­CÐ=&óر„Óâ¼nÍ€hŒ› Žñu“ S3qsf †€\…nß| €ÅtMô=M¸ª{^!ȧï×¢Ñ%à-ì €àà¢úþ>éœ,œ‹ËÔè,¬+Ï… …(œ‹,²2^
+”2¬¾jwêÃÂ4Òçাc¡Zo~nç!ÔÍóèáü #cI‘±yÃx3³sÇ'Åp‚®ï›¥Ç–œ+Êèðƒ4è«!ÅC<Eìò:€iÔû]‚s‘óçpsÄYIÅ©Êh¥1¡òWST5C_·œICÏþdŽ)zûÍL¦?.yÝf‡°óÊš ½ÌȾ˜€/
+¶@LÆFNÁ›å#Fêè7=: ;I³|Œ-&=UÑ¡Ãקàé“›_^Ⴢ"Ûâä>1°‚×§Æ <öuœ3qÞ——„:÷—vC3ÎÔR&ZäÂê,V×ÇûÙ4z©xõâ³ñi†Éáv'ÉêdÀ¸?_ ÖÍëü+ù¬í“5éQäcZšEe¤ÈÍXUSÓÆéÑÉC›tíñßv_y]®BÅpèö4¸…¸"yQàPfÙW¢²°Á]UûúÏôýc¹ÑDö.„Æе•ÌÍñµ•#ÑéJË/*"‚Åï}ð¹Ú—õExž«IÛi‘gÖž_ Ò=õÄTð…B)6mËpM=5Ï›>GÍôÇ$m-Wø±›å™Ë°_ Žû _ZpúZñœS÷rf~»pñ¾ç˜-y..꣄©žO /ædè6­1&W1àphœ/÷‚ã~¤Fñ_ [€ƒÕÁÁÒß.¨rì̸pŸ…Ô8è ]¨þ°wì§_SåþpÔœþå‘ñß-¦ëE*ýÃœ«g®Ö˜³2Çè ÌHL¸âê’/•Ž½èòAÒc]ï}`o±Š˜ ™ø#Ñ[áxÓnÕÙ¯ãÒûºæ›µãžºªQþ¬ãááJ,ª†I¸ ¿â!u</WR½óÍMF >SÂÓ\°zªš¶Z†‘/Nq@ˆÚöl¬vãEVSµ\G ¡ôB¢M¯_M9…PÁËC$ñÚ_§ ÇÄÿ;%
+S2Öøÿï¿Uÿ.ËraŠB§+\F–x™Âã€0Å*HËé·ãE1þ5ìퟫ¯Câ}wÜï»п¯•Ã8ô –//ÿ>ÿÉu)„ÿ›A:Yendstream
endobj
1323 0 obj <<
/Type /Page
@@ -4675,18 +4683,19 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1335 0 obj <<
-/Length 2491
+/Length 2488
/Filter /FlateDecode
>>
stream
-xÚ¥]oã6ò=¿Âoç
-âPÄ«¢¹ WÏ0÷Á4wžènNõÝææÛT¶Êƒ<‘Éj³›í•a–‰Õ¦üe-‚(¸…ÂõæÃýíŒÃõûOß=<üøî#cŸþó´¹ÿHð¯a¾|‚¸½"IÃõ÷Þý¼¹ÿLó‚·|xÜ|þôþ_ßo>=Þþ¶ùñæ~3r=¿™²üûÍ/¿…«.øãM¨<‹W'„Ès¹jn¢Xq¤”ÇÔ7O7ÿ7œÍº¥‹’a U"D%å’¨â<H”TNTïàr"\¶ý5 åópÔ}e[Bžöæx+²µ¡a¿gàp¬}<Ó Ñ]dîÌñÅÃUß™zÇpG_Íd½Ñu¿_XÃtv×æØ™#%³byC·@ø•2ÚWe ‹A1 ÐcDZtWe¶‘È“èúÒ _GëO­¡é¡c`g‘¿$ 8_/%$MÆ(7ÆÈ
-}`]ƒÙ}á’` 2™#Xô
-Òxh1ˆ”(ÉLx‘¥þî<Xæî_M“µ-tM˜– cü¬ã/åÆȽ™ï=“Ðx‚»QÅ›€'ëzÇ|> Å~ÑsÉúÇÃc~è àì†ýZ/a&ƒ,ÉÛ‹x8v(¬×–§ò Tô‰ºýŽNþ;ÝÓ—ïÝ-œ
->$Rå‹ÇºÅµµ_†Ã’õ§xq¿’‚©£'mà•ëÊ´}°‡Qed6‘¹’)ùÿm.× •dëªñ>n‘{Æu[0 È”× âªŽC[Q@8b|¿ç]XÁCÝw4ƒ~„½'õwôëÎǃΈÛO°1-\ÌD£_9R9¹lÎùv¶Så£ÐñLÞ…Ø18À j{È/=~äÒy ~gœƒD‚m& ï,ªW{aªÞÐ.œÀ–úZ¹I@©äµ‹¼.OÈXxš‹k¼¹/h1ò<ήgžß|€©®ó>Ó[Ûž;t ÅA0ª`nNT̤ëÚ´ÏT‹¤¤Ø„ɳd­
-@*"‹‹7Ç]ÑÄñ‹E&!0ì)ö
-iŽâ;NPw…¸³UZBF‰º=M‘QG¡7æ|Và‘=“Ñð¹zñ›wU¿˜»¹&S.´EO£ËZ1 U¢|õ },ä%T\Èiúwl O3›XSD)¶éŽ–„Â…i! 1?';`\&Ö^°¡&&Ú¡Ù’å^_ˆ¼=¢ µnsS_€èI\0 ;ƒiÝbÆ3Œ.;V÷^¢ÆÏ­ó)R“ãCµ­;ž=èâ‹éù¬~OÑcxÞ{„!²¯5Æd}, ©ÔÜ_!Éó«cäwH׆„±ÖM—L_õ^TÂõî4Ï·Ï–ÎíÎW§MC4µ_#a©òSo•“¦æ=Ä¿¿q0ó-È_ëÐΪ¯›rj¸ÂúuquðÏ Ÿmmþrמ†ëïßä[¯Y÷“†,nDV ¤[C´‰àèf8é¢uJIéìí `ªÔpë÷ÿB)Fȱ„ÉZ¿˜«œv^­hë¨)ap·6{ÖÀré"çO…Ó¼Ó[ ± ì}=ûõÖ誆ý`OfÊ|‘„>™[œK~•ÃiC[`ÃÚÑй;Ìsëí»lœ"Í „ÜVÈéa ßõÛëÞê­¥bþ”r-ÇÚ>ñ=Ãe}„R/"$•§Ž4÷•>¢tù¢Û^?£Æ’û·  ãö¦!ȶ—'­×Î4î^ÆÅÚ<w±6 /(œ§/ÅÎÖ?5Ìœ&מ¿:$“”f³\Ù…"Rùw£‹ïÜÙ Ív¤Yžú*Ï]‚ÍŽb7KFY!’ëö4yÕ}ÂdYu²¹0E*¨"evo§†œŠ60E~‰©ô¶ª«þLH2%4T<ÑÔ ÝÅÖQîrzA2®5r†
-gp«GS«¨Ö¸"wÆà–¹§ ÁqüT$S‰Ž”¥
+xÚ¥]sã¶ñÝ¿Bo•gb†
+^÷,ÊÕº1º9è÷º÷avõ¨K´¶w&p§”
+’0Rç¦Pèë Èîè —ƒhèÉÁ¢0(AÄ#`¼Â04K²0›ýö4nÔ€{¿˜K¼®¿Ž§]NÛ >ôÐïí±º;7n
+â=èçéÒ˜‚Ä­X;tRÆC‹A¤DIf‹,õ·pçÁ2wøjš¬m¡k´d€€ã`é(7FîÍ|ÆÜ*Þ<Y×;æói(ö‹žKÖ?sðCg7ì×zÁ3dI¦Ø–XÄñCa][žÊƒPAÐ'êvô;:ù¯|tO_¾w·p*øtH•/ë×Ö~KÖŸâÅýJ
+¦Žž´W®+Óö]ÀFA”EÙDäJ¦äÿ·¹\ƒ~T’­«Æû¸ADî×maÀ$ S^2ˆ«:5nEáˆñýžwaußÑ úNôžÔßѯ;:O n?UÀÆ´p1~å<Håä²Q8çÛÙLQ”BÇ3ybÇà
+3ÇzÙM¥ÄYö‡<'Ĭ¢‡Â‚k‰ŸìñUK”Íÿ¬î_ÈDŠ¹ÉLª0ð1™…ât]Zç–8o{ z+TT$%³j‚ÕÕ¡6=®¢d„`*‘1SÈ|Êh ºÃø¬ˆO·KU v>i4ÅW”ÍR*
+T© 4cËÉ á²v·;Ñ`G&ÙÐv@.ÖÁ>üâ~–‡=°Œå-YI8pJr©!‘Òä¼P`ÍAþn*qmë«Ù…bVëîíL+¢<*Wç’]ŒVfe>F8Nd"Ë‚H é#Oæ#a
+ŒÀ… ¶Œ°­bÒ RØ9=qáü’f»LRŠPdˆ¼ž/"2 F G; }Ôt(é µÂZÙÑwô5ìõÐõ~Ïžn—ª7Ýv¯N™U6¨ôÚ»è4gö× º‰e4¾Ó¡ÂRèDsßq‚º+Äì@¨Ò‚¬0ÂHÔíiŠŒ:
+½1ç³2
endobj
1334 0 obj <<
/Type /Page
@@ -4721,17 +4730,20 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1342 0 obj <<
-/Length 2184
+/Length 2181
/Filter /FlateDecode
>>
stream
-xÚ•XY“Û6~Ÿ_¡GNÕˆËûxL'ëT­+ÉÌîKœŒ‰¨á! dù×o7ºÁc†N9¥R¡Ñ
-V×ö•ÔÆ¿ßÇIîýÜ4¡/R6 B (ý€¼ÔÓr¸È·4µ0x)¼FúešFö|¸>ï ÔYväÈŠºý¯p¤ÎÑÞ§o©'F¹õÕhnDÍ2Ïr8öCë$‰ªUƒxnxžÐÔ’*àûÓAK?
-J²ÚS 2ã ÆÙïß}”ÂŒ¤aM8¬mÉU*©iň3ÝàÂâLOí3÷YéH¾ûí¿D¨Î JÜ’º¿J8ç}žx ê8Ì=ÍBz+û$:õ•LÁ{|Cù­x±ŠÊ¼ZŠËÈQ3¯?Rkjðé¸ë+#ÇÞ ‰«Ò5/é©=ÀTE!–y yèÉõõMÙZ)©wì·Ý´—8Ÿu › ïEÅ‚ê¥×7 íÍŽcã¬ÜŽQ¦¦#‹JVlý¦é¯ª;±_Á¢F£Vßä³ ¶ÞAjÝsæX\#p×ÖA,kKuÒ¹¤2þ72F -N3N§ ëßÈ9›Ù"¡T‡ËÂ2ØÊ šFìÉ‘ #UòÑ$OšÂ{*)²ý¡šE´âP«N¾ˆaeÔ¦ePÍè¯ý´è
-¦êGCƒ•wzز°u±
-Hku¢ä´½ÚÃVðMZ±¾E{Y'éG bõÚù>rPROiÍ%,ˆ°êû<(fúlûáöÏœ(žS`T&^ëD””ðgÜ %Q¢k›bKÊrÈxæIS* aÙõã©fA<õSD†W;ÙèL’æ`çÁyMñMì¹j@§RúH’„öN]óM“8ô“ KáÊ”¿ì­ÍöÓÀÊvö{­¾Ê ­%¥ŸgqÆ¢ú3e’¸€t(˜°É¾°¹¶"Ê–hÕ*ìšg‰¶;fÚú­3ÁZÊóíÕR{PHxI ÏŠÈ=4ž{ò [9ɦ;óVW¦|QòÙ¬œŒ‘CÅÅ3#oàÐ
-Œ³‡§Yûå´·g|+ Z
-éÊš0ƒ°°D³ 9y€n9ŽøÛèÈS?/ÃüUtà®6:p[›$€A~›€ÃÑ$å„|ŽdÚdí” rŽ«ú(HAéA¹Öþ³…°! DT+5 (ÝZ¸›x M°Zq
+xÚ•XY“Û6~Ÿ_¡GNÕˆá}<&Ž³ëTÅ•ÍLö%ÎF„DÔð P²üë·Ýà1C§¼¥R¡Ñ
+V×ö•ÔÆ¿ßÇIîýÒ4¡/R6 B (ý€¼ÔÓr¸È·4µ0x)¼FúešFö|¸>ï ÔYväÈŠºý¯p¤ÎÑÞ§o©'F¹õÕhnDÍ2Ïr8öCë$‰ªUƒxnxžÐÔ’*àûÓAK?
+J²ÚS 2ã ÆÙïß}”ÂŒ¤aM8¬mÉU*©iň3ÝàÂâLOí3÷YéH¾ûýO"TgP%nIÝ_%œó>O<Puæžf!½•}úJ¦à=¾¡üV¼XEe^-ÅåF䨙ש55xŽtÜõ•‘co†ÄUéš—ôÔઢ˼†<ôäúú¦l­”Ô;öƒÛnÚKœÏ:ÐMÐ÷¢b
+Á õŠÒë›…öfDZqVnÇÆ(SÓ‘E%«¶~ÓôWÕد`Q£Q «oò¿Y[ï µî9s,®¸këˆ –5ƒ¥:é\Rÿ#„§§ŒˆS†õ‰oäœÍl‘PªÃealåM#öäHŠ‘*yèN’'Má‡=•ÙþÐÍ"Zq¨U'_ Ä°²ŠÆjÓ2 ¨æ@ô×~ZtSõ£¡ÎÁÊ;=lYغX
+è°@HåpË°(9ÒàpÚñÇjºùûå‚šKë¿•‹Ú{”‡É¡R¿X«–Oç^æ8Ìü°x}Ú0‰ –ŠD)nÆÙ‚ÃÓ¬ýrÚÛ3¾•†Ç
+à, ¹©hQ¤=î,›¸xÅ‹l`óK5>Lc4Ðþµä¸a3(Äs™ŸtÐL­†®®žAäºi0ùÇâqsÚ¬90û¶±Á³œ¤ƒÉä`äw‹„ÅG4™]ÿè
+2ijX-
+jÁÅ []T5Z/ƒÅC Fñ]«yEO,.À<©­ q19ÈƨœLŸ@ ¾öWéJŒv_EV5#žƒ
+;ñd [ã
+
endobj
1341 0 obj <<
/Type /Page
@@ -4793,12 +4805,12 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1354 0 obj <<
-/Length 623
+/Length 621
/Filter /FlateDecode
>>
stream
-xÚ¥TËr›0Ýó,ÅLPõ@ -„¤ÎŒÇà´4 Ç()S .Èyü}%$b’¸«ÃÜ«û8èé‚}¤ì³Æ‚?d3½ñÿ¨sçv5áPŽ«ŽsïËå¾€"&±Ÿ?Œ°8Dœc?/n l9Ÿ_-š€<= B¸š§‹ID Ÿ^žÛPö#ËÓY„TDœ|ÌótaSÄO/]ÿ"Í®–‹“tX]/§‹t–^æYp—_xiþÆaÌ#jüñnï_hº‚Tpæ?ë‚Xâo¼ˆQÈ"J‡HåeÞõà(Û·Ô #HhLG°#H#+Ç$<!ƒrAˆÒšì¶Û¦U²pªme»Reýè{í”Üt†±Æ%£A~H8ŒA{Àiv¢e僀ÆÆ`°n6Û²’ ®êÂ:mÀÁ®îlMS»¬5Õª 0ÒfëÝæ^¶6Õ<X»¬Ë—°*KÞoÛttnÛï?i¿‚Á¬\÷øM×<(CÍÁ
-Ƭ:ßÆ@Yͳ† (™lŸÌŒO¢Öë]ˆiÓ}ìÆ÷ù‡®›¾¢S+}õˆˆÀYÓÖjÂb¥¤]WºØzFc»Ñᙥ¥}ôž“•NJ{¤ê—®ôätæ®÷O„Håâeý¡P5[ëTòIVÖ-Ê^B¹VMûjCý¦Æ}ûYÖtÍ®ïZˤSmy¿SeSÃMeÐŒÂЯ;´ÿž¸ýo(J åœì‡‰ø ¹=]G$¡€I8'ƒ¢ ¥/JÖÅ0ZnÒìâ&ÀÙvšº.Åúf&8ñ'†1ÿ,Ã_wžJ;endstream
+xÚ¥TËr›0Ýó,ÅLPõ@XZ: I'ŽÁi;iŽ‘]¦¹€óøûJHÄ$qWç^ÝÇAçHWØGú‡}ÃXáDÂÌ_m=äotîÒî&ì‹ÂaÕiæ}¹ ÜPÄ$ö³õ
+þkª(ƒfŽÌ€þ»Cûï‰;<CÑRÎÉa˜È‘WÈíÉè: 作 %/­¬ò~®Ü˜ÙÅ]€1²n4o]ŠõÓƒñ' úÿ¬Á_fIŠendstream
endobj
1353 0 obj <<
/Type /Page
@@ -4821,14 +4833,13 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1360 0 obj <<
-/Length 1250
+/Length 1248
/Filter /FlateDecode
>>
stream
-xÚÍWI¯Û6¾ûWï$ÍEÔ‚wzyI‹ä¤xFsHr eÚ"‹ŽDÙI‹þ÷7ySÛC/…â2œùæ›á M" ?aV¦Q^¦ˆc£j?ÃÑö~™/“r†xÊL&vÎ
-Ä šGÉ¥’WËÙâgJ"ŠQ–Q-7£­,‡ ,ןâç8hÙÍÊqÌæ_–ïܱåENÌ1 &2DJfåß‹½tÂ/²;†ƒÏªýŒ1Ýеj½•¨Ìhæµdá<O­š·-ÌI¬wuoF8®F °|’î{è椈ձ^K'Õ«½ßê‡íVöZ®Ý´ºFà•ŠFµ[¯²Ö;7Ú ®©[é…6ª `dí‡C/Ñ<a9?ÎKŸm&Æ7ã !¨äœZo G„Å+E¯Z±j<QGÑ Ö¶`PÉN‹ºuu°¬Ùq/µ®ÛmÆX±4£žÅ”  —ÄÚeˆÌ‚1CìÁÞó-£¢
-™ôpLœ„áÖ]µ".Jz“‡ #Zb¾Å⩽<)7!“nÚ«VúÍääOu¿s#íOY*Ýp ¬™l:µG×iãÈUs¶w¶ð‡û’"’(ExAÓÇëÅürñÏÇ©¤tÑu Z¢¢ÈËk¹àýGÕ}µüšÉºî .Ê%Å-îó¦•}XH]-ÌuZ¯F(”¡’àô.É.] ~_û‘ÜÀtF§ à?t¾ Ø@¸O™Óõ~m…bôÎ^rºßn”:¬DõõŸlˆõº“½'”PüÈA¿«Öë}°2 [·‰9Dwÿýã0â†&ÖMú¾©›`¥Q•hvª×œ~xœÂÔ*]o<ý­šfš^0=ÑRHF¸ÒcK ¡%øÞô4èêàbšëÿ;ƒ­ï¤´½À6¸Ý÷
-¸§±%<Ù%¶©2 &9¼F ÊúrKþ…iÊÄk.†¾«å¢ªÆ[J½yMÈ)…•.qB—õ®…ºpUëfo–ãK=¼¿Gæ5?ñ–Çã}„Ío³O_p´¡w3ŒXYðè¨6eI£ýìü·À­4³—Ù¯ç¿ÁZ’æˆ=ÿ)¸Œ Ã%b Œ‹¹yø’,~õöýk—U òä ͘ã7ßµlסo¿ h§¾Ëÿf_P˜ks›9¹¥aü¿rÏÃ_þæg´endstream
+xÚÍWI¯Û6¾ûWï$ÍEÔ‚wzyI‹ä´xFsHr %Ú"‹ŽDÙIŠþ÷7ySÛC/…â2œùæ›á Mæ~džs„Y‘̳"A>/÷3<ßÂÞ/3âeÎOƒÉÄnÌYŽxN³y|©äÕj¶ü™’9Å(M)Ÿ¯6£­4ƒ ¬ªÑóN´ì1å8b‹Ï«wîX‚²<#æ)"³òïÅ^:áÙÃÁgÕ~˜n‡NèZµ^ ¨Hi굤á,K¬š·-ÌH¤wuoF8*G °|’î{è$Ô±®¤“êÕÞoõÃv+{-+7-¯x¥¢QíÖ«¬õζ¨kêVz¡êYûáÐK´ˆYF£‹‚Fg›±ñÍxC*8§ÖÄañJÑ«V¬OÔQ4ƒµÅƒ-”²Ó¢nÝD,kvÜK­ëvÛ£1$A,I©g1!(űv"‹˜` ÁûC°÷|KŨ(@¶ŠA4õY
+‚“»$»t1ø}íG|Óv2€ÿµó]ÀÂ}:Èœ®÷k{(£wö’ÛÐíüv£Ôa-Ê/ÿdCTU'{O(¡ø‘)‚~¨Öë}°2 [·±9Dwÿýý0â†&ÖMú¾©›`¥Q¥hvª×œ~xœÂÔ*]o<ý­šfš^0=ÑHF¸ÒcK ¡%øÞô4èêàbšëÿ;ƒ­ï¤°½À6¸Ý÷
+CßÕrQ–ã­¥Þ¼&䔋J;¡Ëz×B]¸ªu³7«ñ¥Þߌ#óšŸxËãñ>Âæ×ÙÇÏx^лF¬Èùü¨6EAçûÙùo[if/³ßÎ ‚µ8ÉËszþSpA† Ä(A³EÌ gÑ«·ï_»¬y”‡NÌñ›oZ¶UhÚ/Ãz©oñ¿Û'TåÚ\eNn9ÿ¬Ü“ðÌ”gendstream
endobj
1359 0 obj <<
/Type /Page
@@ -4869,19 +4880,15 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1368 0 obj <<
-/Length 1808
+/Length 1804
/Filter /FlateDecode
>>
stream
-xÚÍXÝsÛ6×_Áñ5!À°yRâ$uÇQ\Y­ç¦×š„"N(R%)»îÍýï]`’’)Û½ËÍuø€¯Å~ü°Ø]:|Ô BÆ,v¢Ø'G'ÝN<ç ¬}œPC3³D³!ÕÛÕäõ.œ˜Ä! ÕzÀKOꬲ_\N™Ͻü<?ŸÎXà¹oç—óÅ»‹ÅÇéŒÒ€Eî»ïçW«÷K\å†~1ÿôg®a)ÜŸ-ŻϋZΧ‘ï®.>/¦¿®~˜¼_u­¢Wêþ6ùåWÏÉÀ¸&ᱜ{x„Æ1s¶?à$ð9·3ÅäzòcÇp°ª·Ž¢D=ÂxÈF`òÙ
-IÒjû jÊoÖ€9ÉnÏž´öâêàì¥9ýjmÌ,’¡Ÿƒ»ruÃdf
-aÍ3¦„%HÀ_pùž»™cö=ò—ätÇÎR~!Áa©Ïž…¦w­È¨ CŸ9äOn¿þ%¿9ôšcÓNÝžþHÕ„íÁ)³ÃøýÔý~ýQ‡ú„ûƒ Ï€ €Fc›‡!ÛzÀê²J2“‡“")SDqû0K©°,HÅ–çÓä…|›·:¨!œí{
- Õš¹êÝvÌõ0MJ3oö&é&‡xn¨s³ªcêœ/® ý¶û¦ãµ…4˜ï
-CYO©peZé6kpòŸ^à5ûtcd5£ÐwlslŽ¸Š ÚUGû¨ê”ÉV’ŽqDbÎ"Íøƒ&Ü^þW0Š™›¯Õ¬ï>TSêÑwFѶ-qáææç»0¤÷y»ÁõR¶÷Uý§•SêÍÐÔzµÆ%êaV3:˜!3ûÊ ©Í45£
-A‡^¢gì‘ÂĺRÁO†[ A»í&1¼Ó"—ek¦ïó¢0ÓUYÊÔÐ@øÕ­L¬¨­r¦Òˆ©l§Ýä¨êaÕVúŒXÙæ[ùÝq!A!yÌaPÿEa¾¨’¤P+
-!+Éÿl—Õc ëI pŸ¼L×î8d5³6͘O‰ ÌïÊÔƒ
- œêz'1>Ï=ÓY…•àê$<b6ÿì?ˆeDDLhÜo6R*>×I“v«B×»jF½Âs•…Õ@ ªIG=\û-]Ú„ÄÌÃÐ}{±8Çu“õ,eÕ&­ì˜lt•¸òw•ÐÉi{},gU=ØÕ‘ø(£³(Ö¥™jl2(c`U½VqÙª
-ª"Ü#¡´©Õo‚bá^˜ÍZÕ1%‘ay[ÝéêHD}æW ˆêÁË(«¶Åƒ¡‚RW ƒ‰q;¡V¹u¥¯Æì•ùÿôÛnlZjæ±h.˜VýèâÔs?Á³gz›``l‚Þ¾1Ô©ÐcµÝuhÓp®Ýץ̎ÔÈò&M†´WãmW¤²€„"ôE*lQÚCáxe›ä®¨ÿ8ºµðéÚMQõn§2ÒWº‘éW\6î¥_$ýbp‹ã@Ä ‰v¶*ÊYUgø0:¾~˜ïÚf;kÔEØ¢Ãt}È'eÅ”Põ ·W»6UGÄð‚AY1V„6)€’WžúµBU„‰Wê/v–c?N{êÓÆÐ(=–K]l«3ü<ÄþH(‡ ”÷ì…»ŽæIŽ9)%È)Óy@|ÎGÅyγéñ¥¿\{ðüˆp!ž ÓV)¥9ÆR…БhvÅú‚óýï­,3{‰®÷»]U¨žRJ]©`bUÊ#ºâöGïž4’¾endstream
+xÚÍXKsÛF¾óW t«Ìñ<0À >Ñ–íUJ¡Š‰jË› M”A€@)ÊÖþ÷ô¼
+×äZahTíOÝõ;´åoÉvWH”VÛ'PP~{°ÌQvsö¨µÎ^ÚÓ¯ÖÖÌ"ú9¸›%W7Lf jÌù„¶NÊf-Ÿ‘¹¹‡[F‘1ä$¦ˆ„AX ^)á8âì—ï©›9fßIN@wì,ågôsH}ö$4½ÓhEFMúÌ!tóå«üæÐkŽM;u{Føªæ lN™ÆïÇî÷Ëw”x$@,€yqŠ(‰]†l‹Õe•d6'ER¦*ˆšíÃ,¥Â²@a›°<ŸÎ˜àòmÞêT †p¶[ÓSH¨¶ÐÌUï¦c®‡iRÚy»7I79ÄsKÛU{Tç|qeéïM»o:^[Hƒù®°”õ”_¦•n³ÆLþsÜìÓ•ÕŒBß±Q`ÌMsÄ ø³ ýXu´ªN™l%êG(f4ÒŒßiRÁÜ壘úùZÍþ}5%þÞô7úÎ(ÚvcDK³p}}mæ»0¤wy»1ë¥lïªú‹™VN©7›€¦Ö«µY"Ød5«ƒR»¯Ì µf/Fc€ˆP¤5}ÖÐ>^QС—èw¤0±®T°3§í„ gºí&±¼Ó"—ek§ïò¢°ÓUYÊÔÒ@øÕ­Lœ¨­r¦ÒŠ©\§ÝäF5£‡S[é3be›oåwÇ…d…d„©G¡þ‹Â(|V%I VBV’n—Óc ëI Ì> ¼l×í8d5s6Íh@ 4èÊÔƒ
+ý7—ó+uWƒˆú«„š= 4ô—²©öÿÔÞ—eç+f¬îèrÙß°ó¤MŽ ðBÌ=«,ÿëö+¤I åæß©ŠÏ<b'*)c(˜ÁôîîÞ; |ˆóÊC ó/0P”BLIw‹OÃ3ü Š’`Ï8<„û“
+]ïªõ
+ÏUV]4¨$õpí·ti3 CÿõÅâܬ۬ç(«6ieÇdk¥«Ä=¿«Ü„NŽ†¶×çÞqVÕƒ[É2:b]š©61Me ¬ª×Š".[UA@UdöH(mjõ[ Xøv³VGulIdYÞT·º:QŸùÕ‚Á@õàe”UÛâÞŽŒ‚RW ƒ‰q;¡N¹ÚèJ^Œ=è ûÿé•i»±m‰7EÓpÁ¶êG#Øÿžíf¦· Ö&è훂:bZ»]‡6 çÚ}]ÊìH,oÒdHÛqµÎÑvE*å(a0(R`k©=ŽW¶I^˜õG·>]»)ªÞí àTæCúJ72ýb–­{éI£(Ü☋4ÑÎVCE9«êÌ<ŒŽ¯Ä–¶ÙßÌu¶Æá@º>䓲b‚ˆúi¶W»6UGÄ°‚A91N„6‰CÉ+OýZ ¡*2‰Å¬ÔŸ=ÓYŽý8í©OK£ôX.u±­ÎðÃû#] BŒC(ïÙ?wÍ£:sRJ S¦3ŽÆFÅaïÉôøÜ_®=xA„˜O„i§”ÒÜÄR…Ð!ÑW›oke™¹tµßíªÚâüó”âKý÷Ò”¤œpæ‹ ¸¿¼#(üêL’ endstream
endobj
1367 0 obj <<
/Type /Page
@@ -4918,20 +4925,24 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1377 0 obj <<
-/Length 2735
+/Length 2732
/Filter /FlateDecode
>>
stream
-xÚÕZK“Û¸¾Ï¯Ð%NÅDˆ9­Ÿ›Ùª;¶¼{p\ŽIŒ%R+R3žT~|h
-) ËdsJ(Ï<3B-»ù5¥4jšm‹ŒVåø±µb~¿æYTu|ê6v:¬Ç«RíšÚêÀz*0ID’F…ù¦<)¢V-´Þø°TíâPÝ)ó.‡wÀ¸Ü⻪^Ví^Õmy·U–¼*×uÓvÕâL0•Ë]UWm§mqo‰Êz‰P¬êšCU¯ñ¹ÃUšû²Ú¾ ¹ÖÕtíšÑÒÛǶS;÷$:Ëy.šº;\Ó<j¶[#Õ| Õу¥º;®×~Þs¯½aÛža—Æ°Ä{w`Yqœåüä\ïÞWÞBȦçîieÖE* $‘TGµ¦YVë
-ª@…ýÛu,(‹ÚJ Åùªî Ð.\ÑDB™Ð3G%>·Ïî3ߦ¢èúK…«µ4º+»ÅfÌêaS¹IõU-ŽÖyêX#»@öU•‹Í0 JüÙV­zc=S<mïÐÈÙRÖJ›Ó$z¾=ßì±"w_ôÃb¡Ú¶ºsI·Â`Úê÷©ZXiç ˆå "#T$A¼@SRðTÂ8”*6
-åOõ×¹¥êî¢Ë>ê5ÔÆÀ ÌÅ4‡ò^d½Æ©zl®\¸ÒˆÓÊ–@§HR@õyñt§ÈˆàÂ…ïCåªNW~Q£â¡ûU@ `ù èn²FöÓ
-†fï¹Vc
-Æ]¯*w
-=Ü=ç„&.Ñÿ‹rb+Sçs¸=@•i1ìÃÔÎ •02Q ¿J“˜°ZâÄÃÆ`ã"r3x~µ>êMsÛŸ²¬ÖÀ¾Æ¡>
-hJ3·Õ²§ïú†9x——íwë
-ÁØN%áŒ> µO4Ó@ÛÒ¸XÆ‹Z|\¡m 8V<%ÚÓœÉ:9!PY_øäQDŒÃsGœsF2V°ó[`»ÒŸ¶gwþuW~ûᘀþÚÚ(C&ôHai*ý b¶}“Ûë@Äq²gâOÞøYNÿß#2Âó|✑ësF–x¥´ú$uFÓèÅÍí+4Г,~ÇðI7ë׃s²Çý¾qÁÿ›I8uh¡Þ;Ñ7ƒÿ÷™s;üË_+Àendstream
+xÚÕZK“Û¸¾Ï¯Ð%ªb"Ä‹œÖÏ·jÇ[Þ=8®
+G‚$f%R+R3žT~|h
+G6~4)ºæ€îß=âÓ'u|DÓu,/¬c[ãMˆ5–‘‚%tu`þGëúj­µZ»P¨jÝãN‚ª9u‡Sçãp_vä¢ú%àA(É2'I®ó–(îS¹buYç=U/(ú2 ø$çìi™Ž( s „W*äPè¤O’E«f_ Aý¨j´©/úå=~0¦„ç&2 ¹¢C”'Š<uaÓÂ;§Ñ^Ç·i§ƒ6Æk@^ƒy°ÃNu–¾Y{­²mÆ&ì ²"ÞZÆÛ²µ±$A󄧣
+öÐè:GA¨°›Ç‚²¨­´Pœ¯ê
+íÒM$Ä‘ m0sTâs ñì>3ñm*Š®¿T¸ZK£»²[nǬ¶•›T_ÔòÔa§Ž5² T`_QU¹Ü“ ÄŸ]ÕÚ¨7Ö3ÅÓöý€œ-e­´ù8M¢ç»Ë÷ÍÛ(r÷õ@?,—ªm«;—tk ¦ý¨~Ÿ«…•v™
+QöéL5˜?”y*¥M5Û Ù€3O ƒ´µdŸŒ\PÙ¼ÆRqÉHP’ î}
+0’¤È²Ô˜è‰»Çƒ
+ð—e2÷Já*CºAà,ð\îʶ 0M%É$#¦ peœãö¹bˆØf”d|`?-LÇ&ä§øºq«Í´ °QþtU[ªî®ºìs ^Cm,
+ˆŒ ?ÁãÝMÖèÏ~@E×]aÃÐì=÷Âj
+âºkñ«;Õ=(Uã«-Â*˜ÖÀÚâûó4aÃjåì­†9µêÜÖm…aݶÊÝÏUç6ħÚlPK»t¾.Žîl„ª/ªWÊJy¸Ü,÷‹H?Ô'¡H`ÑïjÃ}ÓÐÀS]…¼H ¥áýZú<¦¡§ò¡‰ "._®võ±]<Ü»ž/CˆCÞçÂõÇ©.Ê
+؆Ž›P|{€Ô«¦›äç·µžaw•átö>Ïï·ëüª½‚àW´IËò}€%tþœ¤Ãd:ªîX©öëyﯪ»Þ•›Ðò¡èe9ó~”† Þ
+2
+Gx̽F0õïSkG¶Ýs„Ë\öñS, Ä4Rvv”ìÌt€ÿBK±G'ó
+¨zÚÛ<–×ÛJŒZóÄN&"âõÜ~Q8“îFæÒ ~± éTÌ"8K­0=eŽná÷¼ïÑOe ÙzÀÁm­ÌTƒ¿wöÎ!'Zç’–WÊ.æ› -[üE3Ãàìrý¶ç‚÷~ GˆIjŽeàÉ;sô•}{PËJsVcqÖ«0²~h&Ò‘ç„Ý¡j!?µ_´Á(6 ýkö“z€ŠÃÒØžŒ$ÚKëri¿Ä³t¬}ï¨;}³„´`Šš Y¾ž¹SÛò¾jŒJæ64,§•Õ¡n,-2ÄôªaaàxÁOŸ~fÊ„‰O
endobj
1376 0 obj <<
/Type /Page
@@ -4972,27 +4983,30 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1387 0 obj <<
-/Length 4140
+/Length 4137
/Filter /FlateDecode
>>
stream
-xÚÝ[Ýsã6’÷_¡ÊËÊU#ß6OIv2罺$;ãL*›M]Ñ-1#‘ŽHãݺÿýh
-
-‹·Ô¯ f,ƒÝ,<Ácq¬\ÏŒ Š/är_T{ŠÎ-µžN²þ8És{þ1i( v>Ñ"
-ý?™î Mì_o½HÑûígؤb©ÌLž«—†ÒüR(“IÊÙó¡tH5J#ÕÀÏ5‡1LÄ4*óçEˆT FÁ6=1
-'|Ù–Ç`<öA’(rÛ«^—HõÕÍ·Á–ÉØ«$‚…̽ ˆõ$FŽöôðлÖ˳ßcÃéÃ6À»
-;uÕ¾êì.]”¿¯Ë‡.1€‚Œ”s3àïèÛ®8v‰¡ %B”¶;™HÃԔ屜eªÁ+Ê ÏWÖÈòqW]SÈðãGïð©Ø·ÖŠr¾¬›Î Œ«Pn°¿ªgŒ_[Pýœ2TKcןZd¿Þu]î‘ù¡Ù”`\¬þæmÖâ?¥¤‡õ§æ„îëx­—§”Hra¦å{cÐäAìǪÛ5§.ä8Þ6voøl©òo+kèVÛ‡}ñ4rµ'—w`^U¶ýCÑŸë¶÷ŸçRi!ý”Æ€Ã|®ˆ.¦Jö¥–JŠ@ó©R¤ŠköLF$9dz:·-rTÛT£2Á9ŸbÈö"Röþ.É‘1Á¦.r´û(…úFx9ò{ºÈïC™Ê(à`iÔ‹±¨w£)©3F })}†‘Úž,˲_R¾–kP"· GgB±1\yf–âk%
-…eô»sß•G0–»Ú°5TGÝw~/³?÷Â/´¢ÂÆñÃf}Ý|•_""ÆÄ4vÉ(±H+2U݉6ámÔ&´+ï†#BÇ}sª7)Øo•n•˜ñFšwWðÇñSJmkß4°pèH¹È¤¢êlIc ¯(8f’ëAa̦eþ»¦L€õ”‹`5’YsÙTÇŲ<…ÈÇ¢Eæ›Òê²v>ÇUÖØò™ ÅÌÑ/¡™’ÓêçÝ©Úo09t\-ªï = fô+Èzû3…1L°.Nô®y^O’
-3±WáSäMÙ®Õ](—ð›æ¹h1#  ¤sðDfŒq HxòÕ>$¦\Ƭû-ø1ç1HÎ)W#i1OuAˆsnz¡~hžŠ Ðrž›+á+B¶í“j©JD
-¿m¨½¹Ï$Ähd{šû”#“ÂÖúé°7çŽ!7ÍeúÔ–†ž×²ßÃèÕíèî6~ØÚ†dœåéè­|#ï·z(Ȩ»ò
-ƒIkføx#û‚˜C[ŵøka*æ^þ­¨¶µ«\!D»~ÂÎ^6x8”EíÙ¦waø㬣¥&”óeãú7_¡ƒëöƒ¡€ QÉuaTµ@
-TNõĵÌéƒ<ºFV]ñÁ¥”;ô ?»¦í°åKÕ”-”¶$›ÏDÂ7îq{ò+j{\R $|ðôÞ)÷›…ÆJ¯À'Ðëk^кót¶Ò\¬1ìÃcuï¥k¾}f7²õU;ƒU Ñ#ûµ;Bxà)‡iÎß … 6‡±w_Õe–,Cέrö2 ÿJb–G†ÓÆ/ ´0AǼ ?8×bŸýªÎ;\&ŸS00e­kÊ}™Ë!z´jÁo‘²LÐ8c&ª˜Œ÷'Ѥ”% (P®_¸oòL²XOèS? T4ÜçØÕà/ºäTD͉¸x‚
-)±†M '•*ã˜^N.J2_Pž>ûjƒÍMs(Ü~*dí‹eÍi»ÃnwÒ¤uYú—Y~ëîäÙ£ì*H‚Ö;»æ_ø£ýÝÉ¥œ9Úîˆf
-ï«åúk+Œ‰„šEf4å“]2J" ÑÚ,˜ öÆ@þ’ë· ¸Ú«D©Ë·«Èq5d‰G8f´³œ ÓýÈϘ±»
-v®£ºRaÁ.’/W¥ý™±þû¢?#&ž@ý ° gsÝcƒ=Ï]`¥D„Å~ÛÁßR'°9d~qSÍf[\ÆôÐ&5e*¤2‚±~Zmü¸«BU.ósMÐs¶H¢ª§–űuHO¨€ï U¬Ý™6¶Ý9¨P½Ù
-‰`D„ôJ¨)Ú>³o‚rì&ùr}:† ({Ï“ò??Ø¿¹3v‡b½:ldz=÷¢¼éÁ²Çõç¾6ñV‡IÙ0ç ô{W´åJy¦e½n<B%½þÁãRï
-íû……„½(¸k{—@_BÌ6¹LlNúL¼EOU`7FxxâPn¼qr|.¼Qð97üù-ª3ÝßW˜Hä³ö^–Ñ…{Ä> ÁÊVìVšÔçQ8ËÒ.p1: \Ì.øµ‹ŸªÙZ®¸lIúTÍþ·ã³MÛâGþP¨óò@ æìÚ6œ_³gxnk…ú’ÕäÂE••
-7£GrþÏsÿëÅ¥½c“:° QÈOþ?°þßã,¨ÒzæÒçD&+8Þ´ËdY¾úžõ—f_ÿÞ•u Òïð²>¼wÿÓRÛªÁ{ß+.”ZRr~Q /W,¡‡ÿ+_àÂendstream
+xÚÝ[ݓ㶑Ÿ¿Bå—hªV4¾ ÄO¶³Þ›¤bçvÇër×GâHôJäX¤v<¹Êÿž
+D«!ÕW·WŸÃõÂdF1µ¸½ðÒÑš.n7?-yƳkà@–ß~ù×××+&ÉòÝë·×R.ßÃ{þîo¯ß~y‹åíÍwß¾»^åĈå×ÿõåßnÅe_÷í77o¾ïù\ÿ|ûç«×·qÙRÂí~½úég²ØÀ„ÿ|E2n´\<Âɨ1lq¸’gRpzöWï®þ;2¼uŸ¦4'$ɤr±â"Ó0~ŠŠªÌp%¡b‘ƒÜT3hH“)ÎxT>£åkšIcä"RYåßÛòL@ i¾ÈEž©<§Ÿ"Ò€…I°”HÊŠT‡r³ZïÊõ‡uSß_¯!ËŸV¿|üçÏ¡ÝY‰?ÿFŠ/ª(hYhÀrÙTÇrÝ5Ç'$ +E¦˜¤ž2pMñÌa’,°¼¯ö¥.Áä׌¨ÈqªPšå”ªE ™4<½‡<ÑjHu¾ŒÑJÕDgÿlê³¥\ƒ¢ajÏ
+© 'K˜u®ò±·;¯˜‘´ÔdTåÆ+&!æ„·°ˆ<,ÍÃñšêe³=ÜÃîÓÛþŠ¶+Øþ!l_bû¾ñíSÝ¿ùoêgÔÔmÖë§kJé2›Û
+\Un”ú„=0d1¿-#ÕÅm©´Ê´ âSD°˜ß–‘*µv~+n~ùõãŸâÆ\'7xxéWt½/Ú6±˜É´Žvù5 ~\‚Ÿ”asêN]‚ã˜ìY×1&ýýžcõ˜`
+þÜzX¯¥™‘’ý§Ü?\ùD’j[7G¿¥èTPXĸ¥~I0cìfá ‹càÂxflP|!—û¢ÚƒTtn©õt’õÿÃIžÛóICa°ó‰ÁPèÿÉt_(hbÿzëEŠÞo?Ã&Kefò\½4”æ—B) ˜LRΞ¥CªùP©~®9<€ŒÉ`* ¦Q™?/B¤JÈ0
+¦°é‰è3â]u¨ö… `\.»&X…Ì¡3õU*²*°ˆ¨×;ð™Žyå~ŲØ?O-ömN‡‡»»]‰}èóm„Nˆ›]” ?ÇÇö¡\W6
+—+ÂbňȘ"tì‡qÚÚy÷ôP­‹ýþ »ªzá7Õ½…÷¥C84øCÑY³ÎæŒDÀå‚\0’!Õ¼‘D*;c½YOÍs€:Ò<?h J :Z,/s>ôÖ­…fKÔáéü³ÛIТËMÝ5öÚuBü´Ç«éDƒ7x˜ÚD"F2+PtÅyŽtÀ*6-JÓÛ'€Z`s¨j€^Ç¢s ºœ¥$îS‚ñ€ÞˆÓÛÐŒš‡¸TvÂœˆes¿þ V8á˶<~ã´’D‘3Ø^õºDª¯n¾ý¶LÆ^%,ldÎèõ@¬'1r´§‡‡æص^žýN¶Þå
+®4-ÏJP–>QØ©«öUgwè¢üm]>t‰d¤œ›GßvűK ±È(¢´EØÉ4@¦¦,å,S ^Q}¾²æ@–»êšB€?z€OžµV”óeÝt^`\…rƒýU=cüÚ‚êç”  Zš»þÐ"ûõ®¨ërÌͦãâ`õ7÷h³ÿ)%Õ8¬?5't_Çk½<¥Dâ 3-/؃&b?VÝ®9u!Çñn´y°{ÃgK•ûXYkD·Ú>싧‘«=¹¼óª²íŠ6ø\·½ÿ8—šH Ùè§Ô0æs¥@t1U’°/µTúS°˜O•"U\³g2"É!ÓÓÁ¸m‘£Ú¦2• ÎùC¶‘²÷wIŽŒ 6åøp‘£ÝG)Ô7ÂË‘ßÓE~ÊTþCK£^ŒE½MH1jèKáè3ŒÐödY–ýœòµ\ €¹9:ŠåˆáÊ3³„_+¸„H[«rU1|wÜ.°ñv`ƒ|5¤? g\ƒ Ú€¯î׃H–3aF‚$êAžêÂø”sÐ6¬íH€XÙ”äIÞØXgXÏò^wûdñ¶(×ì÷xÂY³»4e”ËÈë4щK¡æ×S… ¹)" *í¶ˆv{ŠhÞ!Æ…ÈÅ9Y¶pЀÜW‡Ã©ÜÛcý8¶
+ÞàuÝÙOmp‹_"âör¢Î¦ÚV]a?4ieÑâLç0^Ñá[ìvPú˜„ÞÛ]ï7žU¹ÆçΆh®|Í1ìÃ3V-þÖ ¾~t‡{ìH~¬6þ‹  ‚oÇ;ˆíB(¬Òè "cb"ΗÈf+¸DB­ÛélÊûâ´÷iѾYÇ„·iŸ—1#.Ú«&ÊôÎ*—èÓ#îÖüÜ+é<ã2°ø¼ìÖŸÛÁ2W.Od~`Zш¥œ™¦ ³PcµaV( ,£ßû®<‚±”Ø=І­¡:*è¾ó{y˜ý¹~ 6Ž6«èëæ«$ø™1Æ ¦±KF‰EZ‘y¨êN´ o£6¡]y7„:î›S½IÁ~«|p«ÄŒ7Ò¼³€¼‚G8†ˆŸzTj[û¦ù€­€CGšÈE&UgKåxEÁ1“\
+cÖ0-óGØ5e:ø¬§\«”̚˦:&ø+–åy,D>-2ß”V—µó9n¬²Æ–Ï\(f.ˆ~ Í”œV?ïNÕ~ƒÉ¡ãjQ}¿hèY0£_AÖÛŸ)Œa‚uq¢wÍóz’@œÊ£ž¼!Àè•|[Ö6‡,½PwOø‹à¼®êm*,1™ K)vü•Õ嶬ñëU‘V˜Ñˆ½
+Ÿ"oÊv}¬îB¹„瀨Ø4ÏE‹ X €'2c„ˆK@“¯†ô 1åŠ0fÝoyÀ™8/ˆArN¹I“(ˆyª BœssÐ õ£@óTL€–óÜ\ _²mŸT«HU"Xª`–ÀEWømCíÍ}Þ !F#ÛÓܧ™¶ÖO‡å¸9w ¹ l.Ó§¶Ü0ô¼–ýFǨnG‡t·ñÃÖ6$ã,OGo-ày¿ÅÐCAFÝ•€­ É*Ÿ‰UJg†Ð‘WmÂr;Â(tLËc¶Puë§é³"yþR&Ãìe, èj.„‰ÑP×þ´I3B&dX<,îuf# Ø9˜Tk=¬|ÿÎ> ˆ°^>"HVѶͺ²‘QLZ3ÃÇÙÄÔÒèÜ*®Å7X S4÷êðo}@µ­]å
+!Ú-ðvö²Áá,jÏ>0½ ÃGg-5¡´˜/׿qø
+\· •
+h ყ÷æH¹ß,4VzÝ
+×ÍDxuÉ4 ½‰ð y4à üA;‡†Jï)àBÆ£îžRÒ€©2©_°¶†Ä¼É ÞrlªáúB%ç̈
+ªµë #< ÁfŽ¶·ˆƒâ³üUH‰5l=©TyÇôòprQ’ù‚
+ôøó±ØWlnšCáö#P!k_,kNÛv»“ ­ËÒ„¸Ìò[w'Ì>eWA
+ì´ÞÙ5ÿÂíïN.…à<ÈÑvG4Søx_}(ÇÐ_[aL$Ô,2£)Ÿì’Q LˆÖfÁ±7ò—\¿eÀÕ^%J]¾]EŽ«!K<Â1£å\˜îG~ƌ݅ÐXP°sÕ•
+| &p‘|¹*íÏŒõßý1ñzèÏ`€]8›ëìyè+%"(öÛæþæ:Í!ó‹›j6Ûâ2¦‡6©)S!•)pŒõûÓjã‡]ªrñ˜Ÿk‚ž{´EU=µ|(Ž­CzB|­bíδ±íÎA…êÍVH#"¤WBMѦð˜}”c7È—ëÓ1\@Ù{Θ”øùÁþñ;ëÕa#Óë1¸åM–=®<÷µ‰È0°:Lʆ9ç
+`0g׶áüšm<›Às[+ԗܨ&.ª¬(6ŸT­g2»æÔ ÜšÒtF#`°ªÏ
endobj
1386 0 obj <<
/Type /Page
@@ -5024,15 +5038,17 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1395 0 obj <<
-/Length 1605
+/Length 1602
/Filter /FlateDecode
>>
stream
-xÚÝXÝoÛ6÷_¡‡=Ø@Åðûc}J»´Í€¦YâºbP-&*Kž%7 †þï;Š”,ËÊ’uÁP ~0)Þw¿û I„áG"-f†GÊp$0Ñb5ÁÑ5¬½œ@·DqŸêÙ|rô‚éÈ #©ŒæW=Ya­I4OßOŸ¿:>ŸŸ\Ìb*ð”¡Y,$žž¿>ñ_.aIˆé»–âù›³§/ß^ÏŸÎOßœÍb… ÎûyßœŸìø.gæ?ONæÝ)ú'%˜¹#ü1yÿG)øç FÌhÝÀ#b V.œ±öK>¹œüÒ ì­6¬c–L#¡©1§=Ó c.#% ’Œ²ÆtåºÎÊ¢šÅãéŸî<5Hke¢˜d„  ]j¯’m^Ç•Ý|¶ON¨B~äiÇÇ9>Ù[0úM‘.~‡©'ûxW~m^оæ8ë†d¾Ì*ïŒß0¦¹}â'ÙUø/ª:És›úiRyS`d087l½8rÚ¡EY\( ’ZÒ@6¼)·y»Iž—7~X/­,ÊÕ*)ÒG¶‰Gi)`¤aà;'÷‡@jz¤¥dØØ©èM¿±y™¤#šÆ!ö«KPI P©(ì¢ö“öcçE?]—›@`ó8EàO¶• ÜË0(’UµÐè ß̈ž6º:£iâ½ädþwY 6ÉËE’ïƒÌÃe•,–Y,~cýv~¶™éé¶(²â:¬fõÒ®Jç®n¬R7Œep
- Ž
-$ÑûQ~ÑÒ¨á^é½£0Ñ3JìÓµ-F¶– Q¥y ^{$_o’•ßá&ËgŒt@ýl‹ <’ßúµ…ð“§HÆ<Ê)yO™»²¤H ÖRúäì7rÎov¸-·6>dšúå$¯Jo2Æ$â” "'ͪuž8¥ I08ÏÆë_­Ë"u&=´$! ÜZ² ÕCÝ¡†JfZÂ>v›-“Úï úûO…m
- |jR|IÒ݇3r0# ÀËwi/½ÓŒ)¨Ñ–çµÝI}¶à=BT!o1ð?§Šï[Ìëé’[¦>ŽM FéÖ¾8QQA=ħ ¸ˆ·!Ö·ë"F áR£4¦§ñ‚ c„°!ššÌRPQ† Weš]ÝŽì¦!Ñ*bvIuÑîI“º«ì¨3Zga¨³ÄHˆ™@„`Ù°¹’Îbè/ uÌ®‹dl.ÅrèÅ÷í«ÝÔIÖØ›LßžþêGUà‡ íJ/|i‹§#m‹§[.=G|jW×v‘9.ü<Y4=ßO—Tþkj«Å&ûèû&(ÔÅ`·½ªéÄÌ-küæK[OõŽÐƒâÇvµ+Ûª«Æã‘
-j‹Aû%«ï†Ùãõ»ƒyT˜Á5\qrʘÖÐ!)Ù¢ìôl~7Èv cC%G!¶§ä±Ç:è÷‚0b(ŠH0=Úk;xsƒ++RÆ]ÚŒ4\hÆžæpton|èCàî}hpö…“a¸ïÀ}!‚¦dùk>!påâRNŸžýä HÅç´}GøäKm‹´}5»Ü®ÃCLÞ5÷ »© kRr
+xÚÝXÝoÛ6÷_¡‡=Ø@Åðûc}J»´M¦]âºbP-&*Kž%7 Šþï;Š”,ËÊ’uÁP ~0)Þw¿û I„áG"-f†GÊp$0Ñb5ÁѬ=Ÿ@·DqŸêÉ|rôŒéÈ #©Œæ—=Ya­I4OßOŸ¾8~3?9ŸÅTà)C³XH<=;~uâ¿\À’Ów-ÅÓ×gÏNŸ¿=?ž)>Ÿ¾>›Å
+œwó¾~s²ã»˜}˜¿œœÌ»SôOJ0sGøsòþŽR8ðË FÌh]Ã#b V.œ±öK>¹˜üÚ ì­6¬c–L#¡©1§=Ó c.#% ’Œ²ÆtåºÎÊ¢šÅãéWwžˆ¤µ2QL2BІ.µ—É6¯ãÊn>Û''T! ?ò¸áÃãŸì ˜Žý¦HÀԓǃ}¼+¿5‹GÏh_sˆuC2_f•wÆïÓÜ>ò“ì2üUä¹Mý4©¼À)02„‰G¶^9íТ,.GÐ I-i ^—Û¼Ý$ÏËk?¬—Öåj•éÏ#ÛÇDƒ£´0RÈ0ð“ûS 5=RŒR2lìTô¦ßؼLÒMãÀ{‹Õ%¨¤¨TvQûIû±ó¢Ÿ®ËM 0‚ùœ"ð'ÛÊîeÉ*ŒZhô…ofDO]Ñ4ñ^r2ÿŽ»,›äå"É÷Aæá²Jˬ¿¶~;?ÛÌôt[YqV³zéG—¥sW·
+iŠÕ~@€žõ p|¼1d\²Ø#ˆò"›¿Æ˲ªûù7ÿñTíÑí¢Ì“…hS)Fþq°yß»°ªýÿ2i1_„… •9ÿ4Sî}#¶Fߌ¢ÆˆRJú
+‚OŒ8‘ú>Y•"ãN0šSãNbÜy˜0Ä„ í¨œŠî|‡Fk£Í…G’‚èý(?ï@iTƒp/ôƒ^ƒQ˜è%v‰éÊ#[K†¨Ò<¯=’¯6ÉÊïpåÎ3F: ~¶EÉoüÚÂÇ øÉS$ceˆ”¼§ÌmYRH¤k)}rö9ç7;Ü”[H 2Mýr’W¥7cqJ‘“fÕ:OœÒ„†¤@œgãõ¯Öe‘:“Z’ Pn-Ù…ê¡îPC%3-a»Í–Ií÷ýý§Â6>5©¾$éîÈ9˜àå»´—ÞjFƒÔèK‰ŽóÚnŠ¤Î>[ð!ª·øŸSÅ÷-æõtÉ­ SŸÇÀ&£t k _œŒ¨¨ âÎÓ\ÄÛëÛuH#†p©QÓ‡ÓxHAÐ1BØMMæ )¨(Æ«2Í.oFvÓh ÷1»¤ˆºh÷¤IÝUvÔ­³0ÔYŽ b
+$ÄL B°lØ\ Ig1ôÐ:fWE2
+6—b9ôb„ûöÕnê$kìM¦oÏNó£*ðÄv¥¾‡ƒ´ÅÓ‘¶ÅÓ-—ž£N>µ«k»Èœ~ž,šžï‘§K*ÿ5µÕb“}ô}êb°Û^Õtâ?æ5~ó¥­‚§zGèAñc»Ú‡mÕUãñŒH
+j‹Aû%«o‡ÙÃõ‡ƒyP˜Á5\qrʘÖÐ!)Ù¢ìôl~;Èv cC%G!¶§ä±‡:è‚0b(ŠH0=Úk;xsƒ++RÆ]ÚŒ4\hÆžæptgn¼ïCàî}hpö-…“a¸ïÀ}!‚¦dùk>!³˜ƒ²Ó'§g¿xçÒí#šÀ'_j[¤í“ÙÅv^`ò®¹lØM-#’D´¯íŽ=;ü|$ endstream
endobj
1394 0 obj <<
/Type /Page
@@ -5081,20 +5097,23 @@ endobj
/ProcSet [ /PDF ]
>> endobj
1408 0 obj <<
-/Length 2463
+/Length 2462
/Filter /FlateDecode
>>
stream
-xÚ¥YYoãF~÷¯ÐÛR€ÉaßìݧÍ\px²cïA’‡EÙD$R©™x~ýVuuS¤DÛÌ>«ëꪯZl‘Ã[*Ë…• ce¦r¦åî*_<ÀÜÇ+ÖH%2%…€ÎÌlªD‘©‚›E:&òÃýÕ›œ-xžiÍÕâ~3œ¥Êt!Åâ~ýkòöÑíûê°L¹Ê¹üýþGÚ&3S†Ûr8Âf¹dÒoø÷ú‹kÊjM;ÞÝÞQãCåúã¡ê
-LfBj(h“å 8C
-2cË”åyžÜ¶}½y
-[øÂfVsv‘I%éLŠ:¹ýtóáj×~M⨻«ÊG×ÔÝŽºý£ëÃüvÛ~íÂ"×ya±ÝU‡/Õ!Lô--nˆ£@¢ªãÚ­ûR]l3I»¡A<ú¡:£åP0…±Ì*Ž(ßÚ¦ú,äB%k×» Öæ*¹ihè°dERuû¶é*AjøuƒfOjb\g‚™AÚA;—ê”,ÓR˜°lãiw‘®ÿDÍ`›D\™\ã@š3¤l~­·[j•UùǔٮŠÜ{3`«îƒÔ¨½º ò‚QI)±$(‹yNé\ð.ÔµÐêø¦Êã”Öô4p¢׬¯ÃÆ }ÁÂq¤©ûÚõŽ;?©?¸¦Û²hJÎ2VòÊ-zGn’]KP¯n6íaçzϸU{쩉Ž<cF2si^3£°™Èa„–]I¯jlx`c]uå¡ÞŸð^VÌ9QžÆâéÍswRÀ218Q;¢_7¸üêýý)d–ÁU F^@ì‚D“‡‡5>bØ°>o 6qä ºÈË]Už˜ÑϘ†sÆÒ&Ç'¼L_f$ÆR ¡‘ñ‚Üœ \GªàœÐ@S,Y2XÇГEÁ夌J±‘¶Y!!’òݶkÓg Þ¤­ˆnriˆ`pÔDdþeã ëÓñ†K\ÒE Æ1,˜-& ]˜&¬y‰3JÈ‚±Er?ëþé´1ò;B¨‘¹ËöBû¶l·$™K`Ân_•õoyÎ!CúÈ&´­zšêŸ>xK f­ÎÎÕ2xã™Ö È^ýú{¾Xƒ~~¼Ê3a µø
-<
-|±»ÂµÖ*G¶WwWÿ(B+D¦s¦Ÿ§Eûr š´C‘J#w©à€ÄÔ"ƒ°›…Åø³ÂÚLæ–îìíHÇJK4Xž)Á£)>-SÍ’{øÏ“÷çšš’kB©ŒåoéâÏ\Yi­ E£¶—õ¤?ðæfÇïZh1*NÇ”½Pz4Ð ™q!-a#t‚¢ð¹>-—Ò’+L¼0É·%ƒàï;,(]6À…¦Öª‘0§´ C}XÒBä8ÌœÐ!íkÒ«û.¤p
-;$²OÀ‰Çkb¤[\U÷ôݶní5Q@1–ÜáÝ<ÕÍÃœ¦rÀ½9?Ë…žN°h#m›-|ú׌`k!T àA…a
-£K§(ù¶-ÝvNtÀø…±£ü›óÀN7¿”‰ZTŽckFöÕaW÷=:v}H˜lþ£
-òÉ Le Ç˜Ùt½nº¹J,bT1pLvRèÓS;}}¬ËGò‘ðr ˆUü>TMup}¼q«§Ù2‹dÆ/sâÿcþ NŒ àG‡þ¸a㮪.
-\Q\LJ©…z­&ŠëÓñ†™rä‚î´&Þ°&‚¬"/X2n‹ptY…E¯±("™²AY#áð€½uÕ»zÛÑ­à‡FÎÅôv ¡Nˆ‘‚'ÇÎG0ÿ©:¬*ª”ÂdW?4heœ¥#ÿ<V]ßш‡Ã¸lUÑÀέCk ÊÂ;ŒÝÿôþ—7ïîhxZ’áüꉾp7Ó¹§8ÊwB‰¤ª Rc{>rÚ81jÁÕI {ìëš=„ôKO,°dÏíä½ßl e]¡8„oH¡ëë/b6<~¾Àô‰¿@þ—¸cjLng¸+Õ"d=pà‘™©^\DggdŠéñëvçêf.Dö×l"¸ÏتH>5¥G/Ú'BȂׄ¦®Âµ\×N]GB Ö*Ѓü_>Æ î8ëzêÐC 4Ny]5S0âc~Áp;&¯áí0øãdúLÙ ­×ûlÜùÛ¥—ñðÜq#©gá†Ç‚_p ¾–Çá6#6¸Ü$¿å*ÿv‚éQãß%ïÞ¿…yFS›6<šc‡€¬ynþ¹Ääóç»›×4 [iA¯0$¨yŽ%g.¢ÛàÜ‚¢·ŸÕ„Š¬9EtƒX0ãŽ}‹¬|¹c£—ŒsɈiÕêV…vÔ
+xÚ¥YYoã8~ϯðÛÊ@¤&ÅKÜ}Úé ™ÒØNvÁÌ<вœcKnKîžô¯ß*)K¶’40h ]âQ¬‹U_1|Áà_*cÂÊ…±2SŒ«E¹»b‹˜ûxÅéD¦¤ð13›*QdªÈÍ"3ùéþê͇œ/r–i«Åýf8K•éBŠÅýú·äí£Û÷Õa™æŠ%rùÇýÏ´Mf¦0·18ÂfLré7ü{ýÕ5eµ¦ïnïˆøP¹þx¨º—™:´ÉɃÌø2匱ä¶íëÍSØ’/lfu®Ã!2©$éOB'·Ÿîo>üJtÝá¯I}îªòÑ5u·£ÏþÑõa~»m¿ua‘ë¼²HwÕáku}K‹’(°¨ê¸vë¾VÛLÒnh~¨Îx9T Uá<³Jå^•ïmSýæB%k×» Ö2•Ü44tXò"©º}Ût 7üuƒeOfâ¹Î7‚¼ƒu.Í)y¦¥0aÙÆÒî"_ÿ-ƒ4©¸42¹Æ-fÈH~«·[¢ÊǪüs*lWE齪û 5Z¯nƒ¾`@4RÊ!@¬†
+X&† jGüë—_½¿?¥,Ã3¸
+D°r¤$š<<,ˆø<ÊaÃút¼rØ$/ø¢,wUyFgyÆ5¤˜3‘†49>á…dú² 1—JH</(\!Ø t¤
+Á ºbÉ“Á8†Þ˜,
+!'e4ꌴÍ
+ ÙŒï¶]›>ë(ˆ&mE “Kç@Æ
+í۲ݒf>/ »}UÖ¿3–C…ô™MhV)ô´ Ô!?}þð–n­ÎÎÍ2DÏ3-¬A•¿\ýö[¬Á>?_±LØB-¾ÁË€C¾Ø]áZk•Œ#Û«»«ÿ !…"ÓŒëçyÑ>¼I;Ô«4J—Šð˜zdPv³°˜_`VX›IféÎÞŽl¬´ôHƒ³L‰<ºâÓ2Õ<¹‡ÿóäý¹e€§ä šP*Ëò·tñeWVZ+hшöºžlàÞÜìòÅ»4ZŒ”ŠŒÓ1g¯”ž&M
+“v(@&²…¯šnKŸ‰j7g]fÌ
+XÑ9ó}ØâúòÇÅÐúãG¬ wvÕ”Ù´±ðÐ&œ•êœ =ÛŒÜË“#¨ŸÄžC›âV0³%îœÌ…óM I%9ƒÁˆ›‚Ðâùp#}o›Ÿ‹$g³± z_?Ç8W—ÞÃtßnëra¤Q¦°au¹õYld,þL«¡ ´«a—G½—¬Ž±BFýºå  *!A•ÛiIÙAßwæ 7àpnC£ˆDè¼g¤’pWµüQÝefŠº£[¹/„}8®¥=€FiT`ë5߶¥ÛΩ¿0vTYÄéæ—:Eí8R«0²¯»ºï1ÐðÓ§„Éæ?« ŸœHÁU¦zŒ…M×릛ë4À#FƒÄä'U€=M1õӷǺ|¤ /ŠDÅ߇ª©®7nõ4Û¦b“ÌóËš8ÅÿX¨sÄÑ¡?îCÚ¸«ª‹„)Êëø!µP¯õDq}:Þ0ÓŽ\ðöD öDPUä…H&‡Ûb']6EaÑkb
+•Cú†Ú¸¾þZ!fÃãWá„>É·Èÿ’tÜB™ÛéÊCµ† YÏ&”däfjQãÙ™âz|ĺݹº™K‘€ý5Ÿ(î+¶*’OMéÑ‹ö…ªà5¡ƒi¨äZ ¡‚k§¡‚#!‡
+ü þ—qƒ{
+F|ί# nÇä2¼†xœLŸé
+t´
endobj
1407 0 obj <<
/Type /Page
@@ -5197,31 +5216,32 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1430 0 obj <<
-/Length 3624
+/Length 3622
/Filter /FlateDecode
>>
stream
-xÚ¥ZIw㸾ûWèú½ AfNžnw¦ç%žŽí,o–LR§)R#RV{~}ªP.'>äéÀÂjùª h%à­â$L2™­L¦ÃXDñ*ß]‰Õ3´ýõ*â>kßi=íõíãÕŸ?ªt•…Y"“Õãf2WŠ4VÅOUx 3ˆàÓÝûûÛ¿ßÞ=^Üüíz-cüøÃÝ-Q÷7woï¨ø³ˆÅ§ÿ|¼‡ot½VFËàýw7Ÿoï©]ó¬7þuEQps÷þö5}¸ã9>ÞÞàZÿ¼¿}¸þåñû«ÛÇáPÓƒGBá‰~»úé±*àüß_‰Pei¼:AA„Q–ÉÕîJÇ*ŒµR¾¦¾z¸úÇ0á¤Õ ]dd$B©¹ÀI­¢(ÌâXÎXga¢¤bVÊx ÜÚ–tÆ_Û㡱µgšu‰G… åäjÄj-u˜éH»™nj7 ò­mžË q°³EIÕ}K_KŸßÛ¦¤.Ç®jž©²xmì®Ê©pܶçÁöp¥èú–Š5V ¯°-ǹÿĘœ%á³À-+ià¸U7­æɸÎûv§Æs\„sîl_嶮_¡_¤‚œ¶;-¨â‰h7@tåá¥<}Ú–ÍY3.~èz*®£ §òÀa¿8®¹¯mŽÇYÊ·•0’©vs¶ÆÈ^°æ8í숤_›ö°sÇÑÄÀî÷eSÐMA5M Dùµ/›®j’=•$-6 Š*NþÚÔ r$n­¸““aX˜UîXÓ¦¼=÷»};Ù‹PãÅŠà\mê²ë¨Øí˼ÂvºKäÂ:Jã03BÏ/¼…Û;TEQ6(8ÑzâèŠ!É$ó"xª{`~"mÏÍMÁ›Ú¶Çšé¦åÖ'ž´,*2 w¶9º}£™
-‡;4a¦dêvM›LÌ(~@Ÿ*§¤@Ùºk‰jóÜâý±Hc¯CÕó`´˜?K©‹ãn_²œØÒûùóv·¯Ë~(5 }ÇsoÎ:“<Tà{JRºt¨©ü@×´ ™ƒk{Îdà¿Ä3
-š›v Ê,êN—EÝôŽÐVÚ|ËýÃÚä;¸l!û¹=v<Y¿µ¼À‰/
-&|òmKDW·'îEê”]2%5™µgœ@r ”;|GvAaC²þÛø;ܼÛ㧦ëK[ÀŽ¥ÒÌl™xióùŠ²¶¯~>§ÙnúºK€oÓwW5Ǿìܬ
-NE*m¶
-’Ý( Xx‹"–W®*?îºÞ6¹»9”8¥—_fP&¡%þìÀÆs‘˜;¨t=ó:Ï+ýÂzÛ%Õ*LRÍŲÎnHÑB>7Þ™Ÿ™1ãÆü›¶#cgCe2š3¨"±Žùpê+Kâ´®üÀ%ê×m}Ñžx–óƒí¶Nº`;=µyIJxnÙWja™™ ( Æ_2ÐÁÝ5àŸöí¸« &B* zã1zæϨJP`óƒTÛ~!Ê)bËæzr]m;2NŽ÷¹è3ÞÈmº³÷Xs™ Q»ó>¤œ+±HŠz×8.í´wSx ¬Þ%~µöÞîÌvÕ®BÓé
-'»èÍÄ ÆjØœŒ˜R<5ÿÜ·£zgvÃ
-¶ìϧÎ#vhŒOŽ­¼Ÿ—ÁóÑwú’¦S(G 2‚Ö:†dñf&صîš3/¯9Èl
-©¡ÛÍ¡ü¹¡ê~Û’…˜m(´ 9M\,8J6Õ0ñ|6úä”'cÕ€
-0¶G^hÁÉOÄÜ‹ñ(AS˜E×7ÈÅä§#<s~Îéwçèbìá[×)˜Z6ÊÑÔ(Ç:<ëM÷¡)x5Iö F\ËP)‘yKO¶Š $t¦{Ÿð,© ^Û#[û‚ÛKÙƒBÍŽ<h:½G(øfK½G.¤Ärƒ'ˆñÝô6a̦½;ô¼nqÄ!Ð#RíáË_Àö§qð¡êìS½hÎ&¢75d3zt1Ãma? ^²c‰H«3ÖghÊòwŽO=M€U ‹Ñ¶¾åf°Œ`)‡)ÆH,óm»@βKKÎy"¤n
-7xI€JB瓹ؗšˆyŒ›x˜9„|‰(2êTgoÆY:K=ÇPXeÁmá_â– 7’ˆyÏûE½ˆdŠ4QóËqÓÙÓÂÕèôB§o\Íl¿"xgT·¶˜n8Cì+ÎwÏløI‡™PÉ\FiºuÙ8!¾4#,¶á¡Ï| Ú@ÀÿÚäK‡†87²7ÈTr'?3IÖéOi&1=Ð,p@…‰×6ÒÏ1M ,LÓ{êŽömOöÁ¨CŽ¯F…"Ñbð
->nØé“IAIИŒü'T€wÜkªÛ8D•/UÉÆÈøhß °åhß¹63ÄKÐЯw
-Fíñ€hKõ#ºçºÔ7“ŠL¿©>IG3õ¡U<î2°±‘ÞèLÇsÞü¡S{Ç"ו Òfb µ¼ô<(lŽZçui›…ã )°6/D¹AÂÑ]npJfY–t¡jH´rnð຦ûqØü£s)s`7Ë´.§Ó01™šÀ´t =¦›Òh@T?Ïæb û­¾Í[ëäFZ*I‹]ÍnVpdÁÈ©Š³%Ò
-Ú'¿2VS*L8‡D~¤ôÀ$ÕÊ¥qÏ8Ï€ú$*—¦ÂŒCÃSoü<ÞÒøŽgûX8Û•ÒÁ¾<àÑP” jð›5Ql!¡ibG -ä [HN²µPt‰8„E̪ÙÄa‡ Ïé, 6íû!Ï?óM
-Eùµ¿Ž‚¡Åø¼_[,rCù{ìŽÃ³™XŠ¨à(cü*5'EU@öWÓ{h¯˜p*¨8–âzÆBçeÆj¦F¦Ãm÷ǽ{TÀø}pn­±€¯±pJÛjÞ«í0ñOÛk¨4èÙ6Õï^W Ö?ú@Ç“múùÉÈ2A½§h~Ì‚Þ>²)
-SyøôÓÿLeþàC½¼Ýí܆ÌtÿãQ¥q3ý®¹ ‡:°HeÀN¯à»v>¦¬8N$ŒlØAE4ˆ
-mÂñ¼!Mí<¯:³1Ð2„ž â‚ãñùeœKA¼™×½"b¡Å—["I¾ >yá”v˜xzãØZñÈ®ÝqMQ>Œ0lÁ ›aãž<ú­Ã'¸]Z{g¦³‚7`D€%Š`Ã%àôiT´$f•Lâ3<·}éˆtƘ:Ñwçž‚‹áNè×_*K… ¯°…XTmBæ1"öøjñ¹†ÿõ¤ò8¹K#ÕÙ——×?ºp^6ÿ3óa¶ÅºýQèꦋ9TGb~Bjy¥þËocÿïÉ–ùí;ˆa;¼Ue‚ïÚj«È© `HÎkÔ
-ØbŠ•×E÷¢L§õüz’j
-½°CÛ
-=èÈÞ al5=.ýÛJÅ!þEj!¾ÃߟþïbÿWƒpO¥©\Ïö„'!PˆÇ€n¡Y–cŠäß ÿÌõ@Hœ
-ô4N¸CÖ\@œ®/Øàÿÿuɇÿ[suendstream
+xÚ¥ZIwܸ¾ëWô-Ô{n@‚Èœ4¶œñ¼Ä3‘”åÍr€H¶Ä1›ìi²-Ë¿>U¨—':äõ…(ÔòU¡“€_²I³8³ÒnŒÕq*’tSì/ÄæÚþz‘pŸmè´÷úöîâÏïU¾±±Íd¶¹ÛÍæÊc‘çÉæ®ü9Ò±Š/a}øøöæúï×ï.Ž®þv¹•©ˆ~úáã5Qw7Woß_ßÜRñ‘Šÿyßär«Œ–ÑÛï®~¼»¾¡vͳ^½û×e’$ÑÕÇ·×ï¨éÝGžãýõ®u÷Ï›ëÛË_﾿¸¾5?x"žè÷‹Ÿ›Îÿý…ˆ•ÍÓÍDœX+7û ª8ÕJ…šæâöâㄳV?t•‘‰ˆ¥Êä
+'e²I’ئ©\°2µq¦¤bVÊx‘Üz¬èŒ¿u§cëšÀ4!›
+
+ÊÙÕˆÍVêØêDû™®? ‹ŠG×>T=ÒhïÊŠª‡Ž¾Ž>_»¶¢.§¾n¨²|nݾ.¨p:”nàÁîx™ä臎Š%5Ö-¯ðXMsÿ‰70;KÆg[VÒÀqë~^Í“q; ÝOç¹çÜ»¡.\Ó<C¿DEmvZRÅ=7Ðn€è«ãçêHôÓcÕž5ãâÇ~ 1à2‰
+*<Àî“ç*‡Æx is¾5¨„‘Lu»³5&&ð‚ 7ÀiG$ýÚuǽ?Ž¶tw8TmI7Õ45Õ—¡jûºkIBô\B´Ôd(ª8mü[۬ȑÌ@¸µâN^LÆ`a>TùcÍ›ŠîHÜïÝlo,Z@M+¢pµmª¾§b¨ŠÛé.‘ Û$Ock„^^x·w¬Ë²jQp’WôÄÓ5/B’)HæEt_·îÈüD»›Û’7õئێ[ïyÒª¬IÈ€Þ»öä÷f*ïÐÄVÉÜïš6™™Iü€~ª½’åš¾#ª+
+‡÷Ç"½ŽõÀƒÑbþ"¥.Oû~ÉrbËæ/ºý¡©†±Ô‚< =Ͻ;ëLò\Rï)ËéÒ¡¦}ÓŠdŽ
+¬UØÊ(|‰g@”456íA”kXÔŸÎ&‘Û žÐV¹â‘û†
+´É7pÙB÷ wêy²áÑñO|Q0á}hì:"ú¦{â^¤î@¹5SÒY{À ä(·@ùóÀwbv$ë¿Ÿ€¿ãÍû=~hû¡r%ìX*ÍÌ–y„—¶œ¯¬÷æóší¡¯¿ø&)}÷u{ªÞϪ@`àT¤bÐæJF/4kç¢m÷´ š6÷æ )3Z/%TôîtäIó°q3n<þÌ]jë÷\>:07Àê@ÁK±xuÏ,˜¬3hz ‹óɈõ+VLKô—j2bO+Flz-Ä{Å,ÚØ@9aÂûOkVQÅ1uú-¸ƒ¶$ÙM"re°( bEí«ŠÓ¾\[ø›Cé€SùeY9
+-ñg6®\ŠlÂÜAå ë˜éYÐy^ìÖ»–,©Vq–ëd)ÁõnGÚˆò¡ ÎüÌŒ?æß´™z*³ÉœA‰uʇ€SYY2¯åpåG.Q¿þñ4”ÝOØqcqtý£—.ØÎ@mA’2žDö™ZXfæÀ
+£ñ— tpw-ø§Cw$î+¨‰ÊŠÞL„ù3©Øü ÕuŸˆòÊăزùž\׸ž‡L“ã}®úŒ·r›/Æì=5\&CÔíƒi`çK,R ¢Á5NK{íÝUG^cëDpI“_m‚·;s£}½¯Ñtú“[u‚fæS5î@Î FÊ@)›îÛS=È3»a€Wè°ÉG¦¬?P;9eÉPIEìÏçÎ#õhŒÏŽ­‚Ÿ—ÑÃÉw†Š¦S(G+2‚Öy†Ø€x­‰ö¿fäµ içºMÐZÀŸª;²s  …®%§i¢ NÒog°Zæ"ž/F?y屬PÆöÄ ­8ù™˜1ž$h³èúF¹˜Ýâ|D
+‚3j:WÎ7 œ!ö•ç»g¶ü¤c+T¶”Qšn[µ^ˆ_šÛxåÐg¾†m àn‹µCCœ›'öÕCg2—܉ÅÏÌ&„õF†SšYL4 P“DAaæµ sÌS+Ót§º£};}0jäç«Q±HD²|ƒ‚öúdrPôÆ’ÿ„
+ðŽ»SCu;È òs]±12!Ú7l9Ú÷®ÍŒñ4ô¼„‚Q»» ÚQý„n§¹^j‚›É…Õ¯ªO–§ÉB}h•€» llÀ@ä€7ÚêtÉ›?tjoXäújEÚL
+¤–/=
+›§¶ES¹veçxC
+¬ÍÌ QnPÇptŸÜ& ’ÖÚ »ˆ…Pc¢•sƒ
+Ì)Ih%CÇÎp9“¢³eÒtJdêyæY1f/¹Y@ÔÙñÇdf:%»–)Ó4ºyÿ–*kS?sÝVÕyb[giœX!•a4f˜©íø°!âf–’»ogý)#½@Gç³"Ë~þ‘Nq
+%6aü„ßÑc§àø°ÁÇUH°Öb;Í·¢{OÔHôQOΧ ’¨»+c5¥Â„gpLä{JÌR­\šöŒóŒ¨O’¡òi*Ì8´<õ.Ì,Mèx¶•ø])ª#^
+”`ÄOKþ“B.e±¯Æ {r»ˆÏ
+½JX÷ä%ë÷ÝZl-_ê²àî äIóñ3
+‰Êjé«Š~ö¾U_ëÃ4=ΤÄZÎ`êEnÃÍ1‹Ý[/)/¯ÜAšÚpEEÃ9”WWIM,…8Ž3…/§W"N’4H«ÇŽˆ7Ö‘—=FšÑ-ÜÉ0½¿Šun«eIf>%ßIGF€‹Õˆƒ}WS¶’êúú¾†5ÇH^1_'=áß«‘è>?¨81‰_°`a~,"ŠêËp™Dc‹ y¿®!Xä‡ò÷ÔŸÆg3±QÁQ¦øUjNŠªˆì¯¦÷Ð^1ãTQq*Ä Œ…ÎëŒÕ:ÎÌÇÛNÿ¨€ñûèþüZS_cá4”¶Õ¼W×c⟶×RiЃkë¯AW 6<ú@Ç'×Ë“‘e‚
+zOÑü˜-¼}dSçòE8ÒOÿ3•ùCõŠn¿÷2óýsŒG”ÆÍ c¸æ7d<êÀ"ý•;=ƒïÚ‡˜²æ8‘0²aaÐ B(C´ Ç B„4µó¼êÌÆ@Ëz®ˆ ŽÇç—i.ñfÑÔôŠˆ…_n‰$ù6øä…C*PÚmfÒùckÍ#ûnÏ5euO0°7l†ò=>ÁÅøëӲ؛83Ÿ¼#,Q¯§“¢e)«d–žá)¨€¸íSO¤7ÆÔ‰¾{ÿ€\ wB¿þ¹vT¨
+k€ª¢M°#b/Ÿkø_/PA*“û´1R½ûüùù+>ÁÌ|A˜mq~ºúéRÕ‘XžZž©ëóÛXÇÿû@²cþCûbØoU™è»î µ5
endobj
1429 0 obj <<
/Type /Page
@@ -5271,24 +5291,19 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1443 0 obj <<
-/Length 3205
+/Length 3203
/Filter /FlateDecode
>>
stream
-xÚåZÝ“Û¶¿¿Boáe,Ÿ$˜7Ç>7ÎØ®c_ÛLãÌ”'ñ,Ž%R©“/}w±
-F¸QÚÀwþËïß¼¾î¿øýúç‹«ën§ái8“¸Í?.~ûÍ–p¨Ÿ/X,3£gè°˜g™˜m.”–±VRú‘õÅÇ‹_:‚Á[ûéw´4±6"`SìÑYœH!-{žWu»*vp"©£E½ÙÔ¶“hwÉMTä õut[ïèES´mY}¦Ñý–ž9½û¸]—-?qþý%š¶ØP·lè}[S?_¯ë •U[ìª|M½ªhõîKCÓÚUîç´3¾)VeµD1
-8ÀòÄ:@–Ó0žŸn‘z}çV¶l³v@:SÇ{myU´
- 2wØòfÙ5zŽ@/8âÎMhÝÇN3àbQ4ö­éÞ.Š]›—Õ¸ü
-óºZß“Ø™Í3½#C`Õí$‚ºÉëõ„öè|„Íí¦!ÏQÛ],1Ì †áÌÀÓuÙ¬ÜøªlŒB;aÀXÏuøàPâq¸AuÇ! ì·GÞ44„ÇÄÿj‡2
-![…°®ÊÅÊ­Ñ!ÃÚ’áüzo­Ôæ,¡1Àº
-— È„×å§áK¡ýëÎë smÑó'Ñ?/µŽ¨*ëº|I Å1qÀ‘,žÒ­¾.ë²Ë  ëwíÀ©ÚS/6M™§[À'žƒŒqU¸Ö ñ¢ìÐe‹£ºï°ôpÜÅÿä¶ù/™9:EXê•ÝF@Ö¤$øòì‡ åÅJ0&§™]þ{»'0†^Ðð8U’*n¯ß]ÎF”ñÉ==RqÿT5nî‰
-yï`/<¨æj[Å=µ°²´u£$^lÙˆÅ*Ì*_ߺ1÷¤[—K={Ë }Ifp…"û+4™:é'õat\å
-Ô•t°åR„m±[_òèÞÞíÙÈ[õÕªq©ÏWXvìŽåÂ4cõ³|V€'Bó`–5°»6±•¥}àCZ9º鎷Ç=OjÞ/]äo¤£`fÌÈ°¨‹/}Kº:šÚæ|sOÏ.ØRìcw‘ùò ÷iˆ‹ÿìhàÜfæSÁ´ßá¤- ,–ç{[Uïñ=¸R
-]Wç¬hs´¼*ÀhÆ.”k—ŽñÄÁÚ¶jzºJ%´¶—6
-H!æ‚»C¶2d3Ìíjû–1…kЀ¼e~ð¡Ý,mÅs?qMG,M—Û÷Dü“Å&‘>($Þñ ù¥ˆ”a¼§F±þ£ï
-‚4šF´([àéxQŒµ³D¥§Wíf=\v¹C[%Ãeß@äè.η>h¹ï-@`ÂùDJ"u¬&ϧù25úi—zbN§K†iþ1 Br!3`ÿi ³NHÐÏ:/ÁS«/;-ÁpÙÿ¥ÏÔyš˜'dÐ)3ÉlXf<.H%`º9§ŠÁ¬‚ô³Î òÔª ÇËN 2\öñ‚|`¯û¿Ì㕸±s fà•ŸužW§V x5^všWá²W}Yi”>úË¿þpè (JÓ,ŒÇÐCÙ«y_¸‡±$%w}”|”ÿÇâ¶G¹£b-õ“ŽKÈO:+ SKöò¯9)žpÍÿ?§’èX
-vÆ“ŽËÎO:+»SKö²¯9)»pÍ󚲤#—Ÿó¦ÓôQòKžìIþ‹ò á_Q'xɺó}ó?^{$(ˆtÓR‘ ÿÝ—¥~S¸{®ñv'I¢_¿sÿê…âtþ^ø˜^³+°hU—~Üo·õΙ$úO0]áØ
-éˆÝm2â?øã€Òendstream
+xÚåZÝ“Û¶¿¿Bo¡2‹OÌ›_g׉¯m¦qfÊ“xÇ©ˆÔÉ—¿¾»X€y”t7nŸ:z
+·ùòµÊjH 7ì^tâ„žgŒ‡`òYwš;<›Ìàöh¨lÀ&΋®?çÛÝÆl& h Íì@R$±ŠØõ¦h¿BIe€Çü)b
+í„c=×áƒc‰;ÄáÕ‡08°ßQxÓÐnG?þ«=Ê
+\®UŠŽÑ¬I‘pë.ÃÄÑ]±,Éرè§_ið‘ÜqÐF÷®NÃc-š°c6/µP3·ZvQ3šg„Í¿¿þʃKMKE»Ü”«ñJç#”·å*°åðÖÙrðVÚ› tŽRU+ë—ð³b™¬— W^T§Þ9ÎÊæ.§ÊÂñ[䘠ás1hs?fÓmêú
+máiPÕS¸ÌH@&¼)ï= _
+í_·p^·h˜k‹ž<‰þ9×:¢ª¬ëò%1ÇÄG²x1J·úº¬Ë.ƒ‚®ßµ¦jO½Ø4ežnŸx2ÆuáZƒÄ‹²C—-Žê¾ÃÒÃiÿƒÛæW¾dæèa©wTvY“’àsȳo&”+Á ˜œfvù¯ížÀfxAÃãTIª¸½~;_$Œ(ã“3zz¤âþ©jÜÂòÞ"À$^xPÍÕ¶ŠjaeiçFI¼Ø²‹U˜u¾¹scî H·.—zö–Aú’Ìà
+EöW(h2uÒOêÃ"è¸Ê6]Td?,&jã!–EŸ*{*–‘þt…#fzýÁAw¦îu6ˆ»@p¡LB†Ë:”½wò¨!-*é`Ë¥»b¿™óèÁÞíÙÈ[õÕªq©ÏWXvêŽå‘Â4cõ³|V€'Bó`–5°O»6±•¥}àCZ9ºéŽwÀ=OjÞÏ]äo¤£`fÌÈ°¨‹/}Kº:šÚæ|ó@Ï.ØRìcw‘ùò ÷iˆ‹ÿìhàÜfSÁ´ßá¤- ,–ç{[UNñ=¸R
+]W—¬hs²¼*ÀhÆ.”k—ŽñÄÁÚ¶jzºJ%´vs¤ óÁÝ![²ævµ}K‚˜ÂµGh@Þ² ?xŒÐn–¶ây˜¸¦€€#–¦KŠm‰{"þÉb“HïxüRDÊ0ÞS£XÿÉ€w
+'®‰ '€ðãÞïíLŸ¡ó—žáÝÖ7§þþÀ ‹›<ûgŽp–ý·$Aš
endobj
1442 0 obj <<
/Type /Page
@@ -5311,18 +5326,14 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1448 0 obj <<
-/Length 1015
+/Length 1012
/Filter /FlateDecode
>>
stream
-xÚ½WKoÛ8¾ëW9ÉÀŠæCÔc}Jg›¢²±w/mŠÌ$.dÑå¸iÑÿ^RÉ¢œE³- Xäp8óÍÌ7”ˆ\(È¥!œ¸Q
-u³Ý;¹ö—ƒß(ù]­WKgzNb7IˆCwyÛ±ÇÈ]®Þ{ÀDZ€ÞâêÝÅrâc
-½³ËÅÄGq@cïõ›Ó«åüZËêéÙ¿„wzùz~ÖÙ¢çóÓIxË®ç‹ÉÇå[g¾l‘v£A(˜Ÿ÷¡»’A½u ILݽœ@€’»' Ѐ#É…ówk°³ZoµfA€Iˆ-éÁØ–š€`R§ç +'(ö˜ŒMµú™úɾ¤›mÞ,f¼ø
-=ý¦(Â
-¨~î™g_læoR¡’í¯·Â¿ãþ=+Ùˆ¹ 6Ç·J½µ¡4ÌrÃæ&
- nRÀäÙÌÙ¶6µ,ä¶Añl ,™¨ÊuVéÙç+\YÆ„wÛQýv@ÚÙËF€à#@J–íJ¡Zß‚]xR9ÂîôJúVÛ»ÀVÓ$‹)H}¶Z‚Ðg®Ò8ëŠ!м±@Æ7']:€=¤Õã¶çËåíÚ
-£_p´üÚ
-ØØ|q÷¢±îm=Ì~[/½¼w^šXüS‰µ5
+xÚ½WKoÛ8¾ëW9ÉÀŠæC/®OiãlSA»{i{Pd&ñB]QŽ›ýï%EQ‘,Ê)švaÀ"‡Ã™of¾¡DäBùCnˆbêÆ4
+ÿ–ûw¬d#æ‚Úß*õÖ†Ò0Ë ››`#ùˆXRzŸ–+mU5̬¯¥mN§Z¡§­ØÞ OÏt-Ä_jué«Z“Sã@]ãû>³ù3¨Es6©qšç|ïWeZˆE%ûCXp“&§Èf浩e!· ŠgK`ÉDU®³JÏ>ïXùÐàÊ2&ĸێê·ÒÎX6R²lW
+ÕúìÀ£Ê1v§OPÒ·òØÞ¶šn$YLAê³Õ„>s•Æ‰XW æ2¾9éÒÑ
+ü«¬¨]YÃîBL‡>¬‰×{‘£­ö“Fàhù³4°±ùìîEcÝÛz˜ýo½ôüÞynbñ/%ÖÖ
endobj
1447 0 obj <<
/Type /Page
@@ -5347,14 +5358,13 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1453 0 obj <<
-/Length 1112
+/Length 1110
/Filter /FlateDecode
>>
stream
-xÚ¥WKoã6¾ûW9Ù@E“”¨GsÊnœmöl7j/»‹€‘([¨L9¢Ç-úßKŠ”-Û´7i`ÀæÅo†œ!r ü!'"
-€ü÷.5çßKµRéÎEÄ„àN7¯ê5­³Cu»0-Ëjí>µ¬ÞìI\úç´ve4PnjÊEÎj»~j§¿ÕÞ‹AŸÞà!,Ò•‡@øÈìE›Óðø(**®‹J4’‰*E°úYÅ¥è´âß!Äó_µ/ßêË,+-­ åN±oÖ‡bÅŒ
-$SFÁiÓÖ™q¡R¢Â3i”.dÖXf\Zê.š Óp?ÜÞ]MÞ663&ÒºxT>=DÆé‚òyÿ¢–Ñ=UÕt_ÍdÓÖT;VLÅ)
-e|Sjz=R„ÕPÍ3fºoW+½m䋾}±nxègº!ÛËÍ1ÿ¯ ¨ºendstream
+xÚ¥W_s£6÷§`ò„gŠ, „¡yÊ]œkî!s½Ð¾ÜÝd6S,qÜN¿{%$ll˾¤ϘeÙ¿?­´+ä@ùCND
+ÂÑ:À L~(VÌ !s‡öA¬*oÏ<{±™7‰yÅJxóÊ[°š5W­”øÖ†’èÁÝC
+>×/íJ?“±œ"UñÑÔ,dÊ(8mÚzŒ"—jITxf¥ ¹j,3.-uÍÆ„i¸nï®&oŠi]<*Ÿ>"nº |Þ¿¨4º§ªšî«™lÚšjÇŠ©8¥ FsÍÊò€³ ÅÕëMËòÕD¦¹¹*lEdE®øjϪÏÜØËÙ¸_l)<-ÛL¯Ãp¬:¥ªë¯z—äf€ÓÖh³ÓÙC[2þb£Dy¦‰VœÅ|y%o]4 MéE:q“ð Pã¿eî‡ÛÓ÷Ý·ŒÝµ*˜?Šðö±·+|‚ÇÓ>(….šŽ½ †~—…ÎG*€h7?«‰šgÌÀtß®VzÏÈ}õbÝäÐtC¶7›cþ¹Ÿ¨ endstream
endobj
1452 0 obj <<
/Type /Page
@@ -5377,19 +5387,17 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1458 0 obj <<
-/Length 2464
+/Length 2461
/Filter /FlateDecode
>>
stream
-xÚ¥ÉvÛ8òî¯ðëKÓ/!š
-’˜pQÊŽfÞüûT¡@Š’˜efì€X¨}øe
-0ÞüþîÕ•/¸Hïúvöv~ó–*€#t`öâWœsoöæúæm½xsO“—7³«8ôæwsõ×ü׋›ù@ߘH$îÓÅŸ—K`å׋€É4Q—°OSqY]„J2JÙCÊ‹û‹¿ G»öÓI™ð€ ‰ ¡1%•²H
-i…òüî 2+oÛUÖåž–f·Ý6mgpõøªiÝÝ>h7ï:†°+î8òò¦ªvu‘g]ÑÔ Z™(o¾)΢ÎËÝRBñϦÖY›Õf8@ÊO”¯nºbµ·*yŠ2Æ}ÎYª”°\dõ^{ÅOç»Öš@ŸvºÝÓ´ÒÆdkm€”0àÞ;mšx0´»ÈŒvhššÆZ?Z^`Šç€ w¶YÑèij„†MÖß[UÑBNÒÉ´­QŠ| ˜Ù°‘°+>lÀ—"ñò i©—•¦!ÐBÓ¸3zµ+i—ÔÀå¾Îª"w'¶Ë¬Ó¨‰@z3‚‘Þ÷´”:F‘aJ{uá'›fW.qMÝY4ŽŒ,ÏAæS¬¢ÉÈ8ñºÆIz@P"”6¦"×`
-!-í:ß½õÆðw‘Ý9¢7 ãÆÚìV¸ñ>D^èºQD)˜7 ´ûm׬Ûl»!R¾ÆÂÉ=)ˆÒ®Š%‘•z‹=¤?œYZÀ<VYëØÛmu[4ÖÜ-9±%îÿå#ÿ\2™`,°·/$$:9öôP±D¤±;訦ªáFçÚǤ=MºþþpŒ•Ú4M„C뜸™+KÑߌnyŽG,
-ÃÍ~†œ) ÜNàÜ ¼ªÈÕú—µ@˜5ÛÎy&.Z‹úp
-ѼW¸ô P@‰¦8ÔüGZÅ¢ÆBR™®ófÙ§ÓµD€M
-ƒCâ£ÎTʆöAIJÏRSžMKÉRìV‚! R*5G!J†°™w==+*,ª“øåôbçC¶Þ™þ«Ì¥µÌ15Ê!v=¤¢g ù<ŽOdzl²–1km¿g?ݨë¯Ò?ž4†ødâÃröË/ßky'bþ‚\•`âP‰ýwòP²0ßõ¹¼ùá‹›J >O¡&ƒ>r*A— ^gõ.+ÿ§ì d|L‘ŒŽÊ Ü·þ€ð¢ÚZXFôzKkAö3èÕêÜ!µ• @1ja\ ÇÞ #ŠpÎù‹mj”÷º1îÒÙýõÝCl5jÜÅCl„ÅCVË©ØzðB™),3fW‘‘H×ÂàV¾X˜Ÿ äû²+¶åo‰çð“— ¼&ñ$Ž0 ÌAºèu¶OÅÓcÐN0‰: Ù–ð@R2VÍ—ä7GŠš2ÃÊFéÊ—¡<éQId3hH‘Œ˜[¦£ØûX75M§‚9Ý{ Œít|Öm(ªìÖ›©Ò<LFi_þU™Ä„¥‚‹†ñࢶ„Žâž00Ä¢Ìì¨?²$44ÊKì`°è-‘â88V)â$;g]6Ùçí@ï‡×Ív?ÄžÁáÇmÁ=h¬×–¥ÆçCyø:èzÌ·=ךg‘™&
-T±oè%rÐäÍVŒ<"|c´9#€Á×–Þ ñc,ѲÚ`‡IJƒ×…©Üý{½•`hŘfy<¦ Ètç¢áÜè² Ÿ}9{ÅEê¹*Ș¾êt©·›¦Ön­»ü{5#fîjhê ÝØsÞVöMÜWJynÿæsa:ᾡŸ»*[c÷zÞþÈ„E2L¾ÝGQª¾ÚHqèÈT,G˜\¹8…/b*º·l\]zz;2§ÍÏI¥Rôé9Ô5½롿ퟡ 8ÿÑL=!(΂@õbÀ¶jÉò¦^MÐA®Ž¢^TœL–!4Ib·0rèþÏëX ù—5ÂÞ~Ž$ËuÓݦ:«›ž²\ã¼Ïþð¥râúÔ?¹"ù¿ž¶)b%W8áIØNdo·¡G{êè
+xڥɖÛ6òÞ_¡—K¨g !
+¼ÅßßÝÜOÿZüzu³èéòÀ}‰Ä}ºúó/²V~½ò™Lb5y„…Ïx’ˆIy(ÉT e)®î¯þÖ#ìÚOGeÂ}&d(F„"ĘPTÂB)¤Êó»7È`¤¼]“—i“ZšýnW7­ÁUØI àëºqtó Ý¼­é¦Ü#pèeuYî«<KÛ¼®@´2VÞb›;œy•û•6„âŸu¥²&­Ìp€”Ÿ(^U·ùú`UòeŒÏ8g‰RÂr‘V+<è{͔ǞÎöÉ4>íus i©I7Ú
+ÜÌ+³_ãÆ{ßY®«D&`ÞD0Ðvm½iÒÝ–Hù g÷$ J»zÈWDVâ-4’þpfióX§co¿ÓM^[s·äD–¸ü—üWpÉdŒ±ÀÞ¼èäÐÓÅb‘Dî £
+˜*ûkŸ’ö§4i»ûƒ!Vh“$íìãÈÍ\±HŠîftËK<Âgaôh#hfAÀ™ÂÀíÎÀË’\]¡Y „Y½kg⢡1¯ŽP 8‚ƒ¸CkÛQACf‚ûÊQøQ‘È!šúQèΰMo À…
+°Á¢¨ójCËÞqñ˜Í6½5CÉ‚i\Ä37-Þû`‰!Í—‡VÚÓêöõüzv;Êm[¡á$5„J… Sh¾Ô+wò~Ðl,4ÿ^WÌc’š9k¥kÛRI—Y`2ZÓ~ãkš¼;Bn!]ñ‘®ÐÜT轩[w¸Ý¦m7s 2ýœ—û²¿ƒ&…®6¨jÄ–¯†¦.L3¹Ê¡–qVD_>uV¢;Rqe%jÍ(ïm¬øDåÃZcUˆ3
+ô h–Ò¸-Ól^oQÚ% dp_Üþq¿pß œcÜÞèrq´8¬ËÉg`bËÅ„C@§uÛÀ$^Œ%ªDBø¸sþ߆<á¡|âヺça<}òX1 †yŒä¨Î­u
+KÙ—d$Òµ0¸Õ…oæfÀg ù¾hó]qÂ[ì9üä%¯H<±#Ì3.zíSñô´L¢NB¶%<’UsÂ%ù͉¢ÆÌ°´†Q¸ò¥/ÏzTÙR$#â–é0ò>VõcEÓÞ©`N·ÀÄÞc3…ŽÏÁÚ-E•ýf;VšÇ‚É0éÊ¿²$“±TpÑ ê]Ô–ÐaÔ†˜©ƒôG–„šÆc9c‰í-%RÇŠ!Eœeç´MGÛÿ²èüðºÞúØÓ;ü°-¸uÚ²tÂø¼/_C‡
endobj
1457 0 obj <<
/Type /Page
@@ -5436,21 +5444,21 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1468 0 obj <<
-/Length 2765
+/Length 2763
/Filter /FlateDecode
>>
stream
-xÚ¥YYsÛF~ׯàÛRUæd3¸’'Ù–%kÇ+Ñ©ÚÊæ$@ (hZ»µÿ}û$dUj‹˜³§çëž¾hf~f–„JÛÔÍâÔ©P›p¶Þ]èÙ=Ì}adÍÂ/Z W½^^|óÎ&³T¥QÍ–›­Dé$1³eþëüÍW—×·—‹ Ôs§.a¤çWo¹4Æ̯>¼¹~ËSo?ÜqãÝõÕeìæËO·×8¢SXçT$;—?]ÿóò·å×ËŽ¿áŒ¶ÈÜŸ¿þ¦g9\åÇ ­lš„³#t´2iÌv.´*tÖú‘íÅÝÅ?:‚ƒYÚ:…Ih&A<JL¦*²%P®Z¼k4oÊ[ñü±.«ö¶-xúâ‰~ÕþÒ$ób]ßWå¿‹ ±A:_
-‘h¾+²JV¶™œQnüˆPmŠýçbÏm!X”Ÿ Ù˜yRM“Ýûå}Uä<¿z:e¹Da¾B¹
-³„–¼?lÛò‘¤§rbƒ’fO<´’©Gµ`K ú¶:´<EZO-lGÑï™'Üà+ºjÓÈ›eX™—bf[0³¼.¯ ÙQÕ-¯}k³²âѬ’ãšb͛ۆxc\Ÿ€éì,
-Ž/•è QDáϱÞoó“Ìòlå•—Yu¤c•¢î é›)åJ•³‰}I«Áö9Ñ¢ UN—f'ƒèœLÜy,hyÜ2î2³ŠF¢Ç<Ú1x„’ëÅ4:ãXn·ÜZÉtçÚh¶}dCóX¬Å°Z«âD‡cðO|À¨
-Ñ–š—­´3Ý1$KÂû¾©±†a4¶®ã—3¥[+àØþ¥kOÆ>À ¸ «ƒó(”hywó}ÍPãuÖx­¼¢˜ŽÛoÀ8îëíËÏ뛘P$fžaL@òØqâX/‡ªœû¬bd`=lDUÍÈ Ð²ª0qõæïÜÈ œ®JT3!‚”=.ƒx
-„÷qÃf‚R –ÈÉ<Èxÿ4E%…裋~Ÿ Òˆ½ZͦØOÐd'0©û
-… 5pŒQÁP9˜)Š«ÅÞ,ÞO6V‘éX¹Ð=lh½‡ÂùCF Û)vÅVñ¥Cò‚$P%¸yH”%$ é¦&âŽBM[Õäµa çc0v¬ÛÜŸÈsyž¼È'‘1*NM|î3HµGϤ~,måC¶{ôλÞx1q|‚Ilôm(•Óè6ÑÎL¡îã¾9y’ÉèÐ8«m’qt8:wð_üž î„°Ï~uÿà¡?A_®¹Ã§žzJL½©‘ðn*æ>³¡Ç¬9÷ «§Q”Õ —R ‰°‚ÀMÙƒíA÷´^ІK ¡¨dç–á!G.kË]QœKŒ†¸\»pf­V‹,[ðäþ~ÆÛA£[¿n8¯sœÓeÖâxR0k(QiþaxÂYÁ¥[õ#±Q.$FŒ óJ(/›õ¡i:ÞêS¹ïjŸ“Jxl‹/%†Ëç"4!Øê ð¶šÕmñXoËõTŽ¡ÉµþAvaÒ´µJÅ_9Q×ùÐH|èõ~_ï›—#Û3KØU£oåŒÆèö&ò6F:å†ö j€Urp±xRÈ®x‚|"n- ̶Ü)ö|Üv&TÖÁ‰ìÙs„ZçHxˆœz´³ª«ÅT&$wÀr»ºv%Aå×AJ„`üÝÏ·ï¯oo¹ƒ!èÊŽ2 èwüKCbû_RjûŠÊMH»áÊ Î²Jõ œápWPr@"û&Š¾H_J6uà­`Îý7²&B‚a’4|w ÿãà·ºg<ôŒ‡Æ»8>8¾£€¦—-™Ð`tû«=­*p(~xâž©ÌØ‚ËKîb3±ö½˜O²ÙØg³ 0¸?¬-09ÔœèÊYÐWI»Ý¥¾|m*⺊¿‡êª>V¼«/˜Â£–dÇO*“°µ„ž3§qÖ! ¹žÕƒxÇ;µæîºÎ ^Ö­¨ùûúê-–Ü9¤B¾ïðG˜‚Ðí„ö ‚Vón3@:ý²ç4bT
-¹6 ÕñY˜duLÈN˜+ÂÙ…ˆ3PTÜ!ˆ]D 9ªbk±ë&¶O îw÷CGnâBž… •;™ªmSæ¾³á/ß—ctE—„M”+!¬Qúu3Õl´Ùp ¿ÄÆ× °ÅGšN³t:„ƇCW 6^y ›ü¨Ë›÷ׯ¸G–ut‚\Z +ÂÍ3:q%õ×üw0‚œZP=ŽS ®FE¢#Øc€#ì<¡áiÿ¹@:ý?”‰€Ç”-\ÿÙp:±èéBB‹<Öýñ"x*Jxn¬ 5D¿wÂnÈЊãÔÕ æ¡%þðóííÕ§å>\
-5û5´Óà¨jË5<Å© ",FÝ_%©rIl$ÄñŽÿÇï$èÂð&QQœJxÓ¯
-NòßÐ¥Ãê6ø±€Ïú!«ÊfÇ£"Â80\C
-t“0áñèƒOp¸¯Öú
+xÚ¥Y[sÛÆ~ׯà[©s³‹]Üš'Ù–%µ“Êtg:i ”€€¦ÕNÿ{Ïmq!!k2>`¯gÏ~çì¹Ñ,4üÌ" •¶©[Ä©S¡6áb³¿Ð‹{˜ûîÂÈš•_´¯z½¾øæM©J£ Z¬·#Z‰ÒIbëü—å›ï¯~^_ß^®‚P/º\…‘^^½ýÇ¥1fyõáÍõ[žzûá#7Þ]_]Æn¹þt{#:…uNE²sýãõ?/]ÿpq½îùßÁh‹Ìýqñ˯z‘ÃU~¸ÐʦI¸8BG+“¦ÁbáB«Bg­Ù]|¼ø{Op4K[ç0 m¢Â$ˆg@ ‚9PÂTE6°ÊU‡w–ÝCÙb+^>ÖeÕ½Âv£Oÿ^<qïj.M²,6õ}Uþ»È¤Ëµ‰–û"«de÷ÉåÖÕ¶h> ·…`Q~.dcæIµmvïw”÷U‘óüÝÓ)ëÈ%
+óÊÀY£Ò0 è¦%paµ[n²Špt¹}â6±„ < ëÌ \ËÅfy³ýÚ"Bhê°Ù
+'AöfÑÏnq­uÊZ›ÒZÐå.WFk½¼©Ú®9lº²ºg½ùèåÇ^>0Xó÷S[œ¬úÎåÇÚN¥Î8:ðcYmˆÿùl¹• ¦ËöAº9OÞݱ(*îtÇšuÛÉîºÚyqƒöYPÒ«¶÷‡¶cúw2ÛÕ;9áøàÉ?ÃRW{Vø{hIÕ]‚ªÏÊ`[ïvõ±G’S/³<g­pì˜À7ïÜ5cx›¼w"W¨sµ©«í ÂQ ‚(
+e)ªØN$²­¡­Gë­Q66©¬G Í ÕÀ¨0NüªWrí‰Ìo~î/&Z,7­·3''©ŠmŒNæNvJG©¿‡Î€]T²A TÚ¨( SеT%IÌÊíåéa;÷þC2ó;}=­_DhEÌ*ùö¿ßÒþÕ v/<9ó
+³„–¼?ìºò‘¤§rbƒ’fO<t'SjÁ–ôíîÐñi=µX°Eß´2O¸ÁWtÕ¦‘7Ë°2/ÅÌv`fy]^²£ª;^úÖeeÅ£Y%ǵņ7w-ñƸž>ÓÛY_
+w¢3Du†?ǺÙå+&™åÙW^VdÕ“ŽUŠºƒ¤oæ”+UÎ&ö%­Ûç`D‹‚T9]š J w2qï± åq˸ËÌþq(ZAŠódÇèAJnÓäŒc¹ÛqëN¦{×F³Ýƒœð ÚÇb#~„•ÐZ':œ‚â&@C6z©Ñ+6A,Å`@DË:±k§ömðÔÚßüd…׋ñJ¹øØÔ»£Öär‹•™¦ÖLU䊟K[îË]ÖH§Ëºbo‰»ìèQü=7
+…wh²®¬+ìm6µCM·Ÿ9ØÀÁáŸ3ÜþÜ‘> †çýC¢-5/[igúcH–„÷}%R b Ãhj]§/gN%f¶VÀ±ýSמ}€pVç1P(1ÐúãÍwC4C×YëµòŠb:n¿ãØÔ»—#ž×70¡HÌ2Ø€ä°ãıA.U97š¬bd`=lDUÍÄ Ð²ª0qõæoÜÈ œ®JT3!‚”=.£x
+#„qÃv†R –ÈÉ<ȸyš£’BôÑÇ
+ÙOOÄ­äÙŽ;EÃÇ5h´ƒ4¡²NdÏž#ÔZ>EÂC¬àÔ“U]­æ2!¹C
+Z’M?©LÂ6Ö"XxBrÌ bœÆYk„$4äzVâ!ïÕš»›:/xY[tB¢æïë«·Xrç FAøf¼Ãa&B·GÚ'ZÍ»ÍAè ÈžÓˆI8’€Õ±TTpŒ}Îv%šbªTj_©<öÎ:–¢c4àL£Â(DäÚ04BVÇdaRÕ1!;c®g"Î@Qq‡ vä|¨Š­1Änx˜Ø>xØ=@ ¹‰ y.Tîeª>tm™ûΖ¿|_\ŽÑ]6Q®„°Fé×ÍT²ÑdÃ5üö_ƒÀizÍÒébC ]Øxå5l"ð  ®oÞ_¿âYÖÉ ryh®7ÏèÌ•8Ô\óßÀrjAõ8N1¸‰Ž`cŠŽ°ó„†§5ýçé ÿ\P&S¶pýdÃéÄb  -ZðXÇ‹à©(á¹!°fÔýÞ »!C+ŽoTW'˜Ç–øÃOk´·WŸÖßûp)Ôì×ÐN€£ª+7ðs¤6Št°@õ•¤Ê%±‘Ç8þ¿“  ÛDEq*áÍ°*8ÉC—Ž«ÛàÇ>›‡¬*Û=rˆãÀp 
+V„ 2Ôð†¬¥ç~i(hq ØR«5©PÀ”cá–·HZ†Dªb|½¹m¨ð/Û™ÔA÷õÿýÏððW¸‹•M’gr°ü* ÒØ3…€¸¤Kµõ׆—T2¼˜ë¡dëFÞÿ]áa‰ÁUhNAèÿ>GánÄ+çendstream
endobj
1467 0 obj <<
/Type /Page
@@ -5499,26 +5507,25 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1477 0 obj <<
-/Length 3349
+/Length 3347
/Filter /FlateDecode
>>
stream
-xÚ¥ZÝsÜ6÷_á·®§Y•â‡$6ONâ´igÒ^ì»›kÓ­–öjª•Ô•ÖŽû×@€úØU’›¹ñŒI‚ ‚ ðµñ¥€¿øÒ$Qb¥½L­ŽŒˆÍe±¿—Ð÷ÃEÌ<ëÀ´žr½º»øî­Ê.md™\ÞÝOæÊ"‘eñåÝö÷•ŽÒè
-f«Ûw?|Fø_­¥HUºzýãõ¯w7 i°ãõ›]Åq¼º~ÿúæ u½yK•·7×W©^ÝýóÃÍíÕw?]ÜÜ rN÷ …Bþuñûâr [úéBDÊfæò "Š­•—û mTd´RR]Ü^üc˜pÒë‡.ê&‘T‰\PŽ”KÊ16J”T^9ýÎu6fíjßl]÷âj­b‰d¨Øvyg«BH·þÑUÕ>¯‰ýO÷L,îS±ËëºÓ&[½júqìš®ïˆ'?à,¼Õÿ:–TÙKßð¨ü‘×Ή°,2ü|ó<PÃ:Ž#kŒô{¢i‹Æ—0»T8Úˆ¼êwÍñ¥S¶XvÔ·Äúê¦'ös¡±Û åÆQÙRoçjVÖÔ‘SñwS;´¾7¬î@Í°8¨xrP*N#mÁ°…ßÎoóä8¥Å³L´pS¸Žß;áرp]ùPƒà¨±µÒId­IæšÛÃðüÁ[T* XKiW®›8P}óŒe¶ºƒ E”†{¦7ÌïQù=ú>VͱêyÌýÂÞ¥6Q*düÕ½k‘fògæTt»|<#²sµyÝ~—s­ð¶ŒbAU¼]°’tF“©;mÅ3‘ox*½íC U-ìn¨Ð‰þêö’8K™‰¤„9óªk¨æå…’å5|{ ÜºÊõÜ;S¶E°¸¬ ¨•\îræeC~,›cW=íÁÕî÷n‘Fb©¢$E¬Á`­&Z6i .Ê€µ}qÛJÀѽdÑÊX̾¬Ë¾D1¨‰Æ¨ï-°YT¥¿|XG«Ä²s‡Gw˜°{Z½-ë‡ÙØñ‚œŠŸÂmâ’_1Ó_GwàµðJ”uQyE åõ3_D“E&Iìܬò–·ßp«è”Stw….lá‰c™Sáe²rµÎŸg‹tÞ;D,ŒmÓü}œôø:ßͶ¹ŠWuç0
-(½Çë{Ñ:| *+@œŽ'8x:ÌüTVÑ‹¦îst|$Þ¹:OüõçoA uV癓àTk_I½6‰rª7ì…HÕEK’Õõ}ï°²ÿ‡Z`èõâdµ¡
-3·ôÐÏÅÓ2Šñb|M¼Ìdj"œ¢†ÐúÔ
-ê2Ð6ù€š:À
-и„ˆí€óØŠ>웦
-ȳlÛ`f#(&çƒ5{
-@¶d!–÷fœƒn|!‡Ri$³8 ¶6ãÕ|î !Ì3$‹¾.±Lyêƒ3öÁì$¿ê}_žÛ¾;ÚîÊ‚ÉÄ÷”®:BkøÍÁ&3€A„ŽÊ¶éºrS9jõà‰vä›› mÇÃd·®8Êþ™Z¨f\‹©þl;rÚàz3èzö° 
-28Oë]ˤ'°ÐQé)‰žï¾©ªæ =ÃZCŒfP!T,yQðaVï Hxð¡9†P‘zÏÁ伜S¡)ÓEÞ²Œ%™``Þþ |:ŸÅ}j+ÈLhªd˜jßL™
-ÛíT¸`Õ(DJ„„ˆÒ$Mç·d1LF2ú4€ª¸üP•XNe¹‹fß‚£¸0‹ÀÀ
-!áÞ3PýN­^B¶L~&2[5Ÿ×¡ž{¿ åÔ®Š¼Í9˜«ð$ÓT„5¡¶¸°©
- ‡ÒmhC2‰®êá8>,À4%QžÙzßtKð÷p˜CþNjPÙO8¸š•2çË7Íã`#Án†Þò4u>qZá&@:Èêá0@³XÇ*
-—"8)Æ÷Sl ýô‰ELÀÊ|<;7ü.ÆŸ\N{©Æ«$œJµ<‚)@u~ýàx¤ê§+¼X²JÿŒâs~î8(4*,]l‚t1dö/ºñäb›/¿? žƒwíê·…ùX«Pã§Û©
-µþ¹åÚ⧭$‹¬2ªß~y³üè­¤ îðMG±?Ô6¼Ò±ãˆ‘…Ð’©“œ#ž
-œŸ,|Í-m¸ón¯o¼Ž¿ü
-a¾¥Ò&ÂãXÀ.i¥Jåã©/€ _ò¹%ÂG@Ø«8ù$0®ž¯$øQzxæÂÇœ§Iêfãg@e…¨ñ©ÌÄý€¶ô)”í+}þÀóp"ôñpè×–O
+xÚ¥ZÝsÜ6÷_á·®§Y…â‡$6Onâ´igÒ^ì»›kÓ­–öjª•Ô•ÖŽû×@€úØU’›¹ñŒE € ðµñ¥€¿øÒ$Qb¥½L­ŽŒˆÍe±¿—Ð÷ÃEÌ<ëÀ´žr}wñò­Ê.md™\ÞÝOæÊ"‘eñåÝö÷•ŽÒè
+f«Ûw?|Fø_­¥HUºzýãõ¯w7àÕ`%Æë7ÿºŠãxuýþõÍêzóþ–oo®¯R½ºû燛۫?î~º¸¹äœê …Bþuñûâr *ýt!"e3sù/"Š­•—û mTd´RR]Ü^üc˜pÒë‡.Ú&‘T‰\0Ž”KÆ16J”TÞ8ýÎu³vµo¶®{qµV±D24¨]Þ_ÅÙê£Ò­tUµÏkbÿÓ=‹ûTìòúÁí´ÉVß7ýŽ8vM×wÄ“p^ˆÚKjl‰¥oxTþÈkçDX~¾ùî
+×±àûcÇ";®+j-¶V:‰¬5ÉÜr{ž?x/J…k)íÊ•àjožñ™­îà@¥ážé ó:*¯£ïcÓ«žÇÜ/è.µ‰R!ã¯ê®Ej˜ÉïL˜Ó£Ûåã”+è×íw9·
+ï˨‹¦buýÆJ²YL¦δ,Ï,F±á©ô¾-4M´ œP¡ýUõ’8K™‰¤„9óªk¨åå…'ËkøôÀsë*×sïÌø>‚ÅeK@«äç.g^väDz9vÕ3Ñ\íyï¶Y$–*J0ÄÖjr¡e—–¢ xÛÕV¶Þè%VÆúmöϺìKƒ^ÑU⣾Ué¶Ñ+ñٹã;LØ=­Þ–õÃlìx@NÅOá´ñ?ɯ˜é¯£;ðZx$ʺ¨Ž¼"òú™¢É"“$vîVyËê·TƒrŠá®£Ô…o¸ãøÌéáe²rµÎŸ†`‹tÖ2æ6Èiþ<Nz|›ÏfÛ\Å«ºs˜”^Aàõ½èþ &+@œŽ'8¸;ÌüTVÑ‹¦îs |$Þ¹9OâõçOA m6çYTkßH½5‰rj7ì…LÕE˜K’Õõ}rü‡VH`õâdµ¡ÛüЗEÙæuϬ”œ°ÏÕœJ€ZÖ÷ÍaŸ÷eb‹>S3$¸-Ðþ¬9úT‹ÙqÅ÷ḾSJ5rºOyÑSs÷ýì-x6¿4>Wg~ä‚Wg6Ê2óU§Ž… Lˆ|žOWÿÞ9FÇλõD™lž´ÙÓc˜Õ
+3÷ôÐÏÅÓ2Šñ`|M¼Ìdj"좆ÔúÔ
+ÓbG­ö¸©Êâ%DƒG
+£@ û¯(„Â3?Â×½mD i—¸.8 AF7:to;¬£fë H?Åú©püFÈõ»|Ï™|³öq ³|7"j¡À¯BZ.ËÊ €cÀ<À†ô!á7‡
+ê2Ð6ù€š:À
+HIº-S’·RfŒ°ðÔþ¤¨[^²è_HC¿/è§Îx²” <›çqÐù†ÈÌDFÛPଷK;b"gr¶#èi:eœ
+«°ßN… ^BqB¤BHˆ(MÒt~JÓd$£Oh †ËU9€ÅaW¦™»hö-Ä0Ê ³ <
+' „dK!ô™º9SBw¸.Çö`™£&z8•ÛðÅ$†ª‡ãx±
+-¾º
+À0Ъ‡Ö¢”ËB¦ÂPhõÏ-·?m%YdÅPQýöËû›åKo%m‡/h:ÊýÙˆ µá•ŽgŒ,¤–LÔ”˜ñ@Wéý9SÃþî÷®Þ:^€q!´xs²p_F‹1)'?·Y$Uvr¡[œÔ¸QÕC™u·§W¨¾ü-!-“ÉþQJ½]ssHòG žå¾­Ú#‘6‹^Gíw7wo_QspªÀØøÊ·ÜÒÖ†3ÿáöúöÇëøË T -:€µñzh,rz¤I5u?[ì$LßOcùyŠUÂ{UÀ¦EîSŽöZp¯ÌÿÊ Ô¸Çßñ¤vµVDPüÀ:ÓxH× DšuNÏAvOÜдcs{Ÿ÷­™œÑrœŸ~T¼²`KÌÑÊVéÛ£O³b¨9|Rô=ŸÌ·ÇÂm¿[°^œˆÈB=Æöøy.Ö·B˜oc©´‰p;°KšD©Áø¸ë H@Å—|n‰ðt'ŸÆÕÃõõ‚?J×\x™ó4)ýÁmü h¬ð3>½7ñD -}
+eÿÃFŸ?ðÇü‚}<úµåÀ ȳ_ÿ4
+üŸù± ü…ËÂO[Ä€þïÒŒ¿ Òi¤²L~ù72,ÓøÅ„ª1‹7~ØDCßàEÖ6€‚[º-¥úõ Ëñ^aj+ÔJŠ3„ßîœá¿EA­endstream
endobj
1476 0 obj <<
/Type /Page
@@ -5553,27 +5560,23 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1484 0 obj <<
-/Length 3401
+/Length 3397
/Filter /FlateDecode
>>
stream
-xÚ¥ZÝsã¶÷_á‡ÎDž±àúæœ}É%í5µÎ´i(‘¶8G‰
-IÙçüõÝÅ. ’‚ïœéè>‹Å~üvIyÁOžç‰ˆ´‰Ï3‹$’Éùz{?ÂØ÷g’ç,ݤåxÖw÷gß¾×ù¹&UéùýÈV.¢<—ç÷寋w?\ý|s{±TI´ˆÅÅ2I£ÅÕõ¿.¤”‹«ïn®ièúã5Þß\]dñâþ—Ûè‘&I4¬Ëy%L»»ywñÛýg7÷žÃñ)d¤‘½ßÏ~ý-:/á0?žEB›<9†?‘ƨóíYœh‘ÄZ»žæìî쟞àhÔ. I%ѹHr•Ä¢TH,‰©VÚŠeWl«‹¥ŽóÅ£$Âó|û>¯ÒRH•+Ø
-§¯7uSŠês±Ý7• éÓM´HóTòt )/|¦EóØvõ°Ùân™ÝMÓÆuO]×wW—Ô#©ƒòÅíÝÕ߯¦“œŒÝýpå6©†µï¹+iö°áC~ª^¸§xDîÏ—RÂ¥ÊXcKÀ%+Çx$•Ža7¥ä¢ÞáSÜ{ÖE_áN :Š÷¸öï»ú©*šnwÃ^$G4¤ååTÌ2ÏDG1 N8:§N"©Dy Gª±œ0§=m}è«’÷kéùXíªŽY“‹¾~Üá»ù¢ê/±3#yÑ9Ýq«¦^“¤”Ó$JŠÎöâÏíðc#d’¸âÂÓÓ©TÄ‘ ÈÚÃÁ“­‡¶£Æä<ÔõTu5RXCÝî"KDb‹4fp›û £(¥,K)3 ŽÒÑzŸA©‹ä]½5#ìÚ[Ú}Õ uÕÓ(Šfu¸€»˜(¨£¬pÕCEüï†ÙŽ ­¬Ö*O4i_LŽ¹
-läÞb˜Kðã°zz}KGÎbm£›ÌÁÜ7펽+žYïzPÒªtÿP„8wp¤þhwÜ"ðò·`ÝÊz÷x\ˆJ %ú+FŸ‰Ô€ÜÇVßÓ.‡w8•dŒÍÔð’¿|øøîo¿\ßh/ã(&‹ò©ôù,­žº¿õ4ðv‰áÙ÷€€\ýx{jçèlã?(«ÓÝx´H«øËF&ÓÌL•Úa¢YP!h^AiMƒ]$µ
-z yV*“
-
-êÃýMœÂGsEÖ î£C_È%BçÚùF¤¢C²S"Ë]DßÀ ‰q„noï>|ÿ¡È‰¤o=$ê‰qÔ°ÙcÊë’DSð¤ç
-……-è 0&1ʹµë»
-t5xr«ç0æ+®8ú…¿ªÞb襻4a§)F .ü]75æ2—£h©à
-ãxš^LN>…>¹:Ķ‡~˜¢
-2ÎѾø$•˜\ï8#ñ7ÎáÕ“àmÙ.X—ðÅ™/]W ×eÞp]™Tz|]@ô©hê’+> ×]ÿŒjdÿŒ« À„+i`Ú*Ûå±þÊê¤Èe–¾QîëçÆÏ&ŸH›±è¡µªÜö±äŠ ` ¤Ý1áVBŽ F«lœ¨@ìJ¤ˆ5«Ÿõ¦ê•ˆ4MfÉ+Ë(CR"šœ”UäËZ8jŽ®3ùâQ¸aåpv§dà¸yêÃyqðµ›×s;‡3-’t^Œq9ÅT4ý3‚‚óH e$¥a‰h0ÞÈè?s„ëQÎY‰¦²Ò÷fŠ}Cw–·.vëRX’s Š£0jöù´¼ˆÃ)ôsî }+îÁØíê[I&€Ïxr@¤KkJ#â˜ëÿl
-ØJH™,Iß`
-ùQ:Í›ö¹ Ç@¶'uâ
-f¡©Šž7§“!G1áL'&˜½õ½+ž»öAÌ:ò’zVÀŠ"dmQN9U: Z•K›^‘'>çvª?ň1øN™Î‹žä¯NAÙc#|- qâÖPÝq„/$b~×`Ó£ ± ±#â>‚ßc¨
-#”|CW»FL·ˆ‘É~O“cVï)1û}@‘¨êšËY¢ø
-"s7…ÝFü¦ÛÄ«÷~݇ ÉôºÝÛ— Ò€½=PNjßÞöÔ°ÆŠ³¸p€}íÙÖ„&¥¢8#%/Þº%< ¸ëš×Ô»OÔÉýd•è»b¿q¯“Üq&]o
-ûÉH{[—b“²õ½¸¢J”t98´šº·el[0Ú…\/À¹<Ïßl4Z§f„Ç)@á¶ÛÊ’ßRÁß#0ƒ?eUmoqÀ³ú\Û0‡sév×pIBE€*UlfÙ‹Oþ°Ó2D튫W+ è”38æÅ¢Üxá[ÁZ…CG!Ÿ¸¯¹´ø¹^kÀ}îî­s4ʽÐ0ÚÕ]°s²#Þ|šòIZ´¨uØ3Ù–ˆìÞ§º ÆíûwÔH")§LðäÓíUß³÷ké
+xÚ¥ZKs㸾ûWøª•«,.ðäæ{vg“LÛ“ªd³J¤-ÖP¢–¤ìõþút£IÁ3ÞJé@F£Ñ¯›ç1üĹN£X™ä<7I”Æ"=_oÏâóGûáL𜥛´Ïzwöý¥ÏMd2™ß?Œhé(ÖZœß—?/Þÿxõû›Û‹¥LãE],Ó,^\]ÿëB±¸úôþ暆®?ÝQãÃÍÕEž,î?ßÞ@0iª`æ•0íîæýÅ/÷?ÝÜ{ǧ±Bö~=ûù—ø¼„ÃütGÊèôüþÄ‘0FžoÏ’TEi¢”ëiÎîÎþé ŽFíÒTR¥£TË< )CbIM”)©¬XvŶºXªD/þ§1žçûÉx•‘ZÂV8}½©›2ª~+¶û¦Šhúte:<hŠK ŸËEÑ<¶]=l¶¸[nwS´qÝS×õÝÕ%õê ½¸½»úÛuÊtÒ“±»¯Ü&Õ°ŽÆ{îJš=lø_ªî)‘ûó¥p©"QØŠà’¥c<R%°›”bQïð)î‹=뢯p'PÇ‹{Ü
+;£|.¼*äN±¡±:€ÿâ]7Õqvy¤rÍ]*a†.âÅÇÁë`ñXMÕ²¯·uS°BCq‚ÄóTÉy‚Ú$™eÀ†öÃ\‚ÏÕÓë[*;‹µm ŒnRƒ¹oÚ{W<³Þõ ¤Uéþ¡qîàHýÞî¸E2àå/nÁº9”õîñ¸*=¤ŠTœªo}eä>¶úžv9ô¸Ã©$lf†—üéã§÷ý|} ½Lâ82y¬§vÐ`ä[°´>òÔý­? q€·K ÏƸ/ÄàêïÀÓØS;GgÿAYîtÀ£ÅJ&_72‘åfªèÐ~Ís€
+Aó
+úHkì"©UÐɳR™,R)°0Ñ©«ÝKàJ¥P%R¢ŠÙž2  D§ÆœÜi ±³í8îìÛ]Yƒ_´JS¬Â'À»r ¯ýa…Ìòz¯Ì1+s,XU7
+–šd‚-†Xc’
+7¬æ¿âùEYº!ÿ‡¢i^lÖöÏì‰ɀ›¦iŸÉËÃ_€[BÕðÍ©§&Å “;åAÉ}Øú•õÀÏž&"TÄÿ=|„ÁM€Ãª F“´rúlý×$# é]Œ~<;ÑeyÀ;ù ¤7ÄÔºËê¡84_Wau?uñ[X±õ¼©×jnŠ''pçgŸ
+
+Ä®TDq*gõòÓã¢ÞT½Ò(ËÒYòÊ2Å#JÄ”#''eùº–ŽªÑu¦_=ª7,}"
+"s7…ÝFò¦ÛÄ«÷~݇ÉôºÝÛ— €½=PNjßÞöÔ°ÆŠ³¸p€}íÙÖ„&¥¢8#%/Þº%< ¸ëš×Ô»/ÔÉýd•è»b¿q¯“Üq&]o
+ûÉ{[—b“²õµ¸¢J”p98´šº·el[0Ú…\/À9­õ›F©ÌŒð8E@#(Üv[Yò[*ø{f𧬪­ãÍ"xV¿Õ6Ìá\GºÝ5\’1 J™˜YöâÀ“?ì´ Q»"ÅêÕJ‚:å Ž9Eñ…(7^øV°VáÐQHÁg î[î-~®×
+pŸ»{ët/4Œru윬Àˆ·Ÿ°¦|’íjöL¶%"û°ç©.¨qûá=5ÒXˆ)¼ùt{UÄ÷ìýd:
+䆗ùTÏÒð©žÝý0ôTS%V‹]ý;ËÅ·ô\U¡z§‹
+k†ÒäŽ)<„¸—˜Øûd8,ˆôñ3Ÿ›ß ÄùwJw‡ý¾íøèô=˜U>„J:c!øÕN¥ð?,U¹endstream
endobj
1483 0 obj <<
/Type /Page
@@ -5602,14 +5605,14 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1490 0 obj <<
-/Length 1642
+/Length 1639
/Filter /FlateDecode
>>
stream
-xÚ¥WÛ“ºÈ~Ÿ¿Âú½d&–@ws­­< 0 xã¦Âf@Q.ŠŠ@*ÿ{p˜™Ù%Ù$[>H÷¹}çt}ºÁ€h`@ÑÍAnÀp$F€lÓ'bµ2ù ¼ëŒ>”F_µÆÖþŠØ‡q4¤Öî‹/#X ¬àçgc±—Öñ,ÎMS^F€£(ô,(üÒ’Œ—¤ˆV©SáÅÕ
-›€(V›ÚIsÿÊ\$i§¡mbø²gÝÍ.’ÃHÄÑßk V…|¬ÔuîÞè ³lÔ.qQEÚhd^I6Z ‘39û7/Äwso¬eåV€6—ºûc`Ÿ°ºä¸Â‡yÈNÓY’5jj¸©¿›¿ïâc²^ð¢µlÌ’ ½ôÀ®
-up‹Cåv¼9H!73~k «ØƒÙÄ^–iŸž×kƒ¯ñý:hef
-Ö>Qv¨Š$ý+ž÷! K'8žøÛ'ï>7CÇ0òÿlXÿ4EX†Å%ü• Xç„¢0´íôèh€á0ê{R{Ü 6™xQ4–<6—¬?⊾ÈL²ÊðI´°O㥊ü<jîÛKaˆ À÷ŠW‹`îU¦€ÕÏn¦ë:¿Zøoy¦{ÙÊæò )ùZŸÚ“F+Ô•‹š¨÷l¯Ñú>·è£›Ó[âziœ³-·ûÞ…t-?Ìð5 cz&ã¡·“mÔ§|‰½E`õbB£åå>tÜ Iœ™×c¢Ê;rFu®MöMàÖ:ô½8Ô}žur:&ñÙeV;š¢8¡Q.«CŸòDߤÁ9Z¨òyX^ÂR&èf=Uo5uÏÂd—¥@~p'ª¦K–«Ï³ˆÙt3‘…ì)£¨Ž¢îyW¤¦½-˜[•syqU%»^;E¹tËÛCœå^)hj¥¿CKµSZÚ{ÏÁú:ŸCsÎѺqdx<acÿƒb! @ŠýoZ[~z´–?îj†õöÙìr ·£0óüäpuxù©ñ»jé%qðÖÏ~£>êۡ£–Íõ]´‰ÏóâO_ë}É´èËÂÏ;ì»±¿cz
+xÚ¥W[“²È¾Ÿ_a}7™‰%ÐÝk+ ž8©°Ù D”ƒ¢"Ê3³3»$›dË ›~Ÿ÷ØýôÛ DûŠÆhr†#1Š
+ñ]ÝkY¹ Í¥îþا
+ŒRîCåLHŠ8ÓÔXôùŠÈúÞ,¸u”ÌŽÌÁß­Šl­Œ K) %O³OËÒífìSö¥º²I”Õ–­\À©wÁ¡öšK ç¾_«”_¹KHÄ‘Wq†ƒé¶ˆ6¸6“ä
+a²ËR ?¸UÓ¥ ËÕgYÄlºŠÈBö”QTGQ÷¼+RÓÞ̭ʃ¹¼¸ªŠ‚]¯¢\ºáÅí Cœå^)hj¥¿CKµSZÚ{ÏÁú:ŸCsÎѺqdx<acÿƒb! @ŠýoZ[~z´–?îj†õöÙìr ·£0óüäpuxù©/âwhé%qðÖÏ~õúí¢î»º£–Íõ]´‰ÏóâO_ë}É´Ñ!–…Ÿ7vØwcéøx2´0Œí†'(Bª®a„A7cÞN§¼¸vÝ[¦=»Úê´Pð2"9=Cø»|¼$~_„*‡’endstream
endobj
1489 0 obj <<
/Type /Page
@@ -5626,24 +5629,25 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1494 0 obj <<
-/Length 2678
+/Length 2676
/Filter /FlateDecode
>>
stream
-xÚµYÝsÛ6÷_¡éuS!
-Q¤q:»Y²r!ó\ÍnV¿F/¾9ÿáæâí|%b¾0©ŒÎ_þ4WJEçW/.^ÒÔË«k¼º8ŸgItóãÛ‹ë¹N3«
-^L×/¾ä?_wù‚^~ùþêâš'ίXæù7s•GßG=ïõåë«Ë«×óßn¾=»¸Ì ]¡¤F?ûõ79[G¾=“B¹™=‹ª(âÙýYb´0‰ÖžRŸ]Ÿým̺¥S®x@3¡¥QÿÕ¶*Ea’ém%œS*ÒDÆOË¢udñЯ85ž|ZĘ4N>ŽgJ‰Â˜¾"Spâ™1
-=ì8 aÒD!£’Âè4wßÏ©Šnà]œžÈLªûäÚí<û}¦„LŠBO0v¦Ž.p„g—÷ñìe Í›¼ÜE Ø™j`Vq&d–Àö±.p3©m,€(+¢vÏ<ê7Lx?edñß¡£©ºêz»¢ÙªñìUG;×2úPÞokKSåŽ%=Ìc•uµÔëÄD— Ñ·ån¾HdÔWË} c€ò—'JìÚ¶'R kÀZ5ÀžF˜ÐÒa›žœCRd"Õ©ž…ø4X!€M‘³Åx5> ôÇHU&ËB¤~£Ò,‰”™³ýï‹.Žs04~@o”}Õòœs <mSÞÖî\á¥lÜ
-D€F+é2§ç,òˆY.[·–ý`¡ê£®­›v_3Ò6åCæÖÚæÍâ©4nòTÄZ™Ï’PU†Ù Kþ‡Ð7,y*P%²€@•¨?I©&ÓBJõYSj’k¡ò$ýü95”ü’ªI€¨3†_íÁ«“1•½+ÌíìÒVŽî®ˆ&º‰§°r½sÕŒnxî
-„4ÿÇ\™ˆ²¸Û°ìi´)C© Ï)pX ¨ èRÁr]À-+í;÷–ú¸šã”ãx¬ú Í:+‘D’<±dQÃô¨*2<â*‰SUÓÃJHMe]h¾¶k°oO§¬)t]¢Ùf8&õ• Ðn}Õ
-2\Ô-OÃ[‚GÙÑ‚³Ýö–-_䊯qˆ›oœvpW³zHøòJË5?{z‚;x’u ¦Ç»‚oe×íï¹|-=§7‰ŠÚQu”×ÒóÖ¯¡ëbF‡çS˜ªz¬«º „ûøÊËøö®ó$zÚÝ®uöOæÆ˃…wv.asJÅwqœøäënX`¤C!¿ð
-…]!÷‘n…pçKþÐk£5χ»3YœP
-Jæþ0…âã|Ñ6ÐõCmÎõVçc8 jv¦MŸŸYÂ=õ t:IÕšŠªØÛ „ Ðú´ŠÛVœÒÉ?0páVƒÈŠgúÇ–å¡û
-cˆožª2
-Ö„tâ&þ2¡J. ¯ËfšX»"6ö­4Y%¡×•ÚîoëjI×øe/v."E.¨p·»ê>-÷íÍÕ @w‰Ù^¦ÄF¾ó$rÉðy$•T˜ƒ Í‚é*.Š0eÃL W¡XFt¼Áh"°Œ’}c\øÆhw¶±;.ºqóß#—@»
-‹nYB}}p¿ø¤ÂB»­]Vè»Ä|Œ2-‘`+€[
-E×(·<34Ì0¦ŽË/sùÃ#E¢Q¨r@ó‘è¿ýñÉjr‡@5çkäs÷ yl]»J>Λ)(Žu‡+2N¿
-„¥íº'?ñiˆÒjê‡59óúòÏxAᜠçñô/ Z¦
+xÚµYÝsÛ6÷_¡éu!
+Q¤q:»Y²r!ó\ÍnV¿FÏ¿;ÿñæâÍ|%b¾0©ŒÎ_ü<WJEçWÏ/^ÐÔ‹«k¼¼8ŸgItóÓ›‹ë¹N3«
+^L×ÏŸðŠ·Wç?\>§—_^_]\óÄùË<ÿéf®òèõ$Ñó^_~{uyõíü÷›ïÏ.n3CW(©ÑÆ?Î~ý]ÎVà‘ïϤÐEnfð"…*Šxv–-L¢µ§Ôg×g³né”kÐLhiÔµ­ŠEQ˜dz[ 甊4‘ñã²hY<ô+ŽE'Ÿ±0&‡“ã™R¢0&Æ£/¤Èœxf À!¥£¿B;ÎB˜4QȨ¤0:ÍÇëù"UÑ ü£‹Óó
+Ôa X«8ÀÓ:@:¬`Ó“sHŠL¤:Õ³Ÿ+°)Òb¶¯Æçþ©ÊdYˆÔOcTšÅ"‘2s¶ÿ}cÑÅqΆÆïÑe_µ<çOÛ”·µ;Wx)7€ÃÙa¨i·vWÏ•ó9—mó›”ñÝÞMÚ—Žù¸`5‘»¶~owDy¨ê:œû‡]ö~§ƒtv×ÑkÚöþøH ¬]u×О€”Î.Y zÿHîhø°©–®Ëª¦QßÒ“½`Y Ù‹‹HQ‘Ô~¿k8¼B´7&úù%ÝóË¿Ë#Ûa°¬+ÛôbP<Iˆ@ÅßØnÛ6Ó/O¢ûò@Ö.7$ (^;žow4 _ÁÀÝRàï,x¸¬‰H
+—lVnç²Þ¯ªæŽ7¬º^ÜdÙÛ*8?`÷ÛTÛŸ·
+„4ÿq®LDYÜmXö4Ú”¡Ô„ƒç¸¬Ôt©`¹.à–ΕŒö{K}ÜGÍqÊq<Tý†f•H"IžX²¨azTð •Ä©ªéa%¤¦²®4_Û5 Ø7‹ÇÓÖ:.Ñl3“úÊh·¾j€19 Í«õ£"”âï«’8ç㳃 ÏÏÏ]Ab}Šÿ4½Ãy¶»U‡V=™Œšt4cu“þÂqpŽðïKc¾Ä¡§ “ðô[¹—5Ö]T¡è妪Wc2Ê
+£Ã³)LU½ÖUÝ Â}|e‡e|{×y=ín×:û'sãåÁÂ;»
+—°9¥ÇâoqœøäënX`¤C!¿ð
+…]!÷‘n…pçKþÐk£5φ»3YœP
+‚I"
+8^)O¿Ášò¾Zò7l)Nû„ó}ßB ëy®![`8–1>$ÂÑÆô
+ÀHH":©bæm …û-6Ô8ëÔå¦lî˜ViåõÆ—”cav,rÔ£²8”èsŽ¥8y[.ß1ér~²ÊÀþÉT<ÑŒqWTr…»ï˜b¡npÝ!Œ¯¨95œÀ˜¢yé3 `ת°–„íu
+Jæþ0…âã|Þ6ÐõCmÎõVçc8 jv¦MŸŸYÂ=õst:IÕšŠªØÛ „ Ðú´ŠÛVœÒÉ?0páVƒÈŠgú‡–å¡ûcˆožª2
+Ö„tâ&þ2¡J. ¯ËfšX»"6ö­4Y%¡×•ÚîoëjI×øe/v."E.¨p·»ê=}Z0îÛ›«€î³)¼L‰|çIä’áóH* ¨0šÓU*\aʆ™®B/°ŒèxƒÑD`%ûƸð1Ðîlcw\tãæ‡?G.vVÀâ —§9 ä:-ÔÊ··ó"Žô µ>òTÜÙ߸ïËåØÿoìcN¾
+‹nYB}}p¿ø¤ÂB»­]Vè»Ä|Š2-‘`+€[
endobj
1493 0 obj <<
/Type /Page
@@ -5673,24 +5677,25 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1503 0 obj <<
-/Length 3087
+/Length 3084
/Filter /FlateDecode
>>
stream
-xÚí]sÛFîÝ¿B/7•¦ÍÝåçõÚÅq\7‰“ØJš¦í%®,ÖüMÊùõ,°)3Î͵÷p“qb±X,‹/JŒ\ø'F~ౌGaì9¾+üѲ8pG—0vr ˜fj‰¦]ªgóƒÃ*ÅNÈ`4_uxEŽEb4O{NìL€ƒ;~~vqq|ôÝd*}xùõlöúôˆ^>½9;¾àÙÙsÞÏ'"¿y=›„Þxni/NOÎNÏN&*ýñÑO³·óãsñxÙó!p::f^°4/Ž‰Ûûóã‹ÉóŸŽçí6»ª®Â=^üö‡;JA#?¸ŽŠ#t/®#âXŽŠÏWŽï)e1ùÁÅÁ»–agÔLT­p©9 [)FB8±ïËžrýØ ”T­råd*\öøP&E¶ÜÛðv“&&¸ÐͺJqÛÀ\vÎÁ¸ã ?6\ç“XŽ+š“•µ¾inÖÌèJ?ÔÝf iwuZôŸ´’×]É Hºáhª`ÛÂ¥õþ1™°²faaŠD›'+ú‘Hš&'@Á}:Ù¥³»F8ISô}Rlr픺!(éåñ¯K?`Îôé1»;žÍ>•"ܼá¾Ü,ÞÎä2<ù"ºuýr®Žf'«g«W‘~%¹ò?VÌôT‡³wÏîO¯_¯^5§w׿¼M/›u½UAòùäÝìcôÃß¼‹ð‹»HÃ*}x•|uRg«Å«æ]Ѽ‰ÒÏ›ùìÓÇ‹òÛJ¾?˯ãÓŸ®Õ¯.Íþع§Ûä.?¼¾J^~¸ÿ¨e^EGÍ·éëà½^?]_ýðęպ²¹é )ü²Îr42W±µК0À7èôõV× !î²<GHŽ—êÅ&yQYš¬(tšüÁ8ô4Bîø\•ºÏMËŠ'/xȲæ½Î.K²„e“å¼GÑ¿WÝc…¢‡T¡”DP#Ñ:Á«º
-(çû“÷ —4Ʀ¼¡ž5´Î#Ùè{‚XÛ
-¿ñë$+Öl#Gú~d=]Áž!Œ<T[ˆY¯ …‚ !̶ÎÊK‘·¢qpšÆãC|µ"ä¿kØѺÚæ)›ŽÈ¤ÜMPoÑÏÎg¯il_ë]©PÃ×0+³&3j âÝ]jOÐÜ%<æ 2[G*#´õù
-—‹Tå7Ì œÙ‹Ÿ1.zŽ+EÔ ŒÊõ(0"ÐÜP¹Ô_ÏÅ6ËÓC¸¨níèšÈõí£`ÓòÁ
-Eá¤;Vm0ÊgUIøß]ß­5/tŽg‚d+àlpEeÃ%¾¥ºI²¼†Yƒ“(+ÀvGŠwd³/Ô'“T¬øVÕgà®YC¬÷"oØKþbë¿c·½bJ
- HÜÅŠë¶ÛÜ䔘³l›ª
-¸MbÕ*‡2ŽªÐ¢”Gì]ωïC†¶P§ôÀBD0`!äR¾°‘H:þÙÅ¿`ì;‘ÆÝ3ŽÂ-S-Mþ «Öš¾Äì]„ì¢`àJ?fìu›êæˆÈMQM(¸7Ë5¥ù€o¹ ù¢ûPªm’ð*iQxª8êÛœ„‰QV
-Áƒ)×ÌM™.;²zÑ¥÷|P@(™ü_C'ô"k ¸{!áJP›ôƒ%ZÂÀ2`†±Û^ÇLÅ,=áàœ
-ï“aÃwh×qÃmì…Ü
-×3úd,£yVàÒ\àÎãû¡®
-<+ÙÂ!g3ŠŽääÍÊ€½Ã|Ì@mîÞÏ!w2¶‘—ïw^%)šÒ‚˜¾¹Mò¡0æ)Ç d››Q»sCB˜TD™SÃ×"¹ÏŠmA8S ÂSz4fuÃõ¤±ãÇBöOs>\vÄŽÂ~ŠaÃ,ü€Ì°Yˆ›6ò®Ès,u=”±FŽ'•üZf :ˆ<ÅT¶mΞÀÖM‘ð»õ#º«½/ŽÍ Cà JÏE™î+M‚vå'¼l襦2 ÙDŒKévÒ\ö}Q—û§75sᯠ»ñÈf¸ ‚:ש鉟ûM€Œi?(ÛdšÖͽ2¦iÕ€Á4Ô·ºK ø7FHÕ^4œ‘
-¢2n9› Pï2Ò~ôõœ0{%TŸ#”P¾+1|Úþ”M.—UQ€#Çκ›g¾®jî¤ñ`Íí9¼ã¦ƒÖ´-»SBÚ¢ JSÅ}¯A)üÀw¤û²-mî–î™+{,þÒÒiþµáuÿûÈ/´"+¥¾#€-VvW•¢ýš#ùË¢ˆÌëuqh>E@Ƽè«@g²‰œŒ¢XéøãÊ&¦Bßg5[ ¼Ùäáós`éPÇÇ\6ÃÈjmèÓ‰i…㈃.kÀ¶¬aÄ°þŽÎº!Åíb…¼·Øfò8¶à!ÚeL>uh²½ÌÌG”¹ð
-V{1×´f,a¡»íÇ›‡É_¯ì“Çw
-q¾”C‰¿´ÈCݶ ÷—б˭Á«(’O§Ö,*áÙ©ýY 9áô­¤7<…ãûF—íwÏ‹ífSÙ_\ÐYôMÍó‚
+xÚí]sÛFîÝ¿B/7•§ÍÝåçõÚÅq\7‰“ØJš¦í%®,ÖüMʲóëX`)Rfœ›kîá&ãÄb±X,_”¹ðOŒüÀ bÂØs|Wø£EqàŽ®`ìô@0ÍÄMºTÏfG/T4Š8Áh¶ìðŠ7ŠÄh–þ6öœØ9îøùùååÉñw‡éÃ˯çÓ×gÇôòéÍùÉ%LÏŸ3ð~v(¢ñ›×ÓÃÐÏ,íåÙéùÙùé¡
+B|üÓôíìä‚F<^gúüá8Ÿ0/Xš€'ÄíýÅÉå᳟Nfí6»ª®Â=Þüö‡;JA#?¸ŽŠ#´…×q,GÅç+Ç÷”²˜üàòà]Ë°3j¦ªV¸ŽTЭ#!œØ÷eO¹~ìJªV¹òp"\öøP&E¶ØÛðf&&¸ÐͪJqÛÀ\vÎÁ¸ã ?6\g‡±W4'+k}Ûܬ˜Ñµ~¨ ºËÒîê´è?i%¯»’:‘tÃÑDÁ¶…KëýãpÀÊš……i(mž¬èG"išœ
+fÀ#0Ž=»>W¥îsSã²âÉs²ì‡y¯³«R§,aÙd9ïQôïU÷Xá†è!U(åQ
+ãä¼Îu¸½ØºW/ê:AÀ·¡àNhüž0«j«ïÀ£Âµl—ë­Ðqù¸HU~üÀ™m­Xüü‹qÑs\)¢n`T®G„à†Ê…&ØøBxÎ7Yž‘ÀEugGW Ð@®ï1
+6-  p„ZßfwFÁföú7½ã…GÚ6k3Õ‚È`~Ú
+Gá‘÷Õ3ŠÇ<••WŽë†¥PNºcÕ£|V•„ÿÝõÝZ3ñ\çx&H¶ÎWT6\â[ª›$Ëk˜%08‰€²œaw¤xG6ûB}2IÅŠoÅQqîš5Äz/ò†½ä/¶þ;v;Ñ+¦ÀÄ[|¡ì%¢ˆtdÃR¼ Kq›ån5=WÉz­‘î®be’3DWŠé’6³€—uU×Ù<tü g[çNkñò èU
+Û‚®ó
+†xWû0rEb|ÖÊzïpœÚyü¬Jô7†f¥™SƳX:»Ó5a’ràXTL¹ö`nËtÑ‘ÍЋ.½çƒBÉäÿà:¡YKÀíØ W"€Ú¤,Ñ–3ŒÝö:þ8`*f™è Ç
+Â1d±Y•ÚÛ%ƒ¨N‚{…Äì…DÑ6ˆ¨&Ô.œô¸pP|Pf ƒÙòñRxŸ ¾C»Žnc/Ôà(™OÀ-3tåX:]™†MÜö¢oúqð,’TÛÉ X9#\oŒ.aM< “ä´†Ûja‡2Ú
+×ÄÙÖV¸žÑ'“`ͳ—žà7pßu¨ªWàYÉö9›Qt$ˆ 'oVìó1µ¹{?„Ü]ÈØF^¾ßy•¤hJbúö.ɇ˜§/mnFíÎ5 aReN _‹ä>+6áL
+OéÑ ˜Õ-×{"ÄŽ Ù?ÍÙpÙ;"û)†i ³ð2Ãf!nÚÈ»$ϱÐõPÆ9žTòk™%è òSÙ>´9{[7ENÀïÖè®ö¾<863 /(=eº¯4 Ú•Ÿð²¦—šÊ$@d‡b\H·“æ°ï‹ºDØ?½­™ ]ØG¶0Ã%XÔ¹NM?HìøìèØo4gLûyDÙ&Ód°nî}”1M« ¦¡¾Õ6âßx!U{ÑpF* ˆÊ¸uäl.@½ËHûÑ×sÂXì•P}ŽPBù®|ÄðiûS6¹\TEŽ;ënlRœÙªª¹“ƃ5·çðŽ›ZÓ¶ìæL u@j‹2(ME÷½¥ðßA’î˦´¹[ºg®ì±øKK§ù׆×ýï#¿ÐŠP¬”zK
+Ç%
+]Ö€mYÈaýuC
+ŠÛÅ
+yo±ÍäqlÎC´Ë˜|êÐ$(d×z‘™)sá¬öb®iÍXÂBwÛ7-’¿^Ù&ï
endobj
1502 0 obj <<
/Type /Page
@@ -5734,7 +5739,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1517 0 obj <<
-/Length 2590
+/Length 2588
/Filter /FlateDecode
>>
stream
@@ -5747,7 +5752,7 @@ I“§"ÒTOó—*Ûþ8ò¬µ Ž¬0bE
S|– †²ýÕål@Þçd¤)>–ؤ´9´HýS‚' k8êH|Éi°%åS$áç-f‡/²½Qká”S~ç=é…ÏÙKƒ‰ÑîI§3žt±rÄ–Ýë7"òF5šøÅuc |éT½¶- "×AJ}B~Ê]ÉèÉi|†3êª7ˆÝÉu½Þðùн!¼·P]æ¯hð&Öéº;‚\÷¸Úy¡$%ÔôöSI OG>­ÒV¶.Tζg—Kùà®qäÚÃ÷tf‘—&I –ñ­¸nýÛˆrÐ=)­'* ¥¹©òv;‹tϺBÔÔŽBÊõÑCð =$úÜ‹ÀvÌÜJy&H\÷JþÅýAÎÞ
Âì!æiˆyŸé4NŒïˆ¥:™NPŒ!Ó]f€ïƒBLÿ8`ÜÛ¢7¢œÒ±§ãÀˆ¸¯SJò¿”šdhÏO“ð"#d'jxŒq
$îFyÓ€q-3Ý;“q±æl¡hnÜÃ¥•ë {23hsa u Æ ÊÀ3–}ÕƒX®zŒyUsvU±‘%Ë4µ‹&.Muù¦ÌšvЦIÉÔt}¼`IÉ3ÚÁQF<Ý:7n]“>ñýÃ{èzÒÖÉØv­cŸ(;)RBT­Ë湤Êk3·›ßìÜÞ¼òP7E •—ÑêíÅ|ž,ähØ_ÕWh¡JÝý
-ó½·£ äȦmÃæÖô^÷¿ž ÓáÿE#ù]nü¿ÿ–êÿ΃šHŽÿã¤üØ3aš8¡ðDÂÓBO¿çþcƒ^2ÿºÂ1ò—_[[åîF=œ‡ú(7‚ÿõã*Èu—C;tÿ†]â¿ÂkÊendstream
+ó½·£ äȦmÃæÖô^÷¿ž ÓáÿE#ù]nü¿ÿ–êÿ΃šHŽÿã¤üØ3aš8¡ðDB¨štê«é÷ïÜl°À3®jŒüå×ÖV¹»N§Ã¡>Êuà¿ü¸r­åÐÝ_a×Vø/ƒ‹kendstream
endobj
1516 0 obj <<
/Type /Page
@@ -5782,19 +5787,23 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1524 0 obj <<
-/Length 2424
+/Length 2421
/Filter /FlateDecode
>>
stream
-xÚ­YKsãF¾ûWè¶T•Å훣ƣLœ­q[“T6ɦ(‹;©){”_¿@M‘íq6[.A°Ý |x4$GþäÈ„~˜¨d%o„4£ls!FðíÃ…ä17hÒõn~ñÏït<Jü$Táh¾ìÈŠ}Çr4_üæ~âA‚ðÞßÜßÏ®.Çeàå×›éÇë+zù÷7³{þ0½yÏħùXÆÞ§ã(ðænìýõ‡›ë›cFÆ»ú~z;ŸÝÑ—€×™¾ÿy,¥IW3–KñÝŒ¤}º›Ýÿ˜ÿp1›·ÇìªB
-gürñÛb´
-Zû±Ž$b»áZ`ŠÒ*f
-~¼oªMÚÙÉ‚»j½«íêÝ€8¸ÐXq¿XÔim¼”eþL„•†>ÍV¨d%/Íšâ Ö¯X ©ß…)¯ó†PÕ¹IUø*‘1kQÖužM`qÐóÀö#‰q¦­v¥ò#)ƒ¾@ØDSlò‰!@JÇn8l\BœÕ&ôŠ%mm6
-’Âû¾zÎYe¸£ ±ÈÅ'ç‹„œú"ÆTàRÌvfEùH,›`lþµ¨›–ÛάN…×
-ˆ@p̃¶¨Áu'C˜Åj½LKöiÎN€¼ß…ÐécK«Üz¼zàéÒrÞH„ñ¦ ± £Hm+H`DÚzXË*TätACÓ˜¨ÜŠ'Û8T_ÝKçgèsz„s¿B~C©G¾ìóºùk¿„A{U•
-[åí8*Dä
-d·@ìÌã} ¥Ýmþc£âãÚHÀµÞ€kå £Üµã‹Š¼©PJŸ³¶žvaW‡CØaŒdYtÐHÉAR᦮²‚pÖN`÷KφK`ŸêÆB9Ñp+…ëd¿¦|CÆí]7©qÄ©Üáö(¥¡P¶ªÿ¿äìó&[ß_àB×ë ·¢Ð±ŽN›è“¦š¼âRÆ~9 ´}ƒŽ7µÅwÞ´¨tûÒ—aàäò¡æ‘~ Z¼¹îBÐߎ/ã¨×¡óÁ1—ÒLè5q J‹ ±¹rJ íÇk› 5–ð’j_jѨt+ßDIÜíÑpÆÊz¥E"…ôU £^[çÔ ÀoŸ´®-V-·¥†G®ª½-Fù꼓ò‚= >€;•Žé¬Ó;ËDÆè Òœ¶:ÖÕó¡ D¦µSÝä)û væªÝK÷´Î¥;aƒa~ÂÂσ½â`ko§®-¹#yÇöJ8·vŽBêÀ"aaÏ©
-ßÙ@ñ}ÓÚo·ÕÎv%á­ÝøBŽŒ‘*÷²h:Õg‘»K»~r:Z †½VÖÝuÂ5Õy*¹ÑDî‚„§Ý dÙ[>i, ¸¯›ú,p¸Ê¶W`D”pR†nàSÑCEŽ=é
+xÚ­Y[sã¶~ϯð[å™X‡Q—GoÖݦM·‰·ÞYŽuÖ–¼–œ¬ûë@€²d+Ù´=“ÉI>€ ,GþäÈ„~˜¨d%o„4£ls!FÐ÷îBò˜‰4éŽz3¿øÏ·:%~ªp4_vdžˆc9š/~÷?ñÇ AxooîîfW—ã‰2ÐøõfúþúŠ¿ýx3»ãŽéÍ[&>ÎÇ2ö~|?G7wcï®ßÝ\ß¼ë02ÞÕwÓóÙ-õ¼ÎôíÏc)%Hºš±,Xšˆog$íãíìnüçüû‹Ù¼=fWRh<ãç‹ßÿ£häû áë$6£'h_&‰m.£}hí8ë‹»‹ŸZ^;uPµRøJ‡j@·J éÖ$~¨•¶ºÍ¿l‹*)‡£kzóUQÃAuâåe½§.dÂkViC]ézMD¶.ò²á O…cßç<î~ÍTSÑ÷1ßËÉsÒÖyZ3Y•<¾.Ê´áõYü*/‰:T{"¨{S=ºUV9‰®Ö ´ (h"¥Ÿ£ìiÁˆ?Ì~µ¦õÛ~ÐP$#Û?·ócc纖™¥%1ïyÔqù1‹”F|üð–P2ó©g>N”—~Ê©;KÛƒAŸÕ |ëmž‘r`H㶒U;œ5Ôó)?O
+Zû±Ž$b»áZ`ŠÒ*f
+›QÈrþ¢
+’Âû®zÊYe¸£ ±ÈÅ/ß 9õ1DŒ©À]1Ûušå±ì5
+t× yÍŠfžFmä- ]d·ƒl¬‘ h§ðn·G>î
+à¿hûî ùY¼ÿîi÷ˆg:8'ùðM-æMÀ·È9Nw®zeŽqšÃ·ž±¦DÚ6~Y>)7ÖŽ·'05ÛPkgC¤V©Eìˆîž=±+-™ „iqŽ{-Î<÷¹…RZÅaŸ˜­ÓNƒNaŒ8¡µßiÌ}œ§•|YµJŸG¼tÄø€TÚí!_¼£R¼
+¤ú¥¤ID M"R-LÞÚ0ò£(qY6<üÉ%rcã ©ÜÀ†å÷î(hS}
+[åí8JDä
+d7AìÌã} ]»Ûü ÆFÅ;;ǵ‘€k¼×ÊF¹g3ÆyS¡”>Ifm>í®‡°ÃȲ蠑’ƒ¤Â7L]eá¬Àî1–ž —À>Õ…r¢áU
+ÏÉ~NùŠ·÷ܤÂ_å·G) •¨€²YýÿåÎ>/²õýt½úÑp9!
+}ëè´hN0iªÉ !e쇑Ã@[7èxS›|çMÛAõƒ¤[?¾ 'ç”ðÕâÍU‚þv|G½
+Ž¹f@¯‰[PZhˆÕÈ•Sjh;¯í­1½(ð€—”ûR‰F=£ÓXù&Jân†ë0VÖ %)¤¯õÊ28§n
+l,¸-5<rUím2ÊOä¤ìYÐîT>8¦³Nï,£ƒHsZêXWOC†‚˜ÖNu“§ì/X™«vϽÓ:n¬„ †ù ?öŠƒýû:ueÉÉ;F°¹µsR {¾ª°Í¦
endobj
1523 0 obj <<
/Type /Page
@@ -5847,7 +5856,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1534 0 obj <<
-/Length 3150
+/Length 3148
/Filter /FlateDecode
>>
stream
@@ -5863,7 +5872,7 @@ xÚ¥ZÝsã¶÷_¡‡ÎDn, ø¶OÎÙi.žø®–.L’Z¤-ÎI¤*Rç¸}÷ üèIÚŽ.ËÅb÷·»ÍLß™¹Hi›†³$
r{YÔc[8(4aüä\•»ò-w2+vã„ZpÆ›,Aaû‘ó¯%AnH]h^Öõn¿-`£h¶Àk>¤‰B
‰”›qð(\l‡/õgàøék^’@!~ìt9 ×óÛm!ëj0©
{°—ì•©Œ3àÇÛ M‡sSm¼;ê”ãÙhÏ%‘€ÍX"#—N=r ¬î²C+à|$
-M$ôK},¿ b”À•,>= ßþÖUî!{éÄþu¨84%Þ.rºÚ¡û÷ŠsCüÇ$õendstream
+M$—‹0ÕV~Ä(Êõh~û[[T¹Çë¥ÿ]_ø§¡âДxµÈ¹~h„î+έðì|ônendstream
endobj
1533 0 obj <<
/Type /Page
@@ -5912,7 +5921,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1544 0 obj <<
-/Length 3144
+/Length 3141
/Filter /FlateDecode
>>
stream
@@ -5926,7 +5935,7 @@ p „×õE
PYòYá@2~3ø+ß·}åÿ×'2åÚoýùOd°¯Ø³Ã(ôßæÅóà% ÏðÎXYGèØ‘«iüŸ<}…®íE*\(OÙ*öù†?Nº‚‘Û…rìÀsaã,²å*Tøá1t­›sÁ
ëAo¹…¸äBÀÓÃã réÉDF4·™ÛrdÊ܇wí(žreD°úý†‚
ô ÁwfÆvé9X[Ó™Žü¡4œVf¶Óó)‹xÕÜf=ˆðÎôÓÞx11¿flhÖAÉûjü¸ý—]‰—3é½3˜ð_þ,?:
-?²½8v¿þÅÝÃÇnoú þÈìhuçŽßbnž;ü($þs=ýÈÂ?G`µàÏ5àøCË_ùWóc
+?²½8v¿þÅÝÃÇnoú þ1Aí?ÄÜ<wøEHœçzú……‹À:ÁßjüÄñ,7~å\Í/dÁ‰þ ³WžTendstream
endobj
1543 0 obj <<
/Type /Page
@@ -5956,15 +5965,18 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1550 0 obj <<
-/Length 2124
+/Length 2121
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿B3w3¡fL
-Æ^«¡MÓ”?Ìfûýž ±®3RTëY]ìªDÍ,ÊEù¤‰+²þ Oᣧæ”맦Š“f`ؽˆ³ìõ·„ üõ´Bàÿ¼ÏEYf‡ç˜Ø\áKlÖ«%z5|0
-Ýò–Ä‹ë;>¨CÙ¶-ímIóÝÓx1æ>ñÐs-ÊãEyœu¢4R›AcülÒõFnÍV«¤SZÓÔº)ªx­k©ÓDéÖRè&µAtOM7î©Q½îËže÷OIªCÙë*.7i2æ¥q’@GP™G#ºÈÎ>†‡$Î5
-†2°ãÒ6~P#‡CwQ_Z& ´PüéZúoH÷àÎTð¾p³¯QàRÏt¹^ÿ hˆ¹àÛJ
-öÈž§?7DD(ó…žx
+xÚ¥koÛFò»…€; `®öÅWqýàØNê¦u|±rEÑôE­$ÂÉ”eõ×ßìÎ’¢hÆõ]`$œ™Ý™§Ø„›„¡"’“ ’ģ̛$Û3:Yíý³<nËäö¹ÞÎÏfïD8‰Häs2_õd…„†!›Ì—8—?]Üͯ?M]îQG’©ëùÔ¹¸úÏ”1æ\Ü^^_!éêöw×Ó@:óÏŸ®D‡mŒÙw.-ß?Cà õè姩œßïæS:?Ü
+­Ô׳?þ¤“%˜àç3JDz“=,(aQÄ'Û3é âI!ZLvvöïN`j¶ŽÙÒ!ñBŒ“ó1czñƘoÕª¨´Š
+”‹¨³Ø¥Ù2Í×zÅœ·7·Wˆ±O› "¬Ù
+1Yº¨´ºÚAIw넾ôÌ­?.š¸½ùQwXP‘°þA“ý× ‚’E¾‘ðÏ©ëS0öZ5mš¦üa6Ûï÷¤
+=%0§\?5Uœ4»ÀîEœe¯¿%l@௧ÿç}.Ê2;<Àľà
+_b;à°^í¡Wà Sq­^¯„=GƒnÉ,°Sq_˜æíFÁNÝö_ȳHóe4ƒÿgåCR36x'·sû±¤ã1à’¯É:Œ“(òäxÖ…ƒ€ø¾ÿBÃ}dY°Ýq*ê˜é¥%¸ýäÔ™`5‰( dxzDxf§Ûž x¾dš‘Qâ 7ÇÈÃ1HÄ®Ïë¡e@¦dp5é3¹gŽž|0Be'¦lt=ÚÀ f7[>¹*@£IO©V°Û—l”òYÏq À—d —Ötu¹-pF)xeÜhH¢j”õ, êL“)¤oã© Î yÑ °°›’b ûÒÅ”C¾±;0sâ)–í çÒÈ×
+™~Pw­rU¥‰6¤¬¶¤¯Wzq¨ÂÈtÝò1Œ”Ç[õãßÆÊ©ÄÁu­°U¦Óß]^üÛM•Z¥OóGÂÒm5èõbÕ˜§–^¯A
+«½”6`Ĩ8i¯!Kû½~jT¾TVÛ{üYø+³ªêTÇãóñ´û1ö¹þ „1ËËendstream
endobj
1549 0 obj <<
/Type /Page
@@ -5988,17 +6000,20 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1555 0 obj <<
-/Length 2085
+/Length 2082
/Filter /FlateDecode
>>
stream
-xÚ¥XmoÛ8þî_aì-Pˆh¾H²T ¤n²Û}i²µ{Àa»XÈ6ë"K:IŽ“ûõ7Ã!eÙUÒë‚ÀÔ 9Î Ÿ™¡røà da,ãá4öYÀE0\í|x¼ÂÎñÜ$¯;ëíb0¹VÑ0fq(ÃábÓ‘1Eb¸Xÿ>ò™l "øèöçÙ|ìÉ€þ& >ó€Ï>ŽÕtôÏÛÅXD£›ŸßÍrçŸnoo w1†½9šýxy»¸úHlßʽ|÷±btùavõŽXï>Ø®¯.ÇS´øôñj>þcñÓàjÑž«{vÁê߃ßÿàÃ5˜à§g*Ž‚á>8q,‡»(øJ9J6˜~kv¸fi¯-gR…²Ç˜Rô3ˆY¨¤:S09öç|ôvŸfë4¿££Þ”:ŸÏ¡MQÑ ÙjkÌÙ% BXJ£"·¬"Kª´Fû€²£z2d\qÚa„q#̳rxëXî ƒ²BoéZWDùô›×M’ezŸb”XrB?õSÝè³tY%Õ“ñí„!•÷«Ú„”ŒÕè}s*ÜJiªq4ÚkÚaU=•Maù«•Ît•4`‹ <2ÆA Í!÷¥µ\aÃÌ~¦;][ã& dkßÄZ1ÉŸh0»ýtA£º8sÂgÎUòà|SoÁ4\Ú ¯H[¯«¨š¾b­ª §¾Ñô}îħV3ý˜ìÊLÛíVhbœa?–'Asæã1
-O¹îˆ—¿¾ ­9ÈQŒbÆ?‹ÅY(c€ïÇ)£Õš~ ˆÒºÎ<ÎbÕ}ö· ØdVä›ôn_i"Ô¤bè{ ßŸð³Zã³P¾4lªÄ©4Ï+ï…ð pòd§ßLöu5IèOŽÁ„~:‘Ôª$ºB6úîMŸ‹úW·*Tz“>¾™e3¡-Qžûæ¹#t-ˆ yíb&¡%½eÚt<j]¾¯]¤Ié[‹¡½ÀXHqî\Ó µF×Ì
-@ŠÙ%÷ºçär
-˜9vjØ#)f*
-ãÏ”=´à´êy©x8wªáRìs[Pæ ÅøK“á†UCÓm°ü‰Þ8QÈžŽ¡ò/i¦W[[j}Ç_÷ X/¿#þßéçûî–/©yfžÉ2ÍPgH¼V^SÜ# …;FÍ
- ìu0¯eOD¡ä„4
-ª»bW¦T쨀ŠzC­VMFO=æUÏ·•Ì(öMi VÕPgk¢›BJ!º‰"4nå¦À:’€ èp)M͉¨¸ÖØõ´¬Âjc—Gœé¹5´ý+è5úŠÊ"ɧ§×›.ò½m†í›YèÞÌpàÜg’Ž5,]SX7×¢\_ס_ÆÞíoª×Ï=}B‰…ï•=•ðoø?‹ßA=EÏ~g:¡æoß°º0M½[y|6¾zlÀƒÚ^ô¹³~Ðs°®êC-®ü0)þ…Ücì—vø/Ó]ôendstream
+xÚ¥X{oÛHÿߟÂØ[ 6Éód©@HÝd·ûh²µ{Àa»XÈö8ÖE–|’œÇ}ú#‡Ev•ôº‡ ðˆœápHÎäÈ¡€?9 #?JT2œ&
+W»Þ
+‡ú÷à÷?Äp &øi |Äáð>„/“D wƒ Ô~hí(ù`>ø­ØáÚ¥½¶”ÂW:R=ÆT²Ï˜aâGZé'cJ_=)„½=dù:+nè¨W{SÌç¿ÐǦ¬hÐl svNƒ–Ò¨,˜Uæi•ÕhÐBu´COE¾Ð‚ö_XaÂ
+óXŽh+œca°¯Ð›å]¶6Q@>ýu“æ¹Y㧥LNé§~¬³£qž-«´z´¾=’´¤ýíª¶!¥=zß g)M5ŽGC;¬ªÇ}S2µ2¹©ÒÌaq†GÆC‚À$ •=äaÏ–+9Ìø3Û™š›‚’­}S¶bZ<Ò`výéŒFuyâ„ÏBèôÎù¦Þ‚!h¸ä ¯H[¯«¨š¾ò[Uc?šVÓ÷…Ÿ±fæ!ÝísÃÛß³ÐÔ:ƒ?–GAsöã!ŽŽ¹îˆç¿¾‹Øä(Ÿb&8‰-üH%
+•Ùdo&徙Ж¨GÏ}óܺD¼t1“ÒVÞ2k:e—jiJl1´ )Îk´ÖèšÂ·
+/·§X}G¤rCSØKéV¬Ó&å Eß}&<Žå(/W¨€ŠB³Êƒ5/
+t' #‹ð»rÓ;N¥…»²+÷tŸ[óÈ RùxwÜ6]ghkâÕ#dÓt´XÞ÷õ±<'gó°7U†ÑÂ)/k¶4jÑ’·æ$•Ù;ˆ—ôŠ’E¤wi–§ËÜô¥ÜÅà´sEÄ%ÆM•îá†mâ.2|îuC£%S°Ë—BH±v ˜-ͳÿ8ÎÒlŽ¤j G¸uÆbéà8b€:{úì @຺\0pukc© Ì … }
+ÌÑÐpÆ‚¤Ë‚[Z"Áê 9yá
+ b&K$"'íî  µR‘mRp6DFév LÄW(ÃÃþ"ÎS…l‚uµ]MOˆ0 ¾Ø«¨oíU䋽Jž‡îS8¤öͶ2éú/´,'‘}Z¯µùè´.­9¿ÚïüÅŽE}C«Ðö)½MC5s¥iüDD®³èipž‘®¥K}[#‘t¶¡ÒÀS ¥Ä”×-®è²ª„ªlÓ;&aœ64ìäiør6Ñ*~Ö&Qè«XO]´ß×Q’aŠ›¬àÈi=‡‘Ði%2–GFÃöžÃ/{ÌB’·)+LÏ<¨ ø@ª{›È‰ö•ñIÓ€/<ZCuWîö;:¤¢ÞR+‚ƒU“ÓS}Õ ¸Ò‚å¡Ù[HU5”Ãùšè¶Ò…nâ†[¹)±Ž$`:\J[s"*® v=-«dmxiø„3=·£†¶½F_1LýX‰éñuÀ¦‹üAo›Qûf¹738÷٤Æ¥k
+ëñæ2*ÁõuÚéeìÝþªzýÜÓ'”Xø^ÙóP ÿìÄÿûYôéýÔÓqüLáw¢jþöý~ÐM‚ŸÞŒ/pŸá[>wÆÂz 6Ua£¹ƒDè‘_ØÀ½Ä~i„ÿûXófendstream
endobj
1554 0 obj <<
/Type /Page
@@ -6027,7 +6042,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1562 0 obj <<
-/Length 1896
+/Length 1894
/Filter /FlateDecode
>>
stream
@@ -6036,7 +6051,7 @@ xÚÝXKsã6¾ëW¨’=HU&„ÁÇVÍÁ£±7“ÉÚÎHÙÔÖdEY¬áC+R¶µ¿~»Ñ
ö=,=ù‡Úng„œ/ ´öO‹‚J|vhöC©Ä¼Ž¬-ÖáÓ€-éÆ@DÀ ÊŒ4)§žà°¼oy±Î«{*”·ïo,ÉÆ®¦Ú-IXðXê/ãà¸î <Òrÿ¼…à‰XMVml‘m”b,\n!EEQ§I›×vZ½¡_ÛíOÒCÓÖ¥‡æZêê07³óÕ>Ù©QÂXëÝovYÚ-*òÄÚ­+ÔߨòØ@…An
¸Wp݃Ž Þ¼3ð:‚›zOÂyux:G•ø„Ë«;>dÇ]¶ÿm˜—ÓXN,3yõåUËßÁI¸~È×à ¾ n
‘¬R˜(­¬±¬BfX[â©Î\½HÞT
-ªU^aȳÀç2ŽˆÏaÔ£›LžìpWë.×Þ.ÆÂVB£%‚Ià“TmëÆð’Æ,vè؉¹ƒ‡4;™î‚D•ñJêÕÑŽZÓ–Cò›W*iyzñÛ‚=-`°µçsê2‚=ØÒÅܺQhãlÃ8V~ΗŽi]–IµîjÓí,ÿ¬œûÇ„¿Ð×&]Ó/c3X€u<§ÊfÎ&‡`ì—j>óÍ}šRÓþÆŠU­õMµmÎ7BQðf¡VgÄëy¸“<{öxcˆºGƧÎÒ·siøùÔT7þ“†5õ
+ªU^aȳÀç2ŽˆÏaÔ£›LžìpWë.×Þ.ÆÂVB£%‚Ià“TmëÆð’Æ,vè؉¹ƒ‡4;™î‚D•ñJêÕÑŽZÓ–Cò›W*iyzñÛ‚=-`°µçsê2‚=ØÒÅܺQhãlÃ8V~ΗŽi]–IµîjÓí,ÿ¬œûÇ„¿Ð×&]Ó/c3X€u<§ÊfÎ&‡`ì—j>óÍ}šRÓþÆŠU­õMµmÎ7BQðf¡VgÄëy¸“<{öxcˆºGƧÎÒ·siøùÔT7þ“†5õ
endobj
1561 0 obj <<
/Type /Page
@@ -6081,15 +6096,16 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚ¥ksÛ¸ñ»…fîfŽêD4¾=ÓN¬4>§¶jËwÍ$™J„lÖ©Š”m]§ÿ½»ØEQLìLí\,€}a_€ÄÀ1ð;ˆe<cÏöáæË#gps;¼fdÚ«ÞNŽß»Ñ ¶ã@ƒé¢E+²(ƒiúÙòl!ì!p¬ÉÅ»›áHúŽõ“|q|çÝõÐ ­O“éPDÖÕÅ9àxöæv2¹Ò³Ó!ðö¥õîÃéd:¾¦iéžžý6BX§—ïÆg4uvÉœÞO‡¡gMo¯Ç7ïÓ_ÆÓF¯¶îÂqQ©}þê R0Á¯GŽíÆ‘?x‚c‹8–ƒå‘绶﹮ÁäG7Gÿh¶fõÖ^[
-Ç–n {Œ)Å
-!4G$,ðÞ{µæ…÷IÑÞâ±Ì
-À>êyU®k‚?žýññüíõéõ§?&§Ó=>¦q¼©ÖÇÀûäçÿtVý·ß”mV¿Sô‚«. FŸŽ'\¨íjø¤¤š&(UBɵé
-IÃoT.’¥J{4 Šc7àUÔ¬b'gûQì·ã¿c‰-µ¾[è"n^”OŒ¡„«/O8¦rIQB°&ßL2ÞLaãhØ7S™¹Æ$•¹®<ñr¶%,;àJ ÷Z0ÃZÅÜ;‚Ýe¼Ë¬AyzzWòRzs€BT%ËU®FÕŽ¾[ÔÝv>ÜsÍèKòjLNß“W$C<î]øÖ²^KꎳiCèè2Dõú¦¤“WºV5z)®œœ_žô•eºì}v¾žÐ:¸Ÿ¤Xõ´ ܬ#7ðÙó<©*]úècø}¥Ñ/; ýB˜,Ê}’1[ñ]¶á[ùƒl¿HoÕ¢4—RcÐEAòu„ôÙhTI_Li%ôÁü†aïP4 ŠŠBíhhí¡‡ „°ÇÂ/]zŠ;Œ©û8„ˆƒe–ÑàéíÔ­ë-¥oÝ›õö¦Îò¬Æ “ž•–ºTJW+‹-‘+t¬ã$Ç:LšX÷8Öa’ï}
-|Â/¸ƒº¹0mUÃúU}èüSmrêóÁá­‹¿Ø¤*L뤈
-B(×·Sâ56ûÓЧ\¹Ìêºá…Ù S Âb8Ob+Ê9Gp)
-Kë
-0§°¾ÐìÖîO5ênƒ×3ê7ú~Iq}þèùÝÃiž•þï_Yv?GÁÙ¢o¼¼udjýâêÀ2;MäîW¨ñs­ŠTñûÐÍfE_ЯKj]qËŽ>ùÍ•f0¿íÚáÚP `endstream
+xÚ¥ksÛ¸ñ»…fîfŽêD4ðé™~pb¥ñ9uT[¾k&ÉÜP"d³¦HU¤ìè:ýïÝÅ.(Jfbgjàbì û$ü‹Aºa"“A”ønà‰`0_yƒ[˜ûÛ‘à5#»hÔ]õzztüVŃÄMB¦‹­ØõâX ¦Ù'Çw…p‡@Âs&o®‡#xÎOBðÙ ¼7WC9'Ó¡ˆç€ãÙë›É䃙w 7ïN'ÓñMûL÷ôì·¡Â9½|3>£©³Kæôv|:Œ|gzs5¾~™þz4ž¶zuužB¥þ}ôé‹7ÈÀ¿y®Jâ`ðÏI"Ë#?Pnà+e1ÅÑõÑ?Z‚Y³µ×–Âs¥
+e1¥€­’ {Ö 7TRí¬©†#áy½öœCTUQ£²@RvÎÇŒdèÊ(ò ­×ç—h-•8 ~b'/çÅ&Ó5!SB.ó2_¦ájݶZ¢1¬ä©•^§fä&ì»ë¿¿"qÉË[–Pt$T^èŠÀIQÀÕý¼bt¯··ºìÑ'LÜ8Qv5ñOXÛ
+“‰SêG$0©(t=,0jM {Åp¤À¤«4_ÃŽ$qóæ./ KZ
+À”¸ïÖ7V¥1E®´ {2@ }r&1¯ÊÏž'o7D*#,-s3 ”>K"z4l+ÂW«&¯ÊfŸÁÔuùa:>A|ç|Aß–RKFøRü
+pµ¿žºFÍ ¼÷N¯yá]Zv·ø,3
+ã}cëò!'–Kˆ~Jïé:ÇЧ‘ñøÖ+=Ï[FÞñ,»GgÝnêÀ\SrméÔ p
+F#ÅboZšü¶LçPI5‚4‹anÊÊñx—Ïïö³ U•º©(kc)Tú†Eµ^23D¤³Êä¥8øÇjxQ1°©yv¶¥/>n4§¨ƒdò‡­i¨°Ñ B“ã÷رj4 µXØVèñýÈ ÂÀ¶ Çœ,v/  £RÇ”Ø&kòØò~ê$"‰\z¶ÅàP+ô9ï¨]ýœ_Œ?NÆW=ŽÜ+ßóÎ;¥ª¯ §yÊŒÛdWÓJ81ã]&U ða ÌÁÁ4å‰ÒÄΦå–
+hâÿ ÁoŸH§ÛÁnn—Š • MzÐ×
+¢~ySrW­4.ôR\99¿<é+ËtÙûä}9¡up?É°ê¸YÇ* Øó"­k}Ì1|Š¿Ðè—…~!Lžå>ɘ­ø.Ûè [ùƒl¿H¯õ¢²—R‘`0EAòu„ÌÙTE_Li¥ôÁü†aïQ4 ŠŠBÝhè졇 „°ÇÂ/]zJS#÷qË,£ÁÓ»©ÛÔ[Jߦ7ë9ìM“yƒA'}'«L©”Ê(‹-‘&Öq’c&m¬ûë0É÷>€Lé†El9ÚÉ8“ACa.ýžH¥•i}°v˜ÊÑmIàõ]Þ–þjH»¥nžM{AÔWÿ¾ø„_pu}aÛª–õ‹ú$Ð% ù5¦ÞÔçƒÃ;qIU˜6I@®Öù%TXÄþ@“&ë#@Y¦gL’<0Ï?0Cžk0Vô]8zˆ5ç¦,ò{fQbk^Xöôe¶¯ú‹JíHJóFÓ¤¦šÀ`V5Œ^mfE>'˜Ò="­Z8 $@–6©y\”íK`[­qÀÕæ?%Iû$£=¾O9(gUlj+UŸgAï wTdNõ^Ú†@Úô-;jÀ€s¹lmûîrÖ4×^†2^˯“{d©#4í  |i©ÙP±¤v„z4êHKI†nD}}x?Ël« y}‡½#f÷:‹£”>M•q^ksÜa_íÉ Àù!æ‹
+EaÜ¿K¢–ÉñepÔg¹Î6¶(lÜfÕƒÉwQÐfµ€šødù×.´}Å%4ˆcÒ†ÙÚÅ5„Pan1¶Älþ§¥O¸j™7MË ³¦„!ÅpžÄV”s<ŽàR>ŽÑ`Na}¡yX¸?5¨Û ^Ϩßèû%E.þüÑó»‡×>+ýß¿²ì~Ž‚³Šão¼¼ÈÔùÅÔen¼û jüµÑe¦ùqèz³¢[/è§%½®¹_ŽüÄSŽ’Ol`Øyj„ÿ¶£ ¯endstream
endobj
1569 0 obj <<
/Type /Page
@@ -6118,19 +6134,21 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1576 0 obj <<
-/Length 2281
+/Length 2279
/Filter /FlateDecode
>>
stream
-xÚ¥Ymoã6þž_aà¨]¬QÔ Üfî6½$»ÚÝE!Ët,¬,¹zqêþú›áŒdÙVÓ-Š|09Î931ràOŒ”o;2òFaäÙ¾#üQ²¹pFÏ°öí…`«e²ú\ßÌ/.o¥Ev¸Áh¾êÉR¶£”Í—Æ7ï®çÓ§‰åúÎس'–8ãë·?N„ãëû›é[Zz{?£ÁíôzzãùOS „‘ïÂ6!xçãÝ óýC|t|çæi"ÃñOó‰Pㇻ÷@ãÕÙfu>ù4ÿîb:ïüêû.‰Nýzñá“3ZB¾»pl)ôÇQäŽ6ž/mß“²¥d³‹ÿu{«fëP,}©l_¹á@0=w(˜^haHÁüçÄ
-g¼ýœTBXŸõþYçD²ô+×cJF¿U¼ÙfÚú½úŒþƒ3ò}·/q™W•NPâª,6Y¼ÐÙJ1sý›!ع®Qìå­Û7”HŒOf_gµ.ó¸Nw:Û›ƒC‡³/lâ= ¶%ž ^é’æuA¿à¨.ãZÓ,¦Ÿ¤Èw:¯Ó"3¢¹µLÑFœ€7}eM•æÏ4<¸ r¯Èï΢ÔÅý/Åa¾N«‰%eÄn»t"ÆKÍÄLW<-M™Ö{œ©q½Žs¢Ó¯¿›ý—=%dÇ¢©Y@š'ºãe©I»}¡™++^ˆR”ÌÒlº¬Š s`øq½©˜°Îkt0Ø‚1a\y…†9á8­i…Îh‚ùãMAÌDÕ+œ|t7Iá`‰h®@'µÒåŽ÷š(à
-D¡¢šgÆ`¤91×k&P” 3IüµéT «JŸs¼(^[¼ƒpÝl 7Ô(#3Pãß‹\w Æ LÐÝ $@'ŸezIó^`Ö·©—+¡§+â œ/iµæ5"TVl¶:¯(OPš  âžn½lëØ=ºžèåGš2È ºóEƒìn³²]Ïl½Ç‹t”Ñä7n…°p.›pù„ C(¨xßµ¾¢éû±æE}’´¢Ý5‰;@±=X  ô½ôsÃ
-»ëƒ­h$§/„ äkèÙAIæ纑²)/iÆUfÁ~ä½:û—{¶Ñ˜Y@9B8^."a*X ']±Cìý¢¨×EI8àÜe6ïΨòí( Ðc‡žôÍÂ×ý…ÝÆã<wÚ lÏ,s/ÓÕqñíÌ5aã‚]Õm¦=mhV‡û̧ߕݴ¶Mc>wÍÐæ<凯ÕÝîà¨3Í+ðiÎNsc'r>¾¿¿bùQ—éjo¬D6ã-ºø­® ‡‹—ŽgÏdÈzS] åÖýlz#Ÿf׳w×Â2âçNY2œ`Fgóc`Ïu«óŠ˜ûJ˜ôóì®â¡xC¿w=Ûž`kæe‡~J½+>ëå1±ªã|i-öCöÎÁF ¾µÙÙl:¢è0’T7 ²ó'–p@úl«“ö Ž®ÎŸÓöâùY
-m6`M²t0¯A«ë&ÙéÃØÍ
-5vE°ƒHÜìNê
-¯EÑ ¢5n>84O:à“Ëq±?^âåÅ]­üö·•ñÒ/}M ¡ÐeEûÒÞ590²´¯PÇ©¸KcªçyÕl—ð„zÃUn­s^à#ᦩj­có…Qœ$\P×õöÍz«*Bm"ñ퇽•`°8ˆBܵ®U¸ØÓï6‹n$} ¨€ŠöwV
-|V™ä«sðŽ±ô_Å‹b§JÌyíp!±ýÐmAÍ%¤Â%¥ÆeS•— ó²¯ûü"!v’ð:è">e˾­ÂÐ§Æ £è
-så—â ûáqzMìäâ-\¹_¡ é >-ºv‰4üaÑê$Z}‘æ«á1ÐsC[ 8…ŽÍ|ƒ}¸¿%ƒu¾K©¥åjÅàÎ..S‹ß­žk#P<ºO‡®túº£ÒzR´ŽÚx{Z3ssÎîàP‚— r“— ïùÌ+ê4ÿ¦ŸvÀÖP.|8ç2„OCÌÔX«#ùDûúŽ¹c€çà ãkiFO ‘úJ†¾SKßÆË_•®Óüío؇ýpR)wø¢I'€SŠÂÖ(tLJ€^´PŽ6Ø¡õèêËô·Zç˶µÍší¶(¹·ÒÿtYA Úïý8tŸÎÏñ[Ókîendstream
+xÚ¥Ymoã6þž_aà¨]¬Q”,*¸; Í:ÝmzI.v ´»‹B–éXXYrõâÔýõ7ýØVÓ-Š|09Î931ràOŒ”o;2ôFAèÙ¾#üQ¼½pFÏ°öí…`«a²ú\ß,..o¥…v8u§£Åº'KÙŽRb´X}ß¼»~\Ìž&–ë;cÏžXþÔ_¿ýq"„_ßßÌÞÒÒÛû9 ngדÀ/~xš%}¶ Á;ïn˜ïBÐà£ã;7OŒz\L„?ܽ¯Îx||0«‹É§Åw³EëWßwáHtê׋ŸœÑ
+BðÝ…cËPù£˜8¶Cw´½ð|iûž” %½˜_ü¯Ø[5[‡béKeûÊ ‚é¹CÁô{ÌN¬©ãŒwŸãRë³><ëŒHÖ’~…ãzLIé·Œ¶»T[¿—ŸÑ0‚`†¾ïö%®²²Ô1J\ù6–:ýC)f®3;ÓŠ½¼uûƃ‰òÉìë´ÒEUÉ^§sðoèpyMƒmt Á®ÀÔk]мÊéÕETišEôçÙ^gU’gQJ”<³V Úˆ𦯬.“왆» ÷Šð^qà,JmÜÿR›¤œXR†ìf¾O&b¼ÒLLuÉ#ÐRIuÀ™W›(#:ýªñ»ù‰ÐsQBv,ëŠ$Y¬[^–7Û—š¹Òü…(yÁ,õv©‹2ß2†×ë’ kà¸FÁn8ÓFež•h˜Œ“ŠVèœa€&¸¡?ÞæÄLT½ÆÉGÇqã–ˆæ
+´RK]ìy¯‰®@J¡yf` ÆA’sµaEÙ0“Ä_ëV²Êä9Ë2àe¾Ã;×ÍÆpC22§jü{žév£¡àÁ˜ º; Èc Ðɧ©^Ѽ˜õmêåJ ÇÉš8(g@àKRnxÍ„•åÛÎJÊ”fƒ¨§[¯êØ:v®'zFù‘d]™A{¾hÝnV¶ë™­÷x‘Ž2šüÆ­Îe._˜païû¼ÒW4}¿&Ö,¯N’V4Û¡&qÈwÅJ?ÑK?7¡°»>ØŠFrú¢AhÁ@¾ž= CÉü\76å%I¹Ê,Ù ²WÇpŸ¢âÀ63 ë¡(G¨ã
+|š³³Ì؉œï﯆X~ÔE²>+‘Íx‹ƒNߣÕ5äpþÒÒ£ô9‡ ÙlË«¡ÜºŸÏnäÓüzþîZØCFüÜ*kC†ÌèTc~ ì¹nt^s_ “~žß•<oè÷®GbÛclͼìÐO¡÷ùg½:&–U”­¬åaÈÃÞ9ØèÔ·&#[›MGô
+ø‚÷”ºã®ëY3’&újaàæÑmü×PA…ê£ÖË>膶´lÿù39hö=¯wöOgoÈÔ°Ã(I-ˆ&†f?b1œ.ë$­høÉD‹t½€ʦH¶t÷`PØ—Å•´¯íIÀµÒë¨N¡¸›–à ¦'13VÆ%R€#°Üsåq>
+ÊMžW ñüñ®.vy©â"£-ptµ6°nª<áN[gÑ>JàÝÕôQ¶Å@¯ê•rxÖ¢õvW5 ­*ÀXZ·9wk®ÓùÕsÒ}gôûÕW¯vã/yZ„•%Îwí)ØøÅ
+]•´/ÉàÝX‘#KAû
+Äô8÷IDõ<+ëÝ
+žPo¸ÊmtÆ |$0ÜÖeE£Mdž£0Šâ˜ ªàºÞ¼Y`@oUe@¨M$¾ý0¢· –(Ä}Pë…ËýîÒ(æ†@ÒŠ
+¨hžqgå!Ç÷a™Úq¶>ïøKNñU´Ì÷ú¨tÀÁœ×ÛÜÔ\B*\Rj\Öeq :/ûºÏ/b' ¯ƒö!â3P¶<áÛ*|j 2 ;ZÇiGÜt¥ ª/ûå©ÇÀÑz,›Wªä'nßë¢HV+ÝÐô U˜+¿ì‡ÇÙ=6±“‹´påJx|€T¤/ø´èÚ!$Òð‡E«•hõEš¯†Ç@Ï l%àZ6ó öáþ– ÖÙ>¡––m©ƒ;û¨H,~·z®@ñè>u]éôuG¥õ¤hµñæ´æææœÝÁ¡./Aå:'/AÞó <˜×ÔiþM?Í€­¡\øpÎeŸ†˜©±–Gò‰ö ôsÇ
+§Q蘔€[CG6PŽ6ت+.³ß*­š¾6¯w»¼àÆJÿÐE h>ôƒÐ~7?ÂÿÜk=endstream
endobj
1575 0 obj <<
/Type /Page
@@ -6159,7 +6177,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1583 0 obj <<
-/Length 2635
+/Length 2632
/Filter /FlateDecode
>>
stream
@@ -6170,7 +6188,7 @@ xÚ¥YmoÛÈþî_¡JÖf_È%i\ 8‰“øs\[¹û-R6ŠTDÒŠûë;³3¤(‰ñÈξÍîÎË33”šHøS“À
øÏ.²üœsï{¤”;KÕj¢|a|«‡a<ð#8ÃìÂ8HPJ ã]o×ëjÃÈèÄv ^CpÈrly± 1Þc³l @^ -˜‡ã^ÓDâаMÂ˲¡• ü u\:EÕfUg0ÄwªLVQÎtsšÚ7%e::³Û²cRTÕ×v]‹1ï¸lƒ
Cïƒ;Ôj™Öt=0Ê:*¦ Ö‰èðú(ù»¼L6O´®Hî²Â©Ã‰E…R„adö= Æ|x_Ëj[IXa™kS7°Aì¸<ß-!Ÿ*ܹbFÀp¶xý½€c‰Wãè$X“e|ö¢Z­‹¬Éš‚Ch
¼µlF<ÁDg”¯o½ß’ÒqÑ^²^9¨’E #d‹½ˆ­îÌžr5ÍEm Zª†ãNè@ì¦IàDîlÎíÚ‚'û­È}³SyÇÝ…ãL¡ÕM»ÁôÙ]ìÄ6#DCwÇn¾¤öPÍÌbzÁK×ɦÉm‘t†nÐ:~{øí†H4HÅÔb#EˆM4%nE†·cK R\
-Œ(îîzñíÄûÒ ² 0•Ícžm¹·ìëÔoI=nKÚÕ¿.GY4-Éyï² ®ºÎ²ÃŒÛRøQ¤„QFc2K“›{®Ùnß`úõ³á†®ß!_”Àm÷ÕoóJUâò £ý`ï6GßúUv‡#nxÁȧ†Å3(\ k |SÆJ÷ÑMq¾~¥ .ÿž"u>Ö»ÈG©P7÷Òú¹{  4ðù«K‚Ny@øpŽQsÖŒÔ`n¤Ë!ЃƒÃ¸Ë{±qOûÞ(s—c8ccª-‹ük¶ÇÄ?Œ8tcû ¿z-rt§ìùÏG;æC«µæý*‰ST@‘%°Jî|/ûž lŸr <ÐËðkÝß>Ü\¾í>ôñ6 ?Z£<T5xj¨a)X„³|IŸc±Û™ŽÁu–ÞEggjÜ6†wøˆ1¾spcH³¼œ‘hpfµ€ôAéƒCîÓl$ăN<«Uá"u‚w¹dÔÐspŸ |n¦¤–L§§!DU»ÅhÈ#²:¶‘á—ÁdçH§]Ý×<Œ¨K) uuŸ¯œ-áß™ŠÁcm$|-Æä‹›¤õCÞ”Ô˜;xÓ8Ph£…„j(ôPt¥çÕÏ@Ç•ËLùÛ;AÿŸbÇ®r5’ªIúvMm“{îƒ9O”|&Ò}¢d ¡Xc[1íY6ÜO:ÅNƒ—<=ÈâSÇÕzÿmYIß ž/2VñƒñE0ðëÞ‡¼ZÅæ # À"Õ-ìî .ƒÆOwAáhÿf~p[4,Qß%à*~ÈP‚Ëz(ٗزÂù½.¶U[ðA›Õ#–Ç”íJ_€Å˜1ÿèÊôÞv¨/ÇÈg{‡9ÂÍŠ#¨ zgx™l ÂÀtÞ&FØaqH=ƒ£RìÿEâN¤Ð*×ÓbO•‡f¡„|îÜñWù>°Š€ê^Ïo˜ÂZâG¿
+Œ(îîzñíÄûÒ ² 0•Ícžm¹·ìëÔoI=nKÚÕ¿.GY4-Éyï² ®ºÎ²ÃŒÛRøQ¤„QFc2K“›{®Ùnß`úõ³á†®ß!_”Àm÷ÕoóJUâò £ý`ï6GßúUv‡#nxÁȧ†Å3(\ k |SÆJ÷ÑMq¾~¥ .ÿž"u>Ö»ÈG©P7÷Òú¹{  4ðù«K‚Ny@øpŽQsÖŒÔ`n¤Ë!ЃƒÃ¸Ë{±qOûÞ(s—c8ccª-‹ük¶ÇÄ?Œ8tcû ¿z-rt§ìùÏG;æC«µæý*‰ST@‘%°Jî|/ûž lŸr <ÐËðkÝß>Ü\¾í>ôñ6 ?Z£<T5xj¨a)X„³|IŸc±Û™ŽÁu–ÞEggjÜ6†wøˆ1¾spcH³¼œ‘hpfµ€ôAéƒCîÓl$ăN<«Uá"u‚w¹dÔÐspŸ |n¦¤–L§§!DU»ÅhÈ#²:¶‘á—ÁdçH§]Ý×<Œ¨K) uuŸ¯œ-áß™ŠÁcm$|-Æä‹›¤õCÞ”Ô˜;xÓ8Ph£…„j(ôPt¥çÕÏ@Ç•ËLùÛ;AÿŸbÇ®r5’ªIúvMm“{îƒ9O”|&Ò}¢d ¡Xc[1íY6ÜO:ÅNƒ—<=ÈâSÇÕzÿmYIß ž/2VñƒñE0ðëÞ‡¼ZÅæ # À"Õ-ìî .ƒÆOwAáhÿf~p[4,Qß%à*~ÈP‚Ëz(ٗزÂù½.¶U[ðA›Õ#–Ç”íJ_€Å˜1ÿèÊôÞv¨/ÇÈg{‡9ÂÍŠ#¨ zgx™l ÂÀtÞ&FØaqH=ƒ£RìÿEâN¤Ð*×ÓbO•‡f¡„|îÜñWù>°Š€ê^Ïo˜ÂZâG¿
endobj
1582 0 obj <<
/Type /Page
@@ -6234,11 +6252,12 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1592 0 obj <<
-/Length 357
+/Length 354
/Filter /FlateDecode
>>
stream
-xÚ¥’MoÂ0 †ïù9¶‡zNœ¤É‘²ÁuP¸0í>$¾Lãç/ÐÒu;MUÕÚ~mùyÁÑ?‚[ HNñØ)Ð(4_¬ò_»e¢ÒDQÔTµ3vÓ#Ë8# Ïž³, µ‚gù,èܵÒ,…‘Ô(#m0hu§¡"h ;I·,u‡ãò§—´ÂXÙd”øŒW!ù>!«Ö~:5¥p<IÓûQHq•‰þ°ü¶ûÃj¨ çÙ€%YÒÄõƒOïl6Gž{êC g5ÿô‚pNòSš@+¢KfÉÆì¡بž[¯Ù§É‚¶2¾âŸ’ ÿ$I¿v`HÒÙÀ×Íþ
+xÚ¥’;oÂ0Çw
+Éëù•Øc€ÐÂR0,”¡"éC"„Uùø5$¤©šN•eÙ¾—î÷?3Šn1ª 0’FF‚B¦èº H_œï–°:&¸í¨ž%7C¡©òÚçV- ¨5£6[zý»xb“©p…ž?P!zñ`á3Ƽ8í'ƒÊ5HgÕe˜Ä~$=;Ÿ&Îâ¢P¸<ÆëÔÑdV³ùdr?õEäÙÊ0J«³7Jë¢Æ_Ù1IlƒÒÆu…Ïïd¹Bš9ê1AF+úéÌN "•
endobj
1591 0 obj <<
/Type /Page
@@ -6275,18 +6294,17 @@ endobj
/ProcSet [ /PDF ]
>> endobj
1601 0 obj <<
-/Length 2002
+/Length 1999
/Filter /FlateDecode
>>
stream
-xÚXÍ’Û8¾÷Sø(WÅŠHê÷˜lg¦2µ›ÊNzö2™-ÑmV$Ñ1¥öôÛ/@²eË™TWbA
-©"Ú*Õ¯Õý7Õ}ÒÞæ%1ì0n‰:®YMæÑB2ÏÉ{9ø%ªoìåšz<ZMûæÑã§/´àû¨ŽZY<‡±¸Ê2îŽ3:¿¤ŸÖÔ²%²–õ^÷Ï4èeçýhÕ­*Ò(žô
-ƒ¸€ 88i—¼°²“ßñàv^® `KB®´Ÿ÷ËCCµÆ6Ke+ëoXòªË¦FŒ¯ `IðP ŒØT1¡.˜ã@TÅYLµÅa·Ee¾ÐW
-ü×¥´KŠ˜—âFŸ·‘LYÌ‹4‚ºW~cíÓ9¥©ˆy–¦^ú­ê·GzQBz2.澂DÜ-%‘ˆ+–e^C`Îr‡ m^žË?Ð
-½’é 0õǃñ/3~™_é+ä2ìÕ26Ùd,NÓ<ÿ1D)f}9PB¤:=Qú@)"¨cž¡»ï˜›4cÑ{UKÊ| ´ Wª±^‰¡ßÐx¸{_OI—N@a&`KÊI‡ö
-eõsO Ä©» þ:¤¸à~×V™o>IÔé^w—yî%®VÃa
-$,MHÎ1Yuý|qJEØiã0ËIjäÙT«ý}!­rüŠÆ³ŸÂ¤ì”NÏôÛ A5(òé~ÿ0;²*.Š¬¼Ä*ž¦o‰á ¡ÈbüÞ¸ðµþù³Ãä÷‡?ÿJV ýöÄ¢*³Õ 
-H`hy—ß c8Úæ3§bתoÂ{áËx ÄŠƒÿ­cT19ÈöÊÓ'Õ[Gü•ªÀ³endstream
+xÚXO“Û¶¿ï§ðQž‰‘Ôßcò6ïM:m¦m¶ïÒô@KôšItLiÝýöR¶l9Íì$†
+°½nì±»)RópÎÍ7Ä܆¬+¬ä$úãñ×ÍVZåöP÷S›*P0©¢/œ§—¡rëç»EÎ¥ \B‹©)¢\[úm´t_$ßѪŽd.¦H«Þ2Øè›d"»±õìz+—ÞÄwFSšÄ<¥Mܦߧ¬œOÊ|(=R^d&A^a"…Ü("¨}Bcœ‡$W!4]uÜÉZaJ²ì¼Ö¾ÚAu¤Ôv2€%5{Í­UÊ2Ääì¾(
+Àiû@÷ÛÓQÙfa›¢˜TÜ«ﬤ*[ÌÖ&…d••(æY»™Y4ÖLÿ%IøóHþúþFØqë/EÌ
+L <œ8 ©E6Ï+J®ƒ¸€ øpÒ®xae'¿*âÁé¼\ @Á–”\k?¿/C ÍsØ,”­¬¿bË«.‡1¾$€%!B ü1x`ĦŽ }Á¢*Îbê-»-ó¾håÍÀ–ºiTà¿.•]Rļç4úº¸ÍdÊb^¤yPÔ½ò/Ö¾œÓY™Š˜giêµßª¡~{tið©%”'ãb+(ÄÝR‰¸bI0æ-æ¬vÚæå¹ý
+^±“þ®ù¸wº íHkh›¯Žá€RÒ.D3…ÍæY6 §?æA2‹#άÅÓXÅeYTÞŒG;Ÿ>~ö˜ ÁõŠ7Á]hp7*ö¯}‹Çe‘‡öÒƒH@{ X¯t¸?œ‘î å 9ÔÅJ¡û@2]¦ùx0þ&pÆ/ó#}…\†½ZÆ&›ŒÅišç߇(Ålî!ZˆôI§+J(EMÌ3t÷s“f,z¯jIµƒ7€ôJ5Ö1ôw÷ â)éÊ (¬`I9ÙÐÞ@£¬~î „8swaØ·Q‡ÂïÆ*óÃ'‰:Ýëá2ϳÄõjØ  è¾u
+Õo§3†:iKã6qÞ"Bà×ù©ÒBJ¿—·€m&kK#ö
+‘¡™»Ý.Ëaneżۉ’ßév9ÌÚ\,t»;­ª  ¦f*½m@î'Å€]ᎥÔzÜ›½y¤jyîÚÝÔákd6†nw¥‡³H\|¾ ~]ÔrLo:¸¹¹‰‰Øùë®é—îDö jùTÍÕ=¥üNÓà €–þ
endobj
1600 0 obj <<
/Type /Page
@@ -6341,19 +6359,24 @@ endobj
/ProcSet [ /PDF ]
>> endobj
1612 0 obj <<
-/Length 3251
+/Length 3249
/Filter /FlateDecode
>>
stream
-xÚÍË’ã¶ñ>_¡‹+šª%Œ7ÁÍiýØd}pïV.¶«Â‘8#ÖJ¤,R;;þút£ŠÔ@Ò&#W¥t
-
-=XdLd_QÞÙUÕ3 59“ôÆ$ÐËÝÃŒ:?ö&øç4)Ú1^¤ç}µ8dÄèCª¬^°
-FäbBϳ’êϱ ÕH:ÀŽB×µl4¹/G¿8`¡¶)$Ħ Ö€*È·º¾Ú ¯zÅà: <ZžˆYP2îC† œyÍÇlLé¿pÐ'ÒØbüòœ‹_J@…eOûuU(Æ9ÈüJð* $¢Vt*r•©hí´7äyߢ™•ëÏV1ãlqÚÁn D×öZ<øÎòl¸C­Õcž“®\GÁ´3GÙsÙ,¿N:xå˜`ѧ–XD¼ܺÖLCMñr·1fc”‰eæPÞq m
-h49:‰kq=`¼Àµ®•zÊõ û^¸áràj/+ì¼nëý²Â‡|Þú=ßDdNŸAo4V”‘¦²HF}¼È¯ c6F™ˆîT¦¹;Lå‘ÚØ‚¨â\^Œ·ÕÒl"^uŽ+E}ÍJ\2¿È 6FÏó²Ý”uó,’©‚å…Í°/Žec6F™ŠfRsDå©ý nÇ=“!žImç¿ïo¨±ße„Ç®ßÑV¥6óÇUí`ø±ö{»0è÷a$lLêpø éˆšï~|OãHÆ+»Çxˆês¹ÉR[þÛ¸=ù«”:aPÒ5X±hŒO¬¯ºžÖãˆW°>ëlŒMˆóŒºŽáZyWdíËQÆ/N©«ÄèmrsA]%|`µƒ"œJn [2B•!¹í3ß ‡zg2šBJ>ùi[’ƒ ¤ „¾¼(³1ÊDÄs B¹ÏEô¥…Ìi
-‹c_¾Þ¦Ç“¶€6——TÈi0ž",b®á”Ë ×ów#ŒgÜÝ„ÄjQoÊõe‡÷ŸœCÐÆ3.%Ð+íw4R7}õ€Ù*×{ŸãÃ>9¾Œ4†Þtնܕ=ÁÛ°C›£àº”ŸûRŠ³¿@#b]L§¸x$Ô%6u hgbÐR%™ZÓ• 
-{n^nîê‡}Ý?Ñ Ü8%ЪÞQ×ÏHÀ`ž(æ=mö]@wW¥nÄ,뎰SÜÔ‚û¸©…À£hj·[Š¸Û]]â=¥ŠÆýD¾÷î;ú’œŽ§¢þÕ–îa-ÀÏ$¯­ b/ü55-…ä¯|H¦,h°]Bò¼©{ºã…òæ|þ®§wu€zÉ“Ù<¬Ÿh„d»h7àæ–Äž¿V“ j(Èd1T]
-<'qˆ£˜›v4n4øaX¬†F›ý¦ÚÕ ®—ÀnÇÅÈ€*]ø»DH9{–\ [Ï…›nÐúZâëÎ/%>—ÎÓ(ÛS×W›ã{eñÆ ‘ÝEsó¿·ÉªotN¡0k¼â•9ߥÃǺ£¶i©íú²YÒÕ¹%l@cH†œS½éá¼ ú/ƒ09^wX¦ˆ
-œÎ†FYÆ —?s{&Ï!ƒÐ—vgœ€bIˆ§B¦°'Ba6˜ O@‹ç“còN¦AÐχSŸ7©ô]X¼ž§úyê®ð\Ä\ÑáyF!01W¿€ÑÉPòpgZ '2[¥“\Ë«±9 <ϦÒ>ÿ2.CÝp©D©÷ ÷·´`RZ‡ÖÈ´JÿEÏ.èèéð†¤Ìâß23åÜ©*
+xÚÍË’Û¸ñ>_¡ËV4UoÎÉûpâ=8ÉÚ•ËîV…#qF,K¤V¤<ž|}ºÑ
+Ï]øà»wï hOÍ÷mó+çòa·-ûºmhðçê¾ÚVͼŠåÄ3o¥-PU9F¨l@Íü
+GV…`ÞDV»Ý| ÐÎLÃ×Ð~®«ÇŽÝδ°‰buØŒQ‚€1í¡C2†×ønUEDݲݭÔl·Ÿb¯î—L|àÌ+Xî@bü²n¨ÝOïQ<^#(`}ˆÖmO†±y»Þ¬ª/
+«‡8–ÕüuëûøjY=Å—e3Æ#ö¤…Ñê„y]5ý*~U#‰kHsíººy8äFn`&ÒbZsèÜWe¿£9º8Òîšuë¨ó#Ë`ÚLMZŽœjlT¬éØxÔha–˜…N`Ú´˜¸
+t6´ÎM¿­ï¾mÊuµ˜&gÈ ïÚ¶èûšY·ÌxF‹BÆYØà†„fJ[‰0³h¦9“V‘P-`œŸðCoëU\Ëiñ»¼C’’WåÛvµj£¼8¹hKjVu×S/X>´Užv]õ¢_’£ jw}«Ž•ež£›T€ú‹v¾Ã Âë×HÿÍÿï-½Ð-$³ÜKtþ¿ßüòŸ, VütÙòÎLá3á`}£¥g/TYÝ|¸ùÇÿøU¢…¨˜\¦€¾ã€+vÓ‡¨f‰§™r°.Þù!¢('|É”Rf¢¹fRó",_9_ËHHÁœU~øB’Ì;çòÌÎŒ³1Ê ‰Hp@"ÚDÎ P`AÑ >¢®(î <ôPå”
+e5¨.×’DBxAÊLØcA€š/Ÿ‘è fµ»& ã"5‡¼D†,þùjIPRÏ}wG+´¨Ðtôøx÷D †vŸœÚhÅ «\r{Qq¦àX!œ8J%À·ÃŽÅg€0 9ßdl</³G´|ÅA¼„‰[L5½`âÊÁŠ«sº-4ä©…V{à›yÂ8£Ì©a¬‡dfµ[À¢K 3^È„ñ‘N2©
+{Hä í¶–Y@ªùæj
+2Æ­®¯¶gÂ+^1¸Ï…Ö='b”Œ»Á!hgAó1S:Æ/ ‰4¶¿BgK çâ—PaÙÓ~]yÅ8™_I@¾³RÞ@"jÕX@§"X™JÖN{C÷ šY¹Êðl3ÎúÓÞp%º¶×âyÀw–gÃj­óœuíà:<ÓÎeÏe³ø6ëà•cZ€EŸZbé=D<n]k¦¡¦x¹[Ogc”™eæPÞq m
+h4:‰kq=`¼Àµ®•úëö¼pÃåÀ Ô^VØiÝÌW»E…Å´ {¾™È.œ?ƒÞh¬('"=¦²$£€>î‹+¨AÄ8£ÌDw•iáö'yä6¶ ª8Wøñ¶Z>BÄË¢Îq¥¨¯Y)‚kàB—äÂÆhx^´ë²nžE2åYám±‡}q,Kgc”¹h&!e0GTžÚâ–qÜ3â™ÔvúûîV€‡]Fxìú-mUj3}\Öဆ밷 ƒaßFâƤŽ‡šŽ8 ùáýG2^ÑØ=ÆCìT_Êõ,·å¿IÛ“¿J©3%!]ƒKÆøÄúªëÙ~=Žxë³Î¦Ø„8ϨëH®•w%Ö¾eú┺JŒÞ¦0ÔUÂVk1(©ä²%#ôX²»Ñ!£ x¨w&£ñRŠ¡ÈÏÛ
+”L8 e ôåEyÄ8£ÌD<*Tñ\D_[ÈœV¡¸8öåëýGz<i=Ô°…¼¤BNƒñø¸ˆ=º†S/^Ïß0žqw$Vóz]®.;¼¿…ä‚6žq)^i·¥‘ºé« Ìaüs¹Ú…ÞðøÉþð…`¤1ô¦«6å¶ì ÞÆÚ×åüܯRü‹ý ‘êb:ÅÅ#¡.³©k @;“‚®*kÌÌkå7V°
+*3ëÛk
+e<±µÌ•¶úšŠç€§Ó™xu­Œ”ÜEüÝâX¿HAÖç“C“8\ù(‡oò3ÜÌpfïø ø¸÷mŸÊ™à¼UðB4²nÃÁV'ÁN;z/>–ª¢be–¦:ÜÞ^=–Oñ>Ňƒ»gû@!€®XÕ”é:cS ØZjïÒE´q8 ²Œ&.äöLQ@¡/íÎ8Å’'N„0 4L`/N„ÂÙc†<i,žOŽÉ;™A¿N}ÞäÒwañfx1œzèç©»Âss5F„ç…ÀÄ4^9ü
+Fv€²‡;‡µp&³UZ1ɵ¼›Âól*máó¯ã2Ö —Jô‘z¿pK &¥uhL«ü_ø䢎î‘ÿgÈÊ,ýMa¦ ¦œ;uc€C Ag¸E…€òÿ<W7±Á¥+µ†ÿø¥9Ž| Mÿ ÎbyÙ‘yvÕ`ø›Eœp$…ÿ
endobj
1611 0 obj <<
/Type /Page
@@ -6396,35 +6419,35 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1622 0 obj <<
-/Length 4392
+/Length 4389
/Filter /FlateDecode
>>
stream
-xÚÍ<]sã8rïþ~‹¼5ÂàÄ%yØÛxöær7»·ë$·WZ¢mf$Q+Rãñýút£Š” ÉëªRS3¨4ú»›#®9ü×Æ2륿v^3Ã…¹ž-¯øõ#Œ}%âœiš4ÎúýÝÕûª¸öÌ[i¯ï°
-Æ‹B\ßÍÿ:±L°€À'ßýðéÃÇïÿã§ooœžÜ}üáÓÍT>ùðñO·ÔºýÓíŸo?Ýý o\ùÉwøöǻ۟hÌF ¿ÿøéߨÇÓãÔŸn?Üþtûé»Û›¿Ýýñêö®?ÌðÀ‚+<ɯWý¿žÃ¹ÿxÅ™ò…¹~†΄÷òzy¥bF+•zW?_ý¥8 ?Í!PkÁ¬4êzZX&5Ç—¥%8,›Æ3çL±·êÔÌ
-Žw &åîJ´\‰ÓÌîÚ«¤
-7R¯÷qR8f”÷»i¯@ŠÀE‘GÉ4œ!îÎsfäþöÖͦà ¾ÿ ‡s…„¶S¸Îúv…TRL>þˆO7øÕhí˜S…?Zm—÷Õ&\VXcâ4 5éíäî©Ê@”@6…> Ð1¯”Óê–6»¨—uWÍiÇ]C<¾>mnD1i¶OÔûQ澞
-m˜ƒ¦B0oŒ PŸë§
-7ùR.¶UKíûjÑ<c³˜.5uv/ëzV./ôVªÚnSÏh;"nº·7bÒVÔ¾ó×´µYÕ¶° ²¹®Võêñfª¸”-> -Ô4`T;¸¬ ·Í²¢ ³ ¾ƒ¶ä“r•~ÜU›ºýL3~á†ÿ÷7ÿAó§rS¾7ñ~6Ú‰{\À¸É¶Åb+ìÉ
-áÜwû6 'HÚë©7Ìj¡~Èô‹cbÅ
-ÉL¡ÜI¹b½g…±úŒ\é§]L® !—+£í­7ÕCýõu’E)$‹’~²ªºçfó™:Ûu5«á\ª‚Ñ@U*ª`…ÖI®"H9Á
-<çÅ0ÔC<ƒ"7X Ž᨜ÏsÒL* \Еt dWаÍbÑ€°x¨
-7Ñв~|ê¨÷a»A¾¡þû*gÊìâ_†ÜÅ „ƒô‡Æ¬ó~í襎ùù©žEâªÓP´‡P Ÿ °Áݽþ¡2š"’§)L†x†§0FÙ=Hið2<ฟøf)N‡÷'¸dº
-)!‰÷£‚F©Y·ÑJàC{®ô0\ª¹¦@<)P °Å—ÔÄÂýè²$ã®Oàк™H rŒLÊ5D&ŸÓ’¨gÂ’ÏMæFg²þèO0% y­ ͬUoÐö§C‡·ªQ·[øÔ¥F‡¼7ô
-.X\ÒØÃLŃ­Â¹vr’9^È·Óq‚8‚ÌP2†Wƒ¨IÓ#7Ϲ3eè>NׇßÆð8 …9sgU8Lv/vÖ♳*CFÀ‘FgÅôÒÙ ý¦JJR yè\c`8—Xg¥˜˜U H^ŒÍ³>À”A$˜FÒ™ˆÄÈ@¡ Òr8¿@L"AœAæb
-6gånå“D£ O|˜sÍ„ú9ØSÄ †$ÊÅÎÜC<sfeáÌÎúñ™OÏ }c‚$Ž?ËD”“'ùF;Á¸äörGï!ž9ºkd‰~Íuc˜4¶ÛzË-j{­+šØ@ÛRk5YP )¸]šB»ÙÌž
-yŠ80iˆC6½{»UÞCœAæˆSHiÚ«% &ÌÀ» ™<þ8ó3RÍÎ0e­ß×Ì(ìLë1ΩÁrN… ¹LãEÚcáB4õ P›»€8¾ÑØ•R`GXŽæ„Ř}Ø%­föbí5¹°ÒûÊ÷>&ðAaöŽ
-Âv… øÜTï‰Ä˜d•¬ØIp©ëùy%cq‚éÃÁø»Ï<F[ß,vÄédFì*
-äc?í¬¢ÎzKC?äbÙ
-¸j.~S¤ÿÉ1IhË”’â´¿ÄÑüpÑ®ÿ^õ—ÒÄËùKˆ§ü¥ÑÁX¿¤•œXMa*loWmý¸
-æ6¼¥ •ÓÁLq.ø8B6?4>W/Ïz·Á"9‹UɵޮRØèpo §ÄnoÍ& ® E ëŒ8}^=”ÛEŽTAzZó•Ô·—PøH'FVhÊB äOù¹Š©2+¼Äô¨%ˆ p›v™ÚÉlÈ1§‹„ÎÀƒÃj/åëÁ‘ȶ†i`ϱÄ.´¶Nkî”ãˆ88\©·˜¸'áZÀΪM‡1xñ“õ ø’›rYu1Ø…r2Db2Á—çÌAe[/ûÚ„¯Óÿi¶›U¹˜&Ú?ð¢íëwb=‰*èF°±m+j”q þÃ[•Ä—èÙbÃÚuÔ¦úå‚€ 0ñ ';¹¬Zôš¹š&Œ-›[²¯v3®˜´UG0(é«ØÄ”>9=æM¾ð.(pÀ8UøaèkY¥©¶åŸ‘E¢b7Nhiî/Rêíj2ÔÀÆøJsBžžØSÆÉ÷õ#u–mîB×MÛÖ÷‹
-‚Q8%€ÓÖ)Y
-+Z:®òz°<[y<øMŠ¿_cm<¸ûNŽ/ƒ’†ÒìüuÔ±€€4œÒ©ØÞÙ©8¯O®â•}@HgþÁ}ƒ*' ö\<øù¼n§9}
->—H%4îãæê%zKå*îï™Êß^U.(»ŽÝ”]ž5îú×-ü¶îj49ÞF†S¥vX ´½m·‘…HºXÀæC]´žË4Öг-*š/Ѽ¡Î’_ªMœÝŸ"’e\{t½1­ >Ä+Nv”GÙ¬±mƒîÑ~—r(I}eÔiÏeœ–rÐd.Î*êŽ÷Ô§®¡«­6_­àp´Œ¦iõqF¤åTÞzèY¾Ñ[ýG&®FR¥80øŒU&œü…,Ø\uQ?ïbÕECˆÇ«‹Fû#í5Ü”q«\l=Ä3 i/]Œ7¸jrÞ9/˜6*¹À·À:TÊ3merkã]ì‚Ÿ|Z›¥í$E~G£¢#,%/Dø–jª€ŸO9þ`IÑDÝf[©\WJ¤}Æf
-ŸvùP.Ú#IC å„¹2¹„¸KøÊ4,@œ%3€½û± Â˜jþ.V?E[¸5*o$`’œž¼ÿ¨@ä”'Ü^m΀(ãbr¥Øc=öl nÈÚÿk³
-¬ñ<S݈QznTT5xñS0â(#ÔÏ}3'ˆÓ!Èk¦•o’œ¡,Ÿ[Æ­LÔúÖ2Z°ô²YsÌ\YãO2»ÀYzx9ÿZ¾ÿ4à¬þ
-]ýðröóËW™®ËóWgMͳð6ÕæjŸ²ù# `ãÝÞ‡)yѨé3˜:º¹Kìå£ÀèÛcu¬nÂV{Jz`Ò»¬‡U`M¶ºv¦Ø̃@Øó€Žâi|¦wä“‘Í ¢}Ow'Є"Å›}éŒ_Æ|¾Ê}ÿ5m»(¿TÔ|»Ð×mï©j¼ŽK¾L¹TÉàî£ð³_™Ãow{_™ÿß~5Fp²ë ™ÃšáÌÇé¼gã7
-¿û´cª(vÒyßݳ
+xÚÍ<]s㸑ïþ~;yk„Á7ˆKîa³çÙL.™Íí:wÙT-Ñ6o$Q+Rãq~ýu£Š” É+UWS3¨4ú»›#®9ü×Æ2륿v^3Ã…¹ž-¯øõ#Œ}%âœiš4ÎúÝÝÕûª¸öÌ[i¯ï°
+Æ‹B\ßÍÿ:±L°€À'ßýðéÃÇïÿòã·7NOî>þðéf* Ÿ|øøÇ[jÝþñöO·Ÿî~‚7®üä»ßûç»ÛiÌF ¿ûøéß©ÇÓãÔo?Üþxûé»Û›¿Ýýáêö®?ÌðÀ‚+<É/Wý¿žÃ¹ÿpÅ™ò…¹~†΄÷òzy¥bF+•zW?]ýgp0~šC Ö‚YiÔõ´°L:kŽ/KKpX66gΙboÕ©-˜ï„LÊÝ•h9¸§™/ܵ VIn¤^ïã¤pÌ(ïwÓ^ €‹"’i8B<ÜçÌÈýí­›M‡|ÿAç
+ m§p œõí
+©¤˜|ü3>ÝàW£´cN6þhµ]ÞW› peXa‰Ó€Ô¤·“»§*QÙú,@ǼR>N«[Úì¢^Ö]5§w uòøú´¹ŤÙ>>Q?ìG™wûz*´a˜
+Á¼12@}®;œ*ÜäK¹ØV-µï«EóŒÍb"¸ÔÔÙ½¬ëY¹X¼ÐkX©j»M=£íˆ¸èÞÞˆI[Qû>Î_ÓÖfUÛÂ2¸#>ÞÊæ~¸ZÕ«Ç›©âvR¶ø4´PÓt€Qíà²V4Ü6ËŠ&ÌJ€øÚ’OÊUúqWmêö3Íø™þ?ßü < ÏžÊM ûÞÄWøÙhG$vîqã&Ûˆ­°'àéu½(gÕS³˜@†€Ï¶ZT³n4wS®æÍ’ÚOõãÓ4Þ;bqžÃR#Ûç2í(„rßqìÛd€žP i¯§Þ0«…ú Ó/Ž‰+$3…r'åŠõžÆê3r¥Ÿv1¹2„x\®Œ¶·ÞTõ××I¥x,JúɪꞛÍgêl×Õ¬þ™s¨
+FU©@¼‡²B¨‚Z'¹rˆ å+ðœÃPñ ŠÜ`:z„£r>ÏI3©€pAWÒ1]AÃ>4‹EÂâ9 P€Ò" ‚0Ó.Êö)Š/ï­³hàì÷‘³5âr4@螪uA‹‘ãÂpó@}÷u×R«^õ?ŒÓ«nY¶ŸAÜÝxL\/P@eØõïÄË Þ¥>˼BñÊë£7* μ׀Wg˜×V¼ùF{ˆÓ!ÈÕÜR–M?íÔ:f¹M7º,_èÄ è'Ѐ6ëÔäC³¡îêk¹\/ªwØcÐNE„$¤{_äÖ³Ì8.úáv¤aáŒÚ²‚«=—8ïpUöJÒ~QÆñONCSIG•izÉÀ¶d­H7,9 ;FâÍ Ç3àÿ~£L2Åø{™C‘–Ànd2Ð>§ GîLº1A{A(=^7w/~¸hB?Ô5@OÿWçV°\Ñ›V$
+xQn|ßÿØÌd³/ÁžÀ÷2Ú!Ê߯4P¯¾4‹/ãy
+D÷K¿hgÍ:X88ˆ¬ Ÿ–:ùíIƒð˜¡%16îcÇŽA'{{»§²£Ú3©/6ö6 =Ïõb‘àw³§8­œ}žæ,™ªkéNHH-é­\½P#l÷¸±1Ôão3 vÖéý+@& rÌÚ0´œR§­ ®™-Ÿ«—ý3{pÄ„3»yo½ àt1cn€pCa:Ú_=Ïš€ß;ßælδ“Ib€ÙYÖ«%LÜã.wÒ♣Jۓ֌Ϻ*—U^èƒW—„±A䆶ZuĵNEVF€-T<ö”ôhÁæÖvxÇËB )"'ߺï£:qp!Ɖ1[“' õ6:0ì[ð%êfy©šm7uGÀóÔZßÆ
+äz7ôkòt8¸áKI:2Ðõ£}šltãOÑ!ˆ ˜^ØQ˜>G‡ýÄ‹Ñáâ :í𘹰O‡ ¢µ` —°'ÐCç—÷
+5ý<{¹óGxgŽ/}ÁŒ Ù :ôøa)ƒ¦P8-=ÂoÀ2~¯r*¤P„$Þ
+¥fÝF+; uì¹ÒÃp©æšuð¤@4À_R O÷£Ë’Œ»>Cëf"1È12)×™|NK¢ž K>7™užÉBø£7
+<Á”,äµ.4³V½=BÛCœAÞªF #ÜnáS—òÞÐ;<(¸x`qIc3T ¶
+çØÉIæx!ßNÇ ât2CÉ^ ¢&M ŒÜ<çÎ ”¡û8]~Ãã L€æÌU à0 ؽØY{ˆgΪ@GÓKg/ô›6*)I-ä¡sqà\bYœA–bbV $ y16Ïú
+íf3{„©+ä)âÀ¤m  ØôîíVyq:™#La q¤i¯–,˜0ï2d~ðøãÌÏH5;Ôµ~_3£° 0­Ç8§bË96ä2
+Œi… ÑÔ/L@ulîâøF `kTJaE8šcöa—´šÙ‹µ×äÂJïS(ßûX˜À… Ø;*L?Ø&àkpS½' `’UB°b'=À¥®çç}”ŒÅ ¦ãïd<óm}³ØM§C±«,(`ý´³Š:ë- ý‹e+હøUþ'Çü%¡-SJŠÓþGóÃES¸þ{uÔ_J/ç/ žò—F;cý5þ’Vrb5…©°½]µõã*˜Ûð–‚VN3ŹàcàÙüÐø\½<SèuÞf‹ä@,V%×z»Ja£Ã½ž»½5› 4¸~01¬3âôyõPn9RéUh5ÎWRß^Bá#YX¡)W-?åç*v¦Ê¬ðÓ£b” .ÀmÚej›ÙcN ÿ6œ‡Õ^Ê׃#‘m ÓÀžc‰]hmÖÜ)Çqp6¸Ro1qOµ€;œU›c$ðâ'ëð%7å²êb° ådˆÄd‚).3ΙƒÊ¶^öµ _§ÿÛl7«r1M<´"àEÛ×ïÄzUÐ`cÛVÔ(ã@
+ü‡·>*‰/ѳÅ&†µë¨-
+LõË=A#`0âAOvrYµè5s4M[6!¶ d_íf\1i«Ž2`8PÒ#V±‰)-|rzÌ›|á]P. $à€qªðÃÐײ
+J RmËoE¢b7NhiîÏRêíj2ÔÀÆøJsBžžØSÆÉ÷õ#u–mîB×MÛÖ÷‹
+‚Q8%€ÓÖ)Y
+×›¦ŸÀ0zˆo°&ŸëEsÿÒUm΀¶ Td_ø§ llylcfcË걌&õƒðÉ:H=ÉEÚÀ÷Øáã«wøX÷uO
+œ˜ýÈâpû}$D eTÔ ™Mx¢g&ÊÐü¦WTr˜æ|Óÿ“£äè‰
+Nì!¸xðóyÝNsú|*.‘&J<hÜÇÍÕKô–ÊUÜß3•¿!¼ª\Pv»)»><kÜõ/[ømÝÕhr¼ -¦Jí°:h{Ûn#1
+‘t±€Í‡º
+h=—i¬¡g[>T4_¢yC%=¾T›8»?E$˸öèzcZ|ˆWœì„)³ÿXcÛÝ£ý.åP’úʨӞË8-å È\œUÔï©O]CW[m¾„[ÁáhMÓêãŒH6Ê©¼õг|£·úÏL\ Œ¤Jq:a(ð3«L8ù Y°¹ê¢~ÞŪ‹†WöGÚk¸=8(ãV¹Øþzˆg6Ò^ºopÕä¼s^0mTro)€u¨†gÚÊäÖÆ»Ø7?ù´6JÛIŠüŽFEGXJ^ˆð-ÕT?ŸrüÁ ’¢7ˆºÍ¶:R¹®”:HûŒ#Ì>íò¡\´G’†@Ë ser q—ð ”iX€8Kf
+¿û´cª(vÒyßݳ
endobj
1621 0 obj <<
/Type /Page
@@ -6441,7 +6464,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1626 0 obj <<
-/Length 2902
+/Length 2900
/Filter /FlateDecode
>>
stream
@@ -6457,8 +6480,7 @@ Cv×XÙá‡{#%3+Sf5Ñ=ûÝÂØ¥Zbãå;#)¯‰ri¬D‰¶4G’ÏHìðx›ƒ 0ú2Õ·õÁ’Z
/–ÞN‘pµ%r™"ø0OÜ„ž¼ ÿÎ ÍÌé„lG¶hŒ÷ÕKhQ´ñž@<ƒØ‹îXؤÇÚ„ŠŽë2Ç{Š‰¥Xyê¦,»Rf
ÉD–ʸ|>–ßZ #å3í\êu –S!€D,Ì
Cåö!~œ 8V >)rÞIM‹ëj †XR×eP.Úä„<6ÿÁ¬¢ªn6+"ÒO;벉•‹} Í›™ÚÔ°ÐM¦Ÿëñ*„ÜKíÃë/ÄÝ™r&„îÀœ˜éDªÞa½·Ù™Ç.è‹+/aE4dêዧǖ—ÐîoUÃUZÍo, ï±;ÃÆIpœŸúìÓ:N¶âÜ?Y¤þe£ê
-Òö7êàËŒ¯i[æÞãÛ÷Ä,C†ÿ&1òÔ´¿÷ÿßÿÑ{«Ž`ë=oÆíÿX¸E¡ >=¨(êÿw
-KX<û ºŸšNîdþÍçÓf…&uþeA†±ø|쇧Pjjâ§%1endstream
+Òö7êàËŒ¯i[æÞãÛ÷Ä,C†ÿ&1òÔ´¿÷ÿßÿÑ{«Ž`ë=oÆíÿX¸E¡ ?Æßñdÿ¿SXÂt÷;ÓÉ=`‚Ì?ø|Ú¬°º¤Î¿,Â0œýêJÍB-â+üŸt€endstream
endobj
1625 0 obj <<
/Type /Page
@@ -6493,20 +6515,16 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1632 0 obj <<
-/Length 1928
+/Length 1924
/Filter /FlateDecode
>>
stream
-xÚ½Xm“Û6þî_¡™ûP9‰¹|Ñkû)ÙxsÛémÒ]箶3Ul®­9Yr$9Žï×@’¼«Ý4MÚñŒI$ÀPÂãð^±(•©§ ¹½åv½5ð^M„3s“fÃY/“³ •x)K#y‹Û¬„ñ$Þbõ‹1Á¦ û篯.._½½~>qùúj:“!÷/.˜SoþÃü_ó«Å Œ¸Jýó>³˜_/²B^\^½$JJÍR¯çóëùÕù|úÛâûÉ|Ñ34Xp…–¼Ÿüò÷V`÷÷ÎTš„Þœ‰4•Þv„Š…RŽRLn&?v\³tô
-ŸXN[Q›ív:«íÊòxØèz*ßîÚn2»Ãa“·ºÙeKMs·Ùñ®€ÀÏK´mèlÈ€ÅÎè-«òWÎåz_gm^•HL|¤|EEÂ_LSéWÄ0´Òh íÎ(Y­ë lª"V·vAagÿ7/WÍ3TM€%úHìeVû¦öPçm«-1·ê´Ë=fÛ§O(Ы³²Ùè¢8Û麠nÚ#šC7,No8
-UãBÕˆ<‰u ØX‡ÞI¬?$ wºQÓ£ûý袋"G8Ÿ™PÀWÒ]Fƒ#1”Õ-1y»!¢‰L$µ‡Š(ËMVgËÖ
-IÐÍ2‡ŠÓ4u†{<9#Š‘
--lù¶Â4˜—kæVn'ôCVä+'ŸnÐLè€.y½~c÷ dCI÷ž_76²žœ}û
-Ãh¹k( XAñÉmÑzß–&À[—& æå~û!Ì윯K«UWœ0Rq–ùô‚]µÐ¹¬vµ­ û!§>
-/2žÄô"ûÏ $Â(8Ö„1x ÅÄs8é_›ÿ+øþe×—þ«»G»ðXÆ^
-Y< ÌIyïá RÊÌöíý™ÂÙåVy/+°Ðéä΂‘Ñð½™& &Å`‚‚’Ìèÿó ömÞ§Jì›´Ðûƒ:Þæ˪À~ÿîB€ æk¦p„7´¶²Kñõ=ß
-Ïì~./š9{Ìr†ÛP{œJ£Ûˆïp£j_`Í''ó,Ëhø¿©m*†½:‘„µA,(&‘3°Wçå
-¢½ÄmÝ4zÂó&‚ݦã³íÛ‰ž˜­­UF(ˆR&“4ñ.úeNá¦x}ÿQó‹CRA… ¡4ö”{Ⱦøsl°AÌT’ÈaÀÞÿV­B¢@ß–YÊâÙé_!ŸláµÍ27û>við漢‚6¯l>SAù¼tî+°ÛtpÿÛßæÞendstream
+xÚ½XísÛ6ÿî¿Bwû0¹­¾èuûÔ¦N—Ý–m‰»—Ûv÷¨6cë&Kž$×õþú)K‰’®k÷œïL A€~
+¸þÝÕÅå«××ϧqà/.¿»šÎdÈý‹ËoæÔ›3ÿv~µ¸W©þÕóïókâEVÈ‹Ë«—DI©y@êõüb~=¿:ŸO_|=™/:cú ®Ð’?'¿þνØýõ„3•&¡w€g"M¥·¡ba ”£“›ÉÀ×,=@Á™T‘9A)<!X†rp„aÊ"%Uw„r:œƒ¹Õv«Ë–Œ¼9–mö-9²wÜ›I¸ƒT†FÀb£aœ=½X™Ó²ƒ†Ä~VÕ¡!úmUÛÙSáÓËi+j³ÝNgµ]Y]OEâÛ]ÛMfw8lòV7»l©iî6;Þøy‰¡ ÝÁ€ 0£ØY
+Yiˆ˜vSòrT¥Û;£fWÕtW†{ëx#^ä¥õŠÊ:‚Ád¼]f/{»/Ú|WØy¸¢yüæåàæ¥hQYµÄycg€8$Ì\ùf{ êw'b³
+-lù¶Â4˜—kæVn'ômVä+'ŸnÐLè€.y'ýÆîȆÝE“>y~ÝØÈzröÅØÞGÆO€íf{UBØÅ{í! 5ˆÝò}M›cZ5˜vOb·Û@æLÄ,U2Ö'É\¥CéeU×zéÀÒøv× ¨E¯1nðéŠ, £äCRš‚ª0QAð¾S++j‹ª\ØR ðˆ6P?C½€6wRÁLʘ‰ ŠUIÆ¢%»` Ò~°ÁÈúv­C;³fQfqŒÛ>Ìq!iHÉËl
+!UîØêÎ>ÚÍ3u\Ÿ³Û›Ù˜›æK, •Œ È «Kæ#ˆ`ß #Ò¬+fKª$›†Æ'èÂn<Ü£ù T*Ÿ‘¶ÉÞÚ¹Ui;Eµ>­9Á. BŽ˜1‚—Ϩ¯³åæDuèêЄ@«6æJB ÑÜä,KÁ-X¢<ËGA(yOyö!Ð2ÒÈÐ.ßÙÆœ‘£pÛÞ©ÖJ}H~F#ýV—N©j¿ÞصíP†½Hy#Øí6|Ôvµ~›Wûæ~´Þ¯Âz!wƒEb?è0NÜE`]H<4¹uúcµ·3(ùÜêúJï ÛÎúÑ:r×P@° ‚â“Û¢õ¾- L€·.M@ÍËýö B˜Ù9_—V«®:í8a¤â,òð‚]µÐ¹¬vµ­ û>ç}.
+/2žÄô"û©aœk¼†bâ9ô¯Íÿü ÿ²ëKÿÕÝ£‚]x,c/…,椼?á RÊÌé÷í§31„³Ë­ò^V`¡×3ÒÉõ#£þ{3MLŠÁ%™Ñÿ—)ì#Úü”*±oÒJ@ïê4z›/«8D8øß—Ÿ17X3…€#¼¡µ•]Š¯'èùVxf÷syÑÌÙc–3܆ÚãTÝF|÷€Uûxh>9™gYFÿ¦"´©FôêDÖ± ˜DNÏ"\—+ˆxô·uÓèiÌ›v›ÓטmßNôÄlõh­2@A”2™¤‰×sÑsz ¯0ÀëO5?:$TÈJcH¹ç€ì£?Çž6ˆ™JÙØûߪUÈ@hïÛ2KYâ^^!Ÿ¿káµM17û¾tiðãTáC5›W6™)<,yåÜ'`·cïþ+æ-endstream
endobj
1631 0 obj <<
/Type /Page
@@ -6542,7 +6560,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1640 0 obj <<
-/Length 2507
+/Length 2505
/Filter /FlateDecode
>>
stream
@@ -6559,7 +6577,8 @@ i…ÉdˆÈסlí)ˆTëÍó|‘Q‡Ý†c
T 
¡òêí¹/
:ùÕ
-UÞ=ÔÍgÿ`
+UÞ=ÔÍgÿ`
+ÿñÒ['endstream
endobj
1639 0 obj <<
/Type /Page
@@ -6610,24 +6629,28 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚ­[Ýsã¶÷_¡·ÒK|ÉÓõâ¤î4—ëÙi;“d2´D[ìI¤+Rçs?þ÷îb’’`ëZßøAä\,‹Ýß.`6+à͔εãnfœÌUÁÔl±9+fwÐöÝ }æ±Ó|Úë÷×g¿ûVØ™Ëæzv};áeóÂZ6»^þ”éœççÀ¡ÈÞüðöÛËï~|ÿúÜÈìúò‡·çs®ŠìÛË?]ÐÓwï_ÿýë÷çsfËÞüáõ»ë‹÷Ô¤ß_¾ý†(Ž~ž`úþâÛ‹÷oß\œÿrýdz‹ëa.Óù²BàDþqöÓ/Ål ÓþãY‘ gÕì^Šœ9Çg›3©D®¤‘²>»:ûóÀpÒê?MéOr‘ÛB©Ù4Ã3OKC0lx4,7‚ :·:—¢0³¹v `íì°"œMVÄqWÛ™Q.ׂ ¿"ëvQ®›ªïP7ðŸ~ rÁ@ÐÂ÷ü¾ì«ª;ŸÃPYÙ<âƒÎVmשmˆR6ô~ùî£ -[jŠ&
- øÐn?ù–ÚMö°ª+zìW5vÝE!æŒåN)î¥é« ,®1ÙªìðÁúq‘P7}µ½-X‰p<ûëª
--år¹=g6«º®Šah¯–DG‘DÍ›öcµ|+½d¤ª©n¤{N«RæsQ«¯ßü ÄÔ2«ÖÕ¦jP—ZeuGÄÝý²ìQ&$ö-I¦Ÿ‹BT‹ÐŸÔm‹UÙÜUL]+™]µ/,]4HI»t jÄ¡˜È–Èñ¬i{"ÜûqÚõ²"BI?å#õôòà—(|S7¡É20@Aù'úb]5wý* ØÞ¦ÖÕk:ÍE,n~óˆں·ì…?6[”]õ*±DL›Ü8å‚âŸ]"‘itèÙ6ëGa3la¢!Ìæä‡M¯’AÿCÁ§½‰¼"Úßw¸ƒði]HÙE®™µSÁý¶K^äNF¹óCw'm‘ιÙÔO¼Èóp\èl>:¼ST€³-´1ûôÿû*
-ÂÀ·ŠÃp›6Ç{ä€açÒ
-ZƒIŽô—ÃŽ!LÃ] a¢RQÙ¢múm»îhù®zØ«´‡}
-'´ƒ ´X‡àŽþÚ„¹ø¶¦.+›jš)ººì¦¢ß]çã.´Ü<…Â%ÑÊ%<X²mÙ·ÛŽÚ#‡ýuŒºÈ·,J vVjƒa~-…Q$4å¦"RWm?‚a¶Eh£9*° m{ƒâgãì°yÄ9ÐDSÃ'œZìx%
-Ú½Zw¹ìÀÛ ÆD¢÷ÛºúX¥i›ù7o¯¦ÍÝnÝ3½%=l‚M†OH‹ð4Õbt™‚
-r%ŠÅЮ
-y°}>²Ö;4n]ß)/CŠOrˆ¢éi‚OÁÅH®žØàÈ7âIÅr®aÃ@gaº<ñbÅçS–ÇŠëÈ-¬6t{N±"w…Œš¥„ä
-:=g¥˜»kuÂJ ìÖÐ嫯RÑ)˜DÌ ÁU}Ý’ÚÛ•sÑ6çRÖ‹(³KgrÈ‚ùIp •Uï ɼa´˜ì Úa1}Ì;èÙÞß”‹a•G–¯pE´Ý·|Ÿ+ «Z&Ên,‡ì.g é!ÿƒ­7ÄžmZñV+9(>Å&ærÅ$ÑB RwS
-¾Þ~æ\&ô¡
-Òv!OúO•; ê?‘£ç ¡ÌW¥ðù¦%5•0OØ^Ö°§áӹ㠘€„„9ùòm?pœOY&àƒg“º=`M-s|ZÑ™!ô@`Õþ’_GGZÞ Žn¶®·îº]hA¸wëjè°—À¨ºzNç, ߆MÐ|1D›Çѯ'R
-)áyØST1Hø ‡«· fÉ<òݸÂ>©NúN£eÜìî|d"Ü€]q&öÆ›i¸äJP£xðE@ØGöH=t3-hÁBÝS|‡×›2X-'$«ÄjâöƒŒËŠ(G&¬-`cf@[0K
-9žR"àæ=!}%±ÏdFëÆè(`¯Wu°úåÑ+‹¬«7÷ë°È—ïâ¶,0P³ƒ¢Ø$V‘+×…îw^ÔçxŠ‚î×±–ò˜BÞRAóÑè7µFØË-Ï}yF30œO8¦p7ϵ%Ç^Þí.Ó@ÄB€ SÇA7m[é]¡aá¹c'v…€^ˆØ¿”†Ï+@H07v €ô–0E®,
-dÁú¨¯¯¹CòÙBßnƒîÔ$¼ú¦=kƒçºïªõm84€ J:@DÏïþ"B¹vÙý¶Þ”^Fx)wýªÝÖÿêÜ.ÛT¸‘ënCµ`*{ÇÊž¯¢{”^†=/~„® „‰¢»ò%B$ gˆ@è Dâöåþ72œO8&ü¯0oÁ±Å^ŸG0A€îGÄr?ø· ‰’~è Ÿb‘`oü¹À’°–úè8êPC(¬³ö°Á¯_®¡Èp>åx¬!Q“¶¡×“ Âç¼ÑKy‡!mvQR°=ª7ƒG+ÜÓ‡›/6ß㉠£Ïv…vŸ1cðB gû>¹§B·¹dÏì
-Zú­>U‹ð29h‚7Êq£¾àÁÀ
-ü‚\L0¥«ªzê²³@ŒÑ8AjÛÞÍèá}êšÜ´?)„'®É ½üñîûjCÁÏðì-\‘}S¹!ê›=ù¡ÑÇ‘…w°¿%Jåà¤ÄžìÇ÷"b¯"Ã’ä 3ï=™ëæhTÀëŠqö¹úŸÿˆ¯ê”´“vD.r@CǹË¥'ô0ô:!Ç1·I˜71Y„¥©„*å(^yÓîzj;Dˆw· I ´ÆRÞTÌU2¹ï°ëä‘Œ¯w¹åØ"—éMï Ó;—(2…åÄwáà†âÌ3ôà!‡HÐ#k¿á7œtÐð*]Ç3JG™ñ7åBi1±‘yW…Ñðnþ–ô³¬nËÝ:´í»6)wáË4a`*`)±”+Ó„ 
-¥ä35
+xÚ­[_sã6’÷§ÐÛÑW#.ñHžf'NÎ[›Inìì^U’JÑmñF"u"5ßÝ~÷ëF$%ÁÖìyÊ"`£Ñhtÿº³Yl¦t®w3ãd®
+¦f‹ÍE1{€¶.Xè3æÓ^¾½øÓ÷ÂÎ\î4׳Ûû /›Ö²Ùíò×Lç<¿Eöî§÷ß_ÿðˇ·—Ff·×?½¿œsUdß_ÿõŠž~øðöÇß~¸œ3«XöîßÞþ|{õštàñçë÷ßÅÑÏ3L?\}õáêý»«Ëßoÿrqu;Ìe:_VœÈ]üú{1[´ÿrQäÂY5{„—"gÎñÙæB*‘+)D¤¬/n.þ}`8iõŸ¦ô'¹Èm¡Ôlšá‚™ç‡¥!
+6<–ÁŽ[KQ˜Ù\;P°vvXÎ&+â8Œ«íÌ(—kÁ…_‘u»(×MÕw¨ø€O?¹` há{þXö‹UÕ]Îa¨¬lžðAg«¶ë‰Ô6D)z¿þù“ -;jŠ&
+ øØî>ùžÚMö¸ª+zìW5vOÝE!æŒåN)î¥é« ,®1ÙªìðÁúq‘P7}µ»/X‰p<ûûª
+-år¹»d6«º®Šah¯–DG‘DÍ›öSµ|+½d¤ª©n¤{I«RæsQ«oßýÄÔ2«ÖÕ¦jP—ZeuGÄývYö(û–ˆ$ÓoE!ªEèOꂶŪlª¦®•ÌnÚŒ. ¤¤Ýº5âPLdKäÎxÖ´=¶~œöS½¬ˆPÒÏcùD=½<øe
+ßÔMèF² PPþ™¾XWÍC¿
+¶÷©uõšƒÂDsG ‡›ßð캡¶nïm{áÍeW½I,Ó&7N¹ ø—HäFz¶Íú‰FØ [@˜h³9ùaÓ«äDÐÿÐDðé`"oˆöŸ{ÜAø´®?¦l‹‰"×ÌÚ©à~Û%/r'£Üù±»“¶È çÜlê'^åy¸ .t6Þ9*ÀÙÚ˜Cúÿû*
+ÂÀ·ŠÃp›6Ç{â€açÒ
+ZƒIŽô—ÃŽ!LÃ] a¢RQÙ¢mú]»îhùnzØ«´‡}
+'´ƒ ´X‡àŽþÚ„¹ø¶¦.+›jš)ººì®¢ß}çã.´Ü=…Â%ÑÊ%<X²]Ù·»ŽÚ#‡ÃuŒºÈ·-J vVjƒa~-…Q$4å¦"RWí>a¶Eh£9*° mƒâgãì°yÄ9ÐDSÃ'œZìt%
+Ú½Zw¹ìÈÛ ÆD¢÷»ºúT¥i›ùwïo¦ÍÝ~Ý3½'=l‚M†OH‹ð4Õbt™‚
+VÙ6ŽŒú“0/Z»ŠýS:
+YùÀ$)Ö¥\,ª-å™ðæyh¥ ÷ôK™<P$ü—Žú…DùåiòåÛKÈÁ[j'F_Ñ(¦!Ý#ǹ`66®& ó†Ë}çˈ@Òn@ZežµV&lÎ iJåZ½ÚT#»ùÈïÔN™dà
+XÄÛUl€~yôÊ"ëêÍvùúç¸- Ôì¨(6‰UäÁÊÁu¡û]£õ9ž¢ ûm¬¥<¥·T`Ð|4úä F­örËsc_ŸÑ çŽ)ÜÍs-Aɱ—w»Ë4±`±GÐMÂVzWhXxîØ™]! "ö¯¥€áË
+Ì) ½%L‘+ €à«Iž‘Ð`AýÅDÂçöd[zÀœŸ˜à¡ié}ã‘Àó%Ž
+))ó…R +èË— ŸÍñ¨A§ë(fZGÑ¡Žb¨Žb²_Þ_ÿ5,ÛMY7D‹*æ°¨¢CQÅÄ‚‚9((øTƦÈ.ôÕ´}ãw>%BÇQðì-äSš
+˜<®ùù˜buLôô(¢U!EÔG¢
+yFC¯3rœr›„y“EXšºA¨RŽâ•wí¾§6°C„xûBk,eàMÈ\%“‡»NÉøz—;SŽ-r9œÚDðÎ0½s‰ò!SX>Lx.`(μp@NrˆÄ=²öÛ~ÃH oÒu<£t”OqSÎQà!ôS™wU ïfàoI?Ëê¾Ü¯CÛ¡+`“r¾L¦–RK©±2M
+ €QJ¾PVNªÎð*è¨éu:„˲÷GE%g±é›o8)Ã]³XCªÃgt÷Í£çg¹îZê÷èoBŠg/1
+år¦•ý¢«BÁhzõ'3‡û´‡à{²Þ˜9Éìn–­¿•ÉÝADÒªôGþðT¦lžc)A¸3%@iÑ€(ÅHY$jxx}ÖÐøxð ÅëAÛ µHM£\Ê*LcDµ\N3Yéôÿjr}Ëé-CؼX9=:âð)hâ`Bƒ/·lâò
+7úqïòØB ¸·õ7åG çüµ¿ãëŽÔ±m»®¾óe.À¶0tàŽ«D ú†8IQšÃ¢
+®…A 罯0Êžœ´ã: 2n¢ÁÓ¿%ø©®žM0£"‹áœýÕÿK2f°æàËùË D ç0ù¿˜Ò²xÖ Š«Ïýäˆùf¿|ÿ攫–ÂJWˆLÊ@∵N•ð´4½Ñendstream
endobj
1650 0 obj <<
/Type /Page
@@ -6671,26 +6694,19 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1659 0 obj <<
-/Length 3038
+/Length 3044
/Filter /FlateDecode
>>
stream
-xÚµZÝ“Û¶¿¿B¼ Á7ÁæÉIήÓÆIÏ—ÎtÒL†'QÇ©ˆ”Ï×Nÿ÷.° ˆ”x>7žÎ=–‹ÝÅ~ü°<1ãð'fÎ0®
-=Ë Í f¶Ø]ñÙÖ^_ ¢™G¢ùê›»«¯^)7+Xa¥Ý­¼ãΉÙÝò—ìÛ?¿üéîæöz. Ï,»ž˳oÞ¼ýg
-üùöÇ·¯Þ¼þùöåu®³»7?¾ÅéÛ›W7·7o¿½¹ž g¼/‰Ã/¼zó×½¾}ùÃ/o¯½ûþêæ.é2ÔWpåùýê—_ùl jÅ™*œ™=Àg¢(älw¥bF+g¶Wï®þ–VëSö3Ê1ãd>a@)§ h
-f•TÁ€]¹«@%]då£W^ƒ—´eÆ
-;yêf¹ š!cQ0žÛœhÚÃûj‰<ëéD´ËÜ 4`WïöÛGœ»Dªêcµ8öu³ÆÇ~C’-ÚÝ®l–¸³.;K VSZÓÖo¾h›Õº‚-çÙ¼œ·Lhu*W}u‹Y€ãÀk³¹*rV¦‚ÆÈðFÝ¡uÓõåv[-Y æ@嘩ÞÕÍP\MPø¡ZK˜9ÉÎÞWòÎàx£’«ªì‡ká2âîÅñ¿mã ª¸
-'èÔD[W§X…·(öJ̤@
-z_íª¦ÿÓ”9ð/[LòúIž+”t=ÁR ¼xö_O¹+Ój°Ä"ÅÅ
-®‘,/
-æ#IÈ~º ¹Ó’žÓ-Ÿƒš~°
-ƒPœý
-<²<5:€w×~!ÍØ ¡Û<aS9Ýø†ŒâœI®Ì36Môóá —ú\òÙ[p
-d±?æ‰Cþ">c=¦¬+sÔHݸOÝ,D¿~¬©ÁI!?˜qez* ¹fÖ·!¥ÎÅsñÉçú‰@:çú™Ñ ÔNCV0¿ æHôŒç¼N Òï¿;vT;ï ÄREu3ÞWrÁHƒAp?J¹ò Ãœ]Cc>0úÌó”=óΑö®UÜÚÐzæSÿs=~É
-çÜt‡ž8·,ƒ­Æ¢ÐL%²€Â§ú?1@Q uV"öÀdž½o°±ÃÐ ƒ_4 _ àEÚ€ÛØ`ĸ²lweMïR„ѱ©?VRÂ$¨¦¯W¶¥oZ°2{Óã45 î#¿®¢B×[-„GʧBQA؉ø3
-9uiÒØëÜ°(SR@ð:vñØ]SEé¸+ζÃ|å[Áë”2©íÞ­)=E½ Vöá,¹-—(KGô»²_l(­8ß-Æ9z[£Èp
-¢8—lp:4‡BÃ.íŽîGî\aX§þ¬ÝW¡QsI“2.`H?Þƒ bâLªº<yY‘Ÿð{|& tÖk?ÁÐɯ.Óaí!r®bXŸn
-çÁm!DÁq„³Œ[ñå¡Müæ†mãE~Úöé¸6`a}]Í…·µÿÁ› ŽñH5ÄWèPÀ]14):œ‹/T€Xêþñ«òèûž}½ à˜FAœ˜ÊÞ†V3¾wÜï[ß ¹¼ÂùÆ-\Œl³+óÝÒLhw('yž2Õ%K¸^š'¸˜ˆ©>ªbyáÔs¬Ü+)õ3ëiÓ}é³å’Æ>ÉÌü¯Ì”›” *¦MhôôYôìƒl‘ksÆÏù$¿˜é¾&ÀIŽóˆT |*åÆùwè1 ;wק 0%Zû.›Š>(”ÃoäFH§¨  }¿l–¾¤O#¾7´;î¨9îîã§üærÊÏuºµ¶ôGg{œŸO%•E…h° fH¢Ê?.Aüøųbk6aì"6{“‡ÎŸ°v.Xž>eùæ'R–…"fSy–ÅY¾RÂ2 8YŸŒùâ„·/3–òÀB¸ÓÆXBCš¹qfø9ªˆ˜­£ÆBXhé$hàýàlèU>¬ØÀ¨§0ã;C±Í?Ü÷é NÄ‘´PÚ,»jn5}a€¢¸Œ„¨ã§{a§þ{A¡m»^“Gÿ‘~˜Ã*™œú`"´zþ¥õ¤H‚ÁÃo׃©]üÿ›L€zž´ýâk9ýÏ
+xÚµZÝ“Û¶¿¿B¼ Á7ÁúÉIήÓÆiÏ—ÎtÒL†'QÇ©Š”Ï×Nÿ÷.° ˆ”x>7žÎ=–‹ÝÅ~ü°<1ãð'fÎ0®
+=Ë Í f¶Ø]ñÙÖÞ\ ¢™G¢ùêÛ»«o^+7+Xa¥Ý­¼ãΉÙÝò—ì»?¾úËÝÍíõ\žYv=7–gß¾}÷=ÎøóÝOï^¿}óóí«ë\gwoz‡Ó·7¯onoÞ}ws=Îx_‡'^xýöÏ78zsûêÇ_Ý^ÿz÷ÃÕÍ]Òe¨¯àÊ+òÏ«_~å³%¨ýÃgªpfö
+6¶œgórBÞB2¡eÔ©\õÕa,fŽ¯ÍæªÈY! ˜VV#Ãu‡:ÔM×—Ûmµdš•cBJ¤z_7 P@q4Aá‡bh ,aæ$;ûP=NÈk8ƒãJ®ª²?®…ˈ»Çÿ¶7¨âë«fé!ìÞâ/ˆÚ>œ
+”÷åâÃC¸-Ár»}Ù×÷[b|ìÊ5 Ûþ¢…ü›'ÀÚs´U¡Xî„›êœËõñ
+ª3Ûªón 9Œ ó#µüIJ­Â’Ëš¶Ç©Mù‘K\ÙÔë QWk|¹Â/°Ÿù¢ ÷õ¶î¯…óÂÛìïרv$ʲ¡€KÙÕÁ;ýü¦lÖ´-d8ê–þØÀ#LÖ`4Á¨=à/:1 ºú_qi5ZÒYW-Pö>Gžu-R<Ù<Ŧ=n—8¹+?£r©ÀyY®´z•ˆ)·²L)'bØÖý&íJ· ’‚õj$™×º Ên†1Ã-¤™bu²bP¼íÒ½óÇ!Mv7&BHS‰/Šee$DG#Km£I7eGšô4ØW‡]Ýuà 4ÑU= Ž‹ ›1KšÃ ,X©:L­‰BÃ+™-ÀeÎ"Äp"WqÈI㎗éØrVHUô0„‚¢!\LȘ®Tv¸vÙ±i0¿Âe{ \ç§ÉÅ¢êè…º#²·+œ SWm]bÞ¢Ø+1“è­ªO5…\  µ
+xBaø°i©§ÔÄc~†žÑY]DÄq’.’-ëŽDnë=>@âhªí‹$mÐàoµÛ÷S¸E‚žÂØtÌMh·ÝT¬
+v±£ÅÃz†ƒÛAç#Ñχ/\v>.ù† zµ@ë{‰4ËsiŒaΈb$ÍE÷%Q='Ã7Bÿˆvüàaæ©ë¼sÎœfì„Ðmž°©€o|wFqÎ$Wæ›&úùð…K}.ùŽlŠý8@/ò`:daÕDõœÜ¢U©¾ Á^+3îÍ<QßËwŸ ±Z¨‰ÚÆ5Ý¢`Ð.á Ã’Ö0¹BVïÛ=Îl«áì<ýjD¤'êL&páß ö€Kê%Í•:AaFæQ©uõ0•497çZ1‡0ÙŸªÇwXVÔìQ6gàoú²ÛÓ ¢ûžò}ýU½”.Ï™Ò2Îâ…æï;š÷þBÞ à/ÿ[œðʇ^hB:²Ø,óÄ!Ÿ±SÖ•¹aJ¤ÖÜ箢߈ ¿ ÖÔà¤̸@=Ð\3ë{’Ò€Gçâ¹xŽäóýD sýÂhj§!« ˜_s$zF„s^§é÷ß;ª÷Nb©¢º/¯ Æ`¤Á ¸%„\ù„aÎî¤1}æyÊžyçH{ w,nmèCs©ÿ¹†¿d…snºÝ?OçC–ÁVcÑ
+9uƒÒØøÜ°(SR@ð:vñNØ]S;Eé¸+ζÃ|åûÂë”2©Þ­)=E½ ¾öá,¹-—(KGô»²_l(­8ß-Æ9z[£Èp#
+¢8—lp:4‡BÃníŽ.Kî\aX§f¬ÝW¡ksI“2.`H?Þƒ bâLªº<yY‘ŸÐ{|& tÖx?ÁÐÉO0Óaí!r®bXŸ® çÁm!DÁq„³Œ[ñõ¡Müæ†mãE~Úöé¸6`aM^Í…·µÿÁ› ŽñH5ÄWhWÀÅ1t,:œ‹/T€Xêþñ›òè› }½ à˜FAœ˜ÊÞ…¾3¾wÜï[ß¹¼Ïù..\Œl³+óÝÒLhw('yž2Õ%K¸kš'¸˜ˆ©¦ªbyáÔs¬Ü+)õ3ëiÓ}é‹å’Æ>ÉÌü¯Ì”›” *¦Mhôôôìël‘ksÆÏù$¿˜é¾&ÀIŽóˆT |*åÆùwè1 Ûwק/0%Zû¯/›Š¾.”ÃäFH§¨# }¿l–>¤ï$¾Q´;î¨9îîãwü
endobj
1658 0 obj <<
/Type /Page
@@ -6759,19 +6775,22 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1671 0 obj <<
-/Length 2646
+/Length 2643
/Filter /FlateDecode
>>
stream
-xÚ­ÛrÛ¸õÝ_¡Gy&Bpã­yÊfí­wºIêxÛé$™ EAŠÔŠTwÛï98
-Øþù‚3•¥ÑìÎD–ÉÙöBGŠEZ)©.Þ]ü5 ¬Ú£“òœIË j9`³(åé,‰2+©¬
-}´·ðIümù/Ó>µ;S …#n@6á.lÚª¹Ž?­ó¢¬ÊîaêFª[™ýþêCUõ,¼øžRÂKƒŒ
-˜–E^ä·6c‰ó}]Ö÷#XÝÀIãAxw"X¢Ä˜Ô²^7£c+³<8DŽª
-¨ª¼,G[@óe1dq(ñ©ëÊݾ¬»E‘wæ¾Ù;vŒ³ Ï[ݼ˜T»8Ç4Ü“1MÐÔ•[ó4,§š$dÿyÍc¾ýŒÜÈ‚~·‡'ñ›¼®M5Øüb¤¬G×czÄ@G–)™œ…Åç×RÂ!
-²D b°
-«A©0¾o܉ftRçšræ\tÀô=J D>G5A™4-×'a僔z"VˆXB«˜z}-¦4êé¢-µĤÜåìJäÞå˜3‚úN³8ÂÀª4K2œ¨vcÂUowžj_eØÉ[Êß­Î^úðhû.K©¯/`|ßø´è…ÙÔf,åm㜖äŇ²ˆ°£æb\µS~A àÓß BüÐ_¹“Û6ÿì.÷t©nÌA‡Ûñž€3š/œÓŒ‰(ã¨>„èâd Ë8öiÖ×À°¼=´­•uQ°ÐDpî÷·àby¿ÊŽƒ-V`Ñ•R
- Š4ª³G*ô8fš+o9¿‰GÁâ8tð„5”¬¡´CI4=‹œß—Aå+ù½Ø©™N”$J¼l²Ëm9ùç\!áh™Ÿ;Zïõ…+ͺ—„]îjA(½$ONâ$æ2•Hw1>.Ûj?‘®¾Â‘ká`„z hõI2¿¶Àæ+Dx[f€¨m‘PÒ ŠMÓÛIçOrþÙ˜¿‡îvšjEƒk^ªp F1@Ÿ”½CSª@û–¡>ÏÕe,IB9ŠŠÕ‰{ïR2ÿÓ8ZšuZV˜—n›-ø’ÁNu é8áá$PUý9=ÐdYâmÐ#º±¹
-O•¦2ü›9v¬1MÈÖàï[n·x+] ÅÜÕ×ÎÔ+ãšöw‡Ý®Ù»Río¶¡X@K* ”ŽÏÄàÿh=—Ã-ÉÚendstream
+xÚ­Ù’Û¸ñ}¾Bš* ÆÅñ“×;ãÌVÖÞŒg“JÙ.EA#Æ©)Ë“Mþ=Ýh€‡Ä±'µ)=h
+²D ÝÅ`Ž/8ÚU}ïŒãä»Ä°µUKÓíÎeÆ_Wɪ ~m²{ëïÆ,¸JF,N¢çnc;‚úM’3®’6ãž@Á92•Bœ4Âïkzâ”Jæy]!u÷‡ý¥Hçh&J¥óŒÅÊÒèK¶/,Ú$Nê5íê˜vÀ]K!'k´3´K{I‡jì 3 ¦ŸDÎoÚf‚;áZq‘x²½-L°·Ð Ã(IÕX‡»Í>kàJ©@ÞMSçðÝà\ÌëC»;´´¶µí¦^5Ïp¦‘ðmæW:Žð©L ãÎ\<ñ[ŽÅ¥
+,¨Ä7‰ëµÃÛ'iXšº}Ó'•]g‡² §†°OTͼ]Š÷0
+Û§)q|Á¡ÿÎ7¡û½¯nÆH'Äž$†“`­ NMÓÔí¹±à}U#2‡2ÖC
+ãûÚŸ¨G'uç\SNâÃœ˜¾Gi¡…Èç©&HG&M‹õIXù ¥žˆ"–Ð*¦A_‹)ºh‹CDDí1)ó¹{£¹÷9æÄŒ ¾Ó,Ž0°*ÍãƒÕnLøêí.Pª 7ù…òãw«³—!<º¾ËQê ß×!-aÖ•Ky[{§%yñ¡,"쨹WAÍ”DP„ô÷‚?ÔÏWæå¶Í>û˃
+@%’ÞÞpâ"-|;KÆI6U»‰ˆ¥:$5lVS®Ì™1*îb¤­,Äzëo¦®G`&[—}º À¾ÜÁ™o»œjõ¼öôöªÂ™WƒˆÉÃuÌR•Æc ô‚Ç°ïDU·ã×û´kwP°¬3¸AÀ˜nm>Õñ :÷öt.&)X‡L2&î†A™¨e¸KÓ ƒéßõ
+†”‰253 d­ è æ#ƒ°«$w)›0dm  ÁX}@í̆LL@‰£Ì”z¹®»D<™¡FÖÖfønV[ÿƒ¤%gZÄigÿ®Œ˜t!£xJØ*‰:a«%BTåmC‹dš¸+ÐŽÛœÏ$.fâäø™ˆ|à0…áÊÍ*Zí]  .&eáÝ
+wÖô]Ú¼Þº4kß”:gøä
+£þÉg.Õ>v¡’;}›ìK¸ØfùÆŸuq@ÆòQ²'ã;“Õ¤}`ƒª´¡d¯À H£Ú<R¡Ç1Ó\Ëéø›xt,ŽãAOX»’µ+íÐCMÏ"ç÷¨c%¿;5Ó‰
+‘ƒD‰·‘M¶™+§£ðƒ+¤#-³üóaGë½¾p¥^÷’p˽£@-¥—äÉIœÄ\¦é/ÆÇeWí'Ò×W8ò-ŒP/°­>Iæ×.PØ~…ïÊ µ+²J‚A¾©kr;éýIÎ?[» ÷ÐÝ~C]®h0` ÁëŽ*¨Q Ð'eïДJÐÀ¾a¨Ïs5D†%IWŽ¢buâß»”LçÿtÅŽ–v]w-+Ì wÍ|É`§: Ðtœðªúsz  0& 6wºq¹
+O•¦²û7sìXcš­Áß·Ì°Ô÷ßPÉ]}mmµ²¾cwØí꽯Óþæú
+ôŸ¤6at|&ƒð/ë¹þ ½)endstream
endobj
1670 0 obj <<
/Type /Page
@@ -6800,19 +6819,35 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1677 0 obj <<
-/Length 4029
+/Length 4025
/Filter /FlateDecode
>>
stream
-xÚ­;Û’Û¸•ïý]ó¹ªÅÅ•gžœÙöŒ“OÖñf2©)¶DI,K¤"J-w¶òï9ç
-ßw)Iõ‘x…/Ó[fªTrBð;2mG;ìºñ¾ËêX­4x Sˆ|*O^Þ€ 'ÊÕ-¾x}Âç†GI› qj Ùw;íNÇy·š?Õ cW/6UÛô;z%Èv@Ýž?8ðú‡W–DSØ_Û1ÀBÂLsª6e Ù¼ŠÙ®úÔìN»`ÀȸJáMÔØ,²­¬7Õcƒ í9FhxC+É»Â:Þ ù–wã!’Ƥ¥¼ÿTMåy§¾Z'Öø\ZÊ<+T®¾hJeiÂ$äGÒ$k[èi9²©ÔõßÒD3ž8—El0nŠ'Ê@[ƒ´ä}ϯ5áýë¤ÿÿ<…”ÎJ ¸&ü\5H$œô šT|C]ƒÉÀ7MⶔØ}—’‘ý¡ióc³ãyOu1OŽæ¡`®»ÃÓÅÜyÜ~— ¡À(ÞÀ>ë$­ËcœôÔ£ð'\8–RÆñGP…pIÍÛ
-<"µ— éÜâØSGJj`Šïí.Faïc½£6
-÷Å÷ì‡%{rŒö²Zàfs3u³Œ»Oè5»fì|}wKÏ´ó•x_X=A'[tí*““¨äÄãÊ삵” OÝ‰Æ ¯©«¢Ž”@û¼i—ÙS'ÏAx¢¡n»Œ]=HðÒ­R^æ.seq‘o?Ã#UDk™§¡b$"XÇŸ9u‡Mý4«¸Bâ\dñªz×-€ó‹°þSöÌ ¯ËKVRqŠÈ{´¡Ò›,NJ=[
-Û@Ò5¸¯Õç&—l–pƒ´‰pù ©Ï»›é"ºÎA}h}¢†ÇË«†Ü–õ±>ìš–q<{…ÂVæåþþ‰Þ÷U, °WŸ.êNT`<­±Äœ;9{ã \`˜¸n {¢‚´>x€üÑaRLÉñepÐøF5˜:°Úw÷©r¢™N})3³âçc2HÒl)†RÃÃéJ~m… uà‡Ó‘ #_ˆPÇ攢<a§ÑÈ:-U®,'ˆdçêÐÓ''[€2± Õ¤kÛ™UÚ¼L˜Ì8q ¥R Öû
-ñv—ö-_)Ùx`Ü—õáp%Å3ªHV%m9ŠœÊ‹ªd¡+GUIËA…-‡Ñ¾>øc9àÀïøËþÚA^jI“:DüÀßi¯j‡A‚v€$Źå,>Û£?Îäì‚6¡.L;ùh§f„˜v>v¡hêTÛ~m‡Gx°A¦ûý¹›£:)<VZóáä Í<~¶§÷ðúŽòÍAO &PxÛ¼ö¡X6t5ëÓ¡š§ÊÛÈŸ«¢À©%#0PdÉɱÏJ<CêõÍ#Ïïhà»Xb┕JÇ‚²ÍË@Þ»eíÓjÅ— d(SË H”ù×Ûî¡Bqr9{/h1Žs|¹
-m† ‡tãÐ.l€UÒ¹“å £$Dçáp±8‹9k]ä,Z»Š#玘:6}cÑËù8'Ž%¦±äᇧß9ñÉ ’òŽ,%])Ÿ'xþÌŒ½'_GЙ(Äç5µ+¤éÀY5Æ(;{M*QNÇ]šsd\0ûÎìjŠBΑ…sƒÎpvæ•Ô1¥`<æI‰¹¼ášŒ—+‡ÃsŠ…‡ Ê/TÍ68ÙîtÜŸŽ|¬ü=9¯PÙ‰5¡~_/šU¸;3êCÓ¼'Ñ, £lNJ9»»ÈÙú§N_Å3§®B³øÕïó+ËàËÏ]W]÷Mò|tÈGpcáObÿÝ#RŽ·-ªö‘#±Ñ‘ø4ä#?+ƒvaSóÈfó½+éú6èø×·6܈ŽëaØçÏ /·—^éÐÜ!â]s2ìD•Æäýít´Ú™Éâ0äñ
-n4Å“gF‰ BÆãï'Ș|¾Œq=‹YîŠXÖ wPðÍ— ; ³öÐG,uW~áIRGm/êfí[41ÂÍ7«!g‚ËÁ &EmTæd¬'ž)žƒ°rL¾½‹©SÎìŠÌbqšžløÛÈNÁ[°5xoE²gF:à ûG?eí››2¿’ï*]fZÅÂáx%á1úãkQ Dõ4Ý6\QUäLdpBS´ÝgÊáºrA˜¶÷•IVý]JÏ\5«í¹zâË’žÑÐçÁ ×.¾ŽÉ÷BsŽ«ã½Q
-w ¡ÿ–êB¨þ’¥Ä-ˆ„vÓÈ$£bÏõø–f®n¶´ß¬jsz˜›ûŠFÒ;Ò¤$kÀvéÜ~‘3@¿R•—œùì©k¿½vó_Û ¯ë'îéÃ?Cûoÿ*`øÉ„)2½ÕpáZÃË3§Ê"
+xÚ­;Ûr㸕ïþ
+×¼D]esq%Á™§ÎÄ=ÓI¦g·Ó›}Ȥ¦h‰’X-‘Š(Yílí¿ï98 )C¶;™r¹ pî7@òZÀŸ¼v6º4×Ei2+¤½žo¯Äõ
+Æ~¸’<ç6LºÏúý§«ÿx§Ýu™•¹Ê¯?-Gk¹L8'¯?-þ6ûþÇ·ÿùéîã›[eÅ,ÏÞÜÚ\Ì~ÿþ觤Ç÷?x÷þ‡ÿþøöMafŸÞÿüº?Þ½»ûx÷áû»7·ÒY ß+^áÂïÞÿùŽZ?||ûÓOo?¾ùû§?^Ý}Š¸Œñ•B#"ÿ¸úÛßÅõÐþã•Ètéìõ ^D&ËR]o¯ŒÕ™5Z‡žÍÕ_®þ+.8õŸ¦ègµË¬SE‚€J¦hË,×J{>Ôû¾éÚÐ*óÙ±Ý4ÛæP/1ø\?/3cJ{âw‡Ž¾h»5ü‡Ø´³ÃºæÁãö¾ÞS»[Ò3l”6¦˜½çîŠw,È °š·ì›Ö ¸”Èr+ OêvXÖl«ªï»yS!Z¾SsXÓH„tÓ­¨ñ‹jSßà>×Ð!€žåõ­”Yi­"Ì×5®oóÙþt³º­¶M‹_[K;ÂH×n©µèÚšÆNñ;ÚÕ†Íhø¾æUàë]ÝzX¡»þ2¯ëEöaÓ.š9#“2@O­ŠÙ‡ŽfÜWóÏǵ#)1Ŧ"$Hª?×»µî鹨—ÕqsøŽÞª–»ë/M`x>‚I!
+ 6”paÉbÀP”ph¬.e^P¦o°I #½:Ó¹SFäKF2¢†5´”¤èÝfCâƒ<iQ÷ó}s»ï»þ¢jC=ÚúD @TÒ²
+T~ulÑ––…J!ŒÃΊE¾ïR’ê# ð
+/Ó[fªTrBð2mG;l»ñ¾‹êP­4x Sˆ|*O^Þ€ 'ÊÕ-¾x}ÂçšGI› ql Ùw[펇Ûny{OTƒŽm=_WmÓoé• Ûu{þ`Ïëïß8XMaiÇ
+ëxƒæ[Þ=Ž‡H“–òîK6•çûj•Xã©´”yV¨\½hJeiÂ$äGÒ$k[èWi9²©ÔõßÒD3žx+‹Ø`ÜO”¶iÉúž_kÂû×Iÿÿz
+)•pMø¹lH8éþ4©ø†º“ošÄl)±ý.%#»}ÓnÍ–ç=ÖýÙ<9š‡‚¹êögso“àþßw 
+ŒBà |à³NÒº<ÆI=
+Âe€c)e`/pU—Ôl¾©À#R{ÑÎÍ=up¤¤¦øÞîlö>Ô[jhÜt>{V!«º:nëö@=M‰ßs(¦gËjÞl0—‡Gê¨(‚'œ©€ ÁǶؔ!Ñ3­ …ÍrSš ¦2ˆŸ
+ž¶­xÍh\†,Ígj»÷¸‡Æ["x$Á.c³RG ú\ïÛ”*J׃òÜ$–tEÊ
+nU®gëîä36JD™…9sË\ဘ~³¡ÆØÒû˜oÀKÜíº=×䌜küX`r¿¯8ÃéÞaújˆÖ³»SAîÊ–CèöœwC
+ÑqðØ‹ ƒ·…(ÜCÞ³–ìÉ16nØËjQ€›ÍÍÔÍ2î>¡×ìš±óõÝ-=ÓÎWJà}aõlÞµËNL¢’Œ+³ ÖJP>0<vGƒh¼¦®Š:bPíÓº™¯i\fO<ᑆºÍ"võ ÁK·LYx™»Ì•ÅY¾ý T­!d"œ„Š‘ˆ`AâÔa6õÓ¬â‰s‘AÆ«bè]·
+øOÙ3ƒ¾.,YBJÅ)"ïцVHob°8)õl
+ž/ý<Rßœ” ÔfÓw¡(IOª”áX³¤Ö63¦þP\òì–¹ÉÊÂéóJÔ¾jVkÜ]•Äx¢êQºÀJ®}ñ§­=lÐ:ö¼þ“˜ÚeÒ_õù’’žý4ÈlL„*Ç•¤Ñc/?7uÕsÓ§Þ:tDÁà™>e‚æªy¨—¡hçóß¼4)Ïã+ ¬õf$ØËPrˆ’͹Ùw)- Å5¿Þ‡õ"X @ y6;ÑÞÕ¥çBím°‘%I6"áðå9ܶ¤kp;_«ßš\²Y ÒF$Â僦>ïfl¦‹è:õ¡õ‰/¯p[Ô‡z¿mZÆñä
+[5š—#øûGzßU=Zt²€À^m |:«;Qñ¸Âsîäì/paâºb,,ì‰
+ÒúàòG_\„I1%Ç—ÁAãUÔ`êÀjßݧʉBfR8õRgfÅÏÇd¤ÙR ¥†ûã…üÚ
+êÀ÷ÇAG¾¡ŽÝr4Rˆò„F#«´TAT¸²œ ’ª};LŸœlBÊÄ‚V“®mgVió:a2ãÄ1”J5Xï´P#ÝÄÔMì=ó&Sû&!74aѦ]véšÓQä/†Ëxz*‚‰iæ©B KêÑizÏà/H`w»èÛµ+²R;7•l_Õ6Teñ¤
+TƒÏgàõ4»E8Oë^Üй‰¯ÿ'p°Ð–Ö¾|F"tÌ âÉî<f€eX’¼TÄj²Âš ¨—% ëì*Œ¨JmƒÉÉöX•—N~ „ìcZÆK¡…ö'Ë sæ.NÝqîÁWÙnC>u¡ÍÑR ^)¸âí6í[¾2R²ñÀ¸?,êýþBŠgT‘¬JÚr9•gUÉ<BWŽª’–ƒ
+[£}½÷ÇrÀßñ—ý´ƒ¼Ô‚&!tˆøž¿9Ð^Õƒí
+ÅÉåì½ YÄ8Îñåx®XLÄÁ"Ī0ôO²nÝM¼ÑÒ” Ís) œ°Üí^|äÃäb0D_MB˜úcîf}} ÓZ7_ã©4÷chÅžm$Z§Œ¡‚ÜR¿ê|:Ü3½£IèOƒ
+>̆(ä6µ6”ÖUW ò²ÛlºÈhUôØuà~š>µGíj¯ˬí,Ü_ŽÔ0‘ú+`´2Ò}»˜³ÚWIçjL–ƒDŒ’‡ÃÅrà,Z<æ¬u‘³hí*6Žœ;bêØôE/çãhœ8–<˜Æ’‡÷|çÄ'3Hʲ”t¤|žàù3cD0öž|Ag¢OkjHÓ³j Qvö–T¢œ*Ž»4çȸ`öÙÕ2…œ# çáìÌ+©cJÁxÌ“syÃ/W‡ç 1”!_¨šMp²Ýñ°;øXù{r^¡²kBý®ž7ËpwfÔ‡¦yN¢Y@FÙœ”rvs–#²õO¾ŠgN] „fþ«ßçW–Áן».»î›äùèà<ÆŸÄþ»G¤o[Tí5Fb£#ñiÈG~Ví¦æ‘=Íæ{VÒõ'lÐñ¯o­¹-×ðϟAžo/½Ò¡¹)BÄ»â8d؉*Éû Úéh!´3“ÅaÈãrU€ r…#Bi%ð¾Æhñˆ÷Ùæ)£¥3Gé$,Mi3„gŽ @ëÀo섇ÞCǬǭÔy®7J¸}…"ªÉ4° å>_*V$nG€•Š§­£Cþ\折 Ò…(ƒ÷`¼w7b0¥Ëÿ¨ˆFçoBÌ
+c ˆ¨EFǼ`a` ]°Á'$+N·ÎYh;³¡¯€~[=Ž7™—€
+¾ì:@o¦Ákß´ód˜RÈLÈâupȨpéÖ…Ù¼G%3LûË( *£“²EZ¬¤Î³B»)kâ­§ÐäÞè
+n4Å“gF‰3BÆãGȘ|¾Œq=‹YîŠXÖ wPðÍ— ; ³öÐG,uW~áIRGm/êfí41ÂÍw«!g‚ËÁ &EmTæd¬'ž)žƒ°rL¾½‰©SÎìŠÌbqšž¬ùÛÈNÁ[°5xoI²gF:à ûG?eí»5e~!ßUºÌ´Š…1ÂñBÂ+bôÇ×¢ˆêqºm¸¢ªÈ™Èà„$¦hÛ{ΔÃuå‚0mÏî+“¬ú»”ž¹jV›SõÈ—%=£¡Ïƒ®]6|“ï…æWÇ{£î@Bÿ-Õ…P ü%K7ˆ[ í¦‘IFÅžëñ-Í&\Ýli¿!YÕþæô07÷¤w¤IIÖ€íÒ¹}‘3@¿R•çœyrÈÔµß^ºù¯m†×õ÷ô១ý·0üd„Þj¸ð?­áå™Se€B¤L" ,ýH"+3.Zq÷…«¾ç/tœM/õ ¤#Ñp8&Bü%ÂS*ü?ª¹endstream
endobj
1676 0 obj <<
/Type /Page
@@ -6829,16 +6864,19 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1681 0 obj <<
-/Length 2195
+/Length 2192
/Filter /FlateDecode
>>
stream
-xÚÍYÝÛ6ß¿ÂèËÊ@¬Ô•<mÓÝtƒv“Û¸Ú"ÐÚ´-T–\Qªëî¿)K²’ì¡/‡}°4Í óI.Ÿ1øã³(öãT¤³$ ýˆñh¶Ú_±ÙÖÞ^q˳pL‹>×·Ë«—wœ¥~‹x¶ÜôdIŸIÉgËõÏ^ì ˜÷æýÃÝýÛŸoæIè-ïß?Ì"bÞÝý·ôôöñæÇoç .#î½ùþæÃòö‘–b+ãÛû‡ïˆ’ÒÏg„>ÞÞÝ>Þ>¼¹ÿº|wu»ìöÒß/gnä÷«Ÿe³5lûÝóƒTF³#¼0Ÿ§©˜í¯Â(ð£0¥¸úxõN`oÕ|:‰g¾b1`(¦
-Bé}_‰ÜìÔ‰¾rÆ‚Ê.ùB†`Äý4Š„Ñf·
-Rs´XogôðØ –ŽÑÿÀË
-×Z]K74h)AÎ)€¢gÌPÐ!¤”ÓÔ \ô%RŸéÛÆyàlµc##1M&¦½ˆ%v+ç‚$öv8IBiˆ}P«<³Ë4áTUc´ …æü"oˆBÁÙã^·+¥íZÛZËÜ©ÒÉpºl]‚yòÞøP¦€ ‹‡>´ù}œò0v”Uùk4œy÷[©÷Yæá›KK|ÆÃߌ~p€ÃJ†Ï+ø [ƒ– ‹>—2éÏd¦9\"Ž½]J7½åv1ûƇá¾É8×JÌ •ÓøEí„sN#mì‡I‡†»
-Ò4¹P6MbãÉÈtUêsüÔº
-áK‘—FSdÛQëàû±-2MØaÆÿ8zæ0u¹„í<ÚÓ¶²ˆ˜¶gLÂÐ%`˜·¹ôlÓ¨Éé\Š¯ çpŠ¤ƒÐdšˆ“[š‘¥ÃÄ…†ôJu$ÊO÷ß½ 'ÂÖ ^¥ËÙe’éìC»‹0á°;_Zhû¡L“ÿÉüÜZoƨÒk¾DŠK3A®›>ÖsøŠNaæÝ ’Ø`­*ÜI6 ®s½¢£Èü>ǪèÝohíTµôP*eõ4áw•š¶;n%í$¸Dx!²’Eì[Ýôí³âŒSÐ~›¯ølF¥‰>Ô%÷g2Jp( ©+ ‹ís*bç̉˜ f³û\)lei€Á"Fœ:Úú …ÏU8æ…wÅE3Þ—+›ÀøIŸûÒ(µ"¯;›l¦æ€ôðVöùI‘€Ñ©Ü†14áÖÊ"¯ >Ž½¬€áœ{5½Ùò2Û¼h¦Àâç£70±)¨ˆ¾˜òÛSk¡#µ¦X¬÷Õ:ßœFµû|¸ŽXïp /O–õPåeÓQW[˜Ô\çÉì§=[ûÊwÙ¢ ËfÆ[’…ç›%sº]pãÒr§Ê­avu¦Õô8$"ð=¾ o?‚49_\À,ãíMBòycàó0ˆ<]Ñ‚Ù ò ‘BS+’¨õ ÓD²ìP¯2
+xÚÍY[oÛÆ~÷¯úb
+ˆ˜½ð²LžÜÔN]´N£à -ZZID)R奪Zô¿Ÿ™]Š¤˜ÄE_
+?ˆœÎÌ~sÝ5Ÿ1øã³0ò£D$³8 üñp¶Ú_±ÙÖÞ^q˳pL‹>×—Ë«—wRÍ?‰D4[nz²”Ï”â³åúG/ò…? Ì{óîáîþí7ó8ð–÷ïæ 2ïîþÛ[zzûxóÝw7óW!÷Þ|}óýòö‘–"+ãËû‡¯ˆ’ÐÏG„>ÞÞÝ>Þ>¼¹ÿ¼üæêvÙí¥¿_Î$nä׫f³5lû›+æËD…³#¼0Ÿ'‰˜í¯‚Púa ¥£äWï¯þÓ ì­šO'ñãÌ2
+À0ñ#)¤P¨Å~ZÆØ|1æñð _Iá«He« ]¥ù+@ؼ¢l²•voU[Y±E ^Þ‰¾:6¤}.ãÄ(Zît5çÊÓ
+×ÄÝìÒæBˆôÚÚ±oÊÊÚÃ{öØ“HX†¡=EºþK³%ó“DF–ëº&‘k½IÛ¼!òr»Å=“ µSšç屆H’ò¾.DnvúD_9cAå —|¡‚0â~†Âh³[€Ëjú]ëzUeO¹G À£³X$~(s´XmgôðØ –ŽÑÿÀË
+õ‘¨,ëÚ™zjv]þÔ»f°è¢Áj›Àu[óGjûn¾l÷Ð:™­ÏÐí§Z0óáZ«k©ã†-EFÁL*Ì0=c†‚¡”šž Nà¢/‘úLß6Î¥/CØjÇFFbšLL z‹íV:ÏÉ8òv8È8¦4DJ}Ы,µË4á”]a´ …æü"kˆBÁÙã^·+]Ûµ¶9´–ÿ¸Ó…“átÙºó*ä½ñ¡J
+½î l²™šÒWÀ[Úç'MF§fpkDЄ[+‹¼2ø8òÒ†sîUôfËÈl³¼Y˜‹œÞÀtÆ&§"úbÊoO­…ŽÔš`±Þ—ëlsÕîóá:d½Ã5¼<YÖC™MG]ABnaRs'µŸölí+ߥ¿uŠ:€.s˜o)œo–ÌévÁŒKË(·†}¿«ÒZOC"ßãÛðöC&ñùâfooŠ’ÏŸ2ôê’Ì^×
+˜²ts]ÓBžˆÓâ¹¼y<¤Ð2ÌÝÀˆdÈ®¢±bkJ¯Ô'¬6S2*Ò¼¶üNYäý¢õÁª5I¤^ϤÃJª¡ Âñ/²íHÿ¿y" y_Û®vN¿~mî\þ÷õ°ûÓŇÁÂäi_Œï>úŸ#y|òÏŽÝ}ê0èÎîëlºà‡ Å[ù‰‹MÖÍÿøòÿüŸ‘ ö¥Rbú†tdî©÷ ?ñ•LBvû{Ã]'¿o‡²²Éû_StUÃ`¬
+v¤¨ Üÿ.Aø?ws¯endstream
endobj
1680 0 obj <<
/Type /Page
@@ -6869,7 +6907,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1688 0 obj <<
-/Length 2877
+/Length 2875
/Filter /FlateDecode
>>
stream
@@ -6882,7 +6920,7 @@ xÚÍkoÛFò»…€ûP­6Ü—L?¹~ô\\œœ­;à®-J¢-"©ŠdÝ¡ÿýfv–©P¢sq
ŠæÚ,w²˜ÃéƒÉ# nQþ\ þHÐ’rÐy‚…F‘ÚÄEžâ©bñÅͤƒœ’NT…¬þsD3.ªù§Áß´ÌÚ õp>ŠäcLsiž¨ÖͯÉCLú‚ uë8´ë,^Fé}÷œÌÓ$ÎJÌζ{‰Ï|Ùˆþ3c)ía¹·ú‚-–2š)c¹+2ÏWäš0Ͳl‡ð~HôÿnŒ~¹‰² ‹]Êø™çHŠ¶íšÇÉÇ£g«Mü 6^Ê—L 1äþ•o÷œùjxŒéì·ar×qö¶è~^öòge¯æ ìÈÓUZ3®9]—å?)tF^ݼ^_ý«cùË|ž§G˜×¢ê%ë¦ ™ÏÅcUÐ
Ʋõ§§¼±ˆÑžïöð1‰ûÊ‹‚qé‡nÃ2^8>s5U¡°l§»S#ÆiR·ŠjµŠ°l‚k?á7J‹Ü-Ìl¨aˆkö··$Êd&hø~ð(‰
š+?w5 ë ¹s6=ÏWLø¼¶Ö‡7(æÞ$¶¸­—u.O0)…Þ«/»ˆE˜±Ÿò1ùépw*K!xê#PÅÀ:ìÜâ…Ùç‚ÄŒª]‹n¼§€F@7… º‘Esëán,öÙNé ²TP“.ï –áËzŒÄ½Î7¥ûpYR@ñ¾~GF‹…«¼¸ <“=ßGŒèËøÝÕ,Þy|íN±îS’74âj2Ý:þáèd»Ž!ð’žWô©ì+Ö@ì
-r¡â¯Ðg* ùNO'êæ›áìºó˜¸ÍìÓ#lîb0ΩNc[N] c¶â€k×9X™ÜJFî£$­†î½[[{ÁwJ~ÈàH¥gbZ)ºóNŠ5Ö{†Ó3·Â;Pg›OHô“`äÜ(#0ÿ—Ec¾»Ö¾©‰C{•/ª4î}n²^·.t†ónݺ<ö<¥Å¢¯ãºò<f„‚”’i?}/½Ñà1{ê{ÊÝcSÈe´¤Ü‰ê=Ÿ"4ø¨q!CUˆ6¢žÖóR23y'êËWˆm>•qÖ¼#»«Ö.6…Î?­Šmü×g¨šgœî›-Fü6©Zíendstream
+r¡â¯Ðg* ùNO'êæ›áìºó˜¸ÍìÓ#lîb0ΩNc[N] c¶â€k×9X™ÜJFî£$­†î½[[{ÁwJ~ÈàH¥gbZ)ºóNŠ5Ö{†Ó3·Â;Pg›OHô“`äÜ(#0ÿ—Ec¾»Ö¾©‰C{•/ª4î}n²^·.t†ónݺ<ö<¥Å¢¯ãºò<f„‚”’i?}/½Ñà1{ê{ÊÝcSÈe´¤Ü‰ê=Ÿ"4ø¨q!CU‘}ñEëy) YPß¼B`󩌳æÙ]µv)tþi Tlƒ¿>+Õ¼átlqá*µZ<endstream
endobj
1687 0 obj <<
/Type /Page
@@ -6905,7 +6943,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1694 0 obj <<
-/Length 3074
+/Length 3071
/Filter /FlateDecode
>>
stream
@@ -6915,7 +6953,7 @@ xÚµZmsÛ¸þî_¡™~(Ý91@€ä}óåìÔ7‰suÔL§w÷¦h‹s©I+î¯ï³XP¤Ênê6ž ‹÷ž< JÌü‰™6¾Id2‹
~•ÂZúí£nUd/bj}Úô°Crˆ¶½›À(¬ìðŒv¸‡Äùc^¹;µR@'‡ºº,Ÿ†M4UÝúÎÚ™v[Dy[Ì盺)Úâ1c(’~óœ®ÄaÄ›éÒr'Ç>=}!?b÷\¡N9qe|¡£>úîŠF¡±v×Z$VüÄÑn˜jy‹©•“ ŸxN+„´CŒÚe+ƽSC ãܯq~%ë§K *FDŒ”Š'©–Sâ†mm¼·i±-¡î–IÚurÆ’½­ ™me)dµtG¥Ó
L.žV!v%«ÛŸÿù"œº® õu_ ÂÙyõ®åZ¾å]rda°¶b˜…PhÙÔe‘=q«Å»–Kyg™#œN(ϱÛ­J*¦µ9'ª?P#>*9rXÈ{Û Ÿ„œÏO3€ý»îaÊ)Iß}§^®t;2V¾a|¨‰ë|ïÿ÷ÚEûßç¥)Ž²Þ8‡:­lÃ-þ¯Ra"òÀá·¼ôCNj›Ô@è26/¨›~¢0½Ï´Íç%aû¢Ö*ýÈÙ\"½ô‰Ð?Uûwjpowü¤@ <Q/ýK„X´+nw!ùÍU˜Œ3@ˆRÊ}¨š»«î¹Ê9Ï+ÚÑ|»-'Ncb_†¡pÕg>VgZ”NS(,ù„CyÅ~ôn-¬— Ž,„?Cåm€üêe‘ÙªtP:Ö¬ª´äÀ¼Ef½iè"~è°31èV˜e¯¦¥G¶HÔP6½EÑô1mÍõ¾ùÀ>݈=üFXòÁ¾ Qäa"‹ e’ì³êûzB¼°‘êé:50LÙO ÄP
fY¯9̃®ø­K/ºzOâ°“÷†-pÁý¤ Í¿dù¦eœê̆ë§rê‚yª¦»'>iOV0¾üsûä†Ö\†×çq.o4â4„î73è)UHO[2׶˜è¤2sƒ½J;ÊÏcÑ/ó2}²@ÆÈ~Z›lLï8†ä`˜¾³Æ !pdç[f; ÅÎË’„Bmn(ïbêØ%°=°ÉÁ«rϦOÄ\uÛžg¥B¼ÁzƒÞzÉÀƒ„ÃkìA“©™»Ý¨VÖ]Ül¸ê| ¨Ôz$8 d8Û¢ù¹äyÿâRb%"ïó99`x™ÎMPTèλÃ`‹ü]Koé·ÐÛýØrе¤àÂFØ£6†oéSÌdrkï&{/ÔXæÄ-ªeñX,;Ú/Õ{ˆ XÐpÏ¢qãÝy—û0q࣎¶`ªç
-G×W†ìÑkæ|öÕ×0Ö8Tà"VÏ£
+G×W†ìÑkæ|öÕ×0Ö8Tà"VÏ£
endobj
1693 0 obj <<
/Type /Page
@@ -6938,27 +6976,17 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1699 0 obj <<
-/Length 2990
+/Length 2988
/Filter /FlateDecode
>>
stream
-xÚµZKsÛ8¾ûWè¶R•ÅO‚Þ““سžÊkï\29Pl±B‘ŠHÙñüúéF)Ñ‘gÄ•b£4ô×/PlÃÅ"•£$•‘Š™ÍW'ñèú~;a~Ì4 švG½¼>yq)Ì(RÍõèú¦#ËD±1lt½ø<~õŸó×'S®â±Ž&S¥ãñË«w¯‰“ÒãÕûw—W¿ýïãù$‘ãë«÷ïˆýñâòâãÅ»W“)3ŠÁ|î%<2áòêÍQ¿}<ûöüãäËõï'×í^ºûe±À|;ùü%-`Û¿ŸÄ‘HÝC#ŽXšòÑêD*))Dà'ŸNþÛ
-ìôº©C秄‰”áÉÀr>t€*´àÂàõ2¯'S=^Ù¬ôdVâ3ÛÍfÂ̸ÚÛ5l½-š¼¼%V^Òóè@©ñ—x`çWohþ}æ.lcç]xñ uyi‰#Œ‰‰ªnèYW[·ÜÜø3Žù„ ‹GþâRv7&Œ„  Ç[ú¶µ›‡hN{' Yd¤`~è:Qbü¦ºÅ¡£©ä:’†Á92¥Jq7jeë:»µ5é_Ÿ;6¤
-{g "ïóÂSëlÓäóm‘mŠâ,m±&*_زÉo‚ KÄ<ÛÖ¶¿Èá¡"÷ÕjÉ=·Í²ÚäMÖäw^Bm7wvƒÓ"··ö”D©àÆíéÀµð‹k ú™mo‰çöSÛ½ð8=ÜÂÀ^æ·K’~ŠŒÕ›åª‡Í«²±ßýy ﻂW«Ê¾LÓ|»©é­[V][îß¡YfM¯àG+ID_ØÓù„áckõUÝÞÚè^°Ðo[.^Ýû
--ªê«§ò¯¾7«ƒBŠ¢º¯Ï oÆÓȘ$uovc›ùr2Õ1¨»Z­ ëv‚MÜ#>7¸}P]4?ãiÓi‰ûûûÈ~Ïpf^œ÷·O€E“ÄÁ"Žâ8fFœQ»ÉWaµjÛ¼¨·ó9ì•ŸÕ*Ë˳ŽðÓ!Ù{>!+Îø)¼i(?KN¿mj€ô™9Å%@ö™:-²•=‹OKØáfÄžfÙ„¬ÏØi¶˜Ñ°›¼\Ü
-¢¾ r8Wã}j$ÖÎIlj„Kœ8$öÌâ "x¨M°‡!óªp°^½†î̋Ȉ±Õ– J<2L˜vÿz3iõ…—ï,
-ØÈÊ r;EžL™ÄÝuÒ†‘*l˜X…./àШp˜sðØ~³îç·‹GÊÁy
-‰Øé ÁA´¡G¸ÀLCú¾ÜIöbÐgÓ¡-uRŒX×”¡Ì²FZä̬¥ØÈÐãY•àˆE±±öýÁ/`cQÝ—D¹ŒžÛ’ú³ùp;‚fa³e@0-ÅIòMrÔȽ8‡¥‘FCfÞjŽ¬«‡B¨éï9eÕøhDjÂÐ6ñ *Aç ”G¶‘c[΋ªv(6½4>ëoÛöt°=Ûd󯶩}¯·˜^cæQC¾SÝo0!(Š`&Fx?iDH¢ü»P¾D"ƒ{@ëseví ¸]: “D‰ˆƒÃ H7à,º’H´e[,h•°Yb‡ÄœÇ®É|ûWUz¶Ž²ÔÙÆ
-LÉ\W *»ø7r ö‚Üt'ï$ßcÎåÔAn ²ÕXAeÐCQ›NvR÷‚¼
-ð l?Âb€|`/é j³´›<8§ºŸdÕÛÕ*Ûä9•+2îž„®—E>ZW´_M1‘DR%r$A…P±§ÔSBš(‰“½zêÿ›^
-åí¸Cr…9þÓÀ«´`CÁ†ÏùüÀòiòŽDù)}¼¹®MŽ@Ûu®ªÆÁ¬äŠQ¥bÂÎa Ð`Þ:ÕÇb€Œ£Tr凡ïd²Ø¤š(½6-èöE¤Û öÒûN½‡ŽA%Œ³>4[ËÒ‰Y—²s .Õ¹yÝ&IHþ«x]ÕuNÑ^·™;L#× óæ4ÔðkàO‡KÂÛ°
-=½nír 嶅å˜ï®èI›Eêkér#œB™2ý-I¾ÙI¬ƒ»ïóì4ïÿcf×Åóóldgv\DéïíD†›N PeòˆÙ #"ɯ¨ŸèäµØ9yÍÛ Rîî­v7=bß½k¬KÁ’u®…uÈc !Óc64möt~D™SzÞÉÿZe‚ºÒ„±cÊ )æSïP<M™PPµÊšR/„ÔÄ­órî7aÖžb[N·Š=H¨³ »îàÊêœÂÏRÖ/xPHÀHØãeA0Ö1Wþ(Vö‰áŽé]¸cŠÂðœÇiò)Þw/ÞA×î[Y3¤¢a“„
-Ò9~´²I¡²i ÕðÚïÒ.,o¼GÚÕꮼioì±Á"WâMµi“HÙÜG;¥#•ŠôàµQ.ããÙ=ݧ†E¢+r‰Ù…q*?Í}@€áYo »&qÃnè‰×³Ûu<”â7¡ô_î"¤.^’g@±Í2·¸à.îž¿~‰ñð”8»Ú š"l_ðVÇ*ë%œsWì=nR]¬þ¬`üL“â2’,=Ìxù-×ÚÝ?ͨ„ä­Q!íô ÏPÍ–àkbí à”[åDí;'¨œß±nËÆ«ØùJíKV ž€Köù´waUiŠ˜J?fž*‰´|‚}8T±gŸ‚'ã÷e(öS,öõžuAU²r·tRÀz" –ád7‰ví¹‡Á]Ô‰eÐ#¾À¿±±ã¸ã,K‘½CÏÕ«·ˆ:\
-˜Ý/Ð\ÙzPOøiæFÔAçÏ2¢_P÷3c"¥Dz̈ê<6Ýo%O³"¨E[+B­ŸÛÒ~_{¯Ží®Û­‰…®Ïßî`lª<žÎ?4CÌjX]HFßðÙZ6( E
-#…F“DLúº† ˜aJKýUö„Dµ«¼ŸUìKÈ}1>?]d˜ñ8Æ ’M @Á3 Ð(ú)
-±Ë,/¶^'Põ¦tÍ­Rúüæ=%²»~ÛÁïàÐNR¥Øõì
-Ò˜Ôt|)ÝÿÓU¼/„>"Öû0¦õ§Àôþ4¦K3šéœe,ÃÓ4¬µwëÂö·XHô0´ÃA$rì2Šj¤• ¼Ê Zfw¾3+<1\èwÒš]:ß~~üª;py­çŒ%ŒHŽ]a1Á#¡%¥á“ò?Ä5Þ¶P%Ýu@þ"…õTÚ¿
-a}lG”‰ÐÏl°7<³ÁÐZ5îû¡Ò*Ð1VÉø¦ÿŠ.ñhobéÒU…Ojà#5ˆð—®ÃY»‰}#ÞBe hã0¢ÓHB1ô³&øïæÙ?¢Úý @+Œáÿ±H§ ¾6ÊÂ#Á˜…îþ¦,‚œaú‡ï*¾øÞØr¾u|Ú®×ÕÆÔLÄ)¨@.înûÛ-¿fç þÐÍÔendstream
+xÚµZKsÛ8¾ûWè¶R•Å
+ìôº©C秄‰”‰“Œã¡Ti¤E,Ü^/óz2Ùã•ÍJOf%>“±Ýl&ÜŒ« ±]ÃÖÛ¢ÉË[bå%=?”ÿq‰v~õ–æßg^àÂ6vÞØ…ßPw‘—–8ÂFTuCϺںåæ~ÄŸŒÅ>.,ù‹KÙݘ06d4néÛÖn¢9 ì€ä‘‘‚ûq ëD‰ñÛꇎ¦2Ö‘4Αó(U*v£V¶®³[[“ÞñõðÙ¸cCª°w¶ ò>/<µÎ6M>ßÙ¦x ÎÒk¢ò…-›üæ!²D̳mmû‹*roPH –ÜsÛ,«MÞdM~ç%Ôvsg78-r{c°§$JElÜžÎA±~q-A?³í-ñÜ~jb»^L·0°—ùí’¤Ÿ"#AõfyêÅaóªlìw¿D^Âû®àÕª²/“À4ßnjzë–UWŇûwh–YÓëøÑJÑvç4F>aøØZ}U··vºœúmË%«{_¡EU}õTþÕ÷fuPHQT÷õÙ
+CwæEdÄ؇jË
+P%&L;‡½™´úÂËw
+ØÈÊ r;EžL™ÄÝuÒ†‘*l˜X…./àШp˜sðØ~³îç·‹GÊÁy
+ð_¿ÿôéâñÀ"ò…ó¤è½˜ ï,Qÿ 3À
+á}lG”‰ÐÏl°7<³ÁÐZ5îû¡Ò*Ð1VÉø¦ÿŠ.ñhobéÒU…Ojà#5ˆð—®ÃY»‰}#ÞB%´Å0¢ÓHB1ô³&øïæÙ?¢Úý @+Œ‰‡%˜H§ ¾6ÊÂ#q1+ëïü¦,J#>~(vñ½±å"|èø´]¯«¯¦ÿ˜pRPÀé»ð·w´í·ü‚SøkPÍ#endstream
endobj
1698 0 obj <<
/Type /Page
@@ -6981,19 +7009,18 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1705 0 obj <<
-/Length 2418
+/Length 2414
/Filter /FlateDecode
>>
stream
-xÚ½koÛ8ò{~…?*À™Ÿ’®Ÿ²mÒËb›ö’´8 [ŠÍØBeÉ+ÉI³wûßo†CÉ’-'}"r8œ΋34Ÿ„ðÇ'Ú0“ˆd%ŠéëÉluN°öæˆ{œi‹4ícýr}ôâLÆ“„%F˜Éõ]VÌÂ8æ“ëùM`˜`Ç@! ^½»8;óáòä8RÁõù»‹ã©ÐapvþÛ)Þ\ž¼}{ry<å±æÁ«œ¼¿>½¤%ãiür~ñš }½<=;½<½xuzüéú×£Óëî,ýóòPâAþ8ºùNæpì_B&“XO`2ž$b²:RZ2­¤l!ùÑÕÑ?;‚½U·uL*äŒ -AŠIÁŸ`K,B`ë‡*b±£®S&ŒÃ? )
-Õ ma„×м\¥Y1¢H™0BtÚŸeaA
-þ7 óàÏ!µ j8RîÙ–EþH£eº^Û‚Æ-ñ Ó8aèM$?FÍb£µ—„í„ÒS<éùÑÏù¦T1“
-£ û±]­ Ü$LFàóSÉ™Tfœ{A*¢"EŠÉÔÄ0’zQ}¶Ä
-)}r¸Ïš‹ÿ ÐUâžXGî lÞÕáWÖîU ‰`*‘i4 Mh°ì¢µj1¡Áe¿™òèÓ>þ~™¶GutegTüO–Åa¸
-dGž¨@3±+'V…&Œ¡ –Ð:BškõZ¤ik_º=Z®6Ǽ'áèíõ‡Ò¬ÒGÜ:€ VpËdë|ÔwB¨‰•PÏ9o7j×yjâ³õž¬XËÅghq„ÅkÂÈš%ýíxçêLÀ \ÒDCøîmm«&ëßã½Ô|0f4»?v—‘÷®$Ø„ïß>1œnþ ÏN}ªF‡G8¤õÀ:8¯âÒ³SFM»”óuÊ€‰iºöÆ•/‚q¡¡;`Yr3;dÑñÞªÞ©®6Hãf¨¹¡=D$‚yjW.1AܶšOg3»nN»þØØÚU7°êúxEÁù¡%-ÐÕƒ#'5í”5wemÜÃI'¤ÌÓ…Bk¾CÙŸûV =#Y¿\eMC¬ºÚ©“ Yž 3:i[ȵIšc†?î)y¡ñUIð—ÓO»œJŒ÷#wŽÄ™BùÇJX·Y1¯iغ‚¸‚ô® É0
-yÐ D„í á‘p9 @×<ñi9{V¯/®h€—CÝ&Jõ††X§3‹º“q€…¦ujÙv';M!@üœ&· rMÝTÇq°ñ%·Ô$›4[Z¾K‚Ñ*-
-wNé{$IqâºÀj•zêt
-ŸzâgÓ½L¨ŽÞO|,aÑô½ j÷ôkÓËsW›õ¶rûxÌ9‡»ÒH/à¦&Ð{m4 ®1¢‡ÿ‚'b"endstream
+xÚ½koÛÈñ»…>Ò@µá>I6Ÿ|‰úpq®¶ð-­$â(RGRvríý÷Îì,)R¢ì<ŠÂ€¹œÎÌÎ{V|ŸhÃL"’I”(¦C®'³õI8YÂÞ›îq¦-Ò´õÓíÉ‹ O–a&·‹­˜…qÌ'·ó»À0ÁNB¼zwuqùæýõÙi¤‚ÛËwW§S¡Ãàâò—sZ½¹>{ûöìútÊc̓Wÿ8ûõöüš¶Œ§ñÓåÕk‚$ô8BôúüâüúüêÕùéÇÛŸOÎo»³ôÏËC‰ùãäîc8™Ã±> ™Lb=y„—ñ$“õ‰Ò’i%e ÉOnNþÙìíºOÇô§BθШ˜ü ¶Ä"¶~©"‹0Úã:åaÂ8ü’0ãPt6Q¢gÎ5Sq4‰tÂŒÒÙä!Íi–£n^\ˆ>:h%Ò*ˆwHÛê”Ç­A¯q” |FÁë«››óWjÙ<m²²
+wtêtm w þœ.]ôÀ[ê 6«²öiÓ‚< '§-'ŠÇöáGðr¹D÷Ç Â5(Ó TÈÕlEV R"ô Õ äkpÚx”³Ë_‚MpU6¶CmhUØ%¤‡÷q¼)‹Úzªõv¶¢UZ{2ÿzýîíÙ啇¶pÔʦOhI›sÒ=
+=ÉGR
+åkubÜgż¦eë
+rà
+Ò»‚$WÀ(<åA/¶gx€t†GÂå€
+wNég$Iqâ¦Àjzêt
+£? õn¯cÙU>#ŒG|)ƒb½à^7²ÁN7ÌuŒGÝTLXÄmþmY—«¤soêG.¡8J©‘(P1%åb9{Hóî<W%Ç&  iŒä?ÆzìzMµÕá…mf/*\ÇæŒD3£ºr‚.L‚ˆd÷åì!›[Ê”¾ž(w§ê" ;á5{ß0Ô.· n•a³í2[7Ýã ^ÎÛ4מ„‘û!.°‡S†Ç7ZÁÛ®“:ðÑ/‰>6á)?`ê¡ÁN‚ë' žDÊ|gq„ó{Ǻ£û]‡îÖYÜÝØγ0­ý™hˆ†ä¼y೪Äëx×'î ×Û5ÝqÐ4ƒëÈߘ˜€f„dARzÚ™PÝe°Ûõ¾jS4®º{çîëš ìµß¥ž‰ýL3
endobj
1704 0 obj <<
/Type /Page
@@ -7043,18 +7070,17 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1714 0 obj <<
-/Length 1322
+/Length 1320
/Filter /FlateDecode
>>
stream
-xÚ¥X[“›6~÷¯àÑ~whŸ6‰w»™v“nœ¾$„­‰@‰Änóã{„À [’±ÙÙY#‰s¾s?Hr, Ž6öߊß°Xi±ÀÖÞÝ,œŽõDhHõb³øåÚ‹­ÄNB7´6ù
-
-ÄÅaàw$„KJ¡X~œ€ ;òO´­Çíä g㶩ì´f…‘?Èš ËQ霘Κ›š©'4x’›=ëú'xÌ vF;ÑîßN¹ ¶Á¬“›:Í&ÜÚ1v¢ŽNŽ•fåþ5òlùIÇZ’‚fv*Ê|BJèÚnöÚèúáô× Hä&Ø’(Çv¨ûÀP}‚—ÿm“ Ò%Ñe”[ QŠ¤{”Â5+íp«UüÍ,|jApÏî Ù¿Bâµµ=˜l¥ªY¹›æ ß ©´ ñì|~Ik‰X6œnYöS„‘þ«iªD}4ÓŠ¨ýOL ÿLèì)¡f`ä…8# Ú\B‡œÖ—ë ´ ;)IÅ´Š<<#­iÁïp
-)«?ÃŽ'a]6™ñ%Zd{ø=gû˜Yz¦È9Õ&?ʧ—G"kŠê|Ö‘ØVfm"Ìc—4­…Pr¦â’J]·:æÊ?Œ~9?á»®1ñ¨™ÚPÏgØPÐB7dø&±´k~G*·¢Þ–âœj²ÏŒBŲ™€âo u–»¹ñ®êzC‚žú/oxWÇß»"ƒþNG+%ðaiÔ•‡au_œŒê-]
-Ÿ[IBLÍÀ€¦ÔTÃñÖ|)ÏP?'Ÿ)b_Ú÷çKçTÁ÷uÇ:ƒ—7rÚÝ¢¶\oçypdÁž
-g%+G5•lpèœ*ox»GG©®‹
-Y
-Ž.e¿'ºˆ;O]ÇH+ê\ždp,‚­ª„à3BAÁ?b‡¼FDÎ(—–5¯Eû©6D´Lû Äž˜‰Íh©=©‡sÎG¿”ðõE´$|†ÊûWÂYFÔ)æ?VZ©ø±jSØ\ˆÏpxÍè#ô#T­Q'±Áºhlg9¢y"iØÑUÝ@æ‘2Ý‹z¸ƒ;‰é<uⶾ¶˜¸¯À§ãå³oG¯Ž|8DZûxñ1:ëa8ì¹IÔ+¥­ <8³ûa8¼,²;Bo]3Ó¾]-3ÚÝr¼kªJÔÝñï•£oÚÚÖþxê‡Ó¥Ìÿñ«Þendstream
+xÚ¥X[s›8~÷¯àÑ~+®†Ý§´u²élÓÝÔÝ—4ã‘AØš
+D‘híÝþø=Bà@–vl2™Iœóû‘caøs¬(°±ûÖ2öí
+³BŠÔ >J²£Úħa ¹¡Ã¥Õ¡B·Gè-Aɬlè8“
+tðgN8ßÌ0•¸sbæ‰Ès­‰KªÌ@dæy2D3(a·Ô<)‘Œ͸–4mß u^ó…3W¬äÔ,HUo[mŠ–VròµûG´U–Ú4 uÖ “ïÁ(µ§¬ñ‘ëûݨ5ý§.òü8héĈ‹ÂÀoI—B±ì88öÒ?Ñ6·O½œAŽÛ¤²Ó˜.ý^ÖmÖˆRçÄxÖÜT$ÏI5¢Á³äXïY‹Ð=Ácf°k1š‰Žp÷vÌ‘ fÜÔj6âÎÐŽ°³léäPiV<“á÷Y—ž—~ܲ$§©ˆ"‘º¶†6º~8ýu¹1¶ƒx‚¿#;Ô} ¯>
+ÁËÿ6ÉéëÎ2È­CA”"É%ðCÍJ3Üh3 îØ>ûWH¼¦¶{“T+vãÜá{!•4œÏ/i2KûÓ KŠ0Ð?eM”¨ŽfZµÿ‰éáŸé½€='4ÀŒ¼g`A“KèÑêr”¶a'%)™ÖC‘íË0’Š¦PŒð¢°’ð3ìhpR‘Öf“_¢Eº‡ßSp6O™¥gŠœ“QMò£Œqzy$Ò:/ÏgˆÝ²"ma»¤I%„’—TêºÕ)0Uþ `èôËù ßµ‰ïDÅÔ>‡z>Æœæº!ÞĒ¶ù©ÜˆjSˆsª±Ï>1
+%K'
+|ú¼|ñíÈÓÕ‘_ÇQä>]| ¾õ0|ì¹ñ²SJ[x äÇØë_Ù±™¡vìê h‘ÒöŠãC]–¢j¿ÿ^8ú¡)líŒçN8ÝÈüß ÿqf-endstream
endobj
1713 0 obj <<
/Type /Page
@@ -7083,14 +7109,14 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1720 0 obj <<
-/Length 1191
+/Length 1188
/Filter /FlateDecode
>>
stream
-xÚ½X]s›8}÷¯àÑÞißLŸÒ¬“Mg›v]w_²9aˆJ`ÇÛì¯dÉbœà˜dü`$Á¹ç]]] i:ÿ!Ív ã¾æú´udka:е[>v>@ê°y Ôßú8ü~fzš}Çp´é¼†åAÝó6®†4àˆ#èÃÓ/—gçß''#×N/¾\Ž€aëó‹¿Æòé|ròùóÉdg£áéŸ'_§ã‰rÆÇ‹Ë?d/ÿö€NÆgãÉøòt<ºž~Œ§•/u‘n
-G~ ®®u-ânèÐô=[[ò†‘ïZ:°lÚ–inz’Á·Áß`mtýi«~H‡†é-ZFM@O‡ŽÎ¡\Û‡Ži˜k¯FÀÑõa”1†C–¬
-³¡³Œ|ík!
-¾6‹PT s.ËÝá.É@Y8€­²âŽ+Ëz 웄׭w$é/ªùä‡ãaGÒ\€ôÎta2Ê(^›À¢çÐ5½ qt,â.C§?<ÅÐéÏgñ6ÞfÆ«-Pã`Ð8õ0u•YîÌûZ–;##% wr×ö)έÚAI¨\š†ksXèZ¦µFý­qÖª Tg€š®aµê¿u±n¼æùæ0gBÛµ²mï³mom×u{TL Ú†ß~Q¢vRÂt¡åYÖál$ ˇ–é;­4^'H—ɨ R?á>G í *nÛ£ÇÙÕÌw¡áèÆšIFž MÞêQ¬wç¥è9`ê^ž¢÷¤kôììëdxò&Éáû~óûúйŒy!+¹î%QƒN<T‡PÄ)›ºïRºÔÀˆ£äXkˆgh´Ý ›6—¹-·¸zRGßo/Ô-¾¥xžQ]FË}ºâ$ܬÝCºà«![b•ŒøV‰\Ñó­ÌåjF¡!^ŸždЛ–ã mkG†ÍMõ®¿
+xÚ½X]s›8}÷¯àÑÞißLŸÒ¬“Mg›îºî¾d3r•ÀŽÛì¯dÉbœà˜dü`IÀ¹ç]]] i:ÿ!Ív ã¾æú´udka:е[þì|€Ô;`ó¨¿õq:øýÌô4úŽáhÓy ˃ºç!m] hÀGЇ§_.Ï.οMNF®5œ^|¹ÃÖ‡geë|ròùóÉdg£áéŸ'OÇùÈQ/.ÿ#¾üÛ:Ÿ'ãËÓñèzúi0žV¾ÔýEº)ù>¸ºÖµˆ»ýi CÓ÷lmÉ;:D¾ohéÀ²Mh[¦¹I_ÿT€µ§ëO[õC:4LÇhÐ2jz:ttåÚ>tLÃ\ x5Ž®£Œ1‚´d¸Á€·KŠÕ#’q&Û+Ìf„Î2òAö¯…
+â¤1ßf„â=AÖÁ£¨ÌÅ!¡ÑŽ_Gן±š>¼•1´kl'QX­×Cºü>Î
+|KãbõZ€ô„ÛèŸ]¼­Í7Y|“ÄÙíkUbùüE²¯Ð#H²^‚$ÃͼZ‘ìž")âùª%²fl–Ex7KâMæïú½Äô(L´ì-¨‚0à3÷vÈGÒnQ£ AÆæ›\Ýg*J÷®r…Û¿eEßs'A*bªTоB–‰âžÝwÊ1¨¥ôS@)‰ðî6Î}UVª„“> Œ§ƒò¡2ÆÿîñJðÝ–†¯(WD‡­7"ºTºÎÊôÓî®Ë„ãÔ‹é'IðÃsŒ
+¾6‹PT s.ËÝá.É@Y8€­²âŽ+Ëz 웄׭w$é/ªùä‡ãaGÒ\€ôÎta2Ê(^›ÀbäÐ5½ qt,â.C§?<ÅÐéÏgñ6ÞfÆ«-Pã`Ð8õ0u•YîÌûZ–;##% wr׶çVí ¤T®Mõ9,t-ÓZ£þÖ8kÕTg€š®aµê¿u±n¼æùæ0gBÛµ²mï³mom×u{TL Ú†ß~Q¢vRÂt¡åYÖál$ ˇ–é;­4^'H—ɨ R?á>G í *nÛ£ÇÙÕÌw¡áèÆšIFž MÞëQ¬wç¥è9`ê^ž¢÷¤kôììëdxò&Éáû~óûúйŒy!+¹î%QƒN<T‡PÄ)›ºïRºÔÀˆ£äXkˆgh´Ý ›6—¹-·¸zRGßo/Ô-¾¥xžQ]FË}ºâ$ܬÝCz²)–ÈøïѸ¾#_Ë\.Ñùw„âõÑIF¼åëæжv4Ø\SïŠð @‰KÒendstream
endobj
1719 0 obj <<
/Type /Page
@@ -7107,15 +7133,13 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1725 0 obj <<
-/Length 1222
+/Length 1209
/Filter /FlateDecode
>>
stream
-xÚµX[sâ6~çWø:#Õ²-_¦OÙ”¤Ùéf·,í eÅÁ±¼’`C/ÿ½’/`Àdm3&cKöùôOçÈGB†©~Èð14íÀ1¼ÀØDØ×ÓxVÏî¨|T/ú[旅ïlß`àZ®1]Ö°|hú>2¦ÑlxûËͧéx26‡.ìšÃw?=Aq¹ýøx÷pÿûäfä9ÃéÃÇÇ¢{2¾OÆ·ã@>FÊÞ*.Ü=ü:.îî'7>ÜLFóéûÁxº÷¥î/2míÈ—Áln‘rûýÀ„vàcã«j˜e¬¶!vl»êIŸ¿íkOsÓ&ý°íCì[^ƒ€ŽU™> œÀ3<@׶ì\ÁÙ¸¦9”aÂ$¦©EGºY?QþSјkGÕh
- zŽs òGžçµ~­[a<Ë/ÝŠ³…nÌ‹Ö?½L@[µá ¶nª{N5ð åªU¢ ê\ êô£j™6´l/hœ’HÐIÖÚwÕ2h!ŒemàúMi- Aä™n{º9σžé»'4Z††@ÇÜF½7Beò%ÍwT,_¤¬E.¤LÆˈhBvÕú²4 ”ÞDh•K®mÏr.(¾*@‘gCÛ šôˆå·3é–ß#é­üûzYNÉWr2Ÿ­ç„$‚©èøgÏ*wU[º²OÔºäÁì…–Pê&%kº÷ì2‹j´·µ¹Œœ_ „•¿ùå¿c-O¼8M^Aüºä aÏ@Äwýšjû¿TÀ¤ês~0×w ‘Ñ°Å<„L3ç–­ç1"’t´?ò`'U Ò}p!Iør û0¡$ÓgUHUÑ‘¤£þ+J¸|¢Dv
-âg &?Žb¹k …R¨¢1oŸc±^™žó,IYt¼_è…¢¯Dnx{(t Jî2Ú‹Ï:Ng¬óÖMW5zÁîðÙ;"Ÿq¶£FŒVGµå²§µäz¡
-9 ˆŒœÕb­ÈÅ£K5+ ãuÏP±~=HÎDªmptΣ+Ä‹³º¡Mý©D™þp/9[²‘«¾óqŠ•/!} 3U®G
-#¢Û¸ŠŒÈÕB×=&·XÈ®© ò/X“,£(?#Õ¢Ñ%ðU¡–C@Ô`)Ø:§§'*•‡O*_^@”ªAÃæC‡¦s0C}xÕpj¥þKnWŸ‘µ_ñ}küeÕ¿lÓ…¾x)­ Æ#`;®[?2„ôÀ'«hiYƯ’¦ŠžÏ›¬qÝøc„R.TÀUÛȺû£¹s!þœ¦‡Nendstream
+xÚµXQs£6~÷¯à1îŒTÐô)—:inz¹«Ïí‹ëñè@NÔ`ÄIr.¾^ÿ{%À6ŽqÎÝx<HBûi÷Û]±r\óCNŒ¡ë“À‰H
+SÑJvöcJ5}ü‚g›¤“ð~!£irÿšÕ“ŒÑœç·¦:Ц¥YOþï•ú£ºÀ~
+¨‚ÔbÝ/,ylax4_žè맀´h¢Í1øtˆR¾{¦Ô ]êŸÔ$*öýb èJß½è¶+4C{ïÕráeþõº¯¾^ÛÝ=¦>Žco{sæ5oÎ|7„±G¢RÖ^Œ‡ ®ß¼m„ÆUÓ–·£GÍò”¥ÕÈÇUQñi; Bgæm˜ÚœYš$l¯ôYø™bendstream
endobj
1724 0 obj <<
/Type /Page
@@ -7132,16 +7156,16 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1729 0 obj <<
-/Length 1123
+/Length 1133
/Filter /FlateDecode
>>
stream
-xÚ­XKsâ8¾ó+|„ƒ¼~`ƒ+§L–d3µC² 3—lŠRlAT+KŽ$ÈÎþ÷•›8)aB*%»­þÔ/u·ä;žúó(vã$HœAÒw#Ïœ4ïxÎB}»êøå°ª³¾L;¿]†C'q“8ˆé¼‚5t½áÐw¦Ù]7v·§¼îÅÍøòúêÇä¼7èw§×7ã"¯{yýçÈ<]Mο};Ÿô€?ŒüîÅç·ÓÑÄ|ŠKŒ/×ãß %1Ã; “Ñåh2_Œz÷Ó¯Ñt§KU_ß µ"O»{ÏÉ”Ú_;ž&ÃÈyQ/žë'Iàä~ºQ? ·ÒùÞùkXùºam´Ÿï¹A ì=7öÔ JÜ8 Âïz ö¼î‰8€êgÿšfGBÌr(ÓÇÁBúgf¼×Pb
-ª˜qß<ââ9Gs¼ÚÂk¾ tm¦&î”`D¥8E¿Š—â@Ù§)‡V)YfèÓðÄr¾3Îõ­²V f¡Gé’ üŒ
-sdB eTÂTèc qŽ2° Ërþß^䙧s3ü*ßÔ¯FߌG;ßÂHÉ –Y~-£Ëüq ëçpu
-+ UÁ¨Ú,–õàaL‚ ´€3Z ¡]û ÞÛU6ƒ…ÜOKÄׄ-‚Íš?Ã> Y0Žåc^f‰ŒåÓú–ÜN1ÑéÇ7a£)*s«
-Õw/8„¨IS˜>"€¨–¯­z%HJ¤˜.
-!ùrKÔ ¨Óû` ëËl³CÛ$ž)Ý—]ðïLJ3ÀÛŸ4íBÂb_Ä«þ¼ï:%Œ\}Òpù¡þËuN¾jÙßCõU‡?»[” h¸†*eÒêU®\e=p˜7íèÑJ"ši·jÊ÷eQ0.ÍËÏžïû*ëÔ¸!ìÇq7Šß˜a{ÁóÖÿ9{endstream
+xÚ­XQsâ6~çWøäZ6vðä‰KÉ57=råh_Ò £Ø4•%Ÿ$¤×ÿ^ b'1&d2¶×Ö§ÝÕî·+AÇÓÐ #7ŠýعˆûnèÁÐI²Žç,ô»ÏX|öòWŸ¦_®ƒ»qäGÎt^¸Þ`
+èdt=šŒÆW£ÞýôKg4=ØR¶z1äGçîÞsRmö—Žçñ tõƒçÂ8ö¬Ó7ìÁ^B;ß;
+ü`çÀ»ˆ<¯‹Ò”(¢`.x”,±}µÅrÆÅŒqûxi/÷Æt=?€ÐÃÐ/ƒ ÄR‘â5I
+©åŒ¡ 7ÉÐÆj$y*†™»™Ìqò
+¬¢¨d 2”ç8ÚH¥ÄòÈ°ÚÌ UX
+J2¢šöiÚMºúhuA®U×-gi«E±Ñ6@O‘BçªÃ6¶œœm—6Š‹³B”ž«È#ÑÛ¤ÇVCu±®k.›Wü\™ Š[Í®wýb÷
endobj
1728 0 obj <<
/Type /Page
@@ -7158,20 +7182,21 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1733 0 obj <<
-/Length 2593
+/Length 2663
/Filter /FlateDecode
>>
stream
-xÚ¥ïsÛ¶î{þ
-ß¾T¹«X’%rý”dI_v[º¥Ùö¡ëíd[®u•%W’“fïö¿?€ eÉQ’öír ‚
-…ʺ.à_~¸¹ˆ!%"yz÷žjbûQDŠ‹biÆûŸ”e}‡º×I°íÛ2§Ñm‘û «`ø¶ë¬wMN†Ø¢úèÑ9,¸Ìºlžµèh)¬9':Æ­3»Aj-g1õ]5dd­Ü&1cG÷ÜZÐï31:˜4Á|׺XÑwp@ù¸În²[; Í6ª·9]¼õˆØÖe±p;®ê†€ª§'µu¹³¾:)¾q:%hä•ï`},<“ä©È* €øÌaÑ
-I0°,Š¼BÝØ›uïoH`GaOùŒÀzn†éX?Î!&³øä½9pv¥YÄU<ŠP°¯1_#HIYÙք€˜v›/
-<„Û0QTSrÄ‚¥±ôQÍzóC¤bB¾SH¥‘ÿݺ°—ö^X_¶›vôõ7M±Ì["èüu1\_©“ñ}pY顸Ò@žÔ_©µ”ib¨5²P¨S¦Rn1hz”w¡6ò\¦#ER&jßHɯ©Ý$3ZëéÊ-솎6ŽEK$“Pž
-%´7w‚ 㽕÷®îëã„[úÛ&\
-¹é3e»Ae¶¬«|œQ¬¬îieò:©²€‰ÿŸà—9a2úôEŸ¹¼íÉyà…ΚyÑ5Yã$Eçu!®"ämyRÕ¶ö†Š¥OĨ,™ì š´5¹tÕŒ½]$Ub€iws*ŠFµSÖd²¯'††&C†4ë½0.¼0ÇYq[‚»zʔijËl3’*\Z4R}€Ý/]¢UpQ»éüK7ãHŒ…Ȫ_ß‹ Ãl8èÖ4rCH
-ñ¢¥ bâî— (vM‹ö54XÐOŒÍîüØGǽÿO§¿¸…t™æÐ}÷µ”}}øîä;þk7ôêÙáÕ+"¡š¡ýzÛY PøWëy çƒÎâÀmsõ`·á›Ç¡/ $>}Jbù¬Ä ªÜa;÷ tò¢}F摯xͽž<†˜<†<<ÆÙ¿;Æ·)^|µâ.A8é?¿+ø®Î€|YGÐ0ÐÁ0£Oè8t†­#õ­ ñ­ é[A3èü >¯—}Þ¥ÈtYk:Š“#I¨ý€3Û2­òE7¥×b|Œ*J"¥ƒÅ®¡sàkQ¤ öj¥m-|ž
-=w$ô’ôl¸?ÔM ÊU¥»Æ§66è`íc#Üëžqm.
-$ÚËŽ°¶¡Ò"È–›¢?f¹¥QðÂ͸ ±E?š%ý¨æƒÍªv·/qùƒ6ó+üm‘»fªp=Ò„êzê¥k—QS®)´·„V·Í±vÓm˜kû§—Ã^zêÄH1üÙoâu÷…ê¿þuqÿÓ+”û‘Ö<ÓGøÛ…„\ç„B…ªü&N’á­Ì°4üEÒ+ûó/–þÀïðí¦qÊûýXhÁ -X÷ê¡ÿQó¡"þ…³ÐÓendstream
+xÚ½YQoÜ8~ϯìK`­J²e[Û§¤›ô²¸mïÒìÞC[,<cMǨǞڞ¤Ù»ûïGŠ’Çž8i{Ä4MQE‘5bÁáO,2Åx¤ãEªc¦¸P‹Õö„/>·W'ÂÉ„^(Kßœ<¿Œ²…f:‘Éâf=Ò•1žebqS¼ ^þåìo7ק¡T<HØi¨œ_½þ™8š/ß¼¾¼zõÛõÙi7Wo^ûúâòâúâõË‹ÓPdJÀxé4<2àòê¯D½º>ûõ׳ëÓ7¿œ\Ü k¯Wðòùäݾ(`Ù¿œpéL-îà…3¡µ\lOb1G‘çT'oOþ>(}µCçü§¢Œ©L¦3ŒåÈBK–DJ/R¥‘õ`ý¥h¶yYŸ† çÁ¿èQ7EÞç֪η†Hðž+AïÐ `‡fiª²E(ÓJI«þ‰¼cŒ911-x<û·£GkVû¶+oMØÔÕ=ñîM÷GÓþQ7ã9½
+§‹bÂ)Ùæ_Â]S•«û°ï+·®ýviÚ±>µÃ]¶&ÿu×™ÕÓÏÞ–uXwaÑôÝc³†³†¿˜ˆŸ¢#?½ÀÏ/¥Ö; vÄ)“‘H­ƱH ¨9hkv}ÙÔ…íÛ>ïÍÖÔ=½þlÞs.ë%ˆ“׿uùGãæL%!ÈELöÜlÌ`Ð(Ò2¦µN@e¼•E Äa¤œ\72.Š‚ΠÿÚïèù±j–yEôaYðÒ7øŒƒ¥q:Sµ¼§'¦FäͦtÃŽ&ÜæN8ßíLÞºyl
+Êû®àŸ9ž\Äo‘<=û 53ý$ñÆŠE±ÔÓùϪª¹CßgI°ï”»ÊÐÛmiüë`xv›|’Œ‚ ¹eýÑ¢uXs÷2ï0ÐRsA{èµÉí©Ý9Ëiîê±"»›Ø­“ãÍtÚAZÐçÛb 0©ƒå¾'v¹¦çhðæä&¿uÌ~ãˆÎ¤š¡ãƒ§”ω^7-õ O.êšjocu&ES~ã´JðØ+žÁæT¸&ÉSo‰ÕÄm
+v•±ˆ«x’¡`^­)¿FP’òªkˆ…
+¹Ÿ˜>@‰Rgu?¿¶;ƒ›#yå¼S¸o9ðkÝt” cký›Úf,ÜïíÖÂ!Í`=N›†Ïqå†W¬Ü<ª5pîš}U¹4Ó±9B„$Â×ίN1ªMÃŒl®„Ü •ªÝ™Mm¦ÅÆÈú~TVf“Š¡
+èø¿I~¹3&§Ç
+‡–-‘„“à¡K2\6î³ù’à Â<#Yã3á5¿ôzs¯~‘@žýHÏs÷´h‰—Ç ê®ì˜£/çó¹ƒÎŠËÇÉ1r‡d¨cªôá‘81¾Úˆ$NŽ¡ h·1{°Â¥ÃÌ. ï¹â6ƒ‚Ì9^œ<ëè)q‰Ë%H4»¡A  ôÓmwqì³ã!þ¢UL¯üÕà ®>`){ûðÃÙDüstÃrÔë>N"„)‘:Œ·¥¿þ°‘g¯†Îâh_cãk1wçqê#‹ÏŸ²X|Õâ]»ß9{Ö=j³|+Þs/¾câx/ÿŸŽ—O:^L/›ÆáÎÆÏï§J¾«Ó`_Þ5NtðšÓcHt:ÃΉúVPûVP­ u~€Ïk§åPw)s£\Þ˜žòäÄj?`ÆܶLk³êç\âCÌQB $RY°Ú·´¼-Š”Æ^­²­…¯ DŸ÷å
+w
+íUO\ÛPe"È‹mYCœ@3ÚÒ(x澸
+±Ã8Z–&ýþž>æƒÉên€¸üA›ù ñ¶2®™*]4ãú£žºpí2zÊ5…ö”Ðè®=Í‚ý|æÄáê帗žû¡4R Ýœ¹]çPýŸD=ü p?Ê29Máoj3
+ªRØXÍ£ñoÊL³ŒH„õ_ ~µoñâ¦užûýTè¿[Ì+ö×Ò#' ?Ü>ôÂ
endobj
1732 0 obj <<
/Type /Page
@@ -7184,32 +7209,34 @@ endobj
/D [1732 0 R /XYZ 85.0394 794.5015 null]
>> endobj
470 0 obj <<
-/D [1732 0 R /XYZ 85.0394 680.1792 null]
+/D [1732 0 R /XYZ 85.0394 648.6893 null]
>> endobj
1735 0 obj <<
-/D [1732 0 R /XYZ 85.0394 647.2514 null]
+/D [1732 0 R /XYZ 85.0394 618.5026 null]
>> endobj
1731 0 obj <<
/Font << /F38 1082 0 R /F42 1288 0 R /F21 994 0 R /F22 997 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1738 0 obj <<
-/Length 3761
+/Length 3756
/Filter /FlateDecode
>>
stream
-xÚ¥]sã¶ñÝ¿Bo¡§'@$0}ºßÅIã¤gµN’™RmqN"‘:Ÿû뻋H¢ä¤±.Àb±ß€˜qø3•²ÔÄf–Éj¶Ú]ñÙ#ô}¼gî‘æ!ÖÛÅÕ뉞fÒ8-‚¹4ãZ‹Ùbýs”²˜]à <z÷ã݇Ûÿøôæ:“ÑâöÇ»ëy¬xôáöo7ÔúøéÍ?¼ùt=Z‰èÝ·o~ZÜ|¢®ÔÍñööî=A ýœ™ôÓ͇›O7wïn®]|wu³èöîWð7òÛÕÏ¿òÙ¶ýÝg‰Ñjöœ câÙîJª„)™$²½º¿ú{7aÐk‡NñO*ÍT,ÓÙ<‘LÃúÓ\,2eXšÄIÇåXLqÙc!—×å¡Xµõáy¼_“±Tj= ç<YÙ#M¬+ C/‡K/6Åõ<‰UôT>—Õ#}
-P$8ÜþÒ>±5¹ÏDÇÑí!äSxƒÉªº¥F³/V%î¦X¿ˆætšØÕIÓä\ `ÈËφ
-/®î‘&V«8fJ©d¸ü¿6VµöÅ”nG‹›hý êQ®¨ó¸_çÖì@ÛÚ,@hŠÕ‘Nƒàÿ­«¢yE¶ˆ€ãÐÓ¦è†Á4êþ¸ÜúõòjíŽãéÑIÊ/–T÷w÷÷7ï¨ Ì¤Fgðà D¬I öP+R±,*¨o  ëÁ‘Wµ^Qzz]„l|ˆÓ+§æÓAra-Ó]=–>¯C93¡¼`âöÎ tc5C  Î»rÃ<¢ã§´òìÆ5*0”€
-âÊŠPÚmÛ{d,6ðŒþŠM¹UŒ&ŠµˆBl-ÄIgÝû~¨ ÞÁMƒÞy€†‹õ³:úêí¶~²J„S?÷c&\Sñµ-*4Sò_ûób»3¦=QhmUnNYOšÄA­/[Ïë¼õì°:›E×>¶˜<”€hèâÚÖéâ’¼
-ÄÕüÝ`õyt0WGãÖÁ0&-Úb*7†Å™;¾Ý¶4‚¢d˜´~M RFíêا @BS˜üðì€VÝɧC\'#ÆÆR±8IThÆ:–Žèžƒ%­ŒÅ8p³ÉÀã!ß¡M†ôö¶"ôu QPaŒsð;T¾±]•‚Äï¡H åÍD@­B¶_GUQ¬‹5*'ØϲuЇcµÂƒË·eû0ÑòXbkAUëhöŠ4Á8™±©ðÚÍÙþ•©)óR…$Ä:¯– 81óxlš|_¢}móå‰jÈ„q¡_ ¡Ãš "–¿!”Ù‰4úþÓ[E-GŒmw>ÚV:á—\È|T›Fïïç‹ûÛ®ßæ*èô×6 ·£]TQuyXS´4'&„ì¡C„pIrˆK‡è8·rÞ22GK I¦ ™¸¬ ¦æ6ÞŸƒtS£•>œ­‡¬­HÞYi
->=ØF¦Æ(°å&ûKKÇEF°4X.q@®÷z‚×T6HºLe€­ë]^NÕu³Œe\ûº&.lw“F‹kG5Qf] 6¼.½šˆ>LÌTû™!¹B£3”ï³%`¡”ñÓ쎓¿|ÛÔÔZvÑ‚ë²+§+÷–{îaNK¾(œÄ¹”ÿ 8kôkµ–ée£b7úVǾžGÃ"¨dšËï°&VÖ} Ë´-OŠ‘›#Á¶óý<uQ­m­\|¬|øŒÑ¢»}ÁŒã •¡Ë&@³ÉûL¾]Ö ­Ç¢*0¢]Ó{§â•Äà’ ÷‚±øþæßS5³Œ‰X÷Vçw5]Ü«ÂiúQÑ~µ-mùR€þ¾ÆzE#Ge‚IÅÍ ƳÔ_,_W›¼z´“C¸åÖÛåÏÔ¨´\°rŠ._Þd t]4eÇU‹ocia\S˜´GF«íª¯±6D0yĢݻ[ Á9Sq¦†¶ŽNÙdn lÙC6Yß58d£ÉQ`‡«,[Y˜¨>¦Š i|æâÏ"åN›Jœ?!ùi§ªÀg©•çó_&Ö€–I²Ð<µA£çõ<Sƒ
-IQÆY¢…™âRâO“JË¥$í»\J2Ç¥ÄW7°u†K°"ïLìâ
-¼HB¶lŠ¯ÔX—˜¦MÕ…$´ºÈ!Ð óÿqH¥Æ&¯H¼»£L°®ÕЈÊÎdÑX:càW'݃åáÄâ1ƒhÀ錄Î0î:×OuAJùMC oÒÏ—€
-DuA]nÀ·?núÄË€âk 1Ýq€A;.û©L´-?»$ד7¬‡9—Zr0C"ß y3\ëßóØ fFãÍÂÔSƒ¹ŸpÎxjó ŒN3Ù¯ëÏ»/ãŽc
-8#,‘ó—æÌ0s1(¾½þå&z®ƒ»î¢Pn|(†ð>È°=.‚Ž/ù¡ôQ5÷¡w§Ž—kzýŠîŠ!y=VÛ¢qc»U½!¥ |^œŽnüGá©ýcÑB,ÀÕc$t1Z±ÎG V¯«w[3QÎ{aíkbñø´œ7Z}Al½§ C›4Ï¿-¶ÛU&ï…*tZ:HëGwÙŠq·"
-“¤,Ápü Ò) Ã{ Á’Df"þ¥O¯-øeKXáC îÒ¶ŠÀÁï8”­‡;£—MPþèÆõ»uóÔn1÷ê¢ðÖ= ºuë£ÐZw†Ágš0¼tÿS’ÌÐ2
-2sG2•eit [g^ƒzà“à‰câ3OúŸ~yÜ?ËÆ{A­Ï\DhBºƒWÔ 8:ÿ)öå^Åoðö{í/Eîû}}p ü§õ2ÅïÆé…h"Ó4RúTc8È°é”ÿŸš6endstream
+xÚ¥ksã¶ñ»…¿…žžpx’ÀôÓåâ»8i.íYm§“d¦´D[œ“HE¤Îçþúîb¾DÙyØ.Àb±o@\rø—&e©“î2sš.ÌåjwÁ/ ïý…8‹ˆ´b}½¼xýNÙKÇ\*ÓËåý`.˸µâr¹þ)I™dW0OÞþøáÝÍû~|s•édyó㇫…4<ywó·kj½ÿøæ‡Þ|¼ZkDòöÛ7_^¤®4Ìñõ͇oâèç̤¯ß]¼þðöúê—åw×Ën/Ãý
+®p#¿^üô ¿\ö¿»àL9k.áƒ3᜼Ü]h£˜ÑJEÈöâöâÝ„ƒ^?tŽÚXf¤N“’ÙÌÎ3Y°LÀÉ´`©T=“¥˜crÄB&¯ËC±jëÃÓt».c©¶ör8çÉÊife9XYpÉRÅåxé妸Z(i’Çúð©¬èº6¢®D‚tyh}O¿mÓ‡ÏÅÏWéäMP«ºZäwM½=¶wŸ·›*ß ~꤬&s­êêgÎåÃñ·ez²-+— )W,sÆx>–Û- jÜá<Z%mþ©¨”7ôK{Ù¼Ÿ#RM=í¦ 8ýŽq»B¿%'ƒ£¸ÏÛ–&ØÖ«H&tÝ×jìꦥ–g 0/tÔÇv ]´©&~^°†{|ýNŒÇ­J¿UdÞšŽ¡ŽÎ„´VÂÄ„9è îiŸØšÝ§²2¹¹'„|o4YU·ÔhöŪÄÝëW
+V`0‹h. ‘RøþC¾úDÍÀ úòê…Íq&Ÿ‘5FFåë'
+‚CÀñŠ¾‚ ‡Vü%ZÌP«Í¼VG=FþØ̯îžHŒBDÆA€|À1#fJ£WZD§¨@)7ä<kêöô›‚
+íãœI†Ì×Êx^lwƶ+ƒæÖ #ÍYó ¹”©zÁ|°ž1Ÿ«Ó¹ÅôíS“ÉÁE ˆžž]»Ã:]\ó‘[Úí¾$—öªsé`Ý:†£E[ÌÅßÎ1 9yàÛMK#(@†)@ë×"e´¡€}–
+†MŠ(¨0:ø=T¾©]Õ‚Äo¡È€ :ÍÄ€Z…Œ¿Mª¢XkTN°Ÿe ÷Çj…—oËöi8À%wÇ“WªÚ@sT¤…ãäzSÑgœäT†‰þ•ÐÚ2HZÄó*1Ä:¯–81ïxhš|_¢}mó»ÕЊqa_ ¡Ãš!BNËÁߘ
+JêDš|ÿñkC­@Œow>Ú^:á—\ÈbX›&ïooËÛ›÷¡ß'+èõ ·>ÿö£CXÂê4‰°¦hiNÌ<ÙC‡ñ’明1pn¼1¤eŽ–òK/Z…„ få>àРƒtSO •>‚­‡¼­HÞYi
+¦ràðÓì…lxˆu^0;¬©`®k§Âi@÷6ÏÓÑaÍ2ÎTBð‰æˆ/œÂqÊu½êã×ôÌF‡ã[ìb³íÇSTåÛ!Åv~Ä­-W>EÅ&Ø¢E~=M[„lØr–eàSF‚è·‰´„1½6 8Xº¶^Õ[P é\ò¶O_·ap]QË&߇;Ê€ë†ú ý hõêƒÈe@É?çå6¿Û
+¼ hrS–͈_Œ¾½ìº)Ð1’f×å]À®]Çf®|ÖŽ®~=–]®¡‘(š÷ø0ß•"½m~Æ糖ôÌÄÂBHªú° }z¹ÆøºhW¯?î ë-íÔÓq¯„±&IS=¬‹ÂWg!S=ˆª5íY¥*D³:©‡r½.ÂÀcCÙ~K4ؘõNy‚&ÂF¶ë`É>ÄýƒTE+|F°L]¨P`ëM4ög)uà¢F°4X®q@²÷z†×T7P]*2ÀÖõ./çJºYÆ2ncIö»I“å•“IM”yƒ¨K¯f¢'™Q2Î4ðš4:cù>K e\œfwl‚üåÛ¦¦Ö]-„._±
+º‚ðh¹WCÃ=NjÉ ' îåÿDÎ}®Y&­|Áè°ž1ú«c_Ï£q T3Ëõ ‹wX3« ?ŽeÖL–'EƒÈ-àÛù~žº¨Ö>È6!>61|Æh1\¼`Ƈq†ÉÐe Ùä}¦ß!ë„ÖCQÑ®i„?ˆSñR\’ãQ0–ß_ÿg®h–1!mo5pþPÔÅ„2œE¡ŸÔëWÛÒ×/èßÀ×xïchä„¢L0m¸{ Çx–Æ;…âËj“WÞbr·Âz»ü‰õ–ë
+—öÈhµCùU:á#A“G,Ø}¸Ðœ3#³Ù —…5°åÙe}×è%G¡²à|ea¦ü˜&´‹™K<‹”m¾/qFü„䧫z
+7-\ûä1ž&•žK*í»F\RYà’ŠÕ lá¬È;{€¸ï-›â 5Öå¦isu! mgžåh†ûc2©óÉ+®'Öµº1Ù™,Kg üê$ …=g— ¢¸“þ>Ã…ûŒX?µ})åW ¢IC¼X‚(ÕAt»ßñ¸éoŠ/%Ä@tÉíx×Oå’mù)$¹‘¼Ñ†¢KZr0C"ß+5‘¿é™dÎâÕÂÜ#ƒEœp1œñÔæ;fº_7žw_ÇÆpFX#ç/Ž‚™Ã(  øþæ—»ä©>b B¹‹¡Âû Ã÷„@
+:>ç‡2FÕ<†<œ:Þ®èõ+º&†äõXm‹&ŒíV†”2ˬL'—ý¿!ŒˆÔþ¾hArŸR/”ó†X磅«×ÕM¸®™)ç½°v‡5³¸<-çMV_R
+xtÊ„ÿðð–Yendstream
endobj
1737 0 obj <<
/Type /Page
@@ -7226,26 +7253,23 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1742 0 obj <<
-/Length 3744
+/Length 3740
/Filter /FlateDecode
>>
stream
-xÚ½ZÝsÛ¸÷_á·“g"ANŸ|‰“úzqÒØ×içî(‘¶9'‘:’²ãþõÝÅø!¹3i2 ÁÅX,~Ø/ˆŸ3øËÏS1™Åç:‹#Ÿ:_oÏØù#ô}:ã–g阖!×÷g—ezžEY"’óû‡`¬4biÊÏï‹_ïÿzõõþúÛÅR(¶H¢‹¥JØâÇ›ÛDÉèñþËíÇ›O¿|»ºÐñâþæË-‘¿]¼þv}ûþúbÉSÅá{aG8òÁÇ›Ÿ¯©õéÛÕçÏWß.~¿ÿéìúÞ¯%\/gòçÙ¯¿³ó–ýÓ‹d–ªóxaÏ2q¾=‹•ŒT,¥£lÎîÎþî zͧsú‹U)'çKGicÌj™ELÖ–ZeQ"…ôZ|NËŽ µ¼«ŠåoŒ‰M9^0çi$d¬ÏÃQ's{®™ÉE092<N~ÿT^,¥Ô‹]Þ?ÕùÖ¼¥‹æ¨½ë¶šNOìÊö¹l©ýÒV}ÙCÕwvÐö‚Ã`ë²³„›–£F,h±¸±ÕMoÇÜ•ë
-g+‹w@¸øéŠò!ßo,_Õ¡¶.?Æác–E2ÍP5¸¸Kd-"JTfTeJ Óùœ·—í¾¾ÄEô[A£'u§qlGÉ“$³šƒÆW³(Í:bÕmß•µV¯ÔcuòØæ[ËÓ?å=õ½äuoi Qº²¶ßwÕco:ßm–æE,ÍhL¤jÑ^¤‹}]Wõ#¾Ç Ú`ì±[–óxq‡zxEVÒ@ˆ[žÄ‘VJZ ˆ5ƒÕM]Îè-á‘Jxj?*ª._m"ø‰1F!‡ÏœèF«ø~˜(^ü&„vSN{_ªÍ†¨«’Ô#DI®ýΓYC¨öe ¬™Xä¨_j¼bƒ/ÊïUדʀŒK3 ;:´V–b6²Ü6Ï€P¢T‹Û¦·}fO§Š*Žb-…ÕÉÅ %L8m#”Œ€ôø£|}iÌÔæ€0Ag'à à^[\#éílä.´”·$+læ…' ²^oƒgÓ]Ó³hö«ýäÏ=( ‹&†ÛZÇDgQŠ³ž4¡!×qê¹pm¹Þ·ìÙ1C«H*ञkF„=Pà/äHc„R!Å7ƒjxö|á8<f•;ÊHÓ.öÛ]7êÿs#”mUúŽ¼§V~Ø4µ
-®2‘ÚËt Ø0nËä `\'€í¸pÆ®Ï{´Fëî(²EÄlÜI<׌ ýÄI”¥‰
-AžŽÅaŒ
-†g<ƒð
-Øpµv>Š±ŸaÛÑ÷Ô:HŽæ=<‚3‡O²(Ë°”)X¢™ã', Â4´4ô®÷]gÈqéS1 Ë2æ_Qw]¹^nšæ¼CÌx%))5úÀFwcŒ6ƒÉá Ïù¦*rs fFD¦.wÂXЈ\”}^m:ãcë¹óÇbâ¹3"ôÇüˆD´@†ýßäke¿¾DLGf›§âki–&o¹jÈå! †ãyú¼\'Λã2®º\·MÓ=o2‹D¡÷I<׌C÷½q’E ógáy‹)™G*m ü‰ ‰>
- ¹Hx3$wa‡
-ï&1ã(·%üàP‘…Ø“Àêëž›fÏ!TʈeÌA§Ù¹ðOJ¥BÉ¡)·‘[l‡å¦šr ­ç«fß;íÒ‹‡2ï÷ôYãG *ß±NÞÈÈC®Õq ª±dc<% ŒÈI<׌<%)ÄG:Š@n>“dÝ°a}}F 2R¨¬
- Ò64ÈÉ ™J$ySé³ya[·™IW\”cãr|ì:¸ÍLÚr¥©ÕÆ2KƒJ1áMFñ1¦ÈxÔ1JЀJÞð‹Óñ]tL£MÌ7S—fpŠOM³ce:ãƒéÍÆ2 Íc®ìiK5xÜ<$›ÍC‚Ù<¤ôî Ú<ìó›‡ä`óRÆÿ¸Àj0ÄúÄ
-aÿë†fJwæðåi›¯—ÝSÎaGc¥èÝá“ב“Vجwt‡ã>*yGw2Ž"Ó1âMsFS϶Px$nØO úp—U¼ ožD¨!+j°-hâG«$Kåð
-¸NàËq™’¦í§®OF©Ó{rVÏ53íÐå¥Q
-v8¯-Õ¥‹_>|½¼ÿ•^Œ4ÐÒ‹z¿]Q5Î)“¥A‰Óis‰¬Ð
- \CÀás×VÛ¼­6–\—eáF5ˆÃlÐÝõ{kZÁÆi6„G³ÃüÀܽ³yÌÞd=`ÍóŽž÷»þµà8Õ]nÂ[ãm]p ]†%Õš^|vÁ˜-×Ó=ri™ÿÝÔx]¶?³‡ÊpîìÀ†íðrÎÀãÜQYȦpXù6`Àj©IŒá®Èg"6óþ@ªÜÒ›Oñ¤Mñbkuò‚Þ´~N1[“7ÓWV÷Ì8­ñ,Pq8ÅŸûª%6šgfÉö kØؼ²-[ûЮðü
-ÍÒ¸£H]Å‹@àJbt%’áÏI’d|=Zõ•3¼ë¦Æ]zÜ·Aæ²ir{ýá®Nþ„aÎÕöûµæÕÖ9ºÞ¤À9µ ’ípÃwûUº7w;æRÕ0á¤Ç¯Þy<ËÞˆtB®ãNÀs™H§-ʶ-‹å#"qâ^ʤ§ç÷\3Œ+ )Xÿ¡æ줓Jtæd*›ÊÞ
-þX0Õý Äþä(å:R8bðƒ ÄÐõH§ˆæ²"Yò¢¨\Œ §JêQèƒ0rèêÂÛ+wý–»ßZ”ík€n–­´UÏûc%Íaââ {XFéÇ0È@Ú2—}ŠÝ~¹½Fõ‡™€h.Õú ˜\'`æ¸Ì™ošNü¦|4çlÙ`ˆ7©å@Š¥!%;)…çšcx7!ÁŒd|(ÇýF mM×@¦@“‚9Û^[0¬M=…èÆ禸 CÁ ±²ƒÜÿü¡#vTqß숼)ŸËý¼Á˜¶³Þ3uY|áêñ„'-£„ËžŒ‘¹ÃÔ.„[ù}½Ùv¿ñÌDÎ
-Ø:ÆiÀw”þ#
+xÚ½ksÛ¸ñ»…¿<Áx|L?ù'õõ⤱¯ÓÎÝ} DÚæœDêHÊŽû뻋 ð!¹3i2‰ÀÅXì{çþŠóT3®²è<É"¦¹Ðçëí?„¹OgÂâ,Ò2Äúñþìò£JÏ3–Å2>¿ÖJOSq~_üºxÿ׫¯÷×ß.–RóEÌ.–:æ‹on?$£Ÿ÷_n?Þ|úåÛÕE-îo¾ÜøÛõÇëo×·ï¯/–"ÕÞ—v…#/|¼ùùšFŸ¾]}þ|õíâ÷ûŸÎ®ïýYÂó
+®ð žýú;?/àØ?q¦²TŸ¿Àg"Ëäùö,ÒŠéH)ÙœÝýÝ/ÌšWçøé”iÅçK@VJdó\æŒkàÚ2‰q{.K1Çe‡…\ÞUÅò7Îå¦Xˆ”I%ç᪓½=ÖÌæ2Ø\HŤˆ‡›ß?•K¥’Å.ïŸê|kžÒEó@ÐÞM[ͤveû\¶4~i«¾ì¡ê;»h{!`±uÙYÀÍ‹Q£.$rqc7ª›Þ®¹+×îVï
+<Ö  !^¨ ÆH­GŠOF«á·¿ ‡áuV;;ÐÞ Í¸ØowÝhþÏ=¬P¶Ué'òžFùAhz| Çºß¼ˆž-ƒôòêO¾Ž’¦C}¨ê®7žcÝ;a£;"aÓog_ªþiÎ_ð„‰(ά·u±&|/¨9w¡™NTàe•à&> ”p mOVû||°Ú;Be‰Ì¹$rú§hJ3Ç*ñ4SlÉ™Öéz}@:¡Ö ·ëú¼GW´îŽªµdœƒÔNí XÅ,Kc= €bÂì
+vòî©w€:{h‚3Ƨ8˲Àù/UÊA­ÒŒù€å€§A5 = ¤»ë}×Y xô)†w!¯¨»®\/7MóGÞ! fâøf N^°yÝ8ø¢Ïàj¸ès¾©ŠÜÄ̪’ANêª&Ì ÉEÙçÕ¦3‘8²‘X¸H,'‘X8÷ ÃH,ŽxATp¨­ÿ›J­ì×—¨Ó̈yJ~’°„§ñ[AZ ã&’7ì-À:aoËÄérÝ6MÔÞTÆd I÷I<Ö Ãð1Åé²·( í-¢2¡$
+—lŒ#}’±$‘Žÿ¤QË]³©ÖsâÂ͇I¬8Ê-T ?8­ÈBÝS€ê;ž›fÏi¨RŒgÜ©N³séZJÆR©Õ¤¤ »6šjª5|¶ž¯š}ï´+/ʼßÓk TLu¨h´záX'ªÃ9TãÉÆú7bp"' ðX3 ô)N!?Jâ! æ3EÞ 6ÖgT #„ª0 nÀ‚ «Dw•n1[F‘ ›™rmE5v1®ÆÇ©CØÌ”mTš.mdTfIÊ S,xã¡.˜"âÑÀ¨ *Mù†C¬ãrôX#9æ›ÇiT"30ä“û{¬†2fY’‰!FŒ‘€:hóØ@@{ÚREˆ`#B"¤woq΋ÁSÎÿ¸Àn0dü„
+Éÿû†fKgyøð´Í×Ëî) ×Hkz¶©x¬S£LPAdïèǽ,uüŽîdD¥c-$:2î\¡ ™m¡ñH’Òá<Å5˜?(®â]xó$ƒt Q)]Á h È;®c<†ä&z£!bÐ1‡enHš¶Ÿ@ÅR øä®kfÛaàKY
+nv¸¯mØ¥‹_>|½¼ÿ• 50Jõ~»¢žœc&OƒFÕæP)­m•Õ³é#ˆ¤h^­ ýp{G¯Ú"¼oÖÍÆîÕæC®ÑϤ‘ï? ðñHÑ‚t<± ¦tA Õ
+iãœæ¶3o¶¯,!î7w$à¶&zð€Åáî«–\ØhŸÁ‘Ehà 6¯ìÈv@×þ
+>ÀñSÞÑì
+ïïjùý)7ýKôh ±É5$“VEânøFÀ3¡†³] q<Âo[lyò¹$»+ LŠ\`¥G+4TYÑèÞYûÏH®a?È}çPB„èß„®ÚaPÓ¥:ŒŒÿ|©ºùÀ3Æ·æct”MüθˆXÑ°*¡~Tþ‡¹>…aiÂÑŠ®ïEJàct1’áç$q<¾­úÊ9ÞuS£”÷mP¿lšÜ^‚¸ ”C<áXyµý~g½yµuA .†÷)`§¶L²nùn¿ê€÷æ†Ç\ª$ÜôøÕ»ˆ%ãØt2„Xǃ€Ç2™N[>”m[ËGÔÄIàؤLOïï±f÷ÒT‰!ÆvÒI?:s™ªÅ¦²w€Ö¿îJ¡†_‚I
+ >˜ÀEl2
+î|{m•amº*717E! 7ÀÊ.rÿó‡ŽÐ‘Å}³#ð¦|.7öõsÚÎFÏÔUQð†ëÊ“>%ŠÅb\³™?N"s§S»PÝÊïë;°òF›a>Bdˆ%Ý5|¸£&
+Y¨3ОŒ«ðg–±ôàÿ®¿ÊIZ¶s• ¶\0/-[ìÉ̵'µ·“Êd† ÿ\äV:endstream
endobj
1741 0 obj <<
/Type /Page
@@ -7258,14 +7282,14 @@ endobj
1744 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.9056 610.8776 314.5963 620.2872]
+/Rect [250.9056 595.4921 314.5963 604.9017]
/Subtype /Link
/A << /S /GoTo /D (statsfile) >>
>> endobj
1745 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [108.9497 452.5825 178.334 464.6422]
+/Rect [108.9497 441.8126 178.334 453.8723]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
@@ -7277,7 +7301,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1749 0 obj <<
-/Length 3672
+/Length 3671
/Filter /FlateDecode
>>
stream
@@ -7294,7 +7318,7 @@ fH¬’«øm;²Bk6€måïlX[;—Ú%o£A%¡!}ãSÝ”õR
.q¯
âZ“VÙ§F€?\3x¯—M¹]IΛ`ÌIÛ†Ïë>óò3ÙquѧOýõ¶{ikï6yËö`IKH$QXÏv|¬Ã¤ËËdÖXß3€wÛ§m$“ džg£Çšàc_/L’˜1#W¨b·¨‡: Ve±¥vÝÀ–VåbE ²K•>üZ‰âLÎ$è~< {4wÚÕ¨üòžIu
ÊÏH…Ÿóh:ƒR5D›öëv[Î×Øô\ÒÜùûûˆFóå’Ó‘¶`V;N6OáàÛÕ’¦#Nu,bÿʜʽȈX†{iãàsì—Cø+™4ŽìuÛÑ#œw4k“Jüò¨î\¿F;¦rÃT9<#~M3‹¦þ×®^¸v³r‰~þDô}Ä+ÚqžC
-r_p°7Ž:hE|˜ø*¿g¼ª¨ïºU;þî!ÔìG"途3àxçfº 2Þ/gb—2]¾~ÅK¤Ñ“ÌŸ.—%Þ/D‚Gn?P[ÂUyÛ–[ çïcqzù³ñÓýïO( "t㾊ñ¾ƒ¢YlóÔÿpÆ—ŽÿLæ¿Ð}û‚¶WR“eܘìxC,ÜgZÒk×–@j¸›ìgø
+r_p°7Ž:hE|˜ø*¿g¼ª¨ïºU;þî!ÔìG"途3àxçfº 2Þ/gb—2]¾~ÅK¤Ñ“ÌŸ.—%Þ/D‚Gn?P[ÂUyÛ–[ çïcqzù³ñÓýïO( "t㾊ñ¾ƒ¢YlóÔÿpÆ—ŽÿLæ¿Ð}û‚¶WR“eܘìxC,ÜgZÒk×–@j¸›ìgø
endobj
1748 0 obj <<
/Type /Page
@@ -7318,30 +7342,22 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1755 0 obj <<
-/Length 3625
+/Length 3623
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿Â÷Ty&BðA€€óä¤N.6í9¾»‡¶´DżR¤*RvÔÎý÷ÛÅ)ÑqîΙ‰€Å×b¿wAqÎáŸ8·šqå²óÜeLs¡Ïë3~þ ÆÞ‰0g'͇³^ßž½|«ì¹cÎHs~»ìe·Vœß.ž½ùëÕO·×7s©ùÌ°‹¹6|öúý‡o âèçÍÞ¾÷÷›«‹<›Ý¾ÿño®ß^ß\xs}1V X/ÃO,xûþûkj½»¹úᇫ›‹_o¿;»¾MwÞWp…ùýìç_ùù®ýÝgÊY}þ΄sò|}–iÅt¦T„ÔgÏþ–6Œú¥SôÓÊ2me>A@)Ú™9ϵcFIå ¸l:“Í»rûPnñ6°FÖΤRÂÉE³ sFû:@Ñè0‡6\´M_,ú©3f²<L^ ÐÓ¸Ù]I¿»®\R«oé·Û”‹jµÀû0¯)Ö¡Õ®Ž†Â]|öˆï¬Úía `x>YÆ2™1…`Nké±û£mÊ$B >»½/»’x_l/„…NWö}qWÇ¡ž~ h<Tå#µ^ÒO»é«¶é¨S—eýÌMÛOÔ6a.ýlJ¿f¾¡¥¿p.?ÓÈ]ÑUp ¼&?ŸKÁ8×Ú_ïºXÜO°S‚ å2²s‚Ò1›©0©Ûm6í¶‡[)‰D‡_¯ZÔg8ÃTû)¨«²Õ§§(Å„æY˜wõæ{:¡¿GBã˲/·ë
-øD#÷\ÊÅ] §HR)VØY•‹… ‡ïö4ÒßW]«˜SVE‰ s³¬hŸE_=”qïWGŒZzò7åòõ«_»º¼ùö÷ÍÜP•Œâ+™ômÿjŠö€ZšÄÂŽ³Ì*ýu<VLé\?ÇcËŒÌí “%Ï=“%·_d²d¹4QÖÅfS.§xì˜
-* ãí#š7„ù  -ÖmRCè]Á¥¢Ñe÷
- .CÚwe4\CæMG²ëÙcU×ØÊf]µ&ÜŠÇ_ZÒï¶Àôñ<CƒKc_a&ŒŽ´-?/êݲœâœ9§Gv
-vR·]À
-ý
-¢ÀãÂÑ«0‘~êªëiv
-ã=!.g¹àù׈ƒÊ\ÔÛMG6ePV¥ n4üÈv£ró%ñÔ‚å™ÔÉ@{¿F¾Òš;©Í0òÂ틺Cý6d2°Wöê`°pÔðÔõ *ï^´-ªÚE¿â>ìì¬o“µÆáÌÒîü0ÚÍ^ï‰"–3cìQ<舜sÁ:øfÀC"'ÂÂ=ájÁljÅ#ñ./'H–u®a÷`7Ò±ÐZýâž®/B$ŠØŒƒ1òj@+e (ƒè(ƒÓv]¸Ã]ŒTAT2«ó±ÊüAá_;çŒOíœñ<‘Õ¶\ì¶Ä4ó¶©÷SQ»e97.L¯¼—™Hi‰4"*˾œ
-ð„E1Ѿå`ãä“ĬÛ7Èêxd0ó0à1õ°{ &X¯²¡îŠÜŒ¶Áß Ç úû®ÜV>®×V{n&Â*'Õ"ç=w7qËL± ¶pƒ¦#h9hpí<“nìŸ'Y¤7&rên[¿Í!bëÊÅŸ„åù€MRpb6¦Ù”1%SŒñ›rÈkõˆM¸_4æxÆMØ ®ZÈä ¶!Ýña£#¿#øa« ÷@kôÐŽ3ŠºZ=EÓ
-Cßþ8ÄÃF<òYD0å´2Ï™¶Çaí¢]§à5!…‚ä\—ÉsÐQBzsóñý»nœ…&‡ë}öâ¦NE~zX8ÄfèI~X°àCf9³’pŸ`ÐðÑ60N^-„–:Òà/í«Ð„ìDûR˜ÈðRÈÐÿ÷«dKC|}H•ü“]¾}ë^_^¾t&ž‚+­üH(c2:ÀƇóGg ×D1Xò—p«WÏí FÊp‹!Úañåå
-þ.9üùÿ#ÓˆA ±ª>ǵ4e>ymZ?ªßÑàØUÆÁýN×ÔùaÎi1+VÚÂœÀ0ŠóÝÍÅ|ÝRd6<\@R$¸ùâéiÎÉñc¿•1nóÑùÞp( ‡ÒÃí#…U!­Â>ŒÂè€Ú•a—Õ„ð ôÂ¥ìºjz uOí ‰BGó^l
-úùƒR42Äj¿)'Ž¢@xv8­ë'Ë…·AÒŸ 9–ÃX•A×åÑ&Ï;ÈH|Äcpc‹¶Á˜éÓ.¥*8ìé…Ó0©¢‰Ë=õÕ‚àÄ÷°=šÓ®<€LA…¥O0Lçwipûéœ7aHóççâpº/^û#Ö‰<ÿ=,.Ã`vŒ’æ
-âíF(Öxã¬g9Ý-8ïH¤ŠDöøÔoÿ œÉ€Ñ#5ÆÔi²tJ l”ŠûÂRŠÅ‚"X¤œÇ¤›mõ
-_£±*L+?oªmˆª| ~*™+mCõ ¶‚¶· ð›èæg¶SÖÏûdcS|5ß–‘MÇ¡Xîl”«Ÿ”Ç´àâyÑц۱è
-- ú9ò&"íÀ¹>ÚTQ h»Ci„†@Y¨#:ƒ5ê‚ÉLE™-|ñŸ†<[ºkŠH$(îÅɬ@hÃœM^ôI‚pæœÊU%¼C»¢½7uÑÓăîéIbIˆ:½˜TÁLIµ+ðà‡ªÒi\4æwÉAxè¼"”ð@žsð€æØ6Fk
-rgæ^Ú,Ø>«£CÇfÌÔ° Ü.h¦¯˜Y*æúmvwëª÷7ØhÖ Öcë¡
- )à4’$¬2suxò9²ƒQWR"²/c`½©Ë5„ó @ÞW=â
-4¹ør;œõt˜›fÅwÉy×]; mwåfŽI&YŒäFgLX§Ç(ÄBŨ¤3hr›Õ®®Ÿ}¬xKÖ%5ÒÛ-´ÕëE[×Þ H-géÞE r-ò>2xd
- ‹v½âßUuÕï ôèƒcl•Å¶®Ê°WGŸö`Ï×Sà—¾EÖóïíöI£)ñc‹'LóD¡bV—ÞR…¡y„Ãϸ¤:ú˜µwÓOXL@ÁS}ùE@rvøØÛŒ_سFgϼŒ Ø‚%‹ŸxøâïCy¤P]zÆ-Óg<AƧ¬¿PÍòT'{**±Ly_úÊm¼‘C7¢¾Æän|¡øá}6¾¾`O};ˆ|j²6ɽþïï
-]B´¯¬•O¨7 ¸<"…—2¾a†ŸY2ÇòùO2š<ͯ!½h–ÑØ}¤O‡¨ó}R–©ð9}ÎxJˆÿ
+xÚ¥]sÛ6òÝ¿B÷Ty&BðA€óä¤N.6í9¾»‡¶´DżR¤*RvÔÎý÷ÛÅIQqîΙ‰€Å×b¿wA1ãðOÌŒf\Ùd–Ù„i.ôl¹¹à³O0öîBø9‹0iÑŸõúîâå[ef–ÙT¦³»uo/ø1bv·úyþæ¯×?ÝÝÜ^.¤æó”].tÊç¯ßø– –~Þüøáíûw¿½¾Ì’ùÝû?øöæíÍí͇77— a´€õÒïpfÁÛ÷ßßPëÝíõ?\ß^þz÷ÝÅÍ]¼Kÿ¾‚+¼Èï?ÿÊg+¸öwœ)kôì :œ kåls‘hÅt¢T€T/þ7캥SôÓÊ0md6A@)zÚI:Ë´e©’ÊpU·i²h‹Ýc±ÃÛÀÙ[“r&•Já œœ×+?g°¯SíçІ˦îòe7µcÂÒ$ó“—y ôLíü¾ ß}[¬¨Õ5ôÛn‹e¹>xàƒŸWçßjÖ£!×F„]#àã:ëfw\Î"IX"3 ¦Ìj-v4uÑ‚D(ÁçwE[ïóÝ¥0sßi‹®Ëï«0ÔÑ/!Dzx¢ÖKúi¶]ÙÔ-uªâ±¨ž9 nº©“šÚÏ¥ŸmáÖ,¶´ôÎåg¹ÏÛ.×ä³…Œs­ÝõnòåÃ;%ÈP&³>;'Ø(-3‰ò“ÚývÛì:¸•’HtøUáªy5q†M™Ê`?/UYÔ°úô¥˜Ð<ñó®ß|O'tHh<cUtÅnSŸhäé¡„K¹¡°+áHŠ#ù;ëbÙ¡°áðýFº‡²õa³Ê¨ dnV%í³ìÊÇÂ3îýzĨ•#]¬^P¿Œðu¾¯:Ï{owßÄöU)MøJF};¼š¢= †Ö…&1°å,1JS:ÓÏñØ°Tfæ„É’gŽÉ’›/2Y²L¦A6ùv[¬¦xl™
+ã=!6c™àÙ׈ƒJlÐÛM÷GÖ…WV¥ nLùÈv£r¤é—ÄS –%RGíüùþIkn¥Nû‘nŸW-êwJÖ!={…`§þ
+B+ eHF{ظp~tVMð½%ñ·zõÜb ô·è£í_]­áïŠÃŸûï82ëòsXKS“צõƒ
+ø Ž]%Üït=ÐOY眳B¥ÍÏñ¼£¸ØoÑ\,6 EfýÃ$E‚§_<=Î99~è·ÆM68ߥƒáPúh8 `¤°Ê§U8Ðù‘cx°SûÂﲞ~a€ÞBؘ]—u‡¡î© Qè`ÞKMN?PŠ¦|&‚X¶ÅÄq@ÏŽ§µÝd¹ò6Hú3!‡rª2høñ²<ØäE ‰‹ƒxŽ`lÙÔ3}ÚÇT‡½p&U4qu€ ¾\œøî·GsÚ'(H¢°ô ¦“é Bà. î>ͨqÛ†8Ñ_p*§ûâµ?bÈñÐÃâ2 &c”4Wwh;@é´Æf=ƒÈénÞ¹8G"U ²óÀ§~ øáLŒ¨1¦N“¥Pe‚T<äŽøR,—Ár/å<$ ÐØîÊGà"û)n†‘ߊƒcbKŠäp—°öE ³ë)׫ ŠjÚ¿uU"îûrÆ|XåÂK¤ÏÓdÊ25²q¹sYÖÎkWê…†+/Ãïò!¯?¹:§‰ª õikúëzxbÞyñ÷S×aWòµÐðÊ FË—Ç3>u±ƒ+87Pç°§‘˜ðO@Ö‚
+èä©ѳSŽ‘»ú•~Zñy[î|Tå²hàð¹\d¡´ñ Õ½Ø
+ÚÎ6Ào¤››ÙLY?ç“Sã«Å®lk„b™5APvŒ>+;–iÁÅó¢£Sn†¢˜:\+ 'îš»‰«GˆÛý¾ Hïéb»|(Vû*ÔEœàu^/CqÃW4NdˆbOÙbˆ¶±ˆr^jtJÀda“yQºXеqkauH½„ híTµDàK‚ÑÏ’¢·cþAäÄ­ óøjƒýhß
+ súy‘vàÜ'm
+ª(z´½Ý¡4BC ,ÔˆÎ`Zo2cQA&à@sWü§!ÇV€îëü Š{q`2+:eÖD/z– œY«²^ÕA çЮiïm•×ä4ñ z’X"¤N/&UF0Sbí
+<ø±ªtWg=9æÝp¢:/÷%<ç <`:¶Áš‚Ü™ž¹—&ñ¶Ïèàб25l·sšé*f†Š¹n›ýý¦ìÜã vA¿%ˆõØz,=(F
+8$ «Ì\Ÿ|Fv0èJLDE(l¶U±pÈùª3!®H¦"_rû³Î‡¹qVx—\´еÒ¶'Qnb™ä`ò¾ˆ@œ5Á@nt„±zˆB(T Jj8ƒ&{¹Yï«êÙÇŠ¡d]P#¾ÝBûX½^6UåÌ€ÔrïûQ/'Ð"ï#½G€{À¥&êϾ®\\âNÂrü¥˜SEÞùz‡‰{!ðÛÑ3!Éw†Ý4ÊåÜô2"u|„õŽÜã«oh’ÏöÖçÄB@ølcYnÌh·èm;Us†È[ª¸´ÙMZd–ŠøL1¹;V¥§6ÇC¥úY„LC­áÔ‹ržØÞ)Sr0£T|[ì0eó‰$‡!¬ “aÐ7T60‡ !W„¯Ñ+Ð tC©Lñ­3x¡sÔÃ÷ìè„P,mæë·Ícéßûà„MY—'yÐéÓûNþLÅÎPRÖ˜…Ç-ü;´¼„¨`ïë.T¶ ]Hô¨þ ÚQæ¡>²ß܃¸eI¨Ý`Ø04XTÞ¡P ³:ÿŽ¹¯‘DË ÷êêbp?%$ĸ÷(Ч:¶$c‹ài±ÀÄÚ$¢ÇqÚ{1Q]L #ð[yi·ý¾VÈÄùqö®^-ט*j&.Hz~NÆ÷e\^Å|µßl½›K4>ÐÊjpáÍðq'Äо„b>ïÅWà^ålJQ%36{ÄòûMĹ[¤1Ï÷Ï[‹P—ÃWž‘Ÿ€h€¥ óñ2nÅ3©p˜½èM?õã=i0}£Tg'>|S&}dN\Vœô ã½úÏâ&ü–‹aVò–^ °×ËßžòPdÙl¶@üû²*»ž\pŒ­"ßUeáׂãjéÓì¹z
+üÒ·hزî½Ýœ5š?¶8cš'
+ý³Úø¦³(Ä8÷Às ~Æ%ÕècÔÞm7a1!
endobj
1754 0 obj <<
/Type /Page
@@ -7373,25 +7389,26 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1761 0 obj <<
-/Length 3418
+/Length 3415
/Filter /FlateDecode
>>
stream
-xÚÍZKsã6¾ûWè¹jˆàE¬=MOÖ©'qœÝM%9ÐmqG"‘²ÇùõÛHP¢ä™ìTí”lB  ÑèÇ×
-Lsf”T½…aÔÂ9h iÖeQÓ2ß>tUS·‹,ÂÌ2)Y¦ÒìˆPÄ”Ä\'d
-\(S±^7OI]>%6uy0¿P \#òÓô\ÈH¡r&PÃ#.ïpÖ/ßè<f= Ü ÇòL’í—±\ÉÌó¼:O”ónU‚JUjæ´ Óù¢¨‰¸-éY,—åÒ“=·çv¾«»jSR÷ǪðsÆJ9g\+í'ÝÖËE?"N8!¦}ÏuèÑl‰Y®Ë.È0=tʈx*`š%š[P·‚ ‚åi*Ýÿ0àTÊò ´Kã€ÿ)Áç7«’,oYÞ»uG/U;±ÆM—úþu3µ^0Å36–3›C—“fs7ãžË™ñ®[%õûe³)ªúÀˆ¥aZ
-qzúžkbþ± ¦¹Ôc&8#ïõ~ʆmdò·an‘š0 2©³`¯_OkYjD`¹­ÐÈy†ûëžÅú©xöt[v4YSSÃÕ¿¿yûýëË+zÛž ;/ÛˆNeë,KÏ[ÝÑuƒ´åö±Üö³9ƒZ0™Ùll°uƒFgóy±èv‡žýle³¸fõX‚½j™y{…ÿ{µvÚ^……èbSóáû· mÔNž=«¢¾/iÊ;§fCÿø4”u‚´÷þÜìü¤AzÙµU}Ošž½~ —dàÕA?”o›õ’œò›«Ÿˆh›»îÉ÷Ššh 6Å3uYú~]㻕Á»»þ ­aB³V}„¹÷s™1Ž1ï´ŸG\'ü<pQĵ(º2iê¤|+:ÈXÓœOËÐsM1Z¯–LØ™‘7d' ÉÆ¥m¢Ÿ
-×(`ÃTþ¯ìXbAënˆ,ëâvícñbU.Þ‘ÀÛæ
-··å¦Ù>;@†war?:ªÁEuA9›2œŒc—óP«º¯ïÖÞ B2ˆ×SÔ~!X ýPnA¬Í~?'x{ÔR +ê´=Ä\Çí¡çÂfÚÂDÛU‹CðAÐè<?=}Ï51ÿȤ( ð/D«­PyŠòàκ͂×H6÷¶É•ïòçÒí®çíC¹¨°Áüyû<þ%ä››€(F:Hüp‡® A1Íup]D=8s! @kíƒlžFA¤š ²‰R
-ÒüG
-Ùá´#Ôƒ¾sE‰ ö7QŠ˜ù-͸»_ùB$ôßwOñYÐÔðÑ}UƒÏã‚g
-ÎJB@â |’v]Ë󃧜s*ëoê̱…îG"è8ê‡(¾ƒÄ¬ÔÐ6וk@Uþé ‰UñðPÖ~Lt|œ­¯…6©|é|_Îqšíc±~E¯›©2 ³ýúc™ìxUÛîÌ3 #ME^Ålªƒoø0%ç«æ¡¼Ûî…×ånë3¿ q òÄÖér<
- Ûš÷a;ÇàµÃÂPôÅêþÞIkü> áµ`\"­Ð¥‘®w›ÛÀêÐ: çeÜÛIF$ŠBq¥y¬|˜7„›'D¤“« µàB ±nžú¦7?Y\¬‚ö«;t?|C<Ó ÅRþêS_¸ØX,üùÁ(FõÕpˆ€´åm\ïg¿?† áSLš]znÙÂ4ëu@¯“ ^
-
-L ãí
- g<ZJ,‡úFH°$òCMj/’ëÓjï“Ú¨Á¼ ô Ú3œÇž8_Ã[¤Êõê4ö|xÁßk*’á3ÖTª˜ÌŒ|AS©aÖx`r.Œµ5aV§´Er¨Ï\[ÎÞhŸÖ$œœgÙ )ÿEã:á…‘Ÿ±¶$TM&Í_Ж‚5¥2}!‰ÑÖ‡„¬HŒÏXY€ýµàÙ Ê’œåy¦bäü×uvÊIû)•6|öÿ
-ÔšÈȆ¯š®?O É
-ÞOÁìp`|ôŽMhÅ8Ô±§ïØb®ãwl=—;(Þ•I…ÅÅFd“Jž¼çš˜]îÝ,X®ÍxúK¬Ûö„ïLôܾ¢[Ùð±J:]ÿô5Á’þh«Ínío‰d8~D®æ¶mðó3j¦ïK€ U:º¹ÁÆ˾¸>àú˹î¦8–'羆ŒÈ÷J£º¤£,YšP®DãÑá™ÒöNn.T&
+xÚÍZÝsã¶÷_¡·È3'_é““Ø©3=_ã8m3Ih‰²Ø“HG¤ìsÿúîb”(ù.½™ÞèKh,ûñ[€|ÂàÇ'©N´v’Y•¤Œ§“ùæŒMà¿ïϸ癦YÌõÍÝÙ×WÒLlbµÐ“»e4–I˜1|r·øuª‘œÃlúí»›«ëï¾½8ÏÔôîúÝÍùL¤lzuý·K¢¾¿½xûöâö|ÆMʧßþõâïw—·ô—öc|s}óµXzôöòêòöòæÛËóßï~8»¼ëÖ¯—3‰ ùãì×ßÙdËþáŒ%Òštò /,áÖŠÉæL¥2I•”¡e}öÓÙ݀ѿ®ë¨þ8K„ÔbD‚)0µ‰–Bv
+ä:á Æ@u½.òŠ–ùî±-ëª9X$O2Îõ$"ÉdšŠ˜f1× ™Ê”¯×õó¬*žgÿ©«â`~.A¹šÛÓt\#ˆH.mÂQî—8ë×WÊƬ gŽ{áX^H²ýá²ÄJ‘yž7ç3iø´] R™ê)-Èt:Ï+"î zæ‹E±ðdKÏí¹™îª¶ÜÔý©Ìýœ±¹e SRùI·ÕbÞˆŽˆ©aß­
+=ê-ñ/ŠuÑÆç‚Ž\jOL“™bÔ-aÃ9Olš
+÷? xD
+õ`S”wÖm¼F²¹÷°íH®|—ßnÿ­š6żÄg@ðçýËHøÿÕQ t0óú.ÅԪຈzpçBARÊY›FA¤ ²3). aöƒúXÔP‰Ri˜zW­‹ÆÐW³ dŽs2ËÅW¡
+ge.ÀJÐ ¤=N;â@=˜á{W”ˆ`#¥ˆžÞÓŒ»‡•/DBð}÷—È‚0§>€Ê
+|„<=(q=\~BÊ«bx8lƒO]ø×*oh°Eé†%8eU.¥Â& ÀHáy渒+ÐTpVšoà“´ëZ^=åœSrX]ÍaŽ-¤p?AÇA?Dñ-$F`¥†¦¼®\ªôOgH¬òÇÇ¢òc¢ããlùp-´I àKçûbŠÓlŸòõz­Ý„Hí×ËDgÄ«"߶÷`ž³0ÒX䕉IUð ¦ÄtU?Ëá^x]ì¶>ó‹×P OÌa.ÇÀô²çëÆCˆf÷øèóySÌm `îLî-½Þ„L¿Ü ¡
+Å•ú©ôa^nrœu Ž®‚Ô‚ %ĺ~î
+›Îdüdq±
+Ú/—è~Êö|}<Ó ÅRþª
+SW¸ؘÏýùÁ FuÕpˆ€´åM\ïg¿?† àSLš]zî{ÙÂÔëu@¯£ žÔ’Y8«ºE5Œx K¸Ö¯Æ
+™f¡>À 6;:ž²P̨l/ÚZ˜EüÍtþ&tÈN@ømÊižx^¢y·¯ÐâjXx6íî¾ï…ùV§ÞcDšÐ e¸½Ôü°[ç¾×oB¨^2DSŽ¿¦çb"rx^0q`6fÆK?çÊ[²Î¦àÞÛÒÅ>x¡\D]¹4”/é„ôÔ³_iv$Q./Ÿ„+TÂX°„âÃcÙ×ô0OéçË‹ÒûÎ^Ó#ú£ßnwbhô±¥G¡ª|§©È6® æÂè"llò¾ÁA^ ä•è˜«
++aÓµ†ÌÂfµý˜›T™å©Þ¤þ¹^AŽ(ö•€ú1Ë“¡Çp¨YXž¹CTàG.$­%4)¬H2aä †wåO½pˆM¥§Õ º“dE34£#\<“ÙWÏâMQ™ÀK»I,ÿÿ¦T> ¤ú`õµ !š}äÆ®Ó2”P‘ž>(ä<˜þÆÛ@Îx´43 ê_a†%‘jT{‘\ŸW{ŸÕF5æ®^Ñž6à<æÄùÞ"õP®SO¯±—à þNS‘ _°¦R™ˆL‹W4•êÄhLŽÂ…¡¶FÌꔶHù…k Ò¹ÄíÓÚ‚„cY–½’ò_5®^ÉñkK@Õ¤SûŠ¶$¬)é+Iüˆ¶>&dEb|ÁÊì¯8Ë^Q–`‰µ™Œ‘óŸ×Ù)$qÌçTZÿØÿ q›AÙ¹Ê}Áã;œƒ»¬Ö‹#ʤìÈeŽto¾rÔÏȆoê¶;Oé!Iuâ*pŸÇg ô5¢ßî¦àäy‡€b
+ÞWOÁL`|ôŽ+™0¨cOß±Å\ÇïØ:.w¿/f%3MHyzòŽkdv±w³`˜ÒÃ鯱nؾ3QSó†neÃÇ*it ÿÒ× ú£)7»µ¿%áø¹êû¦ÆÏϨ™¾/‚Vé8èæ¯üùòö€ë/眻›âXžtj}- ‘í•FUAG9X²Ô¡\‰Æ£Ã3/¤?ìÝ\¨L
+(3•éÊÇh3ÍØàżL»-ç¹ÿ€E›pÊ–EÇrÆŸ!™iÞ¶Åæ±– Íè•t–¹wCJ²àEƒ¯‹ê#æƒÖp·Ø ï&å¢úÊÓ+:bÊŸ­ámF]5­ûsî­Þ†5
endobj
1760 0 obj <<
/Type /Page
@@ -7424,21 +7441,19 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚ­ZYsã¸~÷¯ð[äª%Á£ò4;ë™8•ñll'©\ –XC“Z‘²ÇùõéF7 ’¢äLmÊå4Ð  ¯›”—þäenb¡‹ä2+’Øi.—Oâr c/$ÓDž(Rýôpñã_q‘ªôòáq°V‹<——«.ÞÿáÝ/×wW‘2b‘ÆW‘IÅ⧛۟©§ Ÿ÷Ÿo?Ü|üËÝ»«,Y<Ü|¾¥î»ë×w׷ﯯ"™ ó¯pb‡›?]SëãÝ»OŸÞÝ]ýûá×a/ÃýJ¡q#¿^üóßârÛþã…ˆu‘›Ëx±,
-uùt‘›DkßS_Ü_ü9,8uSçÎ/1ylT’^F:‰óÖ˜=e §e¦ˆS­t8e%çNÙSá)ÿK½ï6ÑÚÆvQÛDÝf߯ڗfº%d¬U\™‰¨fdQY”€±0ÛØæ*ÒZ/úņZ4å“íìîÙîhÀ~«úŽ†V{K}»+™/ìÒVÏU³¦±û› ;Ÿ~ Þ$ µ¼Òªem?¦‚_FÈ—åê2’2.ŒQN¾²y%ÙÚfåxáµ^vUo;P4-Åâaý+ûXî랪ן܌̲XIÀ¾y'?~HŠáT™Çi‘HžÚ´¼¼ÑЈ$>ÒlVŸL¦q&³7Tì@tFØÙmJØB½Š–ue›¾›2—„˲ü,÷@tÌ~´O“ÂF 9âÿ°©P_²tÑnûªm¨ýRrgu%Ͳݱõõ+÷?mkûÛwðLò@ØÊA»‘Vx¿æºii=øL^§Ó Г4ÏW(%i]’ÅBj9Ѻ妲ϠL²dب@´f…ðÉ>"¿GØ
-œÉH©^ª~Ã~þ¶õ®}è2\GC¿Ðrú¶ÁZ¾à‡TgnÛS¡¤h+=üGÕ·G產/eg.L½H“óbx¢c11ò:.3‘ã/6 ~Ûԧ헮­mog¬&”‰"D¯H+¹¸éi¾óãØØwtê ŸzN=YäÄ£oéq|vOmXbcA!vôPÒO¿+›T
-갳ƒZÃÓ¶íº
-,ŠW¿qNuì,Û=›†õZLÇ0¦êÐ é¡Ý÷ë6  êh#XÔóÞºèyßÙo«Ò n’óEowísµ²¤¶ÇÞÖ
-"q´t¹ãq¤“o+s^€@5#Áh³iëLçcøÆ
-sˆuЦQ¤>VAWÅCìê¡•‰Óux,ëº}á&ý0úuTŒ_ ×ÓoÊgîñÇ@”ïoß}º&c$)Q˜K uìØà”&é”Z<Wm]ò> Ûit“FAÇÏ·÷Ô€¬Y•¼†³
-&3qñd&¼™Øhí%Áò“Ëx±¬Uà𲩖j.±ÔâZUO¿€Øw;ð1Ý9i _×±HÒ‰jùBi¤òâôq¥\ôTDôÚ*¥² L~i÷õŠšœ}å¹;:·²]¢Ow4xtІûý®á)TlæaºØí±.W<Z1ÃeÉ ƺ@jwZCBv»Ü•Ýæ$êÒ$$±gQ×ê4ê
-T5Œú6êÚò¸6ªciD~ž} šá?®ç±D2`Özs8žBžÇ^°éàÛðå–9½ÜÂÆrc—_±Y0‚ÆÁðn­£‡á7P8`¿wwíiv¹Æ
-T?!t!.$Æ<ÑšâÖ‰!<«é5õb›=TŒúi!X þwzyHË
-0Ï\å!dJYŽÛGwºÞïJï…2~÷…Ãn±,÷Uv"߇}TT„.ïv ï¥t÷˜yÊFÇÝCÞî
-€¢ë©h] ¼ëÎœøšë˜e]O*"c;˜„iŸ5jgø‰ÚÄIÿ¤ð…½†4û¬RöOÊe·v¹ßuèh§¾IA'q–u šá=òMZ¸æ'`¢ÉÅwV]®àn°PTÙ\F€ç_÷ôú¦P¡Êf»¾#*Æþt?„´¢!zº¥BJ0…KÈ©‡pèÊó…䚉"_‰ƒD%‹¼´»¯Œ™ñŽù¢É¨(î+HRʦ{qˆÄûÉ„·&¥D£W…C´n`´-ZÀÙ6 ­HøÐ|‚„=a§Xpl¶Ã0;~˜PÓÒåê•F¾6®¢4”ŠEeG#õ‚ÐóÔžøUÎÒ2"€çrØý§R…3¦Ë¢r#ŒÊð0[n„#Ç7°ß¡Z1%ˆ·mÏLØ)p¶ïçw.ÑÃ{ÞÁ-¨|)ˆÇY&C°¥â”·Ð ò,¸ï¦çdÁ˜X*£ÆÁ¿zGfôz®}¢§5‹ ©¯R±ï<TÖá
-×Ñœe 1ÿ÷ Çz"c°­€Ì¾±/ç™}±,¡µWD^vsºR6Tð~˜pŠ†wN}¿î!xÙ]EŸÎˆtñ?yp¼€’ŠÞÐðÞWYÂQ/…:Ã Ó CsÓ#Ò†Þôò«
-41t¿”â`‹êÞÙñ[:œZÖ­šÈaáŒkÕ"Ìõ%sT§¬ëF%†/«ÝÛ1‰Ý÷¿4–¦ˆ3Yü¦OT}¥ÆÄøÅôÌÅ‹°Äoþ0ûðÕ:Ä'^ý¡ƹ*2/
-žj8$MGŸ|Áî£_”ßhÄõ7ÿå&öÜc±aÇç÷W—X?]Ô˜œƒÑ9°Êfâ¿ÞZáêendstream
+xÚ­ZÝsÛ¸÷_á·“gB>’˜>¥9'õMã´¶ÛNÛ»F¢%NhR'RqÜ¿¾»ØDR”ÜÌu<À»
+ùíâß¿ŠËlûç k››Ëgx±´V]>]$FÇ&ÑÚ÷Ô÷ FÝÔ¹óKL•¤—‘Nâ<…5fOYÄÂÀ©E™±qª•§¬äÜ){*<å_„Ðûný§mÊ.j›¨ÛìûUûÜL÷¯„ŒU¢ìåÉ‘(jF5E ¸  óMÙ\EZëE¿)±¡MñTvåîk¹£ò[Õw4´Ú—Ô·»’ù¢\–ÕתYÓØýÍÐoˆ€7IC-¯´j™CÛ©`ã—‘ù²\]FRÆÖåä+šÒ‘mÙ¬/|À££Öó®êËMK±xØpïª|,öuOU‡ëOnFfY¬¤Nà _½“ß'v8UæqjÉS›–—W#Ú‘ÄGšÍê“É4ÎdöŠŠˆÎh!»M[¨WѲ®Ê¦ï¦Ì¥á²,?Ë=³íÓ¤°Q+Gü6êK–.Úm_µ µŸ ä¢Y¶;Ö¡¾~áþ§m]>ÄåŠ;x&y lå ]‰È@+<‰_sÝ´´|&/Óéô$ÍóÅÕ¥$­K²XH-'Z·ÜTåWP&i6*­Y!|*‘ß#l€žÛÇ95Syœ$iÆŠ0s3åJó8×Ò«åKÙÍ)W[­üšp$J¨E·-—ÕãËDäþ¹¥FWn‹]Ñs7Ýˬ]$&†pà5·Ø÷›¨ù¶jŸŠjÎ"ÊX؉Ñ΋­Dœ¨`qx…3ìm¬M¦™f÷¸TZäQÿ²-åÜa©8g5o‡ ¿±LR5]_«“æ˜Âfò$5çíqHuÚ •»÷¶ë£®/úªë«å±E&`Eyšœ PÍH0¶I¸Š4ËÆ"Ü4è å œ£1aOïÌ[eS|®ËŽ†¿”å–®Dåv¿ƒ=8¢Gtín*„‹jâfi´ß½çÁžƒ /Å!ÛhY»bI6©b¡À™Œ”ê¹ê7ìço[ïÚ‡.Ãu4ô;
+%E[éá?ª¾=:§}.ºòèÒÁÔmšœÃ‹‘ˆ‘GбMÌDŽ¾Ø$øalSŸ^´Ÿ»¶.ûrÆjr€@™°!zEZÉÅMOóÇƾ£SOøÔ“pêÉ"'}K+à³{ª(hÛbGýô»¢é@ÀoQëvM
+!B‰ôD#œ$‰UÝöÔ"}„ÆM³¤x€ÚQÔÔù/‚ ‰À ÈñÄ
+îR¶¼@å,¯jª§¢Žve·…øV{Ú $„ |^„@5#Ã8§qŽHp$ÄÍãÌáY@›yú?„õ|ÖM†ŽÓƒqªE­5èÄrÖ…”Á¸ß±#ak^V¨êšf´MýB}ÅjE Fc„¢VÑ‘"–+öƒuØ°µf¬Êý¦8Ž+ÈwMi‰,*4§¥˜D}A#]¹$âúyƒÚE ¿‰EÝÔþm_¤‡$¿#Êxíl =M]® ·*ž 6`Vøüµ$êÑYÁTÏÙ¤÷œÀK5nnûÕ›˜iÛrnç©h–ÞR'| ìg^MTFŠ£À´0Éÿ!Û0ÂBV,^ xCª3fç©œÙÁ*ˆÄÑÒåŽÇ‘NB¾­ÌyÕŒ£Í¦i¬3Eà³æë M¦>VAWÅCìê¡•‰Óux,êº}æ&ý0úuTŒ_ ×ÓoŠ¯Üã(ßݾýxMÆIR¢0—êرÁ)MÒ)µøZµuÁû€n§QÐM?ÝÞS
+ö"y/ùbãç¶ßŒáØSÀ{GmHµU %'†ð'[-9ZmÁG`VB‘éÄZÚWâÇê´"*²®s¨©þJ¹­ÑçùªÆccÍâÔ¦é˜ólÐ"†`ÏF %c#MêFP!' νVeòŒÔF»¸ýôpóþŸDÛk¼ ‡:
+d°b†Z80o[XAÀd&.žÌ„7­½$X~r/Öµ
+ž7ÕrCÍ%–Z\«êéûn>¦;' äë:I:Q-_(TnOWšÁEOED¯­R*›Àäçv_¯¨ÉÙWž»£s+—Kô鮂ZÂp¿ß5<…ŠÍ<LX»=ÖâŠG+f¸,ôÂXWHíÂâNkHèÑn—»¢ÛœD]Zb€„$ö,êRF]ê †QßF][×Fu,ÈϳT3üÇõà<–è@FÌZoÇcåy웾 _n)‘ÓË-l,7åò 6-#h ïÖ:êp~…öð{wו=Í.ÖXê'„.$bÅĘgc"ZS¼À:1„g5}£F Þ#@l3  ‡ŠQ?í# ÄÿN/ b Áa›þCÿ§»›7·¢é¹àÅ«~̬Ûo·-©+®ß¿eÛ`=’/¥½éN³ÎÉtJy’NY@-0#{r¯=°›cœ¯÷™Å}ûTAIµ»Ø´Ï%gêÜSÐLg@Ôt"ÃÒ5¾ÇâØngÖ)Ÿ 4üÙhz£…Ä›j˜g®ò2¥,Çí£;]ïw…÷B¿ûÂa·X–û*; ‘ïÃ>**B—w;Ð÷\¸{̼e£ãî!ow@ÑõT4‚.Ð^‰ugNü
+ÞÃAÑðΩï·=¯rWѧ3"]¼ÃO/ ¤¢74¼÷ÇU–pGÔK¡Î0ÃtÂÐBàôˆ´¡7½ü*
+þÅ ©%˜Î5„%D‘‚p#ŽÞÞßüD-¸u€Ÿî} Ú7‡2Òî03$¯˜uôË%ÌÊ*,U;9@Ñ 4üFpš1ˆTèr¤%l„¿ãÚ¦ë"(Š­€nðaµß9ã’ó3§ó`4ÉzÝÖ{*¹@ˆQÊ1Û”'¸
+®8|ˆ§C&ø ±rÇŒþ’g£ ò&8¾)âsïÍ†å‰ q½&wuX}>ó†Í‚˜!ÞáAà®fª6†ìÀ.·®[‡ZyÏ|Á¿Ö3\2ˆ¡S5³Å˜<Î¥½FÃoQR˜™ŽƒÈw¼¿K`µÄüÞšã‹Y*_ùXð@tæcA&šýÆjìXL¬S•åˆŽ™?K±NÆÌï}ÄÅÏ#¨¬áZíÜA&q–
+óZBnsë5„À.èj!žKI/T ‰¡û¥[T÷ÎŽßÒáÔ¢n½Ðì@ g\«éd®/™£:ev¬Oü•¾¬voÇ$vßÿÒXgÒþ®OT}¥ÆÄøÅôÌÅ‹°Äïþ0ûðÕ:Ä'^ý¡ƹ²™
+O5D
endobj
1766 0 obj <<
/Type /Page
@@ -7463,7 +7478,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1772 0 obj <<
-/Length 3660
+/Length 3658
/Filter /FlateDecode
>>
stream
@@ -7489,7 +7504,7 @@ TϘ+ ½çÂIÔ rí#{4篘¦ö—|XÂZ>Ï×´Ç÷Pþ˜§MñVNp¤X¿ö¸è1{cZÔ™KßZE½ßB2ÇÌCLOì\
Í 8MjñaìÌÝ姑ÜydášÂ í¦¡²’ñäeýp™F_º‹m@¸»þøËýõApÿEðáÊfÇab¹2Ž%³úu0¬ÖœgZr(\t¿Ÿ ƒî.€ù`øu·O·®Ùj¶)/ š»ýe³4‡Dyò8Å¿þ3òüpéô°G¢Á¢›¯fë|³)3i€”¿¥a׬³ä,阋AåÆ©a
°q³¹V„!‰’³×ŠÐX­ÒÞÀIMŽ+
4ãóæç瘅D€E€a”þ‡
-Vú—ÿþvÿÇÉ1Ø5ËÔ¸ÕxBuôþ˜OX‘Î~Vû‹×ëo~Â@Èýn³i¶¬®ÿ\J ³„ëœùÎ86fjâãÀÁ[i£Fôð£µQ-endstream
+Vú—ÿþvÿÇÉ1Ø5ËÔ¸ÕxBuôþ˜OX‘ío]¯¿ùñ!÷»Í¦Ù²®þs)% ®m¦:¶‘žšø8jðJÚ¨%ü´¡P|endstream
endobj
1771 0 obj <<
/Type /Page
@@ -7536,22 +7551,23 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1781 0 obj <<
-/Length 3753
+/Length 3833
/Filter /FlateDecode
>>
stream
-xÚ¥M—Û6î>¿bn«y/ÖŠ¤¾xLÓI;}Û4›Lwm²Eµ‘%×’Æþú¨/ËN²9!
-Re{’pfz«žŽå&ï­ê¹SS—Ϧ!¸e‹ ¼™Õº4{B€5‚Ieeùr'„ð€E%Д¡aPõv>Õ`Ü0 ãò¢ÙÔÝ1{2¹æÈDcb-ü”=ù<p1ÑjLE~'WO…¢ÿ²iPÂU«ºZÁÖÌøQꇱŠ¯3ÒS-p2‰
-ð§–OÅ3…R€Y2 34hy„ç·ï>ͦ,LÕòhW•6Ðà@ Adgx¡]ölˆdd™Žg$Y'ë?X÷5­¿9ÞEdyø´Ò @Lã&°véxC8[C
-\ŒŽm ž ¼ È’4q.ò\˜Ó’…~,“ˆ‰š6ƒ³™­£,¯\Ã9q,rãb/Oe½ÎÊ¥µÃÄ‚8ùjÅ$‘¯lØØ­}iì+kpΠ÷°]Ød€`[x’Ó,mrâk%r^‘ÅXÁ ‘Ï @>C°5^ –ö]P‚
-e8e×Æ-ËÙ–ž=ÿÌÅ\—1ym˜}ò= åÕ¦ìrÃa2Ç@êdê¹ ‡÷o`³ÓÄô#k9€¢|RÛPPÑ0ݼ†?‚œsÛgÞ0aé%7¥±‰¾Œ"%¼‘‘õ³,œ¥tÇ :ÝQHÄéزYIÞ匙8`<3<
-ü¿q~3¨òºë1Ò€>òç¾Xü‡”*ˆ®ÿcªËÅO…²P³Úëý*‡€
-¡|ºÎNOµÀÏ$¥†Â@Nùù/ïɼ ×~ª¥ºš"K5»r¹8%›'f*J{ÏAdYg6áÀŽ!a*(7ì;ŠõiÄbûfD´ÏšÖMÁý:AÄÛXŠhK`“ E3$‚S3³¹ NDÜ‹ÇöÑÐHFļìÖ²75¥-†3L“‰!’YÆ’˜[ŒÔLƒIßDDG‹²õþ0¤c¡ËÜp‹`žÆÒG.©1Ïxa˜Á›@´ÎÊMWBQÇxz4¶…‰lé9Ø©mÓ=È­Ýj $<ç ‘àz
-µSô+*ÆzÊ~µ>;ÃK© 2Ufž“µf¨Ù±è“ p±‚T…?Ù1»ã²Áí«»S˜ëš»qÜõœe3gÿl^0;|uê«¡áÃ=@ð]U³°`A¹Î&ûÅùÄJùJÇñèT_hPAv ûÎ!‚‹-x(GEi¾ëÛ
-Ëêg3½@{˜Õž5©‡¥~q¥®íš_L–¡A°¼š,©.'Ë=•U¬Z¬ÕMrãPùqš¦×Wï©–ŸäÆaêÇI ¦ë?ö=¨fWw%7ÖÜI¢h
-„íþâÄtÙeɲŠ«ˆ˜A”¤Ódà„ÙåÂM˜ì/4®¦¡pÓÝv¸ƒh—5ó«íþΊýô|‡°Ü  úšK« ®,b gR^wå1ÕeWÚÆ1ßëžû²ö¥HÃëË÷T ëODBü=M2eà¾â¤%µ~nºä-½,_ÇÀÞ†–ŸÛÛÀ×ZÅõ`%ÚÏî5uÙYê<u¶‰1Ï‘VßÍ’TÞ
-Ó@º;½µÙq.ŸRçÏ*bËOf™®‡B_¤8#¥¯Ô4Ì Ê[%-ûôò5悾Ó>ùU\¶g8§Ÿ±çÕ{vT#{~ÎÊ"Ïlý1·iØPú: =ÕSq_†`&œM+•ô6ðˆ+û~áþ7öc•è¯5ë(Þ»º]ºîÆ,IÜQqæò³™ãÄT"&),r‹ùzC`˨5 I 87¼²ðÔÒÄ(/t¯@¡A<ÎódJG»ÄS•NK›1ùT0>liŒÜX¦Ë<ˆ ðC‘Ê/ŶÌVCL‚™Çû‡ïö”‚g^4îªí+83ƒ¾RèÚ%–¤òµÂ/b‰Œ“€ªÙáho´vy2̪˜KwM]=~…¡±ùr—z]Ó®²j³³m9 ÜÀ…t㮹=]×ü5wØ
-:L|•¦rùPA )&¤5Ì2GxÑÇãß=ûPw®ÞKzû5ˆ‚û?úŸ¦æãøˆþ­©Ç¤b®‡þ÷ÅçŠø ZìÌ>endstream
+xÚ¥Mwã6îž_‘Û:ïÕZ‘ÔÓi¦Mßîtv&Ý=´=ÈkG–\KJšþúú°œ™l“ƒ "
+Âu =ŸšÓg"ω¦¯™"§ÇgsªME$¿÷%Qãœôl›ƒqK›±:å]Y?ðØsÛ™3ÑíóŽ mÞ·¦E­ƒèk!ÇÒÊq÷á1ºY«D­îß~@@®¶M]›-
+Õ~-Vm¿ÝÓʇÄ6µ!LwÊëvgNŽ¥DŠ çÛ­9v¨Ä¢¢,¶¦wX>!¨m¶ŸAÓÑkßZ™<äÇ#|¿À|^Vƒ¦éÀ£,æQaFB(¡aÒÎÊcUÙvüIaÚò¡¦ôjü4'‚YO@c„ç./+s;'³ñCódÍ ýàdlJŒlJé4H"…¶ˆ‚Ôù$œ™ÞÚÓ±Üä½uóDîÔ6Õ£i îØ"ÃÕ‘ÌjS™!ÀÁ¤òªz¾B¬€E%BД¡aPÍn>Õ`Ü0 ㊲Ý6ý)0EpæÈaÆc-‚Œ=ù<p1ÑzLE~'—§BÑ CY4(á:‡¿uS¯akf|ˆ8 ¢D%/3â©8™D€DQé)+”´0áÀpjжÅä`)9ì½>í “r¼HÓ7n¾ms8–•øAÙí ê`Ǭ‘
+ÓŽ¼ã
+Àxf6x:
+
+ü¿u~3¨òe×c¤} Î}±øB(T¿\ü©.ÿž
+e-ÿ 4f½;5‡u^vædê-e%“
+¹Á‹Ç$¥9ˆG„óúÁ¦Js<Šø(G2ÜœCÙQ¥q솢yª[ê‚›üÀëàžóL¶U…”Œ(loo‰KdË$ z³œI26‰Å3þ[Û|‹éX¡”
+b‘
+$¼MwÿÕŠMƒ,uÛnÖYåVÇ,Í«¥g¦ƒTøº¬oh™¸›Ó’ºE%qô%uÇAª”KÙlŸ6¡°¬~4Ó ´»YíÙzXêgWêÚ®ùÅdêqÐË“å1ÕådÙSY¥ÁªåzPÝ$7ŽTdYöòêžjaùIneA’†bºþ½ïAµû¦¯¸ ´áNE[
+;,’/¸êˆêWuT#W}Ì«²Èmi5w×$ Öé—YðT <LÅ Á
+´š2qKb­Têojqeß/\m'A¢RýJÇYÇ©X½oº¥›|Ì-SoªgÑl6s’±JÅ$;Gn±i ìµa!É'iàÜnð6&HQK“ÃèBc&ãVf{$& ”Ød0 ZãŽQF#³eD‘È^0)nÚ`æñþá» Êð,ÊÖÝ"¾‚#0ó$ôEPß-±$U E}Kü;£4µšýäÆ^¬híJ
endobj
1780 0 obj <<
/Type /Page
@@ -7568,28 +7584,25 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1785 0 obj <<
-/Length 3623
+/Length 3576
/Filter /FlateDecode
>>
stream
-xÚÅZÝSãFç¯àÑT­'šOI÷@XÈ‘ºe9à’T%y¶ ªµ%bɰ䯿îé}زYj¯ê–ªÕ¨§5Ýêùõ×Èò8‚?ylp©JãÔI{<[EÇ0÷Ó‘dži`šö¹~¼;úáB'Ç©HrÇw‹ÞZ‰ˆ’DßÍŸ8¡Ä ¬MÎ>_]\þôŸ›Ó“ØLî.?_L•&—ÿ:§ÑO7§Ÿ>ÞœLebåä쟧×wç74åx/¯>%¥ËžEoÎ/ÎoίÎÎOþ¼ûùèü®}—þûÊHã‹üuôûŸÑñ^ûç£Hè4±Ç/p ™¦êxud¬Öh(Ë£Û£· öfý£cö36Vw<ÕF$ ÜÊRÄRSlSá´Ò­••³ràB+Ï˺ÎgÓl6ËŸšiþõ©Xçóíw—𨊓ä¸/`G–kDÕÓC:)”‹äP‘S¯ÁÉTk9ñjœÈdª
-(ð #Îuä&—‹‘eu"Œs¦}Cn- âµU8¹ lY5ü
-`ˆ)>± œÄj°; Yªø#ŠT>ÿ°Ÿ—íˆÁ`¶o0¸ N2Ï›|½*Jo'¸¿ÝZà‰Ý:/gL©[,ƒ…gY“?T sÄ*ΊD·Î„ª£N掭î¼|ò]ŒY"9 üÓ~Ü&7{Ìg_¦ˆ„z'DK+´Q‡%·L»¢ȇÈay(ûÎ/mÒ6xiÞ+¤mjª9V …÷¦Y³†g|Ø…©Ùc¶Îf :Òë¼!zVÎiP¿–Mö•fqKýCùºÉ
-;¯V4† 2iS2 +c†A{•Õ$R» BsI‰Ä¡Ø*ž€ÜAVÿ©*ëÀG¤Y^<SZr“…'U+º£÷ƒA™7/Õú‹¯<’m\?Û¸ÉsæF
-Ìf•_iÎ9ÌqR€]¸Ô¦ÎØ1„^Ò&CWÕäØEuAÑå,ƒ• 0Ši©Òlþ®JT …ŽD‰Ôb,Ë$‰PƆ`µÈŠåXŠ´Â¤2î¥HX{\u~–Ƶ^BrKV¤ºMnÿ Í_²u9&b±Q#š{!YY¿äëšÁç fK­¢oŒFx‹ÁC7D6QY*%,¦0RgÍ8 ⾸ á
-–“[â:ûØ=öÈh»ÈõTµÝŠThÆýÀx ‹ÆV¡Z†Ê\@mB
-w
-Œ’L6Þ•Ó“…7'—ùC¶$ÚcU7ìà8ã#ÒW0O¢PÀK°Wð Äp²6Üô¬ |7gD†}â'Kfä)=I”d¡¼øªšÓ¡[*6+&ºa’¢e` %`gĬÑÐ&[¡}˸N
-~™®„‰ Ã’e‰‹CÏóqI¤¡dˆ©vm €Œm…ÕÞ
-ŠC½·|É^!'Ô|XèÂ.Ãñ[“*aÚxÄmÚ²GñëÃuSB^7Tº©àÝ0è¿1QVY3{¤Ó¯ÚCµ.šÇ Àò‹î‘šEFÚP‰êá$#ÂcXx>Ì€ÛŒSã¬ÁWKÓ.#äÏÈí
-91tñ
-ÙÃòÓˆü¡ûFB%N¸Î×`[ªC­Ç3ôU6'"F–žÅ«^Ó”÷{¸á|€îG àèž’¡¼ªÏmpe¿mKC. åOâ’Ñ#†^}¨e?åi­¨Mr/ÇÁ{JC: “¾E$(â“£«S糖â8zXnrzbGÆèù×¢æG Ò;w<hè¼{Û›[GëÐ LâÈ\IÌæB×u· Žªô…*Lå”÷Èý\°Y0ç·ÊÇo˜A‹-‚üjÓL«E»LÜ[fôo´´ŒE$¥éŸ÷O½D¿ênÐH`ÅHÙ^ÐÀ‚:5l•HNð0SE#{‡“üþ0^ˆ÷ù²z!jS=1ã‚ür0êŒÉžQ`¦3
->Ø3Š‡mš@ã£ÓÝŽ2”/!ˆü™}UÖ
-„c‰¼{Bf%gv+·¿l@<¸¾ ÁnõËžä?‘lî—EÍIŸÊ1ÝÒøºZdU9¹Xƒ•Â¹£ì}‚áo,áæ|Þ·²ÓdU<¬3ŸEG¼µ;w“)*ÐþAŒ »»ßîp wñ‰³ªpÒ¿(F¸ JȘ=»ôÀþνÈÉy™Á«—,Š>½â¡(óÏø³¤T/Æ2¤fž#^ÜÚ2Ž;[¸oË8ÞÝŸØQЫi]†>ÛÑý Ô4<uÍó?꧅ÄW@/tmzI°hÁ d%] !; ¶Á>¿ây %ùzlã:dzžUÑ4ሳØþÈæ÷±û>܇"~ª ÞMŸq5
-ùŸe|ˆtÏ‹Ö›§ð}¯’½iFz-ˆœÊµí6U`¶ñšqdßlKÖó.}£ºésí¯nZ®~7=ùƒ´íâF+aR#å·\#
- Ë›X@Cm†Œ~N…UÑÐ~ƒ
-lke v6|†è¿ã©Ä†o½@ªÿ%%ßS®äœé{Ç6»ZÎán<[se”ØAŸð)-Ï®N?ßrT•ðƉMôÒ{ÃùàwðxqJ¿¯‹ß*ˆ(ÂE±9 ª>×~Pµ\=À¯Ÿ¢ê°üÀ4"Sz¨ÀLi“¼R°‹²)—0¤\ ¤
-Ê£;?8H„Œ@߃â[®ùßh%P³ ø•vݸÉ5eTǘxÐy.Ìë4Ç_t`ÚeÓÆ †÷ñd.4L)Ùwg¡Áj·£Æ~Ô;&ïéï÷金D¤ýÆNö¸ìdàÚI‰ƒ]Œüâø°è–kDöðúîd(z46HØä(Rß”ˆ»Cwô,# EPtÀï8³n:¼ gtñÕ B=‡ãPÏá¸WÏáíV‘Cq!ŠT![M÷û¤¦ûœß–z¡ž¡™±RoXkõë±¢m˜èÊÍÀxÖSãý}6‘°ö›>´¸·àC™»·~ Ø1ø1 3ùó€|]MËjZWÙ´i–»FJXcõAé-Ó®øa”Š¡P‚B³/Ÿƒ” X³¢šb€šmšG<¨„éÍ.ñ7íÜþ©’|òÁŸ~>%BøAš§RV”¡à ½ûQ|›(Cm\ŽŒ¬HU,‡-Ì\º·h þí_î…Wâ–¼ÎgƒŸ³úëßØêýSп+›|W@ '‹Và/¬G¶<j¯ûÝ?äî~ånðkM²'Åmé„z÷~”. ‹L¯U'ο6x n¡ªÖlµ_N$ìl¾®Áè|@gœ›8·ëx‘€â_Øá¿Ï
+xÚÅZÝsÛ6÷_¡Gj&B‰O‚÷à&vÏ‹ã³umgÚ>Ðes"‘ŽHÙqÿúÛÅü(¹™ÜÌ%3&¸Xb‹ß~
+ƒ#ǧéÌðhEt°Ö°–bb`²)·(xòeÂY¬ÒTO¯ífÚYÀ~¸ÚˆÉ‡
+æ3éOÉ;ë ìfdx°\à|•œ$±aÖpåþõ1/󩌣ç©ÐQ¾Î$×Qó˜Sc›×պץ¢:/—5uV»†_vØ "÷]MEϬ¤¯.>\ßÍÕæi]d¥ÿªvCv’Éï€ TT4h:\övA@Õlý2Å!QÛW”[£q­Ä« ¤Ÿèy_4ÔS”Ëb‘5Eù@D·ÑÂ) õîé©]Tù.Ðöîâ=µÁOUYç^NÏX嘖Ŋ@bDÏö KtœxŒ,˺Î3#†9KP­*ýGýƒeMÄúª
+I›!f˪ØÚiy‚CŸ£»¼!G¼Ó<:PB«zr&j5"7…¦’Á^ózD ˆ2DÒuž=·lýe%&xE™mhy÷Æ‚ ­¬’žëy·.ómv¿Î[Ý“Ìø´Î^é=kšlñ¹>ð­
+¨mzZp`<Xϼ\—$ß=å
+,•ié3™ñ©¡«˜hÓ´«³„w˜´ÉÐá]Â
+ß‘œ¬ /=kßíå{"Ã:ù/KÏè»dd÷Býà›jYÌÆ62”Š†ÇÝäˆYã¡Mö¢ûžq`
+q[$:(‡Í@ò^«£ÛtpƒΉä<<¯ïÞQãîÓ¹o}üÍ7h±ïvªuô ½ÎGZíæã¾qó‰ÁùLyDSÂwWû¾­Õ næx>¥Dñ GS†‡†_8l¢m¨å·äT1"sÖøŽðô£f}‰°/ªý
+¢g’Bz9©BË5¢Ã ù)Í<'(ñ•@×±]mŸÊ°éÂ"Ú‡`Â^¶ÚØçȾ<pÀq½žY¬°gå!Xú1lá³ÝAƒ¼{ðwní08¹6”…‰ÝÛ×ù&+Àêz!O}¾ì\†$Ø@†&HbÔIé
+8|ýe“5‹G:Ùqª=TÛ¢yÜ
+4©8ˆãýµ†®VÂvL0Ãu: 'dt·ý«w>¨dôÀ°¦>ê¾8 ŽwÒ{{LÇ70u¾[”Mþ
+äþ‰ØF+èsKå"7ô ÅVA~µkfÕª&é 32…]=ZZ&,æ\õOýgN¢õ0\X1º.° N•·JÌ#<ÌñÈÚa§Ÿ?t‡éñ>_W/Dmª'ϸ"‚Ÿ´:£Ä¼gè錂öŒâ`›â¥»Lw”¡| ‘ˆ@äN€ä嬴îícvT *ý}†Ä;¼ùß?%K8S–ÿðn‡'dR Ž%2ÙÞ ™æ>§k¾¿ñàæ’‡Õ¯÷$wQ²»_µO—øUŽ‰–Ú7Õº «òèr V
+玼wãoZÂô¹Œ¯y§É¦xض7óûçݹO±DíÄz›ÿ6dž<Ä'öb¨ÂN7Q$ŒpA}yöìÐë»tNÀ£‹2ƒ©—^]Àâ¡s߸³¤T/Æ2¤fž#^ÜÚ2I:[B»oË$9\ŸÄPЫ©]†.ïèýªßÍó?ê§Ç–¯€^¬èÙô’`Еô$„h€ØûüŠç1”ÞGcTçãxÖ³)š&qûWmn»[â>ñª&x7] âhòï~bâPý øS“>‚dgš‘½DNaÚí6•`¶ñ«Í$ÖonK8ìr Þkž,lú\Ç+›–«¿›ž-ÜAÚ~e#S©å§å·\#
+ «›„)üµÓ@ƒÑ«á”ií7(¿öFÆ`§“Á1ä@w'¬7¾@Âzÿ%%·¦\és¦Û;¶ÙUûnƳµ¯Œ¬lâ­?¥òûëów>ªri˜Å‹û¤†óÁ¯1†aðb„ü¶]üP%ø;9ÃOcªÇtR©‡öíóIHx…ÀI¤A“Tö[ÀëÇû`2փɤL@
+`Jd
endobj
1784 0 obj <<
/Type /Page
@@ -7602,32 +7615,25 @@ endobj
/D [1784 0 R /XYZ 56.6929 794.5015 null]
>> endobj
1783 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F62 1419 0 R /F21 994 0 R /F49 1308 0 R >>
+/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1790 0 obj <<
-/Length 3732
+/Length 3623
/Filter /FlateDecode
>>
stream
-xÚ¥ÙrÛ8òÝ_á·‘«"..^›'OÆÉxŽ$k{vkçx %Èf…"5"eÇùúíF7 ’¢ì¤¶R)7  Ñè’§þÉÓ,Ž„ÎÍiš›(2>]¬OÄ錽;‘L3÷Dó>Õ÷7'ÿx«³Ó<Ê•œÞ¬zke‘È2yz³ücöæÇó7Wgs‹YÍãD̾¿|ÿarúóæÃû·—ï~»:?KÍìæòÃ{B_]¼½¸ºxÿæâl.³XÂ|Å+™ðöò— ‚Þ]ÿúëùÕÙ_7?\Ü„³ôÏ+…ƃü}òÇ_ât ÇþéDD:ÏâÓGø‘Ìsuº>1±Žb£µÇT'×'ÿ
- öFÝÔ)ù™8‹be’Ó9'I®§¥,"ƒÔæ©Q¦•
-RVrJÊž
-¥üÅn›yÝÌÛ¦˜w]5_‹{;>»Ls8sœö78`#PMð¡z|ÈÌÀ-§rÈÈîm —•›²PÖwø¡gáj{Wt僥¯í™Ìf¶Ý4uk‰¬kh„ɯ?œþïÝ>®µÝ=Oº¹ù…1<„+7 **—³›{ÞoiWÅ®êP,x¸H‰ç•QÇÄ}ÙâàHày”HÐsá(ê†)¢@šI¢ã‹MÀ.¤’Ùó·ß§:~û
-wÜm–Egçpå‹OóOí§ƒ‹Oâ(“É ª §ME”æ鈺x­ù†´ŽÝ} ÂÝþÜèCQí߬H¨f°É¢4N$KõɶS’O£\«”i^Árq<sr`üÖ?_ÿLÀmÉû—Ì®=%è“}2¾´Ý®ËÚ’Ê(•‚© 5Ô™ûæ‘<ŽÛ ·í}³«–ßòவŒytCèÎÖv †ÖâÜÞÕõå»–àU³% à5íbG†Cß_šÚ:€“Œè6>8’eYÛ²z:“R:᤹£Ÿ·å]ívÓ±Fv[‚þ±èî‹Ž¾ÊÖMÉzeGâq’-
-ÀZ’>
-Ï.~ÐñÝô†i—Ñ‚¶îJžäÖ8ž
-·q˜%Ý) UlìgpeZ¤³›Gû
-I%¢8‰ã¯pÖYÏYgNsöþÁÌÖ»¶£ o-ý-xßÊ~¨{lxlAÙŽ{/“ËD
-ÓñœíyÐ]'ä-p÷4úÝmì–i<Û l©T³ËUà H ký’O“ÎeøAH÷‰±¼UɇÖý{Çú¾†óÓ€'¨F¬m÷j<;x\¾¬ªaðëù€+v\œÛùH›2O¡žÏ£úTÇó¨@Õ3?øƒÑ)çìÇÉT®"%/°¨&øØDžF:IGŒQ’Û ¯ï%‹¬^N%ªà&SÅæ5•ŽöÎ4¤oÁ§}§yÛ¸ ©Ùî'SvŸè(SYöm9šÒ!ŒÂýÀí¬Q›<‚%¶Èá;{9ŠJ å(à{ßSNþ  ”rò‡˜}|w3œžâ8Oà˜R*è&PLHÍ~Õצ¸îÆ‹n´;{r€(’OèLå>)C¨—½ä½ ?h‹œ30è€y/£Iî€8Îø€\r¹ tÀþªì
-I{®fIq~³_çPù¨™Èµ<Iaæüó”€z¦¹\_@1êG"UI/ß¾ñg %ãÑDEqfâo©'t.W‹I¥Æ$ßdó
-Ýðõ.]ñ¡‘kHU¢^NUÏÆF…pÇûXpÔÓ›DD ¤¦Ï{ú>ÕqO¨zêQ5Åmk^BßBEzèì!3Hõ œª V‰¶Ð‘‰áî¼p–ÅXâáŸ/œpòMý§ên‚'b§›Ð‰r1{§\ìºfNç¥ihÐü=u ÚÆäÞY—3@¥q§¦-»fû´wر0Cû§DNvªî;µ¤’Ée8e³,EEåuo¬µ–TÚPRãFjûH_Ì™Ù}ñ`ý.–k/œ²\ú\‚Ñ_Å~.[.µy©ï˜p6ƒÄ0ú@¢S€eaže°'nžå¸eM(2¼%} ÃÆCŒTIÅ`F¯€ÍæU„ƶw§\õtÊ“Ïûô*5^µ§Ýp¶;[#;™‹#†´†#ê,pt ÛêF´6Q&¥r‰Ê`ÛØDq,Ò¯D ‰ƒuûqÀvp½ö¨,Œ´z^êVWCVp_ðåFÅ.\L„00£\jÁà¢ØÖÀ¸ð7£¾eÏ}Å’a¸ñ±$Tv`Å “– ªg
-*Í|x­/§«R¬àH…g¢Ü„'’ã¡RX+Í_ЈÕ3á©N~±ÛÚ9¤;eMðA 2R
-jÑgY T¼ Ó¹$RbÄËyUჀ–¹Kç”Ou±&¿™{=Ô4Æán[ÔàEÙ-ç샛5öÛýaüåú DÛ/#9ÿKML—(*ŸÕŸÎsà7UÖ»š(¹_Ÿ¥³[—ê¡‹®,%Jˆ-°„DÀ„Ì @ì›`>,,(±_¢×O•b¯Ÿy¯yZGß“§AüY–}[…„ÛPs,åV%²ØL)4ÔlI+_£Ð¯0h+߯£Ž3þ –¥Ó4Ò=ÉR
-e®Ò¡?
-‰,ö ™$•ŒâTæÏ¾a'Qk=Ø—Þ$4d¡u’Óï*Ž®0k[àãÍjWш f¹/
-7ŸúÕ”N𬾰*·m7Õ5À¶@åòÛ^:kD‰Ô¨ÉR³µÄPƒúø
-ÛßönñÒ^û¨Ž#üéæ„Òˆð¤ñÿBtÿóYeB–y ×e*O=S.Ö¥Îu%ýÌFy”Î?*úÂLð\U½ô™Ùõn³i¶lÙÿv2.1_:l{Æ®;¨Ò AüÕÓ›endstream
+xÚ­ÙrÛ8òÝ_á·•«F\â"ÁMíƒ'ãd<G’µ={Ìñ@K°ÅŠDjDÊŽóõÛ@¢­¤vËåR³Ñݾ@všÂ;Õ*IE!OóB&*eêt±9IOïaìí s4sO4©¾½9ùë¡O‹¤ÈxvzsÍ¥“Tkvz³ümöúûó7Wgs®ÒY–œÍU–ξ½|÷a
+úyýþݛ˷¿\Ÿårvsùþ¡¯.Þ\\]¼{}q6gZ1xŸ»žyáÍåO½½:ÿùçó«³?n~8¹¸ {‰÷ËRùóä·?ÒÓ%lû‡“4…V§ð&¬(øéæD*‘()„ǬO®Oþ&ŒFí«Sò“J'ŠËìt®T"YƦ¥œ&©©ÍsQ€ü” RælJÊž
+¥¼X™ÅÇy[Ý®«ú~¼g&³DJÆ,¨&ÖçÑúL±Dò¢2𯕩Að2›mÍî®ÙmxÎgUÝ™û]Õ=Ñ°å´ý†ÆÊuÛdÑDÑ­ÊŽ~?}¿ÞB›OUÛµ`"Õ³›•Ã.Í]¹_wD\µ(„‘äDV$9Ó *Ëò“ñDƒíɤ`ÖD“ØSRžf‰ÒBÑdDõ‚&=U¤ÉíݹNr©Ž,¨&ÖlSˆ$çÙhñË» ±±4ÑiÊDˆ¿^©‡Ìy’‹\:zÐÄ\29kMG@g-!§sB–ýðîŒé™¡GÿzI?7ÿ¾!àÚÔK ´ð‡f]-ž~³+7æ±Ù¹yiªEc—È,ˆ(ÍÁ4
+%ã– Ì (_Á§ªµ¯èˆ
+ÉŽx9«€pÖ Õr ¯wå˜u¢d^”.KD^îkŠífùŠxZ7I¶BàÔ–ñÑ+FG¯ÄwENX\Ù“˜Ç>Kü¯´
+àËzI¨~9À:5dÕÃd‘³r“DièàND˜ÊsÒú÷7ÕºÜ 'í($$¶àEÁï:¹.뎸µc§˜aþyBóðæàl,šÍ†¶ ¸®jç'È&&=…sÝJ9JB,á”sìJN›Ã)3¥¾À_ëÈ_k×8ûfßv´à­¡ßÒ­»6¥ê7¶ „ǽ—Rä5À³òD£åú³ÄÕ†FhÉíÜÕMB'²€òy"!łź,-)jhÓ
+wî-'Sç>‰æZ]šÆE£°@¸íi²H´žE¾så(P›QŽn0"pñ=wù”r—ÿ!¦ïö k§8î^p1!§lо@1!—ý¬!®LqÝŽ—ÝhuçÉ¢H>q@$e¼ðIBQöRD>Ð…ËÀ  QF/Ù â¸{ÁmÐU]öÚ`<«s
+"Ðcà`Þ8˜Ôkž•…)Á_–E :ÂÊálÈ
+® ¾\reÃÅDƒcTðQ9\”;kp¸3ð7£îeä¾ÆbÑn|, ÅœbIK•4
+CRžù¼,E¶ªÍk¢œM¯Ï˜€Øšyu°©`šd9÷IG´(í9Z–’ŠÜ§A°ä¦üä×OŸY_b¢!|¢À¤œ’
endobj
1789 0 obj <<
/Type /Page
@@ -7640,55 +7646,48 @@ endobj
1792 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.5198 432.9434 332.9349 445.003]
+/Rect [254.5198 299.2992 332.9349 311.3589]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-keygen) >>
>> endobj
1793 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.5545 432.9434 431.9695 445.003]
+/Rect [353.5545 299.2992 431.9695 311.3589]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-settime) >>
>> endobj
1791 0 obj <<
/D [1789 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-478 0 obj <<
-/D [1789 0 R /XYZ 85.0394 188.7332 null]
->> endobj
-1794 0 obj <<
-/D [1789 0 R /XYZ 85.0394 160.047 null]
->> endobj
1788 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1797 0 obj <<
-/Length 2958
+1796 0 obj <<
+/Length 3216
/Filter /FlateDecode
>>
stream
-xÚµ]oÛ8ò=¿Âo§
-QðáóÍÕõ§ß^œ'*¸¿þ|sŠ8
-®®¹¤Ñ§Û‹_½¸=yóàÃ?/¾Ü_ÞÒ”¶4~º¾ùHŒGˆÞ^^]Þ^Þ|¸<ÿëþç³Ëûþ,þyy$ñ _Ïþø+Z¬áØ?ŸELfi¼x—ˆñ,‹í™Š%‹•”RÝý«'èÍš¥³òãR‹
-á 0å,βx‘ÄÓRH#Àî±€3¥qлoÅÇ*x)«Š 0]Ó¨jš'šÝ4»~’yݾ¸µe×Õª¸
-®7(¡÷WÊçCð˜%"É€{ä ©«WÂp+4K”V©l-—ÏŪü3ŠD±~L¾u
-žJ€¿ŸƒÀ›=ÁI,€ØAžó]W®öU¾£w:pKXÆN
-î ¬ëÌKþ\3 )=Š¢àã>¯Â¶ËWOt†;“Ú‚шÎQôJ©)“`®hé4WÐ …5)Á«[pcã,¬rŒQ±q²Ùu4ƒöð—f÷äÓoöõšÞŸqoZVÅÖî‚ŠO"—¯óeY•è£Hl½·ì¹¼6ò‹ª—Šñf´·ýó³áÉÚ' ŠØñõ—ojhÏ
-õo
-þÎxš©¡F…÷llš±¯ž|Ðgs‹¶,ŠÚ%Î5µ>âå«f»5–…/ FX†ìa.t‹š$Òö€¨Z»<T3âPàÿ©tâè‹´I>€
-âŸ/
-*žê7¢‡u"
-9¬ƒÙCâÙÍ!0M©²Ó›÷X3»ƒPÂ"®åpûa:Ø0Ô}B7ë£ÀQ(¥RÓ
-Áš(…ÁÎq"2²ÌOa±Vܨ:b±îzþ3XÜÃ_L>Š¤3©Z®€‰Øl½øºàÚ²L’76g=ÈÀ
-ª§Ú}Cñã¿a°Î+·¨ÃÛWWb Æ'þ× ›¦3½8~ŒÉg?&HÌèÉ´>°¦:²/¬˜eÄýX¢úo•JC«Sཀྵ¯U±—œ”&F øPÿ(ói[vöBË×¹j†Ç,Jxü}ÕL̤rQϘc\ñ~ ”HÅ£ïmt H7L^ªu7@K«2º¿ÄÑŇ_ÚÑ7”²sZwù×Ñ¢co0èÎÕl#~NT¯AªÚ¸rŸú`d¶åãúŒÛúŒËc5$ =Ê„ñ¹
-Í5»üP¡ñ¾Bã¶Bƒ§_¡ñ£ZrÌǽé0ƒ*QÄÉè:ñ{l9ÑúHéæfºø¿WnîÒ§¯Ù¦.>÷³ ´œ½™Šú"é‡Òqø½‹J$UqúŠËò„bó~žÂ2–„_Äáúõi½vžuçÜùí*kÚm‰©cn¾ è@§Gïè¦rø/®Ãì‚endstream
+xÚ¥ZÝsã¶÷_¡·Ò3'„ø H>^î|©3Í%õ¹é$y %Êâ˜"‘²ëþõÝÅ.(”äNs7cB‹ÅXìÇoAÊE ÿå"±Âæ*_¤¹I,“Åjw/¡ï‡+É<KÏ´ ¹¾¿¿úî‹Î¹È­²‹ûM +q–ÉÅýú×È
+%®AB}úùë—Ûþq÷ñ:5ÑýíÏ_¯—*‰£/·»¡ÖwúéãÝõRf‰Œ>ýõã/÷7wÔeYÆ÷·_?%§Ç¡w7_nîn¾~º¹þýþÇ«›ûa/á~e¬q#\ýú{¼Xö¼Š…γdñ
+?b!ó\-vW&Ñ"1Z{J}õíêïƒÀ × =©? ¥­:¡@%O)0É…ÕJ
+”ðÔÇ ®vÿZì×Uóˆ[*/`÷"Q&uCï·åõRÇ6Ú¸A×2‹Ü@ %ѦXUuÕ¿ǪhˆüÀC]¹&Jß2‹P=sÔ]“àG¦vU_._«uI½«båÑò ¯©|ååþ¥Üwà—Ì#šd}XñBmÔï‹ ‹cµÂMã6¥y’‰µ0XMÕUóÔQÓ­ZçQùï¾Ü7EMԦؕÔâYÑ®Ò<ºí‰Jj€FQw-µx
+Ý µ(>`/9%uRÃM ‘éà%e½3ÒD·§ÎGÉD¤jP½3 çcEj¬f&çâ¸ÐçrU¡žÊ5žB®ßÛ™'¶ð`™oÇ廓VF “ÂG'=>žó¾K‘Å6}Ç×® ¾î¹_GÓ˜L-c ˆýýÒÜ׉ÉC-ƒw “¡Ç‡³´Œj÷.¬Àán!B±^S"꺧%–‡’~`ÀÙL.'°mD%8½‹X«éÌ b¶~‹“¸áyq¼äcuî­ÇöL#¥ð òØÂ9ÉLh•gŽušÔ zÀl¹ÍbWÛ ¾ WˆÚz~z<—´Âu»+*îz(º
+¡ŽÒ †ÙHkÊ{4ëö ÷ÎÖGá¹ãQí©\ëÖkµƒHûj½v±Ì-è=^
+HÃNÝÐ×nˆiᑆ ø¯k ¾¢“Z€±+{¢<û¾Z ºß´áŽ¸(*j‡Ÿ¨·rpnCÚ)›žøÆ.èb.`Æ=užÃG'ù™H
+0¡ß™T¤à">MpruÃ1h|ç£ñ<4eJX“KùPÂb)AÁñÇï'#Ø ã Têúƒ4åÔÕB…ΙÀZ­”}˜:÷ jÜN?ð/Ãs§ŸËuN Òewª¯”€ü3]Pž C¬ åÏbÏÀõÞ2fÒpâÄQÁÎÆR-aŒUa%¤¹ú|(êe׫'ÚÃ7ÆÚÊ"ë䄵æ3ZG¿éäJúÁuÀ‘¢ ؉7q΂ĺp¸('Û}O=Tˆ$Ñk»
+å·‡fM¿Ÿ]6EÒC]îxôP|rѵÚ¾\aë/Ï絉_ÔƒVœ7£½žŸÝšFP»¬@
+Óßñ†"¸uöå™ û1ç Æ ¨ÅcÙëKÞ4h7JÓ¸æ¿tM£‰¢¯œBàµB¦Ú^ŽB!×ù(4pÍžn/gALbôåÉ®³ƒP*biõxúq:Ú0@Š!
+¡› QèÇ(”ÒtÄ¿0)Ü},t}þúºü=éÉ` r@iv
+ÁšR¡R°s 1]'š,ókp`
+Ún¯G8Âw·;µøÜÂŽá¦Xð2”ì6eGÁEia5X%¤h¡TÛ®%TÖÎ&±bˆÞ–«bu oÜväh9¾ÖWáû¨YB?øÆ›k\|A&VÔ¾´ÈBӌߋƒ¬™e› UÙ"<»?gÎÙæ18Ôñ#…?g¬Kÿ: oÓKšËÉ”©
+¾à…Ç+™Pq³ö÷-ߠߺ÷êPûTøâ*‘P,@<ˆlv¾nŸ)´—‹¡endstream
endobj
-1796 0 obj <<
+1795 0 obj <<
/Type /Page
-/Contents 1797 0 R
-/Resources 1795 0 R
+/Contents 1796 0 R
+/Resources 1794 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 1787 0 R
/Annots [ 1799 0 R 1802 0 R ]
@@ -7696,61 +7695,58 @@ endobj
1799 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
1802 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
+1797 0 obj <<
+/D [1795 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+478 0 obj <<
+/D [1795 0 R /XYZ 56.6929 769.5949 null]
+>> endobj
1798 0 obj <<
-/D [1796 0 R /XYZ 56.6929 794.5015 null]
+/D [1795 0 R /XYZ 56.6929 749.7875 null]
>> endobj
482 0 obj <<
-/D [1796 0 R /XYZ 56.6929 636.3095 null]
+/D [1795 0 R /XYZ 56.6929 528.8451 null]
>> endobj
1800 0 obj <<
-/D [1796 0 R /XYZ 56.6929 610.51 null]
+/D [1795 0 R /XYZ 56.6929 505.7912 null]
>> endobj
486 0 obj <<
-/D [1796 0 R /XYZ 56.6929 487.207 null]
+/D [1795 0 R /XYZ 56.6929 390.6092 null]
>> endobj
1801 0 obj <<
-/D [1796 0 R /XYZ 56.6929 461.5669 null]
+/D [1795 0 R /XYZ 56.6929 367.7147 null]
>> endobj
-1795 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F62 1419 0 R /F61 1416 0 R >>
+1794 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F62 1419 0 R /F61 1416 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1806 0 obj <<
-/Length 3405
+/Length 3342
/Filter /FlateDecode
>>
stream
-xÚ¥ZKsã6¾ûWè¶rÕˆÁ›Då4™ñ$NmœÄãÝK’-Ñ+鈔ïÖþ÷íFHQò¤â©ÍÐ
-£#Ç— Ãçwð¿˜_ÏÇ”B3˵¼À©gÌxÆ”µ’˜’¶[ëaá«ë­˜}laE³tQaàE2²[” f¹†õ æ·:³„F‘Ëͦ½äzþ²øc_í
-1Â0
-~d0ÉÌp8^žå<ÏÏØ"h¤\§Qäš4F BöÀ`A`祈\b ì_-˜Ê1°G‚å#ÀH›MÔrµ"‹ÔuÄh
-ˆ™ÓÈ{%ɽ+AÊ)ï‰VŽOxòSÞº€I[>š/D¢äÃBîSäùy÷ ¡—L|©ûdJŸšÂ0^c|è½@¨È—ãLÀ¤8år¸Hœ« —ƒ½Îº'–—“Ú¢³ÎEå‚éóÚšrÖÖÈ5±)×Q½„Àô¼ ‘kBˆa¨ë¢G>”b¨²"º)¢kAêȵà[çZÜ;Hwžz"ŽÕ^{uÅÀV1çM‘ÂL1ò&.é ÿºƒ)JàDšù¥Þd$Éi¯²Ùy”ö0ôQV½‡„ë ×û§UÙç<
-’--ìùÙ#×ÄôÃÔBg©ÄpþQŒQbŒ<Øn¤FÛí‚íF&w@ìö÷Ûº§öÇצÜÖKbøx󙨴È´;¢nË®¯|û?Õv>þ¸ p
-Fœ‚Ä´dš<àyU¹(‡)œ=y
-,&ÀÌ%¾ôr÷è‹+· j"ÿ"ípŒšãqjªe_UÊ3y$\Eù@š#äF®·d02“5'•äüH_Ö›Óº+ •åBŠóº›rÖÝÈ5Ö݈óRîV”ñf0©)Î ¹&$lÓ鲎ÕØȨÆÐ j ̓ãCTcx Ý‘5†öAñÁ©14JºmÊg¯¯ä+ÄÈ|;ÍÆãò] 뾯è™6åZ9a°ôÐzÖµçñF‚b:ÉsgÜ›Ä/„dò«Oʦ&
-.ôpsÂòÉÈ(pƵ3Nª MÊSµƒ‘¶°,$³ó»K+æ-ñTMy¿ñ|qj•§ #¿#æP±œØ' ù“rN‚«žw`ÂüÖBÂvöë“[+cº´€î„߇W·XI{.7{ªÂùøÑØÖe3!:&X.ò¿vÄ9Ö;ƒpLãŠÌ56YÞÔ¨°1e§‰¡æöó•–í¾4?‘;Zí—¡ŒÇagäQ> q FH ”¬n–x¶6h`ÀûŒ§¶éêûzS÷¯Ä@Ö""€+ÔÐ^‚ù†4…„Ø­[·ûÍŠÚ~àžFy©ûõhæ踱c̹¼¨”yö·£U9{A&Û½‚dÛ0Ê&ÉKUxÍ’â
-=ŽU=ù쌒¯‘²qq4Dõñ
-÷rí¹ÒBåÄ­ŸÖ™Áo3ÒpÌ
-`v Wú`+ÙÒ±Î1ä
-õnçÞ„´nÐra&ü&U"àíþöëÉr¢³Ä{r·wR2³9uÄ®Do«ÆU3„àšîþ ^°{¢´°Q»zåRˆÓÒäE&ÐùˆÎiX–šl¤“<çùÐÌœß>Ëâc\@Ðʇ ^=‡¥­Ó%Ï3U¬@#jøšÅ ÝÅ
-p…çu7å:­»‘ —~¿8cÝnŽ+Uøy€ycæÀ41ó@m¥Ê
-%FS
-–Â…p𳩻žZíƒ1®Y†Z5b¼'„O·°åË“")nŠäâ’K|œÓ°wQ¢ ä ^‚vó\q)q‚µY£†šKxÎùÜCêç´b™øT‚R(¤ïýœÝ‰h¼¯ÒÂ(&
-«à%úÖÏww
-ŸÇ)‘eP9Ë“{è*Ÿc½q%Æ~®ñFa&a:SÏD•~&6=9éE Sh5/ÎΙŽ£Õ HS †Õ<*]áÀêÜÿÃÉ3 ÊNqÂÌP ¯DŽV»h›Å³šººÂ€Z¥_b8 žž6T§ÿ‹HÀÏÌ´È‹x‹:u‡ÄÁtʘ˜ŸBžgK½a°¦Ó@Lκ’ŲÝ>íü‡ÃoŠT–s[œ>2Ï?¼µYÎ80Ä$p =€2ÆdÑ!ŠC-¹Ž§Lšº
-÷ÇXw{fÒop38ÍÅOâp±zõg_ÌþçýÓS»óªýoçw*wé®HGû€ýºùÄFüƒ5ð£endstream
+xÚµZKsã6¾ûWè¶rÕˆÁDåäÌx§’Iâñî%ÉA–h›‰tDÊŽwkÿû6Ð
+ï3?‘>^ýp‰Ô·×?þxq}þûÍ÷g—7q-éz)áv!žýú;™­aÙߟ‘‚›RΞáÔ6Ûž É )8-›³Ïg¿Ä“^÷ê”þ$/ Y2=¡@ÆR´P3-M¡8ãNŸÚ¾‚% 9ï–½]¼E“·/ ¡
+¦²ìËͦ}^ü¹¯v/‹¶ñìé$ššêÙëÇn›Í‹¥Ô|õP­þ¨ÖØ|×î°ÖU‡,N×¼ÜÓrîå{¬vÛºïñ]5¿}™–QØ
+8vBT) .Xvž“r~£Çwf ^ê‚À>Ì”FJæØ·û®G(ÜVøë&sÒÙÆÿÛöH]¼ÿ¡{‡¤[5üÖ~„çz³ÉÇÂußí»j]L,“€,e¡ ¥oÞAµ_èvie£^ëZ¤Ü´ðÛ=V«ú7B˜[4Ôýå°%Õ„”Q
+Æn G®„v«´à¾ºÚ²Ù‡Ö4K—F^¤C»u©ÌKXbI@»>P{„å9•s„&D&2Y¬–«s òUŠüÒØÁR«Ë¹uH9HÁ¯ƒâÝ >,W+@L΀Èfd8À“0$U|–îØ—ÀºWe V.†÷e]0SØNpä-j:é ±[$•) øózt"çˆ\cǪCKA@62ymJ‚È5!C )€V:âst,°‹œÓàB-ùÐv½oÔ=„Å9zÛx_õ¾·éž«ïν×nñÉ!Ãn¹6G’ÜúºC7̉‚ ª&ðÂûbX„ѲhÕ8Že!ˆ(lèлZ¢«<6Ò(mÓ!“ ³«Vû]WO{|À1f4š’¥ê»8/xs¦á½Ú=×ÝdHoÄ¥oKFÊ¢”D¼ejKðù¾ÙX >œvÁ`›€×ÉT<¬$èðë )”
+ö®– öÝ×O6EWd›Wd»0HAspEÌ(L» Ó.èÌÒ.L×@hmstËþv.†~êDZÖ¼¤eï¦êN *H9Fç+JmiÙ¬§Àn¬£É°n±=5±×Pó«€±Ô0ÇI¸¦\ÇṎøà ©R¶$;9`š˜?é¢< ÌÍÈã¦*£/2ÄM ‡¸ibÜT˜-Ùßíò߬nEO¾)‚ýñ€Þß?„†ÚwuÕŠ{È
+e†Ô‰ö¡Ä¶‹žÖËщH~,Z—ª`ÒÐÑ|!Åf[0|2­O‡OH%('ì­ájô“Sûbâ,!4÷^ kÈCÈ9^¬ 9JPˆ !Ǿu2ä8±ËBNê‹NAdÁÀ*^±Ö„넵® ˆM…È깂 í¤ ‘kB6*â¹uO™¹É²Z8‹¡Å¶ŽB‹íu¡ÅõA¹óØcãØ\¡Û›«MlqÑÄ2bšÉFÑÄe þ *<pE œÐ2ßMF’|i±vš+ˆËT°ÓpH¹ŽÃ!r pØ?®—ýaÍ#¤-ÍéÙ#×Äôyi ©3‡ÞlþQŽQ9†¾Û¶§†$ñÝ–Éí4vûÛ­;]úÃK³ÜÖ+døðé3¶â"Câìˆõù]_yÚžvu>ÿ¸ p€ð
+†ƒä´èš<ày]¹”Z†)¡9Izt
+“*Œ©‚P2ùÿ@RHˆ/ ùߩ܇Ú”!wx‡ÃZ*¨§¼°è) ±ñb{oîz-Jaiþ¤†iH›)“yª–NFèðñB”¨$hy¬v0ÒÖ&,€3¿97lÞ"OÕ,o7ž/N-tªXù2‡Ë =¨Ÿ$ãYn8 n{èy³Möª…‚-hö룪åÃ'"Pâ÷îÅiÀž¤=-7{<…óù£?`{X6¢Ûƒ ¢™þ{[¬íyg¶ib\V(%FÃ&Ë›Yvz
+Ü7”)(ÄÛº‡v¿Y#íîq”çÚ}sKgŽÛ¾k./*D&~墯¬¿@—=þò†1˜‹Ò[Gp
endobj
1805 0 obj <<
/Type /Page
@@ -7763,14 +7759,14 @@ endobj
1808 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.0783 413.5086 261.825 424.293]
+/Rect [213.0783 336.0734 261.825 346.8578]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_security) >>
>> endobj
1809 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.1622 289.8258 446.9089 301.8854]
+/Rect [398.1622 213.5298 446.9089 225.5895]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_security) >>
>> endobj
@@ -7778,29 +7774,30 @@ endobj
/D [1805 0 R /XYZ 85.0394 794.5015 null]
>> endobj
1804 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F62 1419 0 R /F61 1416 0 R /F21 994 0 R /F49 1308 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F62 1419 0 R /F61 1416 0 R /F49 1308 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1813 0 obj <<
-/Length 3337
+/Length 3379
/Filter /FlateDecode
>>
stream
-xÚ­]sã6î=¿"÷æÌÄ\R¤Dª}JÓl›N“îes·iû Ør¬©-¥–¼nÚ¹ÿ~
-»ôô
-”AŒj Fe3a ´¥_§nê’±†ÂNÐãé³³y–舜p”I¿m«¦&à¡Úlˆ¥Fi/ ⥄ ppësС´5cA-6'ˆgn\ê¢eN›ÖÒѦ±Qµ4Ò‹‡ÀE½$¸?Œ3üQ¿ q"¢]Bª5â& ö€­‡’ƪǺ¡­ò‡ã´¡¦¯âOÍ
-è %¡Šáí¦z\w›g‚¶[8›r7šBü|†ÛóZÑXAøCX4u»ååý¡!8ì`?&‰)-¶O›R€ô°Ë4áà"v3Ä¿üî»çhm.f¿Î½ÔËÄå³C³ß,i¼£A/Fìz¥-wÆAãð¢¥Á‚ºËýÓ¦Z]‰Ê™€rv<¼i›ØÑg{æ-˜&è# vüÒÖ²î%6›5«ÑP6ûe_îž ÆŽ € Ž™eŸCô³O"ÙjÄL²£»Ý~‡9_=,[<
-•ÏvG¢J¡ŠÖÔêÝ!ÃKj0oÐò‹‡&Ô j^ö懀ªžLûL%3t4zA:¦
-‡»ç'š’¬º5×¼@ëÝ'‚p;¨3ZÏöÝmQ<U]±©~+:¯æÇu )â)Ø1;KæŽqbÌ x šÃÍ2•¥xç”bb4;g žbß\pXtœÏ q}øðÁã^}qóîÛ+ ˆo.àÇ€´b²”ÖøÙœkM|À4×pš“X—„@ac +ÂÈá8„15þL iò ªx¦»¶‹(«‚ÔÌÐ>–»«5٫磜²qdíP´=?K¬ê#cÀQ@¤h´¥£ìˆÕ5êEÛñqnª-h
-bÁAe§Æá”L^)` i>Ä¢úUE.
-@£«äö–k¦ £‹ðö ÅoÏÍÞ— ×Sîh9¬0šÈ"i.¬Õ!ÝŠ­á@ƒd6ÌüX;ƒ¢7@H¨ƒj¶·¼£È¡óPŸÐD-"9¹Èeæ¤S°+™÷e*éÙ\I)g×X ¬ŠEË'Á$™n Ò™Æú)ÐOùz
-µJBó~fG@Vnhu{ hêµ°*™ÂÊË£ÙRÏG l<jC'Žû–¬‚—|)â°N…
-¨6[Ö)\¿£‘±Žáê‡ ÉK”6mat—g¼KŽÒ¤É浂v[àµ]9ŽìuÉŠ ¢›ÞE¿Plvô‚$˜G{¦€„Ëåæ/«i`à¥Aõ I0#›
-¾ÛMýš †‘"L#?Iâ þ„6 Ž-|ßÈÇŒj`™™»“‡lë¥Í(”Ó}#]2æ¡6üZ sÇê™t/G.±H§z €pn„°°ÈÁ_¤zo7¤ÕKUç}]7*@QÕ½`,h²µÓ»¡zÑlûä°Ï©Æœ-±à³¨V}À+—gâ!Ùõs0ý¸åçxñJ;©Ä%?H;¸ RœI“ÿqBƒ¯rV» 5P›4ÿûÉBOq>$ù2YP
-ðÇ•_Íh|©UZýsLöÿ„IÀ‰Tù˜É×2šTä6  yØáéŒ^‰…údÓKòÄŽLÏ?|„ÔŽ` ˦dÕ ‡ˆO‰gøl'Ly*v^É< : “à}Â0åh›ÅÏe7~(‹ð¼à“1~`›¦îØãkÖUm©LÔ=‹Ð"A1ÃÄV“'Žæ©FÉ¡Û>ƒ¸¶Ô^L§¬›ý#óuñîš1÷OÞ›F‚ ‡À<lÂIŸ_öV¶
-x3œp0ODºÇö©Çé;C^­‰¾Z!¦—¦*ëÒ?{NC>£ýK{|MÄe½nhÎÆüê¤#aÜ7C
-¤{"vÀÇüfrÉtWœ"F’›DB»¿³úskU6~»Ö<㲑r¸n=ª³BÙè¹l|í—N:øó¤ÈUªìïÚþö¯ Ž?3Vhç^¹“ð„ûü¢K@˜ž¿ãŒäÕ¯ ÇeØèûÞ@ç¿þšÞR¨`ÖJy+_Þoóo¯^ÊáÿÚïïendstream
+xÚ­]sã6î=¿Â÷æÌÄ\R¤D©}JÓ¤M§I÷²¹Ûδ}Pl:Ö¬-¥–¼nÚ¹ÿ~
+rzõÃýÍí7ÿy¸<·fúxûÃýù,Šåôæöûk}ópywwùp>Si¬¦Wß^¾}¼~ ©„i|u{ÿ5A2ú9Aôáúæúáúþêúü—ÇïήÛ³tÏ«¤ÆƒüzöÓ/r²€cw&…ÎÒx²‡)T–E“Í™‰µˆÖ²>{wöï–`gÖ/“Ÿ‰SG&IjéDKY « Y£D”ÄQ+åHI9`¡”–2Z7n{®Òé,‡Ãs+©„Ö±žt‰±ÐbðuxP2Z%IŸ‰w/n^ '®&-äô³.ê†FÕ’' Ϫ«ë€ÛTô»_ór?8¶J”H#0=9~àYUÎ>^ØåÕÆ"S&ãuE`íåe]¸ÌJ+9}\9/Ü2ß­™[Àõä`q÷èèÒZ¦——¯#{*+2¥Œ#ŽŒ5m•™ù3k8 } ·+«Ù<¯Ýl^m^¶ á#SР<«Í'·o‘Ž÷ïô¯cc{ ôí@“DY°Ív
+Ð<ã¿T%-<o:0µ«üñ @(ë¢)>òJ/Z=C™€Œ3aãO«D³×EU¢Y$1˜…7—$^^}$]äÉÑ/lº ©ýÊ•c†ë5) C™o`Á±Éh-’Ī€åÜ‚·ö§CòÕöAöE³¢Ñl¸ljBhVyCàEE¿eÕ0×pôõëpuVïå
+Ÿ©xŽà úúþ †Ñ@5Ùuç
+bG‚cÔˆ86˜˜CØ §û&
+†×ëâyÕxÿh½ݸmo ñóÜkIs9áwQhb^• œ–·÷JCp87À~Ž"ã~ËÁé
+M´¤QîhÀ¼ÁÈoÚP' ˜¹kÝE9Xö;)LE”{QCh#+øðÞ
+¤ O¾Å€ªÏ´pôç¶mL—*2F·Ÿ¦8à)J G‰îìÀO¿¹šIªÒ¾LñÎÐÊúûW%ì«ð¾ê.ñš¦Žâ
+€ÂÁ"6&„Q¼IuÆÐ÷-¤Él§ÞBa5R…BægBÝñÑmÃU­É[=nÈƵ}^·ü,h²(Œy
+
+ã*Ô]ÅÆõ*°¬5& %S†ö꯼iÜæ¥ñùŸ__QC«³¼S˜²óÄN\fPûƒ5š !%N2pÉeÕ:š•Óe^¬a?ß"±Ü9³Ýά¡€
+ƒMQ›Ý†PÚL¦_ C9lt¸w• dF$:Ú–Û"4<xïMþïÐÑ]2PEœi¦ G7á㇞/¾s ×Snh;,0ª‘M°duˆËc{¤`A2éf^öN æ½@íÈrày½få“#>cß[ˆ‘œ\d2w‚,&¶2kô*ñùLI)§·X,ó¹K'!D1,ÍLǨ¬µ‹|ãŒú0ñRm›š†t±ÐÈš4[²yÃ(/ë=Aco‡…c
+K/‘jC_þÎÀÁS Ö ã8±«É/xËcˆMU¸"±?éJî ¶s=¿¨Ê1ˉEdÛ†NõÒøâñvÚŠ41ª¿Û(Ec„Ä\—0›ü‰
+F úçx ÿŒG«„Šã¸Ï¤om´ú¬ˆã´µŒ%éæöíGÃZêö¿!ä$qæsÀHÈ ¡$2:˜¡j5×é›ke:5|tši> —m¶S‰`¦ëêùÙ;
+Œ÷ù¶ÄNùC,#ölE.Š¥þ–>ÙKq½7_Wü›‡É^<  HÆx7¬È‘Ö‰T¿s¶NRqxIâ'›Ûeï‰\€_m¨ X1 .†È±æW'Ê—|Ñaé~!·€"b,žH£ìs<©M&ªï¯‡Ç©Cb+ƒìøØ7¾„
endobj
1812 0 obj <<
/Type /Page
@@ -7813,44 +7810,41 @@ endobj
/D [1812 0 R /XYZ 56.6929 794.5015 null]
>> endobj
490 0 obj <<
-/D [1812 0 R /XYZ 56.6929 431.0875 null]
+/D [1812 0 R /XYZ 56.6929 360.9911 null]
>> endobj
1815 0 obj <<
-/D [1812 0 R /XYZ 56.6929 407.6376 null]
+/D [1812 0 R /XYZ 56.6929 338.0418 null]
>> endobj
1811 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F40 1218 0 R /F42 1288 0 R >>
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R /F40 1218 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1818 0 obj <<
-/Length 3077
+/Length 3343
/Filter /FlateDecode
>>
stream
-xÚµZÝsÛÆ×_Á>…êî 8ØOŠ-»ÊÔŠã(v’<@äIĘ”ìvú¿w÷v¨“-§íð‡½¯½½ýøí‚b–ÁO̬I3UêYQêÔdÂÌ›“lv }oNI d<껫“o_+;+Ó2—ùìêf´–M3kÅìjùËüå_ÎÞ]¿?M¤Éæyzš˜<›wqùŠ(%=^þpùúâÍÏïÏN =¿ºøá’ÈïÏ_Ÿ¿?¿|y~škÌ—¼Â#^_üõœZoÞŸ½}{öþô·«ïOί†³ŒÏ+2…ùýä—ß²ÙŽýýI–ªÒšÙ=¼d©(K9Ûœh£R£•
-”õÉO'? ŽzýÔ˜üŒ²©±²ˆPʘ
-ØOèrð}½^ÃY33wMu ‚†¶ž÷+GĦÚ0©s»;·#jÛ8CŠQD¹iy0A‹wxì«–ËÝ©°s×u®£Î_3“Ý×ýŠ±«›ÛÀ°·\T~Ú’{ÛÅ×ÃDñ ïÈÂNË«ˆ<‰GQ–ž(õ¼½!
-ñ†­#ÞpP¿ªxbÍ”¦ „†ž^Lس¥É¿f™üH]“‹!Òá°8¥sÛjWõŽúèT¼"R]µXQkSõ‹•[NH>fÄzŠbÆŒ´ñê´”ó–TyS}`E÷ìc#Ü-¶ý!±AŠHí–ŸþV±A’ó¤ÃöÏû‰˜IöDûhÚÆ=]}/à&¥0+â!¤„ýÌÓ=D.¥xZ¯_jÒÖ-j¼b·Ä“jÉ„!ƒ
-ï%Æ~a öIìç<Šý#ì.7ðhì
-‚_9š
-þ@üÔ±l]×|ÓSLJ¦½?[5Ý=bKs*zý}ï:4#tÔxM^„EJUœÒ‚¼
-ǜ.&@
-©’ƒqû•’®Ýï.rÜd>‘ñAqðJòœO•›©)bEhð•ÃÄ D£¨n;‘¡ÚëIn
-Â8€É<Ú5¼TK⪠ʋ¢ ñ@cêÀI˜Ìñ#ªãSŽe÷}`yQL}_JW5T­Au¯U2U¤ÚŠ‘ z¸R™Úñçki¦Mà #hV¸«»>Ô«¹Çhðô>.‡è¾©ûž|4‰ ;§@‡]¼£ž©×îs~Yxð¨—g¯^=@Ø&+ìŠb¦Ëƒy
-Æ–ii­#ìdX1/IðyÌž25Ð}ع<»üGD¨óR©
-&K¥4ö(P@{€'8cð$±;ε þÔ›O„#‘¥úœ¦@<ËÊÁÇUE•…JŒJQZRŠ²);¯й«n74`{
-NM_šýæÚñ
-7^;Â0žÉ€/Y´ úÛ=½/i¬{ë¦ûok
-8X.äeó«³°åcĪwÇÖ30X0ÜEÊ$œú!M⢠À¤ÊæÁ.€ÉäN'ûå6Ác~Áf©†ŒidÔ7áºÀýéÀ[á (F÷Ë›ÌR[‹í3¬€œ3©Í1+J
-%eHQT éàb½_BžB6`ŽpGÄ#T"¼Ãèˆ Dq«ƒ‚Wwm½ü’ KÀxZÉÇ¥Éò²˜.;È ¬ª”ÊL3ŠÏ
- ¬LH9M¤ø³…s÷õ[m¤xÞ4- ƒÎÈ1= ùÉÃYFˆ§þüJf?+ Q¦Ê:²Þ£ÁÒè<VI ðâžÇŠ
-°˜ƒç›ýuÏ:“ejmQFf™´,Š|<‰J‰(TzЂ8lxÈžV©Îåÿ›»c('J‘J_Ošæ±Àc„_å—@GG$¢,2•bÈQØ÷<}Mïl-@Çf’LF|\>ö©¦*
-r·ÜNR\~±r‹ØÌçõ ‘(U…F»u
-µ‡Øík¦uûŠv¼¨!›["úšBÁ-¯ÈUQïû]ÝpšÕó3ê³B“Ø…", ®ÿéBßÖ5KÞ›Š¯v~WíêvÏÄm•ÄŠŸ`“´Úh-æ×{Ô À/÷¨
-lÀ¬‘m$Ó¹ífã<4…5Ï
-_R[‰6ÀC2²ŽV÷¦ ÆK«úºî‰BRÈèË 1|CÏ®Ý0% H¨šˆÄñWI
-`ÖÔʲLá‘
-4~çãÿú¤eZ$ï$½¡Ï8ÿØcddûi¿åB-¼üÍÛ
+xÚµZK“Ûƾï¯`Næ¦DxžxH§µ½rÖe­eyJÊö$Á%J$@ ©M*ÿ=ÝÓ=
+¡Š%œT«¤F=§u¹XûùMAÓÜ!ݼbê¸+ª†ô[ùqÀi7DS/Þx./
+m²i‘»]Ôc½“!¯p9ôïcî¾Ë tÐH'%øžÖ°¾œ®§–ïË¢)iò’¶uº=%/Á:âûçO£H÷¢Ð¹ð6é^Gw¡Æ§BÈÖ
+$ø;o9ŇMü-múKϲ$Ò<õ€ñ?³Xˆé¿é“WO¯¨õŸW¡[½œH>[Ri3Xì/Jùr9O_¾üR«WáF¢€ý´ˆ„JâÞ5ja§E•Ï7¨v°þ±r^I)ÕYЈ5¤XM20
++HIÜ
+D£Àæà%t"CeiElÂ8€É<º¨x©šÄ 4Î4âÆ”ž?ùŒz/5¤ʾlÂÞL#N’¡÷‹è
+‚¦j $¡š‡çU3D&•='t¹R%ÆZñ×k‘0Ös†A4;Ü—Í{íf*ÖS‡Óàë¼\ ~[¶-yiv±»{K=C¿ Ü%äþD IjçSïîo¾ùæ"¶"Ó”ÉÄ@œÊ´ü¬,XEYš¦áxÖ­8ë/I nŸ=+Ud!àwvÉÝý?B…Ðg&9KUr8°"Rʦ£ppö % FP[ á6©÷¨Î|É(ÉôsšMdŠ«ŠÎé••"KI) ±?+…K`©sV]oiÀ’8JØáŸê°¼ÂÊi‡Æ3óÍu…þãñÐez8Ö},†ûïJÀxK¢v¼VÅ–0æßD
+wahpäpOt¼„A"’È—J8X®±zú°f¸£_¨Þ [OÇ`âK@¦8¤òCŠ ,°‘NcoÀäìhf‡ån†‡üB*"YSϨWþº0¯õ¼%N@ `Aá¬îïÏXlÓ¦Y<Œ¥Ï±rÊØ1+ZI牉­”OQt)ábsXBªB6`ŽpCÄ.‘TõàÑ1Zˆã©ñ
+žërù)Af€òŒñ’K $"â,.ÛÉ ¬*SÚŽôì9•I¥†É4cv£pî¶<¯´Ïf&>a¸ÃY9fh>E¹<Pj¢ÄJùy?¿"Òg$³HÛÄÖûh°´&U(¼/C…€ß‘Ž•
+`À=%ðçh:‘
+;ŸÏ_“*¹€«A>prqß©~4[ѾÅé°*Ë/ÖÅâ=6ãi¹"W—kî
+ÀÎwaWà†.Šj5;2 ±ZË¥ópÚ:$ª}ý£~ÜçÛ-¹Dm]ºÕe<DqÉ|ÉHÚ} ÝÅÑw®¹áØží¼ »ž þ§Ñ䪡QìÖÅÁ2$^Dq·áÞ3 ¥7À'ƒsd¼
+ÕRº k솮
+Ò–ü˜—¬Ž…®) MbûékJTj†×[`±ÄíÁ…}3]Ô{ïEëŠ öŸ_!ÌY ØáÎ+z?p)Ô©lŠüjÀcû•¤ªp~0G-Ì(/ªOÕÐ/¿|®¦cÂæÕ¯ë0 ruLˆ·ÔŠ­ÕöÙzè…yý‰5Ÿ¯ Ý×-økÀ 1—Æ´H@Qº¼K¤¾šžƒ;´çLk+Šv¼(!Û<}C±à‘WäÊ(Œ/‡}ÙžZjÜ tá{ZŒ/ÄÂàò_…ïÛÕ’÷¦l:=æû²>0q—ÏB›,@«]„6r:? N
+ðÐ #ß±{B¤…)§ˆÝð6î- [l– Gz7†NÜsÏF Ë£q »Ê–#2––xïOÔ9ç¥Úº&B³uu¤@•ˆ_
+ß`Ð{¨Ž[3­Šñl;ª¹¡òC[o!‚,Xo`èœçæ»Ý¦<sý‘2"ÀaÿÓ¨ž›:_úüsf„ŽÀøFÌ»–!wCߢZ
+ E
+Ÿî7õ)ˆyS8{—°?c²JÄÉàìA·_»®~'ú üö»}y?çt <*Ú(’ ´`?‡hÒ3¼rÉ´{Â…‚
+ ½Ë„~û¤m„?X
+üRItYñÿü»¨óÆ°ª’¦*ü“'ÀRQª²Ä3…‚J@)M&tÿgbdäÔDE¾ýТ»fAüÔýŒ þù»»x@“%^Åoÿ[¬K)ü
+½vendstream
endobj
1817 0 obj <<
/Type /Page
@@ -7863,26 +7857,31 @@ endobj
/D [1817 0 R /XYZ 85.0394 794.5015 null]
>> endobj
494 0 obj <<
-/D [1817 0 R /XYZ 85.0394 565.2444 null]
+/D [1817 0 R /XYZ 85.0394 497.9013 null]
>> endobj
1820 0 obj <<
-/D [1817 0 R /XYZ 85.0394 536.6737 null]
+/D [1817 0 R /XYZ 85.0394 470.2641 null]
>> endobj
1816 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1823 0 obj <<
-/Length 2627
+/Length 2437
/Filter /FlateDecode
>>
stream
-xÚÍ]sÛÆñ]¿‚ogÌË}à@ûäØ’«L#»ÓN›ä""Æ @ ù×w÷ö(Pv*g&£aqØÛ¯ÛÏ£˜pøm˜Éd6I²˜i.ôd±9ã“;øöîLxœY@šõ±¾ŸŸ}w¡ÒIÆ2#Íd¾êÑJOS1™/Ž “l
-xôæýÕÅ廟®_O“8š_¾¿šÎ¤æÑÅå?Î zwýúÇ__Og"Õ"zó÷×æç×ôÉxß_^½¥•Œ'ˆ^Ÿ_œ_Ÿ_½9Ÿþ:ÿáì|ÞéÒ×Wp…Š|:ûùW>Y‚Ú?œq¦²TOà…3‘er²9‹µb:V*¬”g7gÿìö¾º­£öœIe䈥3 Î˜QR9^Õ­ý+h•uÚó,ʘf@Á£¢jwS‘Fõr¿°KZk×ò¢G^ÄŠ £ …„÷}ÚÛÝã¶Þµ³m]—~O_¤ŒÃQ&©ßRoÛ¢®<šDiö[$@‹9­9bn¡^ѳÙ/Öôm—WËzC«¸±y…pÝî[ä?™I¥˜Ô*žÌ„`™ÖÒ±n×EƒÌA®£°VÕþãmS—¶µôùÖ.rP“>9+Ù}STw´€VrhM¾ñ8N  ÏÂc™ @›ü‘¾UuK+·§Ù¯Ë/œËEa«¶ôˆ]ì‰?ã4ÑE½sÚòc-‘P,‚H
-ý¼ï«­§y_”–ú Xî4x§±É˜L³tÒ„—†±Î DסqèKLâ\~Z D"ÍïÐ4ì8•FbS•ŒõÒÛ“|Ë4K{’oŸFú”O§‘XÁÉ ÝPâ›Úµ©‚æ
-|Á ‰¢¦^`ÄĶõQz*Bú‡ü2¿ùóGLFÄ¿GS¿ãT„(0^Ä"Dp—DÓB«$‚ø
-mŸòékS7uc-eä¼lê‘ PZxR¯…ñ¦YaŠ·®|>_GaÌRq7ÂùJx\¢3¦Ò@b †Í/gð®Bq>ýó}™Ë|ûàz!´Ùó ¹41Ë)»ë2ºa'Ãyôߺò#è|*„ˆÜ Áœ92öbL¦à)=Ý)c¢uÞ°±‹u^ÍÆ¿c{…Ïm™»” vÊ$Ñ*_S)³Í[KKŸ(©“½R¢
-7endstream
+xÚÍ]sã6î=¿Âo§Ì¬Y~Kº>mw“½tÚd›¸7s×öA±éX³²äµ¤¤Ù›ûïJ‘9Û^òp“™"A
+<zwq~zöáç˷DZŽgçÇsixtzöà A.ßþøãÛËã¹HŒˆÞýãíÇÅÉ%-Ù@㻳ó÷4“Òp€èåÉéÉåÉù»“ãßß,ú³ Ï+¸Âƒ|>úå7>[Á±¿?âL¥‰™ÝÁg"Mål{¤bF+ÕÍGWG?õ«~ë¤þgRY9¡@)§hRf•T^‹£3­Ü:k‹¦¦¯jMcËpF $”Íb#P
+ÙbIº:wž!¤!šÏv«|j‚µªô) Ñ+šñ²àÄcPh(«È@”‹;DÌð÷¦¼‰º‹ƒ8ÁZ„G]ýßm¹ 4oóÂQ}Óý žø©¶)“IšÌ†žð2çB76©ïzx÷¼Øõ¥e‰‚ë| Zà6–ö/œ´Ûq(Œ(m™€ø|Ñ<e±ú5Ȳ†Yë×#CʇÈŠc¸mEþuUù2UÐ;@%<S`‚@ôM¸€^´§™Uå¾/à WLçw~Æ5*¨8%çô³Tч.xáG*ðnâXWKôøOøÏ5ÁKyÈð’_f7ÿÿ¯´Ó¿pÒ°ã‡@dÁ*,ýŠ‡(n lÛ×t O›XŠôõdHù°ƒH›€XCâE䬨«‰ªœOÅá| <oê5†xçÓçóyžY`¢öq›fœ¢S¦’Ž<ø<6¿’œÁR¸ê’óaçÞïËLæõcl…\Zý|A.y uLè±a“RXc%Ãyôïª OÐű"ò7ïÌ鶑Œ™Àf ¢^‘²6Úd5[·Üde^oÃ7–W8îŠÌ‡4
+’÷(pÙ9ùÌ“‡„­Tƒ³?ǹGzÊzä¢ã³~ï°
+/}’” JÆÑMQ]ãÐOyÝä¯VÏ>dHŠ¾cU×´?(ITúžB5¼/É~d¸rÚK;Æ,P»2 œ_,ÎNÿEð8d7®8D™>ª¿ï6®t·>ë[ß›T¿×A¼ Í.«Ý=AdŒ¢³TÞ[<½?q íÔ­Þ`’O‚ûø2 §G~‘ ¨<œ>PonEÝþ¿¿NçWS^@¢/+?®À"!;˜ðfVÆDWìèå€Ñ•uÛ«çIÛ
+‚>·ùòz
+m/Qµ@ù&ìñ*€Ž˜øVòt|6õª¸ðNè[—Ü|ÓP#R÷GÚ­
+Hî „ +;È~ ¨k§Tô6 WA»ôµ¸:û@Ð'wOÀ²#L®†Ðuà0Ö0L ›„4LÛFšA«)£íZðÞÕÐ+
+ࢥ¢ñ:`ÖùMéVØ¿Uºû
+ï èÿR9hˆÔI"Ÿÿ2ÈôPÕø_](†À_¹á'¿7pÕ]_þªÿM
+>þéƒ h ¼Páy¨¡ÆŒbù4Ÿ‡GŸ*áé?hëendstream
endobj
1822 0 obj <<
/Type /Page
@@ -7895,44 +7894,41 @@ endobj
/D [1822 0 R /XYZ 56.6929 794.5015 null]
>> endobj
498 0 obj <<
-/D [1822 0 R /XYZ 56.6929 281.2192 null]
+/D [1822 0 R /XYZ 56.6929 223.2735 null]
>> endobj
1426 0 obj <<
-/D [1822 0 R /XYZ 56.6929 256.7923 null]
+/D [1822 0 R /XYZ 56.6929 199.7072 null]
>> endobj
1821 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F61 1416 0 R /F62 1419 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F61 1416 0 R /F62 1419 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1828 0 obj <<
-/Length 3686
+/Length 3651
/Filter /FlateDecode
>>
stream
-xÚÝ]“Û¶ñý~ŽE7¡ø$‰é“ãœSgÛµ/í´I(‰wljD^DÊç˯ï.vÁ/Q:»íLg2zàX
-ã3wù )”÷úrwaÎ{¶.þÖ-8 Sçøg]&œ¶ÉåÒX‘%°Æ,—¥¸¶L‰Ñ¦ã²Vs\ŽXÈå]þiÙîóª¹-öW*[,ÛrW,Ëjz|•fÂëd0{Ž’k†= EeFx™fcZ^W«úPm®–&³‹ßëª (’×`Ó,öWÙâPUeuGÃÛººÚ õ>¯"T6íòê‰fîÊêÐÜýXn·­â>Å~W.ñà@>З¨ N¤„wNúª¼-6 FFÉÅÍ}Aâ²)nóö¥î‰_¥%Ý–ØøY:© ¼¯ûÚjºÜG¹;ì¨ñ1ߊñÊ:ãmó§ÁªVšÉŽ´öT†YPR•
-•hÿŒ4 °ÎHSÄš•¦r³—¦D(—øó”tX3¤Œ¥I e2=¦¥—&ÕI“K“Béø•$ દïC ½¾ Ÿ¢a̲âH²T'Yʦ_© ´Y¸ —šëáÿ¡p%§dKõ²õ­$µ"ñÆ­!ÖiÑê°NªúÐÉVf…M\rž”k†–±lya-Èàˆ˜·‡–…K'Š… ¡pashª°½­AHÈZì`­*y
-ÉT€ºë… B«¸ÕP <8Wé£@©?–µÿ ´¶ê‘`©ˆuÚZÍŠ”‚»Ož!¥Ãš¡e,R‰HÒtBL/RFF‘2RŽì•T½½8Ø+øÎØ+˜ì•Œ²Esƒ½’jl¯d/„‚½’A¼KXÀ‘‚ ,òÇ°Yt<u6;/`C¬ÓÖa!‡šb_æÛåo‡bÿ´Ü³Ž+‘BûÄ'¡Ãš¡a$X‰:…¨jDćmþ¹f4Ò󑌓éL
-t?
-¦î‡ˆ×ëºÚ.ØÀ… –㉠ãƒáåv¶Í¨dAa`º@Sƒí° Ý‚.š2ìÝÖEÃSê¦)WÛ‚ ëë—L­¦Ó5ÿ 0j÷E»[Bláºk'Ó]ÃŒ1‹’÷Œ1iŠ6~Fp›r ¼ 
-âyËÎìž:û;„%{ †‘²iP¤ “KïD–©ôË3ÑãÓŒ|ÛÔ´þà,l¼ $Š&9ÙFïŧ(gz”À7oo^¿ú'{)ðÚù]ô‹ýù Á ±¤fg¸ªÛûè#ÙBãÔŠï,Ú3
-‰ßáÁ|uÓ‚¼P8‰Ø- P”À]ù1ØÃd Zꘛ8î鳩i? ²n _Øöž÷‹§Æq8õœRDÞ‰pä˜cR~WÕl)zŸx|³
-%Ô;óW«$€Ã«e7ùºmËÉ?ëEÙNݲnÙ¹eËê®Q[/”Oý ÓÑ÷´AÈ›q‡,šëCC DË=ÏŒ7°äË,bjÓlÂS&EjáRùL<=Ä:cR"VàÎ0Y»­÷»ü8Us'fç‰è°f¨Û/$Dc2þܳòn˜œasa +§»Bˆ/%Lz¬ Ø@” 'áu¨t°æë9_fR‘ùÎäTÅö„ùÇ7'tª ®PaæÔBdÒG­Àô×›Õ p£NG¡¡@
-Á*6ЯKÐâàÌbra$Ž'ÕU®jõ¾-6ì
- ¿Ï¼›0eõDµÚi›·à·¡~ƒùè# r˜@JÎ1ê×–Ócì— c„=>àtžÆ2ñ‰‘©`.cVxᨳ®s¾ ÌÇ!žWuã=Ø
-ë‡,æû#3J1Ç~ö7ëD«ÓKÌ úrt.Í€«a
-Só&–ãVOŸ‚h0w¦óN¼Ú ¤PIÒ*-'»P±8y)Hvr>òbŽ<:¬!k›¹Ç,¸¦DB‚yv÷kfûQÈa!Ò
-!°bÌ¡
-!ê "ÍbÓdâú)ÁwM:Փ¨5m‚¾Å§uxø ÷;½.Ccý‰ŠþƒÏå6Œ£Ï¾äŒ_Ž5Ø8)¶Ò_¢Â§¤Pa!¬~F
-Xg¤0b¥0ú±ê¸0¡ošùä<Ö ã'%ÒTú1\j>oA£¯]sYHÉÞœcƒSÔèQ04ï)*bYÄ®cÉÞhþžæåÒÖÓÈdPqôÀ‡«BÒ²»:”9 aAìÑÁB‡‡ÏGöC¡ò½PùB¥­…Pª«Ýê9›-|š&¯`ägyà–?ò
-c±˜Nœ\–Ž"'<jð¬Ì|÷´¦|†â £ôŒÏPôZƒ]D¯zŸ¡SöøþÑyì!?¥ôÄ; ¶Tì©®&Ô /è)ƒK<æá¤x÷¹Ltøn`G.6Óü,3
-?±¿æoNÃÓð3L¥ð3€üG/?±ëDøi!§1‰™
-À ÁàuÛÕHî÷Ä\¤í–v›ßR]Èÿ­›<²ü¯"]¥±¢™<Scb¶‘ÖQ)ùúøÕÚiáñ g‰è°ž¡B¹Ü´û<2¦Ò\K³X{é
-:á¨l1}d>Sõ”hüÎF¿ls›ž±À¤¼ûh ºyùŽ
->LÌ=yT¬á*Ÿî²û†ZáÂt°>ø¡à™àá³f ú¢70Š‚$^
-Ï“`©M’áŸý…éòîÿâuý©©ŠO^¨ôG¿‡ü
-¼9HþïkÊ9—Ët:È¡(mâendstream
+xÚÝ]sã¶ñÝ¿Bo•g"ü
+¡¾¾¹øý;m6²©J7·Á\&ÆÈÅÍöÇåÛ?¾ùxsõér¥±L£ËU’Šå××ï¿¡KŸ·Þ¿»þö/ŸÞ\fñòæúÃ{jþtõîêÓÕû·W—+i ãÏpbÀ»ë?]QéÛOo¾ÿþͧ˟o¾»¸ºé÷îW
+ùÇÅ?‹Å¶ýÝ…ˆ´5Éâ *"’ÖªÅî"Nt”ÄZû–êâóÅŸû ƒ^7tŽ~‰6QbT6C@¥Jå8]d‰R­´#àõ-lHèe^ã^`„ F(‰Ó)XAóªmVuÓ•·Ï ΞÈHeF2lU¶M\¶ô½+‹š›ø›Ï,™šÈ¨Äð4¿6u1³–ÒQ*aÔvyW슺û
+¦•jYº•ãåSY]ÊeE•æ±ØïËmA+w÷ÅÌÚR‹H)ãçmº²©ýó›7"”LŠt±ÒFGNh±’2²I¢Ô÷Žvž:‹d‡dp §ÉŸ
+à%O  ·Ò"1ݬ×y?ÛíþRšeѶ¯ìŽÜ°wU³Î«ÙC°‘ŒÓäuL§"™%ɘé`v8úª'BjCk;>„uAòÜ­ ôþÃÍõ»¿Qy;ÈïÜ vÛì©ÐÝç Œ*CK±¼¹ç©¶Åm~¨ lýî-vÝ3](ý$ôve&Œ+ã¾BmräÄaÀËèH÷d2¹ÈDe A³ª–aV)
+9§i µË¿¬º}^··…;ÛUWîŠUYO±@f«Òø,=Ð1#n¹±"3#D®ëus¨·@t³``ÉãÖbU/÷—fy¨ë²¾£îª©ï
+€Nó‘šå£r[ÍóQ
+
+0µgÑèŽñ󑌤ý"2ð‘ìùHŽùH"_üB<e”Pü>8Ä›;¯ã¨5œ›€xJö<%Gn0EÄVPg¶’ÌVrÂV€­Ukñz¶JOq•¸ê¿ÇTàR€“sž§z˜3,E0§5SsèŽXÊÄ–ô=Ìc†²Q#sh|8tÌP*•ÞbC)`(¬†Š ëUŒAºÉA;ÝD¥’‡¹R¤Pa¥µ_*d" ®›°ÿ*ýë¦ ¸½³ŒBf¥ê´zše&p…@ûŸG¥‡šÁeÌPi”fÙ™¥´ð,¥…é(!e§£à;££` ÓQÂóu:JȱŽž½°ät”pìåH –Fh®1ƒÁ$ÿz
+c*aä ^Tu†Á<”óÌ‹}™W«ŠýójÄ:b¬‚ þïYz¨FŒ•&– 5Bâs•?"Õ´B|I9é^¥@ó ÙlËM^UÏÔç0¦Î]ÞvNaAs0^aXá¾è³:M
+(µ'—M æŽ
+hSq¼ºÏKàBŽg9Zuñ¯ F˜Œ½k<‹©€’cW¨¹Qð¼;B¨ªÈ’^î Ñ³®]~þð†
+ÄŸ·lÍî©1`a²°šµ‡)vt_Íq¦M#ù’×±f¬3ä%Ž6ÓúTƒŽRë11û
+Ú€·6‡=¼;p7 [MÃ¨ñÈdºù´6ƒ¨h Q¡ÞÙRŠ$~“_0×müB%BwÔAŽ"8‘‹}i¡N˦&ö[úlZϸœgÛç–½çõü®±v=gbBŒÈ@1ŽÌ˜csŒÅïê†uÅ`gRÈ¡6Ñ¿áh¥€bx´l)¯k¶œL4g G–Ùg>—©eŽYüÝ1ªØBðŸÙªcØîi…·Þévn˜×؇–ÈÉÈjd&J€$¿M%fqf&9¡Rt¢¢$6/Äl!Ôi•ÒC9ê„ñÚm³ßåÇÑZã@s‰j‹±^±‘
+CÒ'êd7Ï)>GÇ_Å!c»;á½ l±¦·äÐg¢/ LyrôÅ‘jl꧜OCr‡çE][ º"¶!‰ùü}ÏŒPÌ‘_ƒþ5=kõr‰ÁaK_vÏ…¨ê:~øe6êC¿ïË 9ÒmsËM?\& ðжyâ;à:"z¡¡ƒ2\„ÄÌîá8³ÔÆ/ï^¾´{ð~3‘…*w²V%™•¿U§Æý]Î!Ÿ¿åÛómQû°} ú<ðìƒ>…¡yë3rëçWº
+Ôî­Ï6C
+~«
+E2K'ž…î ½2§L’›B´¶k=Cð3“/wëãÎÿvzþœƒÆÌeüUÏ©6ô Ï^ãŒo^Ž%X'‚ëþñØ«Dø‚ŠT¼Ä…Ô.ôPc.ô¬>NIÓ››žÇ¢‡šAc|#£,vŒçÙû-¨ ‰kNI1¨s¬ðMŠÝº*=PÌ‹Ø´fÈ#Þß³Ò\¬PÀjꑹFKÆ>þaŸõ¼³k\‚êè0Q‰m9hhwkcyË6d*;0•=ÁT*ŽÁ‰’Þ.¨9 2ž¥UÐâUV¨e¬Â˜-¦.S FÎd#Ÿ ·ê¬ ³
+ìì}y9Ø •±ÍÀËŽàÈ:` Ù)|9²Á’’­5õ›ð±ƒÑ¡â1 'i»×LlxÅî–âçVzäxb{Ãßœº§Ž§JŽ§+ò›.v<±é„ãC4£û‡ƒ8# V'ûìÈÃýžˆ‹¸ÝÒjóK@ ‘< üÿc>.^œd¼ðêo
+ˆ àž†\}éŠzëóäŸ)_@•¿:× -¾™¡zL…T†mtendstream
endobj
1827 0 obj <<
/Type /Page
@@ -7945,22 +7941,22 @@ endobj
/D [1827 0 R /XYZ 85.0394 794.5015 null]
>> endobj
1826 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1832 0 obj <<
-/Length 2563
+/Length 2581
/Filter /FlateDecode
>>
stream
-xÚÝ]oÛ8ò=¿Âo'+-¿I=fÛ¤—E7Í¥î‡Ý}m9êX®%'Íþú›á‡LÙ²›¢9î ’£áp8ß2ø£#©2•³|¤s‘IBåhöpFFw°öîŒzœ4 ¥1Ö/“³Ÿ/¹åY®˜M-“cèh2ÿ=QËÆ@$o>\_^½ût{>Ö"™\}¸§L’äòêý…ƒÞÝžÿöÛùí8¥FÒäÍßÏo&·nIy¿\]¿u3¹{!z{qyq{qýæbüçä׳‹Iw–ø¼”p<È—³ßÿ$£9û×3’ñÜÈÑ HFóœ΄ä™œ‡™åÙdzt£Uûê ü(ÉWl@€ŒE44“y.GZæ™âŒ[N·í8åT&³b…€J¦¥›¨ËͦšÏË•ûõ ×åfLM’>Vå“GØ8„°òW½ò¤¦ES5|vHÕj¶ÜΫ՛.P’À/øåNØ„S"§í¦X5 O»©·›Yé_Š©iF˜þ¦-Úò¡\µˆ9J¹‘ MªFi–KÉ,ÒSÕÞW+w³í}9À‰Ð™–pŽ¨=ñáÎLdŠéÀ-ãìj” ÌYù Ò!:Wiº¬gŸo1˜Õ«?awÛMÑVµ_Å™e™íkfwù TMrýÕäÆZšVMúê®ë£´Ü{hy0¼Ñ'•îRÅaK®i¬ÁÝ]
-ëŒidÍh»Ñu$D©µ’&™ä,HúÃ8U4™À–جQYŽ¤”Ô{íG_F G"ϹCŠ`{Ö ìÄÏWlô¶†âCyÂiLÙJõ”‚q0GÁGJå§Ô9¶õ²
- y¹.W~r»®WÎöº­z¶wrŒþX;¸gƒò{ò§°sÓÂgv„b´O|
-aÐÀ€åÖV‹çcJ‡!ßÚ= }cwÊàšr°ÙÓÛï—4 ©RQ/Íy ùP­l±MDòt_Ílžµx=+–n¶—ÃVÕVíšSj|%¨õ[8Å7Ž?½½qï@éÞzä§jé OKšQ$ßkhaj‚•»‹¶ølJ×1ÐÉõ‡ÉÕå¿ÜìðQÜ• X‰RêA×j01ŸsÛ´~i½¶M„±!…4}¶Y,7h¡Z$**9oʺìó¡
-”òò•+PíƒyÍÒ•‚QÚ¼~íS>Q¼2(£”2êÿ¿½ëoYý/´w¿QQ)3Aèé4& ø¬Á¾.œCŒ"ÂA‡s¸{/½ãŒDòÞöï«Ïå`÷.ÓøÉô…~ÄÊ8íwom0±Úõôq—Ú§™iE¨eVm{·žÔ.ÏÀ,dÀESE3&¹-i0Ó‘ÝW_ª2È])!ÄåJHïr%½‡º± Í ¦ªËÒG‘nçë3«¡ŒCº2ywüjü¼ )IñXWóoÑ=Po¾”¦åR}—)ãù‘âC—{üž¦n Ó‰B+ÖGöz¹ýþ‹¬Ì’I½p3p¯Â§JB†½ŸfX·Æ˜
-Àrs0åø°`{_´rù.âÙ f\f‹M=àiÝ ¢ì–
-O¨×e
-¥ 1KJ%ZU‰C9üý_~Dendstream
+xÚÝZ_oÛ8ϧðÛÉ@­åRÙ6íe±›öR÷€Ãv[n„Ê–kÉÉf?ýÍpHG²e'Es8Ü¡@5$‡äp8œßÌÄ|Äài“šLd#›©T3®G³å}±wg<ðL"Ó¤Ëõóô짷Ҳ43ÂŒ¦‹ÎZ.eÎñÑtþ{bR‘Ža–¼~õöòݧëó±UÉôòýÕx"4KÞ^þzAÔ»ëóß~;¿O¸Ó<yý÷óÓ‹k2aŸ/¯ÞPOFŸ#‹^_¼½¸¾¸z}1þcúËÙÅtw–îy9“xog¿ÿÁFs8ö/g,•™Ó£{h°”g™-Ï”–©VRÆžêìãÙ?v vFýÔAýq–
+iÄ€…è(ÐñTg™Y¥F
+阯æx&“Ô붬WyU=P»½-°É§7¨g]oÚWÔ·mŠ9Q‹zÓã7ÉfÌ]R,èÓÜRç·m±)‹†»=aò}îçq½ùÃ*_–3ß®çy[4p;R¸ärA,«ºE½Ãá'œ§™ÖŸ¤)¼tÀX¶ø°è"ßVmC­¶¦oNŸæ¡i‹%ѳzÕz1êªò‚@ß]^m "ïoËÙm ˪"jÛlƒ² q8I ¸É|v¯Qx!cÌ“‚èrÕ›E> s> ¡fUÝL†NW4-j¨‘é°vÒ^˺-h XÍѤAÓÛ²!žžHÈ´ÜÆ5óõº€{ð½å*ìsÖê¯-qí¿5("˜ä&ÕÜd ¹7¬ªªï'í&_5‹bø»æhlª˜PÌv@›BL¤“iÆ3UAož”,eòW½òê¿\}¡Îô6%ÉçhÒ$å‚v“P1ØѬ‹Yù™1Q Ò$SAi~¬\«–¦€…b@L¤Fèp¦ÝáAŒISo7³b@^/ã"Ì¡÷äÞÐ`O<eó*(ÄŠÔ |ê]Û¸Ùâ=rÌrÔ 7Þ±£¾-”óy±
+í0žSsd»+‹ûÀ°!†8B*Æ‘›¼ñ–„ä1•«Yµ{Ícw>hà‘Ä÷j„§L˜hWlBƒGtY_÷e{‹–‹Þyøj”M­fQÍþć; ×g£´õf`ØÕ…óú\‡Ù̦›ªž}%Ùº2z\šÞ—í&§€ØSé>ºDnŒ
+.²ïrÃ
+Ûu½¢‡·Ûª'ö—A öcæ@ßõwNáûnòø–Ï£ñë‘ŒV7˜Jbc™?eýÐÀ¬õˆ²ƒ2ÝÇðcïë¿LHDZ+õiDÚq@¤¡€BC À}tw9¥È5 L”´K¥d®/͹·Ö%l>‚¶º $,§äÚƼ
+ €ˆ „ô0(1—r¾K€+b¿œˆÊ•è“|˜ÀQZf;ÀDoC1¸^aeÿmœöÅЩd™x0E§Ã?eG®v¹ýÐéè¯^àÕŸfÇ5 MÏ ƒ®ž8Ÿ4=…Ëz&…ý&岎I54\‡pn)z4M@Áì½ KîBMèïTrh´¥BŽsÝZ öׂØlÐ=KX՗Θì®ÔUÃ7
+õ]èœå! 5¤™cj¯²nÕ×·ý×ú¿|@³_Ûõ ›þÕƒqJ¨úú(𾪯‡ Ý‚ÔÊ<_,cæ Þë×ßUvCÊ;à·¥„dIiÑ=Ï*Í>£Äû¬RñK—x¹Õ‘Adür%^ý‚%Þ 3³ò‰Ü•èÃ8ô“WÄǵ~ùôµ»ò‰–C`—ÿÿÞÎ%ÿx d’=JG¦5XØe©ÑYx 4H<‡»÷‚;‰et-{ÛÿZ~-Ëw`yŽ?׫‚Z…äýò­‡_¢]¯«ðyªŒà7
endobj
1831 0 obj <<
/Type /Page
@@ -7968,114 +7964,108 @@ endobj
/Resources 1830 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 1825 0 R
-/Annots [ 1835 0 R ]
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.7768 73.4705 511.2325 85.5301]
-/Subtype /Link
-/A << /S /GoTo /D (query_address) >>
>> endobj
1833 0 obj <<
/D [1831 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-502 0 obj <<
-/D [1831 0 R /XYZ 56.6929 133.4556 null]
->> endobj
-1834 0 obj <<
-/D [1831 0 R /XYZ 56.6929 108.6695 null]
->> endobj
1830 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F61 1416 0 R /F62 1419 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1838 0 obj <<
-/Length 3393
+1836 0 obj <<
+/Length 3392
/Filter /FlateDecode
>>
stream
-xÚ¥ËrÛFò®¯Ð-TUˆ`ÞƒõÉId¯S‰íµ”ÝC6„$¬I€!@ÉÊÖþûvO÷àA‚TR‘Ë…yôL÷ôô{(.Sø'.½IR•éK—éĤÂ\.7éå=̽½ 3@ó!Ô··ß¼Qþ2K2+íåíÝ`/Ÿ¤Þ‹ËÛÕ/³ïþþúãíõ§«¹4éÌ&WscÓÙ·ïÞO#}¾ûðþÍ»·?z}åôìö݇÷4üéúÍõ§ë÷ß]_Í…7ÖKÞáÄ‚7ï~¼¦ÖÛO¯úéõ§«_o¸¸¾íÎ2<¯Hä·‹_~M/Wpì.ÒDeÞ\>A'MD–ÉËÍ…6*1Z©8²¾¸¹øG·á`6,âŸQ>1^º j9Å@íë1pßóG;߯¶óm½k›«¹MÓÙé³Ë«û‚šJ:ë©iQæµÿ÷
-Y
-¯ŽPfBñÍ9< TÀ°4#„?ÿñj®d:cdJŠY}GCï>>ZÙM“ß 7EÕÒøÝîJøY½a<b€G8
-Ÿÿž*ß« r\··ê©\¯ Ç¢ eEýº*Æĵ<pW¯×õSYÝÓx`Kó·«¹¹dÞ#X[Ó¼ÊàïëÀû¹i¢±ã;@& V\„_M‹B;¯V¬4Çpá‚“ nà5ûD-†×¬×|ÌŸ%ZûÈD;ÁeŸx§l„9–žSÛj^²ÌÁ2á2•(Ö+ ‡‚‘m¸äâoý˜‚,K¤ñþ¥kV p+ÒÙ‰MÀ³|¨ë&ÜbË-Û†àBW$a ¹ º©Ì\¼0âfSïÆK<‚΂(S+Ç ´9·Ê†¾‹u½üŽ €‹g|ÆCëßi*éüO9Ê&ŽÕ;‚ÎÑïÎÜl]ƒàòÞùv».—y[ÖUóŠ×Ý Ïf¿í‹Ýó”x"ÔfVïCÂî´4”ÓgÈ :q¦;sè<VÙƒƒÌ+›±²!PÕ<!ùØ~ª÷ë-ªjÞù¾h‡»Ú~å!#i·U5qJ”&
-V
-¶e®P'œšŽâ#Ä^1u÷å}¾xn‹)9
-Ðî7[6”·½}$kùLŠ›5.û¢{ÐàF´ wú^@µçïe
-JÖmŽ®@&Î[yP^C ic—d}
-E$Ëéó”3Lð–Y~}‚³ Aã1Š!XÀÕ>SóDí‚Ù™Vˆ³Ùbâ€mà4)y‚h3$O0Àõ"Åì„™]^6<IÀvìÙÍÀ³Û¨¯Ðb+;ŒsmçZrJùÖ5Ão¨¾ÍPª‚9VÂàØ-Êû„>×{,ÓAÚV6(O ZT7Ì:¼8„Æ:“rº c¤¾«>fDÄp阡Â!l2%gâª,Z
-0uóe¾|(æÑê–E îU"{©ÜšiÁ]±Üïšò±˜³Íñ" £Æ‚°\—E5™¥+HMW‰í£8ôm”HžtK
-RR+^ˆ@§RB°h±.š#—”¹´wg±v@ÇhG)õ‰W#¬ÖºaBèfÕ~³ (Ó‘¤À7Ò:m\ÖÇ£Žmd›T ‹·!7ƒÖ²®àÂÈjT-Ø !Ä,H·é‰è]ìR‚ÊNz+§ P1s9—/ôk6½gHTªÝùB¾Ò*Ø¡6_~ž4L’áãÇYÔÔîѽªDÞfcäÓ`g!` “a£=8•NÓ%SDýç#D|Cð}Öù§"ÄÃò FUÆZ=YÎ)×ón´ÿ…ž’Ùø±Ë*¬2£Ì1‘ µq‡ƒ Åt„}PLƒ P˜¢pö½2>p`«/çJÔ¦®²¢é²j‹]å™ú‹ÉWŒÉÛ×öۀﰮR‹£äüNª•
-}U¦ú )ã ÇM½.Z,£k«CÜ1œÎ—ËbKØ o
-´˜tê‹Žm“6ÅqmÒY|€²£ãœ«êEøv¼ï¨ª‡i´ÌÇu=‘˜ "¿³ìí ^ âx7Š¬ŒÀ_Èøtö¯P+FjømtšƒQJ‘Xm¸ò-—Ý0œEQw1‚F÷úi€»ÃˆÙ+®§á`p»ÃeõzU4-îòªÉ—1uô87ï(Æ'˜ÐZðt¾oë ˜…eð
-àc|E
-: cF6Íá¯Æ´Ñðc}´íÖÍ<Þ–“i„ä}œj)ˆåd¾x0šíOG3RìJÚÐQlùQ¾ŸÁÍ&T/x_·$h6ÞŽE—‹ ÿªà{¨˜Ë™ñ6ÁHøÏÚ÷—X×ÿêP;p$þDåQ¥à÷ñ§:LΙðs;:L–¸ùGÖô×_Ú¢êžîoâ{
+xÚ¥]sÛÆñ]¿Bo¡fB÷ \ýä$²ëNb»–Ò>¤y
+ëõ•Þíî/ ø)x>ðI¿cA튒º)—]ÕÔÄ+»=䧷 hÿsfvŽ‹ÞÊD
+–ërº¯E³gszhžèJŠÇ¢Z‹5ƒlñ:ϯʮÜmªº\¡`x#/yxS~.6Ûuù-žªîá€Â]³^7OU}OÃeSÿ;Måý~WxÙxÕñ!ÀÒUš¤Z»iš[ðÿ¥Ç®¨ïK•ÌlN 5F™WÿïUp#>6žx[ î(}uDÂà4“ˆ0ˆÄÁU„S&xýT²°’ÂÛN‘áLP^šo˺£ù;ÍfÂ'ˆ ô*wŠ-¼.6åj‚!!·‹ i A"…ª¦qS—cæü5z†kÄy/•ö¯Ws ±‹Eh]Cß’‘ :36\yp”±`]iè©i©Ÿ÷2†$}€çï7™Þ2è ù_äÒ¸ô<ˆfÚó¦y¦ìWz^Ø6DŠe^ äSÜ\JÙ-ÙÛ#Þú1Î%ÒäùK׬Và³WOgùÐ4-™!PóÎf+oî0º" ÅEÍ•.ÛÌÈkòÃa(Ñy4Á¾ ª¥çbÝ,óGÄÅ3M>ãŽB—@ç*|°€9ïa
+’v[ X£SŠ^›
+‘žs‚E±üí‰vX…¨¿Ù‚.ªuÕ=8øàÕ·MÛV‹5¿n+H+(Y³‰m_ødÕLûD8
+YÈ^‰UyWì×ÝtféòÜ ~±= ÏB£¹‚¡§‚ѪšS­cÕAÊ%dX]ÎÆþ ˜š]péÒvÅ®ëK¬Ç‹ $-wÕ–k3˜˜Ô!x‘•…£µÕGµ¤2
+C(÷µÚR¦/iºHX>Ýr™÷;Îã-û)ÊX¸Ÿl êû‰+‚ŠQ§&äŽ$ñÑ)äç6ÍF§8S÷ø<ŽTãhßqQì»fâ¨>WY"ñæGqõÇ»! +˜¾ÈŒW äÆ•U®0ì㬄@Þ–]˜¢ {Wð±ëÄ•ä:…] I¹Q`͆YŽµ ¨±¡g7MÀ˜ðÞÄæ9dbMý º¯½ý–óT˜oý^yGO™Ï»¹<dsyäø³ÔÌ>Ô¼Á~ùÀÑ_¤!,hRš
+GPí™S)„3UÛî½gG8¢7‘©îkf<¤Á¹
+¹Ø¨³³ßlÙQÞþ‘¼}ëqFÃižÛÆ0¢•`¼Ó÷bà<B¾t/Ö™{ Xž³¢+¦ïûu‘ÏRî±&Hï%KR'̘6ÉÓ‰è^`@1—`3.õ\2j¹i°²B¸ ë{Wà÷â· ç˜)9Ðî “÷¦ Ë\öõ÷„òFÖoŽ¡@&Ynec_¸!
+3FÑtê¹²’#ÁanÇ%„/º­ÏÂïöèÁ­òM$œ+èñT0Ž–ƒy~b¢³ĨኘĊ,àjŸ <XLPiñ§“ÅÕ¾dTü¤â ²M_<Á÷‹‹Þ슪嗄lÇ‘ÝD‘Ý{ˆ½lœçÚ>ϵ”0ómÆßP @ߪ‚wl„>°[Ô÷‰»{nöئƒ²­jQŸ@µ¨oèzº8å•æz“r¹ s½¤ý÷˜]<, Tdˆ; LdÉN'™rÁS€«›/‹åC9^÷°-y¯î¥v«Ó:‚»r¹ßµÕc9gŸ“CŠ,ŒKh¹®Êz²JWP
+š¾;dqÛ¨<–°ʺóa)Æ:–z,äûë²=ŠJ)MçÙyÂ=ÖåQTJó$WcÂœÜfqY˜ÍêýfA¹fÆŸ³žE?è²!+ÍØ£AÍIýA¿xë+4€–M ×F¾£îÀ{!f^ÇÍÀÄ°`—
+ w2fe
+Êê—sU³ÁèÖ}=}­ØÌsâ¥k°Î\kÀòÞ¨+–¿M§&qø ä,ék‚öèbU
+Š7:">ö® J=›Œ¼Â©¢š.™òê¯ÏñKB>Ôž_•'6Q4¸c­žlꉔ»z7¤òÊ£>«tTÿ!Ê9QÓ\v8hâT(
+AÙ£–¼
+A¥úLŸ³æëæ~>ibV@*šºólôX|Œ{‘6É,L¡X95¤JŽS%œ[´Íºì°™®­öÙGüºX.Ë-}ÆÀ‘ÿ€¯ïëfø>â¸)€
endobj
-1837 0 obj <<
+1835 0 obj <<
/Type /Page
-/Contents 1838 0 R
-/Resources 1836 0 R
+/Contents 1836 0 R
+/Resources 1834 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 1825 0 R
-/Annots [ 1841 0 R 1843 0 R ]
+/Annots [ 1839 0 R 1841 0 R 1843 0 R ]
+>> endobj
+1839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [471.1233 718.6993 539.579 730.759]
+/Subtype /Link
+/A << /S /GoTo /D (query_address) >>
>> endobj
1841 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.4645 516.9314 438.2112 528.9911]
+/Rect [389.4645 450.1973 438.2112 462.2569]
/Subtype /Link
/A << /S /GoTo /D (configuration_file_elements) >>
>> endobj
1843 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.4723 139.4452 432.5882 151.5048]
+/Rect [375.4723 73.4705 432.5882 85.5301]
/Subtype /Link
/A << /S /GoTo /D (journal) >>
>> endobj
-1839 0 obj <<
-/D [1837 0 R /XYZ 85.0394 794.5015 null]
+1837 0 obj <<
+/D [1835 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+502 0 obj <<
+/D [1835 0 R /XYZ 85.0394 769.5949 null]
+>> endobj
+1838 0 obj <<
+/D [1835 0 R /XYZ 85.0394 752.3707 null]
>> endobj
506 0 obj <<
-/D [1837 0 R /XYZ 85.0394 597.2138 null]
+/D [1835 0 R /XYZ 85.0394 530.3209 null]
>> endobj
1840 0 obj <<
-/D [1837 0 R /XYZ 85.0394 572.1067 null]
+/D [1835 0 R /XYZ 85.0394 505.3083 null]
>> endobj
510 0 obj <<
-/D [1837 0 R /XYZ 85.0394 267.9909 null]
+/D [1835 0 R /XYZ 85.0394 201.7289 null]
>> endobj
1842 0 obj <<
-/D [1837 0 R /XYZ 85.0394 245.3546 null]
+/D [1835 0 R /XYZ 85.0394 179.187 null]
>> endobj
-1836 0 obj <<
-/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F21 994 0 R >>
+1834 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1846 0 obj <<
-/Length 3543
+/Length 3702
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿Âo'ÏT,¾H‚sOIÎéù¦MsŽ{}hû
-µ¼·ëþ«¾Ø庮lÓw§ûæ’'R£1ó3"ÕŒ b$—Y"3©¦B<½XÒþÖ|­¶‡-ø¢9lWvO톞L×½il{èˆjÇõ"l‚ˆê¶ý|Øu4è‰7_tvÿ%°{­êš ÝoÚ½_±mp÷NÙyºä<)ÒT8!WöÅÔ(†æ$Žf ¯3°1Ťß K»1 &ÑVN¥ß¿WS=‰.¸í!oÎ#ª‰¶„L
-Α[E,ÞÚµ9t–˜[³~!h¤‡æy,MÃA†&7¦ÚbUõã]ñÅÖnÛýñNgñbtT Ïd¢š¡ãs*–°|ë„(Q˒玢£ñçªnWÇÞvÀUÊ4¼—/¾˜úXl…s¤± s­ÅYæ52k¼':ÌóD§`õôF»ë+ØŒ[jkŽ´Ö‹ùâWï[¬ü¸´kÒ«élé7åU!2P™L§FòÒv}l¬ñöXm«ßw&>(79‹1Þ‘³\€ü…¼îícªËÞ©ÜI­wýœÉ$g™¸¾x¤šY}bßL'™ÎÓéòä E6òsD?Ø™ <Oü0ј~z÷Ñ#Û¦±k<ROÕ¿˜>@n­|ð{@z¿Ȭ×v×'þ,sL;Ó“Œ1ipfÌ:s&’T«tðå3äyRH¡£+_:yQ$™Ìõ7N~Duå乊ÓC¹ìÚõg;æ‹ôúúžffùÓ_H.§ë;u*žÆÓVœNq¿3&j?_Ún½¯v}»ïAHÒÓk°i
-퀋£»¾¬Z„Ó|aû5ÄKÍÀX^*Ï©±¶ô ::>W–X®ªgúÓDJ~b ¶iÏèÌJ¹7…’`zdUˆr¦@´d˜w– ¸ªé!صífãxG‘‡èÔ˜-ìñÜx¤L$KOUW]oÁû¶ùn†¯Èbâ8ñúæªH”bÁ2çûj§ÀF†6®;w í—ª´D@ãvK
-”¼A0>MîÈ„„#?ôÏ-e(€?v_¹ Ó”TͺÝFâ¿ÚÆÔïMÓmì¯tGì'_Å·ç|È&câM¹¸è¬ùw%K‡E@"¼`àS—ùüzK‰I<S|jQ\è¹|Ï°ˆ’á(œTej6Õ°²J/”¼À*F„°ô?¬XÛ® Kš&®B†ÿÎR¶üyB‹“áTH®ôÚ‘€•—ÜxÛ:/FDÕ »óÅËÉO|osèô.kӹŕÊçÛ¸:À/¦ ©·ïkÈíÙl _ø<ñ¯w)¨°)Û×îb\N!ô1^ä×ãò˜êr\ŽT(?¨w¹†"Î.»ê/{•T¢*—××T3L,r.t6•ÀÙµTz°.©Š…Ù¶L·8áj2$ ÒÅÍ»J p®EÀy¸› üBâ…þêo¡ÜN±úË¥;ĹŠl)ûõÅ6gJ' ÷‰ûéD&(г4½!ÈY<Éo
-³¡'›2èvv]™U—‚ç[Ó`Ìžì+4
-Æ™?×"MP•T ªÃ'{v¥7 6”i¶Dí팇ÓE°mê#A¯Þ’]µ'OO?ú¥†ƒÁû-o@ /®qY¿!zé³=¾z9}”-F>urr‡&ûç±6ÍÁÿ‹hQM(LáíT|ä€ MQA¢¤Xºf áCÓUÏS P`•ñl÷ž!Æhö•ÂÝõ?DZb9h¬Â^’ä8#4 *‹¼ìÓf‡ú&í›l:¨`G[cDÆ'£‡kÂ4vüë—
-Nº±]`eüÝa·k÷~°m£q‘_
-z‚^<§,͆h…¬vP€ÁIçŒÁIçls×vU_Q#(IùÈ+Ÿò˼øé-¡ &€ô5 ¨mÇxn¼¸%‘‡¶÷|ÚÈ%!̃çkh¢¢¨D,¶DÕ®"Vö•:i£å‰5Fgõïv5Xx‹bwCF}ôw$í䮄ŀ9ºyñ7
-ÃìáèugñÈ6ÏáR,ÄãCÒÞß.K‹¶×„˲IHq{Lfº]h#’‚e94[:aE–Çï<K8¿[âõêâ#t˜mY­‰Ù“»3Ýg>`— t—¢•(ì#ûÆÅ̘êr´ŠT(溦ziYyÎÕ‚}p}]„H5#ÃéÅ3W’O…xò~,Q
-yìÌ!Cº íªkk‹F@©5[|$ÏùRµ‡®ŽÈî¾…
-„¡žFøµ=Ô%CwèŒõY TÉljO>­¶TL;gS=¯-9ªÓУ
-›?Ka&סHÉ‹qpücœo¡Ëõ¨ƒAx;c4ù3¼óhM×6fUûWcÎxhháuØ
-’¸\ æ>
-r7ÀûÙ<›˜ÂÌnèú—±ó®èíaú9¶]¯×=‘ƒ©\òëž8¦ºì‰‘
-eŒõW<2A–§×eˆT3BL=‘A^Ñz*…力ÑÅÓ À®M
-2OØØþµÝ&ʸ šÃªŒ KÙM@›“ª"ÜuÏ+á<½ñTŸe7,GŸBÒ’9KdšOÍ º/Üõ¼{¢[ás`$ ¹tzàãO…¼ˆŠÇ¯£}ã“ì¡‘}ø†kàö3ξ@ûFöξ!>¹„‰3¨÷K·Zþttᯟ ²òvìt…
-¯æ?Èó¢ì7bÞˆèÊ<î¹ëa¯XvW›L×%ˆDç"œ¶YΦ2|  ÃQéáà(ŽãU
+xÚ¥ZYoãF~÷¯ÐË20búbw3Y,0™õ$’IÖñf’<ÐeC‘“²Çùõ[ÕUÍC¦<3»0`5«¯ê:¿.R.üÉEj›©lá2“¤B¦‹õîL,n¡ï»3ÉcVqÐj<êÛ볯Þj¿È’Ì*»¸ÞŽÖò‰ð^.®7¿/m¢’sXA,ßüüîíåwÿ¾z}îÌòúòçwç+•ŠåÛË/¨õÝÕëŸ~z}u¾’>•Ë7ß¿þåú⊺,¯ñíå»%£Ÿ‹^]¼½¸ºx÷æâüÏëÎ.®û³ŒÏ+…ƃ|8ûýO±ØÀ±8‰Î|ºx„‘È,S‹Ý™Iu’­#¥:ûõì_ý‚£Þ0uV~R$J[5#@¥Fô2I³,]¸4K¬V:ðþ\úe±kŠ Aeny}W@CŠe•‡ÎÛ¢í —ûâ~Wv]±¡Ç‡¼:ðв%’¢ÇÛò6¿yêŠvº¤\nŠm~¨º~ˆï«·f̤Ê0', Ù;ÔU {–aèä< °Å#_á¢~ùxW®ïh³¼jj튼›-VÚØÄ(ï+)“,MU˜¬H¯c¾5px}=»ü‰¼(´n
+úm‹ŽMÍC褅â[ýÕÔ<ò&oKXúØfd⤴ ']┑'tLƒVãQ¤b9ç#qî®i»UÛå]Ùvåº]íòÇ<H#笙‰~Ô cÅH“&.°q‰â±>:™uK:sjÙî‹uù‡ªhiHìÀj¹;ìhx}ØÝ€LCG³¥_<õ¤ž¢îîKZÐ-»†ˆ7¼îûbß¡Ž­^¾k:² .›‚‹M £Üí«bk£–¬äQ¨8©QëÒÄË4{Y£ãQ§5Ú
+N[¬÷mùP¬ÖU ̵Ïô©e¢=,ô" ý¨&úÔ6Q™)äÔY:R<ôJ‚ö"(eî(lˆúáÐt9’¡[)h~[X§êòºh-Q(<ñi‰T5ÍûÞû»ÈD[Ü?À¾A“©IœÕG.þXV*L£cn›{ä75ì´,ã.¯¶Lãßuu.—A¾h+Jò‘¡gˆc0u>Ž‰ Lße¤b&„)dRÄ»|[¬óC[ÐâEÂì9E}K¤}ê†-Qs"lóòžÏV²‰+­!¸z=•L8®gƒ4pÿDmT]‰Þ†ÔÔk\?O ú}_VMˆž¨Xtm“Ź®OÆ÷ó°D26x`8ÑJ¤,“YS?’¢s %Mhö]9§¨ »ü7‘À„H@ù@‹Ä¸¬w{ŠU›bMâÎÛèø1ºcÄá¤ðXvwÔŠIŠrÉQBâIf,CÀV.É2—}ö¥H“Ô¥Q&›ƒeúÖ]sú™zRzOÃGOLRØ?5öE½ æ„GΆ$æéëó•’kQ}G¶ÀBìù›ØU<D\4„è´J¦å¼F 3'!%˜e]<Ò˜²^7;2xD>Š6®Ën ­ºéhyX~½†0_lxɼÞP8<`ßrbØ#¦¶0Úsšß©ã¡¤`•ŠA˜øðlZ @sbF7û=¢°ÈÃÈH^ƒÔ *n›mGOcõÂ#Jiul2A`ëÍò?¤8 ‘ô±U5èÉýJÓUŠë¢ØáikFjÀΩ¦Q•Ú¨‘à'â$«¸9 û6Ú µ¬$RÂý œçDÌÓº©Dq"I»PŽH™ÈqeÒ_nç‚sêžûì b š¸r2¢Í &Øø–ÃDWða‚Sd±ȼSkÂD
+wìÖû“8KÀDÀÕëÅÍûQ3»OOêë]:Ýžq–ã,;ÂY–á“}Ÿì
+º±1œ
+D\Ð"ÇNL8¼†OõÉ
+ã(Ê`®ªW„Ôºx¬Z`§®+vÄ}$¶Ý™
+¡vÇ …ºü’©C#§ŸhèÐDL“a£ì»xç._0»A=mS=sÀ‹í2•a£ L…ð(h'ì‹y¯<Ü9)À0Ίõ± ²Ws×9ðM9í“Vg2%¬peÛvEÜ- …R2O›"¯Ø%äèV–ÇD‘ÒevjeuS¯Xb{È„­ì’ËuÚ±Åè>): Ñ'Χ{Õ£h!fÑjÖ̽-(Ü‘êu¯/Ü=î¸í(LØcW×.®> ªé^oCFÀõ#Ð ‰„3À¹ÜTøäõ1}¼O¬iÄ ÷ÑÙÞPGYSÖ
+'óòqE\Œc<Y“‰]ÍQÎ,ÿ¢ešùS v DîCî¨y_¸±«fð˜ÞÏb½I.Ì@ÜÇÞ˜ÿ°²C1,ìLÛg¬½œJoä®b&˜~ê®9+^)
+;'²—¹èGÍ°q|ït)&|Pvöz„á¡·vhk‡ß#X”¢_ÞQ$†ÇÁŽ=û¢×Œq™š‡m $<ŠRDhqm*¦ê(ø?d!ÂÒû-¢N >WÍú=ÇbÏå©!(•a¬_nò.§þÀ˜¥S^¶.òŸ´ï‘¢ I‡ÓÃ=À'h2 ™ •G D‡
+å#Öa2%Hbë ò#A¤×Íý.¯ª'êQ>¼Ñª;¢ Ôu
+8ÀÁ.¶
endobj
1845 0 obj <<
/Type /Page
@@ -8087,349 +8077,356 @@ endobj
1847 0 obj <<
/D [1845 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-514 0 obj <<
-/D [1845 0 R /XYZ 56.6929 346.6515 null]
->> endobj
-1848 0 obj <<
-/D [1845 0 R /XYZ 56.6929 322.1538 null]
->> endobj
1844 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F49 1308 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F11 1509 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1851 0 obj <<
-/Length 2912
+1850 0 obj <<
+/Length 3837
/Filter /FlateDecode
>>
stream
-xÚ­]sÛ6òÝ¿B÷tôLˆà“'Onâ¤î´IÎñÝ=´} %Úæ„"‘ªãéÜ¿],@Ae'O'åb±X,‹ý’ÅŒÃbf ãªÐ³¼ÐÌpafóå ŸÝÂÜ»áiÒ@”ÆT?]¼|«ì¬`E&³ÙÕMÄË2n­˜]-~O^ÿ|öñêüò4•†';MMÆ“Ÿ.Þ¿!LAŸ×Þ¿½x÷ï˳Ó\'WÞúòüíùåùû×秩°FÀzé9Yðöâ×s‚Þ]žýöÛÙåéŸW¿œœ_g‰Ï+¸Âƒ|9ùýO>[À±9áLÖÌîaÀ™(
-9[žh£˜ÑJLsòéä_#ÃhÖ-ÒŸ––e*˲L
-àñ Û*ë´h§·åp‚e<3ÇyÑ:¼<Vì²J‡;ÔÙ,ÍrͲÜØñz¥œ Á
-c$Þ¯†eRç³\)Æ÷û5ì( f2-!gFI Ü‘âÃiš‰ä
-þ/“óýû@žJ–·nëÙ—™`\…"¢vgÝêÀ!^^,åìM'šÅ‡
-ŒÓˆ³;T&"›Îg9ì_D*:T7€å6y8•<©ü ^®šjYµCµðˆ–¾Þœ*Øþu‘ãÝ«Y¬Ü»/eeÆ›nmîǬi×dž«­ ˆ‰ž)ÄÑNWø&EÆ„„7Ê9‡‹B$ݪkºÛ‡È8°\™3žqògMsšj\1ÜUke2ÜÕímOèë
-`BW_6eó`ð÷wUˆ+¢ì«õ_Ãü®ëúʳ(éÓ–ËŠf·”":Â}ÙTëBݬO…Mºe´Z&MÝ^ÐÂ8~p><ÑøJàDĽAU!’V)°ü•cZÝÀ "É3][Lé‰ë@Cj¬çeÓ<ÐÔ¼Áƒ aÞÓ}ÕÜ€kÌ´M®î*¯öøê£1Eáåpü‚´†KödýPÎäý~§ Ï•—®l'öÛÔ`D~}¹HŠR­
-°°«U-ÖU߸°E 683|´Ußdß^ñ£Öí8¦1ËCóB2-àÁd(ä²æwBjÎ2Ëå3
-8>%¤V,Ë
-±+¤3Ïû9Ë•á6Zp\Jåฆjí-rè=nsøÍÐîqدªy]64¸/ÜëÆ œ‹ä¼Ÿ 0§´©þªZK'ª&˜²ö[•}_߶•Æo´€5e;¯Lž1•×öö"¼_nÓ¶º-†söÈõ-zjD—4, y]öaY×¼ÁzM¨U××C&œ
-OlëØ™gR2âÎ/«¾–˜¿¼ /¡÷B²(˜Êý‰ÆØfÏÿv‡–
-r(¾ç¾i_M]ø?$ê¥Ô¯¦4ö71š—"{E…œô?Z“NîH“‡E,>]£´"Š¹4ö‘Òù
-·¸óÌ|B¿¿fÙPŽü ‰¡¯L^L%<  `)Ý; VlO¨¹{C
-Ï08NE
- þ“›qßãÑ,¥Z­žOÂÀð s³Ÿb £Æ'üÐHI‡»«úVô«@Îã!~:B Hg€Æ÷ñá;¿«æŸ}+bœf/²ÝXVÞ–u ö¿•Ù˜žÅ=ÿ¸ý8®]
-µ–ç…²,þ‹V°<ý(i„¯þüëPAIï^ø´Y­ºµWôÜÏטBS;ÖƒÂX™O(âÿôhѱendstream
+xÚåËrãÆñ®¯Ð-PÕÆ<ðJNòFë(µ^;»²}°}€È¡ˆ,Ð Jþúôk@€e;É!U)U‰3=žžž~ê2‚?u™Åadr{™æ6Œ#_.·Ñå¬}u¡gá‘c¬/ï.¾xg²Ë<Ì\Þ­G´²0Ê2uy·ú1xû·ëoïn>^-tIxµˆ“(øòöÃ_’óÏÛo>¼»ýê»×W© în¿ùÀà7ïn>Þ|x{sµPY¬ày-Î<ðîöý ¾úxýõ×ׯ~¾ûûÅÍÝp–ñyUdð ¿\üøst¹‚cÿý"
+MžÅ—˜D¡Ês}¹½°± ckŒ‡TŸ.þ1­Ò£sò‹MÆ™Ng¨õH€*‚±M.Ó8£ pÕl‹²†Cé4([þ]¹ÊunõfFE½BptW*Ø8×î©cä®Ü:ü³vÝrÃXž`ëjÝÈï¦è‡ ½TPvÓ÷W* Ü’
+à‰Á‡²Ûx:ÂвéëÎí[¼ËB©0cMgl]Ç·F»Ã﯎(6áOQ¬†'Ò0ÏÓœž
+ÛLÛ²~¨©ßµÊ–Wëb;`6˜èºa<^»‡ÃUÍò3Ú«U‰Z^Tü€œ\£1G[H‚Ç¢ê=ýMÓW«©í±ƒæ@s[’pâ`g‡…¨Ÿ$êÁàÑ"xÝì· ¬g^¸w eq Å!dÁ/x C˜ÜŠŸ… Rxö„Åâ³,õoÂ'j›êQ ÈnC¾Ø[1i‘[º µx¾R•šmÕNUÖ†&²Þæ÷nÙï[P¶Å²*áÐíœyG*LT–{ófµÒiæཧní›ß+T) ÓµÈ ݨI‡…á¶xæÁ½
+®Å£¨<›ÒSñÅšš‘‘ÅK°0) .û8)\垧œ—OŸ6+ůÆÄÉÀ*™9Ræ¤pš¾Cÿ’¢:…'8*ðP²`tpåƳoxdÛ<κI `_¸âÁñ„/Þ çe_IÖT€‹£°¦U ‡5`
+¬Ž/„²õí)5œŒÇ™Ó SBx¼ñ\îR¶tC÷ ù9Å·H¿íÄ‚¿¼Ðm„³MSQñ|‘¿Tig!$SéÖiê\Û±—Q^ «~I²NØc.Ãe€„$\_Èž‚$¦¼Ä”ÉIJÄ€à é”f§‘£a]ðæOŠƒWÀÄ–•P<
+l¾ÊÀ5Ä>1…8†´eÂÅ'‡¾ÑäFJŒ•…þí[A íÁ„?žˆM–¿’GUÁBy&¡uhÁH^šæy³DGF6z )2“2‰zMCîØ@Ž!—Ô~rϤàÍÒ
+CØx&1•!>"GëÖI*„^Î;Q™õÝkzäõû•|à(™`Œ•«?´“[`¥£å‘i„¤¢`!ý·\ƒèŠ˜„â’MEr÷ Ml+‚”†þF¡Bgùf¶$¢ã“¼!'üÒ ?FK/Ö
+yʧ8fpH~~£Ð03: '³¼™ð±*[êéÎþkŒ ù(2ñšf™X½äYÜ
+®EaŠÌ€æ'J× D)P Æ#nXI…è²èɨp,:ÏÍ)˜ƒÒ’Œ7¢Lš‡Û¡ G›¹â±ß1“†rØ5‰9†yâ?Ñ"XÐXNý(KTN×@ìÝìù¡ÑY`AÎBÔå, †‘¶cìá‰“Ä § å3â÷gò½&,ˆ·Mi ép–œoÂ
+Ω ¿Nul–Shxr«Å®¯?w®®ÛQjÃI™ÜvÙùW-ࡾ
+¡{päo0еãƒ[ñ#à½WŽxÞl¥o©tëÓn4§o&AÿùÐHS;¡ ¤Á15‚ ÷‰`
+4Zñôüû(ÐþÔ2ˆNŠ tjø'ÀîŸ;jŠ&`c?pâ(TH+l‚‹?q'ž; é9ZL *ÊaDšåsMж<”†š¼jH”oIÁÅpÌú’øøèðÆò.Ò¹—ò&QH‘¯ÄTôiWÉÌw¾ó:}š?³ÎßÒg‹EI-Wú0ÿñ; 8â¦ÄϼÐ6¾±Ì©œ? ü;™¡Éï«É¿ ¹6ºf´áy,É"”ASí²¾¢zÃoØ}i=[¯Ñ·V½‡$ÑXMïXBxHqÇ¢Ù2¶(™òW‹CNq$õã•{&pw÷^¶:Þ
+~<•™à¤À…¬Êø¡—/‰ó‘A”=}Mž áq&ùðnÅDí._åjd~
+Ž¾>ÁFÀ®ò\–îоáO\^ô©”dŠbïp»]5ôžZ‡M×ÎùÒÉ÷*‡JÎ;ÌQ(}7áÆW ¿ëíit6¤â;‹4Q¯GÔÒù€ê‘|®Ë òrÊ~&¢æ¡J£üÕí¤—ûO+ª²§1Nµ’4Ç:`V¼r»nƒ~GÇGÜAtˆ,%uL4ŠE ŠäáÛ5¤«„¾j_»Šb>-¯ Á4¶¡ŽsL—Kà m…ûÎUö4ÓÚbX• ¹z–[–JØÄQQaÄÁTÉü=WSÉ8•¥þÃ)QÊ/Ø58~ÛÄ$ áB¾;ËøÛ“e,ÀÃÊúÜG¬&ñËÓ™+.½¹ÿǸ¿þµ)$ÏÙ™où°ÐÈtžz¦PÒi
+Þ6Ìø{ß03é)€ã¾y>Iùä N¾§®¸ù›/ÛÃGµ/¥ð/1±)endstream
endobj
-1850 0 obj <<
+1849 0 obj <<
/Type /Page
-/Contents 1851 0 R
-/Resources 1849 0 R
+/Contents 1850 0 R
+/Resources 1848 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 1825 0 R
-/Annots [ 1855 0 R 1856 0 R ]
>> endobj
-1855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.0197 176.5317 315.2448 188.5914]
-/Subtype /Link
-/A << /S /GoTo /D (rrset_ordering) >>
+1851 0 obj <<
+/D [1849 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.0484 97.3808 311.8142 109.4404]
-/Subtype /Link
-/A << /S /GoTo /D (topology) >>
+1848 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F49 1308 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
-1852 0 obj <<
-/D [1850 0 R /XYZ 85.0394 794.5015 null]
+1854 0 obj <<
+/Length 2946
+/Filter /FlateDecode
+>>
+stream
+xÚ­ZK“Û6¾Ï¯ÐžVSeÒxñU>9Î8;©ÍØ;Öî%É#AË)‹ÔŒ•Ôþ÷íF(Qrª¼ål4 àë(>aðO’4N QL²BÅ ãÉd¾¹a“ôýtÃO䙢ë‡ÙÍë÷2Ÿq‘Št2[²ò˜å9ŸÌ¿NÓXÄ· Mß}xxÿÓ¿ßÞfj:»ÿðp‰„MßßÿóŽZ?=¾ýå—··Ï>}÷·gwÔ•:?Ü?üH”‚„>Þ½¿{¼{xwwûûìç›»Y¿–p½œI\È—›_g“,ûçË"O&/ðÂb^b²¹Q‰Œ%¥§T7ŸnþÕ zíÐÑýã,2#(D°9“¢H&YRÄ©Ònàg³«MuIŧíVÏ 5_tÙ•õŠ^–ÍÎ14׿Ц֓ÁnžOïÇmuÛšµ»†žz>7Û÷;—Ó‡¦þÃØÁ®÷YW{ÓR»2­m‰i·Ö5Ñ8ÇeGœÇE’»†—²‚8À'ƒTLÛ²2uWˆºÓ%èsJ™OßÍÎDÌÍ’HŒ} º®Úf(vbÞ )™65‘6MÛÓ¶ÒlŦ¥Žn]¶Ôњεºõ-Ç}ÂvU¶©©ýeo@™‘•Á*V0È‚wŸšíÆo¢…ù1Qã6#ua–z_uôb×£\@ ,M'‘Ìb&RÙÛOcÎÁDcÓfW6‹rNÂf·œÃñµŸéõ¾îÌ&hÏL€Ççé$M˜©È.@–˜¢‹ËGL¾çB5ç•Ñ5`,*
+§p Æ—òüº
+=׈¡ÕpYÄ\I>TbfOWæbÚkAoŽj–ˆê¥™wå³A"±yj›Êtˆ
+Úv­Ç=°„×÷1ù±MÂE9ÁQ(Ù.* \È8•JNd" áÙ.ª±\>=Ü
+¨ŽÜK¹ÙVfcj[ ZBMOwa­âìèUZÄGòI¸¹ßw^Ç‚KbP³¯¿M!œ÷·J1ÈâL)>¸0ˆšmÆpñ
+AüO»hHŽ
+ü€9X:g¯ó7cþ7™€|-ÔhïŸ$x^óô ½H”d[ÿ}ã.íÇf¤Îó4"TßWì<´ôîÂ1]ÁÙJˆÇÛŸÜ~O´Ow ìç¼WTÿ/_N#–Óø\ÃU‰°,vb±
+endobj
+1853 0 obj <<
+/Type /Page
+/Contents 1854 0 R
+/Resources 1852 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 1858 0 R
>> endobj
-518 0 obj <<
-/D [1850 0 R /XYZ 85.0394 650.7283 null]
+1855 0 obj <<
+/D [1853 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1853 0 obj <<
-/D [1850 0 R /XYZ 85.0394 624.819 null]
+514 0 obj <<
+/D [1853 0 R /XYZ 56.6929 714.9873 null]
>> endobj
-522 0 obj <<
-/D [1850 0 R /XYZ 85.0394 246.8822 null]
+1856 0 obj <<
+/D [1853 0 R /XYZ 56.6929 690.9598 null]
>> endobj
-1854 0 obj <<
-/D [1850 0 R /XYZ 85.0394 223.4436 null]
+518 0 obj <<
+/D [1853 0 R /XYZ 56.6929 308.0444 null]
>> endobj
-1849 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F21 994 0 R /F42 1288 0 R /F62 1419 0 R >>
+1857 0 obj <<
+/D [1853 0 R /XYZ 56.6929 282.5375 null]
+>> endobj
+1852 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F61 1416 0 R /F42 1288 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1859 0 obj <<
-/Length 2437
+1861 0 obj <<
+/Length 2997
/Filter /FlateDecode
>>
stream
-xÚÅZ_sÛ6÷§Ðô‰ž‰`ü!H°yrsrêNë´Š{÷æ–h›s©’”Oæ¾û-°
-& LŒ•4Ž€ˆûᇥɸ²€—µÝ¥ÀÞpJ(ãnk >4Us÷CpTqf÷ÔÑœÅÑ"¬Ð;LˆÕ0Äh› ‘™ª8:À;!Oà€v]yWkWÓÔ›5X™›àiˆõyñ°hŠª´[ËÁ¦ç¦Ëþ~´)ër³Û„Ö,­`}êÝêÍó‘ò–`hΩ¤ûùqp’2ÂCI—z×”²Ç :·MU5F¢PiT|Ê7Ûª€ss <!—ÎeÑ!.²*J£µbHÍGÃW&Íø‹y:a<÷ŽBºWömíôcYUØ»+úD¾åÖLBŠ0´Û¢m±,žj ÙšÚNiµ á[Dfªf•W•…ÀVC
-0suA²ýw.ÇqtU|ê‘ocìÐ,ž¦³F†Gv°ž‡¬+K*Km¸Ô–ÁIOag<Æ)«‘Õ,±~ Œùm_´ØÅü¨y ð×=µ@¢É­HXµψaÆ.†ãýlPëä)˜„i±pzwß<ÖؽyXw®5ê,‹ÉDºãá-¥ˆþø'Ž ÜžcÂ(ÇÆz˜`M#Ý8H¡ØÁ\!Sç“Ðó 3ãQÕÝ©ËKÜC=eË™ŽÅšRCºŒ(§ûa„šÜ*§¢…ïñ ¨¿GKfS´äèKSh¢E ¨·;ª@p«ÇvõÌ8JENÄi¡r5!ÐÆ`fÌ€[MϲˆõË»ëÒÚ› ÿÃp„ØÙEìç§!zb­Ý5mURBiôÙ(‰3Ó7…ÐggÈry­ÁCwL(Á®6°IîÛëŸWØ»-[·æmi;ÚÒ‘d/ë!XÕ…@ûìé¡5xí1I¥>«÷úy{ýsóúȲ¾+¿“ÄžôŸÃÖdü8%
-ÂÐq¨0«*׉[wߌWbS|wÅ°WVHk |2¡›·a+{ ·8*ûÿ
-8>ŽîˆW|ÉŸã/Ø”oŽ}%pâyàÄ—€ã/ð8ñ?'žŽ½8þ<ŽÄ[å§m‹y
-²,¢ƒ¯úŠÃJ‰RéLÅ$¡\|ók´“7÷¾EC #IšÊaY³ãÛbð
-ÎIL¥;J¥M ëBŸšÚ]ìsKƬûц[ØÐŒÊ1R°v7 ÉØ_(!2¡Ì.4pùh1&H*À<ä,úV´yó½@ƒÖH1û˜r@Ë2™BMçÙ
-¥øñ_Á­NZ}ïg¸"¤óß9Žþ¢’.>õE½v1áýn»µ7 ýó”韎ۮÔùV2ý›4Ô©:€Áý@ˆÃ[ð2ÿendstream
+xÚÅ]sÛ6òÝ¿BoGÏD >I`ò”¦NëNë´Žïî¡í-Ñ6§©TL§ÿýv±
+àÜa¼©ðäþ‹äb* ©8°–i“*å³ø°à)SÖJ‰`wÔƒÜÀËË­X|ÛÀÑ™ÝeDØ)ãñ¥‹<e9èA–iÐ E—~óPÒ¡²‘‚
+ÞÄWd2P|ŽI…v–ñ1“'®’ç)€<¼^ÓíTH¶Þ6õþƪž. NM#Û&˜ìu»rU¡>¯œŸ'Ëkà,
+ÒË‘ƒmÅG•ñε
+ð<G-Ž™<eC d¾&<W Ü鮚º¤ËÂ(údž€’rUô˜`M)DD´-*E„f4{|¨Vž´K¤¸õ+I/Drù3iׂp5‰ø¾ü§„À-Ó—¹Ö›<äããåõ›  L!w.h l /;L¿5R¬bhýŒ[S2X2×:͸ý
+Ã\Fçü…+Êô°ïiŸ–ƒP’_Ã@ðsŠ\ò‡§”Q¥€n½¨)ôpwuGméìBÎî!àíž1t
+ ã°]=”«?èbe¦ÒŒAˆ2Ö¬û¢ªC9¡?T¢dƒ´ƒþÑ€Ëüã¡V
+&O€<´'Rñ»ýŠ<z‚ϱaµÊÁŽŒX<@h%Œ7ŠîŽæ¼ Kò³¢z ñÿ4ªÇŸŒx\n8»‘!ó á7drÇ?èšÈ¼í„ ³èºê¾vi~F6š5œ² * ÖëCàK##ŽÔjj=Ÿ¾b˜¢ˆh„´­êj»ßÎíYyÂøæÃîÍœ5œFlæœÊØÌøŠK¼5cücà®Ù@Þî(J“C°]àÏ /°¾!©ö…Xè*—ÏŽUY9®ªªm©7¬rN&ÞlRBCbG8øA>Up0U—º/û9{Ÿ¼£Šð¡àæ‹.XCžñ°p<”—?ù;j‡Z´+Rmü,˜µ€»0,v—`"Û?\Er­«òcOx[wD‰ø ’!
+mØY/ç.~Ì,3I¨èúʧI¸Å Ó¤ü¥P4å9BCÍ3¯×€XÜõT_5¡à ¸eå‹ŽÌŠ©¤ð$}m0š‘Ìߌ:NûgK“pur¾ŠãÝCóXx ô(ê9ê<
+å’ÇòÖZ&¿ Š øÅìH1¡WPã5LRýÖQwÊFÒœ;I8®ÔyÐI€¢ƒ¹¾/å"8UyMwˆS>HÑù˜¬ 4tð‡zzŽ¨ó¬zz!”™ų̀ÓAZÚN¥¥GÏøêxia\]ÓˆgÌ»+¿{H“fPô”Aš"4!"<$f^˜Ö sæ2¦o b=Ī%p]*ØX.^0Vc‰M~ߟS¿%ÒûÈ”©ÅïF¬½|I(—o©uò~õ'Ð væXaíÍ÷WÝUmØó®ò
endobj
-1858 0 obj <<
+1860 0 obj <<
/Type /Page
-/Contents 1859 0 R
-/Resources 1857 0 R
+/Contents 1861 0 R
+/Resources 1859 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1862 0 R
-/Annots [ 1861 0 R ]
+/Parent 1858 0 R
+/Annots [ 1864 0 R 1865 0 R ]
>> endobj
-1861 0 obj <<
+1864 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.3322 100.0779 398.9856 112.1375]
+/Rect [242.0197 554.0172 315.2448 566.0768]
/Subtype /Link
-/A << /S /GoTo /D (the_sortlist_statement) >>
+/A << /S /GoTo /D (rrset_ordering) >>
>> endobj
-1860 0 obj <<
-/D [1858 0 R /XYZ 56.6929 794.5015 null]
+1865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.0484 475.7236 311.8142 487.7833]
+/Subtype /Link
+/A << /S /GoTo /D (topology) >>
>> endobj
-526 0 obj <<
-/D [1858 0 R /XYZ 56.6929 173.9975 null]
+1862 0 obj <<
+/D [1860 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1374 0 obj <<
-/D [1858 0 R /XYZ 56.6929 144.4252 null]
+522 0 obj <<
+/D [1860 0 R /XYZ 85.0394 622.2509 null]
>> endobj
-1857 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R >>
+1863 0 obj <<
+/D [1860 0 R /XYZ 85.0394 600.0717 null]
+>> endobj
+1859 0 obj <<
+/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F61 1416 0 R /F62 1419 0 R /F21 994 0 R >>
+/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1865 0 obj <<
-/Length 2858
+1868 0 obj <<
+/Length 2415
/Filter /FlateDecode
>>
stream
-xÚÅZÝoã6Ï_aôI>Ô\~Šäõ)Ý&½m¶—ø
-Ú>hm%*K®%o6-î¿!‡Ô‡-{w»8\‹V5‡óñ›q،¿lf¡ÂÊ™¶’(ÊÔlµ¹ ³Gøöí 4‹H´R}½¼xu-ÌÌ›òt¶|ð2„ÃfËõÏÉë\þ¸¼º›/¸¢IJæ •Òäë›ÛopÆâãõ›Ûë›oÿuw9×2YÞ¼¹Å黫뫻«Û×Wó3ŠÁz8œXp}óýŽ¾½»üá‡Ë»ù¯Ëï.®–ÝY†çeT¸ƒü~ñó¯t¶†cwA‰°FÍžá…f-Ÿm.¤DI!âLyqñÏŽáà«_:¥?% Q†ë r>¥@eI*¸ð
-¼y˜/„²IU»§IVeÖ48UÌY†Í6_¿PÊóõ—0cÒ¤}ÊqÁ:Èöe–4N#°/ìËR/Õ¤u;^Þþ; …㜤V¦† ;ÎálÒ¾lA¦¼ÛË<)›ÊfNȦ‘\ªMŸ—­Ê6ùp£ˆ¢‰0,-#V)î—Åu¶äÅuƒN\÷âŽçž¿p.§§†&†BýmBl '2x6È*š5m¾+šß`ÌJ˘ ‚
-°"¦‰ÜøeË([™?f%ßeå>Ò=Ô» áŒ*ÊVïÖ°Yõ8%"#Úr³Ýœ™$ÿû¡W1¡‰T,—}öQ~%¤!šê¿úk«¢ t¶à‚XFåi p^aˆ+Ä«Ew¨Ej)I5µ½×Ž.Z
-b„P3M!>1ps`@ïóõ„JSål•Þå«Úkuí.LÒ¨c÷·û]¬üç¢Â'Ú$„Õù®›9bä,× ¸°C.4ù£®roftì nU™“à —ªtšòÙP5Ÿ§nw±ÒFÜŸ}Ë(ñéÔ`5L™Ü`j8ÈÀ¥?ú.«Öõæ/P õ/¨Â³©7‘7òãþ6!¯Qûà<Ÿ§£^íRéþ–qÅiµ JŒÅ«<§v ›H·zY•Åê¦ö a—ž¸ÞWëŽÞFÚãË8t—c¸ÐÀÈgÉ“U]9ßyÜ£(küú\´O8
-ž'|܇ÿÒ¼ÊÞ–ù"ÄÅn×ämÈ @UoÛ¢®uÖŽEA µª7Û¢tLøµƒ›Üå/!Ý^U˜÷»rÈÍUÑ>_ˆÁ9]ðŸë‡ú»;çž‹²ÄÉMÖ®ž¦ÔÒ%LUÐÚû¤:¾ŽôŽöƒ1g`UŸg©½ñ÷èíÿ‘¶Xj‰Ð
-&½Í;î¨$7tJrœÚ§¬Å™§ì]`ÕËÑíp IJ³ÞU8qL«H*»!¨¸£!2|4û'­@.rh–´uDÊPÒ1~€”³ò9{ á÷í#ï™4· ¬£ 𵆘°rûk‘~âODò‘ûH”À÷¨r4KKX*c•4ôŠc•+€EÎ÷¶i³6ßäUO°Ýæ™—¥¯0^&WÕ¡Ö€{…¬O7¨¢'XT{ra“²È›P=XK ;úë—Q]„ÉâE|Žö?ÔÄ0J”¥ì£jrƉµJž¬Œ
-€Ì@–r!YY,În–¡À±.$Jðho ~±d ÿçÉÕ¡f€§d šPPXpå³Âì÷#TZ+h0ögíuà'^Ýløì›N4*2^ 9ûC¥#€Æ5¡ŒFhd£ä Ü°d
-lÏa7Úåež¹xé^tpO„DndÁ®¤´ÞX½>R>B”PžÚέæ°]kÎiÒ¹×H2%AÛ]3¢s/Üo]çA0ï?nÐì·[«]Ƀ3v¹H7H“¯c¬ÿ°À(&s ,DŒ”Úä­ïÇà@Žs"͠º.g$˜X¿ÊªÀ(ǧC€ŽgaJ°h/m±Éðøêá%ñ‡Øpˆ1q‡Åàì#¬©
-×1Šv`í
-¨ÀÕqƒTÄ’Ç@åšj˧XM¶…1ëBóí›åDb‡¢ˆ·“axˆ™rQh¯‰kÛ!ªYžê;&$±¦ÛpíT«“Žš†p*Fr)ª}›7¸µÏÔÕú
-î»Þ¯|·C&UÞ>×»ßðc»Ëººh…ßѳ¸Kæ+\ëá›Ùæ;¨
-!+®|÷…ÛØCQ}M[÷–ߪü,õ] Ìªæ9ßáµhs!á0©ãøs¬ÎÃæ™!¤cØð¶ÂEEîGÞXà‰Öƒ åì#Ì´V‰>åÖ¡çÁkaî;[M˜ çÀ—¢ê¾Ç½¢>âG‰ a{ë–(øÈÍBPÕ]P=Ö¤%ÖÇòÑUœ÷ú9Ž‡–¤¦û‰Ñép(8¤O­x½ÆàˆÃ§z¿ë#ã¡¿
+xÚÅYÝsÛ¸÷_¡ÉÕ‰`|LžœÔÎù¦ç´ŠÛN'—Z¢mÎQ¤"Rqt7ýß»ø"ÁÙ¾ú:L\,vX,vd†áÌ„D2¡É,N8˜ˆÙjs‚gwðíà q4 O´©Þ]Ÿœ^05KP"©œ]ß¼ÂJ‘Ùõús$Esà€£÷¯..?ü}y6yt}ùñj¾ G—9·­˳Ÿ~:[ÎD ½ÿáì¯×çKûI:ï.¯þl{û8Âty~q¾<¿z>ÿrýãÉùu«K¨/ÁL+òõäó<[ƒÚ?ž`Ä%fð‚I:ÛœpÁàŒùžâäÓÉßZ†ÁW3t?‚e’N
+±SÊßjµf”¡Dë° %BÐ)jb¨{]´ëú÷ø©/xŒŲÏùôÔ]^Ø'âöYíÜ»°Ïëίlk»Ën3÷µ¹OÛ*³ÆÌ‚={
+>Ÿå=ù{œ¬ ^ ‹ŸúxzACà5ƒ%ŒÆ†æú>3’2º­Š¢zÈË;ûš}O7ÛÂ}{ȋ¶îòo®o7'*ÊÒº*ÓOw“ݧßr ’å蟣¨V©ct_Õm¥åºëªm³*ísÛiVMq°=«ª,á5[O¡p?T»_jØAŒªèRÏ d”k®"Žê|“éÎv6•{áDOxx«nŸÓõÚÊR׶£®vå›—¶ÇïXq” ïNŠeVo«²Îü°¬lB âèë~N¢l—gNÌ[3Oµ™ÒЈÃXâ¡ÔM ¥nÙubLE·é7­‰îL˃mh•ô³åÑGW÷tèš×
+Û‰n˜üó>3¾AD›}Ñä­‹rR™çº¶$©í )šý®4fŸóÒ{ G^Öfíô7ç6éÁvÜ86û:»Ý¶Ïì`í”ÀzªògŒéÝ>œÒ9>9±2çsÑãïH?±*Û"]Á9ÁÍÌœ;Ðå Ûاv<`®Úµ…0‚Àû(à¯Ùîv°‹Jã?¾ÀHÄBXÚºI›lcýL¹Ív›ÜlYdÕêŸ6¹ÙU@aô„g+e‹ƒ=g`܈d
+
+ˆ’œÒIÜ7:ëw±qð Þú|¾$‚£O™£O‹º²­f7CðÃ…ÇÂoÅ1hŒ# Ì^Ã3F%‚óA̸‚F ÊA d?îîf¶± "«–~0‘Uú_-Ç'p—v]Lˆiw"É”€·Q ëÉ4ŠñZª§$qÓ’ »¤Œƒ&’÷=ÜY9½Dx9D[[ ‡™¤RñŒë8ŠÇωu)ȦÔt¤»ðüC«`O0Œ‘ŒcÑNkV|›­&¬‚Rıð[)w§Â:Ó»Æz$m„®Ûcõçq½ ”2>¯Š´®íD‚‡IéqµT!Z„03 —ÞàŽœ—âÕr\„, b=á¬eL5bžÌÄmúÀ€ÌµV“/šÏÍa›M¨ nHêÄõ´N
+§”êæ>K?âøÂ&’R<±~B@ÎÞÀdi¹¶Åß±|"D½äÛå¸MêjãiìDƒS$æÑ# wÚ¼  s[_ŒK?â8æ˜!Å9{tÎl€mÂÀêÈWÿ3Ð]æf鈫}¹^ØÖ§/Åpk\ºœÐÕÓtÂk¶0 ²L#ŠK‡òæ~Ej—?™™êäÂùŒ…ÉvÝq ÓÑ­ÏUi”NVjWÕf››”’ÁžÖQÁ&ÓG3©wéúͬŽå2orsT0<Ìu©-Àõè}„µå!èܤÍêþhíÏ XúÂQwžö×£%ýµ¥}ÒßFõ2Cíl¿»'øœXD&uBð¹`ÍAô&³£¤–ÆÂ)Fgº2'3çÓI­¿U¡œ#Æb[Úº¨\ÉÏ•ÍßL×ò(A€7^‚ržOñz+ïSs#áîL‚cZgîªÁÄ`ºõJWü“¿ò—í\Ö5¾¬ÈvTv;»²ß¤`ÇnD–„Zšîò`•îëÌ—Üaå«««Ê8¸70:êÖÙÑ"Ÿl«x$ÝÔ iNö"ÆÜ-¤þÞ¢‹)y?÷ `,ÄÇmC'ÔL’º*Ù‹1µjNˆÔ>êý­–Öx í9bâ Ç$+„ û˜¦ÅCz¨ûâãž÷‘CÎÔ·Î|Õ9¨Ka|¾§]ü´'·FÞ9ò°27—¹Žìø³«‘’%bXYó
+l·YjDér‹Ã„nmù–%¯ ,`<pž`PÍÀãÂ$EžÕ.o€´^ap™½ýîÐËh^ûòbñrðŸÑx/Å `lªŠ‡gOFƒÏ½î.͹Îú}Üs:™ VÝ7,»$íü{“•k¯ÿ§ývënÛpô9!ú¾¬Îu0 È|ÁÌ"…Gø«è1ÿÙXÁ)endstream
endobj
-1864 0 obj <<
+1867 0 obj <<
/Type /Page
-/Contents 1865 0 R
-/Resources 1863 0 R
+/Contents 1868 0 R
+/Resources 1866 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1862 0 R
+/Parent 1858 0 R
+/Annots [ 1870 0 R ]
>> endobj
-1866 0 obj <<
-/D [1864 0 R /XYZ 85.0394 794.5015 null]
+1870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.3322 482.5741 398.9856 494.6337]
+/Subtype /Link
+/A << /S /GoTo /D (the_sortlist_statement) >>
>> endobj
-1867 0 obj <<
-/D [1864 0 R /XYZ 85.0394 726.9349 null]
+1869 0 obj <<
+/D [1867 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1868 0 obj <<
-/D [1864 0 R /XYZ 85.0394 714.9798 null]
+526 0 obj <<
+/D [1867 0 R /XYZ 56.6929 553.1642 null]
>> endobj
-530 0 obj <<
-/D [1864 0 R /XYZ 85.0394 307.0085 null]
+1374 0 obj <<
+/D [1867 0 R /XYZ 56.6929 525.5729 null]
>> endobj
-1869 0 obj <<
-/D [1864 0 R /XYZ 85.0394 281.911 null]
+1871 0 obj <<
+/D [1867 0 R /XYZ 56.6929 399.8842 null]
>> endobj
-1863 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F61 1416 0 R /F62 1419 0 R >>
-/XObject << /Im2 1405 0 R >>
+1872 0 obj <<
+/D [1867 0 R /XYZ 56.6929 387.929 null]
+>> endobj
+1866 0 obj <<
+/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F21 994 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1872 0 obj <<
-/Length 3562
+1875 0 obj <<
+/Length 3145
/Filter /FlateDecode
>>
stream
-xÚ½Z[sÛ6~÷¯ÐÛÊ3%ƒAâÑMœnº[§k»Ùiû@I”ÍD*"eÇùõû HŠrºÓ™Ì„¸à|87™ÏþñY¢cm„™¥FÅ ãÉl¹½`³ÌýpÁ=Mˆ¢>Õ÷÷oÞËlfb£…žÝ¯{{e1Ë2>»_ý6×±ˆ/±›¿ýxóþÿÜ^]¦j~ÿáãÍe$6ÿáŸ×Ôúáö꧟®n/#ž%|þöïW?ß_ßÒ”ö{|ÿáæúœÙôöúýõíõÍÛëË?¾ïÎÒ?/gÒäóÅo°Ù
-Çþñ‚ÅÒdÉìscÄl{¡'JÊ0²¹¸»øW·aoÖ-ÒŸJ²8JÏ"©â ü§µÌã”s¥‰‰µ²Ó²àSZTVËÛ²ŠöuÝ6ãórÆ°RËYÓÖÕoÑãÍY•¦Cæ÷…Õzf¥(·‡­í˜yuØ.Š=MÔkúî/9:uKM±*ö MµyK­²¡iG\|>”ÔXÑìºö{æCª¢iG-‰e\³ךH…UÜ,*–*³á±IáΗ/—Å®-VÀ ä,—ÍWÅ:?lZê”NõoÞ+3ЗŽ³$Í e»‘ ’J¡Ð4Õž __ÆãĘd–ò$N$3¯2sÏ/›Æ+ÃcÓÔðó{Ñ:†½|“VŒ·Š‚t‘VêâY5׳,Eša&bɘvg½é)#ÑŠ“¾pJ¡¼6>^FšÏïñ¿˜Ÿ<äLCqFÍ4Þ×Z[Ö³Ï33eŒ$¢^Ûõ¨7ðæÃVÌÞÕ8Ѭ(¿qÔßÙJ÷Ÿ!/@É™ÖIÌ3™Ð¡ÊR€x»ÛÛ¢jní@E_oÁÐ2'·­´‰Ef²Y_ŸíŠ$t¯ ]t´O @‘0q–¥Æ=–4•ÙëÆLó T&yݘuTV‰Mù=å›rU¶/Q îÑ;1l*•âé¬ÏàÔ°ª 9†-±‚9Èq·+–åÂZ‹T{‹’¦GÛ†AgÛ0¶Ê_<D®iÌ/Ðóõ¡=¥¢þócQÉ»›»»ë·4ŠƒWy lh>?´õ6oˈ TÊâL
-ÂhëºûeÞ‡Y½{¹ë=CîW7Ų®VÞã
-" ¶Ã)9nÇ•ôïÚGMÛ'èÔì©`½‡¢[
-O ×ôõ>ñB¸©`À¨ç<Йpœ}°-+˜JésܼƮûç²Û°n5–8Ò÷±>ì´d‰ZÀç´)'Ö“ÙdÇЦÿT`Xï"É&B®b#¸ñ$þ<Øï¡|*-XmÛ&“úŽ,º©¡ÎTá›ÒþFPßnkјHFŒmó/>E;
-Ï9ïÞ(:œÑV/E¾oè1jsiôºÖJ­™úÀÏZ„¸Ó<†ÑýHXˆ!®i¨¬lI– ݶ܆‰†¾‡Ê¢²$Cáì¹€jëékúÖ•_fo—ZýïHƒËÞƫvÌ4lNÖ‚XVv“ ,ätîM¹-É­ “oëCå_ŠíÙ|¹©—Ÿ¨Ù|*ž/˜t$:Vá"ŸDz¨œ
-$
-ó¨Ï\øbã“
-·m\Eû\¾Ó†Üã)ß—õ¡ñ£¸V¿e^ù+
-VŸ0 ~m†M%ˆãŒúFRÚ§:ÇuTáý‹ŽªzUœ&§¦LÅë"tT2 ÍŒG0;Âqk«â1Þ·¼Í¡íî$/-ªé»ðk‹/ˆ•*÷0ꌭ»Fë£íÈçC^µaoèÀjÂqšÇŠgfä!ݳWHŸ¯ôÒÑz.ÛÇÁTU<SÁã?®ÿ}É9ŸÇ4òätn!È1\ø×ÃÙ¤ Oc#Ev.=í œ³ 8B=ªW ¨Æ
-6uG ÄL ø«rtT‚ Î /`àô‡’q$wÂz{¸<ÖÎð`¨ÃÚKB†õn©³L"„;n¬ØXx«ÔÝQÝbY4 aãÈØBÌc 98¢Ö¡!ôYä<Ãqô¬ÿO„¥x‘™äĦæåþÂ$Rc™qþ:ÂúTçÖQÖ¾ìŠS…ŒKáX¯JÐQMˆ08­LX ÚÈpÄbêœ>»}ùDPÐj~ûîêáÚ½-r^Ñ“ÕQ:û„ïÂ÷³Mhùëµ ˜9ÂÁvZÏHz´¤pbå‚Gål0¬€ŸEÁßÄ ³â:øi$;RM !ÔzH@¾ ÏT2 !>Xf\QäÄëë$’EVái¹V Øåû|[P°‰mþB ²éÊŸ{[?Ñ&>†ÆDNŸAþŽi[A$É‘]`Xô©ˆ{· ô\­(õ\ì%NIwÝýd¦»ÃÆ÷CóǨû™GŒ(BH‰ñÅËDüe¸‡;ª ­ÕÄIgiîÈq°œ°|"fäa16Œ={§@“by26èZ;Ô…þ¾ ËbŠQRÜ3ˆ68Z\ĶÉźÓ>ÒPíR$É|>‡~Óú„VÏmhõTÐtíÉsO·p–ZÖ¶€ç3Ý4äŽLŸÞ€\æ~ÙÂS•U i»‡&m\“º´°ü¶yµš¸ y¸˜}µZÒŠÞóhS6--Öª·8cx>]–æ þÄÓˆ˜ì^$•ž´ >•FÂݤüOÀD#dóTN½VJ›¤VeóHöit„œ>Þ)¡åÒq
-¸-—‡M¾÷(‘ˆ®•²¥ŸŠç­Bü
-IQ>Þ:IE…qŽH¼Ø¿x*å :ª ±|Ì«‡¢ñ5dËhßgÔv‹å|—÷:ІG­šuAå;ø•_šƒ«48.] 1Ue%¶ÆôŠ^Æ e¢ƄS˜~è`(tpޔχ–ÆZº€ñžƒBÕ¨Œ‹,Â"jlóÆÆ\¸ ¿ï±ô‡G¿ÉŸ<]¸4·õ*šò”ö·åjië}*Rmª&<¸ªÔS¨ˆ@˜r¤B<Òœ«K¹º1¢àj¡³¯Ùq2ÝvlÕÇÏÕôuÊp4Ôï~wc®êlGCýAêÌH; Ðxx‰cý%…?B!w (4
-Q©n詤Ҝ¦H(1ØÔ ‡.ŸèI–…Ø ;…ØÎñîÑqe:jÎÐki]9JY{XЪñìý4žÉ&ßîÎH¸;_‡c§Ú”½zÚ
-•±P$«G%´aÝÜÕÔ,ÀÏ-¡”‡´p @‚uÕô†&óÝ®SáD‰¹ŸÊxð£cû<áB½%Bñ®ÆΈ ý|žòH²éUðLc[?Å‚#C˜1bC6T&Iœªq¡ÁAåKEñÉ™¹)±’ ¦Ôàä}·2
-¹±RYPTÂ|é½;ww姜RpRÝo§lÄ)e1c:ª\0£Gܨc*F=ëÒ3 „s¯{ôÑy‡ˆÜ_UMtXí)}=­R†ÄŒ›WywD§ÌñžHâ,‘bÀý®hÝOšá×4òll[R¾‰þõ»›;jýòîgj,kû×Î01[vøê»üÚR¼øŸšýOLŒlyŸãq9ýp K‡Ä³“̇Žò»•/(eVÕßµÐÛ-ÙókŠõl&.¨á$ì<hÄâ¡[‡~}h›rU™/;`xo? >—pà.8VŒÊÒ†îø#çÔ-óÕÈâ8®šðåž!ÕÛ@|¬³(o«&huEîdµ¹+ ¿‹aìÐÜïýô@}2ÞhÀµÓ ˆ­‹&J†RÝ ÇØýÍ RÀ)ã·¿WÑñ8 ã¸f8@XòPxB•Ý¤jž‹}sîOû¬™•“/€uÕÆ¿ügÇ¿‰Ti,³ìLT;’ɪ¢÷'Œ±‰Óègq41×_Ÿ¬‚?º;ìvõÞÖ~u~…ÊNM"K×óŒZ!†g ¿uª‡ÿŸ¥†Oendstream
+xÚ­ZYsä6~÷¯èGuU¤á!Šâ£3ñdÍzvmoª¶’<ÈÝ´­šn©GÇØί_€ uô•LMÆU#Š >Póƒ?¾ÈU¤IÚ¤‰b\-VÛ ¶x‚±/¸§‰Q<¥úþþâÝ™/Lb2‘-î'kå Ës¾¸_ÿ½ÿÇå¿ï¯n—±P,Ê’e¬2}}óõz¼ÿxóáúÇÿÞ^.uÝ_¼¡îÛ«W·W7ﯖ1χù¯pb‡럯¨õãíå¿þuy»üýþ§‹«ûa/Óýr&q#Ÿ/~ý-Ö°íŸ.X"M®/ðÂnŒXl/R%•Jz6wÿœŒº©Çô7Ѐd‰dŠÿ%¶\$ƨô8[§"“,•æôZ4ÁZ¾fÌ—7ƒ–Rb<^!œ'úð| K4‡cÕJÁ™gt¾7¨aGi•¥ 9K” ¹£ø¸Œ3ÝÃÿ"ºÚ?X3å š>¹N3‹Ï ž°ÔID“¶Ûë¨×ñîz+?Ô°£ÅdSaáxº²Û>Ú,:a:$²ÔI|]-㔫¨{.[j5vc‹ÖÒKýHO²bl™ïà™˜`I™˜òHYÂDf¼>šf SZÛÅu³,ZÛÆOš
+¦RPvšù9mWtvk«Žø­kë«jßÕö»¬§,ò=¿ ‘þƘx]JÙ5¾"ŸEÌÁö5P@+.°¨$†‰eõ>”™èÅ{£öÚ>â:E¿éÀeÊ£¥_™ŽÌ_•_ÈÒÓV…[s&§¬·»r㩺rkhwvU>¾á⸠¤'3t›"9Ä“½ÇMúvˆ…Σº¢'ž—kàЪ®pÊSßØ‘ÛÕš^6eeñì’}+NN2™ÉÅÔƒ¾Í)Ñý•£‰G`ù6Șû9²ÁÍùÏRðr.µS//Ï`0c ¼™ õ•?‚±+@‰Œe‰ÎrqüFñDñ”êŒ,
+eÙ[wÝfŸ1àò)Â9ÎÕÖ3§¨N…Îæ¼ïlŽ'RáM'•QÕoÐ𱑟­cZ·DÐÕÔ¹*V4GDàN„æKX¤¬ÖåªèʺBGcyĨ]¶ÅÃÆúUqµ²ZòèÉSýÆ»w€åi=.OÕ)shó˜o>ÞOÀ;‚À%…f2õ/À¬<²è ¶ZÛuÜ8ðå`
+nS
+qìÑ^ÿt¦S™&&øgŒáç#d Á]qFkn˪ïlK¬±ƒ]a[¼–Û~K/_ŠMoω£u"ŒžÏË“%)ãqä¡8 «T&A3 9ÎÏÁXáTҨش5µÀ>:§ÓzãNLƒ¢mÝ#Ðc› * ­nîî®ÞS6X®¥ÐE¹éé¤Z¿½yžh€ko.plÓ±2L •`oe<ÇYr€A¹N2xmŒ&³ÛmJ§¦çCá;‚#@n´¦´~Vù¸wš›Qyt†žS7_|¢ 3Ýs(Vr
+¥”„ÍiÂÂÓ(5¥:R•STñWn§G±
+l&Æœç?P`fÈ
+l”s9—à~i
+mW–c•}Kýâ)‹ª}± Ëž6ã6“)¹gwêÜÓA–'`ÃÙŠQß:+…áIÖ‚äúH⬒|
+ç‘çAë±n|׳m}Ÿß½”Õ0x}„Á” `ÛÛ$^Æ$øl»Tõ
+س0#1í>X‚J6ëÕcš1úÚø-µó}­…4À lÁÊ}ãò•P`„Ž»—Ô3b>½“\ᇕBFA:¥ÏžøEMë=‹òy
+‹B™Nüa>à²E¸ö\­¨ƒl¿Ú«S)š²îC εÙû>`ŸŒîô“©iº—gC9lŒD§C¹@ÎÐûs\Õk{˜ŸfY"s™å?
+0ÿ¬Â™A6•àŽ¾Þ‚
+xˆÆøø$–ƒ¶;y aiRM]pÊ~º}…`©rŽ
endobj
-1871 0 obj <<
+1874 0 obj <<
/Type /Page
-/Contents 1872 0 R
-/Resources 1870 0 R
+/Contents 1875 0 R
+/Resources 1873 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1862 0 R
-/Annots [ 1874 0 R ]
+/Parent 1858 0 R
+/Annots [ 1878 0 R ]
>> endobj
-1874 0 obj <<
+1878 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.8324 603.0186 335.1613 615.0783]
+/Rect [315.1789 239.4581 363.5077 251.5177]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update) >>
>> endobj
-1873 0 obj <<
-/D [1871 0 R /XYZ 56.6929 794.5015 null]
+1876 0 obj <<
+/D [1874 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1870 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R /F61 1416 0 R /F42 1288 0 R /F64 1435 0 R >>
+530 0 obj <<
+/D [1874 0 R /XYZ 85.0394 661.3973 null]
+>> endobj
+1877 0 obj <<
+/D [1874 0 R /XYZ 85.0394 635.5371 null]
+>> endobj
+1873 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F62 1419 0 R /F21 994 0 R /F42 1288 0 R /F49 1308 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1877 0 obj <<
-/Length 3864
+1881 0 obj <<
+/Length 4131
/Filter /FlateDecode
>>
stream
-xÚ¥koã6ò{~E>:ÀZåCÔw8`Ûf{)Úí6I Ú~P,&Ñ­,y-i³é¯¿Ζd9iqSÃÑp8œ7%ÏüÉóÌDBçñyšÇ‘Òœo¶gâüæ¾;“Œ³öHë1Ö×·g_½ÓÙyå‰JÎoïG´²Hd™<¿-[}óï·n/¯/ÖʈU]¬M"V__½ÿ– 9ý|óÓûwWßýrýö"W·W?½'ðõå»ËëË÷ß\^¬ef$¼¯˜Â‰Þ]ýpI£ï®ßþøãÛë‹?n¿?»¼ {ïW
-ùtöÛ⼄m&"gæü D$ó\oÏb£#kí!õÙÍÙÏàhÖ½º$?£³Èd*] R#Jã89OM%Zi'À¾½Xk-V»¢ëhÔ?î/d¶j‡‡GÜÑóGÛÐóïB(²OE]‡·ŠžÑëvó‘†÷ûâak›Þ–~‘ÍGÛóES~ÕîÞùåÛ ÈŽ<v¼–2ÊQŽý‚¡Cy ‡¢·{À[ ŒT4¸{îm!)ŽI ç‘ÎX.M±® m,D­£T§9 #ÖSU×@75«{Å]›Pi⤊С«š
-ÆX§cAÀ" W±Gk»ÞR"4‰ ‰ŽÉò‹L¬.&Q!É¢D€NظÙÙM…\872£øÀ«yÌü¹1ªþþÙ6ÌÎ?ÑÙ£ø¦MAŽ¢&{¡ÉýÃ9 ®G»
-ø¯ìê˜.)Ûƒ8J"H‚æü€¿EíM_–mÀz…‹cj›X{/žâ
-J¥Ü¬}ñ´ (™F¹Vã`€oý®"Í=k àÀО†¤÷n>%Ͻ°´–Q¦rùÊ)¥‘NïZ9
-,Ò?ïª D­gz´_À$©´ÂÉ–~ïùÁ6v_ðt
-¡ƒÑOåf&qÜåfkvÒPRjef²i·;ˆ3í‡/À(²‚¶~ÉãJ9lw>gÇ ei”ÄâÕ\ÂP®“pP”¤y¤t¢§Qå}Û£?×ÊGc==º¬
-¨abÞóñK
- Te"¤V§
-MÕ¤T^kUünçŒ`äMzB¹‰’L©Ý—‚¢.3Ù|ÿ‰öI#’ßZȯyu‚p˜@è
-ȼ0ODùTí~©î†ä 1>â9Ù,ÒITÓ¾ðtµß¬j9Ö=#‚î(ab•5/–0c¬Ó%LÀr†PW ÑníOþÓ`÷Ïœ`ƒaq~Î%ŠQ™ÈËl¬>§i–Š2©ó)£}» HÐqà[«‚Z«ÔW¡•p,d¶0¹¶˜ÈÓ|Ñ”4‹Ý3×:ÇfØÞqµåpÌ[®|}#s3ì¹;©±á¹…¤·hl;°Ó`¹Ñ4Ù1 Šæ™ðjCC’¨jz9ñpx‰†öÜ?´/Ò8óÎíúÀ7Ÿ '…ÿ›šû23¢”TIˆ¢ÿ:E3õˆIï¨sïãó×ànã®Ò§‹(Ö±šy† Ê`BŒ’ñ—ùª¤ŽÐnÇM†lÖb]º$°£Dèìõ8`’Ðñ} X©ç²ëÇ-qôõõ=ú¡±¾_M}ìÐßÈX§`vóˆ½FßÜTJJiæAÒ÷Bî¬ï˜<<Ø2tJ©ÐKá~ËäbE
-6¥ˆCr”fs@“Ià†Ý#ç„0&ªàˆ4Ô.zt­‰¦â4F¨®tñ! ÖLÈy9ø%U—tM?^ÑaØsdR TaŠWî‹–Ùu‡øëÚú³=Ñ”s²’n!'Lµºº';_éÍ|Ô„“£-ÁÂTÿÈQ‹Ë‰l)EÛ̲iy¶¬uq>kã
-`›ÃÖúÕ
->ìŠ7R1O¥-j6 és,×o#-©1„Í.ˆš5Kl×6ÞU%¡JYc
-‚ÎÓZ˜!—Pk‚Kc¹ºváwú¦ö=¹y "öi¨‚ÿ€Ùºm?†w‡hp2¹ qLq%pœ…æw~ñ·ö<šñС‡mĘ¼±=AåîqÔó•í7ÿ`â÷Lܹ7÷Óe
-qPòRîâ‚×£|¢[ÎXféÅ´Nœ€‚¯<\-ö¨ u“'y ½Žâ`Ì›Ëë p￾ÃÆÚÛ«"¾q[Ì7=ùô¤©ãU–ÈWL}ŒuÚÔÖ±©{o?7vÈö3Hä_f#`-ð11öJ|ð >nBBÃ…ŽUŒ:9è€æ/€4~-„=²lBU0ps—zk8Õqw) fª“‘™R,óÙº»Í×sMAÐÄt ä$W÷4± —G«èÚot®eL,É^ù¨Üß(Ƨ—rÊ)•ÒQnÊ1§¬”HÏ+%êäzÉHFÚª…^ýŠ.V
-P †ü®T (øC
+xÚ¥;Ûr䶱ïú
+½…ªòÀ¸’ÄãÆ«u6‰×Ž$§êTN¨JâÙr<$¥•¿>Ýè‡äp$§N©TÄ¥n4}F]JøS—.©×þ2óV8©Üåzw!/¡ïÇ Å0«´CýùîâûO&¿ô§:½¼{Í• ™çêònó¯$Z\Á 2ùáç/Ÿ>ÿøë͇«Ì&wŸþrµÒN&Ÿ>ÿýšJ?Þ|øé§7W+•;•üð—¿Ü]ßPWÊsüùó—ÔâésfÒ›ëO×7×_~¸¾ú÷Ý_/®ï†µŒ×«¤Á…üvñ¯ËË ,û¯RŸ»Ë¨H¡¼×—» ëŒp֘ز½¸½øÇ0á¨7 ]âŸu¹pÚ¦—+cEø—¹¬D¦
+o‡ýÉý°?^Î÷‡ú‹'Tx÷¡äÆT5¬».¶ÛWj¿eæφ–©Èü°G5pk³°GƈÔ"C ˆéP¬¿²î‰éX÷"«î¦«€bPŒž” TQÅ3H»®­i¦ÝTÐF
+ñ;L K¥À¢ò(ëû+#Ó¤êðK€õ¶ J‹Åº«žKênü©`¸û v­›Ý~ ³#`³Œ´‚œì
+É"§ûImEÛ6몠íS†)ÁÒ-XB<¡@{…°÷ÊLu v<Üî⌙VF¾Æ‘yÒ×ñÌ8/§ëŒ‚àÇ\ôÉj½-‰?sIȨ( @}µù¾Ø>6XÛŽÆž°¬`ª†¡(i¶È뤡„3‹à̤|ÆáËî'
+ª™œR=X r¾h§%ˆhŽ~|xðüÎü™ï¨Zpé(¥BÚ¥¹s´Š«Á‰a5§¬TR¡í¶ÿÝ©:ãظ,êŒ=ø5# ónMBtàG®åøÊO«®ÚE¶ìŠo‹Íº;¼žÂÆÆ9ù ’àˆ[Þ¢
+<‘vÑÙbQ3àÿ¢fÀi¦7/ÔNJÛ6#r¸¯¡o`F€¡:î0 mõ†[‹o±õDæf ƒ P{<†sþ”9>ÚBÔ@þç*ªBk‡¦ç
+b:ÐÙ¡™|muò¸mîƒtqˆgd‚ ÁÊqï¡BQm¨Hr…¸±[oAÛõ÷Ô„DµŒž»á˜l‹Ýþ¼k{G¢íä)·‚Š ½[aó[,.ÁMuò8#úf:#%%?'È” ‰â@.¸tõ´ÔYì÷ OíF}6WтΕó‚ñ
+bsQ
+g|S·«~³‡0é÷Ó…–•)ÿ6újÿÄÝÓNäÎè)·%Šº–ì¿b¡Ø€¦í*Š7¡~ýñË-•~ýø îû<•A=IL;ü΃C|¯]'nè;ÕècŒÇáÁ»„ ÷x”±ëXB|·áôµà©A 2‘Ý¢díeFÖÍÊ‘†ƒ§4eÐkAH¨¥bõ¦ïÚjS§ ù€.
+Eü*©›zu\4ÐrB1. y,†¤
+'©ÛpØÅÓT¥V3ã6ÙH¶¥çj›þñ‰î©þ5DüF†à”¸òöpâ=ß6˜ãÀâáxÜÁ¾…ø. a!Ä
+(§ïƒg0ˆ?Ó/lâQ Aí<ò^uG¿¦à¬.I(Â1g¢Æ‘5{#`ÏÌ'à”tæÀ3Ýnï)¹“¥´%ÐÚsBšˆh‹ÚªjÂ, ~i¡£ :ø|U„mµtÓG8Hg¬«®
+n0Õƒ¸àùÈ
+Ò#Ž³`»xYæÖMÈU‚ÓZrТUÖSÈê 5’ßà“²^7=ìyIÕ¶"<#”oÜN?—(¤×dÉíŽbd
+'a6 Ö*ì)8ãšTÏîõÆ6 ÝŸ± ÓÒžÚ0âû'{„ű Ñ#GÊ 6l2ÆF·ÎLÓ­
+êú9V¨ÁÏ¢L~9¡tšÍ.vX4™ôj¢r&3ä†À4ÞÑn9Ã1±G¸îM…Az±=ªwšôP„£T¬Ï„¨¨8“Ùó,‘ùwâšÐy{èøa’ÉÛ–+8½;ò†¦×¯Nè,³oR0
+~cþ>B¶±âd[ž&L!¬‚õgã…Pßáñ’
+7ãÔi{I'³’Œ­»Š”bž¤| brˆ1oru
+œÃbLy!,zmØ6¢…iÛEë–b;c»%N —ûáR£xYºÂÉ„7ztƒ“‚†þT‘ÌÚHˆ6_¡Ú(ñ¡?#m½€Ú(‘k¯ÞÙ¥L˜lÈ´ý@Ò½î«5嶱z¼Ç }ï˜ß0PwF—f6Nð‚?æ|fÇþ¿˜1Þ
+£ç÷†x= 9s™“J‘JmO Ùr.*^AmúÝ>žÅ ö<©•ö=ÿLz­“7`^„6©™Z’/M¸23ñRKüàÃЕ©nS´¶VS M5‰~jž,ê<F±$
+ð²w^7XÀᣡjK±68ép#x³8´¨Úb°â½Y¤r*{N²wîÕhq؈·Þx3Ê@Ç»¥už
+ S&* hÐ>O'4p&Ëp’Ô;ºY6ÇwÈX |ƒúh 8¶qÜósFšrÞnä«™p ¦•“Þ.`êWÆR³qÍ`K½Ÿ'ä« Ï|°¬Á6z.ÿ«5?  —ÞŽIzæ1á­E¼¡¶V%7eÛlŸ§#MPb4¹>Þ¡ÿÖWÇg \æë0¶ßSãÉŸyhWºfñ1°Þ4ÿ¿á¡
endobj
-1876 0 obj <<
+1880 0 obj <<
/Type /Page
-/Contents 1877 0 R
-/Resources 1875 0 R
+/Contents 1881 0 R
+/Resources 1879 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1862 0 R
-/Annots [ 1879 0 R ]
+/Parent 1858 0 R
+/Annots [ 1883 0 R ]
>> endobj
-1879 0 obj <<
+1883 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2799 570.7008 410.176 582.7605]
+/Rect [324.9335 217.9923 381.8296 230.052]
/Subtype /Link
/A << /S /GoTo /D (zonefile_format) >>
>> endobj
-1878 0 obj <<
-/D [1876 0 R /XYZ 85.0394 794.5015 null]
+1882 0 obj <<
+/D [1880 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1875 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F11 1509 0 R >>
+1879 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1883 0 obj <<
-/Length 3281
+1887 0 obj <<
+/Length 3499
/Filter /FlateDecode
>>
stream
-xÚ­ZKsã6¾ûWè¶rÕˆ‹'Ù“3öd•Êxfmm*µI´D[¬P¤"’ö8¿~»Ñ
-gy“~›íêt–}ÛVeV6³:ÿ+Û·£œ©‰/à@ŽjDáéÁC¨„ÇCEë V Q£|Ón¨sw…hêô£aTòÃåL²xš—4ô7µjÖ©¥{ɋ¾¶ÜÓå2Û6Ùʾ_g%ñN‹|•634}2‹y' ôŒó Ñš2/ŸÀ™BžL¾LÄ?
-9<ä°Œ‡“$¢@D\Z"£HAq‡+'’@ÈÈ’.~¹a¨@K쨖EZ£kêHàÔÖ
-g²Œ=GëÒ]C-3UøšºÞŒAï9Ï^è5ºreÇà5”*ˆ4€@½Û=M¨q7–X|úC¨9àŠÞgKë‚/ú
-@o—¯VYùÝØ”C’’QÌ­ŽeÕä¯ãxF:éLÁwÓ"æ»]¶lw5Îðˆ³i(‚À‘íTv@å³åI u$Ó]f/³cèAS'Ýò¸iÁ„‘/ékí2KC Jb€¡‰ÏÖM†q7)c~hÉù¡ñ3!¡ˆb /< `©(™?¢(>}­Zj”™)HºYåuúPdÔi0±i¬ü@í¶îßÓ×»âèCScûÕŽžkÈqƒï€ô¸Y`=œqÀ× Vݲœ@
-."GEAn˜¿Z“2Œ¯êƒ1| yiƒ©MæP™ù2·‹â¸1ø<œA8òø °Æyâ¼È–vÀ2ùrÕÎ?
-',‡"§Ò‹-‘µfB}ºŽö©Ž×Ñ•™Å¬ _n¥ψµ4#RýyHt $DÓ@*ÍQ܉7ÆvE¶×U[¬¨M¡µ­0u›¯ó”öA hšf}žeºÉFj8­!òœS‘>Á‘&ÂÝ Ó.WåÍÚJyÝŽ•1
-ƒ:q»øe1ÕДÚG9À5õ©ÚËGS˜ÂâKœqG h*:§Å$–[¨B£ÏžÐ1) 6·Bƒ¦Ýä8èuK†®æ„¶ÉµI—D e×6ª 0’áô~›-ím„î£
-u]C!á|sPÊ1(oÃðŒäŽjDôÀËpnU´'›Â0 {%L¯qÃ]bÛÅa ãÞQBÃ>\BÓL´ÏóXBU ¢Ð¥{§Ð±@ŒYÐŬ C2†°áxŠµÔ›â¾ÕGCOÂä &ßzÀrAA‡.öj7•>ié/ Ó¾®{­!,×yéѸ¯Co?ª§im â@Åj83U‹;q¡"Ê­Êá( <eS ËU*,‘â±-Íþ döx
-u›Ý‹Ä54ç,Ê^åa+/—Ekþ"åŽ]Ôži‘îM£÷d4æ_ŸCj—%bÏ\z‡Ø»4ʇ\óTf+ 54-f>§¼üƒϱ]‚?¡öŠdË ZEUmÒåöØn ”«£Ÿ¶åeõR|têx·ª„îOÚ›a‰:&öÞºBÈmÌÖ»9øB™
-Tø †=Ä˪°‡9«WȾå5î=±m–BÐí«!†|ól?ĉ'×uà"(yyBa-_(,V3„¿1'òhºÍÉ*ƒê.El%ìO©h"ái©5¢qÇìîH·O Öds‹ë–ÆÁB¹•Îþ­޲ݑˆÒ~Räu3ÜIíɲŽ×ß»!äX: žþÁ‰Oeö4½ê‹¡ =^t©™rOhdΨÅi¡ŽèPèð¬R~’è¡P΂ùíìêúú.¸ºûŠ—
+xÚ­ZQsã6~ϯÈÛ)3kHŠ"y}Jw“ž;Ýl›ø:½kû ÈJ¬YYr-9Ùô×@2eËÉvî&31 ‚$H@Pì<?v®eœ“ž+“Æ2aò¼XŸ%çÐöÝs<3Ï4 ¹¾]œýýZès›Œg狇`,'Z³óÅò×èý?/\\Ý^̸L¢,¾˜É,‰¾ß| Š¡Ÿ÷Ÿn®çßýëöòB¥Ñbþé†È·W×W·W7ï¯.fLKý¹áD‡ëùWTúîöòãÇËÛ‹ßߟ]-†µ„ëe‰À…üqöëïÉù–ýýY £åù3T’˜ÃÏ×g©±L…ð”úìîì§aÀ ÕvÚ?)t,5WÈy°,rš+iâLpa70_.·LGe×½ƒ¥¥:z^UÅŠŠUC¿ýnëJÄûÇ®rBj×ÖOUóH¤¼iûU¹ÅŠŠš|]ÚÑMTöÅ7nð7øª¤B³[ßSµ^‚¥›ªè«¶qó•_Š²\v¸û°3Æb#%·ëéWUGGô”×;;+”i(¸±vÛ®zr¤?våö…Š¾k_n×U“÷å’êy³ »ãv8Î;Ð=)£Ÿ¯QQ.ç?ÄD^øù–åC¾«ûñð*>Ò›$N$¨´bYÌt&¦íÄ1ÍB.:f6e'ž ·e™miÝm3Ã%Wew(pÇZfêu1® 9FêfX¬Á‚GrÜ•=n‚ÈÜ‘‰¢UëÝš¨ƒ@Ùê
+c,B˜H’hþ@ ë–¸÷lV@¬äû–”Db(¥à†v
+`>)(¼é¨¼w2PSr¨§‰É¨„ÒºÁì‘6ØVþ,I㨆ƒ±`µò“ÕcØ/ËÖšeȘÚ0¤´û‡th„Ô1(^<¡ÖèÅ&ÉÀ˜A¿SeèÀ0DÇxVÄðÀßŸÙã°&¶}*mU ˜ÙÚÂ{hcÇÆ
+·SÕÿjŽF¥À·pJÀé¢Éå±C—ŒÄ™pèŽë )ŽG#ghÍ™;%ã mýÄ)¦<NûŠcÔÜ«…»9âè8œ•õ™HÝGbX#eåA¸…Twh_!!g*–YjÜìó› ùÀ…}÷žÎü ”†~¬Ûû¼&*8\ÄvLƒS9Ž#w[oË\DíÆÝIçVÅ&„÷”áe‰
+B€‡õð"zÒ¥€ñ7tR
+¡à~¼f.ŽyÊ
+!0HUæ=¾è”Â~ÑŒ'™6B
+ÚÐÍÝüƒ³# ì‰ÞQ’¯Ýú‘)è‡E!B”Ý!.3tëeÆ5N .B¨d^ç⻫۟¯n§¯•™ÉÆ1|*æ1܈Ô_‰yìp'Ã…Jþu(›íQ‡\Ð${Bê
endobj
-1882 0 obj <<
+1886 0 obj <<
/Type /Page
-/Contents 1883 0 R
-/Resources 1881 0 R
+/Contents 1887 0 R
+/Resources 1885 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1862 0 R
-/Annots [ 1886 0 R ]
+/Parent 1858 0 R
+/Annots [ 1890 0 R ]
>> endobj
-1886 0 obj <<
+1890 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [55.6967 630.9447 117.601 643.0044]
+/Rect [84.0431 468.4468 145.9475 480.5064]
/Subtype /Link
/A << /S /GoTo /D (view_statement_grammar) >>
>> endobj
-1884 0 obj <<
-/D [1882 0 R /XYZ 56.6929 794.5015 null]
+1888 0 obj <<
+/D [1886 0 R /XYZ 85.0394 794.5015 null]
>> endobj
534 0 obj <<
-/D [1882 0 R /XYZ 56.6929 701.8294 null]
+/D [1886 0 R /XYZ 85.0394 542.8349 null]
>> endobj
-1885 0 obj <<
-/D [1882 0 R /XYZ 56.6929 676.5981 null]
+1889 0 obj <<
+/D [1886 0 R /XYZ 85.0394 515.5191 null]
>> endobj
538 0 obj <<
-/D [1882 0 R /XYZ 56.6929 343.2503 null]
->> endobj
-1887 0 obj <<
-/D [1882 0 R /XYZ 56.6929 315.5681 null]
->> endobj
-1881 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F49 1308 0 R /F14 1020 0 R >>
-/ProcSet [ /PDF /Text ]
+/D [1886 0 R /XYZ 85.0394 171.7491 null]
>> endobj
1891 0 obj <<
-/Length 1375
-/Filter /FlateDecode
->>
-stream
-xÚ¥šKsGF÷üŠY‚N¿K,!—L¼±½Š”TªüŠcWòóÓõðÑôÜë.—Ke@‡9:S]3wÔ ó?5D'¤IvÉ
-'•~ÿ0“ßùw·3õÈ, ´DêÉ~öˉCÉk?ìÿ€mE!cTÃþþÍüêéên¿Þ-–Úɹ‹¥órþd³½>¾’Žÿ]½ÜÞlnÛ­ÁÎ÷›—ÛãË»õÍz·Þ^­KÊï×[˜xÃÍæùúøèv·zñbµ[¼Û?›­÷c ö*i!ÏÞ¼“Ã}Î~6“¤è†ó)TJzø0³Îg)¯¼Ÿ½šý:n~ûý­­ý72KcEôyô^vIx£Í¸—•…½œòÃhrA¡{ù­T¡NUÒæ7Ù0àö.¬#u©Õ´JæÇÖŸkµ*h±Ù.W××;±ÚÝ-’ž¯&wºUÂx™˜| ˆüBñù”òkm;µÚôåg^Æä™| ˆüBñù”òkm;µÚöågWT‘[ü@ù…âó)+ä×Úv>jµëÊ÷Ñ烀g?RÓù#Åæ“ÖSþ…¶™¦Õ¾/ßG¡ƒcN0Hù…âó)+ä×Úv>juèËwRHi™Å‘_(>Ÿ²B~­mç£VǾ|£D0:2ù@ù…âó)+ä×Úv>juêËWFXÏMWHù…âó)+ä×Úv>jìÊw)*“Tt>RÓù#Åæ“ÖSþ…¶™¦Í+¡+?x‘Td?RD~¡ø|Ê
-ùµ¶Z•ƒ*uô»(²Ë2ý@ý…âû)+ô×Úv?jýáÒAþx¾Í—Ás«("¿P|>e…üZÛÎG­w}ù‡‹™]t>PD~¡ø|Ê
-ùµ¶Zïûò¥ÑnñEäŠÏ§¬_kÛù¨õ¡+ßæÎ3c@ÓñbÛ)å)½v6ËÑy8èõ„祓d–=RDz¡øvÊ
-ñµ¶]ZŸúòmR%ÃäEäŠÏ§¬_kÛù¨ ²/?OHÁ2g|€ˆøGˆo'”^9Ûåà ª/\iaƒgîq E¤Šo§¬_kÛõ¨ º+?ÿ-³ì‘šÎ)6Ÿ´žò/´Íü3m0}ùÁ‰d s)"¿P|>e…üZÛÎGmè›ôŒ ¶GçEäŠÏ§¬_kÛù¨ }“^ÞkÂ$Åœì‘"ò ÅçSVȯµí|Ô†¾IÏè|¨T‰[ü@ù…âó)+ä×Úv>jCߤg¤ÑFæRD~¡ø|Ê
-ùµ¶ÚÐ7ïéh… YüHMç›OZOùÚfþ™6ôÍ{:_阉)"¿P|>e…üZÛÎGmì›÷´ùe?RD~¡ø|Ê
-ùµ¶ÚØ7õiDð†¹Å‘_(>Ÿ²B~­mç£6öM}Z)a“â?PD~¡ø|Ê
-ùµ¶ÚØ7õåk$¡µdnq 5?Rl>i=å_h›ùgÚØ7õ©<%¦¼ï˜| ˆüBñù”òkm;µ±oêSÎ s£)"¿P|>e…üZÛÎGmì›ú”‰ÂJÏ-~ ˆüBñù”òkm;µ±oêS:Ÿ( sÞˆˆ„øvB 镳]ÎØ7ï)©Dô†[ö@é…âÛ)+Ä×Úv=jcß¼—O.iæ>@ÓñbÛ)å)½v6ËÑ™ú&=ïD¾Jâ>Æ/ õ!þwæ>Ÿôáøg‰ïGaR·5ÄáËk?!ÿ(‘œÓ?ÿ=:¸9„‰SßÄ1Ò‹¨S(Ôq\Y,õ¿V(ò4·¼ÓÇgo¥“ëÿ¾>|¼¸?¾òêÛçÏŸ¾|=>y½PJ;üóקUõ~pùøè¢ñ?Q vendstream
-endobj
-1890 0 obj <<
-/Type /Page
-/Contents 1891 0 R
-/Resources 1889 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1862 0 R
->> endobj
-1892 0 obj <<
-/D [1890 0 R /XYZ 85.0394 794.5015 null]
+/D [1886 0 R /XYZ 85.0394 141.9824 null]
>> endobj
-1889 0 obj <<
-/Font << /F38 1082 0 R /F14 1020 0 R /F22 997 0 R >>
+1885 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F49 1308 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1895 0 obj <<
-/Length 1395
+/Length 1574
/Filter /FlateDecode
>>
stream
-xÚ¥šMsÛ6@ïú<J¡X|ã¨Ø²£L£¸ŠÚK’Síf2“¯¦é´?¿ e+Ü ¦ãÉØ’žùüH\‘‚A¦/¬.ª8øh„•`‡ß?-äð>=v»€'f¡5¦ž?Ýè0DrÃñ´­ d0ïß,Pb•¶ —W¯ö7»Û_›•7ËãîÕ~µVV.ov?oO?Ý6/_n«5 Ë«ç›»ãöpzÈ=mãÙn}º'ž¾Ílô°½Ù¶û«íêÝñÅb{œZp/H=†ü¹xóN÷)ûÅB
-ƒþI7¤€Õðia¬Öhïù¸x½øeÚ zôñW[ûobÖÚˆüÌ^¶Q8­ô´—Á ½ì!=èRA¦Æ½üV‚¯S}Ú5àÍ]H3t)U
-I£=—F•v¡»ýzs}}›ÃÝ*ªåfv—ÚÉÈÄ#ŠˆÏOIK|-mÇciÔ}ñJ§çDtL<¢ˆøL±ñ”´Ä×Òv<–>>y:âeZö£‹ŽGŸ)6ž’–øZÚŽÇÒh»â]péÉï˜e©ùø‰ââIé!mÆŸI£ë‹wA(o™Ã
-¦ˆøL±ñ”´Ä×Òv<–Fßo¥Ò0ËSD|¦ØxJZâki;KÓA½+^ƒðZ&QD|¦ØxJZâki;Kcì‹-Œã¦)Lñ™bã)i‰¯¥íx,Ë{êíø
-%Ðõ˜š¯Ÿ(®ž”NõÒfý™$ôÕ'Y„À,|Lõ™bë)i©¯¥íz,Ù7äY„3Þ0õˆ"ê3ÅÖSÒR_KÛõXšÞ!ôÕ›ô.À;nå#Š¨Ï[OIK}-m×c)Ⱦ1Ϫq­ÏÔ#Š¨Ï[OIK}-m×c)Ⱦ9Ϧµ´æV>¢ˆúL±õ”´Ô×Òv=–‚ìôL°Â:fÔAÐ|{†¸tÊ8•×Æf86‚ì›ñŒóBEɬyLå™bÓ)ii¯¥íx,Ù7ä…„¨™zDõ™bë)i©¯¥íz,Ù7å-…7ÌADûĦÆR^ÛáÈÐ7ßPÂxÇœËÀQž)6’–öZÚŽÇR€¾ùNG#”´ÌšÇÔ|ýDqõ¤tª¿6ëϤ
-Ð7ßië…7H×#Š¨Ï[OIK}-m×c)@ß|—öšÐ˜ƒ<¦ˆúL±õ”´Ô×Òv=–ôÍwZ¥× ˆÜÊGQŸ)¶ž’–úZÚ®ÇR€¾ùN§÷Á挦ˆúL±õ”´Ô×Òv=–ôMy*a½gV>¦æë'Š«'¥Sý…´Y&è›ò”sBKË :˜"ê3ÅÖSÒR_KÛõXšž}õ&© ³ò1EÔgŠ­§¤¥¾–¶ë±T߬§TÞi挦ˆúL±õ”´Ô×Òv=–‚ê›õTš Mnå#Š¨Ï[OIK}-m×c)¨¾Y/½/JI挦æë'Š«'¥Sý…´Y&Õ7ë7"¦}ÇÔ#Š¨Ï[OIK}-m×c)¨¾YƼgÎk`Š¨Ï[OIK}-m×c)¨¾YtF:nå#Š¨Ï[OIK}-m×c)¨¾Yïñ¡™‚ˆö'ˆM'Œ¥¼2¶Ã‘Tß”7^é NskQDy¦ØtJZÚki;K¼;èôëŠ9¡ ùê qÑ”qj®Ídlÿ¿üÚ¼H+ó™¡®Ë?2üUùYº&¦›¹"?é”M¯è.vœ»ãGÐBú"Z«þÿ§áÐé?/t˜û\Mõ79è“}"Mlë;uºõVZ¹ý÷ûÃçû‡ûÓ=¯ÿþúõ˷刺­
-¥jì‡ÿ
+xÚ¥šKs9F÷ü
+–°@Óz´³# Î85q2„™M’18¡
+C“‡óëGЭÖEˆ{­šr¹PÃ×::r«‘ÚâýÊÿð~­™vÂõS¬®xÝ¿½ïUýÏþ³—=ÞfF!4‚©g³ÞoWÒösZèþìÔeYe-ïÏïš 6ô5Tƒçon®®_þ=Ì®ßÜ G¢®W×NšÒËéøõëñt8â¶æƒçŒßÎ&Óæ#ÝÖñìúæEóŽk^.T:\M¦“›ç“áÇÙ«ÞdÖ¹@_^Ƀȿ½÷«þÂk¿êUL:[÷øƒŠqçDÿ¾§jÉj%exgÝ{×û««|z<5Û¼bBj‘é@!rX;¦¥Ç¼™ß/ÞJÈÁÕzÝ”æûýòþë¾9Øo›×År¿Üݯ6ËæpuwxUƒysøéÛj½­6ÍѯmˆÍ×»!·ƒå|ñؼ±ü¹zØ?4åí®­«=žßîWßÛ?Tuu»ý¾lNo›øéñz·Ýý˜‹Ñv³~<ü9|ŸŒ8g®®ÅQdV›ÏÍßo±¼]Ïwóýj»ñÞ¼9ß,šBÛ¾´Ùî›Âm+±_†lózè¥Ç¦Ø*ûÒªýpÿeNŸ?,Y×8ã§Í±q³/í9·ßv bÓž²ö½Ô”¶wYÖC {øýâEè»Áh©‰ARÇk†+pÍî/ ê:´úCÅM
+5¾>n ¡sèÉ…j9««O¡þ"¿¾_¼˜²ñôíЉÁø’¸v’ÙÊ·‡©Ëâ]ŠG¡ø4+~åšq#ž.ojfýM€)D>¤Hy åSh^Bý`)’¯ ³N*B¤ù"å1h”O¡yyå¶L^úú¤¿³àò …ȇ)A£|
+ÍËC(weòÂßó£Æ<H!ò!EÊcÐ(ŸBóò*ª2ùJ±JHAȃ"R¤<ò)4/¡¾#Jäk«Y¥51æaê²|—¢äQh'ÍÊŸ@…(“×þQ9bÌÃ"R¤<ò)4/¡B–É×~˜Ô’p!D½ ‘æ1Š'ļ7
+U¦-ý5âë#¼A
+)ÒƒFõšw‡PQ—Éså;ŽXIÂ"R¤<ò)4/¡¢ln§œ_ïZAŒv˜º,ߥ(yÚÉŸA³ò'PQ6·SÆ2)ˆÕ !êmˆ4GˆQ<!æ½Q”Íê”öK¿ ¼A
+)ÒƒFõšw‡PQ6«SJ0Å1Úa
+‘)RƒFùš—‡PY6«Sþ{AÕµ%äA
+‘)RƒFùš—‡PY6«S•fŠšÎƒ¢Þ†Hs„ÅbÞùa~ãžî-­eµÄp‡©Ëæ]ŠRG¡û4+ՇǠOp#MÅj[÷x˜BäCŠ”Ç Q>…æå!T×eòµ`ZXb¸Ã"R¤<ò)4/¡Z—ÉKÅ´ÄS+˜BäCŠ”Ç Q>…æå!T›2y®™!20…ȇ)A£|
+ÍËCèqA÷tyá,3~ ŒËÃÔeù.EÉ£ÐNþ š•?jW&o+f+N|ÍÁ"R¤<ò)4/¡þæW$¯³ª&Æ<L!ò!EÊcÐ(ŸBóòê[R$¯³ÖO­`
+‘)RƒFùš—‡P?±+’÷ë^ço„<H!ò!EÊcÐ(ŸBóòjd™|e™3Šó …ȇ)A£|
+ÍËC¨)›áqÇYÅ-1æaê²|—¢äQh'ÍÊŸ@MÙ û+¥Òœó0…ȇ)A£|
+ÍËC¨)›áñúÐYŠxvSˆ|H‘ò4ʧм<„š²—>¯ 1æa
+‘)RƒFùš—‡PS6Ãã‡å9N<¯†)D>¤Hy åSh^BMÙ Wœ ©¨1Rˆ|H‘ò4ʧм<„Ú²ž•LC yº¬B”9FìÄSbÖmÙÜÎ/ü%µ”lÂ1Cï?¸ˆ»Npöt8+
+]°ÃµL üo»ëo…ƒù™´Và»ÜÚ6lÀ¶>æ˜mŠ‡ýe“Ÿûåf±l÷}½ûöõëv×îºúgÈ9,wÝ1å*9°ê¬Âî»óNø
+9¼endstream
endobj
1894 0 obj <<
/Type /Page
@@ -8442,25 +8439,24 @@ endobj
/D [1894 0 R /XYZ 56.6929 794.5015 null]
>> endobj
1893 0 obj <<
-/Font << /F38 1082 0 R /F14 1020 0 R /F22 997 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1900 0 obj <<
-/Length 2625
+/Length 1385
/Filter /FlateDecode
>>
stream
-xÚ½ZKsÛ8¾ûW¨æ2TUˆàAàîɉ嬧vœŒíÝ=LæÀHTÌ*‰TDÊϯß A‰"MÕ–+Qh »?4úA‰Í(ü±™’„Š4š%iD$er¶Ü^ÐÙW˜ûpÁ,Oè˜BŸëÝÃÅÛk¡f)IcÏÖÞ^ŠP¥Øìaõ{ðþ—ŸwóKÄdʘïnn¯p$Å÷o¯o>üëîržDÁÃÍÇ[¾[\/î·ïó)É`=·;œYp}óÏRî.ýõònþÇÃ/‹‡Öß^F…6äÛÅïÐÙ
-Ìþå‚‘*9{†JXšòÙö"’‚ÈH7²¹¸¿ø­ÝЛ5K‡ðkyBÃã(˔Ă‹ey(§@*8.ògÊ’cS`Q”ÌüýN¤¶\§b9÷Ä2
-t÷År¢1áäæ6¼¼ºº#—wŸæ).Ï¢1ËTMØïqØ︦í“êÙ,vØ~_,£”H¨×CÀ‰U"& ð¸F p\ÓŒIõ 8; /–1NÀ©x=T’„ESNàq ฦ“ê!p,v_,—’øÿ^‹@H’ˆOx‚Ïu‡–k‡Q©'bq艥äÇþn>ÅÓ˜Å)Iâ©
-&&R¢GX„ Šò1ßÙIÄÁÚ¬©¶8Y횢*kœ*Ö8V¶PÀp‡ Ì•®:õ`Ô©N=­wù²øL)w² Œ(
-œ¯¼Ñg—tbêÇê°±<Ùy²Õ Š}Ìž¬0œ€=k;àüÇÉêé7à螶zê ‰CƒKÅ\7%ŽìöÙ²)–9>5…]÷4ÏööAßTýYê×ÄÃoýV,³ÚRÏEóˆÔ6+_úv
-ˆ2Ûæv¬(ñ¶®ÝšÝœÙ2¯õýJDp_á8jì/Z:nyf©:[îÍ-^Ùf@‰çÜׯÌó•q ½G5t`_ìUYå»Mõân¥‰Žú">feiª­4¢/ö^U™]’=gvÌ‹iþªs0”µ€œK‘"…öªøU/Â'i*£áa`½DB;x~/\Ga/Kºý­ºÜ, F"Šü$Ùb É™B®ØL@$
-ëÃ[/bÈ8b˜N‰47á®0ˆ¾pc‚Å12°gÄ@5!$‰£ÈT¦³o3è6¢4ÈäÑÆÖ3ðöfËgWX4óŒr‡þÎƨ˜ù™Ÿ'„jLàþ
-ö9:gì²}^68
-ǬÃRð4ç¤ÐcU°žÃ^´»'*øknrwnÙÚ\&Ϲë8™m6H¸ÔLn=NÊU¾GòLèj5UÒ_«0.€°|ê[¡õEŽ£àº5D¹¤
-„…BS˜²N¶
-xÔO¦‘)QÝú‰ºl+ÁÂVŸ^Íû¦MGåQbÒûÿl }š²—(—"¡~Y¦({Þ<úýò„OtL#.a™:XVe£K—H ç²[¦Sá=‡€0Îé‘ôÖtôAСƩc†-`0lSQëšv¡ÊÆÃèÈ!ô”qˆnªs=‰E•êz. CDЊ9‡
+xÚ¥šKo7F÷ú³”byùr©Ø²ë qEí&ɪv‹Í£iŠöç—ŠÌÑ'Šso‰"02–æø hÍÕŒhÐù Ñ+m“Æä”×䇟?,ôðkþÙí‚ž˜uÖH=Û/¾»±qH*†ý/°¯¨tŒ4ìÞ.¯¾ß¼Úow«µñzÔjíƒ^>»»¿>>’Žÿ]½¼¿¹»ýq·Yn¹¿{y|x·½Ùî¶÷WÛÕš¢§ü|󴇙'ÜÜý°=nÝî6/^lv«÷ûç‹í~jÁ^ÒöòÇâí{=<äìç ­lŠ~ø;£¥d† ç­òÎÚòÈï‹7‹×Óá§ßžÚ:~³¶NÅ÷ÁeŸT°ÆNG™å”7£Í…:åwšÆ:•´ËOrã€û»°NÔ¥ÖÐ’ÎÛ.œk£ÍQ«»ûõæúz§6»W«d–›ÙƒîHÙ ““_(9Ÿ³B~­mç£6º¾|cóßE
+B>PL~¡ä|Î
+ùµ¶Úü+wågW¤(-~ ˜üBÉùœòkm;µ1tå‡Ì{„ÅÔ|þD‰ù¬õ”¡mæŸiãØ—¢2£N0H1ù…’ó9+ä×Úv>jcìË÷Zií„Å“_(9Ÿ³B~­mç£6¦¾|Kj´&
+ù@1ù…’ó9+ä×Úv>j“îË'«\¦+¤˜üBÉùœòkm;µ‰ºò}ÊgŠ¤‰ÏGj>¢Ä|ÖzÊ¿Ð6óÏ´ÉôåA%ŠÂâGŠÉ/”œÏY!¿Ö¶óQ›ú¦>ï£Ê*'äÅäJÎç¬_kÛù¨M}SŸwùÁ¤Å“_(9Ÿ³B~­mç£6õM}ÞþX²‹ÏŠÉ/”œÏY!¿Ö¶óQ›ú¦>¯­ŠÖJ‹(&¿Pr>g…üZÛÎGmê›ú\ÞðA˜z
+õµ¶ZÒ}Ã^þRF{aå#5ß?Qb?k=õ_h›ýgZÒ}Óž½JÖ
+—9bú %÷sV诵í~ÔžÜÕïG;äûbú %÷sV诵í~Ô’î›÷òqS6‘pÊGŠé/”ÜÏY¡¿Ö¶ûQKºoà³&¿^R’Ö?PL¡ä~Î
+ýµ¶ÝZÒ}ŸÍ¯—ÑEáRRL¡ä~Î
+ýµ¶ÝZÒ}ƒŸ‰NùqÖ?Róý%ö³ÖSÿ…¶Ù¦=<ØÕ‚²Ú £RL¡ä~Î
+ýµ¶ÝZ¢¾Éϸ˜7œ°þ‘bú %÷sV诵í~ÔõÍÆ$5+\î@Šé/”ÜÏY¡¿Ö¶ûQKÔ7ÿ™|¼\"iýÅôJîç¬Ð_kÛý¨%ê›ÿò;&eŒ.x 5ß?Qb?k=õ_h›ýgZ¢¾ùÆ,ËGOèŠé/”ÜÏY¡¿Ö¶ûQKÔ7ÿ‘*Œ£pá)¦¿Pr?g…þZÛîG-QßüG6*§ƒ´þbú %÷sV诵í~ÔõÍdòùÒ
+§?€˜ú'HŽg”Ð^9Ûéà$ê›üWJb°ÒÊŠi/”ÏY¡¾Ö¶óQ›ßtõG«|2Â…€æë $ÆsÊS{íl¦£óÛ*躹¯ò{&éÖ~a¸ûߘÿp[Ö‡7õÏ„3·ô'!ê¼Î¡Ÿhküù‹TòÞüÿ×ÁÃQÙ8÷ñ›ß£G“ÆòK?œ´Z»¤-~ÖP%›ï´×Û¾>~|x|8>òæ¯ÏŸ?}ùzüæ§U{—_þüíÓÇŒR}|~…ôÑŒ£ð/y#endstream
endobj
1899 0 obj <<
/Type /Page
@@ -8472,41 +8468,21 @@ endobj
1901 0 obj <<
/D [1899 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-542 0 obj <<
-/D [1899 0 R /XYZ 85.0394 141.3493 null]
->> endobj
-1351 0 obj <<
-/D [1899 0 R /XYZ 85.0394 116.509 null]
->> endobj
1898 0 obj <<
-/Font << /F38 1082 0 R /F14 1020 0 R /F22 997 0 R /F42 1288 0 R /F61 1416 0 R /F21 994 0 R >>
-/XObject << /Im2 1405 0 R >>
+/Font << /F38 1082 0 R /F14 1020 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1904 0 obj <<
-/Length 4044
+/Length 2298
/Filter /FlateDecode
>>
stream
-xÚ­[KsãƾëWèªj9™7€ÊIÙh¥ìµ#+É!É$! Y  p)æק{ºHP²cï8ïéééÇ×=º–ð_];/|¦³ë$³ÂIå®—ë+yý }ß\)3ƒæÃQ|¼úý'“^g"óÚ_?> ÖJ…LSuý¸úçÌ -n`9ûøýçO÷ßüíáö&±³Çûï?ß̵“³O÷ßÞQ雇Ûï¾»}¸™«Ô©ÙÇ?ßþðx÷@]ž×øãýç?QKF?}¸ût÷p÷ùãÝÍ¿ÿru÷ØŸex^% 䧫þ[^¯àع’Âd©»ÞCE
-•eúz}eÎ[ª«¯þÚ/8è S'ù§¤ÐÆë j=Å@— o´ ¼]­Ê®l꼺™›$›µÅ«TYæË—²~†J*g«¦h©¹n:îÉëç‚ÊÝ ¶7*í¦©Û‚f.a=5늺£ú¿¤“Åë²Øt'SÚ¢ãMš°ÎªØØòDÓq8ð?WJdÎép’|pml<ɬ¥P+¨yQTÍ(P¡#™-vu,ó nV®7aïæ+O ôaa|4lÙÛ§f»ÎëeA“ÛŽú\—ÿ’RÊ]u¸QJÍ@ÀŒt³{Þ«liô&ßvårWå[7q¦â w|“bR;Û¿HgꢴB[F ù™‡ yË-5×wÝK³-»<®„ۯŖºá<ŽúþÛÔ¼[÷’wÔö’óÚpØ5­ŠªxΑÉܵ/»ê
-ƒF"}}®vëÐC+ú¨Ñ¸²g÷OÕ®áæE——<„åIz-×»5UFW‚ ƒû\“ Bã5ñœ|¤Žd.’ÁEE
-<ËÙ&ÀhÐÂsâ´M œ%¼u~é Æˆí" c‹¡EAY˜[œÚ¥¦áíæË © :hðw¤ñPïmVÊ:HÁ±áxãX#†ÂŸ>ÿH¢9Wy—O
-ç÷A/Œ1üZ6»–*«²ÍW_AÙóçØ=Å$e¤È¬6ï2Iƒ9—zp¸$k"”Jþ¥»úiW²Y¢ÖõnùÂ%R¡‚ìܺ€úzHßâLpYwÅ–M§'V¬øp=/æÊ¡’ÓËy|ÙµÐ2'³-´gæwæ  k¬¾w+.ºh‚[ë‚ÞC9¯WÔéÇFp(ín½a¡„†’— Ã‡5úÇ `ûÊe^}˜2²] £ÛòÂeJÿŒËòNñ¨u±lQÆ’”=
-x®EA ((‹*pj‹õ^6'*‘"µÙ˜ˆyQã"´x/¬´æM+¢„õÒ½iE”€R\E‚Ç4išóªm¨eÓ´m‰ô„Z×ð™6Ų|:p#;lp™péQ€ˆÿ»Í&8"P¼ª\—'JÞË­;¹÷ Ó OÌÚ»àÑ»vš«Ú)áŒññÒò×9s¶-ÿ;Å×Äi\Òs„΢kùÌDq†¦„œ}¦°‡h¢c5ä|¡¾.kRO;pÿÔE+õ€Ä`¢¶1^
- ƒ÷íáË!¹Hc“Ü8°øÝË|JGš]7)Ÿ"ILúžŽèL¤I‡}˜XȉDùèþ–‡eU.§ÖI…ƒsð°!@™
-­R»“…ƒ¬C¿&±rž*$;±:›õÚÌþÜì c€D•:âÚ†‚䆂=4_ƒñwQ0`ȉ4¸7†;>ÎܶÝqÍOKÕ`¹`L0hb]l‚DΧP^Oy6„á(dY:‚™Y›¯ j:¡9C<Yñ* ó% X
-Òëï–Ë¢X!Z‹Ó†^§å©í9§=ª¢myÓ§=¶·Æ±÷]·Ý”y³EI<—Y›
-e{L†q&ˆÆ#É‘)¸Q …8
-ýrgh賫VÔºàYd!HXŒ1³—‘ø`KDw°
-Ñâ¢ýÜ^]¡ä‹Šƒ´nõüÌp±…x¡:ð"MÜ+MÄE}ÀªØ|ëˆÔ SÜÅŠ ¹ ‰MlÎéçH§ŽySh]ƒš•›`[ öµ,öÁœÀ> n™o6UI|Á7ù
-½œý´+BŒéû-½š­Bá%9Ï'b ¦L=;æ˜õÇYUÈŒ‘ý+nsA
-Ë¥˜H럌WØ@W†MkÀ-É‹@o‹Ä^cJ‡Nú;Y5kzÞ¤G$ú­‹aCräÃXÁ€N¦fÀÝSÝ·2E@iB
-ÜÊÄýjåïWœ—<×~‹Áf–ªãÎo©?ŒÅé =A¶á4&€§Zho'µ8Æ<cFaÜ—úŸ%…™MÜð=p\]d±¢†€ÞÎå2#f{a§ïÂ3ðÔN¿àPÇÌ1&#löÒ¸®LÔXle‘Rö¨‘Xa c‰ÑLlHÁÁôóOk8¦;¦§±/‘Þ`¬žÎžZMši9`À†#.ÂçRÃC:û¶üRì˶ø@sÊÓ¹ÑxA‘-”ª†Q9¯xT‘ãþÑ{ð,ô¸`3àç H„·LŠÕÂoÿ/“¢ûÌÙ€`9ñ1@ðßÀrÂÙuè-^s|ugúŠ¯!kƒ» ÍLs¡@!–Íš}…gfÁØ‘ˆb®>…±M"àœzÌž_p^Ð<Ý?¤}˜Ðµy2|%Ûï÷‚‰ôƒxxÙ»1,¾¾¾ŽLâùÁŠtçÝn[Ç h|Ì9ÓÖ³mij‹q˜¤E|W$5¸ø©Š¶î‚=+–úããØ4^T
-çíØ)\—†ôþœ~Eª€Åm>°ÂJ
-Ñó‡|=>‚. ·ìAý¥½Ve»d7CèGɨ,Š xƒ>§ŠïAõjôº÷ãÝ~xñ÷O˜Ð¾½ÿ–߀Æ4ӹǣ|ßà¡rY•p®ÏÅ)äp&?â 5P‡„ÕtNϼ„_J“!(éx>øQJ^ùˆ%'d°?ïº|ù¥ýÀÁnPÓ/=¹†yy=||ÈN³~ôé‡d‘$˜<ÅñuöäTï#,hbØ,ÓÁ—!]wƒ©Ò/ñóLÂÑ]Tá[m¼oivÎëÝÿÀõa*,|JrB›¦³C³ÛR©ÙG:Šnßl¿pkÿ]ÉTÜA²‹ “ßqyl¥åÃ7 {n¢#‡oM@Äâdúg j[Ð9÷mÌŸ7¼R»Ü–N„/é{ι׃¤;ÂÔåüµÉ®îEéÂÇòL¸™|Ô“×ñRõ‡ôÇ¿2°`ÞÒT¿ý<Óṫ?
-™Hæ?hF”Òɻר%A•w›M³ådôßCò´Ø¶
+xÚ½Z]oÛ8}ϯæee fù¡j÷)mœ®;i7ñîËtT[n8’kÉÉd~ý^ê’%ËbŒ‹ ÕyÄÃsxù!ÛÌ£ðǼ0"QÂ/NRzë§+ê}‡ºOWLcæ4·QVWïo…ô’D<òV[«-I¨”Ì[m~÷#ÂÉ Z þÇÏw·ËOÿ¹¿žÅ¿Z~¾›ÍyHýÛå¿}º¿þí·ëûÙœÉùÿyýeµ¸ÇªH·ñaywƒ% ^Î4z¿¸]Ü/î>.f¬~½Z¬Z-¶^F…òãê÷?¨·Ù¿^Q"z/pC Kî=]¡ a „)Ù]=\ý»mЪmó¯ÅÌE@$ð;\ .Z—Y`¹3¨Œ@A)—¿R¥ÆГܳ›;!5 SRÎ-RÉH˜$aŸ”qR²¼›_ßÜÜ“ëû/³„û×g= §z 5¡Þ œê§H;õCÒqõ6)ãâ2õ€QäRo¡&Ô”Sýi§~H:®Þ&e<¸L= ‚9Ô[¨ õåT?EÚ©’Ž«·I/RÉXáêmÔyõ-Ê¥~’´UB:ª¾GÊxt™úHBƒ±C|šÐ®ANéŒòã¸p‹‘ñø2Ý!%RˆÄ!ÜBM(7(§ô)ÒNût\¼MznÁIL©K·…šÐmPNÝS¤î!é¸n›Tú›•38E±t(·PÊ Ê©|Š´S>$Wn“òÖø(y³ú0‰H ‡zu^}‹r©Ÿ$mÕŸŽªï‘r¢Î{üíêcItÔ¡ÞBM¨7(§ú)ÒNýt\½MªÖ¹òíD`l,Ô„å4`Š´3`H:n€Mʘ€àT¼]
+®^ÿFrÝê­zN„öAÇ*ƒ¬Š¸ð—–ìéºÎ×ÞÕ¹~¦j–ôš¬êZ¨1WÁ·¯SW¬ÓJG/yýˆÑSZ¼bôãÝ6ù–5
+±Él†ðœ¦¼ØÒª>̤\×ÇvÌb¯ì ÌÂL-Šô)ÓeyWhº2Ïìa ÓuV©) ÿ¡Ärì±ýÐÜ1§:ªÒõ¡™Èë<Ýtâ%³ûWdÙ¦I ÕF96q¿éÙ²Éö»òÕLÌfTsñ1-ŠfMµg–rôUO­2Õ¤/©.³–5û©s6B•V@Îí‘œÇ$ <yÓ7zŒØ–‚ñoô@½$ŒqCo Ÿ£Ð–Íý¦ºÍ™‚HÞÿ¢M ­q8²ÈƒÍƒ°˜ã‹Áµh„QÀQ
+=oŸa®0X€aÆø'_uB›4æ±ÇbX_~5éýðà5#H +n´v4ï—OÜ»)A‘g‰2 Ïí–Q³Ö·D@¿”°ùSüXeÕ u,ýC†¹™øûô5–Â(«UÉžqئ0a¥¿AÎœ¤›&ÒÿkÖìÞ™†µ  šµxÆÕÂŽ•én‡Ùü
+šƒ“ÀŒÁ¤ßU}ü&ËöÆè¼è ÇàemÿìlV/Œ\&Ò³gÒÏMNµ „ œ‰çÝw÷?·tÌáø*™hαŒÑ3…¶Ϙ:㲄fºÂF~MÑ¢ÔáÑסCÐ& "É=»Ýö5BoŸNg$ ¶Çÿ Îˆ[µkŠÄivé5±ÚÙt}“D*ÂÍc5äêŠ[3¸ÊCjkQ%Ÿ¯íªuÙ\ue³…ª@§¶
+›#ˆú‰dœ šW ‘ ‹[íY0×çOëÔû®ÝŠÁ¾¤Úÿ›~
endobj
1903 0 obj <<
/Type /Page
@@ -8518,114 +8494,129 @@ endobj
1905 0 obj <<
/D [1903 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-546 0 obj <<
-/D [1903 0 R /XYZ 56.6929 354.284 null]
->> endobj
-1906 0 obj <<
-/D [1903 0 R /XYZ 56.6929 326.6224 null]
->> endobj
1902 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R >>
+/Font << /F38 1082 0 R /F14 1020 0 R /F22 997 0 R /F42 1288 0 R /F61 1416 0 R /F21 994 0 R >>
+/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1909 0 obj <<
-/Length 3461
+1908 0 obj <<
+/Length 3663
/Filter /FlateDecode
>>
stream
-xÚ¥ZYsã6~÷¯på%tÕˆ& ðÊìQöŒ=ëìŽÇ±½Gåx $Hb™"’²ìlíß¾@‘¤v3Ua£4€î¯ÀòO=øçŸ&¡ë©TŸÆ©vCÏOgëït }ŸN|3±ƒ&ýQ—'ç×*9MÝ4
-¢ÓÇEOVâzIâŸ>Îp>üåâîñêþl„ž¹g“0òœË›ÛÌIùóáËíõͧ¿ß_œÅÚy¼ùrËìû«ë«û«ÛWg? }˜ˆ„7&\ßü튩O÷Ÿ?_ÜŸýôøíÉÕcw–þy}OáA~>ùá'ïtÇþöÄsUš„§;hx®Ÿ¦ÁéúD‡Ê µR–Sœ<œ|× ìõÒÔ1ý…*qÃ$ˆGc
- S7R"nê3?qª—×3ß÷wp:_;YQT»¼\BËÓN»2H„NÖ¶ÙìÉÔÜj+þ.MËã²ÙÌ4Í°3+¹//[S—YÁܲš‹ÈjÁý¯ÕVÄÕ¬fÚ]U?‰ÄU&ë̪m1/¿n™?IæVÀ³LÐ( ™‰ï»itLXºx3§žlÓ̹UÁéê]Þ°|
-‘©½° óÈÇÝáhÄön·;Kƒ=ä÷ÑES4– èí( jj¨C„» ZªRê[ÙéoNÐßý8Öƒ_ÁzÌPÇ€(k\ È¸ðÅÚjÓÒƃÀiçØ!fR˜õX§Š’S¿¡]µ¯•Å[ì*Ý †çû~8>O¹:Œ";¶0kS¶ˆ¬ éîD
-€Äwcåé¡9{;EñmÕv±ˆêVöü„¾À)«¶ot®Q±#+û“骴bL?pgc£&U±Ê‡H.cÙ¬í¼ÔØÂç` «•;ö!jâìJäÚí°jØYÈ8£•öšb‹&ܪ˜+tl¯³Í†ÃL(}¶îG
-åYGdÃ㸛;î$$dP9lÕ„<»tè,ø kÙÈJv@ÃþMK‰ ŸsÃ
-‹F²½pá0B€@ç¶,>b®ƒ æx$«5$ çHòiyû0ôЦSŽÐ$LA?Ãp°&§ëM«™;¯È“Ñ`•H\gO²Xc8"“â^L5z·ône$ìw¨(€—²&Øó­Dyñ^%ÊKhÃÈìÛÛ.è§ý!c—£—0³hr™zdÇÖÕ4/ç°Ž ÆXWÆaëm#‚75,[ç#lNEŽXÏ f"Å”Øæ„ØwàXE>£{™í±c¤ôïæ­#‹o+1—UÐSd|u5Ìmò–¡:«jgž{vÄîpÈ^™˜Šø9dg‚EÄl{B[æ³E½þñdqJ$0¢C̈ {G gâ‹äò
-¦È¥W/ žˆ€'š ÒªQìØ‘ÇN[•ìØ o¾+Sl˜…#Y/-eÄ`ÚUÀ0ås.ÑsË{<^Œ9ûJ¿’˜BZlf³%{¦U|¹*ŲÑg[ü<¾¢!4º3C,(â›mŸß^eÏÂ*e9[€9[UùÌ"Ž*XtA†ø\mâˆéÎf&i·öÆXw—L›€z¦æ[®H>ìÏÂÉVööàKÙ ÀÊê6ŸmÞ¤^à´sJ&©˜ ­€ØeNBÑ9|·²Yô²oZöì÷•‘q6x í1Yðï<¡T­1v4fÔÅ$iݳ$4ªés^m.Žó'=;@òݶܿÎJyàG#|ù %øZy¼”mqñ¡É€ UJÝË0Ðè²îÆ›ŠŠ½0µeP¬ÛÔ&½ÐÖ=iÿì¨&9×ùÞ—a
-¤Ÿ:‘1>erS¼€ÿ˜:z>×q7»µ{½¸}ø'þ˜@öMaxÄN¤ö4"µ§Ñ¡Ù´Ž9¥¦ÑA• Œ½ãiØ ÙÐÕ96(M§ÑHU‹B$Gö²¢,>€)xŽ,Õl§¶|?¿$§ýl¸žŽS›Œ7¿LòÍH\R©ë‡‘\GRŠ!¤”/ZW‚U$*PÙDYâ86&°XAL“Á1—ÜI{€ Å•ËH$ÍOø3з2ÁMÁÒ’ßCªr ÃÏ’•«Š¤´+Kmd‘¿¢4p©b‹j|œѪ†=JmÖØÔf‘¿¦\¶+÷R»—ʽ ÜKß}Sß~º
-J½.
+xÚ­ZKsã6¾ûWø¶rUĈɣ3ñ$Ne&Y³9$9Ðeq—"‘´GùõéF7@R¦ìÙÊÚâF?¿$/üËËÔDBeú2Étd„4—«Ý…¸|„¾o/$YúAËñ¨¯ï/þù^¥—Y”ÙØ^ÞoFk¥‘HSyy¿þuñî»ëŸîoî®–± ]-‹¯o?~C-}Þýøñýí·?ß]_%zqûãGj¾»yswóñÝÍÕR¦FÂü˜W83áýí7TúöîúÇ뻫ßï¿¿¸¹gŸW
+…ùãâ×ßÅåŽýý…ˆT–šËg¨ˆHfY|¹»ÐFEF+å[ª‹Oÿ
+ ŽzÝÔ9þi“F&Öör ƒE¬Ô<—E$ pm™hé$—c9Çe?
+¹\ìöÝqùgSí²¨ó‡ª8=¸Ll” =š7GC5CD<"B¦2JS“L©¸¡ÿ›}×e;4æUEG/Ñ U%A/¸m]lò¾ê¾¢Z·-¸=?\ÉtÁ‹Ñ9×Ñ 3)#eÓì fF½Âl?
+ÉGZLÉlÅZØ×i£fˆ˜2[Dq,³)ßÆ*¹(ëuùT®û¼¢ºç/…&þBÛˆ¿Ê,j<kø‹ƒhƒµ›«÷۲ŎxÑì»+ز©©ºÊkšðàø
+Xd`-­z¿j”6‹|´œÒzÑúå°sËÀ:(tÛÐè6íåd
+ž&NÁA¸=r7}†–8‹Ò$Éx¯,wÕ´KYwÅÉbJ¨£k¨©Üí ›'>JçGhÛ}S·Üµ/›Æ5/Ip±Ô‘6ö’#«Þåõ
+¥”d‹fß4øohÉP;²tñ˶¨©yê¤M}8cÅÒp=8²¥"›3êdšŒw ÏsYñj|jlÌyÍ-n»msè–«¾s§ÓÓ £â8!¾`a,ë8NGÄB窕ëŽ*çÓ P
+>Äù\Ô²‚šŠªy
+¤ëH}GìVOL{ˆ×êÔ¤±…LÚ[,LnÑÂkçyaÅ®:^I)Χ›Å-ïEž<B~èÊU_å79I§ØàŽ<‰#&Õ‹g6|ãõÚ2jÈW]K yË-5×ûl´ìr¿Ž4ºÉÐpõýI*ÕdP®m›óÚpØ#5­‹ªxÌ‘ÉÜõ\v[êrƒf„ôXõ¬· ëY…¼uº§ùSÕù[l~èò’‡°Þ IŸË]¿£ÊD$Ø0’çŽt7ÔÄs&ñ'1¤; H2ã TF ìíº!¾Éi|›WÉåæÐì–çüŽ:²ZùXg kqdeæ}SÝÌ-c"cÒ±ûR™a¥]5;8üÚù{ Ø¡-‰?™g#Œ\õ옔9K¨Ïrö 0¬pÆÁjpx6KÞt°
+%‰J¿,ÕJCªõr!ÀçÒúø·:®ªr5·^ë(ÍÃÆAdäà{‚™°É© È1AaðÅöb'¯ô\TÕ´…æKò×é\eÚœçáåM&Ot‡›õ±Z|×<ˆÆ
+ªAÒN \É„r‰Ù©3´
+­ã÷9¹x*‹gçN` PŽ·Ì÷ûª$¾à‚ûü
endobj
-1908 0 obj <<
+1907 0 obj <<
/Type /Page
-/Contents 1909 0 R
-/Resources 1907 0 R
+/Contents 1908 0 R
+/Resources 1906 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 1897 0 R
-/Annots [ 1911 0 R ]
>> endobj
-1911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [91.7919 733.1616 410.5963 743.9759]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://portal.acm.org/citation.cfm?id=1315245.1315298)>>
+1909 0 obj <<
+/D [1907 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1910 0 obj <<
-/D [1908 0 R /XYZ 85.0394 794.5015 null]
+542 0 obj <<
+/D [1907 0 R /XYZ 85.0394 680.9 null]
>> endobj
-550 0 obj <<
-/D [1908 0 R /XYZ 85.0394 297.003 null]
+1351 0 obj <<
+/D [1907 0 R /XYZ 85.0394 655.7929 null]
>> endobj
-1912 0 obj <<
-/D [1908 0 R /XYZ 85.0394 270.5256 null]
+546 0 obj <<
+/D [1907 0 R /XYZ 85.0394 180.3132 null]
>> endobj
-1907 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F11 1509 0 R /F42 1288 0 R /F21 994 0 R /F14 1020 0 R /F49 1308 0 R >>
+1910 0 obj <<
+/D [1907 0 R /XYZ 85.0394 152.5561 null]
+>> endobj
+1906 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1915 0 obj <<
-/Length 3963
+1913 0 obj <<
+/Length 3397
/Filter /FlateDecode
>>
stream
-xÚ¥Ùrã6òÝ_á·•Sc„
-½ÉÇë_¯¨õénúùóôîì\&¡œ\ükzûpuG]Óøùúæ’ )ýì!zwõñêîêæâê쯇_N®ìZÜõJÏÇ…ü}òç_Þé –ýˉ'ü4 O_áÃ2MÕéê$}¾o Ë“û“ß,A§W•Ÿô„ò#5"@¥Æ¦"ò•¯¸,²¦=;÷ýpÒ”óªüêy*Ï*=½·µêgúm ¸¾} °L²Ùls&“IÑ4Ô•ñoY1êÍùôòòNLïnÏR5™
-K!â…ÂÐ
-›zØ`æØt˜^èN¿qN7Ð…Õ~¾ô ªbŠÁÂ‡Í º§¡ßfû4«WYY5–ò®
-s 1N °dÞ AUCGl<
-ÿ0ÿ»¦€hLëåù÷ÔÌšŒ&Žc˜¿Î¦
-º©Ø^ÔÀ^”?n/2E(cÇ^ªf4%±H”w)S\'ä«5 ^,´ú“ì hqjÕòÀ¤"pÄк”©ᦋ¥d¼:„SˆjMpÃ’¦.ûõ¡§<óUYÁÏg5YÊ°”Œ…êâ?" cê¬xζKæø’-· 7Òíq–¤ƒÆþwÞeÓ ÃÚÙ0Ö¿åËí¬0ÀµYùK±äù‘ÊMÝ•DB&~Ô Ù¦°0ÑšìmkL²)¹`µŠÒ%±ñý™àøTM@­]¨}å†á@fUw…o`=¦cwùÚ±ñÄ#Ø”4.OæéÝÌ#þá.t%° *òl«—9ãòæ~±!1™¹Åy…lÕÜ•åfÆT–®3áíQVµ–Tìs);ë¶D _àQ*¼ˆB¡Ð[—tÖeFQid
-
-IÙÁ: eƒuTʇ˜vR2—²ËtºªµËK·¬“¡•Õ*RÖ®2$Ÿá ã" ÕÖ`]Öêêqä
-ÒfÑ0V9ßV3"u„!GÝ_]Œe7š@c{µ$J(_¦‡µäbí×’Å:¦¥ƒL­–v˜Žj©ÇÔhɱùz³Ï¼?ô6ÀÖv¢šþè*IÛ[óya‚“»Þ/ìÈI궃u@Ø먰1í„=d:.l—©¶õöj‘‘•g¬Ô‹&Ð༠tÞðL¼§ŽBÄ»>®¼Èn]×ÒøÚµ<×µ\2ÖµFÊ&c ÎÆÒ”ÈH½¨_!?êS'?Šùì Jxòu©àƒN}À
-ôéÚ@ËÈ¿b¢Ï•òåÞªØIÝQ:M35zçã«š!Ot¥ý2
-¬*4XGUxˆi§Â!ÓqºLùHψѓVŒÞ@Œ|ñÓ;‰|-—³¼;7×w@ëssJâ9’….”ì‚7¯©?iÖE®¯ ‡ì®9ùJ‰DÅf³|óårŠ—"úfdü
-šN°é†?àª-ˆÍ ~0AH³¥{­˜nHaÈ¢xËVëe!òz…ÇxÿÛNÉ8¤£nô<3‡ÂJ {+Âï™ÆHÉcbc ~nu‘›À€°j¶æ}èÇ!>©Ò‹=SàÅÞðŽ4¶Û"—¦¹‹í½Ä+>åd½Ý¬ë3¬›è›Ê<M d†F¥#ë!»iÑ°Ó²ùÜÌ휽báωxΪ*ª0sÓȤ¨N³whw{£ 
-"Uç‘÷=.Öþ(h±ŽEÁƒLmÜa:{LÇ£ ò
-/QÙg§|_ÐKŸ3êÐÇôБѧñAh„Ξµ‘™Â^-
-<÷¶j5M»ØlÇîé£X24áýš)ë;
-ƒKÊ/IRøRº €ßá—ò¦ ô,%5×^L[,
-í¯°Êuý /jØÑ"¨{€`-xŽ×æž×—w<1ŽßšÑ °ˆÃ.„„¶¼í÷Ê+è"ß5^ÐxÉ6eFàk »Z¨wB8 åõkEq)4']–\@÷ˆô»ß¢å^k>9¿dÑ(ÏÝ F¢;½Fa›¥#2L)åÄÍf«ï^†é‹»ÁJe߈±W‡Vé—¶“€™ÈÓ©!¦lÊÙ¬`8‡ÑTN²1“c(zUØw¨‘QRHß3hù’.²º™É=Uj%N ì=þàD}—Oˆ$ˆ ¾sØŽO”PTƒç>ZE¦™gUùÝ*N‚ySÐŽYr
-›à»»Loà›ûîž„šûÔîÄé1u8XÔa°ŽªãÓNC¦ãêp™¾§õãÈe˜Ôñ¦{³¢¢‘ËV’í+|+Cßè“äÌ
+xÚ­ksã¶ñ»…¦_BÏX<|çúçÎNæ|WŸ›éäñ¢ 5E*"eÙíô¿w_ H‰¾»N2ž1€°Ø],öEùþüI»q¦²I’…näùѤXŸy“%Ì}{æËš©]4í¯úæþìÕuN27‹U<¹_ôp¥®—¦þä~þ“»Ê= žóæýíõÍ·ÿ¸»<OBçþæýíùTEžs}óý÷¾½»|÷îòî|꧑ï¼ùëå‡û«;žŠÇ77·o’qóÒ»«ë«»«Û7Wç¿ÜwvußñÒç×÷dä׳Ÿ~ñ&s`û»3Ï ²4šìaà¹~–©Éú,Œ7
+ƒÀBʳgïöfië¨ü|ÏUA¬F¨Ô˜
+ÜÍbW¾¶vgLpÄYf…ø ŸOžZ˜oÇ©ÇQüÛßšÅ8í£yl‘rSßO'ÓÎÇAè† PáâÔh6¦ÔU[Š6˪fŠÁyn‡ñ‘5…'¤>ºzl~¼Ñ Yã̗2@_wXö/]P°‚ùN–´µ´+X O6ôÃÃÐkä–_>knšBb {ØÞ´«z×ò`¦_ˆ8Š¼Xéù…Õ qQ97!ÜŒ"ç‡k &/o¾g¨æ@¦~Ñ3º<ä—Ú•,)J|¹."è~E<Å™0€' ˜¨Z]1Ÿ±ÈÚ  aI+ûÁ‘¾½ýÈ{xrf8ô¢ù¼mó⡹`‡KTÜîW\ íË«þb0à ‰ ”iÖ­>R‡Ž$Ø<&ñ_wzûÌq'…V—‘bÁØâ@¡¬ ¸ªm!´b2PÔUËwQ6H”
+z²oxw.øn>Èm(Üðê š:Ïõn˽zoéÐí¾Þ>ÔÒ[qfÃä(´a2(EPFPB fãp*f7›G»[Ï6c>÷ D¡¨_ä4ÅÖlZ†õ®œ3„&'PÅ@KG^‘³«:U°ã‹ ¦#ŸžÏ}ßÇKWð,ó²¬÷¤BÊ“Gª¼è 4"u‡v©[^‡±e&½I"æ„m•— ­ê¹ ¤8Á넲.ºeöVã*—sH
+Ó桸Åbý3ÿ“€™#—Ú,eÛîûGuî?;¨m?x È‹!vðBN=yöab{;ø»aÚßqê~NðâécŒ}Sƒø*õ]ùÜÉGÙr·ê”Î|N±!¡ó’°0õ­¯g+Ïa]w~_¦náJžÊgìJ¢.1ºCu”£‰U3í×ôfƒ¬ŸIb"½`((:wØ8„ì†`ÜåÕ›Å9wûy¼É›BëÆ£œØ{dAϦáê†ÓÎ匛‚I|
+z¢§±·ãC ²v½W*Ê\@gm–«V¢ÌzÏG>pQl yÍÔÙ•ºùz$8;ÊîziA/% õ?Üô {Í ÿr£Ÿ0mœ.¶õz°ã=QþÁny=f§Kþe˜N3å
+lˆ9í/†N°õ¼á9TtlsnJ½4­ÈÖžÙ„}Œ¸ÓGè£nï÷ûóLTþ`5Yc!hĆž˜ÁcI eøÉ´â¤.”~BáOê~@ü¸ª«/Pu4ø…ËåB.Ú^ÕZ)HCIÏqB®)@¯Ç2 lô ½ÏH78(¯ÅuZR
+T䪤+÷õÀ)CQì†QlË ºÔkȧP³TÚ9Ü©øˆ7’
+ë(ƒÙa:—p^„ º\2 »£#gÁŒ¬…•PÀi2ÌojCé3"Zpûh4ëšèйiÇŒŸ vbH0‹v'g¬ÿ
+”üâx`{pÇn»©ù›L8Í3rÂßð6ÙÙn¹”¯9qä\6‚ï OktPâÆΚf캎¨no¥†î“NÑò
+~Â\!PIÆæ
+´ÉåÞýJj¨¸ƒŒh2¬±O—­w ÞláØ­)Ÿy8<r+-ÕF‘lJb]BŸ²LAY™±k$òï¯fÒÄÉJÂQÌ”\^[j†6¦eÕŒœU½×½{åÞ!ÈŸ¹3ôsp΀cˆb‡ŸÉZ†óz}öäpò#°¢Ó˜±ºËEQô\Þb n†^E u5êjôu^ÕÚÀ8qìÊÓGKø-ÕÜ®t¹á<Q`ɾÒJ6€ &Ê(ˆ
+ÐÙçdO":´»FY7îË·'î Ñ~ßSiYw¨ úŽ¯ˆ²àïUJ¾:DãÑŒëû¦0ì]% êÙ£©w Ç §ô‚¿¿Ív-ϯñƒc>¤M|…eÒ_‹²#Ž>Bþ@dc°çb`йÝhj.•f]Ñ4ÙfÖëE6ðÉú¼£˜‚ع6‡Ç ¨NƒÉ³£ü¨a –Ž!>è¶Ùˈž¸“'nµ´ÌD=Æ.É’>¢£Gñ)–B7J¼¬ûŒÿ<È«=¿ïÉÀ‡pI%åǺ(¦{w~䜎~ï¢÷[ÓÊ7Ó˜"â(ɸ@Æ9:™ŒˆÍËÝ\‹ ÌÅšµáï8è¦t —iÖ<G1ºÐzNUñÜéç3‚RÊþvî×nZ{èY½a÷1ÈåÐ]Ø’~kFK¹Í&_c(Ç+ÐŽY –¿K“ºxq'Άçù2ö°
+" 5RÔõ&öÞ~ó®¿F 7HSõéßR MͧlÙÍÜô °«'û¾î6XææÁô1DoxÍüÜÂÌ œô¤¶ÝýÆëTÿ8V<ïendstream
endobj
-1914 0 obj <<
+1912 0 obj <<
/Type /Page
-/Contents 1915 0 R
-/Resources 1913 0 R
+/Contents 1913 0 R
+/Resources 1911 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 1897 0 R
+/Annots [ 1915 0 R ]
+>> endobj
+1915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [63.4454 557.6401 382.2499 568.4544]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://portal.acm.org/citation.cfm?id=1315245.1315298)>>
+>> endobj
+1914 0 obj <<
+/D [1912 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+550 0 obj <<
+/D [1912 0 R /XYZ 56.6929 130.3683 null]
>> endobj
1916 0 obj <<
-/D [1914 0 R /XYZ 56.6929 794.5015 null]
+/D [1912 0 R /XYZ 56.6929 104.9484 null]
>> endobj
-1913 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F49 1308 0 R /F21 994 0 R /F14 1020 0 R >>
+1911 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F11 1509 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1919 0 obj <<
-/Length 2581
+/Length 4046
/Filter /FlateDecode
>>
stream
-xÚ¥ksÛ6ò»…¦sä›Àw29ÅÄmb»¶Ú¹iÓ´ÙœP¤"R–›þ÷îb—$Ñvî.™‹Åb±o,(5ðW â@H/ñQâ‹@ª`0ÈÁ-¬½?PL3j‰F.Õ»ÉÁëS/$" u8˜Ì^±q¬“ìáчñåääêp¤9 Åá(åðÝÙù1aŽ.ÎOÏÞÿz5>ŒüáäìâœÐW'§'W'çG'‡#
-ökæðĆӳ'½¿ú4¾:üsòÓÁɤÓÅÕWIùzðÇŸrÚ?Há%q0XÃD
-•$z0?ðO¾çµ˜âàúà—Ž¡³j·öÙ¯£y¾ˆCàñ¼•ƒD„žö:++ß±r`ì-Zù³TÑ®ªJú°É.¿½S;ªýcµrŽU`?Ü>öüßÇŸÆgçx4Ðk‡>ôD¢’AÂiºªMMžI‹‚½{ù;ËCÍ´²cÆdMEc½0Ó|öH“î@;[TE>ÍM-žô²/E¨#ï{;TÏØ»¥zÙÞÏêØ{÷Ø~{»Çž_=œàã«û‘ˆ¤l­^Ý›å2ÏZïóæŽm{gØžÈ3ÿ;V}|Ò¤Z<ú%“:TϘ´¥zÙ¤Ïê˜t÷Ø~“ºÇ?qÉȪyš—=V¡|ý}±ÌÖ{9®ÓiÃ
-FEJÐL‰$躙X~ZÇ­r8‰Àg%ao Ó»´¼EqÕžˆØ”†:/o &¼:TCë[€;2ëu\¼ü½&y¹Åá>7kZळKYnHzZ
-íù ‡Ö’´½7#2n+«žˆŒ•ðè‹ÈCnFOz`¼&ßûRA5ÐQk!m‰g&mV»$ˆŽ®áXÌVáÈ€¬Íò¬AXŠÄÚ(DÔ·ªdÜg)uaÝ
-è›
-µFt^ÖP›–!«Uãb yuzD•¨˜ iQ­x ï@L”gËõ¤£ä@ƒ 1…i ÁiYC6ÕLÀA§†ëjUd„‰Ír×¼aZ•MJñ.Y4
-¡œ7¦4P©BˆJ-õ”ªÄQÜÕœ›¥I¿Œ²²®Í”ÊMG°åÓGS÷Ô/}Š–á^ýJÂᙵtÂá…Ð4­ ´Ž¾f#' ídãÜdÐ:ŠÙÒ·DAyâÕŒFŠAÄ“;fѺ}CÇnYT^\  |ϲB[ºÓéP=3mêÖkÖ5
-›‡0{¬VÌóÛ;7’×ÆsÎÑÈBï¸&mÌÜ” ék|,Âkܽۖ\ G­KC¸;þC•[„~¸I³"¯›ÞÒü¯·=¦õñ· Ŷ¸\Åÿa{b›Ç¯ÌÓº–s–í¿ÞQ
-wµa¯Üª^Âoÿú¯õt_}ûŠR×Ö£åNüÃ&(ž¬>ô¥Ò¿GÊ‹aùúbLt/ŽÆ?\\Oͱ¨f£ùíRp(‰)†+.ᩘû¯y2#@ßÙF
-Ꭷ—‹o£EZ×ÍÝrÕŒ+ܽë¶\ïð s¸É×Ë©×Êbÿ
+xÚ¥]sÛ8î=¿"o§ìÄ<RÔçî܃óѽìlÓn’½ÜÜv[±5µ-¯e'Mý(Q
+mÏܵӊ @
+c$âl'2¸¸¹½¢–œ>—Ÿn?ÜüüûÝø,‚‡›O·Ô|wýáúîúöòúl¤²XÁø1ìðáæ×k*ý|7þøq|wöçÃ/'×íZÜõ*©q!üñ§<²9‘BçY|ú
+)Tž‡§Ë“(Ö"Ž´¶-‹“û“ßZ„N¯êã_¬3gaêa`úç"Ñ¡6 ¼+›u½jʳ‘–a°®ÕäÊßëUÙ`QÅæLeìŠe9¥bµ¢ïv^"'€žrè©L‰Léf‰”6LiÄDh€;Á4y,S†¯×ÛªfÏõ¦£d¦ôR•¯Ôd»Še½š  f‹ú©X0Üz„4OA~‰H“8§ŒCC‰ÁrCÕ3~3Dcnš¹{UÓ—úú‹2ãìÌÈÌ fNX03ÏÃ@à´’àîóoÑËpUP™V«bóFÝW·÷T`Á`qR¯¶Eµªpá8êî®)·Y¦,o^l&—Á¤À©å*x*©á¯]¹©P¤XYÕ›e±X¼QÍp@¡¥~-§0åH«à†1†Àw×ììÄÚp÷¶¦/ói»©&¶g^7%qFôZmçTjêe¹Óº
+4TŸ~òèz(¢¼UuAŠ©T&Ri3*ËiUêjxœu»3uÚT³Y¹i¨§Û ÐU®&õÔlQè1[¾ fÔKÖ¯æZ³8øívüñúœ n>Ÿ©0Îiàí}¿^¬¦v{…ƒ5)£öGv¦kJ{öéºHŽ¦ˆ&‡ÔÏEC
+,¶š¾³rUnŠmÉ­dñ†èšdŒ’ÁƒÙ÷à2êW@@E\7>Ó· sÑ8'úS¥6³óbÉF%––Y}ä4rQl«—ê{ÉCÍ®t‡!Ñ®ÅÑ;3qeAÄ o¡üµ¢RJL¬bAÁŠÒTp‚…¶ë Cæ[L§Ì£†€
+iM*¤Á×5ë*j`Ž‘‰¶zˆp$Lh"QÙÉg®÷4Ãàòv€‡ÛüµG¿D<) Í>V"”QØçÉŒ˜¹øˆÉ‘ËZkYÖ S®¶$Q€j|\‘$¹uëMù\}[”«Ùv.."q¡ÅE(.”ØËoˆ<…–±j]¨Ÿb«Dy_¤ ¿Q !§òrGÎ6BgnÖ yé¾¾?•ÛײDŽ«<Pô!©@A›¨¨Œ jy&—¥§·mi|‘)$Á…¶-!·´¸.wÑÌ Š’¾G™ÞED=ÆXÀ—ô
+ÓrR- žÌK±Øq»±9¡|o}IÄ‹²0Du4ÕlU!Ó Úá&\
+• ø²þÆ­ECe‹QèæKZ  ·£ñÕÕß}Æ n,Z è«—ij½3T:ïì`-èóLVbä[ÜÒØ8›4Õ²ZÆ“ädÍ“ÖšçA³Y­¯€.šš.¿1Žw:^ ¥<÷èwÚ¡Ó6lêé÷c&Sñ˜ˆÇX<FâQ‹ÇP<*ŽfÚ‘}¹×îÄ"KâØÙI\“9:\Å>\Ù¹âüQQ³QøÔ ‘1ÕÉk+«ÉÐ5Ë´¥Æyù­èT V»åSÉpïXSÑ©B*¡ïSE…äIYC(ñšö!/§'ÃviÖ.Íz ­FF1š.#<,ù…G}¤ÚºÕGÝ×GñØõP½€;+§¾E}÷è¦1a}^o·V
+:Ì‘¾Îä©¡ü6)×\~£¥ÂtÈ“8÷BÅÚCÆõÅPa&-Š >1.Þ+¸NrTÔ†âß¿ _¸ž
+Y§X¬ŠE=«wLtDž§BÊt ðÓz÷´àPkR/è å/2–?þÿ+ŠM¼
+3ohÈ¡?†Y¹{˜)³e¡h£öˆ 7bÞÁÑoS¡ÆB„ýRRkSn^ZtÔ¬7€‚=0JÔá42;ZÖ,ucå-¥vt{b@Æ‚Vc˜µç,Ò±=kO!XtØ^èNë&¼ìº/¬Ö•°
+²bŒÆB¥‹3k˜¯çYÌïU8
+1¡£ÈŽÒ¶÷öêª!„%rÌר}¡_(ùô ­¿‘ö˜"»ÐËÈ)AÑ”9>Ò.p†ë -À00“¼)à;fˆOƒN†~—ñÙù÷ÖË’L‡© «¡™Ò!Ðdv6ÌËÉW’œ_f8†A[µÇž6ᓽ‹ñÑyA´ÂKÏÜÃ:B;RO]©'”æ0Í0Ò£²ž0êlfÈúô%Ô{NQ,b•:ú²j¼>9JE:Y
+ãã:.„|èÆ/6Œ“ì •Žµ8µ•I…v³…öœO¹\ ˆ#Ó¾09A„–dk­Æ|ï0q"d{ØYV+XâhZoÏ*ãT„@ ¡Q–ÏÅnÁ9åÓ»'í©€»iþ´í±^õê èÅnZÚƵ]ùK¹àù‘Èmà•%`ªubm¶sš×]ZEG½c/µT±¶‚21±Ý¦bÎPÀ¼¥ ' Ø®©iûÊ:ºÅÁ²î"ߨK_i_þ'O<b˜®71ïM1µçø$“ÁE9)vfyà3L
+U§ºØPO™x ó
+Þj[rW1™´yÙA™@¾¨²¬ §RͱhꬻEj±
+ª¢é„/Áºžm±1w qM 鰉•$£(šìµe’zÂæÄÞ•AoÁsmßW#“<€ã3ææ ãW5·<Qb(Éûá
+íqж‹åTE‹O¨IÕqn‘òľQ¡aG@M?à‡{m˜Ê#‘¨üˆkw¡ö󡐬 ;Hµ³aïÈzmXìƒÿMèCÒænÿ}õéãøæÖsØI´ÈUžõravo»7ð]þ“©o½°ê² È^ç]ŒÝ>OØs—O¦¦Þºgû.g,̉kŸÓXDúX|æB¢…:.ÄCT!Éú…è’å$Ÿe¤T-#們|ÔËM¾V‹é¤K¥›k¡õÈæM¤Ã[èBÞþ ø8›ë Y—sƒX:hß+”C‘…©MšÞ~ºã=Ƀ¹,ñ§ÔBô7î!Ú8HÔ‘j2ç«„¼±Ö©owcF¢lœG
+5$ëW(—쫉8—öîñW|úu6Œr±-ü‰ò4ŽÂži
endobj
1918 0 obj <<
/Type /Page
@@ -8638,432 +8629,456 @@ endobj
/D [1918 0 R /XYZ 85.0394 794.5015 null]
>> endobj
1917 0 obj <<
-/Font << /F38 1082 0 R /F14 1020 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F14 1020 0 R /F49 1308 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1923 0 obj <<
-/Length 4104
+/Length 2982
/Filter /FlateDecode
>>
stream
-xÚ¥ksÛ6ò»…¿Üœ2ñð ø¸›ûà&N/Æqm·wÓÇJ‚-N(RI;]ì‚%ºi§“‰¹X
-`],ŒcLøCøD
-œ}m©ý³0âms Iˆ¢ƒþ®XrÎ’[8LG} KÙ¢¯×YDX§ß½ù·çO%Ö "±LbK@´ÀP¦ØfOüxa2(gsžÈÉž[^š“Å$S„®Ê>€áÛ‘!„öº*aU„ælj$t„:õu¼‚ï}ãè?ØÍk@(°z2†ɽ!͆÷ѺˆEåÙâÛVŸHwW¬Ù¯¹ý×h6û½w>ÍÁ{ÓÉ% N-´ÿÞ§QOwx&Ÿxl´?Âc×Ý›ë)e”ªG Æ_J9ïgÙ{` 3*6=º7Zo,1÷ GÊ‚¨·W·PÐÒºH&Y¼çP‡œd#§Xer‚?D3ëþÐD™5V}@kFÆZˆ)ð!؃ò«Ñq˜¶_»è)_Œ¹ýpwÍ}Ã"Ð@ÕØ—¤oÉ–8€µ%÷±
-Ô‡lZû"…цàNYŽ´b,6p¤ùB¸Ãî¨pl ÔàÐL<Á´À2º²ÿ‚ÒRŠ{л8g0ŽºÇk:üžãSÁÑhS„mKL°´{/ªÏÄTmƘ»hËL¢\D€Å®šõ'î+&IX11#²¼§6E· Õ{à*aÿ•ŸçN‘Œ»Rõ™æT¶~è¶L·¹?Ù ÷×Îl0”Ùp6p¦º£¢”€õªÜ?ÆËýöµ¤-Í(cG:÷ºˆ¶Š-: ˜Š9„ã¢ÙŒ½U‘Š³`Ñä//j2’Nç!õŠÒ4˦Âí„SÏ<‡Ýí;´ÕJËŒËcÉ¢iòuÍ9ZÈ µ(€dZÅŽ“aÜүؤÓ#å¢æ,’yd\÷¼·4ÌÍĦŸ©CO<‰¾\_={ÁTu¹MƒRx ˜‰=þ¤Ab¹!Ë4ž+ÇÛÓÛ‘BFI6” '÷ƒ;´®ãkŽWì‘Ý[ ¾#àï'§\þêã[zÀ?̧Ü3–++J¥Q¢ÅQa¼X'èbµ‹%±»!n ®É™î]ærÖ¹¸¾XÉ~&Í5ÜNLÂ
-º†‹Ã2Kª'áv×´ra€˜ž’päDæ,Xhõ‘Xàðþ
-âÎÓÛMb
-6q8¸¦ïP]À~Êm?cÊJØêÅ\q1(ÛéØ2Š­‰ÿsf,ãrö-}ƒ4± ®Ëv_psUû0"êŠÉQoïAô‹Š' d~•K
-\h‰:¯ñyÙIÅjxßËIø3*@Ókh–j™åa>OŸ&2Ö½é ,¨¼f/h„ZQ&ãdV>ÛÖ8S”þaã)â—'Ëo†¹ª:Êî^Ü€–‘‰¥™h ÑáŽ_]…¸¶.9 ¼€-C}å橬6k6V¾Æ3p>cè,ý%Èïˆå* ¨%Ê·}&èɆ¤ÈÐ
-áêÿО
-—˜Ã9\㨺NMÍqmàÏ„ù|¼ö>Þ•¹¸^¾ò?a(ùK/†*vTï<
-_#új3§¢•–
-š¶å`*â=‚K¡‡‹9c`6æ_C°•…GÉäV±ì*\ÙuŒ¢S§yÃ’É£yœÁ‡‡0°nÑ‘Q çƒÑ߉ÒTzâ8Ò0Ãþ‚>à xâ:a¶R®3¦Ã«<‚“ëI9‡ñ”ô™™^ÜÚ.øÅÍ$rIt§‰7
-mUîçLGeé8‚¥”_ʪ£Ž ¢s ôèH“Lùµ.úáPþuß}ÙE†oÁ§Ï‚®`'ÓÄ÷ÃoÓgcþW»£sö­úèG¯×CÔaiÕ€T[þfçë“(ÍÆËí¦_[F܇©×ôr1»÷ç8¢mè‹A9AÎ#Ã×ýè³czû剾K³xy{»¡*í¸þ¨7€ÚŸ,AÀêA} &ôPÌ<žÑeQáEê™ßth©o›[êfC½”˜Žo
-ôÍyæŠ/ÐáŸq$TD jnÇ @¸ª4¢<ûðûO £ •¹ k"0ôJ£aËÇ?Î:æ5ž1y’`‚Цg”³aÂÿ|!ï9^3C]EMÈ/‘ ‰vLã[€ÙI÷Š%ä ³¯4'ÛnÏ®
+xÚ¥koãFî{~…QÜçPO5zkΛÇnz»Iš¸Å¡Ý~˜ØãX¨,¹’oöÐÿ~䣇-'-®‹B#gø¦H:räÀ?9
+B&n2Š_Ž Fóõ‰3z„½÷'’q&iÒÅz7;ùîÒ‹G‰HB7Í–»báıÍ¿ŽCáŠS¸ÁŸÝ\_^½ÿénzùãÙÕÍõéÄ œñåÕÇ Z½¿›~ú4½;È8ã³ÓÛÙÅm…|Ç»«ës‚$ô8réÝÅåÅÝÅõÙÅéo³N.f,]y¥ã¡ œüú›3Z€Ø?œ8ÂKâ`´ƒGÈ$qGë?ðDà{ž…d'÷'?6vvÍÑAýIG¸^è(Ðu;
+Œ¥’$EA"BÏõŒ?;3©¢`|v=ýtAËݪ¨4.ýq­ÊSuM[iEÏz¥iñ¤ÊT=dü¶QeM‹%¨ùD±ËuIË\­u÷:¬rFz¨ŠL×¼[mô<ýì8î\ÕiaQ–- PÂDJ‘k$º=MÜñôþ~öáî'2צÈÒùó©”r,@^iNM\_$NÂáH$q™Ã3#\ æH™Kdˆ^Ðnš3?ïn!̹…<ð=Å“.Ët±Ð ߥõŠP²&’¹A$"× @&ä†'¼®)=)¤çøŒ6ÏÔ¶Ò]ΤUÎÞýA ÞäJ>Wêj2êÉQ:‘/b<‹ð‹ êDú|×®/ݾò§ÆF 69ÊÓ¯åäx[¥ù#!(‘æ
+zš›ô"¥ç¼r¦E±V©qð#sžäÑ°
+†ìVŠA`¾×)
+ÞÊŸP¦š³íºNå˜4¯‡3làM´O`òø)VøÙ\ˆ~Þ¡ºæœ7уýÖ:°Fo®hY­ŠmÆ(j³Ñª¤5FCYÕßÒÛƒžóç^Ø°bÅø¡&uÀ’ÃÑ'eÁ úh¹H—LŠ+0§fŠÖ€ž &QÏ9­.)R9!,‹mÎÁˬÏœ2‰ïú¯„jë…PµX¯†êKDÛPÝ':ª]¢·XVÚRe \±£ýp ¢±"ÛÅψ¼0`oÐÑk>Êd͸ñ Ýø)Àm5xìb.dð†¦B´4)óF¦4œp³,=Çà²ó<•ø!X6é;-›Ï¬u,1]HÓÅ3¦Ò¡Öóz/õ÷2 ùáòåASØÃK„GŽÆ!Ï b0\½ÒÂt±Ž{^ƒõšç½H´ñ¼¢ƒž×#zýŸó›OÓ«¡Ïvè‰:‘¯s¬×9\´5úíyF[&™/ó’mÔl+òTWǵB“çDÑ+Úî`½ m‹õª¶_"Új{Ÿè°¶»D¯oΧؕÌLk2 s¢Ãq¬Îm-Äú´‘Öñks!¶¤&ôºœc
+ áÈø}¶H/¨“‘^Õæ [eîQÖe‡b“–®Í‡º–DHßÿ’· ôoV6¹(ÞHÛDÅç» ”ÊÜ97º ·¦ "Æ]•t|áø‰ßïJßÏàCºTÛ ?ì^D-€Ã¶WEøÖ¦…¬… FNïFl\4%‰ÙÝl²Ô)òŒ©¡ä¸ÕTªùzªjÌÕï´:AX¤mY™êA8^¸;ÿ^bÛ-†jƒŠ±_"î£j
+xrz¦]C¡ŠØVfŒx…™1.¬4cvܼý¥¢+Ò¼wÃSªw´ÁÑf¶hÏÅY‹Ÿ4´‘öIOHmx,/\\Ù£¸×°›²× @D-µ#! ¸Q¿\jUos9‘)›<'ÄNw¹ÍF6
+!”«p•òAEÊU¸¢\E[¹*ñpHc“ÎC©Õï“E^UzNù¦AèÙôYW Lbýî„ , ÇWFÓ‰mxa5W•Æî3ì|¯ãÐæ¥5nÒ:´ÙVÚÎÐ ?ñ ú&ì7‚ib
+ì;TÞ Á —`ÁlÕCÙƒ'$PHÎ>âB’¸
+…9ñþhQd7¼gÙ秣ÖÐþH ›2ø'
+¨d#×íg%Û!ƒ>ri¿Cú‹Zo2‡ðö\lia§p°ÜÚ¦˜GåøÛt&«µªõZç5Éîwew±It<K:ü=aÂÇã¿ô |‹«oÔ"K«ú›·ôþçÛÝNölÊŽ‰Z†9ÿ=v鶖˜åúyÃ;kUAeÀœ.ÓÌ øw{¢@î.vž>š›r ñöÏ¿/i·ç;•J·9÷|á&H‘´ü0Nÿ:H/†íû›)á}¼9›~üps?ôŽ‰u1Y?–‚ÝIÌÑeq ¿›’o_ñ3à=ÏYÐÂ]5?¸Ißø[R,V¤Û'LéÙb[õ 6ëñGêqÙõ´3 vRt#yÉæRvÕ‡9‰¶ÀJÃ
+B¿ ò²ÆÒ(t8õã‚'PV#Õ`+“¡OðÃhÊsà 7­U ì%cYÚ¹HGœR$/°Îê]í»ÍÕF¿‰nlºùÍyþi¶‘DQ8êÀ‹Øïpqs>Mx˜È$nhœ³#(x}‘å™2CzuøÊôã–@‰¿³™ù\ȵªQ5=ì¯g¸†/?þVzÔa¦ðòÔä÷ÍùºÇ,
+kÿÚòƒŸhÝ:À-a[?¸ù· Óˆ³›OCö.~ïk!ܳt¹ù:Ù¨ªªWå¶q˜.sæ{×3i¼w©£|ƒ7 jù‹8$ÐÕþá¾8$×î‰0‰£—êžö}4„þk>zDø¡ñ–ü+‰YüÏ6û¿ÿ£”ù‘ðâØþ;‹=žÌ
+y¥Ÿ8Þ8qt`ÿþãP ÿˆIù„endstream
endobj
1922 0 obj <<
/Type /Page
/Contents 1923 0 R
/Resources 1921 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1926 0 R
+/Parent 1925 0 R
>> endobj
1924 0 obj <<
/D [1922 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-554 0 obj <<
-/D [1922 0 R /XYZ 56.6929 697.7106 null]
->> endobj
-1925 0 obj <<
-/D [1922 0 R /XYZ 56.6929 672.0136 null]
->> endobj
1921 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F49 1308 0 R /F40 1218 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F14 1020 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1929 0 obj <<
-/Length 3955
+1928 0 obj <<
+/Length 3586
/Filter /FlateDecode
>>
stream
-xÚ­ksÛ¸ñ»…¿•îD  ¶Î¸‰sMç’Km¥íÌõ憖(™ EêH*¶Û?ß]삉Ê宵?Å»Ø7$/üËKkB¡Óè2I£Ði.W» q¹…¹o.$Ã,<Ðb õ§åÅË7Ú^¦a«ør¹Ს°V^.×߯þ|ýays{µPFqxµ0±þôöýkIéóê»÷oÞ~óñöú*‰‚åÛïÞÓðíÍ››Û›÷¯n®Ò ëc8³àÍÛoo¨õÍíõ»w×·W?,ÿrq³ìiÓ+…FB~ºøþq¹²ÿr!BZsùÊ4U—»‹ÈèÐDZû‘òâîâ¯=ÂѬ[:Ç?£mh¬Jf¨ÔMÆZiÇ@àÁÇ»`—Ž¢ «ÖÔ¸–üí Òýö[]eUUwÔ¾ÏéÛ\Iäû2[ån­ ‹îæºæʇj•uùz ÝîëªÍÛ£=3š¤NQµ]žñL™gŸ<†¬£]º‡™$ʉâr!e˜£qmYìj̉ôÇ
- ¨ã…kyÄ!ŒReÜü?…ï¿[Þün>6ÁkwÌz¿ÇáÀM*Žƒ Áì «ø{èê¦è²®øœÓP›7Ÿó†í²ç1ÂõaÅ@Hªk¬‹ NýSµ:”Ý3­«7ŒÞCŸnŸ5°=¬ŽÎ#.­ò¶ÝÊò9››Ú­ßÕ,"Æñ14ÑÕ4“Q—
-ÉJs>Qp9\|Ýà%Ò‘‚Ãm±­¨\/jþ»®ÜÍBóÐ:¶à’×ïïîn^Ñ°blà\cB¹ßñJæªßôsVkÂ~ã1ŠÙ+câÑZ)üý!‡Ck%ðò[jù/),
-Ð!¼bœìEë—åÔȽØä+”{ažwöd‰0Ô+Þ€/1Ô|”¬ë²Õ§6»(ûëÙK’ÆHDtldû=ÿ©Ø99ÇÁŸyóLÍ=Œ °5ª¶›2ZåùºžÞµŠ4|?íÛE»ÊÊ|æ£8qâ­?èÞ!‡ËŽ"t Ÿ|øs&Q!¬õÛ4þÆHHʺ
-µRêHi‰¸Ói >^z¤/f¶5¡Q±—Ѽi@cû-Ï¢MÒÐHùµX«§u½ÃËÿyÄR@¤¤¬å•Y4Õ¾0IuìaÊòçñÆIÙ(ߌӥQl€AÞòéàþ™&HîS':EÍW!MK ŽÆW kŠÓóCCh«ŽfHúpÊy9†!ÑJàaüÙ1y ËQ,Y—q³Mžu‡ÞÜ®+g·qûbûÐ9;`ë|“³÷ƒ©5xNç¬Å ˆXoÐápþ”íX8¥‰Ã4J¢©ÙÙ—¨ÊrüvJh¤B!å)àªl
-­‘›Eôϼþp.x‰¤
-°ŒU>fÏ|¨QÅC{«Î%@ ¹J›ôËUÈm”êqîCÛ<d\ s! ±0Š–Ÿgy ¢0±ÚŽxàɆ±HégùcTºñî²}¨%×Rï½ÈuÔ/ó¬e°ˆ‹¯Å.oÇr @+Ãt˜j Ô®9JˆÙœ¶,†÷9–Ÿ|©ŒlÉHHCapðÒqÄÀqÁ“s0»pÙEç ‰°`eGjãcaw®ÄP6‰s˜MrÂ(½æõKVy±ï'áÖΰ`NáI€6XÍ’&cm¶åar¢÷$;ê¼ ¡ejp$—4Ã÷îÝsõG]*ˆ÷w/¨ñayË­ëÚ^à 1ydÜÐ×;8þRâ Èë9DXx ‰ÓK¸î·|ÁŠ ê !®`¢¡ÊéŠX8WŠ ç&ò„™a†¹‡*wþZÙz]àV˜AcŸH†ÆµÿÂ7ßýƒË,±ZÏ=bnúá 5N9aH²ñKê±÷ä¸ØΛ^Ĺ|÷aF¿-4ûxæÉ
-@¿ià†g´W„‘Q>ŒþïàÌh>€e¿JUßÓú{’’Ç–bz¯ÙSµÏ±@‹!Ø+ãœ=2;#¥w³YÇU–Î%Gu§ÁÚÚd²ŽÄ”qÀÌŸ—ï¾%2åÔèa­©¯Øýa. “¨/̽}÷Í %Bmµ7uœ UÀ„duÙ¶¥cÑñb§ÎÐ݃ֆs˜ ej½C¸þ÷”ˆPÖ¼àýZ0†h>ݦ.ˆAº
-þ¶9Ãœ)5kkBå³1 cáθpDÌ„¶BËÞøsB
-3”ýIn2—9)u~WHVš¬šòa 6˜#8×Ò÷>ïóœ#A_¢–îŸ;÷&‹úå ¶Š^±ÜÚé‹XÉgqÑ¡B™®ž‡ƒrñÒOë>;?’¦ê°»w²c9ô²'×f£!JûLÆÑÐóN‘}Æ‚02DL¯óMv(;)‹/„Ô}l=FÏ¿^°^Ð,ª¤‹£q›.k:š¥cFÁ–3[qsŽDÇÍóy9®—™¢ú™I°²æ=ÖÈ"• ÕÊ©Ã5á„ÅVùô°ëŽú‹¶NÝœ¨à¦rÃ3Ö+_[Þ³qê‹/ÈÛšÄ×e½Ýr]Ùz7
-®¿¹ €
-¦'ѽFù…E5Ä3²fTêeñ°¿nhÛY{+”I¾øø 1fk_¡økóütªÆCù
+xÚ¥koã6ò{~E¾à
+n”í³mxòCÕPCªäCMû²¶u׃é—XJ¤Z+w"ã†`&5õ×e^Ÿ-C\õþúü£c´ƒéJºK¨ùv©8XŠuֶݶÙ÷hT¤RDc’\ß]Ð*ºÞÆCT3‡*Û`Sí²¼ ÖÕΪl7e¶³|œß¹Ñ#2Áׯ ™JÉëñ^‘š[üÍ5f9 
+$ØL·7ÿé•f±ÎJjdgðû`×õ[Û<Ù†Úµm€»¬\[Ð
+•¦‹Ël½eUù«êqßàz»!(uÚº*[Ë8˜FØþZ•v<ïË>çí¶öí!ºjr˜9ú8´¡nn¨$HËA²Í&ïòªÌ
+êo².[e-Ï/ªêó¾niÑÊ¢Ðâqx)=¾ìmóJ3ѶòSœÈÐnÀœïl_²]]ØwÐ Gvq}G¨ø†3ÒòœwHbò-”PŠDlß!MÔÂ;`Æ°Êé#‚üòpñ9/Q‰X=è€Q0Ò5ùã#è/£þ åêMy—*]¼£‰Nþû~HŠ V—ws,ša¸ ‘*øèªù£ Ÿ@2á¡|×Oæ'Èã+µfâÒž™ãɼC›ïò"k¨ã˜€+z1 ZeEÏ„Ù0s=Ç”
+"=Ž½ÒþCÀâÁÆý­øI p*´?HÖ²@¡š;"™ô§)²½·ô9 øv ­š°gó% <Mõ”/ÈÛ9J(¤"‰=’fî*@Ú´Ÿò”Ûçy<¡NÍH5íø†ÑH(XIBYo³2owØ…ÀÚšG²}·­@óA©Ÿ,’Và`J€âÊŽ€+ëX€@± ó’ õ䯬çË8 L¬§~†eUˆâNþܹ-s'mqDq
+<ÜÊ¥bÎ1UÛËú˪¶åà7™¡Çt°ŠŸ+ QÙ‡rœn‘fA«ðŽëíÉJTàáü=g”yǧxÕ ã]õÙ] º«=è÷hZ»Þ‚ùwJ­}².ЯîVy™±©EtœŽ}üaV8Ãb¿L˜ãÔÞfœ¾g<V•XçÙ;¤ÐÏÖ.,¥³Z6kœŒâ ÎúAosôñ–w)÷»•6r€½'/†ÔÄåMФÄÃ¥aÂå
+Ð+âÅnT¿ŠÑì¥Á艠{¥où9);Â(Z†¦^P-ë±—¼Ö·¤ÁšHÅH{È’ÈÓ\î9zF¸ “Ò X‰ŒÓ©à»Ã£FF‘÷
+’Ę©p;!ÁÔ³ÏawuçÊõêPf\K-$_¢9G ¹¡Œ+Ûq2ŒGú‚]º=bÎJ^ÁÁ"™G†u¯µ¥in%výÊpì‰'Ñ—+7sMuG ‘;4(…7Ð
+õÂïÿ{ñéãùÕ5õlCѽ/ Sÿ’eøCgìU{ÜSé’¤oÆ q²fÐÕ8MG"‰¡Î„#³R"ÁfÆiÏÅò…nýgL
endobj
-1928 0 obj <<
+1927 0 obj <<
/Type /Page
-/Contents 1929 0 R
-/Resources 1927 0 R
+/Contents 1928 0 R
+/Resources 1926 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1926 0 R
+/Parent 1925 0 R
>> endobj
-1930 0 obj <<
-/D [1928 0 R /XYZ 85.0394 794.5015 null]
+1929 0 obj <<
+/D [1927 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-558 0 obj <<
-/D [1928 0 R /XYZ 85.0394 204.4016 null]
+554 0 obj <<
+/D [1927 0 R /XYZ 85.0394 533.4548 null]
>> endobj
-1931 0 obj <<
-/D [1928 0 R /XYZ 85.0394 179.2397 null]
+1930 0 obj <<
+/D [1927 0 R /XYZ 85.0394 507.0011 null]
>> endobj
-1927 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F11 1509 0 R /F42 1288 0 R >>
+1926 0 obj <<
+/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F21 994 0 R /F49 1308 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
+1933 0 obj <<
+/Length 4737
+/Filter /FlateDecode
+>>
+stream
+xÚ¥[YsÜÈ‘~ׯà›Á ªU
+6 +G Ûo™d}Ÿ·»¦nóöb—».Z >põ³º ÅÆë¿&Ù½;t”(ø»vü‰59}Û¼ó‰]¶Ïº¼|¦üSÑ=,,SÆ"Lµµ<l¶þòã44Rr§Ðñ…6"Œ…
+Ñ’ÞD‡Ú;eƒuv ~ ¢±geâM$$œbb̦®ÀMhÅ«&>lµé$ªc¥UeΤcïýyêuÖùÖ¸þÕÛÿ•d̆)‰ß‚R Ѭ£¡Ú⟋¦Ögm<ßnëœ îûÍÔëçs)eð(º´ }ËÌ1?¤œE†oVíÊŽUÁÒ‹¦æŽ¾ö^<¼]¾ÁäxþAn ¨Ê¾æ”RW”:Ô B÷ÙÚ»æ¾wÆ]ze‚¬•¯q Xª‚wÍ-U³"—Ìp£ØL¡JcnTðÄq`<iœét\ž×T(¨Œ(y
+gߨÊ Še7£Ô ÏàɇßßÃ0Ú@UMƱ´Ô°dM}NkP<Y¯v Ó:AÇÔæÀEN‡ÁwOÚ RÞr¼f‚–%·xapR ž>ÁjG¨ðD€$!;Húx Ä4Kà|¦Ek…kF¸ÄúLš£¥âá„ £èC' ‰ôSššŠü̬ç¬o2?*Ï
+4Ü6•ÃC«ãÞ¼ª¢^—‡ +À9wƒßòåöêêw/‡ÑìÆR° Ä2QDLyU¿uRauSe3´™²ÑœÃ‘FZ
+æÃÚ±µƒLâ×!ëVCÁjêTeÏãQoRž $6Å=V9-Væ™ú9¼„ÃûÖ=¤À,C
+lÞբ߰C{(K‡<ÒÞ´„‹‚
+éœ/¡‚PHJ ïüö­ÛߨâÏ=²’Ã$–Ì v¹sf [¶Ø± ôSn3ä€é‚ˆ’c&JÕPÓ&ŸS>Vp€9<9$±d£®À¨mkJÕ‹=%ÿÙÔîd!É
+ ú¤d².œµrJ =R»XDC1PKÅ‚%UR£š™¹´Ù€9P©©‰#HV´c¼†ú¢õÝæN_ÜçÛÔ„§gÞsÇ~´EDŒ^ð†Ç€Ç5aœÓƒ\1Õ—Ä‘ˆh˜Èvä6ßØIÀB€hü0‰Ž±K°gìÒû¾eþmç›vôø¬•MB“(ÃÇø뮽h×Y™/xdCac5‹D`O^ü)+
+HIV*û=Œg@ÓDÉx{®Ê>(AV³î0`[E¹é‹íCçô<"Þü>÷`”XNŠ Ò‰«à=&A|Ë*fNil˜Fq4U;»2ç(ê‰V¤B!åñ>ÁT%è…? éÕ鈵ƒf ü”HP©ñ“kѧk:ŒÛb’u&÷l0Rgð•Bˆ¡Y‘·oÆS³eNœ'õ«@ýZ kp_B™Ã` 9$‘­A E0¸ñ€³]ö±àËêíçs©Rçìr­©‚¸Š&zšŠ&¥ßöâð*6ÂØÍ–Öj‘OŒ+¢W87HÔØÿ£Ð =JœYàÌÍØÁŠz‡-â}@÷ =v¾"‚ã~-(†‰IÛus¨¹‰f¹ÂÂjwè¸ do4[‡P×.[²pɽmªêPƒ£ð_ÊÑÅ”ï) Ñ¡Ë8{‹¡¼œ¾[4œ”ô€yâ2 Wy—ïýèÜ nèËL
+©‘™Å៹ÿáx‰À¡O£^¦zA~.úÆS{x7¯xs±»¢9žÇÊNßë¤"Z‚HQ˜ØØ+®ãaÙUà ɢWÅØ–Í]V.)NP(‰L¼¶'XºdÁâÊÄÎ'w¡=Žþ‚YKa¹©üÊJÖZÄóÁ{z£•ž8`S,hÐxÔyÂ. ,ãˉÄc9®ÎaÚç¡X¶Ì–(dÁ€›è»ö,é1Íx0sV5ŽïDÊÇeh驈C¥–ÅBŒÅZ£I îAÐ…JK5ó°H–¯Pòoyµë£Ž#Ùxc‹)·ÁvÇ<ùd&
+ÂÊ£°9F‡/ùøZÔ®£½K
+’àwpdÇ OBY%Àqôo!'Ú¤7 »‡}æB·*M¼Ÿ = î×CÊr¾þP—Å×|²4¤L¦Ê¦3^ç‡Ém h†ùàžq¼4Ýh|,< £On4ÃØöhk ÔÚPF½®ú¡2Hx|Ö*F xþ3Ð žƒ_™ c<‹Èi¦B˜)™IµâDôÂÝ’ëQ3ͽƒ‡Ø¤¨‹¶¸+¹Æy¢ø}à‚Ç8;•ïÉÃчg]ôÿ°•C˜!Ùæ/5]žcó~øÉ化Óë KN,o4¬¥Sá°Çq ¾/Æú–J¸*š^FÙ£Ë(«çó¡j_5 jc› Ó8BU¿kO4YœCBnI=œCo}”°F’Æí)ôãðAì‚6KÒƒ—V©ú7]+e{Ýçoèã1 a«|ÊžyQ£ˆBûDr€€s•6éËWhQ:¹|§i2†9ÈFÃðó" DƉNF4ð‚”„V¤3Az‘>F… ›ÑŒ>p–탻Ëu±Ô;ÏråË<k¹YÄÁ×¢ÊÛ1_B£Œ…aZL±Jû{?Ëê´e6¼Ëù®À…ŠAÉ–<I(VÚF¬
+¿HƒÖ,©(Öf[.&Ó)zKRù¡Në:ᑧ†WG|Kv{½BŸEF½ÅÒþFïã-_5}^ÝpêÒ_>ÑÅ°üïÿüãž–Ûñ—H€ØTd¡7.à 8Noà¸?ðR€kV¨K/•ÜUe4D9]°çJqàÜD~cf´1ÃÔÃDÓ«»L/p*÷ò ò´eH\ú/üqòúgN¬~^a´žs|; “~~O‰cJâlü@ëx¿‡í¼êÅ1Wןä;dg®‰W õû=œð‚ôŠ02ÊÃx kFõ$ûÛyª‚üŽúó{§§–bz«Ùïj—c€–Þ÷Dã0þlálØ ½á÷qe‰`MQ<‹; Ú6‰'óa‰åGtqð§ÕõO´M9Uzkê#v\2aõ¹×?.Œ¢D¨íUÝÿ-BP¡Æƒ¬.Û¶´,Zžuâ ÙHíÒm7àl™&Þ \~yŠE(m^ð|-(CTŸnRb’Ø?‹=œ…ÔÎ&î>ÌáM4!
+pžÐ±šI„¢æO`I­ä†í•¶
+(
+¤êˆþgPÇDø‰lvÅendstream
+endobj
+1932 0 obj <<
+/Type /Page
+/Contents 1933 0 R
+/Resources 1931 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 1925 0 R
+>> endobj
1934 0 obj <<
-/Length 3502
+/D [1932 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+1931 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F11 1509 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1937 0 obj <<
+/Length 2802
/Filter /FlateDecode
>>
stream
-xÚµZÝsÜ6÷_áÇõM–¿$qú”6N/kÚKÜÎͤ™Œ¼ÒÚºìJ{+­?z×ÿý
-…{îTï–´ÃŒh¬H¥;Cí#–ŽÀJxmÞGË«ªî½Ö$‘ßß:Ü”Mpj¬ôjÃU=§Ÿ$à éÑÓú‰]ªæô£eBkÃIFk›Î% @7£þè\3ú€¸“3¹!mjˆ @åØèòb6m#ºÀ3ðz¯Bc÷õ
-yÙPxôµöU›ØëÃèõ ±Œáÿ¯ÊŸta¹>ðøË,ç ²6CÍÅÁýç®gÙÒÆ\.ë«oË͆J|„Üxï@¶ëÃìn?>2P8†@JF
-Õ{¯Œ|¸óVU
- 2Ö,.¤bú5w
-µÐ2H§Mà Í97“™a¿ÃŽ.«°µgÌKZvhë-$qàš”y›Åšâ<”.3¯ÌÁ¼/… âEPâºÊzÒ+w RæïðÐÿtQÞ:€B3 ­A€2%%ÿuÊÕ5‹O‡+tÝ
-g<Ð>Gù –ò0}Ý~ %Î.hê6U§HŠ£çp¨Ñ
- ?ʨkv
-Ý‘Dç}góP*(Š§šÁ&öº¬ý¥Ð8bû2ÙüÑC=a%å–'«¹µ³<¨”>${:Îw—m7K–ˆbUª;y§®Ò[9¦Küy¸ººŸ\o®öYsò«gVõ~–.»–0Ýã¸Fˇ+gÀ£õ—á‡ÔÈpyÕ¹U1=v¿^ëqfð}:#SN€Ò uY.”9IÁÄ¿…ä|×ò°šþy’dqþêí{AI†Ä»œíöPAÐóšA ¥œ|é: ú#`£ñeëñ„v6÷Äç´HIó9FH?S2öâ>yuˆé§ê\7iyÈw˦ümîRDr ¢ \ЉØ>a 9ZÒéH?¿ú‰{![_â;  Q²TÕ–t_õËû9qa'tlÓáµê\jVÕ¡QÞZàé(8Åí
-PsM~Y&êw°!zFä‚(cÍ'?]
-‚ðG k/´;È5cáȺLw DšY]'În¤”‘‘—Ç›âÅ4öxe 9Xâ¥65ßfw<&”m1…{]G„Úá YÑÕˆ‘½ø²(œX¢È6»{Ô¿ù“‰G.ø·ŒÂ Ñwåö°¥J¤;;¶[£ñý„ãë%¤±ÉÓþ%׳Ý{©*Íœ¦cgŒ‚3ò+¹TMóãnc•"UŠ_Ú€@.ŠvQ$]›:ÅF²\$‡. 2–Vüt”ÞE‘:vQX“d§ôìC:¦øU þƒSb;›)PxÀ窾šÚ—[ô7Sv²9Ïl?äàÚvîG·?Îéx|Êé(Ú$éC'€¤º¿VÒ=CN!#º­‰Ì÷©Þ7"Ü QçàdË$ÙHöºiÚ³ëˆ
-󸈓ÁCäw9”#Ћ5ò&ýÌ-a)¾¢Nîxž^Šên½ÉC
-ؽàAMAZ‹ÿÚ\‚7ã±a #ÆgìLƒTx”
-zbED/½áN¨ªähë:gú=ÑùƒE 8æßSRqÇ4úÐ}—µ«kòž¹¯µÅ¼oîèû¾âOÑØîi¡ÓTu+Ž=`,ªyðu¦€kù“
-ñÈFçw-„ù‚š÷]b•_üaê+ñÍ¿œÑ2c§¨!|GùPÿ-ì$òendstream
+xÚÅ]sã¶ñÝ¿BrçÄ_$0yº$¾Ô™æÒ^œNg.77´DÉœ“…¤ìsÚþ÷îb)ÓgߥŽ,‹ÝÅ~³þÄÌš$UNÏr§“
+3[îÎÒÙÖ¾?Œ³ˆH‹!Ö7Wg_½Rvæ—ÉlvµвIj­˜]­ÞοýóË¿^]¼9_H“γä|a²tþÍåëïâèóíO¯_]~ÿË›—繞_]þôšÀo.^]¼¹xýíÅùBX#`¿d
+lxuù— }ÿæå?¾|sþîꇳ‹«^–¡¼"U(Èogoߥ³ˆýÃYš(gÍì&i"œ“³Ý™6*1Z©Ùžý|ö·žà`5lÒŸQ61Væ
+”b&D⌑# —dJª AZä 4MçmÙÜ– ‰øsWt宬;–¸)v»¢A‰¿z¥åàbÒÙBf Ðs`¤‘½jÿ¾X­š·_í›r]}Ü–õ;Zø'Ò™I•8TÓ¢gö¿%Œk¿9´4¼/Û÷¾y_{š~MŸwD7‹áæ}ão«U¹¨>®›Ï 1b );”m÷_¡Q·ÕêKe)Wuû¥çãÞÅaµ_´Õï%êÃî:^Ï3(슟M`Ä~×u».›ö‹Ž»kß슎€¿¦&¥‘¯Ë ÜEŠÿŠL×÷ oû-b|è§NýPÞ·ÑN#à}¼Á†Ð‹Öšeyd»Úëà‘]$!rÞ“ ”äZ™@èOaÉ$.ϳÙ
+ÍòDåR?Æ¥ùC\Š\%J;7yñ#.ŸVçñnþ7ïD"C^˜P'Ä¥f¬M^@˶=õ4ŽäCî¥9ÒlBÍñÀI=Gö´K´rÙ${G G,Á¬@é1×âQÄ#,œžK¤0zòJ‡šêoôó•¥VzâªGœšÿ£²äó”%óDh+'Y9´å"( _ì½ßž¤®gÏñþŽFÉãiã„Äa¿‚Z¦ª;(MŠí£´Tè1Iˆ÷¡æ×Rp®IÁhT~¬¢ìÓUÔwå¯i*몫|M¢^Ñà—¶Ø”|Ô'Ê««›²ççˆ$l’YpÅtX‚=¤%¡ðË¡Èd´o©˜¯ˆ·²¥éò¦hŠ%¨¬j»jÉÀÎÓ÷º¤oѶ~Y™Íïªî†WèÓœ ;/w¾ ä¼.v¼•™„ŠnéÔür=Ú¹§­ÈÓGÚ»-ÏżÞÀ ᶴM”qù؆*dTõ}¹¬po¹z3ïnJT¹’á
+»™\L˜a®æË¢¦_. ^#ÁÁd:¿'ȶ¼-·Œ¿!%_ã=lMÁþ@„lÁ3ù
+ës¦\Lˆ¥„I´YÌðmUÞM9—N¬±¤B›ÉY÷#ôʺĦùIäyüœ<…îí¡öLŽ2wE…ƒ4ëcI°#‹™¼;Âõšç\žÔâÁñ-º™qpdð 8«»ñ-¶¡ž@lÖ¤$,
+…÷Œä÷ ºa®hLbÅI}èCÄR)X Ë|´ÚÔþèµ:Oà 4B¸­ šàÑ89ª 1 ÃšÐOžCð„üiýdÎÊ)ý(‘“lxÈH¶Ó³„†ÒMË/=kBwV nI›
+"P1 «r]¶]›ô'x=%Ÿ Bmæ÷þ@ƒUÕRx ³îUé,è
+¹ Þdׇì®™Š©X2P8†@JF
+5x¯HC¸ VM ˜8ÄH¼žt)|™Is¾âqòE–E¬ª y[ôñ§7O92™Fê$v;@°¡µ|2vË4Ѻ7ïÑ ÊD¦
+FøI³ùï!nâ(6È83(HÍðF
+µ°2h§u¤ Ë+^&3C¼Ãž«põH˜EXqèüš8pMê¼õ|MqF×EPæàÜ—@"¡áUTâÚGe<?*wª¤ÎßaÒ¯×e°€Ð X‹Ö‡È ”25ÿXêTË„·C ]/¡ãŽÖû¨ŸÁÑ*ﻯa¤cî‚¥þR•”¤¸{ªÕøBçÌ'«„E5²³öƶÈ%TàÅö®ÀÿŒàøÎ7Ð+²Œ‹c€íÍžz¾ÌQtÈÜc¹ÌÊD+ežËt.c…ŒZ›ÌF÷äép“;7J,WÅßpÓ¡ëø²äq(%—3=•NÂ$à0'¯íЄjãíÁ OI”ï{›‡QIQÜ*.6ëÚ‡G5€qÄc²„ÔC˜ IµãÃ<¯ö–“ŠŠÁžŽç},vX7G+æˆb•U=‹|§®r´rl—ø{}ØlîOž7—MÑÞÄþ*Æ™¥ošs;?ì;^Àvã‰#V΀>FëÏ«¬1…ÿ§N¿ªèÞûŽ&<¯ëìà팰Ü
+w
+êv—ªáoH0â¿W.>veM>ï÷Þ“¿Ÿ hKÁ*|x4âT ý5já?Ím"=endstream
endobj
-1933 0 obj <<
+1936 0 obj <<
/Type /Page
-/Contents 1934 0 R
-/Resources 1932 0 R
+/Contents 1937 0 R
+/Resources 1935 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1926 0 R
+/Parent 1925 0 R
>> endobj
-1935 0 obj <<
-/D [1933 0 R /XYZ 56.6929 794.5015 null]
+1938 0 obj <<
+/D [1936 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+558 0 obj <<
+/D [1936 0 R /XYZ 85.0394 769.5949 null]
+>> endobj
+1939 0 obj <<
+/D [1936 0 R /XYZ 85.0394 751.9672 null]
>> endobj
562 0 obj <<
-/D [1933 0 R /XYZ 56.6929 575.952 null]
+/D [1936 0 R /XYZ 85.0394 440.9473 null]
>> endobj
1778 0 obj <<
-/D [1933 0 R /XYZ 56.6929 545.1349 null]
+/D [1936 0 R /XYZ 85.0394 409.451 null]
>> endobj
-1932 0 obj <<
-/Font << /F38 1082 0 R /F42 1288 0 R /F21 994 0 R /F22 997 0 R >>
+1935 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1938 0 obj <<
-/Length 3857
+1942 0 obj <<
+/Length 3520
/Filter /FlateDecode
>>
stream
-xÚÅ[Ý“Û¶¿¿Bo•;K|ñ“cŸÓË4Žk_Úé$™ OâÝq"‘ŠHÙ¹¶ùß»‹(¢î#ÎLç‚À»Øýíxl–ÛY•åÂÉ™q2S9S³åæ,ŸÝÀ»¯ÎX³ˆƒé¨//ÏþòFؙ˜æzvyвYn-›]®¾Ÿ¿úëËw—çïŸ-¸Êç:{¶P:Ÿyñö5õ8úyõíÛ7_}÷þå3#ç—ß¾¥î÷çoÎߟ¿}uþlÁ¬b0Ÿ
-'&¼¹øÛ9µ¾zÿò›o^¾öãå×gç—=/)¿,ÈÈ/gßÿ˜ÏVÀö×gy&œU³OðgÌ9>ÛœI%2%…ˆ=ë³gï &oýÔ)ù)a3e¹™ çST.Ó‚ /Àå®­šº}¶ÆΛkú% bKf.S íäü_ÏŸ7{z±,jj´ÛrY]ßÑçÛjyKÍMÙÝ6+jw ýîÛ’×ÍŽE Rî`'FÕÝm‰>X‡°À¥ä¸Gº]Q·×0™ÙùènŠ.LJ™_ô³ŒeN)î'7Û¸þ¤µó‹ë‰Õ¤ÊÏŸ¶˜á ¡ `šS¡ps7¯›,'‰ýç¼\=‡.O0jAôpæ¿åd!ÚÂÕí`z=#2‘K&“hÚ‰E„eìåßvEWnʺ£%>Uë5Ή;PZmìPâW%Y¨Â*›ØDÃM椶§ö!y¦·‰˜¹!ÂØb^ë°g]mªŽšÈ¸oÔûÍ*ŽC­Ç¾eS/÷;/aÏöUõU³¯Wôðï¦.é~[þŵŸÔlF‹ äÓ‚š¨d¨áyP¹Ù"²2UÝLȇ‰Ìp+GZqB<BäQ<Ëuá­eïE¥ÆŠˆ=´uuY:º ÅrÙx†WU}æ5‡ùÇ{æ<ÏŒÛP»ØužÔ2#3.{ˆJš¥X–;Ç¢ªH?ärzmÀUÅ£¼~.ï¦Ö∛šD%¤›W+P’QK=Å”¥ŠLö
-‹Œ` Rò™¶&³Ú>Æ3ðÌYk§ý¢'¸H(æ¸`ÓB°~]o)« 0žÙíJd¹ö¸!nÀïôñj›Y¡FÜ%œ#0Ù1f þAþ× R'Æ9
-\µ¦X¢PG[‚±‚Ž²ùièh€_0"Š~ÈU~ùáâ«çã#aLgÎi=Ó žžéåîfF÷‰›íÇ/Ò Çnö˜.nãC·n 8Uu´­2ÆÄ`3Gž>zhcZAŒVÿt[ú}èyW¬ö&ŒÝþ ð!
-œb\È$ =§“µp°Fè!:âšÊÖ„Ž¶º©‹nèB—%Ÿä_zƒß›².w ƒ+zÜ·$åÂÆ`ê1xQè¸-ÄêÐ]l·e½ŠƒP1›I!QÛ7%†SÂÌ_zæò!WvQ›]uSC=Ô&¾&ìô´­)¢JÜG ‡Á¿ì+j¬† ]4J2¾C õ"1”clžõl$nûå‚¿ý Äq2›ÄÆÍ®ØlŠ= Ûo§üœËŒVúà†˜–i1n¤Z¬×ͧ–ÚD°±Ù¯»j»C&
-’JÅÕ“5NdÎDa<‚Ÿ7´už%à5.;ÁÖ LX•]Q­Ûç<˼®Êv¹«¶äÃ=._O‚Dk˜ø?ÕH’©2âw)g"’®êqÔà•q+ÌLA  þ@ Ô_¤Ž#cºƒˆŠ5
-䦞¦oŠ™à¦ÑaÊ
-ÙØs.dZ.t‘ âÝÝýæäò\ßkN@PÉ>M žäΈ޷öÖ$bÙÆW4u ÞMý¹ÉCÄïèTü”ÄšüÔš<™†^\…IübýÎÕTü"´ç¤ò;&æQÐí鉡ÆçƒasÊ€”„S|À"tdP˜DcÀ¢N,pPLö(ùð©*=tè¸ØUKbLçÖ éÿh@ñרÇk˜‚sÕì ö“ƒø”ÏsãÄ–øŽ2ÆEÝNÖv|Áß³$®5†=ånSÕ¡µ¯ t·>mÔÑ‘@cÝ,‹5 h1U™%Ž÷™5Ž zóöÃÅkê8ýöµš?i*`_’ð†,Ê@|¦Ý¨\ǨÔ8:À —}ŽÚÀ‹]±Û”¥Ê,d>¡„t4Ö¯úRh7ÚÌǪü÷ð›ë¬ðPõî„°ç*9˜FšØöQ’{¶`9¦œ]ÑUmW-ÛÅò¶¨ërØüp(ÁûË©eûe$×ÁªœV¦/ÃÔ°ÒüI ¥¿§ 2µ°Àú¶?yÜóÿ%LdÊH¬]eF
-åIü9¼"«N^P
-g‡U0Iîi~ È Ù¿âNLnÐçÿ‘š( ÿ´)ºåíOë
-K,þÅoì‹”|>ž#¾³,{1ÜŽ—îæ·S§ ´¥Á€Rö§Ìó'žòk*ÑVí¢(ßaÌ5¡ÄýñÛû‘ÅX¡“Jíx7y8~#ÍÄã€1€8ÁQϲÙlöuµ,BIpûÀ*ðÞ ~½·„ßP†qtƒÅçí] kP»X‚Á&wÅ"œØ’UvT îš];„›äFƒâÞäåóPD«éÖ-Í
->][*vͲY·qÕ@Ð3+^ïcý]"‡sØwôfIý‹Ó¥ËPä2Šü¨oýõòòµzAC»
-¿I1 ‹ó Ÿ#èq‘2Œîn=æB+\óCËÑü×ÛjMwn*z°µ®®~ݬ9X-·§.—%Ë1aTÇꢒø~ Z÷˜†—œ›·šD€ïŽü(t¡„¶¾0/À_Ôaèuøíè M…pi_­CrÚìi:Lè®wÅî9Žëöõ'ÖoÛH0î꺨Ö1¿!~GdœÄ[%Õ<›ÓFð²ž0\®û+]Û‰«*hZÖ'ÂMÝÑZ¸Wîâaàƒ%1qç£x¼|õŽžÛfù³·~h£'(k*°Ã˜"t“¹\
-˜` ë>(™f]DÃô%K¾_ ùƒs•fdé^Á><ØX7Ï¡ü
-’~Ùæ°|’¥jöœ ìá==ñ |Øb«#¤K©—³Î8sê«´<Ï —QÏBuà(|ƒ0€spU,‡ŒÝ‚3úì.R\¤$'‚8ÈÕyŽÞ>ÃmúâÅÑ&h•áöÜd¤øÐ&a¥ølÒ×V&,BâM§ë-b!• 8„CšüÚQ€Êþ£‡“h3ÉìÑ—Ž.Ä@<„­ÿäl"®á1ŸªBäƱT?*ñ›÷ ±$, ç`Ñámòí¾óÙ6Ò˜ƒÊUí/æà%Y*4†FÁ@îú5»¢
- ‹m…Õ~|äÕ¾z /} ãdOÅàqÆ_ÞV7·ñóÚ,ÂOiÝ$Eq¥6½sL*(¡%Ÿ'ùš09¬m¨[lwdÐë{>=JÜëTM>­¶
-®¬Hàé< _Žg¦O5N©—
-9w?ðÔ:ý?ŽÌefñŽ‡xR€ó_»D÷>ô%0xø‡× ú¿Ÿ!ŒÃ‡øÿÇ‚øÙâendstream
+xÚÅ]sã¶ñÝ¿BrçÈ‚ø$'O—œïâNsIï|ét’L†–h› E*"u>§Íï.vA‘eû’‡Ž.€ö» $ ¿dall3™-\¦c#³XmÎÄâúÞœ%<&
+ƒ¢á¨/¯ÎþúZ¥‹,ά´‹«›®4iš,®Ö?,m,ãsÀ –_}ûöõå›ï^ž;½¼ºüöíy$X¾¾üûµÞ¼{ùÍ7/ßGIj’åW_¿üîêâuYÆñååÛWÉèïÒw¯/Þ]¼ýêâü§«¿]\õ´ éM„BB~=ûá'±XÙ;±ÊR³¸‡'Y&›3mTl´RR½?ûGpÐë§Îò/±TVÎ0PÊ9š,¶J*ÏÀ«»‰€¡É`¨±–YøqL±®Ûh¿ÞFmù[=Dl]œ©ÄñèfÛ•M})ç–mѵزËÖñ ‹WoßSëÃy²|õD̾ÕÝåM)[‚äëÅ®+ÛbMß×s;Ö:VÖ¤¼‰:ßÀðã­*;mº¿+x£¿î‹ÝCYß6 s‘Ò´Sv%Iœ#ý´Ýy’.‹MÓá–“ ¨ÜÁQEP
+¯«iªl`û¶¸ÙWcô¡ÙSã¾lï¨Ó“¥ÅA‚-Ás¯ËdÆMA<©;êõ´Òˆ€€©T=¯šóÎH»
+ÝŽm«²h¢ÌâÄf8Œ
+œêewßø·¦æÁˆ¬½ Ã7Ew׬ÁÈ"šÔcô¼i»³tˆØd© †S ¼„ÇÄ'ƒÇщC±ÂÉì·E6åwL >¶„8 Uœ¸$™;³Úfï+”ŠMºjüÿa¢§šúÖñœ÷ azïQ?0aíœ÷Hc†nóÕ/--·´Înæñ-N&o›¶-¯+ZÖÞN±ŸqƒæH
+Œñ iü‰ay½¦áÛ¼[Ý‘-"&aäóÀ"Zp)>Ü“¼¡‰-g±½·™^þ ª?é¡cåÏ_h´ÛbUÞ<ÐÇý]¹º£&Ù µýYÿ¨Ô¾áYläŒ$Ø&â(;FÑÍž_`Ë ‹ÞR÷àÝ€o:_ÔÏ *—73«igR|ÞbNB–"Õ@Yðhª›ŽN"Ï1T“býƒ2}‚ÐXŸš?±ò`!ÚjQ8±×s
+,[ëÑY?g
+ÊABÒó¿íò®ØP'8þ$g”Aâb]:æø5
+³þEŒ½w {nü¦’éÐ&!ÆŸÜ
+Ä£– ùœ¥ªXö
+‹L‹R€\3°ð»0”²ù§Ê2ÎÒ4/D=Æhˆ’2ÿ1ýàÂSk+{c™ ª§1­ ¤ºö®C³ëÐÙ ÃÑ’*3aÀ”É}Ó‘Û@è§{e­ðOfŒ-:+piTœ|Å)ˆÆ`쵄0©{ Å
+€CÊ„_>ÜòíòÏ0¨CŠF(³CXYå–/çr´9èT›]y[A½·7Ö8¨:q„ÿº/9Öûñë¾4q[‡>‚šPÁòk'“â‘ñ-…¹‡L\‡™¾± œÛìà4¸8qãØáÙrâ¹@
+3ŽÕ\ÝÒ7%³px¢€gñª¤¯}Îà>ÚÔˆ&Ö¹ÑaãSsˆ¥¥æ²)B/¿û¨ Äq½Yž2Ì™pÈzÍÉã¤ÌÂrfaȱz›J2‰ÅÛI„Ü­Ð!f˜ œãs„SáGýt ÍÎ4äw[ô‚‹*¨M¤Áó¿¦ÍÒg€èEȯ>Æës©¹Á€î³ïç‰<êgÌÑ':R2áà |F.ßC°Tå»A%Q%\I”vIó]@F†*í˜,œ{‚,ià,7Ò|¶Æ©8sÏ ç5mÝò[
+»T
+¹P:É›×E——Uû"˜q1ñJë¢]íÊP¸Bwv3ÖB˜ƒ×&Ÿk¤Îè'Ô8õŒT&* .ëéy­°@9¹Ð:MdO„ýðh0þøÜ>Â:
+èºJ‚÷ˆÝt?dcÁ­ ÷s>ôƒßÅ®a-…J•>'ôö~7 ¬‡“\ÛiaZ !‹“O{Ü>¥aœ£³±F~¾¯5Á×Ú“¾Ö<Ó×úzrºÎÅ©Ðfšêu´×—öZúj9՜Ϊ±÷p¡®é Ðe'=-È‘íÚirI0•©=‰4¸$˜{ÊÓ:K ã¹BV±è+‚è‰(û…SZ˜ùJÁÄ?%bÆßonr6–ÛéÀˆ‰C—tÂßBô |3Ÿ§o&IG®vN I!{c
+Œäy©¬²}éÕ_[>jN™öQs„F÷ ßáIêœêOÕÞšT(uø*  Ñ®á$w‚Cdè#©ø)kòC†ÖäÑ4ÔqÍ‘Kêw>QŠ\”õ””táèBâ`O_ü>ý§ ÈX6 œB—6¨Ü ¤!T1§C‹÷]½—|ZªÆŽr\ìºe$;‘Nj¼ÿG’èy¾†«ý óÀ=£Ì3#u¸¹ØQ†Õíl-Ä¿“Ȧ!i-Æ;ÅnSÖÞA[ŸKû4ßIç4ªf•W4 ÅpcIÉ Ž§ @ëCunPÏÛ÷—¯@w§Øêoü,%Î$ˆ|Ÿé 0³™›Ÿ“êÜD~¬W}N×@Ç®\íµ‰S•<›ƒÚÙ ËCñpzþ±,îCžËÿƒ`±*Àuâž¾¬€áMCnN]Û¿
+J²ó(Bø"SÙvåªVwy]SùþP´öïƒvùf“óÝœ–ãr4è°3.í«VG-¬ô/ˆ_Ãȉ~  1µ°Å°íÏÞëùÿŠDÅÆi,öÄNCŠ(þÂ]„tÐA%œÍ«`rÜã>|üÄ~S‚}ÉLýOÍ«
+/‡‰*È%ƒ;þyƒ×H?W%V$|ÇïŒö‹!zñÝq1ÞŽgפêýûsÒøÖ)–"I{)Kñ™R~EÍò ]ãAヿL=Vâ^üî‰i=·›™üŽ}×{ºáJ"ÁŬø
+ÞÉåªÙlöu¹Ê¹ˆ^û@* WD’ýÈP>M¾ó‘Ëö¡…5¨¯ÁÁ&wyÄ’
+þêmYÑ-•á¶ªòúÓ¦’`µ2=u«meŽÕŸc’Ð?®ªœ6 ­À›ËäØ4dJ%ˆ;:F„Úú:.vÀyQóÐþ輻¦B°´/+!¥ÍžQ“0
+TïòÝ!6Ê ‹ËÜþÅŒf ñúm†]Ýäe²¢gäs™Çƒh‹_]4#˜{]ªL¬ç/Dï.ÿôËÓó\íb•¦òñG¥¼'$kðŠ6Îâ4<!2ââSÇ•qï˜{„ï=£ég:j™é#„Ç®ÇLø“jendstream
endobj
-1937 0 obj <<
+1941 0 obj <<
/Type /Page
-/Contents 1938 0 R
-/Resources 1936 0 R
+/Contents 1942 0 R
+/Resources 1940 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1926 0 R
-/Annots [ 1940 0 R 1941 0 R ]
+/Parent 1925 0 R
+/Annots [ 1944 0 R 1945 0 R ]
>> endobj
-1940 0 obj <<
+1944 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [116.0003 672.1072 166.1092 684.1668]
+/Rect [87.6538 535.6877 137.7628 547.7473]
/Subtype /Link
/A << /S /GoTo /D (tsig) >>
>> endobj
-1941 0 obj <<
+1945 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.2874 564.4775 467.9594 576.5371]
+/Rect [370.941 437.5733 439.613 449.633]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-1939 0 obj <<
-/D [1937 0 R /XYZ 85.0394 794.5015 null]
+1943 0 obj <<
+/D [1941 0 R /XYZ 56.6929 794.5015 null]
>> endobj
566 0 obj <<
-/D [1937 0 R /XYZ 85.0394 436.6255 null]
+/D [1941 0 R /XYZ 56.6929 303.2012 null]
>> endobj
-1942 0 obj <<
-/D [1937 0 R /XYZ 85.0394 412.2615 null]
+1946 0 obj <<
+/D [1941 0 R /XYZ 56.6929 277.0452 null]
>> endobj
570 0 obj <<
-/D [1937 0 R /XYZ 85.0394 319.5271 null]
+/D [1941 0 R /XYZ 56.6929 180.2304 null]
>> endobj
-1943 0 obj <<
-/D [1937 0 R /XYZ 85.0394 289.3888 null]
+1947 0 obj <<
+/D [1941 0 R /XYZ 56.6929 148.3001 null]
>> endobj
-1936 0 obj <<
+1940 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1946 0 obj <<
-/Length 3008
+1950 0 obj <<
+/Length 3796
/Filter /FlateDecode
>>
stream
-xÚµZ[wܸ ~÷¯˜·Êçdd‰uIzzŽã8©w7—ÚÞ^N’Í =£F#iG;Þžþ÷¨ËH¾´»µR ‚à€æÁ¿?S¡&"™EIà*ÏW³åöÈ›­áÝ»#Ÿyæ–iÞçz}}tòVƳÄMBήoz²b׋cv½úì„®pA‚çœ}üðöâÝÏ—§ÇQà\_|üp<ÊsÞ^ütNÔ»ËÓ÷ïO/ç~¬|çìϧŸ®Ï/éUÈ2^_|xC= =zyþöüòüÃÙùñ×ëŽÎ¯Ûµô×ë{òËÑç¯ÞlËþáÈse«Ù4<×O1ÛJº*ÒöäGWGiöÞš¡“öó=WÈPLPˆ)ªÄ ¥Æ€7°¤Øsš"JœºI›¬n²eM/–›´(tNÌv–ÅÏëýîؽ¢¡MIos¯ ¢Ë‚Þù"r=ø÷©»*w Q1ü½@2BŠ¾6@Ôͱï JiNn,—º®³EÎí¬À-»Ì}ßM”f‘ÿÓñ\*áÜ”»mÚ R‘õä­ï÷lynè‡Àq<Ü__*×Sq0‹‚È £È§ ¡×ßf–ú±Ûœvļ?ÄlNÐßœ±dT`Ó4ÕË““Öx/ÑZ'‡Z‰0tUkjuà&-×X“ ÆÒP“?‘±&
-}Óp”» {ú£D>dOg9ÂðùölG<aϱä‡íù}›*À¨8Ÿ0iËõ„IÇÒ2iäFAlÝP)ô•sJ¾{vuEž<ðwôó9€‚›ÀÂ4ð|8 Ë|¿ÂÓ‰­»M¶Ü¹L "ìy@Úœ9$ÌiA¢$O¸áMáÄÕV®fi·™¾£Ù„s—5<Yj…ÝÃÖÍ|™V8~xRÉ& s¸Ë»Zïr—Ïù›™B#´ $"4>p­øbŒHø–´@ê‹¡.pÚy¡ïpe5 Ž #Ô —$X@O½Üèm:œf_[Ñ_<åÝê]•¬š„
-}ØðR(']­PÊ›æôæײÐô¦ou3¦XÑ ˜ÛvQ,X¦M¦2½ -ÅÀÖR÷¶´€‰Ýúhªe¦‹†XªÖQ¬ÑÚR:×MÝÝ–M-«ó.!+'ûv½+ËuÎôÙ&Ý55ѧŸ.˜³¤Ò¯XáB°½J›”(ò8äµ”À€ÔŠ2¶Ab½K« +@IJÁª˜“ÿLoÓz¹Ëªf>å~Ö3M”ù¢»aЀӪʳeŠ;‰³{7x ZéJý€6až)=Àà°Áû<ÝQÛøÖç„ïÑ)ÅN²Ï/{]O…,‘@nEÁC+UàÆ~âÏÂ0<!Obl;bÞ2ÆرäG1ö„ ‘ÙáfÝŠC½C0s
-“Îú6…WYC¼wYžSÍYWe±z…ܱ“ÝOQ6f¼xpT³ßô&¥nˆmA•®'*ˆ#4»)÷Å
-9©©w„n´¡ýYk°$#W©¨-´$ï¾çAz¾Û£­æßô}Mâ®ÀýõÖSkíÒí6eox‡‰(lµŠØ¡¤dÿˬBH7Áj°–ºÙ<G¶b¿]`¼xŒîó¿š
-aŸÇ|ÿ½\óøìºîׯ pCÝiª¿zÀÆAâ*_tÕ¬Ï5òa¼0iõP8âçšÝáàô´Ö§MÅHoµê’„QÌGl ÆX"Ô’BÄö<Ö= ¡[‘†š+·7®®Îϸ°ÓËý.kî©E¾X6µKÉbŸÓÖœ+{aÎ_[é ðHJ7b `¹¿§LL/wk†ÉË>4YþyÀ¸nËÅ¥^é%”88Ò&öÜÄj Í-×S:Œ¤q€§œZ“ÎÿDàBÞä6ÖÞÒoíM-caxÚíB KÏæQÒ¦t@Tû¤;DƒCA ,M¦¢,æé¾Ù”0Å[K.
-¶ó}+Ê»ÁN*g±ge ë)¬b jœÅ`_~?uŽËE“fFoé#°Óòöë u€7½ JC=`Òe z™BÖJ ÄZéØ“ ÝŽ%¢3¶8]ªœÇr*¾­(FãìLû¢ÎÖ »;µ°ÅÙñhÓ¥…1:¶7iM= mj#5u)c2_JM(bgO‘Û(Ð÷}ŒY’#vg<ŠkŠ´ŠóL¸B;`“®¬>ǾC*AE˜æÙª7¸`¦Š¬y«‹©˜Õm7†lÈ„¯7œ’sØ,ó[S+ H¨¶UÃÙâÐ<w Ž-HšhJÌDp½¡ ¨˜g½_¬Ê-øË¥tÏì‚yÝ—êÀkº@0³ÉÈa
-+GBjh,Ë]/ rºÑOjSPš¦¹Qã|#ÌVn”Dá3A;æÄ^3tj }¥¿y&SqÁS‡é‰$Ö5 YAuÈk2‚çU?@õ<Ÿ¢" *‰¢Y'  JÉqÏ¡è¹Ê¶ÔGù=½%‚¶6(P­u€ž¶N»žˆŸmÈy{«UX
-Á“N ±ëHÐÑ”¹¾5_>€„3¾
-Z©xzZLà^NzÁaà4w@˜Ú|›š Œ\¨Vüg†æÐ ddã8 î—æQÒ%Îø¸Ën£xPšË$âlØV™ù”p£9)Yj±HsžÆªÏì”ÓÁЇŸ¶’ì>5R>Ñ .ßtu[ldáì ·vß@VÐdKÀœ¶æ± Pî›6&á=^Ñ¹Ä Y`{õÆ¥HYiˆ€½5s?mÔ„­+¼H¬!'Á‹JþNCô÷t !» °?¥‡©}3lâÂÂѤCÜAÄ]Ê,ËrËÙÌ6ÄcÁ”½ÀkÊA¬dCA9®Yªç­œZýmùMÓ×0’
-g?¨ƒ¦!0·ù½ŠóU3f4ßìøs¤D_H™¯:iôe®` &|Mzá÷s¯²bL¤°F«ro§^è‡~ö!•‹¿Õ˜¸èñZÌúÍ? é~/
-ĽõÉ_{°N¸¤ÞÏ[ÜÄ柵° =ÿÞà8F¿+ºë¦Æ_ͶÑ;•¤2C' Ff°?DÛá?-ì+¦endstream
+xÚµksÛ8î{~…¿­s³âK"Û››ÉfÓn÷Ñí%Ù{L·d[‰u•%¯%'›»¹ÿ~
+°ÓÅ*-ËÌ5Ì4¯©3¥æÍÅ{j×Õâwp‘×MVæå᤾»YeÔQo²EþK‰l9²P1l]–7û'#“„I­L·ûÏ8;4füdf-ÅYŸ$‰½Ï™4@ZÉx(÷Mµªà,²±õÛ¨Êß%ƒ&®ŽÊ@Á´Pò“AKñ(Ð=Í%Ê ].·Gd ¹ßÅl\ÊéÃ*_¬Ö„q)PwΙÕZþ¥(+c¦s•Uóí·ïïõTÛ¶'&È1
+VhøNl·òS‚•ÌF*XluK(j`ÔŽ' [–(©âŸFHft”LzX¿D:JÁ‚·yý `Nv†²ÏKÙ°P^Mÿ¤Þ€ÎÊLòb¹HþÒŸgwV¯HO@À°†ŠPÛY4yUu™h$U ¤œj`OºXdǶÐÈp4-}Ç-ý;¶¨a_ë¯jÂ#&Ž¥ (6pYœZ1­hœ<Í¢UzDI =ƒÝ^qgQØQï4i™3º}vuF@:¦®±e&IŽ»B+f¹7
+‘Äàç¿T[[Š³>ÉCmåqWw‹ö´¶j8âg´U¨$ ¼|9vKyÕ FšÃ…eÚ­:²2& ~{KB-+úw.ÚAN‹á¿ç~ÏöqL4Ä…3Ztë
+
+®[åÂ9l{O:Ïè—,iScê%áº5*DÿNÒFübx„xì1Hn½Þ•ù"í„×Ýù½JÈÕcÇ7Ž’ G“Ø¡r™¨w¡¿KãÎ £’;:Ewð0Õ<Œ†0aÇ ŒA:Ã"øqêöa @ày jšqÞ¹|†›Îßcì­®óyáÛy9Tf²ÊüøÃ)z1Œ1Ö˜äKÖHrçãX £—ûŸÃX8—HÙI¡?¦Ð
+—½#!¡Ê}°íFþ]•ô¥îæ”K€µCuÀ†%Æ[ê¥Zhæɸ »×Up˜ØÝbEµÈÝÍ…(›öQÞ¡´!wvwG6¶­N»„ž9!BŒ]oªê®ððÅ*ݺûàó÷o=fEÄD[j/Ó&%ˆ4q$ð6jI9Ù p·M7+Ï
+ãâêÖM] ewô’`wFTŒ†?8ð®H·Ôv:‡@Ð9Á#_^„Î^4âb……€>IÔQk$ã±Ö .Qó¼‹ f½#vŸî“ö…@À_qó¡*Ý‹}¦m̬U@Ò-…u¿iÖÇ:ô¾´ŽÞgÆÆ^¾„¢§­•cCÐE«:„³z¥@›N‰â¬Ñ+Ò‚>iÞÜ¡ÖFvOO`˜q(˜½¢Î>å§ð^V÷A÷bž<§뙃:¤öôIéc'EÕ¬ãp©†.±ab
+z“8„™ºodÌÆÝÑÁ° {±.»Û`àP\ %”XÝœl{OþÂE´<D´0䲨¶8Œ=>QØTåò•¯]ßÄùn¾8:«ÙmKI©ël›ô.óÕmÚp[íÊeW‘˶äã:ç’•vê-’L–B|­¿ó(‚}»CYÍ>e>ó¹&Do¶éznGʉ@U@”©|5vH)Úÿq»ÀÇ|ÒÜ«mWG´r·žã­ñÜÇ5&œ‡x¿Ÿ®ûûÀûø1äZÞIûþûꈌ[bD'dñ¹Bþ&Ã˼̻¤.E
+¡” Q
+„Uº üœò)±IaZäËÞäÒ#ùÞ}6Z±éŽ{ÿ¹Êß™UqŸù'®^YU÷Ü À~íÖ3¶2”ÓÜÑ"àSí<
+Õ'wóeµª‡õIÖó\ºó\{9Õ×ÎÝj2™z{¸vn‹jÛ üëNâô¤ö¯ÚÐt5?#ýbÀj–Ø$þLm
+)w® ¤tðLMµ¨
+ß•wx•­ÖgTëñ5™pI
+wo¬¨AgÔ{ð>ÇÜ—ý™äÏ…v>È•`Ìôz“.²ÀO“ÎXfE^R(v\ŒøÎEºÝæùõü%f áù¤ÕWôvweÕð{î¯}§¡Cñ.ò,¼Ýì!u÷NÏÛÒ›TOùêM^’v›°\x*ê©‚Æ÷ƒ2«ÙˆFî©íó* Axx2$†”ÿ^ þÉb”ÿðOE‚Ž¦ÚPd÷îåÀñÏAø•$Šûï9 Äq; D@‡wõrGk”NêÈýa!¿éñÖïrUèÎ=·.xê³OÓít^a¹{6…W ·™Uöè=rúž§éy0á “÷ÙKôÁŸƒÐPI/2D&‚ÈD'21¤œ—xåÞM J‘Pá‘q×IJô±
+ÇjÈÄl$û_‚3 !}VßåoMï‰üš
+IÔø› {¨zžidøÜúP
+ÿ?1½‚endstream
endobj
-1945 0 obj <<
+1949 0 obj <<
/Type /Page
-/Contents 1946 0 R
-/Resources 1944 0 R
+/Contents 1950 0 R
+/Resources 1948 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1926 0 R
-/Annots [ 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1955 0 R ]
+/Parent 1925 0 R
+/Annots [ 1952 0 R 1953 0 R 1954 0 R 1955 0 R 1956 0 R 1959 0 R ]
>> endobj
-1948 0 obj <<
+1952 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [134.0621 745.1168 267.5615 755.9311]
+/Rect [162.4086 601.64 295.908 612.4543]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://127.0.0.1:8888/)>>
>> endobj
-1949 0 obj <<
+1953 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.4503 745.1168 448.8825 755.9311]
+/Rect [325.7968 601.64 477.2289 612.4543]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://127.0.0.1:8888/xml)>>
>> endobj
-1950 0 obj <<
+1954 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [353.8228 665.4315 511.2325 677.4911]
+/Rect [382.1693 522.6823 539.579 534.742]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://127.0.0.1:8888/xml/v2)>>
>> endobj
-1951 0 obj <<
+1955 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [55.6967 654.7216 69.6444 665.5359]
+/Rect [84.0431 511.9725 97.9908 522.7868]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://127.0.0.1:8888/xml/v2)>>
>> endobj
-1952 0 obj <<
+1956 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [283.6482 654.7216 453.0131 665.5359]
+/Rect [311.9947 511.9725 481.3595 522.7868]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://127.0.0.1:8888/xml/v3)>>
>> endobj
-1955 0 obj <<
+1959 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.8521 454.5999 481.8988 466.6595]
+/Rect [461.1985 318.8565 510.2452 330.9161]
/Subtype /Link
/A << /S /GoTo /D (DNSSEC) >>
>> endobj
-1947 0 obj <<
-/D [1945 0 R /XYZ 56.6929 794.5015 null]
+1951 0 obj <<
+/D [1949 0 R /XYZ 85.0394 794.5015 null]
>> endobj
574 0 obj <<
-/D [1945 0 R /XYZ 56.6929 616.3119 null]
+/D [1949 0 R /XYZ 85.0394 475.2691 null]
>> endobj
-1953 0 obj <<
-/D [1945 0 R /XYZ 56.6929 585.2831 null]
+1957 0 obj <<
+/D [1949 0 R /XYZ 85.0394 445.3092 null]
>> endobj
578 0 obj <<
-/D [1945 0 R /XYZ 56.6929 505.0779 null]
+/D [1949 0 R /XYZ 85.0394 367.538 null]
>> endobj
-1954 0 obj <<
-/D [1945 0 R /XYZ 56.6929 473.8897 null]
+1958 0 obj <<
+/D [1949 0 R /XYZ 85.0394 337.4186 null]
>> endobj
582 0 obj <<
-/D [1945 0 R /XYZ 56.6929 265.8018 null]
->> endobj
-1956 0 obj <<
-/D [1945 0 R /XYZ 56.6929 234.7729 null]
->> endobj
-586 0 obj <<
-/D [1945 0 R /XYZ 56.6929 154.5678 null]
->> endobj
-1541 0 obj <<
-/D [1945 0 R /XYZ 56.6929 123.3795 null]
->> endobj
-1944 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F11 1509 0 R /F42 1288 0 R /F21 994 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1959 0 obj <<
-/Length 3697
-/Filter /FlateDecode
->>
-stream
-xÚ¥ZÝsܶ×_¡ÇÓŒ%
-7òûÉ»÷éé¶ýד4QÎêÓܤ‰pNžnN2­))õÉ›“¿÷Žž†Oç䧕M´•ùŒ
-R‘xƒà0±‡_¥Ì`åf½¼~À1|¢\h ÝKeyU ðª0
-r€k±¾/šU™Ì‰#Wà¹yÎ;lŠM¹ž‘ øH”»NݢѱbÂ."ó¨}U†È_Hfãý®º­š¢>$Ѥ&Ñy*£h(€
-p&i2öˆ{ÿ±u<Þ%è\ºÞl¿°I#µ9Ú$Ì~]Ò•‚ Ž‚Ð ¨zW4mÕU¾!z»ñ¾»Ã€1¼•ñæ`@î
-Ù(°Â:eþ–|Žõ¯“\«Œß…]fVÇ´óoÊ¢a^ænžÃ0ËžœÒùŒ±Áü›}°+X”ÍŽÈE¤mz™›P)`(gíL°z¤–à¡HG)Èp(ç‹}·ï-EÇàTcœh‰²)hPÔu°7šˆŸËÒlYúزðAø2&ðµãƒm`Áe Q¤Ó‰\ˆ7<ˆµß÷ PnI°ƒ™¨ð
-ÁÚï{²8ÎT*ËgDž%RÉg !íœþ$(j»-‹]K7-ìª'…S;`0»T>°™$SyŒV¼«uuƒ"¹)wŒm€
-xå l[™%
-e‚Ø[)­9|bÑ<#Ö3Î ð$‘˾Ò;Å \hØ8Å—Ó«–Y<Üñ£¢=ÚGj 1Ò$Xb”%ö(ÿÜåä¼ú }8õ\¸í5Ä¥Qa
-`Û5£PˆT¼è匛Øo -‡öXfð,ÝéúáÈ!û ½qp¸¾oÅßVÍÑ·_ã¨Të îþ©ãNÍ|R3è V=£!¥ä£¤†ó7](pÈkÂ$4º‹]± ʸ"E"¸2†3<˜DÊž‡qnÑOS–&Yúlç·Øó73Î/g+Ï-eÄŠ
-¢Ô#[ØBåA +ïŒU]Óèš)Sè›»ñÆò˜ë`0XAnûf‰í­
-Äh:¡û[s>4Ø¥ë)[߶Õuÿæâ±³Æ@gr¡Ÿ¶â“nQ[mCè”.©LrŒÊì“]NÎmkµ=ØúÝøø( {¯‡±JéJMºe*õâ ÂOéò/UR ÐÆ3ŽÐ¬ÉÄg””aXì;G+º¥ìhíˆ^pþ-c—M'Ê¥bjÒÝÁSŠ%µ”RW¡ÓÔ§z·(?îb§“ ¤VtXÁUkð»=Šêk¿ºáÎP7œŽAX;a–Ø>ôÌF±¡†<
-NÚ2fàÕ\¿ÚŒn§kS:¹N¸bŠ)êCñi¤¡ãòq%!ãÐoó$µFü‘JÓÄ93ÝÐA_Ja“4wöø ´ó§þmKÐuÓ‚!.¹<À³ Ç˃7+ëbòó[>2‚‚ÄEÎV„®97më4Fl´¾ùdîDš}6d€ òì_ -HvLà«·yvOä½/!ù¼Œ³¤à3[ÎdŠi:K2§Å̇ÉÞe!È£Cõ†ÎF+Õ¡ö”î)/6kL>ÕTíýÇ¢­ÖsíM v¢ûª°Wp+‘¢\ö„¢lbRñE©/â;­ô3ê*'ó#E_ÇŠrz¬(>‘
-endobj
-1958 0 obj <<
-/Type /Page
-/Contents 1959 0 R
-/Resources 1957 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1926 0 R
+/D [1949 0 R /XYZ 85.0394 133.9477 null]
>> endobj
1960 0 obj <<
-/D [1958 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-590 0 obj <<
-/D [1958 0 R /XYZ 85.0394 206.3383 null]
->> endobj
-1888 0 obj <<
-/D [1958 0 R /XYZ 85.0394 180.0241 null]
+/D [1949 0 R /XYZ 85.0394 103.9878 null]
>> endobj
-1957 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F40 1218 0 R /F49 1308 0 R >>
+1948 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F11 1509 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1963 0 obj <<
-/Length 2968
+/Length 3870
/Filter /FlateDecode
>>
stream
-xÚ­ZYsã6~÷¯Påeéªì<9‰'q*ãÌzœlÕ&y %hÄ™TDÊïVþûv£<dÊvŽò›
-ÓiœeÛÉÞõª?O ~ÿÑL8 Ø!KEðoƒ”Š“ÄæSk&$Ð:: ,6„pNÉ
-§GÎú>ÓùøÇ uýTಆÅ2á$­¯ èI.@Qo£¢3€À+Ê䮸¤§åò‰uqçF,èÅ«ÊkGõˆ—†¿Vwžhèvú{ùòŒÒiý†ïŸ ™pæz|p0È"³WûšÑS[®PÜÒU «ùÖ¹ÖkÓšh…½œQ/rL!• œu.±Ò0!ŒÐuêO§ $u·듨èn8 EÃã½Êœ°q èñÚ’Ÿ¼JšáôÅåxLìoÝ’ù^Ö-ï’\Ê݉߬š‡Ïïz¡o÷¾‚A) )¦‚ƒ,ÄŽ±IåMÙŸ…
-CÚ¶.७ÞL ¿*7ÌçA®xyóÅöç)Œþ>=©†“Ç1ð…ÐÙ>¯G°ï»õ¾ž{ßù‡cgÁÿz†ã|âô¶;wWÖû¦GÃäa÷È'GœÆŒ6ºr+ÿߪ—úL0ÔHáIÙ|¢ªŸ”cÊ%
-ª“½é÷7€ÃÛðþê˜c¨:ÆÔ/b
-7ž‰8(TËØ>ì·ÛzÇ©ð§S ¾óÇK%4Í&M#›>2CøÎc;üÿžaendstream
+xÚ¥ZÝsã¶÷_á·Ê3'$4OκM.­í¤ÓIò@K´ÍE*"eo¦ÿ{w± ~™¾(×Ñ!ûùÛä©€Ÿ<MLdœr§©‹£DÈätµ9§ðîÛÉc–aÐr8ê›Û“¯.µ=u‘3ÊœÞÞ沑°VžÞ®^˜HEg0ƒX¼ýáýåÕ·?^ŸŸ¥ñâöê‡÷gK•ˆÅåÕwÔúöúüûïϯϖÒ&rñöoçÿ¼½¸¦W†çøæêý;êqôxeÒë‹Ë‹ë‹÷o/Î~½ýûÉÅm·—á~¥Ð¸‘ßO~þUœ®aÛ?‘v69=ÀIçÔéæ$Nt”ÄZ‡žòäæä_Ý„ƒ·þÓYþI)mÔ c5ÇÀÄEF+íø߯q_]*y*eä’DáP³—EÚsYÅÀ9!Äb“UÙC¾^~ÈŸbÇM›µù&¯Zúû.ÿEUmQWÔ“UkjüØÀ§¼à4XO¹(Mì×»}Ì;ªúAÒEq’ÀX2¢âå„ÆF&1no€ keñan“FZ&’?jwû¦}}àf¬Sǃyâ5m=GƤnñîýÍÍÅ[j7ùj¿+Úgüg»3iuÝ6 yÚ¥~Ç~غ¸ÇW÷¹‘W«œ>(xÊö1kgH_*žm|ºìÄx—t‚Êå¯2×]NÏù–EºßÒ³­é¹~²h÷m½ÉÚb••åó™”Ò³^Šö±Þó÷EÕæ»'@§÷Ä ÏûÈÓÑ®›º|øžz›ï²¶Þ¡F¸‡Óe 6)¡SOýÍ~»­›VE²¸‡–>É?f›mº=÷|FOu•ŸÉÅ_ú |Z6ÅCUT]5YÕ›-Ó^4ùš'öŽ¯ýNº™}«>T9Só˜…aµßŠ‹‹vÿTÀ/cͳBƒ^lËlÅohh Èuô`Ö-αWM؈ãÅê‘šDÄp’º\÷³ùFQ13º¦E ¦'GÚ‰‹l›©%2Uõ>,}—“pµæœsf_ew%R«¥WB|>eeAŠè{ÑD°Åœ‡VV=S£¬«‡|÷5ò^-Š–:ÃâÐ üåᨻ<=n R$Éâ§KÔÂó«ï†_5ÛºjxÁU½ÎQ D‹ŽZg$nr«« ¢Ú³êïáOy¼9ø^”d È‰uÿùK±)­#çœ>Rl6ràÑ^Š-Øö„Ò*?§Ò‹S9ŸëÕ=z ¥õ!ǽ[¹‡f” ‹[v†ô¯,Ú)´QMñ9§¦ÒÈH¤Ú0„ètz¸_¿ ,™­{
+yÙZÙر¹"ýòô­×BíDj'Jþ‹R1¬\­—wÏ؆O´#›Ä†w¾ÚòªÐÁ«BËóžÙú)ƒͱ#Õ
+T'Pé!Þ«°ù÷}A ä[äõ`Æ+¼E°öûž4Ž#•ŽÓY‘ÆW«£…TvN~
+µÝæÙ®¡? ìªÌvCwj猶€„…úÂ|wÕg“ìŒ-!{eƒS¶‹-ƒLŸk’úÀÂÚÚ‰O!ƒ Š3ÚÚÇèD§—Þ‰þ°–Òšý'Õã@0b=cœ
+ÚЬd °~•HŸ0ÇjŒYñ••ûÒ©›¾Y׸îÉ„ügº§·MÍo
+®€IJ㠪Åp$J̨ß8ÇøF†B-4ÆëK®ÜJýŠ¼¤Q"ôŸHJ¬¾¶`jªº¥Yˆ_¬¦ç * u¨
+`Ù5&Wˆ½ÄxÙñ7±ß[öå±g°X0§»ç‰Av*Xcop]ÝjŽ"&ßþ9CÄ5¬ÏTùÇ–+5óAÍ X}DAJ«A çÍî[Ÿa“ׄI¨õªbž•3ph–=\ÂÀL¤TGÃ0¶$¯(S,¢Xmü&Í܉œq}álUsI`°¢/õB¶yPÀJ»€­CQ–ÔºËmôMÝpciˆuÐèµ µ]±ÄvZàÏ÷ø˜û %AƒQR¢eêØÕ
+½“˜òïßËŽ0f?žx.l…¤zÀë’S¨ŽSãd)p
+­]Y/ól…ÉÊ+‡¯Zª(‘Î|Y¶;ƒ&#ãÒiòN: ¥R¦cQ¼²’<­d¯äÁÑTNqu ãE%³­ùø´„€ÍG<õýÜL$Þñ—¡Mõà€&8:&O À™á\]Ž•ÉXY®<®3ÁÍ°BG®ò (7ôøªžÇ—¢ÿ¢7$c‚!Akà,Ü;rÎèá¸? s5-*€Rw
+—¨‡¥¶Þu*ŽTF1FÇv¦ÊIz˱Íb®¶÷·-üŸz6JÍÎê¡­=©H‡×Lb•,n~*—~.{PZ‚4Ž8B³&–hH”QP†fw1„þRt´vÄ=-¸áºÉC•-‰´“sÑöPSˆ%™ñMº®Ò…z·È?nC §“ ì-è°‚³ÖÔõAÿPï>t(¢Ï¯ë]_ w†ªát ÂÒñ³„òaÍdd*èÀ+o¤ c†6\í «Í`ýñÚNû®b²ò|úÐpù¸’ñ è·i$¬‘$R9§C¤ë+è!l$Rg§gøx¤¾vÛ ¦ ëªE\rz€gA/—kÖÖ…àWoùÈVð—)GX™òíp>n\NDðب}óÁÜÉîZØlˆ¤ñ+¿ìKl˜@×ø2ÑÞ¥<Ã()ùÌ„ózžb˜Ž£Ø%ræÀ£öÁÞÑM#´oȱnèla
+(ñ‚‚•HP.~EP62B#(ýY|—è䈼ʩt"( k*(— Ň
+
endobj
1962 0 obj <<
/Type /Page
/Contents 1963 0 R
/Resources 1961 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1966 0 R
+/Parent 1965 0 R
>> endobj
1964 0 obj <<
/D [1962 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-594 0 obj <<
-/D [1962 0 R /XYZ 56.6929 769.5949 null]
+586 0 obj <<
+/D [1962 0 R /XYZ 56.6929 724.8214 null]
>> endobj
-1965 0 obj <<
-/D [1962 0 R /XYZ 56.6929 749.1193 null]
+1541 0 obj <<
+/D [1962 0 R /XYZ 56.6929 689.9025 null]
>> endobj
1961 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
+/Font << /F38 1082 0 R /F42 1288 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F49 1308 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1969 0 obj <<
-/Length 1264
+1968 0 obj <<
+/Length 2966
/Filter /FlateDecode
>>
stream
-xÚ­X[s£6~÷¯`ö)—éS6uÒìt³Û¬Û—4ã! 5€XIÞ8[÷¿WB`Cì4àd<týtîGGȲÕY!†¶yVyÛ[I1±­[5w6AÍÐ.ÝUæ“÷§nhE0òßšg¬Úaˆ¬yzutòëñ—ùìr
-lùp
-°o}8¿øÅŒDæsòùâôüìËãiàÍÏ?_˜áËÙéìrvq2›b¤ö; Â3NÏ›™ÖÙåñ§OÇ—ÓëùÇÉl¾á¥Ë/²]ÍÈ·ÉÕµm¥ŠíºQˆ­Õ±!Š"Ç*&v!ö\·É'_'¿o
-ÒLå"R&­s‰Í5Œ,*p°mq¢²¬@#p'6¡¼KýÁ™Œw2m]5HÎn;æe’Ì(m“< ©r¶”¯G’´…Ô㬛†žÈ¥ mdU©tGeoи>ØfîD›£@Jò¸Ù¤ò7+S1A2 X<Þ*«åº)ìŠé¹öH“m¨*
-%ÛT`ÓÊë¸üº@~
-Ã(|«3¾>/Å‹&g£À….~™FðÝï’éï’©Š*WÞé=C¦w ™‚N]<íÑ•.€Pu†ºœÒ¤1‘l™÷ïeÊ[§^· –d€®½ê®HS•y÷ÞNLçz° h\õ/•Ý¨^ÚÆΑNÙEÑßX.ùp¨g ÚVO#AÔ­7“Rú±S`N2ÅÀ]ªx¯©)‘ªvvé Ñ£B=)å$‘¬­L«XÞÕÕðâa©ÂŸ©}:UÞºÍuk–e]”}O$.†ú]cσ†½y xõóÉömÉS±. ÍˈÓ}!pm†N´DiN£`
-\Ï÷»¯I0‚ø☞ŽW³•$eJÒæEbY™ £;NBG*4¨[p•žÈaój³+ˆÿ
+xÚ­ZësÛ6ÿî¿B“/GÏD ˆ—Onëôܹº½ÄíÍ\šÉÐq"‘ªHÙõÝÜÿ~»Ø2ùÚŽ>p,‹Åû
+=Ë
+‘˜Ùb{&fŸ`ìÛ³„yæži>æúêæìÕ•ÏŠ¸He:»Ydå±Èódv³|}ý·‹o.ߞϥQŸÏM*¢¯®®¿¡ž‚_ÿpýæêÛŸÞ^œg:º¹úᚺß^¾¹|{yýõåù<ÉMïK–ðÄ o®þ~IÔ·o/¾ÿþâíù‡›ïÎ.oúµŒ×›… ùõìý1[²¿;±*r3»‡†ˆ“¢³í™6*6Z)ß³9{wö^àhÔ½²ŸQylr™ (“Y’Ä…1rbASÄ©’ÊY- X@ÝUöžø®+;»µuÇëÝ—Ûm¹Çõ¾z£åh[Ä bcò̉# )ËúX—[‹/Í”‰óԘټטß/6eÛ~ þÿ8>1åØ–Ýb=_l*Фõ|îQ.—{Û¶ÇÇMÕvÔÿß×S9ÉHÎÒ¶]U—]ÕÔ¿OØX©½]ömugçM½y þÛ~lö놚Á·ßÌÓìP—×ÔÇñ‡îü¿›Ú~lý¶¿3˜ô?ÆÈ×y¬3
+¦ž²^ñS[~²<Ñ q³¶½6SRÄRæ>%I§yž3S;Ö,ª–ž%=vͽݯleÑÊ–ÝyöçIYêkVÄéýDJ~"ºuÉ27¶›Ju@vo·vg÷<X·÷=Mo®ßñëÁîˆ\V+œ~esÚ0­â"ÉŠé^âK2Ë£¥ÝÙzYÕŸ¨é¬ÏûuC„[6<Ëö30ãR…Š®ºéà®ÜwÕâ°)÷^졵d WÍžÙ·»³h?]»ÛT,‹V„}¶;ìXð}Õ­›Cøº¼#1
+›<QÒ 
+P5
+þÕ¸Ä]
+Ýçñ¸>¡\IâÖ(Ðf/#$l…:]j&iª¥&ˆe3ÃdŒeA‡ÎM¹X€Ë¬n]a#ȉcÿ
+ ¿¯Ë ÒG×ØÇâhxØF„«¿á–‹e¼&¡ò_P±ªj¿/kw- øBùÃ;¾šÂ›
+I„<ÆínçÎ`QøÓÔýÚ ¨ÁRÔ€.¼’©œ÷@NX R¹?”Ð7
+ ÚdÑ?{ax£çæ}x]pg¹9X"+î6ïåèᘯÝœ<±¿Pöéþˆa{³X†üV¡Y-íw²p=éÁé'®[Ëè ð’"#VdÀYpòĺ¼³ÔpKeÞI6â´áwÃËÕNzt1ö¬x2¾u·OJ8n=Þ8èd•ùP»ŒÑQ;ÎOìÒÖ îkøÒ¥6^ª÷á•(‰µœ–Ï:˜"y”$pTy‚y†žx‘ŸÏÁ‹WLTö÷›3…²åþaÅ°jÂè)oÅO]™èñðÕõ” [»d¹×Mdzû—riâ&«çþõ»AéíÁ¥/¨d"eøL°‹·ÃÉŽ¼­†í!À{ራkï¹i (¥dbÑlwÕÆ.ç~ôòdÁIg=ƒv¸PNFÖ‡1°l ,V°Ãâ~Që"”+‚\ÒÔ»è
+ êÊâñ'žbâspú¦¦g=G4;ÙØ;»¡> È#¦¤7ñaÏ÷X8J–&ºßyæn«%#céÓé,ÎÌQÍîRÃ\P€…'ÞÒE—zbgø| ÌlˆO/é––Beþ”ÿI2 þ§xVäEú¼²9çÊÜ\ô+àËG¯æ9€‹ÚãH*Q³
endobj
-1968 0 obj <<
+1967 0 obj <<
/Type /Page
-/Contents 1969 0 R
-/Resources 1967 0 R
+/Contents 1968 0 R
+/Resources 1966 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1966 0 R
+/Parent 1965 0 R
>> endobj
-1970 0 obj <<
-/D [1968 0 R /XYZ 85.0394 794.5015 null]
+1969 0 obj <<
+/D [1967 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-598 0 obj <<
-/D [1968 0 R /XYZ 85.0394 696.3167 null]
+590 0 obj <<
+/D [1967 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1803 0 obj <<
-/D [1968 0 R /XYZ 85.0394 668.9738 null]
+1892 0 obj <<
+/D [1967 0 R /XYZ 85.0394 752.2115 null]
>> endobj
-1967 0 obj <<
-/Font << /F38 1082 0 R /F42 1288 0 R /F21 994 0 R /F22 997 0 R >>
+594 0 obj <<
+/D [1967 0 R /XYZ 85.0394 622.2614 null]
+>> endobj
+1970 0 obj <<
+/D [1967 0 R /XYZ 85.0394 591.5303 null]
+>> endobj
+1966 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1973 0 obj <<
-/Length 1293
+/Length 1252
/Filter /FlateDecode
>>
stream
-xÚåXßs£6~÷_Á£Ý© ~jò”K47½ÜÕçöÅõxȉ ’;çûß»X`ƒƒHrOI O»«oW«54~†f;Ø¡„j.µ°­¶,zºvï.zFñ *?BÕ¯>Œ{¿ž›žF1uˆ£ç,ëžghãpÒw0Á@ÐûgŸ¯Î//þ\«?¾ü|5@ÄÖûç— UëbtúéÓéh€ Ï6úg¿Ÿ~Gê•S`|¸¼úMPõ8:žGë³á`:þØŽwºTõ5t3Wä[o2ÕµÔþØÓ±I=[{€ŽŽ J‰¶èY¶‰mË4Ë‘¨÷µ÷ç°òv;µÑ~†Ž‰éZ¤b@OÇŽP®M±cskÀÉ
-óáÐ|,‚ÖL¤,h¡Mµö:ä>»™óLÈNZ8Àу'u–>ÏúbàX¹^ëHÌWó ]ûâu[º=Ï’
-ù%S»Ä¿-Œ\¤¨ ·öS…st O«`ÕÀRñÿŠ3¹;l-%7PGF'§*SÄCðóò|}3P²”m‘Œ£HyÖù."m:ˆTCªžcô,(ÃViÄ^ç‘"Úg-´WK¡EþºLЃ$EGaó$
-y&$=¦ÙTvƒ±Ð›‹|û
-¨ŽåydW¿#¤¡
+xÚ­X[sâ6~çWxò‘â 6öä)›’4;MvËÒ¾¤ cl9Qc[^I@Ø¥ÿ½’%›8 ¤t±ôéœO碃e˜âg®½ÀŒQ0„®i¹F”õLã^|»êYz ¨æªOÓÞé¥ã <Û3¦Iˇ¦ï[Æ4¾ë{І`ö/¾Ü^^_ý99Œ†ýéõ—Û°]³yýûXõ®&ç77ç“°|×ê_üvþu:ž¨OžÆøt}û«š Tóèd|9žŒo/ƃÙôso<­uiêk™ŽTä{ïnf±PûsÏ„Nà»ÆZ Lhmd½¡ë@wè8ÕLÚûÖû£l|-·vòg™Ðv<»ƒÀ¡ÝE @ϱ’ÀϤØ ,sXή0Z€gšýôÄÍÃôD–ËúžëÀ²`àºê.NOÕ’›Gª¦©êD)F9gj®:™\‰b5XlTËP%’B·[èE+L–J
+
+»–—РuìO-S¾9S½}ÝÖA”,R}Š¢%ex¥‡ ÑŽô€ÕVDµî”M£‘¼¢ãU9¾R²Â±>,¬äaœâˆWÜíî‹$;µXaV¤F${Ö$×"’óç8¿×ˆyªo¦X.RU£0Šcx‘ê}„=ÓWÆû¤!MË ì
+e|øÆCŽ2qÿ:òÐ0ËBªðZ.)¯Ü…–ã:{DÉÞ<3=¼‹Ò±Y‹1m*-bì®öM²ß—ˆnÚþǼؼô yŠ¯½¥lg‡a‚ʼßk=‡å4ÌY‚èK»,bq[ªà€ˆkÑ#xdjvƒØœÐ¹tõ7µsÆPDóˆ6bçoÀØ0) cÃ
+fÛâM­«µsº¬<óB8;æº"Ià¤m™¸˜Ë›Ñ˜¡¼ž—}‚²yßž/sb‡J‡â”½’¸CðÚ9ʤë ô·éšëæÛ$Äéßç„"1gµ|…˜=½®CÀ5Nã(¤ññ&¦ö³"ÙÉ£zRª–(áêeÖÁºJ«½§˜ï;ÀÁ:Æ8L—E³?'¯“ï» #“n•Ð@Å`¹$„Š`²£‰‹µ¥áú¨ëú‡,wŒ·e±Û²<½0ü£RHôæ¬@ÑÚÖµ•HdXÚ&˜2~”Ñö³ìã}³ûxü”P°Ùû®´ÜP’'"¡<ªœûÇ)axV€cl«…@‘ȲŒ‰t„kìÙ'.Ÿz`“ãLZW ’’û†y©$sJ•äŽ…Û%?Éz‰ãì(¤–LÍ4´Ç˶z`"ÝaÞšT®v™ûà£@ŒÒpSÕâ1³ƒÕÖœ
endobj
1972 0 obj <<
/Type /Page
/Contents 1973 0 R
/Resources 1971 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1966 0 R
+/Parent 1965 0 R
>> endobj
1974 0 obj <<
/D [1972 0 R /XYZ 56.6929 794.5015 null]
>> endobj
+598 0 obj <<
+/D [1972 0 R /XYZ 56.6929 540.8995 null]
+>> endobj
+1803 0 obj <<
+/D [1972 0 R /XYZ 56.6929 513.5566 null]
+>> endobj
1971 0 obj <<
-/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R >>
+/Font << /F38 1082 0 R /F42 1288 0 R /F21 994 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1977 0 obj <<
-/Length 1110
+/Length 1241
/Filter /FlateDecode
>>
stream
-xÚÍXÛnÛ8}÷WèÑ^€ /¢$"OiÖɦغ­ëݯa(ÕÅ©&nœ_êbYräø’.º0 ‘CÍðÌá3"6þaÃaQn67!C˜³°ƒŒ;=vÝÁå;`ý¨¿õnÔ9»¢ŽÁ!·ˆeŒæ5[DŽƒ‘7î^þqñiÔö
-ÙRÈiœL£ø*Ó@ù t¥Z{^iLÄ‘Ä ŠŒ] T°ß ò,ø=Ÿ¯ç(†Í\ú#ŽÊåÉZ9¹Ew< \)'Eç)Wm5«–‹Rã^3{ÞæÇÜÊW¤J*Ï_qÙ¸s•G Ž‚åÌ5Vov/f_Aæ“,ÿ †Ü$ZÍ]?XéE¡exËbþ8;+žƒX›pˆPDJx°•gÒÊ3}+Ïd‹g©ÒÛ×ÈË|KÅzÛ<•rÏÓç‚œ†®šÝO_–~=Àdͦ^‘·˜%?c^‰ß ÒE½=Y 4§Ç^È® ?àÏ‹LÌãD³ºaF‰GµJ܇}Œ4üÑF4£ÞÆJæÕjî'RÅliG$²±üëƒr1Í¡”-âDUò¬3iL!llµçƒi‘{&xÚ¸ÙP«Ååª 8›3Ml“-þZ&içU•±&ÕüMbÇÚåVgÁöÜ/Ò¹JÜHÎE|O‡„œ+CYJ>ÂPÑ"½­ü­«îjüF§ÉLlVÓ_˜µ
-M«}§R€”ï©'\dÅJ§'©ü™<59y®ro]yb‚:ñCÿO>TÈÛ?Tðé5þ/+uÌÌÀ¯¨¥H¾ë/Mˆýåê„r®ZEÙœ'Ø ?ÂðÑïµ°¶ ªË
-Š,èn¯AeÈ9ïjZVýnrhƒO¤èeGqÿQ‰È^!ù’.Š£3ëüÝÃwu)¦ ëõ[硺CyIÄ¿Ùçendstream
+xÚåXßs£6~÷_ÁcÜ©ˆ&O¹Ô¹æ¦—k}n_\G‘¨Ä!‘Ø9ßÿ^
+á… W׿MÕèýìâãÇ‹Ùx9ÿ0šÎ[Úö"Ý, ù2Z,u-féÐô\[{’:DžghñȲMh[¦YK¢ÑçÑ `ëm9µË¶éBÛ5œZFËHw¡gyŽæØœ˜†Yzp1]?K˜ áp–g>%ý[·ušNV82%Ù&kÒ]ÐÔm¹8‚ŽeÚ%ÒOå+zŽ3ÑZr ‚ÔäEÊ2¡†4]Kõt®nË A£4!èÙ¶ÑVô™%på‚ú\ Ã<ŠjýÊ› '{’DÎÛ[Fï„çô<âˆTl
+Óx°äaE†Ö1ñf¨h²ì gAÃÛ7P[ÅSÃC™¸wcø*¾™ Šj¾F=«Vñï‰ÿ
endobj
1976 0 obj <<
/Type /Page
/Contents 1977 0 R
/Resources 1975 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1966 0 R
+/Parent 1965 0 R
>> endobj
1978 0 obj <<
/D [1976 0 R /XYZ 85.0394 794.5015 null]
@@ -9073,1364 +9088,1459 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
1981 0 obj <<
-/Length 1977
+/Length 1188
/Filter /FlateDecode
>>
stream
-xÚ¥XYs7 ~ׯÐôi51<ö?9©ºÓ¸©£ö¡©ÇCi)kÛÕ®º¤¬¨Ç/H«#ë^=,‚
-ªHN»ØÿZ¼8*‹gíã:
-ª<Vœªš†Mc‘“8ÓáɘtÆ8‰ ¥)Áï},žÅ$cE&¬Øleã
-!Õª{yG¯$t(ž‘ı×åèE»Ù#Õ.QÈ¥4~”ýœ‡ŠÕé
-ºÓh»òË*œLC¹õŽ¤ÁJb!hôÖGÏ ø´~Û“ƒ*Ù [Öºò Êp* ´ö¸ÑHZ£î V;Kæ}¦ßÚÒàd(zµG^©–r[›˜}ÓAE.û2„]8À”jð¨Ç:_ƒ»‹ð*Ä3%9îP/†Ÿ 0¹rÀ>nVνàb%›GUâ
-œQ zGìb0 pÇF°«ZªÒC~ydÚŒ³IA¹÷­n¡R<çPvä}
-w^,Ék‘ú8˜6¹ÞÔêÅáv íº¿zØh.]>÷vÝáôî“0’ÃÃÁ_ÔGgƒ
-g Tð€÷1'4ãIïýË¿ß@žè2©ß­”?_>Õ,(Žãƒâm®—ॗñ
+xÚåX[s›8~÷¯àÑÞ)º @“§4ëdÓÙº]×»/ÞŒ‡9aÊÅÑÄóßWXCŒcì$Ó‡8 OßùtÎÑHý°Á,hq ››!ÌŒiØAÆ­zwÙÁëo@ñ¨~õaÔ9¹ ŽÁ!·ˆeŒf,"ÇÁÆÈw-H`O! îùçÁÅÕåßóžmvGWŸ=@ê^\ýÙ×w—óOŸÎ†=€†»çœ}õ‡ú•µÆøp5ø][¸¾ì
+ðÃÒöCþÜš¸ž—hË2÷ÙÀ܆ÄBªO m“²Öo«W rÛ¶ŒŠ]`Ýx<©oýù$¸ÖO§úr½B
+Ú»på`ÆÚrÝ+-!bYkºæºæ†îŠ‡mC9VAC§GK°É¡I¹ÕèC–
+°Só…H'q2‰â jŠbéÏ­† [6¤61wiÀ¶48dÈ°M!59¦UËýyà0HUÿï[˜cHb7Êù3ŽH¥+ýTúÓTgYütb‹$5K¤Úµ­Ô¿?ÜÀ÷|¹
+o3‘Éâµ<^ñM,€ç'b*ãd¡MsWÞM"7-œp3/JS1-ªpß/CWE±ú/ãÙ¬ ?
+ü<Átd^íÂ,>ÝTž—­[ÇO‘Ä*IT1r”Á~@(äù£Æèé´è£x[óú±©$+q×)= Ü4]gô£ž“š`7Ér§”=mÒbæ)ñB"‰@ܪšG Ž‚ÅÊÕÔŸÞ‰é7û”n
+ø½›DË™ëK5¨q"6õ¸D\]NNôu¯kôU8D(Tôà¯Ô9•ÙÍKâ­|ÏD‘6k»šµDšNBWNï&š0´ý©…’L5"o{ì
endobj
1980 0 obj <<
/Type /Page
/Contents 1981 0 R
/Resources 1979 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1966 0 R
+/Parent 1965 0 R
>> endobj
1982 0 obj <<
/D [1980 0 R /XYZ 56.6929 794.5015 null]
>> endobj
+1979 0 obj <<
+/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1985 0 obj <<
+/Length 2074
+/Filter /FlateDecode
+>>
+stream
+xÚÅËrã6òî¯PåDU 1xðY>y&ö¬S;NÖ£ì!ŽËEIÅ]ŠTHȲ²É¿o7 $‡öLÆÙÚÒF£»ÑoHŒ8üÄ(‹Wy4JóˆÅ\Ä£Ùê„îaïÉp4¡'
+©ÞMNÞ^¨l”³<‘Éh²8à•1žeb4™ßïÿvöÃäüzʘ ‡qƒw—Wß&§Ïûï¯..?üx}6N£`rùý¡¯Ï/ίϯޟC‘ÅÎKÇá™—?'èÃõÙÇg×ãÛÉw'ç“þ.‡÷\áE~9¹¹å£9\û»ÎTžÅ£-,8y.G«“(V,Ž”ò˜êäÓÉ?z†»öèýb•±8“é€#y`@Á3–Gy:Jãœ%J*kÁ›q˜p¬Ê:lµiw¡)Wšpõf5Õ-Á§ô¹ÅƒØP–DZ<bQ<¾šÅ¦2e¸*:ãítw×´wu3À#”ŠåhfÇŠBâ÷S/€¶#‹ýµ©JÝÕ…×ðfV]wK‹ÿØ£ƒlÍníNt¦0å,ìÌfzúÂ]Šªj¶á/Ýî<sÂÏç­îº»UafË»ªì áÿûtº}ÐmèXè£)×w¸d/Ƙgþ’,1 -5(7öÚß~ù%С5bvìþ¼Ÿå ŸÕký,ŸøyÑ´Û¢Ÿ¾`#GB‹ŸyÌ›ºÚý¶(ÛÎÀJ|qÜ;>ºý¼GoÖMkz<.n¿ÆÕGâçºÒ÷à¦ñÿ«Ìû†}óµ9×êyÙê™L¸EYõ©Ù–õ½Wø¥R…Ï…`zÈĽ~4¿µÅösþ]®ÿŸâû‰×O?«ËÛ )F=zªA'á’LÝSfÐJ¹SŽ:å'Ht½Òµ¡å·úgÎe]¢XÂõœ€»â^÷rö} -Açê@NÒO½¤É8‡¨]CµzÒ•…àŒ •ŒO@ù4ý¢¾Ì¡óæñq[þªC^O>+ŸÎq`å@â˜UØ_)”™b<J£gz~¤ÀXY6’9 9¹Ó5X2õ!y±TäÈ@²É-›ûV@ð²€%³<(hí›5³f½#¨Y‘ñ,æ…q áè÷\° O €Ú–UEÐTåq1­œ×MCßu;YÐ<”s·Ql̲iKì3Uw[[cqAz
+¡€öëªâA€`©Îÿgè”ÔÑZÐ{* ÊŽ0}¬ñõº*gíS
+ovef®‡î‚Ò|ê¦" YH¦2ˆalW/™
+ãùQÖ€Á´üCl¨
+ZK[m1¤ØZÛsa_Çã(˜5€ÅÂx¬‹ È…ý‘L (ðåÔUˆÈtßÃ#§Ç÷æ©­Ý•H(Ô,dƒK@tØTD̶4K‚žªŽ¸É§Ëý[ïP­˜çÁå±%^˜á•ã†÷įõMýù›Áă{¥¿GuMÅÊ5&Üš:’-ôÓl<+ ^< 4]ãPUU„ÊnH/™èqST\:ݪ2ÅaöÉ+§@½
+B˜[ Nmå‚)°Ý–s³Ä <¸j<…¯á~`
+K,> m< ,áª:µåX›N¢ µÙ6a![Ê¿­n¸ÕÍ–zå¨Ý,%û¹_¹ °ý‚QJ^‘
+ôã ÛŠÕºÒoöÃ%”ë~ô8@“¸ÌWùÌɵÂñð –ÁËÁúÑÊ`–ÓDrœI?u”÷KCRÖU1Ó¾h7WH΢X>y'¹L†º ÍÝPÅUYÛÂ
+endobj
+1984 0 obj <<
+/Type /Page
+/Contents 1985 0 R
+/Resources 1983 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 1965 0 R
+>> endobj
+1986 0 obj <<
+/D [1984 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
602 0 obj <<
-/D [1980 0 R /XYZ 56.6929 529.2539 null]
+/D [1984 0 R /XYZ 85.0394 373.8367 null]
>> endobj
-1983 0 obj <<
-/D [1980 0 R /XYZ 56.6929 499.14 null]
+1987 0 obj <<
+/D [1984 0 R /XYZ 85.0394 343.7228 null]
>> endobj
606 0 obj <<
-/D [1980 0 R /XYZ 56.6929 499.14 null]
+/D [1984 0 R /XYZ 85.0394 343.7228 null]
>> endobj
-1984 0 obj <<
-/D [1980 0 R /XYZ 56.6929 474.7286 null]
+1988 0 obj <<
+/D [1984 0 R /XYZ 85.0394 319.3114 null]
>> endobj
-1985 0 obj <<
-/D [1980 0 R /XYZ 56.6929 474.7286 null]
+1989 0 obj <<
+/D [1984 0 R /XYZ 85.0394 319.3114 null]
>> endobj
-1986 0 obj <<
-/D [1980 0 R /XYZ 56.6929 462.7734 null]
+1990 0 obj <<
+/D [1984 0 R /XYZ 85.0394 307.3563 null]
>> endobj
-1979 0 obj <<
+1983 0 obj <<
/Font << /F38 1082 0 R /F42 1288 0 R /F21 994 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1989 0 obj <<
-/Length 3312
+1993 0 obj <<
+/Length 3310
/Filter /FlateDecode
>>
stream
-xÚ¥ËrãÆñ®¯àªZbƒ<’“¼+ÙëŠeG+çÛ‡ŠˆA€&@i•¯O¿fRË©]Õ==¯~wƒÉBÁ_²(l¬ÒÒ,òÒÄV%vQm/Ôâƾ½H„f鉖Sªoî/ÞߤŢŒËLg‹ûõd­"VE‘,îW¿D¾»úéþúîr©­Š²øri3}óéö#cJ~|øñöæÓ·?ß]]æ&ºÿôã-£ï®o®ï®o?\_.“Â&0_Ë
-oL¸ùôk†¾½»úᇫ»Ëßî¿¿¸¾w™Þ7Q)^ä‹_~S‹\ûû §eaÏð¢â¤,õb{al[“¦Ó^|¾øgXp2JSçøgtÛ¬HelcÞÞ—÷P°¯€:Kc•¤ùÙ¾Ë$QˆÏK«L\y¤bôD*‰)cepe[ÆYªSË07ïoô”8+âÜh܉®€•iδ
-vê…²…Y‘ÉB «Ÿ€ã *>ö¤Tø…Ô–ÌgíC¨äÇpØíúý8ÌŠ÷.2ö‘à –Na#Ô²‘¸g÷r™$ ^6‡³~RÙ ó¾€ã˜¤ô²ܸwÝ°®÷ƒì´ž¬k9'lÒ6yG£3t4U{ æ ž-
-­U–Z³ÆpŒÕQƒzÀ1âÏ*ùX¦ÙÍ0óN%B70Àbš9¢è§2Ç{Ù‰ÍÓº+<g’F®my\Bœ 9ƒò²ÏÂœRžœäŒ0âÚ¡Ÿ“*GŠtñ6¼Ù4ö âUPDDò¬
-w²êÕþ,:ª"DG
-ú/tOÍ^¦ìöÍ“¤0¥Ÿûýïür–ó鮟eÑÝ͇¤L
-~™„]!À4à…Idð<×ÆŠãËB~eA2vN¯Ã÷Ù¡ Ãoº%"vû›‰áeCÔN$†Sj•,°â€ãwP*ñŸÈÔûεL%,%BÏÒL‚IÍáßovšÐœÊš¬%.¼°áZåc@¬cñyif“4Öð˜T3_Y"•”>°m+ËåÙ_]ÔOy³îÒPú•ºÈÞ¨» èK)¦„¬)2öŽÀ¨jùFùÕa–AM},¿
-s2©÷t0D¹`ŽUXÁ 6"ŸÎóL˜—ŠrñFPë¾mûg€¯¿Ìš –n˜³ý “ŸÒÏ.ÃÒ!ö•JWÊùÁÕ¿ðû\,€Ù ‡Ò’t¥cbJ¾fQ4œÁj!„Z‚c¤t³ZBe=oÈãK‰Ã~ g‰”xr|vu–ï “'JReÄ»9/öÇ¡ÞË EÕ ¬6ÇjCnå¦üò,Cq\z†mÛC â™Vª'˜=›SY…VÒ!ˆµô.a—Š
-c½Ýaw#ÕÁGA’Ûñ0ð´ßJ)UbK«YK½µE¿õXó
-aFZ"hŒy׸lëWÞi¯ùyûã=~˸úùþ»ÙJòÚ±w;K ÎúØÒôž©Ité­‰úÝè˽%ÔcÝÕ`ìž¼ù\ÁØIEì};§¾P’X
- phUVü‹†)oV
- Å̓ø‰^8™!߶§ª»•ï?’êÂs'QB4§T#ñƒÆ ƒm3ÑzVxI–€í_:¸F翽øÃ#ß…ræÒë°8KÒ³ïܘS“O$NQÊ`["„‘®8¢8¡2ÒòÃ^ï¸y_aèoÃbB—ADåæu5<òFO±{‘ÏÇ“q6IŸ?Ž>^3°,bpû>–jfΚ³¸ |š)Ef!>øÍÖ¼ÙK`àÙñöZ:e¬ú`y:OÌÙ—Ñ/BÉÿ,µ)C¼>–]¾›\AzüxÒOò‡zãžþüäÐn~lóýƒkç,Îdì¹BÍñ£„:B•oÁA™Øä¥9KÚ8Õ7œvK«Â$ „˜yó:ìà(F‘ý0räÁÉcOä©(*­77?Üà€,NŒ
+xÚ¥ËrãÆñ®¯àªZbƒ™œä]É^W,'Z9‡Ø>Œ@PDL4J+}ú5 H‚.§vU[hôô¼úÝ &3É̺غ˜e…‰­Jì¬Ü\©Ù3Œ}{•Í<ÍÇTß<^½¿KóYN»Ùãr´V«<Of‹Ÿ#ëøVPчïï>}ûÓÃÍuf¢ÇO?Þ_ϵUÑݧÜ2ôíÃÍ?Ü<\Ï“Ü&чïnþùxûÀCNÖøæÓýGÆü¸°èÃíÝíÃíý‡Ûë_¿¿º}î2¾o¢R¼ÈïW?ÿªf ¸ö÷W*N‹ÜÎ^áEÅIQèÙæÊØ4¶&Mf}õùê_£Qš:Å?£óغ ±MŒ¹¼/ï¡`_µKc•¤Ùɾó<‰ËP:ÊÄEPŠÑ#¡$ZÅ,4Ël»T§$•®ß?!kÞßé1±ËãÌh܉n€—iÆ´
+º4ÑC¬Pt9ZyUOªûHS…Ö*K-Yc8Æê¨F=à˜‡ñç
+&‡ÿ°ÙqBs,k²–Ápá… ×ª“
+»é«
+(›èèuEïPJìw9K¤Ä“㳩J°|™<Q’*#ÞOy±ß÷ÕNn(ªžcµÙ—+
+p+?æÇ Ïb(Ž‹ÀP ]·À1¨Bˆi…šp2³'s*«Ðª‡tb-½KØ¥"
+’܆‡§íFJ©[ZõRê­ º­çŠX¶‡‚-tlþ[•¨ÒAcÌ“¸Æe[»>{ÉÏûñÆÍOßMV’·žÛIqÒÇ–¦÷DM¢‹`MÔïFW|(¡ž«¦c´à̧
+ÆF*âàÚ>ví„’Ä ¹¥TìÌé ÍCw±'Ö_™¬*€â¡U.ÿ?¦\ª
+î<$ÿÆÑ/à"xŠ|"@$Êø²UCÅž1Ò(Àw*ßÍ™.0r´&i=â(ý hb;›¡M A|¬!å üõf">fP67ÎUÎï®Ó8;¡‚ÓWÞ€,$qQÿ¶ÊÙ€o9T02÷2Ó<vY¾m•^Žìéå..òëÛ"Ö¹H i[¦ã¬°Ùi—nò
+š)kvq1ðyÐ|L+œ…z6[òfoížWÏeØ?jé–±êƒåé,1'_GW¡%ÿ3צbö¡ò
+åRä磞2?U+ÿR‡&-çg,ôÛ'¿ž²8“±§
+5ÅJ U |”‰MV˜“ÄÓ}é·´+LJˆÙ—1çaG1Šìºž#Nî["OEQi½©‰øñdqb _jJa¶ ý»)MzÚ÷üm•å†¹­ÄI—3qáË­“Þ=AC#z²Âó¹½–|1¤È×çÑ6ì&£ }VÇ<ñDœ$ËÐýéÿå–ç8øÊÜkÕ „¤M$ϧ~‘ÿ…É_ýû—ÃL§y®‡\èØÛ UJ>yô•~Ëq~H,o¿ôò1Ÿùó/¿ü›
+þŠšu,>ãl%JŸýÐ'Q1T8:ì8âÂÿ
endobj
-1988 0 obj <<
+1992 0 obj <<
/Type /Page
-/Contents 1989 0 R
-/Resources 1987 0 R
+/Contents 1993 0 R
+/Resources 1991 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1966 0 R
+/Parent 1995 0 R
>> endobj
-1990 0 obj <<
-/D [1988 0 R /XYZ 85.0394 794.5015 null]
+1994 0 obj <<
+/D [1992 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1987 0 obj <<
+1991 0 obj <<
/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F21 994 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1993 0 obj <<
-/Length 3208
+1998 0 obj <<
+/Length 3210
/Filter /FlateDecode
>>
stream
-xÚ­ZYsÜ6~ׯ˜ÊK¨”ÁÅË[û ˲­T,y%ín*q(GbÌ!'$G²òë· ð˜œÍzå²6®F_wƒ ÿÄ"ŒX”Êt§š…\„‹|sÄwÐ÷öHØ1K7h9õêæèû7*Y¤,d´¸YOÖJO±¸YýDL²cX§—oÎßþóêä8ÖÁÍùåÅñR†<xsþãµÞ^¼ru¼I(‚Ów'nή¨+²k¼:¿xM””Ï,zuöæìêìâôìø×›ŽÎn†³LÏ+¸Âƒü~ô˯|±‚cÿpÄ™J“pñ/œ‰4•‹Í‘ µRŽR]ýcXpÒk¦úä§eÂÂ(…HF*?¿-mÁa[ÛŒ‹•ØÛt™E14¢¥É -'’³–YÄaÊ"%•QÉ}Y÷(—ïßÈéà(a±–¸9º¹/@”Be]öeVÑKWôÔhÖø”A{,’ i,µÎ6…Ø>mg—°Ïn[äåGÎe±"®+ë;Z(#ÊG)µáϼýÑÔR² Œ-…`iJÃá¿ï‹‡¥AO¼¦vWÛ悔۾€† ƒ²·„®èöæNO’¹ =‘ñzEíÌ7ÇœÞÃèÀU™YwF’Qh
-Ä.Á7ìI]( ÏÙ%çâåWšü:$¼œ­"T)™¿N„s7læMænç`A'&d`_ÿ´µÎéጼG¥”‡ *Sn
-†¿€-+ÊþžzHÉ©æqâ+K¾ú ’ôrìí¬r®Ø·*ª î˜-ƒmCY £†H6ò ˆ.=ØŠz²ÕÊê
-õ’ÜvŽÏà·1ä‘ä¶ß˜­C–ÆqûCÞßM;&t@)H ¹ †<Oè1Uy½ˆ oŒ1æ&ðIŒ¶êñì± ªe,ÿolõÈ(á‡~½<< $þ<MÄs;€Û=I–èuD¥|€ŽTãˆØ¸ÞfuÙÝÓ šgGM¡]½2y
-¼²³k GðBf ë-ØÜu–Ö•›²sôøÀ#ÅFÉ×í®§†5|)ºÉh¢‡|»W!RY˜f+z1yØ0Žròeþ4È@JŸ 0ýx¸„tpS˜‘9•€{ƒ” PwØœHIꊾ÷ƒ  \Öy]‡æΡ1úíÒ監3ã°Ah&bϹéÄ´%{¶¹hzjY—WqlåG>¹@·…è·A¾#:Ù ·Mו·•[°°û€˜æ¦ŒÁ¡eG}uãÄ
-l¤";'.æZ:9ÑÉ<óÆžWEžYôê[ —êá€!ÕCzm²÷aÚš”_Ô¹j  Aòd¦Ü>QšÂ ¬iŒñz3«a+-CÚJCüþTl{"a§]hG‰IUÓ|Úm‰ÚgFàH&‡¡åZ“<"u“W´D&Bv•©-
-;Ä`©™³Ý¢º°‰ZÆ>ÃÈ•iTñÙÈ^Ðj}u÷cšAH ç·¸K¹s«"[ï;éži\8ý™Q§à„¡ri*U¶¼T!¨TL¥Œ´Çr›^F›0a(kº€ÙФõôFeé6ñúh©ÃžäuíJþâbæ.è¢m
-Uà4
-w1'Ømè®Tð!gP‚LïE¹ýúr…yðu¶o“ýfÊɇÖjºb‚F u,5{Ž M:éÝ]Ùø’DV–*—O[ÍáEaiŸîæ š†iºV´c0§Ø¸ üŒQæöªq»ðöþüæ[»äêøÍÔ:8ÁËÄ ëo(Îû9”ʘK̆.?»ûl’{,Ä¥iª÷43e m4»5Ù/†Á‡¬-“Ü A>Aù³é¨g•A¹„‚ÆÜR‰ng®|qºÜ´Ô˃;:Çnë†oÛMË®L)Ìéz65Q+a?EåSñôh«Ó/EPÒó»kŸh¦1æs{´7²OuS?möLŽlÁ]Ùù3‹:©]ž„¨8lh‡¾o7ôzÌnð<½Ïšü rŒ¨?ž\Ð<ûý£oò¦¢®|šý˜•jJÞ
+xÚ­ZYsÜ6~ׯ˜ÊKF)‚‹¼µ²,ÛJÅRVÒî¦çšáHL8ä„äHV~ýv£3²Y¯\ÁÆÕèãënPbÆ៘¥ãÊèYb4‹¸ˆfËÍŸÝAßû#áÆ,ü ÅxÔ››£oß©tf˜‰e<»YÖJOS1»Yý<?ýpòÃÍÙÕñBF|³ãEóù›ó‹·D1ô8½¼xwþþŸW'ljžßœ_^ùêìÝÙÕÙÅéÙñB¤‘€ùÒ­ðÌ„wçߟQëýÕÉÇ'WÇ¿Ü|wtvÓŸe|^Áä÷£Ÿá³û»#ΔI£Ù#¼p&Œ‘³Í‘Ž‹´RžR]ý£_pÔk§†ä§eÊ¢Ø@ $#•Hžß–¶à°­k&‚%Jìmº‚3.T<[Ä„›´W‰–#•m 7†óF†ÅJ*«“û¢êP0ß¾“ãÁqÊ-qwtsŸƒ$…˜UÑYI/mÞQ£^ãSΛc‘ÎëÚQ«l“ûÍCÞ´n ÷l·ù²øĹÌWDصEuG eDù$¥¶üÙ·?ê*G
+Cv1883Q$-‡ÿ¾Ï+fæñjÜ®®ÝeM×R{·} Í‹Îڼݛ;>‰±2ò#jz"ãÕŠÚYhŽ=}€Ñž«8žgvhÜYIÆ‘c
+žSMI9_× õ,ˬuƒÎ/^QƒŽ€ÓüI¡íD,Iµ8³Þl‹2_-ŠŠ«|íÊ.,28šŠÉÎð9ßzëR€VUpâX«ù)r—·n.ðÕP³»Ï*j_¸YÙCN”>owEÙ!s~«-‹Ûq["¡˜³±G~‘“k® œw!Ó˜©ÿŠ~Ƴ¸¡¹aJGÏá†J˜B&$ÌÀ +„&_M¾ aGÊYlí°ã
+’ £…šÈZ
+Ï€PÑÁHVD¶^”-iú¡X¹!YÕ>’ŒFý¾Ë›Â¯øH@
+è-JXÇnè}W¿Íi;«<ÆB‚AÄ\LaÃ*ÜÁI¬k
+:Ë{j.Ë"¯¼ã´yN ðÌÖ5~ƒ
+:µñûº§­›ppÎ
+ k¼Á¼ªßJˈ¶Ò¿Ë·‘0‡Ó>´#Ĥ²®Ûm‰ÚeVàH&‡¡å›:"u“W4D&B¶¥-,
+O( ºÅê ºlMš¸œ¦Yþ‘
+kÖÇ‚€+Pü<$S¼Á€ÊÓ]pÀyÀHeÄR­Ìð¡Crϯ[jÓ:¶6Ù5ê-Z äçîýÖ X×xÃFàÄmÒŠÏŒö¶ÜB
+·—Yû]Ô,ü®W||ýn1_ºÑ‡Ð¡ð7)üǨഉÏË0Ì oîð®WúD"T·ÊC·½:õ!Æ¢W„¢Øy4… %'ØmèŽTð>WfP|ŒïC¹ûèq€ùü!k]ß&ûÕE› ­=дù‹RéDôjš<ò¢¹ÏÛ¢¥‡
+¬Ì(ŸC8ÍáaážþÎ š–iºPtc0ØøðüzQ,Ý%ãtáíãùÍ×nɨãWWJëù ^#fXyCQtÞM ,Æ^_ÖtíÙÞg£´c¥Ìüˆ;Ñ̘5´ÑìÖæ½²¦¨m^ƒù…Ϧ¥žU…
+³^È"Ú½ìÅénpÓP/ŸßÑ9v[?|ÛhZne*EaN[Ó³®àˆZ ÷(¿åO®.})x’ž?\‡<@3ù/ŸÚ£»‹}ªêêi³grd þÈÍŸXÔIåóï4BÅaCC0|€Ä}»¡wÐcwƒçé}V·àOèÐ~dDýþä‚æ¹ï]½¬KêZŽ»RECÉ€°)V
+ÐV1%ÑÛX Cž1nÌð1ôáþ¦Bö¥`/lÛ9Øxj­1Óq:Ùùzôå„«¼]6Åvø‚
+ŒP©ÿŠw˜§af¥T<:â YZ?úÅÃî¯I‡]ÇBåC駘Jc^”w?æeöV
+&gÞÀ.µRÁíøÌÑÿYÉð77kUšÊg8çš)œ{®uÁÁQt uëèïl˜aépzö¹Ë«þnášn éå_öj
+à¹ÀO3‘8HR@`
+YB@ÿ3 endstream
endobj
-1992 0 obj <<
+1997 0 obj <<
/Type /Page
-/Contents 1993 0 R
-/Resources 1991 0 R
+/Contents 1998 0 R
+/Resources 1996 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1999 0 R
-/Annots [ 1995 0 R 1998 0 R ]
+/Parent 1995 0 R
+/Annots [ 2000 0 R 2003 0 R ]
>> endobj
-1995 0 obj <<
+2000 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.8681 312.7082 347.399 325.4454]
+/Rect [280.2146 312.7082 375.7455 325.4454]
/Subtype /Link
/A << /S /GoTo /D (root_delegation_only) >>
>> endobj
-1998 0 obj <<
+2003 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.2769 61.5153 352.9489 73.5749]
+/Rect [312.6233 61.5153 381.2953 73.5749]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
-1994 0 obj <<
-/D [1992 0 R /XYZ 56.6929 794.5015 null]
+1999 0 obj <<
+/D [1997 0 R /XYZ 85.0394 794.5015 null]
>> endobj
610 0 obj <<
-/D [1992 0 R /XYZ 56.6929 267.599 null]
+/D [1997 0 R /XYZ 85.0394 267.599 null]
>> endobj
-1996 0 obj <<
-/D [1992 0 R /XYZ 56.6929 241.5759 null]
+2001 0 obj <<
+/D [1997 0 R /XYZ 85.0394 241.5759 null]
>> endobj
614 0 obj <<
-/D [1992 0 R /XYZ 56.6929 118.8577 null]
+/D [1997 0 R /XYZ 85.0394 118.8577 null]
>> endobj
-1997 0 obj <<
-/D [1992 0 R /XYZ 56.6929 93.2529 null]
+2002 0 obj <<
+/D [1997 0 R /XYZ 85.0394 93.2529 null]
>> endobj
-1991 0 obj <<
+1996 0 obj <<
/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2003 0 obj <<
-/Length 3160
+2007 0 obj <<
+/Length 3138
/Filter /FlateDecode
>>
stream
-xÚµ[[sÛ6~÷¯ð£<³Bq¿<¦­“ug›tmwgvÚ>Ðes"‰*IÅqý DèL½“É?ž>4¹Äð\j03üRŽ&ârµ»À—pïÃñ˜eZöQßß_|÷žéKƒŒ¤òò~Ó“¥Öš\Þ¯[üðÏw¿Ü_ß^-©À ‰®–BâÅ÷7t=Æýüðéãû›¿Þ¾»R|qóé£ë¾½~}{ýñ‡ë«%Ñ‚ÀóÔK8óÀû›]»Ö‡Ûw?ÿüîöêûŸ.®ïƒ/} fÖ‘?/~û_®ÁíŸ.0bF‹Ëg¸ÀˆC/w\0$8c]ÏöâîâßA`ïnûèTü¸ÐHP./—
-þ“Ùc’CS¨n×ZÔNbƒü%wm`§k4OÝí¿Ê}n³"f‹û'«óÆ5€ýÎÊlõTìóº{8ó÷Ÿ‹­·ÛåßUTeÎ@>0P
-Ä•îÖö?ÞY°‡`¤0Êy#`÷eï~ütóþ¿n2 ðÒ Ùåu=æÖïŸm8ÿÖ­®ÏõXgÖ¾çxp¿ÖM‹Í¬7îqØu“¯]{Ÿí|oW_òÊ+ø \ÂAs¶ 9TÅ.sïlà¬÷¾º—Q» ÔT ‰Àœz? ádpÖ¹]‡í±v­lÿâ7¿øŽõÚC]çµ{®kèÚaž‹æi‚bÊ.*ä)§ æG4‹Ë»WöÍ—V‹wÞ¼²j\k—yóò‘-Wdæ¸p@ èño\RÎ90oÂ\(c±1âUÖ
-‚¤Á]ÒíÅÈihJû+`P÷kßÓÎèò"ÛNϳÚÝqñ¶"Kç´íðLpb,Z´ÈayÙdÇmãzÛÉPû8&½s!16F#rwóàŠ->ç/®ÑÆ—*Úºïºl¤íï`ÔmGk/@WÙ±ökT<E lu äìxš„Bw[Âf¬¾xÜ;Í0ø/'umãRÄþ䊫Êâ&LØ’¾vˆ¢â”ù\Z¡–[L çq+Þ õµKŽÐ¨›ãƒkÙYWûšñþT#tƒE=ª òÝ¡yqM›<Î.m\Âz€•H/m}Ôù¥- ¬«§|õyi“Uí Imf”Ô„öá+W¤MÛõ÷.órȪ¾Œb>L¶Ø·v=–3¶ÇOƦ*V¿ãržO²
-V¯6³ÚaÉ!oxL¶_;Lý²o²¯®³Mãö¹¼j²Âk^—;×æ.ƒ×Þ }HÇ
-&áT: “ ;‹¶íSpj¿+ý »zµ ïÁ¡Ü×®·®]Ϧí*wîʹ}Þ<—Õçöð@;ŠÙî@1{ñ%«Š`ÀjU¶’Ú
-ÓÉ*[Oð0_øõBA8_v—Ò,Þ—ÕÄLSíäáÝzê|Ÿ˜ñ¦|;3¼‚Öj²Za? Ç…3µGÝҽɊíT• E‚!½Õå¼éT!%h—#êmöeêl| ¬Woh9”øS/f)C”Ó‘å7'±­.›<õ‚uÉ ®Ý×îò}[vtiibÐ$˜v‹gÍ”= Æë|2Â0å ™KF=T"u¨S2Ú}2ìw °.­9 &T‹l†ˆÒr¨ûmvw}Æe@’ëóïá©V6$zàdb7ð3îÆrÏíæHô–Š E KÇ= f ‰¥%wsL1ÄaË”$Ytžcè4@õa3Å1ÅEZo
-Y“=du¼RŽÑiÍ5¡zÀ1
-)E:ÔÝ~e¸i?UèN„˜iOÍ\—;UÄ'ÝýÒõ>x”?ØäþÙBꦬÜ)]Ìqw0÷­ÀöÛ ÜüÙgNlJûaÙ@BÌuÈéÈû ýC¤~<£OÁ êÀ]
+xÚµ[[sÛ6~÷¯ð£<³Bq¿<¦­“ug›tmwgvÚ>Ðmk"‰*IÇqý DèL½ÓI‚Ïøpp909Çð9IC͹2 LÄùjw†Ïà݇3â1Ë´¢¾¿=ûî=ÓçIåùíý@–FXkr~»þm!E /~øôñýÕ‡_¯ß](¾¸½úôñbI^¼¿ú×¥+}¸~÷óÏï®/–D ²øáŸï~¹½¼v¯¤—ñýÕÇ]q?'„^_¾¿¼¾üøÃåÅ·?]Þ_†þ̬#žýö>_ƒÛ?aÄŒçÏð€1†žïθ`HpÆúšíÙÍÙ¿ƒÀÁÛîÓ©öãB#A¹„–dˆH(L¶2AŠ
+a"Y¬þ¦,]»·¾°.›U½9´›jï*ª{kØÈÂ(×`„#ÍB!ͨòØÍ~ì'Õ aITä§{Y?œ»ÂõÀ〟ñ8•ë<^}³'ñ±IО¾¢ù¦¨CRiÖ”0ÜÓþ£Pò® P®õ¨Q7-«¤•È(­óúj€ˆnŒ@“Ø‚7§›÷c¤\Q¤””'Ç`Ìnxäj†q?ãt*÷õŒSI:×ú5gH"-Ë8©1 QaòŒ¢N3. Ž=ÕÖž¹/ë”q
+g ”q¥©·ðÇ7ä6R˜Ûé<´{ûñÓíÕûÿN¸É44<é÷?»²iŠ‡Òzàý³çúóÏÕ¹ëÌÚ×<ܯuÓb ëûÜ#¶›¦-×®¼/v¾¶)ë/eíüŽ®àƒ ¹Ø„êÍ®p‡­½õÞWwµ+@M ’|Á©÷
+Ng½PuØ>5®Tì_\áê_±^»~hš²qß5a
+];Ìó¦}œ …Uò¸%ˆ†Çxü?ó°g`Z-Þyóªºu¥]áÍ»+G¶\˜ãššA»ÿö}gä’r¾(yær°1âUÖB˜÷1wÐFNC[Ù_º_ûšn@•ÙUzž5îûˆw xtNÛ
+Ï'Æ2¡C;f—ûâiÛºÚnpA¥`È1ékcg*#ã¹½¹ú
+Úòå`gw)Íâ}UO 3Õœ~iá}ŸîÆ{7,¼‚Îj´Za?Ç‹fjý¬q_l¶S+dX!2˜ZN›Nli×›mñeê4ÁžèR!ÞÀò>¼Àò~êX–2D9Y~uÛé²ÁÇS!˜”LÜqÝžvWî»5G“&:M"ƒç°2k§ì!(ê¯Ó‘3#d. P™HÔ£Ž‘h÷u¬Ø@¸Xç÷  Å_0·ùk~›sÑ¡ýã@’ëÓgðTh°†ñÈÇÜUŸq7•{jG’Ã
+a]Ñ™f¨CRiÙ}S qNò€N3¬;¨9ܧ[¸.í©²z(U3 <Õ‘Þ·¤—·>Ù&CÄ‘<Ã/c‰dè`–^žw5‘ú ä’ˆKïè
+ƒý;î‡DágŸJ-T¹ü”ýÝ·e}pLwñ…êEá_îǦµ]©k#
+ǎꪡ#ÿá®ßtéb[×Ý—±…æé®)ÿ|5î9Xéqá.)<Š¦ëãîExx²™ºÞŒ*oŽ}WÆùZâCϨթKRï¼>þVA¸Û±ò1²ÇÊ£fÑg€Oü¹ÈþØÄà‚¾ÁÿöŸ¢ÿN+Ä´¦ÓÃtd“m—ÁŸÕ!XøË¿Xà˯m¹_÷-uótðpàá?Ý’²n œº U\
+¶ ˜§Á #Ê$h…ÿx{ý«endstream
endobj
-2002 0 obj <<
+2006 0 obj <<
/Type /Page
-/Contents 2003 0 R
-/Resources 2001 0 R
+/Contents 2007 0 R
+/Resources 2005 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1999 0 R
-/Annots [ 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2019 0 R 2020 0 R ]
+/Parent 1995 0 R
+/Annots [ 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2019 0 R 2020 0 R 2021 0 R 2022 0 R 2023 0 R 2024 0 R ]
>> endobj
-2005 0 obj <<
+2009 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.4119 737.5313 379.0839 749.5909]
+/Rect [282.0654 737.5313 350.7374 749.5909]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
-2006 0 obj <<
+2010 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [340.2996 707.2808 408.9716 719.3404]
+/Rect [311.9531 707.2808 380.6251 719.3404]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
-2007 0 obj <<
+2011 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.1051 677.0302 396.7771 689.0899]
+/Rect [299.7586 677.0302 368.4306 689.0899]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
-2008 0 obj <<
+2012 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.3548 646.7797 389.0268 658.8394]
+/Rect [292.0084 646.7797 360.6804 658.8394]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
-2009 0 obj <<
+2013 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.1386 616.5292 427.8106 628.5889]
+/Rect [330.7921 616.5292 399.4641 628.5889]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
-2010 0 obj <<
+2014 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.9426 586.2787 498.6146 598.3384]
+/Rect [401.5962 586.2787 470.2682 598.3384]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
-2011 0 obj <<
+2015 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.0435 399.8859 354.7155 411.9455]
+/Rect [257.6971 399.8859 326.3691 411.9455]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2012 0 obj <<
+2016 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.1393 369.6354 355.8113 381.695]
+/Rect [258.7928 369.6354 327.4648 381.695]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2013 0 obj <<
+2017 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [339.144 339.3849 407.816 351.4445]
+/Rect [310.7975 339.3849 379.4695 351.4445]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2014 0 obj <<
+2018 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.952 309.1343 405.624 321.194]
+/Rect [308.6055 309.1343 377.2775 321.194]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2015 0 obj <<
+2019 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.5463 278.8838 391.2183 290.9435]
+/Rect [294.1999 278.8838 362.8719 290.9435]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2016 0 obj <<
+2020 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.4327 248.6333 400.1047 260.693]
+/Rect [303.0862 248.6333 371.7582 260.693]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2017 0 obj <<
+2021 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.2812 218.3828 429.9532 230.4425]
+/Rect [332.9347 218.3828 401.6067 230.4425]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2018 0 obj <<
+2022 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.8612 188.1323 449.0612 200.192]
+/Rect [359.5147 188.1323 420.7148 200.192]
/Subtype /Link
/A << /S /GoTo /D (options) >>
>> endobj
-2019 0 obj <<
+2023 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.4213 157.8818 483.0933 169.9414]
+/Rect [386.0748 157.8818 454.7468 169.9414]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2020 0 obj <<
+2024 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.3165 127.6313 398.9885 139.6909]
+/Rect [301.97 127.6313 370.642 139.6909]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2004 0 obj <<
-/D [2002 0 R /XYZ 85.0394 794.5015 null]
+2008 0 obj <<
+/D [2006 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2001 0 obj <<
+2005 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2023 0 obj <<
-/Length 3149
+2027 0 obj <<
+/Length 3154
/Filter /FlateDecode
>>
stream
-xÚµ[[sÛ6~÷¯Ðô¥òL…
-I)”C}§û£Þ±Ð³úö¯k[.“&ÿèÄçåfŸí«ã‹ýy¼Är¥›û"Ù>mûÓkš4É}Rg0h4`Anú‹Ú«2/§j´¢«"àcÉWŒ‘bŒ›ä)³Ãš1§}V652ŸD€•ˆ(f½õ¾yÌŽ –ÆëIqÒ(¥îÃÌ6ªºÎï‹Ì6å;[›¤iÞäU™¶þ¬«nMàˆ£ëí1ùèªï³¬´uE^>e©­Í˦²µÍ£ÖÙ¾×$5LÆëÛjŸµtŒ­“ý¡pæ¶B϶»–¼Ü§TËÓ¿žóæÑ–Œ<ói^7Çüþ¤-²5P¶…²*³‰.½¶{÷Í‹ëÍR¢ #1_q)Ï°ß‚6]”%?žÈ-J{#ÍaC±’#&€çA±4!¶
-bŽ"=±·Y6ôgVoùáìÎjçB«kƒ("±t¡uV~ “BœrÈÎØG
-`ø#.ûrßÒPÊÖû,)óòaw*Ü,¿³õnŽgŽèºé1©mUbÿtÖ-"b˜oëƬb“Æ“ 𠉈ûåœêÑø@&ØÌšÇÊÜ&§:s²Z‹ªz‚)Éê]ÙÆ]’»¨$0bŠñ *w^R¡Ãñ< ËØÅ7TÓ6 AãCÖ4í'ee+“²~¶‹!5_??æÅ´ 0âRRg¤Hr¬›)/˜Õ·÷Âsu*œü¤(ªg§“­)«ã^¯ñt•w‡±­²u÷™s† °‹áñ`-z̳tžý1A„S±Àþ*À~ê°_ûw˜"XçD:B²[Ô„ð^N[c©c +ý×Ú¤_,¬“`¤+X—ó4sµ® 9mKÕΊêÞxêúDîå&$hÌ݇&‘Do LE}ȶ¹y¯ƒYœ"±?ÝôÒÊ6»ÉDaW%ì¢aB.ÏÀWŠ~b3t€ Ḱl,Ý\ӱ̒½3#¥írPƒUåçóR¼Lm­çôbÓ,<§6ÖMP€`ð2ŠPÄäÂú¼‹
-ðÒ£ÌÚõÓÎh³1;¥anæˆ2ªÂÒ=hBz˜F´H_ü.1K¬˜ñ€.ņ!ºÆnjuIÚM_ýÓpj÷bëÖ2Ùg¶J3©Ó…#ä¬Ä­“5¶¨lˇˆET§#졈}eD
-׫u]™¾€€|ë”=ÀþÒe ¼¤L ²®!l¯ÿûæÙ¢Û¤s{úùd3ÆÚVXöpÏ[ÙvµÁŠJ®OÛfø5^W™0:7áµ3Ïâ¼iºÁlµ€Ã!+óáçBb·¨ìaLâLùøC>®\mÏú?ÊbqÅiÄؘ©±ãŒ±Û´¹³–ÌÆL3$• á˜é¢æc¦Eõb¦Ù6Îä¾1[P¢EMhÑOêIÂj´±cÓË"eZmÍñŠ_pW=¯?8ŸÂI½­ÀÑúº%b:UóžÆ 6P|aÖ좞ö(Ã"GÜáñ/@ Êõ  ¹½5#¬Ò…Šûr_¹E‡ôA$IçôN¶õmmZ8ÒÖðYb» ‚¿n¶M³ÜGÌm%î÷jfý¹oÕ\Ÿ“aÎŒlúÕ±Pª€s1ŒÀ'~[ˆ¦£V¤J­£Ôf =KʸSÁîÞMïu·É½?þò[ÓÁ¾H Îc¯Ã>©õêtòŒE'{'úR0÷¯i]èc½ {¤gêºÍô •© (ŽæÙhžÈdü´q”ÙÔùçqº æÄ°tKïŸQH¢'þ뜆M1.$’ŒŠÙs1
-CÌ]C[í¶yÔëì¡X4RV/‚Ç,èù´ Æ°¯à>›Æa±¦uPªy”&³ÚÙen–Ê÷ÙfâÜv§L†õp˜ 5zœc 1Ži_¯Gº9k†™¢BÈÇ#„î›bŸÇ/˜?îwŽb¨’Þ“HŠIxZÔ‚"ãÞ Äaãþµ˜
-² –,ˆKµïº¨yƵ¨ù Qšqƒ
-û¼E-)2ê-H/˜³¢2Ì®hž\t}c™Œo×aÚgŠÈ è4–Ý?∠Ø4u…ÙthÂ@²Î¡*âó<ƒÁBÄ]+C4óð°½£^gIÆÆ«IË|Xn†ÜÞ‚ÂjŒú
-SŒëÛ<±Áº¨
+xÚµ[[sÛ6~÷¯Ðô¥òL…WiêtÝÙ&]ÇÝÝ™¶´DÙl(R+Rq_¿Wñ
+¶Ót2ÀGœ ¾spcð*x%9J¨b«T1ÄÌWÛÃU²z„¶ï®°Ãl<hÓE}sõõ*W
+)AÄê~ßéK¢DJ¼ºßý¼~ýW?ÞßÜ]oOÖ]o¸HÖßܾýÖÖ(ûóúÝÛ7·ßýt÷ê:eëûÛwomõÝÍ››»›·¯o®7Xr ï×ÃÌ onÿycKßݽúá‡Ww׿ÞusléÚ‹ª ùßÕÏ¿&«˜ýýU‚¨’|õ  ÂJ‘ÕáŠqŠ8£Ô×”Wï¯þ:ì´šW§üÇ©D\’t„tˆ(3±J¹B‚jxÿ”ƒE ¯wù>;—­}(mÙ×o˜ê¼/¢8IA¨~ñ‹ÓCû…Eõ¤…¤L•C}¥û£~D gõå5^7¶\emñщ/ªÍ!?Ô§ûxºÆrï6e¶ý°ií£×4k³‡¬Éa¬h’‚…é/ Vç^NÝjEWEÀÇR¬6#Å91*¶Ù‡ÜjfÄ<žyÕ6ȼ’
+$R¾©¿é¾0fë¸_­Õ©®ÛÍg‰€¤H{HPzô3Æ°·h r%#l!P»¨ù@ (-Ñr~7r?Áˆ§XÅÔ„ä¥ÁFÎa5×ýÎð†R¾>äYUTûséfú½­wó<w\×MOYc«2ûÓ‰Y·`0ç6­Y0“Ƴ P¥‰ðK:?ÚÃ!¢Hâ;Y÷X™ÛìÜäNVP±¬ë0'Y½kÛ¸Ï
+˜Da„)ƃÀÜ·zYER‘/à]Æ.Ä¡rhœn´‰ó¶ ¯Tµ­ÌªæÙ.ˆtâHÅúù©(§]€Ö:È’äÔ´S^0+pï…çú\:ùYYÖÏN'[SÕ§ƒ^çé*ïc[mër猔ÀNF°ÁzôTä»ù
+<Îî¶÷{53~Ý·jºÏÉ0ÇG6 ©Rýœ cØòb¿*CÓ
+.Q8a£@µ‰BÏV†5»‹Ó»ÞmöàOÂü&µ¿Cb)‚ùîY£©“g-ê2ëë,8Ñ—B}½9M©Oø&ìᤩG¹mõ ›)ìß[˜o; y.{5ò÷£Ì¦)>3†Àˆ%„EÅÐX~ÿ¼B *©ì)ð×ÎÅd«±é©„å*MgOÈ(¥xBº–F¶Ý·yÔëìñX2Tˆ;0Ž¼ÇÄ•öÝpSF!û'|hT„iåÇÈ,yö¹›§ŠC¾™:
+ñTðžÙ1úyü‚Æýþq
+Â*…, „-¨1ê+ÎBN£j„P„ƒ4Ÿ*&)ˆ‘P"®G
+|žuÛÈŒl˜0DBp„jBL¨z–F¹æð 6ûýã) ööBŸDPKŠŒz‹ób˜Y—; ÛH‹;ž>ä3&¼•@’  ±Ôþ¹2CR*Ù{«=2¬%ù•?e6g¨PNì¡üœ¹Ê¢jÍÉ«~âî:ªÝ]˜»¥göžœiëJ}Y¥ËîÂÞÒ›ªðúÇüd.h·ÙE¤¹qtS<VÙÆ/3 ŽIgÝëôóåêŠØ{;ýûíÛ÷ïo^Û²îÃèL¬úl¿5"æã†[º\}A—íü{ö²¥>ا]Ñ|0Ÿ§bïC¨T®­öìÕ*±î_.Êd¥'¾áôq Åîvû7uÝa‡k–¾iŠÈâ–Ð<}=Èaoš†­i‹íøÃØ”}“@cñ=s=;Àžª+ÿv?ññ™‚°¦òÏ}z¦¿3¶®TÂlkÊæ“3SúçG×î Î\SQíõ!Ž¼J8f+áÃIٯ، ©?UÙ>ÙÚmæÞxp²wçÃ1ßYº§É$|0н¤œøÚ%EL
+¿€¸ŒLç‚p¸äPˆñðÆ.×ÀjxýX\sù¤
endobj
-2022 0 obj <<
+2026 0 obj <<
/Type /Page
-/Contents 2023 0 R
-/Resources 2021 0 R
+/Contents 2027 0 R
+/Resources 2025 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1999 0 R
-/Annots [ 2025 0 R 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R ]
+/Parent 1995 0 R
+/Annots [ 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R ]
>> endobj
-2025 0 obj <<
+2029 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.137 683.3704 299.809 695.4301]
+/Rect [259.4835 683.3704 328.1555 695.4301]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2026 0 obj <<
+2030 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.8055 623.0288 239.3365 634.8294]
+/Rect [172.152 623.0288 267.6829 634.8294]
/Subtype /Link
/A << /S /GoTo /D (root_delegation_only) >>
>> endobj
-2027 0 obj <<
+2031 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.1075 369.6354 397.7608 381.695]
+/Rect [352.4539 369.6354 426.1073 381.695]
/Subtype /Link
/A << /S /GoTo /D (server_resource_limits) >>
>> endobj
-2028 0 obj <<
+2032 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.1555 339.3849 427.8275 351.4445]
+/Rect [387.5019 339.3849 456.1739 351.4445]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2029 0 obj <<
+2033 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.6164 309.1343 422.2884 321.194]
+/Rect [381.9629 309.1343 450.6349 321.194]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2030 0 obj <<
+2034 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2338 278.8838 438.9058 290.9435]
+/Rect [398.5803 278.8838 467.2523 290.9435]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2031 0 obj <<
+2035 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.6948 248.6333 433.3668 260.693]
+/Rect [393.0412 248.6333 461.7132 260.693]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2032 0 obj <<
+2036 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.7331 218.3828 295.4051 230.4425]
+/Rect [255.0796 218.3828 323.7516 230.4425]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2033 0 obj <<
+2037 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.1811 188.1323 356.8344 200.192]
+/Rect [311.5276 188.1323 385.1809 200.192]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-2034 0 obj <<
+2038 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.6042 157.8818 356.2762 169.9414]
+/Rect [315.9507 157.8818 384.6227 169.9414]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2024 0 obj <<
-/D [2022 0 R /XYZ 56.6929 794.5015 null]
+2028 0 obj <<
+/D [2026 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2021 0 obj <<
+2025 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R /F49 1308 0 R /F21 994 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2037 0 obj <<
-/Length 2852
+2041 0 obj <<
+/Length 2849
/Filter /FlateDecode
>>
stream
-xÚÅZ[sÛ6~÷¯Ð£<S¡¸ƒÈ›Û:Ýt¶i×ñîKÓZ¢mîJ¤+Jv²¿~ÏÁ…âM 3Mg“ñ
-m¬úÅoMZhã½aÕÚøj
+xÚÅZKsÜ6¾ëWÌqTåAð&á›âÈ^§6vVÖî%Κ¡$îÎÊ#Yûë·_Ê¥6)@ Ùèn|Ýø@ [PøŸ-”&Úp³HŒ$Š2µXïÎèâæ>œ1/³
+B«®Ô×g?¼é£¹^\ßvt¥„¦)[\o~[jÂÉ9h ËwŸ?½ÿøáŸWç‰\^üüé|Å]¾ÿø÷K×ûpuñË/Wç+–*¶|÷·‹_¯/¯Ü”ö:~üøé'7b\sBéÕåûË«ËOï.Ï¿þùìòºõ¥ë/£ùãì·ßébnÿ|F‰0©Z<Á%̾ØI%ˆ’B„‘íÙ—³´
+;³öÕ©øI•Å¥†Hr’*ˆÖd”I¡D2¢ejÚ(s6å …Q®óýc¾?gér•m6û¼®ózè:°@BÓEWÿÈŠVj Þ1ƒ M–õìø\nŸaRµÜåYY”w·‡->ëåmµwu“5ÅzU7‡7óߪÌkØ_Éôòú¾¨˜kõ2sÛ¢nÜ@uëF>þêZôw>[‘¦rSO÷ÅúÞ ýqÈ÷…‹ DZ¦¸g1JqÂûê°Ý€´L–7¹kë¼ÄU¥^¥qK­ûºxÌ»Cuµ=4EåÅœ·Ðiîs§
+èUÇžŠíÖõŠ²É÷e¶…À£s4xåÒo]•_)åwg¥Ëgt²‡ü›ë}úâÇ'ÜSÑÜ{™º®ÖEÖä÷|·=ø·/\c ÅGø/(ý Æ$ĤBZcÞ£(3j™ËvÛü ˆSˆí-ŽÊåWÎ¥Ÿ!ëj‡N€íÀ™ÍülæÄ×9[¶Ã1 ¾ë9¿°Ç 'Šóo—^§”½Ýܤoß2.d?¦) œd'K‰V&…Wbi9È¥$!JCíp/¹m~3تÛj»­ž £Ú‡²@€Þ—ì
+Žù ã2Á­ x-ט
+’JL…‰h:­’<Ù¾÷*‡:T»‘Ì5Xêž]×ì`.===¾$£CÈ 0øÞ=´ë]ýäÚ˜µ‹K¡å´I‹Ø+Ê¢Áš1åÍ°„DG%³«ôŠ°ï…"î2£rm'ýk?„ŠÔÇ qàªDšÈø¡Ü:}&¡Aî;¬ c¦I*´‰.ß
+×ïÆœ‘”¥¼g€;‹°¦îY,t€LôÎbœ g±†=tg1Žº–Z€Aã)œÀ³G6Õ.êˆc!1`ØMû!
+Ý€ÝÔÖQÑ=×m1@õ•k‘zXó6«)€÷ù×ÀCòrâ¬ÐŒp5ו}´e3Qׄ \ÊV*Ï7^«M
+¸&$:_:B§¯AȪ¸[=fÛbS4Ï+›ð4ºÈ„HÉ’¨ ­Ð؈Þ}@q"áäîñ%~ýÙäõz_<OÂêv¢hš„P.M¨™§\X`€µ
+#ý[E9ôV(AÒ¶ºã‡›Ûß-\çªãw+÷{¤Õ9¾>ºˆŸ£áNÅÔÐ ÉQ"Ž€ 7b¨ m8 8*35ƒ¸ŽTrA*lüÃ{ߪ¬6SŸƒSBEÂã&´R6ô'¡,U}#þæÒæF® ÖOaãE‹Ò ¼ E¨Ö¬çm pA~Æï±Þï€Õ$ößVjÆ’±¶(ð€b“ÔP^Wê4ðZ©ána›5‡ýúDíh¥& é¡xšB÷-y}ôõýAIÔiZÓ´èyC`Ÿñ}¬÷;(5Q*añ]h¥f,k‹#PJÜ\1ƒÀŽTAj¸cÍóC>®|”¤XvÔ‚Vj„þ¤\*z6¼>ö‚'ÿ@$‹>N‰NáúÐõ"» ?ãöXïËa7t"$5ñ h¥æ,i‹ÃŽAņcmv©ì‚”ýÊ°ÏÊúÖ_(ëê°_‘Ç%QI2cD+5aEÿ«¯|Xñ:À;áË{”ˆDEHM 0VÖs7†½ ?ãøXï)ì%“U˜kßVjΑ¶(ô€Šô4
+½®ÔièµR'¶kõ¨§ŸdjÆŽVjÂ!ã&éò—¡Ï»3d}’p&d”õ¥\°žÇ3¬ÏÊÏø>Öûb
+¡‚Ò%ᆵ¥•š0¦ÿ±%%Ž¤¾5) §«¡1x*F¨„­kè ƒüL
endobj
-2036 0 obj <<
+2040 0 obj <<
/Type /Page
-/Contents 2037 0 R
-/Resources 2035 0 R
+/Contents 2041 0 R
+/Resources 2039 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1999 0 R
-/Annots [ 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R ]
+/Parent 1995 0 R
+/Annots [ 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R ]
>> endobj
-2039 0 obj <<
+2043 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.2254 330.9624 454.8788 343.022]
+/Rect [352.879 330.9624 426.5323 343.022]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-2040 0 obj <<
+2044 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.4163 301.0238 436.0696 313.0834]
+/Rect [334.0699 301.0238 407.7232 313.0834]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-2041 0 obj <<
+2045 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.2465 271.0852 475.8998 283.1449]
+/Rect [373.9 271.0852 447.5533 283.1449]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-2042 0 obj <<
+2046 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.0303 241.1467 421.6837 253.2063]
+/Rect [319.6839 241.1467 393.3372 253.2063]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-2043 0 obj <<
+2047 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.4973 211.2081 404.1693 223.2677]
+/Rect [307.1508 211.2081 375.8228 223.2677]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2044 0 obj <<
+2048 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.1733 181.2695 431.8453 193.3292]
+/Rect [334.8268 181.2695 403.4988 193.3292]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2045 0 obj <<
+2049 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.365 151.331 434.037 163.3906]
+/Rect [337.0185 151.331 405.6905 163.3906]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2046 0 obj <<
+2050 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.041 121.3924 461.713 133.4521]
+/Rect [364.6945 121.3924 433.3665 133.4521]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2047 0 obj <<
+2051 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.9837 91.4538 471.6557 103.5135]
+/Rect [374.6372 91.4538 443.3092 103.5135]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2048 0 obj <<
+2052 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.374 61.5153 389.046 73.5749]
+/Rect [292.0276 61.5153 360.6996 73.5749]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2038 0 obj <<
-/D [2036 0 R /XYZ 85.0394 794.5015 null]
+2042 0 obj <<
+/D [2040 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2035 0 obj <<
+2039 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2051 0 obj <<
-/Length 3436
+2055 0 obj <<
+/Length 3421
/Filter /FlateDecode
>>
stream
-xÚ­Z_sã¶÷§Ð[ä™@
-BÓtZÉŒ¤ŒM*(\•ÌÙ”’=•QrUwåÃ몭ͺX=«¡Ô,¡DK±è/=bÀM0À{ °DÈ$æàcQ æ»­lŠvÝ”O]YW8Q?¶âd)¡\dÀÁ)9Û§ ¿d©{ ¬†¢&œ‚‚2ÉŠ7›Çn{Rú3b×E±×G«3EÒK:%Iš%óêTç­f!#Gwî”ÒŒpƒyŸëQÍøœ§2;îËjÕMÑnW]¹/¾D%ìóÏ“Ó–ºk^Ç´~r¤6ň¢JÌ‹¨&dˆÔ¦‘b/º-˜ۚAä¶fbìb¶dŠéˆ± ôgX¯¹˜aƹ“#s'œp.ô{{ª3œŒW›õ1•BÂÏôëSö±@eÃûóCsÉôrõÐÔûÕ¦|0ESTë¢%9É!¹Šdž@5ÁO”æ$d&)UÌõ—DIô—D‰Ø_ÌÉ4Ç(#2>kkÀK–Ê€å“9Om&X$ù\Îóôgt0^7rH#­wÈQŒ$)ÑLêycª3ŒŒWC\))–¿RIoê.&ïÐ2ÆDcK¬ð4Î8
-
-¥. Oc„ç©Îp"¨&Y^qâ=Ú–¤€ËߨŠ@ŽÑº=UØ„´/NêBR¥¸fóºTgX¯fX1ûôMhFs=HwÖÓR>“" L§qŠ€'N¥I¸Ôü|Š”
-{3tæàÖs1•5™Òk(+ªOD‹€³„©·Y$eÙ[,¢ù‹ˆÐ¤C‹¨`ÕSB°B à"£bCñø“ÎNf0´“™ÃÃVSíà{–€ôPŸáœ¯•=Ð%wЇ/ëõúÐà°¬Ü-¿ûás
-»²ÂnŠ‰øaRç J¥ìÌþj‚¸KlÑBÌÀµK/"îV˜Ñùòëä[–Vçúè¡U—.»Þï`êå¯P"ßöOx ±ªöXUƒï£U ’x}ØÛ:™É/MpÛ½[p=‚CšS0é€#Ì—®÷‘r
-ÓÄ‹¥žë›{ú3ò×}s©e‰ž7D :ÇÈhµ“¯«žÓóIRÓÿ ªrM
-¾Ô8ï ÑT¹éã–T-^ؾü>
-‡Þ¹ðítB–Î!³ÙWém«ñc3ʾû¯^§@qç7ÙwÓ¤?&‹Pw
+xÚ­Ûrã¶õÝ_¡·È3‹+ ¦O›7ÝL³Iw¦Ó$´D[ìJ¤CRö:_ßsp
+•0kÌã­ë@Íh‡ÂE¹©óû:oö›¶8æ_ŽÙ§Éi ÝÖ/cX?9’¤ ´0ó$¨ zò“O¥}"¬ÚòÔ©-zj‹cSp¤fFô›Q±
+P ˜Œw›Õ±8—ŸšëB]Ö±
+®‡+yÙçAÈ•
+\w—¤9Ÿçáx0Þ·§H®WÈ‘Ä0 9/Œ
+Èa(U@]µŸ0Cc¢8Nµ3ÃǼ>mCk€;r<ƒ™»œ~O»¬µ­˃ڻ×äFqt:^è-¶iŠ‡Ò¯|Þç%°º¦§°XÓ=rý¨Ô4'ï惇ÚVÇc%}¯Kã'ÔåÎ !ðXu£ªŠŒàžH ¨ÝTðQì0ebgÃFUnT³X{Ù$cÙÁACŠ²…ÿ)ñ`’3~Ns¶‡ÓÎR ‰z:tW=ÙúA$ë»SKoÉ"ìÈ«if¥aWìþwjÚþ>Ü’û…› Ê,i‚•HÀ§'ë8…X7Û}¾;<*Ùv[Y±ï¬u!D[õŽvë/Ü\q pǼÍ@Ç2zÂl¦ÉÇÅýPàʵ€"¥áá7ݾy´/I"Û
+"»fà.n­¦%bÆE@"­¸Iú.V\r:ÚÈeÙàê÷ÝfàØš‰ã%‡‚"˜8îµ›Jv!
+JÚ–­“e‰‚ 9øta2äô‰£Ê¢ãø
+ûó>·’JI•p
+\=P8Ž=¸°p€Ù$Ÿí^hâÁ=·iÛ×%*7“ÿ~ò[Ú¤F¸÷Dø†ØqòwkÞþž÷…וmÖxÅhû
+ÒÇÇË_èÔó‚^ôí"…Ô }».Ôeß ¨p(Jj§ ÁÚÄ)ÔJñÂùj~›XE‰N¼uîEõû‘€¬Ñ)óËäÍ ‡!EÇyH£C³.YCözw Ó¬BÝŽôŠ²Uã³UÊObA0ñ ±¯1yÂÉŒÑ ¸ãžÏM¸À© í)˜t©#Ì®û‘`ƒhQgesŸ×ç®eLŠ&ÁŒ­¾Æ육Âܹ<Ã7»¢ùHó”ÚÃTFϘzÊëÆ]/q¢*fþ¾{DcÒ]»r¦|gi5®>Ã×®ŸOiR8mÂhÎw=–ª²½×µ}Mo9w9déEuªÙ`Ñ dÖãâ×e Âþx õà¼u f,ÈCÙ`§›ó5Uß~°YmÌüéjâøQ´LïŸÿç®Y|¾<¤b˜‚òˆ+Æ/ß²pÈ€„ìÑ9×Asà v½ôY_²(lsèyƨ%<F»Í&â‚AEŸ¦KªÖšQ5u¾ ÅÄ÷o q<R¨êi\ º$ ˜™E"@M`!M”˜‡ê¡ñ×\ì] fx¯À#–èÅÓIdRÙ#w¶uKà tv½¨x£Evõ’
endobj
-2050 0 obj <<
+2054 0 obj <<
/Type /Page
-/Contents 2051 0 R
-/Resources 2049 0 R
+/Contents 2055 0 R
+/Resources 2053 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1999 0 R
-/Annots [ 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R ]
+/Parent 1995 0 R
+/Annots [ 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R ]
>> endobj
-2053 0 obj <<
+2057 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.7036 736.6188 388.3756 748.6785]
+/Rect [348.05 736.6188 416.722 748.6785]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-2054 0 obj <<
+2058 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.1655 705.4559 533.2211 717.5155]
+/Rect [488.512 705.4559 561.5676 717.5155]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-2055 0 obj <<
+2059 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.9978 674.2929 438.8121 686.3526]
+/Rect [397.3443 674.2929 467.1586 686.3526]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2056 0 obj <<
+2060 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.1435 631.1748 354.3435 643.2345]
+/Rect [321.49 631.1748 382.69 643.2345]
/Subtype /Link
/A << /S /GoTo /D (options) >>
>> endobj
-2057 0 obj <<
+2061 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.3035 525.7308 407.7186 537.7905]
+/Rect [357.6499 525.7308 436.0651 537.7905]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-keygen) >>
>> endobj
-2058 0 obj <<
+2062 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.0093 525.7308 505.4243 537.7905]
+/Rect [455.3558 525.7308 533.7708 537.7905]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-settime) >>
>> endobj
-2059 0 obj <<
+2063 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6803 231.1567 357.3523 243.2163]
+/Rect [317.0267 231.1567 385.6987 243.2163]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2060 0 obj <<
+2064 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.5503 199.9937 402.2036 212.0534]
+/Rect [356.8967 199.9937 430.5501 212.0534]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-2061 0 obj <<
+2065 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.748 168.8308 472.42 180.8904]
+/Rect [432.0945 168.8308 500.7665 180.8904]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-2052 0 obj <<
-/D [2050 0 R /XYZ 56.6929 794.5015 null]
+2056 0 obj <<
+/D [2054 0 R /XYZ 85.0394 794.5015 null]
>> endobj
618 0 obj <<
-/D [2050 0 R /XYZ 56.6929 151.6518 null]
+/D [2054 0 R /XYZ 85.0394 151.6518 null]
>> endobj
1427 0 obj <<
-/D [2050 0 R /XYZ 56.6929 124.9969 null]
+/D [2054 0 R /XYZ 85.0394 124.9969 null]
>> endobj
-2049 0 obj <<
+2053 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R /F64 1435 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2064 0 obj <<
-/Length 3743
+2068 0 obj <<
+/Length 3731
/Filter /FlateDecode
>>
stream
-xÚµ]sܶñ]¿BÓ—žft4A
-à‹ÓÌGÎ×f‹wŽP0 ÐE%AJEô9Î
-:Ψ ëØ ?lˆðÞ1pèæ¬ÑQ¢”—Dô{Å mÒé‘7‡Nq
-W Hòú¶Ý‚:¬©ë1}ýÝÅó廯/bЖ¤‹ë]?àèJjÞçõ®äƒ³Côý¿®Ë¹ŠUÃCy•Ykoe™‡K šocÆ@ˆÛS50ò¥Š2+fP:>"´q¤Ak¼ÿ™µ n^uˆØ:Gc*H1CwS½ôÕ}Y?`8±B
-¦ZœO €»¯êò–’*moš/ÍégÌ°aé]ÎëºÝj¬QúórQŽk™—
-ÅÌÚé‘V“R¤PÒ›º~µYve}3gE$ás€y\ dcÚOIûVEf¢³Kšy×¾/ïé#½7EÎN28ÌìxÊâg<qôýp’‰¼ûàSI)Ò©@B0Š˜+»Þu}p‡Ö¬æ/ÆîhO¶³P4m ,Ë9M%Ù)8@rêB@R¬^x¥àhàu»]çhˆÐIœÓ:vëHÆT]&›Üì qòì?©ïͨ5e _AðVP ½ ’EÑ™ƒ¸+³Á}b;pŸhxÀ¸¸‚–Ë9fûöòÔ*?øH
-{Î ã×æ¹E"Þ§
-DGSŸ‚Ë#¿Eáá>ÿ`·3q{©L¤Sù‹3©ä~²Åù¾Ù™§÷Hšõ”K0=šd=AäT¾÷qÖE­㬠ղžüòC_n›¼>zÎt‡ö¾÷³)¬¡/³ÙS¾ø‘ÊF&6{_üü¶Už¬3±:J­‹7ýŠ)ªåp¨¥
-j!µ««!§Dlœð¦á×íä¸Ëï_í×ñ%D²Mᣛw»Í¦Ý²(üÝÕÝé)Á—ÉCî_‘ó¦'þßJÈendstream
+xÚµksܶñ»~…&_zšÑÑÄ‹
+<L£©ÂEI" àÇ9»MžuÅrÓTåêg'&Š§xöªÊvmlNÓEVUÍû˜Ç‹u³=nÁ#?ű¬‹åí6+ë"'ت©;?§©ÐÜ[Züþ.ëFÄ´ŒŒÒoVäp—2U‹ Zؼ®¹¡ïöÌ-v €sœ.Š¬ŠÝéRˆ(5Fú”Hqjí¦8‹U‰´ùùÙRÅ PR„MqN‘­î°¥b—ݧàŒuÇ(†åE] ÛÛuÙ¶eS·4xC³`v]$
+Wï^½$EõGƒ/
+Š§ÝÓÕÔj!xö¿èþy³é@öðøV,²:? ,Y©¼.²º¬oovõIVq k;ϘŽ¸½Ø$bñÃ]Q“® ë"›t*ŽGŽ¶ÊÆŸ`€ReÂ춃Ék¸<¢„äÍÙņÔÂÀ9)I¹7#£.˜!¼ƒÛÝ6CÆ°Ø’eÚR—ŽíŽÝŒÔqN{»´d™!^E"Iæi÷j »\ÄBåàœŠûè`ÈsÐy£n\$c¡>AZR›ÎÐee«Ň å¼%8Û5hN¾!XF]6_’Š+š?Ǫ iYžó¹ZšPòuÓ±<I¥è2'òD‹ªâ>CvL”Ï׋¶‹ùòcºü80s™ä¡òF¦iä´Og¤³RóìÁK8ôj¥÷.˜Ç&¾íû²[ÝyC
+RÀО#) ]ºò¾¨0–ŠX!€—èdý`dn ä %ûC&¢®ÉˆXCF¾ì ™$j¶h¬}„€ò­@+Û o6Û’CÒIŒíW‚ÊÂÞH–‡3¦©×Ķñ™M l&ô$5ÖÃ!µz…Ö ï É…’}¨§Þmû©¨æh÷—Á)Ètûöû²ª¨uÍH}ª3Þ;Ý Z®î²ú–7Èê‡1!<>¦e½÷ö)^\´ínM:žÁv.Ø
+Ž^7Ûu††Ä9­c·ŽdLÕe²ÉÍÞ'o£ý'Žµ¦Œâ+Þrj¡D²(:ó¥qÚ»OlÜ'0.¾šåÇ2ŽÙ¾»üµŠ!’ž7øÅ5†y~‘ˆ÷)€ïŠÃÏ°%£mï²A1Ђ'vçGµ\é± `™‡ß~x‚VÑòò–
+Jú]Ö»ª+7aêø=eF,®fy a´Hú"ì#Ì5q¤„8`îÔiàûZ|yF.ÝeÕÄã“ ™ÇõX°¾â:ró/Ð+Cx2Wj²@ ìËs¿l¯ÍQ¿«";dBç3¸’bÀP1_·Çi9­ÄSM»k>úLY2.—Œ
+^*5CueZXK¢T÷
+œK,Ž¤ìãÎ#Å6|„À§þãR†oò½>&$ùOFÅÆk®®mädlŸLÔ¼ÑÑô§`ÁòÈoÑÄDx¸Ï?ØÇíÌcÜ^j+ÁBØdª1Ÿcq&•ÜO¶8Á÷1;#"ûtâI³žr #L&YOùªPû8ëû¢ÖŒqÖj¹@~ñ¡+¶uV=gÒ‡C{?ö1xgøs
+¼@ΦOù¹Ò.²±Ýû¹Ïo[Á:[¡£кpq3¬˜¢Zö‡Z
+>'!% ?&š0sr L\‘J”~ÌD‚ïO¥
+b|ù![uKN`¾üë S¬o%
endobj
-2063 0 obj <<
+2067 0 obj <<
/Type /Page
-/Contents 2064 0 R
-/Resources 2062 0 R
+/Contents 2068 0 R
+/Resources 2066 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1999 0 R
+/Parent 2072 0 R
>> endobj
-2065 0 obj <<
-/D [2063 0 R /XYZ 85.0394 794.5015 null]
+2069 0 obj <<
+/D [2067 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2066 0 obj <<
-/D [2063 0 R /XYZ 85.0394 220.0856 null]
+2070 0 obj <<
+/D [2067 0 R /XYZ 56.6929 220.0856 null]
>> endobj
-2067 0 obj <<
-/D [2063 0 R /XYZ 85.0394 208.1305 null]
+2071 0 obj <<
+/D [2067 0 R /XYZ 56.6929 208.1305 null]
>> endobj
-2062 0 obj <<
+2066 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R /F49 1308 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2070 0 obj <<
-/Length 2552
+2075 0 obj <<
+/Length 2549
/Filter /FlateDecode
>>
stream
-xÚÕZKsÛ8¾ûWè°ik„àMඞØÉzfâxïîav”DGÜH¤F¤ãøßo7¤(™²­²R•-W™@£‰W_w”pøc™õÒ¯™á ¦Ë>ø mïODÔ7Jã®ÖÏ7'oÞ)7ðÌ[i7·¾ãΉÁÍì÷¡e’ >|ûñòÝÅû^ŸŽ=¼¹øx9KÇï.~;§ÒûëÓN¯GcጾýûéÕÍù55ÙØÇÏ—g$ñôØÓéõù»óëóË·ç£?n~99¿i×Ò]¯à
-òçÉïðÁ –ýË gÊ;3¸‡
-gÂ{9Xžh£˜ÑJ5’Åɧ“´vZë}û§¹`B5[É”µrÿ°4‡acQæ¬1;£Ž÷LÀ?°‰’L(£Z›hÙ±‰†i— ã™UR›Üç‹Ù4]ÏpsÞ¼“]ý„3/Î
-‘Äiç3x/¯zÖgãÚ«mŠ £Sró
-!!Þs÷± 3î Sa@'ŽY­²iLÚ¨ÛÛ[æ¸EC²D+úûk¯É!îq£5z(¢%AÊð4zã´ª³u^}™ I^4þÁ€¥iZeûs×ã½Î‹n3¸G/¸> KzC=á˜%$o
-:Ò1[`)Ó¶D‚(ýBß,!Ak}3lü°Vù2_@| B
-jÓ+VrˆWƒ>éây$ÈÚ¤;cQÊñ5[‡\R@.†hmÿŒb~ºXRs'Í
-¢’¼ThÀ³ÁUP¨Ò°5kzRس‡+ÒúW°F§k(´SÒ’ž Q°Üqÿ=\¥Óº{<(æÄñ¤⪰F1Iô÷nÃRRév2]˜Ó³Ø=‡)‹µ/J¹¡QŸÇ¥ÑQ–:O³H'’%ÜÑ6~YOÌ!‘N«%Ô"‰B9Ï_³õ„ÎieÓÔâ-Ô6LêÁòjÍ7ñ.œTD#,lȉÇwŠ>XŒ˜C•æ6l>D0˜_‡`P£°óÕÐõ’Zº‘Ç5‘Çu#áŸw«^ßÐP,é'aòÄ›@|NÚwòØH»vz6vs„ë½ÀLº‰#’gƒÊ8Á¾3#ÍsäC½WRwÈs`úÎ ’ߟA¢¹û‹Ä‘ „Ä‘RJeoÞ†ÍX$cÞ&»³èvcQÏê¶&2‰¶—N
-‘¼Z¾¡rKü]RЩQ^äužÖ­ÚÅ=ÓÙŒ[U$È‹À…Í» {ÙRNÏήÙéõÕÈËái¼‡)"J/®l·Iûp»Y­Òi°¿óñ%Þ€¢¨ì£ÿsgváà¨/¸('p-ÄK¾)J©)Áïý¦3H,³àü€ióÆ.J›éJ ÷-JuíÖL=Þâ:?ž³Dpú4sÙ¨±x"MÎ FèG8êB ‡ÿrøès«ð|Ã@jËLÌ*Âwðáƒo•Ãb7›o.–rpVÂ’ÝUQ¿ãnÇaMVtã¼Ä‹Y3€ä´L˜îE_’Uðu†>c”ë¬Î§à±¨iUVU>Á¡Jø¬V%Ý õ$éâ$qÄ3,T
-é¬?§o<7‹sWÿ:¦æÁ™gÅŒv³ùx‘E
-ø…E8C|ž]ž~8§¦ëë*««í7'½ bH“ÔåŽK§)BÒV5ž$Ù~ç-¬f‰2öGuÞÎ1î~Îw )7ꈾ[ppP‰G÷ÝÝŽ÷ûn!<SÖëÒyw¬òƒ;ow?«9$Òúðƒë(ÓÙý±oqùêŸVm~wã)çdýv¦À¿+B~çgb Nã+I5<-žkÝH>Ý­V度ʿFF†à6Àòí]¦B.ôègdø5YYÙ ÚÙˆÿ&ðaUendstream
+xÚÕZKsÛ8¾ûWè°ik„àMඞØÉzfâdïîav”DGÜH¤F¤íøßo7¤(™²ì²R•-W@ãþ¾î(1àð'Î0®¼$^3Ã…L—'|ðêÞŸˆØfÜ4w[ý|}òærϼ•vp}ÓË1îœ\Ï~¾ýûé§ëó«ÑX>´l46–¾¸<#‰§äíÇËwïÿyu:Jôðúâã%‰¯Îß__¾=…3úË8žï.~;§Üû«ÓN¯F\ÿrr~Ý_ÁnäÏ“ßÿàƒlû—Δwfp΄÷r°<ÑF1£•j$‹“Ï'ÿhìÔ†®}秹`B5[É”µrÿ´4‡icVæ¬1;³Ž…J˜6 êDI&”Q­N´ìèDhÅœRfϬ’*(å>_̦éz†§óæìvH8óRá°áõ<£6FwÚHX¯IlS¤Ë¬g ™0“˜Øæ?œËl1•uü¢´ºü7›ÖXH†uI³ËÏ”‰k 7Œý²o«´¨ò²ø Ê>¦EØ
+EùÖ5!~W›Ó²¨³¢F…K4ˆiÝKë™-=òôË뇞ýÁ¸öj›#hà”ÜÃ<@ºvZdžPþó`½y\þ¥(ܲÙOD!öÐáÈ[»žÜvša5/o‰¾ŽS)ƒ•DÈ¥¥ýç"4gÆ8ó¬ƒÑ¸†Ýƒ±Fof WÚƒ9OšMïÁÓXj4ÄÂ6»í1Ö«@j1l¬Æ²¬j’ÜVÙÍíbÛbˆaºX”÷ÑB`›ÖX”Eékö@’U¶îÃT4$N“ñs*ÂÌXWœŠtÛÌc††…ÖópÜݪ¨ ¨ÛŒÝm´wRÙa=Ã’²“(º],0_q»•BHpøÜ=C±`ElÃŒ{ÂT˜æ‰sV«lš•‡º
+;‹y:VPB<ŠŽ÷ñ¥ Ä×{—/þ˜|Ñ‚þÄrÂpÀH_´|iìÓÿi”D%y© Ø€´dW°!p¥¡¶¬)%°;gY¤õ²`‰î×i—¤%¥ S0ß±þ=d¥ûº{<)ÅñªÄ]a6Ìb’hî݆:(¤¨Ò턺&P§g³{nSAjŸs¿„G]€—GGõ;Z
+\ ‘N$K¸£süºž˜—8¸¯vB”PŠ,
+ù4¦¿fë ÝÔʦª\(m¨Ô.$Ö®šobŸ.œTÄ#Ìl؉x°øe#è°Ió ¶ƒb¬¯Ã0(‘ãy kzI5]ßãß㺾‡€Žéíª×84KúÙc£ãÁ {âc ¦“¶oÃÙc·OÏÁn.q½O˜I÷&qDöl`ù;!8wf¤9ȸ×{%u‡=/tCß™BòûSH4Ï‘9!s¤”SÙºauÇɺÉî*ºCDoÔ³»­›‰LâÛ£íåÄ@1ƒ­œ¤w,7|ê™®yñØñMü
+7Dà%•î
+ïIy§uÛìâ¥élFЭ*äE æ/´½ìu*§ggWìôêÓÈËái|Š)"L/>Ùn•öá…³Z¥Ó,";€ç L|EQÙÇÿC·v)4KP­ŠÃ\ ñœ‹RjŠñ{?,Â
+Ë,X¿à´é±Óvy
+p¤
endobj
-2069 0 obj <<
+2074 0 obj <<
/Type /Page
-/Contents 2070 0 R
-/Resources 2068 0 R
+/Contents 2075 0 R
+/Resources 2073 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2072 0 R
>> endobj
-2071 0 obj <<
-/D [2069 0 R /XYZ 56.6929 794.5015 null]
+2076 0 obj <<
+/D [2074 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2068 0 obj <<
+2073 0 obj <<
/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F54 1383 0 R /F61 1416 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2075 0 obj <<
-/Length 2933
+2079 0 obj <<
+/Length 2913
/Filter /FlateDecode
>>
stream
-xÚÅZIwã6¾ûWèH¿×B°qËœ:Ž8És÷ÈÊÌd;P$lñ…"’²Ûóë§
-P¤L·»Ó‡y>(lµã+ÈbÁáO,’q•êEœjr.òÝ_ÜÃØwgÂÍYúIËñ¬oÖg_]©d‘²4’Ñb}7Ú+a<IÄb]ü\|ÿöýúru¾”!"v¾ #|s}ó-QRú\¼»¹ºþîçÕÛóXëëw7D^]^]®.o..Ï—BéPÂÊmñë»›KštuýÓåùëÎ.×Ëc±WÈï_g¿ýÁH÷Ãg*MÂÅ#t8i*»3*j¥<¥:»=ûç°áhÔ.S“æ‚ ªÅR&) …Ö/ŸKgp8×5e¤*>9䎙cP~È5K“X Ê×r¤|¡K”
-q˜²HIeµo>ô¦­³
-õóÕ•/ˆ9K¥Bpâz[vçK%“ =O‚Ce°“YU5[-Æ«C5u‹ëlgŠ™#”f2
-ý}Cæδ´}¿5ž–—]ÙÔÔkîhøqk`FKDX'€Bx
-ZÙ—B°4„íqsË(ùCFŸûòÁÔÔ<심7ÔF.ì,76hÈöŠÌìššÙ“øô„5òªÃ4ØSMmðBäiy³Ûê2Ïú²¾'ÒcÙoiRïWÒîÔFuã`·7ùrzNù;çÔºŒ¥
-Êš¾¸•Õs¨Gz×I¹öÖ( S÷eÿ4cÂBJá&ÚªâÍù2Ñ‚¸Ä3îšv—õÔFùðû¸-ó-6%2Nv 8P<UÒïRj:wâœè¸B¹c«&Ϫ¯gÄP!K¢0tÓöèï¹dňæÃyÀ˜
-t–ö\$Áœ‚tÈÒxXôÒÎ)"Š¼Á>¡Ó84¤e»·.:Å 5£îÏ7×ÿY:½¨”%ú½Í.Cj]“ÿizHc)W`ƒ_Zâ¼î«§s!D
-²êàš”ÔQØñ3%¨
-¿hÓÝ¡sVµ.u÷4Á²wiž–²êèlx-Ž®M<‘pë2 
-LÕ ù‚›¦wc.MÀl
-¶,ßúÒ­ìúòMt§€MØP½
-Í”†ÜȱZ‡¬ (8"¦Î¡°Gøµ©ÝéWeeŽK½v©â,ŠÅ°” ·xì‰!]¬öÃ8€ãzÀcáå­§ÿÞúbÕ¨?wnܵ»™\|HÈñ€«Ç<T–°N9–*èÜIT¤Õ{ƒ136 Í#jW…IpGý¯®.ˆ …–v›¦ËÛrc:¡ÊÝV¾59;Rmá¢õm—Çs7{52ÎÀ¸Z­ÁØ…§7¢tÏû
-2ž-¤sl%”ó¤•nìЙ‚Qõt AmˆJÜ‚ýaS•¾ŽÃË1|Idhx‘%TyXñ ½6´ÅjåŽÚfnûñ Qíí’Ížõö.wûÊì`²÷oŸÇ‡Àøöæ– à}aYÕ5~1¦/”üùK ú+¸¨pïqÖ_wÍWí-fd¸°mo<hÅct4–¹)MaÐ6‰
-.ÉpŽH­m6ÞaˆZqŸ‚&.Ô²¦bÏù»”>‹â ½ °±q³1ÿQÍæ°ÅµJ w84ìáZÌ®ùøpš6ΈاŒhGè³Ïھ̓¶ïô¦ .âžy³Û7ßÀŸßXi¡%öÀ ñ4¹ÞÎNGX b§N…©s^hÙ(R÷º¦[¿³b£ƒÒÐ.$G²Nl'SœL'=§ÁÞéË´vŽ k×Îuž‚™ªÅbÛšM®F´ÆóoüŒœ¨N‹/(ùHî‘à"HßC¦{8–"†’³uWÇhåîPõå¾rË­®¤Ó øN]º‘¹}_îÊÿ:/°3-š°s‡ 3͇ ã~öî÷y‚ÿŽ ß!Á±ûXØg²vã&“:©½ñÏmé3 ±íðá ­qkÌiñ ´d"ñBÄ
-='Šükrδ¨ùˆ¥F*ø2µ-¥cÈ©<úŒ-iÅG~ÂŒ$ã‰~Õÿ¹`¡Š\]³þ ŸSî|>u–;³„ëR˪|pD«ëØë:Á×Q¨2BÒñÅÈž˜QWIgp •
-áÒ›¹9ùâÕŒÿ©ÿ,pü‡ `H%‰|q Wp*ð‡OÜ˾ýò‘¯ˆÆÿ#ÁR/ßKãB~ù¡7uáUK?üQç_¶¸¡Ÿ°ü[þE¨„…‰Œý¡#Mü6Òåendstream
+xÚÅZYsÜ6~ׯ˜GªÊƒàâ•}rÉQ’’³£ñîæzà†9&9’µ¿~»Ñ
+YÀ‰ëmÙ.•L‚ö4 •ÁNdUÕÜwnµ¯AÒÔ-®³)fŽPšÉ(ôGô P˜ÓÒöýÖxZ^veSS¯¹¡áû­-a9œ@úP)ˆ¾‚¥!l›[FÉ'2úÜ–w¦¦æa_d½¡6rag¹±AC¶Wdf×Ô̞ħ'¬‘W¦Á˜j
+hƒŸ"§HË›ÝîP—yÖ—õ-‘îË~K“z¿’v§6ª»½É—Óó(nÊ?8— Öe,UPÖôÅ­¬žC=Ò3xNʵ·FY˜º/û‡ƒ„!ãR
+7ÑPoN—‰Ä%žqÓ´»¬§6ʇßûm™o±)‘q²ƒHÀâ©’þRÓ¹ßD¿Ê[5yV};#†
+Y…¡›¶Ï@OE «àÚ‹
+Ò!Kc._Ùã,Š¼Á>¡Ó84¤e»·.:Å 5£î‡«Ëÿ,^Tʈü‰^Šf—¡ µN‚®Éÿ2=$º”+°AÈÏ-q^÷Õé"
+¿´!Ja*ã·#ñTâ’{îÒmçF;@k%]~öHf82g)§ð ps>ä’ÜÑ1è¶n¤b@t®`Ëò­/ÝÊ® ß”Aw
+Ø„ Õ«ÐLéHb r,Ö!+¨Ä¿QœBa Žð[S»Ó/ÊÊ—z)ìRÅY‹a)nñØCºXí#…q
+.*FÏqbðØy×|ÕÙÞbÖI†ûÛöƃV<ÖAGc™›Òm“¨àœ çˆÔÚfÓéV¸¡µ÷)hâR@-k*öœ¿Ké³(ÚË
+ÀÎIÙWsloÔX ö09^ðb?Ý×¾9˜Ü)̾ûK&"&Ôž’€Ÿ°ôëûI¯ñ‘
+Ëϯ}Jzö·¡l <cÿÛ TßX ¦”ÂïkÍ”2¡ˆˆ–x\ü¹§Ñá|Š&V+ÿfàáô¡.ž>³ûu*8¾ø—û/x‘°+Ô Z…–ýåãe­Jøê(?ê( Þ¢öÒ(0u Äga ¢åÆ>°À€…‚¦KÄ0áXNv~Èϱ[ãã!² ½}'Š5¹Ç‡Í´šyÁP# |V†Ò1K$¾`KZñÂO—‘d<ѯy?,T‘«gÖ?ãÓaÊÇÇ Írg–pMŠ`Y•wŽhU{UÇ!x:#
+UDH:¾´
+9wmòÅ«éþsÿFàøwÀJùò“£·WtùŽþÞ¥,ñ€-äçŸzS^Ù×ôuþeËú±Š*hHj*€€{òÇ‚3©"éOiáéh}¤endstream
endobj
-2074 0 obj <<
+2078 0 obj <<
/Type /Page
-/Contents 2075 0 R
-/Resources 2073 0 R
+/Contents 2079 0 R
+/Resources 2077 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2072 0 R
-/Annots [ 2079 0 R 2080 0 R ]
+/Annots [ 2083 0 R 2084 0 R ]
>> endobj
-2079 0 obj <<
+2083 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.1654 175.0606 414.8187 187.1202]
+/Rect [312.8189 175.0606 386.4723 187.1202]
/Subtype /Link
/A << /S /GoTo /D (the_sortlist_statement) >>
>> endobj
-2080 0 obj <<
+2084 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.6742 175.0606 508.3275 187.1202]
+/Rect [406.3277 175.0606 479.981 187.1202]
/Subtype /Link
/A << /S /GoTo /D (rrset_ordering) >>
>> endobj
-2076 0 obj <<
-/D [2074 0 R /XYZ 85.0394 794.5015 null]
+2080 0 obj <<
+/D [2078 0 R /XYZ 56.6929 794.5015 null]
>> endobj
622 0 obj <<
-/D [2074 0 R /XYZ 85.0394 385.3709 null]
+/D [2078 0 R /XYZ 56.6929 385.3709 null]
>> endobj
-2077 0 obj <<
-/D [2074 0 R /XYZ 85.0394 353.2653 null]
+2081 0 obj <<
+/D [2078 0 R /XYZ 56.6929 353.2653 null]
>> endobj
626 0 obj <<
-/D [2074 0 R /XYZ 85.0394 353.2653 null]
+/D [2078 0 R /XYZ 56.6929 353.2653 null]
>> endobj
1320 0 obj <<
-/D [2074 0 R /XYZ 85.0394 323.4096 null]
+/D [2078 0 R /XYZ 56.6929 323.4096 null]
>> endobj
630 0 obj <<
-/D [2074 0 R /XYZ 85.0394 266.7517 null]
+/D [2078 0 R /XYZ 56.6929 266.7517 null]
>> endobj
-2078 0 obj <<
-/D [2074 0 R /XYZ 85.0394 244.4404 null]
+2082 0 obj <<
+/D [2078 0 R /XYZ 56.6929 244.4404 null]
>> endobj
-2081 0 obj <<
-/D [2074 0 R /XYZ 85.0394 158.1241 null]
+2085 0 obj <<
+/D [2078 0 R /XYZ 56.6929 158.1241 null]
>> endobj
-2082 0 obj <<
-/D [2074 0 R /XYZ 85.0394 146.1689 null]
+2086 0 obj <<
+/D [2078 0 R /XYZ 56.6929 146.1689 null]
>> endobj
-2073 0 obj <<
+2077 0 obj <<
/Font << /F38 1082 0 R /F42 1288 0 R /F22 997 0 R /F21 994 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2085 0 obj <<
-/Length 2961
+2089 0 obj <<
+/Length 3075
/Filter /FlateDecode
>>
stream
-xÚÍZÝSã8ç¯È£©šhõ-ùî‰0ÃÞ,Ãæêîv÷Á$\b6v`¸¿þºÕ²ã
-÷ûçÞ¯¿óÁ¾îç=ÎTêÍà8i*·{Ú(f´RMÏlo¼÷÷vÁÎÛ0õ%˜4LH£
-“=Vwù$HËd ó:¨ìŠy+•ìÓqœã¸{¢ãÿÛ¬f#¦L9й¡tŒ»uÛðÌFHçï
-pû«ª òÑ0ë4sŽë
-ý›L““9½!­âä”Ú Qï€Ö¨²AC¡—Zf•$»&ž½ð¨¿ 7Ï­ðQ^MÅe>mŒqdïñ!€ˆÙ¬»Hv¥ºÍæ¾}ÉfÆfÆÁ:-|ç@Y•ô¤WðÌ­ð¼·Q©Ö¸¦ïGÏ{»½Î¾^÷­+ø€!Þšïñ„ÍŒðï˜wVõÀ­rŠ¤ê
-b5"î­¦§àd» ¬í;p÷ø7Æ×u’‚ž¼û5
-gÄÅ ú.'¨Ä4N,ê›ÍÑDÝÆ4ÈéoŒµãb3ë:˜ìŠs|»äߣ”͌͜Ó¶«{4ò\ˆ,9£¨A$þ<¿›eª)¹¤ûèiy›Ä€ŽÚT[X Ê•#¶
-®ÆíÉ é6êFT*•É¬,ÿÀUª’åÝ»%$y-¯0<¼Ïg42hk¦ð4§9(cmpýÕò²¦çœ„°0¥°p-ð#éi¿•«fç»,TÇ s‘ÅOãhb²84‹ã`?³f E´eh§ô>«èýBc£ c‚1Î qh“ö×M‘!Ú<Êÿ}Â-­“[„»#6¯Åk—$‡R÷·²ŒÃ—Eáÿmô/à¶Jy2®Ëä`è†As·¼œ¢ÿÈ£kîØ|{5«*®ç Úð+ÔùŸr¾²6ÃÍö©Çqµ%%耰[²SW®R q¦êI ±gB™hˆÆ˜­J³Æ'‘F ©In²ê†(Ô l3Ñ°» û5—¡# ÛY¦e!ÒȆi­¯á]•Ý¦; r!øaVùž
-ÄáÙ"¨ÌjƒŒÀŠ¿
-H
-:$‚G,€2:êŠ3¼ â _âv¿ô ‡¸
-¼„®'[V”*“ÚðÝ'gãÑað&Ò)œÑ™Ø=Ä´Õš1ºÍë›2š•ù‚­›£^+UùÊZµÝ·`«¡Ð†OÈ‹h™^Q8Ö\ncV…·Ì,p)w}öHz¦!L'fN÷‡†‡Amt'X° B“‘T4X©§¡r­:˜c(žOŠ¡oƒs—ßàÜ·—šº_º+†ü€Z´tb¬žTÅ53Ê“5 z­GaJ­Á¦qáHÞu\8>“ ïÌ
-‘1Ï3Ö$_ªfx1ßÌ%PÇëb¼­ÊýWz í…LhJ=Á€Ò02
-‚!Ûk•rIÅ·ð¢ó•o¸ª,µ`ÂÙžœKBþˆ§øý®BØ’lÁ\¶ÎOÊ"Å1õó«2’¨5xaHué#”Ð!¼³qèº9Þˆ.mÛ¼ñ3=É S¢'*”J2ÏÙÑ_@ÒM*žI:z/lDÅŒ¨FÔé‰$½9ÛÆ m:£%’ªY¦½ƒtôŸW[œ^<£ D^´×–<Îʇ qž‡Šv_æ5„;ñ` žéêD|ûH-m¦Ñ©=vÅ’ PàÁ_¨—´éFD¨‰oLâR§ß}×|‡»2¬?@—Eª š5=1¯€5Õ’ ëéÁÙÅ9ÖuON wt7KˆpEýؤrÅX‰—£¾ãÀ"à¼D²Ôîvw{"´[T½`šów% OM½# =œ¨Î‡;)¡L×åâxŒž/î‹æ&^6™¬åè'¤CMÇ·\{èî{·™óNcûMyOE[8ŸjÐÅ`Àúx+K¹V^3¬SW4"@Ñ2Ñd#•6D5uïà{ÌšX«MQ€X¶Žî×½ác¤¬Mûd\Ãx)\äÂè0„|ë€XhÛ˜™Ã=h!+¦K”T঄Æqá,Rççqj̀ʶûsd±–÷Ðàþp3Ø“Qƒ¯õÉv”H‚i»Ç<A—W)k"ò¯EU?]ï…ðKˆxÈb)VG¢ómðô@ßÔù9µt)H×Þ# ýl–:‚ÔÒÒÔ†M _òíÍÄï9ÛZÒìŠÆëÄ ŒsÖãj&]¸xzO“zMø·Þ_Ýž‡ )ï{.|‚ãRˆbç<K™žIzÂHgôµÎçm s¼¼»+5=üc_@à–/ª¢œSÜ£¤° ¨Ø³[ò‚#²ùÑÿxhðendstream
+xÚÍ[YsÛF~ׯà#X"s»OŠDÙJY+É©ÝMò
+(èØûë·{z@‚’H8½Ë¸*è¹ÀÁ×wψüã§S&½X¯R͸LŽØàÆÞñ8gÔNug}wsôí™tŸz#Ìàæ®ó.—2çøàfúsròöøòf|5 Í“GÚ°ä»ó‹Sêñô8yqvþæÃÕñЪäæüýu_ÏÆWã‹“ñpÄ¥Ò^ ã+þýþbL“ÎÎ߇¿Þ|4¾Ym¹ûYœIÜïïG?ÿÊSøºïX*½Óƒ? ÁRî½<)-S­¤l{æG×GÿX½°3–¾“b<åBËÁH³Tq¾ýWéüj$…L=îsóGá£mª´Eä•J™gkä…è Ï•L”z`µO2@?™gu=©Tr\XÞ'y9©¦ù.áft[44ð1›/sênfYì,¦yÙ¿0&òšÆ2x\ ¹Kª¦šTsê¹ËŠùgäÃÀÁÇhÛçHˆ°™jAÜ*ʺÉÊIN­êŽž=º¯MŸòTS­1bÐÅâuøJåR ¢:µöÉ23},“ðY‚û€ÒÕ)i
+M¾ž÷ÖP+øÙî 6v¸{űM­¤À'ï~ @I @‚ç]µ,§ˆ%óÉøÓc¾
+ñ 1­2c¤ƒø`W!ƒ®ÅÐ%Ëy+â|p%Ÿ‰*ó¨ ¡»¢'dÐ I5Á‰•/yžiµJ"êj¥^øåVÝ2Níò#Æì×ì5¼W ëûL˜ò°7Á ÉÏéÅõã
+2êM’Ú  æ(FØj'#ã*<§qz=«–ó)Ñ·9=—·`ûfyìÎvˆÑé5±ãÙ»»LkÚŒñ1æˆeCíÿTe¾‰]t¸Æ¢´I¥ñ}e1e6ÎEdâ5ú!n’“
+|JQ"b.nøZç õ„è
+’ðŠK¢&ó"˜°"¾,«ëjR€NL㢙mw*Í*EGVaÕCYÆ·ó®‹Ê¾˜÷JiXjÁþ÷0O:—
+¡‰wï†^$?¡;ôCnH!Áí#¡ Õ¬~e5pŽÚ?ád,©Æ'oºš9‹ädå¡°Õ^ÔŸç†åÑ9I»®‡n’/¤²š†›^†Zö–ˆvãE«Ð‹~(¾7Ä©6Øal¶8¼_¢ÕÙä‹EIÉ]¢ÔáѾbKe!Àc&ÝiWl%Pp â»D ²P©}”¥h5ØÏ«üq…37KYBNt›$ m1P«s:Ù³¤ãóÝ`ýêÉ
+ȶš€Š?ç ¿AN¼L–ß„J’‡²Û–Î>æóÏ43Øþ`™B«¤5h°VRýõò¶¡vNBÉÌ‹äYQŒÇÔ$~+“íΙJ‚0Qç"‹ŸÆP7²85‹ó`?óvâ-Ãq”|£_h=tL°üó‚$·§"«8-zP:I‰èoa¬Ø!Þ¹y,~ÕhC€ ôÞöZJH!¸òQ¼c2$=K®›*Ö!°0éËà‚å Ñ¿arB½ŽûÂ(ÚëUuq¿JUƒíÅNŠ™£Åm—õcÄäŽD· ÃçHÂè”9Ó—è
+ÈøŒpz•Zðrœâ>j ÷:™eõŒ(Ô |f4£e"v&†±DE&®Vé‘F&nusŒ}÷:°pÞé ÄŠ¼/¤ZîH¨ÇPjÇD2.#8—UѦ“`ÅÁu~{¿UÒýB¤xÊ­éó¶R9<Þ}8Wš…û8J‹‹—a€†á¿z
+y_”ÁëÓ{@½ÿN Ú^¨¢M©'8*šF&€^ÞYz[à½K!]r»l^*HÕM1Æ7:@ b=¨ëó7xÅ‹á®Þж^>é«kÐåwU@;|;àÃu°ºN¹¾(ÏZø F±îÿÂ*ùôT]€ö‡Ã>×V„€­Ÿ&³¬¼•?Hh.\,i»:ÛgR0e—\­«uB²·9×ù:Ü ¦I­0È
+“*®ýK^½¡Ê—þ1ËúzpÀ¹-wh°~'¥ç(Aø® qq£Ñ²û7<©O‘(ÿãOM^®"m¾«E i~ÂzŒÄÁ‚‡kŽO Å£Xí û‰¿ØῪ£àendstream
endobj
-2084 0 obj <<
+2088 0 obj <<
/Type /Page
-/Contents 2085 0 R
-/Resources 2083 0 R
+/Contents 2089 0 R
+/Resources 2087 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2072 0 R
>> endobj
-2086 0 obj <<
-/D [2084 0 R /XYZ 56.6929 794.5015 null]
+2090 0 obj <<
+/D [2088 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2087 0 obj <<
-/D [2084 0 R /XYZ 56.6929 671.961 null]
+2091 0 obj <<
+/D [2088 0 R /XYZ 85.0394 671.961 null]
>> endobj
-2088 0 obj <<
-/D [2084 0 R /XYZ 56.6929 660.0058 null]
+2092 0 obj <<
+/D [2088 0 R /XYZ 85.0394 660.0058 null]
>> endobj
-2083 0 obj <<
+2087 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2091 0 obj <<
-/Length 3019
+2095 0 obj <<
+/Length 2734
/Filter /FlateDecode
>>
stream
-xÚíZKsã6¾ûWèªÊBð"îž=ãìŒÇ++Ù©Mr %ØâF"µ"åÇþúíFƒ¥èá‰=µ>l¹Êj4ºÑº¢ccÆUª;&Õ,æ"î §G¼suïDhÓkõÚ­~}®l'ei"“Îà¶5–eÜZÑŒ~‰N?œ\ ÎúÝžŒy”°n/NxôÃÅå;â¤ôsúùòüâýOý“®ÑÑàâó%±ûgçgý³ËÓ³nO(K@…!þùùòŒ_|<ëþ6øñèl°œr{Y‚+œï¿~ùwF°º8S©;PàL¤©ìLt¬X¬•j8“£ë£¿/lÕú®ÛĤ¹`BƪÓ±‰Ýý]ú‡ïÒ*–Ødó³°lÃtl@ö‰ÕL m–²—²%{¡³Jŧ,QRyá_^ŸªnO+m£Ÿ*7êöÊ ú}wy õ7yEź¤ßÊ ó®°‘›<5Fù0«]h7Îj¢úýÐõ!¯ÇDeª¢c4Kãç/~6åCáæ0)¢"›:¤¤Ÿ r2úºyO.[ hU»ù}6!þ¨ £”5î1¯êÍñp|}ÿ) \DœÀ<GD´Ö¥ZPý>ýÖO3‡«ŒM”‘Tˆ?£BåŠÐᶜ7CÓ¯ŸTo}dyq‡“ä~°Ÿ-ª€å·8ö­›Wĸõß*§TºìŠS–˃R<'ü† Þë=²
-ôíÙ$6nžè÷Ò«3 ³EK“~¦Õ€³ÏjZÛñe[|!Õk"dlf„•¬&N%“qšzA] úè[ª4:AgFG³ÒoB*{¤A×p‚5ÌY6¯‰*oC3@ŒÊiFž–»©j
-D´ýÎõv[Î~ÁÚ÷訽ø×B¶opŠÁR™åÆÒQsÐiB:ú'ìÐèŠ|¢û|„¶*­‰¦ÙlfJ7®~p® É +% øg
-AØ3`ätÊÓcªoÒrȼŒ‰ÎÀÇôý¶šNÀÚ) t6y&Ü a÷i«%†·¬-‚°æ ÜIÎ`EwýþõÅ{8‰
-ñ¾8‘t±DX¯~W™h€fba–‹Úõê1AÙâ*©âèï/¨àc 1.«º"’Ü1¤Ð-Â_ïùV:ãÔÈå¡+xa»U1ÊI±Cô¦:v#GTp~ÐMÓ« –óßCÕ:Tölcš+Û³Æ.O¸ gè%ÙúËùm÷†RàX$‡ RC bbEbñæÛ4m™£Á
-!"î®<¶ÉÃy¾ä÷;©íµ¾á“UÁ|A¸‡ü p"Yj -üúê Yµ Ysa† 5‚ôµ+F>4úªœäÃ'¢Ïç+ å˜—iyRÈðvƒD¶ÛºËï]°¾Ó„È•õ ¯ßîÖ][(o8ÀP‰
-„p¼ŠOÁáþx‚oÀ}&8,ërXNˆ3 ù©ÚC:ç5U|ºÃoÐæÒ‰i>ê‰Ôð}éý~Ör…¢ PMnX¹ÏÄ1^žVTž-æ³²r¸É)‚lpË@øê»j[~äf‘OêÞò 7ëduíä:00„¯ÂQëØ;ð±&{zx&X€±*èÎ0Ó¸C ¯J„¶»÷d[Ûo8'”bS*Â$nB øܨDÀþùà@L#­Õþ’b­ ù›e˜G…‘»w“rF‰K—´ÆoI4
-õMØ
-u÷Ù</a¤ê©Úš¡­Ý4˜]¼Éªåû£·³™7µw!•=k>üñ™Ö²uUxË{p÷öZêíµ6×›q(Æ…ÑÏt(7L$Zì÷(,žûB­
-|ž_¨ðÔŒ(ÚEPy[»"°¦³I>ÌkŸÇµÑ< 7Üô°,4Â-å¯%°Ð0Q»ws„?,…ëp?øÚ#/p#ûá¹ÖyFv|Ö…oN³âiÛN¤y£ý†èÞïªðö +qrDÕdŽÚy î8£
-˜«±endstream
+xÚí[mSã8þίÈGSµÑêý¥î3ö†Àæjîv÷ƒI ¸.‰³Ä™ûõ×Rˉ’Šp•ª»¢
+·Ú²,?Ýê~ZvX‡Âë(M´ã®cœ$Š2ÕNhçΰاÛtꦽ>\ü|,lǧ¹î\Ý$cYB­e«Ñ¯™&‚Â4ûçy¿wØåŠfǧ_@bB*ž}ü|tqÕà »~8íBÃÃÇóþñéÉ×ÁÑ¡‘ÙÕéyÕƒÞqoÐëìþ~õËAïj9åô±~¾üú;íŒàé~9 D8«:Р„9Ç;“©QRˆF3>¸<øÛrÀäl¸ô9˜$e„q%
+i‰
+fŽ]{ßgÅ}9cæã-讦ý6$Þu%h+‰`ÒlGW;G¬Òѽ8ìjA·ù³ä'¾Ë˜”)â*ØÂ]@|ãØîÐéÃì±CkÉP®Å£µQÄIÏ}öÁm²³¼ãÚþP}Qàs¼{¸ÍÓ{îÊß ‰™JÑ«9Šù ˆˆ²T&ЀgÕå4¯Ëjúˆ’{ï"¶Sˆ`p)]KîÒŠ*”EˆŽaÅRΈ 0>æaQŽ`ñg{ PÉ öÙ—„&ÒÉœ$*L1oœxWb*Áé×bö|V7Þgx8”
+ߎ·ž2cä?;íŸÖ6è’èý$®¶˜$wÛçÅÅ8QV´¥C¦ 3YüÙ ðBš 2(¦ù¤xÇ$·Ý:@^­V¯ øÍÑQ@ ³m¡‡JÂYLØgß:,% žC0ÊýAd„ ¤âûð.ŸÞØBÚ B}Wà£
+úNQùXÖw(Åa˜ŽTäYX´ÅMws僌¥˜ýØ–!aGñ7ªè¸z,/R=GõuQ×Å=œdؾ©Æ¾×(žýGœ,\vWÍkTy_@©º ¢ëœ/·™,¨Aâ…4ßùÓpµÙßRC¾Í9Þ5Dã$F·¥aÒaï]\ |„4ë#î
+žU¼%Â)¥áÃ~ÿÔS,eù²ô•fUáʦÂe¿(¥µAìP}rêI,CÙ°eÙbEáí±ój8f‹(•ˆu¦¥xP‚ÃQ²h¿³P ,¹_N¹ˆR~X ±InºÇ”FA^v’· N <VýË#(g¥±:;B@¦MÝêóâþ¡6ad8,æó$†<ñ;ˆ›\Ø‚Þo2ï}†»³†µÀK-Q¸Lo7„dqúE\(Þ…ï>ŽÊ]ÆQi¡F·ÐgÈKD3“Ó%”a `¸
+_˜ebòüU‘-€ä}/1Â
+Éh …)µùDˆ´#è Búx»Š†ÒËéklsÅf+AÀ³Z\RN µ<Z¡@p´Ù×¹GLÄÜäŸú—púÚs>߬+<΋á ãøGsÁܸ.b¿»¼Fi0ˆ—"AõR¾ÅÕãÔ›Xò†&Jà¹~2^“ãaXÜ×9êø²Ë‡,ŒúQG©jŠïå¼~:Þ3ìóßÕÔ?„Ò0Ï
+ɳAëŸ ¤Á
+á²Å¡x¶Öè¥ÿ
+0¨øŸw`¾ÌV,ùÒÁ‘–¦qTÞø±oöŠdah1×%Nã³Òh‘ ‰Ç8»˜Ý| @äŠébâ¹u6ePw½¨Q®a î®–Úa5™-êÐ?1¾ ŸÓ¹OMÏÜ. F¹®‚Ÿ„)¨j2——Ñ(œ5gi6—pPæq
+!~zá‘”FÝhƒâ¼˜“ÍŸ­´Æ¦ÅfÛ¤½Ï¶1”pÙö¡³Š+ãfÔE° Oß!"†gÍqSø$4"Ö3P”H$A‰[c¦yOhx²5f ~¬^3l^8Ëo¹^” ³ÛŒ• °[cí4Ö1©/ñ–XÇ4#ÖŒuƒÁåé ¤nwÙG¤˜ ±´Ì–góòvš×‹†;xÕ(¯sÿÝ]߬ô§˜ñMß}¡…¶oõ¤³+Ìßáõ9ü'
+µÌ…Àà58&»ò‹Ä‚V‹ºèÖwñ“”[ÿ\¨ìÚºÀ¯„n6Šuxÿ<Gé«—<ôÇ@#C¯÷}§¢Œ—kÝÊF%ÚuèÙ§ðDØ¿òóR$‹žÖÊä5J8µ'»¶Y˜«•g]f7úª¼¶}9&˜ïêM÷;¸@­)k[”êð“®°•u.YŠÆïÄòÆËOÖ¡W5ëÐËHñLÜs2PA,ù÷Æu¸ää‚©'œ\0ääþL ^ø ¨–1â'ÿ"’Åý(è0¯Ë°}~FÏ1èÔ`kÕAýW­Ñz¾âó o5ïòÛö ûÒo3/Ðb¸övÖ–=÷£Úi¥ÿ/ý Äêg Òa7}§Óô‚Yû¡<ÀÉÏ9ˆ#Etï{]LG ¸—‹Ù¬òìÕ7þH?¤gÈÙøUŒÔÀ²ãú­¬Aˆ+¼¹c‚Â
endobj
-2090 0 obj <<
+2094 0 obj <<
/Type /Page
-/Contents 2091 0 R
-/Resources 2089 0 R
+/Contents 2095 0 R
+/Resources 2093 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2072 0 R
>> endobj
-2092 0 obj <<
-/D [2090 0 R /XYZ 85.0394 794.5015 null]
+2096 0 obj <<
+/D [2094 0 R /XYZ 56.6929 794.5015 null]
>> endobj
2093 0 obj <<
-/D [2090 0 R /XYZ 85.0394 229.6198 null]
->> endobj
-2094 0 obj <<
-/D [2090 0 R /XYZ 85.0394 217.6646 null]
->> endobj
-2089 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2097 0 obj <<
-/Length 3051
+2099 0 obj <<
+/Length 3362
/Filter /FlateDecode
>>
stream
-xÚÍ]sÛ6òÝ¿BôŒÍ#
-ØÝwg¯tÍvÐ|¡µœ­ÏÂHùQ¨”ÃTgoÏþ9õÚ©“b/U,'ä$唜"íÇJ*+§M¶íhS¿Q0C;ů
-Æ5G}Ûs‘z¦mz äŒ]˜²^X˜6ß– Sø(LØÑ¥H|­djÙ»G:
-¸Y›¬¶sTÙUÙQoäÝßOäÏT5Ê–z3]®yxU®ËŽMM¿«fÇ} ­zYM˜ùœÚyÆcLæ½Ù0•²>X)Ïò•›ŠS;plЪn“Â×Q$í&‹ÆØ!«K0ð²Í¦z"\×0ªïVͶ첮|4ÔUd]F1x›Ú´ÿ8¿ à:îcâYÕ2)”DAȦï.`x ¼EÏk/ÜÂ$]§ÃVåŠÕ ¼MS•yéxh¶‡›#G$*:´¬L’P°VGzÓ¬*­¼¬mËem™¬åD‡{Y±.ë²í¶Y«YÔêp!‚v+CLQNn€.Ë:ëLkY“Þ¿Vee¦”Ô‚ðÑ R\·Y“@
-S·˜fKàÙ$’iÑçÖ*±Ù–Ä«&ß”#2Į̀S,
-™d6ek‚€*ëž cl–¿ça r‘•š@ø1«zãÐUÕì†È<ÄpZü(>'ûø,!u’K!„¡HÆ>qTÕš¼+›šÖBqܼ¥™eKˆ<ÛnK»hdŒäUòf½@Çe*b ‚Øí/Ó¡`ÝÄš)Í:sLÖÙ]Bâ÷n÷ÃpÌt™µz«Y¬ä¨ñGoêã6âúAOùMÊpÓ”èˆ-‡Úiº•Ó 3baŽuñæî­er»åv`^)_ˆQõ#| ÅN y!„g>t=zR16[¡¶©Ó6ª€ˆËCâ2ôu(BKœô¤åHÐ xÃIä`w¯)5á€A1Ú:ûš êuÖˆ ˜­éxË—–û^Ø>ç˜Ø5yS¡/Š }|õ-ìºzz‘IËÆ„ ¬ÊåÊNµîÚdŒÚñ¹qG.¸¶k8TP»d|F?h:4¥5ÛG«iÀ6üëʤ
-{ÀO Ô©8 MSØ—€‹ÙzSYŒµÂcY/:¿¹¢™P…†SÁ£g
-*²~¹¢䵬{’`m -jkÀõ/Û·q±ƒ‡Õ6Ѷ§+b+Еî
-­ûʳ{ûcÙô­‹r>¯‘[®Ž#{óÐrlÕ.¨ÛzeÂÉŠlQBÝõdcí¤ænöé}›Œ
-8=Æ1{;ÆW¥­ÀÆC¡J¹`ÔÓÆðx÷—W L¦ùp4Óî«ý a"#¨oÍÑÄumÖM]æ픆
-ƒ~_9zÑ<Zçˆ]4Ž]‹…Áˆ9̓o/ÉPÇÍ ÷qõ@¼!Äg;ÜG((4bÞß;¼!töØ”Ž+¨–=ªæ >gk¹„FÅe&"mC…N¸îEb›{{FQ¶ÿÁdUêŽ
-Ç£xë­•ì¡]#@»-†­ˆdˆÔª­œÆ°4VAÈÁÆÝÞ¹>¹/0_R+?á œ`»Á(û¬]I1d¦©ºÅV=”亣»àq{ÂqŠÌpê2°®ô 9›†Ï+Îp\q†õœ¸qÂœ~÷û††Nžàb4€ïëfW™biNN-{†Gõe‡éLu$1ÜÖ¤8nÜP9Ÿ
-v<o E ÇBʨT)õEãâz¤.®:¡Èm³åbÿ~|ÍE…/”R3¥µ¦Qü9]*ü8–ÑáEן›å…£“м
-ãOY†>”{òÐ2œw¨ÓB òÉÂþ æÿ‘êBj=ƒ@áÉá[г7!&˜­œ4–$yùMH¦¨‡zôè"• ÙJ†T4 b•=rÝ’>+µ°k(µ°±[•ùŠ†ò½'“¢`E·¸¡'âË…}°
-í«XÈÏs0ý§LN-ùÂœÛÓ¥ ? âS±?òƒ@G°õÀj”þÞ½ó¿¿zëÿp{Ï¥Ô è°h‹#aÓ
-ö6ç+µÖò!XÀãÙ”Ô§ž))óÙ‹)zÕVö¢­+óÞ>-ØviìÕâG;üTa¼;uÑàçRŽŠ»pÈFJ¸g€ðû®6,If½ÿàíÒ]Ž-ˆ4na—³×i'ßI„²ïÏøA ><è„K$À·¥½õÂÊEàÃǡ훆°xÃŒ(+<!AûU 4í—B‘Ò•6Â>~[›
+xÚÍÙrÛFò]_Á·…ª,3ƒkvŸ[Š™ud/E'©Mò
+­å`q'*Lb¥<¦>»9û×æÀÞ¬ÛzˆMq$B!5¸H¢0âø­tC·2(U¨‘ÎÝKᡳ0N2ä|‡‘Ž¶œ—²Çy«0W*d‰S%•cýÍ»—À«X%Ápjš®ú5Š¤±À´LÝÜ Û«ŽÀö#ý´ä¶1{ënÞ®ªîá\€ T–¯-WÕÄLiMÕÐïèê
+eÅ¡N|€t”Á£&á¾ÌbZ–¦rÐÖ¿Æ?ç¡U\øÏ) +óHž <j&…&‘¼¿‘äJ¯Ú¦+ªÄGyЋ
+Ÿµ¾8-ís‚bÝü0~.¤^и›ÝŽ(©ú Ø®—ÝíŸ0€k¾âÜ'Hšƒ4NI0Iá’˜BÅÏ2Áb1ÉÀ/,)ÊZ¨ã}Í‘+W˜ãïÏ!.Eh[eÀ ˜Ny›5ÈÒ,ÒÁåýÒ¬ªžCL=,Ç“á[äOYUïiŸK(ÛÆË©NîÉ¢l¯“ó¿íò„ˆT‡*“
+”# £l·ô¨¤¢4Ì¥Î@îBÁ¾äˆÜ}›*Ö $’S^ךl뺽«šòù›«8êí¥:á:ÜRÖŠ˜ÖíÜ u(Bë\#g“²Ù–
+™ÒLäØH7µ ŦaÓ¹ P·E]í)IçàõõÍß÷udc18+™«ÿ?I4ú"q.NA_e|ÊÎã \­¯Ï!OÒ­ä‡MgV`ÊÇ-¬ÏsÅ-HÈó4ù3™„ßqœJ¤Å)v$€LRnƒÓÓà½^Í‹Ö^l»’i¼}‰½á4È#¶][¶5aJÒM(÷¦´Ö˜øa8&„ÓP@†°¨¦Bg‘}ÂŽŠ^S@¨`mÝùBRÇ QUg ˜o—ëÕ²µAFÁ£.¢éÀacüoÔÿ‰v;w“uUw›8‰iâÊ›]/¼#·–£­ gá ö;¬Ï@¬J³_€³,Å“ª™p" ¬™¼ö ì û¯)ÐÕI¥Ó0Ñ*=¥“’»ÐøÐo —‚ú% Þ`Ô™›ÇAázÝ{­XDp¢Dƒ©¹5u»¤yLè”Ò5‹
+|û!ó`ˆF)ƒÊRƒT 1ØÌBŒo<·[¸Ó®„yß®„¹ÛbUµk>É>Ø‹]ý#+èÌ‚#´èŠIa7*ö8åjV~vF϶^z„k{Á<oi8xØ–~±5sLÁú’{.ûjÒ
+XuÜg¦*mÆ÷<O¦x·Vü"Î^r{t6Å‚‘¤H0ù±3 £˺*+ô¿JåÁª
+’¾ít*œ±B ¸G÷vµžÒÀ™Sæ^5¸ÕÕ‚—×Õ¢êé<1üÎÛ;žké
+,ˆA¹ã¸,xí„ùd–|JÕìÜTåÜ€~¥@çž ºõ€ ¦­{• PLw ñr‰öƒ8KÅï}!|ܚ @ÀYÇ?@³à:žãËÚòQȉ)!!þ¼À–‚ò"œø‹‰»^†Y”sƒ–ø^´ò´£F0$:EÇŽ4,A/ÇGrÓ,*´ak«Y㈬£DÇÛ3Š)ø90pƒÎWiö¸uç"‚îÐWrøÝ£<ß
+ɱ¿<%åð8˜·¶ ©6ä½ý€·of}8¬ÔLò»…]bm‚±-Îýeš5€G›ˆ§ÓuIÉÆ܉hÕœçõŽabz“º§8ªš+Ço
+5]¯8z“(HˆÎ}±—®a2êË_wYß-šå'^ÆY]å=7
+Û.·E½~ÔêØõátùqÿ,ÓˆM
+!*ï|8ÄNP!”…$›òô”c®s±:%‡…ˆ²X­**#9­M©_‰síb‚†Ë§ˆÍ)ˆ]=ð52Öolø¤M«va&aÃCß´úQ·ü@K†}ãïë^Of½‘„ÏÈ•2^¶”x#¼+–2;ŸÜïæ„\Š^²a6j’æãZ"”ç"Š"à<~)dî»uÁßš˜ûåÊX»)V}ØF<®<ápé’:œä¤e0àO'¶R÷ôšB.ØFKŸjþRI{mј]•ŸLÇ78º´ÜÎÂãÓú~ãm9òi»t­íšsÑãD:2èÀ¼šÍÝÖT`®5NiÀôCl¼#öÈUиb|A?œ³f½¶`[þõiR3`'!}Î2lh Û’ö™¹¥ÑrûUÅÞ¥Ô"ÎÜÞøÅ!çˆÞ3Â/Ïjà x©ºXÑÀ9¯hãü#Úç’ ø]àÅx=&^Ž.Ü  ¶}Øß×›«Æ‘;)“®S^>Í øÄä=MhCe Êm×øI‚Ek]ç'g º§)ðƒ÷7:»$;œ/RBÕUC$ÈFjÈÈÖ³9M ­U³ö. ¶áRK`ï"[ ¦7©ùÚµ%‹…oìb µOy\µùf0Uìû”WånFHºoÍìÞ,מwºb!ÏtŽ?QA\œ¹/澫ºyoLÖEó ÙÂáètä技Œo½àO?ö»­¯öœ %[ê¹Öm…ò¨ak¿¥î
+y9~kù-RK —Õ¾gçRœcl½žz§NئÂ)¦Å¤ª·_eùV%aLï9÷û
+Ñàd#üs?“Ý~*g¡Êó#ßú¨(Æî£ðD¹oB…BËJTÿëàP‡ù¶F¼¼ïðÛHfà ½+¤Áh\ÓU{\HT&¹Ì°á¿Í‚Û~endstream
endobj
-2096 0 obj <<
+2098 0 obj <<
/Type /Page
-/Contents 2097 0 R
-/Resources 2095 0 R
+/Contents 2099 0 R
+/Resources 2097 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2072 0 R
>> endobj
-2098 0 obj <<
-/D [2096 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-634 0 obj <<
-/D [2096 0 R /XYZ 56.6929 622.0858 null]
->> endobj
-2099 0 obj <<
-/D [2096 0 R /XYZ 56.6929 597.3835 null]
->> endobj
2100 0 obj <<
-/D [2096 0 R /XYZ 56.6929 411.8393 null]
+/D [2098 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2101 0 obj <<
-/D [2096 0 R /XYZ 56.6929 399.8842 null]
+/D [2098 0 R /XYZ 85.0394 492.6335 null]
>> endobj
2102 0 obj <<
-/D [2096 0 R /XYZ 56.6929 231.7148 null]
->> endobj
-2103 0 obj <<
-/D [2096 0 R /XYZ 56.6929 219.7596 null]
+/D [2098 0 R /XYZ 85.0394 480.6783 null]
>> endobj
-638 0 obj <<
-/D [2096 0 R /XYZ 56.6929 131.5008 null]
+634 0 obj <<
+/D [2098 0 R /XYZ 85.0394 173.0867 null]
>> endobj
-2104 0 obj <<
-/D [2096 0 R /XYZ 56.6929 107.0349 null]
+2103 0 obj <<
+/D [2098 0 R /XYZ 85.0394 147.5597 null]
>> endobj
-2095 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R >>
+2097 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R /F21 994 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2107 0 obj <<
-/Length 3250
+2106 0 obj <<
+/Length 2950
/Filter /FlateDecode
>>
stream
-xÚÍZKsÛF¾ëWðTe"ó¹)‰œU*–½²v+µI ‰¨.ZÖþúížî
-”ìµ\‰tÀ<z^=Ý=_wSÎüË™³±Ð™™¥™‰­v¶XŸˆÙôýt"™fˆæCªï¯O¾}­Ý,‹³D%³ëÛÁ\.ÎÉÙõò·è‡¿½»>¿:++¢$>ÛDDß_\þH-}~x{ùúâ§\¦&º¾x{IÍWç¯Ï¯Î/8?Km¬‚ 4Oñ¯·—çDôúâ—óÓ?®>9¿î·<<–÷ûŸ“ßþ³%œîçëÌÙÙ=TD,³LÍÖ'ÆêØ­CKuòþäïý„ƒ^?tŠMV»Ø:•NðI©)>Ù,N´ÒžOÛS颢*>äuç2&ZæÝný
-Ë6Êë%5¶]C”\¿/»÷4ë‚JùrYveSçÖuÔ=l¸§¬o›í:ÇNjèú®ŠjÃÓ<´]±ny EWl×eÍÃïWE·*åpî¹”qf­ò‡¸â{.[ú÷Ò8ÓÊùo~=k-™pAg[¶Ô˜S+Uv-K¸g­E´hêÎS4u,‹ªüPl¨ÖÜÒ·Xçe…Bcut½âÙ€·9ÍÒnŠEù»*L_Ö¼L ï‰Âé³Ù–ͶìxeYÔ;â)IJ á&ê|]ÀÖ!xkÐ6˜Ë$ÃC¶ÔßBÞP±¥*Í™À%•‹5ù£SqÀ¤m‰6ïà®7]±1Ó©di­R5÷EÛM]v½[ßàâJ»¸máŽçZ$ÑÅ-¶fQwßP7Ÿ©,Zª÷7‹¿’·ÀSy‘÷¬ÅÞ¶Ø~ U2+h[¬šÖK"”·Àíf]=œJ)£Ñú.ªžØÏÖîøKŸ;`KMd=ç'»ß±Ó,í¦©—e}‡ûÍÙˆ˜Žtl¨¶Uó»Âë¶Cµ­˜æ6§’‰nòÅ¿y\Ãß0e]|ä9*ÚÈÞ‰ïê7Íç7RDïzÂ!tO-‘/›)™¬œM¹h•À%UBü@MùMÛT»® ÚºÈk83Ñü®TJÍ°Ó@Þ3
-Œt7uÅ„‰Å¢+âþàHóm©ˆb?ÕÀB`'X³°¾¿V cõš’WV6¥XÙ¬Ù+#”±ŸJ,Xôšb ëƒÅÛ]¬¼Aô­ }ƒÎ ½îÙpÙXº Ë’6’!ç=]x%ûöµƒ§ž‰X˜Ÿ<Âz×2ÕèAQ@$²„‰èq™œø
-
-žiÕÜS¡jü@)“„yy©›b°Ð2´Ý6{ÿGGž…ðmWÍ®êi&CRe»ÈY+ЧÐR„KàcWUsß‹D·¢5¸c‹íXèx(‹ýn ²Ø‘Ï·V±FPHÏû‡5 Ï›ºî¦P ì‡O€” ~653íLœù)öZg`#Eª?Ï^O`}vL‰Ï3aÄÁÔŸ 0CgJ±æRI
-z›*ÒÁ÷oáÙ4`JÂÅ™¨Ê}Œ Ù@Ù4óÚ•Ô4Tq¬º0C]Ü圱$k,^†c"º^…qãX%ö¡D£¼âóÂ6Ò)–rkûp÷¡:PÎ`Þl¯PP¬›9˜ÙÕ<„n° íüå¯?¾}svqBv¦k‹vJîoi·k’µ‡fOé~¯ ëüc¹Þ15Úº  Ûð:ìÙ%†ìÚ@4}@#·í> ¢W¸éLjY¸X%‰š âË„ ÅY çÀ€ë8“Ÿ5eq\n…ùœÔ*ÿ)Âó·£”’ƒ§˜Ú´JÁ,q ˜ŠåÓŠcÆHÓ5jñá~×Ð@FKdD¨Ù=4”£É@Hz°£M-¯z\ˆ—Åm¾«ºË׋D±ÿCncìÍ®¼>º²8˜¨-º'Ä¢ç÷—Ýà¡P˜—
-…¡‚,Kž aâ$
-§::Ï1Àª”¥Neù-„BˆY[ÏMø÷°ÞÒ— š² ¨¼7ŠP)ëÊ«+ ût
-¶hlG©§£¢AÏ9#:±7tbh蟅Ûò‰›2õ¥îþÓ=Ÿ¯ñ’Ê pwªôçz>ÐÂ==íù(£öfäžùh|ÆBÊÜ €Ç&’8l\b*ŠuÛ5DÁ›h¼@Lã P³»[KºbuÃK7U¹(=ÂöA„ÕÏ”Á.öy^M8o•\i1å×é\ÜŒ#¾Ó<r »5J,‹ç›|³Ù?o,¾ï>˜çý…«‚çÑ™Y—í±õŽòÓØ‹æšr;HQ-%Ö*ÎccÏþ%ÇQï¨u”ÑÐâÆ\”-}F³'‡¶¶¤V„üØŠ/N.Böû Wspe=÷ë§&Šóí&Ÿà y2œÕ>åRN!»$zw}E…ƒü€¯T‰èìϪâ œð{æ¶à»Gëôï t¬óe1ž©*
-So6M[vœŒ¤Á±3ÌÅÔàŸåÔ‚RßT<õ »«À-ÙåUÅÉÓûmÙͧPaWÔ>û‚~Ý®åÔK/œ#¤Ü‹O?¡|qÊ„6r žŠå ;$˜ÈX¡Kî'`÷ :ø©Ëú•@ÆÉèœ9¼xÅRß/4q$ kb'>î㘪Gú.Ìsï\Ú>yyG‹õ Ú;_XÔý8¿˜ÂsËÁÇ¿ÑÀÆÿâú`{)ÃÍêÿ:%„gûkQûÜ›(Qô{þoÕÑŒ¹©x
-3Ñç û_@Á/OHXo•3åzï¤{z’
-ØC ä<µÑ '½†/€ßØt~»O›ý6ˆ‘ýÁ¡(¯óßõ£Ñv.ùýè‹Nï¡gªb§µ9ȼhC üæíÕÅO†¶R‹h¬ ½ ŸÄcƒ•¾ló{8öø‘€XN=ÃÄÄ&1ôó,°@.^ SðGJ^°pÛ4O§Âgk¾gþ\ Š0)“è+¶4I:õK@1{öö>õw‡ûß^‚G¯ÝàöFHÝ' ¨rØ çòXPjt_e2ü¹eœÅéüÚÇÎ?ÂK¶ ¸÷» ÿ^ *ÿôÆ ØF–/9üÞ‘pâuÚ9êendstream
+xÚÍZÝsã6Ï_áGgfÃã—$òÞÒÝl››6íyÓÎε}m%ÖÕ–|–œlþûP–m9Ù¶éÝnfVü
+J Ÿ$:¨4/~‘RWðÑ°¨ù´~@©tjˆ¹NÊL½eÃTu”U[܃æ¡qZÜÕ›såÆu†ù±ƒdÃNU,稇UãkæB£æ‘O[SsþP—QªÕ´¼ß–í‹Á×ù¦Å`qÃ4’ÆFp±¸ƒ$TóNn¨ÌËæß5h†lC凨Xõ&Pe»IHk,ֽɰ–†Èmù˜?qk û†Æ'ã뛾Ô{z©ž^°Áhy ð/·ECå°P©ïÚ¢ââªlÛ‚GÞ¢zEµâS¾Z/#ƒ’B¡¡-ˆiÓ6‘/}AÆ ®ŽRj,:Y3ávAVÒ*µcfPoCaÆ­ó¼Í©Toè;yG^ÿ»¤¦¦˜µe]1Ý}ÛÈx2¡ïNo¨Ü—Ø6aÛbñ·ª~\óûâ+X¹r–/û¯Yî¢jó Ä€ÝÙûˆ¡ZpdìG6{¿¡Ú#[•÷‹–ŠÍ¢~<à:™0ú³|³)ãRÆåÊ™EÑ4ù=È›¿ú^ð·Bp•i*Eæ>Ëù MSì;ß?6*ÊÑÃð¤4N/.Æû¬.:.Rë„Ó™ë\»í»v%=8~oGi¢…UÖ†5¹þp-®ÞýÛ05NŽ¿ûx~‘™L•„)Ç?]Ý\M.EGv
+¯²ä%‹Ñ
+–ð¾EÀVËÀnÀYe1J/@$}™Þœ_02J#æ%KQ)Ä^Îd:`À yƒ÷/x·HPCfú%ëQzCGÞÞæ€(¯o )À¢³Ó°ô&ürM#q`á‰~Á2¯!‚vé¾eÄíaNbÐãþJì®ÿ£vº0Öà MgBfû÷“£{
+8a]@9U"É^¸¦ÀµG¤Vë]´w–౶2`Ã"à. áC×~ …]] …•ÇE9[鬮š2Ä~Øî'Ȉ:Uz1-[jª¶«)FóX¾ W&ŒRjúÔdÆóz•—,H•¯
+1çÞÆÀ'ŸÏ9 k"¡pçéE?M Á1E‚]ÿp‚Dm«œƒ­póÀÀª†0ï  2šôë"áªhX>û&|·Ú‹ûv1KÓ”Ÿ:ÕbPX¶ ï±>Ð;
+^ä³Å~DÞ.H¦‰2ÐXF ›Á°ôC¹*!’_>G‹â(”ô¶·±#ëÀú“ÏÝ_þí/ÿ?
+%£N6u"“Æœòü ¸iŸŒl¦…vžN¿Å·o?ˆï®o9 Ô>£ûM°ÉÒD…C
+[µÕò4&½é^ “ßs*¼¾ÕªÌ ÷N«AüLéç Êã,;¢²yÞýt¦çÓŠ£ÄU9Ü`øÊÀLrÀô‰~O0Ç”K5“¿9å¾ØéÎË;”âŽóUÛ¥Ø×wÕ-0°‡îD8åq}¡”L»ü¦>‡ÈÌë]Ù̶MC™„Þ”xVçZÌêͼ Fìpc¤P&äàôx^4³M9 GfÍ8ƒfüÎíb{SlŠ iÚ.U†}eEǺП3]Þ- n¢¼ Ȥ`/µÎ8¥Ö9ÜMÇú@ƒÏ¾˜RaLH´µål g×Ë"¤n à3j_…0tZoq½ŒŒ\b6ŠÝye<¨ô‹L$Ç% ±m¶ùrIÙ¥7”›k\sÒioe ²‚اnZ˜A›±>ã Ú›2d½0v· \¨ƒlheõ5𔎠1å„U”ëyüòÀ§u° hYç冉… ©!\í"yg+ÐK`  jÌœ( YV–Y<äa¯ØZÛ®5›pÆ;óã:ÇØS‡Å€¸€W3$¬‰ùLk–BÜßE±\3›§¦-V ‹P@¸´*+þ¸(â¸Å`Âv Ñ[õ•Œ[B˜ 6p`üÔØ%M0¥°$P
+Ëk(Ö£,è’:æÅìtóDµ°^ð-`q–øð‘¶$ iK,5kX¢bV†7ÏÓpüX<&ŠRÒg½)ëI¥Æj{‡2÷Ñ`lÆÁs8>I:hëñ²i_φúÛHØË¿c•x¦]äMA{*öàAÚ†hó–{Ýs´éLE3íÏ‚·
+Ží<8q_œœŽÈË&{HMäu<÷rçz±¼î“AŠŠGÅÙ‚þ~Àj m³½y\Ðôéà½,¬’à5<¼%3àÊfÎÞ3}â>ëG pK2•ý¾káð¨¿"™uºPÖÂ]îDƒwõ,½mAu wL°È€&ã$fõ*¼ŒAÔ†‰ £¥çì¢tá=(“ìªÄÞÃ{¼‡{<HØ—äÏ)‡0ªÌèWÇ+ŽF ç{"·!¡Œ½Ê¤Â2^‡àøŽ àèÏ@GùQâ×…G½&<Z‚•æ%xàTITêOà£ûøŒ]¶kQoîŸA§7ïl<Ò ŸàÏl6¥E’*ºÇoˆþw;Î…½ 6r‡ê4D½É¿\ˆ@Z „/ $¥Heštì!8óžHŸ„¨7ùk!ôù™Ä¿âÈÀ ç¤MFF 8¿íó™D­à€ƒMG)ø7ôc99zqÍ?÷§y»Ÿ'ÚLç^È[šD +\òÞÏ Hº‹¯>µE5Aç‡íš/HPù)\bà®RÖE”6£ÔQ²½û9 ÏØCΰƂendstream
endobj
-2106 0 obj <<
+2105 0 obj <<
/Type /Page
-/Contents 2107 0 R
-/Resources 2105 0 R
+/Contents 2106 0 R
+/Resources 2104 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2072 0 R
+/Parent 2115 0 R
+>> endobj
+2107 0 obj <<
+/D [2105 0 R /XYZ 56.6929 794.5015 null]
>> endobj
2108 0 obj <<
-/D [2106 0 R /XYZ 85.0394 794.5015 null]
+/D [2105 0 R /XYZ 56.6929 673.1367 null]
>> endobj
2109 0 obj <<
-/D [2106 0 R /XYZ 85.0394 613.3608 null]
+/D [2105 0 R /XYZ 56.6929 661.1815 null]
>> endobj
2110 0 obj <<
-/D [2106 0 R /XYZ 85.0394 601.4057 null]
->> endobj
-642 0 obj <<
-/D [2106 0 R /XYZ 85.0394 465.8716 null]
+/D [2105 0 R /XYZ 56.6929 493.0122 null]
>> endobj
2111 0 obj <<
-/D [2106 0 R /XYZ 85.0394 438.5672 null]
+/D [2105 0 R /XYZ 56.6929 481.057 null]
+>> endobj
+638 0 obj <<
+/D [2105 0 R /XYZ 56.6929 393.3436 null]
>> endobj
2112 0 obj <<
-/D [2106 0 R /XYZ 85.0394 397.0946 null]
+/D [2105 0 R /XYZ 56.6929 369.004 null]
>> endobj
2113 0 obj <<
-/D [2106 0 R /XYZ 85.0394 385.1395 null]
->> endobj
-646 0 obj <<
-/D [2106 0 R /XYZ 85.0394 216.4249 null]
+/D [2105 0 R /XYZ 56.6929 169.1494 null]
>> endobj
2114 0 obj <<
-/D [2106 0 R /XYZ 85.0394 186.4354 null]
+/D [2105 0 R /XYZ 56.6929 157.1943 null]
>> endobj
-2115 0 obj <<
-/D [2106 0 R /XYZ 85.0394 97.1422 null]
->> endobj
-2116 0 obj <<
-/D [2106 0 R /XYZ 85.0394 85.1871 null]
->> endobj
-2105 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R /F21 994 0 R >>
+2104 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2119 0 obj <<
-/Length 2154
+2118 0 obj <<
+/Length 2813
/Filter /FlateDecode
>>
stream
-xÚµYÝoÛ8÷_¡‡{—ß"‹ÅfS§çEãô\ïæ°m[IÈ’kÉMsý ¿dÉQšîõª19Îpf~3dH„ቄDRS¥š#‰ˆÖÛ Žî`îõ„xž$0%}®_W“/˜Š4Ò’ÊhuÛ“¥VŠD«ÍûX"†¦ Ç^-fÓ„
-_Ìß
-Ìn†¨Öò›t$i-ø¸Ž8Jƒá䟕åÖaåÉ°b(êèrÉ)â’ËÎå”F„ -5>—±”È(% šrëó…q‡åÔHHN #ÁH0˜Ç–ãjšH¯à?qÈÄ)M#)Ä–âfëèSDæZ3ÇÔ£­­Ç3°?η4zUƒEQϨ 8éK¶FIÒ‹c_à‚ýUŠR.©ÕxuŸ;«$í±‚± Áª¿]-ç¯çÞúH!°ô|eQåÍ4aÇEå¾-ˆ·D>e8þ’mwe`Éö~êÖLÕ{÷c·¯§DÄŸ‹MQݹ¡u]µnyë…Ö_ZÂI¤1’Î¥ ^]•ÀOpüÒÔQFűßÔî[Õ­'òuÞ4è:ay¶ÛåfŒâ %A3¹nYéèC“ÝåÆÈα=ìãnî
-8/à0ÆñÐÞ!ôŸu•{Ð/JO½*öùNÖŠlj)àPšBLrÒ¥]B•Š/38ê½£½(¥ã‹z¿µ…ч¬qDQm‘•&VÌÏMþcZY?ÙY·tyqî >Ge•ç¹w¢tÜnšüÓ!¯Ú í&Ï+Gå_Ú¼Úä³#×÷F«‘˜tÑvw& N£3è¢mòòÖÓû®Ë¬ñ$Är¾3{VžŒtÄ~J@¡um¿›ŽÝs}mûí¡ñÂnüHíèôn²mÞÓuF‚׸wÿ¸pð´SÌyÛkµ.¦´’*¡J%CÓAŒ4¥Ð…8¾FDq¤aAÐ|qþæ÷W³I’(¥GI͈HÊc* 2W«7î *¡´i Ä4¤*çÇ|@ÄgÄ*œå/îó œµISÜU@’—óàúÞ†£ú€bο0âD™Ý䥛3D2ÃøÏîâg0Í˱•‰°–ÅY³Ë÷.`‰[
-£í”ÄVÍ£Ø_‚,7Û›Úïè<½sŸB´9Ñn}Ø»I½°¢Þw`yš3gíi ¶Ù¾}&>ÿÝaŒ±­ÌÉ4L¤6Tp2:@3ŠiºŸ ï»Âtãíf'ðN9xZ8¡H¿‹‰•RÏ q'0éI´H<PŒr…‡¶"p·Gì¤ i‚C§òóHÄA‡F™ÆÓ·uYÖ6Ü ><úsÜgEi›ókS·&ÐHÆ@+ 3R2Cô2ƒžfFH÷a‰x93Þ=Vmöåï#û3ØH1'P{`‘"F(õ|›z›Ur<ÆÁæÐ8RÎC´¼‘Æ@X6]×Û­‰÷ #Hq};>¢!4Ü9HûX;(Úä6 ‰B¼i†v ¦]ù!ñCáê ñµ€ÚÎÔ8ÏY»oV=:âP}‚®°²q+N*2ý ðe$º•!g‰OObswß´Sƒ)Pp¢3»‘ðÕÍ"˜›ðÃûfvZÆ4vźhÇê IÁœÈ wŒ6’Ñï‚Q‘²ˆAª2Åþ$&}‘# !R
-÷eep˜àTm 0œ»À-È×××àØ狳Kóz£€¾<›/’w³å³å8P»ýÒÁqC?]|ÎÊÎ68ð§:ã¡®°=šýëìòí›:¿ºDNi¯Šj2d|ê ‘¦Hÿâ‚Ø“ršÆÿ[=t¥ƒ"\¿:¼¹…vú™j$ £I×ç¾X\Ã5"4SRˆ®Y›ÇÄiD
-¸>¹àÀLW9€öýPŽçs¾÷\öDŽr”;ÆÉ„ÁG7zŸùývûÂ^ÏN–Žà$(MÅ7Ü‚o8qUWë| Ö<6I˜zQý@r/&ö!¯úoÙ=÷8¨c^ÔGžÒq÷ÜôÝ÷ÇW-ã|¥hÿ!ûéß.¼NƼÞ!”ñä-=ÞÝgþíǼ;ìvu¸žþ1…‰ó}SÔîn- ‘1!üÉ9Ø—¤#ñ#þ2¼endstream
+xÚÍZÝsÛ¸÷_¡‡>P3‚‚û–‹åT7‰*º¶s¹<ÐlqJ‘ŠHÅÉýõÝÅ%SN®Iç:™ ¡°À.ö㷀ňÃ?12šq•Å£4‹™æB–› >º‡¾W™„A“þ¨Ÿϯ”e,Kd2ZÜõxÆ£Åê}ôòo/Þ.¦óñDj%l<Ñ ~š]_%£ÏË›ë«Ù«_æ/Æi-f7×DžO¯¦óéõËéx"T¬%0PžÅ¯7×St5{=Xü|1]t[î‹%¸Âý~¼xÿV ÝÏœ©ÌèÑüàLd™m.b­˜Ž•
+”òâÝÅß;†½^7uHMZ¦Lô$åžtÆ%•ÓÓ›¼(A)£•-‹Ov÷‰è¡(=ýÖÒ7o[»Ù¶vE?Û…~÷—Z€ÜI Cæ`Îìç|³--[Öšq´©,eFóÄOÈ«Õ׌qØt©ü
+WÐ=3ÒH?å7®yQy1*/a½ Rï W<Cš ë&*Ì$´+Ë´–ŽOqGG_Ù¢]Ûý¨=±]×¥f³_.­]=£_=Åâ°A½%ÓJôEd·ùòßû-«w÷Cj“Lè8èÙp¿õ;è‹ùÉbÔ r7šÈD°Ä$
+ÕLÀ‰96hå
+Lžs½³m[T÷Äm±xÝ l‚£˜e±ˆÝôÅÚ-žDm±±“¶ž ØD!¥ #O˜ÏéûçÒ–+úQ44*§ŸJNn‹ÖwU­½''‘;8»¥Oc+²I7Šì«¢mú+'Qc—uµjÜ‘Ð9÷–L¢í®Ø仢üâ4– À-ö'Êï ©K8׆Hk[Q „ôÖùÒ Íù¼¢bãÕ$Ð*5V¶YîŠ[ë9­ëj”µ;
+áÛ¬ë}Ù9–Žbæªh–¹÷ŠîVðp¨<º«Ë²~èL¢]Ó¾·ý²uÛïù‰‡¶Øí~,÷;úYµ¥÷§l×¢óãd
+q‰ŽpIZÅμ¥oK£!³Ô[¢`øq„À‡¢¶(ŠP7ê»)˜+ù õmüªç­xeïò}Ùž„¾Î&ì
+…hMS§Ô>Bc;¯ƒVNÒþnèK1Mj¨}ˆ‹ð£¨NFÎçBZa倎u?Ø7Êè Fˆuüëx?Öq/‹>„O}O©?êìµÆŸ‘KEÐ;…òŽpÿqÑó¨øQm?ƒâGKÍ RRO?š§P"yÀûOQe‚‚F&ñÐÃ#‰,‰+;‘÷n7¨¦e"‰æ‹ÊŒ]ª÷÷ë“Á‚ŽgÝú¥ìçmY, ˆÞEWBÄ`z.Ž`—/{ž Ô'IM¬*dÆŒIC¥q¦<ðcU±¯fZ¬7Ï7ùv{ÈpÞ|go?Å_/æÖóQäÍS©2Ù^ïÛ¢®¨v»vqF¤cpÓ]^5eîÇAÏ!™ã¬Ù[¢æ«•gÚP‡;DèÀE}¬Ï(?»á³ak+¢"êGêÆÂZD¢ç.JÐQðóGQT·~G,ßmó½@™/2êÕ€i”I©TQ&‰Þ.æÔðÉÐׯXV¤’GSˆC…KT0‰&'>£9ÂÉ\÷Ñ:]&„ŽM¾²ÇœJ 0‹ºM pÒÕÈaÏG(©)î+Ê`y…¹ÍÈC¡«c,“§Åò(í«Ü± eWܯ!êMbžd TúdŠ¬·Ûº)ZKäÃB®3ðò£¡DË¿­¿=«°žõ¡Xþ}³ÏKW¦àì]ÑN†àck+æÀ ìtv©8%t4‡þ]FŸÈ.È{ó”§æ)½}a‡€É$V厯à Ã§º¬[ ìá
+ ë­s?rs¨ÓÝx²
+ØC‰ò i©$ºrH²ŸÜÆÀ=‡,2 ‡÷½k²þ6Êùü_Ï–Ò
+Ké,Sb)DùvHfœÅžJ%,‰ãC-bOµ´T€¤]Qr3Ÿ½š]'Z(;DÇAYµï“à
+×çÇýŽ²Ž‡Eu€®aÇàWäA~H¾ó]wØE5
+Cí ÛõƯÝíýUQúÖe±£[¼sÏI†Îuï¾Õ¨/AÕ;j{V
+ ^¬Ü9¹^š:¿zIÁ•¦=ãÁ jö·ý¸ïÐukÝ ´ìgÀüôF‚5è?׸«§pX'‘6:ÜOcË»ã[âe™7M(«Wv‹kVáÂ0¼ø=Æ R†—ßì›öøÕðð”2óp»íöÒÝ‹Kˆé2½ 1¿ìßÙv»Z–û•í®zR¡I1Ml£©Ú{6À
+2°*0š]¿|ýËåt¨â'Jåé+¼?±À¢ <ݛǙ‡åî †žéùè«î[ÿ(àà®qÊ”1røÊKqÜw&¦ܭ
endobj
-2118 0 obj <<
+2117 0 obj <<
/Type /Page
-/Contents 2119 0 R
-/Resources 2117 0 R
+/Contents 2118 0 R
+/Resources 2116 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2125 0 R
+/Parent 2115 0 R
>> endobj
-2120 0 obj <<
-/D [2118 0 R /XYZ 56.6929 794.5015 null]
+2119 0 obj <<
+/D [2117 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-650 0 obj <<
-/D [2118 0 R /XYZ 56.6929 617.17 null]
+642 0 obj <<
+/D [2117 0 R /XYZ 85.0394 729.6823 null]
>> endobj
-2121 0 obj <<
-/D [2118 0 R /XYZ 56.6929 591.42 null]
+2120 0 obj <<
+/D [2117 0 R /XYZ 85.0394 702.3779 null]
>> endobj
-654 0 obj <<
-/D [2118 0 R /XYZ 56.6929 518.3317 null]
+2121 0 obj <<
+/D [2117 0 R /XYZ 85.0394 660.9053 null]
>> endobj
2122 0 obj <<
-/D [2118 0 R /XYZ 56.6929 489.3118 null]
+/D [2117 0 R /XYZ 85.0394 648.9502 null]
>> endobj
-658 0 obj <<
-/D [2118 0 R /XYZ 56.6929 437.3327 null]
+646 0 obj <<
+/D [2117 0 R /XYZ 85.0394 480.2356 null]
>> endobj
2123 0 obj <<
-/D [2118 0 R /XYZ 56.6929 411.1024 null]
->> endobj
-662 0 obj <<
-/D [2118 0 R /XYZ 56.6929 208.889 null]
+/D [2117 0 R /XYZ 85.0394 450.2461 null]
>> endobj
2124 0 obj <<
-/D [2118 0 R /XYZ 56.6929 179.8493 null]
+/D [2117 0 R /XYZ 85.0394 360.9529 null]
>> endobj
-2117 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F62 1419 0 R /F21 994 0 R /F11 1509 0 R /F42 1288 0 R /F54 1383 0 R >>
+2125 0 obj <<
+/D [2117 0 R /XYZ 85.0394 348.9978 null]
+>> endobj
+650 0 obj <<
+/D [2117 0 R /XYZ 85.0394 144.8272 null]
+>> endobj
+2126 0 obj <<
+/D [2117 0 R /XYZ 85.0394 118.1807 null]
+>> endobj
+2116 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F40 1218 0 R /F61 1416 0 R /F62 1419 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2128 0 obj <<
-/Length 1895
+2129 0 obj <<
+/Length 2274
/Filter /FlateDecode
>>
stream
-xÚµXmoã6þî_!N*._DQê§s'M‘uöwQÜv?(6ðKbÉ»Ý3Ò–Åuoï ‘Ãá¼>ZDþD”kÆU‘F¦H™æBGÓeG°vÕž' LI›ëçIïݥʣ‚™Ì¢É¼%+g<ÏE4™}ŠÏ|˜ ÇýDjg¬ŸèŒÇ?_.h¦ áüvty}õÛxÐ7i<¹¾Ñôxx9GçÃ~"Tª%P^Ä¿oGCbº¼¾ö?O~í ';•Ûf ®PßçÞ§Ï<šu¿ö8SE®£¯ðÁ™(
--{©VL§J…™Eï®÷¯ÀÖªÛÚ妨Å×â¤c…dE¡Óîcy”ŠI™oË¢}dy2ì8µbf4ĬØGQÊHVh-1ŒgF@ôŒF¶ŒÂ8B;΂é,È(8ÓJ‚æŽã¶Ÿd"žÀ¿ŠÈL¨f8¤†I =G‚ñ´(1µhgëÞnâÝõRFk°(j'mÉÎ(P|ŸšB\”d)x5_ž÷“Ô1dˆ*çqýd§ÕœK[ÓRóX6²Ä3Ýn6våg×HMWÕŠ&êÇõv1#Î{Ks[7ëõ³å¼±Z(WäÖL¶tU b¦Séýzv=J+Jv É.ZX`7¿] ½˜¶É*eJá¥ü¦:¾ïKoQ÷4‹«†&«šÆºZ]@¯WÄóõÑ‚áš$
-pÁ¯×4y¿n‰ZÏiõ–~ïä±òlSRÃí°ajU7·­‘ìÒ³—4Ìl_ñøKU’ëù¡Ë›
-Ý#MÏ7ë%Q.™Àdú‘ÈÒ3¡,[6ÛíÙ~3G´ƒ½¬—´0,S™ŠÚµú}å@£AT”ì!ìûÀéQ´{@× “FRí!k–B8ç.KX~6™ÜuQmì´©¾Øð‰™²"$ëîÛª)ÿüÉ3Ô
-ÛhÏ0]/—X'¯/òTAŸ©*`#3®+ X¡dNæY(4Yp*?$¼Žô1ék(ᥠ_…Œ×Dß ÷õ׌‡AÐÄÜeõö¾¶Ï[WÌø½é‹<¶Óµg5M~­°ÔÚ®fáq…uãΛÜÔPs)døG<º\T­¤D\’PšÆb Æ”–Ç€rõàs'R¤&ÍU–š©A±Õ¬f‘æ‡>Û‡úÀëêàu„Û6 >Ë\óá*©ànÙÙº)“ /D‚g»ÔÎ|bï÷eí`ßu,
- Q …áŽë’U0!µ …¶(ë.dÁòÜí2{!FƒÊyйùöä Üt˜B¼¡þÿ/åÿ"P‰âS ºÏkóVÀñI2£3ÕNp ·\ír¨¡Afñ”J²l,Í—4ÔvSY¿É*ŒÄY¯·Ž˜Zð'Pºk–ÜæÕâQ³jŽ,s—ûð=w;Ü­ bl9}ô;¨Í@òÞo-W4VP8%Üüø6èªý$X}pIÿ¥«àeíú£)¦²Œš„ÌxŸá ú G[Bƒôè»B<¯«Zœ®mSåzXzå'\¤ÉçmEÄÁ9 ùéi½i¼Äí=ïdÚÞüÅnjßKC¬ŸÙ…}(±QÙ\=ÝT÷G@NBçXL [ûÐ..Æl0þ€Îyá
-•§ %“ë6
-oËGÀãNd]Í<¯KĽ2Ï[7#vxäT«wŒö-vàðâ¿V‹E—;ïý-ˆžžfÀ[УƮMÙxå€ôÊá.RQÆWÉþ0ŸwÒöó^üwuýËíÝ$ñÅ=Ù+¡5;ëJ«Óä` qüÓÈ~8ùw
-^ø†›7~©ÄB*D~ oUžwýTÉw¯˜ïþatÿ#@j˜ÊsÙþU±Õó”)O%x€ ,ÚB6I‘µf3ÉI_ønuO¤YÀ »ÐáÇǾ"†Nº÷¶}á\­r¦s(&hËÿUVl,endstream
+xÚ½YÝoÛ8Ï_¡‡}ŠËo‘‹Ãa³©Ûó"{‰·=\¯Š­$dɵ䦹¿þ†_6e«×ô‚Dc’Î g~3C‘ÃI„DRSäš#‰H«œÜÃÜÛâ×daQ¯úm~òó¦´¤2™ßE¼ÂJ‘d¾üJÄÐ8àôŸW—ÓIFNßÌÎ"Œ šžýíôùôÚMH¿ô·Ùåk7¢ÝãìêòÍìíŸ×§“œ§óÙÕ¥¾ž¾™^O/Ϧ“óßO¦óȱZ3#陸q²í~?Áˆi%’GøÑš&«.œ±0RŸÜœü}Ç0šµ¯Žš‰`D™¤#v¢dÌNB#É(ÛÙI fÁ§ó‡Òiø«{ü \ôYWÝ7@£.0¥SœdøR‘[vïÊ^e4ÝvåÒP,­üHo™Q·eíæÌíÆ 7Ū´»øLËzùÊüá]–ݺÜÍÒ½â^…Ñ~BR+æží¯M»§ÕmëwÜLˆJ˵{teÓwÒ-¶7ÙôîvSÝW 2Êu AZjÕ=íú`·®/6~¬½;˜ûwÛ”Á¬˜Öå+÷£òë«n¿ÞڙćGàô(¦æÐÍÆqKx|9ʹÊý»ÙwR'-ˆJrJ‡?Ç?)ÒJ©qïÌv³˜¥u½h”+D8–ûŒæÀGT¥ i‚¹Wä¯#Ng^‡æ°ïÚºn­Ç oŸ¼)7EUWͽûµl{ãÈ3Œ·Ì(Hè\$“p¼ŒGÁAƒã§«ëÙۙǂ×Õ¦\ôÕçòÛÁqóÔôÅ—_Fög°;‘Â+øÛu‚GëxŽ-ܺe»*ª&Û›q°¹TˆræÃ7Ìò°é¢]­ŒË3â)Σcæ#¼“L…p®Ù±C– åÁW»Ò¡ !VˆWÍÐÂtÑ;걪kGÝ–nU±^—ÍÒy
+è‹ÓÙev3½~5ß(PÇû™ËOÛêsQïtƒË|ð.l¦ÿ8½øã|ŠÎ®.Ú‹"‡’ 
+°†Ä©±Q:bGéhvyvþçëéËGaƒã"Â{¼¹«ÀVãÙH
+XFÜIìtBBŸàú*Ŭ·îä+’Îá?Mn:€'Î!im†Ô¶¢K>%7µfnQD[]÷6°?ÏV4yÝ‚FI¤T`œÅœ­R2ömʤ< ¡H‚CX€~s6z\§P
+ T\unʳ£J·Æƒ 3jü•@mnƒÇ tí¶^º•¦×0c›²ëÛMéG‹»0ØN å
+q5ê„*Ù¹´)Á ´0Ï®r¥‹¡ÛÆ­y|(mb ¸ˆLÀÅ Ìr‡–Y°ÐEݵ~vA¸aäÍdj &üíË…¹]c9ó¼Du”¹91OoåßÛeN ûF†š®wç¶-—Žwá—î±,' ð»*²±’±¯ŒyÀáÒ»M»r”u&CgzåÈÂ/2¼Ê¢ßnÊ ìé'-ÒÁÓèq$\jD8sª/‹~ƒ3BÃx¶¿|6Å€½‘”ÿý‘âÜÜ#’¨6åGµé|~þãêRÃü¸òVŠëPÒ-Ë»b[÷Yß×ÿçKð±̘ãƒk‘[`èP3
+‚5ææe´õ\%íŽz`õáQ‡*)V)j|]DaʦýžQ¢Ì¿ŒAÛÅ…Þ¹¶ôŽ½ÿBpQtö퇅*Ó/}Ùt
+ÓçÇx„‘iFÕ÷6luÑID5‚–Hï"‡)ˆ¬‚ÌýÓÚ+¸UÀXAüÿð­#"ûŠƒw~øâoF{7M„R4. aÜËd䎾!0ôþuëݽÓÍv½nÃgŽwè³ÒrcœÞá—‚¥„È##„ïTÇVøÁ®endstream
endobj
-2127 0 obj <<
+2128 0 obj <<
/Type /Page
-/Contents 2128 0 R
-/Resources 2126 0 R
+/Contents 2129 0 R
+/Resources 2127 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2125 0 R
->> endobj
-2129 0 obj <<
-/D [2127 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-666 0 obj <<
-/D [2127 0 R /XYZ 85.0394 655.4043 null]
+/Parent 2115 0 R
>> endobj
2130 0 obj <<
-/D [2127 0 R /XYZ 85.0394 633.1281 null]
+/D [2128 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-670 0 obj <<
-/D [2127 0 R /XYZ 85.0394 552.1893 null]
+654 0 obj <<
+/D [2128 0 R /XYZ 56.6929 769.5949 null]
>> endobj
2131 0 obj <<
-/D [2127 0 R /XYZ 85.0394 525.0283 null]
+/D [2128 0 R /XYZ 56.6929 749.4359 null]
+>> endobj
+658 0 obj <<
+/D [2128 0 R /XYZ 56.6929 700.3679 null]
>> endobj
2132 0 obj <<
-/D [2127 0 R /XYZ 85.0394 90.0274 null]
+/D [2128 0 R /XYZ 56.6929 675.416 null]
+>> endobj
+662 0 obj <<
+/D [2128 0 R /XYZ 56.6929 479.5947 null]
>> endobj
2133 0 obj <<
-/D [2127 0 R /XYZ 85.0394 78.0723 null]
+/D [2128 0 R /XYZ 56.6929 451.8334 null]
>> endobj
-2126 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F62 1419 0 R /F21 994 0 R /F54 1383 0 R /F42 1288 0 R >>
+666 0 obj <<
+/D [2128 0 R /XYZ 56.6929 222.9107 null]
+>> endobj
+2134 0 obj <<
+/D [2128 0 R /XYZ 56.6929 198.9501 null]
+>> endobj
+670 0 obj <<
+/D [2128 0 R /XYZ 56.6929 111.8829 null]
+>> endobj
+2135 0 obj <<
+/D [2128 0 R /XYZ 56.6929 83.0375 null]
+>> endobj
+2127 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F11 1509 0 R /F42 1288 0 R /F54 1383 0 R /F61 1416 0 R /F62 1419 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2136 0 obj <<
-/Length 3678
+2138 0 obj <<
+/Length 2817
/Filter /FlateDecode
>>
stream
-xÚÝZKsÛȾëWðàª@U"v^À
-Ú*¿³€‰ß œC•Ï qœÃhˆÝjeÕ¸%©,’ý%<Ø‹ÚÍ&±ûàiü±L) Ïc€F?ßI¿U1› &}!uü k¶SNá<ÌDŸÇ9p ‚I±©_ˆräršÕË}¾ÈL“±¿z,‘¥ØW&[×¹2¼Ïêê`*ËŒ>Sï²2ej7Bìa¹°ƒ–4*i²ÔŸBûuyÄÊ«ór]8Áí„[iÚ#½š8tz.† ÎÒª@ÀØu×%ζŽÛEUÔÔxÌ›M^RÏúto®À&è–ŸÓ<ç!'°cêf'¡E ´5¨¾+’e–NÌ…€{åŠej Úé
-­½¼ÉöIc t?$Å!CÙ‰¥w ¯¢þµ‘~¨$4ëµð|ƒÕªC³;UÞ±:Ðç2ËRúÞØõ
-|¼³¸UÌWàVc»çßLLª™^Sî3˜x†]=B¾ïlcvñÉ.
-58Ôî½]_Î9cÌ»NÓ¼¿É›Üì9Ø”˜á‹3
-Pk•Ô«÷ž%†àÐ<'®Ïƒƒù‘ŒÃ:Ìâ5•Ùp¸·$C†»UT.,}Ïš]¢déoepò06W¾ÀŒØ
-¦ÜnLu u#¼Ý §±ÞŠ!Ôñ龦*@•dë6ÛɪªD”qI(³ÛìkÛ°‘"navÆ<]ù
+xÚµZÝoÛ8Ï_a,œÄ,?$Qº§ËvÝnmÚK|‹âÚ>Èm 'K®%7íþõ;ádÙ¡]ï?âÇ3œùÍ i1àðƒ8d\%Á@' ¹³Õ, ïõ…pcFí QÔÏ“‹¯T<HXÉh0™÷hŌDZL²Ã—¿Þ¼ŸŒï¯F2äÈ]ˆ¾½û…Z*^¾»{uûú?÷7W:NnßÝQóýøÕø~|÷r|5*%PŽÄßÝiЫÛ7ã«Ï“ß.Æ“nË}¶W¸ß/?óAÜývÁ™Jâpðœ‰$‘ƒÕE*Jµ-ÅÅÃÅ¿;‚½^;Õ'¦PÅ,Œ¥öÈI
+ŸœÂ„EJ*+§Ë×ã»1ðŸÈáIJ“doR$™#XߎÎkà]†Ãmm2ª5–Ñp¶¹ñФ¡ö”ŠÚlrã&Us*id]mmefˆ
+̬Hëº0µ›y{7ºùå—{vsÿ…yÓÒkpGô…Ëa7š%
+ÔܞŻûÛ×·`®çCÎÐv$ëѽ±4쬧'§g牑¤Ê¿¨¸{ òa|ÿûøþ’?ܼ}ÿf|)!5U/©xywóÖu^2îQ—Žr'<ůiaʆ¾áOH#¶sQ
+4ãü¹¾ÝôCP! ¡ƒ
+"¦cž„ªD1ÍõAú÷fµvTÈâ(<±šÇ–«¶3öI:¦0œ`ɱWHÁ”Rá@AHA¶¿IË…ñØ•èü(^›,­aE1EnX± eUÚŠ&<††æ±¢Ê¼Ú¬j rÇtÓŒê¦Z»Y*wí/êƬ=#5¼mI-Ý"Ÿ8—›ºñi®ƒA¶pK^cU!’‘úþ0r$Ð`£t(®Î!"lÀ À¶ ·i@»Glµ­j³ò€–uUçMþÕø !/³€P’0ijšGÓb<§¢CõO<äò“„<I@’Q´hFCÜÚP+«¦%Ie‘Z°°1¾õ iÙú˜jýÄ,B3E a;zžN¢ö+È7ÁÑp€0žæ|šÝ”£Š.¸f‘ÖâGšÎ%$ˆQ`…_,ë3õåÜðöS¸œÚ«Ç…Šmeºj磞fqØý4;œòAG‡ƒv¹bæEÍ›“"€ß/…ñ$h¡`´céÒÃt ù7œ @M˪UÆÑ]”¨rîëûjZ5}<æÍS¬#¯O×€«J‡ÒÑöË\DÈNèÆPÜDDIm }P}]¤3‰lî%¥õ¾gU6Õ-Zh½Ë`m3„[ƒÖ“¨áSªŠÚHÆËiLMð˦j}jÕ¶Yo-@\÷½ÚRwi(îÓ{–®ÍnòSáFSÞ“‘œd¶5 F&¸G,¦éì5ä‹Kš*‚þT–µ’/=ÄAÕcÑÞV\#0'CÃÌCL‚{2> &‰'”lo5¼
+´ ‹Ÿ’7žpœTØžXVéw’FµÆ„8-
+÷mMÊ9hsõh}lýNÊ#"X&2÷U•åè],*£@—9^’¨
+[^œax¼²B1ßÒÕº0מ-E!ªÃΣ\çrþùZ]g>H˜R'8Ø;z;uG.c@÷@èý#o@eìe]%§²g9qk9P™m7¤Ú˜»aƒp°¡@JHmAÕëƒÎÛn 7!uR*23ËWiAÖ}Ù>ÉýahK£ušeß#¾3[ äòÖ|±Š—ß
+?{÷ù5Í‹tZ7Úºf£aªv¦‹cºÝÑZ!÷¤½1ZkÌ|÷«ŒÇZîÌU\Óq(ŽA•8°ÀjÖX(}tI°¢¤U£Ê³bÈB•ì¯9M2\‚öîD®âc+h´Ïîòü›‚TÐ0؆ÇÆ%Óª³³¾X€ŽwñÝ- ¹Þ®×tÖ30ae°U~c™Oí)žF™ÉnqŸÃMXt&rw>·Îd'çzõ9­‚÷;€ë3|¶EžÄ]WAž–™yjí?v¾¿5fNˆE±Jž³­®ñkîÇ#Á  SJ%¿ŸQîD‰úQ´*ñ©÷Èô(塤Ӻ*¶qö&ÌÜ=®tx}ló¤»”ó° È+¤ìo3G8Ú2k/mPÚ¿:Äd…ò‰¾†BîkÆmy¨ø1ž¿3‚Zå°˜Úìm¦­M]g³K]¨Ã1täsúÎú~¤mZéþ#KF#
+Р
+vx2p ¡n½ƒÿHÀ’ýwí>Ë
endobj
-2135 0 obj <<
+2137 0 obj <<
/Type /Page
-/Contents 2136 0 R
-/Resources 2134 0 R
+/Contents 2138 0 R
+/Resources 2136 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2125 0 R
+/Parent 2115 0 R
>> endobj
-2137 0 obj <<
-/D [2135 0 R /XYZ 56.6929 794.5015 null]
+2139 0 obj <<
+/D [2137 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-674 0 obj <<
-/D [2135 0 R /XYZ 56.6929 306.3415 null]
+2140 0 obj <<
+/D [2137 0 R /XYZ 85.0394 359.1341 null]
>> endobj
-1880 0 obj <<
-/D [2135 0 R /XYZ 56.6929 275.1221 null]
+2141 0 obj <<
+/D [2137 0 R /XYZ 85.0394 347.179 null]
>> endobj
-2134 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F14 1020 0 R /F42 1288 0 R >>
+2136 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2140 0 obj <<
-/Length 2837
+2144 0 obj <<
+/Length 2969
/Filter /FlateDecode
>>
stream
-xÚÝZYsÛ8~÷¯Ð¾É•ˆÁAäîS{Ö©Z;c{¶¶vfh ¶X¡HHùȯßn4@-g&ªÚT*åj4Æ×ÆÁG þñQšDLfñHgq”0žŒ¦‹#6ºƒºŸŽ¸ã™x¦IÈõîúèÍ©LGY”)¡F×·¬4biÊG׳_ÇïÿùöÓõÉåñD$l¬¢ãI¢ØøÝÙù¢dôyq~zöÓ/—ou<¾>»8'òåÉéÉåÉùû“ãI–¥ÚÇ×öê¹–W×g﯎¿þxtrÝ $gµÿãè×ßÙhcýxÄ"™¥Éè~°ˆg™-ŽâDFI,¥§”GWG?wƒZÛtÈh‰L£$zÀj‚xÉX‰žÙ’ „&‰5ŒôxÂë´ÍÛ¢i‹iƒ#9"°>MD)I+À™Xqkb%Æ‹¼¨ZøkˆZÖmCõ-QštK/ªÛzµ
-Kzžòš¾$
-5då¹Ã©‚S«úNëªù" œ˜è0êôÑQ&°¨™xzÖêªë oÍ]½*¾xé
-©¥Dð)þÚM)&
->&Cû¯f3øwüTF*UfD¾Å3À‹bÎ’ýÀ+FZøÓ[È4]ôùðÎA\6fÏ DØÉ·©½Aþ~Å=ò{ŠSŽ%›;S”cÍ ÁÒ–T™Øä¿”<cž´ EoÈàU6µÖŒYçi*óĺ;aÃ*t¤[ç@ÂÔt
-l?¦ëý¬Úò IÐÃCMux-K¥ðæVº[Zdµ·´2¸¥ÝT:HÊÞ2&ù±_T®¦h¼|×µo²,s¢á}ë£ë„.‡bÝl½XZK©ÔÝ »Ô
- ¿1&JWn–fZ ¸³ñÍ“kEÙ×ô9ìû5Wû›LœÐ]œ&Y¤dæ[Lë
-9ïÖ«î¾Òž%–°¯¢+1ÐÄ_Ûƒu対ukÊ'b";7Ô5„:®" Á¼çÇ÷Edq¢ï@žÎóª2%UZ§wiÜ  bXØðècÇN̳BÔÔZ¨ YØÌ û±£Cµzs‘
-°‚fݱÔvÓ ˜ä5Æ<÷®CheÐC;Õ­îFT¸zÆò?¿t\v馫jÿŒEÀÊ´­ ãHÄ*멳³ u\/h±+ÍÆC›æïÎÞà(˜N0A‰øæ IK¨{GÒÝè_mEÐÓbà˜òÅ
-ÎË]ÓSÏvCX¿Çìò÷1\ó0‘SÚ£Øçù½!ZN?Bå $溴
-hUÝÕ§JÑÊ£´_·f;ˆÑô\®…Þ›öÚH¡]àÃC® 4B(Ò(ñÚù’‚¬-äèHݱÌÝ bO1µg«‚R $·^™^ðϪ'3%·±ˆ=ªô­,Ô<Bœ*É…†V^HèñäÀBNö7¿¶Ü,ܘ‡§Ï­˜’Å‘”÷JÙ0ȵ ²*|He‘ž|›5âä±…Éò)øÕz¹¬Wn]û·…(À²À…Vþ6Û½òܵÄÿ
+xÚÝZKsã6¾ûWè°U+WE\<H<:OÖ©Ä“ØÚ=l6Z„mÖH¤F¤ì(¿~»Ñ
+^¤÷ú凛÷×ßýëÖMðᆺo¯Þ_Ý^Ý\^ÿ:ÿþìjÞm Ü$g¥ÿtö˯lRÀ^¿?c‘Ìt2y‹x–‰Éê,Nd”ÄRúžåÙÝÙÏÝ„ÁSûê˜Òb!#%9™)I¥ÄëËÒ –uU™DZ%É`Õ™†}p†ç EÄe"»s<8‡LD™N'i’EJ
+ia±Ì›õcE06£,Ipqu·6‹ò¿Œ Ó JÅ´}2X‘î}ÛW? ž=šÊlòÖÔ¿9çzjµ-‹Qòt:*¾Ú6-\åíâ‰:Ûs>õóý^WE¡fœ“|ýìQ—®l]éú›nEävjftÂC¥ˆ8bI–8¥äU12Ï"™¤±Ӷˑy¸ˆâXzå.òŠ„¼7Tšª5¤¬Âí 0%èvCu§FhÖ£!²ãVãv€ˆ¯™Ìd$Á|½ªøLé•û*n ÔLÇ-Nª”&ÅîÖæMØ^T;RÖs¾,.ñÅ#ê
+ùº½ Õ%N©.¦#!’ãÚ‚I4çÊ*bóv ˜f¶v¨6  ¹ÓÚ7`붬«|¹ÜsÎ}ï§mÝzX6í¦¬(³óTºìýê[ŽßIY:pÔì-/Ï@§
+hME’ïÚ]öwÏctØ*ò6ï\ní–æqÏ;ÓÞwÖVõøàÞÅAj­òÍGЄë+W$SýÜ ÔÙѲ΋¾·\Qä´GØé{„Š
+K²v¬[²o ]CÝ÷4ž:P™RÉW” !ÓR—UÞ€UÑ Ízƒr! ¦ý;I@HN ¾<™jd%…™A¬Âc™ZÂQñTû€ ŽÕí‹ü2Tºg&5ð-ô¾W…ãƒÈÜú¸ýÐút ±í&¯š‡ M°¥•›^Z¯—»Î¨ÁVýíüŒi&Ntä£<#P°Ø¯ÆâÞx¡n·äÝ#Ö;3„zeLÑP J6„õº°G»ÈQãˆ2. en™Mã.QÄ%ìÊ ªå°c6d³ÐƒPª©êÄé ÖÉã¦Ø¥”¯à @ª¾Ð83ô
+­#Èt¾Ëvþø„Šç¯%"Iþñ
+,K)EÄZé=U«Œø+tƒ06eÀ¾œº¥…ïа×rX|q0à[¢¬è-Ä( &µüYåÍž,½¾±ó>_|Ü®Ý~zylGgçÉÚ#À§eãLA¤º$ñ EûA0 ŒÚÙúÀÂìíÀüÓ½ÞÑvŒ3`½Ö©ÉV |Gùd+f‘PRû b—j…Äø~,ãµôJGË0}TÜ^+¼VZ  õ.kG•»¹„ž¦ŸÝö—¹a匟t”¹0n¶Æ€æì®í‹˜ò…H¤JY¤o\ŸÕ¤B²ÙºÉ¨¾•€|e –è)›LÁ¦9û©]V‹å¶ðcm
+T‘'t4\Þ· ¥L}Ù×èK^
+´(ˆÔG¿\âù7—x~GÈIðf2¿ S¯/ÕD¤à)ÝM 8¬Ni·æÓÖ4tÃêL²4J8¼p…¯º›ò ©%GBƒçŠMJ³iµ]Ý[¤¦äı¯ì÷­w7wô˜àé6h¡óq&'VǦ~ºüðîêBLã=,?¡:, õ%±ÿ/¨”ø S¤o 2Áë©8AåÏ[³)ÍP œ ”G…îAJmA)SÙë–Y@Ùƒ[ŸÜ–lÃÆ0¬Xà
endobj
-2139 0 obj <<
+2143 0 obj <<
/Type /Page
-/Contents 2140 0 R
-/Resources 2138 0 R
+/Contents 2144 0 R
+/Resources 2142 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2125 0 R
-/Annots [ 2145 0 R ]
+/Parent 2115 0 R
>> endobj
2145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [84.0431 269.7901 145.2431 281.1822]
-/Subtype /Link
-/A << /S /GoTo /D (statschannels) >>
+/D [2143 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2141 0 obj <<
-/D [2139 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-678 0 obj <<
-/D [2139 0 R /XYZ 85.0394 769.5949 null]
+674 0 obj <<
+/D [2143 0 R /XYZ 56.6929 624.0783 null]
>> endobj
-2142 0 obj <<
-/D [2139 0 R /XYZ 85.0394 748.5408 null]
+1884 0 obj <<
+/D [2143 0 R /XYZ 56.6929 599.7387 null]
>> endobj
-2143 0 obj <<
-/D [2139 0 R /XYZ 85.0394 686.2137 null]
+678 0 obj <<
+/D [2143 0 R /XYZ 56.6929 389.5082 null]
>> endobj
-2144 0 obj <<
-/D [2139 0 R /XYZ 85.0394 674.2585 null]
+2146 0 obj <<
+/D [2143 0 R /XYZ 56.6929 357.4026 null]
>> endobj
-682 0 obj <<
-/D [2139 0 R /XYZ 85.0394 255.5751 null]
+2147 0 obj <<
+/D [2143 0 R /XYZ 56.6929 295.0755 null]
>> endobj
-1746 0 obj <<
-/D [2139 0 R /XYZ 85.0394 232.5802 null]
+2148 0 obj <<
+/D [2143 0 R /XYZ 56.6929 283.1203 null]
>> endobj
-2138 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R >>
+2142 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2148 0 obj <<
-/Length 2946
+2151 0 obj <<
+/Length 2798
/Filter /FlateDecode
>>
stream
-xÚÍ[ÝsÛ6÷_¡Gj&Âá›Ä½¹±ÝºÓ:‰¬ô2×ö阉TEʎﯿ¤(™2-[Íh<c‚K`±øíbwñ!6 ðÇJm¸„FE™Lç'tð¾ýxÂ|Q]iÔ®õÃää_"b4׃Ém‹WDh±Á$ù=ÐD’!p Á—Wgf8âŠדa(ƒSûory=¹|=ñàýO§'çc¬¥[ ‘⛿ÿpuqùãç±gðá
-Éãó‹óñùÕûó៓ŸOÎ'Í
-OEºG]4$Tz$@]çI^Ò~%µXØ|B
-B>©4ŠPSãôCœXT~2Èg!<¾ÛU^®‹bYaZ‹`c Ân‰9å‹oåˆñÀ#ÈN„lBÄäúòÇ×ãìZïƒdKÆÃ"yHw uH”=ÁV†ØÁ¨j€
-E“˜-œ®ª»OËÇqú¬L"©‚ñç¤w¶U±Ììòð>][q¾½VÐîÓµõÚ$-K7€ÿ+VÏßÒ[23$ y_J ¤PuN1­a—Šq€ý%iõ¸Æôõx¶$=b<!¡XØ—1
-…DQ§v§Ðî8‚/Áõi^¾Ä`#a™æÕ3е„:bèB[õd"TDÁ€&nY¶\åÓØ®«úÓ¡±&u‹– îƒiKÚ#ÆrWc´êÁT ¢"ÁLíº”îm„Ïn"ô ‰ry¤‡*¡öœñy4#šGk}ája–ëÕA„-áŽB¡ í@¶0|é*v†O—±=X¶¤<–°’‰8ÝÇ_Ô-vaÉ£Gªoró„,Ä`içõʬö£ù©N0!¨ýãjæ<¦¤þ€¾Äø(‘ííjæÉyùÐ Û½Ý îíBËycˆ{rªŠ‡µb½¡+šÃSŽ °
-ÿÄï-up
-Ó“)îÁ-wjaÔÔÜÀf}~¨ðÀÞ>õ!±*7öËÍz­ë*»¾mNo³Ðr™ ËAXÀÒÌCC"¿ 6o—¬/J«>=]TÕ6[7þ°õé¸mï;nÉ~¼.šk +UÕ㢹훨†øªˆ=È#.aÖ\_ŇD¼Ù]x-ô­Aïy*—^²gõÀ•"&ÒG§°x]Ƴ}\º”[`[ŠséÍÏÔQ6¼¹2¢ö…R>ñ…]~½ð ínÏk¡RTq¹{0”Á‹k_ñ;8Ä–6uJ(ì"v/[·Øi3 ®
-MŸCœÐP‹fº~[.Ë´Úg~òp{~%ó—iÖ1x]­Éŀ䃰½ûâoÔ$q“.kAÓbæ©i9¢5&÷ì4&
+xÚÍZKsÛF¾ëWpoPÙDæ… {òCN䪕‰Ùݪ8„D”A€!@Éʯß~Ì€ ÉÊÚ‡TÊÁ°§§g¦_w-'þ““4‰…ÎÌÄe&N„L&‹õ‰˜ÜÀÜO'ÒóLÓtÈõzvòÃ;N²8³ÊNf×Yi,ÒTNfËߢ7?¿ú8;»<ªDD6>&VD¯Ï/Þ2%ãÏ›ïÎúõòÕ©3ÑìüÓ/ÏÞ]ž]¼9;fYª`½Hðk¯f¸È¯¼š¿¹:ý}öþälÖ_`xI)4žþ“ß~“%Üõý‰ˆu–&“;ø!b™ej²>1‰Ž£u T'W'¿ô³´tLi&Q±UÆM¦ÚÄ©ÏÚVÆNØñ]XBÇ6µOˆâuDùaXq(
+Mš%édj Œ•½E•X4S±ÖFNKYíØ¢ùbU°êß¾övºl‹®=V»Ö [Êl2ÜäÛŽÝ‹üÊÁµQ±JÓÃÏðØ&K¢z·ž[Û¨¹fš¿Ñ6<‰Dþv÷›‚§òz‰×D[H *L‰®›ºøR¶]Qw§S'DTçë¤Ù,‹Ú®ÙžÊ4*–<UÖLïð8HXB¤rì,ó.Ÿçm>Ÿ‚–Ïñ¨ZðB_U¾Î»²©™°Î·ŸyôI$âð?ÉKËvìÔ›mYwx,•ÊèNIƒœ?xwüâÝ_â0ÊŽIë"¯[?»Ê=q“o»r1ÛgWå [;ç©]JzG
+é‡pHšú\7wµço˜4/ø7éy:¦« |­øòÝŠÄ)…o^µ(MÉ~$úÉOJ™‹ÿ^^^Ípˆš‹Ç®ò¯THk XrÜ–ÅÝi¦¢ø8
+íÀû£
+z.JÝ
+ì«ü¶`Z΄pCë$áúº
+huÓ15Ô@£Ôc]ÈÇ=1ÎAGÅÖ'Tz°&=ðáLÁ¡ 4öP¤q壜=$Ý Ê¶!G@*õ¯`»%`O¹@£oÃä.æ` Äg} 3å°!¹=éŸGehñpªz:„X!Ÿ mú0ïyCfH£áD´t R
+ק³ÌŽ÷xœçyyLkl¯*ÐP@F¤t軨i Åìn½Î¸xêÀÊz謴œéüÖ´Œ ²ms –Ã@H’„Y8Ô‘‹™î˜Le:Öý¹^Ž"óH
+öðP| 0(ƒB°åqÍê?Ž2Ø
+ýìKMLx›¾Úm6ÍÖ¿÷ü›Z7€üï¸~?Tm')ô~Çþ‹£‚endstream
endobj
-2147 0 obj <<
+2150 0 obj <<
/Type /Page
-/Contents 2148 0 R
-/Resources 2146 0 R
+/Contents 2151 0 R
+/Resources 2149 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2125 0 R
+/Parent 2115 0 R
+/Annots [ 2153 0 R ]
>> endobj
-2149 0 obj <<
-/D [2147 0 R /XYZ 56.6929 794.5015 null]
+2153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [84.0431 525.3808 145.2431 536.7729]
+/Subtype /Link
+/A << /S /GoTo /D (statschannels) >>
+>> endobj
+2152 0 obj <<
+/D [2150 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+682 0 obj <<
+/D [2150 0 R /XYZ 85.0394 511.1917 null]
+>> endobj
+1746 0 obj <<
+/D [2150 0 R /XYZ 85.0394 488.2129 null]
>> endobj
686 0 obj <<
-/D [2147 0 R /XYZ 56.6929 741.8766 null]
+/D [2150 0 R /XYZ 85.0394 285.3314 null]
>> endobj
-2150 0 obj <<
-/D [2147 0 R /XYZ 56.6929 717.2979 null]
+2154 0 obj <<
+/D [2150 0 R /XYZ 85.0394 260.7527 null]
>> endobj
690 0 obj <<
-/D [2147 0 R /XYZ 56.6929 609.8545 null]
+/D [2150 0 R /XYZ 85.0394 153.3092 null]
>> endobj
-2151 0 obj <<
-/D [2147 0 R /XYZ 56.6929 587.5432 null]
+2155 0 obj <<
+/D [2150 0 R /XYZ 85.0394 130.998 null]
>> endobj
-2152 0 obj <<
-/D [2147 0 R /XYZ 56.6929 587.5432 null]
+2156 0 obj <<
+/D [2150 0 R /XYZ 85.0394 130.998 null]
>> endobj
-2153 0 obj <<
-/D [2147 0 R /XYZ 56.6929 575.5881 null]
+2157 0 obj <<
+/D [2150 0 R /XYZ 85.0394 119.0429 null]
>> endobj
-2146 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R >>
+2149 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F49 1308 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2156 0 obj <<
-/Length 2554
+2160 0 obj <<
+/Length 3086
/Filter /FlateDecode
>>
stream
-xÚÍ›Ksã6€ïþ:RU!ïÇÞ<;ëT­=#;[©Ir )z̬DjHÊç×oƒ EèIÉÖÔª|âÑøÐèn
-H4 …ÄÁ‡ë›.ǸŸ‹Û›«ëŸî¯oo\öèòêrtysq9 Ñês¯…¦îݽ­ÔÔ¼»¿¾¸þyÿËÙåýb
-¶¡Ã2šB5AeAê'HT¯³&3ÊÆ.O¢²\É{iFäžÊùC™@ßY5y]îÉéþ¸.\cµ%Ü?¥¶M ÔþÖøl¢¹MÛ‘Û_¯›ÑtøÆóÄ.T¹ýuã¯3œÌQ™gîEò}6‰Ò̶i_¿¤ÕSWÃ釯QD2Ä$kÔ#ž¤0à2œ9¡•èuƒV…mµ%!-Éõ(AšÙô0¾‡ûöB0G†Ö«ÇVÍgUšg@–ü.“Ä>hÃ掓2.ÒYX#„I‘H »ªü‰³
-åC¿ÂúÒ]ow'p_$NÀ&`£—DZ·Im© ‚øT×[³‚
-ƒ)¦ÑdÒ´¹ŸiÞú/ûôÆ4K6výµh„Rí K÷Tέ緩¨Üä-Àv€êµŠt>¯ž@ñFÉ_¦BŠµjŠnö ªDœlm-$†ÀrRrŘ?E•]ò"xÉç“ÚçI™»ÌG€äòÒ¬jò*gÞ„ð TjáÙ7þ¤ÿd³d;€µ€Ã®ܶjSá…T6™å•K<$î·Ž€àwZ3gXéuÝz¥UMfæŠÍŠ(Þ8U'ÛíoKŽeïÚÞ÷o²­±ÅÞI€í6wBjp,FÖcþí±%ß>æY²OÌ V®¬\D„ƒ¿m¥:UQV>:݇G»`'Ieã¹­0;Aß7ðÈRP¤±Ò=0xiÃy è×Ù8ªÀtõ²Ç•vÈœ¦Öxˆ`[3¸¤'åÉ’äiØ
-ôä×1C—H–³7¢´îµLdéÉy\–äx,©FÚ¨žm­`q͉8Ú¸¦ŸåÇWØñ¥±#7÷Àz› ho'OOÖ“ÕM"‘á´ÏdRŒ`4Æ㹟ÉÜ
-‚¸4ƒ
-™„P—ónupì«:̪f >LJ€MÜò¸{>ä“a(¹¡ÁGwÔ]Ÿf¯žà ) Jáwò>Á-"†µþ1,†°›ºu,W"\4{“Wéãëí¼zæL…mºàíÙÓõ'(T+[µìÁXk4Ê$«Ðv|ž\§ŒA”Ê8éÃÇ)ø ¬VðÉ}ðÉ7áóä:.>rT|TBoúè1hO
-éÑ»ÎÞ¥{ÍUg’>oØt;éNY Dš”é>ˆD#J0_†ø Ü¢'Þ)SÄâu-û(‚Ÿ¦íᯣ¸ùÌ|b{÷ú¢};H·­ÚÒ“ð„—4…T&z@R
-Ëß÷QN…åàƒ¡ªÀ=÷™3pÒ›Ÿí§Ö !epwõ2þÜèÞyþþˆ½è wª
+xÚÍ[Isã6¾ûWè(WEìËÜ:m;ãTÆŽew*5I´Dw3#‰j’²Ûóëça! I”(/I©\e€X>¼€È
+CÆ4ÈÄîÀp;ŠÝeLå{aÉÒTþáCúj7–`E´ =Ò-4L¹·åàvÞ®&“´<ÀÄÜÔ&3¦V«™S™Û0Ö×$>)ý°«Y(^”OàR)>D§#%ôðîKVúžó4ñ&&jXÌÎX}q.s¾í³Ï>}É&ni àEéëŸ\]ŸÇ×cÿkò0B`h_uÍ:K“²¢…:—Ðfõ—ÃñùB¿››äE;Ï4VyHaÜx;(Då˜À-wî¨iÙÛa’¯Uí£æ>]z*³|U®#–ëí¢Ãõ=L±ÓÛ8ô/U à
+B(ð–òã‚×"™½D¥s¾µ-q*½© ƒº’5m. «u!TmêÂ5 ëÐjFhwkF¢*E ±Ø½ˆb@‹ËÐð¯WˆÑf¼m{[ŽaÁR_"ÿu#"RöèCÐ…HJÆaýVeZ½D:©Ú”N(qÒ ik‚Ûf+EÁCn‘ûtšT ê2Çž³ˆÙæ,WhyÉ¥¼à#&+»Ø¹LÆW‚lò’ÙòˆM×yÉ–
+¹í8ƒ8 ¸#vêЇb?-u8Íç ̺M¸=[¥šü}¶5Ú„ã5®L™Ð¸OÝaŒŒR´õÇÜEMîvט_<Mo^È,!ìuL¬JÏ1ÌGÈ6S¦Å£ PmaîÓeZ<äÅ<涚§Ì13öÎZNÝ`ûÁ øwŒébÊܬu¡÷ ñ†O¨ê߶Ûæ[?ò+ù¶ˆ×±É¸6ó¿qc–x/;- RêE²P÷Øɸ„!…yWÈ$€GHc<ÎVËY6q5Œ21CÁK—JÓœ×@Öç@¦fV›Oª*/½m±mrŸ¶ìúܯ*Ÿ™f娋q&ypÇü”~ôiú-+«lñÙÙ£¤S2|ö_Þµ9GœÍ”É<ä.M§{Ëïº$Ç>àúˆc¼9¨¢fxyæÊ R…Cuõ¼L}mbeÉÖNfIY†²™Ÿ&™>ûºûÔ‘m³žgóî•aö¢l$Ms(¥º„Ny|]Ú-f ö¥”*lä´Ùÿ9‰Tr+ø²cƒüx‡Ø„íƒÉ5jßWú"¾~›¨´ÒTKN^r;æ{ìö0(Ñvì×a—|VäËå!WXÑC
+§%BöœäŒS³d¹|%’ko‘„2¢ò˜D'é‰n¤Z©€ñ° Ÿ/‡#CŒ·ÿr ¥Çüð´´0}ÏÝÁ¿¦"‚ó0…Ùåá*2¢ì­ðÙep
+.¢B”ÐÎÐz±=ô§»í™¹BLkÚCÕ­˜@v(‹W|¤Ûß·œ«ÒÅ´6<·þgœþ£þ]¨uìBü%!j'o! 6‡BÄ]Ï¡ðêAb…endstream
endobj
-2155 0 obj <<
+2159 0 obj <<
/Type /Page
-/Contents 2156 0 R
-/Resources 2154 0 R
+/Contents 2160 0 R
+/Resources 2158 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2125 0 R
-/Annots [ 2158 0 R ]
+/Parent 2163 0 R
+/Annots [ 2162 0 R ]
>> endobj
-2158 0 obj <<
+2162 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.4761 684.0956 413.3061 696.1552]
+/Rect [305.1296 229.7992 384.9596 241.8588]
/Subtype /Link
/A << /S /GoTo /D (clients-per-query) >>
>> endobj
-2157 0 obj <<
-/D [2155 0 R /XYZ 85.0394 794.5015 null]
+2161 0 obj <<
+/D [2159 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+2158 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2167 0 obj <<
+/Length 2520
+/Filter /FlateDecode
+>>
+stream
+xÚÍ›[s⸀ßó+x;¦ê Õýò˜I`[;É °[S{yð€3ñN°‰m&›óëOË2X!ã„©ãšÊ`lµÔþÔRwK‚ô0ü#=-f†÷”áH`"zóåî}…gïÏHUf°)4ðK½›ý4bºg‘Töf7^]a­Io¶ø#¸øÏùÇÙpÒP‰ú!qðn|uéî÷qq}5¿ÿurÞW<˜¯¯ÜíÉp4œ ¯.†ý1š‚<÷j¨d§3+TINgã‹iÿ¯ÙÏgÃÙöü—$˜YíïÏþø ÷ð®?ŸaÄŒ½ø‚1†ö–g\0$8c›;wgÓ³OÛ
+½§¥è>hœk`EUoÀ4âBè—›uM`h¶º$!v[ \¡„D˜ µíJ¼^0
+|pYöò1 —ñÜÁ]—‚¹ûròÑíâŒ!™èùŠ½íM9gK¨r°)p2xœ#l°h€Ç’JÞ»pñ1‹²èþ-³>ÑAôw4/¢…»³XGî¢HÝçÊ•qÿ߯ã<.¢ÿÚÝ?ÐÞûu¶E„ ÖÐL E‰)‘N>þ>‰²Ø’lä?‰òUšä¶UzÏÝõÓ$ò{ÂÕx€¦Ó”wš&…bÓš”!%¥v€À"/³tµ+<šfe‹’œ“-o|©ØfáÆPïâe\¢êiÜYªX#J›¦ ¨C"·P§wñ« Y_ëdo Zk|*¨µ{kô— Ã%}ê._%´Qƒ‰7à?©AðnÊ÷²Ï¼-ÃijKK¥!Jïï¹M( aš4ÊÛΰaA´? ãà÷íñ!Œ“"JÂd^ݘaçE<¯ºí"]C,ß툂f¨€ MAÈ `PX±v ÷KmÁ'Û—HᮧoŽ}C‡NÕ ¬G#ɸÁ1}\~IïúÉ .£|žÅ«"N“]r:¦)ÚóÚx›ÚƒpôÇÀÁ—Œ­F¸ÎKWiß<^¯‹ï|Ï<!ª‚«ibü
+•¦–€ÔŸÓÍŒ‘GI^¦çéuZ|ä”ø„ U ø„)N¶ƒOƒO¾Ÿ¯W‡­O(ˆR™Mø4Ln”ß8y“ñ¹àiÅß÷¤5EO½.S”IMYEi•Ú<¥ø<’¢§^—‡2¤ÄŠ*ÚDQ(ÄÓÅIôw3Ädž.ãäë!.«:
+duŸQ~p­Z–=¿í“¬ ËÀG@‰_2¶-a×k¡Ëç„ÜÖ‹ !e0=,>5¯¸×~¿9b¯:åT§2ˆ#kت`¶}Ž‰P¶(Ûô”ë,@˜î¸Ñ Û‘Œ(ÍÍ“íkRKL&m,Ð9§';@ƒjœžªÅI„=Apƒ­6`¶8e;œò­8ª´Ó81ƒ0]7ÐÄ
+Å]0zõùòúÃùø
+ã"˜À÷fšµP |µj]¥G ±§`ðQ#%¦ò¾Ã‰=KôÛ¨/Dp>þ¥oãWLŽ;=c¥A¤í¡$+}<O_ÙÎUÆžŒip×T3D%wîzt=ù0„=à¥9Ž†YÖÌq+ÔŸ§Úiñ‘Óá“
+©ÆsTA,sÖ×Åm”³4³–HH09
+`)æðE™;³‘µš}U;kÂ&oªÁuSy`Îu/¯¦ø¸±l‹þ‰Æð©CŸÇgDZò= OE^G©V‰êFb?EÓŸ1¤É(¹² 8ý!Ηa1¿“4üõåzu„Ë®¥ÀŸ¹mµk™H^ƒÙmäžAg8¹ñå¿ŸWð¯2¬87vòÔõPy€ƒ‘ \,*¡ÜÖÁD&‹ŸÒ¾­«,PÜV%wê.ïíÖ¶J³Â]-Òh§}7õ%©-
+sßÓl_ãeí‹Èn–%åÉ"CÜÉ"¸m_Õõ˜ßÛ0‡­iÕaeãÏ»•¤eU¡´LB‘$øA—ŹkkV•Ãg˜¸q²ˆçá TÛ® ƒ±xÚwef[Ž´ôÆ}†îcÎo·gûâ<M¶ƒaQDËÕtÄ·ô· 7§Í†¬ýðh$Z!I©›Óf}~!Û k‡³¾±cmçÈÙ«Ãh_ã®z
+¢(|’†¬„($Ä%¥_Â%˜™ÂÖå–×\DyJ2º‹¾†Ö„Û‘ô´ìjC$£  ‘ÌNÕÉȨ°N³$9OqÄbçÚÏ:rE½â°Š²›4[äXëØYƒäR6Ü™S­]DßB9ÿ²NÞpK,´2/ž8¿_§ÅfjM“ÂÅŠwàzšŸŠ.HKÑf^ÞH¼@—Pˆ ›Ž˜fÆÔ[Uœ¦óoLJ#/üxØú4÷™®¢Ê%á:`Ä6|˜‹ì ^ð€<¸.÷-àö<].ÓJÔÕænMwסßØ€fw†ní}„ºgqîž„î«WÀÝ·ÎÔ>ØjéN¢÷Ý©ênZ{ÙZm¬'ôN'‡žÏ®>mèq·Ý’5$"¬Ëë¹·™Â»°0›œ fÈ0©jëšÙ¥x¥ë¢ÕX8™CÔ<º:ãi ’܆f 
+MܦÒû»u4Š p¶ë¦L1L§y«µþ2g°VZþUöfëÝÌqò=ývÈŸ”ªw:VÀDÃÕP–J¾W¶†+O
+×S½«t%G\ó†˜Gj„!æÙ5ÝãÜɱ&{Ì/ñdÏÓ÷­HÁ×cNË-dHðä¾ß:â^#ïcYYÿÖÔ®6híbñá1ÌcÆî "[—%H¨M?¥`þÏK8ø#xøO%‹M 4]¯ªä¾üV¦PQ–ƒ+3Ùghµ=-£6-zþ~RÛendstream
+endobj
+2166 0 obj <<
+/Type /Page
+/Contents 2167 0 R
+/Resources 2165 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2163 0 R
+>> endobj
+2168 0 obj <<
+/D [2166 0 R /XYZ 85.0394 794.5015 null]
>> endobj
694 0 obj <<
-/D [2155 0 R /XYZ 85.0394 411.8739 null]
+/D [2166 0 R /XYZ 85.0394 662.9325 null]
>> endobj
-2159 0 obj <<
-/D [2155 0 R /XYZ 85.0394 386.7533 null]
+2169 0 obj <<
+/D [2166 0 R /XYZ 85.0394 637.8118 null]
>> endobj
-2160 0 obj <<
-/D [2155 0 R /XYZ 85.0394 386.7533 null]
+2170 0 obj <<
+/D [2166 0 R /XYZ 85.0394 637.8118 null]
>> endobj
-2161 0 obj <<
-/D [2155 0 R /XYZ 85.0394 374.7982 null]
+2171 0 obj <<
+/D [2166 0 R /XYZ 85.0394 625.8567 null]
>> endobj
698 0 obj <<
-/D [2155 0 R /XYZ 85.0394 161.7348 null]
+/D [2166 0 R /XYZ 85.0394 412.7933 null]
>> endobj
-2162 0 obj <<
-/D [2155 0 R /XYZ 85.0394 136.6141 null]
+2172 0 obj <<
+/D [2166 0 R /XYZ 85.0394 387.6727 null]
>> endobj
-2163 0 obj <<
-/D [2155 0 R /XYZ 85.0394 136.6141 null]
+2173 0 obj <<
+/D [2166 0 R /XYZ 85.0394 387.6727 null]
>> endobj
-2164 0 obj <<
-/D [2155 0 R /XYZ 85.0394 124.659 null]
+2174 0 obj <<
+/D [2166 0 R /XYZ 85.0394 375.7175 null]
>> endobj
-2154 0 obj <<
+2165 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2168 0 obj <<
-/Length 3574
+2177 0 obj <<
+/Length 3361
/Filter /FlateDecode
>>
stream
-xÚÍ\ëoÛ8ÿž¿ÂßNÁY¾¸ÃÝ<ö²ØMÚØ»¸Ãî~Pl¥jË®e7í3"eÑŽl9·¨%Šr~3œ9Ö£ðë)M´ã®gœ$Š2ÕMOhï|ûñ„…>ýºS?îõÃðäÍ¥°=Gœæº7¼hYB­e½áø÷DINM~¸º>w§}®h2ž™¼Å†WƒáÕÙà´ïœåÉÙÞ¾^Üú^:è[Âð³›ëË«½ n®}óíÅåÅíÅõÙÅéŸÃŸN.†kb&¸úO'¿ÿI{càõ§J„³ª÷/”0çxoz"• J
-Q·LN'ï×£¯ÕÐ6Ф´€ Ó–H¥ìîiý¦ Œ§Ôö¬}͈(àˆJeÖrà,’ƒ¶À¥3=£Ñ‚‹J×ÿ=¿ùåí@%„TÉ-¼#L0”GC™u°h'a¾ÍAˆïâ”Ù$eùçlLž`L%1ΰ^¼¶—±+¥ T Õë׎ˆ ”„:ª:”†hc¼&@/Aß~»<U*y{õói_*+“ÛË4ŸtC‰£aŒFÍÇÑÏ€4Zì+†Tp„
-E g®åòæö—‹[Øî²ÒÉË‹Å¢Éõ g
-Šf(ºÝê¹X?‘g“ìCŠJü<(£UKvL,'ÊŠŽôD3M˜¡>=¹Í–è:+0à.Þwƒù¾ñ¶¼å"¯sž-îg‹é^(£E¾bµãJ×Ãh`Š³`+\ÞÞµÛæ × ¥8¦ÞíãUÐÔå¬nfËÚÄΊ¥'{ðV~,|!w°Z=‡d=b¾±@4Ý‘³(Ç WÎ5ðf£‡…‰—Q èQtnþw6Ï‚o¢MèH1Ž}Ì–5‚+”ÉM‘ùæÑl:…¡ž^
-έͳßc¸ÂœHÊFÌñpÔËKÿ%õ¯Qߎ^?¬Wu.²Gÿî—êQaZb¬Z}‚êLòi¾L#ç~1™¬mc9Zäó%ä$»Õ+ÜËTá[î^øF,5NE) SHÙ¨×
-òi6[-Ÿe—~Ì>Ø¢½^«§ z±
-¸Ý›”D
-ç•þÇÉ*»Ì Œþ,132 ¾–¸‘«w8Ñ«2TÕ& ÉÒ­­d^|ž}ÜçXâÅ¿^­ ’±Ît8%8‘V²-ˆõ³!ÖÇ…8Zü+Öbpœä]Î…Sü¸m->̽ª½Í©Ä^\£¿b\a¹ÎÖ+µDˆï¶T÷`\õqõ+~åÇeÒmÑqÎ#&šYŸXþV%–éä­Ï¬»a=¿ .Î<hŸÓI>ŽBžïÃ1Zá+†Ñ2Bîpú`U‰ÖBnàxóñeBÀ7ʲñ^£Õ C.ˆÛ{¯ö„d=b'†Ê¦u‡w’†C-ßÀð:ûðt0š”b{Q¥èŸ3ßš˜RFÝ
-ŸDúd}UŒCÈ®Â$ ¥ÄcåÛSa`b<þ+õR¹÷T>ùÃÒ¦ó)ø§çÅ"t½>
-ngH!µ]Êy6Ê1Äe Xuuä.˜ƒüwÑœ@Ž«”¿ßo
-ÎCà•Þ¸MÁ-JÊvï@+ÀoØž
-PÆ@ôÅÊXSìÇ$[”‘A$aiën¸BÚjêTÞ'#Ówy
-°‚*ùB
-–0ÇÓ „dš¥E°¯ÌH4ãmö•+»¶¯`Àõ¼mì+6ûŠí›ö?®í+~†¸,øv…`}þ~Î-²ØŠHŸÊ‚›¡u]AÙ˽ښb?&ùTÜ@°c›yw9uX?øìZ›6Ç®T(N1^˜¶4¹PS×ÚY( c Äßè/ Z‹‰k—AÒ齉ËkŸ”ÙrcÁÛ
-"@®¨ÙqiP×
-¶”Рðƒ¯Ó»ÙƒMÇ“óÆíˆv?àƒ£)^¶lHP ©ý9°|ùÉq„„æD©ˆÍ Y^–:e÷oKsȶ”[Ûr'•›yÖv^¨Àž¡#§‘“­l‹lY¸
-)ËûÕd²>”TÔÕ§vízýÐ<ð%¹ðÎ瓼ßV^3
-ç«QmT{±¬`5g‡Xh‰G#!Á©,ÌN¥j¤õ2ØÖ)qTȨ
+xÚÍ[moã6þž_á®fùþ‚;°Í&m
+4»MÜm?8¶²jK>ËNºÿþfHJ¦bÙJ'(XK9äÌ<œ72l@á(M´ãn`œ$Š25˜.Nèà |ûþ„Å>£ºÓ(íõÝøäÛ aŽ8Íõ`|—в„ZËãÙ¯CM$9
+tøÝåÕGw:âŠoƧF?àãË›ñåÙÍéÈ9ˇg?|ø<>¿½t20´ÄágŸ®..¿ÿå:øtš¯Ï/ίϯÎÎOÿxr>nH™dTàêÿwòëït0^<¡D8«ðB sŽ'R ¢¤uËüäæäç†`òÕíš”d’ K¤Rvÿ´a
+
+ÓÆGƈSêé¬#͈(àˆJe=p–èA[àÒ™QŽhÁ…×Ã÷óMv‘­§÷úb’ÏQD0Œ'Øu°`'a.pùùA¹^Ý„ßÉl¶:ev˜UUh¸Czñhf3²#y*‰q† Ò¿NR
+BµPƒQÝáˆr•’PGU\¥!Ú˜€ïÿœ2Ɔ“ù‡õ:[,×ýrýxuss~¤ö0™ç³É:/‹(á@ä  “%þ)8aB‰A
+E g®%ÈO¼N†Õf:ͲÙA†ÕÉcÊ â} É0Bì—!µ„ó>,£µm‰ð*ûò)éZR4 Eÿ íEöZ²Ðšwåj‘tap" Ø I÷j`ËÛë¤õ– ÖN®=¬í±JË–žgbÁ¸Ï ¦‹;š †(§_d[ê!û„¨¬c)z,¶†8Ê‚«úyõõúT©áx\ýB¼>雬˜~Ù91\OnçYxôâtrè;•›b{¬òe|ÊY£Š^Ÿ
+Ÿ:À6¼³Hå.PIVyV‘.ÈŸOÀ†Õ¦rI¤ÛÍ"Bj»TËlšÿF)Çe Xõú>Ã7œ–«è—e1Ë‹/áû]K
+<b:ßT0Eç! ¨§Ó@È!$eûw ¤à7`ÛK
+Ù4èùÕ;°¦8JIvÙF4Ck^wÛ@ýO¸ÏþÜá~‘Ïçy•MÁcß *‡å*|k„PšJóÄ1Mþ@¤i€
+¿@ä!+òè­ á1þÎ2t˜EÖeé$(T½Œ0§†(e 9#üPVð\0ÖG)É02 €¥5Ýp…´ÓÔ©- ë20}™§ VPÕp|æ“jäÊ´Â茵›ëDJŠau_næ3|–´…=¾Œ¡tÎb‡IÕ)_IøÖítɸ4ëk.Ö<¯üÒ#ßHq”’ì’/ì1 KkºyWò®,‰m"Jð%0,aŽÕ É"›Ѿ2#ÑŒwÙW®lc_Á€‡¨ÚûŠÑ¾b{Û¾âÇƾâgˆË&óÐŽ*Ç&¿qð÷æØÕÅ“ˆtWÜ °¤Ž®Üë½ZCq”’ÜÕ7ìØí¼ûœ:¬|v¦¶ñØ—
+¥)Æ+Ó–m.´­ìõ–
+a „ømý¥Aš
+ÜXð¶ÀþH)4šw« ®‚*ÞYÚ¦:ˈ<…ÔÒáM9ý#[‡üóòÛO±V»†¬´ZçÓXô;ƒ,j­ªåþ Ýq°?=ñšs‘>T 9|ŸÖäü[³ð¥¶ê³ðºÄ}åI$t×_—Y–S^oØ”NGlâ,ºv¼¿|ü,;8¹CÆÃ׿½üü ѳuEÔ z-œÚ’Õ/!«÷‘KÙ¡0¶ÞÚ¡ê8>ë^¶¬Û˜„>t<¼lû±váÐY¿„ª~Õ_ŠüÏ.ª€mSQ`¿Gó±\Lò"÷ùwwå1¶öŠ'ë&o¥Eâd#“™€ª0Y¹Ì<Äüóf]å³,¼lÓfa£öIxÒl5\”³ÍÜ=âpíSo®tíÔð®œÏËGŸ³ûv_¡ðke-oŠæT5aá¿:¸eH[ËmüßÏçdp‡kY[ÑwG® Øzž—_…UOÂjSVqÃE&¯Êuø>™ÏÃÇífö£·Þ ú<LòyÍ5Ø &0}m™ÞGkŠ4™:îõ†gˆ4³%VË¢UJæ¢Ã¢ô1 ÷Ë8ö>~›eÕt•/·…6_j™ïVÚu„Á)‘ƲçøŒ± 5âeΠ{T½zÄÚfÃÔH
+ð€œoݵ¤-728 Ñ3tWÁž]Ü–s 6~Läø4âƒí/¸¯tŽ×­%$(†ÔuøÕ•ãD€EŸðÔ¢hoÉZ`¼™’âðÆ4ÏÙ˜òÉÆÜKåÓ2ë**°hèÉiâf½5c‰5‹'!Uu·™Ï›º ¤…¼
+=â~ CóH¢ðÛ&Ëå<ï.ïÇ+n¬r»Á:‡€„³çØh‰µ‘˜áx³U‰º^§¨’ÇD•°»qÞƒ*ª—ò½Aµç|¢ ,ì´‰>3w+FÔ£,ÔŸ¡1zS—µ\Ø©vÊ#.üú7Wªµc«ÜŽh½!•v\ÂB6Áã{¢ëlŽùíómhwŠCft’0{,7òUh,2×£í„óê=uò]^ÌþÂŽGÝ„ÞæñÄi”U4–ˆâï¬1àÞ
+mz4†\qñ®Žÿ¬,ŠWjl
+$²éúJK¤q\¥×ôAHj-ë‰Ö„D[þÞJëUØYTK“¹d&ƒyu_§,aÛ^•%²8–Ê„"V«—ܨGìWÅdÝç­„€4û]·Ù‡)f‘a£)!ýFSB 'žˆßgØœÓrѼMu‡÷款Zw_#ˆÁ9“>~:eßÃ{Ýâs&BUGKðÁGKÐÞ-1¥‰sZn+TÝE®E]]è.»0 tdØ5┎S»TŽYüH'XyþÞÒX÷fŠöX!îð”Ϩ÷Çt/ž/˜ja˜VØ`#
+[|GØúß=°eXw‡a‹wš4Ý°åŒ
+T‰5Fa„¯ï #›:!¶U^óÂ'ÈSWþNf§ÚÒ:;…OÛìÔÈíͪ΄Ô_·ªšŒt—Œ5¸«ëÝ7Ý|pHQ5¿ÛÊKÙ:ˆ"4«ñêïÀw(hÚÑÀg¢øcåµoaVŒ†\¯ŸÂk˜~O€^gÓ‡—”Ó
+Ù´>aŸfþ^-~lá/Æ(ÀŸÎ7³,¾e[ê- †S¡ú›¸°ê¾%¤‹xÐ~¢ÙÏbo4®@Su7h·ÃuÄY×Þ¸ýëﱚ~yöÓç×ÖK ¯ ð&“/*/©êeAŸˆû…{æS}.ü1.å! ê;ÆÅ‹–‚€;|ŒËÀêhßÖœãªxŽ{V.– õÛ|ž¯£~óutv:ý“Æ Aôì™ÖN±—óÆÈô0Ô¤V
+ïU„ø秲BÍyë Xp–á×õý$ö{ÌšûfÐk{‚ä?æ7Ï(ZÍ&Øc5è’ó-?HnÒšj^•q©›å²\…+0û&e²J)ø &uqÒ(€ê¾|,š¢êÓG#‰TâÉéãä¶|¨‹¤(·ŠÑáYz¶s*VŸ–Ý–›x¨VÂD«ºb°=½£Q þȬlÄáËe6Yí°UOôô¾ Œ¶1„ͺÿÒ,ö%öoº“·Ï³ëonðÿ“<ÍÁiCÝI['¦HËdkÖqàoœ& †·-œ¤ŠEohMѯ·Ùt²©:£^çkÛý8V:…Ðœ•Y\BœU '³rÐÜE«ŽÎ
endobj
-2167 0 obj <<
+2176 0 obj <<
/Type /Page
-/Contents 2168 0 R
-/Resources 2166 0 R
+/Contents 2177 0 R
+/Resources 2175 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2173 0 R
+/Parent 2163 0 R
>> endobj
-2169 0 obj <<
-/D [2167 0 R /XYZ 56.6929 794.5015 null]
+2178 0 obj <<
+/D [2176 0 R /XYZ 56.6929 794.5015 null]
>> endobj
702 0 obj <<
-/D [2167 0 R /XYZ 56.6929 292.3223 null]
+/D [2176 0 R /XYZ 56.6929 543.3808 null]
>> endobj
-2170 0 obj <<
-/D [2167 0 R /XYZ 56.6929 267.2016 null]
+2179 0 obj <<
+/D [2176 0 R /XYZ 56.6929 518.2602 null]
>> endobj
-2171 0 obj <<
-/D [2167 0 R /XYZ 56.6929 210.7732 null]
+2180 0 obj <<
+/D [2176 0 R /XYZ 56.6929 461.8317 null]
>> endobj
-2172 0 obj <<
-/D [2167 0 R /XYZ 56.6929 198.818 null]
+2181 0 obj <<
+/D [2176 0 R /XYZ 56.6929 449.8766 null]
>> endobj
-2166 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F11 1509 0 R /F40 1218 0 R >>
+706 0 obj <<
+/D [2176 0 R /XYZ 56.6929 164.2442 null]
+>> endobj
+2185 0 obj <<
+/D [2176 0 R /XYZ 56.6929 135.6997 null]
+>> endobj
+2175 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F11 1509 0 R /F40 1218 0 R /F68 2184 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2176 0 obj <<
-/Length 1560
+2188 0 obj <<
+/Length 607
/Filter /FlateDecode
>>
stream
-xÚ½XmoÛ6þî_¡60±|§ ÒÔn] ij»Ã†®™i„9’kÉñúïw)Y²e{Y‹"@$RïÈ»ç^h`ø#A$fšJs$0Aò8ÀÁøöz@<&¬Aaõr1x1aQ ‘–T‹û–¬á("Ábùixýæêv1žB*ðP¢Q($¾œÞ¼r3Ú=®ßßL¦¯?ήFŠÓ÷7nz6žŒgã›ëñ(Ô:¢°ž·$øµó…]äWÎÓëùèóâí`¼hÐ>$ÁÌîþëàÓg,á¬o1‰`ŒˆÖ4xpÁàŒÕ3«Á|ð¡ØúZ-í3Ç*XJŠ˜”ô´Z§ƒZÿÊŠ¤ZCÂâBYG0Š¬q!-GÎPĘ”ÐH2Ê*OüjÍòbBÛH…H·€ÅŸ·c‡éH£qÉ™ývJJäWIbÖ¥GÑ
-l¦4Õ6Í’ü1;ŒBÉÔ0ɳÌ$ešg…ˆ†ÅÄÅýˆ ·«Õ77W¢Í8@¸¢ÃÅCZXE 2$i!h%;É·Yi6£+=HõÌòÒ½Äëõ*M⻕qã2÷ÏÓs6"R8ª·ýñÕmÏѨDKé1q¶ìD ¸¢±ÒäÕ..“‡Y!ÅQ`W÷Lå·µ)Ð!³9P[Ynµ ñ}$c<B Â6Â>.G"ë§y‹#D©¸D[§Š~&mç&[Ž7›‹¼µ ó Њ)6L3ûäÃ"Oþ6¥›+@–{Ë×fW´ÎÊ;ÊVŸ’ÚÕIîÄš°ÏÅ:Ï–…ËvÀÖã“p8+­\Q¥ÿ”"NDmµF½šß÷ U¶HmŸ*e÷…ƒWDgº÷ü÷‘iÏÏšÀ?0¯J¹ZèK•Z£HHþ3 :3ÉÓs J±#(Å´!¨s\KLúdÜÇO©æž§n}²Ú.™½ôQ]±Ÿ”
-«ƒ†ãÿ­ª7B¤F ’)¤r…°ê6*G ÃET+ˆÎQµÒt‡•u7%Á
- •lgF€ÂŒ1´sùã¼~—®ÒÒûg—–¾ÚÉvÏH`g–=GI¦)„Öå5ò-£K`E_ %B",™„ƒs¤9q{|—6ASˆ…vW”ibs1%u2,Ü×ò!ö¸q‘âPñSœ®\ß`?B`õlÛ¬)Åù¬ÉÀ—”îÏcÅÅU«"÷[Ý®×ù¦Š“J xŽsFŸ¡T{¥Þ
-U;ØúÙ:ýNÜÅwy•<lI²6±‰ƒ<|Ó˜¬ŠÊö
-<þ§„{Dí¥¹sšü>"„@‡_€½
-8ŽªKü èBendstream
+xÚ­•KoÚ@Çïþ>⃷;ûòî‘P“:Æ­*¥9€Ù&H`?Ô~ü®ñ# ©Ô
+!kgÿ³3ó›õll~`KŽ0UÌöC·ã½…í³woA£q[‘ÛWÝEÖ§)•¶BJaG?{gI„¥;Ú<&_Æ‘:.áx$ãrGwÁìsmQõc2ŸMƒû¯áØñØ(
+æ³ÚúS?ôgßq•’Äø³Þ ï2ªœÏeL–Îsô`ùQW@¿HÀ´ÊþÍzzÆöÆÔú`aD•äö/³À”"öÞbœ"Î(m-;ki-º{»G×!hŒKÄ ¶Ë ’˜ “ÅsCÊõ ¡Ô;YCd[UE6Ÿ†ç¥(DîI‡Âvª¸¤C”w8zÝæ5ú8-“Bgõ¢5®âXçùv½Ó=©ŸÅkc’8Ýo“—zµ(u¶Õo®ãb›&袃 '
+½©—k¯Ê\WŸ•B!CÁ3ÉUçÇV­ê'CX¶¢f*mR}6^eÈQÓºÕ:-›à±~¦‡ªaù•^ÿÀ˜dyãrØ­b® :ÊQ5›¿Æ9ù÷!øþY`ž¹Ú’ ·Šš„RmR# Ôq™à´ÿ%@
+ɶRŽýß…N6m‹–uÇêÅ7
+œšÉ+‰7€áر‘!endstream
endobj
-2175 0 obj <<
+2187 0 obj <<
/Type /Page
-/Contents 2176 0 R
-/Resources 2174 0 R
+/Contents 2188 0 R
+/Resources 2186 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2173 0 R
+/Parent 2163 0 R
>> endobj
-2177 0 obj <<
-/D [2175 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-706 0 obj <<
-/D [2175 0 R /XYZ 85.0394 629.6971 null]
->> endobj
-2181 0 obj <<
-/D [2175 0 R /XYZ 85.0394 602.1058 null]
+2189 0 obj <<
+/D [2187 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2174 0 obj <<
-/Font << /F38 1082 0 R /F11 1509 0 R /F21 994 0 R /F22 997 0 R /F68 2180 0 R /F40 1218 0 R >>
+2186 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2184 0 obj <<
+2192 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-2183 0 obj <<
+2191 0 obj <<
/Type /Page
-/Contents 2184 0 R
-/Resources 2182 0 R
+/Contents 2192 0 R
+/Resources 2190 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2173 0 R
+/Parent 2163 0 R
>> endobj
-2185 0 obj <<
-/D [2183 0 R /XYZ 56.6929 794.5015 null]
+2193 0 obj <<
+/D [2191 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2182 0 obj <<
+2190 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-2188 0 obj <<
-/Length 1326
+2196 0 obj <<
+/Length 1324
/Filter /FlateDecode
>>
stream
-xÚ•WKsÛ6¾ëWp|’g">ëSâ$­3™LZ»½$9À$qL Æq;ùïÅbŠ²·†‹åâÛ÷‚`µ?å ¡¢ˆ£¬ˆIBY•û¶öݯ æeâD$Â.fÞ®‘“$çY´š‚¼º^œ½å,┤)O¢ëͨ+ÍRÂYÌ£ëõ§åÅN¶Fu§+žÐevúåún‹I–g ¶Q«Âj`6¼ºüð¥ |\©rè*s« ÝôÕZuÒT–ñXLDœr—¦$ÎYêð2ÂNWŒRº|Y–ªïGÓéï«Þ(¤Hyê‘'Ö¶ ‘âöS–/aÉdù™&ôåÅûÞ>¾”NTùÅzË€µ—¦Ü!YPÌNdÞë‰R6HôÊ¿Z–ÍMUÞ6rïUmtç‰Á S†^»à c¤HÌUÕŒñ<Á
-PÁ¸•Y×únÕhSmîg"–ØÀÇYæ…_ÌÀÅ$OÒ#°¯ƒêf±›Rþ|¨•nfÐ2Jxžÿ7
- ^¥×W󀌨±çØ7âÍÛ˜§Dð$þŸ7µ,owºV3H±äìyyp±Š¡33Û‹G•a:ÙôÛÆU‰„Ä,=¨r¥LI/¼^Á HDì¤þì«fk%SÛ”¶SrVxÚÕ<Fãs'¿)¤>SÊ7PR¶,mÙòЊÀÓßð-]Þíün×9NG¨ÃËaÇ
-;M÷•q%‚7‹Ç›}sEg{“¥1 ùaΛF890 ­ìL’å¹PµOb‹áþ¦ƒŒ¾ÕÚ•žÏ¦óˆµj*Y§ lªJòžÐ×ú
-·ÕÛ¹^·ÜʪéÍÃÒ™†d&Û¿©0ÎA¸
-XÞ õ]îÛZÛ´ÓwH¸–]Ô­êj¶Ê¶ $d÷_B3G"ÍñL<;³ £pF$  à ¦ÀÓâ =¶FòäFo‡¾Q¦?Ažu@ÝUuÔM­ËÛ¹6 *ÿx{Á
-–ã¢o%„5{5½Þ{V§\8×Ù^ß®‚³ȪJ[©÷{Ý@tœ—}
-àåÈLÏý‰plzñcTÂ)ŸY¥ö!†¶èWâ«Úz̦ÙU}( ³ <5Ø ¼SÒG¦§«½a£º‡éàÇéV„l¸Çwâ~‡0 æ?f£­[ü<d6¼>²™Y£~ž~/M­ ¦ÿÄ$6ûEó €':|†LÇâ~Ò¦
-퇋rêÅÕâ÷ÃÅ.hƒyÎ׺£ï;j¯V¢`Á(7L¸°.géô¶F
-’­>òá÷æ»QÍZùsòjh[Ýùƒî¯SÆØR¹Jtãƒ@ŒwÎÇ‘ø¿[Âqendstream
+xÚ•WÝoÛ6÷_!äÉj†¤¨¯å©MÛ­E1lK¶—¶ŒLÛBeQ•¨¤ÙÐÿ}<)ˉš-0 OÇß}EQûcQž"Ê
+AÊ’¨<,h´³ï~^0/#’˜$"Žíbæí:‰s’ä<‹ÖSW׋ó·œEœ’4åIt½u¥YJ8<ºÞ|\^îekT·Zó„.³Õçë÷¸M,Ïl£V…ÕÀ,.lxõî××(]àãJ•CW™{\]ꦯ6ª“¦²ÔˆÇ‰EÊ=^š‘³Ôáe„­ÖŒRº|Y–ªïGÓéªÞ(¤Hyê‘bN¬;(lã·¯X¾` „%“å'šÐ——zûdøR:Qå› .ÖAšrd}D1{iy¯$JÙ Ñ+ÿjhQX6d4Uù¥‘¯j«;O f˜Ú0ô
+Ü#E’`®ªfŒç1V€ÆŒ[Y‘u­ïÖ6Õö~&b‰ ¼È2/übN<IOÀ¾ª›ÅJlJùó¡Öº™AË(áyRüÜ(€x”^_Í2C=ǾoÞÆ<%1OÄÿ„¼©eùe¯k5ƒ$¬ gÏ˃«ˆµ€ÎÌl/žT†édÓom?V'D°ô¨Êu”2%A¼ðz ƒ"‰…“ú³¯š•LmSÚNAÊYáiWó@Ͻ¼UH}¢”7n ¤lYÚ8²å±§oñ-]Þíýn×9NG¨ÃËaÇ
+ 'à£NVë”vš*ãJoŽovôÍ=íM–
+òÃœ6pr`@[Ù™*$Ër¡jŸÄÃ}«ƒŒ¾ÕÚ•žÏ¦óˆj*YŸ¦ lªJòžÐ×ú
+·ÕÛ¹^·ÜɪéÍÃÒ™†d&Û¿¨0ÎA¸
+XÞ õMÚZÚ´×wH¸–]Ô­êj¶Ê¶ $d÷'_B3G"ÍñL<?· £pF$  à ¦ÀÓâ =¶AòìFQ¦?Cžu@ÝUuÔM­Ë/smTþñö’,ÇEßJ7jöjz}ð¬N¹pn&²/¼¾}g/Uÿ”¶Rºè8/û
+àåÈL/ü‰pjzñ}TÂcR0*žY¥ö!†¶è×â«Úz̦ÙW}( ³<5Ø ¼SÒG¦§«½áp£º‡éà§éV„l¸Ç7â~Ç0 æßg£­[ü<d6¼>±™Y£~Àž~/M­ ¦ÿÀ$6ûEó €':~†LÇâ~Ò¦
+ÿDHçC6÷§n?åßâÍõx×
+7(øh²÷±™Û³/¿.>~¦ÑÆ
+½_PyÝÙ%¬(xtX/vÈ©W‹ß»  :<Îs~¼Ö|ßQ{µŠ ŒrÄ'«µ°§Ñô¶F
+’O¼7ߌj6Ê’WCÛêΟr­cKåÊЊ¢0^8‡á_»ÁËendstream
endobj
-2187 0 obj <<
+2195 0 obj <<
/Type /Page
-/Contents 2188 0 R
-/Resources 2186 0 R
+/Contents 2196 0 R
+/Resources 2194 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2173 0 R
+/Parent 2163 0 R
>> endobj
-2189 0 obj <<
-/D [2187 0 R /XYZ 85.0394 794.5015 null]
+2197 0 obj <<
+/D [2195 0 R /XYZ 85.0394 794.5015 null]
>> endobj
710 0 obj <<
-/D [2187 0 R /XYZ 85.0394 769.5949 null]
+/D [2195 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2190 0 obj <<
-/D [2187 0 R /XYZ 85.0394 571.259 null]
+2198 0 obj <<
+/D [2195 0 R /XYZ 85.0394 571.259 null]
>> endobj
714 0 obj <<
-/D [2187 0 R /XYZ 85.0394 571.259 null]
+/D [2195 0 R /XYZ 85.0394 571.259 null]
>> endobj
-2191 0 obj <<
-/D [2187 0 R /XYZ 85.0394 538.9404 null]
+2199 0 obj <<
+/D [2195 0 R /XYZ 85.0394 538.9404 null]
>> endobj
-2186 0 obj <<
+2194 0 obj <<
/Font << /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2194 0 obj <<
-/Length 3316
+2202 0 obj <<
+/Length 3313
/Filter /FlateDecode
>>
stream
@@ -10446,314 +10556,328 @@ cLâ».£*U&XL Æ7dà ší#Q¬# *Jïçö+{TmC?–MA`ø Þ q–‰ÑÖN¥RÀ€ý’ê&: ²q³-
HËl>9w%W T-5T~©üÎî£
¯˜S ¾GzèÊ~àEåCÉœGS›€WôôlÚO(aϯ*À kz„BÄF$øÜ‚šš‹†Ó” Ó©¡þ=ÛG/:ÿ¹ÿ÷<sêN x;(×¹Ó¬Ûmùd
B¼Qì—b^¯3ئ‚§Ž
-çæÎaa›WqrLD5éë#Ú—òDƒ|WxtJZfh;EXÔBêä“žî‚mÙÇÖF“LØË|“cÊž/¦ÞÔ`p Æê¡„õ !lGÀÙ$6o*>ÀiA¤l/Ô´9¶u•Ÿ–Ûaìîf¶Œ#ð`w®öŠ—ˬÐÇ?ÌXø‹ŒÀÕ3ûï?Î8OhKù×ÚÁk²Ýfþ[?õãÍGy®o¯¿ à=öïóx(ÍÎûo£xBRT½*)"OÐMûLöÏNž+âÿ‡¸F[endstream
+çæÎaa›WqrLD5éë#Ú—òDƒ|WxtJZfh;EXÔBêä“žî‚mÙÇÖF“LØË|“cÊž/¦ÞÔ`p Æê¡„õ !lGÀÙ$6o*>ÀiA¤l/Ô´9¶u•Ÿ–Ûaìîf¶Œ#ð`w®öŠ—ˬÐÇ?ÌXø‹ŒÀÕ3ûï?Î8OhKù×ÚÁk²Ýfþ[?õ“sq{ým
endobj
-2193 0 obj <<
+2201 0 obj <<
/Type /Page
-/Contents 2194 0 R
-/Resources 2192 0 R
+/Contents 2202 0 R
+/Resources 2200 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2173 0 R
+/Parent 2210 0 R
>> endobj
-2195 0 obj <<
-/D [2193 0 R /XYZ 56.6929 794.5015 null]
+2203 0 obj <<
+/D [2201 0 R /XYZ 56.6929 794.5015 null]
>> endobj
718 0 obj <<
-/D [2193 0 R /XYZ 56.6929 730.0613 null]
+/D [2201 0 R /XYZ 56.6929 730.0613 null]
>> endobj
-2199 0 obj <<
-/D [2193 0 R /XYZ 56.6929 694.6148 null]
+2207 0 obj <<
+/D [2201 0 R /XYZ 56.6929 694.6148 null]
>> endobj
722 0 obj <<
-/D [2193 0 R /XYZ 56.6929 556.3845 null]
+/D [2201 0 R /XYZ 56.6929 556.3845 null]
>> endobj
-2200 0 obj <<
-/D [2193 0 R /XYZ 56.6929 529.3116 null]
+2208 0 obj <<
+/D [2201 0 R /XYZ 56.6929 529.3116 null]
>> endobj
726 0 obj <<
-/D [2193 0 R /XYZ 56.6929 413.847 null]
+/D [2201 0 R /XYZ 56.6929 413.847 null]
>> endobj
-2201 0 obj <<
-/D [2193 0 R /XYZ 56.6929 385.8516 null]
+2209 0 obj <<
+/D [2201 0 R /XYZ 56.6929 385.8516 null]
>> endobj
730 0 obj <<
-/D [2193 0 R /XYZ 56.6929 226.4875 null]
+/D [2201 0 R /XYZ 56.6929 226.4875 null]
>> endobj
1810 0 obj <<
-/D [2193 0 R /XYZ 56.6929 193.9525 null]
+/D [2201 0 R /XYZ 56.6929 193.9525 null]
>> endobj
-2192 0 obj <<
-/Font << /F38 1082 0 R /F70 2198 0 R /F22 997 0 R /F21 994 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R /F49 1308 0 R /F61 1416 0 R /F62 1419 0 R >>
+2200 0 obj <<
+/Font << /F38 1082 0 R /F70 2206 0 R /F22 997 0 R /F21 994 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R /F49 1308 0 R /F61 1416 0 R /F62 1419 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2204 0 obj <<
-/Length 573
+2213 0 obj <<
+/Length 570
/Filter /FlateDecode
>>
stream
-xÚ¥TÁŽ›0½óA*®1±Ù„¶¬Ô4MØJ«íxT‚i ›¦__Ã8 ÚÒSE̳ßÌø=ë±9C˜ŠÀžˆ
-©O{÷Öj/;M¡Ó­l ÌvJ5f¹UÝ“9?¤¬a%-Kòs•î‹Lã³w¬ó´•9lÌ;?{FÚ¦”1°9nrµOaU—¬Lf.K¹Õ…Lï]Úø^g·Öì‚c~/À¡NJEßBÃFÖéJiô[URß,Å¡“슘§ôìBœwX·“°ÞªÚ+å«,o¹eªju¿¢Ú|(ÚÎ
+xÚ¥TÁŽ›0½óA*®1±Ù„¶¬Ô4MØJ«íxT‚i ›¦__Ã8 ÚÒS…óÆof<ÏcˆõClΦ"°'"@ fg{ Û[½öÑ"†ã]HÞu—Xï?Pn $B?´“—A.Ž0çÄNò'göiºL¢•ëù ;äz,ÄÎ]¼˜ƒGÀgÍVqòhöe±ŽçÑjêN'‰5r½€c®ã©É0\L?Ç3à?,ç@Þd{Nî­(¹62l–`ÚuñÓzzÆv®{¾·0¢‚3û¤FDßÞ[£ˆ”^<¥µ¶¾^VûÐ1ñåˆq2¢žï©Ç
+©O{õÖj/»žB§)ZÙ€™í”jŒ»UÝ—9?¤¬Á“–%ù¹J÷E¦ñÙ;ÖyÚÊæž=#mS°Š
+ÒØ7¹Ú§àÕ)+™ËRnu"S{—¶¾×É­{öA‚1¿oÀ$¡vJE_BÃFÖéRiô[URŸ,Å¡“슘§ôìBœwX—“àoUí•òU–·X°2Uµº^Qm >m'
endobj
-2203 0 obj <<
+2212 0 obj <<
/Type /Page
-/Contents 2204 0 R
-/Resources 2202 0 R
+/Contents 2213 0 R
+/Resources 2211 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2173 0 R
+/Parent 2210 0 R
>> endobj
-2205 0 obj <<
-/D [2203 0 R /XYZ 85.0394 794.5015 null]
+2214 0 obj <<
+/D [2212 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2202 0 obj <<
+2211 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2208 0 obj <<
+2217 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-2207 0 obj <<
+2216 0 obj <<
/Type /Page
-/Contents 2208 0 R
-/Resources 2206 0 R
+/Contents 2217 0 R
+/Resources 2215 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2210 0 R
>> endobj
-2209 0 obj <<
-/D [2207 0 R /XYZ 56.6929 794.5015 null]
+2218 0 obj <<
+/D [2216 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2206 0 obj <<
+2215 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-2213 0 obj <<
-/Length 2050
+2221 0 obj <<
+/Length 2047
/Filter /FlateDecode
>>
stream
-xÚ¥Û’ë4ò=_‘7<UÄ#Ù–/@Á.s¸ ì™bk—Ãc{ï±­`Ë Ã×o·ºå8‰Y¶Š™‡´ú®Vw«-¹ð/שòE˜Eë$‹|%¤ZíJ¬w@ûj%™'R¡¯¢0„Åu£ÂÔWi¬7s%Ÿ?¯î¿ ä:~jýü2ÙŠ“ÔÏÂ([?—?{ûü`ªþn(á¥w¿<Cb‘Ÿ¤‰D1&”Ÿd"µÏwRJ¯×㶩†½Ö¦îv“˜Œü0Š‹C?‰ÙI}y·‘BïA·­îÈàÛ^ƒšv8+~¦”S‚ó‰L‚IÅ£ùàN)o %6œtÿ¼ù˜V{}" ÈÙÚ#ý¼"Ø}E+=:é}~¡öÔën÷{¬3?‹ƒ˜ƒðd‘Œ( {ÐFÒÛVƒ!hÐÍhjÜ$®Œž°G –]Ô0K/ošüÌ™w%…îØ˵†±|©ÛäïÙ‹C'S¯:VÙ#cÛ*F¢°äö·†›™b›*ct$‰7ð7ö½ÛMHô«A%HÙV/š´îÁw4g‚Âr72 ;¨uÉl9áMŒÖ/„ß×as6>ˆ«;°ÛrlbàðˆD§ À¶ºÜ ´‡ª¤óÅÐÍÒÁîb!%‚pº´°îÛpÀ’\š§Û\ïoŒÚ³fÞ;æ¼ÿE ?ˆC—óËø®è«œ¨o Cw» =™zªú:oþ~l·PãË©œBe¡µ÷oÝ¡tœB°4À•Æ#ˆ3/Ÿ”ÿŒ˜ñW<©÷.âo^ ÇrÝ,P憕Ê ² +ïïDh4óÚL
-ÐNuÓÔÚú™nëÁœqpÖËÅ
-“!Ç ”õÀäô'Q¤‘Xw;/£áÄGFÖ°¯[ÿÊ€&R¡{â.®ì†ØM,ËÔ?–Ýš,£½bdu!.ô 9%°ÔÃR 9±=¨l^P6ù”½¥ùœÆb–¢jžÆ°àž»ÚÍ Re]p†Š)_2:œÌûëª>g…Û
-ƨñPº\Sïñ…è”*@f—Ž“¸”gûZ¬œXì M~¬ŽŽ¯è·Ñ'‡o;’aa5 ƒZ°2cló‡$ò>œ
-˜U,Ûç ¹1U{0‹õÆ‘"Cpmøš-ôá•ÛîËU Ã0û“†˜rPáÓtK¥Îy
-³ÉæPõ®Å¸0—·Í_Š'ÝØ2ž .LH·D—mš†~㉒—%%QÆQB„wB‰à] E(7òZcE>N¸ t·ÎË+N®9é¦
-ìe=z¤˜ÁÒ¶³p9ŽBqÀô„ÐÅY'ãíè‚dž44Xú½*¶v®ûÚ¼‚ÌÞvÜÂÝË%Op0ÔÝæeìJ«5Dø!fÎ-pÿ
-ß[f°S)ÜäOÀeYcD¿¡ð)N€¿ÈȘfÐc\WÒ!²ýs"×<áxÌÍ‹÷ùŽ9ík8×…íÌŽV*—ļêÝ.^èZZÙH!ÀŸ'æ]GW¸œG lŠãÐj!•óÝNh
-¾ÃYA30ÿ¥Wîˆm)álQ]~ÑØ2’Aæ]]Vî"ƒü¢Á³nÑs'=,{W¼*æâU“çvœOðÛä…!~Mþ 4ùô-ËÏRÎZ¨ò•Šp}øYV_<O¯0a”AÒµ ?Q)½ÔõýÚAßž_m&ÍLÂ>ÚDóÖy£­·ÐŒþhæöîÚhç~&ÓìÒŸ«—£‰éƇ‹½ßèB>]èónŽLf#øc=Ôfúò¡SÁ¢Á£Ý„iêËDF—¹}ª¶<÷P`r˜…SQÊW‰ü£3‘\_* ~*‚??”Ib3¹=•[Ív¦0æðÑýýétòùTî]YÞsöÝßäMB^A/}¼:¨‰ëÖ¯‹xÜjû_G…oâb@§jϹ [~Úñ¯v‰¡òñYrÁc1=äñ×ÕÏ¿ˆu L߬„f©ZŸ`!|™eÁº]ß7 Ó¬žV?œ7ï¬ÁMêCºç×Í‹B0Ä„p$ìnKâ3Dˆá¹É€„ŸlÞîF‰/~3_øl25gXüdß:¡£×ø£ÇU ¦§×ÛHü6±°@endstream
+xÚ¥Û’ë¶íÝ_á·hgb­(‰º¤¦Íž\6™¤iv§6'´$Ûê‘DG;›¯/@€´l+Mgºû`w‚
+ŠØT>/(“|”½¡ù’ÆÁ,Eå<aÁ=!±µ›C¤Êºà \¾ät8¹÷+× T½b…Û
+ƨéXÚ\Ž2ïyGtJ ³K ÇÉ \Ò3}-‘V,ñ†F*†“å«úmôÙ¢ÀÛŽdXXΠ¬Ì[5à0ÆÞÇ®€YŲ}Î`СƱjãb½qG¤È\|ÍúøÆmwwÓÂ0̾S˜ÂÐS*|q·TfÀí2›í4ý*ú±¡ðÂű˜«ãXXÕ'§Žâ{a½ç†.ÝnpBãEh©–YÞ0Üf“ͱêm‹±a®o›ÿ+žtc‹d6¸„"%Ý]6iúME•%B§q%qJ„÷ Â÷¡"±°·+Bð pÂ…‘½ ´*o8¹æ„Db›&‡Ëý &~ˆÆ Ká>P´ƒØ–+.¨Ó!’¬¢«Î„aóA|I3$_¹O ®#6{§Œ¬ùÀâ.çfæxÎ
+!Ä,9A)-(z¡uNuÁRjOÁ4³û‚#®áüìù»wK¦±=H¼w_=}í‘\1Œ¢_àhk8Ì›`t yyühÍf‘àüÄ…»©Ìâ¤êFmør°k»RÅafƒT×]ÑLe5,èÅ]-\®T;qèA´ˆì»ïU;`æÅPõ¾«q¾-(K½¬‡BO3Xšr.§ÂR(î
+  Ƹ®¤Cdû—4D®yÂñ˜«ŠjÏŽœ5œëÂvfG+¤Mb^õö‹
+›óˆ¢MrZM#¤´¾› MÂw8+hæ¿öʱ¥-%œ)ªë/SF"̽›ËÊ>@ä_4cÖMÃ@#ºÂqÒò·Å+.^é<7ã|ŠØ£*F"á×äŸA“Oß²üœ!Ĭ…*_Ê$gЇ?"ËêóW÷
+Å9ôÐ8[‹(ôS™ÑK Q?¬-ôÍåÕÆ lfæÑ&ž·Î;½h½…&0êOfnïoývîç"˯ý¹y9rLw>\íýNúð§…>/àæÈEÎ1²?ÕC=º/:,<ÚM”e¾HE|ÛçjËsÕ&Ǹp*Rú2¿u&"†ëKæ
endobj
-2212 0 obj <<
+2220 0 obj <<
/Type /Page
-/Contents 2213 0 R
-/Resources 2211 0 R
+/Contents 2221 0 R
+/Resources 2219 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2210 0 R
-/Annots [ 2220 0 R 2221 0 R ]
+/Annots [ 2228 0 R 2229 0 R ]
>> endobj
-2220 0 obj <<
+2228 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
-2221 0 obj <<
+2229 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
-2214 0 obj <<
-/D [2212 0 R /XYZ 85.0394 794.5015 null]
+2222 0 obj <<
+/D [2220 0 R /XYZ 85.0394 794.5015 null]
>> endobj
734 0 obj <<
-/D [2212 0 R /XYZ 85.0394 769.5949 null]
+/D [2220 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2215 0 obj <<
-/D [2212 0 R /XYZ 85.0394 576.7004 null]
+2223 0 obj <<
+/D [2220 0 R /XYZ 85.0394 576.7004 null]
>> endobj
738 0 obj <<
-/D [2212 0 R /XYZ 85.0394 576.7004 null]
+/D [2220 0 R /XYZ 85.0394 576.7004 null]
>> endobj
-2216 0 obj <<
-/D [2212 0 R /XYZ 85.0394 548.3785 null]
+2224 0 obj <<
+/D [2220 0 R /XYZ 85.0394 548.3785 null]
>> endobj
742 0 obj <<
-/D [2212 0 R /XYZ 85.0394 548.3785 null]
+/D [2220 0 R /XYZ 85.0394 548.3785 null]
>> endobj
-2217 0 obj <<
-/D [2212 0 R /XYZ 85.0394 518.5228 null]
+2225 0 obj <<
+/D [2220 0 R /XYZ 85.0394 518.5228 null]
>> endobj
746 0 obj <<
-/D [2212 0 R /XYZ 85.0394 460.6968 null]
+/D [2220 0 R /XYZ 85.0394 460.6968 null]
>> endobj
-2218 0 obj <<
-/D [2212 0 R /XYZ 85.0394 425.0333 null]
+2226 0 obj <<
+/D [2220 0 R /XYZ 85.0394 425.0333 null]
>> endobj
750 0 obj <<
-/D [2212 0 R /XYZ 85.0394 260.2468 null]
+/D [2220 0 R /XYZ 85.0394 260.2468 null]
>> endobj
-2219 0 obj <<
-/D [2212 0 R /XYZ 85.0394 224.698 null]
+2227 0 obj <<
+/D [2220 0 R /XYZ 85.0394 224.698 null]
>> endobj
-2211 0 obj <<
+2219 0 obj <<
/Font << /F21 994 0 R /F22 997 0 R /F11 1509 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2224 0 obj <<
+2232 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-2223 0 obj <<
+2231 0 obj <<
/Type /Page
-/Contents 2224 0 R
-/Resources 2222 0 R
+/Contents 2232 0 R
+/Resources 2230 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2210 0 R
>> endobj
-2225 0 obj <<
-/D [2223 0 R /XYZ 56.6929 794.5015 null]
+2233 0 obj <<
+/D [2231 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2222 0 obj <<
+2230 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-2228 0 obj <<
-/Length 1309
+2236 0 obj <<
+/Length 1988
/Filter /FlateDecode
>>
stream
-xÚµWKoã6¾ûWèÅV ¢EQ Ù$Åî¢i»6¶‡$F’¡²èÕ#Núë;IY¶d;{(|03ü†¿RÄÁð#NÈf‘瑇8&܉×ì¬`î· 16gˆ{ŒAgdÖå,D<¤ãö¹ZL.n)q(F¾O¹³XvX~
-ƒ„ˆ†‘æãÀFm©í‰$)g$œ¦UeW ›2«ßt/«ªÆÀ%i—ÙSš˜CÕÇo7.-¸Ü Þùßb
+xÚ•XÙÛ6÷_a /6Pkyèl‹›f·mŠnòuE’Z¢×jdÑÑagó×3J–ÏmáSsp†3¿|ÌàÇÇqà1™øã(ñ½€ñ`œ®Glü¼ŸGÜÉøô_Jø8Ã2ö‚XDãÙp’WóÑͽàcÁ¼0Áx¾ìm…QìÅq2žgï'·›.³üËt&6¹~œ¿!5ߋ∣Ë0²èB«Z“ƒitÝ+qß“~(œR(½˜…1™ñøtÆcçÔípi*¼úõá5þœrÎ'ºªsS%ñ/Þ›ã^9ɼH&²3×üµl*“µiƒ³ªÃD¡¦€¸°˜¯rpH†b’™´]벡¯º]¯U•ÕŽ›®TùÔ}Ôy™j6+7(TíT7ՔǓÞK³¤.H0Kü—nõ–R͘šŠÔꔕO¸ô¿ø¿Vÿt<°„E¥Êtå]Š_à‰Ð}ü„‹ßk³+ £²;0Äk‡´64ÞRþjúÂeâ?-G ýÕfÙì¹L”T•4PÅN=;ý…c.M[fŽÝgœ<aì ƱdгPdt7ï‹F†ÌKb¨_ÂJÃDPeûÓ¸ý¶¯²^c6T±Uæcr:3:°jšÍw77»ÝÎËëÔ3ÕÓMæâZß;H¨#„ò¡s'eï¤N:ÅélèÐgÒy‘©¤Y˜ÀÜAä1?Ž:”ñ.Ó]ªDMžM‹ƒp²Ë‹‚H˜!«,ËúÊñòŠ}­¨PM-LÛO«tE£|¿J,#­%¦Îlj²Ž¥:[Tlz–šõ&/´£ö <S1}ãù=O©R‹Dúkà.¤Êu)³Ñ8µg?ëçºÑëúß–”t%õ¨Ó¶Ê›gšä>ÿB=tˆ®WKâÉYtB³¡!Àä5a,s¡?Žr惒]·ÚKš=€g0öÃC³·ØÕb og)öINXÓªz&t¥ÓO,ýS'É·ïîÞýüî·»¿‰açÉT£šçvê¦-2’nªüé ðjéÊÍ¥êZW®ÃçRåK{ç@BÛf €-ÕŽÆ-ƒš.Lmцd·[ýôçÝ šP0 ’8ôÀg“÷Le4™“À7>qøñbîyäñ
+÷íׯvÅH}Gaý
+º¦ "êš(—Üt@F [x@îì<ˆ¸çÇ’†&ˆ„¸r..‚\À#bß¿ò¡Ôe÷R/‚üªÕ=ÈOÌžùÙ[·3ltš«¢p=>­Ô²éúÃçVWÀÃÜø¡\ €Û’‡à¶šµ®kõ¤½ô
+8»—g×¾†à´gEçàض›Uçνû·‹Ùì‚~]
++šI  qr‡¸ID;à-©Ã_o_NèÂtÜUYïÈqD$5•µÃÄyðŸ.…ìú§‘?¹†YÁ÷˜fx‚Y YÌÂÿ+¢bSEǼØê¼RÄ|4î–Q#Ž…k‚(—¦îp ŸÇðßãn¸ q̆8od%ÁÇsgÁ\§†§GBß ´«Ê{­š¶º| äpŠç‚Éëå0”º\½Ô‹åpÕê¾NÌž-‡³váÂ÷¹5Ý.a¼R[{ŽÃ Ÿ.‰·»/Áëÿ‹|7Ž´r
+Ø\s]wTåøýÕ?jºÖ jsHq'Ñ[=$Õ¦ *ÚUm³2–?;W 9Diš Ü—¹„«„þ²AïÊ”6e`gº„J™™å sûŒ
+`si„ï=xA®4 ÔººZŽn¡ ™^ª¶h¾ŸÎ|aïÒày$€ã£ïnú{L¹™>êgž-u“®¨ÌNß ¸”žÏ ™Ñ<¶:@®vE›QŽ
+7WÇâ|;“Ì>¬ðÎ)\´6ˆ{ÈÁ3&=ZºãWÀî¾4ºÌ:H=¶›©šÓOå§Cî¥÷4 ÿʪ‹endstream
endobj
-2227 0 obj <<
+2235 0 obj <<
/Type /Page
-/Contents 2228 0 R
-/Resources 2226 0 R
+/Contents 2236 0 R
+/Resources 2234 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2210 0 R
-/Annots [ 2234 0 R ]
+/Annots [ 2242 0 R ]
>> endobj
-2234 0 obj <<
+2242 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [359.9931 399.4934 535.3356 411.5531]
+/Rect [359.9931 427.4636 535.3356 439.5232]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.isc.org/downloads/)>>
>> endobj
-2229 0 obj <<
-/D [2227 0 R /XYZ 85.0394 794.5015 null]
+2237 0 obj <<
+/D [2235 0 R /XYZ 85.0394 794.5015 null]
>> endobj
754 0 obj <<
-/D [2227 0 R /XYZ 85.0394 769.5949 null]
+/D [2235 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2230 0 obj <<
-/D [2227 0 R /XYZ 85.0394 582.1334 null]
+2238 0 obj <<
+/D [2235 0 R /XYZ 85.0394 582.7558 null]
>> endobj
758 0 obj <<
-/D [2227 0 R /XYZ 85.0394 582.1334 null]
+/D [2235 0 R /XYZ 85.0394 582.7558 null]
>> endobj
-2231 0 obj <<
-/D [2227 0 R /XYZ 85.0394 547.1398 null]
+2239 0 obj <<
+/D [2235 0 R /XYZ 85.0394 548.2193 null]
>> endobj
762 0 obj <<
-/D [2227 0 R /XYZ 85.0394 547.1398 null]
+/D [2235 0 R /XYZ 85.0394 548.2193 null]
>> endobj
-2232 0 obj <<
-/D [2227 0 R /XYZ 85.0394 519.7244 null]
+2240 0 obj <<
+/D [2235 0 R /XYZ 85.0394 521.261 null]
>> endobj
766 0 obj <<
-/D [2227 0 R /XYZ 85.0394 446.238 null]
+/D [2235 0 R /XYZ 85.0394 473.4398 null]
>> endobj
-2233 0 obj <<
-/D [2227 0 R /XYZ 85.0394 421.3738 null]
+2241 0 obj <<
+/D [2235 0 R /XYZ 85.0394 449.0328 null]
>> endobj
770 0 obj <<
-/D [2227 0 R /XYZ 85.0394 360.5567 null]
+/D [2235 0 R /XYZ 85.0394 389.2565 null]
>> endobj
-2235 0 obj <<
-/D [2227 0 R /XYZ 85.0394 332.7277 null]
+2243 0 obj <<
+/D [2235 0 R /XYZ 85.0394 361.8846 null]
>> endobj
774 0 obj <<
-/D [2227 0 R /XYZ 85.0394 231.9611 null]
->> endobj
-2236 0 obj <<
-/D [2227 0 R /XYZ 85.0394 207.097 null]
->> endobj
-778 0 obj <<
-/D [2227 0 R /XYZ 85.0394 172.8402 null]
->> endobj
-2237 0 obj <<
-/D [2227 0 R /XYZ 85.0394 142.3611 null]
->> endobj
-782 0 obj <<
-/D [2227 0 R /XYZ 85.0394 111.0692 null]
+/D [2235 0 R /XYZ 85.0394 173.2909 null]
>> endobj
-2238 0 obj <<
-/D [2227 0 R /XYZ 85.0394 80.5902 null]
+2244 0 obj <<
+/D [2235 0 R /XYZ 85.0394 148.8838 null]
>> endobj
-2226 0 obj <<
+2234 0 obj <<
/Font << /F21 994 0 R /F22 997 0 R /F11 1509 0 R /F42 1288 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2241 0 obj <<
-/Length 852
+2247 0 obj <<
+/Length 3487
/Filter /FlateDecode
>>
stream
-xÚ¥Ußo›0~ç¯à‘HÅñO0Ó4)]é”®j»&ª6u} ‰Ó Rœ(ë?BBªMšxÀ>ßßw¾C.TrY
-‹P.aª¶Œ`…[ÃýxxkŠ`U…!TUF¦ÌæøÙmW_w%ï"ü~HSrÚ/Ô0³°.ËMña<®ë¤Å¢ìú„… ‚ê»S®rû4^Ê:Ïd²,Æ…\•u²¾îǶ&f³‘YºxRÃœNBꆃP}âhu^~ß­¡³WÈa6ñ“í½^ó1æ
-Ô51T€…ê÷»ëPE­×̾ŠÙú*Úƒ Bʹ-xoØ(}é qìù߃h7Ÿiçx7cð‘ñl1iÜ»‰»²z·?´¥› ÍxNŒ8¨C;ÿ†…øñaþendstream
+xÚ½Zmoã6þž_a NÁÕZQõÒÈîfi÷²{›´¸¢ÝŠ,ۺȒהâuýÍpH™z±T ‡C€˜"‡3CÎ3äÌHláÀ[ðÀb7^„±os‡ñEº»rûÇS4KM´4©^?^½zçE‹ØŽ7X<® ^‘íD[<®~µnlf_ÇútûþöæáözérǺÿðxû@Íw>QãõÝý[jý|ûéáîÃ==€
+;
+Úͱ½ïÊK/s¬ßîÜWuö=þTù³¢ øƦ æÔi‡#ßjÐIOB’ëcSw••‚·ÈŠõ²nJЉŒ”wAgF |hÇžJåðøàýBƒ¾)ëì ž¶É‹’‘¢Òî‘éÅ®VÚ+´“Õ‡$}îùXk#N§.ù6òYãb×YZkvO§–‡0=UØ—®Ù€CÀ<o:š0©$N™oà-dxy¼¤c8,ì ‹Üi¡šh(´rí²¡7¥rÓmY`û1÷•; ÃfeòTdKÜÌîü˜EÊèÓ¨w¢!¼K
+m=k tÔ³:BoRŠá|Ç·Þætx¥u…A)vQVMOÂØ%}ïQk“vË… ’õ¨£ùŸó'Íqf™n€E=t×¹«TØc!Šc»~àÿÑ`cQyÀ×c‘“o‡<ˆ'¸0ÂÐÕ5ŒDߨr«‚ØHÒ4ÛË L>©í‡+W]ÛJÔFºírÐ0
+Ü^¾½Õ h#:çæ°:¶ß†{Y§ÏË–}Oÿ ‚ÝòÙ°ÓßUÌëðÿ×®‚ ½6ÌÔ> ùz¡îÍýŸ³gŒY©ü·:bÞPýÃe¨lO{ØÍËiµ@ÒÉý™"½I5q$hªÙ#aJèùHè ?L¡÷äó,f2,JrŠ#YìZ°[©³¯5µZ#±ìmA,Ÿ #ˆ!¼ZÑÓÇ’C5üýøøII£Óˆ°±êQAj´|xkBb-²±È¬¨ªçfO¦Ä"š¶µN‡Ä>KsLù54têÓ»7ÔÂÀ»„EQüy4eØÆNèŒ%h3–@e,¯å•ïò¯—sÀµíûáLFkR]ÆVK5‡­I¡-¶BG±Õz#Neº¥ ¬¤²#‹¥Q¨UTÉJu³¶þOTµƒd2«B
+
+½ÁM,Y™“­Us ËÅdµ©ñ-
+ÈBÒª“AêT"ŠCÚ07M¡X&j4";œ‰×I^œË|Ð! SwÙŽ,㸆e`à/ŠÃø²e|h¸àõÓ–1¨&,£©f-3%ôl™¾Ðq˘Bª.l—â¨á,ë|uÝzÔ*_•Qyر:<kÏèú)æõv¤|ëÜv]W×bá:&ò¿Š­J6zŠƒ¾!óõÝ?îL°éì²Éðm0$æ3&3¨&L¦©fM6%ôl²¾Ðq“™Bÿ™hy@|x…‚i©œƒ‚Ì ­ú´§[1ÀúQZ4+².ß?Ü|$"
+‡ ñÓýÃÇÛ7ßÒ¸ö7äÒzHmxž&ÆNÑs¸Šgô9`•a†¾¸Uõ|¾ÈĨ©}Ç ýÏô0‰øE¸qdGŸIu-Õ&…¶ AG(òž äÝÃ8dêBäô2:õMtÕ–Ìä»Cõb=¥ay„*V²}÷ïÞýB}¼‰DVqä)#Ã!?iê]õB³¹Y‰au7ÖQÅ›1P R
+J5ýZ¬É.˜ßãÎe#Cö³hÆÆg¢ +¢Y OH<¸'qܾ†ÄG]ýZeë¤)ê‘”ŽC*::½:@`\/«Ãj´àØËéÖcïë„-;8 À#¥ËÈöx ³Û£Ž¯áDÁo¾¨ÐDzß9VYF­èóಹcÇŸ ˆMª ;jªYCN =[²/tÜ”¦Ð×7oñ£*؆H;ü’Cë¡ëì6øôDOÏxVâsÿãè„
+[¡ú²Dñ9GÓ’£il´Ñ4>toiÆ^§!ÄÁÚ<#.ŠÆReè?ž…*ºÕ ¶~áý>_½uˆ—Ïü3þ=æªÓ<æá·hÔ…ŸÜ~¤É—îØó@=¢ûY. v%ÇØ‘3"9ÊBŽ?)Îm›²ÎÅM™ÁÕ—®å`F‹``Æ=׬~˜ ‚u
+ïé$ïÒö;eõi2e æ…€=í… ¿h\~À=‹yî`d•¢›á.ü×ãendstream
endobj
-2240 0 obj <<
+2246 0 obj <<
/Type /Page
-/Contents 2241 0 R
-/Resources 2239 0 R
+/Contents 2247 0 R
+/Resources 2245 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2210 0 R
-/Annots [ 2244 0 R 2245 0 R 2247 0 R ]
+/Parent 2256 0 R
+/Annots [ 2252 0 R 2253 0 R 2255 0 R ]
>> endobj
-2244 0 obj <<
+2252 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [413.5986 730.8852 511.2325 742.9449]
+/Rect [413.5986 175.1724 511.2325 187.232]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://www.isc.org/downloads/software-support-policy/)>>
>> endobj
-2245 0 obj <<
+2253 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [55.6967 720.1754 285.8336 730.3372]
+/Rect [55.6967 164.4626 285.8336 174.6243]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://www.isc.org/downloads/software-support-policy/)>>
>> endobj
-2247 0 obj <<
+2255 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [74.1651 636.213 231.5748 646.3748]
+/Rect [74.1651 80.5002 231.5748 90.662]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.isc.org/donate/)>>
>> endobj
-2242 0 obj <<
-/D [2240 0 R /XYZ 56.6929 794.5015 null]
+2248 0 obj <<
+/D [2246 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+778 0 obj <<
+/D [2246 0 R /XYZ 56.6929 598.1755 null]
+>> endobj
+2249 0 obj <<
+/D [2246 0 R /XYZ 56.6929 570.871 null]
+>> endobj
+782 0 obj <<
+/D [2246 0 R /XYZ 56.6929 436.5045 null]
+>> endobj
+2250 0 obj <<
+/D [2246 0 R /XYZ 56.6929 409.2001 null]
>> endobj
786 0 obj <<
-/D [2240 0 R /XYZ 56.6929 769.5949 null]
+/D [2246 0 R /XYZ 56.6929 222.0515 null]
>> endobj
-2243 0 obj <<
-/D [2240 0 R /XYZ 56.6929 752.4085 null]
+2251 0 obj <<
+/D [2246 0 R /XYZ 56.6929 196.6957 null]
>> endobj
790 0 obj <<
-/D [2240 0 R /XYZ 56.6929 705.9863 null]
+/D [2246 0 R /XYZ 56.6929 150.2734 null]
>> endobj
-2246 0 obj <<
-/D [2240 0 R /XYZ 56.6929 680.4013 null]
+2254 0 obj <<
+/D [2246 0 R /XYZ 56.6929 124.6885 null]
>> endobj
-2239 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F11 1509 0 R /F42 1288 0 R >>
+2245 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F22 997 0 R /F14 1020 0 R /F11 1509 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2250 0 obj <<
-/Length 2701
+2259 0 obj <<
+/Length 2699
/Filter /FlateDecode
>>
stream
@@ -10766,127 +10890,126 @@ xÚ}YYsÛ8~÷¯Ð[èªÃS$÷Í–ÄÉØ嵜ªÌ$B&¼ÂÊæ×o_<äál¹\h ÑÇ× È]8ðç.âÐvü$XDI`‡Ž.
Šn8DF0gt]ó Áȵî… ?âaF…±õjR|2//jIˆqS/à3÷þ 57OÈUª™Fg
+d…¤IJü@í/
"p¨âă%& ¯tY‘û
-˜~­äi¢í9¤˜¥¥¶¦íY®ëÓÀ£õî0¦\¯[ìQÄgVÅ8xbÖ±}1[S6†˜b¸öÍ9üjr¼_e™¡QSZ{(³”‡=ÞìÁaÿÐ`.Qµê½*¸,ò—ì0¤4Hµ |Rx£†ßÈþ€HŽx+¤há»)eôW}4ó¹>Ôø
+˜~­äi¢í9¤˜¥¥¶¦íY®ëÓÀ£õî0¦\¯[ìQÄgVÅ8xbÖ±}1[S6†˜b¸öÍ9üjr¼_e™¡QSZ{(³”‡=ÞìÁaÿÐ`.Qµê½*¸,ò—ì0¤4Hµ |Rx£†ßÈþ€HŽx+¤há»)eôW}4ó¹>Ôø
endobj
-2249 0 obj <<
+2258 0 obj <<
/Type /Page
-/Contents 2250 0 R
-/Resources 2248 0 R
+/Contents 2259 0 R
+/Resources 2257 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2210 0 R
+/Parent 2256 0 R
>> endobj
-2251 0 obj <<
-/D [2249 0 R /XYZ 85.0394 794.5015 null]
+2260 0 obj <<
+/D [2258 0 R /XYZ 85.0394 794.5015 null]
>> endobj
794 0 obj <<
-/D [2249 0 R /XYZ 85.0394 769.5949 null]
+/D [2258 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2252 0 obj <<
-/D [2249 0 R /XYZ 85.0394 573.7247 null]
+2261 0 obj <<
+/D [2258 0 R /XYZ 85.0394 573.7247 null]
>> endobj
798 0 obj <<
-/D [2249 0 R /XYZ 85.0394 573.7247 null]
+/D [2258 0 R /XYZ 85.0394 573.7247 null]
>> endobj
-2253 0 obj <<
-/D [2249 0 R /XYZ 85.0394 543.2172 null]
+2262 0 obj <<
+/D [2258 0 R /XYZ 85.0394 543.2172 null]
>> endobj
-2248 0 obj <<
+2257 0 obj <<
/Font << /F21 994 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2256 0 obj <<
-/Length 556
+2265 0 obj <<
+/Length 554
/Filter /FlateDecode
>>
stream
xÚ¥TKs›0¾ó+8ÂL­ê
Ø©ÿ}$\’¸¹tFûÖî·ÃC\¢PPáF"@învv€ï³ClÌl šM£.2çã%‹]DHC7ÛNjÅÇ1q3yç] ‚|¨€½uò)KWKFˆˆ"o~s“,é7F9†0ÂØ›[õ6M.x•®3ŸÄÞêÖg‘÷ÝWÖ™]%FX,×F˜/¶D
-ÒCví$Ùi’é´³~Œ_ÎÝv% }í`ÄDÌÝgP0"BPwçœ!06ZJgí|9œx‡Ô³èŒ( éø(=(d”øÒqžƒjÚBW­Ñ8áå•4zlŽ¼é¡RFÑÛ^¹Ç˜nŠ¼,&EªÚmòNI€ì-µÍ—²èà–¼4ºTUêz§ªÎŠÖVÑÕxK5Á{ÚéØ(ì
+ÒCví$Ùi’é´³~Œ_ÎÝv% }í`ÄDÌÝgP0"BPwçœ!06ZJgí|9œx‡Ô³èŒ( éø(=(d”øÒqžƒjÚBW­Ñ8áå•4zlŽ¼é¡RFÑÛ^¹Ç˜nŠ¼,&EªÚmòNI€ì-µÍ—²èà–¼4ºTUêz§ªÎŠÖVÑÕxK5Á{ÚéØ(ì
endobj
-2255 0 obj <<
+2264 0 obj <<
/Type /Page
-/Contents 2256 0 R
-/Resources 2254 0 R
+/Contents 2265 0 R
+/Resources 2263 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2258 0 R
+/Parent 2256 0 R
>> endobj
-2257 0 obj <<
-/D [2255 0 R /XYZ 56.6929 794.5015 null]
+2266 0 obj <<
+/D [2264 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2254 0 obj <<
+2263 0 obj <<
/Font << /F38 1082 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2261 0 obj <<
-/Length 2489
+2269 0 obj <<
+/Length 2488
/Filter /FlateDecode
>>
stream
-xÚ­Y[së¸ ~ϯð[™˜I]}:ɹä4»Ó4qۇݩ,Ѷ&²ä¥\ö× H]¥Û‡&â@à#
-£ˆy1‹MþóòætRU^¼^®Dà-¿\þºùÖù,Š#Žë<±Ð÷C³â»ªT“–´àëOÔxP;Õ¨*SÔ½«vusLÛ¢®z–ÜgÒ…e,ä–åÆ/WÜó`ÝýsHÒ<o”ÖJS÷/ðnà¾Ür‹„%¡-CÉ™ï ß0´lâÈ°¹äñÒ±ŠãeJ4ÏE¼Ú-͹ªÚâ’ƒ4O¨ÆÒÃNˆ¶¨ZÕìÒ¬gTå4¡U«©Uï,§ i´|9ÙÁ6Õ ßšnw™Êšk
-·Š›ãœ%A@.#›Gɲ­é rŠ²hÓVQ_gi™nKÛ»CU*ÕR„umQíÙåJ&Ñrs‚tÜiÔsÝ·“Ù4ÍF‘|lß5yÆ÷Fž‘> ÍóØ*ÿªÈRÝθüÉžî
-M‚‰I y†Üb7 ^Aã¬dÃB>µQ
-{óùRÃ6ÑÒ÷—|šÑ2LÆRXá7ÕÛGJJ óGJÊP%QÚTI1ÐAáNt6Ð|¥ô'0ÎgÔãpv¥„3NrÿÖ•í‡fL˜qùÿÐÌë{,ˆxäìË ßAo@‘úË¿ö ’ž
-3Ð4ú3‚ñD&ÖjàÚ—ºyš $>‹ƒÐ…D­2“ÌWB¬°&çš´Ú㱕Ó7ŽªG´Ï:ŽhbJéÊ:3žêW¢£Ðb"Z;“NaÊê
-(Ñ
-3ÅLÈ$«ÑÔ/ÐÏÒSºÅ²ÏYÚ õ1Öš1è±€­>/à
-0¹T¯BAÔkfZ-µF\ý5øQÈE쪭rMS˜0€ ºvÎ%Æ‘¿¤ÒuWå)¬Ó¦²±Ö‡ «=´‘tH†¡—ô©¦ï—2Õº$œ@×Ôv_ëcê¸=ôá :M¾Ü}}À0reù˜H3ó]5é/ï7ÓÐy!‹ÚȨÊ©¶(Ç\X[°²ÉŠfœò±^O*z0-dÉÓ(“©g¨¸-„¯+·@¥º
-â”»-7ñ±¦>b€=ÀuGü@" Ôv[xœâXÀ-1¯³Îq„ë ‚qrmèŸ`Ø–·m 0¡ÝrÑ7¡C+¹;tùh ß\Qkxi€ù ®Ðc*œ³:œÒÆJ3x±ŒfÒTo"){©…Æ`"ìMLdF´ÂŒLms%‡/œ½CE! »UÝšKn ›lp]›b6Gýs»Ï’Vå³c×ï;¹¹ST&1@ïvÍlá>˜Nø·jÕ“jú˜¼¹L°Æ}¢Þ-Õ<™ !¸Ç»o›[›|w¹HâQ–ùïüÛ¡/¿Ûûȉ&‰ÿãwäψMJ“Yw(ë-†ÊÑÁ„µŸ [¬Þnîí‘l×sé~מÖ××///hVè‚©¼».ª•qÓ5Þ÷ öœ=ü„Å€›=^áoæ„Éî9"Ö¾Ú×>MD,ä‘»ÿ).¾múÇXKÆ}!ÀˆÅxË2/¶4ý´p­‡×Û~Åj¼Ä¼ÞúíÞqž˜cl
-ÀªG°½>×Ï÷ñ Ü2ÕïìE¹§z¯ÓÄ﹡N™K¼2€NÄSo"˜^úçÇ÷Žƒp(xÀÿÀo™=GShw ±ÈªºãÖ]MÜ;K? pq8¦ž]=D&ì”Ú^dÒç´p«cÐöüþ…¨TÛ ‚Ïl¶C„<äSC¼R"`2æø¢"!KüŠùj ¡3ž¦Fh
+xÚ­Y[së¸ ~ϯð[™˜I]}:ÉÉ99Íîtç4qۇݩ,Ѷ&²ä¥\ö× H]¥Û‡&â@à#
+£ˆy1‹MþóòætRU^¼^®Dà-o/Ýü@ë|ÅÇuȈXèû¡YñMUªIKZðå§Gj<¨jT•)êÞW»º9¦mQW=Kî3é‡Â² rËò–ñË÷<X÷ý9$iž7Jk¥©û‹x7ð_n9ŠEÂ’P„–¡äÌ÷„oZ6qdØ\òxéXÅñ2¥šç"^m‹–fŠ\UmqÉAš'Tcéa'D[T­jviÖ3ªršÐªÕÔªw–Ó„4Z¾Šì`›joM·Î»LåN͵…[ÅÍqÎ’ —‘Í£dÙÖô9EY´i«¨¯³´L·¥íÝ£*•j©Gº¶¨öìr%“h¹9
+A:î´ê¹îÛÉlšf£H>¶ïš<ã{#ÏHÐæyì•ÿGUd©ng\þ‹dOw…&ÁÄ$†<Cn±›¯ qV2Ša!ŸÚ(…½ù|©a›hé{ƒK>Íh &c)¬ð›êí#%%Ðù#%e(’(mª$Žè p§ºh¾‰Rú ˜ ç3êq8»RÂ'¹ëÊöC3&̸ühHæõ=D<röå†ï 7 Èýå_{IO
+å*=ŽÙ™E ˜L´÷ß/¹HŒ‰`˜L ÌrV«ý¡|3ÉÎ,ÈêÆBèTW¹¶¢ëA…hý‹ Áx"k5píKÝ<ÍŸÅAèB¢V™Iæ+!VØ“s‹MZíñØJÈéGÕ# ÚgG41¥t eOõ+ÑQh1-I§0eu€È•6š 
+1v›ñĸðl§‘ÝiäTÏÍgˈ‘r”h
+¡ ê53­–Z#®þü(äŒ"vÕV¹¦)L@];çãƒÈ_Ri‰º«òÖiSÙXëÄÕZ‡H:$ÃÐKúFTÓ÷¶Lµ. 'Ð5µÝ—ú˜:n}8ƒF“Ûû/F®,ia¾«&ýå÷ÍÃt't^È¢62j€rjã€-Ê1VŬl²¢§|l£—AÀ“ƒŠL Yò4Êdê*n áßëÊ-P©.
+Ѳ…lkeÒgEdE••ÕHkê¦]Í9âÐ_Oû ¬ÙÍî¼ÁGô%dOŠÃ0–×ÁÚY]š£M<êÿ^¯ÿD‡î@&'UÜ ·u ÐÊ”¶ÐÁå«LoʽQ›Ô.ͨ^|W°ƒ3ÚóÒ2s9gkH§U9¦ÕוU_‘žƒ“}ð\ᇠ® }®ö¹â3ì­¨÷Mz:¼ !±Wë±Û£)œ**Íaÿ£' â¶Fop½Lz!ý«Èƒ‚8ån äM|¬© F$pÝÑ?(µÝ§¸pKÌë¬sáºE‚`œ\ú㧶åm[LhDw€\ôMèÐJî]¾È7WÔ^`þ¨+ôÁ˜
+笧´±Ò ^,£™4Õ›HŠÀ^j¡1˜{™­0#SÛ\Éá gïPQÃnU·æ’ÈÀ&\צ˜ÍQÿÜ.dz¤UùìØõ»ÃNnî•I ÐÅ»ƒ]3[¸f†þµÚCõ¤š>&o.¬qŸ¨wG5OfCîñþëæÎ&ßÄ].’x”eþ;ÿÇvèÅËoö>r¢Iâÿø ù3¢@“ÒäGÖÊz‹¡rt0¡Cíç«w›ïöH¶ë¹t¿kOëëë——´+tÁTÞ]Õʸéïûû?Î~ÂbÀŽÍ¯ð7sB„d ÷k_íë
+Ÿ&"òÈ]ÿŒ_7ýc¬ˆ%ã¾ `Äb¼e™[š~Z¸ÖÃëm¿b5^b^oý‰vï8OÌ16`Õ#Ø^Ÿëçûø n™êwö¢ÜS½×ibŒ÷ÜP§¿Ì%^@' â©7L/ýóã{ÇA8<àà7ˆÌž£)´»…XdUÝqë®&¸8SÏ®"vJm/2ésZ¸‡Õ1h{~ÿBTªíÁg6[!Bò©!Þ)0s|Q‘%þEŽ|5п‡ÐOS#´€T»cu³¿nvÙ;Ü2Wé±>g¨éiΕ˜ìÿœÓGˆ‰XäÇ“§±>î§ 0üadF¯Ï¬0ùÛÅÏ¿z‹ˆ~¸ð ÃÆÁâ:ãI"Ç‹á)//þ>ìÌI[ù“q,†ßW&ï%p¤L¸S
+ç2À§Ë@.?ßÿô…p+X<ä쯯PK檯N§º±™þŸ¦Ø†[dh—ÖÇVèùyo†ÿ
endobj
-2260 0 obj <<
+2268 0 obj <<
/Type /Page
-/Contents 2261 0 R
-/Resources 2259 0 R
+/Contents 2269 0 R
+/Resources 2267 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2258 0 R
-/Annots [ 2265 0 R 2266 0 R ]
+/Parent 2256 0 R
+/Annots [ 2273 0 R 2274 0 R ]
>> endobj
-2265 0 obj <<
+2273 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
/Rect [282.146 101.0883 446.0314 113.1479]
/Subtype/Link/A<</Type/Action/S/URI/URI(ftp://www.isi.edu/in-notes/)>>
>> endobj
-2266 0 obj <<
+2274 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
/Rect [91.7919 62.7606 237.2464 72.9224]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ietf.org/rfc/)>>
>> endobj
-2262 0 obj <<
-/D [2260 0 R /XYZ 85.0394 794.5015 null]
+2270 0 obj <<
+/D [2268 0 R /XYZ 85.0394 794.5015 null]
>> endobj
802 0 obj <<
-/D [2260 0 R /XYZ 85.0394 769.5949 null]
+/D [2268 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2263 0 obj <<
-/D [2260 0 R /XYZ 85.0394 579.1401 null]
+2271 0 obj <<
+/D [2268 0 R /XYZ 85.0394 579.1401 null]
>> endobj
806 0 obj <<
-/D [2260 0 R /XYZ 85.0394 579.1401 null]
+/D [2268 0 R /XYZ 85.0394 579.1401 null]
>> endobj
1589 0 obj <<
-/D [2260 0 R /XYZ 85.0394 540.7142 null]
+/D [2268 0 R /XYZ 85.0394 540.7142 null]
>> endobj
810 0 obj <<
-/D [2260 0 R /XYZ 85.0394 244.5601 null]
+/D [2268 0 R /XYZ 85.0394 244.5601 null]
>> endobj
-2264 0 obj <<
-/D [2260 0 R /XYZ 85.0394 206.1735 null]
+2272 0 obj <<
+/D [2268 0 R /XYZ 85.0394 206.1735 null]
>> endobj
814 0 obj <<
-/D [2260 0 R /XYZ 85.0394 206.1735 null]
+/D [2268 0 R /XYZ 85.0394 206.1735 null]
>> endobj
1321 0 obj <<
-/D [2260 0 R /XYZ 85.0394 177.2481 null]
+/D [2268 0 R /XYZ 85.0394 177.2481 null]
>> endobj
-2259 0 obj <<
+2267 0 obj <<
/Font << /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F54 1383 0 R /F11 1509 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2269 0 obj <<
-/Length 2772
+2277 0 obj <<
+/Length 2769
/Filter /FlateDecode
>>
stream
@@ -10904,757 +11027,765 @@ qe
lp.ÎÂB‹ù–tîÿš-°³w4Q—ê·%¥Ù‚% Z¡[¸Â6ÚB [ÜQUÅ®`GUàA‹}ç=$"•“>žð$…¹õ&Iž° ð =f/º‘~¦až@Á¢m¡&t·ÎF…¸4 áßÅÊ-sáüï1‹«ü-@NH»7ÒO ¤³ú¦’X)
Yc@}-Äy˜½ðIj¶UÚ,ãWþ¹©:ÀQD{NJòð@6© õs-…4ª-·²6܆é.°‘hxVü°Ë3VÇ?0¹àtç’ËðÝ
›Ëá
-—i¾ž-W%Pí“•6ªùƒ•u“œSy3²º4…Õ´>ˆHªtgJ-Á{îõM¬ºví)ÊÙÕì÷~Áî”Íù7Rîÿ/&ªÑà Ã_-Þ©¾ï_Í‚˜Ü>í6à½:%Ð+âŸÅ½KÙø â1u¯ô ¿N½VÄ
+—i¾ž-W%Pí“•6ªùƒ•u“œSy3²º4…Õ´>ˆHªtgJ-Á{îõM¬ºví)ÊÙÕì÷~Áî”Íù7Rîÿ/&ªÑà Ã_-Þ©¾ï_Í‚˜jWy,úîÕ^ÿ,.¥X¾Æß\ߣcLý+%ÈOS¯µð]íendstream
endobj
-2268 0 obj <<
+2276 0 obj <<
/Type /Page
-/Contents 2269 0 R
-/Resources 2267 0 R
+/Contents 2277 0 R
+/Resources 2275 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2258 0 R
->> endobj
-2270 0 obj <<
-/D [2268 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2271 0 obj <<
-/D [2268 0 R /XYZ 56.6929 748.2159 null]
->> endobj
-2272 0 obj <<
-/D [2268 0 R /XYZ 56.6929 748.2159 null]
->> endobj
-2273 0 obj <<
-/D [2268 0 R /XYZ 56.6929 716.4106 null]
->> endobj
-2274 0 obj <<
-/D [2268 0 R /XYZ 56.6929 716.4106 null]
->> endobj
-2275 0 obj <<
-/D [2268 0 R /XYZ 56.6929 716.4106 null]
->> endobj
-2276 0 obj <<
-/D [2268 0 R /XYZ 56.6929 710.5059 null]
->> endobj
-2277 0 obj <<
-/D [2268 0 R /XYZ 56.6929 695.7413 null]
+/Parent 2256 0 R
>> endobj
2278 0 obj <<
-/D [2268 0 R /XYZ 56.6929 692.431 null]
+/D [2276 0 R /XYZ 56.6929 794.5015 null]
>> endobj
2279 0 obj <<
-/D [2268 0 R /XYZ 56.6929 677.6664 null]
+/D [2276 0 R /XYZ 56.6929 748.2159 null]
>> endobj
2280 0 obj <<
-/D [2268 0 R /XYZ 56.6929 674.3561 null]
+/D [2276 0 R /XYZ 56.6929 748.2159 null]
>> endobj
2281 0 obj <<
-/D [2268 0 R /XYZ 56.6929 616.655 null]
->> endobj
-1440 0 obj <<
-/D [2268 0 R /XYZ 56.6929 616.655 null]
+/D [2276 0 R /XYZ 56.6929 716.4106 null]
>> endobj
2282 0 obj <<
-/D [2268 0 R /XYZ 56.6929 616.655 null]
+/D [2276 0 R /XYZ 56.6929 716.4106 null]
>> endobj
2283 0 obj <<
-/D [2268 0 R /XYZ 56.6929 613.6196 null]
+/D [2276 0 R /XYZ 56.6929 716.4106 null]
>> endobj
2284 0 obj <<
-/D [2268 0 R /XYZ 56.6929 598.855 null]
+/D [2276 0 R /XYZ 56.6929 710.5059 null]
>> endobj
2285 0 obj <<
-/D [2268 0 R /XYZ 56.6929 595.5446 null]
+/D [2276 0 R /XYZ 56.6929 695.7413 null]
>> endobj
2286 0 obj <<
-/D [2268 0 R /XYZ 56.6929 580.78 null]
+/D [2276 0 R /XYZ 56.6929 692.431 null]
>> endobj
2287 0 obj <<
-/D [2268 0 R /XYZ 56.6929 577.4697 null]
+/D [2276 0 R /XYZ 56.6929 677.6664 null]
>> endobj
2288 0 obj <<
-/D [2268 0 R /XYZ 56.6929 550.7499 null]
+/D [2276 0 R /XYZ 56.6929 674.3561 null]
>> endobj
2289 0 obj <<
-/D [2268 0 R /XYZ 56.6929 547.4396 null]
+/D [2276 0 R /XYZ 56.6929 616.655 null]
+>> endobj
+1440 0 obj <<
+/D [2276 0 R /XYZ 56.6929 616.655 null]
>> endobj
2290 0 obj <<
-/D [2268 0 R /XYZ 56.6929 532.675 null]
+/D [2276 0 R /XYZ 56.6929 616.655 null]
>> endobj
2291 0 obj <<
-/D [2268 0 R /XYZ 56.6929 529.3646 null]
+/D [2276 0 R /XYZ 56.6929 613.6196 null]
>> endobj
2292 0 obj <<
-/D [2268 0 R /XYZ 56.6929 514.6599 null]
+/D [2276 0 R /XYZ 56.6929 598.855 null]
>> endobj
2293 0 obj <<
-/D [2268 0 R /XYZ 56.6929 511.2897 null]
+/D [2276 0 R /XYZ 56.6929 595.5446 null]
>> endobj
2294 0 obj <<
-/D [2268 0 R /XYZ 56.6929 496.5251 null]
+/D [2276 0 R /XYZ 56.6929 580.78 null]
>> endobj
2295 0 obj <<
-/D [2268 0 R /XYZ 56.6929 493.2148 null]
+/D [2276 0 R /XYZ 56.6929 577.4697 null]
>> endobj
2296 0 obj <<
-/D [2268 0 R /XYZ 56.6929 478.4502 null]
+/D [2276 0 R /XYZ 56.6929 550.7499 null]
>> endobj
2297 0 obj <<
-/D [2268 0 R /XYZ 56.6929 475.1398 null]
+/D [2276 0 R /XYZ 56.6929 547.4396 null]
>> endobj
2298 0 obj <<
-/D [2268 0 R /XYZ 56.6929 448.4201 null]
+/D [2276 0 R /XYZ 56.6929 532.675 null]
>> endobj
2299 0 obj <<
-/D [2268 0 R /XYZ 56.6929 445.1097 null]
+/D [2276 0 R /XYZ 56.6929 529.3646 null]
>> endobj
2300 0 obj <<
-/D [2268 0 R /XYZ 56.6929 430.3451 null]
+/D [2276 0 R /XYZ 56.6929 514.6599 null]
>> endobj
2301 0 obj <<
-/D [2268 0 R /XYZ 56.6929 427.0348 null]
+/D [2276 0 R /XYZ 56.6929 511.2897 null]
>> endobj
2302 0 obj <<
-/D [2268 0 R /XYZ 56.6929 412.2702 null]
+/D [2276 0 R /XYZ 56.6929 496.5251 null]
>> endobj
2303 0 obj <<
-/D [2268 0 R /XYZ 56.6929 408.9599 null]
+/D [2276 0 R /XYZ 56.6929 493.2148 null]
>> endobj
2304 0 obj <<
-/D [2268 0 R /XYZ 56.6929 394.1953 null]
+/D [2276 0 R /XYZ 56.6929 478.4502 null]
>> endobj
2305 0 obj <<
-/D [2268 0 R /XYZ 56.6929 390.8849 null]
+/D [2276 0 R /XYZ 56.6929 475.1398 null]
>> endobj
2306 0 obj <<
-/D [2268 0 R /XYZ 56.6929 321.1331 null]
+/D [2276 0 R /XYZ 56.6929 448.4201 null]
>> endobj
2307 0 obj <<
-/D [2268 0 R /XYZ 56.6929 321.1331 null]
+/D [2276 0 R /XYZ 56.6929 445.1097 null]
>> endobj
2308 0 obj <<
-/D [2268 0 R /XYZ 56.6929 321.1331 null]
+/D [2276 0 R /XYZ 56.6929 430.3451 null]
>> endobj
2309 0 obj <<
-/D [2268 0 R /XYZ 56.6929 318.1932 null]
+/D [2276 0 R /XYZ 56.6929 427.0348 null]
>> endobj
2310 0 obj <<
-/D [2268 0 R /XYZ 56.6929 303.4885 null]
+/D [2276 0 R /XYZ 56.6929 412.2702 null]
>> endobj
2311 0 obj <<
-/D [2268 0 R /XYZ 56.6929 300.1183 null]
+/D [2276 0 R /XYZ 56.6929 408.9599 null]
>> endobj
2312 0 obj <<
-/D [2268 0 R /XYZ 56.6929 276.0486 null]
+/D [2276 0 R /XYZ 56.6929 394.1953 null]
>> endobj
2313 0 obj <<
-/D [2268 0 R /XYZ 56.6929 270.0882 null]
+/D [2276 0 R /XYZ 56.6929 390.8849 null]
>> endobj
2314 0 obj <<
-/D [2268 0 R /XYZ 56.6929 244.6437 null]
+/D [2276 0 R /XYZ 56.6929 321.1331 null]
>> endobj
2315 0 obj <<
-/D [2268 0 R /XYZ 56.6929 240.0581 null]
+/D [2276 0 R /XYZ 56.6929 321.1331 null]
>> endobj
2316 0 obj <<
-/D [2268 0 R /XYZ 56.6929 213.3384 null]
+/D [2276 0 R /XYZ 56.6929 321.1331 null]
>> endobj
2317 0 obj <<
-/D [2268 0 R /XYZ 56.6929 210.028 null]
+/D [2276 0 R /XYZ 56.6929 318.1932 null]
>> endobj
2318 0 obj <<
-/D [2268 0 R /XYZ 56.6929 140.3717 null]
+/D [2276 0 R /XYZ 56.6929 303.4885 null]
>> endobj
2319 0 obj <<
-/D [2268 0 R /XYZ 56.6929 140.3717 null]
+/D [2276 0 R /XYZ 56.6929 300.1183 null]
>> endobj
2320 0 obj <<
-/D [2268 0 R /XYZ 56.6929 140.3717 null]
+/D [2276 0 R /XYZ 56.6929 276.0486 null]
>> endobj
2321 0 obj <<
-/D [2268 0 R /XYZ 56.6929 137.3363 null]
+/D [2276 0 R /XYZ 56.6929 270.0882 null]
>> endobj
2322 0 obj <<
-/D [2268 0 R /XYZ 56.6929 111.8918 null]
+/D [2276 0 R /XYZ 56.6929 244.6437 null]
>> endobj
2323 0 obj <<
-/D [2268 0 R /XYZ 56.6929 107.3062 null]
+/D [2276 0 R /XYZ 56.6929 240.0581 null]
>> endobj
2324 0 obj <<
-/D [2268 0 R /XYZ 56.6929 80.5865 null]
+/D [2276 0 R /XYZ 56.6929 213.3384 null]
>> endobj
2325 0 obj <<
-/D [2268 0 R /XYZ 56.6929 77.2761 null]
+/D [2276 0 R /XYZ 56.6929 210.028 null]
>> endobj
-2267 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R >>
-/ProcSet [ /PDF /Text ]
+2326 0 obj <<
+/D [2276 0 R /XYZ 56.6929 140.3717 null]
>> endobj
-2328 0 obj <<
-/Length 3095
-/Filter /FlateDecode
->>
-stream
-xÚµšKsÛ8€ïþ:RU>´¥ÈÊØŠFr²“š™-Ñ1+é©$þ÷Û iœÝ­-L ´ˆ¯»Ñh’L0ü‘Iè!Ì"wD.ò0ñ&ûÓž|…¾å‘23%43¥®®~yÏÂI„"Ÿú“‡'c®á0$“‡ÃN¼Ù,ÖóÕïÓõ°sƒ¦3cg¹X/¶ñhœ¯wâb»x¿Ø.Ö7 q»Z¿ÿ¸½§ë<¬>®§~H(Ì@ù>v®W×w«Ëm¼¹ý"ü‰=¯çâf÷i¹\ìs5w<_­— B¦=|¸Z<èç3×€`Æîï«?þ“,Ň+ŒXz“pƒ‰":9]¹CžË˜j9^í®~Ó½õо5Õ23æ¢Ð‡9ì+ïEÈg”镧´oå•_ù?¶ïo\¸uŸ—x…%sÒ7ªµÔ[Ý.6tÏCaÀ¼¶ò›ât*rXz9÷Yù˜>'ß³âræ-¡M²¼¬D·À¿]Òs––Bä©8‹ÖÕæ»/®âÃá<…®´,A
-ª³
-Ô§l$€ßÏÂ;E=çË”â ùSŠsV>gU"”$ùA´?p#“2²ü”f︂ÉLÏ9#EžGë©ï“WaUcÉŸ «Dž`Ñ`õ˜ «Ç|DˆÕã¶i k°O¥I¦ûâ|×Ó;¯/â¹úŒÓaž tífbJ ›‰–RfBHȆÍĪº1“7ºûͤ¥|þà‹Î”0g»• éŸÓ<«²"ïƒM° Öó°y|y?¨ ÉœÅ÷´6˜çä\ÕĹ“]±üŸœ’oSâ¥ØÊŽOÇã)És9¯4æl¦„Fjþûbÿ-yI+°)i.úWµÌåã¾*Ó³ ñ£AÊ°JQE#” ) e%¥)Ø·P¶©6(wuP6•ë
-ó†Ú<øÅî%ÝgO¯µiðûš9—ll„7OR<=Ïöi‰ú¶i! Icg€˜d>ry9>žW™æBAÍŽ÷h#à7†ÔÕg‹M[ihY„«ˆAâjÇjJ cÕR+ñ-Û«Uuƒõî~¬-埄/ÃRH`p±Ê«ôœ§•¸Äy!²ö³ÇK%ÅïW¿/¶âò¦ —c—Çâ19Šk#7“ã’—®¼ÇíݹÄe þ|¢ãLºµkA<ûýsV ¸m8Ì× S'l„¯!e᫤ ¾¡…¯MµÁ·«{€¯©œï¢Ç‹ŒÈ̯ݲÀù”gœ”hìlµÐ²:¤y•ñü*=—¢é"£>SáÚt8g:œ3k8g(=f†óHlÄ|²$ÏÒ£˜B„ch¼G*„Ë¡í,;MŽGøY
-ö%O5é`˜4 <ÙH
-eJYH+)Mš2l!mSmîê m*ÿ5•V¾ø¹Nò¯r%æé1ýª¶äΑBlíp!€ÊƒvOzOKkgW*Š«Ö>ÙM †1¸àŒùv ¦Ô0-¥1À~?ŒÁªºÁðFw?†–òù.ÏþëâKÙÉ-v«¥lÊòîÂ+Oâ9°ð$>@x’.]
-¢©MŒ_|”ÂËËátÔVf8zæÔ&ØþG¾K1"^4R2¥,´•”A;²Ð¶©6hwuÐ6•sÚ‰ØëB‘Üxd¨Ouê2»Mëè… ²ý™l‘Ñ74¢o¤£ohDßhÌŽÐn«þÊðµ,Ào…_Ÿ¼qc5“$NÆݘ…ðCbçj cUB U×’ËØô6P»Šû™ššçi•ìŸÓó1Š#¼Q†èa ˘ëýŸ·Jˆß(`ÁHyÈ”²pQRLZª
-k‰âÏ*ÍËúuæŒEXT\áyyy)ΕZmDã÷ô\Šª:4ú}Uظ±™“zΉÏÅI$xël½½d൉lý¬ëéÐõk™åI^É.q8†fU ÓÚÚ1¶¸de™õÕ†
-endobj
2327 0 obj <<
-/Type /Page
-/Contents 2328 0 R
-/Resources 2326 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2258 0 R
+/D [2276 0 R /XYZ 56.6929 140.3717 null]
+>> endobj
+2328 0 obj <<
+/D [2276 0 R /XYZ 56.6929 140.3717 null]
>> endobj
2329 0 obj <<
-/D [2327 0 R /XYZ 85.0394 794.5015 null]
+/D [2276 0 R /XYZ 56.6929 137.3363 null]
>> endobj
2330 0 obj <<
-/D [2327 0 R /XYZ 85.0394 769.5949 null]
+/D [2276 0 R /XYZ 56.6929 111.8918 null]
>> endobj
2331 0 obj <<
-/D [2327 0 R /XYZ 85.0394 771.5874 null]
+/D [2276 0 R /XYZ 56.6929 107.3062 null]
>> endobj
2332 0 obj <<
-/D [2327 0 R /XYZ 85.0394 701.2317 null]
+/D [2276 0 R /XYZ 56.6929 80.5865 null]
>> endobj
2333 0 obj <<
-/D [2327 0 R /XYZ 85.0394 701.2317 null]
+/D [2276 0 R /XYZ 56.6929 77.2761 null]
>> endobj
-2334 0 obj <<
-/D [2327 0 R /XYZ 85.0394 701.2317 null]
->> endobj
-2335 0 obj <<
-/D [2327 0 R /XYZ 85.0394 698.1335 null]
+2275 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
2336 0 obj <<
-/D [2327 0 R /XYZ 85.0394 674.0638 null]
+/Length 3092
+/Filter /FlateDecode
+>>
+stream
+xÚµšÝw›:ÀßóWøŸSëJˆÏG»ŽÛÄ͵Óîíéí±•†Sr n›ÿ~GèA@twÏž<¤‘Æè73 †?2‰|„iìMÂØC>&þdw¼À“oз¼ Rf¦„f¦ÔåýÅoi4‰Q¸Áäþј+B8ŠÈä~ÿÅIîîëùê¯éÌõ±s…¦3cg¹X/6Éhœ¯·âb³x»Ø,ÖW q»Z¿ý°¹M¦¡çܯ>¬§AD\˜Áåsع\]Þ¬>,7ÉÝõg1àoìãd=7ÛËåb{¿˜«¹“ùj½2ýzÿîbq¯ŸÏ\‚)¸.¾|Å“=,Å» Œhù“Ÿpƒ‰cwr¼ð|Š|RÕr¸Ø^ü©'4zë¡}kªefÔCQ
+]¬,A
+ª³
+nà"°‘~?ÿ o`”ë;Ÿ§„ÉŸRœ²ò)«R¡$Í÷¢ýž™”y—åG–½á
+&3=çŒû¾[O}›¾«r1ö‘ü)°°Jä Vz°z4@„øq=nÃJXƒ“&ÉvÅi/®ï§1v^žÅsõgÁ<aäÙÍÄ”6-¥Ì„ˆ›‰Uuc&¯t÷›IKùšýä‹N•Pg³‘ ìoŒÝ<«²"ïƒM°Öó°y|y;]A’:‹¬6˜§ôTÕĹ‘]‰ü›ÓïSâ¥ØÈŽ‡Ã1Ís9¯4êÜM‰«ùo‹Ý÷ô™U`SÒ\ô¯j™Ë‡]U<°“ ñ£AÊ°JqÇ#” ) e%¥)‡8°P¶©6(wuP6•ë
+ .VyÅN9«Ä Îû Ù•°Ÿ=œ+)~»úk±—W…ˆ
+ö9gšt8Lš„žl$…2¥,¤•”&íRl!mSmîê m*Ϥ•/~ížÒü›\‰9;°ojKî)ÄÖ¨<h÷¤Wð´.¥íìJåOIÕÚ'» Ô0œ1 âÀŽÁ”Æ ¥4Øï‡1XU7^éîÇÐR>ß&âÙß/>—Üb»Zʦ,ï.¼ò$ž Oâ„'éÒàQå‰î–I=‡AÑ\"Z¤euH¿3ÙLkWß¿QÙ±ðü',FažHÄHSÊ‚LIÈB 2›jYW÷
+¿â„ø±U‚ŒÂƶz€ÄƯG°1
+=l$øÎÏnpó°Éß5ÜdBÎÔÍh,4aÕ¨ŽÄASÊBSI4-;žUµA³«{€¦©|[§z§"1u®ØIlc‚òº‰½"ï«!ò‘7
+ˆüJAä#]ŠHÎÇÇsˆ|¬é|ØW…Lmbüâƒ^ž÷Ç3¤¶2ÃÑ3· 6Áö?ò]#âÇ#å!SÊB[I´c m›jƒvW÷
+–RÏÿ?o•¿QHÑò)eᢤ4˜0²T¬ª 2]ÝhLåunªr]$j±Ð 3ÉÈ)*
+C¾Qº‘‚‹2S¡VMØ
+µÅúå€4€·ìá4œæDéb<\ª¥AàÊ#Ù’)e1%¥M &¾Ålª èê0Sù='êy÷ƳçQ'9WO°íV/¢ë®Èx Aôqªëäî~#<”÷×y_ûäÉ»äù¤?Æ°Í4ĽØåçÃz˜: n˜X&ß4AµÚb»eÏCôYÅŽ’
+endobj
+2335 0 obj <<
+/Type /Page
+/Contents 2336 0 R
+/Resources 2334 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2256 0 R
>> endobj
2337 0 obj <<
-/D [2327 0 R /XYZ 85.0394 667.9451 null]
+/D [2335 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2338 0 obj <<
-/D [2327 0 R /XYZ 85.0394 653.1805 null]
+/D [2335 0 R /XYZ 85.0394 769.5949 null]
>> endobj
2339 0 obj <<
-/D [2327 0 R /XYZ 85.0394 649.7118 null]
+/D [2335 0 R /XYZ 85.0394 771.5874 null]
>> endobj
2340 0 obj <<
-/D [2327 0 R /XYZ 85.0394 622.9921 null]
+/D [2335 0 R /XYZ 85.0394 701.2317 null]
>> endobj
2341 0 obj <<
-/D [2327 0 R /XYZ 85.0394 619.5234 null]
+/D [2335 0 R /XYZ 85.0394 701.2317 null]
>> endobj
2342 0 obj <<
-/D [2327 0 R /XYZ 85.0394 595.4537 null]
+/D [2335 0 R /XYZ 85.0394 701.2317 null]
>> endobj
2343 0 obj <<
-/D [2327 0 R /XYZ 85.0394 589.3349 null]
+/D [2335 0 R /XYZ 85.0394 698.1335 null]
>> endobj
2344 0 obj <<
-/D [2327 0 R /XYZ 85.0394 562.6152 null]
+/D [2335 0 R /XYZ 85.0394 674.0638 null]
>> endobj
2345 0 obj <<
-/D [2327 0 R /XYZ 85.0394 559.1465 null]
+/D [2335 0 R /XYZ 85.0394 667.9451 null]
>> endobj
2346 0 obj <<
-/D [2327 0 R /XYZ 85.0394 532.4267 null]
+/D [2335 0 R /XYZ 85.0394 653.1805 null]
>> endobj
2347 0 obj <<
-/D [2327 0 R /XYZ 85.0394 528.958 null]
+/D [2335 0 R /XYZ 85.0394 649.7118 null]
>> endobj
2348 0 obj <<
-/D [2327 0 R /XYZ 85.0394 514.2533 null]
+/D [2335 0 R /XYZ 85.0394 622.9921 null]
>> endobj
2349 0 obj <<
-/D [2327 0 R /XYZ 85.0394 510.7248 null]
+/D [2335 0 R /XYZ 85.0394 619.5234 null]
>> endobj
2350 0 obj <<
-/D [2327 0 R /XYZ 85.0394 496.02 null]
+/D [2335 0 R /XYZ 85.0394 595.4537 null]
>> endobj
2351 0 obj <<
-/D [2327 0 R /XYZ 85.0394 492.4915 null]
+/D [2335 0 R /XYZ 85.0394 589.3349 null]
>> endobj
2352 0 obj <<
-/D [2327 0 R /XYZ 85.0394 468.4218 null]
+/D [2335 0 R /XYZ 85.0394 562.6152 null]
>> endobj
2353 0 obj <<
-/D [2327 0 R /XYZ 85.0394 462.303 null]
+/D [2335 0 R /XYZ 85.0394 559.1465 null]
>> endobj
2354 0 obj <<
-/D [2327 0 R /XYZ 85.0394 436.8585 null]
+/D [2335 0 R /XYZ 85.0394 532.4267 null]
>> endobj
2355 0 obj <<
-/D [2327 0 R /XYZ 85.0394 432.1146 null]
+/D [2335 0 R /XYZ 85.0394 528.958 null]
>> endobj
2356 0 obj <<
-/D [2327 0 R /XYZ 85.0394 408.0449 null]
+/D [2335 0 R /XYZ 85.0394 514.2533 null]
>> endobj
2357 0 obj <<
-/D [2327 0 R /XYZ 85.0394 401.9262 null]
+/D [2335 0 R /XYZ 85.0394 510.7248 null]
>> endobj
2358 0 obj <<
-/D [2327 0 R /XYZ 85.0394 387.2214 null]
+/D [2335 0 R /XYZ 85.0394 496.02 null]
>> endobj
2359 0 obj <<
-/D [2327 0 R /XYZ 85.0394 383.6929 null]
+/D [2335 0 R /XYZ 85.0394 492.4915 null]
>> endobj
2360 0 obj <<
-/D [2327 0 R /XYZ 85.0394 356.9731 null]
+/D [2335 0 R /XYZ 85.0394 468.4218 null]
>> endobj
2361 0 obj <<
-/D [2327 0 R /XYZ 85.0394 353.5044 null]
+/D [2335 0 R /XYZ 85.0394 462.303 null]
>> endobj
2362 0 obj <<
-/D [2327 0 R /XYZ 85.0394 326.7847 null]
+/D [2335 0 R /XYZ 85.0394 436.8585 null]
>> endobj
2363 0 obj <<
-/D [2327 0 R /XYZ 85.0394 323.316 null]
+/D [2335 0 R /XYZ 85.0394 432.1146 null]
>> endobj
2364 0 obj <<
-/D [2327 0 R /XYZ 85.0394 299.2463 null]
+/D [2335 0 R /XYZ 85.0394 408.0449 null]
>> endobj
2365 0 obj <<
-/D [2327 0 R /XYZ 85.0394 293.1275 null]
+/D [2335 0 R /XYZ 85.0394 401.9262 null]
>> endobj
2366 0 obj <<
-/D [2327 0 R /XYZ 85.0394 278.4228 null]
+/D [2335 0 R /XYZ 85.0394 387.2214 null]
>> endobj
2367 0 obj <<
-/D [2327 0 R /XYZ 85.0394 274.8943 null]
+/D [2335 0 R /XYZ 85.0394 383.6929 null]
>> endobj
2368 0 obj <<
-/D [2327 0 R /XYZ 85.0394 249.4498 null]
+/D [2335 0 R /XYZ 85.0394 356.9731 null]
>> endobj
2369 0 obj <<
-/D [2327 0 R /XYZ 85.0394 244.7058 null]
+/D [2335 0 R /XYZ 85.0394 353.5044 null]
>> endobj
2370 0 obj <<
-/D [2327 0 R /XYZ 85.0394 189.2701 null]
+/D [2335 0 R /XYZ 85.0394 326.7847 null]
>> endobj
2371 0 obj <<
-/D [2327 0 R /XYZ 85.0394 189.2701 null]
+/D [2335 0 R /XYZ 85.0394 323.316 null]
>> endobj
2372 0 obj <<
-/D [2327 0 R /XYZ 85.0394 189.2701 null]
+/D [2335 0 R /XYZ 85.0394 299.2463 null]
>> endobj
2373 0 obj <<
-/D [2327 0 R /XYZ 85.0394 183.2071 null]
+/D [2335 0 R /XYZ 85.0394 293.1275 null]
>> endobj
2374 0 obj <<
-/D [2327 0 R /XYZ 85.0394 168.4425 null]
+/D [2335 0 R /XYZ 85.0394 278.4228 null]
>> endobj
2375 0 obj <<
-/D [2327 0 R /XYZ 85.0394 164.9738 null]
+/D [2335 0 R /XYZ 85.0394 274.8943 null]
>> endobj
2376 0 obj <<
-/D [2327 0 R /XYZ 85.0394 150.2691 null]
+/D [2335 0 R /XYZ 85.0394 249.4498 null]
>> endobj
2377 0 obj <<
-/D [2327 0 R /XYZ 85.0394 146.7405 null]
+/D [2335 0 R /XYZ 85.0394 244.7058 null]
>> endobj
2378 0 obj <<
-/D [2327 0 R /XYZ 85.0394 132.0358 null]
+/D [2335 0 R /XYZ 85.0394 189.2701 null]
>> endobj
2379 0 obj <<
-/D [2327 0 R /XYZ 85.0394 128.5073 null]
+/D [2335 0 R /XYZ 85.0394 189.2701 null]
>> endobj
2380 0 obj <<
-/D [2327 0 R /XYZ 85.0394 113.8025 null]
+/D [2335 0 R /XYZ 85.0394 189.2701 null]
>> endobj
2381 0 obj <<
-/D [2327 0 R /XYZ 85.0394 110.274 null]
+/D [2335 0 R /XYZ 85.0394 183.2071 null]
>> endobj
2382 0 obj <<
-/D [2327 0 R /XYZ 85.0394 95.5094 null]
+/D [2335 0 R /XYZ 85.0394 168.4425 null]
>> endobj
2383 0 obj <<
-/D [2327 0 R /XYZ 85.0394 92.0407 null]
+/D [2335 0 R /XYZ 85.0394 164.9738 null]
>> endobj
-2326 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F40 1218 0 R /F21 994 0 R >>
-/ProcSet [ /PDF /Text ]
+2384 0 obj <<
+/D [2335 0 R /XYZ 85.0394 150.2691 null]
>> endobj
-2386 0 obj <<
-/Length 2603
-/Filter /FlateDecode
->>
-stream
-xÚ¥ZKw›HÞûWh)ŸÑõ xÌN¶dGGöÈN÷ÌIg­²Ì@N§ýÜ¢J™žã…¡êÂ÷»o„'þð„^“xƾÇf“—ýšì`ïö+™™šÙRWO¿ÜÐh{q@‚ÉÓ«u¯ÈCQ„'OÛ¯Ókx—p4½Z]Ý­îo7ó‡ÿºœ†¦¿#†æë…<yür{»||ZªÓÍr¾X­oA_&ÓùÃÃr½XýSn_‹›"4½]®—›ù\\¬õÅ7ËÍr}½”§«õÍýæóü2ô§O«ûõå·§OË'ó~¶0¢âåþsñõšlAŸ.GãˆM¾Ã òp“ÉþÂgÔc>¥z%»x¼ø‡¹¡µÛ\:¨SŒ<B2 T‚'{1c¤£U{%´ÑªyÓû/“:-òjô­(†§8ë‘‘@†X•2ýëææE¿õ11!ðâ,t™>ª,TLB‘ÐF]û$Íåk'Û}š§U ï^”•\+ZU4ç»cºåžxÄÞá€y~Dð<⾤øgOþ¿+j¸§°µ±.Þùþ™—ò ÇQèêx#Ê„Ú¶¤úÖRF㌆» -÷±‡µnc_û}‘÷<l‘Ô‰<ºI3®|²ÈGˆìŽ’¹¸,ËKMKL€.ýÀ÷»L<\bOWœ—5ß'jïþ¥.,.b:ÊEcQt&¢ÙRã\)ÃEŒÉ8Nè–‹ìA.:؃\˜dÊ;òí_e„`æQDºŒ,4Ii{Æ ./£é1)B‚qBBäE Eg±¤„h)MA9qA[„ô±‡ ±±Ot]¦5/S寅2ÕMQÔ*œ${å/¼|çe5¢Â0
-º4\)>'yžæ»Ù·ùõ’±iúGÊGüÆAC^â3,µB’”áˆàØÁ‘×¢¨<Ìü¥RÚ.^{n3ÏÒ¤âU¨5¯¿å¿[†Ò>LQy!éÇ.E>&û4«µËŽ6jû7áEeº{«Gø 5d§˜{ŒAI1ó‰"p•ƒÉåÊ Ó?¹³¦°ºÑ…±!|¦H°¥ÆI7R†õˆ°qÖÐ-í'؃¼w°çðâA0}ºÄ»¬QK‚î šòç¿]ΨO¦«ª:6F
- BhÔÓ™zAža½r®„4çÔÑØ…kQÞfÜîy ”µR_¹A³,—Øt~8dé‹)aE´%«ÅzÞô)’fÌ°Å\ÔF_8¹I²ŠÓ†÷}#v>‚©Áæë>É›íHÑ,žGÑl`f&
-±&ð‹½ *öµõDûÅ­möQÐ.nc.ïÕð-v>k¾õM:|_eIþòÆë¿À·QhÎer[jœo#eñí(€Ð-ß'؃|w°Žù—bËEôfaäC:½‚êªjøçþ”ç £Î¨ ë°ú%OÅ¥rQ&|XJž°o¢FØF XÖK*jÌîP7[=è™P˜‡ÒkDçž.ÞÊÕOjL˜ÅA¬k™uz’ЬäYRëBø­ |H ,$gj[ÊaEZÊ´QÐü9¬ÈmYQ{ØŠlì/Ucù2C{Õ::òU.V
-×Rm¯ê;*X'´¥ð>ö°Âmì¹R,ßéÂUR¥'VÞëìtC›²œ(P8f]îÍ´ &Óä¸{“åèá=)
-!ßDgú[ÊÁƒ–2<PßÑ=:¡-úØÃ<ØØ&&ý‹CYµÁÁu±?$ùV@m8ÄzþÜ 0Ïàþm¬éô“'¯ü{ÆsÈJÍ*1Î!v~äÙ«ºÀ<­ڿ‡¾¯zþÑDDu¹I³Ÿ)¢Q:Iȼ08—*l©q:TK's”Nè–ÎìA:;Øs3}çy;
-½Ñ¥
-‚žëéºOLp*ÇLå¤AD^D0þY_3ݺ›(Y䟡¥r°¢„L-BGïæµ8éSbo8ta”¿XŲfEŽTd2ÿ`*T¥"ãý)7T²»ü®êMú®bÔ‹¿WxR µ®88ä†Ê³D™ç#ÿL`K9xÒR†(ÈË¢\ÐS}ìaªlì…øÒ&JØÆI|LçÇú 4^C¶yçrIAq¤æÚâ$œ¾‹Qx³ú&ÑtˆsÑ%U­î·ÝÊͪt)
-*üК‡CWh¢¤¸ÃGy÷m3ñ›²Œ3}u'
-dœGè® u:ó%Ï–r𨥠1r9œ Úâ±=Ì£mª¹ÕÃ{ «0‘6Ê$¯Úòîä›Æ­ø’š¥9þ†‡¼8¶Óš]L/Ž¥ñSs mõ&I×®öȵUu
-ÉpdåBµ°ÛÉ…þŠiŸ€»lx~v>Ü{S0 †vßÅ’­¨ËV{[•3Õ…§ºÖŸ7©õ£ŒOÇìg¾7‰’‚Z:2Ñýÿþí•5“ =´Ègjf¥Šb^8{ í ·¡p«ÓGgòk“A¡ÞIÅ-†Œà`Šip¢ý“¯SEüÀ°[endstream
-endobj
2385 0 obj <<
-/Type /Page
-/Contents 2386 0 R
-/Resources 2384 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2258 0 R
+/D [2335 0 R /XYZ 85.0394 146.7405 null]
+>> endobj
+2386 0 obj <<
+/D [2335 0 R /XYZ 85.0394 132.0358 null]
>> endobj
2387 0 obj <<
-/D [2385 0 R /XYZ 56.6929 794.5015 null]
+/D [2335 0 R /XYZ 85.0394 128.5073 null]
>> endobj
2388 0 obj <<
-/D [2385 0 R /XYZ 56.6929 748.4854 null]
+/D [2335 0 R /XYZ 85.0394 113.8025 null]
>> endobj
2389 0 obj <<
-/D [2385 0 R /XYZ 56.6929 748.4854 null]
+/D [2335 0 R /XYZ 85.0394 110.274 null]
>> endobj
2390 0 obj <<
-/D [2385 0 R /XYZ 56.6929 748.4854 null]
+/D [2335 0 R /XYZ 85.0394 95.5094 null]
>> endobj
2391 0 obj <<
-/D [2385 0 R /XYZ 56.6929 743.3452 null]
->> endobj
-2392 0 obj <<
-/D [2385 0 R /XYZ 56.6929 728.6405 null]
+/D [2335 0 R /XYZ 85.0394 92.0407 null]
>> endobj
-2393 0 obj <<
-/D [2385 0 R /XYZ 56.6929 723.1655 null]
+2334 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F40 1218 0 R /F21 994 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
2394 0 obj <<
-/D [2385 0 R /XYZ 56.6929 708.4607 null]
+/Length 2601
+/Filter /FlateDecode
+>>
+stream
+xÚ¥ZKw›HÞûWh)Óõ xÌN¶dGGöÈN÷ÌIg­²Ì@N§ýÜ¢J™žã…¡êÂ÷»o„'þð„^“xƾÇf“—ýšì`ïö+™K-tiK]=]ürC£IìÅ &O¯Ö½"Ež<m¿N¯=âÍàhzµºº[Ýßnæÿ5»$ MG Í× yòøåövùø´T§›å|±Zß‚ž&ÓùÃÃr½XýSn_‹›"4½]®—›ù\\¬õÅ7ËÍr}½”§«õÍýæó|úÓ§ÕýzöíéÓÅòɼŸ­Œ¨x¹ÿ\|ý†&[Pŧ äÑ8b“ïp‚<Çd²¿ðõ˜O©^É./þanhí6—ê#Ѐ (•à Æ^Ìéh•Å^@ m´jÞôþÀˤN‹¼}+Šá)Îðjdä!V¥Œ@ÿº¹¹EÑo}LL¼8 ] F¦ê# “Ðc$´QÅ>IsùÚÉvŸæiUûe%׊VÍùî˜n¹'±÷F8`ž<¸ï)þÙ“ÿïŠî)lEm¬‹w¾æ¥<Ãqz£ºÞˆ2!‡¶-)‡¾µ”Ñ8£¡Cã.hKç}ìa­ÛØ×Å~_ä=[$u"nÒŒ+Ÿ,òß"»£¤A..Ër†£©`i€ Ð¥ø~—‰‡&ñTÑqÅyYó}¢öî_êÂâ"¦£\1öEg"š-5Î…‘2\ĘŒsá„n¹8Á䢃=È…‰I¦¼#ßþUFf^E¤ËÈB“‘”¶gÜðçrMIùÃŒ"/b(:Cˆ%å DKiBÂÈAˆ Ú"¤=Lˆ}¢ûë2­y™*çx-”©nŠ¢Vá$Ù+yäå;/«ÁFà€QÐ¥áJÑð9Éó4ßõÈî¸Í¯3Ʀé)ñM yAˆÏ°Ô
+9HRB†#‚cG\‹¢ð0Cð—Ji»xí¹Í<K“ŠW=¢Ö¼þ^”ÿnJ_ø0EAä…¤»tù˜ìÓ¬Ö.g8Ú¨íß„•éî­á'ÔZà’ÐØc JŠKŸxð ÒW9˜\®Ì0ý“+0;a
+«-X{ÂgŠ[jœt#eXgÝ ÝÒ~‚=È{{/Ó§ÆØeZ‚tOД?ÿmvI}2]UÕ±1ØiL®YáhýAÂv£C±jFA ~ãr÷ŽJu}ïåÙA†Ûºx)²¡KIì!Û†
+Ctòòfè/ˆ¤vFÉ™ÈnK9×RãØÁ¸ Ú¢¼=̹-•ÆàÑŒÅÂñ)D×ǺÐ{b H’”ˆšH­B¬ übo ˆŠ}m=BÄѾED1dkÛƒ}´„‹ÛX„Ë{5|‹Ïšo}“ßWY’¿¼ñú/ðíGZ§s™Ü–çÛHY|;
+`'tË÷ ö ßì‡cþã¥Ør½YØùN¯ ºª¾Å¹?å9Ȩ3*Ã:¬~ÉSq©\” V‡’'웨¶Q–õ’Š— w¨Š­ôL(aÌCé5¢sOï?åê'5&Ì‹â Ö5‚L‡:=É
+è²äYRëBø­ |H ,$gj[ÊaEZÊ´QÐü9¬ÈmYQ{ØŠlì/Ucù2C{Õ::òU.V
+×Rm¯ê;*X'´¥ð>ö°Âmì¹R,ßéÂUR¥'VÞëìtC›²œ(P8f]îÍ´ &Óä¸{“åèá=)
+!ßDgú[ÊÁƒ–2<PßÑ=:¡-úØÃ<ØØ&&ý‹CYµÁÁu±?$ùV@m8ÄzþÜ 0Ïàþm¬éô“'¯ü{ÆsÈJÍ*1Î!v~äÙ«ºÀ<­ڿ‡¾¯zþÑDDu¹I³Ÿ)¢Q:Iȼ08—*l©q:TK's”Nè–ÎìA:;Øs3}çy;
+½Ñ¥
+‚žëéºOLp*ÇLå¤AD^D0þY_3ݺ›(Y䟡¥r°¢„L-BGïæµ8éSbo8ta”¿XŲfEŽTd2ÿ`*T¥"ãý)7T²»ü®êMú®bÔ‹¿WxR µ®88ä†Ê³D™ç#ÿL`K9xÒR†(ÈË¢\ÐS}ìaªlì…øÒ&JØÆI|LçÇú 4^C¶yçrIAq¤æÚâ$œ¾‹Qx³ú&ÑtˆsÑ%U­î·ÝÊͪt)
+*üК‡CWh¢¤¸ÃGy÷m3ñ›²Œ3}u'
+dœGè® u:ó%Ï–r𨥠1r9œ Úâ±=Ì£mª¹ÕÃ{ «0‘6Ê$¯Úòîä›Æ­ø’š¥9þ†‡¼8¶Óš]L/Ž¥ñSs mõ&I×®öȵUu
+ÉpdåBµ°ÛÉ…þŠiŸ€»lx~v>Ü{S0 †vßÅ’­¨ËV{[•3Õ…§ºÖŸ7©õ£ŒOÇìg¾7‰’‚Z:2Ñýÿþí•5“ =´Ègjf¥Šb^Ôpþ¶:wt&!¿6éŠTüÒ‚a(=Àÿ¦˜F'Jп÷:ÕÂûµendstream
+endobj
+2393 0 obj <<
+/Type /Page
+/Contents 2394 0 R
+/Resources 2392 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2446 0 R
>> endobj
2395 0 obj <<
-/D [2385 0 R /XYZ 56.6929 702.9857 null]
+/D [2393 0 R /XYZ 56.6929 794.5015 null]
>> endobj
2396 0 obj <<
-/D [2385 0 R /XYZ 56.6929 688.2211 null]
+/D [2393 0 R /XYZ 56.6929 748.4854 null]
>> endobj
2397 0 obj <<
-/D [2385 0 R /XYZ 56.6929 682.8059 null]
+/D [2393 0 R /XYZ 56.6929 748.4854 null]
>> endobj
2398 0 obj <<
-/D [2385 0 R /XYZ 56.6929 668.0414 null]
+/D [2393 0 R /XYZ 56.6929 748.4854 null]
>> endobj
2399 0 obj <<
-/D [2385 0 R /XYZ 56.6929 662.6262 null]
+/D [2393 0 R /XYZ 56.6929 743.3452 null]
>> endobj
2400 0 obj <<
-/D [2385 0 R /XYZ 56.6929 599.7666 null]
+/D [2393 0 R /XYZ 56.6929 728.6405 null]
>> endobj
2401 0 obj <<
-/D [2385 0 R /XYZ 56.6929 599.7666 null]
+/D [2393 0 R /XYZ 56.6929 723.1655 null]
>> endobj
2402 0 obj <<
-/D [2385 0 R /XYZ 56.6929 599.7666 null]
+/D [2393 0 R /XYZ 56.6929 708.4607 null]
>> endobj
2403 0 obj <<
-/D [2385 0 R /XYZ 56.6929 591.7571 null]
+/D [2393 0 R /XYZ 56.6929 702.9857 null]
>> endobj
2404 0 obj <<
-/D [2385 0 R /XYZ 56.6929 565.0374 null]
+/D [2393 0 R /XYZ 56.6929 688.2211 null]
>> endobj
2405 0 obj <<
-/D [2385 0 R /XYZ 56.6929 559.6222 null]
+/D [2393 0 R /XYZ 56.6929 682.8059 null]
>> endobj
2406 0 obj <<
-/D [2385 0 R /XYZ 56.6929 534.1777 null]
+/D [2393 0 R /XYZ 56.6929 668.0414 null]
>> endobj
2407 0 obj <<
-/D [2385 0 R /XYZ 56.6929 527.4872 null]
+/D [2393 0 R /XYZ 56.6929 662.6262 null]
>> endobj
2408 0 obj <<
-/D [2385 0 R /XYZ 56.6929 502.0427 null]
+/D [2393 0 R /XYZ 56.6929 599.7666 null]
>> endobj
2409 0 obj <<
-/D [2385 0 R /XYZ 56.6929 495.3523 null]
+/D [2393 0 R /XYZ 56.6929 599.7666 null]
>> endobj
2410 0 obj <<
-/D [2385 0 R /XYZ 56.6929 420.5376 null]
+/D [2393 0 R /XYZ 56.6929 599.7666 null]
>> endobj
2411 0 obj <<
-/D [2385 0 R /XYZ 56.6929 420.5376 null]
+/D [2393 0 R /XYZ 56.6929 591.7571 null]
>> endobj
2412 0 obj <<
-/D [2385 0 R /XYZ 56.6929 420.5376 null]
+/D [2393 0 R /XYZ 56.6929 565.0374 null]
>> endobj
2413 0 obj <<
-/D [2385 0 R /XYZ 56.6929 412.5281 null]
+/D [2393 0 R /XYZ 56.6929 559.6222 null]
>> endobj
2414 0 obj <<
-/D [2385 0 R /XYZ 56.6929 388.4584 null]
+/D [2393 0 R /XYZ 56.6929 534.1777 null]
>> endobj
2415 0 obj <<
-/D [2385 0 R /XYZ 56.6929 380.3932 null]
+/D [2393 0 R /XYZ 56.6929 527.4872 null]
>> endobj
2416 0 obj <<
-/D [2385 0 R /XYZ 56.6929 365.6884 null]
+/D [2393 0 R /XYZ 56.6929 502.0427 null]
>> endobj
2417 0 obj <<
-/D [2385 0 R /XYZ 56.6929 360.2134 null]
+/D [2393 0 R /XYZ 56.6929 495.3523 null]
>> endobj
2418 0 obj <<
-/D [2385 0 R /XYZ 56.6929 345.4488 null]
+/D [2393 0 R /XYZ 56.6929 420.5376 null]
>> endobj
2419 0 obj <<
-/D [2385 0 R /XYZ 56.6929 340.0336 null]
+/D [2393 0 R /XYZ 56.6929 420.5376 null]
>> endobj
2420 0 obj <<
-/D [2385 0 R /XYZ 56.6929 325.269 null]
+/D [2393 0 R /XYZ 56.6929 420.5376 null]
>> endobj
2421 0 obj <<
-/D [2385 0 R /XYZ 56.6929 319.8539 null]
+/D [2393 0 R /XYZ 56.6929 412.5281 null]
>> endobj
2422 0 obj <<
-/D [2385 0 R /XYZ 56.6929 295.7842 null]
+/D [2393 0 R /XYZ 56.6929 388.4584 null]
>> endobj
2423 0 obj <<
-/D [2385 0 R /XYZ 56.6929 287.7189 null]
+/D [2393 0 R /XYZ 56.6929 380.3932 null]
>> endobj
2424 0 obj <<
-/D [2385 0 R /XYZ 56.6929 272.9543 null]
+/D [2393 0 R /XYZ 56.6929 365.6884 null]
>> endobj
2425 0 obj <<
-/D [2385 0 R /XYZ 56.6929 267.5392 null]
+/D [2393 0 R /XYZ 56.6929 360.2134 null]
>> endobj
2426 0 obj <<
-/D [2385 0 R /XYZ 56.6929 252.7746 null]
+/D [2393 0 R /XYZ 56.6929 345.4488 null]
>> endobj
2427 0 obj <<
-/D [2385 0 R /XYZ 56.6929 247.3594 null]
+/D [2393 0 R /XYZ 56.6929 340.0336 null]
>> endobj
2428 0 obj <<
-/D [2385 0 R /XYZ 56.6929 223.2897 null]
+/D [2393 0 R /XYZ 56.6929 325.269 null]
>> endobj
2429 0 obj <<
-/D [2385 0 R /XYZ 56.6929 215.2245 null]
+/D [2393 0 R /XYZ 56.6929 319.8539 null]
>> endobj
2430 0 obj <<
-/D [2385 0 R /XYZ 56.6929 149.4956 null]
+/D [2393 0 R /XYZ 56.6929 295.7842 null]
>> endobj
2431 0 obj <<
-/D [2385 0 R /XYZ 56.6929 149.4956 null]
+/D [2393 0 R /XYZ 56.6929 287.7189 null]
>> endobj
2432 0 obj <<
-/D [2385 0 R /XYZ 56.6929 149.4956 null]
+/D [2393 0 R /XYZ 56.6929 272.9543 null]
>> endobj
2433 0 obj <<
-/D [2385 0 R /XYZ 56.6929 144.3554 null]
+/D [2393 0 R /XYZ 56.6929 267.5392 null]
>> endobj
2434 0 obj <<
-/D [2385 0 R /XYZ 56.6929 120.2857 null]
+/D [2393 0 R /XYZ 56.6929 252.7746 null]
>> endobj
2435 0 obj <<
-/D [2385 0 R /XYZ 56.6929 112.2205 null]
+/D [2393 0 R /XYZ 56.6929 247.3594 null]
>> endobj
2436 0 obj <<
-/D [2385 0 R /XYZ 56.6929 97.4559 null]
+/D [2393 0 R /XYZ 56.6929 223.2897 null]
>> endobj
2437 0 obj <<
-/D [2385 0 R /XYZ 56.6929 92.0407 null]
+/D [2393 0 R /XYZ 56.6929 215.2245 null]
>> endobj
-2384 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R >>
-/ProcSet [ /PDF /Text ]
+2438 0 obj <<
+/D [2393 0 R /XYZ 56.6929 149.4956 null]
>> endobj
-2440 0 obj <<
-/Length 2194
-/Filter /FlateDecode
->>
-stream
-xÚ¥YYwâ8~ϯàmÌ9ƒZ‹yÞH ªR$ é™é©ªÇ(àcÓؤŠùõsµØÈ`›>3‡k¹‹t?ÝE‚ 0üÈ€{³Ð¡‹<L¼A¼½Áƒ5Ì=ÜC3ªˆF6ÕíËÍ/÷ŒBúÔ¼¼Y²8Âœ“ÁËê«3~~žÎ'³ GÔÃÎŽ<Œ‡é|º?êÁÉ|©‹éýt1ßMuw6¿Z|×y™=͇>'$P)ÃÇÎíìöqöô°?ÿýwÍð {x<ŸèÎò·‡‡éòe:©d'³ùá÷—O7Ó—z¶ frsÜ|ýŽ+0ŧŒXȽÁè`D¶7®Çç2V¤7Ë›_kÖ¬bm³©Ç8ò8 ZŒJÉ€zmXÕ ‘Ï(SV}z-òT”bufÁ¥ˆû¤<š=ßß›e.òC^Ü¢Òk£m€WTri_A+ž÷ý\3ñ0â!l®WuMu©ÛÅ–nâyˆÌk*ŸäÛ(Ɇ#—bgm…lgy,J±Õ£' É™éÏRdE’gÊNgÛ#£€>,LÊþ+°øÌ™ Ãe½‰#ÔŒë°ýpg¥õD™iÜúÏÑámeFʧ(;Dû£Ô
-{®jÜA¬
-i>aN´R¶5êx Å1‹¶I¬;¿íVQ)Ú0 riè0T¼H †Â 
-/°Â"&:,O3,ê1 &4ž ÑÃaµ=d«¢S£X m X‡ÓÊOY7¦2Öºä
-¤'¢D ‘hO®ëÓkáy¦¸NKóD¤bmB™´*C¨¤¶Ô8©«MÃ#õˆöÈŠºÓ# ”9®ËI3h>™ ÙÀI—)•ïý D\†\̯”‚6U&U JÐëe}ª-TÎuwÀb+TâãÉîéGeŒ»|»À^“´Îpoù¾2ÛŸB³ÅÙ‹çµâÒÀ£}-IARà:ur;Öà¸ÝàP¹`Ã+àXT=àTT8=·¦^Õ8çº;À±•×uº[U‡²U×éÐVYL6La}ãG0væGjÄø‘á0~¤ÅÚ·4èO³rÔÍç<ÉÊ×rú|b»O£u Ð ®½”ðÓÝL…Åz´+÷üœ§ïú-{ŸÌè2ޤDzq&T
-] N–—FuÞ܆®4ç:ªÜ(ÀB7"õeNuãI>¢Tž%^…@•ÿGMUlòCjF•VÙxúûÇ!×o¬@¨òŒÅ‰r•}”ÆÌ{“§>Õƒ6¾Ð=d)˜ÙÐÇq¾µá³‹²DI'Øy=ê¯>ÐX%EœFÉVeQ5•5‰!>Bè|£Ô•g®Ð]µ\øjóµ&-
-$éô”6"46чéOš¼‰–§{ê´Â·H~êÆ6ÏÊá…ó^-ñÇ&+gËFÍŠ={ÅÐY ëU»6™l«>3ñjXAHb*ŠH½i­Á_f‚ˆ¨ê /v^󃉷³ùä$×…zÕ¯åb’ê.ò&öÒ:ŸÜiÈÆÞ•;˜Mu™M  <~¦Ò éN$½ZO‰äBm{"i¨Õ‰{Ư°o›Ê^µ•3+äÏstH5Ó8…[×’<çnŸÄï*úÅcr\Ä…ŠswÜ'ëJ-päA-/ÿhÁæ%9Öú!~Ÿô(
-ünZÝ7L¼¶Û…ýñªú$aÈõz–â5*Ê|—«X!önü7=óô—¤©y˧žÔuv©«‹‘1Ü+âNrÑYsÀQ•µ …ëCýÿCe/b¼ë. Ý2’jQÊ$,€ÐL‰[m 8P0z¦§A=t­*‡]v»|oÜéCBˆ#öò¬íï¸úŸ±KKüÂ…¼“endstream
-endobj
2439 0 obj <<
-/Type /Page
-/Contents 2440 0 R
-/Resources 2438 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2258 0 R
+/D [2393 0 R /XYZ 56.6929 149.4956 null]
+>> endobj
+2440 0 obj <<
+/D [2393 0 R /XYZ 56.6929 149.4956 null]
>> endobj
2441 0 obj <<
-/D [2439 0 R /XYZ 85.0394 794.5015 null]
+/D [2393 0 R /XYZ 56.6929 144.3554 null]
>> endobj
2442 0 obj <<
-/D [2439 0 R /XYZ 85.0394 749.4437 null]
+/D [2393 0 R /XYZ 56.6929 120.2857 null]
>> endobj
2443 0 obj <<
-/D [2439 0 R /XYZ 85.0394 749.4437 null]
+/D [2393 0 R /XYZ 56.6929 112.2205 null]
>> endobj
2444 0 obj <<
-/D [2439 0 R /XYZ 85.0394 749.4437 null]
+/D [2393 0 R /XYZ 56.6929 97.4559 null]
>> endobj
2445 0 obj <<
-/D [2439 0 R /XYZ 85.0394 746.6461 null]
->> endobj
-2446 0 obj <<
-/D [2439 0 R /XYZ 85.0394 722.5763 null]
->> endobj
-2447 0 obj <<
-/D [2439 0 R /XYZ 85.0394 716.7581 null]
+/D [2393 0 R /XYZ 56.6929 92.0407 null]
>> endobj
-2448 0 obj <<
-/D [2439 0 R /XYZ 85.0394 701.9936 null]
+2392 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
2449 0 obj <<
-/D [2439 0 R /XYZ 85.0394 698.8254 null]
+/Length 2193
+/Filter /FlateDecode
+>>
+stream
+xÚ¥Y[wâº~ϯà­f­â£‹eË}#¤ÌdHä´=™Ç(àcs°É ýõݺØÈ`›³ÚŃuÙiÚ <@ðÃÎ\DCo„žËfƒx{ƒk˜{¸Á†fTlªÛ—›_î)„nèðòfÉâ.â^V_ñóót>™ýk8" 9wîpÄr¦óébü¨'ó¥n,¦÷ÓÅt~7ÕÝÙüþiñe< <çeö4ú@¤ 9·³ÛÇÙÓÃbüü÷ß5Ã7ÄÐx>ÑåoÓåËtRÉOfó ÁÃï/Ÿn¦/õþl`Dåæþ¸ùú V`ŠO7È¥!gƒÐA.C2ØÞxŒºÌ£´Io–7¿Ö­YÅÚfSF¹Ë8 ZŒJð
+,>u&®aŠ2Þ‡ØjÆsè~ˆ¹³Òz¢Ì4î ýçèð¶2#åS”¢ýQj…=WŠF5î Vàv‡<—ë³ÚƒÞ‰¨<CTc‡iЃ]^ º3ÅÈYš,Ò|Âœh¤lk Õñ6@*Šcm“Xw~Û­¢R´ab×#!;a¨x]ý5
+3l
+’Ê\E2Byþ!¶¯b¯CYÅ߈d!Ô  ]ä…×@³¨z@«¨N …¨´>Õhçº;@³•wdäÚKL9”FûäB$ŽÊz°úþ;Ï*¯+£òÐæW.
+oúÕÔøÕ£ø‘ínˆànDv1öùD,ªD*ªÏë h}ª-DÎuw b+L¶I©}
+qÔcªbPKrŽ¼1‘‚ÓMDl;Y%óÜËH'¦ ò !üJ¹gSucZSÕ˜ú¬Ó^Õ'L/t·cÚP¾+!Ý'K´ûÐ
+×^‚ùén¦Âb=Ú‹•{~ÎÓw}‹–½OftoÒcÙ8*
+0ÕF‚Žjç‡õf´’<zðG¾W¨ä_åña uI¡çdÙ"¿ªø”óMÍÓldBì »1vT¼kb0·öaùØ„av#ôÛjº‘Y£*`¸£n•Aà(B³X†úÕÆýz^ÄÐØiöJéL¾^©Á¢ŒÖ¢Ðm]|ùÎJ|ˆ4ßÉýÁŠü;³í.²ŸïôÚ^’1Ž2Uè-p²¼4ªóæ6t¥ 9×QõàFà¸
+BSQDêM£h è2(Pž@DU¯XxÉ°óšL¬¸Í''¹Ô«~-¹!®î"ob/ݨóÉ„ÔEˆ]¹ƒÙT—ÙÓÐ%ã'a*àîDÒ«õ”H.Ô¶'’†ZH3~…|ÛTöª}ˆ¨œZ!xž£Cª™Æ)ܺþÓÄœ»}¿«èÉAra*ÎÝqŸ¬7*µ pÀ]µ¼ü£™—äXë‡ø}Ò?"nà‡pÓ²è¾!ÌÚnöÇ«ê‡!×ëYŠ×¨(ó]®b „Ø»ñßôÌÓ_P¦æ-Ÿ0©ëìRW#c¸WÄ œä¢³æ€£*ÿ:jA Õ‡úÿþ‡Ê*^—ò®»…tKiˆ«E)“ÐPþ…Á¨[m 8\~ªÔ+תòÖåa·Ë÷Æ—þ1Ä;b/ßÀÚþ‹«ÿ»4Ö»íendstream
+endobj
+2448 0 obj <<
+/Type /Page
+/Contents 2449 0 R
+/Resources 2447 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2446 0 R
>> endobj
2450 0 obj <<
-/D [2439 0 R /XYZ 85.0394 684.1207 null]
+/D [2448 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2451 0 obj <<
-/D [2439 0 R /XYZ 85.0394 680.8926 null]
+/D [2448 0 R /XYZ 85.0394 749.4437 null]
>> endobj
2452 0 obj <<
-/D [2439 0 R /XYZ 85.0394 656.8229 null]
+/D [2448 0 R /XYZ 85.0394 749.4437 null]
>> endobj
2453 0 obj <<
-/D [2439 0 R /XYZ 85.0394 651.0047 null]
+/D [2448 0 R /XYZ 85.0394 749.4437 null]
>> endobj
2454 0 obj <<
-/D [2439 0 R /XYZ 85.0394 636.3 null]
+/D [2448 0 R /XYZ 85.0394 746.6461 null]
>> endobj
2455 0 obj <<
-/D [2439 0 R /XYZ 85.0394 633.072 null]
+/D [2448 0 R /XYZ 85.0394 722.5763 null]
>> endobj
2456 0 obj <<
-/D [2439 0 R /XYZ 85.0394 609.0023 null]
+/D [2448 0 R /XYZ 85.0394 716.7581 null]
>> endobj
2457 0 obj <<
-/D [2439 0 R /XYZ 85.0394 603.184 null]
+/D [2448 0 R /XYZ 85.0394 701.9936 null]
>> endobj
2458 0 obj <<
-/D [2439 0 R /XYZ 85.0394 579.1143 null]
+/D [2448 0 R /XYZ 85.0394 698.8254 null]
>> endobj
2459 0 obj <<
-/D [2439 0 R /XYZ 85.0394 573.2961 null]
+/D [2448 0 R /XYZ 85.0394 684.1207 null]
>> endobj
2460 0 obj <<
-/D [2439 0 R /XYZ 85.0394 558.5914 null]
+/D [2448 0 R /XYZ 85.0394 680.8926 null]
>> endobj
2461 0 obj <<
-/D [2439 0 R /XYZ 85.0394 555.3634 null]
+/D [2448 0 R /XYZ 85.0394 656.8229 null]
>> endobj
2462 0 obj <<
-/D [2439 0 R /XYZ 85.0394 540.5988 null]
+/D [2448 0 R /XYZ 85.0394 651.0047 null]
>> endobj
2463 0 obj <<
-/D [2439 0 R /XYZ 85.0394 537.4306 null]
+/D [2448 0 R /XYZ 85.0394 636.3 null]
>> endobj
2464 0 obj <<
-/D [2439 0 R /XYZ 85.0394 510.7109 null]
+/D [2448 0 R /XYZ 85.0394 633.072 null]
>> endobj
2465 0 obj <<
-/D [2439 0 R /XYZ 85.0394 507.5427 null]
->> endobj
-818 0 obj <<
-/D [2439 0 R /XYZ 85.0394 477.5928 null]
+/D [2448 0 R /XYZ 85.0394 609.0023 null]
>> endobj
2466 0 obj <<
-/D [2439 0 R /XYZ 85.0394 453.2532 null]
->> endobj
-822 0 obj <<
-/D [2439 0 R /XYZ 85.0394 369.7201 null]
+/D [2448 0 R /XYZ 85.0394 603.184 null]
>> endobj
2467 0 obj <<
-/D [2439 0 R /XYZ 85.0394 345.3805 null]
+/D [2448 0 R /XYZ 85.0394 579.1143 null]
>> endobj
2468 0 obj <<
-/D [2439 0 R /XYZ 85.0394 310.6805 null]
+/D [2448 0 R /XYZ 85.0394 573.2961 null]
>> endobj
2469 0 obj <<
-/D [2439 0 R /XYZ 85.0394 310.6805 null]
+/D [2448 0 R /XYZ 85.0394 558.5914 null]
>> endobj
2470 0 obj <<
-/D [2439 0 R /XYZ 85.0394 310.6805 null]
+/D [2448 0 R /XYZ 85.0394 555.3634 null]
>> endobj
2471 0 obj <<
-/D [2439 0 R /XYZ 85.0394 310.6805 null]
+/D [2448 0 R /XYZ 85.0394 540.5988 null]
>> endobj
-2438 0 obj <<
+2472 0 obj <<
+/D [2448 0 R /XYZ 85.0394 537.4306 null]
+>> endobj
+2473 0 obj <<
+/D [2448 0 R /XYZ 85.0394 510.7109 null]
+>> endobj
+2474 0 obj <<
+/D [2448 0 R /XYZ 85.0394 507.5427 null]
+>> endobj
+818 0 obj <<
+/D [2448 0 R /XYZ 85.0394 477.5928 null]
+>> endobj
+2475 0 obj <<
+/D [2448 0 R /XYZ 85.0394 453.2532 null]
+>> endobj
+822 0 obj <<
+/D [2448 0 R /XYZ 85.0394 369.7201 null]
+>> endobj
+2476 0 obj <<
+/D [2448 0 R /XYZ 85.0394 345.3805 null]
+>> endobj
+2477 0 obj <<
+/D [2448 0 R /XYZ 85.0394 310.6805 null]
+>> endobj
+2478 0 obj <<
+/D [2448 0 R /XYZ 85.0394 310.6805 null]
+>> endobj
+2479 0 obj <<
+/D [2448 0 R /XYZ 85.0394 310.6805 null]
+>> endobj
+2480 0 obj <<
+/D [2448 0 R /XYZ 85.0394 310.6805 null]
+>> endobj
+2447 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2474 0 obj <<
+2483 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-2473 0 obj <<
+2482 0 obj <<
/Type /Page
-/Contents 2474 0 R
-/Resources 2472 0 R
+/Contents 2483 0 R
+/Resources 2481 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2476 0 R
+/Parent 2446 0 R
>> endobj
-2475 0 obj <<
-/D [2473 0 R /XYZ 56.6929 794.5015 null]
+2484 0 obj <<
+/D [2482 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2472 0 obj <<
+2481 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-2479 0 obj <<
-/Length 2181
+2487 0 obj <<
+/Length 2179
/Filter /FlateDecode
>>
stream
-xÚËrã6ò®¯Ð!U¡«F4
-|ó¾!&UW²]ô­­6†³@Ç$xrg8Ü;õÁæbѺ.Ëú¸ñÐè®'ií/¸Ëŧ‡Ñ·
-ÓÄ¢(›uÒh5¥r>*Éýf
-âUa6'²~_€A78ÇÙhr4¹W·$ÁË­‡CM¶[éâ «œ/ S3ä[&v…'¿ÿôẴ…¦³;šª ¢\ç[Ø)ì>N2ºÙ³MKOxýäA§áè±vJDü±Ê·t­UÝó4i Ùià Š{Í H–ò='<½áƒLô¾ ¾!râ2çp"Óù_$è gÝÞÝ“ƒ9„ùÛj]7»á–
-´~º|ÒîMnqiN$ÀG›¾4sÁzÙ‘´ñÓ–:a€tÝ+ƽ×ù“Þ°uã=´æ2‰€óÆî9vD,óœ¤jùèĆöç\Ä@¢4ûŠ¥™ôCpË·M}Jõº­Tïû›ROÖþB쬹Ÿ‰½qŠÝbX]©ÆOÀÔˆ1ÌÆrÌR0kwûÒ`™â² Ú,‰#,±†j…ï»]q^
-s
+xÚMsã¶îî_áCgªÌ¬R¢¾Þ-ín;étvÚ$ï]v÷ÀH´ÍYrõá¬ÿ}’eGI:µA A|R.üå2|fj™dÊ„Œ–ùn!–˜ûu!™FE¡©0„ÁÌì*
+S?Jƒd¹š2ùéaqýK —ðã8ˆ–ëQVœ¤~œÅáò¡øâÝì÷¦*ì÷«U ïãÕ·‡ßhò“4‘¸N€ŒØ,Å?Ý~þHÔ/ú|OÀïö±ÑÍ‘÷ý~_7ÝÈP*?TqÀ ãÐϲ,r ?úòj%…ÿŽu°Ìü,bæd¸ÕÔq~ØÚXg¡w0MkëŠõš¾$¡Œ>_ƒ@™ïÈ»E¶c¶êLSé’F¥Û‘5<ÙÖôí¶º s$(×,øÑàWy}k
+ÆbÛ\ÉÔ+V{ÝtŒÔû}isÝÁÆ[<,OJ?‹¢ÀoW»5À4‘gtkKÔPÞW‰gÆçº, ;ÚîtP:'âJ{%½ñLˆ±};§FäPÔy¿3Uü¥¨,òn™H…휊¨š±ƒìþ?ìÖáàRW´ñRw¨DÞüq;{Æ&á¶ß¼oˆIÕ•l}k«Í‚á¬Ð1 žÜ÷ŽA}°…¹X´®Ë²~n<4ºëIZûÜåâÓÃ考[©4ñ£(Êft ZM©œJ5±ß À4œðB|2¹*…‚E*y[êHõRì™ÛH°ŠÏÅ>8ed™W™g§a
+ßw»â¼
+d˜*OÕ[ræ{f…,À
+Â:Á÷±·Î™a'à†Öá©‚€ÍyÐ$ÌRLFÈyu0ôÎHšÂ5¹´Å¦§ÍI8¯§úÙqrìgÔÙ÷®¾OcÊ
endobj
-2478 0 obj <<
+2486 0 obj <<
/Type /Page
-/Contents 2479 0 R
-/Resources 2477 0 R
+/Contents 2487 0 R
+/Resources 2485 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2476 0 R
+/Parent 2446 0 R
>> endobj
-2480 0 obj <<
-/D [2478 0 R /XYZ 85.0394 794.5015 null]
+2488 0 obj <<
+/D [2486 0 R /XYZ 85.0394 794.5015 null]
>> endobj
826 0 obj <<
-/D [2478 0 R /XYZ 85.0394 769.5949 null]
+/D [2486 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2481 0 obj <<
-/D [2478 0 R /XYZ 85.0394 576.2232 null]
+2489 0 obj <<
+/D [2486 0 R /XYZ 85.0394 576.2232 null]
>> endobj
830 0 obj <<
-/D [2478 0 R /XYZ 85.0394 576.2232 null]
+/D [2486 0 R /XYZ 85.0394 576.2232 null]
>> endobj
-2482 0 obj <<
-/D [2478 0 R /XYZ 85.0394 543.993 null]
+2490 0 obj <<
+/D [2486 0 R /XYZ 85.0394 543.993 null]
>> endobj
834 0 obj <<
-/D [2478 0 R /XYZ 85.0394 294.9358 null]
+/D [2486 0 R /XYZ 85.0394 294.9358 null]
>> endobj
-2483 0 obj <<
-/D [2478 0 R /XYZ 85.0394 267.3765 null]
+2491 0 obj <<
+/D [2486 0 R /XYZ 85.0394 267.3765 null]
>> endobj
838 0 obj <<
-/D [2478 0 R /XYZ 85.0394 200.5197 null]
+/D [2486 0 R /XYZ 85.0394 200.5197 null]
>> endobj
-2484 0 obj <<
-/D [2478 0 R /XYZ 85.0394 170.3103 null]
+2492 0 obj <<
+/D [2486 0 R /XYZ 85.0394 170.3103 null]
>> endobj
-2477 0 obj <<
+2485 0 obj <<
/Font << /F21 994 0 R /F22 997 0 R /F14 1020 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2487 0 obj <<
-/Length 2600
+2495 0 obj <<
+/Length 2599
/Filter /FlateDecode
>>
stream
@@ -11667,57 +11798,56 @@ t ëÛT…ݤ9èðŽa­*Í·sb!u¶uùjÑÆêåÉäØEtšç¤†<ç„­'HH•Ýè>áæXš¬óÁÝÊbI%iº‚ É¢Ìñ²
¬î‚­½ €êMp+²túW
3>ì‰Û½×Ñiϲw+×US…ÈøúB÷‚¬E;~ýÍ¢Hïéç:N–ð4î߀¦¡y¦)ï«L™’F±BwO$oÓk('íðP¤¦¾®bÄͤN˜òÈ[ùЇšrkÉn~›GλÎìk+h
JÆ'ÏB ô-·Ýá ¾à Y”N/¼Ø@ô8˜sG8¿ëJ€Aj!u ” p·ùÃìÛ±ÇMͤäþ9´íÀ{Ö¶„Ç-y…"j@z¶ýŽBw·ª[·q§+÷г0IäÉûq;òäéóòPÕSµƒÀáö°"®›±æŠ)Ýõ/9œ>I¢ôà\Jp{#x6gW7¸G0­â‰ÀVr[ÄÒXó2!âi’=ûtÈž’ÏVÅ<›E×çHÕLŠÓÝ„<b"Ð.Vô\oì"ä ”#¡8Þá4&"ÓABm™}Ëi*²vä6vIíÙ> Órï‡uÚ›í¹F7Pܺ†]飧CìpÐøèÖR¿ÿñ³€zÿøàð±7˜Œ¸šS=;Ķtw:ÈA±ËÒÄY–õ®E‚–™ø9o
-³Kl¹iM±9ØÙ;9DBëƒc ¨Ë÷½ˆá‡#æç½þïß(em˜0•¦rÜNö„çüèÊ Ú¦ÒUJe÷ß\ê£ß\ýÅ?~µGè%ñ
-%B~¦ÿÓè¹"þdѯendstream
+³Kl¹iM±9ØÙ;9DBëƒc ¨Ë÷½ˆá‡#æç½þïß(em˜0•¦rÜNö„çüèÊ4K]™!vÿÍå=úÁÕßêñãW‹w„‡ô"ÆSE(Ï”à=×Â
endobj
-2486 0 obj <<
+2494 0 obj <<
/Type /Page
-/Contents 2487 0 R
-/Resources 2485 0 R
+/Contents 2495 0 R
+/Resources 2493 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2476 0 R
-/Annots [ 2492 0 R ]
+/Parent 2446 0 R
+/Annots [ 2500 0 R ]
>> endobj
-2492 0 obj <<
+2500 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [344.9397 142.7828 406.1397 154.1749]
/Subtype /Link
/A << /S /GoTo /D (trusted-keys) >>
>> endobj
-2488 0 obj <<
-/D [2486 0 R /XYZ 56.6929 794.5015 null]
+2496 0 obj <<
+/D [2494 0 R /XYZ 56.6929 794.5015 null]
>> endobj
842 0 obj <<
-/D [2486 0 R /XYZ 56.6929 769.5949 null]
+/D [2494 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-2489 0 obj <<
-/D [2486 0 R /XYZ 56.6929 751.5714 null]
+2497 0 obj <<
+/D [2494 0 R /XYZ 56.6929 751.5714 null]
>> endobj
846 0 obj <<
-/D [2486 0 R /XYZ 56.6929 588.0121 null]
+/D [2494 0 R /XYZ 56.6929 588.0121 null]
>> endobj
-2490 0 obj <<
-/D [2486 0 R /XYZ 56.6929 559.805 null]
+2498 0 obj <<
+/D [2494 0 R /XYZ 56.6929 559.805 null]
>> endobj
850 0 obj <<
-/D [2486 0 R /XYZ 56.6929 252.161 null]
+/D [2494 0 R /XYZ 56.6929 252.161 null]
>> endobj
-2491 0 obj <<
-/D [2486 0 R /XYZ 56.6929 225.1993 null]
+2499 0 obj <<
+/D [2494 0 R /XYZ 56.6929 225.1993 null]
>> endobj
854 0 obj <<
-/D [2486 0 R /XYZ 56.6929 124.408 null]
+/D [2494 0 R /XYZ 56.6929 124.408 null]
>> endobj
-2493 0 obj <<
-/D [2486 0 R /XYZ 56.6929 93.9095 null]
+2501 0 obj <<
+/D [2494 0 R /XYZ 56.6929 93.9095 null]
>> endobj
-2485 0 obj <<
+2493 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F22 997 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2496 0 obj <<
-/Length 2193
+2504 0 obj <<
+/Length 2190
/Filter /FlateDecode
>>
stream
@@ -11729,36 +11859,36 @@ v׫l–¥”gsܵ>gÉ4›mÖ5ðí´^Û#Çrú#Ò¤¥#^­ó²©íùí‰#F)Þž¸YØÍà,ȯÞÖBOÓçSüZäuƒí±`ææ¦
=¸;ÛÔáÃK
ä¿-#wO(˸LJ~0Ðv,%ƒ½…áò¸™<Õ€è /h¨bï‰nßI5¤äg‰£0K÷
®Ó‡ï¡ºW
-Æî9Uû< Ã×<lø<Ün´yJ?Ó¢+¨¡ÔÈœ"ÝÆÖ¡À<ŽC@,+õfµªÖ¾·êžë팅@뜩õÞÏG|ÔÚWCî=î£}ªqõTá»ÙÁÅSÕ8[ŸëÛü³ãxBQÆ ±5|×öõ“'Çíã©ä†EKlŸFY(÷Mïzàoïý¨Ç„ 5s¢oèSq…Žª}JŒQ‹:ûƾÁq<¡£í/$ßPÉ×TbiL MäqãxªÉ¡p’$& %§Ý¯u^ø~1[‡ÀCÐ8´µÕÜùD–v=Âëo3Hc b¯ýð¥kùTŒÔÐŽçå姇/h€öbtø:·ÝnIÿÙl Ä[î<E™5CeMv;O5ö;¤€úxøíþ·7ÿFùú£®Œ‰H>RiPI„0¬SÊž‚I(¨gºÿû+1$Ž®9~³éár×då¼Cõ[yüò¯¶ôÍ ' ùÿmôÐÿsþ=¦endstream
+Æî9Uû< Ã×<lø<Ün´yJ?Ó¢+¨¡ÔÈœ"ÝÆÖ¡À<ŽC@,+õfµªÖ¾·êžë팅@뜩õÞÏG|ÔÚWCî=î£}ªqõTá»ÙÁÅSÕ8[ŸëÛü³ãxBQÆ ±5|×öõ“'Çíã©ä†EKlŸFY(÷Mïzàoïý¨Ç„ 5s¢oèSq…Žª}JŒQ‹:ûƾÁq<¡£í/$ßPÉ×TbiL MäqãxªÉ¡p’$& %§Ý¯u^ø~1[‡ÀCÐ8´µÕÜùD–v=Âëo3Hc b¯ýð¥kùTŒÔÐŽçå姇/h€öbtø:·ÝnIÿÙl Ä[î<E™5CeMv;O5ö;¤€úxøíþ·7ÿFùú£®Œ‰H>RiPI„0¬SÊž‚IqI­Dÿ÷WbH‚C›.wMVÎ;H¿E„Ç/ÿjëÞ Ò0–ûFÍð_ÄÎ=
endobj
-2495 0 obj <<
+2503 0 obj <<
/Type /Page
-/Contents 2496 0 R
-/Resources 2494 0 R
+/Contents 2504 0 R
+/Resources 2502 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2476 0 R
+/Parent 2446 0 R
>> endobj
-2497 0 obj <<
-/D [2495 0 R /XYZ 85.0394 794.5015 null]
+2505 0 obj <<
+/D [2503 0 R /XYZ 85.0394 794.5015 null]
>> endobj
858 0 obj <<
-/D [2495 0 R /XYZ 85.0394 769.5949 null]
+/D [2503 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2498 0 obj <<
-/D [2495 0 R /XYZ 85.0394 749.8211 null]
+2506 0 obj <<
+/D [2503 0 R /XYZ 85.0394 749.8211 null]
>> endobj
862 0 obj <<
-/D [2495 0 R /XYZ 85.0394 323.3339 null]
+/D [2503 0 R /XYZ 85.0394 323.3339 null]
>> endobj
-2499 0 obj <<
-/D [2495 0 R /XYZ 85.0394 298.074 null]
+2507 0 obj <<
+/D [2503 0 R /XYZ 85.0394 298.074 null]
>> endobj
-2494 0 obj <<
+2502 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2502 0 obj <<
-/Length 2706
+2510 0 obj <<
+/Length 2704
/Filter /FlateDecode
>>
stream
@@ -11774,41 +11904,41 @@ U‘¡–^˜¹£™zè…:ÎswÚXT›¼p{a…±£eUjíø$™Å&˜Ÿg÷>N `ÜO
wê? »Å„lY]!ÕòTÖ„\ÙQwݬ£v‚rFñžß•t/È
aqš>‘HÍx,ÔyEuT#3÷¯ ;1ïÏl³ƒÄeý!¨MØÝí5 ƒÄÀ¶òÖßæî¾0¸gá®ÆÑ®1îÆîæ›Xoò=™w
Y‚ˆÓ¾y?y34xùÖZ¾iY, ;=n‘ÓœAËó¨gz®šÿÑMÍ7uE5”ˆ<“çÝ! :í žÈ:ß45æ_£­QQ2ËôÙé;¢ãù{6å‚NÀ;BÏ÷EúÐ.Qì!—26'/w&Å¥«ŽæÌÅѠاk/«K1(½ø7”^Gª˜† ãœøÍ‘ü}ŃÂ1b x½:¾
- ·Úš:w æ·…»°u%#(ÄV‰D Ü";ÜfçMß{fpœ±S¿Ç ÃQŒèþ9oÿîßj~Ü‚¥R'²‚L¨ÑàÇ'L³lv/eúí­)þx|Øm·Uí4ð/{ ˆk˜»Ûv àé‚ö±9»Ÿˆ+âC³Ñ˜endstream
+ ·Úš:w æ·…»°u%#(ÄV‰D Ü";ÜfçMß{fpœ±S¿Ç ÃQŒèþ9oÿîßj~Ü‚¥R'²‚L¨ÑàÇ'L3u¨ÑoÿhM¹ðgãÃn»­j·üÙ3Ð@PÃÄÝvqÓDN!Û²û}ȱþÕÐòendstream
endobj
-2501 0 obj <<
+2509 0 obj <<
/Type /Page
-/Contents 2502 0 R
-/Resources 2500 0 R
+/Contents 2510 0 R
+/Resources 2508 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2476 0 R
+/Parent 2515 0 R
>> endobj
-2503 0 obj <<
-/D [2501 0 R /XYZ 56.6929 794.5015 null]
+2511 0 obj <<
+/D [2509 0 R /XYZ 56.6929 794.5015 null]
>> endobj
866 0 obj <<
-/D [2501 0 R /XYZ 56.6929 769.5949 null]
+/D [2509 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-2504 0 obj <<
-/D [2501 0 R /XYZ 56.6929 749.768 null]
+2512 0 obj <<
+/D [2509 0 R /XYZ 56.6929 749.768 null]
>> endobj
870 0 obj <<
-/D [2501 0 R /XYZ 56.6929 549.9391 null]
+/D [2509 0 R /XYZ 56.6929 549.9391 null]
>> endobj
-2505 0 obj <<
-/D [2501 0 R /XYZ 56.6929 524.2635 null]
+2513 0 obj <<
+/D [2509 0 R /XYZ 56.6929 524.2635 null]
>> endobj
874 0 obj <<
-/D [2501 0 R /XYZ 56.6929 422.5891 null]
+/D [2509 0 R /XYZ 56.6929 422.5891 null]
>> endobj
-2506 0 obj <<
-/D [2501 0 R /XYZ 56.6929 396.9135 null]
+2514 0 obj <<
+/D [2509 0 R /XYZ 56.6929 396.9135 null]
>> endobj
-2500 0 obj <<
+2508 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2509 0 obj <<
+2518 0 obj <<
/Length 2487
/Filter /FlateDecode
>>
@@ -11821,2358 +11951,2430 @@ Nó&²Ì8EUË)žËFû–`<ÈýqÆ|Ž„'Ɉ|}ê©Ê€X€äGˆäo‰0rééFì®ÊE~æ͆vnÞÕ4ö“Iá¡T¨ðžÄ‹
À€ey¿n6+Ö#tDÁ
X2½°ŠAnPÏ›~HuØô=•7ýsyP@¤fF—Q>é9~CVè*X¦wdÅ4ˆÈ®”*!Ÿ·Q$Ú³îè–ËHè•/Üö·\ÂQ¯”Bá{Þ‡½Ð¥÷Œ‡ÐÚnZjÝ`ä3× å€‚èBÁ‘öS¦¼'ƒÙ£ðF
8][šEù`0ËçZ °²r|ÖÒŸ&7±.Çzšàå*>Ï¡Q<ß)R‘ù‚ ªuÂq¾*v¸÷¯ýí ¢àª€sä*ë8ÜO ºŠ-_óˆ¦rßEBQ^ç;!nózB(†ž¿‚Ÿ8˜ÊÂqóT6¤z&ž"å•=ç²ð7hÒŒ–}YEŽßQðg8QÆBÒ¹ü4ڑĪçÓSíYyIÐ^Yëìxåœ.Ä‚
- [½Ë÷p.éÃÈ_×Y›Ü-ÊpG×,«ÎW ~Þ"ˆÔvùjêØ%í8¦ŠÜsô Ý„Í÷`<€MHÿc –©MN|P!¾¦ë;m‘cbQ0â-–j=8HZÌéí]¦F![1 ØÆUó0Ë lgûâ,ttb “šj 9dUnè,T}M¢«öW‚€]ú{SÄ]•qFIˆ|]Þê‘œÌ “¶‰˜ðõG†«+Dá¶oWtÙï§ÓÙ¼§Å@é—À rŽPc9 Þ ðı»»»©K“aht1Í›î\8 ¶cC‹ðpßÚï “Â
+ [½Ë÷p.éÃÈ_×Y›Ü-ÊpG×,«ÎW ~Þ"ˆÔvùjêØ%í8¦ŠÜsô Ý„Í÷`<€MHÿc –©MN|P!¾¦ë;m‘cbQ0â-–j=8HZÌéí]¦F![1 ØÆUó0Ë lgûâ,ttb “šj 9dUnè,T}M¢«öW‚€]ú{SÄ]•qFIˆ|]Þê‘œÌ “¶‰˜ðõG†«+Dá¶oWtÙï§ÓÙ¼§Å@é—À rŽPc9 Þ ðı»»»©K“aht1Í›î\8 ¶cC‹ðpßÚï “Â
endobj
-2508 0 obj <<
+2517 0 obj <<
/Type /Page
-/Contents 2509 0 R
-/Resources 2507 0 R
+/Contents 2518 0 R
+/Resources 2516 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2476 0 R
+/Parent 2515 0 R
>> endobj
-2510 0 obj <<
-/D [2508 0 R /XYZ 85.0394 794.5015 null]
+2519 0 obj <<
+/D [2517 0 R /XYZ 85.0394 794.5015 null]
>> endobj
878 0 obj <<
-/D [2508 0 R /XYZ 85.0394 392.8463 null]
+/D [2517 0 R /XYZ 85.0394 392.8463 null]
>> endobj
-2511 0 obj <<
-/D [2508 0 R /XYZ 85.0394 364.3909 null]
+2520 0 obj <<
+/D [2517 0 R /XYZ 85.0394 364.3909 null]
>> endobj
-2507 0 obj <<
+2516 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F61 1416 0 R /F42 1288 0 R >>
/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2514 0 obj <<
-/Length 532
+2523 0 obj <<
+/Length 530
/Filter /FlateDecode
>>
stream
xÚ¥“Ms›0†ïü
a&¨Z}
-/èL…ýÕ†Š¹:·»ª¯¤ü™&zêÐm;
+/èL…ýÕ†Š¹:·»ª¯¤ü™&zêÐm;
endobj
-2513 0 obj <<
+2522 0 obj <<
/Type /Page
-/Contents 2514 0 R
-/Resources 2512 0 R
+/Contents 2523 0 R
+/Resources 2521 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2517 0 R
+/Parent 2515 0 R
>> endobj
-2515 0 obj <<
-/D [2513 0 R /XYZ 56.6929 794.5015 null]
+2524 0 obj <<
+/D [2522 0 R /XYZ 56.6929 794.5015 null]
>> endobj
882 0 obj <<
-/D [2513 0 R /XYZ 56.6929 769.5949 null]
+/D [2522 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-2516 0 obj <<
-/D [2513 0 R /XYZ 56.6929 749.4437 null]
+2525 0 obj <<
+/D [2522 0 R /XYZ 56.6929 749.4437 null]
>> endobj
-2512 0 obj <<
+2521 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2520 0 obj <<
-/Length 2115
+2528 0 obj <<
+/Length 2113
/Filter /FlateDecode
>>
stream
-xÚµ]oã6òÝ¿ÂÀ݃T\~ˆÕ§nwÓÛØlÛäî²yPlÚV–´–”¬QÜ¿!‡”%G®Q…‹‡ó=C²9…›kI¨Hãy’ÆDR&çËÝŒÎ7°ö¯ó8±DÆBÀdb5’B©y2†D~¼Ÿ½ù‰³9§D).ç÷ëþ,•$„¦óûÕÃâm]›r•»Š¸¤‹ë«ÇûŸqWL0»‹Â QB*·ãcVvYøu¶1M¿‡ÅDÄŠû=JE¥v{® »Š¥t±Ê7ß"ˆ„¥Ûlg<>OIª¸òd#BÏËnvç~æ<ÁÑûÛ;Uõ¥«qܵy‘·‡#cŒ¤RÆbF¸f(ÌÝ¡¬ê&w2Ì®ï{*J˜
-I´’ä²È& ò”h¤§× ®ó”½ÉÇL&DsšœÒüò7ÐÜõ£z‚z$¬×K­çQï?°»®öí?ÎéBŸñõ"ÛgX悤ŒŠSzíEzí¡þôžûÑ· ʉCÇš¢®ô+'8\äôa»Ë–ß?Z|ÿÅ&H§”Äék»Å.…DøÓLó±"0-é0¶z cçÏaòµ3ûCU·„Çsi@$œÄ û+i`Hâ|è±Æi ÚžgMr¢R‘üÖ$þ€µ€5fmSTOY´1Þk6¨õB"~}÷î·›_îo>ÝöØ£:Àm0²cx],ÔAƒ#~¦’®ª]–—PbºÈËuµßem^Y€H›ýÓ‹ª6{@e©Áµ §Ÿ)æ[þT·UUà
-d[³GJ ^nˬ»ðv Ìä ¹ŠM7-BáxËWƒØv›sí Ëȳ±Äª`Àb¹‚·µ©‹ìàÁíÖ 8+›8.@³Öos¼z·Ý¾4+\^£(»b(…¡V¹ ªÍ.ÉÑ>̬äf"K˜}¬š6Ôþ¡XNWB1H0»¼Ì¯Ø¢i÷Y[9æÜ5fÂ%Pi_|θ4FB…ÒVH°E!;°k³­*˺¢G6j\†Õ]ƒKOf™Y.ÜrµÆoÞúÕà%Øs
-±¶YãA8ÊÚ¥'¹«Vž”³³ýBXcªq
-P1¤PݾO!1Ù
-“G<0(ä\„@jZŸ#Ž!jgÇLÅ ãr‹Z¼EØÄÞ‡MBï8©<Ð9°=c¬Gu¨rÞd·×V°¦O˜]ïmZ´ø*^¼lM‰#›N^ù$%Œ©Ø2ÚN{•ÔJyd
-ØBu÷Jâ xBS1v±ÿbàEçÉÀ5è“ŒN“€\ª„ÇÜÓãùM.LzX¬¡øH}ÑÃ×cu
+xÚµ]oã¸ñ=¿Â@ûà
+Óäe‚S$M‰Ê´‚sÝæ|¹ÜÙ6Xetn¤`¯§¹˜ )1ZE’‹2Ÿ$È3bLš\]$¸*J[õ&3™ÃizJóÛÿæ¶5Ôá¼^3KzÿÝM½ëþpNæôˆïÙ>Ã2$cTœÒë.ÒëÍÿ@ï¥ý˜  !œ*1t¬)Ê’pmÞ8Áá"§›m¾øùÉ)àçoö0A:£Dfoí&Ÿ|
+Iðg˜ác=&:b:ÒqìôÇÞŸãäûÞîuÓBžÎ¥‘r"Sö{ÒÀÄù4ÐcÓ@²9ÏšâDg"ý=¬ HükkÌÚº¬Ÿó2i1a¼×lTë…DüñæþÃßoÿúpûå®ÇÕî‚‘ëÀÛbÁ žñ+UtYo󢂚 鼨Võn›wEí
+EÙžC)¥pÊmQmnùHŽŒôaæ °KYÁìsÝv±öÅòºšA‚ÙUqÍæm·Ë»Ú3à}k'\‚ õÅçŒK@c$tL ];rvm7uíX×ôÈFƒË°ºmqéÙ.rÇ…_®Wø-º°½{àkþ,ÐB~º'¡ÞzhhA ‡®)ª„Å‚»sÄ|7ã6ûï¾köóFç_À6»·óÐ6 ­óâw“¿Ø°Å5~´ÚW yÙŸÖ¬&.\6Q*ým…K’IË yZHb²LŒIÓ#þ}Ùmêýz3q”„ºc„¸dZ™2à¸À‚Ï+ãeyp3¯î%Â_‹nƒ°E½Ý‚ö“²¨,®aH¬÷[[u­3â`\ÄÎ˶F¬MÞΟónHnëe åíì¾Ö˜j¼´„JåØíû‚“/1yÈA!?à"RÛ…q Q7;f*^ZŸ[ôü=ž!öV8l÷ ô:
+L\úu¬ÿä¦)f7®Õü—Û»ˆ‘ªÛ‚dÏ'իɘ€‹ë[ê³uIA»¨²¬_Qk‰t·¬ŒÉqðo÷eW4¥Fw;Žäç°X´íÞ†(ø…‌ˆ…Io±A0‚Î0%ô}.D(†-—ñÇÄvåi»(œ.pËžã:•ß*ÓŒÀ•„_R ‡ NÀy-Ê20™°¹ EÐsêÅwŒaÕEhY´è–NÊj™R„q;Ôw¶[¼ƒËT]¾ÄTfàŸûû¢®V|{î¸oC6¯‚)÷mþmtåǾÛv±ß¶6X¿¯ÝÞÜõ¾ZN©b¸WKuI¥Rô8A¥žƒ¾hDŠÆ¸_¿VÖ‹ø°ê”ÄAð”fbìbÿÂ<À ŠÎÓk0$&
+Wζ M(@½
+5—g’HÆOŠ®Ïm§¡”7 ‰eL­N_ÇÅó‰tH)xëdn}À.ZÏoïÜ7­»žø„_|_ñk.q¶­!”yƒ“ÐÀÀ(4åi §OÉAa«Ã¦Ò¾Ø‡ñ*ÔŸášr¨ý76’»ÓpÄÄ+
+Ü×”1Ñtñ-bdݤG©=´»§ž¹?ë›Ådq®òs1ªü¡äc,=«Ã±ÅÀ{ñëÁ_$j9Ô~/êùž„e4TÖ‹úý"kýÁvÄÚßDaìÔبCgØ>ÜÞÅ +ýEš]h5R5îâ‡OÜ1t[¡qÀ–ÒU™¦÷æ6:vÝÄË€÷7D6ч Ç7
endobj
-2519 0 obj <<
+2527 0 obj <<
/Type /Page
-/Contents 2520 0 R
-/Resources 2518 0 R
+/Contents 2528 0 R
+/Resources 2526 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2517 0 R
+/Parent 2515 0 R
>> endobj
-2521 0 obj <<
-/D [2519 0 R /XYZ 85.0394 794.5015 null]
+2529 0 obj <<
+/D [2527 0 R /XYZ 85.0394 794.5015 null]
>> endobj
886 0 obj <<
-/D [2519 0 R /XYZ 85.0394 769.5949 null]
+/D [2527 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2522 0 obj <<
-/D [2519 0 R /XYZ 85.0394 573.0107 null]
+2530 0 obj <<
+/D [2527 0 R /XYZ 85.0394 573.0107 null]
>> endobj
890 0 obj <<
-/D [2519 0 R /XYZ 85.0394 573.0107 null]
+/D [2527 0 R /XYZ 85.0394 573.0107 null]
>> endobj
-2523 0 obj <<
-/D [2519 0 R /XYZ 85.0394 538.4209 null]
+2531 0 obj <<
+/D [2527 0 R /XYZ 85.0394 538.4209 null]
>> endobj
-2524 0 obj <<
-/D [2519 0 R /XYZ 85.0394 504.6118 null]
+2532 0 obj <<
+/D [2527 0 R /XYZ 85.0394 504.6118 null]
>> endobj
-2525 0 obj <<
-/D [2519 0 R /XYZ 85.0394 432.7569 null]
+2533 0 obj <<
+/D [2527 0 R /XYZ 85.0394 432.7569 null]
>> endobj
-2526 0 obj <<
-/D [2519 0 R /XYZ 85.0394 303.3232 null]
+2534 0 obj <<
+/D [2527 0 R /XYZ 85.0394 303.3232 null]
>> endobj
-2518 0 obj <<
+2526 0 obj <<
/Font << /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2529 0 obj <<
-/Length 3735
+2537 0 obj <<
+/Length 3072
/Filter /FlateDecode
>>
stream
-xÚÍZësÛ6ÿî¿Â3ýPe&bñ ²÷˜sÚ4u§u}±{×›¶h‰¶9‘HE¤ì¤ýíb )Av2÷åÆ3¸x/öñÛä©€?yj²$+Tqj‹41BšÓÅúDœÞAÝ›Émæ¾Ñ|ÜêÕõÉWßéü´HŠLe§×·£±òDä¹<½^þ6{ÈäŒ fßž¿y1W™jvvyùúâÛó_áÛh „˜ýtvñËÙD»|Q@³7¯¯^üqýÃÉëë°˜ñ‚¥Ð¸’÷'¿ý!N—°îND¢‹Üœ>‡HdQ¨ÓõIjtbR­=euruòÏ0à¨Öu2@ŠDéLE8 ä©”IaŒš°ÀI¦•v,¸:ÿéòÇ×´¯_®`S¸'è©F¼§ÀšDY¸.gÔºÿ¸©åŠ>êæ¡]”}Ý6ôÝÞò8r4°$&nœe}™LÚ$Õ©á6«¶}×Ñ«ú]õ5uHÇæR¦Ij€ws™'Öd6Œ>ÏàäþÑUÛ‡jKM¹®¨˯"ÓÏMRX›MÇz¼‡þ2ŸÑü“—‰•2;Í2“(s쀨Í|ÔÈOZDÔ7Âyyå{s*1&OŸœÓ·9˜s²ÙÂ&Fv2gìÎ?÷À(e f’Ú-ýž_RM¹\[:î§~¬¯?¤ö-ÑÞïªíÇRÊ(™.ŠÙõ½Ÿ}Q6Ôö†û»o7÷Czdöš›,Û¾¯–sd#œg*P6¼" lT‹z¢« ‰¶gÁÕyáöˆÔ’¿a¾Œ)ãùPs“E»j›ù²ZÕë&žŽ
-;³ª˜ýû¾âÖŽ7Ø¢Ûm6«Ú;!4éè\4ŸµR± b°/¬¡!oÌZéÖy·[WMÏêÉ:TÒÏ}Ûõx4/cJ
-æÄÈ4û %e¶´«‡ŠçéïKž™%
-ä*:‘«Þ›Á—p>¨
-ã95Jm³ú-S9æˆã*ní…±
-‹vË6m³$=ÂúmÙ
-2€>…ù@ 3êüB†ö"" àjòÌø¥â€8ØázS ç§ýù¡d©“À„ë]×Ó47<sI^fWkg~ÇmS‘(«±¦Sh…›ÒÚpt 3çžìˆØTýc»}GuÓƒ¨”‹Š+]ÀtÐèT$î‹ãJã*¿þÿ»|‡5ÜÀŠ …`  H_—©pÃëé63ýÑ» p°â#U”›MEø·'¦Š3~Aœ–MÁ’?¿FŽÂ&6Í}·¬ÃA
-9š]P$„€‹)Ú_%óLï9]Ò”t†Æ`UÅÄN%E¹oëUå!ê¾¹g¤„™Û<õŠ†wÂán_Ö/ PéˆPÒO³[ƒ}Â-ºOçàöŠDIQXs錯«ÙP
-*–5ÏøºDŽ#œ=©»¡ð H¼[3ZN:ëîÛÝjIô6ë
-êœÏ†Ï "@Ôü˜½×21:÷[›oâ»/
-!÷­Q˜9Å,Ã2æÀ™h1v£_Ä@¡T>r
-oŽ
-šÊ÷±0@ Žý¡T;˜¨ÍH´‘Út=˜AúpJï‘“Ò “Sêo/®¨Ày=lËà¿h õ,¢²×ACø‹ìæY[þëÊV“75õ†Ÿ–`¸÷^ó¦ªX¾Áô¡é¹Û áÛ(.FËï[?9ð
-½i3 )ÅÚĬ'¾„”ë§:T[ i³4îP…Uf_„¥žqRx÷ª
-¼Uªnw«0›[Ê€ (ê®îî‡EFÖ‘6 ¹‰cË
-{WƒH"L’º#bÒÐ9Üb‹®^ƒ? ™DÉöLj² C"TÈÅĽB¯Ì<ŸË
-{4‡=éø=Ž¨1xú< <ý$su‘In‚â<‘ÏTÒúVe{`ƒº\dòÙ!…¯£¯„º$¢ÕF¯zþö ¼3Ùõí`Q®ÜÍ42”®˜ñ%q;܉¢<WÇ× T:ϦxÛ÷½š‹h:Öd–hp%pLu3GÁJÊí¦ŒZ8“˜ÔÚwÝ4ìm¤7LbHžC‘ѬCŸOü ê.¯ß!4rYv9\¼W‹¾~¨VþÍa„B
-ò+Zîî€srEû
-Ù®hxSÌÞ~÷ÌóŒ>ÖUO9õ"¬ÒÞGn ç×ôA³S™!óÐ<v!áT!]^¹èÓÁM{û XÎÎ^¹GB8U¿ [•7Õª£2BhØ p*å» –#£4Ǥ¥°z/¥Ô´Þ½ÒÔ–N<_9~oÆ–©`ˆ×›>öXƒïü5N:v‘/ÂÅêÿü¶wx¹œÚD繊? Ø[“nŒ2ÝV Ybç—Š¾•¯?ô!3àŠÂTúø—S‚ >`‘ÙL¦Ùá;
-~R|Ȉÿyº„Ôendstream
+xÚ¥Zmsã¶þî_¡™|¨<sBˆ‚@ÒéÔwç\œçZûÚt.ù@‰´Ì1EêDÊ®ûë» ,(R¢¤f:ž1A`‰]<Ø]ì.Ä'üñI¬™¶ÂN«Xñx²X]D“%Œ}¸àD3 D³>ÕÛû‹¯¿“fb™ÕBOîzsÃ'÷Ùçé5ãìfˆ¦ïo>\΄Ž#1½úøñúöýͯðG@Q4ýùêöÓÕO¾ï㥲×w—¿ßÿpq}ß Ó˜G%ùrñù÷h’Ü?\DLZO^à%bÜZ1Y]¨X²XIzÊ‹»‹¿uöFݧ£
+Y“ð{l­`qlÔi¶èí`Å6a±´Ém @éà‰%à°«ÞøçÍG?’f™§¡o`ï}¶{ÛÚ÷}Ùæ›×KÎùLMZ;½ Üiåiçô½{w¼ŸÕî‘duÛæÙ ‘ƒÍ„]UjH0Ô|Q¬PaÕÓªnI}¥±nØ›Ò;ðÓÔÓ燑,ê²®fY^«g…•%ÂNÿù˜µÃ)šíz]@ïT1V½‘°I™ÂNöU¶#¤åyç–:9—ÛU^µd¤dI©<ÖM‹[ófÌTÁ©Ä\é?`ªK]>çħ}L‰3i
+¨º³öx¢¶1Ï ¦Q†ÿÈiçïÖù|üj¦¡¶o×ä²jrG)åYWcvÄ:©zÙßL@¬# èÉðQÓ/ïo~¹½;fBJELMkúT!ï<4¡Žjw6÷Yj8 -7§Y¢–}x54ɇ,?5ä>(y@/…‡­Ï<Ž
+ÇI•÷£n¾ ê1¸úSã;«¼}©7O!ÞmÁƒ¥‹¼ÁÓ‚i€“lÑýa“lü{¾ùÿ»Ð?ž^ \`íB:˜ƒâYè_¥¯¾Ë×ø´YC.ÿ[ w²á€?2¢½”x½ÎC” !ǯ<²¼¯¯:biìŸG°OhH€ÞÉu8 $xànC
+ÔQ9zQ Ë´éªEy,[Ð0K<)V k¯Ú!4„[±Þ¦íâ³[3]ÕY(—c™RÒž«ÑD\%ƒWŠ‡§þQÎñFÖ{|ì¡€ Û!îΛ–>Ãd©©ˆ´ð ìÒQGæŽ h,‹g_18(iI–Á÷`Þg%³xá‰ÐdL<½N8eQ›"T%4„¯Üꃚ^€ëjœîc½-3ß?§>¯‰Ë´*þ“Ó«h¾›£ñY"t½8?®]=畺ç\Ó¡Qx˜3müЮ愓Ô#Û,¼X‰Ï2ceͶñ'„îêL
+|ý~L¸d‚9 vñ—NWd(È·6í¦‹Êtž—»úS*Ü¿Eq" “(hrÊÍúõíª¦éÒ¶ÍWëöDqˆ îFœÑŒ>ÕqÍ訜f< µŸò×1G×
+4ïïðvvÐIî7AÁ}#xgÿÖw¦Ip¦ 9S÷½÷dÎ#òéaßK"¸ú6æÁçU¾IÛ<ÔÇ%¸J¹WÀíD×ËŸ¡¢TdŽ‹n‚"Þ§ëeÙb¸-•*Ž¾í㈃ë !âÓÒF% ѼÁj‰ ¨p*Û!ßPñtÒ»
+¶œ‰EAõiñÂ(Ƶ޳¥*ÏÝùhè ƒçSU¿PcYß4èI±¼ëå²ÞÀWÒñ†VA³Ís4Áš3w¡¢ò]oonß¿ Ÿ†OÂ3s‰Œ›äÕóß]àà¤ã‰‚'Yo
+Øï±ðA1¥ãõŒnYdM—ÌVÙØU‘…`/‘go¦"ĺ»ÀjA&,J…ús5r‹IŒµ]© ·8;va¡P’Ķ Žù'ŽågüSê„
+TÎ?­N.BtÂO³ D#,Y–Äzœ²¼®èŽà[å«:\)l›tIÝY>ß.—  G1%yÑq8‘Cc}Ö[‡Œsï'ÊšÓBšC¡ö~ ;êÎ]ÄHAù6(s}µ¦þQÕÕ t´ÊÒP×Ç^Ÿ¾cËy´þT»+^4b…wÓz_Žä{ä.Ók÷g…xørKC¿p_®w÷ÿÆ€1 Çþ×*VvA§¥ ºÐÉø–»}€‘6oZß“úÝvØÞÕ&’Sa^N]”êæ̉ ž0Ëm¯ ¿ã€©D ¤Röâ  
endobj
-2528 0 obj <<
+2536 0 obj <<
/Type /Page
-/Contents 2529 0 R
-/Resources 2527 0 R
+/Contents 2537 0 R
+/Resources 2535 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2517 0 R
+/Parent 2515 0 R
>> endobj
-2530 0 obj <<
-/D [2528 0 R /XYZ 56.6929 794.5015 null]
+2538 0 obj <<
+/D [2536 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2531 0 obj <<
-/D [2528 0 R /XYZ 56.6929 752.0221 null]
+2539 0 obj <<
+/D [2536 0 R /XYZ 56.6929 752.1413 null]
>> endobj
-2532 0 obj <<
-/D [2528 0 R /XYZ 56.6929 467.8664 null]
+2540 0 obj <<
+/D [2536 0 R /XYZ 56.6929 470.7332 null]
>> endobj
-2527 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F49 1308 0 R /F54 1383 0 R /F11 1509 0 R >>
+2535 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F49 1308 0 R /F54 1383 0 R /F64 1435 0 R /F11 1509 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2535 0 obj <<
-/Length 3224
+2543 0 obj <<
+/Length 3651
/Filter /FlateDecode
>>
stream
-xÚ¥ÛrÛ¸õÝ_¡·Ê³  ¶“'vÓìl.[;Ûv²y DÈâ˜"µ"¯öë÷
-©áY¤€a S4%˜«-aÙ^s5Õݦm:BœOw]Õ<ZÀmÑtÅ¢¯ZK3R_ô;ûýÊ${¸ÿžü•er£ÕrOïHØdÆS‰ž<Ê¥ŒI0ð¥Ó'm 38ŵ¦EOIj„eøKü±T&ƒ³§1$‘bJXvƒÌ€q%<Ÿþ×èeGECu×ÒRÀFæÔ•Ž]õ®—´H¢J|6]´ëµ}:­«fÀ‰†çQÌ€³pΰœ¡ÑKÇñ~ŒcÅ SŽÿNp2 àD¹Çnµ.#‡Å€/O-L*‚of°ßà(Χíòh ÅôŠ†¥^»º'À~¸y;ûp+_P³4byæôÙk}Ž$¯ôšÌ[çi¢ªÎÈ^ÄÆG„“=÷®rJªI2' {Ä1qDxšÄÅ"·Æ°)8Ó®¨iàœOÁ»r0O×|j, Æó¢Ó³4¡=Ý,ÚR—´Óõ[°'ô¿„£ZªEQ×öGÝèmÑã±%­Ì÷ôVÙt^Ì€€AGVèÅ‘MÉ4C«|[ì(–M»U»«KÏ5=ûâIÛíç•YO6ûãf­ÀM{É®|`×t¦{®ÁʪٮÓ[Kß¾ëõº£IÑ0ã¾(yãú!ß«®š×vR5ÖKó<Rùq#ÍfâH¿ÙaÄÎ’éÒÈvM;›%ËQ²tK`UCsF·Òuý—Ž&«ªëÛíž@),¢¥(6ý·‘+¸ C–
-¡°ÔìÖscœ®¡îí’ +ö•çUAs±²,ñÈ¥^ô4'“„¥ç¾lV•{©nÛ§ÝÆ‘@…­‹RÛecÉÜ•„°b ,g >–¹o•U·©‹=Y4ıû3_,1&L¬ëìR§{»·¥=‹Ã-C„Å#ç•1‘GÂQ&¢‚½•¶×q^QVé<þR÷z»¦ZGä/Aºqöt*—Ž½ ªÏg
-˜Äz€[5½._Yo£(À¦-œ±µ&¢—ÌÅTkÝîú£7I½a ¦IÁA¡<Màg9ZÐtWj³ƒÕ(ŸŒpÙ„X˃ ŒÛ8Ø™[肦à÷Ï­AnÕO6«º<óƦÞÙÃmÁ3S~80ØC¤Rå¢öcŽåYæ¢å}pÔÜ™W!…a#sáÖŠøЊP›,#•¤ÉPŸ¾úŽs‰õŽ±M–€+ ŸLšŒ G’À=í.a
-ž±R4ˆ0.4íX¬…bÞL¶³ýˆÛoñ
-pˆ /ù‰-X”drÔ,¬ïÚù·“¶ŸEL*èÖsIÅã÷hB™.=ÉGºte¸üڴߊbYǸ¹dQ–Çê2ruŠý¨Ž•1>Dc£Ï¾i›ýš& ž‘6$…Ê@úÜlÉn›z¬ŠH•ôíbtV¨)¤WË„@]ªƒ¡n\¨—B=Æ~F¨!ú{íªŸ~ã¤(ð¿»¼G¥Ð˜L—š´s¢2Je’½ º
-,à™PrV«þ¬Ö°ñ’«ËZ ¡ÎkÍCZ»E."?ü öqƒ ¿ÇDÌ! máÀh £¿ÑÈh
-7·ôÄÂw´T}A+Π ¤zÈàˆÐC ýÅ <Tn‘n ë»£·\WhÛ¼ßmm ‘ÈHÅŠSÅóJÛôãMZXlËÈØ™ î¸ÂÑŒK‚B±QÜÓzP‰ÂŒ’££Sñ6À´Ù0‚¼W@L-ÓMB ;_Ñãúba³= HQK '®ëŽáKÔm íFµØ‡\©WVjPpG ¿×œ¶ª¦Ä~_wîSŸ„2²UPÎ ¸>ì
-™â~ÕA²/•ï9'ï…'w$93á
-"«žÄª' Õ“\VÏ#ŽŸ/«'€º åÕ3‡t¯—йôg+Ö‹*Ö
-Æ+Ö 7}¯×P“`R&µ½/-4Êt šÚ4«kÝuţɣ0sW
-‡w·ï™=¾û‰¤òßFÞŒÝ{DI%€ù¾Ç+ÙÜÅS ³ø½ZïÖ4±—ø˜?%^ƒäC‹XW…ÍrÃBGCcš™ÿ:£¿Yx¯ “TBÃo×MF÷µãÏwĘ<›þ‚ÃíÝ“Áºë»ªÔÔŠ™‚ ?$Òl€˜
-º]ƒwv#%Ôn3ÌÿeûÜŒ~1¦¦]îž×å¾Âžð‡¦hö\¹zbQì:=Hwôk ßÛÜ\»üÙœŸ<f‘ÌòÂguÁ×”Ÿ‹Ë­ãE䇲ãûxÙ1@OΦ¸MkÊÕê0 ÖGöW |úö–žØ:.Vzñdªa¢m1¯ui¿wÂ
-UÄŠÓýJxÊ {L £±e4l »ÇXŇ·ü7E<ª½Ð-úغÑ[sÕi&`÷woeüI±4ø]ÌYSȲ(ÎÒ,!
+xÚ­]sã¶ñÝ¿Bo•''_$ÁëäÁ™snœ¶>çì´é\î)‰s©)ûÔ_ß],@‘$%ÓŽg,Xb?°ß Ÿ0øãL&j'*'óõ›,aíý·034ëCýøtõýORO’ ‰D4yZôöÒÓšOž²OÓ›‡‡Ûûww¿]ÏDȦ·Áõ,dlú›û_oþNs׉˜Þ¼¿}„Ç(d€8‚Elúîîýõ租¯nŸ:bús&‘’¯WŸ>³Itÿ|Å™èpò
+,àI"&ë+Ê TRº™òêñê—nÃÞªyÕ'
+‘æø 0ó; Ùì ¿ a“74t´4Èð,…š6yKë~§ÃA—˜ŒåÈ4½‹cí€jŸF€û •3ñâÛbûýg' î7
+“ ˆ4RY{dV6|pz0ÿZ”%ÍÏk€6fbù¤ÙUZ-óÆš ¸*-!Ì cf#ߺH`±Â¨ªòÑj“o‹Ôºùj·~vŽ×ÅŽÁ6±±áñà Žœ ̽¦çxÀ{ALŽ…•—O¢aÄqÔ ô„¯$„Ù0ŠÎ;û>ÔioßAÛ£L$ôèJäAÙg’,Ç#”Û¢jGr~É· 9˜Ñ‰¤•pþ­hO‹‡ñ@ðäBÊÓ‡:#ÕwÔ‡1ä<öÌÒ,Û‡Ã$ˆ%¤qg ë <” ¢
+bÁÂ!iÅÜïïŒ ãëôÁË’‹ÕÚºØ]IMõ–¦×éfCŽ^2ä›Úä Mc8Ìa ý˜)!Œ{rˆ# XíHÇî'î\Ta‘
+Hî^Ô%4ÖhŒ_JÈš¢D½iV·àågøõµ±ešS·)*äX‰©a¦ÑÙËüLYWðBY¬
+°ø# uÀQ‰ÅÎû+v"ŒJ WZˆ qT*•ô¹W&ÏÌ,‘&íC´´b €Øª¶,å@)‰ò"-b>ôæ° ZÙP2ùR K„âDÀˆ ^(y!I•A™²@o<»€WÓ̱=/Ó¦ñÅ
+ŽÆïp¡!{â—F¿p!zëOšŽs㑇"eɲbé;”(H¤t ¤»ê†Ò–²Ü[iæ[0—uC¢Li’̉ÆƘzkN”ÃÈ8ˆ$–2ýc*‹/ÞDLƒit
+Ö$,
+çvqS8¬Šçç2§e<™´µ U†¡‡†c\¿{ˆ‚›T²Ó’« qŒYØó®%Ð&·èÓ²©iÊoêlxœ³Âoê
+ªðAÊŒ¹ÞÉ°bÖÅby>lõ¡N‡­Ê·÷Wêò 2ŸVëtþöó—|ªû¶ÉçÛ¼*ðÌ£ó„: ¡3†0 XPúX,‹•FO ‚À)Ú“Çù§Ç»÷4ùZ´+š#冩%è¡}¬Ü5Z±-U`¸;èèQ½Õ%ÎÍYAxŽUU†‰>xp£ï
+¸¹™9é Ð¶û Elª
+œ±KqGø8SŽÑÔ_±kŽgìd±4ïG—ªç´É#E“y5¯3ca°Ð¬¬ñe´ˆû›çÖ'*AO´jŽÏOÇ¥>E‹“ˆ¶éjÓ Š!ˆ¹e÷('ÈÀO”Ëz g¿þ+&2IW“ÃÒ|UsÊ[þÄãfá ™Žâ³uú;†ËâaìSÄ]jÅû;0¹/³—(4ñg·‚ªÏ³Y1„µ?½YýŸ6³'}¬´zy@àËÅ7¶Ñµõ85< Ø5äâ"ù¶—w·ð).$ΪkbœÒÛ~OÎ5!“´¥"6(Ë~3*Zê z¸’ ÄäªÝ  ļ7†ìš¡°uiNåÓý‡§Û·Ôèù7†¸zGͪޕ™í
+ >Ì°Ù'ÒÑ5ûr¢ÿ÷`OJ pðRÙ9< ¨QÔen.(yÐÄ4o\WgžvŒßïÁ
+ÂÖu¬ñ¡!¡®«Ã†|5TX“Aƒt“)ëÁ+>Û‰‘$peO+t–0Ç„U„ÿú#‘Ú9‚ªöù
+$IwEB]5­ò%ÝmÀöЖ§•+0kôÕP%*ÎôDdùú`¯ú
+C‚~›îŽ4]çt½)s_Š,!¿r¹ÇwóÌ—[ò@ñîæÔ!Äk”É ¾™ÍCF}ëA¢FáÈËϳE™.ÿÈu Ýzçýûpr]L뮟ó·§Úˆˆ”ŒÏ·-úP¦ OÛ¢ƒ2L~ªêÏiê˜tÔCLY…>¼ƒ:Æ>4îJˆXñ!z{½Ó쫺ÚÛ[ù…«V†]Ô˜ì:¤–ìº*÷'«•ðÒ 0uI¦ 3"µ@Òü=ƒ¹'Ðêòìá~¤^d?ºâ%ušâÿ.™¤ŒÂw÷Ö¿­?!4®£@ÆìB­uZlÔAnYV Y¤å‘ìb(,™¼@@uLÁ(-MÀ;ªpHÂ;JÝ0oŠ¦Ÿ²šT—ÂÀfvŸñÉåþ0Ý£Ù<ÛdŠLlB ú!3ß”‡O"Xb½"èª[e?5€_ŸÅNN)Âk,=ꄹ­ãJ‚¶è _®ô¡ÎœšƒêÚYÿqùAÝ°ûõ}€þSñÝœÌiá
+¹b¾ïs¥\Y©A)c EÂùýÀiÉ}òÒ¸WLæ×—Ñð‹#®O0«ûÌq=~õA²—
+£„“õÂ/9ôº •ù0 Å5–Ú³¿>ÑÄ?ÀÀû_i¸ev³Ã> wÌ&]is›tkñ)&öj}ª^ÓÆíØ;LÏA¹¶Dדë¤tôŸ±•þ}« ]oºµÓŸ„„ôü‡ÌiÇdan©<Ž"R¼ˆÅÙÁŒ‘ŽŠ•’E>Àúè8wâs]&Ìðʲû¶Ñ™.{>8´,A6‰ß zÈd]'çþÔõð!/¤fRkáçX2H™pGrÌUÊ…’¾µ3<Ávì…ìö[›W™ëW=Ò—zôðOãHé;× ëK!”:µˆ=bø/»%endstream
endobj
-2534 0 obj <<
+2542 0 obj <<
/Type /Page
-/Contents 2535 0 R
-/Resources 2533 0 R
+/Contents 2543 0 R
+/Resources 2541 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2517 0 R
+/Parent 2515 0 R
>> endobj
-2536 0 obj <<
-/D [2534 0 R /XYZ 85.0394 794.5015 null]
+2544 0 obj <<
+/D [2542 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2537 0 obj <<
-/D [2534 0 R /XYZ 85.0394 626.0593 null]
+2545 0 obj <<
+/D [2542 0 R /XYZ 85.0394 385.1749 null]
>> endobj
-2533 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R /F49 1308 0 R >>
+2541 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F54 1383 0 R /F42 1288 0 R /F49 1308 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2540 0 obj <<
-/Length 3155
+2548 0 obj <<
+/Length 2975
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿B3÷BÏÕ ñŇ<$µ“qÛK|±›ëLšZ‚,N$R©¸¾_»X
-þõæïo~¡¹»Ë ÀÞßÜ_~}øéâæÁ3Óe˜E9ùãâË×h±¾ºˆB‘¥jñ /QȲŒ/vR‰PI!ÜÌöâþâßagÕ|:&
-ÅôÏ/eõu¹[n—E q&âE瀲‡’æ¼CšEY(3yBûe]==mu
-’A³Ñ8ÁþP”MQ>Ñtµî-Ë (‹¦¸dA¾¥÷eµÛé²q‹'Ȫc³?ºÅÀëÛC}ׇº¨JOä›`Mˆ8E„
-3ܯŠ' ÔÛiª„9˜¼4‚E2ÐQca¦7‹Dlî£>¼Ð°Ú7ÀDM/Í&oh´É¿[ØG­Kåûý¶Ð+°aÁ¢àaSدZaÀ‹›4Õ+‹Ã[éu~Ü6áÀÔ­=%°Á³ìŒÑu fŒÎAµFG|ÖËS—èë³ä=Ô~_" EÊÓ>­å9IÛÁª¨÷ÛÜ)c="ÑmQj+Ô¢<ùš,ÍkD÷ÄÜWHSuÓ#SOê#Nã0Ky2¯.Ô´><”×°Yæ;=POCÉE6OÝC ÉŸ¨C€ÚÀzô¯õþpÉÒ@/s0Ò¬„h*÷f›[Ñåô¨_ʪ|ÙÑ˺:3*Ù¥›rçŒf—µÎËͤ„Q<B©3î@ÍHØAµ.ëZ/‡æ¡”±˜'Ôûæ (BMü' 1¦_»b™
-®?ÜßßüHc+÷Ê<WàQÓ³6Vof^ÜLCq_ŒÝŸ"üø³ý¢°Ÿþ©èú#üÏ轆eqÐ@
-ž‹fƒ™—ÁgÌNòm±¢•ïùöH)‡
-òVÔ*ˆºÈd
-î#Ær Z[R&ô
-+9=îo>]‚~~w™ÈàÍí/!M?8ô>‘F$¨,ÃÅ[‰c+%¶Œ@ö™&ØPè¾ãÕIJMa¶—©»œØF“Òý¬¢¬;Ÿv4ÇÇ.8ù£†:®€Ü¶7i<ãAI­Î$ù]¨iãñPÞx\ý;!gÉ·r@<Bö¸ßTÏt~©Ð4 Î^U4Aʃ‰`¾ÒœÍ0Dp{GkáY™Ö´`OKì«CcM0°r‡õHµr1 ,k<»¦Câó‹m¡äÄ)
-1JÉXúCtƒ|Œd Œ¹çŽNDkŒžtÜc-sÜ®i–ð™!Ô7;Óö;à M¢oŠ(‘ºX©DÇw:dI츽Š¤Ê0‰êÈÚè­ç
-uu¤”¤M¾[Õ˜‰Òm¤ã%V5£ùx×Û¶‡Ío¾ƒÕ®NÓ}Òݬ'EYÈUz&ïBÍx’ƒj=é Ü^Os³ÄÛbn@}¼˜ë‘¿EÊ. ˆL¡œÇjgcW,˨:‚¥_¯ïhÂjg_•µI%"ì^€ä+Z7
-‰\ЂJéC™¼„`~¼»d<›…·/4m- «vìz
-71¸tí3й;N·Uõí¸?×&Œ,M!&e¼M»j:‘m žòUØ´qÆJœiót¡fÌÈAy3ÚÁ†
-lìHF¡H26OßC èÛ8”ˆ#ÙçàŽú‰’§ÃÖNn‹ošFÆÎppÿñ ’ñ0”à3§DéǪ¶_š^™­šwôÞÜR§¸£Íq——WdB$qt’€YÃ[QÉ >Ôi…^%±"sÁyo.ø‚§˜Œ¨?ﶕŠSdv8yÒP2s%*§W×ÁÀ)Ü D2)2v/A›MÞXà¶Ê…õ6²‡ÅÖ]ý3nØ•
-4u—›©´ÍN¤Rg×}Ò…;{Y¨œ3L¶E
-QÙ²»‡éãá¨|‡h®óÚ":i¼ZfG¯<LÛô௖éïºÆR±Á Ç$è<â}‰OwI¥i­{œmi2\³ dÂÏõˆºPÓáÚCù£Ådh–tÛ#Ðïõˆß–ËíqåK4û3 ß`3ñtPïÝ^w&¦~uÍw× ¹òkþ—¯pXÌÂ4Îœ‰]¨!;¨ŽÇ/}!0K¾-ôÇË…ÿ¡ÎÈlB8Œ|cٰΰ…Ù0ûÀÓŠË3éG²È9VÞ@Œß7­9ŸàiNŠ•cDÓ ?6›ê€5ø`ŠO ¡â-:÷ì·&‚³T…k[´äxÿ­0Ãä2swPÞ(ÂÁ‚5-‰h¿Š5‡‰t0}ÜÓÓw&Ú«~˜õxL2ÜZc›8”ëLغ¦G¸kÓ›¼‹Ù¾.ò} ÜÚ´ýFIs!ÎØojÆ~”·_ \Wùdc–xÛÁPï`ôÈß¹=`.¾}q##n.Œá >`!J×Ƹl3Ìèñ)˜ë!X`6±àÍoï>…l‹OÖ->™ ÚÌöü¹­&¦;U³9mbY¦OZ`ÝØ5a^3¿ù€"³s¿Gp0s¿F00^ùN)¹¨Ä,A qJï$ÇŽo"ºïÚ߸|YU®gÞt~
+xÚ¥ËrÜ6ò®¯PÕ^FµMàëàƒlÉ)%^[)©­rtà 1Ër2äHQ¾~»Ñ
+æR]ÚPÎÞ}
+ÓóÌËâ >ØZg¥žŸ¦ìü¡ø¶ºñ˜w'ø«ëÛ/.ƒ8òƒÕÕÝÝÍ—ëÛÿÀ<ò
+x ¬½ÀO‚i61/a €μ ã¡aϦؤ¡MÿüV7yݾŠÃðÆ,<ÎãðÜ>v„Ü@±…‰Çƒ$qÑ_—í¾Ê߈÷ߊ†uÓÑ  íGšuÏ‚Š^9nŦ+›š&ÍVÐãpÁÒ•ØWoŒ±H;dþêAŸRˆm~¬¦²U8³Ú켑:(žÃžï3vB0Ô‚`4T/˜c÷ÜÊîm$Z“dl¿àʆG^ûÜ¥ — ײáZ6Ü‘ ײAO²œöâ 3'ñð)ñø‰·ÅÕx¸·ÅÃŧ¾—øé²t, yáh #›µh;±Ý6‡n,œØ £8YÄn€Fè]Ñ
+n·J†GJ2°ÑK& ¸>Ü"ó’ÜØ%¨PE¤´›1hš¶U·ó² SGY|B˜Ô‚45”çú¸mË¿Äû#I²Øãqš.ã6PcäÈ`×g.ö{!y“h÷–¬~½¾£’M€HΖ_²BŠq¯òâEº²%F&«c[ÖO4¼¹þrï«ã¼Ý»O·H
+âCf
+™9û©—žb=Ìw ¦çmÝB;›Ë, í3™Þé<ÆBü‹IX™Pc7æ(
+dY±—daìšå&*¯¦Þ…Ùð©ž7*. yÙ¨,¨£ÒPƵ
+ð­ßÞÿãq6XDߧ#üÓi„CÀ=êäVf ‘ö3‘)¬¹•Sâ~CO“íEPžwϘ-\÷eA;/¦Î¬ÖL|û0¾‚±< BëÖåÅéQÁ%$)$¯ŽH hqÔ,@•TÍi†´BwÂE>¥“€Íµ‚5Í‚Ì÷|ž2­xuƒB›r‘—Æcl*PÐV¡’®'՛ح• u'® JœãúÞ‡ÎÇZѹ‰™ÿ÷rå ã
+Nh6Ô¼’(£äÛ¼¬Æõ¯5 –Q¨1nWÁe#.ˆ\ä×(ažPÅ‹ƒNÊž§J ¸%þT{ºcé‰àùÖ ^yTAvrzÜßürzúÛ§‹„¯®n?{´ü 7É3‚Â’TÌ•h²R"‹ZŒ¡—&Aæ*€iœÈZÛvvî–ç¨RÂÍ*êæ°3iGw\;Íúðµ€Ú­„Ü®7¯<*“S…– µ <Ê(®yg=ä"úÞCŽðO{H‡€ûçæ•â÷7ìv†P[ -ð`¡˜GZSF¸º½£=ÈðO[ÚPÑ’¯öøM…:Jg Èõ©GªƒùªÿŠ9ã©cF|&Š‚ŠxÌM}Vßv†p#cÚåéЉÇJ%†'…{¬ß〭n·´JçÉ!õép¤>z¨‰8±zƒ²p
+Sí+£Ð² -±¯§ú…)÷²0‰ö!åæ˜BÛ)%é“ï^4ôiFj$i%J4“ù¸mƒ}«Cå7/e¡ë¾áÝ%Kb1#w¿hI6Ô¼%¨Þ’žÀìÅl·ˆ¼/äFاK9ý-bÖi€/‹ãtu¬7ªa˲Œª#Ø’†pÁéÜÒ^YƒžäíKøÚi ¥ôÁ÷e^B0ï.XaS7>¼Ñ²Ò,¬Ô±ÓññÎ=©íB—Û©£êG‹ùÖ'cþ¼!:!R jA¤ʈô»ûf/êY縈¾wŽ#üÓÎÑ!àgÀ½"Õ… YH¬Ä•¶Ù|—õŒ%}r{-ºWA.31ä´œ_b.åo°^ª39}-BúZ„«Ýc¡RÏ¡G-^|$ \ú¢R·`ä@ä:œVMóý¸?Õ'Œ,MÁ'eAŸ0Úbð6†/2UØüo0/HN}«²€~¡€Œíà6%ö瀱€ÜúýÅ
endobj
-2539 0 obj <<
+2547 0 obj <<
/Type /Page
-/Contents 2540 0 R
-/Resources 2538 0 R
+/Contents 2548 0 R
+/Resources 2546 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2517 0 R
+/Parent 2550 0 R
>> endobj
-2541 0 obj <<
-/D [2539 0 R /XYZ 56.6929 794.5015 null]
+2549 0 obj <<
+/D [2547 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2538 0 obj <<
-/Font << /F38 1082 0 R /F49 1308 0 R /F22 997 0 R /F21 994 0 R /F54 1383 0 R /F42 1288 0 R >>
+2546 0 obj <<
+/Font << /F38 1082 0 R /F49 1308 0 R /F22 997 0 R /F54 1383 0 R /F21 994 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2544 0 obj <<
-/Length 3246
+2553 0 obj <<
+/Length 3210
/Filter /FlateDecode
>>
stream
-xÚ¥ZK“Û¸¾Ï¯ÐmåÚC¼øHÕf=³Ž7‰k²3Ž7åõ¡Ë)‹ÔŒ'¿>Ýh
-™š­¶WáìúÞ\1K³pD‹>Õ/WùU$³4H#ÍÖ½¹’ L6{È?ίïînßݼýãÕ‚«p~¼Z¨0œÿóúÝûëPÛÝ«”ϯßÜÞC5R!"†dQ8¿yûæÕ§‡ß®nübú f¡À•|¹úø)œå°îß®Â@¤‰š=C% XšòÙöJ*()„k)¯î¯þå'ìõš¡c* —Ñl¡d ”ãb
-ƒPÁ¶±NJNL2“£B1ýø±ª?}9è¦-êêxÏ,âA,“YÞîŽè”;ç=î,Šƒ˜§bÈþn_T-Ê_Ì?æ5ªÚ¶ì°ó–ù¼Ýhjôk5µF¯ºJ½¦oæ)÷/T|ÞèŠæÉ,mV5ÏzO墡ïþKæº=ì+„LçÀ„ò‡Õ'pX Æ‚T)Z}®×Ù¡l Nfø¶5}wvkØd…Þâ¡Ö-*™žÑgUo·ºjƒÚ³ŽÒ(ˆ•ˆ§ѧ:Oå±×«Ã¾Ñ'xP@‡rš»§:e„½,òÀ[Y?>– 2‘0’H8H«}Õ¢z¤:žv€Í¿¡ïŸ¡
-é(qFÀHŸë¦ æ(Ñ.‹–
-EuÄŽÐÛ`7
-=ž0¦1ا:AOÕY½µBÍ cÄ¡¸°
-Ô´ŠèQM¨GÕ™Œ6É
-8Ÿg’wç0÷ŒÜ) ËEâ3xP¤ •[“2°46”ÛCFé×ôÅ]@PR¬š¿RNÄY¡£Á=NÏ™y›å˜à’utMñ_íÀRðñã<¿mtÕvå‹sÃìõl쵬«I°-õ&{*¢¾ñùÁ%=»­ŸEG¿)’bA}ªóòTAíjwÖÈLrîŒÌ ëq#3àm¢xáœ9|â¡Ü‰rQ<–^ßQ]GáDGo8ÆDTÂ8{˜ÉDÇ$
-S›¥‘i/K38(a
-IŒ­!¶TÀ”)E»°ðTq>-6çõbsÆ¡øºÞÿün< ®R¥ÁaÒÂNN¨4/U:Gˆ'6*ˆ…´
-+ëº,ëç>“µÞï³Ò¾õŽÐÓÞ‘‘=h|
-»æ3zn™#Ïhý¤jÇk:ó™A÷ NÉZ’g÷W îUÄ°Œ®=ŠÅpzœ¡{6±† Ç[¬Æ=ÃTyÏЇ™¥ GÌ¿\†Aªý³Å
-}ý„Ç#’ø7)^endstream
+xÚ¥Z[wÛÆ~ׯà[ ãÙ+°xȃ)®ÓVU-¹Nã„Dƒ
+Vv몬ó 웪 ÛØý¬êª86™ÆÂbÉT2FQà4L¤dzæ-7 2ÊÓcј—ç´8Úþ¼6O+9Mù;!¬ÔlàõXç 5„³!³ß•VèЬ›´ÉvYi¿w‚=‘)2À•ÝðY³þáÁžCØÛ㘀d êDø=Ì­D å<¨e…
+ÆBÁÈ
+ÄG³|=Ñ ã¾¥<T4é1~W®‹ã&3ûNKëü¯oïMKR+“ó>;Ð~wmžFÑ_YݘŽ—mV:òrã}ij@xx½¤”ÓÒE§™ðøŒx;T3òuT·@è 9ba,Ô<wGtʽ/ä(cn°Çþ£ §hˆµå†VµoòÊöº>@Þ÷#á†+”Ågâ p¿„9ï–6`Û÷Wû%xj±q+ÉL#=6Ûê7Ö®a—Ñ»YêÝNcüýV[nŠÒ¦LõMܪa#t€  cÙ`À" Z«ÌUõE[8è>îÍÓØUÜäõ¾H_M¯ŸçþW]0®+ýÜ8ªÔ"3K×Û!ã.¤·`ã{¶šµ¾]74pk“ð•€*‡o—j¾žÊÃ8×Uz^IÂ8 Ì2÷T§Üû ’2ŒcAûìï¹ö»’UY 
+$ƒzdÓþH>úЀ*¡M ­Õ =Õ |âl öÙä¼³( Ö Ñàê·_Þ‡†øÁˆŸ¶á¾{M5º‘j¯—©q)d¨˜U«J]uºE;h±Öµ^«§Q
+a?øÄk
+Œˆµq“b¬4ÞßuY£% ÁûkóDïhlÂ}@¿Éj›+mŒÏDÚ•.%@#/ìºáóvL‡½lG­ë/ðÑêÕžA0êDÆ£gstŠ9×1R’» ÎøH
+)X˳e¯„E®`P‚cO 2$‰Î
+p…Ä;S”‡I¦½Á<«1—*xß±&ˆ X…4´É×fV‚À0]ÙÆF¤4
+#Âx?"m3Ÿ1÷Nœ#P¸+Ö½éf
+ƒý–˜RÉ mî‘Ѓz1½ié:O›9„Y–¬ãâLfàŒš/OÀ˱žqt -d ó°C4}þ‘^þ!k¯?>LÖçض5Ä!ßñb—ñ}¦+4Ül¸""¶µÇÂÁÜ”`¸¹ 7-Nxýp}g`}bŸ˜¾‘Ú¢€zá4þ0¢I²ØçeÝdéf°H·ƒN|ÃeÀÐUÂIþ€•º"ÿ2†L@=á$ÿ ¨Â­Œ J"ød[3 w.vSeÃ
+/{8±µi okÓÌD‚Ø©a…ºæ
+üÜ!ßlt)û_Çb%B%}™ÝÜ Ž¹™$„“àCÁ¬É°‚“ÕfjsÁ#Ú:!—,dbp¿c+qÌ]™®×Š=µ`æÂtŽƒ;èÑ .÷ÌVq b¾µã°Í`-K`†{@€îܲȞÁmÔ
+t¶>eVÒã7il¨Â»ê„Í›.Õ´±ñT­±ÙV‡æÄÖPÑÎòöT§ÌwàVàxö¹ß8?çþÆÀ Ù¡öwº8‹`xîþtÆïë :é1$¯*Ç•3­
+1$^ìÿÏi˜/-…büo dá0÷ÿU°ý#¤ˆ!SRA'ø÷„ºE¡”)FÒ"’<øéÝ­ýŸ|*§9In¾5Y Úûã~á˜~ù—®‘dºn©ƒòüÿOÅð_š/4endstream
endobj
-2543 0 obj <<
+2552 0 obj <<
/Type /Page
-/Contents 2544 0 R
-/Resources 2542 0 R
+/Contents 2553 0 R
+/Resources 2551 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2517 0 R
+/Parent 2550 0 R
>> endobj
-2545 0 obj <<
-/D [2543 0 R /XYZ 85.0394 794.5015 null]
+2554 0 obj <<
+/D [2552 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2542 0 obj <<
-/Font << /F38 1082 0 R /F49 1308 0 R /F22 997 0 R /F21 994 0 R /F54 1383 0 R /F42 1288 0 R >>
+2551 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F49 1308 0 R /F54 1383 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2548 0 obj <<
-/Length 3034
+2557 0 obj <<
+/Length 3172
/Filter /FlateDecode
>>
stream
-xÚ¥ZmoÛFþî_!à8‰6ûÆ·ýàÄNª^⺱}¸"ÉŠ\ÙD(R);îáþûÍììR¤DÛ9´EËåìpwvæ™·•Å„ÿb„,Ld2‰Í.‚I¶:ⓘ{w$ÏÌ3Íú\¯¯Ž^½Uñ$aI(ÃÉÕ²·VÌx‹ÉUþizÆ;†øôtþîx&ÀËéÉÅÅÙùéüßðp`ΧNίOÞíâ8¶wg—Ç_®~=:»ê„é ,¸BI¾}úÂ'9Èýëg*‰ƒÉ=¼p&’DNVG:P,ÐJyJytyô{·`oÖ~:¦
-*©:5édLMž Õô¢Ý¦ùùjÿ¸‚ƒÆ…
-'ý5v–²·µà Ó‰ÞÛûÒ´ h= §í­¡Aµ]-̆ÆõÒM+ãùj÷Ü<Ðàúô‚߶2dkÌæί48â«·îÉ%Á‰
-¦UkEàÐRó—î$¢w’H0pŽÐ$/nFN+"Æ‘t<÷EYÒe]¥M–pC…“:ðú|eÚìUf þÛLJ€†wsð´jÌT’© ñ+?¿h"™æ‘èBÉOn âg[k‡™³X¬@'<³Xå,”΂m qU1µÆGˆ%Ž³ñÞ mœÕ«5„‡ M;šbÞóB©¦¢XOÂ@‚ŒÕ~ §J–Äq<žQgÝŠ³þ’‡+aV…
-;Ù”¸$Øà.+¨@‹uéÛ•Å(@EDòL €1V \¢b¦Ñgð æyáR‰¾¢KþÔgÑùW¶FQ\{ùÈH¿5#YOpÁ`Ÿöf˱sƒ½¢Äëf‘¶X“àX‹)ž_ë5Jbc˧#áªÜ Ydiokë•@êt‚ô,uÒ/ÌNú²@(#•RÒmÙbW¼¯§i»=HA†9¦û€¬*½i\µM¢:8“îa`=À°—#ª‡Ð(
-5j‹qePÒáÊ*œ<ó¡ÓGtÎÞåiŸCE+(SxìM{³]Q…
-4œýÈKLV2xî$C׎hkuÕ5ûn©Œ`ˆóMM_øe¼3cŽáÆëƇ“z`Ñ·‚â¢.]Gƒdç™É M(`ã҆؀º]—ŽNQHZÐ „&sº1ZÛƒž–p¢‡=x#Hrù¨ˆpÜÙ°¼.µv9À· @èå€Àub°V<=±Ð†Î¾0ïÍ©uf@ÇŒa¾gfÝÒäxÈ—q¸º_d«|¬þ€ò4=ã.¼;‘Swˆ…;„ƒÍ¦Èsj¯ éQ “¶îkaá$í¡{Öu”™sÓo@ÆB³-XÞvW,ßSÌö?œì ‹uwÙ}r>}ñmCƒûû{V4«7nÆz4fßé) à€¦› z0£úírUým3^®ô·G»GƒAµ£‘b$PŒs?Û?GÊ·´™s]XÒžt5£%U†+zs jqðâÒ
-7íàá+
-ë’çqþAkUÑöä<ÞÅ] ·ô\¥¹ã$[ÁÀ¸â3vÆÇš4ÖÔ,àÅ0F›j¸$;aÀ ¤Ëa:ºMm©gѲÎ(Ûî¯t§r;½p¶Gõ—| ¬ÅÎC|Ž§4iåäxLÝ€h ÏÅpÏpx÷KÒ] ì ‚ßÆР³ÀޑݽÖ˜­WMýÕ ¹]“N¥ŽXí·¬ÝÕzÓáE¯Ù<t'€•Ö\þßÞ4ÖB.d2ÆÈÓoHç§ç$ÀåõÅÅoƒ`ô‚½^t>Ö]&LÈç㹊orB›†B Ú+cŒ/Û¢l)åº;= ’˜.ùƒÙìU„­m‹?©Ú§y½J —¬±öñ9<ôMâKz³„g—ÙÓÌá´«Nòî¢
-¨U]¹¾T†,|¯ë:¹|3ŸS{æ…ðXÃÆúpá󜮒{ŒC4¢¨M[S>ÐvЇ@üo]I–ݦ›4k͆&M•Õy×SYx(¡ïH—H÷}—ý”‚…äy£½ÎèLœÁWì<ln c¼Ë'B÷ËŒk÷têAÄô†HƒõÖö7xíåu\Û:,îÖ„üË('Úë{˜x¨·ÿȉ¹,lrïD‚çvSh–]VMÌPdBÌX}K¡W
-H Ô”I'rÚÔ•mÀàtÆÆ]Û÷ç#—P ðHúÔ„{ï_Zs7úÉD„! ƒ úë—Ö~ÅYIºÝdDè…%Ôr»íåíüòäõû³±
-Å1€jj/âúö~JôÅö}÷ËÈ0§@]&ä³ñK+í-f@«šGÂ-hëh/ܾ¿÷w}ú‰øjñÙ˜¦.ï¸ørì’¿ÿç—ß>œý÷Q7ÙcA †?ûÜ9óNÜ¿ü×»¿Ðàc9~½'ÂÝe‚U€E³ é®\!ÌŸ}oÍî§ÞK|ù—½(€Â·kÕ
+xÚ¥ZmsÛ6þî_¡™û"O"/|Cg:sníæܦ™´vîz“æER6'©ˆ”÷×ß.
+ÈÞÜÜ]~ºÿéâæÞ Ó˜3‰’|¹øø‰-2û§ æI‹#|0+%Û ?^àKi{Ê‹»‹_Ý‚½Q=uN~{ðCP…ðb)N¨‰{ç@ùÜ Cå´ä«9-"TÒ«Uý©i“¶oÖóü0Ž½5'ŒÑ„³=Î\pχã°¾,P¹Œ—_ùþ™šõ®-êŠÚmýðP憦}Ì©±ÛU[T†~C¿¸…¢i‹´ùör%™¿<=_V£É=NÇĬ¼M²ü54}ÞÑ5ÅŸ¹c
+ÑEÁ­?4·G»Ã¤¢§ŸcQ–}Ü8[Âdâ?»½¢£Þ Ö£½Z'MQÙíÊ"ÏN[-86¦ä FÛ±YCÔ9Ûz—ÕÇjâp¨JHu–µ#šðZ®”žÏàTúÌÿ£ý§
+tñB4ïS¶/GÕØ>Ió“`ð,ï N˜ÏÃÁ÷{ÞògQÑ¡0­B}/uç£Íò2H,"Á.ÁCÆ‘6˜z;˜’C¨5B€nö¡e¾™«C;P;>!ÝÿÓ`°¬ëÏhr’GËÃ3 .qSà‹ìF`Dc$+šd]Zúõ³é%'¬' sç°¿["¯ô
+¯ßä}hÀ"H¬Ë7·f| 1ä1
+ò¡$Ég…7Gÿšà­§äû1Þ¿ä q,^ä«:Ö.Ô‡i¤ïAø˜AµöÞ ²×ÒÚðŸ9âë‘å:Ý÷ÀlÛ™¯»
+6¢ï|ÆÒàDÊ¥J?³åŽRÈ
+ˆßgw.‰ä7˜p™Rµ2'KÐ e;tb¶4˜™D)mkð«œóåè4hÒ(¥Ò†güeOÂWd.þBÂE ôÿvöäV\õ—œÞX€ÊC0Gö—²' Ip©‚pŸê´ÃrT]öÔB
+{2{:˻˞&Ì糧÷ë¢Ù•‰ñçº"ª£Aí¬CE‹ûû·cÕ«¯OŸs'µ+„¼¿ðLѧ:­]Gå´û”ž¨×ekëu®óõº[*2û®ÈlTŠ Sdö]‘Ùj³‹~‘ÙÂbluEæ fæ û“i¥¨&{†˜ò•Ú³˜Gúº¦g½d¿? X‹Pâ/a§Âý×Iúù˜Ðé7Ÿ€4q]”Ek=Îð‘ã!ü§ÿïž**;Û­¬‰Š}ë NJþ)=-Žu)„uƒ^ÂS,Ä›x‚ *üòá-ðûÛ÷ooh­_?ÜüvKoy#½0Zë¢ô¥ë ñòûÛw×ØRKEÅvWæ[ð³¦Ú€Cõf&pq,ȇ‚¿¹|9ìvõžJÂ1Æ ™ rÔ¤-v¥¬Ç(@E¦Š¬ð0¶ô콋©õ Xa„N²¬0…lËQOÕ&)Ÿg¾• ™I›'bgÜ>6ø­6sû]GÊêf´ˆLLôsú¤@oýˆ ƒÌu ˆa²^ë[ ]N'ØŸ&FúuÞIuZê¥@†ý¼è•¡ÄÑð 3fô d•ÉCc07‰ÚŒžüzy³!˜GEúi5J¯ R?ÃàÊ2¤êÂôÒG¤]áà½g&i°Âb«hº±‡-ái«';\wbä)ª¬€ûO—Qv¯zÈŠœ‰ÉæVÆÜ Çú-lgy“î‹už²¼¿?*%ëú)×å.eOZhHÝ>%AiŒ„ñ¤zîufë<Ư$¹"­;Ögƒîü¤Œºé¶6E§¯ÍwW ÂœÈÌÓf&ìñ‚¢f*Gý÷…ç]>²‘´Lš±ÝèÝÍи¸Ô<Ö‡2‚¶Äšz?më¦Ð¢3¨¬ñŠì×tð‘©šH“!Ë°³„ÐÊ¥­U¹§Dœd%"-üv’¡ÎkÓ©»t)¿Y*%3 m‘GFn{™õ»S€þZ¿Z…‘zp
+¢
+’ñžA0aòì6÷ ͳœ†È(`ýҞȠ÷°+M?y!¡ ‚ûtœ¦§­›AOK8г=î“d⤈°ÝÕœaY]ú¾‰6i€Ž^ L>kÅË+mZ@àÎÆݳ¢ß33èLj‘MszËóO¸|+qá÷ñGºÍæðóDZÂν‘³‰µÙ¸ƒý¾È2J² ¼Kå Š=ÏÓ×¼•Ë+ÓQÝÏÖAæ\³,?ºBË×£ý·3;F¼
+[¾ú²§ÆñxôŠ&õê½Ñ7«¯ôËEäAêíqú£úõrUýeêO
endobj
-2547 0 obj <<
+2556 0 obj <<
/Type /Page
-/Contents 2548 0 R
-/Resources 2546 0 R
+/Contents 2557 0 R
+/Resources 2555 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
->> endobj
-2549 0 obj <<
-/D [2547 0 R /XYZ 56.6929 794.5015 null]
+/Parent 2550 0 R
>> endobj
-2550 0 obj <<
-/D [2547 0 R /XYZ 56.6929 524.6888 null]
->> endobj
-2551 0 obj <<
-/D [2547 0 R /XYZ 56.6929 222.1988 null]
+2558 0 obj <<
+/D [2556 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2552 0 obj <<
-/D [2547 0 R /XYZ 56.6929 104.8912 null]
+2559 0 obj <<
+/D [2556 0 R /XYZ 56.6929 242.5709 null]
>> endobj
-2546 0 obj <<
-/Font << /F38 1082 0 R /F49 1308 0 R /F22 997 0 R /F54 1383 0 R /F42 1288 0 R /F21 994 0 R >>
+2555 0 obj <<
+/Font << /F38 1082 0 R /F49 1308 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F21 994 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2556 0 obj <<
-/Length 2784
+2562 0 obj <<
+/Length 2467
/Filter /FlateDecode
>>
stream
-xÚ¥YKsÛ8¾ûWè(W… ñâãè$žŒ¦fo¤™Ù­$J„,V(R#’özýv£Š¤¨Q¶&®
-› °ÑhôãkˆÍøc³XùHä,J¤¯¦f›ýM0{‚±7ÌÎñÜ$¯?ëÝêæíO"ž%~òp¶ÚödÅ~Çl¶Ê¾Ìïï>,þuëqÌïý[OÁüw¿ÝýJ¼ÇÛ„Ïï>Þ/ñ5ä8‰ã´0˜ÿüi¹ºý¶úåæ~ÕiÓטUùóæË·`–â¿Ü¾Hb5{—ÀgIÂgû©„¯¤ŽSÜ,oþÙ ìšO§, D쫘G&àlƘŸ(Å6P‰
-.Œ –÷÷´Õ»_—Ÿp?ðï.˜y<ôc!#3}WÕÍ×
-?’RÁR¸ÂçŸÞƒéÔ„*°ÏHuó|;c°EÜ—I2óDâKÎB3õÝo—µ5šµÚéã-‹çš6ö_æ¥Z§ëâ•8MU±OKËú³ÕGKV‡&¯Êº§£ôan—•pN‘ŒÍ²àQ· ÀñжøΡ¯TÀÍŒ°ï´ú"
-Ú‰PÌÿØé’¸eEOJ¶Oí^—H†…;6OJ¥ýyFd4ÊŸuùfâ  TûTÎ /‡ä¢ÜIŽy·tJzW¡I Ùî÷©Iî°nµ%fîæo*…-“="DŒ;‹Ô(òrPWN[E–1×YÙ8¤TîJZ9]Àÿ‚@õœ‹3(U;MDVíÓ-Ϙ N¢º*š³¶3зÐcnÆÅ"ãbÈؤ%iQ¾KݲM£3/Ó›œx‹ÇgI“{.ECæàO_oª¢*=k[ÚÞÀ×2]äû¼Aý Qpˆ”ê L"„˜ãÞqäe—ov4}“ÖzƒX0‚'WH1Þeļ(Hæú•–Éô6m‹†˜6pé%¥ ¤F†&¾+ÓH›G‚Îg´£)‘~"™ºe¹)<•øŒE¬ç-‚ƒnh$Y_Äó2Üž×ǦºOuÞ †2<ãtÈ$GCª²C˜LŒÌþÉ› Û‹ßÚMØá´™83‘
-pÜ%FÄîP:½÷“”Ý•Ý©þ³ÍŸÓÂ8¡cgŽ¦1µÊnB¡º‘ Û’÷|U£¾]êLëï¸Ð¹[ÄÀ*ãWB™ù±ŠÜMí¿»¤}Žð7 °¢êáß· š;Ê$v‡B(JŸ`â‚5d' ÐÚãý”1ÀÍ#&GÆ@‘&á‰õ}ª.‚¥.øÕ¬P™²š˜§Ä÷‡Æ*_á“ϳ¼>éëiG†X~º#‚Â{S™gfµ³‰MÌÿ[•z
-‚áÀÅ .Uºö¹½l©?Û[UÎÖÆõÈ„½£Þŧàrž¶ ”û¼I@ÄrÙG¢Ù¤?61…;Ák¨1«ý…Ó×”ÖNòäPeO,_ƒ€—N!SEÌ*ö#Dz8olTÛ1öS¾-éã.v[µ.\¶.auÙŒöà„ýHIºÚáš®±Ÿr™ŒÝT0“U·€p7€„ t#pÈI‰aà-y·lþJoÆ¢ðì5rCbáqŸõ{ür¿‡¨8l7·ZdƒË¬5= 7÷î
-6ð~Öu^eVÁ£ƒÐ5±€ýîý.­êRÛ#"í iËaÕb£ûÜîÀD.Z¹ƒë`ÆH˜ËÍ‹{-
-ÓÇuUñ€ÚæÐ6D“H@ÞºÔÇÔÖ¶]uB¼Pªs‘ˉ7áq—m¨1PÑ¥ì(üê…óºlºT(p\ëuS=4ž„Pá•zBØY½9Y
-”'èéâôs^µ5IÁÜ”C´ÁÞgú8„’P­Bqå<$ëNgJX·~ɛ͎¶
-€À€=/Æ8Þ\EèùÕäzØt_eš(ã)ð¬u¡7*Ü„Šy^ÀBP|!¶]KáÓjCfb!s¢.u5 ‘ÖS`(ð›È«1òØÙ®k\PnJS¹iÇ´¬·sç‡nÂÄ=0Â+¥}p‰äöv›@&´‹QM‰Ã0z
-Õ3K«#P¦µ'ßÁÔl’Ý̇%z9dðÇÕgâªãægˆ™˜YïÞÞÁ?Ê«†¹ØÒâo›ªŽoàó»©HŠÐyx–sÕõ7ã\ÔÈÀ6Š§8öCüé`
-ç'‚1ZÇ›¥ú 79¢œî~É
-jr÷™~Zš,ÂÓ–ç$]Xº[é1ä‘:Ã\R`#†¨F:< ,{Él˜PÏÜcÛiÜJáaM rm…¸¶v„à•/»>ã2€ÝÂÔ(¯±KUô¾¶KC;\C½£#Ïh,]C§Ü6y'ÌY j*¸<¿—w6`w¨Á-ž|fŽ X3Õâ8¡­)w˜9šºð7d -ƒ¦k#n²ÏW‘/£îªèÿîóßP4Ù–dôÈ·´¤¹DPÊ^š %|hlh«1m¡Š¨ 8õ„ùáÉš¼e¨­~¡t[oAêrP ‚L+Í>Š2$vaÛ,䔧U(ïšåLzã1e*xÖšÖ°ˆ©Žn=ZÂu{£fˆb}úJf|¡ãÖ^êt÷¦Hç6áÚ \¼Úˆƒ ú[W;S¿- Œ-1õ«ZÐý€ñ·w>ý¬.!L㘟~R”­
-gxO$ ˆÌß->…à ?òù©¹ÿO£ËÌIJ=è®^\ ÝTinF†è~ï>·Äÿ
+xÚ¥]“Û¸í}…:Sy+⇾ú¶É:9ßä¼ÛعëM’­D¯5+KŽ%{ëvúß ¤Vörëëtü A
+?”BXLuµ¸ú[Ïp0«—º4ŠÄ;TÀ¹KaêG‚ ­‚vÝ<µp¸Xz
+>¨]«AB#,½fE8Æc?€£¡ÖÎæ âAô”Vbæ‹áFy£¿EÛoðòØ<~œF©‘÷ž =? ¼kÚî¡jv!ù´æDû25'ªk¶]Ù€yDô"…r¸HXúËCÎÀY/31˶۪Tªœs¯mÛ­³ÎáÌ ‡›Òçg†
+
+dâÒç Fú)ƒx´³›9 °ørwwûy†ÞÒ±A
+½œAJÐʃä@"gmSc¶p:¥ã®j‰ù¿¼Ü * æ65áÞgU‡I(¨"&ýÂõ©û¸Ÿ&Iâ®ú&=ÇÉ¥.éNó8ĈH@zèÉPÄ›Ùâúݧ©+
+ä(çYĵ;Q`+M„mUG€ŽåŽœuãã—ÒZl7N¼}ݾn¨»d|n?Ì>AÉÿÒÎâë[ÕåowªmªƒW|Õûaâ³öGš?ýë§Û_¦ÿ~냨»Ü%C`÷¦‹é”pýiq{9Ư›¶ÃhË0Ž¾¡•/
+D&dQ·­Ê'êø êÁ$2ª/‚ZLöúûüá=ô2¡«4Hü8ìéÜ
+æDešžê÷Ý—‹ËGß³± &ÌÞƒ Ó5 ÐH”­
+l¤M­y•µ­³Oñ“$¶mJÏqîàjJ¢Ðúb]4Ý« “s~Ÿ/óÛoŒ|Î%;çØ]äØ·®lÃX»/'z~¿]ä÷”•Ý«üdÏZ´Ô—G_'Ç.§­ªìÁµ‹ôeœðs©eE=ô쿈ª£rá»3Ä"Ô4'âfºxÿyv·œÝιÂ*Ým¥É ­„ŒŒU~Úr³Å ÅÒ¤¿¦zB—lÕà®ßp¬o8æiò(tÛÞ¬#&– k²ª2Üè}!,ðk*FZ¤+ÔÓùÙ‘³((,BpoMíKç9±-ÕËPPÊÜ”fø ‘éªLx¿QßØÚT…löX´¦Û™/…Ò!f{åAÕo†àaY6´nøš!8—ÐZB÷}vSM®uá¡Áýf“éàû6¦¨,-½}N"}ÄøäwÞC›G¦>¯<QZ]/ÒÆÉÅèó<9WíΠЈý³†®qX`
+Y
+‡Œu]zM3æUÉó¬U®^,†2‚§(d}¥No ÈóþHÛj•í±kE¤¹¸4Ȉàô©ðýSÀÔQ
+Їά}4//aö¬Á…¤œ„±Ý ëKûG´_VøÖ°°¢jþû˜A@ó_û›* üoÅQ}éñÿ…óü•Ägµ„»ÿ4$"eV(<6 Åx"£Pxïfó:¬ðÓV€#LÿÑ©º°>½°½9~Õ‡ßÛhg9ÓBÿ¿ÑK5ühMá^endstream
endobj
-2555 0 obj <<
+2561 0 obj <<
/Type /Page
-/Contents 2556 0 R
-/Resources 2554 0 R
+/Contents 2562 0 R
+/Resources 2560 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2550 0 R
>> endobj
-2557 0 obj <<
-/D [2555 0 R /XYZ 85.0394 794.5015 null]
+2563 0 obj <<
+/D [2561 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2558 0 obj <<
-/D [2555 0 R /XYZ 85.0394 751.8041 null]
+2564 0 obj <<
+/D [2561 0 R /XYZ 85.0394 668.555 null]
>> endobj
-2559 0 obj <<
-/D [2555 0 R /XYZ 85.0394 685.5478 null]
+2565 0 obj <<
+/D [2561 0 R /XYZ 85.0394 559.5183 null]
+>> endobj
+2566 0 obj <<
+/D [2561 0 R /XYZ 85.0394 480.1278 null]
+>> endobj
+2567 0 obj <<
+/D [2561 0 R /XYZ 85.0394 418.9117 null]
>> endobj
894 0 obj <<
-/D [2555 0 R /XYZ 85.0394 644.3563 null]
+/D [2561 0 R /XYZ 85.0394 381.2224 null]
>> endobj
-2560 0 obj <<
-/D [2555 0 R /XYZ 85.0394 610.3574 null]
+2568 0 obj <<
+/D [2561 0 R /XYZ 85.0394 348.7616 null]
>> endobj
-2561 0 obj <<
-/D [2555 0 R /XYZ 85.0394 573.8073 null]
+2569 0 obj <<
+/D [2561 0 R /XYZ 85.0394 313.7495 null]
>> endobj
-2562 0 obj <<
-/D [2555 0 R /XYZ 85.0394 504.6292 null]
+2570 0 obj <<
+/D [2561 0 R /XYZ 85.0394 249.6117 null]
>> endobj
-2563 0 obj <<
-/D [2555 0 R /XYZ 85.0394 429.3826 null]
+2571 0 obj <<
+/D [2561 0 R /XYZ 85.0394 179.4053 null]
>> endobj
-2554 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R >>
+2560 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2566 0 obj <<
-/Length 3314
+2574 0 obj <<
+/Length 4249
/Filter /FlateDecode
>>
stream
-xÚÍZKsã6¾ûWø¹jˆ!
-˜öÝÕôìÏ»ïO®î¹e—±F¡>üþg|º€-| ]äæônb!‹BnN£…I´ö”údzòïáÁS÷jP2J§*  ¥BÊ0…HµÒNwk{éDMšÝfv&'vK·í’®?_Þâ@N¶g2ŸØ~[ÙŽË–§–t©áí¶ý¸»§ÛyÙÐ`fiþ|]6+» âcÕ¯‰Üƒ
-9ª?¬ª#‡kìªì«Kwhxxý‹6Ó¾¡Û~ÍÏñqî’®cñÀê…Ñ~ëȤ¥«|à,O$!‚dIæĺi›ˆÎwÛÎÉ¥<ç@ì!Ú»€fP`' žúP±×„Í_©È²¼ðæ¿}ÆüÓ¬82ÿÈäùdjû¾jV~…Šå¡9ìžµ-·Lï} øpI„?”ʈr°KxÓiDI%dž2:Ð…í*6-P`,™‡‚È9«z"U è €à-†ëj¾8ŽL´ÈrõŠãHP…ñ¾»)?ÚN e&`ß΄`ÑnÝîj–mcËA”’…c¡ÀzÊ ‹×Ù탳£Ø‡¿¹­œbÛpÊ‘©ådGÊ![ÓqFN‰ƒ²ïíæžoÐèðJ‹tmý`Ž$a›*Ñ>&:9ºÐ¢ÀÔC“Ð1séÜ<d3Ë!(=gd±ÔãK²Ú¦œÕÁX—fë’äÕX—(ã{lªM5g8£„Á̮ˇÊ%¸sy õÇút‡…#>,2Q9Ia†S ¼?SÓYöAÎã&àÉ@Æ%7†›²Á¤•ÇûùÞÎûá]'4\÷¦aý g»ñ¬âNˆìKbDä]·+뚬*[M[Úí¶¬»qÔjAkøØŒaDšéÄÀËE²Üñúö ù ÇÀ7¡ÔÎU(ùzê*?i×Q’H>ààqmJ^ýHeM •&ÏY©L ¡U:˜é]ÈL1½Êc3Å\0 aÅip×Y"”#.XÆyÛ4xÀ-Kêd&ƒ2`ÓEr”Ĝߓ9ÈØlámRzÍŸe ùaAKáŽ0gÆo•»¾Ý@’›»cç×kÇA&˜@x È{ó‘>€ás2‹O»j0#x\Á‘FZ%“n7_©ä7ÿj;6/r“~ ö»ôfôGlâóßÞ}€«<̤ Dׇmê™c„SÌ´äQ>ÅÔHu|ŠaMXuŽ7€œuúºÆé°¼óàÛ6¨k•Ål@º¾}Hˆä³NîÛm/Ð;Õ –ƒ!ù=¦ÿÇ{L=¼QX¨¤ÃæȲßù訳—Ú$¹÷ƨÆa÷h{P`—¯á
-Âb¶Î)‚"…ÜÆ”{aàEEÚ—{Âÿ2KAâØx½À´ò
-[nwN-]²|åý=õûmu+£Ð"IU¶¾,ã#…ªKQ¦Êò}¦¶Óab •gG\œDšS)^áï =s©i?þFWšîºè˜ël×ÓüjÉríâ*X±bÚEØÐ3™Ë'þžMKxÀ¡á•}l'çÔÿ£øÌ©C§”:àÊeŒ(GÀ
-&°AmX8¯Z&IbÌ+@ Ùì 掖tY´€oÑìmS²¸Yݤł¡nGRz±çm €lakÀ”øè=ŽV²ÈDWßÜBV JÌŠìõЙÄI1*½58Û"I·0¸½û@ƒ#Ý¢OBª¿^ÒÓò rHµ<眚FNp#Lt;ñˆÂLº¾Ü2îÄ;0‘’åÛ×ѧQ
-,>‚(Ç Á ÷!€p µÍ‚Þò{èK®“—m]·Çï U÷^H•ñ°G<aÅJ‰¸êF=üS*˜4Ëj<›m €&®Ë£–®¥‹0"÷ׄîàÂÍœà–ƒs
-)"=2E:" êÅ#
-´érP¦ñ[t³ÃAâ$OêÀùçxÆáî“Ñ
-èóéÅõ5uz!`ì¢}c‰cQì¡ÅKÝ¥!<Õó57Ê ‚A¸â?sŸ|Á5zgpk›yËö¥–ai4³-Ð}ÇÅ ‡b@uŽ~”±1õ§Åa’ÎzÓ¿öaø®ã–¯¬_DNVDñ£n—´í óvnæãV¯N3Wâƒ/íî›M®«öP$¸î¶ Mk :¸lg(2™Lès
-TÔº¾³ò_íʮŶ‚Ö°;‹%_ãšÆê¹oî˜àâlÀʸöÑÏT CÕŒŽµPºÈ¿æ
-áAþyC4pŒYºß.!€è€ö+£ˆ—×Óóoß_Œ51"Nß™±ÍuÅÛfc1‚¡J°ÜYý%£þ!(ÏéÜé“uînš‡§`'øÒ‚©K¢²B±CaDºo§’aú•ÆÙH”þ3Ãqô* Q¨üïÄéíY>Ù5ÝsÁVŠ$‹‚í»ë÷ô3–#…¢ë[ÛÏßnâàáËÿxÌwzuE»;?ýéµè½¨VH%†È7ûÏW $îÛ´bUPêWLb‘é¼ð?ë9‹ ”²h:
-’FžÇ#>Sè³6nŒ.ô"ij÷C…!þ«ºâÃÇj€<}ÛÖ⹟2±õøÁO<¨ýþyÑþwTI5P®^þåËä>^ß\Ò.`šÈ¢[µïï\}†-/<0œz7›_\ÉB"¸Q:‘F=уÿUÓSEübjÀ$endstream
+xÚÍ;Ms㸱wÿ
+ßBW8ø HðU½ƒ3%»^gìÝl*›%Ak%R#’öx}ºÑ J”¨ÑlÞåÙ‚M Ñhô7 y-à_^›4Ns•_gy!Íõ|s%®ŸàÛwW’ûLB§Éa¯??^½ý¨íuç©J¯—¸l,¬•×‹Ebß
+Í^Ã,<èîú3(† #ÊPu
+êM/˺«¡¹£†G ZC@fãTÈÜ#{T Í,HÉd>.§*ÉÅT˨¬švwc£nÞâÒµ q‚/›â7G‚
+–[2Uó‚ ž9z¢^ ^×õoÝ–`qMY/˜ÀÉÊLl¥PÃíy·*ê¦r¼EDoÒf5uçswí7<FÙ$høyá–E·>EVòszGÏ_…Óªu;˜Úr¸ÙDÙÏ7RÊÈífuã±gQݵۮ¥6aÌ¢'W¹]áU_AROmÔylLvÉØ
+ï$±±X°EnpÏ íêíÛ[ø#«êÓ%=Aýf¥÷éø"¿S¤ eQõ6©8³ñÆ„mñÎYŠ|ÐFêdAL1¨ÓŒEÛ³ Ù©#8ãô¡ƒÙ«U9F'lŸöHáen£fëæ%†8¨º{s”‚ŸØÝq ¿ÚÐ z{ì?½N r°1Ž;5«º[/¨cÐøMÆÆô>§wô²¨7EYQׂ‡ïƒ/⛊ÕÙP¸ÊŠØöéã;iA—¾æ‡ƒómkzvÁœ %·Ÿ(£ùvÆ+‹¼WÊÉÝx¸¥3so%l³’K¨ê63T[ú`
+`‹zßͶ
+SJz”Kš²ªÇ‰š°C>+!
+2S¬,»)‚€ÆG&0ŸŽî`çø£·Z¾µt/dì-K ¶ö"Ä
+ÆÌy˜4s8ÙÆ=)ÇD .©!ˆJjÔfF¸ò™¼÷é2(™K 0';Š¸â)2RHlìKŸðâ£x†ZÍúy4×eªD'ß’ëìÍþ$±ò\˜ÅBö霌‰}Ý´  •²Û1;—f`ç’ärIÂî°)7åœyâ…3cé= ¼y§$|ÞèùIõO‘…ÍâÄG¹9Ú_ýÌr”RhW#Š `ÜQÒbxñQ„¶"r_¶è§ÃXO4<÷¢áÂ
+ü~ê\].ðšÐ©kÈ?$:`ƒËpà2÷ÊŒ@!MÎ ©LóX«}Eèq<‘µVK)Î@e ß,ÙRÚ€‚MÄ;¦â¨
+÷·fJ=Í$OoÛ<9*¹zµ'i"ÈkDRÆßd ©aNSaŸp"È3
+[8p×yx¨ó`>âÒ#ƒýÂï$Ÿ»²—"ø\¶oøt Ã A •cé:¨¿p÷ö—Ÿ° qèFˆ¦mþ@–›˜õéÙ$ßÄÔÈ“²^Fa¦¯]ZK^–O‘öÓ{mÉ°‰¬VYH¥4½N|
+Õ—Â&éÿã5¦!´QxÆ™ŽÈu_ +ÿ#§8&±A'í}UéqAòl
+÷àIÇ"Ê’ýDiµÉóB#Š°×­ ýe–Æ"ë+ ØmŒynY*>nC¤3ž‡b{ÛÛúú©*'
+Oˆø´æYôîîö‡oŒõ@2$ˆ@\t
+?üxë;ªèaú·þö៾²î_e„:È_ óCs" ü"̧ìðìIQ´P?–xªŠe£'¹ zØô¢”É, ÖøÈjùYü>54uÁô[>aØîJȨ˜¹Ž“TåãÒ—e¼¥o)rT™Ý;*@Ë&:bi¯¡”Å̳Ÿð÷†¾Q9
+JM-Ï?xÎ1Hôv(¬°i‹GÂß( ¦oŸC_ORÁŽ…ÉŽÑWçL
+êªEÆŸ/Öát½®_ŽÇík]=‘r–aàa.Žá„‹Ÿ¸Ì=áŒùð¿RéĤ™==F>ð6`@__áVMÏ—Â[Í)°QЃË&Þ8Á+1DS½Ùêª%Ë´¦£:é0Aº§O3ž=giÒ­ýãÌ ‹ÝŸ°Œž+‚¿ÉîѼœCstxìÏìAÆ0¬&Í¿¶'¬“³g}©'ÙŸ•ŸÑ¥ d¨à"Ò#Q¤-ÒšîêŒTè,0Óô§öØ{Üè€äN (_åϘ|¼ôd4„d}ü›°’)Óњ͓/¬UԂٛРœ
+&‡»óóÅÝÙ_)Ã[†¾7bß}Õõò:kú©ÃÖú‹G›ëou…I-d/e÷„ôº³D=šlìvX'9ÙÝé{¾YøðÓýý^»Æ
+~krq® úò£–c7“À ô—FÎ/ÕèýíeŸ“É,\ŒE›u¥? Yˆ†³ÞíW2¿XsQ
+ PR.è\ÌçnË@b#b w¢=:H’XžVÕŽèÛ‡wÓ)Uzz" í-b<vÂ"DœïC‹¯U—zû|”ϯ¹PîDÂ'ÿ™?íÝh½LÀ««æ5g]·#‘Z3¢zo89a[ Q”fè±Ñõ§ùay’
endobj
-2565 0 obj <<
+2573 0 obj <<
/Type /Page
-/Contents 2566 0 R
-/Resources 2564 0 R
+/Contents 2574 0 R
+/Resources 2572 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2550 0 R
>> endobj
-2567 0 obj <<
-/D [2565 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2568 0 obj <<
-/D [2565 0 R /XYZ 56.6929 356.965 null]
->> endobj
-2569 0 obj <<
-/D [2565 0 R /XYZ 56.6929 248.4087 null]
->> endobj
-2570 0 obj <<
-/D [2565 0 R /XYZ 56.6929 187.673 null]
->> endobj
-898 0 obj <<
-/D [2565 0 R /XYZ 56.6929 150.3174 null]
+2575 0 obj <<
+/D [2573 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2571 0 obj <<
-/D [2565 0 R /XYZ 56.6929 118.0031 null]
+2576 0 obj <<
+/D [2573 0 R /XYZ 56.6929 107.6182 null]
>> endobj
2572 0 obj <<
-/D [2565 0 R /XYZ 56.6929 83.1376 null]
->> endobj
-2564 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F21 994 0 R /F40 1218 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F54 1383 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2575 0 obj <<
-/Length 1654
+2579 0 obj <<
+/Length 1729
/Filter /FlateDecode
>>
stream
-xÚíX[oÛ6~÷¯Ð[e by•È½¥±Û¥Í’¬rƒ m4Kv„Ú’g)]³_¿CR’%Y–vÀ^†
-ìÎÑÔ»¿\Ü|¼¸¶swSEÝ‹·ópêÉ©âZÌÇîì& ç—ÞåíýüHLï&óE¬ ž`¦Qý9ùô€ÞáÝ#¦¤pþ‚ŒˆRÔÙN¸`HpÆê™Í$œüÚ(l­š­CÆL"!i0` JB‚vÌ!òeÆás–迊x( A!dèh¦¦‚ÃxÐIaF÷Ú* ,N‡œTKiTqVÉÒ[>&Ë/q1õ|pÑ'o£A¾z'¶
-¸>ÕlÌ·QšY¹Î1L é Q‰=Ô*W*»¢«t“ è£ )íâž¾ø¬¾8][á]T>(æ’}ųóŠ‹Õ>ß~IžGÕK†|éÓ®ú¿ó,9I
- ù
-wtkü•®*Xó¨ãÝ–ª+ÍqD7RúÜ:Îü6}¡IÖ³6,B$Ô*(€£¸©`´“)€ú„û]dW@H`ÙãX!âRÊ£DÐQK}ˆW+”V]ËC/>˜iÎfvÍ°—=L€™©z›åCÛ§•yÌ·Vº|ŒJ;¯õnªenWõ\w`šÍïç¿·U7Tƒž†3Y½>u³¼|i)- L%ï2ºÂD³ª>¨>ËâfKõºšÆv‡}Ø@˜Õ<~ÚuùÞ>b-W±@ªqÖ¶¥N³¶‘2¬Ý ²JNpTn:¼ep(Ãþ8²Fj
-/_˜J¦s®}9[ëšsêxYq½H~¨”¾&æ5Áz½°Þ´4¿ñæëzf¥Ååûµmá<0
-„à㩈Àá
-̺ÆëE§¦<6éäõ±w¤Bp-ó[/s\tÙ`¼.l¤Y´¶Ž¦ì~,êtwÈ‘IQBèœNq˜Cƒ">î±–ÔˆÇj)ã±ÙÇô6o+;n“I{Ga6R8;æ“Цº@ÿU·õïÇ>cq}çþN·ÌA€Úï™ÃùÜoP4]3íã¶`×ͦÔmf•U*XY'Ù‰ÅaˆZËç[Ç‹‹Ÿo?Œ´éî*+“}–”öÄð*ŶrÙežù¾LŸ¶‡ó8bÜoÎ 涾ͤX‚qz™Ã- Z'uŠe ª…o¢m2ŒŒÕ¦c¾F‘Á¹<°#“cëæå©|j÷(ín§»¿qÔjrÎ[óì—‰$ÇôGîÝ #×îJhÐ<öâù~ð» ÜiRDº‡ X¾è¡Ä0ä¿¿w×.Ôò‹ÅõTÆ~_õö¬êmômL/ø]*ûz÷z=IR0¨–þ(Õ1õ5Úœü\pzy4ô;0±mÊG>(|Nxï
-uendstream
+xÚíXKsÛ6¾ëWèj&‚ñ$ÁÞKN•8Š[:™v’²8‘HU¤¸¿¾‹i’‚ä4é±ã –‹}|ûaA2ÄðG†R Ìb>ŒbŽ&b¸ÜððÖ^ˆ“×Bã¶Ô‹›ÁÙ%“ÃÅ! ‡7«–.‰°”dx“~ί¯§óÉìј
+LÑh,0ÞœÏß_Ù¹ëQLƒó—Ód4&1‘„˜ q0™'Éôb|ñëôâõ$}ºy5˜Þ4vµm'˜i£þ|ø„‡)¸ðj€‹¥~…ŒHÓávÀC‚3VÏlÉà·Fakռꋅ` I#O0(õCÄ(d”™`¬ŠýhÌ( Êb«ôˆû‘Z”Eþ&X¤ê#Æ4W¥•¬ÖJû}vÉÛÚ Ž¨
+¤yYªåx¹VË/ii’£í ¡ÜˆÎA¹ß*På¡•ê©1f}¤4ržÙË(vœªº]TY‘ÛgV™••Ê—nB«Êò[ûTÅ}O0òbŠú‚­ ˆƒC(´xè…€wTp{y#,€WÇm‡XSO#å‹Nÿ0ÞX`Ç·`ÁˆÔ´Ø.²Ü;(sŠš‚>Õ*W•]ÑU¶ñqe(Ö4ÞÓ—>©àh…w‹jíQÌ#$)SOñäiÅåj_l¿¨‡“ê%€Z†´«þï"WG@9¢1a?€–Š
+Ú·Z¬ìâ¤Ešz>Énsµ·kšÿ'‰>
+Ї#¸kÙ Àô‘õ´®â¦ÉìA·W
+¡^¡¬iÃ@]+CºYÆLc6·k½àa
+ÌLÕ¯¹;µO+Û]n­tµ^Tv^ëݸ7«Â®šN<ílÀ4š_Oÿl«n ý)gÒ¹Oƒ¼¨ž[H‹:kÞE´³]wkÕt'Võ“(n^qîjÛ7ìÃʬÆñÝ®‹÷övè(j‰æAΟ@mKêjk)ƒÚµpäDÇM·Ðëa†ÃÓ–5RÓ:(šÇȹcÛ…¦NMLÔ]Õ49ÙÇ=ö¡›;—åö×Ñ(íò‰žØ´©:7ÈœÊ ‘ ‡Þsad™£[ÚjA½F%^p\ãPôNš#Yh„_k$ 4|ž•v¼sÊ+sý–Á¥ÙŽEú¶Øî6JˆLuhù¥‹ ­a0x <@¸#
+½9wŠáž²Õv7 ;œ%ÏšAÛ¹fŸºÜ=ä®T¿xNÊP ó`ž›ÀÒ^
+6÷#¸~(+—¨Ø»Þ¿e籂!!$DOL[êxÁ4R¦`ROÁ@,d,رö§S8œ£H~ÚÂFÊcb§pxŒ"F]“ëeçL5ö¸ÛS½à½>sÁ–3‡'‚>6¯¶ÏY¾Ø?ØDRÞ•5Ý=r¤*+(£§¹‚H,ŸÈXKêDÆj)“±‰/cú#Utº­ì¤MR$¼{ÒÌFÊcg'|:`Â⮡ÿiÚú÷‹ÃB°¸þæôƒ9<l™£E´ß3ÿÛvÛÆ
endobj
-2574 0 obj <<
+2578 0 obj <<
/Type /Page
-/Contents 2575 0 R
-/Resources 2573 0 R
+/Contents 2579 0 R
+/Resources 2577 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
->> endobj
-2576 0 obj <<
-/D [2574 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-2577 0 obj <<
-/D [2574 0 R /XYZ 85.0394 748.4923 null]
->> endobj
-2578 0 obj <<
-/D [2574 0 R /XYZ 85.0394 649.7239 null]
->> endobj
-2579 0 obj <<
-/D [2574 0 R /XYZ 85.0394 567.9518 null]
+/Parent 2550 0 R
>> endobj
2580 0 obj <<
-/D [2574 0 R /XYZ 85.0394 354.565 null]
+/D [2578 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2581 0 obj <<
-/D [2574 0 R /XYZ 85.0394 284.748 null]
->> endobj
-902 0 obj <<
-/D [2574 0 R /XYZ 85.0394 241.0823 null]
+/D [2578 0 R /XYZ 85.0394 701.5337 null]
>> endobj
2582 0 obj <<
-/D [2574 0 R /XYZ 85.0394 202.4391 null]
+/D [2578 0 R /XYZ 85.0394 636.6739 null]
+>> endobj
+898 0 obj <<
+/D [2578 0 R /XYZ 85.0394 596.4526 null]
>> endobj
2583 0 obj <<
-/D [2574 0 R /XYZ 85.0394 168.3603 null]
+/D [2578 0 R /XYZ 85.0394 562.8799 null]
>> endobj
2584 0 obj <<
-/D [2574 0 R /XYZ 85.0394 95.6215 null]
+/D [2578 0 R /XYZ 85.0394 526.7559 null]
>> endobj
-2573 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R /F22 997 0 R /F64 1435 0 R >>
-/ProcSet [ /PDF /Text ]
+2585 0 obj <<
+/D [2578 0 R /XYZ 85.0394 458.9743 null]
>> endobj
-2587 0 obj <<
-/Length 3376
-/Filter /FlateDecode
->>
-stream
-xÚåZ_“㶠ßOá·ÓÎœU‘Ôßäé’Û¦—¤—ëí6i'ÉmѶædɵäóm>}¤%Y»×iûNgL ø´bÁŸX$i˜²XdE&‘HëýM´Øï›Á2K'´J}õpó‡?ª|Q„E*ÓÅÃf0WFy.åÏÁ]‡·0C¼~{÷õòë~¼{ÿê›»Û¥Èc¯Þ½»{ûúÍßn—2‰@„£(øó«·}õ=ÑÞÝ2€7îo}øöæîÁ+6T^D
-µúÇÍÏ¿F‹öðíMª"OgxˆBQr±¿‰&±RŽRßÜßüÅO8àÚWg!¢PªTÎXCŠ…a‘$rdŽ¤S%•5Çë»û¯ß¿y÷ð懷¸ûÎÅ‚Ñb)Ó0VÒÊ–M×™õrÝ~4G½5,/òYFqÃ{(bÕ/Q$Mv‹“ ßéG)Œ ‘ÈDü`;mÚ#±5=o«¦!Êomcˆ8‘éLOÏí†(É ïôG~©¯öU³%êÞôºÔ½Æ}€ñXõ¥·ì€&—Ž·"Úƒ9ÖDé[ú5Mw²LCÏ Ó7§~D¯õ¡³úÀ¸jè×ïÆΪ¡U /ò°ˆ³ØêñfCÆŽ‡Æ¿Çqœ±±­a®="³0Í#ÁB( ²<èfM®)_Þ.c!Ð# ñÈ *+À §¦$bÅLë8äQh‡¶«úöÈ´½î×;kg%·#œ‡4íLcµYë¦aM¢@Óš ÓgT
-çcÏ´v‚ÒÐ<ð†,DPWú«ˆìF‘²5 Xµwöl‚ÏÈ8X=Ëvë)Oµ“¥Ch…5Ïj7¤_¢$ªB‚Ê*Áá´ª«µî«¶aŠ^÷ÕÇ!¡j†$çâÁ†JSdÂÔsN¬‚kl™ñ¾”ÌíâôFšu*Ðκþ€Ê[ZÃòÞLV„^òz}:’éšµ±ËÉà'LkúØ€ãxæ‹—àÝ)í
-<•n*yF;¤Ì;°¯ÊdpÞUëœýSÍÔµ>u††|Ö”?6ÒþÂJvKÀÔDézP†tVÕe|ÔuUZÛÓóFW5GgGÂûj»ë‰ióØ$Iì!˜q–ù¤÷‡Ú o!©TìRX¦AsÚ¯Æ&ÏèŒt;2_f³ŠÚSÁæȃѦå·5Ûž }¡Þ¶Çªßí‰Srbâ­à÷7
-Œ–5t«9Mµ_S‡ Ž¤U8RÁ†&Äe#ç›ÈûF}Û¯k­™¤7䦈ܼƜ陖†=½À¡éëÚæ%RÎ ±ÖëÓÂækZ¥Ú6Žºâ¹X+ éºj“…vzöT6-§ø.9³W{3ÉñŸÕ0—_lO|ŽÚú#nÖærÔ¸›dòäéLž‡yQ|.‘§¡PÉ0‘K©X{O2º”9gtäéúr#ù’…Wí%$ÙhÌ"Ê4¥#í\Õ<ÃÊå’µ¥M¥[¬&¾»aH©˜’¼,›”’|FjšäùGùè¬ ÒVÌÓ®3%f2PÓóÛ¶7Ä1ñÃŽR¤Â+×–4¦À”~·Çžn,ÉgEšú‘„4æÊ0Èßð²NŽ|é6M4{íIEðcæè±/€@ÓÃ;þp |´n§‡§‘ˆtíîÃCÕƒ>¢° ñbño
-Há¼µùç/³Õth¶Æb$ Ð!ÁÛ )Ý, Àô»»¿Ålˆ&IX`ššQ(Aà€“
-~ò
-hzw²DxÌŠ0ÎçUgq>צ„½U1TQÍþDõ§`À…X{ÚîˆFx©\¶ˆ âà2”hT›Š1h"Ò
-¢1pkÛЕ…TëQûnK„§ Õ±ã¢Õ—òžÆ=Žd'îÊlZ¿ýÂ70
-îzxãdé÷pâÛuv=»|Ï]¬H|ÿ¾3=81Ç Ì@¾]jÆEë¶)+w
-"¸u\+É—/úp¨)˼aÉ3Uôü@(F+¾]|U?[­Ø„ÌUP›f‹®‘¹¤£™»Âg¹"« ÈŠ9Ô?˹ذÜI÷’Û1Gw\QŽô|j*›rÅ‹JWœåTôá¯.KÚ_n«LêNœïÚO_`QŸ/öÕ ’¹*ééÄ@àžzÓ±ñ^ì^p©×rM·kOGÏ-§ÜR?zæyÊ<óÁs÷픽o›~çùSö£ÑÇî ïØB¥H’à˜°"Ò4hîÉùÔÔ¦cÖ< ÈŠ$R mæ"–Ø%,©í„+cxuÊÍv‘–(öl‰¨‰Æªm±n›ouæYXDRü»ªqêìX“ï‰[äUqp9³Z/iW}õWA„›þ’+¹~iØ×=Vå´Xs÷›uõÉá»jŠþØ>®x›2Ã$“ùóàa(õ4xðRC,<Ìœ¸CâòÙSØ0ºJcñ¼Ž^jFÉ‘‡•
-UœÄc- ; úo™³-v¼\ClÅ,>ŸXõt“®ÏÍ\ôŒ;q^ÌÝV®‡—]ŠþÌA;ÿ: ⤘ÅPý±Üêì@µá¥Ìâæ65=Ž±ƒâ.·ŠÆØèì)‡.sR€g·†oËÝŠ $F)›Vðå\:å¾E­×«a;ÖÞí’Z¶2ã^ >âx¾1ü2º+y]C|‚8Z1ÅÁó1ü°¤˵5/î Z³÷. ¶ôˈpæp˜¹‡×z&'0Âv²ŒÈäF8­”Û¸Ê\o[ÖÜ…ö8ŒÈü)÷½­ž–olþ¼¢l#T»oMpQ,ÓŒð­ù;Áñÿžÿ{x"à »ó_Æ•J–ñ’ž@ÖSxJ=•¦Ï^Úq˜A98¼´qBÂvªõ²”c5»à $j¢q9—¥|_¾d'GR%UóD£L— ú["K1GOzÐgÍ(ìÙÃOy\¤ðWë}cW'N=Œú~~ÛE’;¬;»þô:¤…p³ð§wPzKpf2ašâ„ KCˆÓÄÁ)«´©è:Aµ[¦õ»¶ã&ôHÇÛ<8Ù["a$„t0AÖ"!$2Bš½^ÄHÈ~„,Þ³eY½=½ýþK‰óðçz÷_BOBÁ)Í ñ<zJ=ž¼”uüñs í£ÁÜMà©Â/š°á+…Ý®8’Ïëé¥f‡¤F'cM Aáÿ¾P*½éc,µÁ- WÌ¥ Ä‘ž¾È×ݾâ÷e¹6 äÉy8r,FS´fbú÷ 8ARNzÏa-!Ë0˜ÂÑL1ë–Q”}¶7R®˜R›&ðg„§`ã%½ôbÐ ¼ÔR¥IÔw°H£åHrÍE¥¸£¿R† 5vøP‰ðŸ²˜á¯®;~ƒp¾àò›•kf’Š2,ŠÜe•FïÍ\¿[E ¥²K6‹jÏqN¬•ý †Kñ’Ts)áÊAPi½Ó õDüxQø:m.e¬Bü¨qyVm—Öîàå0H®ÚÃy‰¢õè}¸^-–¡ï€Z3„
-endobj
2586 0 obj <<
-/Type /Page
-/Contents 2587 0 R
-/Resources 2585 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/D [2578 0 R /XYZ 85.0394 366.1927 null]
>> endobj
-2588 0 obj <<
-/D [2586 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2589 0 obj <<
-/D [2586 0 R /XYZ 56.6929 751.9327 null]
+2587 0 obj <<
+/D [2578 0 R /XYZ 85.0394 289.3777 null]
>> endobj
-2590 0 obj <<
-/D [2586 0 R /XYZ 56.6929 541.5045 null]
+2588 0 obj <<
+/D [2578 0 R /XYZ 85.0394 84.0373 null]
>> endobj
-2585 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R >>
+2577 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F54 1383 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2593 0 obj <<
-/Length 1894
+2591 0 obj <<
+/Length 2688
/Filter /FlateDecode
>>
stream
-xÚµY[sÛ¶~ׯУ<c¢¸ Ñ77VR7©íc*ž“ø!™‰tE*­ûëÏâF‘$5M;™ !`Ýýö
-˜Œ1ü#ã”#Ìd<NdŒ8&|<_ðx koFÄÑDž(êSý0}÷š¥c‰¤ b<[ôÎJNS2ž&W÷÷ÓÛë›_/"ÊñdŠ."Žñäç«Û÷WïìÜý…¤“«7Óì""IŠ%qM&ðäú6˦¯¢ëìõÃÝÏo§ÿ½xœý4šÎ:ÉúÒÌ´X¿><âqJü4ˆɔ‡)éx=Š9C<fÌϬFÙè?ݽU³5„FÌSÄi,ÆSÌ“0faDIL•<í0£$„™§Ò˜Es­èw¯EÜ£$QÐcC2¯×ÏåJýYWê"€èsÞ>íÃC$F’P6îËp iG•ö¥’‰¡¬Ù³š—1¦ª±æÌíÇÈcFmíŒRCõ%ȽRU¾VEÔWÍîèK––¤Ûñ©¬òÍË!d.Þ¼oTaù-ê@5mY-QÇŸ$9§ú¸A”:Ž˜@±ÀÒj5Ú½Wï²»€6rÄYò¢j5æOjþ¹h>bŽSø\Ú3ÜjÑ,6$ÔëÏêå ¬,Uud±)—•F¥[)„‡Š\½Ÿýx÷p^ƒ›ªU›Jµ–aöÒ´jí úª®šzÓ–ÛõŽ_ŒX,<?pAbî»Æ´6ëÍF:À;–Vº[0øÙ$¢ ødÝ~V´”&vd3…göûð`¿€¨ÚämYWÞ!ëÕ)è¬&ÙKU?7e³T£É8Ž%" æºPÃødjèaâ-¦ÔÐQíaápÐÁÿ!úb⃌¡ L%s±²R_”Ó{À NÓD:ªG"éF´å.?"&žI¾ZXȘ‹}«Àqà©à>¾‹z—UàÄ!Ywâì쉳ٻ°€Ââáq
-•'æ§Ý¨Ou¼ýî¨LûMöYJ†Kéi–ž(ÀrÐÀ¦ˆA+=d ]«ë¼~¼Šˆë—›=$‹r ¬[\-ëMÙ>­]#°îèÔ"ß®aÙ »ð­çô©ö zŸgUìæ(¥‚ 1h0ΠGuÂ
-Û-Q Òã?óW'€ë˜,ÏÀA¿#¥Gî+Ã<ÂP"SßÀuH”Ëõ=¢ãŽà‰Œ,~
-ßüÌ¿û‹F Ù-MiØõÖ‰E/”–ŸpjR"&?ÜÜ^Û;PÝÓ]ΛþѪªð/ÑÙöù¹Þ¸l÷‹y­V›n{þ·g)â)Ü¡‘ø?ßýnendstream
+xÚ¥YÝsÛ6÷_¡·È3Ž
+õ…
+B
+4Ž¶5íjã쌢äv¤“óf¼iœ6+SU¬ @6í 2yÂUª0z¦v ä–Ö*“ó²hÐ_YàŠ”{[U[/àb#“ g!°Z–mà®É¥—¥ t†Wu‡FÒ§
+
+a¨¬9ß–e±2mQWL1«¶x芪Oò.v¢DÌmi‘ KK,ZB=¿sÆV ŸK«Ô
+v
+)¬âyuØ.‡&O(Fš ™/qè…¢.*ØÂœy0Z×<Û°í
+j§r¨Ö5V »S¤deg}ÑYÞÆ`é~ÞÆãtÕ²K×Ä'dìk]Äí†XävT@íÁŠ}™R¸niÄuÃÓj%ͽu5(Hð6¨r¿Ëv5p¹wÂÖUdSƒ;â‰:† "
+lWBá7£æªuU³¨¬#ÞOw'Å)
+ì"À¸â»¹@K˜<—š'¡'2“…œEÞN$¦Ô"ê"ðÌÐW ÊvP¬žÔ¬:Wmà•Á !£n·‹`™ed.™¥½˜sx‰<DWdñíƒ$‚^Á-FÜ¥%‚ëzÖùzþƮ͡¤=RçÐÁ^§"º%Îc½ÿânüj"¡Éú®çdŠTeÙÓ®ëK}ßwT?+†Î E‡Ù鑤ضƒ‡’u"@yõ´’Ô„–ÃTR"ÈT4T“üHoÜ©CÉ~àG—Hð»dt9÷þãYÝaJ
+N.oVç%㻯ö,‰ðÐ?r'׎3 ßu÷E>nÖüýæ\}ðõ]1®þØ>¾y›úw%´Îø?Ɖ[9èú¼ÿû_™§Ú†‰
endobj
-2592 0 obj <<
+2590 0 obj <<
/Type /Page
-/Contents 2593 0 R
-/Resources 2591 0 R
+/Contents 2591 0 R
+/Resources 2589 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2599 0 R
+>> endobj
+2592 0 obj <<
+/D [2590 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+2593 0 obj <<
+/D [2590 0 R /XYZ 56.6929 751.9601 null]
+>> endobj
+902 0 obj <<
+/D [2590 0 R /XYZ 56.6929 711.8811 null]
>> endobj
2594 0 obj <<
-/D [2592 0 R /XYZ 85.0394 794.5015 null]
+/D [2590 0 R /XYZ 56.6929 674.813 null]
>> endobj
2595 0 obj <<
-/D [2592 0 R /XYZ 85.0394 697.4218 null]
+/D [2590 0 R /XYZ 56.6929 642.3093 null]
>> endobj
2596 0 obj <<
-/D [2592 0 R /XYZ 85.0394 635.4265 null]
->> endobj
-906 0 obj <<
-/D [2592 0 R /XYZ 85.0394 597.1957 null]
+/D [2590 0 R /XYZ 56.6929 574.7324 null]
>> endobj
2597 0 obj <<
-/D [2592 0 R /XYZ 85.0394 560.9392 null]
+/D [2590 0 R /XYZ 56.6929 501.087 null]
>> endobj
2598 0 obj <<
-/D [2592 0 R /XYZ 85.0394 529.2471 null]
+/D [2590 0 R /XYZ 56.6929 291.0574 null]
>> endobj
-2599 0 obj <<
-/D [2592 0 R /XYZ 85.0394 464.33 null]
->> endobj
-2600 0 obj <<
-/D [2592 0 R /XYZ 85.0394 356.6715 null]
->> endobj
-2601 0 obj <<
-/D [2592 0 R /XYZ 85.0394 282.721 null]
->> endobj
-2591 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R >>
+2589 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2604 0 obj <<
-/Length 2152
+2602 0 obj <<
+/Length 2436
/Filter /FlateDecode
>>
stream
-xÚ¥YKsÛF¾ëW°rYªlNæ ÌäY”£H–Qöf7É"†Ê À doíOÏ HríJ îžî¯_ aø'#¡HQ5ŠG1š/Oðèž½?!žfˆ&]ª³û“/˜)¤"î^a)Éè>û}<E<>¿™Í¦ï&糋»®¦ÿ:Xb5Nno§7ç—¿N¨À@Ô?$7Ÿ’k·w{ªè8y?þyÿËÉô¾Õ¬«=Ą́õ×ÉïâQ‡øå#¦¤½À FD):ZžpÁàŒ…âdvòkË°óÔ¾:h ‚e0¥sH‚„Rb …"F™5ÇåÂœáÇ Þ¥Tˆ)»¡Xä…v4=n48ñDy –áj\ëÆ™¨©ø2ê‰Ø¿óÃ䇾$FŠÑ ü­cÛ<éÒó}Ònë?UéWYÚ¤îaÐb}JäX§™»[ØÛj¹Ã nÒ2Kí3O˜—«MîfeúEûeî·ªê:(<#wÔÑDJ¤ᣠ!H Aí6µîÊ…Eµi@Œ_/¶)H× Å2RÞYþ8l.θð4ój¹„S9¦ií­bŽõvwï'ïÕašD©=ƒDTÚJžDYYÑßÜZM—«B£¹1¬ÙøoKSëù$«ëjÙROþºÿòn"¥%*:
-TS…‹¦ˆ÷³(m“]V-SÐ|G1‚ Š$dÑ£šµTªõrÝ"Áûº½wÐ2ö‘rœºËùµ)aŸÍMì½ »yY7.mÂÍMáØ9nÜÃ)ƒéyÖ+=ÏÀéûIЄXDöì°£<“(f°ìÔ#|µÒe¦½JL K$—éÒ¯€(›…fP½ Ìõ
-q"H_䤧RLÿäŒ ²*Ò¹Þ¯˜v™­ÿowH\‘Ü,uÙôÐt¼ë]âðÙòêKM[™­ºNøA/ ÉÁĘ÷R—ê°—Z*ë¥ù@ʱ i»"­÷|©"$ åÇ DŠõ@±¸¯Ù¬M­ì4k%Ó‹tSìøæòÆr7ÇKA×Øÿky ,ÂÇ}Õ¡:â«@e}õ<ä+‚¹÷U¡Ÿu±ç+è…©¤Ç DŠõ}E‘Â{šÍt³ë¤L?l]'·V±Ã&£Ñ8~% u©Ž˜,PY“=í%¡a¿"2 ˆìuiáX5͇·Æ¦Nu
+xÚÍYÍwÛ6¿û¯Ð-ô{&
+€?vO®­´nS'k)ÝÝ—æ@‹ÄŠTEÊŽú×ï  I‰v’Íöù pf8˜/Ìü@‹ ‡?1IãANâ4dŠ 5YlÎød¼ŸÎ„•ñß—úq~öÃë ™¤,d4™/{ºÆ“DLæùïòÝ»éíõÍ¿Î}©¸7eç¾âÜûíòöý墽;O¥wùÓtvî‹8á))‹¸w};›M¯üëÙë»·¿ý:ý÷ùÇù/gÓygYßzÁ4ëϳù$'~9ã,H5y„ÎDšÊÉæ,TSa8Jy6;ûG§°Ç5¯ŽE#T S2Œ&>ËX$ã1ãŒ+ˆ‡‚I™Æ]̤‹™“˜ù9:úÃë(ìI
+Á’TeF"ƒñð#æ|þæ80BE,<šôw?±±“1Rö·Ž‹R‘­œé¶9÷{íZÓâ!+÷fymM¤{ËÚ7:§U6|+ê|A"úbËzw$öW]Y]Ž…”ÆmST+«¿ÊÊÃ_ÚÄr$Xªœ,UJÓ׺‚â „—ëVï6EeÞ–Gì¸#®Y‰ÄÓÄ+"gô¸­›¦¸/Ê¢=½^ÂPäY[Ôv“eV”{R…ðÀûgg€ÕõI[n#^—¥>#‰ôW¼]g­¼0ò¡k´Í¶ÌoÞcÑ®i…{ÅÒ«ô#=æ S\àSjm÷ÕÄßì›–V÷–¢«z¿²ÚÚb£I¡É•!­­\]ÚÍ]nQìî®ÑVVþ®³§ùó¶ ½ó¡[ÔF– „4‘`S—˜©
+s QÜqËÌDeeÎ<ï«{.iSéª(÷úÍòœüK¨RA¨Ù/QÏœËÏÃÀFÞ«MñŠd0É#†Ã¼oucƒ÷jýŠT£°X×û]Ç͹yvè˜ÇÌG­?uÜM}ÌÞÔU»îø‡cöAg»æ™ì˜SÞÕ[[PJŽ¶jÌÚzw ò¾*ucY˜93)Âa»–0T"eG…¿$™aKYÌaü‘È:³
+ﵶ»S¿6›ÔDi¶zQ,D̈F= ˜£R_Ø$ïR¹^fû²%uº8vc BGØ£ã£mæ—T{¶‘!iÜïX±$ŒÜ„ôߌ»ª$¶"à‰ˆáœ…YZ‘¼j Ô}0؈Â(B….ÔÐÂH™Fm­ 'hvmiíºn4‘LBÒî<ñö¿@(ptW(»ÉDlZsü‘fÆ+0]§ùW´6¬QÊB¦ÃFúÔ9jhž»"·ýƒš€ân†Séî±ⲨŽÄlæQ­oJ,,¨Ž–ÀfQ‘J`%\½ úRÏC§NÊd}7R%ËÑNcã&äTT0ýÁáø”„ 2Š_¶³“1tPtIÊ‚(Jè)”6¤¸°‘%”Lâš–÷–KWÙñ‹v·ð•Î-Ã5 h O¹Ã•cY$Eûa6C'ƒcÙ¡+?ˆ" ¤p5
+sàcÊõ†Nê(6xú?øä‘´ È°’©ù%ÌðrdB¬“$vSî£Ó(º•ìVÙÈ.p€¢P¸M²r5vL˜â<:Þâª[•#Š#ÅbtW z“Ns(¨$RêX÷|DãPÔÞüNM…nvêÌœ9&"9`þ%tªç
+o>i'ßQ }ÏH'õ|øÍ·¦Uò
+i€~:+³¦ùúSô¿*C«nùEu®"Í€-ø‰¾Ë/5á ü¦þeXÙî>z6‚”°þŽ“Ñ)xá\ÌKmsÝùÿûǯ˜ ×ÓÙÕÝÍ»ùÍÛÛ43Ž
+ðhÒ¥²ûgJ½o·{º¥²0ÿ-¡K½rÓ 3@¤KúÂs=3PÀȺÒt-]h’"ê‚>FçOoÞÝ9Œ¯fvß\#˜«´•3×`ß½¾"B
endobj
-2603 0 obj <<
+2601 0 obj <<
/Type /Page
-/Contents 2604 0 R
-/Resources 2602 0 R
+/Contents 2602 0 R
+/Resources 2600 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2611 0 R
+/Parent 2599 0 R
+>> endobj
+2603 0 obj <<
+/D [2601 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+2604 0 obj <<
+/D [2601 0 R /XYZ 85.0394 449.673 null]
>> endobj
2605 0 obj <<
-/D [2603 0 R /XYZ 56.6929 794.5015 null]
+/D [2601 0 R /XYZ 85.0394 387.3591 null]
+>> endobj
+906 0 obj <<
+/D [2601 0 R /XYZ 85.0394 348.9069 null]
>> endobj
2606 0 obj <<
-/D [2603 0 R /XYZ 56.6929 450.6118 null]
+/D [2601 0 R /XYZ 85.0394 312.5533 null]
>> endobj
2607 0 obj <<
-/D [2603 0 R /XYZ 56.6929 310.2734 null]
+/D [2601 0 R /XYZ 85.0394 280.764 null]
>> endobj
2608 0 obj <<
-/D [2603 0 R /XYZ 56.6929 218.4821 null]
+/D [2601 0 R /XYZ 85.0394 215.5282 null]
>> endobj
2609 0 obj <<
-/D [2603 0 R /XYZ 56.6929 156.8972 null]
->> endobj
-2610 0 obj <<
-/D [2603 0 R /XYZ 56.6929 83.357 null]
+/D [2601 0 R /XYZ 85.0394 95.4636 null]
>> endobj
-2602 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F49 1308 0 R /F64 1435 0 R /F40 1218 0 R >>
+2600 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2614 0 obj <<
-/Length 2627
+2612 0 obj <<
+/Length 2543
/Filter /FlateDecode
>>
stream
-xÚµYÝsÛ¸÷_¡™¾È3&ƒO~äͱu±/‰íFʵ©“Š¢,Ö©iûÜ¿¾ ,@‘4$uÚëd,ÀÅb±ûÃî¢#ÿè(’>á±…±ð%¡r”®OÈè¾}<¡†Ç³L^—ëÃìäÝ/<Å~°`4[vdE>‰":š-îÇçww“›Ëë¿ŸzL’ñÄ?õ$!ã/ç7ßÎ?ãØÝiÌÆç'ÓSÊ(
-€)Pl_ÞL§“ ïÓäû/_o¿|>ÿ0ù|úsöëÉdÖ*×Ý
-æ@\Ë54Dk„
-„Í-&sg5$nl0±±Iò-RÕÛ„°Â²7«¤AJ— Ù2öLóòÁ-±šÿ¢
-j—Pïh8Úû,$>”βï~pä–I¹0õ§^U¤ÍSbjØEGò¨A ä¦HÒ¬‡Zø­ 1S!ÏV®
-9ÛùZOM¡6Oš@!œáÛ À•IM‚¤Öž Z{·7‚Üwžµ&·¡fá¼ Ä[ó¦onk¦®ç!d
-¼‹ÿ.—½\½-þ[.µ®-ǃ^Oü0Š¥«ï*GE ULxD»–Ë¡^Wª&"
-ÿ+£R¢ŒZäk³ÐïòtÒIJäe•uÞäÏÃøÂõZ×ÊJa4.+ÕÆÓëa •1HgtÀÕ§·D6c#ä}É‹‡µO 5É
-¾Í_qd‘-“§¢1‚žJÈî5~iœ€CBm4ó¸TÀ¶"[,Wó40Ø…g€ÀÕˆ“AXÏÛý èÒ
-\;ÏA¤Â=¸Kéq[[ªuW’˜0íΣª‹/`
-2gž&Eal zP`x挞<øûò”³>‰É‘|ÕåÚŸ¯Z®.»KÆÜç²ÅÁ%-“cÉÞ]!ò9…Ä×[òÆ3¦QÍ$Gàxi²IæÄ¥ G{eèbhm`D ïîQ‘é‚R:Ö!6Ä ¨æcaTM`¢3QM+eE{z(÷,`oÃPc¼šý±)ò4o:þF¢}×´nß•_ÐQå×Yç í€ï<šVW‚Z÷¢‡F/¤ £§Ëµ=-—FÏÄUíPŠþæ}¬WêpæGš«Ör9tcƒ7Ô0¢²¯Ü´5¦km}E`ñª(UXô>a%„ôÛ{¡Uÿv“•ÓégÀÚ» üMçR- âe^(w©†JEÝ}º˜þ…R{+ñ#.ªŸ6›jkà“7=?ÛRµoëbó˜Ö”*j?÷#Fét¸€ÀriÀ¥†Épø¨Ýƒ
-wXŸA'±õfa6f}T¶I8fö ¦æFCJЧÉ÷wÀ
-—êï ¹®ÔÅJ³é¥ ÜÌ®gßñëN‡S~WnR×UšlCߤÀ’àÀªÒ;Ý©°[ÛQë}›N¾ªÍ²îÎqÕ€™UƒÁªA»j@-'déí`=ü`%Þήº+íÌâã ½lw7T ·wC蘻!Púnè¹n  £ëwk.}õc³ã@öyåþM{÷ ¾}í{²àD@YS«”RŸÊN£ÁøÃõÍ%Æ$˜á‡Þ³¥³$“?]£ãÈ´›<ÓÇ*ÛÖ2íå¤kˆö·ô·–ø7ˬ]endstream
+xÚ¥Z[sÛ6~÷¯Ðô¥òÔBq# äMŽí¬kÇq#5Ûíå–h›JTEÊN:ûã÷à*’©ìîø
+äõ0­Ì³~¶ï–ùSVÕöeñTnóúye¦àïqÙcº+,0w»”æ¹s”Êúùæz¹_£Q ûÔ§
+h¢úàQZ´Oƒ$½I†Ð"ÙR
+.å5Pr(- T‘üñ*æ $øZ"d»+ÈÞ@:ÌJ8æΣì5…IhŒ(8x‹½YVd cÒˆŽ1áE§¢›DI<ž;ÐKZì2ƒ)Íy‹œH
+²ÃY” ’Pb‘«£ý`I•ë=!ý´n Þ)w‚)Qæ¦öM¨ˆËD‰Æ…-uÒ¦µØ¯¬Ûœ™Åwfs3*·{ c‚·¾¹qµ #X‰Ã™£ˆµÂt{JÄؾX¤’¯«l]åuþ’õ["¨žÇ\µ°D‡Ò–øöÀUD1ãÃ$(@²©Ã„""¸h“|—­³mZëÓ‹ñÛ‹™á,Jý\j‘É1àž³­ÔÏéÚŒz>QÒgHßÄLac§ã©wiQ|5«Ù—E±«@Úfúš›8*ÆO†±|ýd>+ÊòsZåËL[˜£´Ìç€õE‰D4aGR]Õ¯>Òꛇ EÜ©õœùü¶Ë8!N„fËl5U Aǘ¶Ùšm²EþÆ4ë`Åñ¦ÇΣTüí2å1q‰&j@¦¥ez’)K‘´"]æ[ˆåöëalæfΣܵc³D˜AÍÕbï¬ÒHêÑE¤ÏÙW0-œÌUhDÂÇg.Ðxx•Ù$¸*—ÙY(Pƒ‡'D2{bóÉ$¦9GŒÚ Î2 b¡§y¸9ƒDOD’f7 0%¶ã¢ßˆîGu5` ¥má1` Pâ
+æ¸Ì‹¬Ë–„ªY@´dËlµü+‚ü,H›­ßtò£qdnÆJ—o rbT K›"]Ø·Úáài.Ž•N›_¯ÓU¦ %–ÙŒõ´[eëÚ¬èÚÜZ³²,W©#«öjSM úoŸÎÇàPq 6Њ§«´ªU¸g˜Ø“©Œ_ŸóųY_¨,À05…
+ÉS¨V†µeï[7ŸóÊ] d¢E3:I„"Þ' §°¸8㮶^”«•o]#¤uÖ]{cõ#›çÐAPÂÛ6¢(Ob ÔºÒiG³/éjSdh¡«þí1U¶˜,«Çm¹òhˆ©æyøqOxçÀ€Þh8¼7QýáÝ£txŸªß$Å ’t 
+£§ÒëÜ`l¶ùZG*íƒÐß?îìöö(ŠÆ
+:ƒÎaXKMT¿–<Jki¾Ä¤ªeµ5H‘Vº”1Ð3æ@ÆÚa ¡ýlqÖýà¥l8ó}rðÊýúÎÞé©ÉpjêÃuåÿCR¢1E<&G’R5 +‡Òºz 銀È×éÙKVè
+J?*è0c`¬­+
+íDãg³¬>¸¤ÏvOO>.iÆúEÆ(ŠvLd Ô€ÈJ‹ìù A&•É’ Ùª ‰º]ë¼W%Oå~çIŸü1d´•N(ýb
+‡
+¸·ÑåŸKÞ÷Û?‹Tò7ìÝàÿþ¿€ý¿@ð1!hØs;<)öϯï.ŒÜ†Ä>»^~©]å®~?Ûm6åÖ*ìÓ)!dlœÜÇ<ŽØ˜Dâ0ÒÙÿE8”Â
endobj
-2613 0 obj <<
+2611 0 obj <<
/Type /Page
-/Contents 2614 0 R
-/Resources 2612 0 R
+/Contents 2612 0 R
+/Resources 2610 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2611 0 R
+/Parent 2599 0 R
>> endobj
-2615 0 obj <<
-/D [2613 0 R /XYZ 85.0394 794.5015 null]
+2613 0 obj <<
+/D [2611 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-910 0 obj <<
-/D [2613 0 R /XYZ 85.0394 769.5949 null]
+2614 0 obj <<
+/D [2611 0 R /XYZ 56.6929 752.4085 null]
>> endobj
-2616 0 obj <<
-/D [2613 0 R /XYZ 85.0394 744.3535 null]
+2615 0 obj <<
+/D [2611 0 R /XYZ 56.6929 160.8368 null]
>> endobj
-2617 0 obj <<
-/D [2613 0 R /XYZ 85.0394 712.0918 null]
+2610 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R /F42 1288 0 R /F49 1308 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
2618 0 obj <<
-/D [2613 0 R /XYZ 85.0394 645.3077 null]
+/Length 2045
+/Filter /FlateDecode
+>>
+stream
+xÚµY[wÛ¸~÷¯Ð#uv‰Å•[I¼ñ­–6§=Þ<Ðe³‘H•¤œõþún)!VÚnísÌ9 æú&# ¿d$ÂLñQª8˜ˆÑbs†GOðíÃq<±gŠû\ïæg¿¼gr¤Jh2š¯z²$ÂR’Ñ|ùMîî¦7—ÇTàhŠÆ±À8ºžÜü6¹²ïîÆŠF“ÓÙ8&Bʘ͖àèâf6›žÇŸ¦ÿx{}5y7½™ÿz6wÊõ7@0Óšýëìá -a¿žaÄ”£o0Àˆ(EG›3.œ1ÿf}6;û['°÷ÕL D0‰„¤iÀ"”ŒAJ:0‰P(a”“¼¿¼‚ÍÂ>€›öì‡G`Ä%æ†mþœƒ‰¾æ¯¿cL×n¸ÈJMÐèqL¢Ü’˼)žÊ|i9_í³íI°D±Ì˶ÐÒY[T¥Õ‚÷µ
+± ÙGçÏ{¡†hÚº(Ÿ p…8ån–ÝFÎ9bŒu†,—o)ÍJ¡¼Òe³w÷P(„gÄñ!Ç1È¢˜)Œ˜³4H•a=ŸŒ UÑçéDù[ eónÒ¹©ï¼¶¨íÐf—ŽâÅqdÎ¥”ò[+ïÂjW.õW'ð%w"ŠÕëþQ4mÜ/nt6Ú)“«Ùíém†#XÇãþ£®VeÞûl=ˆa´d>±ß]Þ\h!8Rö1YnŠ6Yd“G÷ù*7æÌË…Kÿë¬ÜAÎgë€æ$IOÒÅë±Iª‹±a¸n×a‰áXÂ<eÿ±8xR
+ˆƒ¼$ŒöÄÙ:Å8J 'Ã:ÅV!
+i&Ü„^«§%ò0\})´}Î¥–²P ËàA ×Ì&ZU­$¡^ËjÛ@1>À
+õ’…â—ƒ)N…í¨O§µâ¥asÀ‚Š¿:iì¶ i øT1*Å•'ÅilÔ¾nó·ÀÝ_œi¶qá1 ƒ”zˆ·Å(T
+XºÑxUó/-ü+ÊÁœEýºm«§:Û> kS¯üÀ¤Ï™‘²üfŸïÒ4j ” 7ØT
+z—€wL88Æû4ÅH0Xkà~p¤;`NÂöÍ¢ÝeÃî-¢9²¯¹ßÛu¶È»yV Ôyàà‚!P°€U.{ $`$
+9ÝÝ|˜àÞ6܇wÖ€g³ÍævȘ8 °ÞOÑßlìváë Ä1Ã
+tô26»¦uTÖ.ž-g7ßÝ…p‘ýO.4²á ß¾A>»ÖG-L®~ÚÞÕËÁ KÞ™¼»èù‘³ö­©y³£[F‡ë%\aocÿ“¿<†þžI/ê±x2
+§)Ôˆa4¯:MH_ÚhÈnçÈjêl
+endobj
+2617 0 obj <<
+/Type /Page
+/Contents 2618 0 R
+/Resources 2616 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2599 0 R
>> endobj
2619 0 obj <<
-/D [2613 0 R /XYZ 85.0394 536.5897 null]
+/D [2617 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2620 0 obj <<
-/D [2613 0 R /XYZ 85.0394 406.1825 null]
+/D [2617 0 R /XYZ 85.0394 752.2365 null]
>> endobj
-2612 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
-/ProcSet [ /PDF /Text ]
+2621 0 obj <<
+/D [2617 0 R /XYZ 85.0394 660.1634 null]
+>> endobj
+2622 0 obj <<
+/D [2617 0 R /XYZ 85.0394 598.3452 null]
>> endobj
2623 0 obj <<
-/Length 3136
+/D [2617 0 R /XYZ 85.0394 524.5718 null]
+>> endobj
+910 0 obj <<
+/D [2617 0 R /XYZ 85.0394 486.4641 null]
+>> endobj
+2624 0 obj <<
+/D [2617 0 R /XYZ 85.0394 450.2617 null]
+>> endobj
+2625 0 obj <<
+/D [2617 0 R /XYZ 85.0394 418.6236 null]
+>> endobj
+2626 0 obj <<
+/D [2617 0 R /XYZ 85.0394 353.8836 null]
+>> endobj
+2627 0 obj <<
+/D [2617 0 R /XYZ 85.0394 247.2095 null]
+>> endobj
+2628 0 obj <<
+/D [2617 0 R /XYZ 85.0394 119.271 null]
+>> endobj
+2616 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R /F64 1435 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2631 0 obj <<
+/Length 3250
/Filter /FlateDecode
>>
stream
-xÚ¥Ërã6òî¯ðÍtíˆÁƒÉÝ“gì™8?ÖvR›Jr %Èb E*"eæë·nP„DIµµö`£n4ú…†ø)ƒ~«Pe";M²(ŒOÇóvú
-c_N8áŒÒ¨õñùä§Ï2=ÍÂL uú<í­•†,Mùéóäà*Tá9¬À‚Ë»§§«O£›«ß??Þß~½øxõõ|Äã4UÁÅÃÃÕÝåõÎG"f0&0Ü^Üýzñaç™.¾\=ÿõüËÉÕsÇ\œIÃÙß'üÅN'°_NX(³4>}‡ò,§ó“(–aIé åÉÓÉ¿»{£vê@¢8 c)S§ÃbãaÂ9 %•Š“Nl‚‰Ía±>moT%¡`2:í/¶CÒ! =’‰y¥>ÉOõ|‘·ÅKQíN&cÁ¼žè¤,xÕ•^æ­np$¯°­Ëɨi×¥ÆÏoz}Î9>À$&‚÷¢Õ«ÖMq«ê6ŸämÇ,àó#'zš¯ÊöƒÙø–ˆ¤b J)`“†ÓIÕ4z<bÓe=/ó]Ò¤þ&G@d)Hƒó0‹ca'¿ey>’<Šj\®&?Ú™í(³…³aãå9O B©+„
-
-OÅ+é¯AÑkã0ñÃ:xÓy¼úíþæj¯¾Ä„jI0úXûõ¥Ã²úòe'ÁHCÉ2y˜¤C é%"/S>É/”B°ég ðùb²Ó™ÔØ¢}Bdž©†ÜAÀšb@‚ÞEkL38qgš}î`‡¢Ìèaë´FûOJ “{ñ#'ÕÃ:pRËžÔlç¤TȲäI‡4@Ò;)²$Ý"ù°,ª¶ñÎ |í²u±o>Ï—k?Þ¢×ídÜl åu5×ÝÂm=é‰( …Éÿ”éçá©p‘|ÿ IØbÊ„à>ÖrXö„n†B0\#ºÔaR,õRÂõ6o`!x q˜¹k€;/‹,d&î{ìn¶ øAŸgy"; íŸãÙú7çÐŒ .]¾ã9À–ìõÅѲh[]í? &BgÇ[ëÀa8,{ßöšË!’sÙ!9h.}’¾c³áÇtüðCB¼™Ë\!#"¡»¨50m¯#¸ÅE2=âpúXû%ØaY ~RgÞÏ–Û¶Üf+Up%懹"œ¦<sæ!ˆWúL¡KáÂ=tèˆÏÏ_i¸ÆÒ0ìLMÀ‰-aõÙtÞgºÂ^Aë8È>ábÑÚtÀ€+·nŽM—g@ÿñ1ÄŽI*=;Be°K&Ò­{Î|Q#%‘ÄDI$Êz^
-Æ«Ö
-Ÿ(çmn˜wÏ*f‰yg›µ{šéär½p*û‚µOÝ¥4o‹ÇÔ½‡u@Ý–U÷·á˜&£Äe•¥~Ó;iX–„Ü 3æó«ýBAûœ UôËêõµ+€ZÆö‹ŒÉP$É‘4 u@dËŠì·§ÔDqy˜¤C ¹õ”šDBù$ûõ3zžr¾2±¹u¶{ÁÊX‰Ã‚ècíD‡e±“ë¨8Œ£ìI‡4@Ò cɶH^”eýnN&éýƒ9Þ‹Ø” Ô^±ø¢±uoÎõ©p ˜Ò„avë]_â] R÷²°Ï¼ô"`¼'¾#H›G™¶ ÞÆA€m±^éŸwicW´T:ãNñ¹å´Å.ÖGùÂÕ}¸+§qØ('o÷V3G#É#›í»Òµ r5§W Ókò)‘Cÿ$(¸
-ì© T’¿á›²5›·º|ÉØW5îx›‚‘Fà’”½'„BHtIÏ×·×w_p‰û‡çëû»§°Épv†G{IA;‰ƒ±M¬!}¡:dãݛzoê0hß8ø;üÝÞ^^âV\6П¾½}z
-qÐ>G&Ñfÿz†Ep¥ƒ—,’§«ÇÄÁÙ?ΰ0ƒ40:£2½K$‚±Ü¤—´­®•Ó`N»ƒ£ñ)•rT0Åkñ|kïN:Ëm1·™oª‚ÏŽ[X«
-Sš¡ª–ÕVëÍì0Ýb0£ÖÆËXÞ9äõÆ<xBé§äœ»ä
+xÚ¥ZÝoã6Ï_aàÎÖ¬HJ”Ô{Ên½Í6Ù‹ÝÞõÚ>(¶ ‘%×’7›þõ7ä eR–A@Š’ÃáóEóI
+ÉîW‹WiŸ‹²ÄæûËC“¯±ïþ[ÖùCv([šèP•yÓ`Lª¥úÝûÐå]†)‹žÀŽ5×3‰4ÞþxÈb‘ÄDRïÚ¢®Nw1Ó#'3©BÊ šÌ8gi 3ÈlÑì/ Ô´€á2Ž¦Ï›bµÁê*kr¬Ý
+€›˜¥Innê6Ç“ãß÷*µÜ@ μÉID{ì[MÖÖû$m ñÅvWæÛ¼j{ÀÌ£<Í:‹+gZ˜`É“iÛ›u¼;’„×9øùmÁö…Þmô‘D|hë-k••%ɪÉÛÆžš=a ç$³Gv¢„8‹9WÅ, ExFi ÑÌ¥BÁ´hGuÄ¥»$\¦4…Û9º¤%XÒ¸‚j,¹¿äÏÙ»0¨‘DàÌVÙ.»/µNÂV¢ÊǼÊ÷Yk§@ZÄ 6=å/—œó)ÓÇ£RÔã7次ÖihÛH«¦¨b´¨Ç‡>~€ì­¯jèTóo»²X­sÞXÁåœc¤mi¥`ZUþƹCGà^MËk€JÒÀçÑŠ&}=Õz,•Aϵš
+]­ÆY’F’´Z^=Âöúœñ
+.f<ªtú¤-ßÑr©¤»¾fåá8lÀÓ‡„Ç€S)ôX¦ÒŠk{hZœ6Í„<’£«þçöfŽ-Zã¡‹™u9cPÍã01&ëì0ÄTÕ‡)Ç¥›ôD¥}dPh©ÿß ÕÇÛÅÉÌRPÎo–Ÿ–¿b­¾;oÖ4õª xÃ7ù¤@’aæ6;=²p\{ÀÝûy1¿Ó›îÎqU%hUÕ[Uu«*n)ÁPï{ëa‡ñvùÑ]é(†€
+6ƒq7ÿåöz~/àYÇ‚¿zºT#x±T/NŒ„AÐ%Ç—´DKz†Ë(ÉNþ©  \A‡W°SˆŽ÷*ÆL5?¬·ÙÕÝ7EË0 \nìÕt5xÑEkç­ÌìKï´fWgO
+®‹cõÊÍv©ÎŸTGeNjsrRŠiüÊ’–h`Iï¤8 ⤷ä—}QÙ\ èZ›SiÛm¶ñím—ŸC7=Ááey<è ó1 sêé‰0eBˆøòô@óðDXK~þ„@¼‰|Í»T#'d©Ì ]™`É¢ÎuXû|e’îýøZ„ 4†g®£àίSè^½ÅiîøAGNÖ‚žy<ò'«Ð´
+.­¿ã)@›R³©Öç}Ѷyuþ0p˜(õÊa8T#‡a©Ìa<½.cK¯ËÉ’ƒ×Å]ÒWlÆüèŠo~Hh@·±ž+xD$tkµ†• ç œ”d\‚.Õy vTF‚Ÿ_MµíIRôx~ã\Í
+ñc¹üLÝ5–‡†ÈL4&*¡òlòͺVÐ<–¼O,L†Â4WvÞ ‹ÎÏ€úÝÊv*=»…ì{#ì2Iï d«óÕø6ÑJ"Vø`™ly…ë^bðýÒÐà…³lÁ·Á¨{ŽèZu/Б}7T°o37w^Ÿ•7ê‰2jÏJŠˆ×/Ø“a; c 6½»Ã`T?VXîÀ‡+³UN¯Þ¶Ùê¨Rb&Níö`ÉoEÓ¢+Í´YD€&ÍžˆÖI W+T–i¬ñcÇÛÔ! ê äÍj-“/ö‚Ó`À%,ÛF‹ûIô-R‘}¶®êj(Õ(t2Õ¾~ã^¶õW«u‹óU\rÿ¯¸ .ÕˆF°TF#ì^Õ»}ÝÖ«º<›@eî˜@>ån0ì±GºÁÆ~b?Ä
+‡~Ê&#¦6
endobj
-2622 0 obj <<
+2630 0 obj <<
/Type /Page
-/Contents 2623 0 R
-/Resources 2621 0 R
+/Contents 2631 0 R
+/Resources 2629 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2611 0 R
->> endobj
-2624 0 obj <<
-/D [2622 0 R /XYZ 56.6929 794.5015 null]
+/Parent 2599 0 R
>> endobj
-2625 0 obj <<
-/D [2622 0 R /XYZ 56.6929 106.9827 null]
+2632 0 obj <<
+/D [2630 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2621 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R >>
+2629 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2628 0 obj <<
-/Length 3017
+2635 0 obj <<
+/Length 3094
/Filter /FlateDecode
>>
stream
-xÚ­Z_sÛ6÷§ðÃÍXžV,ñ—àôÉi”ŒÛ4ÍÅîõ:Mh‰²9•HU¤âºŸþv±
-”)9swÉ `±Xìþ°Ø]Zœ§ð_œ;“¤*×çY®“
-s>_Ÿ¥ç÷0÷öL0Í4McªW·gß¼Qî<Or+íùí2âå’Ô9q~»ømrõáÃìýëë_N¥I'³ärjÒtòãÕûŸ¯ÞÑ؇Ë\N®ÞÎn.§Â8gÈ"™M'¯ßßÜ̾›þ0ûõÍÇŸ~|wõjöîò÷ÛïÏf·½pñDªP²?Ï~û==_À9¾?K•;sþ?ÒDä¹<_Ÿi££•
-#«³›³ö £Y¿tL!F¹Ä8™hDÊ1˜<±J*¯‘¢…sgn¢¬¡ŽÔÓ‡f·¥‹â©ýºÎLªûºÙVõ=M¬ÊbC½§²Ø¶ŸR#˜nÝÔÝ3…átQ~JSY— ê÷Kl±z,Ë?Âö‘$HúÍM
-‘äÆH¨uUïºiTê&ÛKá&e»)ç]õ¹\=]
-!&`S­óÉ/—ŽÖËæÙ¤ÀÆNÚÝW¡è1›î¡¤¹ÆO-Û’—T-Ï›õ¶]Яª¦Ù¶œ7õ¢åýn^ Q”mVÕ¼ê@"O¹!A?—uG/Š®;åÒÓ7kî]IÆ.Hö5õvmI‹º©Ë ê7Û0{A?Ó“‹ä’Ó$5pk²Ô$JH7~™hSðÄðJ?ý€[~óÆꈎçrh÷$xðoš¥×ôxÂÊĺ—äë©FŒo†°Ybmn†Þ”·lʦw9™Â55µÕü& ù£|¢ßUXÝP{ÇL6»»UÕ>PöÓý&ƒ©.2Ÿ\-;´MÝ^É°†7EˆLM–dR™!R«Õ
-o˜$ ­êùj· K) «Ð;è ¼À_ŒLE<ê¦2”1#h[ð̺ƒ£¨ÌN®—«¥èê Çò@Žé[j›MW5Ìñ\ˆòœׂ|ü]YÖ=ú|ˆ#tå²Ø­:úá-í')uÝ<bsô"X“&y®ôé‹S¿=•¿WcܾɿäèDáN‹×SÈ7¼y¢”Cé(p”^‹Ø¡{€=´Š2:܃•¿ Ø©Âú†Ú;&(Ð#«`ÄJàNLîa/„»#œ •Ì“.
-ÈøSÁ™A‡ñ§0ðS@ S…õ -ºc2}WQ»ð.Jõ
-*¬o¨õ¦€E‹rUÒ+­RÑ¥ž…Jy'4²t#|ÙÊc6jWM}_nû;(Fq_ì¤ØÑa²œÝºxŠýẠŸ1 {ÊMÓV]³¥‘AûÐ<úD ò¤³ÓcÈÓ`håiäÅTÇ‘×SyäU£NMHWÕ`’ÏÅêì4¨ÔÙIÙzªá°Óú™JÇ°³–•jMÈd}¢3/8t·v/¦§ZúDÔRžk)¨ãÔ\™Œy‚7ZMc¼“<Û‚Þ*ÛÇ–ý´%À©,I¥8×»Á£):•ÚÂÆ›b[PBÃOÔL¶* Z÷7×;» ×UkÌ4§“è µ>M‡p9>X­¨°úÐï¾ëL†G©0O‹·º¾ð*´Y¯BT¨U¨£•|oq¬1-»Ï‹ #|lƒcÓØ]‰Fð*ÚPX†\Ç·ha1™7õt,Â…ë×†Ê >\ÒP\-B€ãxÅú£à?­‚£6hŠÅ¯XìÄbáï°Vô
-ÄmIcôün
-~‘…¯ÃP؈…X}è®H}è—H}t±—…nd¡¤gä ¸P¹gäñå4œ%J¼p ‡`hN6a\Ãœa¢¨éw(KÑh»›Ï˶õW&½é=q»m÷Û™«€±X =|ܨwÑNä+¢¬Æ— 1/žÚo¹œ…‚<V¡ÒUäA—T&ÕÜ•¥0ì|¼¥û`ÌDe>_H4 9\ .<ëûÝÚ—ìpŠ‚3 ¾mµ‚gcA£wO4Êi¦ç혓ÔKæqñtá7¶“‹uÓw/Xš‹E?özãåЋuuáï¿{~ÿÍÀ)kR´kðn;%Íø‚/³£b/ÿè˵v_8†n_®÷CßDZ¤8R ñÃr-ÞŽ ‡åÚÁ ?¤ƒóE¡A_°õo.¼Î½*—çàx“<µÞ›8Ž»ÞÎÞÏ>^aa÷vöšxü0û•:o®ßÍn˜Sü”¹¤I²”’‚_Ð*a»=‘„7>•}5´nA´)\¶å¶Y¯Š»r5Â8Ï@Ø>ÙÁ’4†n\tç˼ܭö¾Ô»‰Žæ7[P–§¥j&.éöEÿfI-—ç¾àk’AÇ2H•&NÛìÿPÿ䫢(¾ªð߈ÔøàƒbåƒlLÙvð¼Ó¥c£6»Ž#ÀÛÞ¡†¶aßn¨wûýCçÙmûšù2TÅŸG†¸lU¶C÷ò2îû².·TÃ:ò1H›¤¦“_³b*z‰A´]§"^TÙ³ˆ/„ZÞµ§z¾íÀ’"…¾¶ÃmÑœ#6”6Ñ©i{L›uqÑ1UAhf¬zIUÕ Uª—Uuj×HU‡ÛŽ«*Þ0?¦©4Ñ$<¢ªÞ“m5¤%ì"Å~ý}ŒW«ûf îq}\Á}J._PpDuBÁêeŸÚ5Rðá¶ã
-Ž·=æP”LTæì‹hÜ;†la|Á²i:ï1íKF<4~n*‡QÅ{êLÙÁíÃ2/+äÞûeÁýøgÍq¤‚x‘Z"¹+ úä3JõMHÇLFnž9ËN/sÛF'ÂeÙ·pòšÈ¥ÖCWÍߟNžÕñC[P¸·K”yc2÷\N°8&%ö30}–¾Xf/ˆÃëòðÙe.ÀÜV Í}ûPŽI™'™ì•™Q&ÔiøÎC–ÆœÑFÒᯛ ÿ~ûø;„šyÞDã:2Á÷;>#À°Üz(à( ¢‰øÛðz±(þ+>—çþk5²Â;‚³:ï™üãú=åpSmñë«"å»w?¿žõÏyWbìÜ_¯Ãø|\µ
-{(>—q¨±Š†‚ã M¹]Wm2Äø5倕Õz3c \½»ùéÅètïÎ@
-‚·T)pŽ,
-.LŽ¥ ac…'à¦äþÉ›ýÕ•u_g½Ùm6Í–CÝyXn]cõÏþïžkâ?X¨k­endstream
+xÚ­Z_sÛ¸÷§Ð›èiÄ’sONì$¾Ævû®½¹»J¢,N$Ò);¾OßýŠ”)9ÓÖ~ ¸X,‹»K©Q
+ ÙQlRßêP“EŠ2›5ÅcÖU °±7Ïš[Ö«Li–97òïEÝå=¿Ue–Ñ`™;Ç𰮊٠°§bµbÚT˜ë¼ù³´óR)öÖE¹­Ñê°ô‰R~jLHëà±°›S•xy_ e“o³Õ~}Z³%7çù"Û®ššßHxê@z³çÚ±ÏÀT¬b_ie‡*L“.o‹ªãÂåLœòíu8S_…&á´àç‡|_-¥
+¸MsR)d¸BO½-Ï[ †µ‹
+Ý é®¬7Åó¡b x”DèÊEè@¨·$}ÏwÚkèÉöÈFaä×7µ7~j[ó¶µt-ZŽ^Ž„ñO#óÅýU(1=<gÕúaË6®B†=çÙF”B0ÏQϸVÎû”xÚn„ÑdYm7ü‚Q9™vù¾¬6||¡c•gÜ¢ÉðT ߺ*›¥íÏN¤v¾àÀtQOyþÍMßÑù][¢É=4cúgð zãDcýcº“¯\”<‰¢Ôûç©¥5 -›Æÿ´¿Á"†7#µýÍ€!´io3à6#Åô à:¯e¾;ŒT+æ
+ÔÚ»"‡1ÍLêõ!øq WJO?t"Žé„];>¤»\ ¼„ÍL=Cs
+Á_ÎÍ~"ƒ›v¸Nœw¾F*|!^9\'Áׇ©î:ŸèìþžÜ/æL²÷û©`à]6.q"/nä6¢Ì¨½ èmÏ_ÊM@ Ùü ¹
+7¾âASa4¬à眕n¨[
+PÜå~ØI‰£Ã”Ó9»uöÜõ‡XE: @êiŽó¡ª‹¦ÚtJtdO”.A¶Ô‘†§ŒÀÕ+wj—ë0òZ.B^ñÚ·*÷ííì"0ilGuk¹”ëÁ.²ÐŽU_;Ýîó¢þDhíNMâZP:j9Ûµ¦ó <SÌi]¶¸òˆuU#úb
+¾«¬ÙûÄIßrr®
+œ~!Á•ˆ€4ã=\C…Ž‰ÔMáݧ˜Zog³¼®é¨B'm=1WR}—霿LÛ*fW¡|’Aï0°å_ÑÉmº?øIŠZ¨ÈSáê]Å^6ôWÎŲAËQ,eܧµÁX·~LåD#Ó.Íæ~»88‹:ee¤NŸ™*ɦáÏF:r’Ì‹²2vŽŸÇ4±u5ej>E®)méZûEQ6¥«0Ûäåù7=§±Ùà¹ï&ßzæŽ{¨ì+â¸ä+/mÑÖîÊÇÐl‹¶ø‹– ËÚ•i‘ã@™v`%ý¢-ž‰ ûEÛÞ ? ¤½õuBƒ¶l{à§GÂúáÔ h?+ýÏ?KÚý+Š}$áð¬ƒÈ×:UN)´‘²
+rK ±ÿ»Ëës^Œð©@˜tñ½ÉË6¨ºÝ><T1è¯d|þî<ì´¿…zi†ÿ
endobj
-2627 0 obj <<
+2634 0 obj <<
/Type /Page
-/Contents 2628 0 R
-/Resources 2626 0 R
+/Contents 2635 0 R
+/Resources 2633 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2611 0 R
->> endobj
-2629 0 obj <<
-/D [2627 0 R /XYZ 85.0394 794.5015 null]
+/Parent 2599 0 R
>> endobj
-2630 0 obj <<
-/D [2627 0 R /XYZ 85.0394 304.665 null]
+2636 0 obj <<
+/D [2634 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2631 0 obj <<
-/D [2627 0 R /XYZ 85.0394 83.5598 null]
+2637 0 obj <<
+/D [2634 0 R /XYZ 85.0394 532.8321 null]
>> endobj
-2626 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F42 1288 0 R /F14 1020 0 R /F40 1218 0 R >>
+2633 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2634 0 obj <<
-/Length 2644
+2640 0 obj <<
+/Length 2148
/Filter /FlateDecode
>>
stream
-xÚµYKsÛ8¾ûWè6t•…àÁ¸7­ØžLo¤™ÚÝ$Z‚lÖP¤F¤ì8¿~h€")(ÊîÖTªÂÐht7úñAf#
-ÿØ(ŠIœòt”¤!‰(‹F‹õ=ÂÚõ³<cÇ4îrý<?{óVÈQJҘǣùª#K*%Í—Ÿ‚)IÈ9H ÁÕÝl6½¿›þûzzw>f©ŒÒ`r?½»ºý×ù˜G˜•Òàýäî·É¯8wžò`r=™ÿr6·juUgThþ<ûô…Ž–`Á/g”8aôJXšòÑú,Œ‰B!ÜLq6;ûg+°³j¶z]Á(á"æ_p6bŒ¤QÄ{ΈR .Œ3&¿Ío>|Ô†
-‰ŠõÅ…>sž …Œ4p |j›5yeÙ›ª*öšïý¥Õ‰H˜XOÍ^ËjSçõðÒ#‰Œ¸Ü*Á]žKb >àÜ I‹uTïE˜ ¹'˜[.ù18öÓ8Cs¢°³›Ñ„DiÁ‘z_V<VÛ¼y²wÖ?H4LbËùÅI}ðHÉ8rBA‹:ÿ¦<"CFd(ØPdyRd Aмn¼2"9M†2EKM<ÒÇ\—ýãöªµ³F½©V«"üð¤8"I$¢áI—-µðœ„›B»iQduíÍS"e’E_tÌhÅNOŠUåc^ú¼Ýgk%®NJ\Ù£ÏðR rØÉÓ`,ÒH×é°9ŸÆ×íyžó ^¡À +ʦwµõE6ÔeHŸ¡O-u{ò"ÿ'¿ç'½”ëúúœ?çïN‡H¾U pÄ«ßP“Yßý!ФtîgÖý¿zŽâP$tCMãÓœ%$\5ÿ£¥îÿwoNºf³­šjQýîþ³¥>þ=Jo}Õ
-.
-y£ŠŠ†í?œòàæýärl½ç†ÎE1çápýÔ™³¼žråÀñGµùsPRk[Œ‰¶$d®]êÁ"s,yY«²Î›üY
-4†þ­‡De¥¿i'òÌ´)80mŠ+ÔUã–¥¹{ãêÙlˆ ïK^8Þ–º!.qíág–j•íŠÆ
-Ú•…ªk\i¼C„)I(s l,<‰ÁB’ðUÛÓVŒíS.†žØg @ÞÚ§{¨ë¯¶$k«©nj¸n¯íÖÔƒjÀ±\C£²¥1À­¯ p™
- ¸´³À¾æ~=åÒ׶+AŒO>=UÃߨ¥ögåýÏìÝOîý‹XÇÀìÐ\’S—áò{‚ßiÁ¦YÄû—#2š¦ìûÓÔXÉÜ3mìžµnºv ÞYÌכּi³ˆNChÕ‹zÆÀ¸ÀÄ4&æ„èca»$|Õ×M‘/òF÷&=î_<ì·CÐ#x’G‚š:°èÞ§ƒú‰,VA‹yQp ¹kU3@ZÐNè÷€®Zƒèo
-!¿~–&I?hÚ¬<…
+xÚµYQwã&~÷¯ðÃ>ȧk
+„xLOêNšÉÆžîöLçA±q¬S[r%9Ó̯ߋ
+ÉÇ„Û>÷Û±mƮѸÝê‡ùàûwa<”HF4ÎW-[1ÂqL†óå§`‚ÜÜÏf“ëñûɯ·“ûјȘËàêáar3ýßhL9†ÆÐãàç«ûWw¦îa$ipu;™>ÏLæ[m× µO >}ÆÃ%Ìà§F!Œ0ü/)ép;`<Dœ…¡«Ù fƒÿ4[_ë®^(F4Œ¨ J†„ É9=ƒK…4¬Á€‰O¯ô„æ“3=€ÃÞMïÌÁm¡Š‡c*Ä„Õ&þ»V™mEZ­¨ `\7Zfe©ãßÕëªÈ·›äIm<–%˜å!·}ùv·Q•*Áå~±Pe¹Úo6¯#BHðo¨yVæû®H³ªn+ƒÄv© îÙ”ó•yVke
+«¼ØXÛb3ÀÓ8ñ>ƒ?ô]’$ߥúÏãõ8äXmèXåE3Ê*É–I1"q°45ù¾Úí+ˆ°à`¾NKSížIfß—*«Òß0¦‹¤JóÌ™³sƒ2L¥3
+ºÛF9Ë•y®[ñ¬2U$•Z¢s±I‰b€ôò6l·ªCbã
+Ò1LìŠ;øO±Ì’­:”€qbˆ‚Ë@µZ]
+ñîà #F›ýyT¶ßª"]˜—:ÐÕÎ<JˆàVìÖ{±Ý3Ù<çEZ­·çáÖ’!e=ð¶Z]€×µê…÷Ò x»ƒúámzŽJBŠBG½‘x U¸}αcUžW5B%AnaujÆ‚J&Ä·q´#á8Ú¬obXšGAõ¥æ=áˆG“4ƒ/°¸¦ÞD¥iò””jD ŠÀGäf+ ¡«¥©5t‡|„Íá´…8CØuÍÑÀÍ”±c’Ö€ž sÖC»iÖ]‹Ýþiãb]›q'RMÜKŸ„2$É9/a²/€¢ÇÂ88LE;¶ÿ‘?vîTXîˆ/÷|­|^J$h&:PE,m#³ÒpŠá¨å~KôCheÞki¡ &j¹; u]µN*kDŸ|ºð¤Œ0¨Š:t-DEÞ²_óÌßvEïˆejGª@3Ô¦ôÑ_M@¶Œükz?6p1ØØ1l£H¹¾ûx3iòJmUk{iIÔ-„Ä)¢ +V)aq^FÚð²kŽËZ…`ÚÕÌ°Y–Z½Æ4xWÏêó§—4ßÛî°Ù÷ÐýÕ|²¹Ì3½gÃ(„I˃9çÂ2W¶–W0Ñ„W °uò¢Ú"cÓ>«€vªØ¦e æZ’`eÅǵÉÙÄ®ÀÕÝìC¿0=ðx £!Ö f÷¨ýX¦Ï™ŸÖg³p¸½'Hl)ݦøazo¥²´î,·i–C%•£àGµRfªÙÂÂðs’í£’(F4Šëû<
+µ ¶ *Æ¡t©¤]ããµr[*pÂF¦é=~ÇB}ªËðtÉíÁH©0%“îuNR«€iRåùæ-¡øšå»öGG9€3p~‡EÄHÀn÷)Í”kðçsHìÓ6q*+œäiZy¦°ŸÆVÈñ¶"X€*‰œ’kˆÄÃZ‚¯¹àüì¬>y¬†ÅwFÁ‹2ýê#B $ I×dÖkRk‡êuçµ)@åcѵ6¥+u8c„u.|D]K åïóÕªT•g¤ˆ#qHRû×MiáÉtj$Å&)Kß ¡¸]Ó7½À¼ÅcÖ5;é5«²ç4ó¡}ܬ±¸êµ¸Ú$Ͼ‰3ÄDL{F²I®om:’íÓø¶ïÙ3Ä«±;eíöZöD6èF ½nJÓÞ…üK¸§½(iÝ[¼¸Ãâ-qþ¾?DÒdP^¼ú‘ˆ('Çð3±Æ±ƒŸXøï<CQ }ãe T•Ïs"tþw=ÿ½)=ü3pïz¡Ùy•/òo€û¦ôøÏ8]øØ
+q¦óÜö†( ÝÈ·Kõrfa1?aÚÙ[ÈÛ·„pÖÀ±Ñ5Wöšm\ŠûÍW½6ÏÇ¡ØØ{éµ·Q/jsŽ”OÂö—¦ôÕ–²ƒBéh-¢Cæ¤ n&³ëÇéÃ|úáÞ“¡_’²• ~ÌyµL¯ÏaSª¯ uÁ)!]ÖÊw¦3Z­6ß­TÖo‰í¾T:Èê4 ^ÓÌ<k9ª  i¸í‘-;ß´T…d$b2˜º¬Áø|Ä.&óI™›’›y³“ÌNªö¥ýfS:(ÍgÓ[SÒ³›$Ö»¤LFçé3þo’ÀN¼Ô¶c—æÙž/¼¦¶§™hÌ8@Ä yt¾Ìu†ëÂÖõºQ_¶«W3p}o`5tkàú²Ç¶mt?•!þ†¼ZPË–†ò§ôœPÇõ]DìõŒ^†B}'Ñ É8Ý ÔÕ“j÷ZäÛm úeRBßu³Ð䣺G#ÉÍõmQÄlæ©+·û²²¥¤Z¬;öë¹Ô¥|e- SÙÉD›;sOptaþeÖVý·lv=žTsÓÞa¤¢±ñH{Ü°Âßþaèpã ô ÇÂáj—ú’ëS'yE@l‡ËÃÉŸ•Ê–.æfûÝÒ8óòK}™¤
+§›heÑÜQ§(üMTÓKendstream
endobj
-2633 0 obj <<
+2639 0 obj <<
/Type /Page
-/Contents 2634 0 R
-/Resources 2632 0 R
+/Contents 2640 0 R
+/Resources 2638 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2611 0 R
+/Parent 2648 0 R
>> endobj
-2635 0 obj <<
-/D [2633 0 R /XYZ 56.6929 794.5015 null]
+2641 0 obj <<
+/D [2639 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2636 0 obj <<
-/D [2633 0 R /XYZ 56.6929 752.3578 null]
+2642 0 obj <<
+/D [2639 0 R /XYZ 56.6929 751.4635 null]
+>> endobj
+2643 0 obj <<
+/D [2639 0 R /XYZ 56.6929 514.2042 null]
+>> endobj
+2644 0 obj <<
+/D [2639 0 R /XYZ 56.6929 444.452 null]
>> endobj
914 0 obj <<
-/D [2633 0 R /XYZ 56.6929 715.1156 null]
+/D [2639 0 R /XYZ 56.6929 400.8314 null]
>> endobj
1513 0 obj <<
-/D [2633 0 R /XYZ 56.6929 679.2933 null]
+/D [2639 0 R /XYZ 56.6929 362.2079 null]
>> endobj
-2637 0 obj <<
-/D [2633 0 R /XYZ 56.6929 648.0354 null]
->> endobj
-2638 0 obj <<
-/D [2633 0 R /XYZ 56.6929 584.5411 null]
+2645 0 obj <<
+/D [2639 0 R /XYZ 56.6929 328.1488 null]
>> endobj
-2639 0 obj <<
-/D [2633 0 R /XYZ 56.6929 479.1127 null]
+2646 0 obj <<
+/D [2639 0 R /XYZ 56.6929 255.4748 null]
>> endobj
-2640 0 obj <<
-/D [2633 0 R /XYZ 56.6929 364.6338 null]
+2647 0 obj <<
+/D [2639 0 R /XYZ 56.6929 140.8669 null]
>> endobj
-2632 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
+2638 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F14 1020 0 R /F40 1218 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2643 0 obj <<
-/Length 3405
+2651 0 obj <<
+/Length 3224
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿Â3÷z.bðAðãòä:j’&縖Ó^¯í-Á6'©Š”]÷×ß.vA‘%wæ&ãX,°‹Å~’§þÉÓÔ„BgÑi’E¡ҜΗ'âôÆÞŸHÆ™x¤Ië»›“7ßëô4 ³Xŧ7w½µÒP¤©<½Yüœ_]M/ß}üÏÙDLó‰"ø÷ùå×óÏ»:ËTpþ~:;›È,5 %ˆ‹àÝål6½˜|šþò~zyöûÍ'Ó›Ž­>ëRhäé“_§ ØÁ'"Ô°ÚétD(³L.O"£Cií!åÉìäÇnÁÞ¨›:&ŠÈ¤¡QQ|:1*LãDŽ L„€
-7úæû8êaJ¦™ÎJ•/mû¼²»‘Q&Æôc®ÃáNõiFY˜è8²7[Ùyñ›Ê6p|q´–õSe×ØÌÇïv°¾Ùç3)e
-v½Â³ŸG7YoZ?Å­ªYù"osT‘ß11V™×Ëú2Eæãþ¢j;Ÿ
-% f‘>3"SÛKúÂr\Fñ^×l6«‰”°éè,úy¦LÒô¸ècö–c|>–!‹Pú0ãó—½ôX™PXä(gÖkIi(""!‡¼}¬¨YN@‘öªáZ–&±¡本fAƒóºjó¢*ªûY”A£¿R2öCþhx*hºôܯˆ’)¢aFXU3S›âêDaMÉ¡BÒJ¯é´I¨®ùñ’¾÷1V¡B•ˆøEèaQåaúb©d«{ˆè{š ¡xƒ­g­Ãám¨ I˜@Z5d Å®ËÏ3ð­Ï+—@èbîâ©‹½Eßôee«Ùì3M!î)§F—¶bc î²^RµYÞZ†ý©„DýÁVCí׭õ#¨JtâI˜j³“Jõ“`˜ž?»…T”`¢´*JR¬Ä{¦( ®>]Ìþ!%™u
-þ.¶é8ô\:óVßæ”o©Ãœv¹rQšXäQ‹¥%R\x$‘ñy~Å_ßA½Œ¢4ŒD¢Žëeë°^vXN/ïFô2 c6«å]™ßï)¥L¡ÌÖú8_Öc¥T:Œe9›aœÔ"☠ÃРÉk`Î ºßÇÞ:Du&[òDŒCämLý¡ÃÃ$(Ñt€£u…©zï¾*þrEÉ
- Œؼsü`¬ÄÉ×ß_XQ‹«#hÝò¾‡
-^Ç£@¥þh×­àïêaÔõ‰/´¯¯CjøHݱØ*8µ…m
-•I±¤úîr‰’JbçY€oP¯é‚‘¯œ«!²D
-…'Ô¼þ.q=¾Fw7’U]=è*¨\„ø-v#RC—Vx¨´ùcWæùeST:LÌ«E”½pWÙÇ:ì0;,ç0W/:ÌÕºnëy]|Í?ÊÜö5Ÿ»Ñ×ü{ì5eæ]’`ë`–Ü[’¯ì£ûç‘Á{–¹9¼*9RÊÞeïKa*Ð>Yçxa@0[ÙDÃ>2‘ TÒmý @Éž^+zbįÆðѳé…ˆ†±/üó
-Û¥6¤`wøXe1Èñë
-.‘Š¹ÄÍü¥<]Q
-ªDfC7圊dðàÂU„ÞŽ.Ø%8—«w£m1ÐUÞPZI>I,Š¶ÈK6…¥w ðJ¶iAÞÒé½úç+/m^1µœ £œ (ùµ«ûÒúé6!þ^nÄøũ׀ÿûgyÛŸFP£¦é o-¢PëLz¦PÞ2Ƈ%c÷8JŽf„ÉäJmB½¹ðõ׬{À€ÎO.˜Ñs«»-Þ„U4©JF$ñ?$Úaendstream
+xÚ¥Ërã6òî¯pÕBW8xð™œ[c;Nlo¤Én’Í–`‹ŠÔŠÔ8Î×o£»A‘¥9lMÕ°4ÐF¿ey.àŸ<OB_è48ÓÀ… Ïë3qþ
+k7g’q&iÒÅú~~öñ“NÎS?Tt>霕ø"Iäù|ù»wùô4}¸¾û÷ÅD…›ú“Pï§Ë‡Ï—?ÒÜÓEª¼Ë›éìb"Ó$L)¶h‘ð®f³éÕä~úëÍôáâùgÓyËV—u)´åé¿g¿ÿ!Ηpƒ΄¯á´ó7_¦©:_Ÿ¡öÃ@k7SœÍÎþÙØYÅ­c¢u⇉ŠGd¡ä¹”~†ª'Œ0õ#­4
+ãñi~÷ø0;¸‰ðEòŠ•ôƒ HÇ‘&],Gxä–¥;É,ÉŸ¢ ƒ)…'i§[”¬x­¶y³Z™“\@Å_á®ÅaOu‰† n¿™)Ì¢©Aí5+cÀ[lß7MõºÍ6«|Ak-—  Þ§jK¸¤)„ô§y¯?
+š&i'Þ®6KZ{~§™¥yÉvEÃíÊÂÔ5­Ø÷±°ïXÈ„µ~¢G C~¬’˜QªM“Wåá-&d-:
+ü@­%oïÖ²‰Ç¡÷ö¿"k¡®i0ÞÛBÏŒC÷Ö íð É–ð„Q¢žÝ¹`ßCyò–¡¥"`{³.¥ÐËÊàïþEív
+y¯v¯«Î>ò2´!Û5Õ^m‘Å;áÔ¦q» !MæcNÔúc¼
+Y ,Û°©L$Tp:ÛèbÏ6Z,4›ç±lCúlh6¢ó¿ÍA®ÇÄqœœæ­Åa®ï4s*ûÜÍZ «I7Hœ
+µ0e >v ±1·D#LÙ
+¢úŠ×61RÅnJ¥’u¦ÐLýhð±fìJbÀºµe=¢!)øNæwó_iuÏ,dƒs³º®99";fÛ”Œ&VÞtÏžöˆÏý<›þl/«º7'ª‘bªÑ€jÔR¤Ã#ÙèÑ‚;ñq~Û¥´‹O“®P°-Ô-áÖkÀ€ u€°PŸŒe%®zǨ|Mn…c+@øòkwË.b‡`öô§²q ÊERž¶ú.Öq«o±öEl—d
+®W'ê4I‡4B²kiâCì
+û$?S.¹VTeNÙ&{.ÜR·*–(H‹éb"#Ѥ³ ÷Rî–mŸàþUâªí;ØYš“mu®\u.1LàðA¯O—4$\ìK#
+0ðíÅ>c]fìv¤®
+&0(òÒØÀ/’AëÂ.r-Ÿrƒ ¾Ü²±3L‡š­5‚Ô•æH.kÆÔ¶×Ld·3ˆãa/0ë†.M‡Í@^Ýç¢#® ×ë)ÁQ;PIà •|¥ÞÅ:n-ÚÁÕ„~¤éi’i„d/¤ á‡Zª>Í«Aë%
+©Zšo©ätûÞ˜rÁ·*–“ºy/LÛÍnÛ«)%VÕ®q[ðT(ˆL“-³&³Ê!Rï{&Övù(–ue6à‹ÔÅýeY×f1ZÀÔH䃈
+Ö'ª¯bÜq“!xÏE±[p YÞ¿©inAª±qÂÌ’Ì7ö¹ëÐtÝT´yIcŠ ¡·Ùæ_ø¸¨+1­¥KÞC¯¢(mQ–(ö±º-ÃD‘ã8|ɺuÜO7!×ô}3h¹šâüf÷ ¾/i'-!ûr¤Ò‹Æ29¶dšÇ--"ïžËéÄuÛ€z+_šÎëöŒŒ .ã#÷‚ý¬‹…ö
+OëAé¸8$Ô‚éWë$S¾B8?l_*?{ä«E:d¬¯±Ûú¾ËÙg´-eæ)ÿDJS+Š¶Ë·6êÚYë•7¦œÍ~¤-Ä:÷6'¬Ø‚£¬Ö„Ô¶B6©¬'•¢címç¬ÉVÛƸ«DôÖ±ŸèpDuÓ_Øžzÿ¢">ˆñlj¼ •ŠO
+ïéþjö)iš©Ñ çïrŸˆÃqØ·ùsQKù XwcϬ7´åAìr ‘؃G§ËðKþ’øŽk¤„'L¿â™:H'4’‘öMŸF¦~¢f…|)²×u”‰i¨®O1Õ"rÕSG¥ýHQ­þ"!ŽÃ
endobj
-2642 0 obj <<
+2650 0 obj <<
/Type /Page
-/Contents 2643 0 R
-/Resources 2641 0 R
+/Contents 2651 0 R
+/Resources 2649 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2611 0 R
+/Parent 2648 0 R
>> endobj
-2644 0 obj <<
-/D [2642 0 R /XYZ 85.0394 794.5015 null]
+2652 0 obj <<
+/D [2650 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2641 0 obj <<
+2653 0 obj <<
+/D [2650 0 R /XYZ 85.0394 751.9964 null]
+>> endobj
+2649 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2647 0 obj <<
-/Length 3225
+2656 0 obj <<
+/Length 3383
/Filter /FlateDecode
>>
stream
-xÚ­]sã6î=¿Âoqîb­HŠ5÷”n²»é]²¹&í]§íƒl˱¦¶äZRÒô×€2eËNgz›™%‚ â‹ Å(„?1Òq§2%ièPèÑl}Žžaìó™`œ‰CšøXß<}ø¤Ì( ÒXÆ£§…GË¡1bô4ÿi|$ÁPÇ×÷7'ÿ¼ùñóÍýÅD¤F§ã«‡‡›ûëÛÿ^L¤PÃp|wuÿýÕ¿öp‘ÊñÕç›Ç‹_ž¾=»yêØòY¡²<ývöÓ/áh;øö, ¬0z…0i*Gë³H«@GJ9ÈêìñìßAo§ŠB„T±…”ž,ŒtšêQ¢Ó VR¡,¶ÂŒ«¶œ_L”ÐãjAm³Ì©sW¬V9"M¾Ë¦EIÐͶXg«¢ycì¼nþÝÈŒ3‚Ô›lÆÖyVÖŽjÖìÑ/Ûõèc™1Þ&«ëœ9ÊV+Û‰wSìjµ•<l"Dj-q/™Ý…=Ÿ¢¦6£¦Îš¢^d³¦Ú¾ä×üíB1P‰ñ(Ih8!M|,’·Ò=‡eyœlí’>Å‘‡ çaT ÄñD`Õzž¿ìó&$¨H%§™ë°¸óµAH÷¹{Üä³âç0”¹=‰P°ÐC9®«µ
-Lû
-1# ’Ș¾b“D¨'•¡J¦S¡šqþ[[¼d«¼DeMÇ@¾˜å—ð¡:͵ÐEÖ®šÒÝÀ‚vâ!xQpZe8eÎ#å¦m‚¡Í*˜04Cê±·‰J¢À(ð¼}òwuÿT#w6j\fëœ@tžÚ/4³e¶ƒAË<’
-¡-€É’Oa> J W§aE9/fY“³_!?ÆŽÄ;Gô=ö™¥eÕ®<e6ížz:iÊÓ^ÇÇ:îu:,ô:^„jR­v²ØgËÄÚ'¹bœ¦|i¦zB°×SQl9ˆÕž7…Ž0—ù+}[Žòº,fK‚¡ý
-j»ì¡ŠZòhöVµ~ ¶$âô´ñ{HÇmß!¡é×C¦o3FÈÉôëf›—ÏÍò áSÔ)Î:¤CÖúž7  Lø¼í¥¡ L¡e %l!„\:v)@xؾÄ¡3å!*/”QÓeŸ¡5Ãæ5ÏKú óbèm]€P¡LÃBÂ>z&2k·¼b³âT“ZÛ)+§!vÇeÎaÓn7U;½¢–î%Ç5%Šio3§UÅÃ:¡+ •åiHYd
-Î<}¬ãæÙa¡y6ƒ—G¸Ê¹+ÌmëyMzš-‡4ÀV/‘go =¶n½ìXºè)Ÿ­ä,h7ž´,!e Ldöv´Çˆ„(êž]YÂS^Ò‰þÒWß?}ùøõþ“­Ü\èþëP01œŠXqê¾Þus­ʘí:;;„T%hýÅ‚Èö4ûªE¾edÔ5;‰ÅãlZP½ÅÍZ/>¯ —-˼œ °Á.ËÙÑö´</gÛ·Mãò–&;®îÂq¤ßSw넺;,T÷—á[‹Š’ˆO~•¿ä«}ÆRðÒÈÓŒ9¤Æú¡HB¦Ÿê>gy³Ÿ*ÎóiûüÜ9&dì¨È”1ÐIÍi‘ùXÇEÖa¡È~Ø_2N‚$†‹ìÉ%ÒÀ’¾0Àè“HÆý%¶ ³4 Ô^’ ~uY3Û¹´9%КUFi«jHGÒʧۻÛ{vå_žn¿Þ?˜?¨²Œ GàDòš½O¢92%Te°
-žö–g[fÊ&»¨LçdÆ*ÖÔ‘ÑdisWü°WD1œòs ™ zXåÙ†z¸˜Í^o]•Í’‰öWGP·^xd9Ü€~uË{œX|×ç ¸·){{¼¤
-«$ìp÷ÎW»ÛÜÇÿs¡ak Ä\2¡ü³ÀL†‹qÿ0`
-嶽À/< ­!é/ç5¯÷dnE#9¨ WŒð~ VÿR ’ Cz»³",ëu˜»ÜËiÏKÐçó~Þy^ÂZзq~4>H¸]&&R§ãƒu<>tXÞ-Ú¨(ìý[žŠ øŠä4Ö
-w#û Õc#kW¡2]ÙÇVÓ¸œåê-0˜ùÅ+ø.ÜìÊ+®K8õ2Ÿ÷‡»Eþ ”­¢]-°îMÃY³câÒ+;¸E1?Ô>¥Šöý;֨ɑ\f9[µs2KÉAH:G,‘ž€¦‘(>øÄÚÚ½@[ƒ¿`ÒX×KÊ›ÍJj½BéøXìñ1ùLmw÷>U1€#Ki°6˜—»÷åAnäòaïqîgpÚeõj›£v ùȼS÷±ŽÛA‡…vp5d*Ð:ý3f
-zïN©8
-êp÷sŽCü¼r?K±9þ«Ž$€ É;eséÄo: õîö½ŸtœT;™¦'yë™ë'TI
-âöæÑendstream
+xÚ¥Évã6òî¯ð­é™ 7LNNÛ½$iwÇv23/“%A6_S¤ÂÅnçëS@(P¢¤¼7O
+€?ëJƒÿ™ X¬qPý
+sèï Ä2Å€ŠÎ®Íƒ¾¥Ý®:è­Y('x^"8_¾àLŽpbÆ„k¼½muG;UØnÊ|’Ìè.òVΖú[Ñb°cFÃIŸë¾¼à=QtùWBwꦗ¦«…6·“){;¸®ãž gˆ:U5‘;Ðm<ÓÄÉ|%~­‰iD¢|šê¤Åô-KÌùSIG 
+:tiÐÛF0èhÙ჻ϗ×!t·Ýq@ô–Qv›ÑYPƒÄXãyš:ïÄ&|jFIæLFÄûkdIìbç
+$ybu#Æ §ØuCm¾¦^NS¥ÎŸðœÆ’R¨ÑWÀÕƒ¶2–d'L¥‡tØR:$k(7' 妩»zQïYKØ©£” Hû¤=:d(`VF´‘½äÊ#FzAôØ)’3‰VÒG§¨ÜZ@€»ìÁö°ÌýáUÑ„b´ê_Ïuƒ ¹îžµ5¹0Áôk&U˜*–ŽESÄ&•˜Ú…àžDÃÀÊ ´Ò4&øˆ&»Ðã!Î}¶ºj».¾Ç‘Kg„c€’y€žŠúúÚPrkR %¶6ó0È<búlÚ„.æjûÅŒoÝ´%8Ê"HCùq öK°C²üÇ¡XèØ~C,´·ßT,äï÷s_³*ã4X×Ký/%!ƒ»~C6bø§ûªÒ†'6}qÔ}·éÝ”™qÇ‹²_bþ;‹_?¸Ep‰¢ZsAŽr@úöï‹<g÷K!EÐÃ\äµ½%Î JaÉXm¤0‘…¤ÀŠ„ÿÝ$D…2J VÌ"4ûàýAé]ñ¤x½ ÔZhJâ(§onïŒ+€ŒÞJ0
+™úËz^—-&IVQHçLÚn©›f‚A`À¢(sü¡ûCSï|tö¯[$l f@£ŒD å+RfÁ%Â_…¯°C;iw ¡JiUЀ×kdg,)W;¥ 2r"âÁ£uT‘±vºBЪîm~ms'€nò²ˆÓešÌ èŠ¼D`[è'] ®ƒ;ú/ðÕ?_!x­óŠvË2IÉh'·võPê©h
+Œu§R”8Œ9°yI·°œ`eÌBɹ{'=ä+y7ï±Ú³é»¡8Ú—ËqÌœù°ÕY˜q0 Ç­Ž‡uÄê8,kuîN&/Æ$NWyŽRåª<ûDMUyFD½¥úBgÅ]ƒB?ãë)
+Ú(ÇfˆA™_´€#4C‡ÇÆpé•1²‹DeÑ7´cWRÀùèêYUíäÄœ¸ro›¾ÙÔ­?`mã°¼r.Nx 눼8,+/÷Sò"Â(–Îs6µq»ÒÂâ$mÀš m$- ú{Ä¥E 5,P†èGbtQ±–ÈÈ>ÛkléA¹oÙQ®°O@– \‰’=®ìÇ™<r¼[÷m‡KÏi ]`ÑÊô·o •YAÊXªLíˆÙöÑ̶tÆ_z%3ØTÚ¡(­ÜCˆö-¹, È|÷gâ¶Þ-Jí"§uæ´uý©~±\ºõÑ“EÁƒ•{ëè?Ò»ïM}aiÏ}œ’Ø~üK;Ô…óŠÔì¾"£Ý½SÆìç˷³Ðm|õÁ¬Oïs5 Îà\‰£±I?ùdÇÍ›uzB;=¤ÃÊé¬nv“ù#ds.‹™RÌÌØÝL¥ÉáìÓ4ŠäÀÒ›?ù4}ô¢cἧàt«‚¢ í ;ªS\ˆPfCaè€F‰$;2Ò(!(–‚­ÍãÃhëË_î?¼ý|óÎüÉé5‚n>ï9 ÃéOx˜0¶“VÝ|vßÚÒsâŠÖ‰_´¦Ç&hýÍÂ-Èôb²R+ݲ•2ážÅ “Ï ¬·ø³yóUg™O;C²eˆ—œ¢Q€ÙM§µHW†µ=ùÖÕ¢yÙt.néòƒ‚®â0'¢–-Îa1'+åO'ÿ›UjS5Ý!I}™8F’CÙ#iìzÄ÷*öišúׄž÷ƒ²$~‡¥NþÈC:ò€OH–S¿îõÓ0M s=¶ŸÃÙßoTÔÕ‰d´Ÿÿ 0ö­ƒý\SáõÀ?%,$')bçN2ÿïnÿE¥`H²W¼C“9Û÷o®ð0€f[Ïqý­ÓÕÒÅjæcø×Ó¯ÖŽ!#ЕDI,Èq÷åÀD܉˜àÂ_ñ«O;endstream
endobj
-2646 0 obj <<
+2655 0 obj <<
/Type /Page
-/Contents 2647 0 R
-/Resources 2645 0 R
+/Contents 2656 0 R
+/Resources 2654 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2650 0 R
->> endobj
-2648 0 obj <<
-/D [2646 0 R /XYZ 56.6929 794.5015 null]
+/Parent 2648 0 R
>> endobj
-2649 0 obj <<
-/D [2646 0 R /XYZ 56.6929 346.2413 null]
+2657 0 obj <<
+/D [2655 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2645 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F42 1288 0 R >>
+2654 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2653 0 obj <<
-/Length 2607
+2660 0 obj <<
+/Length 3222
/Filter /FlateDecode
>>
stream
-xÚ¥ÛvÛ6òÝ_¡‡=ÇôI„
-¦"®ƒ…¢Ï` 6¼FE_½Õ²…)Pň#Æ,«Í«r>¯L}h¡%KÒ4´‰×`õȶ¹ê”EWÀ‰©+ð\õÂÐ%¢SYà5 žùtq€õ‡ÙÑ!÷ï—t½7ôÒÌ,Mmfàüˆ‹`4¯ÍÆ“Èê=§—xLzè>åË%
-GyY@¬Å"…ê –*EáiYCæÅt¹™™¿£+±€Ã_eaP,Áƒo\ñ›šÀ«lG‡Í•H³Êü‹GHÆs]Vy]nvWBˆà%=Y”Oæ„eÀ€‰8ŠwT:M™I|>òÚX§#¯Á²‘—÷D^ÊD¨|äå¸ä1[…ÄdL|^¶«G¸NØI çXt¥sa§µ3ªVÁÚs{¿Ì§YÛà„FL‹5/7Îè]fGª8¸™² [§sœtpÄ"+f„’Mëü±õ
-|W/ðäƒaåßÃf^¡ï• ¹È©…È™%ý°]™¢¦G6Ìàɼ\.¡mÌŠ¥¡Ð¬Úà(¡™-7 ÌïÆѸÜ]ZÆ:¸\•ÍñéÒIs9k` *7}v¹Ê/mþ'Çù¯:EY’Ùຂê¶%GÍ<=Ù™lS9r«²¨þæɘ?üý㎋rëðã€*>”ɼØB9vÄ32ʧ9ëÓäWè†H:/gti›ïåA‡ï¤ýZ£Ae 
-Í*F=ºs#À|
-†ÆQ¸É Ãq»ß´P"y,üsÆã@5294¯móÊVi6ÛÞ”ðlò/q¸ª$ ÞZ­^Þ?æåÖ½ù¼…×wôÈelU69í"k§|G΋0+{V#2X ò&úàÃÖ"{4í9bÙ®ý™›kÖf³Ê«êÔÂ÷vž>CJÛ¦z&Fc¦eêK@J†ØÕšô¼G”jª›«a`…X¹ÝëýÈDÏì´…‡j·Z™Ú6@¼5Åt³[»•^kéhVvO¶Ô䧣7.<±Žœ);ñùñZ¹êcMóñ¯Ü>,ÎÔ-úˆÔW=èqóYÉþ¹œ%„}ïÆÀ»«Âø×ÑÇÏÆϯw¸NàX ²Þ•ÀŒA CðŒ.±N†÷vJxp=”¤üh R ³Ò~%¿§¿ LE?­˜ïn –Š¾½C±X5“ Ù7$dF 0Í×ÀH¬Èªðì©Ü.g¿wèì[3û¡G&üxÇ’ÒþLßj΃aFWk ¸§+Èæ¿>ÝŽét^Åžòe}¾×n¼6Ê­SÝÅ´µcp¸Mõ©|Àö}KHö‚óèE¨…æÏË{cÛ…ò‹K¯îËžñ&–0ÌGâ?_:Ótß{;c ÷_H€¡/ Ç5Š#©/V't<QÃðwXÓ³E :vÊ›fÜ0pŸ€SÜš•8i:ÌÏÌ>®}+êÿVÐ ¹
-@‰=»v9ú0ùt®¨¶#ªü¡ÀvŽÍ;Áþê\(yûǃ„Ák^¨×7·îcDêÎVy‘CDfµz¿˜9}ƒÊë‚òcVl釄#£ÃN®µnþX
+xÚ­Z_sã6ϧðÃÍؙ֪HŠ5}J›t›n7ÝkÒëuÚ>ȶkjK©%'M?ýHS¶ììÍ]ò ŠAüá!‹Q ÿbdt«<eyéXèÑ|saìÝ…`š©#š†T_=\|ñ2£<ÊS™Ž–/ÅƈÑÃâ×ÉÕÇ7w×·ÿ¾œJOn¢Ë©Žãɇ«»Ÿ®¾§¾—¹œ\½»¹¿œŠÜèˆ2$KãÉõÝýýÍ×Ó÷7¿¼»¹»üýị›/V(ºˆÊôçů¿Ç£ì໋8RÀmô/q$ò\Ž6‰V‘N”r=ë‹û‹z†Á¨:¤
+­L¤Ìt!ÅHˆ(×Zö”¡ó(URYe<Ü~¸½{GÛþáãÃíw÷¸+˜+=Æ£©L¢<‰t]te s2=™56’ɬ¤Žò¯§í¥0“²mË U5 u+¦Y6ÛMÑÑà/ð÷áÃõ54Û~ï·ß~øpÑàí’=ŸÂ®ô¸Û”uG=³ò±ª[ÜÊì72¿TÝŠgÑcüÙ)¯ ÓñçÐ2bRu4Rñ&«º+·¼­Žvlx°àÝ5K_¶%O^Zúfs°w§/rWmJØ 2éä'ʼ©ŸËº*ëyiE’“jI#ín¾:¿nu°}ý²Y¯›+»H'³W|f“¦.©£YR‰ íβý-Žå_ö¬apüz)&VG2™Œ7 5Õdüâ[ ßZ¹–ÝÎÞT® V©i^/ëïB°êá9o6O;Ò9PU<íµ,¶,Ôo±Ž%ÊYÕÀÁÓ9™‰J55d2]5»-½,Š×ÖªNù±n¶UýHë²x¢–] –L·iênÅLû«Û.¿^|b¹€ÕKYþá–$Az×õ ljSÕ ¤Q±™0¤žÊyW=—k8&!&€©$É'?_jØZ,Q³yfáŸ÷˜ÙÐaäiÿ0`Š=Œ¼wðfFÛàºhy½ô Q€/XWóª[¿%cÿ™°õ/ÀŸ ‚voBàžf%4A²Ï©µkKjŒk
+f3JÑ'ÔNŽåÓwôlžºªaŽ+r!Êr0‹YiÝ'¡Á†@¡±(—ÅnÝÑ‹=!xþ.»n^ðqÒt." ê?o!ÕiCðTÖ®† 2Š$‘ÒÂœÏS È×·ƒ<RJ‰¾€dJs˜ÆÙ¶ðT”Nœô¨¬%`£rózΘ @ ¬€‘¢&Ø ÜÝZwÈ<Ž9*™'
+ ëÐæ›(t87)×È9 âÄÓ›6Œä2`Ö̬£{{`Ö;û’ …cnú\¬O›µÔQ’iý†YTgÌÚQY³þqجãXÈO±ke!Ëa³&¢ñúVm¢,ƒ¨Ú“­Ú°±ÁVm(ºáÓYuHE¶gÈ{Ú‘†¬sùoIMÎdš?¬ig©œiÉÜ‚
+g0õh ŠU©Ó*;°°åI 8•ÁmW
+ÓÌ«ÐÕKaø@…I0“íû|®²{°,¬¸ÐÃÛÆ>Ø6õÍJ<`ÄÏ¢“ƒ“!×ñ%ž°Àçt(Õók] —ÔtÁ.Aƒ~ܤb~+ØÇ¡UpÖÏžb±Ã*¡Xøîæ
+¯@\–8DÏqSpD1åüÈ
+ƒöè-q«m÷Ë9™ûBn(Ð>fÐ; h'ðAÉÂÖO±žQ¼¶_r]y©\ɯ:(rü]R½pPsW6—Òü@©Ä'ca ÝVT5CN¹›>÷?5à%gIPYÇÞÙ+õò}Ûò¶ÌIUÖqpü:¶ §®¬n›/c–†Êê¶oåZÃuaWdOͱýëžSNHmðÜ€wÛq*éèhÄV¾™U½ùÅ×­Ó}š¾n î‡<¾*ÕHq¢R=°“~Ý­„3Ã~ݺá‡t°¿ 5ð•kúâÕûZf?xÅi
+1$‰2‘P¥èÝÍÝÍWXâ~¸¹&&ïo~ù„Of?ãi¸eöTb»Ð©Ë*ëDš‚‘=zê'ä‚YâjÇXŒÇ\ÍÖ
+sg½ËÝzï<¥ÉÈH Ö@;L[PWÛ¹Ï9}
+ÿ„ÎM”H_é£úiî =ÓDšHj•öO¿í º“Íñ™žv'€ÞŸºgá²¾¨õúa‘ÄïÚK÷uà81teåîØp å–Êw'>õŠ<ŽŒŽåù¯Ô!•M¶D/¿ƒ¦Q/ºõ‹ì(Ç‹Qi’_ÕS/Û;JÛÔ®¿,žçÀ!Ê4JbwèU{Ju™Ð)Ue2ÊEöÆýꌪÕÛª:·j ªÃe‡U.  ÒT p O¨ª†²­æ½‹Èþ‹p
+vTo+øܪ‚—Vp¸ì)¢d¤2“¾‰Æ½/pé^ù/›¦³N/zÑ€oÆ/MÄÈ~ñ–Îb˜”;áö)Gú4
+.Ñ'\.
+²+¹%÷ ¹k, Æò„·Žø£ÚÁ°<å¹8ðÉ+»]qP˜¶ÉÝ^õÁuohÇ2 Œ‹§H{æÏÁGwR ÂÈÌÇ¿aqx~OÊ0ðf™TfîD ýfUI ±Vfn±š’xKŽ]l£#Å‹`H‡o>2üñ½CÎ@ ‚Ǽq‘û¸x‡L0ªaÃ^3büýC[néØc{Çnþ©ûÊ­Pû®Îí·xd…f€£Œ¼=“ÜÞM94§øm9í_6¿þþ§ëUAј{ Ú'ÝçT .2΄ËcÎœ8p•"1‡êMD¨Þ$pSç›5þµýq‚6’~`ƒýÍì¹jv<ìyÓ_iˆ-¶mjkœö:ks}fçDX4%ÏwŸi§ÈkRÑWتx.Ãlbúþ‚³›§r»©ÚÖ]û†¼»ÒþlÀËÆ>oýŸp¶I)cN”‡¸u¥ÀˆY(ܧÀß×$©V“¯nï87†‘Ù»Þ›¿º²ö¾ûÝÓS³å”ë_ÖNáî*ª¼ù_¹«á?ˆÝ·endstream
endobj
-2652 0 obj <<
+2659 0 obj <<
/Type /Page
-/Contents 2653 0 R
-/Resources 2651 0 R
+/Contents 2660 0 R
+/Resources 2658 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2650 0 R
+/Parent 2648 0 R
>> endobj
-2654 0 obj <<
-/D [2652 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-2655 0 obj <<
-/D [2652 0 R /XYZ 85.0394 536.6509 null]
+2661 0 obj <<
+/D [2659 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2656 0 obj <<
-/D [2652 0 R /XYZ 85.0394 289.3885 null]
+2662 0 obj <<
+/D [2659 0 R /XYZ 85.0394 752.4085 null]
>> endobj
-2657 0 obj <<
-/D [2652 0 R /XYZ 85.0394 144.0724 null]
+2663 0 obj <<
+/D [2659 0 R /XYZ 85.0394 238.4558 null]
>> endobj
2658 0 obj <<
-/D [2652 0 R /XYZ 85.0394 83.2075 null]
->> endobj
-2651 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F14 1020 0 R /F49 1308 0 R /F40 1218 0 R >>
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R /F42 1288 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2661 0 obj <<
-/Length 1661
+2666 0 obj <<
+/Length 1693
/Filter /FlateDecode
>>
stream
-xÚ¥XmoÛ6þî_a`_`æHŠ¢ÈíSš¸]ú’dqš hóAµh[¨-¹–œ4ÿ~'¾(’MɆ
-;x?Â(”"?Ã#PFÇ›‹B±0tOÖ£Ùè¯F`ë­^ꥂ`DCN=\P2& … ^¶Éˆ$¢"¦Ž Ø8†¦yYªùd§žŠïªÞˆŸ„1
-±0Ðëd£Ÿƒ\Úâ¸F†˜k”sFD`DiξR›ÑLUfP­ì;Ãÿ¥™|Ëìë"7¿‰ù1geÆßÕ‹56HŒ"j-a mÉì%/¶eVžX Ž9…¥XøH%°=í=Œ£˜>ž´$h¾õøžµÉ±Äp ýËdµ{tÃ'³­ˆµä¢ú±–°VOjmPmT"!„5òšÑd¡8
-™]”f;5¯ŠÝ‹Gzħ9?õ #$xY¨Ê—Y®<»°Fâ¢Ý=jœ„ #8_õæ¤axÀ"[+ŸL(¾9ï:Ãåtvqwu{usÝ,êø0Q$)÷Ó±ËsˆŠPrk¼qõ$-Á9¹ñWN^ý•Õƒ¯Óµúµž„A©*»ÄDoGH0‘Àm$´aV + Uµä\¥fšÙwo/ ²ÑZiä©!Öm¢ÃëÜn¦Re'úrõlÛ$ÛÙø\¼£ q½9»n^äU’åY¾<ö¼xn%‡ôU!$@ÿ!¬oô!ç^”Œ q FnåRåqè6¨Zïdu¨’s„e|B¥yT¶]*&Çâ@åtã’á¾L––À*_'õiêú™U¨—Â!Ú„8ÁI 5À‰CiNlZá„wV$}Y¥m0ŦÃÆ5(umúä?ÂÕ×1of"¬í~`v>c“~”Ù‹æy•ÍWp¿s'F†Åæ×<+³TõžC("Dâ®ÙõŸ‚éCØ9f—A$õ9̱¾N¦ÀfL:úΕ²9ày—UžwÉØ+Ýmß!Ðpµ)žÔÁÒb—Á…‘¬{×÷s ¥ax‚Üj€]‡Òô>ù|*³ÃK¹m˜Œ¡†€ÒiÐ0òÖqoLáN“Q×2Ÿ{«oûå²9mX?eP™ÄG'(k¡(s(MÙÑGÆ(æ$Vé@•TIQÌ(謁Ýe¹cãIíÊÌ•Y¾(v›¤‚½DP‰ë$}"?¶QýD4(MÄÔï;Bêâ²[!u²#fŠ1lZƒòØÖu‰Xõ[Ǹϥª{n¼‡È8XfO*7Ïn¶*ŸÍ>š‰±:!*Ãàï•ÃÌ‹ÍŠ°ÔÌž³jeÄÜ~¸˜ýBˆy\î·ÛbW™IVDªÉ~]Ÿ—Ö_˜§Ûïó’?Lyõ˜¡@ì”'Ÿ«Í¶²™9¯Û’vn¢Â]ž.Cçö×m§ÏGŒÉSÞÐB xƒCioXô%êA•M¦>VéKÕ•o Mʼf“
-â7W×Ö­¤U—n O*«]%©¥C-”ÙZ>·ú”äûdí1‹@ÜSÎ]3ê3
+xÚ¥X[sÚ8~çWðÓZÕÝ־ф¶i›ËÚél›<;‹MÒì¯ß#K26²—aKòÑ9Gçúɤ‹áGºB"©¨êÆŠ#‰èN×Ü]À»÷âh"O5©ÞŽ;oÞ±¤«’TvÇó¯á$!Ýñì{oˆÔ¸w~5 Ï¢Ûá×ëOÃ~D”â¼7¸¹^_|ëGT` RŒ{—ƒ«/ƒÏví¦¯hoð~8êß?v†ãZ­¦ê3£ÓŸïw¸;ƒ|ì`ÄT"ºO0Á„ÑîºÃC‚3æWVQç÷šaãmµ5h
+‚e’lAiÈB!É(«lñ6/—æoÞñ&-åˆ`„+"ôS?[¢C#ÉsD“lb„‘ÄBzF›ôqRê
+êÊ0Îç{±žY‡Ž¼'öSCIô
+cöŠJ"ñËú^˜ôÁ¦&M0÷Ç}]‡ènoÌÇŒ:w¶Íp> õ ?µ™
+ô¥à°¶ÄjDù"uäŒGj‘ ,MÔÉâE`ˆ±Ú`‹S
+Å\v•Ø~¼ÞËÄWÆPÊG5Q+õGáõþàóèúåàQ¤‹ì¯<Ó?°À üçBŽ[“%Jx¥Þ^\[IÊ œ­Ó,…ˆœ”UI€¥[=×ÖwÙÔåå$ÛNVA£' –”uÂ*À‘Jˆo)·ïÎ,G*˜
+ðãQãÍ.á⿳ãûì èù‹ìÂfÊø•Äm¾Œ?\ß¾ìÙ‹¬Ô›L»z1z.Jmú›™œåY‘oÊt»ÞÉ…žÎ¥ï%Cú å€ ÅÌÅÊF?æ?«¨­Ú;NxEz5Yë#Š)’fÈÙ¸¨XUJý 4vºz¥ëJf1˜ 7Û‹LÁËZµÐâµ]}¹MŽž³ü¡H‹}¤‰'’Á“¡˜$!`e²ÆaÔû JF æâ!Ì剚Æq†1=ä{´ÜÜùá£=–àÍÌá ßÙXZY…À–BIâ“·æ÷µ}
+pn÷àYºÑSÈíç
+KÙ†óáèìöâf|q}h_á²¹K…ýþ#ÆjÀêÚ×̤Ÿ´ñ*É.^¥}0° Í Éz….Ý› ²™ ÀÁf‚t™Ð$süH`ÍÂLΙAÆfšº ¶LÜ H%•úv×ü!Ú=¬Ù‹Ù—é'R&é¦ HjD[w r²`b _êdÏò§Fq˜íxBzÿý^WN<¼¹¤$BÀÕ„°Ó™Û¤²×%HÝšÊÈ–û"Zb¿ ÒDîš8Ù9\ûb¸-& gÀµ.v“Gê_©½;mÁ ‰.^°Iƒê„M<UeWVd«`1s U•¦næ¢p„žV®¦
+hׂ¦1¸µ¶ÔÙ k†èSŸÕ©ZJ]£yZ¦Óý ]8¸[w·2·O»V¤3}ÔÐñ!ŠãÓnh÷‚'ªœ°9LÍ
+ßí[´¶Zçzo+\Ô¡a
+*©ù¦Ð ×5÷ºÚ}¢ãÐd’„žþ*åtÚ»v e ©u½ÀÃ_¥Îf¾_Œ¶
endobj
-2660 0 obj <<
+2665 0 obj <<
/Type /Page
-/Contents 2661 0 R
-/Resources 2659 0 R
+/Contents 2666 0 R
+/Resources 2664 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2650 0 R
+/Parent 2648 0 R
>> endobj
-2662 0 obj <<
-/D [2660 0 R /XYZ 56.6929 794.5015 null]
+2667 0 obj <<
+/D [2665 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-918 0 obj <<
-/D [2660 0 R /XYZ 56.6929 769.5949 null]
+2668 0 obj <<
+/D [2665 0 R /XYZ 56.6929 704.5976 null]
>> endobj
-2663 0 obj <<
-/D [2660 0 R /XYZ 56.6929 747.4361 null]
+2669 0 obj <<
+/D [2665 0 R /XYZ 56.6929 558.8408 null]
>> endobj
-2664 0 obj <<
-/D [2660 0 R /XYZ 56.6929 710.1279 null]
+2670 0 obj <<
+/D [2665 0 R /XYZ 56.6929 497.7352 null]
>> endobj
-2665 0 obj <<
-/D [2660 0 R /XYZ 56.6929 638.4656 null]
+918 0 obj <<
+/D [2665 0 R /XYZ 56.6929 460.1226 null]
>> endobj
-2666 0 obj <<
-/D [2660 0 R /XYZ 56.6929 560.7349 null]
+2671 0 obj <<
+/D [2665 0 R /XYZ 56.6929 427.6955 null]
>> endobj
-2667 0 obj <<
-/D [2660 0 R /XYZ 56.6929 480.0392 null]
+2672 0 obj <<
+/D [2665 0 R /XYZ 56.6929 392.7171 null]
>> endobj
-2668 0 obj <<
-/D [2660 0 R /XYZ 56.6929 153.5839 null]
+2673 0 obj <<
+/D [2665 0 R /XYZ 56.6929 328.6896 null]
>> endobj
-2669 0 obj <<
-/D [2660 0 R /XYZ 56.6929 84.8435 null]
+2674 0 obj <<
+/D [2665 0 R /XYZ 56.6929 258.5937 null]
>> endobj
-2659 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R /F40 1218 0 R >>
+2675 0 obj <<
+/D [2665 0 R /XYZ 56.6929 185.533 null]
+>> endobj
+2664 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F49 1308 0 R /F40 1218 0 R /F54 1383 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2672 0 obj <<
-/Length 2670
+2678 0 obj <<
+/Length 2095
/Filter /FlateDecode
>>
stream
-xÚµZ_sÛ6÷§ÐÌ=œ<P
-8ƒÑ %ó¼!RÂÅŒ7À4°2,ª¦)òIS´m¹)´i ‘BÖÛ É — œ L,%7\bŒCcLakV´ØhWvì÷âÅRÊMY=b{S´Ù"k3ì-ë6lƒÐOGÀVJR!˜UŠ+•¥f/U½mÊæ0`¼ÎÁu’GD²p²Q0•‰ÚÁLŒH$ ³&CÆù1 dbÇr•„(|ž,¿¸Ö;´ ÖîјÏ%”»"oëõ·¤ˆa%A-g'ô}@(9‘BXÖ¶]ÄQERÎ’Cqw¯Šƒ8ß×Ë%˜+Q‚LJb¯b'°<©‚Lï"ýÿÊ¿ÿSÔ‡boþo\ÿ5bW_Ì.‡II#æüŠ8ùyò©ã|
-(
-&ö(gp0xp=½½¿¹›ß|¼ífù &H‡wê1‚iK«Ôî’&ã"[4—­ ?¶8Uãí®|‚á€@Ýø-ŠØÚ³j X´ÁI3½ 3u»ÇL͛ٵ›m‘—ZnaÅ=¸©«s'Îo‹¹]î™ìÐä7!"2¥Ê2¸-ý‡dÜÿ 2n¾A@ 5$´ÞK©K?·5}i‚PÑeh½m˺jtÁâñÜĤ½<«tƒé°THz°ŒûÆ„Æ^™
-
-¡ °™Z>Vÿ­«`ªGQ§ÝW©aá.£çê¬BlH(I”L}lhêeûœašÛÓ»Æï¢h‹ÝFï\Ó}6æ ÎîÃØ›ø`gl÷ë²Y‹7TÍL²ÕC³ª÷ë…?ýäÕ Î’¡Ú+VtÑæÄÕ94äÒXw³G
-hÒ8†é¥ýjøÅѪ›€„¼ÞlpKu]8åïã¨2! \Dõ$þHhrê‚Ú”›íúפ© €€VCA
-Zv+¤­ö° &hm§²—o.¿²sF1@J“ïJ³Ý€»1vé±z¸cÈÕ¦Ö-1Þ®³Üè¬G­½! »3zj'Ò"VÌ¢7P{CA<²üÝŠÚÆ„I—ïƒPnʦAÔ0›i Ùú9{±MwK:
-Tò^ª>—ë5$4Çˬ4-aOsMËڶ؀
-¦ø„†šî¼¢i’ÖÅc–¿ ©? &Bû`ë]êƒÉŠ1öéYÎ>ˆ˜´»ÒÎ7ÃN;ePp/å>Z³Ýa¸¬ü}ˆ ƒ›AÉqU<ë†c¸ôa’@¡eü Ã6^Jô3ê] “ldŒ,m „´œñ`aË lh.`×0¡Ù:M ¬YŽ¡ušö`)ˆ@0û]IW¾Ì¥6€lšë¾0ZD¦¬Ñ$“z*î`HOÙzoŽLh÷¨<ƒëƒöJmjD£U¼·*ÆêíR׳ήo2FrÞjÔ´Ülç‹ö †!ð;`ómÇ¥‚œ‚( §Éyˆr†¨ŽË@”}¶‘Þ³ 'B¤¡W›¡nT0ÂS)Ï+×q´ó¯!
-”g©àþC—“D*q^¯Ž+ ˜­LI'‰¯†€3Wm0]â,³ýºÅÎ|þÞ×øÝ7–m‰·µØá$su
-4,6C«´rK^WOÅQ“+'7ÃÏõíìÝôßؾ¿'Ø0w ¡ŠÝBøŠ
-g*\#ÙA©
-÷ŽWÒ …+i´²Ðèî^ s'™æjzD3c?RÌ:
-Ï69.¾– žšº×Yú ×Y@Mc‘·Ùï–ÝB¯ W9Byj¡\v^”ˆàV;Kªj«n§·½NÃÎG2ÁùÒ–(2ê,“.[tÛ¸äÍð4
-,éUÕ)‰õ(Þ’ÓóƾÉ ÷³OÓw°lÐÏ4_Ëö´ObJ㯸¤g:ãËdòéÈ!’À}U]Ïñ¯çßÔ)‰’Ô[ïÎ>Òhs«,‘ÌAŒ…)N»€F2ó5 ¸Î8Áq/<…P«£gïÕI*–ç5븪yþâà'!}ÕBeLñ°|ìžûŒf'}¦¿‰ç]6`:í1Çd6}µæèÖð<ÆI œ:«WÇt¬˜ï/ETB…§Ù/ú$¢©=‰(\ Ë']0hÚÇmQÍfﱃ
-jN¹}ŸÓä¼Þl˵>suïEZÌÝ»·³¿QŠäf¿Õç?vÊ9,j7vý©Ûßó†Ò`)ÁI¸¡;šÞÿpÑ´%g•¹Ÿ”]­ß`«+=+ûuæœø¥ž ¢^¸;ê^?þð¯øýWˆõJrâõG1á<¥N)í*…yŸ—ãnn¯Ñ$˜AÔäŽõo8Ó¯mQ-ÜìÌEAw>™#!Å<
-8¢ûßÇžø-…=endstream
+xÚµYÝsÛ6×_¡™{8yZ"ø&q}rm¥§&±}–’v&É-A'"©Š”]ß_‹/Š¤iû¦öŒ €‹ÝÅîo»4cø%ãD ÌÇŠ#‰/óoàÝO#âi¢@µ©~\ŒÞ¼eÉX!%©/Ö-^ ÂIBÆ‹ÕçÉùÍÍôêröëYDžLÑY$0ž|8¿úxþÞ­Ýœ):9ÿi:?‹ˆJ"eÈ$ž\^ÍçÓ‹h>],f¦g_?¦‹F¯¶î3£Ôo£Ï_ñxGøy„S‰?À#¢ç#.œ±°²ÍGÿi¶ÞÚ­C¶à"A‚r9Ž„@"–Ãà 0@³)*N£dÈ`Ê,úÔ?§’p¼8·™=ˆDÒ–H‚ øFuEÞ²¢®œ7îõ¡ÊÊÂM²b]ò´†ôÄúþŒ1–ˆJ&^1D‹êC*këð7o%oëOP¢xÈ’èb“º¯a%Ó—Uk¨tëXŒÅ(N
+9b‰Ší±æS¯Àùûùõ
+@Fã1Üît(Ή2’ÉË/æ›8H;hÈN|ð9Z £wîX¢Söp†øéFÉz x÷èHIÚ °aú~€)J¨üÅSïØAêRŒ&}v7¯²'ê7åzmòÐS¶Ì!ï³=` ƒŠ[™Ò¶}ý!þ·‰Ú¢Ïvö÷Xãòïa»ýênxc$ îÝðŸ£O åý€Ð"AòáÊŽ!Ø@ÆJ’XõEO_=Ñ©¢ïqì’yŽÖPD_S¡Pùõî©Ëéüâvv³˜]_ Tn÷T+3ö2 X`nP[A:f0JÝ#ä,F H?d÷©)ëÌ ›ÿÌ Thv“)¤ÌÀUâf“M˜ !ašñ)aÚÔË®öz™¾Ú³» [·CÆÂA:PQÞ½1=A÷Âìd $‰=Aé?Åãö/à1û?x@ª!Ö€6±¤üBhv¹ DDƒÐroºæÊ|È |²°>î-wÁl™f@[
+·tç ¡·X¹wwC=†Ji%ÔlSü·,¡
+‰ãF»ƒ“R‚àƒcö6Õ?ƒ²+‰MÒî «r]?¤æÝîp¥¡*ÉMäº"Õ§uq7w}Vu7ÞùûãÝ.«¶zõ}ÃÁ©ÖîE«myÜ­º:ÅB8I[cÏZ×KªŠ´õ‰«¬ æfØÔÇæÌt|~4©Â’s«[ÏüÓÖÚömÑlp Ðåç.¤au—YaÎßO½J…DL0Ùóê³ùG‘àÔ*Ë÷»G'kï?é°Ð?2ì½`W\q®¦ÑDnìwë°nßhL\»Þ8Ø>+^j!ú–v_A(U´Æ̲Í\;“HÍì„8˜,·i±q0alrWÚnˆ†$êwØöÉììIñí²• ðP˜ÇÐŒCþ÷}WÀú.MÓï2óƒNEg'ò)D Ãa×pr’pÑåì<À¡È’qœtƒ­%5\’q µ‘ 0MxXµlf&n –†6I¯ 'Å"ž|8¥"Õ69SIw{ÛÙfnœmžW08]kžÑN{çnm{„(ˆü‡… ro_é½ 1‡”R-™ 7·à¢‘8óv.…™ FX­J3“ý.]ZÍ[ÏĤö‘qZmXúá§Sð˜úì «§ƒ{GòOÏjïzÎ(à½LYU¹¬aƒ©@ÓÝCúXõZö~rÌŠt¹ÔÀçM‘eHºå)aÖÛ´åCÞìçåÊ¿ÀPHÜ ç>¯Cåe¾‰4A¸¹Aÿô§÷Óÿx ÕZ«Ÿêà,S$(e¬K$´˜\
+Öþ:€ 
endobj
-2671 0 obj <<
+2677 0 obj <<
/Type /Page
-/Contents 2672 0 R
-/Resources 2670 0 R
+/Contents 2678 0 R
+/Resources 2676 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2650 0 R
+/Parent 2648 0 R
>> endobj
-2673 0 obj <<
-/D [2671 0 R /XYZ 85.0394 794.5015 null]
+2679 0 obj <<
+/D [2677 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+2680 0 obj <<
+/D [2677 0 R /XYZ 85.0394 564.1149 null]
+>> endobj
+2681 0 obj <<
+/D [2677 0 R /XYZ 85.0394 490.7088 null]
>> endobj
922 0 obj <<
-/D [2671 0 R /XYZ 85.0394 769.5949 null]
+/D [2677 0 R /XYZ 85.0394 444.5492 null]
>> endobj
1514 0 obj <<
-/D [2671 0 R /XYZ 85.0394 747.9633 null]
->> endobj
-2674 0 obj <<
-/D [2671 0 R /XYZ 85.0394 712.3063 null]
+/D [2677 0 R /XYZ 85.0394 408.3686 null]
>> endobj
-2675 0 obj <<
-/D [2671 0 R /XYZ 85.0394 646.0551 null]
+2682 0 obj <<
+/D [2677 0 R /XYZ 85.0394 369.6367 null]
>> endobj
-2676 0 obj <<
-/D [2671 0 R /XYZ 85.0394 561.7803 null]
+2683 0 obj <<
+/D [2677 0 R /XYZ 85.0394 293.3088 null]
>> endobj
-2677 0 obj <<
-/D [2671 0 R /XYZ 85.0394 389.4928 null]
+2684 0 obj <<
+/D [2677 0 R /XYZ 85.0394 198.9572 null]
>> endobj
-2670 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
+2676 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2680 0 obj <<
-/Length 3071
+2687 0 obj <<
+/Length 3040
/Filter /FlateDecode
>>
stream
-xÚµZKsã6¾ûWè&¹vD ’›“{§vïXÙG%9Ðe±F"µ"5ͯßnt"%JöljíA ÑÝh|ì 9ð/Ú&Ué N£@ ©ÓÕ…<ÃØ’iÆŽhܦú~rqõ>Lie“y‹Wˆ$‘ƒÉì·Ñm—ÀAŒnîo?ÞN&wn/Ç2M¤]?<ÜÞßÜýër¬´
-d?Þ>^þ1ùùâvâõjë.EˆJýçâ·?Ä`KøùBašèÁ ¼ˆ@¦©¬.":
-C׳¼x¼ø»gصS{m!E B£zŒ¡ä@Ê ÕZu¬¡ÓÀ„*´Ö€•ßÝÿHëúåar÷˽]ÌU-CŠÁXP0TvÒMÖä5̉õhš•ØˆFO9uä_Ö›K™ŒòºÎg4T”4Ô,˜f^mVYCƒÿ†¿nnh¤Út{úéÇÇÇ€ïæ4èùdVÒóv•— õ<åÏEYã
-Pg¿xÐù¥h<‹ÿ ±aX&tŒ‡ï •ÈQÑÐHÁ‹,Ê&ßð²Z°áÁŒWWÍq|^ç<yné«ÕÁÚu¼ÊM±ÊaabFï*Óªüœ—E^Ns«’s©·ÓÅy¹ÅÁò õój¹¬^¬îÒŒžvøŒGU™SG5§R:ê­eû»ê‹Ýkr„
-©h4\UÖ\* _|kæ[ ײkÂÙ«Âu”’Ä°¼¸»
-ɦ‡ç´Z­·ds *xÚ.Ï6¬ÔïB‹YŽz–@Õ³ñ´OÉ(4š*/ªí†^fÙ®¶&†]~.«MQ>ÓÀ2ÏÖÔ²Â@ŒdºUU6 fÚ•n»¼<qB\‹ÕKžrâ[š ½kƒùzµ*J°Š¥ÑjÄZçÓ¦øœ/w—RÊb
-LõÏK Kk€eCÄ=ÚlÙ„¼0ÖÙ x·›ÏÖf`oÉœr€ë¬fytŽlKÏ‚¥ÎÀs°´mÍÒ†%ÀpÈ’7}à–ùç,ßþ08rº2ˆ¥4© Uà¡ú$ÛTÎG O…ÒÇäMÔ¢õ’Tƒc¶$¸¬«jn-v ž £ Œd|^?OÕ£`ÛË0 Ðuw|ÌÜ Tð&©Uˆºª’ž/‹Âz̨çS¾£÷ÂÍ®èùÄLÖÛ§eQ/ì~·†½¯°o°ë‘JG×ó7ˆ†­kg%`³Cáæ°PÜᱎƒX…Ñ¡“^.)YàY”ÓåvF 9Ç_Ƀá·hñ(«¦Ël[;Fv-ð¬á£gÖÍid ˆ°*yX{¢3¸b" «ë>XA¼×é[Pe!
-7¿¢í~bŠiŸ«O(1ø”Äù' €Aâ~È[: $b”$HTv10ÌžŸÝÞÛ
-7¿¢IOLÀ©~AOÜ~ ‹ N€D˜0ÈBÑYé>ŒAhÕoz8ê@ÛíùF¿õî æÿ·ØÅ°C‘z%«jSF—§²èºéómX7Ço °#Ñyõ<U~]×&Á£EqWAΪ”Ë‹¡ÁY5h9¥|VÕ¦¢¼
-…›_ÑÓnLšåËœâ_(¤O, ›:±$[,%=|y—¡U2çeU>ç S€b7ƒþ?ž+çïVÙ®íW™›xÄ€tô”ëª.šjC ƒve(fóÌX
-DžJ10½¼=ÑÜ1‘…Ýã«Éüz“Ïòi^×X¹BNärÖ
-0±ž](—¿6ÀçpÅà“‚
-äõ&„Ôô¬nžªG¹ŽW‘I`”0]í8¤wîftÿ&
-ö±W“\³cXì°†ÅFÇ#J_rJé ˆbÉ€}ôì%'ü(Ëú_i+žhÀæÃThëÜ›k:Îà ÙÚ¡À3J‚8‰RËñ*þþ ˆæ˜ NØÁ»H)¤®Ü½c¼ÆwŽ×—XØŽvÀiÍË XäÜé¾]´’ý ¬•ö:™=‚pnƒèÙõ–»ÐbäŒÕöÅßQÓ*òRÔy·pq3¾ætkÒk¼k[­i¾Ê ÃÈ—{í[úŸ?Íi„K²èඇ¨ü‹Z—#Øû´£^[³3oÛÁœôÑåwC+ظ›Û|²6t3bû®Õ´ïîILrìtÇ/Gd6LˆÀÁm9ert4b//˜]\ð‹¿z0ûKhú«ð@äôuû²(N\6ô|5W‚RYq|õÐ* út°¾Våá/èÒ²sá ¾7H…16Œ¤F’Vïî''î<åé;ÏYYƒ¬1
-gð¸ü&¨gî|ª®¦G;[ô7‹Ž}÷ÑùDúƒ· qhÎg?-¢ÓÉ#²¹ÏöPž1Hãóòͱ¼¶qcˆ8éÊ{hY ¶¤îã×{w…U¨óÙtñ|Ú." ÒT§¯¦EuÆ2ŽÊšfýjÕùÃÕÃÕõÕÇ«»«›«l¹<UpžUÑWœÇ*ö–œ91^ÐɃÀSênÁFá#Ýæ4`†[À˜-¸úgØ{B¨Y¸’¼zµUSð%‘?rv;8® ” “TkNOPœ=§
-œññ¦Õՙώá¯=vÁ!<xzÌ”I¹k‚9Çšq$uF‘îZ„`FSZ²KùbÃ'QÇÄ)dæÊ?ô*+­[
-X~^T7™õIIR¤
-à"´>~û¢ÜÁÛÖ¥J·‡w=ÒÆ‘t*̱9
-›ÝÚ[ìoÚç‡Ò³4A7½kL¢:km˴ǘy|t¸ÿ @'´eîlÚ~JmNÎM¼ó²Ï5„&ˆ"í]ƒ=œc_y z¨ƒÄø}
-NýP ï¾Â°Ï—
-ŸHüéqí­ÅA˜$'JöPïïïîoÈ$@ÄãEox6{û¥ÉK’û¸]¯« ú6úƒ3‚ͱ'¬ÈK3’Æ>þíر!þ !ß,endstream
+xÚµ]sã6î=¿Â3÷`enÍŠ¢¨¹§m“nÓÝdsk·w¶ŠMÛš•%Ÿ%çcýHK¶¬ìöæ’Q €
+?†kñe]«ù¤VM“oá·7=M'b4qV‡uOyQ\N„½e–›‘ôžÖªDXÖ4j"”+œi*„[­hX† B­²ù ‚´"8çž9If¡—_rOkÅ1ûÓ«ìþ&BF
+é²#j_!Å4,Ô2Û ¾ÌfhºÂç¾&4PvaN$0€â2Œr¢cQæUù¨v 5¸´t3|@-óþú7úÄp EGDÇÈêC:]úAÒ=ªùf[!'°“ŽT¿T¥¢ðJYLcÕ‡hf
+gsµP0]Î1Œ§Æ#§Å£7IG ²"qÜ:
+÷ضŽ¢×GTžDi[f€ZoÑc£’7íL
+g°Ì9@úéöv:e8‰Ax ƒ¥øj¿¡.PWN°ýº¯²9t¸T§ÿ>¶.&cª­ò¦]d˜Oíh[®ðËh2£ÝUK=¿tuH+¶÷~Ô¸ÊCã™Ôª®fË\•s[JæKê÷óõ0ß¼î+–UQTOFvݶö/{:Á€¹Ø
+4-TÈãMeÔoüäF 7ZÛ‘Ù“^½É-ˆZknkF-I{œTÏñîQ瀕Ӳ•íH¨? C\(-g©z ?´Sâ‰Hâ 'ëj¿Ã—EöRƒ•Weµ£²5¨šmqd˜Nx›ªlÖD´ËÝ€?ÿ »©'¥>[ö-I4¾cvìÍ›¼­Øà°UúÞAîêI€ªºWk€œá£m`CÆV·0×1¼cÀ³e -‰’w5WyšßL_þV8³/ âªoBˆ›iø4l¬ëÌ1qÞõ™p\BŠ ÂÙŸMtt«aÊ_)ÛXçÃ2‰îþÕD§·õ]µ4;ÎvlEÈãaùV€l'R¦¯¦;R‰Úz'{eë{¦¼J0™!¯7à=·«+|>sÇU¯½[ÓŽ‰îtõnzo—¹b3Ó&´“úbÓ·kˆ©É²u ¾»Øö-X^΋ýB-º·5.W~Á¦ì)#h`oØ"Fýt+mÖpèmB=ïYaÈ¢ðìçëY-¬ϲXƳ޾zƒ6äXЙøà‚ƒâ9¬ù:Žú,M 8èH·8’ò—е7Œ´g ZÏê`áEŠÄ‹3SáóèŠÔÜGNȈv ËK;PÂ{(ÓÍ8ÒD—‚³‘Äüè¶ækȵbÕK |O|hž‡½¤…5à%Ëxɧ~/ñ}|›H¥±–Ïaõxì&a$] ÉMÒ«›$€ôÓºI ƒÜ®¯ÐÜ„€™í±úl%†Hb%±‘ÆrG ypB›[GIüƒ£$,r¿ë( E¶ZYÛgu»ð¶î{7'曃•óµSÑûxäk#‰aïkc÷>‡e¼ï¦ÇûR%"úç ÒtX<‡Õ#_7ùÅ *› + 9Ÿ°1öÓ9@¬óµ±èGçÓ3.z *øé£6¿„ºÅ: ^
+lu[[éÖFk.\mÕÆÂê
+¹]_áÓ˜-T¡0ÿ Ÿ»Ê0q2-SÒC—¬ÐwNxU¹R;— S}+Òñ©oˆSëtcãÝ&{i‡ÄM–—g¸gˆ¹­êÜ|qÓm 9íšQ]ÓCIÏtCtö1ƒ¦ö•—-¤ŸW’q»é«%ýv§j®êZ÷¯‘ï*׎B"®ePH‹s*dÇù"Á!DGÊ)xÈÜ(?ÄþÉ~†—ô•LC܇K{/"C‹¥+#º% ¡k]Ð÷mZGA‚nn$](À»zÞù<'Æõ~NZЦ¢wôM~’p ‘t{S}iõ?fdÅ
+Zêf½1ï1›/nʤÀ¤~ÙšO/!"»Ð]ÉÁˆ›ƒÁf_7¸P=C †Š²xÁ÷MÖZUMÔNÈ%«¦3?VÒ•‘èM\¾»]ûŸÈtøÅVC›œ‰QG2imsw…G
+ÐXb?XKÿú¹Q¥;äS{U©_~5'/ßÍᛄd6%§Ç~<uª…ÿ"‘]ÿendstream
endobj
-2679 0 obj <<
+2686 0 obj <<
/Type /Page
-/Contents 2680 0 R
-/Resources 2678 0 R
+/Contents 2687 0 R
+/Resources 2685 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2650 0 R
+/Parent 2691 0 R
>> endobj
-2681 0 obj <<
-/D [2679 0 R /XYZ 56.6929 794.5015 null]
+2688 0 obj <<
+/D [2686 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2682 0 obj <<
-/D [2679 0 R /XYZ 56.6929 752.0089 null]
+2689 0 obj <<
+/D [2686 0 R /XYZ 56.6929 752.4085 null]
>> endobj
-2683 0 obj <<
-/D [2679 0 R /XYZ 56.6929 184.0458 null]
+2690 0 obj <<
+/D [2686 0 R /XYZ 56.6929 393.873 null]
>> endobj
-2678 0 obj <<
+2685 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2686 0 obj <<
-/Length 2490
+2694 0 obj <<
+/Length 2512
/Filter /FlateDecode
>>
stream
-xÚ¥YÛrã¸}÷W¨*y«F®$<ymí¬w<²cy6›ÌÌ-R6w$R)Ïz¿>«H ’œ¤\e@³Ñht7ÎÉ
-ên¢¾†¹#ÔûÚ†nS¬K_ß²‹ÓqW/³²z»Æò¤ÆR×¼—¨•âáú :M8ÔëeÖFô¦¥lo›~;©ö·²[c‹O¥|Oã$ºSpè©DÊ~V4u6²»uØl‚ JˆÜ«õéüX—Oÿͮݾ9ãº8E)–{±{Z«Ðº­uÌ_T&PÕwŠÈ:« óâå@âý,œ†Vs°üùÕ5m¶nU)@Ni*ä®þ‡“>kÛX“)F÷Ôµ¡µ ­—ƒÕÉC˜EñR,Þ~ÎüZ¿Æ‹
-b Qý¢RüÞB /rûê‘r~(^­?B‹\Z“-bFœÓx¯¸ÿtºF@*gm °êí{|áZøÃÜD$ÉÖM6D?CQG}ÂD úp²ƒ¯ÆÓËû뻇ëÛIxéïâºü)È(÷ÕS j(™ða¦˜YP&Èðºµ]€çµS
-'8±ˆ Ýl×ý=ðÛgaø¬6¿¹×mÙpeºë|3+úÓjC
-§í¥X7°v ž[wz»{A×>kD©X}N†Æp.’áƒï_lÖe c¯®£ÍÚžYI­ÙôåÅ¢xr{næÖÈ¥vsÈ­‰f¾Êõj*Ó>g­í/ <Œá÷ç^\[™`æì¹\ä¶Okhlof}æAxï
-…¦º
-J@¯PŒ"ç/'Hò€»µƒ«ø̓ ˆ“€à|IÑóˆµväyÙš“ƒ%úb!b–¤H*åð¼9`Tœ4Ê×9¨ú•=®8" …ûÌ«{ñ‘mCêÝNiÜ4E¿„׋¼pcîtÜFè>( Š §_åiP
-^¤$é~×E
-¥£;ê>B€ŽÃe¢ùâéwA?x¬1° ÚG„oÞûžø\éÐýendstream
+xÚ¥Y[sÛ6~÷¯Ð›é™Æ•—öÉÔm*»–Óíl’Z¢l6©);ίß
+áfæGã£?=ÃΪÙBC‰”¨”'88ïÀÁ(Œe<HTFbÁ…cQOËÏ”òb
+Ê8‰nŠ“¡ <Ê'mù˜·e]éwMóÖ®Ô3|¶H*¢f=™MS¯pþkñŒƒ§r>GŠ;»µ)Zœhë•Õ\®NXC?€0dŒdJqcÑ´°º$2›“hW,Z®ïæåÄÊÐ(ƒ+§«ž»³ÄFW½¤uÕ­cÓÕT8.,Z”ÕºÙ¢¶ÊnÉÖ·Åê1Ÿ¿ YñôPNЧÅ,_ÏÛßP jWóç†ìø!%TÃ'TË,E–hØ¥B·a¡(rTZ½a©Ež¾‹e‡2#Œ«˜k
+gݶjL‚•)½¨›§
+(×óiÃ8a}íÆ…A+Ží!Ä*|@àÕ4T3íÂz:ÇwíÉŒ1ãG*‰.g8 žñF Õü+œ³’âhGD^M‘¤ç6° Ý¦1‡? ¡œ1瘪ëF{ Tè’2ÁË|»¦vúŸ¹%›9îІ— N.ÖÆ‘`Ô–‹B[B3´D:­å–nðn]89>Ͳ˜ØTa¥¯Û“¾é¡ÈDž±
+=ÎÂiŧ£|±‚ÃÎ Ï(%œ²Ô0Òþ%¸?Á[8º“ž¸+Êê§P)M]»5|Ï+|/¾-AšF²Å‰nÁéìË«ÚI»%¥NñƃôÞ@‚œz'](<Áí\ü3"Oec¡+ÛþŽï…WÁ;Ó Ç×>è‘ó=¥öÍ
+´‡r6€ÜK2ÇPFbBMŒV×7—£ÛËÑ{Üu}{y5ûí›
+ÆpE„€ý&IW È‚ƒ™ÀGúnÉ3"yÆl™ŸäVÁ|ÞØÎäΚ¸nœ®gY®ÊªÝ¤˜D€æ·9¸º…/‡
+î:m¹^läJ·nù€v,x{Ð_+O†ŒÒóp½+8 UCk”›<­$¼Dª^Sè­>C Â~µ7¿®©}k×Öõ<í7­ãçª^6e³ÝÄ”0¸¥ ˜HIÌb꨹êņ¦ËÂô
+½¨s §
+š¯ñÓ0ÿâF4Mõ mœÈœNæÐφ€4q)Øsœ8öƒ|Z®àjR¯žL•$1÷ÞꙞûÑE€=ô‰.ßÕ}Y…òR_ ϱpÔoHùTöÓyQM‡›ËE¿ÎCŠâ¾òÌgÑ€»×rÝgå<Ķošg{ïG~ô{@T]•dòþëAýõ]&P´ ü*ïBžÝ‡ Ö [ÆûX7Ūt ò5Ç8?ìwõ"/«×s,rì~*~?\¾‚§qs
+usŒ$bç˜þ9ÈöŸRw½!ãchÒåÇQð¤ ôeqšö{Ҧ·xZûÕf”AVJw²E}8>VåýœÚÕ«#n/Ä Ihºã»×~´ô£?Z…ðâpÏËøVYåxâ´xÜ…t7
+Ç~ÔìMκ¦ÍWí¾,¥2’$*Ýæ{³¶ 99KH&ø»ÖÖ~ô¸7;¹Ff^<ó××™¿üèïpR"à ¡ŸÀ¿µÃõ…Ro}!ïó×o~ôÝÄAÓš|Þe’1º“Ü=œ# ”Í ¢yýŸÙ‘î\±˜XLR¶ #ú$uBÈ—}¿ƒ6ú§Ý@·B}‹ôÿ‚¼ù±r©HSþFEª\¼¬RZgú7a%ºÝ9?²ý´÷ÞLÓº^.¡OÅ—¿Ì·¹bÕ
endobj
-2685 0 obj <<
+2693 0 obj <<
/Type /Page
-/Contents 2686 0 R
-/Resources 2684 0 R
+/Contents 2694 0 R
+/Resources 2692 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2650 0 R
->> endobj
-2687 0 obj <<
-/D [2685 0 R /XYZ 85.0394 794.5015 null]
+/Parent 2691 0 R
>> endobj
-2688 0 obj <<
-/D [2685 0 R /XYZ 85.0394 752.4085 null]
+2695 0 obj <<
+/D [2693 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2689 0 obj <<
-/D [2685 0 R /XYZ 85.0394 692.9976 null]
+2696 0 obj <<
+/D [2693 0 R /XYZ 85.0394 542.1146 null]
>> endobj
-926 0 obj <<
-/D [2685 0 R /XYZ 85.0394 656.7581 null]
+2697 0 obj <<
+/D [2693 0 R /XYZ 85.0394 384.5878 null]
>> endobj
-2690 0 obj <<
-/D [2685 0 R /XYZ 85.0394 621.0947 null]
+2698 0 obj <<
+/D [2693 0 R /XYZ 85.0394 323.2406 null]
>> endobj
-2691 0 obj <<
-/D [2685 0 R /XYZ 85.0394 589.9956 null]
+926 0 obj <<
+/D [2693 0 R /XYZ 85.0394 285.46 null]
>> endobj
-2692 0 obj <<
-/D [2685 0 R /XYZ 85.0394 527.6628 null]
+2699 0 obj <<
+/D [2693 0 R /XYZ 85.0394 249.4013 null]
>> endobj
-2693 0 obj <<
-/D [2685 0 R /XYZ 85.0394 399.4857 null]
+2700 0 obj <<
+/D [2693 0 R /XYZ 85.0394 217.907 null]
>> endobj
-2694 0 obj <<
-/D [2685 0 R /XYZ 85.0394 316.1644 null]
+2701 0 obj <<
+/D [2693 0 R /XYZ 85.0394 153.6379 null]
>> endobj
-2684 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
+2692 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2697 0 obj <<
-/Length 3408
+2704 0 obj <<
+/Length 3133
/Filter /FlateDecode
>>
stream
-xÚÅZOwã6¿çSøõä¼ÖªøWd÷4í¤ÓétÒÙIÚm·íA‰åDolɵìIÓO_€
-„H~
-ÿbblb½ô“ÌëĤÂLnWgéäú^ æ™E¦Y—ëËë³Ï¿Vnâo¥\/:c¹$uNL®ç¿L/‘&ç0D:}yyuuñÕìêõ«Ëÿ~yq>NŠlúâÝ»‹Ë—¯:ŸI“?0§éôí‹Ë^|G´wç^N_¼º¸:ÿíúÛ³‹ëV²®ô"U(Öïg¿ü–Næ°ˆoÏÒDyg&ð’&Â{9Yi££•Š”åÙÕÙ¿Û;½áÓ1mhã#µ½èDaÇu&’L@ß,Ói"µ÷­Î¤ÓYäBÍî† µÄòvÒì`ÊÈ42¥ìL™¥‰Qé`ÊWEUlòmq>SÎM_^Ñss.Ü´¸­ÃsÞ 1›.à5ôÞÞ—Ë95ÿ¬«¢¡æ"0×+\Âç_ëîÌ«Ä™¸8ç¼iŠíŒøz*ŸdÒ;fƒéF†R‰T^0ˇâñÈPÚ$Yšæû5Må²
-œd2“N$Ò¦f2"ñƱÓÇ«úc1Ol• Âz dê´Õt¹Ž[MË¬æ ­ß꾞ŒñQá妸Ý֛ǡlBê$5©<-\Ë5"]oo¤OR(ÑïMñÞœzVÒºnJå :?½Z·å‚9rz€¸´Aä@ÚÖøtÓ¦ÈCßí=уMbƒ0†Úh°×ÒÛé둪zKçCs(æŸ`h^,òÝrÛÐþê,ÑJø¸½2,!Ìx´½/¨q»ÛˆÕ–}‘…Óãv
-ÑŒ9?zÄc²ˆf›o¶3´ÖÃ0`!ZBuR¼–kD¾~ˆFóé.gï
-o A¥Û{ˆ°Jé0,¢°€dž¸úZBvRBO^J­¢J«Ä•´úp¬7ýôºô`6eH:Ÿ\Ò£s¨æLkóÕðF~hÇž¸Š² UõHf
-ŽñÏ:ÛÀC¬LRí,³F!{©I°E•eÅev€KG³Ö´Veµk¨)èq_ï6ÔBØ–/—õ5)•Âa—õíj6Š[x+yÄ]s"ÍÕ.K¼O¼.×q„k¹Âã—A~ÚDÇ7ØØ?qZ¸–kDº~š °ê´î‹×â›ð°Aø†­€o¡/l¶ßzü|ÃWÆ7áÓC|CbñÇšÏ
-©™}Ž‘(Ʋ¶„`‹ÔJb’¡ú ð£ƒkF¶Ö(ØpDÏs¡äÏ®ZdBZD&ô<a7ºr€³8]Í<÷Ìq5Š2.A0¯{‚yEÚ *HbPñ Í@º¤×=¨
-R'BÛA ùþ}[Ñ!¶zp®Œy*KM·<2dgð$Óß—SRŦ`fN ñ³X ±`¡eu¾ÝÑŒüIUÄñh&;]
-³úD9IÇfÉñ€ìX$‡ÔÃiów9 O!Û¹nȆÉ8A«ä黑1¼Òó d;× ÙZf!ºÅ!É2pÓt€ÅƒJÀÝ¡íô!B?öôòäê5cbPƒVˆÜÈÁ‘{ÿ‘ÁÈŽ‘Ù:qǘ‘É-MŽ»5ņJ&G|aŸèŒ,CGã„F?€kµ¯Ù\ñÙÑ>¼r^¢³6dc;T%6b'Ò@ ž:ÿ$Lîh¨ÝîÖ(0Çàø”—CÅŠP9gªï<Puï‚IIô¸;v*õ¬€k¥ïf8&ôr¦z¡ÑFyˆ#tx4–Ѥ+óŒŒFg‰“iÖõ¢”Ý&Ým*&µÇÉÔQÓóœ TÈs¤ÝL±+õ¾íBÔ^@óÇP“l6(SHõwöZ¤Þþãd&ûßáèh2#3(“=‘Ìt¹Ž'3-WHf£G§Ö©¨€z·]ﶳE¹<L`BýãýiñZ®ùú'eY@ö ç–JX>oÄòR–D$"]n
-MZ+*ýÚz¿¯i¢E*Æ÷sxÙc&}·T‰Bv¤¨Ç£/l[4÷OfŸŒyDh%Ý0x«ÁêÚIu¸Nå5³›r»m¿©2ó+sä\ܯšÓ=§¤Ïè…£žþðåUÜø=k{$´Ê·ý#ï_¡®[ì–K|w^Èd
-Z…ƒL,îôît¹ŽïNËvçǃÝÁœÊä“SF¦‘){«“¥íOÙÝ”)¡ÌÀ„¼"ë é1EÀ*´ÒO\Éw¹N("rE”O]ÏÔÅ’£Ã£JLH¼:-[Ë5"\!#©íK÷Ÿ¶àÍ鱦<ôcYïšåã,"v"a«äbw7MìÍ™á%•ãr¸gÅÆMÑ­£i&>»¼¾/Æ œÀK­Gô6XìL9›xm°¯{ûGìÍðØÿñvïâá-gÎœ‡ ºqAÕûàª{­µGo¨…ÙhYõ.%0¥ × ²½fÈiœxÉ%‡?R+V÷Gœgæ ÊÝ\<…F\¬íb?£®Ü2™¿¦¡0¥Û¤!}õûCÙG>Õ4å¼ /ç<sMÏž5H’|kê:dÏΖà|„¹¡+•Ô×ëe~ËwÃ:úšŽdÔ>Ê /£¾ßîðÖ›½šþ¾ƒ\¶ØÐ <önÛAK2^nuËô›bûP—u¸çH*è<Jƃ©ö¬›û_ rg@Ü]kW|Cyè?Æ$Þ ý¬Kk}úÇW wϽâŠsæí9 <¼ä ©!2-žñ²DI3Çxl×ð\§Px|žsy¥6ÊÁåÚ^X•Ñ•16-ߎ-Tr@ÀJ.”ÀmBÄœx¢)Û•Q‚
+xÚ¥Z[wã¶~÷¯Ð9í}²Bqå%yrlwãìZÞ®¼iÓ$´HÛ<+‘ªH­×ùõÁ
+cÄBêã‚y¦Ádo:X@¢¢¾dóu¾(Ðózànœ-ZÉz~Ð2µÆ9ªNØÛ ô„:;\GÔ鹬:/÷L-b’+}|JÏ42e/&H&b÷§¼¬Vk@ćbY4`l*ÁªÊòï!Ú*¼uæFc(!4´•1=”˜£éZ…,ÖJ8>Ôo™®ÆB(P #x‚ó¥“#ˊƆéCSˆK'‰Ç®¬> ”2 ‰Vøo
+ ¿¤x¥¹ÜJô
+:N ‘¨ã¦Ðå:l
+-—5…«=¨µqè=:¥g™²gèŠÉ„‡ý)ï¶Íz Ù›Š£ *—ˆv1flz!ûI-Ñš×5j9ÓmS­
+¦ó‘Ez!½]c~‹Cb~‹O
+÷ÌòéXÁþ˜Løâ¢re÷çE-ăb"_­—àÙôÒ¶|î‡(šþP¥{Òvô†,2Õõƒ.×a?h¹¬<íhÃŒNNLé™F¦ìE9Î òþ”jÂíÕœžû ¡ÏÚöºlºsl¶F3Z „'#£“Yd2‰fqe¨DœÎâ ¤
+Ñïâ„ä‰SÒºª ª]'tfðè8Rz€¸´VdK²ÊsZ{¶tÂ@hÐ6µÑ*þ…6ŸB[hÔí&;xæåU¨¸Œ ˆAââñ¡E@B±tÒO’ÚŒ Ë0æD¥×å:l-—µƒÏ'£(bö@¬8dP—ÊñŒÕÝ~¨ŒÁHT_¨ûóÄã.žâ*)º[@Š$ÐHk÷ìÑe'zu¹Éž'§åë ¦Pé“ͬ¥òÙÐ]vfÛ«ÔMa³ËpÖ `}\Æ}w_a²ºöG®M±:r(UÈO¸}—ëÈv{.»ÝË‘íN˜¦ÅY(¨díçLP°ÆZ—¬å­Ÿ3lXV÷dÛE•ö"ÂWï±ú…hx®m©Eé˜Ú&¤Z ]Z »«Øƒ¹Õ'.Ú]‚ ænôÚ^µ¸:ûœ6l¿=ÓZº†,-ó[- ã¡Ôs{¾¿K'öN0÷jº6!¨Lxº\‡m¢å²6QŸ<†TqÓLÑf÷ƒäà3ÇÅk¹Fäëj4 îbÛ#b‚{¿¹ÐÈÈT¸¿÷¾bå:íÁ_—_õNäù-&»wd@|
+Å›g{¨ í°ö”CÝ£¯%d'%ôäuØ©$v*‰­JZ}ÄNqðÝÌVG ˜Ma“„Î'3z@!S•™£un#¥¿J„F?Àcß?E9Êjô4’qžŒ:ÛðJ2®cfã…ì%(î!ŠÂ± Ú±\Äé
+Z«¢ÜºRÇ]f>W[WíÛ›Õª½êª^çä‹eµp³õçüeÿ>Ï‹#äŸB‹·_]®#ç¹,ÂåãÅíy ú8¾ÁÖÀþ‰ãµ\#Òõ“]€ÕXë¾x-¾‰ÄÅl¾aËâ›í³›„-·ßðÕá›Hø>¾!1ÿº.Ú
+\áÂu8CR
+ʱP‡ßb¤J²Ý…´³H­$æªï£?:¸fdkÂŽèy.0î3W-2!Í#zž0ˆHÝ 9ÀYœ®r<ÏŽÅãªe ­`‰î –(w^*Hr ’8hÒŒ^w ´îO|ز%iÃÖÜ.*iA?iƒÇ¹Íƒa%Рå!W5³ïý~œ‹TZv©t{(eõòÝŒQÛCk1qB+,ãwÛ¿Áƒ€d:‡ƒ÷K0é˜âÔ“¥¯Ž§s¥ÝfÚOIƒ–fõeWä¾A@¢¾ÔQR2W‘h¦c£ûæêê>6æ !MB~Ã9SàÿŽqµ­Gº`™þtµyNËñKS·ºüWŒ^ù³ÃðWS#ØÆÛ;€ÿûÇY»ß¡AÁ¬âø@u0 åþñfvE6ï‚Ñõ׆rqK™ûSA|ñ¿ÍÀËY
+D:„Ô^D|?þ¸„íká¿‹endstream
endobj
-2696 0 obj <<
+2703 0 obj <<
/Type /Page
-/Contents 2697 0 R
-/Resources 2695 0 R
+/Contents 2704 0 R
+/Resources 2702 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2699 0 R
+/Parent 2691 0 R
>> endobj
-2698 0 obj <<
-/D [2696 0 R /XYZ 56.6929 794.5015 null]
+2705 0 obj <<
+/D [2703 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2695 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R >>
-/ProcSet [ /PDF /Text ]
+2706 0 obj <<
+/D [2703 0 R /XYZ 56.6929 751.6082 null]
+>> endobj
+2707 0 obj <<
+/D [2703 0 R /XYZ 56.6929 659.4312 null]
>> endobj
2702 0 obj <<
-/Length 3449
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R /F54 1383 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2710 0 obj <<
+/Length 3657
/Filter /FlateDecode
>>
stream
-xÚ¥]sã6î=¿ÂoUfÖ*)’ú¸›{ØvÓÎ^{iºIï«íƒl˱º²ä³äͦ¿þ
-•éE’éÐiëý•X<ÂÜ·W’q–iéc}õpõå7*]daGñâaëÑJC‘¦rñ°ù9x{wwsûîý?¯—‘ÁMx½4B{{ûÓÛï vwEÁÛoo2dHR ^,‚w·÷÷7_/ïß{ûïno®}øëÕÍCϙϽ
-ÙúÏÕÏ¿ŠÅñ×+ª,5‹'ø¡Ì²h±¿ÒF…F+å ÕÕýÕ=AoÖ.’†6ih"/–&
-S“M‹L„€–‰–a¬£Ad‘œ™ÃB‘-ßã9¿ü&ÖfÆ©2@1Êúpê–Ûæ¸Ï»s™È8áÙÂßù=Öƒ‘·­Ld¨•‰Æ>ìŠë¥’&``¬ƒfK°ÎMZ.iî÷¦fà/BDUaÍ@wMÛ–«ª $"Ö^~¼–iP$F2чI,"–Å/Q¤»âs‡ÿÛ?@‚ËŒtȈM±ÍOUCÉ[Õ›‰mb F¬´·Ë1šÛ$ %Ø.ㆈvÅ¡Ô1
-[†™1’EW £ÌÍ¡+›šÆv8–ûüXVÏ ®»¢Þúêü«‚¾O­›ÉÑ`ó\çûrMmùX; T
-A#‹ ]9¿gö¬Ò0K¤óúÎ(í¡X—hŸöT ÞœàLÊŽŸÊzÓ<јÜ+">•VZ
-&:ŽÇlÚ
-K‹$¸ÿá-âþB"ÐiÇ®ÒCÔ:Â:·Úù$œDŸ*O EJÿBKó¥ÿ23è;㳊ÒÇ¢8ÌçJ‡&júàÍÄ.:‚T1õ+Ì’l†4³…IC•öÚ›~OY¨L¢<ª§ºüŒ!nŽ¨3‘fþ£Âèž ¨:Yh(Õ@yjúž;¬¥öÒP¥€±ŽbS‚mRÚįlï°&¶¹„"Š³ñþïWr÷ù¦ܞç Ö</Å‹YÁÁõ0ÑÌ›§'8í‚à֬͌é°ZŽ_a‘&8?щ0•‰³ðÞOìÿ€Ä8PöAðÃ7_Ó@fiÄÙd»=¤ðëv^¸
-¸2 ø”ËÂõÑæ…ÛcÍ]±lAF§¯°à°&XI—”y¸/þ°L]2Ò¯ð'›­[ ‰÷Æ•k`BŒ[šõn6R)-ÂXÉär¤ò±æ#Ue#U3ƒ(Ý;²æX>–õT* µHt™µk‚·óT8RÊŒ™{p‚ä÷£e†3Ä÷Û3ïá%˜oÎuÑ×NÝKêý˧—pæm{ÚÏå›= Çלþ$+ÓWôça]ПòúûáµL
-ß ­„’DÈ×/òç&øé0•xÔ˜Aj$$bh$$’ÇÄ=úÀ€˜¤±S"ò«2–%¶Jä°¦/…áÒŽ潎C¿kKK/¤ ¦ÝB¼H;.7¤ŠÍLãa"ë@ç=ê7lOU5G<ÍÐAkŽeð´+©ÀNÙ<³€_ãâdˆPûloè!¦ú‡z
-x»Æ=¥¨Ô ¸ÎN%ÕÀ)= ¿UYçÇg÷æMc¢xÌå†`UÃQváó”lÒħ]:ˆk3#– r/i<7fîK ¡W¥£ ÇÈúúÄ/
-X …‹DôW>îFï)}4e/uÆÖlìŠVKpi/Æ.k>võX6vηÌt¨µ~eK‡4±¥¯“, udζü Œ‡¶8mš%=Ê#È›¼Ëiò‰žà¸ÁJ·6s/_ÜjÅ"W+nö*nð"Ö6o»¾“¢\vØ
-(<·ʇžô°¯ôúµ±áT,ç·õ¨)}ÀÉn7ÙáêÜoÌõgõ@<zmôNÞ9ôþê#‰å¡íWº 1˜Ôä]P’½ö«éÂ]c${×~|q×â06&¹¸ŸÃy¹ß¨
-å›ýÙG|õþöÝÌ&˻ȥÇFÜ|î%‡q§Ã¡9òõü»½W”ÇOuñŒJC“BùRÿN#²endstream
+xÚ¥ÛvãDò=_‘à Êa,ÔW©Ï> L€&ÌNÂmÅ–Ç[2–œLøú­K·,ɲ3g7yP«TÝU]]÷¶¸Là_\f&N”Ó—©Ó±I„¹œo.’Ë÷ðíë áqfiÖÇúâîâó¯Tvébg¥½¼[öÖÊâ$ËÄåÝâ·èåÛ·×7¯^ÿr5“&‰®ã«™I’èÍË›_~Ï°·WNF/¿¾¾½š‰LŠD‚x6‰^ÝÜÞ^9»}ýõÍ~¸¹¾úãîۋ뻎³>÷"QÈÖß¿ý‘\.`ß^$±r™¹|„—$ÎÉËÍ…6*6Z©
+àr†Ú m;±3FŸïÞ5E gMôX®×<*>lK&
+§ŒîVeß³­ùy_ðsß “„QáÓFó¼)<2­<¾gŒÆMù¾ÊÛ=SôSª"¬Ç”l´½Q±kʦå÷u]½/v´µ$쉫]åD.XÙFµÿV/;Ž„ù/€¦ …ø}ü‡¢Û€ H£í®| ÓÄ—y½ÙÖUQyÖê%ƒ;äïn¿ãAé™ø«Ø¶ž%ý=ITYylÔÁ¶¤ßVÁ®WƒÁ`{ "ð$©ÁóÞÃgé%±"áx“Wû|½~ºMâŽj;—:öT¸`æ@;ÚÛŸîk¿ÔLoM›ïÚÎæF†b\œ¦&ó¨(Yç":©,‹òû¦^ïIž@ŒG¥'_V‹rΖÀ¯üüþÞ¼yõê›oÞ¼¹½å¥ªºÍÛ²®@wµL£—½%ÙÒ8µà:ÂYÃćužõuŸÄŽ
+“ 7$Ù?,U¨ÔÀ¤¼b½¥¤ô„ 4Pù>#ˆ>ÖiAtX$ˆr2ÎÈÈ‚‡© ¬B‚td  …r?=Ï[‡5ÁÜ@dÚÂ8Cî~îŠÞœ[ÎEÊz߬ŸfÁá'öE8*}Á»Í›&|Í=Œ|3:–DNWɛܗå÷E¿–fJ1gOw«bÊÉ‚8©õ„ÜF›© v«:D¶A !³^
+Û0€-ó§ùÚ;ô–{ÌÜ/Áµã’+xxïår*ˆÀ¼¤åøHŒs|™QFZž¸Á´+ %õH’×ñ„ e;U‡Ú>×Ì—œ¿ÁÐ'š¢Û, Ãf_pW¶ìgóR˜IÐ1i??` ÿX6ʼn)°›¦\<sá)×ü¼÷T‰KÊMð­©kÊ 3wª /Û´¨]rTco×ùœ¨¥ï¸-£ñM8$€ðÃqÓ[Ã^íUô÷òÙbÇ/èàñkÛ-Z²:øíVs¿/ÚÇ‚­¬‡=ê ¨àž” Í)ªN¢Â4ñÔ1ßRƒØ¥®‡Žª¢¤ÖʱýžB¨*² B†L¥ÞMfT ×Ì}L¦oeL6ïz%Àð ˆ<y”<kññ/•ì’÷кk<­£N”ÆÆ—XJ@Å$å(}:0«R,`KÔ`e¹Í‡0ªæ
+ƒ{¿lÇ8`.¼}ÏÛ® þDZ
+"2Hä­°7¹
+-ÀNÂ0^Ô\U·S¾e“ÿåí~³ŸûZ³)ª¦èÊJà&b6œs6§ý”õ©LÍ3¢‡uÆC,r>—´ÿ‰UøîÈ9(
+ü<gÖk÷ €7!Ü·Ÿ»Ë<J>u¼µ`;øPdYƒ
+šŒSÿÑZÚuFÌoA~R£ZQphëŸMð莠åñ=ðGA­x§Ì7oë]ãסÞN‡l¶Øy¬û'‰@¤h8˜çóÕ¤é€ië$Vì¢| kß)#‘ɨÚoQ¾×&ÙQyØ¢®>m<<>Å>ʨК“¬÷ bɬWËã®5%o¡éæ÷—%MœØ\w{Ò¥Ís¼:o'}H£Kß5ÌCm;>È"\‡,Ýß,mˆ«¡?»©›vý4êB†­ö”j*°
+ š6ÏdÞ}¬ÓµÃ¢ÀúýÔH]¨KA­Ê‰f˜’qZyžµk‚·adMã4fÈÜϾo¨ÉÎ÷%Hç ›jËûkjx~
+ ì§ü‘s3êï»pm C{ßP¶ÛÔl´skP“"Ø6åÀò7¦8,«Ñ+0/r‹Ì€¿ˆ¡€1§n
+-Š–µµvbF¿múòí§L’ÆR:ùÌÉö°ÎœlÀ¢“½™:Y¼Øîn¥ë|Æڢ— dÛá,“Ö—Ãߧ™8ÕÖÙ¤
+K'itûÃKØÎ NÇ¡ÒC<u„µavðIøÑßঢJÿÃ
+ ¿œ.ýgΠï5ÁÐ!ýUÛŹұq‰šî
endobj
-2701 0 obj <<
+2709 0 obj <<
/Type /Page
-/Contents 2702 0 R
-/Resources 2700 0 R
+/Contents 2710 0 R
+/Resources 2708 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2699 0 R
+/Parent 2691 0 R
>> endobj
-2703 0 obj <<
-/D [2701 0 R /XYZ 85.0394 794.5015 null]
+2711 0 obj <<
+/D [2709 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2700 0 obj <<
+2708 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2706 0 obj <<
-/Length 3050
+2714 0 obj <<
+/Length 3276
/Filter /FlateDecode
>>
stream
-xÚ­]sÛFîÝ¿Bo•g¬Í~ðcÙ·´q:i{Ž¹×»6} EÊæD"U‘²“þúXj)QÊår“™Ä‚ ,¾²šHø§&q"’Lg“4‹D,U<Y¬/ääÖ~¸PL3óD³ê»»‹¯d"Kt2¹[{Y!­U“»âéµPR\Ârúêf>¿þ~6óÃÍïoo®/gÊj•N_ÞÞ^ß¼zó¯Ë™Ž%б”Ó¼¼ùõåÏ„»½Ìôôå×óË?ï~¼¸¾ë% ¥WÒ X]üñ§œpˆ/¤0™'Ïð"…Ê2=Y_D±qdŒÇ¬.æ¿ô«îÓQmÀ´Iôˆ:´Ôa•ˆ³,ž¤q&£SG³¼œ<íK¢i³*Úùéúß„|÷®-;T„‘Ó; „c¿x…›«(F&1ˆ„ÛÎ~!š
-Hu&TGLZÔm[.fmõPÿÝÔåÈÖi*2 ¢ï:‚cP®›'>nw;B·D³toÍš(>”ŸZ¯¼CF“™N'ÊLfJ‰,Žµã‘Ó.àZO놞«¦~(·ç‹®z*AiF*PZÕº¬óûUÉ/¿Ï"€„X­@Tþ|×VõÎ6dÚÙ¢,v!÷¢lÛê¾,赪éùîõ÷DI¤®´SPcW5µ;˜(Z(¡ÈÃßËX¾×:º%>³ÛÝýªjiñ§òïXb¤„/”8Š%R¥’I*#!uÂ}‰f‘óª±Xf"çdïù%©ÐÒDgùyšc~‡eØÈø½cW£ºâö®„oäJ9WrÐÞiàÅ9 <{§xCz. §J'R ÄLe"•qê¤`WÊ’i³q¶8z\[­«U¾¥ˆƒ‘H•™QjÏF*û‘\ÑnåÇE¹é˜]G¸³AœF"Õæ‹‚8‰Ã¦(¸Š
-V4ž— {Eºn8S#L
-Ytà÷^ýFÔ?‹âŒu+}Øâ‹ [Â6Ë|Øâ"¥TÜõ8l„-¾bØ⓶â°5Ê|>lõ0l_5pv³y¨@BýŽúï)ÏüOqh+Rë€èt\{"ç’[rŽ$
-¡fY“°slóºhÖEùt(˜ÒPFÓ(=+YOt,Ú 4Ô«8ˆ6ß”‹ê½”š\Ay#ëiÛì8hÁVx’¨uÙ¶èSI<}³| ”›r›wì6°Ñ§¶+×´T4žOÝt´ÌÎôTüy>ã&Ñ3íKí ÐÔ Šè"DY;t"r$$ ä
-“¦¼Oƒa‚nô×®zÊWe2© <ù©Z”è«&æs9ì2ß­:úd <À’ˆöê!¼‹7ÀCPß7ůԛ]'Ækba¥´c¾qpœ™œdÍ>Pbo‡V¼mÌ´Î×%¡Èž¨Û=ù*<%Ã`Ê-=qÃãMÝåUÍF6^án­È;ÞÔõ-ð¼gî»–’C‡§È‹¡(ub‡õŽ‡¢v*2_Ñ Xo7ÚÆA«> ³ŠUÆБ*å=¬ª‹j‘wåQÅÚ1ÎŽ,Òc³[1úžÅÄ3ŸÌ7І §Éù„RÎ8=•K9G­<4}2K?ÃÒ°6%djXÎ×ùõ`SWãÀ5¾‹YH`ëí¥îÝXUÅúm´²_RVqÖUäY’UØÔYËM&,|pU
-œ›>xýe‘×_Æ™ 0¤?$uúË":rfü~‘×›‘ñ€Só>¡Þ`¯ T9¸ì¯\s‡¤Í2ø„­{ÒsQb¼|™ Èn.
-.u$¢ìq¤®§¦÷wéýWž%úû%=ÁNn‘Éݶˆð®®¢ç~OGímÇŸt® žþFû;/Hû¿±µÔûúýØ×þ»ø0­6"JUô¦ v8cZOåMk2=-+n|ôÚ0šî™òGÜ®îC
-»»Ÿ p¶€§k¿A"DmŠÑÓº|&Œð#LÖñ]%o^­7ͶóTµßœÌ
-Ôó·/ 9Ô‹ÇÓAXö“X„«vØ“SAlÐÇT'“é3Ý8xÂI}'¢!‰4»nìjn¬ˆd¦üÜv~rn«†sÛ®N< íMð±Éy07å)oà8óL_¹1H|c÷Folœ$p˜agê.•*³.iá“n’-ò9Á~â £¨dÙi¾j.H¡JÉÒïSúc¸//53Ýð/åǪ¥áb½‚öe²p #Ä{!¹æZ·û¦üˆZ—®2\Íž+wÇŠ2wF‚("£ìÐ$ßP¤à†eç»-ÁÏÕjEÐ=ïBý
-©…¾¢A„ÿÆ`¯©¸•µÊ‰`ýP¡ÓìÌ(?‰ü\cV#aÊÂB‹ëØb«ÛÐÓï 3¨€Ôz^r‘p?b
-~ö·ú=Ñ™ßê™È…æÓXC­„‰Rÿñ
-þQKávÀÍîœTžæXªáïÞ @‰ÿˆ5/»öàÎR”÷»‡‡^•N*qê}L,ð¯sF¤’ýè_ýG@û¿wŠRa¬Õã< ÷Ý››Wt éì6øøúcWÖ…/ïóÝK"½üÓ5á VXÁ­’©Jå±Óðß+â?§³f†endstream
+xÚ½ÙrÛFò]_Á·¥ªÌ1æ
+0÷Ý•dœ•GZ±¾þxõò[m‰H"->Þö²"°V.>f?/o„ Ä5l,_ß®×7߬Öo¾»ýéÝíÍõJZ%ãå«÷ïon_¿ùçõJ…àr,ÿöêöÇW%ØûëD-_}w³¾þõã÷W7{ÎÆÜË@#[¿]ýük°Èàß_B'6\<ÁK d’¨ÅîÊ„Z„Fk)¯ÖW?ôŽfÝÒ9iÀ´ˆ¤±¡Cmf‘âq 2 /2%G"³R„I.z,Ù/J™¢Úò]^µør|l©cal-Æ›Ÿ°ÐcÍð F<H£„‰ƒdÊÄ`àZÚ¥c‚ÔÐns¬ß½¢A“Š´¤qÕíîò»¦¨høáÛoh «h”Šv»ËÛbÓˆã£y¹Åðo¿ ÜÖáz,/Ü®*>·Å.Ÿ—­·æ2=Ö Ù’â)ëüwK´­VŒ'ë{¿xSWYÃ/`BŒ›ïëÍöDÔ¡±”Ñ"Šc¡"°“Y×g¤ÕëTÔÞ{,<æªF’/¿ÌX"RhØQêCñPT':´H‚Ð^f­Çšám¢½µ±œ2÷Ñ òßuÅ#bâ–Áò Ë´ªYWÍ>ß¿ʳǺHwùTíéäqÁ:J›¦ÛåÙTÅwùÑž¯sú3¡°š¢ßý°.èÏc9ý½›ÓFÚØ«¯k÷]»º¯»´=Ñ¢±è#áe{¬'Z„È žd§,:-ê8X2 0–N ký$±Ic¯DoiÓ¢*®åÂú5MñP¡fpŒJ³ˆ`þ}Ý4Å]9¡ÚÐÒ”â%Él"ÝU,…M€åX†ªDmþ¹ðGV‰:
+YÒ¿aå÷iW¶0”3D x‡J{ÇÂMﻲ<·y$ #+FF{Žäòi[l¶hr– 4Y"ñ2D(x¬{¦4åe ¦+ÚôŽìÜÍxïdSoòÆg»¼{¦9 ‘*
+z°¦e±o›È÷b•DB©@zÙQvJ«lF*Q$õH‡ôéŒt ©zC>Ìl'µQr´Ý_nÏlh¤0P: "5Òx‘j ÕÖl ðê !p„bÅgJ»¢JÏ4î͛ƴã!ÝÁÊ:Íœ`ÝÂç9ÙX â3 ó‡!+;#–DGŒ%æŒÙ€ñHóEéhaeâÅ=ÄR´3s¬Ó#[àc~hŠº¢ YÌNÿD3bD¾ýH!0Ë‚ÜVÁ”4v yŸxÐ0Þ¤LöÎSsªK3†>4­žÉHýñ&2ø§Ì0㳑0PBþ.ü™SgšÛiF‘ǹiœvèT£3:BŸÇÐ2OFVDàs=·ÅÃÊØ,9_öù”£Ô[g³WA(Š¿”½ÆXç³Wå²×þ˜$ÌIü’i†äX'уØ‘ü¦³Ü7y—Õ«„©z‡ p™¥mJ“OÛ¼"æòZ
+ô4Ëû´iIîa48»Kl€QBl%(;Ò!ã´Û´¢).ÌŸu_:–˜<‚#Ÿöì«X9öQÓqÌL©X/ë}Kö »ô™ζ`²kòûByI¯tjDèO/%eÍ^„gohÆY<ýBÍ6 ¸‘P>Ù3ͦ¦ox`OL“FYìŠ6ÏΛ" Cª‰¿`Š#¬ ¦è±œ)¾?kŠ—H¦xBrÖÇ$_OÃÁr_7¾ˆÙÓ‚“‹À›´ícT›7-]ÉF‘@Ùeä¨ÚJ,o¨“„7DØñ†à i”W ÛdC Á&yŠòâ¤.WÂ(-jwI$Ü‚·ë¦ßbìá\šXv¨GxG ]<¤ä
+sU]Mm‚mÜmóXrU8AM^bdT_"ôíú-?åÏ×R**™B>b¤eI~G0}ÞTùåynä«Å QÉDyw¬rô,™ ÕîÎQ“è)30\FêáPêŽs@Ÿ?zUôqÞÇôÞûq‹OžéWú¼1ØÓœ» m¿àm#¤óÎæ‘œ¯ýpâkVè
+Edã/$Š1ÖùLÑc9;ûp’*b¡m.“ôH3$'V±ÆNIþ²Åž¤Íu.0d$pqTÇ9ƒJ¢!‡'ñÒÃ(“±,w/m=ç¯ÜMl/ú+[ÇÐa‚ÝòÏ›|ß2¹–`]96"šZÿ•+G=QäÜŽƒ}< ö‘4ž—c{<Ží
+šÜJ
+-ûv}QeÅJÑ“Œ7Õ£ë*ò]YÚÖ]™M»šxæ³ñFZüŸ¨ËgŒu>âôX.ä¬Ï5y.’ì›<§$çš<’ë]z@9ØØ7Õ°÷m!@€®×vÙmÚ¹¬Šù[+iOZ…"6çU¤™“VÜG#k¹Ô„ º)Yß5ß×MÑÖ‡g¢oB„ÕЈu £]ÚžìæyÅpœºÞ]Þ§Ÿ¡{‚•Ruôaµ¨6e— _Ww|ö›­o²§{Ž™ûC&*zŸUÿ +·rþ7IÞ©z7pò®rÌ©ªŸ†°Z¨¶¨V7ËÜñÈ•qÆ/Ë?§»‚nëŠg³" ¼­Ÿ˜XKó½c(
+øDÇ`úéÆßÀWsõ|/Ñ“ßÜcbêç•AUáâ&Ýpßt÷µï1Ÿ òné'ïç Qì/qÙÀUИ CàYò_ûÅ~æå|¾6"±.ÐÌy ÿ™Èj¼Ã©Z¸ÈÙ è¸_É Ä’
+qü|ìµ ã‘6áš0à¦FŒ]?×P Ø%ü×gP›‘Û9ÑîïÖ—› ®Ž6òÍé{2’S‚Ãb®]×u}#‘à7çã–Åàg°…Rþ¸ð‡õçDo=^ðc3Éü©Ý€Æ}mîpŒ¾G5þ8}ð3'Ñ`Ÿ6í‹SbÓUc5œ )âܯנøÀŸœÍˆ'è¯Qÿó/Û†ñ™XhkÏä™#žPÔ_¿¹}=|´Ã5áæs›W™?óºÛïë‹õïÎzéû§û½Ö­z)cuš—¡t¤f¤ðl}endstream
endobj
-2705 0 obj <<
+2713 0 obj <<
/Type /Page
-/Contents 2706 0 R
-/Resources 2704 0 R
+/Contents 2714 0 R
+/Resources 2712 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2699 0 R
+/Parent 2691 0 R
>> endobj
-2707 0 obj <<
-/D [2705 0 R /XYZ 56.6929 794.5015 null]
+2715 0 obj <<
+/D [2713 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2704 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F42 1288 0 R /F21 994 0 R /F64 1435 0 R >>
+2712 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2710 0 obj <<
-/Length 2567
+2718 0 obj <<
+/Length 3035
/Filter /FlateDecode
>>
stream
-xÚ­Y[wÛ6~÷¯ÐKOéS‹Aâì“’¨©›ÄöFN·»mh‘²¸‘Hה⸿~gp¡H
-’·»{ü@\fðÍÌ70›Pøc“,!Th9Iµ$ eÉd±9£“{{{ÆœLì…â¾Ô«Û³¿|/²‰&Zq5¹]öÖÊÍ26¹-~‰¦77³«7—?ŸÇ<¡ÑŒœÇ ¥Ñ‡éÕ§é{Ûws®y4};›ŸÇ,ã,!FQNÑèÍÕ|>{Ï/ß^ýóújvþÛíg³ÛîdýÓ3*ðX¿Ÿýò Äg”%“'øA ÓšO6g2$‘BøžõÙüìoÝ‚½Q35d ™d$áRMb!I¦` Í(¡ Ø NM”ࢳg!›y)´Yüu¬¨DˆŒOú‹lé…[òÞ–p;‚éd¸åu½~>K¢¶º¯±%£íª´]p ïfÿ°íÛrkÇŸªíÊv~.ŸcœWÕ÷¾ãœEÏíü,ÊëÂv7›j»ß%ßîÏY•­]oi~5+ñGS—ãEŸ[‚–™0F@™dCC' 7*üJz»ªZ‹*ÿm«MµÎímã¾ ¬3º w¡ÀTÔ,WÔm[.bø vŸÛÏ1N.Û¿ºù}Ã2®Iªxâ@¬|󰭚ګ쬢S–¹‰u¾)‹Àú‚­…rRôeáP—²\± Ù“:M/e ùÇQhžÚr̓-ƒÐìoyy_7'ˆ&½›¿Ã†„ §"¿·h^üÂ]ÙÁ§U麊r[>n*‡#èxZå[ÛB< 0ÂÌE‹ \件l»=c»Ý}YØ9ˆÆþ*Â{ŒåëõqœZ]V§}„ë$ª8ÏTô¯]ëZÆÿ°áýÛÆÿ଒é>âaÄ÷ˆÇ5šýZ‡¸ãJ¥˜vÚ=ù¶Œ«rño§ÖMì”’4•bvïÀŽG
-=J)šåÿ€z¥8IR™žF}_ê8ê;)ƒza¦äÀ$Í´÷ö6_oÇçb ‚€qò`TàdÃð"IÊi2<ÚÛ².áÖ
-l¦Ñb•W®×lhÙÐûêKéFWåW;£¬Ma`½¨ÀMiMíp‘·nÄŸ5LÒ7Œ`
-Ü8Q#ËŒÔá‚hÌÙÔof]xîJ»x¡; €½* \¥r ª.ª…±„ ñèäت]Ð7çäŸîÜ»¶lôÀÖ½µ¯ >u˜†316‰ÉQTrhp‘¼€ÊžÔ Tz)ƒÊB¨D&”:«V[sö¦n  $Fs¸“§ë¤Ç@∦ःóýý¨ó:lËî¼±ýUmòÚ%ß½NiFl']”Ë|7¾c¤’G.&É4‘<}ábúRÇ/¦“23=H’
-o%=½¥
-l9Œ¼ ’£nél­ÅÐÖÀ¬s×ïm ].$`¯!sØ°¸†Áë›[LLןní€Ï²8Ö¸Y˜ßÆ‹ŽÒšD懣Ec;lšÛÓd¥IF²$zs‡+Cç²yô„
-hÚ΋ƒuyï!‚ËSX:#JRm–þÔ:ãt
-ôøê‹Ot§Ð‚]=„6ä»fíØAQ9·Íãó9c,ºè¦ì'{âÌdŠ]rO¤«x:›CÉÔ]S…OF)‘©¶o.³Ÿ§nÞÏñTC‡Î˜êù±’°ÙzÝ<Yk¨\y³±FT¶†mms§uî jšI…ë’À"(¨Ä35zÊPþÍ7ßúC½™OmÃÔÞØð¹½°’wÏ*A¨3­‡¯-°Ä}YÎÃiH’Bo>ïzšï _~ÇR.S̳XÓs½*M-
-ÝS¦ %Ÿˆý Ñ—*(í»Š9¾]Ítp‡–ž›€›p9d¼ß@š;'ÃHa=;a3ûmì·;kÓ÷+2„øâP”G,Ç ~V¿Ì>>‹ò»æ _÷ËíszóÕ„±.&Ž t¸qš¦;.¿°Ø€P׎2ΞônH%L’ݯg„
-É ¤wé¯Ã^ÙôÓí×_¾‡Ë\¬.ÒçÏ@l6.½nêlµÛû'°Hþç6PÒîˆÿó?ˆ÷ÿ —˜²ìHi •B3(TŽ¥Ìð9ÕÇ Ñ$oøž̾n˺ð‘x¾{@Zaüd¼b0­Ð¿A‘aîO–ø7)"Ý endstream
+xÚ­ÑrܸíÝ_±o'Ïx‘)iúäk|©ï®NzvzmïîAÙ•m5»ÒÖÒÆN¾¾
+‹3‘ÆVÍW+&Z©È©r¦Z*\ôÒäÕw6ºœn´îHÒu›I J#aqR¯@5£Ø(ÚT,’ØÚ±f·»rUýÇ
+#Biô¹»û‘
+¿•†6—•›Ž€6¬Ó–N}\Ü7÷Å~ãè8¶êGpäS±Ù3®×yDŠ‹r[¨oß^rlVïîÑËiv”¾.1ök£¶M¦ri£g—o­SÕŒ†<Òì;
+Àd:ƒˆÈ9
+õrÑÍx 8Ö»òM»Ò<
+Zñócµz‚$w $ˆvc’Šû†’ mlvqÛü\m6}`.ÔÒà¶(|·EçeªÛ‹AúZ
+¿”vhî-Sô.7±7ËLXÏä,z,Ö¸ì”ö[qœª2Z‘À&ÓF×5QrâÀf¡¬y‚Ó­gVЯUSCÐÕŠ©>”ÝsévT/#í­¦)ÌÜwÕ2 ÛöbÎ[¡ŒµHÞvlºœv.GK”‰PJêÓ%jHu¼D*·ý»C‘¹6M’Ó"=ÑŒÈaîÕ“ŽE¾{ªj6BÛAïÛfÅ6(¿j¶;ì^šú¨E’TCæO“ÓR·H rÙO,’ˆ$I¾"Ò͈Y$Ǫ} òýŽZumlt'ÔWøŸÆßi´z,\;f|¦GˆsNHøHXÐç£OU³o7Ÿ ‡t§HF½ïÒª<úùܨ•DÔq²\„°.fšØÒ4êîbaÔaÁ ²Ø‚p­Šš
+ I==¥uAÊu×X¾¹Ì’#ª¯anRä!È=FhÀ}äß°á³$ûÊæì‰NìM&r[óÓ\?-…†ÝÄkß@ŸvÔÊ
+•ÂÉì”Zhª×¸{’B;Òë¶ìÚƒ3˺ü°x¶tjµ–Nç_Ie¢ãÖòDÎZ/“D¦…†8)ÏÓLåÒX&´ÌÍHÞÛÚåègé §%_,!Ê7Dÿô9aœ7 ¡~ò™C@†ÀšºÔZòÙÐͶêz)E·§ˆl‰ß 
+Ü-‡L?·‚òT0uxJÅ«'jƇ•¹­¶Õ¦xŸSqeÓ›ƒ¬Rã \ÝÇöcãL„Ó?—íŸæo•‹Ô*à ¾„.Á œ^õŒdkDžÊŒ'Ö…Ö3üu,r8œ3•p·cÇ‚hu–ä_‰ÊÕ‰°ôT..¿ËS"ûÀœˆœÌ¡ÈëÐâc4éè‡ÛH"lýŠBºs—?kâ ×[@­1¥o+Ž#@<»#†æƒ2c˜ñ53ç`pU@W×™K÷àjÌÁhrÑ~çÀX±ÙÓƒnÙÐ Ÿ³2ý{ß2Dù(œØ
+MÈ#y ›t¤ßÏGXÔó6¼~ðÆö®Ú†Ëá~Mxm 1c‡¶Íß0 |Œï‡G#á<§°ó>é˜!ÕqÇ*ç˜ËI‘´è•ô´HO4#rœyÁÆY>ɶÎõØÖîa€ðÞÖ€ò‡Àò3`xõSÑÛwwX˜Þ¾¿ó/zTeq¬áY…»z3¹JÔþqQEë†|Ô¤si&2“Žwó 4¦œyï_!ªÚ´}¸²tq°)|ˆøÓ"äØ<£Žÿ}ËÆ –z4Ä>WtY*]ŠÃÓ®(ÅÅÜu¬JAuîc//çJ%ðà@7ÊtNÌþ©n½%cëÇëK¼ÃS+ Ðú`_LÌ„=ôÞÀ.âEÊÈ/6Øýž§¹TGW´‰ÁŠfÇuyߎrßÔ‰ʦқ`?g¼_1ÞJÃvاàm‡òϧ³ƒOÍt
+àáu âèÚÑXÓ?¶MÇ2£_ÿNg‚Õ‰Là©|[„/›rz¬ÅL ýÓIÙjFø8á‘ÃI™‘Uàë¹ï¦­?¯ÖEº²9j½\‰8ùZ×5 :n;O„Êc'?yå…~:IO
+ô4Sãj¡3ÏôH¢{WsAhm3k¹ÓG¨}lö›5ÁÎ8ðå¦Ár¯m­µ¾ƒ€/î´ÉèÏ6¬¥¶dĽwA&£G.•ú·yØjc¶¬.½^¸›áÀ%ÓƒœZ¾p¢KoŸAT>xœËµŠÞ;p/æC¨àЮ|q×÷ -L¹çƒ–éúþ¾Ù×,ºðÀà•Æq ?tL¯¦÷:þAK9wûG·÷þt=j¨ ý%Ÿ+/1<3^„)ýd߀°Yg{ÄPŽÞ§ù´øwD3чǺßýçJý_f%)œ³#/Êx;©u.½Rh?™B–M¬ÑÑ·×7¯iM0Cd>y˜øê¥+ëµ_ùí~‡¯'ôãïΈåS[ácÌôpft&Låoj†ÿ/·]Aendstream
endobj
-2709 0 obj <<
+2717 0 obj <<
/Type /Page
-/Contents 2710 0 R
-/Resources 2708 0 R
+/Contents 2718 0 R
+/Resources 2716 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2699 0 R
->> endobj
-2711 0 obj <<
-/D [2709 0 R /XYZ 85.0394 794.5015 null]
+/Parent 2691 0 R
>> endobj
-2712 0 obj <<
-/D [2709 0 R /XYZ 85.0394 416.8284 null]
->> endobj
-2713 0 obj <<
-/D [2709 0 R /XYZ 85.0394 147.2076 null]
->> endobj
-2714 0 obj <<
-/D [2709 0 R /XYZ 85.0394 83.7467 null]
+2719 0 obj <<
+/D [2717 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2708 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R /F54 1383 0 R /F42 1288 0 R /F49 1308 0 R /F40 1218 0 R >>
+2716 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F42 1288 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2717 0 obj <<
-/Length 2332
+2722 0 obj <<
+/Length 1745
/Filter /FlateDecode
>>
stream
-xÚ­YÝrÛ¶¾÷Sè’ž Qâ$æ\¥ÚqÓ:n䦧“ä‚– ›‰TEÊŽóô]`”(93çŒgÌ%°À.v±ßîRt’ÁȜ䊩I¡‘•“ùú"›ÜÃÜ/Ôñ¤ž)¹~¼½øág^NQ9Ë'·Ëh¯’deI'·‹É”PJ.a‹,ys=›MJ?Lß_ýü÷eʲ,+’×77Óë7Wÿ…w™7°fYòûëë?_ÿ†c7—Š%¯™Î.?ßþz1½ zźӌ¥þ¹øø9›,à¿^d„«RNžà%#T)6Y_ɉœû‘ÕÅìâ°a4k—ŽÚ‚f„ñœƒÑ „ ˜Œ­!aeÁ‚5.S
-'OM×éyú¨·õòÙ öOyA2‘)Ë{]­µ‡YdeÃEI–ƒš†k¸5Ø'Æ
-¤ÐâHk”áý”el^õuÛàX߶+' NA‰’’9i"#’+ÔöÜ´›®î]eÎ'9ã„ÓRŒ™ŽÂ˜ãž°+)(Í'i¼…5«`#w,pØ ë~Lçx)¢Õ4+ˆT¹‘fÝ|Uu² „0EʲPŽë³ßq:²#—¤Ì¥ßP7÷u£Gv²…¯^ܱn6»>]¶ÛuÕì[€Õ8=ܶ}qÛv[ƒ¦ß¯èãÈŽ)Ï9Éáß$ Ö¬ô£^}¿Q?êk ¾9Ê\Ùe½Òc3•‚@Êáý|3ýôþêæöêÝuX4VÎäص9Ž48ÏJ¯±ÝAÄ™ôà DRဠ0 ê'–»Õꇺú¾Ñ ¤Á›8¯«ùU«{pIÿ°ö»Æ1× òönsˆé·Ó¿‘~ÿ¾ÓN ·©´ŒMR¯¾ó±Qò†|eE˜ØÇ“XÊAÄu€öÉùCU7Ûc{IËÄ-š·ëÍJ÷š|¼³>:†t‡ÂŒç¡"æò| ËÈõ°a ¡B¬˜ÊII™8¯˜gQŒ ÄÁ¬‚Ùf³žï/Xì ð¸3°ÕÌ’íò€É8–œ4'ƒR°ÅysF\gÌ鹬9¯FÌ©H^òü€ÅêQ^Bâ.äyý׈‚³
-nÊŽr¨á­187q*
-_¬ ˆR´</Ò3ˆÔç@šîg ò]ƒ%·HBK,xT¬»:ZDu4ëh¬ÝyT°‹ä *s¤¾èçÔÌàÝ6è Jdeò×¥„DØ?´» ÊoñΫûW®¢H!ð ðCDÁáäþQyN™¯WxPÞ :å ùT¯VHÝ9F ;öŒÏÊ3Uó¾~tŒî BÉ_ºñòê)<Ò8{ëŽÄYadFöò-TÆŠT£™Momí„ÙJ%õŸ.’ÕÞIyœdø:|:@V{o}÷ŒO·‘³`Ä;‹—¾ºÁy‹:ènÓ6 7ˆø«|3uØ$—’0ó+‹nùQ5
-ÍNáY¢ÜžraËÀ
-øà™‘Äs
-[µÎ~¹1Ý8l±t¶kú±“QTŸÌÇe‡5‡+ï¬ã°(ïIØN)%Öœþ.˜Ú_†.@î×Ò,+iò¤q¤ÅìªúÏ®_`Š`¹Â7Z@8sÑ7&·gtWÌ´³PwnÄïµÒU×{ùnîèú>¾N,d-Ó½ÂÜâ;èÅJ›ÏœawdæñªWñ}P
+xÚ¥XYoÛ8~÷¯ðËbe´byKzt·ëI6v‹mYN„êðZ²Ûô×ïP$eÉf“,â9ÎùÍPdŒáŒ…D2¢Ñ8ˆ8˜ˆqRŒðøö^ˆáñ-“ßçz¹½xÅÂq„"Iåx¹îÉ
+C2^®¾x3Dš€ì_,³3ÿãìzþêóħãÀ›^]Í.ÎçŸàY`àVŒ½÷Ó‹ÓwzíjQoúz¶˜|[¾Í–^}Ý fJ©F_¾áñ
+Lx3ˆE¡ÿ€ŒHÑq1â‚!Á³+ùh1ú»ØÛm_uú‚`D™¤gP2[#!èÀ"B’Q¦½ñiúþêÝLYü´ç<<ö©D˜r͸¼KÁzɽu•çÕ¬¼UÂKª¢ˆË•Þ«³Û²Ödü­Põ„0ˆb°·BÓŸq±ÉSBȱPZÞ_Ui4ø‘5wúðÆ*u¾˜jâ{z¯‰Û´L·q“®4çͽ9€ôµ‘Ea™Ve]§‰"àe‡>>hƒDù[ᵯXà·=KÐ3ŒÙ3PÀV›kTz/Ó$ÞÕ .£äàœ¡:F˜eü…CB‘$80,զɪRI¤^Vëß²j4q“¶!R§Á±«ç@r¬¦¶•7ÿ4ï€Á†*vu÷º‘[4†œÀ ŒtQqݤ[pu„Á˜æ©¥6iзCPHYã÷ôp"„ É°c7NåŒ@R*»ÕAY¹¯’XûC=çUõÝl­«­CBâ!±¾\AèÇÑ 4…ºêŽV¦ÕÊ™·¾Qè,Œˆ—ì¶Û ½´lôÎ*ÓÏISmï'„ϼZWöÕ¸1~à$ÌÄ0·ÎrŒ˜ªý]Õz1‰KM¨`©ß¬ØT[òð´n™Á¡í(i¨CL†ÙHPaâߺB!ƒAN=ë“P@™P®($%Ô—bÿcâK°Ü™B
+]ÑjÓ¿•þí§ƒ~k˜"íÚWÂxë;<ôÙojÑÅ:‹”Rà½#1Ê;²oß¼ì­âÅ7Õ~B<ódÎyîð|AK
+ù…:Ð+¨ C¢s ®(Ðâi„¤@à’ÀY~='œ€„•F̼%ÈHW‚¢W÷@×wÕ._iËo r0
+`¨oy/ °£Y„Ii?CŒ¹”šÒw™c°T¼
+˺ÑH•uUåOIßû²ÚÔ€qG—FPJ6¦TçA躔°
+S÷„H0®'¢½° ‡Ds_é¸>PeýÅO´9‚÷óƒ-QèI
endobj
-2716 0 obj <<
+2721 0 obj <<
/Type /Page
-/Contents 2717 0 R
-/Resources 2715 0 R
+/Contents 2722 0 R
+/Resources 2720 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2699 0 R
->> endobj
-2718 0 obj <<
-/D [2716 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-930 0 obj <<
-/D [2716 0 R /XYZ 56.6929 769.5949 null]
->> endobj
-2719 0 obj <<
-/D [2716 0 R /XYZ 56.6929 743.9636 null]
->> endobj
-2720 0 obj <<
-/D [2716 0 R /XYZ 56.6929 710.4805 null]
->> endobj
-2721 0 obj <<
-/D [2716 0 R /XYZ 56.6929 639.6941 null]
->> endobj
-2722 0 obj <<
-/D [2716 0 R /XYZ 56.6929 562.8392 null]
+/Parent 2732 0 R
>> endobj
2723 0 obj <<
-/D [2716 0 R /XYZ 56.6929 483.0195 null]
+/D [2721 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2715 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
-/ProcSet [ /PDF /Text ]
+2724 0 obj <<
+/D [2721 0 R /XYZ 56.6929 752.1524 null]
>> endobj
-2726 0 obj <<
-/Length 2253
-/Filter /FlateDecode
->>
-stream
-xÚ¥YYsÛ8~÷¯ÐÛÈU‚“ǼlyeÆ3Ûkf·*ÉMA‰Ôˆ¤üúíÆA‘,;µ•ª
-*Ú:»ómZ»^g[‡¯¦Há@?eƒÖÁö!Šã¬Ó£:bOe¬ã0:ê÷I) ¯ŠC]R_7&cØ7¤£ÊuTí¸© Š%ÀÒ@½ó¥EÓŸÐs6PÜ¢8ÜÕ !7"Iܬ®S¬Tfäê¸
-ÈzýôÆ<õøî|{·ÍÖ?’Ü,epÙàì¸úTÏ; £2Ø<}GEvÐw(2}‘=Tm³gëá +&IÂû–~]»ÚÙt×tïîÁ>iœ·¡V%öGv
-­ÿz˜UØ‘ÿô:œ?hŸ³¶n
-ŒaÓv«mk>°7Ì탎ìýX feëÍJ£Çd:~°a[ÛÛuѸÀ€ùmëÎ5Õ¶©÷™¢ à$¯Ö)×Eݱh»··9=ÏšŒø7µ¾7gK]­6»G04ó„aŠc×pyhð—5•À]ˆû[µÅËýÆÄIï½N† ÅñãÐ#z
-endobj
2725 0 obj <<
-/Type /Page
-/Contents 2726 0 R
-/Resources 2724 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2699 0 R
+/D [2721 0 R /XYZ 56.6929 482.2756 null]
+>> endobj
+2726 0 obj <<
+/D [2721 0 R /XYZ 56.6929 418.6749 null]
+>> endobj
+930 0 obj <<
+/D [2721 0 R /XYZ 56.6929 379.3286 null]
>> endobj
2727 0 obj <<
-/D [2725 0 R /XYZ 85.0394 794.5015 null]
+/D [2721 0 R /XYZ 56.6929 342.5823 null]
>> endobj
2728 0 obj <<
-/D [2725 0 R /XYZ 85.0394 752.2879 null]
+/D [2721 0 R /XYZ 56.6929 310.4003 null]
>> endobj
2729 0 obj <<
-/D [2725 0 R /XYZ 85.0394 690.9973 null]
->> endobj
-934 0 obj <<
-/D [2725 0 R /XYZ 85.0394 653.2561 null]
+/D [2721 0 R /XYZ 56.6929 243.8778 null]
>> endobj
2730 0 obj <<
-/D [2725 0 R /XYZ 85.0394 620.7725 null]
+/D [2721 0 R /XYZ 56.6929 171.2868 null]
>> endobj
2731 0 obj <<
-/D [2725 0 R /XYZ 85.0394 585.7377 null]
->> endobj
-2732 0 obj <<
-/D [2725 0 R /XYZ 85.0394 521.5252 null]
->> endobj
-2733 0 obj <<
-/D [2725 0 R /XYZ 85.0394 463.1995 null]
+/D [2721 0 R /XYZ 56.6929 95.7309 null]
>> endobj
-2734 0 obj <<
-/D [2725 0 R /XYZ 85.0394 323.943 null]
->> endobj
-2724 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
+2720 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2737 0 obj <<
-/Length 1938
+2735 0 obj <<
+/Length 2243
/Filter /FlateDecode
>>
stream
-xÚÕYKsÛ6¾ëWèHÍT^$À£j+­ÛÄvm¥í4É!› Eª$Gýõ]
-BŽEÈ‘‰?^®Gx|c?Œˆ¥™:¢i›êûÅèÅK&Ç!
-Œ«/‰°”d¼ˆßzsDš
->ì‚/„YŒð«7P3qAv—6â è"ò—ÕŒºË“¯7Iªju÷;J…iµú\¤€öÇ(Mâ¤Ú™·ši’Ý[O³K㣋]•çéä¸çt»,ß”IÙ¡ "³ ؘ ‚(øP %`=õ! <ÛÛ,ê
-²†ãËÓq¬c9'q¦3o;–¿&CXtBù:Õ5ëëýáY½¿ŒßúÛøñ>¿×'Ö/;±~¯žåWª"q±õs<)à±K" %ÎÌs•ìÏN=æ\ I±è3/N gù¼ùÕ.UÇv¦ìó»=±~Õ³ü⤀#@^ì˜úÔ'}¦‹+ù8¸â{Ù©
-&™štíõà^TØɘ„k.u[¥¶sÀ:¸ SˆÑa/FǹÒÌ%÷TfZiÅæŽ)Ò˜ªsB½ÅCRš±uôA ©D„¯“²l«ôô‚†noKµÚ¦FûB£u#ÉUè7¨Z·=ÉÖç¦&
-àÊoþ’µÿhÇbRÒacz:õÊå(DbzMݪûxþ b_ìüív»ÙäEÕ|÷€@¤Š2Ñ.ã“:ãüpÕ1¢, @üB‚ú˜endstream
+xÚ­YKsÛ8¾ëWèHU…<ù¨9yeÆ“‰ãµ=­L´IÜH¤F¤l+¿~h
+^ÌEGË69§$‰(ME‘–
+iÇÛlËu¾-W{Ë®ZUªÀ·¶ÖÏ8xRø¾kÜ ‡D±¯òu9צ\TNBo€ÕÑÔvº¥Þ9¤ìŒÅn½Á/bÜ2½Ò_
+XÃà$(›â„EBPq9Ut¥Î§
+/eRE=*`\$Üzc½-eu’%8‹˜'¾hš—°­—%x1é©gîŽ)4Fï%ÁÍüýf£fvãß!§uS
+5«_ê±
+Ø@Àbn±«Ú¡³¸WEõŧùîáÃÀaOyfãðlÞF~:Ý"Ûéœ/è@úf@¾M¤M°,¥Á‹BNÕ (4õŸ]éö§ÁvÆõ[@X¸òpÛ9;¾¢‡-f@=YŽ›k¥ò¦uúí؉ î}ט¯Zº=z‡œb­t±RMƒüzBƒ9’èm@ ·1~ˆ  ›º4=™ è@ø‰‰=[Ƽ/i¶ fã‚uê¤æíñ™-êháx/
+èÛcfçÐo2‰¾¢¯´'!%/2Šp¶T³oà,s—AÌŠí¼ouδÍôé\bª<š}‘±äpaRx§Ô>ºØmóCüw½¶Ùƒ×¾Za=áÁëz5„+9rÉ}UoÈeGq“ˆB3Žã(¾N‡¢i”È×~ž½<è/ Pf›ÿ.¿:êÙSÿñT‹ •Ý«F²ˆQér\QnáôYo÷éXB6dÞí¬ór¥ðê
+ul¼¶WO}ÿzî .#ýgÄ
endobj
-2736 0 obj <<
+2734 0 obj <<
/Type /Page
-/Contents 2737 0 R
-/Resources 2735 0 R
+/Contents 2735 0 R
+/Resources 2733 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2747 0 R
+/Parent 2732 0 R
+>> endobj
+2736 0 obj <<
+/D [2734 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+2737 0 obj <<
+/D [2734 0 R /XYZ 85.0394 337.9406 null]
>> endobj
2738 0 obj <<
-/D [2736 0 R /XYZ 56.6929 794.5015 null]
+/D [2734 0 R /XYZ 85.0394 269.4528 null]
+>> endobj
+934 0 obj <<
+/D [2734 0 R /XYZ 85.0394 226.7107 null]
>> endobj
2739 0 obj <<
-/D [2736 0 R /XYZ 56.6929 684.7381 null]
+/D [2734 0 R /XYZ 85.0394 192.0309 null]
>> endobj
2740 0 obj <<
-/D [2736 0 R /XYZ 56.6929 622.0142 null]
+/D [2734 0 R /XYZ 85.0394 154.7998 null]
>> endobj
2741 0 obj <<
-/D [2736 0 R /XYZ 56.6929 559.2902 null]
+/D [2734 0 R /XYZ 85.0394 83.3902 null]
>> endobj
-938 0 obj <<
-/D [2736 0 R /XYZ 56.6929 520.5531 null]
->> endobj
-2742 0 obj <<
-/D [2736 0 R /XYZ 56.6929 487.6322 null]
->> endobj
-2743 0 obj <<
-/D [2736 0 R /XYZ 56.6929 452.16 null]
->> endobj
-2744 0 obj <<
-/D [2736 0 R /XYZ 56.6929 386.5142 null]
->> endobj
-2745 0 obj <<
-/D [2736 0 R /XYZ 56.6929 236.5364 null]
->> endobj
-2746 0 obj <<
-/D [2736 0 R /XYZ 56.6929 95.5488 null]
->> endobj
-2735 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R >>
+2733 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2750 0 obj <<
-/Length 2982
+2744 0 obj <<
+/Length 2245
/Filter /FlateDecode
>>
stream
-xÚÝZYsãÆ~×¯à›¡ªådî#©<ÈkÙYÛ«ÈYÅqÅñD‚"l’ r×›_Ÿž  UÞª¤â­2ƒÆLO÷×çˆÌ0ü#3-f†Ï”áH`"f‹íž=Á»¯®H ™G¢y—êó‡«?|ÉôÌ #©œ=¬:ki„µ&³‡åÙÍýýíÝo~¸žS³[t=gooîþ~ó­Ÿ»¿64»ùêöÝõœ(B fé$ÎînÞÞ~1ý—Û×ßüó¯w·×?=|}uûÐpÖåž`fÙúõêÇŸðl ‡øú
-#f´˜}€Œˆ1t¶½â‚!Á‹3›«wWß5 vÞºOSÒàB#A¹œÍXARfa2˜+Ž‘ÂJ52£$%³Hee6_
-ç㜓Yw±“-#QbKÚÙÒÄ©ly¿/w¯Ãºðƒc?…a}ÜnóýGÿï–~PüVЉNÂÁ6HÓsÂi‰&dˆœh~ÍÄ~­d†û%ÓÙï»cY¹l«eƼ=¾-šWÕnóñš’ÊE* ×lZ0]ªqÉ4TN4ïODÃ6òÌ–‘(±eO8i¥[¦Pó¾Ø×eµ âXµo¹Á1ÀdA/X#vµ]¾-–óźXüòïj?è2¡9˜%#þyMtV=íóíK€)9¸'9bÜ­:T
-ˆTN?Ÿ(€ ©8ŸÞ2%¶ì)@")„êoùu$½©òe¹{(ÃÉÑþ…1Ý„±“[‘/Ä?WÇý.ßø‡2h.BDZêq¡…ˆÖg̽K5!ÔH儺ð8¼D„!ƒÅ&¯ë!c„
-D,2ÉYC•`­+| \pLú¼½{.åêã@Œžø7ú€ÐÆÎÞ„w»*H¸¶«Y5ËWAg”ò7wöÿAaYXÿ¦2ª ¡%bØiet©Æ•ÑP9e” eRTAÎIUA
-JP¨Tù4g U‚µ~A+FõyK´ŸñŠ¶Ûaµ­¦Úbõ:^OAÅÃqϸÅo‡Iäšt=Õ6„N·Ìê°n‚¿Ï?ŒmÒ! ”ÆÑÂ%¢Ö-M£¥C5–HåÐòeªýA㊠ETÀY&Yk¨¼õᢸ Ñg® #"†iÑÀÅŽ-\z/!Ùx>†—±%eÇ懻"Ù—Ï? ¿¼cžSÞT­sÆlÎPÖ~ÛeU„‘kÃØÁ"?Ö!j28µ¶ÕiÏ¡æ»` ÅÊyž- û¸Û±õûfËãö¹µ™Eµ;»ÐWFÀNGB³Ö†ìø ŽÀüée&΂)ÉÇLÈí”4!i=·0™lbXÃQR«„!b°î/÷绑9A\pÖê”s'Ër}¨b8µ{ºéÁÈ¥–öpþç±ÜÙË §sªä
-B÷uÞ¸@%íØöùs¹ôöûª„Í4G¤)&X¹#Â2LvýÍPô‹éÅ¢‚Ä7Ô­‘ÕžmH¦æ|m_yîQÂn~@ #oÇYJjûÆ^ŽXÚœkPLÜÁ†û´~±5H܃ð«Þ¶«a¼Èw~ð©Úþ5Ô.±‡Yo—0h
-ó^0 M{–›jOC,Pº×ž†F8Ÿs ^XÓAG°š\.•SQÄ ëïÇåjû\nŠ‘Èl@R´ud#=pÈúîz»ù~7žöK#OƒÙ‹ù>›Otšø“™¦½]’¢«€òiWíG먳0eç’MŠRŸ¹këRMØh¤r6úíY…â¾Ì7©dS§Yk¨¼ “M¥‰è3ç¯:•™Ç• ·ö1÷?±ß)CÿTfŸA4ùÌcNúÊ÷Äëâ×á «ºò¦·sþ¤þòÍ>¿Ï}ÿ
-†ånðý\¹ïÞ¶»‡+o›Q ¨í°gû®Wãë»(ÇícÏ›[0?¬›fJÛ3¶ªŽ ÄÑcó×ñÍó¾Üæû2¶£VM£¨¨Í•ñóqÿ\ÕE¦GG ï36ï›D^—jy •CÞ6…<Ž¤äz2:0pä\N3ÖP%8ëÇ„·=ÖÚ"Ûò²Íû@ý½Nu/a²^WGÛã²c«ûs,E˜t8±„Exk ÷b]„Ýš®{h›¦¶™=ç²`|¿7ÃÂe4Raï1Íeœ¤ßüÜE û}Nû²"ž¼Ìµòs®Õf„œ¹8ïMÀ;9t¿M¡|›ÂÓ膒|à$W Ñ)[}lƒ¼01=¾^[<úKn>î+" ÍYⶑµ­ép?î¯,ç,{mÿfùeºwêìÂ;uÛdZ¾‹l‹A8bQ"ÙôïO«a>V ϙˆcÅúyú§Š÷J!(³Î€²C4ñ—tÈr÷»ò)¦š|ü„©d:Þåªí@2æ¼í5ɜõÏîò„±Äå £Ãµ¡OÞ8\×G¯aúé®’c48Ü“6üÐáÚê®ÓÖdÑáö¾Lµåá˜óSlLáZÙ
+xÚ¥YIsÛƾëWð°JÏŠå]^)2“(±%=‰~IUœ‚"bP°XR~}ºg¤äJéÀYz¦{zùºb
+l¢|âG<š‘$Š25Iò3:y€½Ϙ¥™9¢YŸêûÅÙ»D8‰Häs²X÷î
+ C6Y¬~÷æ„q2…+¨w}ñqþ~vùÓüò—Ë›ë¦30!½‹ÛÛùõû«ß¦3®(Ð1¥ÞÇ‹ëOÌÚí4âÞÅóûé‹ŸÏæ‹N²¾ôŒ
+믳ßÿ “<âç3JDªÉL(aQÄ'ù™T‚()„[ٞݟý¯»°·«ŽjƒQÂ…ÏGÔÁÙ„1)ÅúPñZïç÷—wW·‹«›k|>³S!ÌxFyEœ§«Y²I“/IY¬íÞ;‚¼‚…pé5e= Á¼f“â€zõKÑÄÏç0QÌ[¶Y-ÊfŸ.Íã¢É’Ú’–kCÈÉi
+9™uj†{ãªö3Á¸v UáV×e…¡uÌâg3M«jÊB¯¬ô›yàÅÛ²x0gž²fc¨âíÖ,‘j3ÉŠdÛ®‡å‹]mà2ò½«µ9\”ý³–È^Q?¦I†éêÜhOöµ'¹ ¾RÒªï]Ú$´ÈGñ9ᾯì](F–~~¯Ì ¿«t·[x‰fæNÎ8E7¾.›ô?ðRöµ"Á›âfÄ_J¨d¯{ ãÔ‰èD³g…ù­S0wܤf¦Mom oÒçF›ݹM6†(®G”Ë€²“©*V ù’¾Œˆ¥(ø\à[Bt°‘Û` G³ÌŠ^VÝ&ࣰ”VÖØ<Öˆ‹‘i¬Ì
+û>³VÚ_kÜî,‚ëéóã6K²ü‰1æ[°¥ ¶€C÷Û”O ­j
+Çv¯è%=È`RÁ™Q÷Ît‡‰›‘€1Rd@hG­!šõ©\ž=,;:*ä;Ûì³ô}Ø ^aéˆFXò=[áËÛ*ƒä¢TçT´uü`‡u›çqeV§)¤Ï™ÁÙQ퀋
+*ÓÚéQÐŽ£ÒÚ±íËeè«\F_eUš4eõ²/¨ó™®£‘n€›ÐUò¡x—ƒ(ºD¡ÆìHvTD…¾?&ï>äú$ ”«‘êÒ^Š™Jl&7¸H£iÒd_5b!” …;eé‹Xì’<Œw˜“Gó ƒe "x€ô÷ÁÝæe€!›Ÿm÷²slý)˳m\míjÒé,µ®eÊc¾ÈH$(ð´oõ©ŽûVG¥}ëëA䥠$:ÍÒ°äÃBBB‡,Ç"0ªÖvÁI¹ÞíŽåFA¤¤þ·@oÀ#‡ïÖ¶UœKpƒô~Ù+èQ0€£Òx<}'YvÐwÈr ú,{(ÛfO׃¨U CÞ×ôÛ
+ÖN§»²g»4¦·l(ÄEY`}d¦Püçèš\Û§W¹àü)u1kªàPàTqE‚@¼B=ªtTÚ‚ÏÄ
+Ú¼“,ÑËba6dùë+ !¸3Ø2Ó]´ñ„ˇx'{êGŠÌ^ÐS?Ò ú±Ìõ¡YÖIÛÁ"ìÕ‹’+s´N3ojC Û*Ø0«Û8±’é¾5×H
+ø /SC 5ݯnàAháÐ7@
+{ð,_'Ä0„$bTöÃh¿}ŸÉ„,6ñwóŧ»kã5ÿŸ2Àí‹ŸÌ×øýýzPJÛäN[»RzWIÛ¶§‰›¶B:øÛʺ½ZÚ+Á ª§¬NǵãĨç~>7‡/>Üߌ¼qL)Xg„Xeœ÷š5£)Ûݶñ Úwmd.˜³ã÷W×ïÍ%‘c•gÄ6øoiqù.][%‰ÕÃǸhãíXî<‚ÊÛ?é&&
+댾".>-~º¹;¥MvåRU¤Ö ÷/>rkªË²¨¡”ÈÚüØ¿ztÍBŒ!íü×ÿÚýÇKD`Ã2Š1{2íƒD$t]Š¢óg¨»¾å¾}Ä’© )Æ<Ó¯¢Í¡îô•ðXàb³ý×Ó¡þ‘€¿Þendstream
endobj
-2749 0 obj <<
+2743 0 obj <<
/Type /Page
-/Contents 2750 0 R
-/Resources 2748 0 R
+/Contents 2744 0 R
+/Resources 2742 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2747 0 R
+/Parent 2732 0 R
>> endobj
-2751 0 obj <<
-/D [2749 0 R /XYZ 85.0394 794.5015 null]
+2745 0 obj <<
+/D [2743 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+2746 0 obj <<
+/D [2743 0 R /XYZ 56.6929 751.2574 null]
+>> endobj
+2747 0 obj <<
+/D [2743 0 R /XYZ 56.6929 599.2261 null]
>> endobj
2748 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R >>
+/D [2743 0 R /XYZ 56.6929 229.2295 null]
+>> endobj
+2749 0 obj <<
+/D [2743 0 R /XYZ 56.6929 157.3613 null]
+>> endobj
+2750 0 obj <<
+/D [2743 0 R /XYZ 56.6929 85.4932 null]
+>> endobj
+2742 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2754 0 obj <<
-/Length 2588
+2753 0 obj <<
+/Length 2378
/Filter /FlateDecode
>>
stream
-xÚÍZKsã6¾ûWè°ª*Bð$£cËÉdg<^K“¤6“-Q#ÖR¤ÃG<Þ_¿EJäÝä°å°Ùh4º¿~Èd‚áLDŒbEÕ$Q LÄdµ»Â“/ðîû+âhfžh6¤únyõí“…TLãÉr3à%–’L–ë_£9" MŽî¯?Ìog7?ÌoþþÏ÷óéŒ$„’èúáa~ûî—éŒ
- ô@ŒqôáúþÓõ{»ö0U4ºþ~¾˜þ¶üñj¾ì%JO0Óbý~õëox²†Cüx…SRL^`‚QŠNvW\0$8c~¥¸Z\ý£g8xk> iƒ ‰å1è…#E” 댠„ J˜BB’¤×%!y*­³Y¥úí]Ì”„ ÆÜ5É&/²2Ýe‡!D ãÃp=U@::Ü“b$9ecñ~ž&<ªó6›Î#Ñ¿«ÒŒpTuís×ÚÕÖù©Év8>ÃÁÆ<A’âÄj“4z· °$ RBñË,áBàØÄæMˆFœ$‘ÌL¢ QŽ Ýf¥=ì‹×Öç6KM›–ë´ž­í
-hÇd¹…í µc2£ ;PB_ œGP³ÁN³h«úÕºÁ¦ªHC ŠcÄ%öçÒ‡_ÏVÕî4an&pŠ8¥²Wî¡S9Ë•@1ÅÌ{HuÚ¼{*£Ø:`Þ
-Å’ÅN¦]µ>²l…•±</–'
-ˆ5Ò€@4€‰u³ÍVÿMÖhMÀEæþ²Ueï±±oÛmÚÚ×ö~3·l'i›­íBÚXªu¾Ño6™%([ûúéÕ>oï‹ù%}êÜËg5XB›¯ÒbJ¢âÕ.f¿w07Äyi—ž‹†Æ 
-8i°ÐH¡—žÜ3u̲ç´N[ǬYÕù³ L‰ˆ>–v±õV02h §rG°iÝ”ö Ð≱K«#»²?‰|ÈÛUÚôê¶h›9ä\û3Z}Ön»ÆEÖlf¯âõ£l·NÄI]ܽ P<¾Au08?%‡X…iŸhi¢¢u•¹QYiOd´J»&³kiùj™‹«ÖQw%X½çîCí>nɺTÒ»ŒVUÙBià\LÅÑ»ÖmQ4Õ@c€^Øñ|B+ç̨Ë2vYZ%êI¾±O+ƒØ§x.1·k]üè9·Ù×ö$‚
-paɘ8 CªÓÚS]„3g©;—[@hSò‚\ž( ×(·HOÔ\.·``„Z¥ú™ÚÇâq*Dô“ŒÓ ½æSHKcÌý÷7ºªBv¼êz梺¡= ¦2F˜Ðø¯Šê1¢‚ñ7Fõ.ºÌ#h6‚¡yƨÏ?H—ßßÙ¥ø.h¢Ë”ø‚u¨ÎX§§2ÖÙ_B…WÂ:¯tÆT×A‚Lbu^¸ž* ݸ®ƒ:^I:ïfkã‰va†U¸„ã
-Á8É{XpébOø2C#“aj’g=ÊËUÑ­3;FÖöuðhà|é¿rt€|:‡øÒAË+÷ÖfvÜ'Îz2ÙÚ%Æp
-.E9`¨ái0TÆ)·^±X¨A¨Ñ Â4ô‹]Ú´Y=$²ã¿½»¿yÿévng8ì 3Ö]•gÐŽê¬Ùö³†NàPÒ¥‚ÕA¹ß¤ïm­
-—)k&e@eÃíö­C ² 6!¥AÕ¿<'“)”¼TÆ©NgOeŒóöpËX‚»(v~KOØrxº„!¨•ãñ–·P.Xå¹"Fþ’J­šÓ²*M#iÁŸ¼Å´xI_ÝL
-ðj}® u bŒ±¿¾Ébˆ(’“ W5 :sUžÊ\ÕÏ!`?=УfŒX,ÎÊå‰r6\˜|,XßpÑõÝË63u¸™˜üž+WR¨ÄÀ°—;'ß奾aói^¬W® ­ËÅ„Ëèþ<•]ÚçQ°AZ˜^„Eð.Þ5N ¼¥pêÜœûxÝ@Ô±sÓ#â&$뇮3º¾ÍÉme£ŸNLÿü€áPL»Ö»ÚÚjU3.¾TuÞnwvªÃÞãÝ̸~ÚرÜà@oãMáXÿBA0ÿ?ì_^ŒÊp~„ã Ay@tÆ—‘ÞN{xð) y‹”üì¶=Ññ¾c_‘Ê›d´ñ²+Õ.õ@g$±‹ÃÆ!Ÿ²¾Ña¼éLÞN¨“cÊÎ+mHuZk=•µ¯@Fã;àÂÙ­=Q`ë±â0Œãd¼w¯¹7iË÷n½™öþ¹í}JÝïDDq›ú?ΗŸïíÇ?M!SŠ®ßš/Â-8
-*({ Ž©¾«k´íêÒ»­³(\2pÒvÍøŒd\ôeµ-åjGö’õà¤+k!_ñÐb °c©ñù%oN¨Ç‹;RÏb>·_¿_| œ1¤ÒæðûbÓjJ'Cƒ×6ƒÂ£ô ‘þ×K‹ŒZ ˜‰P;› Ê{ì 1ý‚óÝ»û[ËO¹S­!À@mVë_0íÒcÖÿ¶rjý–úg¬ãí ¤C4î a½BÜ&j¬ØëOË>>^Ö転`™9 Y¼B~¼swS•MU·y·;õ/
+xÚÕZ[wÛ6~÷¯Ð#}NˆâJn¬vÝ­·vÛœfó@‹”Å„"‘²ãýõ;¸Q$EINâݓω@`43øf0ˆd‚áLb0S|"G1™-OðäÖ~>!Ž&ôDa—êÇÛ“~bñD!Ñhr;ïðŠŽc2¹Mßg××Ó«ó‹·§!8˜¢ÓP`\ž]ýqö«»>U48ûyzsI("Â4]„ƒ«³ËéyøúÓ×ÿüûÍÕôôýí/'ÓÛV³®ö3­Ö§“wïñ$…Mür‚S±˜<ÂFD):YžpÁàŒù™âäæä·–agÕ|u Áb$b*Gà dB8b<¢=<„B4–Ôà¡7Å
+Hô<°¦¤Š*$…´½²¸ºÙj¹Ê‹Ì0Óÿ¢TÚQgcZ¸ñCRäiÞ<Ù'Ã4/ïíSµv³Uù­›v¾©ªÂ© ¤„ NO&‘ˆxlô¼y*«U×C3F` €F #JH4;ÝSÁa<ê¡avY“p:â¡-Õz§a¶y¦ïýhÑŽ>´£Oíè¡Í, äV"b¤‡2²fER×–¬§X3Ž¥rT-ÇùGp8‘Ϋõ2iF8öÉZŽ?½Gí®!'qí­akvX|æcX0¤ô)µ –Uš!aˆøPïGõ>È ù-¿ßŽ~—/¬_ùÂü~=ʯÎÖyR<ß“ªŽ»b¤i7Øð4‡øS¶¬Ç›KS,‡¼×/¼ûúø"Ûw0ã!¿›Ö¯9Ê/Í×Ù¬©ÖO#LGdÈôö…•|5xÌ SBrêÿ¯Ðö¼ý5"'‚œ(ÿŠ£©Cºq>óÔuű $¤@‘Tò2P—Åþ ÔRu2P7SsÐWdA´Fâë2ÏëŽÿ›Lîådß¿”uþ›ÿÞ“×÷Ÿl^,!Ø¢GˆCõ<,Zê£EË—¥‰ÿÛ°þÍJ>'šº{ªŽ˜C9¯È³Ëèò Iõ¼÷§ˆa?ÊIÌU¿­9ŸÞ¼þýâúöâÍUû¥~¯!¬Õë6v›;Ø §²í4e­Û,4 Ó£ñ ~*›ä³LÊÔNæe“ݯ]çÆ‚jîÖíªoö˜kö ÁfÐk_4vr•­u”Üd`ÑS[=xÔ#ûdÐJ}p1ûÙ]È)…­‡/­2Í<æÁã"+í¨¨’Ô¶˜±ÝFl·ªsBƒÛE^Ûµeò1S‰@’•„Ä]•ŽA/©òÉpSgóMaåÎMë ƒNC ’ª0oQu{¸Ë4=‰·ý²^¿mü¡PnpèœúlÖÛ~z‘-íŒZÙQ²íêíb(4᧒hÜíÔâQÄ÷”»»WNQäϲÄä˼HÌî 4ú#¢ Ä”«ç£ ›ÆÔ}[ÇÁݦ±òòÆŠJŠÇäÉén–+7´® ëzsÑdeã *÷}§þ*›yØæLôaϵeÀUC†E{ÂpÐÛ¹Ä>jF=Z[Uhg”28KӼɫ2)Š§SBˆÞ#ÊìÆ0Y­Š\»‡aÕ¬óY¶3K*»PdYQÛé»'û™fódS4šÕÖ(g™]0HèoitüåQ7
+iŠp|$t©€ê© ¨îÞ*â=ÇAP¨í\[u#T " ß>¨YK5¢Z|^«¤¯ÛNåó§ŒV÷oí¡»*‚ƒ ·VVÍNaðªýŽ_\éÿ-j_U@TÎÒýÆп>u$=u©ÃScä#Æ
+h2°ü°^-Õˆb=S@ÓE$ûš]ÛÞ åШVuêa]}Ê{í¯^°ýª.)c\Wu›@Sê}Ô–*q]ÚHm&#¨M•÷Cm(h c°ÝàEa(·ÄX`W¶Ã¼aÏ9±bî¡ÖNú)¼T$IÛ8í²…î:Ž¥¯æWT³dŸúÐ NÄÆ©˜ðŽº†Ý1}!ë2ßê
+Ú—.ßÚëG3Ûõ§uwrn= Õ©ž>³ÕÚ=¿1&–JûÒt:–"/Cïñ¦DÃiÓ„Õ<l_"…Þ&a}'€6¥Ñi¸Ö>éÕ˜L.¦ñÐÜû̾ ·£6UÒöÝÖ.ßvÓS'=ù¸Èg‹îºÌ¾Xàû¨p›îÚx
endobj
-2753 0 obj <<
+2752 0 obj <<
/Type /Page
-/Contents 2754 0 R
-/Resources 2752 0 R
+/Contents 2753 0 R
+/Resources 2751 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2747 0 R
+/Parent 2732 0 R
+>> endobj
+2754 0 obj <<
+/D [2752 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+938 0 obj <<
+/D [2752 0 R /XYZ 85.0394 769.5949 null]
>> endobj
2755 0 obj <<
-/D [2753 0 R /XYZ 56.6929 794.5015 null]
+/D [2752 0 R /XYZ 85.0394 747.9385 null]
>> endobj
2756 0 obj <<
-/D [2753 0 R /XYZ 56.6929 225.6507 null]
+/D [2752 0 R /XYZ 85.0394 712.2038 null]
>> endobj
2757 0 obj <<
-/D [2753 0 R /XYZ 56.6929 155.4035 null]
+/D [2752 0 R /XYZ 85.0394 645.6981 null]
>> endobj
2758 0 obj <<
-/D [2753 0 R /XYZ 56.6929 85.1564 null]
+/D [2752 0 R /XYZ 85.0394 494.6816 null]
>> endobj
-2752 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F40 1218 0 R >>
+2759 0 obj <<
+/D [2752 0 R /XYZ 85.0394 352.6554 null]
+>> endobj
+2751 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2761 0 obj <<
-/Length 2741
+2762 0 obj <<
+/Length 3352
/Filter /FlateDecode
>>
stream
-xÚÝZÝoÛHÏ_a ç
-´fXj*óº6ÜwJ#3ºÉë´ÌÓÚÜ-Šm’åf¬ÈͨJ˧´´@c‚b!¨“ '"Òf/y±«²jhöPi©DT­Ðc&zSÁaìõ#Œ°
-ïÛ]$v¿zD™U»½{³Éª:ÍÓr|oN. ©\z Ø=µ£ßÛÑOˆX §ø<™¯Ó±#:´¼'˜ ´!œsÔLؼºž]~¹¹»¿ù|Û¾Õ‹±4„ØO»1ö03ð|Ž]4@П&ære£®ëP®G³؆­Ç_ÝÎàBÌ„ ÉŸ^ÀD„§»Z?*–æZ¯-£÷7·Wf›Ë6¸Ìš:+¬ÔeyNä´°Ònf—ÈŒ>¥l M‘ÚaWÓ‹Y¾,Êmb˜ª´á®Z5€\¸Œb§¾|¸¬Ì]´Cn‡I¾hçr¹HÈ6«ýkj91(ðT<š '§ÏY½.šÚ<I´ò«f›æuuáÙEH`ˆÉ(´û3º‹ì#ìÜõ9Ûl c›ÄŠ¶ë!º/“fcu€ òcºjÊÖDrªf¼îJ"Œ8k#ÑÛ´ž¿ÕZ!•‰<ªÉ…!sþ}aƒ€ 6é`£ºÚ* ¿˜A–gu–l,Hêd¸&.˜ñR9†üÙ¤e–Vè(:0;õYŸ¡Ù&³© Žçÿ.•ƒP‡ù¿¥Rr>3ʤÇE:"È®á±2‹¾È¯•õï›»'îNÃƲ½µb¶œuQY$¶…`9ÜÒÙ32OvÉÃÆNËVDˆ|¡UËÈåc…òDä6*ªö¸bŒ˜ˆœ'ái66T˜u4u“lÚ¥ÿœoš*{Jј0pdÌã^Ð¥÷‚–j¯¸Ï ŽŠl½àP¤Ï z"»^þï½€ÿyˆDì”t¨Žx£ÒŠ[¬ö°>†b?ÔïªGBˆ§”³ãúµT{ö
-C„1”N= •Óx Fa$G«‘ßR„l÷AaXX8óÃD¤žÚD¤ÇYq^¥E­ÑD÷u›Ô.|¾FBÄE&-WYP€ëlPYŒ$´>(<"C>½Wqp& È©çcê¾^'µq›à6E²Èò•{h©V¯&ÝêÕË@Pgy“VöE+í¹( A²„ŠyÀÕÂ1=^'•Y®[AÏ×I¾R …1@,ueŠ»ÖUÝ
- ê.ð3Oo„ ¨xÈXƒŽ7àsM¯Ô++íðZ£2™«ó¦¶•ˆ¤ŠÜœéqÔ"á‡4p±Ú³(z krµŽ¾ƒÓüP¸ôTƒíl¥@±±•Ðs ­+ ˆ½ÎÇ%‚ŠVžð¾Õ÷sTÚÿ®Oúß /ä÷¿cúuð@A¿v5ÔxˆQ¦£…P[¾ìt ƒ©µÁ ‹ç7¨YU÷~Þ¥ùlö›™0+°u0°Ðuˆz`" ºL‹]jâSe¨³ÚÌWÍN5€*U;sª™h
-vç!ƒ£’nwõË°¡l–W¥ŽEV÷Yåöj”=JÀ¹„`tü(u©ÆRK¥Òò V 
-êAò˜š™dñ”äµ §ð@7‚àºä—í6–èòîke˜qc 4ØPϪ]:ÏTO ]ø¾¹(ÿÄ!>UÎÀ…Z‚³A”±_ ^×*öëŠ\u¨ê´Üš¶)·•äÍöA'~nV£h•þffç@i^› “ò¹ª(ÚÐï{ÎO)Š…ã\‘¡½Yš™Ì2ͬ´&·-\Î-Z÷î*ºá­]E§ù«Vá¾ÖXyϵˆÝ¾6ý¯?îÖ¾§²_íý|rŠúÍ‹Çáqûýç¿þiÍþ·C\}œ“#͆9bªa•R¶#Q¤
-=â¾}ªuÁ(
-îè'_ÿ¬Ó|á¢ØÌJúæ÷sBÈ4-«Lõ¹¢ýIÏ¡%þµæãðendstream
+xÚÝ[K—Û¶ÞϯЮœs*OhO{’:'ngšä4É‚#Q#žH¢"Rž¸¿¾÷â%’"©qìMëY/À‹‹ï>³…?6S)I 7³ÌH¢(S³ÅöŠÎžàÝWWÌÓÌѼMõÅÃÕŸ¾zfˆIy:{XµæÒ„jÍfË“[¹†)hrwóööõüÕßn_ýýßßÞÝ^ÏYÆ8KnÞ½»½{ýæ‡ë9Wè˜ÒäíÍÝ¿n¾q}ï® On¾º½¿þùáë«Û‡ÈY›{F²õëÕ?ÓÙñõ%Âh5{†J˜1|¶½’J%…=›«û«Ä [oíÐAi0J¸Hù€88o‰C3¢ŒQ³L’
+.¬8ÞVËW´¬EË5áijàHôçruÜlð×·'æ›yâźXüR£ TÒ¬ó[i²,6ÅSÞ”Õν¹»w¿‡k¦“bQÙßeÝî\7¶©\÷û©|÷ üšÄõýD}¬šµ{*wóÿT»Â Ìwž¦:6s\È0#"£j6gŒ¥¸]Iµòƒcɺª›]¾-j˜˜&¤ɛƽË7uåZañØv‹ÇÖÓæègÉ—KÇlí‰ÎÖå.Ì`‡ñظf‰ØæÍbª:Îü¾84e],íŠhw)ríŒØX¬ËÍ’àP:†­H&3ÖÂÀ¦Zäc ’PÁuµÛ|
+p ~ÓéЦÓäy].Öí÷~ÿ©ßÚÞDzÚ÷XZ8šÔÕ¶p›Ë˜!YºåEâ ûȯÇÒ5–n”Û*l¿•uSÿ±?mÙ-v=™ZvŠÃûÀw -=aÞ½kârHÜ/P#mص¤’f=µœ×åã¦Ü=ìL* ×RúAþó‰í·åÙ^_šÙ€•PeYç”…‰ˆ<º# ÷ñظÎÜí€ë•-Ïeí8áâ„ \G‘× ˜3Ma“¥éâþ²å3¡/‰F¨L~”pOíu}_,šò}*Á@S݆Ï5'RRöý’5fmv€›1aR³îžÔgÚÛ@ÎÜ#c) †dŒq7ŽhÞ¦rÞ† 8ßH…ìÌWŽãT¶(Ái‘z†WÕì[Ÿ1Faɧ DŒµÄhF8 ªËÙ=ìQ¹ê[Iϳ0«ÞË“-ú‰R¾)¼5}WÕþÎ ^þè;,%‘”¦­=nŠßš)ØFe/‹U~Ü4èšü—¡ Ž?3ª­å‡üyìaL C´I˜s*-ª ¨* •/ BF]Ê †*=ÍZ¤à­‹M´/Øa.¢E0¼´ŠhÁ6¢¥óbýÑ¿txqm4%vKiªäKðe#*B2ô5˹Õc‹Ãó „pÏP®<=ø1!0`(k÷ÝeUøÖ®òl-òcí]¦ÑRô¬i¾ó
+R¬È+0kÙÇÝƆ4ÖÝy…Y·ûzTgÕ®)vMÝsö;'ZœTÆUb_­%™ ˆ§³TŽ©ýÒ 
+¥hµ•y‘
+ÁGŒˆ î*ä"ÌDä§ûëÝÈ„’©â„°¥’¥!nB–ë¦
+®ö á£XhÙÈç~Ë]~øගgÌ!xóΖG ˜¥ØvC¾/—®¹©ò¥óó™Â(s`‰\’L(ÞLL"ÈèÁó쥢‚ ‡ò°O'%«ÛnMq}¸Õ.AÉœw(ák®á1 -§ÇY¦<)W^Ž4ÅxKu£Í;a¤ á—¢>Ro°ÃÍ`°½Èw®ñ¨ìîæ({H?lP½N-¡qZ
+49$!©jo@ù´«£9 ¤X”‹K±¦„|d=­¢mªqTVE¿¹¨¢×—ùæ<Ö„°] =ÍZ¤à­k"8ŒsßÛBƒàiâpe½->æîÇ;wîêdøûp&ÀfIÑBK5‹Æ®ýܺrª·ð}n¥v§ìóûÜU¯ Yîzã×`ɱÚÑþ:¾ôÑBõjjÝ·e'XW@9n;ÆÁü°Žu”:Tf0¡„êУ·ûÇ:¼ÙÊm~(C%jkDEݸ˜‰Ž‡}U5±˜CO!sâòòZTÈ TyÛ!äI’¦ÒL9Ex
+Iþ$_h€¯.ê(¤ÍFv;e8”a­ «2øÀ“·?¸ÎóÊ%tÖëêˆÅ-lã†à
+ßiQ‚„…‹Q…}±.ü×b9È>œ
+¦°Gñ¦—
+}"Icº‘׸Ÿ`éË<X3»E »<&1š‰O³ÖŸ¼¿À¦ÊK6²
+ ˆ%7„€h‡Ã0_í(§ªšŒ€3O_|'KJ1~FŒŸ>à‚ˆÀÓ>f)69^_˜8iɺ7®äÀdOmi^0 À·o…#Sh;ç A-kßSËÆ])ñ´®±·2ªºbôåǦ‚™ÐX ¥À®Gÿ›ûÉŠ}~È?Y½8”{ë˜2•|»sM`Ð^BºGµ¡a5M…ËY"ÜVr2r=§U±$¸¼íéhz×G0mópÖèô¹3¬YkïY€™“<XMŠeÙxA0¿jj9õ~wø@™vË$/ˆ=%ø*Êc`Ëq™ñ'Éز'É<Óþ$Ùö¹Ã)htÏŒ¡#žC»ôÙqT*‹j­Ó™ñ\˜Ô^¿³Ÿ°×ï"+îvg¶³{Ž?<5ÊßÁ€ú(c[ä»X,ûw=Bˆ×¿J’qf<sµ L@¸/è…”¶M5nA#•µ ÷Ÿ”ÒNòSÚs¾†RÚ_¡Ö¢|~s÷sÿÏk¥’ïÜÃYÁEõ
+.@cÌÓøXpQ‚‹Š™©¥(¸¤xÆõ .\ ùâ‚KÆ¢Á</¸ ããÁ¤ú]—‹y6èq/¤u-¢ql" Íf0êe¼uoð
+â‹7w¯Ý2ðr÷ù½ý \Í2¬ñþ¸ßWo㿳×8Ý] §³2‹Å2}®Zþjþ¹þ ÐÒì€endstream
endobj
+2761 0 obj <<
+/Type /Page
+/Contents 2762 0 R
+/Resources 2760 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2732 0 R
+>> endobj
+2763 0 obj <<
+/D [2761 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
2760 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F42 1288 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2766 0 obj <<
+/Length 2207
+/Filter /FlateDecode
+>>
+stream
+xÚ­]oÛ8ò=¿ÂÀ݃T,Å/QÙÄÙË¢us±³»@ÚU¦m¡²ä•ä¤Ù_C‘b$›¶ìÁQ£™á|Ž0ü‘äÓ˜¢˜!ŽC>J7x´‚w¿^„'è‚>Ö/ó‹·TŽb "Fóe–DXÊp4_<¯îï'Ó›»?/Âñx‚.ŽñøóÕôñê“Ù»¿ŒÉøê×É iL …Lã <ž^}žÜ\~›ÿv1™;yú2‡˜jaþºxú†G ý· Œh,ùè0
+㘌6ŒSÄ¥ÝN~1»ø¯#Ø{Û~êÓãqÂÄ(  I4¼šÂs8yñ J¨Ó }šê°´¦‚¹>èÇ[Áz˜!A êeS.Ô¾6B"†I<ê³<Ìay$#~QÉÈP´ëµJ\!*[šu¦Š…ª |_æYújàÛ*Ù¨—²²è_1dzû[XB³Q]†r¬Ò²]µÙT?³º1`R,,£ºÞ)û>1ËKRY±
+’V ûÛ`YV›¤iÔB+ -£’
+ Ž­=¿Âô¡ôj±ûÆ ‰Xt¸ É…Z&»¼ÑÚüà¡ÎŠ‰d=âÙª(+uŒ|Œ(&::3ëËQ·2vÆá{X'¾ÃjþÅçð:¦#+Ó"«TÚ”ÕëÓs8*ƒh<)œÃòH7pzâÄPºt Ü/Fظ) ¬ÿÈHât:$Ðr‡©Ý©¥¹NgÉ“&{Vfç+Æ$WR­7ø8+Ì‹MR7ªê#øßwÓëO7ó¤ån][S¬m(0â
+ &9ë8µÎ<_w¾ß­u¶Érpåö¡±QЬ­»¿1ѧn·Ò<ÙÕö5H|¨2‚Á¸$ì¼_pÒ²Xú´£rÐ9çƒâ´sö±Ž;§Ãjó ìÄ ΣÓ,;$ËÇá²k4dy³Ûlöþ. «ÇÎÊV§FÏIQYšäæÑ$½£fLò—äÕÂàS¯î;_†Š$¢T×Â7i¹Ùf¹jÅ:4U 5ŠyÖTŒ¢(¦ñSõ°N˜ªÃjMõ‡/pð,ON†"‚ùiÁ–G²aá‡ÅàÛÑf[•fKˆ‹ñËZAøTæA”^SSZiµi÷À¼Äù&+´ÛO³|‘&¶f‚©#&ÇÓÓXf«+E-ƒ$ß”PgMB
+Vó³G
+è¾ßq
+«…ÙnÛn’ CêL[‚sO œÂ„%Á
+endobj
+2765 0 obj <<
/Type /Page
-/Contents 2761 0 R
-/Resources 2759 0 R
+/Contents 2766 0 R
+/Resources 2764 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2747 0 R
+/Parent 2732 0 R
>> endobj
-2762 0 obj <<
-/D [2760 0 R /XYZ 85.0394 794.5015 null]
+2767 0 obj <<
+/D [2765 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-942 0 obj <<
-/D [2760 0 R /XYZ 85.0394 769.5949 null]
+2768 0 obj <<
+/D [2765 0 R /XYZ 85.0394 513.3852 null]
>> endobj
-2763 0 obj <<
-/D [2760 0 R /XYZ 85.0394 747.8192 null]
+2769 0 obj <<
+/D [2765 0 R /XYZ 85.0394 449.6998 null]
>> endobj
-2764 0 obj <<
-/D [2760 0 R /XYZ 85.0394 711.7108 null]
+2770 0 obj <<
+/D [2765 0 R /XYZ 85.0394 386.0145 null]
>> endobj
-2765 0 obj <<
-/D [2760 0 R /XYZ 85.0394 643.9803 null]
+942 0 obj <<
+/D [2765 0 R /XYZ 85.0394 346.6093 null]
>> endobj
-2766 0 obj <<
-/D [2760 0 R /XYZ 85.0394 558.2262 null]
+2771 0 obj <<
+/D [2765 0 R /XYZ 85.0394 313.3949 null]
>> endobj
-2767 0 obj <<
-/D [2760 0 R /XYZ 85.0394 450.5864 null]
+2772 0 obj <<
+/D [2765 0 R /XYZ 85.0394 277.6293 null]
>> endobj
-2759 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
+2773 0 obj <<
+/D [2765 0 R /XYZ 85.0394 211.0221 null]
+>> endobj
+2774 0 obj <<
+/D [2765 0 R /XYZ 85.0394 126.3912 null]
+>> endobj
+2764 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2770 0 obj <<
-/Length 2658
+2777 0 obj <<
+/Length 2931
/Filter /FlateDecode
>>
stream
-xÚÅY_oÛ8ϧ0°'k–%ñî)»MYìær×ôî€Ý}Pl&V+K®%7Í·¿©H¶âôÐbj8$‡Ã™ß ‡bÆáOÌLÊR+í,³š.Ìl¹9ã³{èûéLžEdZ ¹~¸9{õFå3Ël*ÓÙÍÝ`®œñ<³›ÕoÉšÍa
-ž\ÿzñz¾Êª49¿¾¾¸z}ùø6¸€…óä×ó«wç¿íznerþÓÅÛù7?Ÿ]Üôò e\¡0Ï~ûƒÏV úÏgœ)››Ù|p&¬•³Í™6Š­T¤TgoÏþÑO8èõC§t MΌԩ×ì&Ö”`™À”©ŒYÍm¯))¦4¹PS‹-nôÕ›T8…`¹5 ™gÙ6»îPV2mót6\ñH®È4!—¬f3¦3{ ×/eÛ¹šÎä®ÙQããÞíJ×ÒGz£x¯Þ˜ñ4“‚˃M¬-³‚ëÀö O.ïhæºé¨ÑnݲüséVߥ[;j¬Ü]±¯_ÙDò-8ã#C
-§•qÐjó‘¸NiäòGÚ.™j†–Ÿ^22M,9ÔXj™FŒ—ü÷<ÓÉ®ì‚R6nÓ쩽o‹û@n»¢ƒc-—AM]C'¢‡ó mXªã±µÝªÙOœÊ™2id‹¶à>—Ý‘ÂsÁŒµf–‚èÒ(ù%®«r&ù´ërPRÆÒ4=4ŽÃ\¡GŒ§ZDéÆB+OGNŽh‘¸á<c2Ëå,…3çR’—\ 4cR-¼9ƒMF“þû|‘ŠäþËäâH3)³€g³>ÏýÒ³3Á¸¶VÓ í÷ú¤Oxu¹‘³× ìh6ÜT˜x1œÙo*š¯
- ªˆ>
-pñ71l|WùÚ4^x#¢³φëGÄÈ5!Þ¸î
-9ë Ð:à:­‘k”j<_ÓÅ:Òso'åêßåšzkÉõÖuûÒ§Uò™ †dÌ~ ãáSbÊra³ƒ»L 0¹­\GP ßÛ]ˆäaI¬…ø$¿õ)Ö4<ZZ’-@¨`Ým垈¾œ‹U£À,
-YÅm¾õE£àÿš !ˆ•%^¹ »[()
+xÚÝZëoÛ8ÿž¿ÂÀ~8ˆQ|H¤Mv‘Ý6Í]ÒÛv÷ƒbɱP[r-)ûëo†Y/˺÷å ¢¨áp8œùÍ i:óá΄$Rj*N„OÅl¹=ógOðí§3ji<G䵩Þ=œ]üÈ¢™"Jrö°jñŠˆEtöü>¿&”“°ðç·—¯¯^À“óË»»ëÛ«›ßà]ø@$¾?ÿxyûùòƒé»[¨`~ùÓõýâχŸÏ®yÚ2SŸ¡0_Ï~ÿÓŸ% úÏg>a*³xñ U*˜mϸ`DpÆ\ÏæìþìŸ ÃÖW=tTÔ'“Áˆ:£”(!‚Ž„"’LkáÓÝÃͧÛáJ( )•³*`ò#3"¯Må&Ѿ£Ây=ÞŸRr¢¦§tD#S­)%4CF»S~.S³7wÏÜ´Š|ófZésš›V¶2ÏjmÉ×EY™Ö6^®³Üvg¥y.ã]ü¸±Åª™B\áż-X QQˆë9h¡'<˜%ç"²$qžŒðu12ÇFe£›ý‚Fs+嶮êxÓ,ýu¹©Ëì9%Ǭ@F!áUÓVЦ:n ÕAð1+˜œ²±‚á”cVЙ²mòoüÿÈ
+@jÆä ,hSMX£Ò‚/àðÚQ °Ì¾,òUöä­2PqO<Ê"ÃPMË×PØÑ ‰
+»˜‘UŒ( l†„ÆHòù†Ãbáq&æi^ÖÎÆð½ZǶøÜônŠ8Éò'÷ÑR Vnõ8ª,¯ÓÒ´³½û/† ^Ué¾ÇµL÷Ï®s ×Ëu+è®vçO)*—©yV•¦Üµ¬ø’df˪ؿٮ:5 §ýŒÍcW”eö謡»)Ì'Ê÷ݦ
+çÅΚ
+jŸÆ
+ 14"è4j<1_/ˆ 
+%uÊ ßbÇ 8wÈU®‹z“
+6M0à6Ób—ˆ* uV™þ²ÞíŠ}UžÃ+4m!€a
+ƒ,½+k"OƲêÜGt˜Œ å0
+0ÕèÓ*Ø
+)i
+‚Z¨Ú¦Úc$ å Éc}+(S‹}rOò)!Ô=^à}÷á²gÇî<¬[þtÎöËêõ[Î00"?¬SWTÀ
+m´+\tq Pnîß÷ 
+6ð#Îhh^2IbW:~cÁ€ã¡+Dø­¹ à.òC#¯·:¼sª¹‘ßôì\‘•W¦Ã¤°+äf#ô˜âÀÙ)ѲpÜ+1´7+Ó“Y¦™­Îí­ç6ûígíU´®YEë>Wa ÉØ&íùÜ­‡Ûwæ%2~Ë\BîŽ «MŽzc€a™‹O›ê¸76TÚw'½ÑUçg WÑ ¹ш\m{kã¡êÉõ!ƒŒ.?T4ºñµN÷YZº»*[ÕPH ‚ƒ+¨&⬠7«^QÚñ«þ9›ÍíÛW`z2Ýìø–B¦àãuÄô–¶¨&¶ÔQé--G®9cÑô”ŽhdÊÞõ §ùw¦üu¹ö>sGÜMŽm›!j5Vo—U¶,'ŠP<¸•<8Ô E=¶q j4!™³…ô5«
+(J‰YàC#TßôcéßG ÷
+IFЂA§W}ÛÒ‹œÚËBÁgПž¤Æ{2˜_ô"‰
+!å§=EÿVböu!‚+Å M«­zP€î¸¸Ù³«–3k¯ÈòõZŒõŠd礖+!ÿ‡Â–Æ”¹xX
+›ZÛ¦OB½˜Ù êÐ"qhªËÔÜH‡6= çïnn¯Ìe:’tÁüùó"xõqÃNcMBàofæ²üm± ÂŽKÆŽ/M)nÎðÅ”ª‘Ž ðXÕU½OM{Ÿnðô¹,•ƒs‘Šf-[ø>ëb`7Rá-ßáw3ßgûž+·<¬FüÕ0b»/Å4z9" ^÷§³Ãmüê•ÅòË
+ˆ±¦¬ìª Ð”ü²9Ū´9Õp¹¹@ØÓ”ßàÏwÿzëðó4Ž×}Ñ‘L 'ŠïÙŸ‰gÈׯ$®,º·—úåß Jé\<Ãk`¼ˆáR°9üa,¶¿já¿ÔûVKendstream
endobj
-2769 0 obj <<
+2776 0 obj <<
/Type /Page
-/Contents 2770 0 R
-/Resources 2768 0 R
+/Contents 2777 0 R
+/Resources 2775 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2747 0 R
+/Parent 2780 0 R
>> endobj
-2771 0 obj <<
-/D [2769 0 R /XYZ 56.6929 794.5015 null]
+2778 0 obj <<
+/D [2776 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2768 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F54 1383 0 R /F42 1288 0 R /F61 1416 0 R /F62 1419 0 R >>
-/XObject << /Im2 1405 0 R /Im3 1580 0 R >>
+2779 0 obj <<
+/D [2776 0 R /XYZ 56.6929 751.3779 null]
+>> endobj
+2775 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R /F54 1383 0 R /F61 1416 0 R >>
+/XObject << /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2774 0 obj <<
-/Length 2422
+2783 0 obj <<
+/Length 2910
/Filter /FlateDecode
>>
stream
-xÚµYÝsÛ6÷_Á·£f"_‰¹'÷âäÔIœ\¬´iû@‹Í‹Dª"i;ÿ}w± MJ”|½ÜgL\ì7v€xÀài1iTÅŒÇÁj{Á‚;øöî‚{šyG4Rý°¼xýV¦‰Œ:X®¼Òˆ¥)–ù¯áå§OW×o¿Ìæ"fáU4›ÇŒ….¯¿\¾§¹O3#ÂËwW7ð*Ô@ÄÒi^_~¸z3û}ùãÅÕ²×g¨3g•ùãâ×ßYƒê?^°Hš4á…EÜl/T,£XIÙÍl.n.þÕ3|uK§| Di©“
-ì‘âãl®y¸„ÿ"¼: 2•"Nmt¤Lœ ðà€GL#‰j0væ>ûÁM¼^lE𦛂¡Yçùµ³ TN>ƒ‰)KƒD‚ù2Ѥt9›K¥Ã÷E9ã,lŸ^‘Z –* têí,³­Í=ÕP€Œ£8NOÕÖ¶&Öͽ¥Á×™`¡ÝcR‡¥Ýüm¹íiVÙ.»-6EóÞ·vuŸ•E½Å×$l*šÎ÷ÕŽFÙfCƒ}U5¨ lB9¡bôˆ%¨±q<‹‡bcïœF: íL²ðiew ½“†Ú„Ï:àlEFª¡+¸L"!•ðVÞeþ‹™€|Â'
-|Ây—!Î àœÑc¬[N*ì*˜U,ôªeeNƒÚ6ݪjNs°8Q±[¼²5˜© Lìm]µû•Å·$ÜÛ¢©g JGÊMø¥\£:ym™5vó ²€…¯`*‰Á/EM‹·6+=×æ>kº‘ðа+Xª½ÍóvÂ-¸C™àž¤Ú5EUϪœu"¬ã,鬣møˆYZ‘ã¾b8… ïm9‘µ1ìnÔËY+SÑåváY’€7‡Hê¤Ùƒ¦"O‰
-“Tôó 0‘1óÝÞJ²Üð(ePhFau,³fIX%FÜ ™áû¡¨ÚšˆäùÙ¼ÈiAY54»©ÂÌx¤×ãM“.yaÑ­¥÷½m²¢ti‹Ö¨Öq6°±ÅmqvÇ@§ö(}<¢Ã:ªL‚]FÃ"þA¦ÀÓ@Ÿœ?··ïk\sa"üˆ­*r: XÄ\Ù:2ü¹j >:"·¥½bd”pã€Õ‘¸ŽæXÞ0^€LÒ$Ëûl¡(5„E\©ÄÁƒÝ×n×âKÙno)ÍU,ا¢9Š̓؀g ²œñ †T§}ÓS9çütä úÒY‘Ñ„ÈQùgФS3ù_úç¶-6~H°~õ—<¨¡l$„îÎxp@uƃ•óà“ß–jdx”¤&öÛr•­îí| åáç
-ª[íC¶>ø–ÛuÖn|<öQûQô:K Òÿ 9I
-Àå®Vµ  'šÀØe˜JØ
-¾ ®íÓß½®# š&¢^û2_MX$àÄ%Ò=«v¬fqÝØ,?ÙÀ$$
-0‹ErpÑ®îA`ªÂ 5IãðßU»‡}O“^G¬ˆF†¥uÚ¥”þH|Ÿ=XšYäs΀1tñmQ×ÝIVžº!‘aÚ¼±D°ä°×‚ ×kA w'ˆöi·)VEƒ@ßÝ–Hc˜ }æ/Ö Â÷äàÚÐ÷íAÍ«›lxª= `gŽ®ì¥„V©êz”µ ˜†óÞPÍL©±.Þ_Ýœêê {é*a@äÚ‘2±#B‘¯m³z팊 h®§ú!œHÏKÄuC‚'‡ò—“Ë£ú“”®'±Ô(€+ê¼D§ýÓ9ÿ<dû×û¶$yOíŠüP !RüILU£':Òc ?]2Áf*2í¨A¢Í‹ü¼Ÿzáo\ú±>E¿û§´çß
-UÁ±DL[
-Æ2¼S
- …4Ác¨¥ƒ6™(™1»zj
+xÚÅZ_sÛ6÷§ÐÌ=”š±Pü%È»§´ñeÜIÝ\ãôn¦í-ÁŠTE*Ž¿ýíbš”(åzi§ã X,€Åîb÷·ÅŒÃŸ˜e†q•ë™Í53\˜ÙrsÁg0öêBžEdZ ¹¾¹½øúŸ*›å,Oe:»½¬•1žebv»ú9yñæÍÕÍËëÿÌÒðäŠÍ†óäû7ï^¼&Ú›y.“¯®ÞBWå*&¡‘/åÉÍ‹ï¯^νýîâ궗g(³à
+…ùíâç_ùl¢wÁ™Ê33{„g"Ïåls¡bF+)ÕÅÛ‹õ FýÔ)h™±T¥v23Åø_¶U™×D6½-Ÿ-„Ê™¶RŸ^Œ&rX,4û)ãÅ‚ƒ%t:[¤2gaIo# sË‘h$! K¥¶3k ³¹´ÞJÿF{Öœ™T âdÆ‚e9Ùq '?úÏøÉuß–É«Cá6Jšl–fše©ñVšýŠÈ…ÖÊs ÛþüÏŠñ„¯¯7jö²CΆçŒ+/†Kû“¦bàÂÀ¡3žÍ¬’ ÜŸâv]¶àfy–4Û®ljj·ëf_­¨}çè{_×néÚ¶ØÍŠ'OD½ŸC»ÙQ§[Þsi’¢í¨·)Þ#‡0IÙùi6iîâ­Ûµs÷Ö\ƒ8®@ z—ˆ¶qqžR
+vB±•’½ØH]’ÔØt(—ÃÕĈçÀ‘5
+@Ëvç/u(Ðõw )Eñ]¸Y5®­¿êˆìjÈgKGÖ-÷Š$á{Ó´a¬öéxÔÂP´ ß„’ ¨r+ƒ謿pÃ%|ˆ …Áí3šÇìç­i $6¼µµ7™Å|[†ñÃ)ªɽz°¬-R1Љ?–•{pa2 „ÜYlé„
+«Æx¦ DHg öû¢¬NgÄá]ý²ëÿgD­
+ELHûHÕ"Òï
+ŠÀšŽRÞFi®Gbs×é
+W| MØ’W(͉±Sà ’Rx¨B±å|Im¤Ð¨úš±ú¸¢˜)fÊh
+Å„÷p|%B—y ±¶Y~À"¾ ¼Á`v¶q“šÜ ,£u~cF—l›]מ,4 1Iìy%)SÙ¹'çãê;N9Ujˆ.¤âös¥† ÷V{ÜL•œ%#þÁ—·¾°¸:YXHHÖŠ~F€ºB@Å™çTK Û'ê
+y®®¬|¦¬oRòìë4y]ҫӧˉ× Ž«Òìs; Ü––¦Ç6hÐsYx|qÕWsp¤Àø´¸++ìÐ߸%„â²Ý`×ÒKW»fK­S36<b%Ç•àxÃÇŽ{€‹ááÝré¶õÃs`ž<Ë€Ôf"” e™T:Æ黲^Ãütò\$уdækø˶"F/•åiløLF³šð
+_Žiƒ~ )›}KÌûê
+SNðÐÙì±ê¤îñ¥áá5‡ßV ¿s]QúºÕ¯à³ÙgQ\ëéÙ*YA’Åtº†ð/L q *R !ŦçRÏå/ÕÇC½@uå ÈábG;F¦‰-‡6Ë3–Y{°ås~„’áò#ýëã3Ræ±¼
+‡s€By¬a–P¯»Å}I¿:Ÿ8
endobj
-2773 0 obj <<
+2782 0 obj <<
/Type /Page
-/Contents 2774 0 R
-/Resources 2772 0 R
+/Contents 2783 0 R
+/Resources 2781 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2747 0 R
+/Parent 2780 0 R
>> endobj
-2775 0 obj <<
-/D [2773 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-2776 0 obj <<
-/D [2773 0 R /XYZ 85.0394 404.0791 null]
->> endobj
-2777 0 obj <<
-/D [2773 0 R /XYZ 85.0394 253.9299 null]
->> endobj
-2778 0 obj <<
-/D [2773 0 R /XYZ 85.0394 130.862 null]
+2784 0 obj <<
+/D [2782 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2772 0 obj <<
-/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F62 1419 0 R /F42 1288 0 R /F21 994 0 R /F64 1435 0 R /F54 1383 0 R /F40 1218 0 R /F49 1308 0 R >>
-/XObject << /Im2 1405 0 R /Im3 1580 0 R >>
+2781 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F62 1419 0 R /F21 994 0 R /F64 1435 0 R /F54 1383 0 R /F42 1288 0 R >>
+/XObject << /Im3 1580 0 R /Im2 1405 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2781 0 obj <<
-/Length 1447
+2787 0 obj <<
+/Length 1852
/Filter /FlateDecode
>>
stream
-xÚÅWYÛ6~÷¯Ð£ D QÇ£“uÒ]$ÞíÚ)
-$yàZ´­T¦\IÎÖýõ^²¼Ö&A[ 0`‘Ãáp曋$† xŒâŒfA’EˆcƒÕn„ƒ ¬½Çz¦°Ïõj9zù†¥A†²˜ÆÁrÝ“•"œ¦$XæÇ3D8š€<žOßϮ›Û÷óé»»ûëùržÄ|<½»›Í¯®Ÿ„”cØüßOç¦ï,ín’Ññôíl1ù¼¼Í–r}fZ³?G?ã ;nF±,åÁ#L0"YFƒÝ(â ñˆ1O)G‹Ñ¯ÀÞªÙ:Áˆ²˜ BI@Ê8§gð ÅŒ2Éb6³FMß-nµ=/ßD¸‡#B£HïÓì÷o^Nƒy̲SÚc0Š£8…mšûÅ€@­"#Ž¡/.úÅñRLÇJìd®¶rõǪRëO˜ãþÈåòß•’O—k•¯žÒÊÇzBÒ±lòAaÈÃíÊ¥Q!aeQÃÈû~u=¿²ÎÊœÏò]¡Š¦­E[Õ–t/×Òž®VÒ’Þ uå
-IŠ²4µæÜxù,ÊœüÆN„¦'éXÚj'Úb%Êòh×Wî°Væ–ðp@¤Ð
-íD.-¹­ì7?‚ôbe'ÀÆűD5%lXËRŠ8ϒ󊧚Ã>‡j9E˜So—®¤Ð©£,/·RD 6uW•ùæ–&ÅjkG"Ï‹¶¨”éú©¿¹,eºv¼} xLt}½<F[Izñ¡P¢vúèP­a
-7 7åàmiçöøPì÷e¡#¡ã‰»`Ï|<Éúö´ƒFÖ_em‹¦/µiEÝz¡bÝz.á6nm^=:y¦ÁwU‹f Î`,¿:ZZ.×âP¶/|©¶ÖÙ[™Õœzä²(ÝÒ) aÒe!p}¦±5ŠÂøáh×
+xÚ½XÝoÛ8Ï_¡G¨~‹Ä=y['ë¢ur‰swÀî>(ëÖ–¼’œ6÷×ßP¤dYV’=„Ôp8Î×oh`ø#HjªƒXs$0Ájwƒ'X»¾ ž'j™¢>×/Ë‹Ë+¦´¤2X®{²ÂJ‘`™þÎh"p¸˜~}Š>ß<Ü-¦_nïæ‹å$""–"œÞÞΟæÿšDT`Øü‡_§‹‡éG»hN¯g÷“?–Ÿ/fËN¹þfV³¿.~û)ÜãóFL+|ƒŒˆÖ4Ø]pÁàŒµ”íÅýÅß;½Õfë˜A8UH2 bX9–©Æ,jüX Ö‘búuQnQ~ê7œ
+ŠABkDRÄDÌ;oQ‚´ÔºKňÆ
+¤bMãÆ]ÿ´öm85’Ë{D ë¸á˜N"Iûæÿþ“pÞÍix=ô’Hƒo‚¤H¡e‚¿ÀšpΦþ¼¹üÑ& ár¾cÁ§îô¯éG}ÉÍ5%é%¡ \ÒcÊ‘T°öËMVM"0NXìë¬ÈÝ|7!8<TµûÊ ?y4n<T&µ¡©àÊ~©“’o_ülíWòÚ”ÆÉ’a]8ê/óÅ'7ÓnHÍ„áðyBEh¶ÅÞ”•5 †ÎS n’§±
+w‰eqV/;–fWLˆðR<gQºqµIò§–˜ånLÜ°>Ô‡²²5Ie¬4ô!—Q¥UШŸŠQÁ'5¤kt̲ŸËŸ~ØC@ ¥aOúaß )(ÂŒ8ßϯ¡&Ý÷‚¿ð•ˆsìÊÙÜZÊ°œ°ñ¡ÎrãÖw‰ ¥ðÍHXeOy²­Übµ)[ëêÃÊýNVnf£ÄŽ«"¯Ý[·§ÞxÞ<ٙʔϦü›×µëŒÆ(¦ŠûL-ót5r#JIJÏtTí\#ÅUm’ô,"Av2€´ƒ¤¢z6<SÔçj=r—wȯ·ÃcuŒ°&äíc[¦‘cûf üEáôÜ«¢1üÊ8ØIÜÐÐ ?“Ô}Û$·£ó LœO&1_7•d(Ž¹zÇT=®7LÕrySY(|üà”Ârv÷u¨áiÉû¦&׈*'æe²ñT—Í¡vJ¤Å·üm#§8 €¾‚(HOæ+³éÛ¼:lëS›W&O³üÉû'ñ«pJéºÌ³‡ãJ4óÌ3òÔüŽ1Í‹ôaÉÀ¶`!A™SñãÍâj~ýp7µ6_Îoï— {«ó|%Ü eÕe¢ÍítDãI=Ô«êÓÁU@ÌBKÙZ”ÂÜAÐê¢p“U±ÛoÍw·Z{bjªU™=¶{ò–Z'ÙÖÍ­=­
+JØÛÈØçjàˆëdì¸ì©—¦^]6÷BP6×ç€(¡›…WÜ›
+t\ç
endobj
-2780 0 obj <<
+2786 0 obj <<
/Type /Page
-/Contents 2781 0 R
-/Resources 2779 0 R
+/Contents 2787 0 R
+/Resources 2785 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2793 0 R
+/Parent 2780 0 R
>> endobj
-2782 0 obj <<
-/D [2780 0 R /XYZ 56.6929 794.5015 null]
+2788 0 obj <<
+/D [2786 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2783 0 obj <<
-/D [2780 0 R /XYZ 56.6929 751.9132 null]
+2789 0 obj <<
+/D [2786 0 R /XYZ 56.6929 644.329 null]
>> endobj
-2784 0 obj <<
-/D [2780 0 R /XYZ 56.6929 674.8216 null]
+2790 0 obj <<
+/D [2786 0 R /XYZ 56.6929 498.5963 null]
+>> endobj
+2791 0 obj <<
+/D [2786 0 R /XYZ 56.6929 378.8143 null]
+>> endobj
+2792 0 obj <<
+/D [2786 0 R /XYZ 56.6929 270.9876 null]
+>> endobj
+2793 0 obj <<
+/D [2786 0 R /XYZ 56.6929 194.069 null]
>> endobj
946 0 obj <<
-/D [2780 0 R /XYZ 56.6929 634.4081 null]
+/D [2786 0 R /XYZ 56.6929 153.7758 null]
+>> endobj
+2794 0 obj <<
+/D [2786 0 R /XYZ 56.6929 116.6136 null]
+>> endobj
+2795 0 obj <<
+/D [2786 0 R /XYZ 56.6929 84.0158 null]
>> endobj
2785 0 obj <<
-/D [2780 0 R /XYZ 56.6929 597.1931 null]
+/Font << /F38 1082 0 R /F22 997 0 R /F61 1416 0 R /F21 994 0 R /F40 1218 0 R /F42 1288 0 R /F49 1308 0 R >>
+/XObject << /Im3 1580 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
-2786 0 obj <<
-/D [2780 0 R /XYZ 56.6929 564.5425 null]
+2798 0 obj <<
+/Length 2089
+/Filter /FlateDecode
+>>
+stream
+xÚ¥ÙrÛ8òÝ_¡·•ªB ‚Ǽ)±2ãTâxmejk=~ EØâ EzDÊ^míÇo7àa3±«¦ô@ Ñhô}HÌ8üÄ,ÑŒ«4œÅiÈ4z¶ÙðÙ=œýr"Nà‘‚!ÖûõÉOU2KYÉh¶¾ÐJO1[ç×óåÅÅêüôì_‹@j>_±E 9ŸYž[~&ØÅ"•óå/«+ØÊPE€$"Ä‹øüüêÛÅér‡óõjq³þt²Zwl Y\!O\ßðY|:áL¥‰ž=Á†3‘¦r¶; µb:TÊCÊ“«“v§öê”*´J˜Nd<¡ )fB°Tk9R†NY¤¤²Ê¸:VõCS4ÏE‰€Dc¥˜q<õ´
+À^œ+瓧¯ÂÔÑoh“1Ü$óìÐÖ»¬-6YYé|ãkMN€Ûã„öD—zÛXåMèK…,Œ¯¯§­©ÜÛ¬ºŸdh—å†ÀmMßüÔ‹ mPJsÃîÙ;ØÆjšKoÉ´NQ9Þ]Ýæðƒ€‡¼Zz¹à y!L£ùzkPABΉÝMm¿9ÁL¶ÙÒ*Ëó¢-êŠv€d¿¹)Í
+Å÷Å£Í
+ê¡Cžúú´ËŒ[8†åk éçUšûêœPg²ZÑ•å端ÎÔÕgÝ; æü“ò;ºêù
+ci¬å·õ¯_/_ý f_™–¹:‚âwΔꪩ÷mqØõφL…‘×x¨Xê”|ºÜE 8ç£
+h 1©8%ÎsL4“L)Τ–ḆR‘2¦Õ©/×vs~E‹!î¡-Ê¢=¾ÅE^i^&¥ø;ÍëÄ÷›×k,yš¼ò¿:íVŸ§úY³0 ½–æÑ”S¥"eI§«£xO‹ÿÑ'¨ÇÛr¼=N=ÕEËÔ— ëí.Ûü|ó§A{™Ÿ³Ù›v‚¡ Qâ®ùþœx!PiŠJ2.ÄðÄ]Qš Ú¡
+ΡŠMû¼ï̇M‰é®»F=ßagm6vƒ[wRÖMûÌX‘‹8 úበë Ã ³­¸µªþ#¡»ÿ\xD¼ >׌÷ô|ða玢¾4±‚VT']+úcG2õµa›=:nl&pcº²£…gÞ×½AŠÖЮ‰hböÃ`å1t¹]ˆ…²Z†\§j lUºù À?Ü7Øõ0Zò”õðˆ¾b^ä@¶À„a§8±3uèGY
+ÝÌÛ³!=sÎÕ×åwƒzêß\¨­øìD›È»Ú÷·ÿéíÿÑc¦’DöâÊg¢T*<S(HÔ"#­†£ ƒ.Ñðš¯ð¯7"„pxx€¡€6¿-„s³Ç?&pBz®…îïå—jø?Í6 endstream
+endobj
+2797 0 obj <<
+/Type /Page
+/Contents 2798 0 R
+/Resources 2796 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2780 0 R
>> endobj
-2787 0 obj <<
-/D [2780 0 R /XYZ 56.6929 496.4842 null]
+2799 0 obj <<
+/D [2797 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2788 0 obj <<
-/D [2780 0 R /XYZ 56.6929 434.3126 null]
+2800 0 obj <<
+/D [2797 0 R /XYZ 85.0394 748.9414 null]
>> endobj
-2789 0 obj <<
-/D [2780 0 R /XYZ 56.6929 259.4673 null]
+2801 0 obj <<
+/D [2797 0 R /XYZ 85.0394 686.699 null]
>> endobj
-2790 0 obj <<
-/D [2780 0 R /XYZ 56.6929 194.3308 null]
+2802 0 obj <<
+/D [2797 0 R /XYZ 85.0394 511.7534 null]
+>> endobj
+2803 0 obj <<
+/D [2797 0 R /XYZ 85.0394 446.5461 null]
>> endobj
950 0 obj <<
-/D [2780 0 R /XYZ 56.6929 153.9173 null]
+/D [2797 0 R /XYZ 85.0394 406.0834 null]
>> endobj
-2791 0 obj <<
-/D [2780 0 R /XYZ 56.6929 116.8171 null]
+2804 0 obj <<
+/D [2797 0 R /XYZ 85.0394 368.9615 null]
>> endobj
-2792 0 obj <<
-/D [2780 0 R /XYZ 56.6929 84.0518 null]
+2805 0 obj <<
+/D [2797 0 R /XYZ 85.0394 336.1746 null]
>> endobj
-2779 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F40 1218 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R >>
-/ProcSet [ /PDF /Text ]
+2806 0 obj <<
+/D [2797 0 R /XYZ 85.0394 268.0454 null]
+>> endobj
+2807 0 obj <<
+/D [2797 0 R /XYZ 85.0394 181.8927 null]
>> endobj
2796 0 obj <<
-/Length 4061
+/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R /F22 997 0 R /F40 1218 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2810 0 obj <<
+/Length 3355
/Filter /FlateDecode
>>
stream
-xÚ­:ÙrãÈ‘ïú
-½™
-7ѨÀøIniÆíq÷ôŽ4¶wÛý
-Ò”€HÍ¡^(|¨Êö$ÔtõçoB=äuÑìŠò!TG66rô¡oý™©¯tB<fê“âøŒüCáøB°§Ïk)u”ÅÖÂn o™¶\]ß¼ûùý§Û÷?}ì÷ øÄ° Ø,àž©§•Ö™H msx®Kxœ‹c[ØJ]C#íqµ«:»BA®Ö4qõñ†Fᇅƒ‡ ‘.Ê¿˶ki6gÈEù·8–5OUMÓ?ÿŽ¤PvzrN]$£RÊ*ʈEšï0‘èÛ»Œ°‹|»m¹MˆµÍÑ5Öåxtݸ߂—ºóáwå™E^k‚…£}»æÁOܹ‘fÇÓÏ?ššÏy¬º ʺëìòú¨=Q¯,ª®ªïùèM9ÚŠwŒ§ƒ4Ü–.Š—d[ZØZÀµ½’Ãöˆ4°Îkn4u—Wõ³e- ð.N ¼ö°¯MýŽ{ÝÆÃw÷6Œ©>ŒzªGý=ÓHÜÿNpØŽZ¹? ;Ǻ(Ô,±¤»3¶4ðPå‡"R0YÂzùù¡H{×ð™9ý\ýáÝ'j±pR˜½-¨]7ŒýŠG†—<¹z¢_ Óa)Áj¥Æ&S¾p2CäC
-¡ª53EŽZ=yáípª— xø¼:ïò©¬xfÛ´]Y·NjMzdýèø‘Á sZW¡Ã¸òó°qÿø`Α¾‡ç ¸«>g±ŠÁyI­~‹­Ì¼ÁÙäŒÓð»â¾SZyhQ7‘~71:jÊ6|ÆøXãdñóðÄ´.-µ
-opä„ ”õÆ~Â{«"›%é«X¯T:€.dË
-:²Üw¤Œ`ÄiøýGI"Á£Ú¼©î7~o[:™„É 4¶'!tøá¶mùPnQg¹x?;à vÓ~+‘ÈšÙlú.*–Þ¢jóÕ¶<¡m.²}÷6_óÛË@ÕV÷uÞÙPјs‹°áÔ<ü² -g
-óhlÌÑ—5”Nâ„Ÿ-)n­¼V^ý>·üéâÝñ@È×à'„Xà;ÒzØLˆ»ÍÇ=ê½’Á—õúðäUôóí}s
-­æ“H†É+ É*QÃ¥Pž†|†ÔçXcbÊb$HMí2ØÏl‚Û[r–d\mÙƒ6É4œ:iîù~CªˆÝbú»éAL²$ÏAp¬Ç”R½“<“Z
-Z9ªÀäçPY-Î"`ŽGÀ•hº"_’ËwóU¤Db†2ਾÌ°À2 >dÅi_^£B-ºñ6Ò2–SâL§ñUh¡ÚÂß~jl®Sá\Ÿç a#Yê¸*çÏ;“²Ôø¬UÞ–VS¢—†“óûý‹‹BØØ4Ê’LâCâÒç—žáò ’pZXRExú0½Sø;"ÙC¾­oqþ¢…¦ZS*qˆmB*,‰ÒLÉÑ–»Â„,,”½v€e£8éKÐS@%Y_à~5()u
-‰¼øPµÕÊ—„}·Oå7ÇnìBÙþ}‹‘˜ Hl\øõ0¸2x@TÅî)•¤}¦¾r•å¹ ÛŸ ý†}ÙvSn·a{ïÜ^ç¸JuÚ´Rg/ºqý$i6‘7¡hLE&Éä«‚19|Gâ#¯v@Ó5&r#§™œ~¼‰xûÆF©Ö2ôé<ýIŽK£ ˆÄž2£‰òãNb
-–3ûN‚•ÀܳK›
-þ´~¹æ%ø£øužÂÝÓð¹ ŒÍsu™Oý…
-Ùü
-0
+xÚ¥Zmsã6þž_‘ÎtÍå«^î[Ú¤{i·Û½&½^¯íÙRbÍÚ’kÉɺþ÷P–lÙéÌMf"‘‚H
+•¦úruaÎz–÷ÿêì=õ¯ŽšBI¡M¤Gl¡õ˜-\*"£·ÅÃU*'›¬j²y[ÖÕÕÔ¤jÒ”OUÖn7W*™ õÍ3~8+èºmŠœîÚš®Ù¶]U[γ–e M77»*[•sn|¸ç!Ö9ˆ6`áؘÉâhöc ðp÷­ Kž*%Rç´×Ÿu¬IÙ9Hk“rï¼ö×û’I»[óÓ¼hæ›rVðƒ²¢î¾þŠ:tbuÁ
+
+Ö‰9!&.Ä­S‘céénd@å É0 ÝÁ(Ê¥dˆþé§×GYãúƒf5]96ŸË¼Ø«ìoÈÅÀ lød¼àî(q]b‚gƒIø5j¬¶í6[.w´‡”‘"Nî¡âó| Qö\ŒBñAn±’-­­š¬·³%¦OìåÍ)y³[_aú}ÚdëÅîJ)EÈcZ‡%1ŸLñÅŒ.‡ó(?"¾ü›:l,š& ‰U˜XÂZ›–ºf<tÓÖûì`9Y¦üöögjdË‘ÝRWF—?ꪠ;Uœßf;º’¦nir
+˜ì‰Õ¼f¤¯«)¤•RXy˜Ñz‹ATZvfIÁÏÙfßð˜ëäû
+ØwÈOWÎ óú…‰‰–RÒá$ÊOõ #É0®3Œ;e «Ž­ 9­Ç c­K °³
+ 'u"w%Û ‰2jÈ=‚æF5Çv6‚³1pÄ8˜þlÝáRÇÚNI½Þi"ˆAÝóær§õºª¯«¢€˜dð‹r¾ •½™ðfÆk
+ÙcE„–¯—æž“‘änŒ «T åÎM^£éZ@ ÏZ"k‚á}-©‰¸hàNYÉ>wBÏÞÍÐxYÔž–iÂîíô^
+}û'ù—øB¹X|ñç
+u
+à,Qn¸Ûx,Þ¶a?3iBÀà'ͺ˜—þ…4ìç’=ľG¼aOwÞæxÞæßäDŒ÷ýDì¡*îjŒ·ž ƒkŠ7É“A$-C¼;ƒâ·ªš9dàÿüîú«éw7n?
+ÁÂH&Pr.ýG@lÃX%~Ì…´j˜ú^Rlô1€mŸÎặµK¾BrŸÕݹ¿R­·­[™±}Þ6pýñO2’(î>Ùv%TÃ$*UPDÄú° óTÂ1 ÜDFüa6ç‹l“Í[Oxµcs°$÷í9ŠëŽƒ€Ó‰c¥ùõ¬åq=ÃÖÌË¡Í?ÑÎ@/²|¨M§([^Œ•—D¯”¥Õ{¾®ðäåvŒ %R8Ûñ8vÊku¦0aû•Uî‹ã†¦â#gåÝ
+ϼ[éaøvÏXK\²ÿE ‡äÐID‹^¢ƒ)zƒ?«”:†îQ¹¼•ë%§®¶\ÍIKR¡_ÍS=¡Ó0„<Œµ£YJéý÷hÐ
+÷1LÆ"ŠT|V¯NèX±áù+”MÖ £I Øös¹Ú®¨ÊЧ؉Þg€¾AúÀ"âø^ö‰efÅcÝ}r€vÉ¢Þ­0^6¢âÝËt¯ÅG:Y31RòžUBZsÀÄ›öXÞ0Aù/'ÂßÅö_ÕçaRy@£ØâÔÐŒø˱gÈîØÿýµýñl,Lrê4ä@'´É—wnh! &ºÅ£ŠÛÏmQåÁ÷Ûõž/þÛ¬šédÌFÎLTb·
+ÿ(îØ
+ÿ0“Šendstream
endobj
-2795 0 obj <<
+2809 0 obj <<
/Type /Page
-/Contents 2796 0 R
-/Resources 2794 0 R
+/Contents 2810 0 R
+/Resources 2808 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2793 0 R
+/Parent 2780 0 R
>> endobj
-2797 0 obj <<
-/D [2795 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-2798 0 obj <<
-/D [2795 0 R /XYZ 85.0394 749.2922 null]
+2811 0 obj <<
+/D [2809 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2799 0 obj <<
-/D [2795 0 R /XYZ 85.0394 666.7399 null]
+2812 0 obj <<
+/D [2809 0 R /XYZ 56.6929 547.9024 null]
>> endobj
-2794 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R /F22 997 0 R >>
+2808 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2802 0 obj <<
-/Length 3412
+2815 0 obj <<
+/Length 3456
/Filter /FlateDecode
>>
stream
-xÚ¥]sã¶ñÝ¿Âo•gN  Ñ7§çd.Ósœ³/é4É%R'ö$R)û|¿¾»ØHJ´â´£‚‹%°Øï]H\Æð—ÚDÆJ{™Ú$ұЗËíE|ù 澿Œ3÷Hó!Ö·ß|§²KY#ÍåÃj°VÅY&.Š_g7‘0Ñ,Ïnï?Þ½½¾J“ÙÃÍÕ\ÊD™ÙõÝÝÍíÛwÿ‚w2`ÆñìýõíÇëìîÊÊÙõ÷7÷W¿?üpqóÈ’.b…4ýqñëïñe'øá"Ž”Íôå¼Ä‘°V^n/­"(å!›‹û‹ŸÂ‚ƒY÷é$+DIeä/¤˜â…¶‘QR9^Ôù¶,ð€,È*‰2 +Å«Z]Í•³¼~¦Á¦YæÊÙ6o»rOà¯M]Òh·4hËŽ—Ò"’,2:ãå»"ïÊù®ÙTËç bŒ‰l[Æîš©e¤3O.QwºŽ‘N3¿6U øuÙŸ©«ššÞ>r·®Z:èç’ÿ[Ë ´ÌQ↗s™%ÀæD]Î…ˆ¬ÖÒíÕ<–û}UeMôTukuë’(M†”ÚØŸzJçŸ'#’(I´GivHzD4ˆXG*C˜ ubˆ†o|›YQ®òæ{3ÁÅ5#¼fÝ’`&6OP¿­òòkË–Öþøö)
-ÉÚ².Âk9èþJd³òCÙvíÙá
-Ð=+§{§ÂcŽRa½u̧¥/U
-fÅž™±nçüI#™xåùŽý ‘6•(C•#²à“Q‹dŠ¬ÀÊÚ%.hÊcµ,Q”×;õúŸŒ˜ïŽ)€Ô3…à?!7^4”o„ Ù‘˜íØÉHIˆ¤Ìsâ„ÔÚFiz5öÊ#YªÔš6ªŒHHNå:ßçKW©à,ñ€¦Ÿàéóz‡ÞÔ]^Õ$\åNs` ¼¨sóð\ðž
-Êa¤OÖX S¤ö™N}x¨ê¢‚j‡ÒvôÎ9ûö#AÂ\Uï<Ù®›Ã†Á ¦’³YŠ>2ôÑ'á´/xød <vòB¢ÑÚt,ã-0¨ÚmÎýe¯ìPæ?³_F!ÚÕ&§Ù0VÊ6‘¯Ê†u"³¾öäÔµª»£ø9Y6š}Ê/•· &Ô\(ð˜š%Pø%’4áÝíÝÇúò»?¼¿Æ®ÃÃÄY€!ÀAÈL“WFJü¨sïyBY4 C„=uÅ©ÆyÓ]UàUÐâ&õÍb<pE°dÛ3zõò»ºD-žÝä.ÕG¿Ól·Ä6Daá\»MU2ÔqðÌÚ…1a9ŒtSÕìf!D™8r ®º—2쮥žÝ7è:Ê»·ôªK%¥ëZlÁ=´F€GþnwØïšÖ…f\:
-ghì/‘ _?áz`ÂM8:„ðE”ÕU[¹E Y]®Ëåç–°\WC°·w“àß øéÕÑ46rà jܺlKš®ˆ}¿RQqÙBkä£C…¯]ÜNûþóÑ©z¹`bBÇE!“0tI©¿S[@ý-Öñ‡° <[ÝøKE¥!|ß0¬âOóEKAæI%Ìp6¦<#”Ž=#:<3¾o-/³`ŒmÙñ^+šà>Ïñaÿ*T2Võé—UGé—eºáé¼<ÛÃrY:÷›(;ûè>eÎÔ`´­ö(1Y&ÍúÃ‫hRY:œœV4œpcBQWyµ™tÜ7à0±£–öõŸJÓñ©q–oI†8íTž_Ë+— ¦X!šÓ,˜Ø†Ê¡STóJο Î×PÕ¹ ö®ã»WhÙ&³éÜ"›MóÔNI6GÈ
-U% ;(hÜø "ÇØ[Bvy|v’4NpòˆÒ&€ëÈÛX*Gau°ØІðƒBÔÞ)…½J2 ü¤ÙOo[µ-¥GY6´x#w#à ¯ ²Øäõgúx“±·v#´f§z¼Ìi´“RF*1&´aê©t3ÌÄút‡:{Xšó‚1µùry€¬ƒDã°| Înb¢Ôš±vû„`z3>/ȹýB! oŸÁ VK~¹½?ÛÌ·BŽ1Ý:—õ‘”šMÛÜ·­V¯8UÙ–9缈Óà8«ÆiüßO®>D”Båu)M
-%; ¦¯*i>Äzù¦"`‘ ¹ ß3ãWl¶ý~L’€Ï¡ÀJÏÓ°&ˆU©)èÉÆDÝ—”&@z›£ÃÅAáåŒ/ÁºC¯Å÷*æÝ ÍPÜ…J×UqÇ=MÀ¤ËHEô?°b¢†â) K´ÄTÏ~Á+ïVG1Tcî‘(¨à<ÃݸƒSlÉ#HÊÈð9¨i‹7/\ó$q¸F:—™êHÉØSJÑ‹ˆp^FÞð¥c‰q0·PG„S¢g{Dð|ìù@à-€”G}?ï¹ß>´föþöúý •:ÎϺRà.i±ÚWQ
-{Q‰„†Ï€ Ç$  W¢w¡
-–ÿ…n©`ä´*ìã@ÎWÎ}{T\÷WŒÜ%G*r¤Bý©#Íd”û*7*ÒtìEaö¢B ¼¨H<Ãpè®±aAé_ë'
-J#Îr EnMÐÅ3Á¸rL¸ :å‡\ŸGÛ£†çËî(ÜnÒ{ìˆsu(Ç3A%=©ñ†#
-©Ê]ƒÒè4ì.)i†¹>ouëÓ#Xû’Þ‘DŒÆ:g‚ ºé§ÂvŽãÊgŒî/t.O<Iß?v—wµÕ§:¤’/» GöÈÏ»‰Ö7á±|$¤íqä=ùÈ5HlBfçIðH$ŒŒL€k#îGý^¢ÔÕä(Œî5_úÔ‘›am®ÝõÄpÆÇ@q‡ðJ@z.y†Œ86À4ÊdœÜ…æd\šXÛFð,=m: 7Ï!#“iœ´GcpÕýSÏ22TSç{‡V…´“6È; f×ÑKQB¶²åjÎúÒÊŽ².`­Bœ†žÁ·Ãx‘S#=³Ôæ.Åî‰×q!•§ù¿/"ŠuvüŸ1e:sOqÞpzœ—͆qœËÚä>œºá‹f#S{nÿ€sBÀ‰ÑÄV)p&³z>—­8Êøfû§&“**”Š F{¥ÃMüg b]š™QùúÜiÀ²ª$Êo­½¾»ºhe™{ë{áïyJGøŸº †Ça‰ÿû¯{ý_,039-»#šÜµÞݾ%F
+xÚ¥ZÝsÛ6÷_á·£gb–ø${r/n'ÆÍÕN{3ihŠ²y‘DU¤œ¸ý-° ¤(Å›ÌÄ °\,»¿ý ØyÿعQi&¬<Ï­LUÆÔy¹>ËÎ`íÇ3F4—è2¦úþî컄9·©Õ\Ÿß-#^&ÍŒaçw‹ÉÕû÷×7oÞþçâ’«,¹N/.U–%ï®n>\ýŒsï/,O®~¼¾…G.…"¦Î’›Ûïß\]ä2¹»¾øt÷ÓÙõ]/V,:Ë„“éϳŸ²óœà§³,Ö¨ó/ð¥ÌZ~¾>“J¤J
+fVg·gÿîF«þÕ9UHeRÅ¥>¿25xÌ*,K3
+¸Ì•Mµà¢Wgs
+ TNa—{wÐï~Ð2¢d,5Vdžd¿ØvõºjöÝT'Lé4g™>7>¯§š‘Ç»j–jËìXÀ»ÇÊÝ”J>\°äÍ{ï.˜Iªn÷ì/1©7]µ{*Vp"ãá™,ªe±_uøNÝâ¤ÀǶ*›Í¢õ¯°äígÿª<ëæ<Š,駰R}©W+œ¿'áÊf½ÝwÕÂièüR±4—ÊÂÑYj•âþ Kä¼F3DÎn@ªõÑ6ðTl8Øì×÷ ˜7KüûÁëAu‡™-YF&®¹[o=Ñ ã!"o;OÓý¬
+©\
+9ã1øB•¡ÆsÜFeŸC„X´i ÛmUÖ.,W‹WÈ] b3Ç|’àÿoYJ&IÊá™…h£­_¼ùåîúµ;½ÄÜ ¼Ð»›p²ŠaxÊy,% ú8Nól¥ÙVKl°Å¢nËf¿+>¸…ûª,ö(
+XÙ¶dP2à —›ÝX’aç®ÙѦΦVU¤Þ\ŽS1Ê8a¡¢øÿ<±?P>ìuó?ÈhÛÇjµJûŒº×x„ÇL»’ÖB7¨Ä·7ï?Üá«?üòë»+W¤ßÍ$ä™KˆS­5AB…Y0c¼øbáăQ½AýÁ°×ß¡óæ*U6¸ã²^UÇÂ/ ïƒÅîqÛÝ I,¢]=ZdÉuá3S˜ †$$à`“îÉ'cî
+ÊÕÛƧ0K»·øÔW‚3,©üìb]oÀ`v·<Ñ{ÛýnÛ´®äô }Éíæ°‰]‹ "n<©j·‚ã„£XÀøÂ$ûÒ9z;Wx9 7¡œ?¤íà"ž dQåcU~¦´3«>»ÅªêM–—“å¿@‘p
+i}ã ¥”(æØzÄ@N‹Å$EG$¨P ‰2­ÝðúŒCù<C 2Í
+¨ªý«DBõ¤¥z²çöߪì¼Y͆ú}0ÄÖA¼8ohn%ÒÆÌ —E½êØ(P^CMn+r=Ø~žOí}‹wè–½©Âß¿\zŽwF ;ü»nzƒ—ç¤&N_MèoÅ|ôˆON:ÏÖÆRòLV«æK;gÊ.Væî¨î ÷qµãckù=Œ'gÇ›v xŒÆÝ6NÔK$ s ™PÌ,ö!÷Â9Ò”ú½*t ÷
+¦†Ó{]×m[o\„4£€kBL6=Œ
+q
+EAHû 4ÃÛ¦ð‚XÏ;„’=Ñ!ÌÀÍ)i&Å ¶Rí7ÁEé”ñþ[Ùé¢}æ>ZÛ¤è@˜m‡‹
+–5•t}‡ÖŽ/?A†åhüÛÃ;ŒÝ—°}¯/fEE||T¥eŒëî³.š{äyÔì;æ><Kù7£lLuÂ}•¯U«s •KqZŠžjFŒRJåð´|>•½xùRìÙ½]†O-sŸ…H­ ¾€'œùÔ ¡/7jòí楩T¤·ðõf"ÔãpLbÿöfî» 9CôÝfîî øÄ°ÓW¿ù@ä[Ý*T«þgU—J”2—'·ï‰÷Ê‚:‹3`¸ñPaºÁ d7[¯iÚ» ü]ùv6‡ ‰F_¶Æ}׈þžÞ‡Ðì[‘®$¹ {=«ý,˜
endobj
-2801 0 obj <<
+2814 0 obj <<
/Type /Page
-/Contents 2802 0 R
-/Resources 2800 0 R
+/Contents 2815 0 R
+/Resources 2813 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2793 0 R
+/Parent 2780 0 R
>> endobj
-2803 0 obj <<
-/D [2801 0 R /XYZ 56.6929 794.5015 null]
+2816 0 obj <<
+/D [2814 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2804 0 obj <<
-/D [2801 0 R /XYZ 56.6929 453.6878 null]
+2817 0 obj <<
+/D [2814 0 R /XYZ 85.0394 504.8852 null]
>> endobj
-2800 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R >>
+2813 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F54 1383 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2807 0 obj <<
-/Length 2989
+2820 0 obj <<
+/Length 2935
/Filter /FlateDecode
>>
stream
-xÚÅZ[oܸ~÷¯˜·Ž —W‰lŸ¼H6HÑiìíðúAöȶÉ;’í¸¿¾çð¢!G—q6Û,uDžëwH²…?¶ÐŠPaä"7’(ÊÔâf{Bwðîý ó4«@´Š©~¼8ùá'¡†˜Œg‹‹Ûh,M¨Ölq±¾\ž}úôîãÛÿ:]qE—ïÈéJQºüûÙÇŸÏþæú>¾<{ÿî~r)2 bÒetùñüçOoÏNs¹¼xwzuñדw=[1ëŒ
-äé·“Ë+ºXÃ
-þzB‰0Z-žá%̾؞H%ˆ’B„žÍÉùÉ?ú£·öÓ1QH¥‰â2[¬€˜Óœ Œª@
-36ÖEÞÎ<qãž×þ÷Åù‡÷«¶º«Ëµÿ´­ê»0ð¨ÈŒŽNåD‚_ìEr°’•PœÐL™T¯EµÃØÆ'y¾üp;2ø‘ȸŸ •1fnɵ6Y¡k³l{I­ß u\Qïô²ê<MÙyjgØÒ°2ÀÅæ®ÙUÝýÖý¬j÷|lË¿€IP½ÿlïœH×:.e崃 —ŠEkYm×jd=2'b›'ôÒ¹êHŒw%©"œey*Y´ßḠÌÈè º›f»-êµ³ææ©Üíª5 þ,joÿ½#DÒô_Ôîé$
-–~ C90`¼»¸¯¼=„gùÛc©¡¬»ƒ¡\ÂB¿3|Zʲ ¥»ãºž°-´ªi ÂJqDƒÕŒ•åf³žR¢ ð)¬lvîžjdò @Ú„Ü—Lît(¥—…TË_N•‚H´nž[÷†SJÝ+pⶲƒîæÖuFÊÇa×ë•)"›W>¸§J•…Ê_¹¡bDŒ&íB¥Es«fÒ,Ì÷˜…Ê9”Í[ED4mYÙ•Åfë!‚kš†
-!bkt/Æ0ãœh,sh$ëî…
-lð#è>¦šñÞ@…˼|Ø•»ò·+¿Ê¯ëf[T>º¸ö*è4A÷ |• 3ÏXO5ÂY"yI‰Bí$¬}Æ0ë3@øµ‡ïþuóh7eܪ=ׇIÀVèì`/ž¼üZµŸâ0®Ÿ¢7åög9aL…~ £ƒ…eŠäJÈcKBY“+srÅTÓÚí©†Ú}ùíRÙf–±žj„³CíRÜ HX›ÐîPà
->âJ¼NÞ9ÉdäëõWªè}*ÁðôÖØú&–ñ¯¶¬7>Õ«œHÁûšÎ…Âæö ‚@ƒ6Ø´À8Š±#:¦š1ƒ@5æä»”{C+pIüfS´íÕžåq@"„ʑϳÛSð›fCxfTÊðëú±„0`ã³-Õ£È=âí`ã:çwyÌfŽ7#ã@áj£‡Õ©•õÈ€E®CŒÁZr" ¸þ®8RÛȨ¦ ©tž?ï3`!¼­ºÎí1À¯Ý=¯ª»rW—ššü`üÇíLâ“ ªú ê¾yŸˆ¨f|"P…Æïô b¸?ËnO5Âoê€Z8 ¾„aW†žy=DðÜ{¾/b²ØAö½{ÁOÑ)ðƒ`Ð8æÀ)ÿœ"# ·°ÿ/>¡“Ê° µ}l½öm´˜sLHF½ÊC²ÿ‡°*
-xÞCbªi驾ßC]Ñ„ X¦ÉÁ€fyï©F˜ODM5,Ü%áþbtÓ Dó‘½ñ]ÔŒ© á[ë) ‚öœ|¿¹Ç[:a@—MôÐñà\«÷ζ²[Ï1I綠ç¶Ùm=zöÔH¦^ÐÞ;W*fÊ:t&m‘ßÔ#«Ò9V9Ù÷ú#ÔË´eÊ°!i›~¨±Ä„7‚ Íó×y#*¦ßßè·êqõ°ìëÊîË£p¯{­
-Ð*¿7Ýæw„èr[tÖ
-LØ-7ffPÜFºñ;çñ‡ÿ¶[6~SºuW=•cú÷ùUþ½
-‡êÌöÍ
-glBá+I! çy
-„¿šH*&œÓrÃŽ:oNvÄ5[>ï0øÖîGåŸþØܹƒ5!+ÚWåW{Š@¥÷ﶬ»¢s›‹@eÕ4L»ûÞvÿäÍ‘1M ©Ô?ûƒfüw6÷¹‘à^ôÈ–@L5÷{*÷Ýö§æërsYî ×m®FrÀå> \ú,p5ØxP
- ~v-=ÕÈb’< ¸ÓÕ¼-7åþ0ÿ¯)Úý>À(ÖP
+xÚÍZ[oܸ~÷¯˜·Ž —W‰lŸ¼ˆ7Èb¤±Ó-àõƒ<#ÛBf$ïH¶ãþúÞ4䈒œÍ- Xu†çð\?^ÈÃYˆ eŠªE®8˜ˆÅzw‚wðíÝ q4+O´
+©~¼<ùá'&
+©Œf‹ËÛ`,‰°”dq¹¹Zž#’¡S/?\|þøöì4çËËóÓ¥œe˳Ï?¼}ÿ/xˆãåßÏ>|>ûÅö}<Utyöîüâôúòç“óË^¬Pt‚™–é÷“«k¼ØÀ ~>Áˆ))Ïð‚QŠ.v'\0$8c¾g{rqò~Àà«ùiJ\H$(Ï+Æ‘þi…”D¹P(c”õ
+£$¥0O¥ö¥|±¿ºßë¿^Ÿ®Áº·.v¥ýÒ–ë}ÙëƒHŠX†å"d:­§JÈFÙˆÌã n$ÜÅC¹®~Ø–íéŠ(¼ìî‹Î¶ŠíÖ66Eç¿ûS"—¥#nìóƽ_^¼·j«»ºÜ¸Ÿ¶U}ç.õøIð@*Ð<Y8ÌÅéÊjEÿâ •£©¬˜ g`B‚šß>Õ^û"¸§ùòým‚c +ê˜is$F§Ê¥TŽ¨‚yS©–m¯¨ÍèQJO¨Ößä²êMÙ9j=YÛÊ0*Ð/Åö®ÙWÝýξVµ}>¶åßÀ)°<ülSÞ[7,ˆ`¤ä‘”*G”‹p.«ÝF$æÃs$)ΡÓÎ¥·Fä¿+Ž¢$ËcÍjŽKÂJ27îºÙíŠzcý¹y*÷ûj£}F¿µ‹€>mº_Ôöi5
+sy"ÇåTˆ™dPM$O¥9Þµm>uÌb;Ë36Í×%ø†STe"Ïc¾Ÿ[g€w+æÎ\³'¸ù‘mÖØ ›î.ï+ç þYþþX=۲Үqû¢ƒ&åõL”yg^ÝÍzı´Kš/ËL]‘ió…Tãæë©Œ4Û͈ µSL§y÷T æ‘0ØZ×õˆ»5"çN\,=òЦyníŠ1¶Ÿ „ÛÊhº›[ÛX_ÓØ^gýpàÀúלõÀ>Elýp(mý•VÎb‰c¢â\4ê ÉrïÍÉ1FyžÏÄuH5ážJK³/‹íÎÁÛ>ö"¡ŒF"ÌÁ#Š””2 ŽVýˆ3ò"!4–WWé댺˜³-y¢×ÈX MFr³ýÕÔ\ƸGŒ…Ni?¤p¡IL|nOª˜AÂË0žŠû‡“a „«P
+1‘ó?”|9KŒ
+‹&Î}^›–/ ÷ô"xWuÝ_€·÷ìSÇ\Uwå¾.;íøqÁƒñwÅŽçÚ= ˜'Ã!¤‡ž*•¿; ˜ø>)nO•÷8$X
+Ð2L;ûÞpÌÇr.óC“2Wý0°¬b#ÁzT8Ï_ŒÚ0ÂÛoÒëÙôo*³#¯• 7Zt¯Q é)l‡±‡n˜dýŸ>µÅ™à6söʦ\ÅK@kI¥¬™à ¿´ — U~-ÖÝöEoáå®èŒ(¿Q®ÔÄ &ŸØ=tå6ÍÃþÛ`MÝ2éãç»ê©LÙ›q½Å/òï5¸Ð‹vòÍ'dÄà+k’aœoD&³‘ी'sEfƒ7Ç?¢’,Ÿ÷:÷Öö¥rOwbáÜÁœ
+_ͧò«9Àð˜ÒÅw[Ö]ÑÙE 2æVÝC¯¯ºq¦ ‰XaŸÜ™¤þw6šö@©÷¹'Ó~H5žö{*“öíÞ§Ëå›r{UÞy¿ë¶×‰pu¨W®\öÛ¬÷1ƒ?9—ž*1™¨â’a1Íæm¹-‡~ÕÿšµC{Ø
+#Š±b'¥~Œ8Õ¯¿«·1øÆï(lb èÌ!ÌÑwóì§ •²? x€ÌuSm«îå”@M.TA3çGÑxjñDÃÌRl6#IEëå¢J%¡ MIß Å?Æ”*—
+å?Û·UDcý¨ËgÛHx¼"ƒ¥–î³;‹ºåÊ<™[la(À\òIŸÔ§X¿K1µÖ"ß²ØÊ^±Øb3É$Úw8h
+_Íݰˇ` Ñ¥Fæ²4ú[/ú%>’ÐU½.£Úz¤óýc[øe1àžñ5(Å1>·iRM˜ÏSYln]/dšCá͉šfê‰L#ó1ˆn˜tÄô˜¶Ç§«‘í ÃÙî›ï”ºˆYë$h7Û¢þr¸+2ªg
endobj
-2806 0 obj <<
+2819 0 obj <<
/Type /Page
-/Contents 2807 0 R
-/Resources 2805 0 R
+/Contents 2820 0 R
+/Resources 2818 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2793 0 R
+/Parent 2822 0 R
>> endobj
-2808 0 obj <<
-/D [2806 0 R /XYZ 85.0394 794.5015 null]
+2821 0 obj <<
+/D [2819 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2805 0 obj <<
+2818 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F54 1383 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2811 0 obj <<
-/Length 2112
+2825 0 obj <<
+/Length 2001
/Filter /FlateDecode
>>
stream
-xÚíYQsÛ6~÷¯Ð̽HS _nF•œ[Çç«”›Þ´} IHâ„"’²ãþú[`š¤h%¹æñFX
-?6ñD^4 #A|ÊüI²¿ “-̽»`–gî˜æ]®×Wo¹œD$
-¼`²ÞtdIB¥d“uúÛtIX@f ‚NïVPL×ËÙÜó¦‹ûûåÝõͯÐ÷)0'¥Ó÷‹»‹[»ŸEÞtñn¹šý±þéb¹nÍêšÎ(×6}ºøí:Ia?]PÂ#éOž C ‹"o²¿>'¾àÜä«‹µ;³æÓ1W_ß8…JƒpÜaŒ„ŒS(‘­Ã<6æ0Ç¥¶Sùa¸Ô0/lÒw¢Ô1(õ:J¥G˜E_é}• ú;Æ&Ïj;Pn°MÊý>.Òšhë&0D„/üÉœIÂxè9·Y¡jdPÛ¬(²b‹Ý§¬ÙõÔjŸ%e^v´š19U/ªTÑXI t„'Û%öSc‘ñ-c$ò}O¯“NæÜ'aä Äᯋ÷÷·ˆ¢G¨YŒ'<Dìz§5H>UŸãý!7둬'/Ÿp¢Þ!åM5át¿dÂ#~(B¬õñÆQ-‘A(-cRóU<(Tp¬•iJÉŠZU Ž¡g€HU®û :¥.†Hìbp4A—¥vMÓ+÷VÃNah™ ‰žŽ­ó'XgÝAÃúÓ?ËBÁ†å2˜Þ•Mf4Áp³‹GÙ¡¬8ÍX
-åb')‹&†%b/¶rª8ËI á!‹8ƒö»º*‘{‹K<š=¥CKÂP¡=³ZµÃN—…JŸ‹0ŒbCã÷ŸŽÊm!;Ýî,Ç>®U! BZ]գݔ–è¸Ýâ\ ÀË)¡‘šým6 v!÷²hŒãߑŬiM—yº+ë†ô­'c§©5B=K’ Ô 5 =}N0ÂÎX ¡HÇ·/z 0Ì‹â0I¹­›àsê¡wõìèjõD ÝAÿ@ž™‹@‚†ÔòMÞ@NµŠF¡'LbYôͽ…]šÚmñ×ñ&ºe4&rFmóM òç¹™êbóÅH=¶sж©Ù
-Nãg$Ök{ÿN}jƒ‡x…íšÖ0ÊÎB3øFh*U©O–ýsZîc5L/K>êýÒsã·ÂrLÆ—oîï—vå^„ùé€q)#«³æ%¦Y“™R'2eÎC ÷­Í:ý¹Ì¡§Kl“J>º/:)¹Ín0w;…ýpä
-kÁV;bù`o‘¿¢&~{s;r­²wNñ%$ô³œ.—¹kˆhä‚Óri­WªI®*È/ù#lþb34€ùtÀÏ[ÐršÐË»Ì g~зÁ–ÕÒ,K¡ÐË6öÄKÕ&>æÍ+Ú+óB}£â¬Çº\¯{¬å2{Œ««êX\iKÒ«J8ÈGõ<4ÅcP0ÊÎÛÒrÓóÇB8±˜è[S+w1kËÙž»Ö
-¶-XGQù’Ó€f®38s\ÿÚ9 ªìÑÞz`ã¡Ϊ³!i¹NcÒ‡‡dÆÙJ‹7uñ¦{oº}Á›î¼i¢‡7=ð`'ÎàmxÏ™¤„{<êŸË«å¡»¸]ýÓz¾þ`…ÅY$§°£‚±G&
+xÚíYAs㶾çWx¦{3¤(JÔ¥3Þw›v“æÕÞ7í´=(kÖ–¼’œlúë "ÙŠ»}ÍñI @‹‡ŸiŸŒüQùLq¡FÉöŒîaìý™ žiÃ4ír½Yž]¼“z±(ð‚ÑrÕ‘¥×ZŒ–éoãÙííüæòê—ÉÔS|<g“©â||=»ù8û€}·“ÈÏÞÏÐô|
+Â÷˜
+ý$[yµß¥qm–ö}X7ÔĘûMŠKÜ\`_ê© ìÉòÊ”5öÅ9 ¦fcjšRN„›ªØ;"¡Í`oR¸oJ{Z¹V±¥ÖNÅÑTèù¾§€j¬
+Ú‘9XâøC5þ³È €Eê`|SÔ™[ ºëu\7ueùnïú ±ËÄÉš(”‹¤È불­˜ä”q¶Éò{”p·‰óO8
+Úª;W\=^Á…Q9±ŠÄj˜‰'E·öQ˜¦¯ ©æKVÕ´XŒ
+!^Ü•†3XÓ·Âos}.ÀÕM¯ì“q±ƒüÔãÚX?kAÔ-ÄZÝ´n—Lâu·t‘ÿι̒Fª-´’Añ›"¿ŸV5ÜvöB€q9Ûºë8 Û¾?¿{‹d{>R¤;P1~Ȫ@m÷ ¡f@8«{E_‡
+çpGE§€ …Ú¬èÛZHÅ3CÚF-<onÜÞ€7]”Mõ¬3,… ³±<hb9ô^Þ,ó·HgÄé,d OI…”=ˆöo\æhE8µªþð:~0$ãçÅÕûóvç¿’€œ4¸±Ëh~p6™Èm^ÚÉŒaš0)ÂÀM{wE q/·çŒ+¨ ¤/˜äa8\–Ó´ËåRq?(KZ.»ê…©“‹âËæ¾:T@€ð@óð´-×±
+½¸+@‡ ðú*PVÝÉ̲ò¼lE^jVñ~S¿Ÿ½d0µW
+áˆ`Q¶¢Ì¦+Èg‘²)ï,>Ž…x’E¶6F¦û—¤øÄÀ¾*dßàj_Š¯U§„h Ê© ÖTêïjä âKÌEpÒ-Ó‘3Ð%
+•”O»º¸/ãݺyH,vT‡¯:§G™<m ›»nç÷™Ôj_ï»ï–Ho ¸Š½ô~/m‚'‡â*oü¯ßöŸÿÃðCÕÚÐ’ûLÊH4JY3
+Ú'7%Ço®n.qc0ƒéçç¨ù—ÚäíëÖb¿Û%e¢ÿ8¦´ÙrSu­Ðþ¡pl†¿
endobj
-2810 0 obj <<
+2824 0 obj <<
/Type /Page
-/Contents 2811 0 R
-/Resources 2809 0 R
+/Contents 2825 0 R
+/Resources 2823 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2793 0 R
+/Parent 2822 0 R
>> endobj
-2812 0 obj <<
-/D [2810 0 R /XYZ 56.6929 794.5015 null]
+2826 0 obj <<
+/D [2824 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2813 0 obj <<
-/D [2810 0 R /XYZ 56.6929 680.2422 null]
+2827 0 obj <<
+/D [2824 0 R /XYZ 85.0394 750.8373 null]
>> endobj
-2814 0 obj <<
-/D [2810 0 R /XYZ 56.6929 331.4618 null]
+2828 0 obj <<
+/D [2824 0 R /XYZ 85.0394 374.3309 null]
>> endobj
-2815 0 obj <<
-/D [2810 0 R /XYZ 56.6929 168.1912 null]
+2829 0 obj <<
+/D [2824 0 R /XYZ 85.0394 186.4801 null]
>> endobj
-2816 0 obj <<
-/D [2810 0 R /XYZ 56.6929 95.1985 null]
+2830 0 obj <<
+/D [2824 0 R /XYZ 85.0394 98.3442 null]
>> endobj
-2809 0 obj <<
+2823 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F49 1308 0 R /F14 1020 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2819 0 obj <<
-/Length 3067
+2833 0 obj <<
+/Length 3070
/Filter /FlateDecode
>>
stream
-xÚ­Ërã6òî¯Ð-rÕƒ7ãdÆ›ujÇñÆNj«’h‰²X#‘ŽHÙñߧ’ (y¶&¥A Ùh4úÝb3
-?63ŠPaå,³’(ÊÔl¹» ³GXû႘EZ ¡¾¿¿xÿ/af–XÍõì~=Àe5†ÍîW¿Í?ÜÞ^Ý|ºþßå‚+:¿"— Eéüó‡›_>üÇÏÝ^Z>ÿðÃÕ¼Jc%
-¿t£¦Ø?{?^ÖU»¿df^oýÄ¡-·eûö
-7<Ö?0Ühù¦ Kª#C‡Vk ¥–D)Gf®&ÐJ¬íì “UÉ—ÀÇí« ¥Ì&ÌC{Wi´Hå4ß>Ö{`áPká´ Ÿÿþüáãâó'…;Z6Ù”Ë_94E€Éý£ÙxĽÝ{±ôï­G{ˆÏ"(ŠÊJg"qÂË ¢ŒÔܘ–v~¿‰ ŒTýáAîï®X4íëÖ¡2c¸¹5Z
-ì®9µçIì &hLã(E4…©„È_šb"ðæP­Î¤L jÐaTÌCrçõXô®Ü}â¹,ü"òæ%@z[á60žW=i²¼”12¤Ï‡m[>Ť¬š6¯–E3Œ7ÂÚÊÛÅ6QuóíÖë*oÛ:ï¬Û:ةڹ졒_ß>ËQS: ðÂô¼(|Ì3)£ò2g:/£¨32¡œŒ.§d”BÈN¤µ‰€jF(—â<}Ô‰€jM(1J(œPL
-4Èü‰Ì;Á«3€Íä@:™ ’Äì„ÄÉh#qŒR–Õ¿à½3+úÏWÅ:!{7•óR¸™ŒE*ßíò=s‚ôN©QRy8) ü0–éóÂ0„:- ”†/o¬a1"‘)!UWò<qÔu‰$@Z˜A`’’wRl&ùd±$A
-é•™ˆç1|æ"x˜éÜ#ýÕã‚SyÝLœ¹z¦ 1Üš£«̈¶,#5º»yÄ‹aŸ@’3±•‚ Ófz¸“·ˆý Lâ(»=MpÝi~)1Þã,óñ<Áß®üÈYGxœÑÃœe1|á™Çú˜Çåº_œpF™ *c_«ë–ÉhºVu©ê62…©³QæPüU6íi…“œ0jßR¸Ô…‹PNáš7­o_©KÔM0 ë8OZuL[ªBÂiY–7¬¦yˆ¶ì4Î×4lLäl
-aäk6õ÷na=ú¦‡ü ‡»¼]nŠðQ~
-Þ¼-v!áµ¾Ò3D ²²ð×®ýLÙôÖS³|§ûÂø ä8F7Œèìt‚§LôºœQ…$‡K<¸QWf€9—âä½ÛÒ¥žðæIŠQ”T…p«BXw`±ˆs›Úåz†‡ ÜMb…SAµ€îXŽä?X²EÒ$Øæ ð1pÅ8I-gx ƒÐèDÉO@^&Å,„¤@‹¬WùqCY ¦jJ¢©:©ÏÌ@vu²õyuZŸ;(§ÏOo:ÐXO´™c%Q§+MЕ›!óázDØ]QMÖìb”ë
-[.
-îª÷©…à–ˆ¬«ÝôPé­i"i´Ó½ëˆ„+½º‘ý.DïDc*©à¶ïÂçàõN^/ø^
-—óÆõ Î\o„r×ûëxK O(γ[F ‰-“›£&›nyUõõSÐ̇:jä¶~|„dä48xBªßȆPg˜¡^§e\ô6o¢XØÇœñ„®o*Öt1"Í­¦‡ð}šT-1šñóŒë &8—Ü¥ØP鮿¸Ëӱ̓.K–Ø0¦êLÛ‹B¼È„úç¸Ùa<>X‹At’Q.¦ØyÄeuŒ·×^­w#›v˜ô¦LÚ!l¶Ùì4k$‘>ÈŽ5Æ7XƒíP&ÌÿÏšP…ƒ?D±%DœÂÐ_ëèÒq*t ´ê:†È™±£FVÊsjXw¯Þ¨¤¾íÞÛ}¨p„¾™’ÅÄʇÊ×jp0²Õj¾ƒø. ;>çÛrÕ¹k< ö—Ë}óBpá,„E-k«ÓœŸ¾lÅ!cì/SplöÍwÝ!\ 0_µO§y¦º}OÞ4Dh
-‘ÓS±,QÜ‹Õ»©#š¸¯è0Ê>Vò¡âF´{RtõŸUúZu•u|¸ä1ÞÃ1Þ=>}lIY¯Ò$ÜÃW×øèaiûPø– Àì]è2ˆ&ÆÝŸ-HŸ Zº¡rð«4à—!÷ˆMߢé¼Ú®C S÷=§´yÖ¥ò Ÿjc7-F¿6$þV zU}'6д˜jã ¡®-®ç7µK©ízÖ&6Ûí„„Õ.¾õ
-‚‚¯–E¢ÓÌ(´ŽLÃebI¶¸å1÷Qôê¯./–«ï|ÏÔ¿üzÉ›ûî/€²#³ÿ®v̉¿:Ë×endstream
+xÚ­Ërã6òî¯Ðm媂7ˆãdÆ›ujÇ™ÔV%9Ðm³F"‘²ã¿ßn<(€¢¤Ùš”f£Ñèw‹Í(üØLi¢-·3c%Q”©ÙrsAg°öà 0‹´H¡¾¿»ø˜Yb5׳»‡WAhQ°ÙÝê·ùa†\
+:ÿùæã‡Ë—…•ó÷Ÿ?_Ý|¼þ/¼+
+@
+ ÀÕ‡úqñP¯« ´Z£„£ýrí—êíNiHÁ©ãìÎâ ÂpˆQh¹dcŒÏBËáj¶ðââUú¹Ýöˆ¹ õq„ø×aô6±EÎ3`ÄXêXaánÁÎhΉ`Æ~¾sP™¢˜ÖöÅ€q‘¢t‚˜‘Æ,‡ñ
+°ï6šì
+`1»IvÁ£iG¤Kp?~õ®—-õªŽ‘krôxïnPY¶[‡ÅŠæ©”Å#ûÉÅL‡™bH8@¢ מÌJR¨˜Ø¦%î“ÅŒVOF²èVu6Rž&q€š 1‹£”!\)“ùKWMÞœB
+4µÇ2ï ¯´ÚÈD:!yó×Åì„ÄÉh#qŒR–Õ¿à½3+öŸ¯ª‡„ìÝTÎK)¡†E*¿«úåwhÌ Ò;¥FYåá¨0`ðØѧ…!…:. ”†/g VZŒÈ$A@F {š¸j‚º<c¿j!/ËÈ;* ÖH>Y,ÉBºF¥±‰pÃg.‚§™Á=r±¿z\p*Ï£ûƒ‰WÏTA
+n‹ƒ«̈6cˆ¡…nBcñbØ'†äLl¥ ôF§;y‹Ñ1`GÙíq* ·‹4¿Öïqf||Oð·+?rÖžibƒ3:Í ™‰Ñ`ò…gÛÇœ8®ö‹ÎÈ¢ ûZ]·LFÓµj«@HÓö‘)ŒHmF™CõWÝõÇNr¨=§p Ô …‹PNẳÖw_©ËÔrbìiÂÌ!]¹úP=‰hFXZÌs8k9h›¯gؘÄÙÂÈ×'lîëÝÂÃè›A`r3nÊ~ùT…ÊCPðä}µ É®õUž-ÈÉÂ_¹V„2eóÏM>ñƒÞ‹Â$‡ñyÁÀI•!p2b¯Ç†*,9¤XÞÁ†̹Œç ç]×.í„7ORŒ Š¤"„³Xš‹ ˜{j]žWð}»IÌ¡p*¨• &G²¬Ø"k¬KPö4⛬Ž“^C)÷ Èɤ8ÃBH´0{ug04É`h4SI‰fê¨.³2«£­¬¨Ë)Ôq] œ.?Ÿuž±4žÒe9‘¶8CWš +åœ5 |vD×mÕL–ëb€ëjZ.
+÷¹à–3”möP£”{4Ñ{¯™H„«ºº‘ýG !HÞ‘žTV,Àmß…ÏÁá½]p»”
+{æv¨·¡Üíþ:Þ<Ñ`7On&¶ÌÜ?Xj¬$g[^5ûÒ)(æ}rÝ>>Brœ œ Õg’…ê"”cÂÛ´ˆ iNôh
+ Þ›šŒ¬o*ÓD„‡GÈ+,QÊêü¾A“»R†=sšmÔß²¸‚"XÍò]qW§CÒƒ!
+½ùBpHá,R n«Óü„öH€à–ƒÉf
+ŽÍ¾YB„‹ã¡€€ë&¼`lØ÷¨|@Lv·`£–º )ÄZÏÕ²F%©Vï¦ú‘ ì+ú‘r]ùà q#Ú­‹!)z˜ö‹ÏAÚK6ßúqé]6Šƒ$⯟> ¥läÒ,FÄW×)ÙÃÒ ö¾ò=4@qܻЖ, ·{|Š!}öhUhŸÊ$KPy– C»ÄU7,x9µCK¦0¤Þ7©ònÛû/|nŽí·2ÛP)°*iní[·¦ÅTß u}t=¿i]FMíÐä.bwÞNXOX‚bЗµÛVÒ®®îõ8
endobj
-2818 0 obj <<
+2832 0 obj <<
/Type /Page
-/Contents 2819 0 R
-/Resources 2817 0 R
+/Contents 2833 0 R
+/Resources 2831 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2793 0 R
+/Parent 2822 0 R
>> endobj
-2820 0 obj <<
-/D [2818 0 R /XYZ 85.0394 794.5015 null]
+2834 0 obj <<
+/D [2832 0 R /XYZ 56.6929 794.5015 null]
>> endobj
954 0 obj <<
-/D [2818 0 R /XYZ 85.0394 769.5949 null]
+/D [2832 0 R /XYZ 56.6929 769.5949 null]
>> endobj
1391 0 obj <<
-/D [2818 0 R /XYZ 85.0394 748.1842 null]
+/D [2832 0 R /XYZ 56.6929 748.1842 null]
>> endobj
-2821 0 obj <<
-/D [2818 0 R /XYZ 85.0394 713.2192 null]
+2835 0 obj <<
+/D [2832 0 R /XYZ 56.6929 713.2192 null]
>> endobj
-2822 0 obj <<
-/D [2818 0 R /XYZ 85.0394 649.2356 null]
+2836 0 obj <<
+/D [2832 0 R /XYZ 56.6929 649.2356 null]
>> endobj
-2823 0 obj <<
-/D [2818 0 R /XYZ 85.0394 579.1835 null]
+2837 0 obj <<
+/D [2832 0 R /XYZ 56.6929 579.1835 null]
>> endobj
-2824 0 obj <<
-/D [2818 0 R /XYZ 85.0394 398.1506 null]
+2838 0 obj <<
+/D [2832 0 R /XYZ 56.6929 398.1506 null]
>> endobj
-2817 0 obj <<
+2831 0 obj <<
/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2827 0 obj <<
-/Length 2957
+2841 0 obj <<
+/Length 3188
/Filter /FlateDecode
>>
stream
-xÚåZ_sÛ¸÷§Ð[噀hŸ|±s“k㤶ÓéM’Z¤l6"é©8Χï €¤DÉéu¦Ó¦ãñX,Àbw» ٌ›IE”áf¦MB$er¶¬NèìÆ~>ažg˜C®ŸnN~|)Ò™!Fq5»Y d¥„¦)›Ýäïç„ir
-"èüêòüÅé‚'©Iægoß^\ž¿ú;ô%&à tþúìòÝÙ_ööÔðùÙÏקo~9¹¸‰Ë.™Qa×òÛÉût–ÃÊ9¡D˜TΡC 3†Ïª“D
-"!e}r}ò×(p0êT£„ Å'tÀÙŒ1b¤ä#%HC”àÂ)áÅ›×°µs·x€”Fg ® §T;Î3Üüºl;l5+ü]6U•Õy‹½vûðÐlº"Çîí“—Ì’™¤„R™ÂVò¦Î—ósM¡=Ó2«½ÄÂOTuœÃýnNÓù¶®ËúnjNšžhó¯ÌùXv÷ÍÖo7Ûœ²t~·­Šºk‰}v¶Ž-ep
-ÌD{M½Øn/0®Ÿ&µ2VJ.þ¸gNŒhÆÔL¥ŒHqèô‘g1`rgŸ˜ ûLNźÉòÝ9 'R¦ÉÑ9ÏÞœ#U cFæ¼Â9½ê”ò»í&ëÊÆ¥¥¬ýƒ‚°ñµ© Ôø¤vÀ˜5ìõ ¸Žè'pôãK• ¸FÒD0o$vuÈ4É IÓhnï'ÄHb´VÁ¼×YÛNˆ’¤JÊoó¹,§#ˆ± ™>~ÜÕ%gœ0FÙqeF®}mŽâ* &cuϾ»÷g|W~^lõxøYJT*ø3‡<à:rÈ yµ)Úû©SÖ$åTW§lÑOëãÚŒ\ûêÜ •‚Pµ£Îëå}‘oƒ;¥¹V••uWÔY½ô„U³ù¦ S
-ÄDJY:ÖèU¯ÑƒgÝ®³Ï{æ²rˆØT;UYÛYm±ù mÌ=3Hk
-«añ+HR(Ã6pÛ*[ü :esE‰sÿLƒ¿Û¶˜J(`Ë\Ç
-XÍ(nij«w0¦¡2”gÛ®©`wK°ÂXiZM-b\’QCQ1*y ³ Õ‘¸ŽJÝÜcU¡2ÄNóÛÖÛeÂjÖáøÓKÀš¢]þ"¯Û¶˜*x!Š‰adr¢£ Bc³œ£jí¼£zêk™8]5ó n‹ÁåšÍ„ ˆ
-2[· Ï~B¹½Ÿ™h©K,åÖô…kH܃÷"·qGÊŸê¬*—Ø+%ز1åºðÂ>pžœ÷|éüÝCÀ‡ƒoð«²h-Ó~8˜°ç½X@÷cõ±`'¯šÞý)$ óuKlÀ8¢ …†T;
-¢C®Ã ¹ì.lè‚ûv ¢M*¾§¢Œ'PFIq\‘k_Ÿ;E™!4Qj¬Ð€¤4ñH
-ˆ¤ÐöH
--4h @# )4½KX¶I‡¼ç 1FRÆXLÒÁg“DñÃåèBy(²à¡È’Ù„"G¡Ž‹¨ñeˆ:^t…\ˆ:ž†€:v8€‰¥Ô‘VÞAzÿi*Úîx »W\-©à8hAaS¢´Ð×}óXøjÆQBº¯c½¢}º¿uÓydøUUä% ‹L–¶ƒL–t뇢H‡K¶aÏÝÏw»íƳ¸8Dt>’†Å¶\ÖKœÕÞŒNb¤¿/þëÀ²*Žà  ¦ÇAÛÙÕ–Š8ˆ­i”DQžu}9ÔX&â mßzšÃA7ï$Ø0šþø<™Ç=;øšÞ=‚Z¢ˆL%Ÿ,éÔ
-Ÿa„QùÌíúë0ŠE.»Õ¦(¾ÂB¥“àñ¿¿xËŽ*µÇ²=­NcÙH­×Ûö¡p9œóÖY[‹gÂð›áOo¾ÐÁEû¾ë ÕM?„­Ò ‚ –¥õ‘ÂÕ0\b0`<$»uÐëZlö]ä°ÅuˆsÒû›oWÞ¢m¢zçɯ$¦áêÕ*Ë‹ñHÖÏŽ­ºÙT‰mµ”{)OS‰cT–àA«ø9Õ!ÑÇ#h-³mëvÉCqÕâ€iøE Æ?ší¦v;‚Nxµc뼨[ÏØ>[çAJõrL¼÷ëÅøÅM_ oêwãK¹®+ª‡® %Ûz=~§ˆg¶‚ý…ªî¾ —ÙG*DŸ}-êƒ7Nö¶<eÉ3o©†\GÂLàˆŸ=2cÇÿ>‚Lx uT¥ý»ª=N¿«)õ¢În­²¤1‚I4\ fØíɽ1bŽ„ìÊe¸0^7ýRJ/xs0Ò€>ÃÌÔ…"1^„}à $
-Å` ú÷ü¶Êþ%€¥ô€e48ˆÚƒ…=Æe‡Ô€€µÜÓ» JØü 7¥]÷B¤
-Dˆ¡ir\Á‘k_ÃcÑ6oôXÅ×NÅÜ$½‘r#Ñ…L¸5Bo2@&XÕ‡6¶ßG#/cŒŒÅ9ƒsâf÷šÓ'QzDéa… ±%FN[¯¡Q`åfi±†¶½wh±9N•¡&í¥ ’?=Hþ4Bü†ŒR=a´¦Úsxçħ'ðNÊŽéš¿wÈ‚ãy`|råoå]öyе&€Ïdn¦Ã˜Ü+˦+WOÿ__ÓdŸ°íªr:_êòªh‹ð±Øå››W/õ·EÛfwáÌ÷?9™þÎÄ–M¿ÄäW4~UùoàÙÀ
-u%ÀÒomvÖd÷ÞÒ9°½xËæHzñ¥sÕ&R®ñÛCìüÍÝÆâ;xw-NÅÔœ¥jßüýw¥ûŠø'vrѾendstream
+xÚÝZÝ“Û¶¿¿B“éŒu3
+aGÖW÷WrzOõ«!(‘E*‹Ó€b>á<Ê•ŠGJPy”ˆXh%|õÝKøöEbOilJˆ2!%©‹t²®»ž¨vI×E»ÙMÙÑ]·ßnÛ]_•t;43sof®XĘÊ` œy×”‹Àúq ¤H Ó¢hÌŒ•Y¨ª·†¾î®³é¾iêæ!´&“Q,ÓüßYóP÷«voÄ-v×<›>ì7UÓw¾;™ Ç–q8‡ YJ:Ýï4/0®ƒZ«Œf®>?1'Ð’cM2¥ a0L3ŸKŸ¾Ìà¸p£EY~h›ŠôH]¦Q3«‡i4gœGYæ4ú60Šò4Mì ®‹® L#ÀÈ¥þÕiÞ×Õ!´åèsÄôî]`ðÝ\ÄÖêm³¬ö»¢¯ÛæXõBÀÁÆ0ÝEÝ;®Så¬J€ˆœñd¬ý›¬AÄpþtÑZÖÔaU¯‘äù´_™±®Ú½¯vD×]ƒÇ oVõ5Ÿvdœ1x/W*ã´A@‹­M&H“)Þ/ûšˆŽFqÍátN}ÅzÝfMu˜á¾»€/e<Š¹;¶v«õL ´tEWi
+²õîÁéÉfi$•ŒÍ<Áµèh­½‚6’,m9”[mšfg­àT©R»x×ïLt™Ì$ƒX‘Cl6ꥤÒm«Eýc1ººàéTË Ê¥ƒ„á
+nD\ì·}û°+¶«zAOô4úáCÕÐÚ3ãå˜ô׌ͰЩFÄjºÔÌíï¤ 'JŸ) aÇóHR€àƒ1EÈé_VU
+i%LZ?Ò6T@ÖSî Šk™pÓ˜A§BŠa}{ÂÈx¨×k›‘u[”$›ÓБdؼrÙÃc
+ÃJå0UG|¤x ÑW8 sAG‹AaÂÈ`…¬Á¾ÂDaÀ‚f¾êW½?
+›ÀÚIPKÚCïÛ£%ÊjYì×FIx`ŸlLÕñÕÓÐ b4°›%Œ9ÝèÃzàÙßéÚ?n ˦è༾ ›¥ÎÀH}⽕óO Ã?¾x|fö2ÚóOL±Wm_©a¾+?W½ötºjSÏíºm|tØî›àI8y” 4$ˆ–æ!C»¯¬¯»6`epÚqž
+¿ë"`ש8úÔ¢'1¡?Í ­3I~Àlßž‰ÁÒ&KÇÔŽœæ{óºiç3Ó·Ú´þŒ£ï¡¬=ÐvÌ2,ðÜsX^8¬4 ñ™]k
+×](†Œ>H` :Úž¶¥U†½ èfÛ0HP,OýOP€ûÕy «XkèQý˜‚ÉDX®gfæ-ih¡±Ô&\Ú¥I¸æd³A<õ‚8Ð ]«_á ÎO槯´ØØJAƒGù¤¬àÝMmÃÌ!üõ(•Q*FØ9(/h%“Â}Jþ=±õZpèÓºÃH›b
+S©ÿf·Å\µ9 ³u†‘ÙHŸÏ«~aâ5½€€bãþî+¢µ®5Em7fÃ7¶
+Òd×QÔñÂ<D”拾ÝÙH¤!ðB÷ú‰Ôƒh0ŒÿSÒ
+íæGÙ¥n´*þwløráíÄ”®ðëëM îs-²ÿpæþï÷ÿõpøk%ö^³,>Ó7gBaÎí¦P\žå ²D ¿AÈ!Åwa÷ÝæžþG7Öî€ßÑñ«æi7ÖýßñT ÿœ¬w#endstream
endobj
-2826 0 obj <<
+2840 0 obj <<
/Type /Page
-/Contents 2827 0 R
-/Resources 2825 0 R
+/Contents 2841 0 R
+/Resources 2839 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2830 0 R
+/Parent 2822 0 R
>> endobj
-2828 0 obj <<
-/D [2826 0 R /XYZ 56.6929 794.5015 null]
+2842 0 obj <<
+/D [2840 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2829 0 obj <<
-/D [2826 0 R /XYZ 56.6929 751.6872 null]
+2843 0 obj <<
+/D [2840 0 R /XYZ 85.0394 752.1234 null]
>> endobj
-2825 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R /F64 1435 0 R /F42 1288 0 R >>
+2839 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F49 1308 0 R /F64 1435 0 R /F54 1383 0 R /F42 1288 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2833 0 obj <<
-/Length 3164
+2846 0 obj <<
+/Length 3283
/Filter /FlateDecode
>>
stream
-xÚÕ]“Û¶ñý~…Þ¢›‰`|ƒœ>9¾sz™æÆñ¹mf\?P"uÇ„"‘´}üø.>Š×éCÇã9\`û½ †d‘„YÊ*åH`"›Ý^<·﯈ƒYy U õÝ»«¯Y²HQ*©\¼ÛF{%' Y¼Ëß/_¾ys{s÷óõŠ
-¼¼E×+ñòÇ—÷ù7;÷æ:¥Ë—ßß>ÀOž¤€ˆÒp/ßÞß¼ºþðÛwœ˜d‚™¦å·«÷ð"ʸˆ¥‰X|‚‘4¥‹Ý ΘŸ©®®~
-F_ÍÒ)p‘ A¹\¬G‰„=&…pð•)’Œ²À(žN1ÊCiFŠMSoËÇÓãF!&‹xÏæ
-bÙषu¶Öþµlöo^¶ÇIÃ
-;†<‚³Ò¡ŠhÙüÚ/Yg›_?YÛÍí̦ÙíA˜ë²*»çkBȼ#c„­mÞìŒO5?2çä$„\*ÄÐŒ³ªuº²vªvïl÷SÙ=5½·sgžÎô»¢îN” NQ¹MÜáôÐÎY´ß¥Îƒ‰k!841db ø¡ÅÐ÷“߈ 7ÚXzH8
-Z SN¥ôÁJëƒÑ Ð7öÒJ‚¦ráVuŽÄlÊí'HJæ!u`©‹jÊԫvYϽâ˜!
-¼1N<e{}ævš9˜°ä«˜cM¥àŸ¡^,VÇÏ0Žê£`/ð³¾Z$ü‚¯Ž¡Îûê
-i
-›6BX¶vý¡6Ýíæm·ÁSŒ¨ö…6p´Îœ• °ÆÉz^
-E.˜é„Ýsû)s±IW*UÑùP¥-loÊœs¶ÍuÆ#Ò ¶AÍض‡²Uݱí9ü‘mŸ0mÛ1Ö¶iʽSfÇò&Ëðµý®lA‚æœ,ß:3Ö ÁŒõZkÆv»ÈŒõD0cýÛ±^Ó8\ÆŒÍÈ›ìY›6Ý5†Y0aÌ­ ÔóQìhÂ0v&ü­+]{·üS©¾^½v‹,ÑUewe:<DE.
-mø[vf‡dÙöë¼ÙeemÒxEâT<Fp¢Oz©Vãszè”Ä°÷M.‚³Éø¢6o
-ׄçxà0’áBE—&“9¸R¡Ó—Ù«¥bãPÌXÂÿDó‰äË Š×{䯟ûñý3…"Ãâ9¤h„uÈE
- Y"é
-Q‰¿ìJPž½dáT¥³ì@#~ Å ÂP5boè‹IÿjÃü²o9(cþèzèR;‹×N8g c¾lÀgnÝe L„1: ‘>n_Aˆ¤*’ˆnsCh<è„6jÍlÍë¶-6+û
+xÚå]sã¶ñÝ¿Âo¥gN¾ALž.9_æÒæz9;f.÷@K̆"‘:Ÿ;ýñ]
+PÐìýÛWß^-¸Ì­Ì^¾{wýöÕ›¿Ã³¢
+(ÿþ‚asuù”0kùåöB*A”"ÍT7?öoç³,`”p¡ù 8ð gDY«.²D .nïËöj!¨Í–Ív[Ô«ø°»byæ~Û—q€ Ý}Ñ¥‘ó{‡Ø`&Ñ(¡w±ïšÅªn[·D`>‰‘F!ì?›ÚEÔÍCW6ußá\ëÒºMÄ$‡˜¬&’Q‹˜¶EYwð?³¤4$çT#à @ÉeÖ﹨ÚæÄîÕåBHMT®€ÏŒ«`à±xN,¸Ö¸?"á×êý󲩡”oöÝj¥aÙªyŒ¬žêb[.ãü«·7$Ž~¡ŠÞ8Dö çòÕÎd?=¬Š_¾kªrYºÖÅàC\-’i²—«mY/ÂŽèx'eÛ튮ÙEïÖ.Ò[/]œú¡¨÷EÇë·m"T|Z9`}Õ ™MŒƒؾ4TÉóü„2G Å*è²´söœ üê¦+×OQîZåÎH.ªZÔ¢!JnIž›¤EfÐ(bIÚ³¬Š¶A#ɵR_ŠæSéçˆÄz>~<æ%gœ0FÙyföPSnŽì‚ƒ¤–É1;ß»ÖyÛðr}û×Û7¯F‰»¶-6Þ'Œ!j <É)ák£JŸþê´ð{(þ®XºãuÁß+ñ̲3]uÄ$Q̈ñ²7®köߺÝ'0…‘ÙŸÚdwûͦ¬7ñ±rŸÚQððKIt2 ’™,3'Bä¸bjêv…!ÜÚ•eW¯–ˆ;1äØ B”<iàiQqðwTÊgD5€:#ªåWümïvOU³™ÙŠ‚8ÇXÒû zq&GQ†X)’¡þc 'F‰
+:ä|ðÁ“k¿ž[ÍÇN·L2'%kˆå4¹Î˜z¶óÌ¡Lä¿‹9˜EZðN†e‘'Ó
+±ÄyÂÊÍÄwRp#L<³r5]ú(²Z"­<Zû½«šÂ[°4[å0•.PðÖÏŸãèS¤w§ñcÕî1NùĤ}ÇwÁ¥Á`ÕÄ_Èâ ú„Ãçî3$ÆÑA Žáªm|€€Ž4*·êÈêÊõÕ‚Ù…?ÅÑ}ñÉù‘ Ö¾ñê±àPUÆzÌC¤ßuÑv>ˆß{—çGEüx½¯ª9b 1½Õìânf´š#z-}¼wuOfJꔘ¸¦Î*ôþø¶Þoï} î3p:~tç–Dd&¹9âNŠ.ŸšruœMÕ.E¢bÜg(~jw·mV¥É2)†YnSšê)›d©ø%yÒ¼d2¥Rœ7¯!Ôióê¡Ð¼ö»ßȾ ¤—àÄÎ/ÝCM×Ûƒ¬Þp5^üÕ~û
+f6¥÷Wa.ò-d{!0{ï[~
+þ[7rŽôõËî˜ÉÝ_n¯}âü­WÚ“;·„ öLÜ
+KÁuB}(GY<LÄ&ÏBH™Ýö@€vߎ+ЦÞ4‹9§ƒÄˆ•°¥›ˆm|ò¨}Hçàm³ƒ½ä‚Ì°êìçßR_A(/ë6ꥣ¦z›Á-I÷EÚµì[z%“»‡ ªæ/ÏΈþ1‚üî;º‡;ÈÆDžóy%:¢Éó;%€40’§.­¢×Ÿ;W¯R>r³xhvxHú·pÛ'Öü‘}R+‘1K§ŽïO¹ðo 0“endstream
endobj
-2832 0 obj <<
+2845 0 obj <<
/Type /Page
-/Contents 2833 0 R
-/Resources 2831 0 R
+/Contents 2846 0 R
+/Resources 2844 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2830 0 R
+/Parent 2822 0 R
>> endobj
-2834 0 obj <<
-/D [2832 0 R /XYZ 85.0394 794.5015 null]
+2847 0 obj <<
+/D [2845 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2831 0 obj <<
-/Font << /F38 1082 0 R /F49 1308 0 R /F22 997 0 R /F21 994 0 R /F14 1020 0 R /F42 1288 0 R /F64 1435 0 R /F40 1218 0 R >>
+2844 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F49 1308 0 R /F64 1435 0 R /F14 1020 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2837 0 obj <<
-/Length 3586
+2850 0 obj <<
+/Length 3580
/Filter /FlateDecode
>>
stream
-xÚÝZmoã6þž_¨Īø¦—öSÚM{éµé^“{ÃvSlÅjK®%'ëÞÝ¿ÎP¢d&Ýâ¾u¬¨áˆä ‡3Ï -Îcøç&‰’\æçi®# s¾ØžÅç+èûúL0ÏÜ1Í}®/îÏ>ýJeçy”'29¿ôÆÊ¢8ËÄùýòÝì:itCijnß|y1—:ËõìêíÛëÛ77ÿ€wpÄñ컫ۿ^}K´·¹œ]}}}wñþþ›³ëû~9þ’E¬p-?Ÿ½{Ÿ/aåߜőÊ3sþ /q$ò\žoÏ´Q‘ÑJ9Êæìîì/ý€^¯ý4¤m²ÈH€2t¤´|AQ"J…
-o©2“‘’Ê€|¸H\Ñ’Ù|‰”Š²4I™«ªiIJX¬i’§ª|F;ûÒ2›Ýƒ„0Èù\™8ŠSeUåÆHûý†TÆ÷Ðtkjµ]ÑU ÿH懲ʺ€VQ3iy„EW z¹ÿóõ?qóº\5]Utþ‡Ñ‰…³%y¥©Ñ¯ÛšÏõ²±õ\½µ-ËMÙ•¤ÔD{Ÿ$Y$µ¬TX!j?°GN‚RNùï#©H‰4a»VQŽÇ˜˜ÞŸØžG™HÄëÊè¹Nµ1²ë(ÍS=VÇÒÄ\)Ø?xÈ|¶ªžÊš(Á½ÃÐ 5­-4[úÔ#$·åþ©Ü_¤ÍÏè|öclâûuÕR÷²)¹U7™¥
-Ö!tw凎[ë¢#Æçæ°qÓÚ]Vu±¯Ða÷¼Û‹’P±ÐÚ:v2‰!ÀG¨©€‚ ªÓ š·ºqDðý
-)Æ8ˆ)
-FŠb‚5$ßßׄ
-zWGC’ƒ«£Ô¼‰Nr32;Z¾èóÏ!>UEÀwå¶_O*ø‚K4Ö„ÜN;/ûÐ;Ô OY9»ï}(x¼Ú¥x/ÃþŠ_9Ó+'€™,¬V¨irïðøS“jH¶ù¦,6%ð@ª~^‹wBŠX-?-6+Ðy·Þ 5‡¸ …3Ôñðä1’úS×m¹P»b_°G´ë %M²¸cdÙAçûЉK $9}ˆàiêÞ[_Ô·BùY
-Wâwä ja)/ÕÎz¦C›&"ÀdεÌðõAÄ0‰¸\¹¦­â%‚áƶy*éBG"gonï$bo¬ö¥+ºÒÿxÁyDK>º¡y(1Îw€û!¤Ó øyØCKm[´„¡šzÕÌ{ä¹^ŒòV "²²Á­¥>4Öö`+‰Ð[0Õ“E±4!føÖÑoaPE]‹uQÕ-&vYÏô¶k†Z Òkz²ÔÚÅÞ¾K»œy* (l‹)CLr§9JEƒ •…%uŸªÝûÖ‚•
-Å––È(×* \3ëKà}r=´1aBmP5[VínS9/íХؼ–Œ9
-—ÉÒ­äÖbvSS_ Aj{à“Š¶tŸFÈ=vŒuÜ<ª3 ${[YŠJÐÀŽ~—;kŒêX¦‰÷õOŸý}µšë‚M+ä¶q,¹1>¾×'0”æûÐŽÖÛýÿóÍo§ót„q{
-á;‘Yï6m.†cñÁ÷|‘æ!Ûe#!vôà°—š˜³x$VÌÌ&nGq‡Ý®ÁòÇp¹`×2ÚŒm .
-µ¶ ³é˜Vñšœš–Kyj/õ˜Öy¾ù­²¡ÚïŽ>&9ö4Ñѳ§bs`2;é¤'1Wm¨ê©³(ЂÕt}ìËK£ïXé°r2A˜ôîOWsa/ ÄPrW$䀷yÄÇ h<|a§™Ã Ûâè
-íy¤D®ÆZFO¡¥ »lôw£2˜ŠRüÙ
- È¸ÏQZÿæÊÊШÛÈrC…e Av_á¨Å†™«mÿ]C¬Ånw!fäÍ0šo͹-º×Ôò ½µ·¸q ܲPåö `n¢Ì †š«H›þ' xæÃÅ{‹÷†Š÷0ßY’…í@[]A”òƒ;@-ÅÆœëÙl]~(–àB·Åæ’3¥ýhäõqg€$ÄNÿš™ *žªnèÝ-U+×r‚§Ûñ•µ »
-­#­ú¼j
+xÚÕZYsãÆ~ׯЛ©*Æ`œ'yW¶eÇÊf¥$NÙ[,‰È‚
+¬i"m”f‚]S¬ˆ^—ØYÖU·¬žÅQ¦@?èáUÛ<–»=e¿.»Ž
+ /•‚«¤-Dd“Dº5ªfߢʈEN?ëÃ&o–´B^äë’ÆQÞ_R³jŠj•ï‰[è?­«ÕššŸÊ玗£%¨³:ì¨ÛìëgΛÈpJ›çüįq,›ª[—Å”O
+‡4{¬½{ÐÿÓꛎ/ÚšÑEÛt±lºr¥¶ù.ß„®TªÈÈÌ;Á®D…kîÁólŠ8æ Øu4uï®&rúÁ³À¥¦Àúݺâ…*&æ¿Päó°Ý¶;¼Pº
+ÏËä.6%x
+‡$‹ Äd>fÕÔ ÓåÈQÍı$ÑÖ›ž µ5³Å»± ²±îO3KVlÉÊ[²$Kv§•2…ð“É©åõön·p’úÞ_þDsÇñsõŠþ5Ø™¨ªk^°~hw ( *5¨©*è\/Ã-w ûmÓñ´sÐø\—×{«˜'ïƒæŽž·{N5…Ö¹³}3‰3Bˆ.­2–•Œ{ËagLdùbñ˜×¦!u±?Žˆ«ŽîWï€V”¦Æ«½¨@Y `fÞ²ÐsRAØôöûË¥@‡;Þ­ËÀ–BŠHg&áïkx`[¥¢8Í,SmÀ›:mÑ€«”°j*etvìÐç`<ññÎZE)â:Z2yÀ…©F» q1Å¿!/m4ÜÛ¶WŠBBîÚ†~ŸÖ%¹zì<·­ðùãcIR ·Âv¿l|Ø7*^·'c‡€M¢À‰–)IX9óü½ò‡¼2V^^)ÓÞ¿éEsØ|tqÌ&³âX^®š×L\múçZ"Í·Û ± ט «µº º†ZeãXe µôÌM]‡L²OYg(ªsò‚¢ZéÄø(6…hœ%^eªŽ¶Éi‹n¿ã@—j‡±"ßç4R~öÔQh´îqj]~Î p¡›¼Fph¹~åõóÖ
+\fr¨Cʪ"‹™²Oô–*¶‹; ¤-sTò÷kŽÎ
+wœÝ4¬fDYÓ‚ƒÜY;ÜAN‡,L˜¡eHj‰ïþI©éé1 kðú¤û4êu†›ð¾BëH«>­ð¼Oú-?C–Ò¯>ÏgÒçÈ]ç+¿Lµ÷°{?J:££jKÅI&Îuj!ŸÏt¸@ÄDË1•+Žh(õTÎÁîó}7ßUY 7trÛžêxß©DÑýÅ™™nü„fàPÐÀ xËr÷ˆa˵'¾s‘†¡Yˆ
+ð’{
+ê%þ)‹0êX§”¶oúï#$ñ_½ù> ItÏ3ó~ˆ±ÓÈ
+¯†ØwRÇT/ëqOEzÜn/–&Ž¿,·ŽôYeàœ …8¹OuÌÀ,Š¨(vÊÀ­c@Å_Çf¤´š„…”ë2 ê}v=ª#Á3œ^—xs8Š‡ç¡³ë÷ «8<¬é¹â¹É7ÕŠfÛ‚"´ž‚럿}ï+ÀQ–β½¡Ô
+ ÈÕ»ðå6Ê“Hö¹¬+Á6ã"ɱ 4±YŸc¼zªI– NÍ*oÂ_ðÊ”W´âùˆ ¥ê†jg$È•Ël‡+³øò•³±ºnŸŽ;!×›ì:N(
+,Aàñõ=Ì\¡œ†LRñÚ‰AÚ™öÒ^ç…7ê¾&ê
+õª¡7ºJhͨn‚C¼pÆ„Ý{Š?¿¹Â (ƒµûæ@‘&¼ÓDž¢‘ŠžèY"ÈS[a,Ñ•ÿýû<hL˜€>k¨£éa tJw(4X‹ßÁø*ç׉‰Y Ÿ’ºAä:ñïðê6/fÄ|œ— õŠªûä^ZXÿ"Cñ"Ëýƒh\©ù©4î
+uøÊVƒÛ̲¼«ŠQ«¬ðL¹Ï¬Àï
endobj
-2836 0 obj <<
+2849 0 obj <<
/Type /Page
-/Contents 2837 0 R
-/Resources 2835 0 R
+/Contents 2850 0 R
+/Resources 2848 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2830 0 R
+/Parent 2822 0 R
>> endobj
-2838 0 obj <<
-/D [2836 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2839 0 obj <<
-/D [2836 0 R /XYZ 56.6929 104.0524 null]
+2851 0 obj <<
+/D [2849 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2835 0 obj <<
-/Font << /F38 1082 0 R /F49 1308 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F54 1383 0 R /F42 1288 0 R >>
+2848 0 obj <<
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F64 1435 0 R /F49 1308 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2842 0 obj <<
-/Length 2763
+2854 0 obj <<
+/Length 2029
/Filter /FlateDecode
>>
stream
-xÚ¥Y_sÜ6÷§Ø™{èºÍ2ü/2÷ä:nëNãøbçæfš>È»²­é®ä®´vüí ¤V’µI:7žñR ‚
-û×ÑïðÙ
-ŽöëgÊ;3{‚΄÷r¶9ÒF1£•J”õÑÕÑ:†½ÙðꔎŒrÌ8™M(IŠ™Ì#Z2žY%U8ËÕÙ)ãä·«÷tt){Gç3˜…Í Ë·ÕjÉ–uuû‰nàŸxE¯ãÄ'îŠ
-ç\o®Ê7Åj’8É
-8õ‘4ï‰$dœƒzÉ?ž_¼¥}<ÉjSVeÓnó¶ÞéCq[l…›Õ² Ò»¼Úåë‰ 똴ÖFöцª\hÃq‘Ÿ-”eBkG.÷ñú—÷¾®Åóª-¶UÑ’$WÏM[lz8­«¦Þ¶ån³ßW3¥­Œ|´`ÒÓvè®Q?¾¿
-–p­u<@g²)†‹´v¡ ‚s¦‰|LJðL(e&ùö—ˤs>JðIÊlï%4‚?q.ïv`¥²®ˆˆ”u1©ðÄ1êÛ“ó>WõCS6cZ
-|SÏÀ-¸‹•€Aż½/p0¡nœê n*IÜ$¸ŠâYÏ•&ö–œé,Á@¬ ”v;<q;O>šbû°L¶¡õš&wm¹.ÛçcpJÀàÂ
-9¿¾§sñžäb~ŸGbŽ¢Æ8„¯ÍlÑ©ÄjÊM¹Îq3iæŽÝ|·lwˆšW«8ý\µùg·õ„]„æÌi›Ž¼eS†Ô·‹&¯ÍüªÍòEÕ6që¾£ÖuSaô¼¬ˆz³Í—E3’ÂÄ:àŸŸÊö>i3+A’¨Bv8ó¨øM Áz]W Vz~ºÎw r—qG\Lˆ„¦'-NtÒ†‡uSÇe×ø~'\Üå:1Ü5zâe½AÎQ®öy¤H›àiøÈ–»‡ˆ‘ÅêM7 ![
-
-§K¯7 Á篿'Ú÷¯'_øᇉW^­­é·@•ã ¾¥ßuYn$ÛǪüü’Û¿¾‘ÙKü÷ýZÄí0ˆ0‘ÚÍ7»å=Ž<ºÿñ†äö>¯&vój\öœÚíZqÍ ›%tâ^Ñ­€ÚÞ“EãÄÞ©ÞÐëyEëêŒPÍhÕ+šLwÐÊŠ‘_ÄxBÚ/Òcž4žÓÏŸÅóh›r <ÒüáôªC’÷¥–´fžËT5ö$‚ˆ^^â9ñ UöXÄ#‚ƉC"X ÊšÈ{UÜæ»u»ˆx)Š³XÀʸœv ÝÊ(Ám½^×O!ÀÓÍ3ýR‡AkH_Â0­ùH÷u­V+2sÓ]<LÐOŒþƒÐ±˜q3â¢T)ÂÃì}Ý´4z*×kÝÄ7w18ÂÜ}QE¾5þòÿ˜]`œ¸Þ•é…<’òôľÛE %…þAFäÀú-ϦÍCÊŒ¹Lº‘Ñ=_rµžqiì؈ÒÅóù¾Œ(}4"’r|´Š#«8‚ÒŸîK }žå
-4R¢ƒŽùæSçñ‚‰¬«ž§"¡†åÚ÷± çÒPafFú¡s>P”ÏÏQpëÐÞ/7‡ w(µß»\Mì®àNe¼é—JÖϨúx,Á+Wá¤@ •’M„m©€E&.ÊÃ@Æø…w17ÂI ¥ÈXÆMö5õX®ÕØÎÀ“„u`ç]Ú&Ô–, ›¼]ÞGe‚˜³Â •YVwSnβ³È¡0¢àæˆeñ(¢ÁѵP ¥ ŸÉéœËñ„d‘ì:$;JHÉw kð·%°&
-é–$@C¸ø.îŸHõ°’"PÔTÆÖebˆÛæB6ÅØ,;
-PN/xû"—2"ñL饃a fÒŠ.ÅDli-¾Ç–”óŽv@RRta÷›DÝÊõ2á.íSFsš àšÆf `<Ž\_B’1|Iœ'$e¼‡$ŒQä#Y%(Áo„R¡”ñè<àL!vá@?÷ªknu¥D½Û.‹æsÌå}ìx‘ð¶™P TiÌb>Àoz“Å£ÚÇH&¬†C,Á«cº‚Êw¾ õ#ÐP!H … %”Ý@iBÇ ¡R…Áù壦9*‰dãòš®‡Ë¸¸WÚM„S’m`ô¸ê õÆ:Ýa'êË“Ûv_”OG –aðúZ\vpMwzŸUžê ÄêUª½SÕJä~mM%\;w«"Þy¼7´[ô÷@JÊÖ®»`t|±\£°Jø¸Ã DBì2„þŠftGÏ å©JQƒðõ¡¥+F˜éÓð
-à8º‰‹b¼B~UÓy|OE|Ø%AÆh˜pûVó³<˜m¸™î BóØ(^JPeþgA#¢Ìß5 …‡& Pïaj…¸vJ™Š™ªÛ¯¦g˜JSrÈkáο¿)_pÅœénu¸oœªnDf2d‰Ê =ËQt?DKõ:ÁeocK,…nHÙ¥ß~ˆÙ_ég\2òÃÿA9Ù9Ü¥´üò]¿¥x÷²G¡9ºæ]èPà8´¡ÌçÁMBÃÛç @ÉK˜”rJÁGh
-dÐM¡H±¿›9Gq ÄÑíS®‰,³zäЩmòRXl9•Ü2_ßÕ[8Ífº.„êúhû«/æC‘R›´ÛçTçÂÄžix<ÐNÏ drÝýéPó
-Ú¬W±ÐȲýµr¿k¦úÁ}[¤æ^t+l¾^'<î· ¿XÙÀ¸lR_6uÞ5²[Õ»PBàø¯ܲÈǦ>üBIŒ_k'¾(ñî#ÐÿýQxÿU\gL9'÷ß{NÏñÛI(Ô”p>ô¶lÿ«)ó,[\Êô Îð³ÏmQ­’®ÈKèá¿A±Å¶)ñƒ’cEt£_jâov‡<endstream
+xÚ¥X[Ûº~÷¯0Ðùœ˜Ë«DæmÏ®“ú4qÒØ)Z$yÐÚ´-YÚZÒn ôÇwx“%[›œ¢X`M‡Ãá\¾ŠŒ1ü‘±ˆQ¬¨'Š#‰¯#<ÞÁÚÛñ<ÓÀ4írý¶ݼar¬Ši<^m;²$ÂR’ñjó%š!"ÑäÛê÷›7‚w˜)0Lá
+ì¬Ú­CÆãB"Ay fdHRE†MLàŽ˜ŽQœPÞš˜«!.c‘ºÊvÓ<«êËû‚W„Ž»B¯Žn¹®Ï¦´s6!ñ„Šþáï̹S*UTï5 ŽŠô +G+·î7Ís·¶ZÎß:ÒúT9Úº9'DFº¨ó ‰NžZ_1¦»Æ­mÜ®mytËM¥åáäb†’nÌHŠeÂÇŒÑhãÙºWbà‘$N<WV8‰:]ïÝ!O™~6ÁAÆ©ŒVpC2ž2N˜5RBP»?w¦€|(ë½UuZgk¸þÉÍnTo ¥…'mN t¶v“Õßfÿ2zL ½+ë,­»ÑU˜ûXŠU‚$† ÿ0àº\/\Ëe.ú”æÙîU‚ÁbH¾¯X`7
+”ÿøévÛ›¯÷zýG»‡¸Ñ瘸‹Ž£1¤¨óŒõƒeFȃIOKÊQüøíÒ ‚Âl‘–ëÚ$ý !%ŒÊ¾MfEúëWàG›¬jgIdC–±p{3t¹bhçØw0MåÆ=6Ü(#ˆ0Fûáv¿X.gw“)£IÇ#9‰e­ò‚PHÝÖ¬›¢ªôzª­êé'ˆ30:Í«ÒVh½©Ü°ö¤m~eTéº]¸ö
+ÏY½/÷¦ÊŠ7d°×Ã=¢¡äù„UP*c *Bó£„RVðR?écšûÀqž³¦…)TÌ*Ýé*T‰&÷oÖ’rí½tœ$< 8Ü´ålæöÞ¾[~øyŒ‹ÍÁݶÎ…ÁçWn»Y˜š….Ìšì¬ÙÊ:H’:Ì.šðEÝƸ¨ßæ‹{·Qù›lYe,,÷Io}nko«÷iÑ€üK(+qðôpÖ‚A “êóöóê¯>ýÜŠó¢ÖÇBûF`yªj}ð^½+‹ª<ÖYs8ŸËãqpgPl•hûæú:lœ Ì9÷7h}6$qx§,,‰Ý²
+¦ýž€Jà÷+¥É9N.»œ!û 4yØßSQ>VYu…'йHà¡’CZÓd¨˜Ж
+F?ì}º"®$ô>-× H@‡5÷³åݧùGƒñÃL¿!‹C7¤p°¸A¨Qعͪ7·e؆2zÑ @¬0wbi¨ŽÂë iÌ’ø|²KPsœr“úŽPé#À]«`íà.w‹MåY}šBLs¨„{w/ÜÑœDûÔS¬ÐA`ÅE¿6WÙ!ËSsÐA'2jÖuJ¦¡ÚÆÚ.ŸŠ:ýîÆm“Ò/IãÂÎÛáEÇ@ñK„lñÞx"ZB §P“+tW@©¼¬´U†Û'‡¡>Óµ®.4 ´s;™›Â¬
+ú^[‰›îžÏ×Ñ’ñÒÌÜÓ̌ɞ´_qÙh²F’—Tˆ9‚ž:¼“üÓcê-p­ŠŒQÂEx3¹Üi™×`[æyùl‘f'÷ëp…o
+ ~™¯<“>À–[6çæªrâvÁýxø§…&$²êÚnu*( «û²ªÝè93Ÿ†ÌèÁïl<:ÂÚ^^®}¾áž|_^`¤îà-ç7¤ž”†¹U{×xÅaÿÐçA`l¨sÀm±ÿ¿?ž?ªòS¾ð±áB§‹¦)$Cs%ðì{ Ð> -ŽºÉ?l¥ÕÇ*3­‚ùòÂcÁ"xg_<Âæ-D¬ð_9~endstream
endobj
-2841 0 obj <<
+2853 0 obj <<
/Type /Page
-/Contents 2842 0 R
-/Resources 2840 0 R
+/Contents 2854 0 R
+/Resources 2852 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2830 0 R
+/Parent 2863 0 R
>> endobj
-2843 0 obj <<
-/D [2841 0 R /XYZ 85.0394 794.5015 null]
+2855 0 obj <<
+/D [2853 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2844 0 obj <<
-/D [2841 0 R /XYZ 85.0394 752.2635 null]
+2856 0 obj <<
+/D [2853 0 R /XYZ 56.6929 627.6401 null]
>> endobj
-2845 0 obj <<
-/D [2841 0 R /XYZ 85.0394 690.7232 null]
+2857 0 obj <<
+/D [2853 0 R /XYZ 56.6929 543.6838 null]
+>> endobj
+2858 0 obj <<
+/D [2853 0 R /XYZ 56.6929 478.6872 null]
>> endobj
958 0 obj <<
-/D [2841 0 R /XYZ 85.0394 652.8084 null]
+/D [2853 0 R /XYZ 56.6929 438.371 null]
>> endobj
-2846 0 obj <<
-/D [2841 0 R /XYZ 85.0394 620.2487 null]
+2859 0 obj <<
+/D [2853 0 R /XYZ 56.6929 404.7566 null]
>> endobj
-2847 0 obj <<
-/D [2841 0 R /XYZ 85.0394 585.1376 null]
+2860 0 obj <<
+/D [2853 0 R /XYZ 56.6929 368.5909 null]
>> endobj
-2848 0 obj <<
-/D [2841 0 R /XYZ 85.0394 520.6753 null]
+2861 0 obj <<
+/D [2853 0 R /XYZ 56.6929 300.6725 null]
>> endobj
-2849 0 obj <<
-/D [2841 0 R /XYZ 85.0394 462.0998 null]
+2862 0 obj <<
+/D [2853 0 R /XYZ 56.6929 238.6409 null]
>> endobj
-2840 0 obj <<
-/Font << /F38 1082 0 R /F54 1383 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F49 1308 0 R /F42 1288 0 R >>
+2852 0 obj <<
+/Font << /F38 1082 0 R /F54 1383 0 R /F49 1308 0 R /F22 997 0 R /F21 994 0 R /F64 1435 0 R /F42 1288 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2852 0 obj <<
-/Length 1824
+2866 0 obj <<
+/Length 2469
/Filter /FlateDecode
>>
stream
-xÚ¥XKsÛ6¾ëWh|)= < ¢œÄIÖŽ“¸LÒh²ØòáŠT§Íï R”ÍÔÉtt °Xì ØÝbs
-?6W I 7sm$Q”©ù¢šÑù¬=›±À÷Lñ˜ëÑÅìáS‘Î 1 OæË‘¬”Ð4eó‹ü]tLXJ¿xþð©’#fÌŒrPà¸^=yL¿8{Šœ{b¹ÖD3aëÑùùñÙ““7‡1WÄÆŠÒèôèì—£Ÿ‘v~hxtôìøµ6;¾;˨p^ü5{÷;çàóó%¤j¾… %Ì>¯fR ¢¤=¥œ½ž½ŽVýÖÉà1J¸HøDô8ŸŠž2$\xg/Vv}ÈÒÈÆ‚¦Q¶›è¨Û6H]4UÕÔHÜf7-R»)W¶¶ë¬ ºUØ}™µ6N$RÛn]ÔW8^6ë ö´vz;¶L¹³
-Wœ=Afƒ„kÏØ\­³
-O’³‘‹’¢OÃI®ë|;¶y<¬ÄŒ£÷ ‹¦^‚ùAÒ8XÂJ‡Û³ÈÀ{.ÓèÒº¯Ž6­Í‘â¢à¾»(¸õ ‰ë¬Î›
-ÇÚ›CÆXô
-±]b0tšö¡Š|G¡ƒõ,°÷×ÇMúëãÖ—èb…+½S0,êëMG&ã‰"Ê$_K ãÀ˜7¶EÉuÓ¡îvU\#i[t+áu«&X¾é0 
-5 !ëUÑbÉÞgE™]–§.¿Ü·Êêµ7mg«RB0½¶Ñg¯LoŽNÏ>Ìvѽ ŸažšU×½—ÄpqRµmo1Ûl±Ú…o8Ã%„#–P;¸TXpƒ^Ï)÷’F‘4Q
-ØÝf,0͵³ t%PDÿöéEïÝ“Ü.³MÙÅ­]¿‡’3üe³ÈÊUÓvßût?’ý—YPhï/Ì‘?žÔôi&äN öz“±Ú{­öªuz¿jö…ª;Ûvãù}º¹ ›ÍtŸ+Ëóµm[;œÀ”‡×Í:Œ”Pâ{~úzO¼IÉ8÷z‘•WÍ’ òYº#_UÙ"®r5éŒk-¥ÑAòôtù‡/Ú²¼¹äòʼnåųã¦\²²|þâÛòãÁÿð!Dõk<H¾Ôl¯Ä'éyò觭y»}³=¿¾ýióò‡¾Àê[•+RO"EÖ_îû’!L”]6ï-ÒìD&ê%ô͘5Ñ œ“T˜¶EY¢ÜËT’‰Pó‘Š–H:ÜyoUà]JGþ–ášPø1˜0äÂ6–…‰
-à€¦VÅb…+ÕE³¾eí2Éío
-¹À¢Øy$ø¸¡ÜMb’Tö ÓØ
-ƒ·µ6}†„uû¦S"ù®úLÈ1D(Ý󸚳nÊv*®pÀîÀ8”ÐV¿+<‘ĤªO5W¬óÏ[¯Å$éY‡×¾¿ìØu`t -IHÁSxìi¶_ŠîMš]ýš¬IˆJS}ÿKM’²á?™1Ì$Dº?CörÀ.V â´ƒðtôø·ÌœËöO"7Èšõ¨í
+xÚ­YKsÛF¾ëW°| T+Næ `U9ȶìȉd%Ö¦\y ±Æƒ!@1òVþûvOÏ€ Yví˜éiÌôt÷×PL8üÄ$1Œ«TOâT3Ã…™Ìª#>¹ƒµ×GÂóLÓtÈõüæèÛW*™¤,µÒNnƒ½Æ“DLnæ¿Eg××çW//ÞO¥áÑ9;žΣ˳«ýH´ëãTFg¯ÏßÁTêØ“HØñ7o¾}eô`•¦,Öžzù‚½x{õ
+YÎozy‡w\¡°ýöŸÌájoŽ8Sib&[˜p&ÒTNª#m3Z©@)ÞýÔo8Xu¯ŽéȨ„™DÆ#J’bLI&eVI宲®ç3º°”^É™Ž•¿.jN›èf™§ÞãŒYËijÎóE¶)»é‡üadW›2.õ¼³2Û´ùñTÉ$*Z|¦Ñ¢)Ëf›Ï‰zû@ÔnéÙê¬Ê‰Ô,ˆ’ÑÏsôí²˜-÷÷,æyÝ¿s.÷ÍÆî“
+&b„¿ˆLrzž¶Ëº|Šl“©–à)F¦“©,5F:Ž
+$
+éX¼TÓXGßøs¼üŒTœÎ”Á¥LÌl‹ 
+níª©Û¼§Òqü4­@œëh®šu7¢™X³8þ›Ü’͸b¨C@¥ÛÁíëFx`CÃYS×ù,ÐzÅ9%ÎéUã¯[5ßÊÃF^e 1FÊÊ2Í<ÂaŠ?‚)©øbPÜ^ð .z¦fÕ$¤"<ÞÁ‹°+Ã_#ØÒ[|‡-)£žöˆ¤
+¤èÃ3ÔNÔ
+;øVãOhŒ‹fMŠK \“Æìë-#”‡*Eí…¯©‘Öy0­ìdÇW–YKƒnIæ4]5m[Ü–þ%ï:ÿf‰´/IÆó2äîTõµÚÉX z6O ®.ägaõ#‡txù
+¡À…ª]JM5ÉP×yRQH(ríA>¬6-ºUãhHÖµÚ[IX7â3£‡ÛC_‚0nvP–eâ)CqÈQ)žá¨ÞT·Î/q/
+÷«Û.ÏüÄi<ñî”
+ÏJ" ÞÝ1ÂÕ
+žwL™ŠªÛ'S´T©èUڬǶÄZ¸÷ï/Ê\±Äô]@ãÇe€º‘™ Ù„@¢bHÏ2Ù‰³” ©GÎ áé\vñà‰KÏç³ Œ(»ÉúW†ÙY|Äð¯È#dv½”–Ÿï5$ã<Më,CÐ5ïÀi¼-º%–ùܹ R¨1\<¸JX„”ƒT
+8BSàýŠDwšÆIBq6ÚÃEwtÛ&´‰,¶úÀ¡)º³E`±•¨à–Yy׬á6ÕÈ!8 |gÐúb~Q>)%£¼ž­B »MÝtœy¡dJúþé±ÒwL®šS®œ9źNG³Íš<£îÊZljÉèû˳ÓË—†ô$SÕ—’ ËÆÖA϶SÐ?­Ä=Ç®gA*ö,HÍhÚæ3’£#raÜ×
+1†è.sn„ ¾b€Í²6ŸZMTÐf3÷…FLòöÊý¦Ýì„Ë¡-7·R"¤ ïŽDü…ÊÆ…lT6=¸ ¿Ý¼Ù¸Çn Ëjà ©Ã· »Iì·ïl¨ñ‰£möÐú¨!Ê]^çkj|‡Q/7RƒÜ8F/£ý—þM°µM¤/`åùÅÕKbN‰à;²»uV¸ªÿ“ \uÿÍA V^€øã…¼é’ ”‚·Þ¶>˜jÒ>wZp¶'âBhSÑ8Ø÷„¦TmÆ»
+zsiÂ$ï»Âªr¾–a_2™ðPDÔãÏÉÊÖKø¡n¶µ¯;“ƒ_(¶ªŠÏª˜Pý¡'^ÅF0nð“ä§ÛúŠ¡oùBåP:T¬gž½w{;(èa}AW¬h%\Ê}SZm:6r1i 3}Âþ¼.5ŒCOÙP)‡Å::»]+"QbÁ¹(®¦^òMçó1~žJ¥ÜÇ}€mvŸeÖc4„*«}Fn  ªZÞåùA¢>vyýã¹gÆtöpsÔ¬Z…úÏ8ÁÏísµØN}½ 2 DJúxŽIXÐHXl ‰E’>«ÀY–óè?N1aë=?é›k_(
+ üe3ËJìÒNÇ"èð»3î óSßéŽôw¿$dÍ!& ºT'fì“R»£ãäÿw4Äén8êl©ýKýÉJÚ5~¿±R‹‚#£Œ:¥áß_'’jãÉ[ J&_VÙlZÍÍéX3„‰"'Iyô̾º\ü[«·íG]>ÜJýö"—Åëói¹eùæí?ÊÏÆï FïîßÁkõkn`¿€Ø»€3Û³ŸÕ÷ɵ}þÃ6ýuû~{¥~ùõ‡ÍOß}÷ìiÍýøÃFþ.â½äÿóŸS»çtÌT’ÈÝÿN{±€k¦T*‚P(¹HÙb&xƒ%4ü~þW—×óP˼£R&¿¸ì™¯['À*µÐÿ#ö©þ )Ô`Gendstream
endobj
-2851 0 obj <<
+2865 0 obj <<
/Type /Page
-/Contents 2852 0 R
-/Resources 2850 0 R
+/Contents 2866 0 R
+/Resources 2864 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2830 0 R
+/Parent 2863 0 R
>> endobj
-2853 0 obj <<
-/D [2851 0 R /XYZ 56.6929 794.5015 null]
+2867 0 obj <<
+/D [2865 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2854 0 obj <<
-/D [2851 0 R /XYZ 56.6929 668.3939 null]
+2868 0 obj <<
+/D [2865 0 R /XYZ 85.0394 444.582 null]
>> endobj
-2850 0 obj <<
-/Font << /F38 1082 0 R /F54 1383 0 R /F22 997 0 R /F21 994 0 R /F42 1288 0 R /F49 1308 0 R >>
+2864 0 obj <<
+/Font << /F38 1082 0 R /F54 1383 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2857 0 obj <<
-/Length 2539
+2871 0 obj <<
+/Length 2230
/Filter /FlateDecode
>>
stream
-xÚ¥Y[oÛÆ~÷¯Ð£DÛ½_pžÜÄM]4NŽå’<Èm•HU¤âøüú3³»¤Hie¹( ˜Ôr8;;3ûÍ7K6¢ðÇFV*œ'‰¢L²õ=³÷,ÊL[¡i_ê绋Ÿ~väˆÓ\îzº,¡Ö²ÑÝâËøòÓ§«›w×N¦\Ññ™L¥ã—7Ÿ/cŸ&Ž/ß_Í&S椑 ÄÊi:¾½y÷vúöãÍ/ï¯n&ßî~»¸ºëÌê›Î¨@›þ¾øòŽ°‚ß.(ΪÑü  ÐñÑúB*A”¢Y]Ì.þÛ)ì=õ¯¦\¡„%Êr“ðg#ƈSŠœ¡Ñ‚ ËWaѳ«Û ,õ¸ø߸Æë÷Ÿo/Ñw×ýjA'ïù—Ž@”P NGewË|2LËùÚß©qo¿çÛ0ºÞÕM¸»O³ªüJ)Üm'ÌŽóExÚTá:ϲ|ÓÉm¹ÈÂ(¼SæYSTeÅÊEiß Ê²ê±,þ j–qÆ¿òç0Roò¬ÀÉÛY‹ˆK
-> É‚/úuËþº™&NhÂ(ƒ¶0ë!á!’Ì°(‰ó­ò70!wã]]”8·h͸¸Æ›_­ê0R7ó&_çe~+ÌüP6N‚Î_œ´Ç E!§¥sãYžØQ÷<,ÆU¹œ˜üe„4Q§_š<ùTRE ‡Ó./áÞ1ñ`‰þêÁ›Ÿ¯oÞ…;.—‹uQu³7Õ6 Ýæyˆ{™Å×>ÌËÝ|îZ¹EÞÌ‹UM¢uƒ ¡Š)Œ7kvwÆåï³ç“³à+UÔÂ?ö&¼‰cSŒÄc^>[ʳj‘ã8 ãÁ·´ï[cˆ2\Eßþ;O/iK¸ÖºK‡„W¦B*b`ÓÀ;—Ÿï~ýx{Þ-×e“oË<Ævö\C¨ëˆ0`Õ¶)vëý¼fÐm4$%Òé !à˜Ò¡WÛ=+$´Ž˜†è“6Ìc™éâÕiñö|åÜìãî<^à Håàå¢j³³ªV¯I¢ç²ÚÔE}X*`Ç2 -ÁWÒزCÉq\I¸OV@J¨‚Š6íið ?Ø›-æ·BÇ ×àÐ/Óù·öî>,
-æí¥‰`PXt 0à“‘õ
-$#VŠí:YB'8Éj¥ö*ŠÕ?P¹ìîþJ(×
-b(@ëžH$¦æ
-¸þEŽÒ—j;Óc’ÒIíóª?%ÔK!`ã¼8e+”˜²ï,g‰`N §|çÀg×TkØ>Y"°%­‘ú `ƒœ÷`¨_ÀÇî–E¦Ë®µÕDÀÖmŠ$òQ"™ÓüUûBÚV×tïÔNv¹ýSÞdéÔ5º—»ŠúýF>-Áîïɪ lÅŠ®Õ¬ŸkÜa6†«©Ù–0Ó°YÇöÁÓ9,Þ…ÖȵïwŪÁÎ*ülÀT 3.¢@t|Ô‰øê¯
-OºQØd6†ðÁ>kIç3^pµªžÒe^0 Ò©³‘PÔµáòu'Z¶+qÊ<úÊ4bê óŠt@A–Rž‹œ Hu/rƒãŒU•µÇ˪Ž
- g÷
+xÚ¥YßsÛ6~÷_¡éËÑ3øE÷¦ÚnêNí¤¶Ó¹™$´[œP¤*Rvrs|?`AŠ’èÈ™Ž.‹Åb÷Û]ˆM"üØDÅa¬¹ž$Z†*bj2_žD“G|{{Â<Ï´cš¹~¾;ù÷/"èPÇ<žÜ= d¥a”¦lr— .B¦ÃSˆˆ‚›ëó³éÙ»ë_Þ^\ŸN™–‰ fïß_\Ÿ_þ÷tÊUfpFQp5»þ0ûhïO5fo/nO?ßývrq׫5TEÂêô×ÉÇÏÑ$Ç~;‰B¡S5yÆK4Ÿ,O¤¡’Bt”òäöä^àà«›:j
+…\Ä|ÄœÙBé0\8[\VØ’Œ‚va0:Èîë'C4ó5[®JóÆî²Ø@Ì™0&¡€²®ò¹g.Èy˜*­<ÓsQ–$÷þ-•›‡lS¶DÜ4^Ò”ƬŸÌÚkå¹Êzž•‹ºi‰ü)ÂvyFø1¼0âʪ|OÖã×ÄôÒä~l9µjO¦Œ³P%܉±P+ÅÆØ»Ç àNpV/—Þ`>çA[û§[…³í@ï7€O~÷ ÒF‡ÓgfRônÍ7ö5 žÅ|A_–Í‚¬lüâ÷^Hn>E¯ÜÞ@.ªí"v‹ÑîÖ:Õàîÿ²»I’`^WVÂãfµEm§'i`)¥!†ç¢]Ј4Çghî?VýˆŒo?šùú”¥i­õ1w ÏB[µ,mÖš¥©Z¢U^ÌAiºeܱÓ:ÞB;{¡p†Aí™vÇ¿^ÍΦWçŠÞ²ò”õú/=ÅéˆAÑú©[eé}^ftPv\WmVTŽ3Ù.rŸ5fKz1ռ΋ê‘Þꇗ=‹ÁÒ@ˆ*ëÆ$ÞÜAâ™×›{wÿµ©a¤°¦C!½°Ë‡‘hMC h+bS»#1Mëâ0ˆ“4L¥ðs‹†fnH=áü«YQÉ0‘â8>$I²‡{WfÞúj"nÑ€Î;Ån¼uU¯[ú „¦t(¢‹7Ð<0·ñm„Ä
+Æàz«JÞYÀ¯Éø¦2=Öð¨zIãýótqsh"&aÙ8âM±ó‡ÇÞ C[ÅH
+»œ;‘z3"X—å7"tÆΉq
+Ž—ÔcƒÂƒÒ&?_^ŸÓHÓc–/‹ªhZ¶Kº1†Î½šûiWYµÉÊ-8Q5cPQ•TÂ Û ³ßoßw~ë¶-Hm;ðÆgçAÜÿÖ©k%ˆN¶†¶Ml.ã(þ3KnÅ©Åܸw‡«LO0
+:ÄëÌ>Üýúîæ¸Y.]ëª×Ûo ŽÚgŒ38*§b³Ü®+‡qwÒ&4Ÿ]ïŒF9Š¢ƒÊÂ\ dš0͢ϨbSÉ‘úÄéó ]ÏöÜhD%Û6‘Pƒb½³®Ë×8Ñ·ª^5E³ß° ÄL
+±
+j!ÆläÍ•Í·ãÝ·í„m( D¸æ[Ž5ß=×áÞmÊø8Í>w£{Úv0ð(¬¢ò`–Æ‚ë!HfËöðz™ó™~÷µD>åˆ\ô£/#ÂQN'ª¯| ¼ê½â5ÂWGõuEÿ¡<.
+¡dxçR]eiÁ,Õ#·©öùÞsôò^])Â$ÒüHÇŠ:>ƒ¬Í“à²õ+g~5w#“ê®IÆ(óKg½ŽO¦*(ÓZri±ú>ù™®çM©›ñ7TÀÄP¤2ÞõQêmuüBI îòð5õQ"ûb¹¿õѾ¬ãZù:@ÛÊoM‰­YÕ•kâFÌ Kq¥õñb^"ã¾2ë[£]i¶”gü»-x`6Öéx¼^‹q:å¯lŠÞÉ»À„ÔÔõ-´)S˽ÄÙödËí¥ž„>îšIz§‘Šœ„õil<Í_¸Úï®YÚ®´¯ø¦Ù˜Yj…ê¯W>($•éVvCW^*جˆ˜*IC16ô¤ñcPöܾïHïïÜ ÿ©.r¯ÃÂo»2Æ“¨D|A Æê°dGo
endobj
-2856 0 obj <<
+2870 0 obj <<
/Type /Page
-/Contents 2857 0 R
-/Resources 2855 0 R
+/Contents 2871 0 R
+/Resources 2869 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2830 0 R
+/Parent 2863 0 R
>> endobj
-2858 0 obj <<
-/D [2856 0 R /XYZ 85.0394 794.5015 null]
+2872 0 obj <<
+/D [2870 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2859 0 obj <<
-/D [2856 0 R /XYZ 85.0394 752.3759 null]
+2873 0 obj <<
+/D [2870 0 R /XYZ 56.6929 536.0634 null]
>> endobj
-2860 0 obj <<
-/D [2856 0 R /XYZ 85.0394 668.0781 null]
+2874 0 obj <<
+/D [2870 0 R /XYZ 56.6929 445.3014 null]
>> endobj
-2861 0 obj <<
-/D [2856 0 R /XYZ 85.0394 607.6906 null]
+2875 0 obj <<
+/D [2870 0 R /XYZ 56.6929 378.4497 null]
>> endobj
962 0 obj <<
-/D [2856 0 R /XYZ 85.0394 570.577 null]
->> endobj
-2862 0 obj <<
-/D [2856 0 R /XYZ 85.0394 534.8112 null]
+/D [2870 0 R /XYZ 56.6929 336.8445 null]
>> endobj
-2863 0 obj <<
-/D [2856 0 R /XYZ 85.0394 503.6098 null]
->> endobj
-2864 0 obj <<
-/D [2856 0 R /XYZ 85.0394 440.3004 null]
+2876 0 obj <<
+/D [2870 0 R /XYZ 56.6929 299.1061 null]
>> endobj
-2865 0 obj <<
-/D [2856 0 R /XYZ 85.0394 370.9227 null]
+2877 0 obj <<
+/D [2870 0 R /XYZ 56.6929 265.9321 null]
>> endobj
-2866 0 obj <<
-/D [2856 0 R /XYZ 85.0394 274.6697 null]
+2878 0 obj <<
+/D [2870 0 R /XYZ 56.6929 196.1586 null]
>> endobj
-2855 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R /F64 1435 0 R >>
-/ProcSet [ /PDF /Text ]
+2879 0 obj <<
+/D [2870 0 R /XYZ 56.6929 120.3166 null]
>> endobj
2869 0 obj <<
-/Length 2282
-/Filter /FlateDecode
->>
-stream
-xÚ¥Y[oã¶~ϯð£Ô\ÞE>¦Ýt›b7›Ód
-´}P,9V–\IÞ4ýõÞdI¦ísPˆhjLg¾ùf†& d!$’šêEª9˜ˆÅj{…/ðîÃñ2Ë ´K}ÿtõîG¦iIåâi=ZK!¬Y<å¿%·ˆbt KàäýûûÇåŸïüp{½$ZšÜ<<ÜÞ¿¿ûõzIaÄ8ùtsÿå棛{¸Ö öáöñú§Ÿ¯nŸµÆªÌŒN^ýö^äp‚Ÿ¯0bZ‰Å+|ÀˆhMÛ+.œ±0S]=^ýgXpôÖ~5f
-.”K0
-C)aq{xE@&å¥JìEIÌ^AÊØk¹™ŸSJ„u*ãÅŽ¶ B‘-éhË” œªÙ–mY÷³væݦi{?Üo·Yûæ>4k÷ì7…ŸØõeS‡/×¹´×D%/ûm1,Ü7æ\3 P®¥4…3EÚ:_-WM½~)j/=V^‚_¨qFGxðVO1|EiyÁ5#©3® RÖ5_R’$ AJ‹ Ô×â­Î¶Å\5B0â ÐrV·A*¢l)'`µ‰v»bUþŽ1-¬Åeð‘4J¹UÍŽœG2Æôn”ía²îËUf<{X6_2ª’§Mé÷Øî»ÞžýB™{|˪2wüÙfe}ÐÀ:n±d )Â챑¡{ˆ§€«¼XgûÊCv³†ç4P$çcè5aÃS¤(N/ÁFÊQ&.Àf,u6ƒ”…Íî"lv&ÚfziŠ¸Vô
-B½Æ&Ð)â©žé5 Ó f°j äM,3-’Õ&«ë¢ro¬¢vôº)l±°ÆÁ0œÎ8=8†q¤Y¤ª²ë‹Ú«²nÚ 
-l¾òcÔYÛ]›md[€Öñ‘]!ñô@"@˜ÊÂ΂’cŠ0%|ŠÊ9í¼wK”#®NeÓK#©3X
-RKmKIÅd858®Ù®Ëꘄ¨DDPv^»A*¢Þ„„A„19ÕoŠ)Á 0!’®Ù[¿­
-7møÇ<¶N&ÏúÌÍ:ïÃ
-¥2çu¤"ÊMcÊy®fÚMk*@Ir÷à&Œr6 v^â\^$ñ0'饼ÈQJÎó¢YÝ2£ÙHÑfvHÑöÃ8cÚïœÎ˜KD5ûÿ2¦#S“&Lô?UoÓž¡jšÝs¶úê{…‰a*[„áœF# As#©3h R}4½*‚ÏV›¶iú¼lK|HÃDêóÊ Rí&p„¤*´¢Sõ¾8zÒ:y-ûõ›Ò$€˜©AË,âUpMep½ëãü’{Z:[¿¹†150L霵ê›Ö¿9‹x¡&œ\F¼N õR¯eU¹¥Ûk•ì½V`y‹ã¦7<¸Lnü«,_úž¢k¥f|_š³9^f»·qÊdNó§Jé(4P¼¿04͆põÊò.©°äµ-ûk ì¢vŸ±*¨L¾y —†Œ"6VLªŸ™^vƒ#~–”þ [Âú³]×ÍÞÒƒ™z;äB€²ší–cG\)R Rz‘»0Òz(FOF0ç¦dRš­±Ôé¤,Ô÷›-Htí©fë¬^C³u¬W¬ÙšèåC×zˆ®ä§B—£4älè‚‘)ÑóÐÄ“®èضƒæµ¶õ”®gûO«YFÑaÿ ¸ç,
-$ðЖæZZƒ&.4X’U]8äsþ”øxð¦®ÞfèP=šJoöòãˬÂߌm2Ÿ¦Êp³,+\"~ñe”=î ÇJ1hw±LAM–§ôÛ_o>=|t—›³Ócø
-¤çÔßï<™{ÐÆ«TUÍkĦ²&ÓäB:§0üÖ7Çe y Â¨ö2Pqì-
-[f+¾ì[Ûƒ}çf=a;TéѦKiò5®QHØ]ø-%Æq¼ãð-5±Ã´Ò4Mf˜¹G—mwU”Ð bLqmvŽ÷/Š«®íöN›Ž£õ5Ë®²Üu˜óÔ‡íWH°¦Ii›ª‹q& 6¥žÌ&‘Õ`Hä¨iˆÑÔ" v=D ¿€5:÷ÞbÏþ0Ι&4̧²)”SØÍ*; Ì>à ÞDÌ í5Ç|œNÚW† ž¸ˆ‚!mB= H¸ág¾’¿½uûÜ||ü|9ØÌê¿cü#AÃ
-endobj
-2868 0 obj <<
-/Type /Page
-/Contents 2869 0 R
-/Resources 2867 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2876 0 R
->> endobj
-2870 0 obj <<
-/D [2868 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2871 0 obj <<
-/D [2868 0 R /XYZ 56.6929 390.6346 null]
->> endobj
-2872 0 obj <<
-/D [2868 0 R /XYZ 56.6929 257.7108 null]
->> endobj
-2873 0 obj <<
-/D [2868 0 R /XYZ 56.6929 193.2733 null]
->> endobj
-966 0 obj <<
-/D [2868 0 R /XYZ 56.6929 153.3455 null]
->> endobj
-2874 0 obj <<
-/D [2868 0 R /XYZ 56.6929 116.3439 null]
->> endobj
-2875 0 obj <<
-/D [2868 0 R /XYZ 56.6929 83.9066 null]
->> endobj
-2867 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F64 1435 0 R /F42 1288 0 R /F49 1308 0 R /F40 1218 0 R >>
+/Font << /F38 1082 0 R /F22 997 0 R /F21 994 0 R /F49 1308 0 R /F42 1288 0 R /F40 1218 0 R /F54 1383 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2879 0 obj <<
-/Length 3184
+2882 0 obj <<
+/Length 3072
/Filter /FlateDecode
>>
stream
-xÚ½ZÝoÛF÷_¡G¨6ûMòî)mœÀE뤵ïp@›Z¤-¢©ˆT÷ÇßÌÎ.EÒ+ɇÃår¸;;¿ù ÄŒÃ?1K ã*Ó³$ÓÌpafËÍŸ=³ÂÓ,ÑbHõãÝÅ›÷*e,³ÒÎîk¥Œ§©˜ÝÌß~útuóîú_— iøüŠ]. çó_ßÞüãí/4÷é2“ó·®n/"3F‘äHgùüÝ»›ÛÅOoÞ¸º¹ü|÷óÅÕ]ÏÖuÁòôåâÏ|VÀ ~¾àLe©™=Á g"Ëäls¡bF+fÖ·¿õ žºWc¢0*e&•IDRÌ„`x‚‘0LƬ’Ê ãö¹n¶mÕNb‹&J3.´m-@ÐÒhGUÄ7 òÅp Ç––1*äª(êv±lê‡Ç²¾\XPÏ‹Y|óö;¼,¸`V¤숯åëÇfWu« ‘ŽöIf:±žòsXuÕþŠ¬o KŒÒþ¥¿Êç:ß”‘ŵ`©Vbºø.²¤2,µÆxÒ]^Íæ¡ZÇV=%‰I§«¶gW=Â¥ÌXš†åþMË-¾GV[¨ LÄ9[ýã|oêè² Y´ö ›_¹ùLï r¡S–
-›Á~¶ãÆ-ðîêö§ß¯?Ý]¼é_:lÆgà¡ ó$b(D-ÇúSŽA¬M¹Ë»²/Oõ<Ç‹B­ÒýC³£Á¾-éÑýs„!Àß,©n÷Ûì®5K“44[ Él ¸"²’â,ËTØH 1¿îˆÝ¶Úl×ÕŸœK:™šƒ@ðöq§­ššÈšºhÄÕwY&@·AѲW4.•e(wõ²«êGºÏéBÂÃ{8 Òùvw)Òyóµ*zÚnUFN.¹øârDˆàgå˜jåÈÐ."ËËTš§nŸë.ÿÍ;=Uëµ@I׺,‹²ðt IOIÀùTM¤Gæa¤ê~ðƒz¹Þ{yÀm^Óµü–ƒæb²Ò‚©ÄóH’Yl›uµ|Ž›ù€ºí€xSÖ#.E&™ÐpàX®Ê÷¯Á
-J0x‚ü(¦0ˆâ*ɦ`ì^Y¬cZp¸Dô!éå’– aÓ˜GLr¶GÜÁ›zMþ½Ð žh5¶ã“S>Z•.Ð Šë|¾iziÁ]¹Îïr¼DHAÛÂCzï˾¢Añ7p©$ÒÕ
-ª°F4‘(ßÃdÝUKnÂ
-Þë Wä=8ß{ÞTm¤âVPíˆLb«O…§Q
-G#Bpq1’ CÑŽiä$ž€•;•ò­U´-!°—,&´#&ÂdYÒç¸u³‹,©”È‚†6ĉUÈ'ˆ·
-xki8¨Mþ3
-œÏðTµ®¡®àCÁ‚¸£‚†˜;ÎQ¹ÊÍÜó’ÓÒm¹Í}&“€âåÚGi Y±0Ù8}hÖëæÉ•4ÆõÜ•¸†ÁÐëiÆÙÙ„DƒÇM²yÉÙ±6 ‡ºEÙlr¸aŠÏbJP‚Ù̺ {’ýÃÀÛ?Œ6û¶ó§Ë”š˜×*ÿZN€¢â&ïÆ(èÁòk¾®<ð…êǸM€imÕv}]X—]WîZOUTT‡pö¼˜ë¶ÜUMÑ?(Ç¥¢†î ðP
-7ê,MOs×SEا— œ”‹1ãpcQŒ™· •~Ë’¦ ´ç–h ¼ÈiÖ¥š86íĆvá²Õï.Aü±RQGÈ„èÔÍ6¼L!#ƒ<A‹I6é*
-¬Ö$x©KP­
-Z”EÅ­tµÀ…HÜ–¨¨<³&´ä +’¡Dñ¡Ã¸ÒÎuÙ¶¾y–ZL &HF9­EǸo  š©êí¾c‘S¦ø%GŠ‘™ŸGú“º/ÅÛQÅalðÊÐ&ß%ä´P,@øYv¥ó<ã¥á)wtÅ×~`´xõ0jçácö”A&6i8CC!º"Çrß}?†»¹Ì š&Ù<qúqšÀ²AK_6ÀswTjf„ÿ}ôkƒN¡°æ¢ŠxŒÖ‡DU˜} ­%>Õ¡¤Cß<ÊRf±‡?©¡¨í†`v_|+‹ã€&–@$=hª€¨†Ù×´^–JL?° ÈTÈÓŒõTÎÆ=IÍŽG¬Ý‚A¡‰)m櫦íhäc~q¥TæNôÁµÅ^©~e1Õ!u£øƒ‹ƒ®žÚÀÅ ÐnݳÒa£ ¯¡ë…cßmwcBTm§ ’ˆ4ÉØ3†}ò—_Õ´dò€
-M Ôà§ë©"œM¡)ã³æö!ËC
-¬B÷Jœ‚#¡À…Íë¾jð+Fx„;z<ÂᜳK˜hKOD_eGø0àÎûo"$ò ô@î©x%'ô§$d’ŒQHÊ`û’¼Ô}$Þß{G•GEW”Ø…ªÖ¿NÒúušÌÝGV˜€uúO’ÇzRô‡0}øÌ2þíC‚½ïtbSgàÉU€7µýÿ{mûßxí‹ŸM(ìƒ5Æ°e{uE,¼ýåöcdýÉ/'‰?¹áþ MáƒQã3}‚“)MÒ1ùð ø‡êŽóãõÍ;z5óœÈ3Ûn‡•"Mý^"Îb;›€¦~Íë}ûäɤ~ÖíU†Û0üÍT7x/Çÿù§Y‡Ÿ é„)¨àâ
-¢ÿIØKIüCÆÐSendstream
+xÚ¥ZKã6¾÷¯ðÑ ¬9|‹Äž&™Î`‚¤Ó›é,$9¨-y,Œ-9–<ίß*>dIMÙ,|%•ÈbÕWOš-(üØÂ(B…•‹ÌJ¢(S‹õþ†.>Á»÷7,Ь"ÑjHõÍãÍ›ï„YXb5׋ÇÍ`.C¨1lñXü¶|ûðpwÿîï·+®èòŽÜ®¥ËßÞÿòöÿìáÖòåÛ÷woWÌÊL³H§éòçûwß®¾ýéþ»÷w÷·<~s÷س5dQ<ýyóÛtQÀ¾¿¡DX£ÏpCaBËû©QRˆødwóñæ?ý„ƒ·îÓ”(”0Dž%dÁÙ‚1b•â#a(K´à 㧇Ç?Ý|µJ¨yeœÁG0yR h5¤Š '”©pÝU>]Ò
+"„á——ŒD‰%ù`IP·`V—|×€v^槮Ùç]µF&¼jNL&5,†_ë" gçÀç6­›úwJù§Óælj€‰dfù¸­Z¿Üúx ÷eÞ•áAî/øÑ®ôÓËáôL*"3ÍLÏåK‚E‰Î¨
+„UšŒ€2HÞ”]rCšdšF¢ß©¢ÍÑ3ù¼¾¿”ÇÄÌ€"#T”BûÒ‚ 6EuLÌ¿Ú£©Y¬z<Â7Ïy‹¦–í¡\W(²ðâ‹çmYûÑ7îß…gñåÓ©ÚuÀ,ó·°êìuY‚ ø0çÓK¸6Ý6¡y®³+ªçD2%Q^‰™ì•š(˜:ß—Eb&Á‰=‹¯ Ûl»üØ
+;Ç$ä,Z~ŽJ3pE·fúÐÓÛ¤ä¯lRþsôçÁøŠ€‹5 ’Ìe·
+™OÔç³Û!Õ|vÛS9‘?yFµ‹ÜØ^á Ûêïrʃl>Ë
+Hf ÓèÆæUO5¡œê+ªP]P}¤rbÚ¾*c%òÊ’‘(±ä¨ŒµDr5YòáX…ˆºŽRß6Ç`í RócP@³™d ^eñã: #w®òөϬœ>Óá›sž}eÈ¢x ~M52“ÄfâŠRÍ«¦§rªùü5>Cˬ¾ÈÛÙ¿f.éƒGÜ|0æ²AG:”H0p¬¹‘×ã€Æg,8šºå8æ%ćíЊ€û“¯GtŸzçþò%ßU…Í>¯ê3ä‚ ~Œ¸šúâDÑ
+åš‘Ã2auÉ¢õUØà#£ö
+lT`©lWas@k›b†S‚û»ÈW$Jð5B WXáOGmЀƒ¾vPŽãÇ©=c­é²ü„]SHá¸×ê^€¯èë¤Ô2eXqY·g_'ƒìl|%·OÕ]‚Fûr{®t¤Dö‹¢3ib_äH!æqŒW3Pß,˜ ÙÀnˆº ¦!Õ<˜z*¦cL–h#zK
+ÅwHApŠ{ÝZ¢„œxœöP·÷¥^Ñ8ß©”ßtðhûR¥'[¢†ë7EùåMØW"ˆ©î;¬®¶„Y±ì— ~ׯSTëÒU aÓŽ¿†@2”(¾t.®~åºl[¿kf4F‹I¿*:pp™O×Á]WõáÔ‘Ä. žœÛ™nà3] ™õÜÙÀô:…è.ç˜C¡å*o¤(þÚ7•ó„˜ÐÑ˳ð1¨Zð´sv@C!º,SS½à>4ŽàIU.òÂ?ö²iÓÓñ¥†Z:$«®W4 ÏSªÛÊ¥úr˜È£Št7^2Ý÷)êµ!DÏ’‰áÓaè×XÕ´Ô‡†ú±§rqïó¡k½–ï©.8´HåZ{µÔÉ‹âàœ*u.²Ö—:¯YK–:#ÞÆ)úçlùáÁ?@Ö\lÅ¥¨È ÞQɲëÝ`fŒžFEœÝ÷¢`ýs¿œÓA¿œÓq¼tßÌÇKÈŠ·âŸÅKïJ¹&Lê¯LÞ¦íìæð”¯?‡Ra$AWpC± ?6‹E®ÂÂà"‡TóXì©»dp…ì)êl½=6MΤF`„,ÓjHÅ/2×S%¸ÇVN¬ùŽØ •·µ±ò¶v®ò†tOu¥]Ç3-§•7NÙøë¹ò¶¾³kÍ  ÖÛ‹ˆ‡2É®#ÞfŒ÷½ÈÝÎOZn ’w8n\ûm%ÁÍ¿ ¯òbJ
+&PZfêŠ
+÷æ½²
+®:ב†{/¬ä%_…BȈ³ ô1Ã˶'òn_,«p…%aþɪ›æäÜ>z9GB€òä£7Ë¡€Síß 3¯ú.J¬Wk-Î8¸kÑdHuÁ‚#•ƒúéj­aî8Wk]䫯µ^󕬵FŒÛuêr¶«å|×,Ë»Ò5³œÙ©íöP’¾ÓÁíÍsíÒ)n&ë“YÁ!_¤öëПžøÂ
+ýÑ &H€­›ÄF3Eíëòè{Çí*xåÃs˜<ßµq—ƒSþp6‹)>¤{M½{™Ä söH—Õô¼õl ÃnVZcÛx PÅÖVm\W~»ƒˬ8”»Tk,¬ˆÅÌÝýúöLJî>&vO1LçÇ.¼âˆšØ
+‹&æþÒöÇtS—Έ#\ÏŸ'9ŵ[ÁõD(VǵHË“§çŒº—8ÿ«§;6»6å5µ——ÿC¦ECú/ú|ÆÕv`¡‹<wAbOa3^™hxWÕ1ˆr†©Ý$·§ÙE\€À›„x¡¼–ô«ØÀJÁÅÙñÙ÷<r…À•Y{:3›ŠÈt³•ö–ùÿ¥îü×AÈî„1<•?™Â=0« •ÑJ Îîá b¢—Rôî/ÈŠ(ú§Ã¡ïÌÿ×õdËc[¡)*6•Bÿ?¾×bø°›endstream
endobj
-2878 0 obj <<
+2881 0 obj <<
/Type /Page
-/Contents 2879 0 R
-/Resources 2877 0 R
+/Contents 2882 0 R
+/Resources 2880 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2876 0 R
->> endobj
-2880 0 obj <<
-/D [2878 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-2881 0 obj <<
-/D [2878 0 R /XYZ 85.0394 749.2278 null]
->> endobj
-2882 0 obj <<
-/D [2878 0 R /XYZ 85.0394 677.9694 null]
+/Parent 2863 0 R
>> endobj
2883 0 obj <<
-/D [2878 0 R /XYZ 85.0394 495.229 null]
+/D [2881 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2884 0 obj <<
-/D [2878 0 R /XYZ 85.0394 83.499 null]
+/D [2881 0 R /XYZ 85.0394 751.8648 null]
>> endobj
-2877 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F42 1288 0 R /F54 1383 0 R /F22 997 0 R /F64 1435 0 R /F40 1218 0 R >>
+2885 0 obj <<
+/D [2881 0 R /XYZ 85.0394 153.4294 null]
+>> endobj
+2880 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F64 1435 0 R /F49 1308 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2887 0 obj <<
-/Length 1002
+2888 0 obj <<
+/Length 2329
/Filter /FlateDecode
>>
stream
-xÚ½VMoã6½ûWèhË‘"Þµ»õb㸶·(ÍAkɉ€ˆòZrÒô×w(’²äÈŠ…’†Ãá›Çg’
-b!Ž vÅ0öiD&ô °‹ú°ýü “BJPl÷\a)I°MïÆsD š@
-<ž®WEÇÓåôf> )Qq4ž®Vóålñ|s `@b<¾™.¿N¿Ø˜ói¾™Üo?æÛ¶¬né3SÓÑÝ=RØÁçFLI¼ÀFD)£ˆ3Ä#Æ|äi´ýÖ&ìŒ6S© Q&è
-Šo…þQRÂJj>wŠü²¹u}Á×Ùû°XÎ,^¹ii‘ë¼²jS¢ ­³}f7¦wîÜ$ú”< PNIáû>Üuêuýÿsé†:§yÈ4ˆ#-‹¾Õ¨a5ç^Ù±µšÄ cLŸZGÑuœ{+é¦I“:ù|„À¾1øÁ;|¤›âº´¨ J|êG‘ ÙžQ}*¾ƒÖÞÚ Эˆ8Øý@"ÏŽETù_™]vŸ?e¸P"0$ÿô´s¡Α”±·K¯c226R`R´R0¡ÆüP<®ŒÈ ¦Üۀźù]ÝŸtÈv¹f© ü8%ºÎë×~ªC•Ò2ô 2!#¶Ÿ¬ùÂ{ôò˜ïfm_¾;Ÿ*³\£ðª§ôª<5Þáìož™®›xyxµ½·› õèFQ@.céÖ¬ºGþ%¯]Mº8?Ùs¾Ëе{ãÈ\ž„[™¼ûŽv¾‹‚³ƒùÐóõk蹚.Ì)‡+ê݃ãùŸu¦SOúæt8€ñÙß'„qv¬òRÛ¿+F‰½áÁ_ ßñ7ˆ+Æendstream
+xÚ¥Y[oܶ~÷¯ØGˆX^%òœ'7vR­íf·Hò ¬´^!ºlVÚ8.úã;¼É’–k( X5g¾¹qÉÃYˆ%ŠªEª8˜ˆÅº>Ë{øöþŒ8šØÅcªŸWg?½cr¡Jh²XmF¼$ÂR’Å*ÿ]!ŠÑ9°ÀÑååÍ2~{{óîýÕÍyL”4º¸»»º¹¼þÿyLb Ä8úýâæÏ‹ßìÜݹ²÷WËóÏ«_Ï®VƒXcÑ fZ¦og?ãE'øõ #¦¤X<À FD)º¨Ï¸`HpÆüLu¶<ûc`8új–UA0¢,¡]P² éSM”!JeFË«+{¨‹ß–·ú<°ŠŽ4ˆ1M’ÊPï›|ý ,áycê9´n›þ Fš¬.òµaÎñˆ9á)$좹ÿ|}si—*'S^—MÙõû¬o÷vêC±)öçDFE³.ìÔïYsȪ€ì$‘ˆ&IâØ#G2QJÌ@}\P#…Ò”QC{ñçê—Û/êãºé‹}SôVåc×ug_Þ¶M×îûòP?mËã ul8GŠ&l€$àÐò¼éb­Îû¢Ñ+5)KPŠ¹0¤7 Õ°\ £”&V° #Ï'JS;Òßìèkñh@U€’ËÖ÷m[…´…§ZZ>6í®+»¹0‚R GãO á–€ìT
+qÚNƒk \»¹ž’*$¥g÷·eÿàø"Àñ€XòWÛÙ‚fu¨œ‰ùÍ´4ŸƒŽË%’àîicûåÕòí‡ë»ÕõíÍ°è”óÎ=mæQ`>¦!e%sRhÏ‘<Êôƒ9‚÷‰O08t…ýôå1
+r+
+ÈîLwƒžm l„¸5õ×qwìjzŠu Ö¶ðSùfö¸ð¨ô¾¾ÊO¦U>ô"CÈ›ùcáˆV¹ÄéóÒ Tñè,ƒ§â-‡D¨ÍÄ|¼Á“Tv¾µOëvÌ;âxÅjyý^Ò§h 8ÃIt¡ï&¾g% ¶r´ëm[®ýž™5«F%æѶÎÖq FNì«ó…Î Ñm3ßÜRxwq}<#’Ù “Ü/ùô t Zn‚£ÕÖÁ,/6Ù¡ruÙñF§`Eý~VcªÓ°¨ ¬¶ó-Á_°J_ØÒ¶C%%›älË»}Ùôîì™s¿m»wZéæö®u7¥¹nÙ½ÛJÝLãÖî÷]Ûu¾É…r® @¡é+#/E‚‰Iš†QÄÉ^0͈êÓx*cš¯!‡~Z vÜwOü]_û0ž—m 
+7ñw"' µ‰t‡g„»J&Å2"|µJl‹5¡± Ye˜lúríÒçàÜ^`fÝGÏî£_Ê.Ðq3(Cˆâ“ÜêJáy–†ÎQ¡Zܺ ©˜chÚu9˧ÁŠ½ ,=Ô[ÛàµÑ±ž§¿Ž˜*“#•5nÓîl &ʃÔ_C<ÃÅ:…•­Ù:;õ&ÿ…Þ£ÏðPv¦!¾¯ÀcÅ‚ºƒŠ ¾K_¥×Q¿™9Y2˺+v™«ÄaÂxQ¹,Í¡*&BM«ñM[Uíƒii„¹t0O+5 Ænog ÎÆ$V5ú¸©Š
+tÞ„®ipª/™Õìpã…ŒÀxíp»ò{ZüÃÀáFõ¡ëÝA™DŠ±¼¶Ù÷bé -ÖY? ƒ.Z~ϪÒE>ßú+i—œ ¨ue×µgP}_ì;G•—÷PTû|ö¸˜GÖ]±/Û¼;üô=}!+=Ñœ|ŽÆ
endobj
-2886 0 obj <<
+2887 0 obj <<
/Type /Page
-/Contents 2887 0 R
-/Resources 2885 0 R
+/Contents 2888 0 R
+/Resources 2886 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2876 0 R
->> endobj
-2888 0 obj <<
-/D [2886 0 R /XYZ 56.6929 794.5015 null]
+/Parent 2863 0 R
>> endobj
2889 0 obj <<
-/D [2886 0 R /XYZ 56.6929 751.5568 null]
->> endobj
-970 0 obj <<
-/D [2886 0 R /XYZ 56.6929 708.6012 null]
+/D [2887 0 R /XYZ 56.6929 794.5015 null]
>> endobj
2890 0 obj <<
-/D [2886 0 R /XYZ 56.6929 670.3846 null]
+/D [2887 0 R /XYZ 56.6929 751.7548 null]
>> endobj
2891 0 obj <<
-/D [2886 0 R /XYZ 56.6929 636.5029 null]
+/D [2887 0 R /XYZ 56.6929 684.9927 null]
+>> endobj
+966 0 obj <<
+/D [2887 0 R /XYZ 56.6929 643.4496 null]
>> endobj
2892 0 obj <<
-/D [2886 0 R /XYZ 56.6929 564.786 null]
+/D [2887 0 R /XYZ 56.6929 605.7386 null]
>> endobj
2893 0 obj <<
-/D [2886 0 R /XYZ 56.6929 498.9559 null]
+/D [2887 0 R /XYZ 56.6929 572.5919 null]
>> endobj
2894 0 obj <<
-/D [2886 0 R /XYZ 56.6929 418.2058 null]
+/D [2887 0 R /XYZ 56.6929 502.9079 null]
>> endobj
2895 0 obj <<
-/D [2886 0 R /XYZ 56.6929 349.4108 null]
->> endobj
-974 0 obj <<
-/D [2886 0 R /XYZ 56.6929 306.4553 null]
+/D [2887 0 R /XYZ 56.6929 427.1554 null]
>> endobj
2896 0 obj <<
-/D [2886 0 R /XYZ 56.6929 268.1239 null]
+/D [2887 0 R /XYZ 56.6929 238.0538 null]
>> endobj
-2897 0 obj <<
-/D [2886 0 R /XYZ 56.6929 234.3569 null]
->> endobj
-2898 0 obj <<
-/D [2886 0 R /XYZ 56.6929 162.6401 null]
->> endobj
-2899 0 obj <<
-/D [2886 0 R /XYZ 56.6929 96.81 null]
->> endobj
-2885 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F40 1218 0 R >>
+2886 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2902 0 obj <<
-/Length 2054
+2899 0 obj <<
+/Length 1840
/Filter /FlateDecode
>>
stream
-xÚ¥XKsÛ8¾ûWè¶ôVˆàÁçÑcˉf'Ž×’·f+“MAk$R#R£h~ýv£>lÚÉÔ–l
-…2w„eòû\Nôˆ#JöKùþ6
-zœ n’†p_ÃRwOúð\3¡$K8—o«Örè&ûUÌâŒ6PnVB,$±·ßf¹F2òªM­u©YS”kW¥eø ¤mõ;¤‘ãÒ5]2ˆL$xLE/nùL5p,([¶ßxÈW‡K‘xÕŽ$K’ÛT4LCIªÔV—l¿×åÑÌÄ“(ý1]Ë"eâ8‚4s»8ÃÕ¦L*³f¯V§ŒÇpú›Õçz=°Z._é1Ã%‹™¾-µå;0‡˜‘`ÇÜ…»¶QÀP&fàÛZ¤‹%}/¶ÕÓ¹!!wE_C¯›0HXÄáwLØãzÄŽ‹b ÕD÷½0¤ ˜R"}[vË5"|`H™2!8”¾Z«‹%g6g Ó¦È7D²riòèeÖdÖ›ê¸]ýd·ŸEÓè’Ù @¤LÆPD|@…0hB}æÓ)m½úeþy$7øÄ—ã2 HEU0Yæ£uif7HÍvuL>~õ¸øøùáûRge£¥nHÞü\7zWÓàº*ëêÐÇ]'üDN^
-Q”ùöhêÒó,"b“YÖŒXžŽkçÙ±¦ŠÆŸ¼ú'1-æ³´@ñƒ!…ß~­:i“™ˆ Qêm«rm
-èf“•Ž²ËËb­ëƲêrÝlˆ6ÑÖgÜdµ]²N¹úg0ù ¦"Cx · í¯ª!"NÄSÑÔÝnFc³§AwZºÓ`·™)wºÉm¬1Ü„ï±6Ù+à·ê@fË›íÙ„‚=aÐÁ8£½;]×ÙÚ”ÁNeSäÀW•Ä—WK»
-64wÊêáŨGé»=ì}r¥áT4¶
-Tp²Åƒ›»¹-»ýVï@ W³öÌ’ MmÅ)0Pdd# p¡ÑºD*´(µ¤é¢¤¯Z 
-ãÿ©iŽ
-Rtkºzõ<‚
-"ŒÜ$ø[°.,´fðŽq¥^¢•H4ƒ…¬&SÀpÆ}7ÕÉ-ÙCl_ Ôžr¦©òjkT† \>{ÈŸªÃï˜"¦r‡›ö¦¾W%Mgåù”µ0©ThÜŽ+ËÊäl1d˜W(vM!掇¡ýP(ïáöš¥àA»ß<•
-ðÉü‹º:· rúàì*¶0gÓe$í Œ¾ög68³<×û&k›‹'›mªèoÍÁ¾/[LÃ@îžšmÎÔź´]b§d߯6زZ?;zu,sÛáî†øPÛ¿ö#<ÈðO‘÷oÓæÿþ/²û×5ˆ™J9þ¤WŸþ©pJ¡µEbÇ"\·„—ƒ,öï¥{
+xÚÅXÝoã6÷_áG¨¹ü)ªonãöRt³¹Ä-èöAkÉálɵäd³ýÍpHYR”¤Å-„ÔpHÎço†sbn5ã*çI3Í…žoö3>ÿ k?΄çY¦EŸë»õìÝÊÎS–iæëmï,˸µb¾Î‹–77«ëË«ÿ\,¤æÑŠ],4çÑûåõ/ËŸ‰vs‘Êhùãê>EšÄÀ$ò-oiõzù~uñûú§Ùj݉Õ]p…2ý1ûíw>ÏAƒŸfœ©Ôêù#|p&ÒTÎ÷³X+¦c¥e7»›ý»;°·ê¶N™"Ö–i›ù˜MB×>7g\ƒIÌ™UBv“bÊ` ¶8¢¢ï~0q3eÆ* ‡#Ç1«òz¿-wÅØ$BÇ,N­÷ï}&]Ç5!žì]*tÊbËÅP¾»C±)?r.‹æb¡te8訩OÇ a£MAäzK#IK<yÖfDÝÖGš|.ªâ˜µeõ™XÚ{¿?;µ÷õ±ü
+kuá`¤Š®ü™žIGõ!lK€wR¦UŒ*
+–jMØ<5mH#£¼F©¥QU·D:8©ë‡2/ˆ‘ýã)„…˜H½ÞåÅÃ;¯—ã˜Í
+Ï”U4žÜ^ªC½+7O4'D L(0Dª&ÃÌ8çªGÝwK Æ9#@pËH i`êYN !7÷I“RƸG¢àWût( ›
+Ž4äƒ<Â=áEæâU4<ÂÅ€GHßR¡o@´1žjŒWÁþÏ1HÈ$¢”!ö%e)nnNŸ|¢Ês¢b*Je»]ýè·MNMD`!œ-4!DÇ“<+æC  )§—ÛQL½OÔÒ¢¦øÞèCÑß‘µÍ_ÉZ„ÛЙ)¿Æ7†‚Ç zWnW+’`ùó݇‰ã›@[)LJ±ÛG>rxsÂ?ñ í>Ç4®èñ
+-IKÞ× ôP6t®ß]]_ÒÖÔK–ï¡ÍlZxUPüòè¶@˜x-·ô>«NÐNÈ`çgL߇Ïl/xEkím“¶Ë_Öÿúpû¶U®*èš«ÂûùÎ=n|0|_WM}lËÓþ|o º‘þœXAäæøʾX]Nv<d¡d"›\P’Z¤ëéRŠBÁ—Ž­ãêNpr@¾%>Ô QovxtuCc–çdѦ)¼ì„/¡Çh®žçPC_Lÿù³Ã›)#óaà=Uõ¡)›1CÈ \i@—D˜)O¡a„ù«Õ§„ÃøáËÊWŸŽk`´çx¡KR+ûà€óï½ÑÉÄÙ{!yÂtjôÀ*—«»ïo¯nÖW®'
+IvvBØA,Ä ³Ð[‡2\îz7ïó4û—0S¯nbÏPåaǃÁü%²k„y L†Ûu½X^^Þ²^€
endobj
-2901 0 obj <<
+2898 0 obj <<
/Type /Page
-/Contents 2902 0 R
-/Resources 2900 0 R
+/Contents 2899 0 R
+/Resources 2897 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2876 0 R
+/Parent 2863 0 R
+>> endobj
+2900 0 obj <<
+/D [2898 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+2901 0 obj <<
+/D [2898 0 R /XYZ 85.0394 526.0765 null]
+>> endobj
+2902 0 obj <<
+/D [2898 0 R /XYZ 85.0394 461.8446 null]
+>> endobj
+970 0 obj <<
+/D [2898 0 R /XYZ 85.0394 422.0598 null]
>> endobj
2903 0 obj <<
-/D [2901 0 R /XYZ 85.0394 794.5015 null]
+/D [2898 0 R /XYZ 85.0394 385.2356 null]
>> endobj
2904 0 obj <<
-/D [2901 0 R /XYZ 85.0394 752.0628 null]
+/D [2898 0 R /XYZ 85.0394 352.7463 null]
>> endobj
2905 0 obj <<
-/D [2901 0 R /XYZ 85.0394 603.3016 null]
+/D [2898 0 R /XYZ 85.0394 285.5926 null]
>> endobj
2906 0 obj <<
-/D [2901 0 R /XYZ 85.0394 539.7009 null]
->> endobj
-978 0 obj <<
-/D [2901 0 R /XYZ 85.0394 500.3546 null]
+/D [2898 0 R /XYZ 85.0394 224.3257 null]
>> endobj
2907 0 obj <<
-/D [2901 0 R /XYZ 85.0394 463.723 null]
+/D [2898 0 R /XYZ 85.0394 148.1387 null]
>> endobj
2908 0 obj <<
-/D [2901 0 R /XYZ 85.0394 431.4263 null]
->> endobj
-2909 0 obj <<
-/D [2901 0 R /XYZ 85.0394 364.9038 null]
+/D [2898 0 R /XYZ 85.0394 83.9069 null]
>> endobj
-2910 0 obj <<
-/D [2901 0 R /XYZ 85.0394 304.268 null]
->> endobj
-2911 0 obj <<
-/D [2901 0 R /XYZ 85.0394 107.6861 null]
->> endobj
-2900 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R >>
+2897 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F64 1435 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2914 0 obj <<
-/Length 1239
+2911 0 obj <<
+/Length 1215
/Filter /FlateDecode
>>
stream
-xÚÕWMoã6½ûWè(k.¿%¢'oâ|,6N;EídK¶…Z’×’v›þúEJ–Ù9ôÒ"@H‘3Ã7oHš8þˆ#$’Š*ÇS L„³NFØÙÂÜíˆX̤MÚ¨OËÑÇæ;
-)I¥³Ü´lùû>q–áWw†(Gc0ÝùbvÅ»ñ„1wúô4›_ßÿß`»ÓùËô‹{+êNog‹ñ·åçÑlÙÄÔŽ›`¦ú>úú ;!„ÿy„S¾p~ÂFD)ê$#.œ±zd?ZŒ~m ¶f«¥ƒ<Œ(“t€JB‚v˜
-IFYÅÄb63›š~Y<êý|¼á¸Ev&@•â„WðO÷ókƒWvY˜ÄiœÇ ÈŽfè9ÚDÇ1ñÝ(]Gfè!HË`oÌSÚ2O¤¨”ühó"
-©*Ü<H¢3QùHzÊdñd¢ŠäJ=ÓÛFi©±i¨´nºµ¿>;¸¦Å3òxM³Cç}¥3‚<_2G‹OùÒR&p©Ð™–-ò‘F¿µ‰Jµœ”oƒên·Úàí
-y p«€<ØCª$°ì·Ù1.v |áÆ…æ%†”™é0K‚8ÔKm±£—ëÙâêùþiyÿ8oM/Þ®b}°î{6Þ:_ZRŒ¸AjÚ:qŒº6Ë0¸
-ò(4ÝÌâÓä•>õøÆ,jÖ÷AR°ûN6†™»ÜŹA­kw«È´eã ÈL»ÞEë?íЮ&ÈÚî`Òùìã0.^Úª8º4'Ä:«ÚЖPœš60MoÓ*èÿ¥º¨X[ÈÏ·/³ùòíálǤDÊ£ü²*Û¨ú,}«ÊÕh­çÔ£Ècô§5hÀi[)ž±±žÓåÎÖ¶Qºî*J³qXsWeO·5øtT4eÎòÅ<¸8¹x‡¯ê_5J‡~ªÈžg‚ ”³Ë®Ô€ï΃%ÜŠBvOaûJ¸i™¬"}o)â ã5œ éÖ̶`²C-¶&œs÷ª<Ú›®Ø¿öVei=”—‡\ U6†Í™Ï CUQúìÀ’t+ÊÖþ« V·‹»é„|€>eîÏ]¼Þu§í†´_ý¹z5m¡îÔ›×}òËXóè®áDŒ¾—vCz.Nô¿®ñÆŠÙ§îÁq±)÷¦õ_Fõ…f¶až^›ú™P˜sGk°âp[&àõ¬ ©Ïõá.½(Ã6ê¼ ”¨uô\+…|áE×5hÀuW…ùŒv]7ÅÛÈ°uV!œŸ¼› _qågë8ßeåÞ–ûÊ΢#°DáyRá} Kö©-ÔRk”ÞÙé:í
-+‰ºì¶ ¸mª¤~Ó®Û†Pëß«ŸPspբϲóæÖgU^{¯ÄÿëkY!þÓ¯å¡_QàPÿôÐn"ü׿°N?#¹‡˜ïŸ)ß^L½ä"x!Nž¨}|cgQÚ\¿ sþ›ßÆ„ž_PÚ
+xÚ­WßsÚ8~ç¯ð#ÌÔ:ý°dù‘&\šNCrÜÜLšLð¶©mšÒ¿þV–dd0Lïz“‡ é“võí·«5ñ0ü $"ya Ž ÷Ù
+6³DMÙÔ!WœÀyƒ:œÐðô™ÒPÿ‚…¤ŒëDb³Œ1ݘ©E‘×qš§ù«»Ç,ã:6¶á>EœSc<À(Â2hŒÏöy±­Òê8(à`(ó„˜}$¸å@ó†QHˆð|÷ˆ†à€ö(­EQ"€ãg?×Wá³S2$$ 7[ò]ö%)5¬c€  : öÒseG#ªôG¢Í®ÒM’BØ¡Ñ'ÀÂדÙÕãíÃüö~ÚîꞆ(¡8ºå©F8GR†Ìød•P|&C%&E+5U”ÎR8¬’ZcŠ•žÐX³ßÕÙMÛd‘*`²Ô_wq^§õ¾{Ô¶JvË·RSJlïšð­ã¾&KWŽ·uºXÍƹþñňxW)s«ŽÒ«bWŽˆ. PÙWÿ“¼næ‹í^O¬ÔåD½NJ›Yš c³ÚWu’™É·´6>åEOþ$ßÒE‚~"…Æ7Ow“éü´°™ ü˜_NeëÐiš´(eÙ¦…8R³Œ8;I ×3‚UR^v­Eõøæj•à BÝqîVq®ä²‰›©)#g]·”xsÐ*}ƒH8¢?Mj")â’ñžäï¸Æ$
+)‘ös¼ÒÚÉ´eªíÖ…F€ ú§IãK¼Ý&ùR9Üã £ðF
+ùï|“M¾ªŠï& ÙHê:+,"‘àÌea9¨ ²¨¶ áMŒ@iZPQ—Š0B, îѹ½³®ÀnÊ·tƒÔdõßé¦ø²¯u°ºè¾Ÿgùƒª†¸`—és@çÙ³ ­2å£}8\»GÐíZÌ©ÝnÊA"ìžwY:ÈÒe‰qÊñIË #°.v›e·N¿•i]'yoEôƒ
endobj
-2913 0 obj <<
+2910 0 obj <<
/Type /Page
-/Contents 2914 0 R
-/Resources 2912 0 R
+/Contents 2911 0 R
+/Resources 2909 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2876 0 R
+/Parent 2923 0 R
+>> endobj
+2912 0 obj <<
+/D [2910 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+974 0 obj <<
+/D [2910 0 R /XYZ 56.6929 769.5949 null]
+>> endobj
+2913 0 obj <<
+/D [2910 0 R /XYZ 56.6929 743.9119 null]
+>> endobj
+2914 0 obj <<
+/D [2910 0 R /XYZ 56.6929 710.2666 null]
>> endobj
2915 0 obj <<
-/D [2913 0 R /XYZ 56.6929 794.5015 null]
+/D [2910 0 R /XYZ 56.6929 638.9488 null]
>> endobj
2916 0 obj <<
-/D [2913 0 R /XYZ 56.6929 752.4085 null]
+/D [2910 0 R /XYZ 56.6929 573.5178 null]
>> endobj
2917 0 obj <<
-/D [2913 0 R /XYZ 56.6929 692.3565 null]
->> endobj
-982 0 obj <<
-/D [2913 0 R /XYZ 56.6929 655.476 null]
+/D [2910 0 R /XYZ 56.6929 493.1666 null]
>> endobj
2918 0 obj <<
-/D [2913 0 R /XYZ 56.6929 623.3704 null]
+/D [2910 0 R /XYZ 56.6929 337.618 null]
>> endobj
2919 0 obj <<
-/D [2913 0 R /XYZ 56.6929 588.7135 null]
+/D [2910 0 R /XYZ 56.6929 269.222 null]
+>> endobj
+978 0 obj <<
+/D [2910 0 R /XYZ 56.6929 226.5437 null]
>> endobj
2920 0 obj <<
-/D [2913 0 R /XYZ 56.6929 525.7396 null]
+/D [2910 0 R /XYZ 56.6929 188.4488 null]
>> endobj
2921 0 obj <<
-/D [2913 0 R /XYZ 56.6929 468.6524 null]
+/D [2910 0 R /XYZ 56.6929 154.6889 null]
>> endobj
2922 0 obj <<
-/D [2913 0 R /XYZ 56.6929 396.6452 null]
+/D [2910 0 R /XYZ 56.6929 83.3711 null]
>> endobj
-2923 0 obj <<
-/D [2913 0 R /XYZ 56.6929 211.0639 null]
+2909 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R /F64 1435 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2926 0 obj <<
+/Length 1979
+/Filter /FlateDecode
+>>
+stream
+xÚ¥X[“â¶~çWðsjÑÑÅ×G2CvH²ìf`S9µÙàZcl†%¿>ÝjɘÁ³[©S<¸ÕjµZ}ùÔB 9üÄ0W‰?ŒŸ\Ãl7àà ̽+3vBã®ÔËÁRñ0aI(ÃárÝÑ3Çb¸\}ò&>Lç÷³?FcpoÊFã€sïÝdþqò+ñ>ŒéMÞN0‘R $}” ¹7_LïÔÃdñ0ú¼üy0]¶6uí\¡A >}æØÿó€3•ÄÁðÎD’ÈánàŠ¾RŽS ƒßZ…Y³´ÏŠY˨ÇR …`IÈ+O •TÆ÷ÓÅÝãìÃrö~Ž§5²ã<>g°Dù‰þ}$„ðô¡Î«²•â^µ†¯L¼gó{â$ô9îi¢©hœ–+"ò2+Ž«¼ÜÜ,d!ÛÔŠ¦$òtÜÐ8K5-„ÁûÉÝxñ0ù -³·4ñEŸ­q§mžmñXxÖp“>ŒDìin˜xEUn€aèf›–Ž²Ó«|£ëÆŠêrÓl‰Æ£_ nÓÚN¥Å¦:äÍHxÛqþäÏ™fo`ùØ-h‚¬}Ý r"žò¦¾¬–AØw0«Í÷/ÚüÀi..3,§ HÝd`°¢ >iúk½¢ˆ[u ·eMq6©`5lt©icBƒã”Öît]§«(=‚ŸÊ&Ï@®*I.«Vv,lˆwJëëƒQÅâî»=¬}*4Uè)7
+“ˆY44B²8ØÚ„¤ÎÆÛ]šÍé Þoñ#ŒYìÇÊ.ØU«euMû4ÛªÖd‡ËÛÈ&`äQ¦ÕMÕV*ˆY7Æ2,âpþ«L±>Äôì:"»Ù„‹Ög¢MÒ
+´ä’Ú̈½cÙãŒD² ¬ý7¾ˆbÚqÛz¯³Ö‚²â‡ÚÚEXb€Äç…:#×44¦¢êè
+xÜ+
+@ð"ÆFÎ./+Ë¡é¿Žy[†ÀË-Ƽi–w‡Îxz¤žì¢ý!/ÍÙxWG+ëp®f.#WpþŽª"¦"IÍ4agËÿ‘Ž»÷óÅì~ú8ÁêÆnfñývfÑž3+w ç?kâÑE€šŽ€Q=÷ ‚"'ñÿ,ø‚  ­›aÃz[Áv¥^¡—ìhiM&4æCŽûn«“›²J°M"jO5ÓTYUX
+ŽRЦA_×ó¼`® Ïzßàœñ
+óôôeϼ•º>®9ìqY
+b›uZ@¨B~Õ …QÇÂRMÓ«j—æeo¾8WŽ¹}üŠ×“æ…½× ½]GÖ^/L)÷yI_8×ËÈ\óÂ3Á†¹§”ÞYJP§Ì<~j“¦È_ÓÚVðöé2 œP›ÖNÙ JenWsýÂ÷Øn`:løf[}±,ÛMŒÝA®.„ç´ÈWæ]b^[ë›<´¯BjÕWµ< ­Pt·ÿß6£ßOÜÉãÛï¦óåâæ›waÀ”äÉ·s³#äþ¹MM'ÔæÛ‹áŠf<J¾½e+t»ç^òñ_oºl{2“íÔ1™ û9_9Ç™Ðu¯Ž \´¥Á^ûW
+ ÿJê1œ·1ø¿ÿ±ºü-çC ãXö»@q
+endobj
+2925 0 obj <<
+/Type /Page
+/Contents 2926 0 R
+/Resources 2924 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2923 0 R
+>> endobj
+2927 0 obj <<
+/D [2925 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+2928 0 obj <<
+/D [2925 0 R /XYZ 85.0394 752.0914 null]
+>> endobj
+2929 0 obj <<
+/D [2925 0 R /XYZ 85.0394 555.924 null]
+>> endobj
+2930 0 obj <<
+/D [2925 0 R /XYZ 85.0394 468.7059 null]
+>> endobj
+2931 0 obj <<
+/D [2925 0 R /XYZ 85.0394 405.3981 null]
+>> endobj
+982 0 obj <<
+/D [2925 0 R /XYZ 85.0394 366.2553 null]
+>> endobj
+2932 0 obj <<
+/D [2925 0 R /XYZ 85.0394 333.1561 null]
+>> endobj
+2933 0 obj <<
+/D [2925 0 R /XYZ 85.0394 297.5057 null]
+>> endobj
+2934 0 obj <<
+/D [2925 0 R /XYZ 85.0394 231.276 null]
+>> endobj
+2935 0 obj <<
+/D [2925 0 R /XYZ 85.0394 170.9331 null]
+>> endobj
+2936 0 obj <<
+/D [2925 0 R /XYZ 85.0394 95.6701 null]
>> endobj
2924 0 obj <<
-/D [2913 0 R /XYZ 56.6929 151.0119 null]
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R /F42 1288 0 R /F54 1383 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
-2912 0 obj <<
-/Font << /F38 1082 0 R /F21 994 0 R /F40 1218 0 R /F22 997 0 R /F42 1288 0 R /F54 1383 0 R >>
+2939 0 obj <<
+/Length 838
+/Filter /FlateDecode
+>>
+stream
+xÚ¥UÉnÛ0½ë+t”šån=©©³![#·(Ðö Xt,À’-Mó÷Š”*;Jz( XCòq–Ç7$ñ1üˆ/$’Š*¡8˜{Ø¿‡µ8̼ÍǨ+ïý1 }…”¤Ò_mF¾B„Ãø«ô{°D”£¸ÀÁU¼<b§Q|:›S²`,ˆnn–WŸÎ¾ÁX`@ ãà2ºú]ع›™¢At²Œg?WçÞr5ä4Λ`fzô¾ÿÄ~
+éŸ{1
+ÿ ¥¨Ÿ{\0$8cýÌ΋½ÏƒÃÑj·uŠ.B$(—ÀE!¦Ód´ 0 N Gõ—,J¦ÈêQ†¬dw_VY³ÍË%˜˜ÈÌ;}z@MĦ£ØK8F!÷ƒG@¹AÑæwº26²"ÍÖI“÷v­Ùj»°Mê­R†ÓãœGmUÍHè¢Ù=ì*‹~ªnʪÑé«îìpSV†
+"RXš RBÐ.ãNP³9ÃaÕöŸFsòlÊ‚§m¶Þî/»‚L\3¼{¶ß.CcôÅ›|€/[벨õcë
+2+?(åÄüí;¼Ø:ÕÖzÓî¬ý+Ùµº«÷eØ1Evjo¶Æ•±’ŽÃû6‡¨è…öÂd¸
+¼x;tš½¯BŽBF÷C¯:­
+"Ä„?¸)Ä¡§y „#®xˆ¾¬N¯o'<pV@sº±YÄÏu£s§á#h8¸³6íµƒ€|Z#xÈð¿_¿Ï=_ †tZm9.­Xóxù»ÑEª]3Æöò·ƒ¯3BH «ú ^)X@1~Ù¡Q&é 
+endobj
+2938 0 obj <<
+/Type /Page
+/Contents 2939 0 R
+/Resources 2937 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2923 0 R
+>> endobj
+2940 0 obj <<
+/D [2938 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+2941 0 obj <<
+/D [2938 0 R /XYZ 56.6929 615.679 null]
+>> endobj
+2942 0 obj <<
+/D [2938 0 R /XYZ 56.6929 555.6269 null]
+>> endobj
+2937 0 obj <<
+/Font << /F38 1082 0 R /F21 994 0 R /F22 997 0 R /F40 1218 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2165 0 obj
+2164 0 obj
[986 0 R /Fit]
endobj
-2000 0 obj
+2004 0 obj
[986 0 R /Fit]
endobj
1656 0 obj
[986 0 R /Fit]
endobj
-2925 0 obj <<
+2943 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
-2197 0 obj <<
+2205 0 obj <<
/Length1 1628
/Length2 8040
/Length3 532
@@ -14182,7 +14384,7 @@ endobj
stream
xÚíte\Ôí¶6Ò ˆtÃÐÝÝÝÝ¡Ä0 00Ì ÝÝÝÝ’‚R"‚´t ÒÈ‹>ïÞûüž³?³?½¿w¾Ìÿ^×Z׺î7¶‡Œ5Ü
¬‡¹rðpr‹ t´P(ÐWç…C­fL9g0ЇÉ]Á¢
-Äü{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
@@ -14205,129 +14407,127 @@ $OíœàÅ€DÈ
t‡Í=žÝbóÆÃwî6ß"£“˵?”JËOP2RÐ oQo+†â1)©w†¦ÜèådîI½ÈZ¿VÍ­(e÷åû È"QÔü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
-2198 0 obj <<
+2206 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 67
/LastChar 85
-/Widths 2926 0 R
-/BaseFont /QFCMYY+URWPalladioL-Bold-Slant_167
-/FontDescriptor 2196 0 R
+/Widths 2944 0 R
+/BaseFont /KXBSTB+URWPalladioL-Bold-Slant_167
+/FontDescriptor 2204 0 R
>> endobj
-2196 0 obj <<
+2204 0 obj <<
/Ascent 708
/CapHeight 672
/Descent -266
-/FontName /QFCMYY+URWPalladioL-Bold-Slant_167
+/FontName /KXBSTB+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 2197 0 R
+/FontFile 2205 0 R
>> endobj
-2926 0 obj
+2944 0 obj
[722 833 611 0 0 833 389 0 0 0 0 0 833 0 0 722 611 667 778 ]
endobj
-2179 0 obj <<
+2183 0 obj <<
/Length1 1630
/Length2 6133
/Length3 532
-/Length 6982
+/Length 6981
/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¸
-ïeë[ă»4fÖ)Æ»'c£»¶*2‡Ìu•ÙÖ£™øM×E;
-at
-½’•sJÜkŒ "êC 3ó®cUÉÙ4eHÎH~0+¾÷ì
-£Šà> ä>-e™÷CL\¸³Äù¯“7ôwÂI:HÁ®óÚÊüÄRö*gTréïI(J‹ÕÏÀÒˆª1!øRb’>¹`ÕÕâ13W@‰MÔïÒ335,Gƒ÷î Ã'V? 9ZŽfjW]èUªŠÛ¬[ßÑY@ÞCLAíŸjÙÙ*+òæÅõÁÉÏ5~šj}‰Ûy]ç¼cñvË‹ Bxi9]'±|¤“²w/±2X®‹‚8w^+ÐKºDœ~$ìl‚Ý‚I®J5`žV¯ipw/¢6’
-}ˆçã õF´£ögºts£ng]á„Ö|Õ`ˆksÕ8;¾Ï»´²?…&@È™!*¦54[«*/„“¶sÈo?87Æ…ÑS)ê¿{=ܼP‚+»Ñho†lMe$—ü¬NRž3(Þc½4ûô.¨’õ©ë~FZBô¾Y5““_ªßþÎhd%\N+œ2‹ÐèÛ—ˇ)™¼¢{ás9͆·ß¡’ ½¨™”qá 'N_Φíc%}#0~?3¸¦fSwß2œ]aµo1ŸJ(Ïá®óc¨ƒ~ P ʽ]HϨ}æKU«Ù0¼Q[»SÊvåg à¶"hÉþÄêYá­ÿ/¤g¹iŠWœeM¬”…¨AˇêžÒGªrÌ,ÒÔ‡Øn¹äV¥õ†¡¯ø]mÔÅbüÒ&‹’j´¥‚LsNù£97œ{xØ4()Ûó’:ÍÕJ QɉÓ4âQxŸ6êw´êú|©:T™$·Ü½Ê·ƒ
-Õý‘–”øц1öã9ã^Ìæ‰ÍDqf
-pR°‚šL\(<uØÔûÐéV‘‡ᣩ ež¨ÓE§vìA7nEŸbü­¤6ÌÑ  ä¡ÁDÈ;Cŵ½AŽcήšÏêYcg)äµU4ø&š˜,9D
-V1-S¸`_3ÄÝËú%6BëbØ r¨Ãt©a*Óغ0ɼ•uï´ñï¨Î)y©@[gbL¦Ç)Ä?ÊDâÐ÷*éԒꟲGê«àI÷_â‚R§—«·>noߢiŒ!L½<©35¢$2MIÝw™ôäs¢¨bâ< ûVÇ–DT£ì¶"Y \FÉ…Cóuø9TcÝI¥zÒ³€‚*lõ™s$a`F éúÀ µ (X×Ñ | |
-5ÌÄ÷ o榯‰‹ûȯg¥Ï.š%~2Œþ  Í“ 60×Ò3îeÐiÁeø¬O3KG·l¯„šÊé:ÐgyÐóud6pD‰+v°Ìb¦N f‹Mh¯Ëaˆ>.`È.kŠI¡iøòØ"ÌSˆå0ÙÒ—ûbûj¹D䧠Éj§×òáøg”ŸV0½Ð
-½c–$îSÓ5¬´0ÏÚEdÊŒ0ƒh(‘©ðñôä‚Iµ±¾»Ú» :—2´Ä!<|^Þ‚X2›/¾5obÿd¬ë¥KºÃwƒø‰Õ˜ÞMG0C&ÊØjãž;áÔ+=ÃÜãÍEXr#à]Cg "}Yá¾.¶aýìY³ÆIˆ/^Y»}$oί8 lU†ø„=O'aFX²Åï9hRÔ¤[ÞÞ[ù~ˆ[ró—M~“j…<·ÑVG½‹Xî//¨šá‹ÉVà²hÑi·¢·æÉå6I?,·%F\œÖô™–@êõ~ø†Yý E>eUλGwü^‚}« 2ë$¶Íð‚
-ïcñ•ñZ×™b”[DÌÛ³>Â&Õ—ÂaY Kê{@”¹¸’QeUSæX6»ð¯CvòàªÇ£hœ½a¢ª§é›ßôóƒòêªÎ1‡(‡(-Ô±ßV”ÓyCC..&
-®Æã
-7/ƒ[\ÉcçtFqóÍÍhF4®¾¡õz»Bö¯ ÐØóÜE™Œ® #ôÃëÅš[È
-ŽM®Aµì)ÅŽ¡ArjgWLØ;'·p
-²R
-Øêa³!ß™ŠxW_FÅyë"3Lêû¸Ž>ê‚*8VŠí_ŠÀÊëó<"•{•îÛá[w õ(FïVqQß¼óq–Qõ vÕ’Tw͇\÷Yd›fÜÞ>ÄO¯Þû9÷aZjümµ=!À›œÝ>ÜüïQ3Ù¹åÔ«^ ü9â@"ñF/h•>þl`|ò\ÕIh=n‚ÜL'¿õkµf9VÒjt‹ƒS~÷Ò¤&ÀŒTú'§$à3ã!Ê5vÿÃJ
-ƃ>³ÖÕ;À'uãá`:?Ó+Ôx`ïq–΢vIÀr=
-ȘóiÀù ÿK1â Ýc‡É…ã9áU¦
-ÐíC¡Ówï»ëÉ“º¿Zèp½÷äOô>/¨lÝ4nlŽ°U-oMôÙ“ˆ o:œ©Í|y„7MT{õ ¯=i3RÇVHA9jQ¾rÁ3ãaÂ3œ´X_¿ÆdhÚ—E/Oö\ìKɬÝOõš_·— &†÷ê$ÀuæbsAƒytN.`.šâb™Ê¥܆€ð6é瘯l¾}êÈg|ëwRŠžhXŠs×L84ØGê} 1Y³mgzÑìÅÓŒ$»9ñNh‹Í”ŸâÕ÷ºXsm{Ôg"'H±¨ª®RU\O¹<Š>ÊlSñ"
- ‰ôt.CB±|…—(z?п)|Æö…›‡8csa4«ªy=~U»+jð*Ì8Ó“«&ÐÐåÇw?´,IpöÛ7oå¡#½Ëõqw¾}eüJü¢šïUølœ]Rçm‘LغÂ=Îk¡·ÐóKJ;œuY8:B.²åžðŒC\„0&õê®X¨ÕåsÊ;2•©`‡¬#¿Ê"ÿÿátökä
-¹Ø+`‹ï—Rp 36‚FŊݹÎ%:b‰»•¯·0Î&SwjÒ V‹­C%#N^©Û™KuÓÏy,ÅEŸq&¨ãò8¿ªÊ{D LGÌ8½UTmÚ5leUÍ?6¹6ÞÒ6!-+ÁöŽ·¶¯T(wu9eQ–éáö:Jmš»4 û_}ö~N†ŒÁOkôÚ‹Ö»µ§½Mìð}íîɲư™qÀ“ë`Á+–»5ãéö×­d[%˦×÷[M–ŠÁÃ#ߦT\Ú*wqªÝ¯¢Øg”‰˜÷Õžà$²dß]Í|®yó9¾è?)ì#IiwñùŠ€%z :õÔÝ3°ˆKzW†Fc¾òm={‚ú³8uL‚ÂôwÌY«|í»U&›±”n{ÀeóbL=Xûy*áwSYø"FžN†j×'›<ºÚyÍ7Ì4`u¹§h‚Žï›Ô
-M0 V”µ@¦ØRšÁSÇ8${^™æÒu”œqÿ›ÀÿüŸ °r„X¸"áN®€ÿ»Ã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ƒú­,'¯¤¯©Íö¯o×ß¾ê7[€Ôör†€þ;‘ž
+Üú‡_LRRpO7· ˆƒ÷F7— /H˜—ßç_dýMÄý×YÅé
+õqqrqqƒn~ÿüþu2ù,Ì
+nýko´0ë›Uû‡álåæêz3áßoÿMáž/=â ±LOÀ­DƒíS3ÒUä9=ý2F:¸1zBœ‹k´_çûWÀÛýRÃ…ËÌ/*C8kE®š¼Æ·/W•X×z;È·'Cöò¨|èYÞçÍ3½d[ ›ã§}Õ‹òÞS^À4àÒ][ê×Ð4-º¸|Ç늽ÊâOïžïOÊpâLàk•òöÕƒÂÚ[ÄUÛ_™6OOwõ}ìén?¼û~•’-û£¨;&>S¤¿K6åSCRÙò·ª·ãòŽXXðð+yÏ—×ro1XçFèÅR61žêDžeâ§Á ×^‰mùkT³ïT ¥ØÜ KCvá)µKö±éû¬l´¾úï.ú¹üA¢IὬ}‹xp—ÆÌ:…x÷dlt×VEæ¹®ëºB4ߢé:°h`M$z¯=Ä*óù ?7l &?QäÔ…ÚvÆ<=yÊÙûÃ㎣²=÷'ºçä ÄAŸßÊ}gw‡U¸'b%6—=\5Æ„¶O€X)Ô| 6*˜Ö}ØŒôDVs§Up ˆíbëÞ­×…+Ïo_MX`êÁWÉC.Âß6¼|í½ÏÊ)¥2ÉP0–b®G+kGõýZŠÿåÆ~+`çÑáËé
+Žòêˆ
+âÜy­@/èqú‘³ v &¹
+Õ8àñ´ZÕHƒ»k|鵑dèC<g¨7¢µ?Ó¥›-;ë
+'´æ«:C\›ë¨úÙñ}ž¥•ý)4?BºÈ Q1­®ÑZUy!/”´C.pûÁ¹1>(ŒžJAÿÝëáæ…\™F{3dk*ƒ
+ù£ÜÛõŒÚGa¾Tµ ˵µ;¥¬W~òn+–lO­4 o¥ø!=ËMS¸âØ(kb¡,D ZÆ8T'p—.ø;2S•cf‘¦>dÇvË%·*­7 }Åçj£&ã—6Y”<P£-µdšûpÊͱá4xÜÃÍÀªNIÙžGÔi®ZyˆJNœ¦‹Âƒü´ÉP»£U?ÐçKÕ¡Â$±åîU¾¨•¯î´¤Ä6Œù°Ï÷b0Ol&‚3ûh.R²ÔEµ6¿PDÌsXykdìnq¡9¬[–º4$4´vŒwäú¾e'1 PEêA„÷ƒ?´ó2k¡†ãÌ2ž"šüœ÷‘ R´«Årg?Òûü°ºÍ(çóˆÇxemL Ïç&¯Ë0ú¼B»=0Ò\3$Kr¶êó„ÒÛ+©/fÃl»,{„ÉŠSÕÇúߥÛÌûzTÉߥ\ç›
+j2ri ÐÔaSïC§[Ev„¦6”¸£NÚ±ݸü}Šuò{´’Ú0G/P4t‡!ïL ÖöÙ9ºj>«Dd¥×VÑà›lh`2爙0#·êZ=4í%牵7h%Å Y$Zü¬ˆv±?‘©‡É=áមð;Ïcc„—÷:IêÖá°5ž’”ö×yÇUµD2>ÃÙ}ÐŽvk2š>2òQ× ›yôASLPkQ¡âZõ>×_À
+ZŒvR¸pdÎ& QºÒàî¯E¦âx|E&ù'Ar0Ëèh" ’çÏvÙý½Ï»ÓçêßV¤0²iRÂyO„jßÌé&šH¹£(Âμ4™
+V1-S8`_3D ÝËúÅ7BëbØ r¨Ãt©aÊÓêغ0‰¼•5ï´ñïâ¨Î)9É@[gbL¦')Ä?Ê„ãÐ÷*éT“꟱Eê+ãIõ_â‚R§—«·>noߢiŒ!L½<©35¢$2MIÝs™ôäu¢¨bâ8 ûVÇÌšDT£ä¶"Q TFÉ…Cóuø9dcÝI¥Z’f@A
+»<¶ÚL9’00#†ô}à…ê¬ëè¾>€à)†fbˆù†7sÑ¿×ÀÅ}ä׊³ÒgÍ¿?FІæNP˜ké÷2è´à2|Ö§™¥£[¶WDMåtè3?èù:28¢È;Xf1S§³EŠ$´×å0Ä0d—5ŤÐ4|ybæ)OÄ|˜léË@Èu±}µ\"üSÀd5ŒÃkùp ü3ʇ×Î
++˜^p€&9I‘òÝÂcJ-Ù.Eâ.ÂÄSL”
+”kx±saóÝÒ÷ÁÜ÷Kk ]ö¾ô3 ·/*ÉmÌKgƒwõÇ–ˆýIô‰ù¤ŽòŒ¿Ù=a£ïe€üvû# }Llb9_ÚEƒˆÓFHRòæ›=ë­GýTùH:ñ9ˆe¬ù6PÃ%BÒ§4ž£Ò.n+¿ƒª°ÿ9ÌèÙïc‚4Ã_gÇÓ¶ú‰s+>傹»˜‡¬9,Épª½è!׉·ïhuF ÒiU2Æâ-A6L;iY­"Û ±+hô3…RÝOïi¦¹Í —Š‹ä©ˆÏHžn5÷ò”JDýÉ›³¯pôÝÞó4ÇÃøJ~t‰•|§›19äÚ¸N±)¸}> ˜5.¶5Œ¥¿þ“ <ö¨õëGš±×1{!•Å²ê3‚A-üMÉcÂ[ ×%Üû/¾¶°½9oØPO;fiv±}½•@ÃœJ#(G9j>2š?¤Æ ñ?~ªÑWåïBç¡ÛµO±B¥™Ÿ†ñúÃ&e“v”3†­ÉÞ&™<)ïÈxbý'.¼Ï\Ì_³Ÿ±‡Ý'0þààõªckêUPe¤cne„žÁVó“pÜ Ê½ö>ÄÐ
+½c–î3Ó5¬´0ÏÚEdÊŒƒH(‘©,ðÉôä‚<Iµ±¾»ê» :—Ò´Ä!ܼ^ÞXÒ›/¾5obÿd¬ë¥KºÃ{ƒø‰Õ˜ÞMG0C&ÂØjãž;áÔ+5ó¸Ç›“°äFÀ.³†ÎDú²À}]lÃúÙ²f“_¼²v-úHÞœ_qØ*ñ yžNÂŒ°dŠß³Ó¤¨Jµ¼½·8òý·äæ/›Ü&Õ
+yn£­ŽZ°Ü_N@%3&“µÀeÑ¢ÓnEoÍ“Óm’~XvK”¸8­é3-äëýð ³ú
+¼0ʪœw(îø7¼ûVdÖ‰o›áÞÇâ-ã±®3Å(·ˆ˜·gy„Mª/‰Ã¼–Ô÷€(sq%£Êª$¦Ì±lvá3_‡ìäÁUGÑ8[ÃDUOÓ7¿éç=åÕUcQQZ¨cÞ­(§ó†64†0\LT\Æn^·¸’ÃÎéŒââ›Ñˆh\}Cëõv…ì=^ÞQ¡7°ç¹‹].Fè‡!–‹5·›\ƒj+Ø3Š7B ‚äÔή˜ °w>Nnád¥
+ecŽ¡ñ³b2•ßÃÄœ¯ît¸âËA".0mÕjÛ;÷$èÓ#Ó“]Q;Ò­vü‘‡¦ýO ¢Â{'ˆÈ‚1N ;$F_<tïy ã.“yw`¸`[ÀÉ¥½¢‘öâÈwxúÎÂ-çsy¬û³B£¼!ç?7p>Õ~@
+ÈÃñôß[Ƥ7œàÀfIŸŠ¿iÍPŽêb FDt¨%Sc<ØCÞ±‰¤_¥}#툎~áß\°ÕÃjC¾35𮾌ŠãÖEf˜ä÷q}ÔUp¬$Ú¿•×çyD*û*ݷ÷î@òQŒÞ7¬â¢¾yçã,£êìª%É0®š¹î³È6¸½}ˆŸ^½÷s®Ã´ÔøÛܪ{‚€79»#¼¸ùߣf²sË©W½ørÄ(€Db^Ð*A|üÙÀø乪“ÐzÜÙ™N>uêתͲ, ¤Õè/‡üî¥IM€©*õO ÀgÆC”kìþ‡•
+5Y_£cóclNŒf•@Uï '¯jwåB ^…gzrÖ¤º|`ÿ! Î~û¦ã­t¤w¹>îη¯Œ_‰_Tó¾
+Ÿó/°Kê¼-œ [—¿çÃq-øz~Ii‡³®>ëGGÈF¶Üšqˆ‹¢À¤^Ý µºÜzœòŽLy*Ø!$ëȯ²È¿Äø
+Òí¸FúïšyË«mn£°MWÑl‡ög2w™SçäSCþ¹A¡‰
endobj
-2180 0 obj <<
+2184 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 66
/LastChar 78
-/Widths 2927 0 R
-/BaseFont /AZSKOL+URWPalladioL-BoldItal
-/FontDescriptor 2178 0 R
+/Widths 2945 0 R
+/BaseFont /FGJXRT+URWPalladioL-BoldItal
+/FontDescriptor 2182 0 R
>> endobj
-2178 0 obj <<
+2182 0 obj <<
/Ascent 728
/CapHeight 669
/Descent -256
-/FontName /AZSKOL+URWPalladioL-BoldItal
+/FontName /FGJXRT+URWPalladioL-BoldItal
/ItalicAngle -9.9
/StemV 114
/XHeight 469
/FontBBox [-170 -300 1073 935]
/Flags 4
/CharSet (/B/D/I/N)
-/FontFile 2179 0 R
+/FontFile 2183 0 R
>> endobj
-2927 0 obj
+2945 0 obj
[667 0 778 0 0 0 0 389 0 0 0 0 778 ]
endobj
1508 0 obj <<
/Length1 771
/Length2 1151
/Length3 532
-/Length 1711
+/Length 1712
/Filter /FlateDecode
>>
stream
-xÚíRiTSבª¡¬2©¤j=,Œy5„„! £ soÈ-ɽôrID¨¤*Ë"6ºd¥Âª"P”Zb^'Ò*Â#,ŸEªVEÀ©¬««ôgûë­wΟ³¿ý½¿óMs‹1D¶ÆP‚Áar„ P*•pØ€<³Ù-‡å‚¡ArŽ@àVkÕ€»°ùBÞ
-!O¡@,]#©*xÒ'I| ÒÀ8¢£@*'T°†¬¡« S 0¡g‘Z ÖNÞÈ
-xLɤR$„¡j=€`%…µ#»Á¤–BÖôâÁZµz\3Y~Ê©¿äåD­ÿiÒµŒ)Á8: ¿'…!D«™ž•r5¢¡©j08+™ì•op$#ÑÁPB(T@)WgÀS8ŒBÓ•þMé`IE¡á‘Až¿íT2BŽ D”>ì?ØS1ç˜4 Gt Íd³9$‘ÜoOIÓš‰Q!h*àò¼€Çåz
-9DdÄÙ€ ¬°ŽTÌb¢A^¤3¹@‰á”Éõb–ÎȘDß
-þàWÇ­Ž#ÇJG¾bAJ^?õ”(Ç”-cmíu4Ù»Ð+÷Éf=P '&ϸTÞÞöžæÀö»æÅ–ô&Ï?º?½“yζ>ü‡_E)šY{óÆËÇyi;ûÍv_BîC¥”¤òÓá{à˜ÿÞ)¾2q?«ÆÌ5—æ'î{êüÊLm»Ý“vËÞ(0”Km®}_ÌaÓuÊN
-gÚbs\™`µ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;VV»M£$˜³ç¨ á!Ǧ"çìQówÊr¼Ô{„m|ºœÞ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/7"|¬JˆÊ–JN©—[͸=sìq©«å)¾éÀÕP~cÅNÈÿVeĺÑÊ ß;ÝÚ|çË#E?^!UJ_'Èö¤ÌWféu]󲚻Ë8Tè[N”ý9÷‹S†¦MVóð5’èkUǶkÎWBcì5œÍ±÷Ù‘¸Î›ws‹VS©Ÿ †¥õcº}õ¡e–þ#;.fE¿_hºããZ&.}eS?Ôa]žxˆ+tjR45v_¨*±ÿ0Fˆ—E(Úo%o^=,­o<¾Ën;ç *§¤{naˬ…;6ýèòhY¦¬òËu~çø™1gƒyýþs¾u_\¬" äÜCÅâš©wŽ¡9Ïü¿{zÇ6htÉãØ3Æ¢ÂçUßiïŠÉðå.ÑͶݴºnusMYánéÜZ§õï„8ê¸,¼ê໫£¤ƒ÷Iû8uñâUÂÉå._ëSŠ9A=†‡!­áYz¸ ²_Ó×äÔîÏÌÏ•t_ß9¢Jnì¼Vžÿ-k¤N´Wï›Ã‰ÎgùµÏ lfÝûàJü§ß¤ÔðÇ΋[“®ö~>¹ƒÿœĢ'3äĪÞ<ó†'Y‡
-ª©u쿹(ÿ/ð?Q@¡†å8iäxå7#OŒ‡endstream
+xÚíRiTSבª¡¬2©¤j=,ŒiF !¡€ˆEÃ(ƒÄÜrKr/½Ü@R*©Ê²ˆ.EE©°ªÔ¥–X…p"­"<ÂòùªUpz¬««ôç{¿Þzçü9ûÛßÙû;ßÙ49Caa † “#Á2™”Ãä™Í¦ÐhÁ8¬  Q°p°R§Üe€Íò– y|
+ ciIQÀ+˜>Aâ‘Æ¥2¡†µd ¥Bä˜ ˆ4°nâF:X§Ãx 1)€%6Â)JaMh’¢* ðßÂ.í]*ÆÓIQÀkR&"! Õ
+MUBú7©ƒ%“Êc$k¼ÿøÚÉd„A‰HC ز'cΟ1iŽèA<›ÉfsH"¹ß§4£J BÐÀåù
+Ã)ÿêÃ, œž>¾¸€•21{¤{Øߟ„é³˸€Áå‘­ØË}ŸÇÎù Q©Ãq%&LJ4è]¬BHOaX+)–›˜Òoë§ûNo¯ÉWu³§§Ï7ÙÚ~~Û)“s¨×Ïå:Þøs$üÑïÎÛœ?EŽ;• ‡ÂT¼>êiQ¶9KÎÚÖãlvt£Wì—Ïx¨JHšv¹¬­õíÁ÷, ­iÞñ|v7ã¼}ݪû~%u¸pzÍ­›¯žä¦nêè³8| y–PËÎ¬Ú GÿónÑÕñ¡Xf©¾<7aÿ3××jëîÔÛŽ&±LfwÃäÿr›®WõwP8RZbK+å™ó}®G—›€Í‡þ¦Ø€æ¦pÙo3ºè‚ÓûÝÒüœ’°iÔȼc.ÊšyÿÐjª-\ߺ¾E€^,°Ö¯ÍwI­ïäúsÒ÷ÒÖ%½¢ý¾hçô§‰/^ô>c¤¶<TfyظŸ˜ãí{ 0ÃË{ˆÞΦÚ_ûÂì§Pu†õ:¬0¶i
+ìÏn•XÁ<·›G¿ð´p)÷…cÚ}åËÖ{ÛdÞ“ ÖÛâ.¡ŸôW>ú×¥ãn’$8¾7ùlä-ï˵ ªB\k ¦'š›$’ªEM3±ž ¹®óýf;‰¬‘@½Ër±[_ô@}.Û…7>¶à¸Ðç`÷K¿ÁŸK¢ÌÃG|äÚn™—º‹ù ri–ïovçÃk“ ¾µ'Í?ÎY²ŠÌf¬Ý—z¼&¼f»ÖðX0kï1Aý#Ž]yö¹§¢¦Tex¨ó
+ßôl)½¶áJíc©(âEe2 <ÛÒŠâ¨õÄXV÷ìš <¿„”×ÝGÖªÎÚ½éáã[ËìØ@:ô÷ ¨iâÏKrßlé Õ98‹›Úã-è½c¦;?ö!‚-ç9ë<ýc¿YÐB­»ðÑk\gUd[ç]hÛ?Nƒš+µµn4ÈÍz9H‘âeq7Ë\¿—>uGÍÍiÆí‚vøÕɪ’hV®µgÅ)bÕh¥•/–žÖ,µ™vgúè“wë3|óÁkaü†ò]Pà튈õ#ãþw»Æuy®W† ;~=³L¦’½‰—ïMž«Ê4è;çd6u•Îs*×3¼¶žY“õ%÷«ÓÆÆÍ6sðÕÒè;[uûöë®Wⵜ-1=÷ùÑØŽ|»÷s
+WR©Ÿ¡ÆÅu£úýua¥Ö¾£;/eF}X`¾ëí^*.ym]7Øn[–p˜+tiT6Ö÷\¬,vü$ZŒ—Fæ+Ûn'mY9$«k8±Ûaç:»¸kvAóŒù;7ÿâöxI†¼âëõçùùÑç$¼¾ÀYß{.,RPRÎÉÁ"qõÁ”{âž°ìç?|
+ìfÜÿèjÜçß%WóF/ˆ[¯õ|9²v'ÿ¥%‘EO,b(ˆݼ9–O3#çWQkûÙÿá¢ü¿ÀÿD¥Và¦Uà©” xŒ¥endstream
endobj
1509 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2928 0 R
+/Encoding 2946 0 R
/FirstChar 60
/LastChar 62
-/Widths 2929 0 R
-/BaseFont /MAHLQD+CMMI10
+/Widths 2947 0 R
+/BaseFont /MISWFO+CMMI10
/FontDescriptor 1507 0 R
>> endobj
1507 0 obj <<
/Ascent 694
/CapHeight 683
/Descent -194
-/FontName /MAHLQD+CMMI10
+/FontName /MISWFO+CMMI10
/ItalicAngle -14.04
/StemV 72
/XHeight 431
@@ -14336,10 +14536,10 @@ endobj
/CharSet (/less/greater)
/FontFile 1508 0 R
>> endobj
-2929 0 obj
+2947 0 obj
[778 0 778 ]
endobj
-2928 0 obj <<
+2946 0 obj <<
/Type /Encoding
/Differences [ 0 /.notdef 60/less 61/.notdef 62/greater 63/.notdef]
>> endobj
@@ -14347,38 +14547,33 @@ endobj
/Length1 1199
/Length2 2269
/Length3 544
-/Length 3057
+/Length 3058
/Filter /FlateDecode
>>
stream
-xÚíWi<”k2e$ûrYF3v*ûÚ £±S3ÏŒaÌ0‹})¢8ÙÊÒ&Yrd+BeK´˜YC©(‰’%Ktê}èTïéíÛûíý½Ïóá¹ïë]ÿëºþ÷uxd1X5Í´¤Q™jh$Ê
-
-Žd&ü¥ šÑA“L£šã˜£ °ÅÑ €F ô ´PÐ¥ùÍ‘F7
-2Õ•¡b-¨3šÿ¾¦Ÿ9™â¡ÆBÕ¥¡•L ÿ%D$S ëíXêNTr ´1ÿ;
-…Pkï÷Õèp 4*%ô‡»ÎÔ÷9Øï·µPùUÿß=MMi­ZWPÓÐÓÐh¨O}mÍŸY¿ëñM‹u+Gþ»VÔJ*‘èm Òò[[A Í*€XmeàŸüv4&ˆcä‰ÒFA}п¯à¿²ŸsX²(”ue_% MÀ>`M
-tqÖ”!ãÿ#
-çO¦„þ"îgGðë…ø›îgø+» •D5´ÆW#™aI 2ïóuv¾ÉMX¿  †Æ ¯]q(DýæèCÆûQA:”u¤~JjAÅÓd* À2¡ÅÑ ß k0žE§C:­ŸûmO$C%‚`ˆ‡öÓð»ŽúV­_¾j"¬öê¡f‹ŽÓâ–Œ<‰Â1†äl¶÷»,©•» —‘mŽió1,÷Øh»‘#>UÒ"I7ØOß´¹YP(NÓ:Aâ-òÚn;ƒ­3[]³¨‰´âY9oÌBïY¿—-YtS04ëÄÆÓD¢·/»¿ž´‡IJ—ä—qÛOô+ë‹®ÄLÛ[S¢ `½ìFs”o̱,ž½·j}TÚëÎSóvI¨¬AЫ¯ÿŽ)¯vto¼œY9ã-évY× ±ã–ÆŠOqqå*; _{¯æ€aÕÎk.ˆ¤÷1¦*g„¯²^¿u=R"×\Y\0ÝTô4·£ZYýJQúñjÓ±&^ÁÁ†&.è@õ¾|TØà*nÓ¿li®½ÛdÅ4 ©ÍºrÉó’ø9éY9°@ic_ÙìvËÖ”VyÆ ç(«ëXÂê´Äq£;ªç»_L¹n·Ýª°À}Ë +<) k3a³Q†6è>ø½R| ä¶¸Â¶ñ/ƒJŽ8+[’Núеc°^‚\[eÕ™¦Ö³asâ G?óõ'L¹¡ÊxK<yœc›ãÞ=öØ ÿ,™Êá²óíV“)ц¢Ã[Õ`Vµ· &‘åê><šeÙn™ê øƾ \|îf ®©ø«ˆ©<g½Á™ýÛBΩë·q‘úèMAõAÜ^ïÆÌ^è6ÿCÇR±Ä)1ë”ÏÕY›'0vE5£i¯,< HyS=x¾Ù+4Uevò¨ç½·lÆPçñAç ìÚúv™ókb»?{¹j¹¾1ºžY`ü%~§sÂröþù›DÇ«,K;¶sÆœŒg®êýQÁm>-œBœ<úŒ+*QiN‡£]a*?ùqŽøÃ:Kîu<yýŽY^üŠO€eØ{Ó/IØs?#¥–BÕ‡û‰Ç‡mGú…C¥4æ%D2êÕ EƒU·u®vùnΕ“˜\=ÁæW¾íV!»Ì.þëű3&ÚÝLÉ'‹UæH¢Aï7Û;°ËËIé/]•Ü?D‘à._úÐKi&´zñV©Q—Õ¥ÔªJ*¡`ø›×–µTÁ—= ¥úÿüSÖvÈJÂvÔN ÔÓŒµîÕXÏ+O ¶¹ï½ÔSÉø,ѽéKF ˆŸùtù£²‹S¦?ĆǸoÛ°Í庀œœ£7=Þ«êûôDIgØÙƒÃEhQö Pæo/7_Ñ</a•
-NÒ.%ZR¼Qmî)q±á•X¯Ó‡M q?j{[Ø…àïN”^•u=î~é(L žfŸ%î,؃WýK'ã¬@´˜?é0š¶Þ4ÌîQIaðy¦Ö¡Úm¾i *a‡ozƒÜÁ’`¯ÀDcÞðßv;«$Òæò™Öòíb›r¯kç#
-nÚ~¡¯å°òÊd>5™‡°°:vГ?ÏÔ «'!\"¶<‡*¤¼¯êƒqß;üäŽÏ®´ãÄñtTïÁÐe7óÓ<±e‰ÍÕ4ìíSRÑ÷Š÷ˆŸÙÍ–ycÕÌOßx>F6lo½Öé‰3W s42¼ÛbÓÍ»ïf³ïˆZO°m*J>×p„×µš[à—âÆ°¶zié[5 n¨[\TZ¨JãÚ˜ÎAË!ší®½#üûŒîoYYlžL1³a÷•Ï£K«0S·²…¯é<;40feòypìIxâw-õφRø©×RÖ3Õú"£µÈ&šÙe:syùiDc#G² !è÷ã—üì&>UŸ´ãX2È =È
-s9•a¨°'uB>ìÌm ·žèA±2¸.hÆÒýí §é®3®÷÷ ü.ÃS²Z?µ¶×
-ô¼Tqn)¶ˆRšë2d|’[N¾bhÛ~ðŽáÛä®Ô±ò¾Ð‰=Õ<”»¡‘«?dù.÷óG‹Ñäóq·sN³¼;|ó` DïÆÌr›F¡TÛNa{gâ)Îþî%À|g‚eDá6—®Yv"òSn®˜Ðžžs÷ø|°\w‹ü c%ŒµûãKò<x«ÝwŽÊK']¶8M– 6ßœº_±to¡Áª,V‰Gjä]HÝ&D–ûH
-Ûêq–cüEãEEÜéºÀ~Q‡YIÇO£šEjRϤ‰#Gv™K<3ÒHm/¸P7&"û.Yñyöâu{·%O{>íìY§s0—ý·yŽ÷zÆùÈ‘ƒ,&ÎVºÕš®¥ï㶔ò‘}ÔáCÔÑz¿ÝÄ/¾¼ô‡WXžSÒiNZoB‚8î^|TÏÞ¼\˜” wHÞÈOû¥oç¡1å‡K'Ïv²;av:ãø’%îçsu¿ÒxŸß0»k€{ç "Þ”æÍ®‹Lw¹ÈÊô$×ÕÞ99v83/àI§›îæ…eXœNEâ¡…ÆûT˪â¥1îú¸`{7+ ——ð>‰—RÞG÷m7¹q+¥Æ3ý6o¡/+Ç1¹ÙÅ>›Y9Z£‰ëSw¶UÄY8?½"øh.5Ozí´w²(ÁiœÓí®2Z»N¶ëyјrD·"*°>¿(²ûˆ“÷GG¾˜eÔeVåÇg²zè©ÉÂ'dÔ“­2e‚Hš!¥E@¯\g8ic>3µãΧr§ÔhÑøÑO/Ä÷Tù’¥ñþ:Uª“vY„+äRɾVzä›sÉ=¼ݸ,Üë¨àâZ:“|úRÑ“‰‚Fö‡ üœ;³­Ü»àüÍy’„©x‰ÄßgÞå˜qò5‰uÆöXÕßœÀZo[ÞÒÕ{k‡ßÅþè9KÞɇ܌×T'c¡?1'O”#Æ<MYQž™a{Ö¾"®¯Ü}ƒC‘¯ÙØÎù¼hµlc#ªdúŒV=A´8Wçôˆüy ɱBÞ/Wx±\ r£ÒÃ-$´Écr†QÜÜñ!‚C§GÂì㺠+œ\.ŽeŸWž"¹<µ^ìÊÄrEÝKv$©üÅxñ"³å–½gÒ2þ\P©´Ï‘'º5=¤>Åš<^íðbÖ–©EÜÕ˜²É\}¹íb¨ÿòÿŸà‚
+xÚíWi<Tm2ed‰,âe„Yì¦ìƒô„ÑØ©Œ™3ã0f˜Å¾Q<ÙÊÒ&YòÈVi·%ZLˆ¬¡´(mÈ=õõTïÓÛ·÷Ûû{Ïùpîûú_×ÿº®ÿ}ÝŽº
+‘¤kEeùƒv,&W‡Æâ'(ØŸÇ!‘™[u·tž—Ì
+øG~C
+oÍŽ…·¥ÁhÒÁæ¡ÂeìDÓ!»×…Ÿ>Ø>I?–t­àÏ¿#°1CóoÌ­vh”ÊtÌ “Õ×u¦ìŸ1ïšRìbJÅ<º&ù©è……²Rf=GoŠp…áµË–êšÄÍÞ÷N6ª‰Pì7íØðDM)í”í!H9œ°2s›Få–Rü¢
+ISDqäuDÝ
+Tž"wßþ^I`ìqã òq¥ºÐ~—I×OôËtgÎ’Cl$È?´ÐËl/9^7*­ò:]ãÑYÒ‰Ïg¯9_gqÃÒ·£m×EöYöì|(x×U
+y¸V}BQ€ò4xFuª’-”™õ®XŸ¦ýçñãÜ–ƒ$¾Ù¸]òÑ°J¥€ûÒ÷/öøÐû4.‰š¯F–óV­Ï,¾@¼= ’.ÔWØ.‹ý/äÿ þ'( Ì沂Éì d4äÀ?”KÿfÈuÛ@³endstream
endobj
1498 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 97
/LastChar 110
-/Widths 2930 0 R
-/BaseFont /LQORME+NimbusSanL-ReguItal
+/Widths 2948 0 R
+/BaseFont /XCJYVB+NimbusSanL-ReguItal
/FontDescriptor 1496 0 R
>> endobj
1496 0 obj <<
/Ascent 712
/CapHeight 712
/Descent -213
-/FontName /LQORME+NimbusSanL-ReguItal
+/FontName /XCJYVB+NimbusSanL-ReguItal
/ItalicAngle -12
/StemV 88
/XHeight 523
@@ -14387,160 +14582,153 @@ endobj
/CharSet (/a/c/n)
/FontFile 1497 0 R
>> endobj
-2930 0 obj
+2948 0 obj
[556 0 500 0 0 0 0 0 0 0 0 0 0 556 ]
endobj
1434 0 obj <<
/Length1 1624
-/Length2 11252
+/Length2 11571
/Length3 532
-/Length 12119
+/Length 12434
/Filter /FlateDecode
>>
stream
-xÚíxePœë¶& ¸Ú¸;Á‚[p—à4Ð85 îîîîNpwwww A‡½Ïœ{n¹¿æÞ_SÓUÝõ½ëYëYú®ª¯©È”T™DLl@’¶`3+@ÁÂÆÈÉQÞ,Ç$jkm¢hdmx>!QQ‰9€€ [°8âh‚L
- fkçê`afЪ«hÒ100þKò—
-ÀÈõŸÈ›¥£…@ýöà ²¶µ³!oÿ׆ª 
-_
-0™"±(ØBÞ\hÿïºÌü?×äÿÿ4ø¤½ÿ½æþ{þÓ%þïÞ秖t²¶V
-¤/k`T\§§‹íÝ@€]QZ~®w¥m§Wrðo™áSU
-ºî\ÌUêVn†]_ý"Ô”cÍp÷ó¹uXm.VÝÍQeýÂ'xâ_­ç¿é¼)œs½q(ïìÐ<“j£pÛ0ê¡°ªóŽŽ©ã~ßÑô ôw^Âuï2dF!R}v†E¥ó¶Ï$ÒV/s¡”ÁDÖùE¾ìŽêâÌ MºÌ©œ}‹9YBb]™ºý^C÷§"mÇá åPÛ{ö»XPð´Ó1ðegçB˜ú”žpDØj]Éy&W¢…>**g›çL·V醤¯‡¬oöÓŸz ƒ—•å4Lm¯`o¼.W¯9ú|Þʆ¿Ñv. ©Ô¼~íkLMÀWrôêk¦ÈiÂ~©ŒK© Kíw¢ÏŸŠ ŸÇ}½^ã¿æ²—BÔ«¸<_g-wªðÄ·ì ŸCRkÞµTå³u‘£»ÒéðŸðˆ«)unG%E="Ó)­“%KÜ_½‹¹„È& %*9, …’Ö¶v£†íkEà8³»haøâ4-ï㊚*êFŠ+̈”®•„I÷\é˘eœÕss×·”¯ø•«ª•!´¦2cí7Ôaý¦"!šÿªáçÐ…tgšòî¹·þc|LDÉ\‰¤ÈäìýYX’sÈùƒÆwe•x¿µëSñ«ƒb+½:’3¥”ª¦åiC·IA(Om”9ž_-­í•òÚÁ¶–— žþœã®°‘‹s§É»™x§J¢àÞ‰9²úŠ$cÙQ¥R›Æa†·îk5Árk (q€O^XÉ#
-Ö%o¯ÇRé «Ž*í÷ÛŒþØ©§TZ"žÓr‚¸ÌñÑ~÷FËO,£àBŽ¯ýÐ=ê±+¯×ïˆhÓ”‘ô2š$ÞæJ•œE¥ œÉ˜®‡‰z<ÒX?w’¥n°@2øÛ,g7wå‘Nè3™ëýmäƒS ¯yèøN½¢Ø¯K>™G
-D<ð±ý.¤ÐÐ2Ž)—Ä=Z%W\tõ߮
-¸y´á+û8pÚÇf­$J ?®&NÌÌTü%þ<Ä –0&uÿ [?æËJÜ®'ý
-¾®¿BD™¸?7””O™¢×4¾CEsqa¨¹¡ y³äÙµ±¯ÖÀ¤+½öûSøˆÑ&3¼ËDl:—´s•n wùƒOYeÞþ·/¾RB#cŒÑ˜àc×¹Ç\ .ÞMJ)ª6¥
-âë_G€ãü4 _ëN9£û‘@§4@d^Òq·Í݉Å*ƒÊã(·_–-ùâǥʃbÐÄ»@e ÷ÂÊ6â]aî{#õ¸ ‡eà%pû}M¢'þQ]Ö @YålY š•ÏÏÕ†„vBF^ù+º“1m§Ç$"Ú0Ñ?L«Ú +éIƒóÍÇ)Õ²ÁÆs}ü¿
-
-Ðõpe¢°®Ij8¦YnU –é…Ψêk=<ñ¶r¼cô:¦ñïÎÑ3~eâ|@—‹‹{ %k,ŸÙ—ÅÀbmI ùÅýH
-¡b¥XíÜ®[këîr‘Yê¡Ú«A(üÚ“¿4¸ŠÞU—Ì>ä°,ò3M|xòã Tô7Á–tu`Ã71'3¢1}ãA/±¶æÚ+]Ÿ¿%âÅ]w>’Dúg9ͧ¢xF3<¯!F˜¬\ì:É æË{,â–Ù¿¶m—2¨˜y‹,‹gëŸÉ‰mUR‚ìíå­ÄON‚vyÆ°CÑ¥˜GÕ+Æ`vVÂÚ)ê4s¤‚”ò#æ͸1‰ r/™ßIò²Nh Øoú!uçÚÊÏ~ ¯1Œ7ˆk9ÙÃ5 SªþáiÖžW¦±ìÚ<!ŒóåIq)¨ÚßéÃ|•Í‡|Ì+ƒB§’É )[‹8YåÑ´VoÄ×° n–èͲp% ¬†Ço„X‚ÕÅ•§ÂU«rʪF¦FŽ—·Ýé,öü ü+žxMœÐy”É <æ$rʨ\ zC+Ç»p°cc46Os–WóY­½ÜøùdT‰Éþ²†ÇÛl;eùý ­éÓ'd8WYèö„34W®ª/ð̦÷õÃÐM£—УXßC¬­Ýœ1»Gül°ª£Xæo¤`Áª+ë"»ìYX…{Öß08røú6¶ÆÚ-M"(’Ì`ê¸:Aá
-¿ëg†ó(ÄzZM>$甃Õ*/œ_˜Çk»üs>sàráÛü.$Ûr~@4rÛtÑfîð¿¿äbNþœ©zEðlø¢7‹)õ ¸¨¬¹‘Nåül¤:Kb˜ôÉ‹ÍÆòÕÊÄ«_ðA”%3ãáº*ȇ¹H0oO혙±}¿Nv‘;3’6Ñ7ˆ ò«#úBÅ®Õh ÄH‡)¤@r†sóz±]$Wy“­ù¹{?á¦ÎƒæÒKÐSÃbª´+оR€$ÕÇ\e¶W¹go)Ú“Yµãš´7ç›qâ#I…ñU:'.r@ù õ¼hšGRŽWy@é2 AT
-ΨáíÚÓ+b7Ðk8B½4ÕE7$Ji *”ŸAQ@k—ÇÎR·©ê Qœã”=ÁÛD=who7U î{>Äe'¾oõß¹,tÕ¯¶r!Ç—ÈÒ‡š€öíÆäÞ¦4¢C~¶Hí}NYù†?H $§ _”!‰YzVÄàJDžãËlnË‹ý­’Úë1ŽP~ÔÆž|½¢ñˆ);R¦¯žÅgÙ1F†”þÞŒS8À;Y²›˜áܾó”d¹š£p æÙ¾ê<rò,2³¡xB‹¾àÔؤ zäïÛÎ;àÍk~>Ç]"Å…›þ¦îj=ûp-
-Ä9݈[lÄgaœs6øßwï ظY“AóŠbÜ´Ú‡F™,èÔǧÁfvX°Ô‚IX÷åc?ËïA eÉ—«
-° Æ›Á#âÚöÇM r|ÑgøZæ}u³­(£AñS„J؇1N•RÆMö9ÝVyðL×£]²šòÃO³5ÕÉô@µ¸vÓùú×x|ÕgÐåŒt ¤^õÞ‰¸A6(¤ïâ¡Tê#ØEqðIÕTÅ¢2{HÉ*±
-Ýhâø¯H¤ÅÈ)–“âÊ Šñ#
- Û¬´–äx¾w®›ª-éè‚g•\<%ËÃ~`–/\Õ?¨b‘’õ+öxJ2N½LSèsc“>nmTé2ëìÜ?d]>øÉèâtë;!J~á„)| ´hð€WΖÖISÀÌt:5NÉomÍ9êlo|ý:oJåhY´=î#.Oû¨‡(*/dïÄ’cŒ’Ái£ Í·lM[ËCßóª_ø0Šý¹ÞÛôÊT¬¾ž=ÚäÇϼèP/©O¾†ú+b‹-b“CFgS²‹7rÑuÌ]~Lj:ãÄ”µùII†„{ç„ú®B(EÑëÃ&TžÂd@ñ¯ô½XÃ#¢qÏKžùö–‰„û|-¼ê[¨n_Ø0‘MH»`Ó†ê¢Z. JšÜ…[€©«Ç§BsñB©»>wÝ=$*kƸ¼ „Ö+ãÛmIŒ’pœàõrš¶ ¶Y;5té>¯å5:‘OjQ³ {÷
-?v˜;~Jr^"ìž}0ýª£HZä2=Ô&sËeD¶|£—øqïxL\XWÈL'[¢x!µ?ì
-ÛHØ™|½,µßzðlVz7¤ûd•Ïx7øóCvß 1YniŠÊÆI³ …y%"ÿ=bÔœ">ÁÀü'=yí¢eã—ÈÈæ”U—D©IZ\pcLiÿcL…´
-lÊ©4Ù@TaÊ ÉvX-còtéÛDÓó—¡S×4‚º¯ …´14Á:÷ ˆÇ6•_û·!ïôèì.ë¼Õ½Ýø"}Én’0èfeT ée„­‰"|£:ß?wV°>‰c¬Ç^µÛ­Ø÷PD“‡sŽÒãS²d£«a"ËàŽ°«VIØÒyl-¢Ð¸õ½ëȱÒÈ:sø0Êî°×ò¸u\ÍM%¸$¼Xi£!?¸„øSâø=žLÌ ª±»»²Œ¤ˆIÅHªÔŽ.ÞâªÁ2;Ý]´ÞU ÜóP†_aô·.Ê…ï·Ådp7ÅÂ
-k병-.€í9ž¿L&šš ¸£G÷é6?¢†¹^SÀŠMbcÏ7ó¸ äÎ÷%†
-¢Ý+=°„ãðí…>sΡÌÔ‹ãåBgíâï°ëW~“¼{井²TgKW±s]gÄƦ‚Í; â&Yî¸ý s\ñ°î~ÚŽ&yDo·ÐC€Ë’,JKºAÇÇŵr§Q °´åàÞF4tÍ5aFD5^È}ØT‹e!MÛ•K}Ö¤œ_P{ß~197ÿàÚ"“¬^ñá.¡dlˆMqã¼èzïësÒ\Žç%„¬²†}jv ,¦ºD§ b"¥)ìÃÚ; cgÿðjþï=pK0˯å3 }ÉüË4&“¾®bNfþj QMô½s·Ü!;Wª²ÇwŠÛÔ„ÂFÚAüÉ f£þœ°nÈÓjX’†„-öÓ¤Êk Œ}z¿gËmêon¶ÅsŒ_a½#}AÆßЖWWWW†×‚oš(ùÜu• ©uKË©Kiƒ¹T28"É…é…¹´ánHbØ#Íö~¬}µ“‰ŠMÉ*·ÒêÊø3îÖÿŠÐ·ý ?ÞÀR0LA™uHA“eãƒ*£ì“dÊË\YÅ~ô¦º4¿÷Œ«¡ ±OL6›^‘" à©êìΞÞä#Dø‹„l÷Ñì6 ÅÔ]_7ºÌ®D¥Ê
-_Œßåø_Oáêù0­eØPTN¡TàÞµ]wÂX›ö%7-ß2™û•´Ý›×|»ÌÖ%8P Êß”ú”PŤL×{óû=ªáöù;H4×OÑ5¯) à°”•ߧÔþÛÇQ¶‹nŒ"ÅZÓ
-Ð&`ØlW¼w{oFÝ÷‡=ÁßCò{z©¼'Ö„+!“ÙŠ=RÉo¬Ö˜ÿç…Ë›2w€Ÿþ¢>‹Ó±c“Ū°´™ÇdŸqLCyÓ …$³¶È=B+Zäü‘ÿ­[G’€kÏZJ]faO½òá×ÝúLæc?£nè×”LÚ–´.
-ÿž. ×“¥’ ÁJ™8ñ*éûº‚Ò§á)v9ÜkŠ™”úîõºô!Ùé^ÞhÂÕ£öcèmà­~(8vfá–=2c˜´…4Š>æ³hõuKéËÅ1,EòB|jiˆ-ú)ħ|1¯é½Æ!Ml&Øñ”ÍONÔ§H[àÈ:eVT”†ACÏÙgîï³É©LÓyn³€CBKm÷¢¥.=kƒ õÐl@Ü¥ã6òïI'ßßýô]”Ãã­²ù õÓ•³'¶ ßOótBHäëpÀ‰µšôn
-öÏz¡ªÄ€CŒù|®ñ½j÷ã§íÚ¾>©*ýfÀÏŸµd†ñô$ó¯ã " ¨s ‘‘Tèó÷}(¤Xn¿~}B-±œ ªm|búš`Ôü1XV±ÏžïB{ šúÚ;–7\L`™oƒ
-ç„œ8•õýçjÒL_y|9gfˆ®#—Ϫ¾O“ÖøË ¦ü²C+˜cIBÈ °·Y‹~,†{T“­N*e÷çwB¥Š|ÇÆmÂ>B,ô1eQ„¾þ¢ön]…毶úƶ-œ‘
-¥Ìò*<É5ŠÔ7Þ«™ˆÁ_P^wqž§Ä?ËŽaÂœ_ûÔî¿u»wÄFø¨A*õ‹Êe…¡©ðÆhõ}¬—SF‚‡Î
-xuãÀ4£C+Ý¥‰?hŠzÑ2AzoÉUÜþx.å3òO,ÒÚ]˜“*½]4O¶‡‡H¬Ê¢ÄÄÕ¶.y“nŒrÐ%¨ê#cúÌóÔu÷mÀüfYì×M,fÑîÙÅì㪆›ý6«ûÛœû‡®÷‰t29ÈÂЩÝíTg“õ—1›Q)‚¬ýE´q*(ôƒ#€Un?OCkaÙÝ\FÂÇÎX¦èÞ
-5³Ï.]Œ>ø­¿£, -î\yªbñ…v›ûÛ®-.‘ÚŒ?2<
-û)<»Ï-Ìň¸áøÃÇF®¨Vö^ñV% ”š¶Q‘+`µ@–ü=?®Ø —&òÜ’Ü?XÁT~ _E»Gmx9[P­¤€zPžÕd¡ƒãRÏ\OÊcwøh@²¡ áÒ¬-DkO¦=p4)OC²¶ ŠXÓñíUÎd-êóA&Ó…ÝžºÉJ-ú¬ðÆ—5šãuvä…‹FRùIÅ©¨Z7/ƒ„k¦7‘!Tꃵ=Kßò;]d+gO±òâW‰;};ƒ
-eïÏùѦÈ4Øk’ØÞ±Ô×äÖ¢HH ÝÞ+†¤fÝå¯Íc –«<}³ö^ñâi“ó”RÇR×z.©ÙAeJo¿tW 1¶¤ˆaψ¶9ÖK]m(Þ,唘¸?Qw†çÆb°.³û HëZ[îÇN×N¸ÓÏ*W +,éâÌ
-ÿ¸ÆfMLhˆ ¶9«žlßgøi>ª¶ „ ³"ïG"~D&]4ª³¤n§Bú †É»sŒ^ö.Òt6>M‚kZzH~w`êVU:wË üG‰úçè ¤½DÓ¯@Î#{Áà—¥…?&z —Ý¥-"—ÕkFQÆvÂ[vYf&»Õv%îGÈ·›óÅ#H¼~æë:‘_$¢U‡<ôÐdØ]Ž7hɾŽ#;E’²:ðãmvÔ
-}zÝÎz¿†Arqˆ{I*_ÛÌ9ŒnOdÆ|jÚzó-Éó-eI‹žmÐæ|»ô¬Š·ÿ kï…rÜÚjönLR¼ßÔF­*8ÈoAõû%‰ý›·ß$RC„:ߘyÁ•›~Û ê…J'ÁÖB#÷^ÏÀ}W)å¼…nšÌÈ>åĘj€Bv91†b
-–øÁæK7g"‡æ֪ϋÎÏå0öø¨ö="–‹>¦ç*ÑÑ"ö( ½æÊÃ}3“jëëc7{ör1½5YIG`Ñ|á´£ñ±Í=Gâj(ü¥¥ Êe íeƒD5±Î§ùöG{lD•)æ5Ue‹ú2F>±ŽÜ¶aëW!‡M­ÐÒññdÖj((ɱ(„‰Ô‰ XžcZÌ®üg¡º®A¿³¹®nË$ýJ˜e¯nØ^¸%ÃHXtH-Á'Ø¥ÐMÈkd¿‹r¥ÅMœŠv^vÙ»Þ°‰TÞÅ°ëá@¯dŸÏê ™e{ž9w¸ŸºÑ2ÌÃ4ÃÜ·Å×*!´Êaó£Dž÷¡|5¥Rõ®4Òa!Lª>]öCGø\Öçôù&V?ð~ÄUÂü19V?îúEìÇ@·€†U;'ªe/í²­r3=›&£§7¤òZÖ“þø΢:ÄÉAë+ŠßsÝŸ`wØÁ›"¾ Kínl'¶ Û¥VË §Èí&/„:ïN(wX’Bç6YÜ{Ì#V; „lú]¡à\O“Z8ó—¤>@%ÂçÎ…ñNŠj,[–ðöžè2ÿZ¥ÀJèe½üNnš0Ç[7·×±¿ÂWü‰J
-”7LãH¨žÿmÒtƒüûÔÏÅ.Û`–_Dgç3—Þ¨ÍÜ®®,=P:>ãËt—sÕuL*$Ýs¯¿i¡ÁyÂi®6#9š3}3ôŠ$ÍÜ<>UÇótôf¯­œ'HF ­#ÖÕKw$©ÏbùBeáù([Ó85=¥†Š£üä
-ÖY9Îü`ÉÝ4Á’k;÷¶îæø`ȃ#vÔ5*r>c¢œ¥ö³hòwNkCÅ÷3çé.èÔS©Ã|©ÄõÂ0dAEóÄ\ÍH,vYíÉs_‚ÒÂé>˹fPwË&B;lû…f‹ñÝ6{¸ùíÄ¥¾ÿ ¼Çg\7›-jÿÔ°·†i~>ú™›Îuù6¢ÿå×r®›-i°ÿçÅhÏp 4u{ýËXnÒEô¨Y†l<Þ«`[Mèø÷MgšŽ]‚½³¼_Kοywø¸Á÷A´J’T놰§—Nµ™DŽ;f£¿ØûüP2 y•Xm#±6jÅ;`ÔV_ÚAéÀi@g>GëÍÌSòK̶UÐó¤á¨-ReŽM‘Ž\ýè¦)›L¨³ï-šÝI†:»lŸ^>k²“ú¼œ¼Ågä<\F-U:üDˆ‡Úû³qEùÅQæü›¦UBw18„²¥àÉŒ–žyJßÊ
-ª²´Æõ÷>Ö눎í•Eâx¹èµäW<X1é‰þ¬'®†{¥#Óxјt¨LUÒÒŸ3”Ï´„6¹wrøxÍwÃò†¤k²Ä͔׋–è:NÓë¸OKî¤bôÊêFmH¤ã\Œ»Ð€&1nÒ^M<úJiÜC+W˜‡D- 'X,þr¢T ßÛek)}sÊKI‡£à"ç¾›OzÕ¯
-c•|z{Ù†B ¨À‡·íA?̓9¨„&Þ¯žg¯ƒQÞl6…²t1£ Â[€DÕÙ°| $–,㞸. yj;ˆO<<¡u«"Vù!C‡ÛÆî7+cÌ.™ ÔHý‡H¯F'®¯lšöÝ) I³…ÕŽ"î…µÄÛ¨¿w ù££ÍŠ(É¥ØKhùŸaP{‹jáÁQ.’OHÔÃñ<ˆìŽ¥>Þ¤0á¸mïÜ„ÏuìTyí"›Æ£]C;žë­kXÿ›¤ÿOðÿ±5è
+xÚíxePœë¶&î.A»,¸»KphÜi<¸»»»;Á]ÜÝ î A‡½Ïœ{n¹¿æÞ_SÓUÝõ½ëYëYú®ª¯©È”Õ˜DLíA’öv`&6fV>€¢¥­±‹³‚½<“¨½©’±%àø„DE%æ‚-ííÄ`@ d
+™
+@+¥¨Ùœ€6
+@°“¥;@—•™•• ðþûÏï¿NúÿF#agboú×̨v¦ïcö‚¿`'§÷îþ}óß“þçùïÜA&H+‹ö&Ÿƒ¬Ò2ÓÁux¹ßÇÅuû{Ù ¿;”6ªøÕØ÷ø¦…móV=×37Mò½¶y,œ8¼ìÉÒï÷~°¡éI]ä{SÐõ`nPwp3ì°”¢¦ŸjEy]ÎËoÁèp±jî¨”<Ã}œìàpB¸üMçGáZà‡Cyï€æc’Ú‹Û‰ÑUWxrJxôûžfpäÇ÷¡ž_°}{D 9±ˆTŸ]aP©#ýsˆ„t4*½Â)%FÆ0‘õE&É×¼P}Â]y!I×8Uòî0gÊIljRâ#¶±á1ôF•h»‡¥‰n!(·1€:~ _ÅBÃæ\N¯{{WÂÔ¤%ð„£#7Ë/sè|S, PéP9;}æû´+¶%¼ålŠ±Ÿÿ4‘
+ŸÑPn1‚Œw HH¥— :9hßâ냿»£×Ý0ÅÌ Igÿ’ÎÖü¥-ÊñòY±¬$åe*À÷-éK{X£–ËçmÁj¯PÜù§#ÑñKÄcF=t{m¾ 0$O9±7‹è™ïc¥î𤼴_d.½c¦|•û‹_—9Â4¤D ‡Õ
+‘ðdiCGÏGÔÈC-ãhWvwmŒ
+±GùPÁÉÄQµ¸¿â¯<á.ϼ‘Ÿ<Ãe͈}Ç_ÜéýÙXšî‰Ù¨hh‚`{.ŸÜå«·ï‰ Y%NoëÒë­‰VûŽµðvÏV‚|L¸ÇžV•…*+¯·˜¢{ !†ÑX¯ˆž^ó/€¹ûhICä¼êNj-§ûn§'HÁoÝ ±Z­9_[Õ¹“ÄþðKì„´žô ÿ°Š†”¶ÓC½¢D¬òNe© ¤B¾áeÉGNÉú «\O”^õÍé¼ÃÉ7z¸rŧq?‘-rÍÕr"T2 ÕIyêq%zf R@Õж‰ƒh,TÞ¬ÎÖ 1µkïíjl¼Šà”%9¬BY…¹ ̃7•t·ï'0®{kh A<ò·ÿ*ªØÜ>…)ŸÊ7^+_VzËuØ¥Œ?vÕ“¯qdõàH2„¥ÑZÂÞÛA'ÛÇ0¾}²å«œ ù~>Èf£,J¨0¥.þ‘™©L*é2܆0!ýð Û ^j=q߇~_/H1¬òq¨ ‚”O…bÀ,©[Ukey¸¹¹m§üÅ£e°Áд·½áë3S2ø„Ñ);²ÏúÑl6uï:Ëö×7>}”%ÇIî
+õDƒ6‹,XèNý葸Q¼ˆI±©È>ëE7€„v»¢-1‘°¤b¬VÓ®E?½XeÊ‘•ôŸˆöTp ®Ò´–»ÀlYk[xeîGÿuîy]Šë[ä]ü“ÛžŒ† wÞG;òàGzªÃìê)¼Û
++C¦¹ÛEŸ*MÏôÚ‹Ë¿PF¤=}é=ÍåÞËû´ïgÀû¸ïÆ>ì=/ܵF$|Mó\‘¹0­ŽÚ_1•·Ù¯[q#×’¾ÔŠÌú#mÙ±I›#ûÁLÅJ±Ñ³Û¸ÙÙ×ë.»ÚOuP0ž(Pò¥¿hõÇVzocû÷T§5‘ÑLñ‘‚[ˆ87Áö, `³›‹9ñ„É_±f¶:뽟ÝRðozžHb‚r]–2P|âÂ^6£-ŽÖ¯ö]䃋d…½Wp+ÃÞ:w+TÍ}/EVLÄó .äÅ~ÖP‚¬ÅÏÎB÷y&±#Ð¥™Ç5ª' ö‚×#»(5[ò¥C•‹V¢—R̹1?>æ'¯üb†–äeÖpÜ9Dê+°WXúN^o”d˜Ø~ù}ì
+ýȨ3C•ÍÍÎwy*
+‡WÚsçÏÈ°²r]Éá„æh\áTRÓ!pÌfM#­ã¿ DZ¾†ÛØxºböÚbÕŲ,ÝJÃ(Ùµ¨­[n‰ì³çbµ”Ød»apäó >nï*NtY¹šÆ P
+¤šC5rõ€¢7ÍRˆõ'w˜~H˯²S¯F¼r}ežjè Êÿ|ÊË…oû»„ì§ë£¢±çŽ'Ž swÐÃ/.æ´Ï9jׄ/F¯ú? 0¥WT´¶³¨\_ŒÕHÌC²€þ… yXÚ9xMËþˆ¢dæ<\×%ß‹ ®’-º2ºççíá·È®
+æÇ2§ ƒ‰¥¨Øµ[l‚…é0…ÉÂ/pn#n£wKåk~Åçi}î;LG¸mô¦ùå+è£i¹LUÑbW#@’áo¡º0 Òƒ³ˆ·çìÖ}C:ïf’òDRmrẺ‹\uK½$šéšï[Üh¶E ´œ¥œ.@Ý´†5n¾C»ññÞ ÂÚŽQ„ÎöÒ-†ŠG£R:‹Š
+ð¶½\â®’âÂN̹ixØ,<Þ€¯e;Q“ë¿—¯åÄÒK»%ÑÊÆWÙ ‘m Ô<wöõ-JÔÚTzWû&ÃÛ0
+ã•J¤ yØc6‘·Ópøá0~*ñ1ÔÍ{fKò¨M@ÚûG<|mœ·†EþÄ홥7iïN0èïÈsIÞ ècaB´8U>gd—…à»â eA­vÁ{f{13tÄæj»§g‰wé35”þÈ´’ó³‰2ü¦'Ì“…UËž? ´¼gRÚ!Š•2O×2rÚ6É–“|ºÇ1bàU¸¨Ýooˆø"ŒsÉ÷ûÞ›5 ´¤$ÆM«slœÃ‚N}zfî€C-˜ŠõP51Zõ
+%Gµ,ÒrþvJƒ†>’L s_³tú‚„´‚ŸÛµúD̺{¹¿ž‚eõpú \%¥8a@Š(-›}àTòdt3•¿c渜›¤utäŸôtµ¼Dü‰X2£r¶*ÝòW }RMDU•°÷`É3ÆÊâtÒFYudn¢ø6-ÇþÜ€mvm&ÖÔÄgúm´0<.ÂWúS€‘÷ºØJ»ØÌ°ñŬÜÊ­|\#soà)¢îÔGʆ¢ÔT#¢ƒK"M!”Ò¸­S*a2 øz‰¬‘1ÑÄ—UŸ¢bG«§¢C¾ö#Þ£jŸ¨žRl˜È¦$?za2‡cÛ•,—·z ·3‚7NÏ…’„2öýïûú¿“¨nšàò‚’;®Mîv%1Ê£p¶ªh:¯Ø¢äÔÑId}×6éD>©Ç.4<(~Ûcî•ä¼2B0Ü?ú`öEW‰´Ô}n.µSöŽË˜l+ì&_?…` ïtB\XOÈ\7O¢l9c(Ò €„øÝeOÍCy
+f-WP¨A–鬂À´šmeöÖfxýÍ#–¾gðF-1!MO¾‘²â+
+:¥k&¯Åà±Yë^‰
+ÓÌÄ°–øŠ¡&<˜Š¯hÁʇåûB¶­#ÙxWgƬÈI3:e¡é“ ʹ¬7ƒÕIár1¶ÖI0G6iÇBºY#;¿¦~"}„µõkÞ÷/ËÇ+G覭%’ÜùgÀ*3CÛC’½f‰5YJ<œ½?Ÿ·ùÅŸro‹hÑ”~ ÿTŠŠûŒçn¤ª†÷Ë´LH'¬Úz•ØbäT#X¨W%I¥ Ü›A5Ô„€yå“n¥xM) ˜ïþDbÔˆgžÎ/:KÝéyIói)¿Y­âA8ƒ hŽ±ïH÷Ê]5\.Tg·Ø5"4‹m«¨´Ù@T‘* iXÁí
+õèW:E³ŠÖ 365Cû®„t0´ìt@ÑOª“‡wáÐúô‘Ö¿ý4ü<ùbÈnS1èLdUèe…mˆ£b{à_zªYŸÅ1¡¶®»ÖA(¢i-#ù'Yˆ§IƹÁrquP1•°'ص$lY<ö–±hÜ~äX™d=Où|U.÷XÎO›…ܺßCÌ
+áJºp¢l7X¬¾.™"þ"´šYï4è«_9øŒâL+¢€šKGUoäž3 WÔß{mU™ô‘ÿÉsò-=€Ì.Ó¸ßè昺&âg^ãy3
+<€ƒ…¾ãÖâX"¶k†Ü'9ÕéGθ*¢Ã+=p„ãøý…>g Ö©ÒÌ—ãõJwsñwäÍ›ˆ÷iárãze†«•‡Ø¥ž+bKkñν¬*Pi‡¬`ÊŸ~ž
+„9¥tÜø0ç@“6¦¸_â-
+ÀeI¥%ݦããâZ¿×,V\ýéäÕI<|É5mNL5UÂ}ÜÚ€e)“GÛ[@}ѪRTÜðÐu5³¸÷èÑ®
+Ú0n'ÕlŽraza.XÂ['’xöóƒoë'_dc†Òs«¬µ{³ÿLy} "
+èºÀO2´ŒTTáFVÔbÙþ Æ(7Ì$™þºXY}·£!Ãï7ïa$hâŸÇ¦_ªx®½¸w¤÷6í–’ë;ùƒÝ‰¡”±à©N—Ó›¢\S€ñ»
+ÿË9l¦,!Šê9„*,t篰(³¡Ò´²Vãµ;&‹Àò΋z·_yz„Gj¡E;ÒŸ’byBUèºnãí^Bƒã¸FE75÷|g5#ÒÖÖ|Ÿ2†îžÆ½Ù®ú0J•Ì‚…eɳ2ý;^¦Ë.+)2õËŽÎóusqö<:¢+ϼ[5¡/ЇYâ`º¡èò`mŠu¥¬f ]btªN‹ŠEŠ.rc‹Ñ¦¡Øì×ýönǽG|ì¾FŒòûøªÂÔ‚-'“ ? M8R-j©Ó\úç%k;²NÅ÷€Ñ Qÿ•¹„‰™25ÚœS²Ï8f¼JYF‚B’¹?ɽ#jF-óÿHLýÖk$IÆud­ ®´t¤^ÿ0y¿5Ÿó4Ĩñ…àŠ’IÇŠÖ N”)1¬Ù÷1¡ßº(ŽTX¯hzƒa7KÕºs¬Ït~é[y:ê[m°nÎÛTÎÐå'QUЦ ^%WõÏñˆíÆì4Á®Lu¹"ô<ŽŸ}ãÑ­ôæö8š+|µ©¸ÎŽóžÁ20ÒçÒv ¼ƒ'ƒ¸õ“±¨T r ÊŠ¦ë(¼%/sí–4ÞŽðXÀDn"¯ ¥:NÃuEp4ÊéÑØòQ ù5 ·|vjpðtÁ>,5dÖ*S®S¿n)*scWÁ¾¥›Kk<âÞlÉ3Ž'_?é<EÜ…
+Þ$‚¡–ïØc²GHKPHà èã?1‹ÖÝ´‡“¾^ÂP¤-'eT„Û£ŸSý«V
+[á5irìœÏÙåEýKuά³æ¥¥™´ñôœƒAþ;œ*”ñ=—¦PË8Ôéô Ô¯Ú2 ¶˜àqo­ftÀ}fIn oØLÚÃýhÀŠ<o­ígˆQÎþ„âü@-h™ä𘷑ài6u™ý`¶$ÄÖ“þòÓ¬.b¡n_sre¾V@›¹Ÿ®´B2¾”>9°7xq;ìÅ™0œIEÒä>ó~Lª6‚”0 Gò3Í Ê}¥ªÁ€EŒŸ »Ô|ŠÛpø6j¿ùƒ/OºÖ  0:Ú@f”tDO²ô6Õ,’Œº˜C…¾~ô:„@Jà2 ÒËϦÚÅÿH_æQ4ãÄ*öÙ:bÀ°uˆ¡«ÇxmÛ݆ù.´dQøÈ…SÅ h±>ëÛܵ·Ô%3C\#¹BnãÈC¦Œæo\n;J©=ZÉ|+"†È䃺ôS1Ü“ú<Å,Ri‡?¿“kTº·ï’ O)›‰£ ‚ŠVtö«µ&;›Z:£µqÚE‚=|á7ÈÑë‹3ËI—áÄ´ »<tÁ¿LÂO:g‘üéØꀰMW4Àiì³EÉFgÀ¥o»$_±_ä+>¹G´ß¡ðo@Sž€0›þ“øqæeÆ%‹½šØ/³ï5UJÙµ 8’i7Þëù蓾÷‰>çG+O¡"]ßÕÜú¼º¢ýÕÁ5§¥UrÂTx´þ 6k-éÉßdž/
+Mgä¡`>u=æëç¡ÂòêÎ Øäx -¨Ì¡à‚»ºÇuù/@½jZŸÞ¢´Œî‚=>%¸(´(•Öí]E«šÎƒ²Ù°íËZ˜WÖØ‹yz
+!îE·9‚óîrüŒkÍïŽ#“
+wmdÍvÏëÃ!BwGý¢5šáú9ÙI!ÿÔÛày5Ù[–úÕaÑÜþTB#Œø™†õ‘ô íSL§yÏr®A¯±¼ÜµØG¤Ýaˆ;}Ñ‚Ëg©(n˜rl7¥°zil¥]fèléL0â]Ónâ®–ú´*Õ¯.ØBÍåôÆôJ$&Ô‚ÔóÀ!;té¾sÖ ?¸ÈUʨjPå¹Gº¬±ð?q)ììê_hËwÖILé|Qw|ÉD¼–ÒbàË䪷 “î-¹·ñ× `Ÿü Ï-T•Ò'kÏ!¬„²1{ÃæÌñ{7 ísmÉÂ\1EõFS*á"
+—µ>×>Mš&V»„^Ú;e¥=‚È'iZåb†k– dË`ñŠÛÌõ+Óƒ† Ðxž¹Z¥`?ÑÔŒš(D ÂÅVŒ²å ±yê Y¸ÄQ–W)Qó¨7ùý¥#ëaí\[êY‡ Q“å ãO=„[W %í"dÛ›{½ <1d¾Ñ/“ë…³= Ï&JDߎoŸÀ…Å1A³m‘‘ ÈÝ2ÀËìuàç@W[k¬@ÔÏ»’X˜É_ŒêOAç%OIìì[UØmyz*Q£ìè82sÛ¼x¥L`ÕÖ-•­°@qWÇÀû8Cqœûƒ?Ë¢ÓÎo=Îé(²=$YHÈ£~«+-74A _áÏ·{×åkvÝ]2T2èÎ/Ä„>jmƒ^RÑHúAÝ„èßuxÛ½§¿…àyÝ?™jt÷döa"eÕ».…ûÆe1x‡.#T+‹¯¸á\„ƒu¿Ðf6·*%È ùÂ67_ÂêIAS0âzÛ•¦÷ŸŠýq_V‚"ïÐÕv ŸÞX¢Ó›dÊ°ÖFûoÛììc|;F;Ö¤æDž7ÈÙª³+EÇhÝ4¥ƒ?šc¯qÐQ…i¡¤`æO}OÜžºl)àOV Ò‰,?£>ù×–5sñ6Ùr5 W1ÇÇ»<èñ™©95w »#³y |‰1Üí%>lš›ìÝ*ìÔDà@ÿv¥´Ædï´Éa¢‰üâ&…qâgàb ßÇŒèÀª§(Žû)ª¼ýIvj…öгž?x'{}4¤²=ÑÏ­úPZ¤
+!’×Ê ßÏù¦ÜÑ«ÂlÌa{Û,]õŽCp6¼%™óW8 ãò*¼+`¼½Ç‹ð)5oÈmžá檣\¨™ï‡,k“ii¼Ãšõ½8cxÕ‘&Êof6ml¡_;•Ž³‡< Mć¦Z+¿ G„6Œ:oú)[—±pé”IáÏÊÁáí ±˜47ô(xË’uë²"œü¹x­q*,$Ý–mcê¢(sLb·Àe–l3ÏÌʼnvFž§eå›&±Æ8~ÄmÅfµRÏc­ò·µÂ??T‡/Þn­¿,Ú¯à>
+¶¨J‰œ˜?2T ï>0÷DXùogù©¨áf8*;`‘K8z»˜c¶AêÅÜŠ/ûvÉ7 a„/üFqEÈ[%÷y¯sé«»²‹¥™‹E ‚ùô&ŸU泪å…àñ”}¼©ÛgrÎ/6¡é Ž‡YXkÙò¿y»%'nBL“Ž DŠì„ŠŒ—À{žm9Œ©7ïvCRðUìW5°¦6 $gS±SWi¦ôrñ¼ ¾êßÓ$§”’œ|;w‰C¬ž>in·’ ž mÇïNcÔÂJ\º1§=+4O ËÈl›ì >mD ©ýÐPÀmyçOôC½Å•Ê®8 u^ˆÍŸVÆ‚ìŒæÌc!^G[P™ì™§”S´ÔÙtgFšŒÑøŠÿ\l!´#e)ûݨ§Ž†
+†œ×²ùÚ’äׯ¢KHàI|ûî&;¾þRÈXá¹Sà‡ºGKëCïqö§øÌñ3º·ÑÙŸZ†ªávÊOU^Ûª(ÖÄÛÖ¡oÎãÑcG e±ß®­ Èi’F–DIë-Ò^@béÇÞŽàÙ€ÈÕõ†(ªÉD‘œƒ²ðv0Ìñ>æð$;6_Ô÷™µ H†zÛ q¯þ&3”
+õX~ÂW¸Úá‡2ÙåÙ~FâYPWE‰aʾušÈÇS˜ƒLêÝr4Χ<Ozp‚$N­1~Òý*Œ=Çc†(kù3¹œñrsY§lM¹ðø´‡®úæåŽažÆo $NUqêäî
+‘’p=ëj÷%ˆ6ÃÏI-I=Øß®2Í*èr¿;ºw`É”ÿbX¬TLñK¡ÖvGô,]ÿ .fvØ&\8ûÜœ8Þ\ü‹e¶ó°¼¡˜ˆäàŸµæƒçûœ½ K(Mµ96DÐÏ—Ê“FÞ¾þCº7û߀!EÁ"›-çÔB I^` dåwHt„ÃLÚ·ƒNjd2ç{ªžmn
+LWªí_í`,²SÀö*ÊG.ïeitY`à.4rf˜¢©Ál•.²O^LÐô önw©µ§™hicíÆi+xxè'œK9Y©%„n¢7Ùm>û§N²wÚ)c5“¡¶¹ (Ë_£š I7~]YˆÐå†Ü.4ó4âbݲ3m6»‚óš™öllž«á7Ô²“ŸSµ7B’ j®ÚñFS ”>VXd‰«SŠªRâ¯+„ó¥n@vm‰2Š 2ãõù_Nd1·;áMW[<èD/$œù¿f—ƶ™ël‰Wå}`»¶Ì¢ó;›Ã[ÂU£§Ñ}™d?hjOFŒ½i 1$•¸‡yêbÏ–Á`jÃjÛç’4Ží|+iË
+ÈNi{)qþ¢,9ÔdÏmYÒé/·Rý¾ƒ¯AT.7¿©q$ ƒ|Ue±)xé3m}hf–×­“2CÍíqè+N”œõ(÷EÆ'jQ5BÉw|Z-Be–àÁlCŒÇÅG‚ ¶Wý“+G ê|Ö“ DŸ¯Ãì*ë„R×äµ£c$:/2bÞ]l&Šp…¦¨¬)éCaR Á·ßÚ„ Á©S
+Ž•™¼
+r±`JÊ*ºŠªë›Á¢£J›íþáeÀÃj´ jÝ‹ÆýxØxe²1µrr 9øun{BÂ;e?ÚsÉì`ÕêùmØÕ&
+•_/‹&9 ¾á×í•[ d|€±Õ/ôë~œ^30i\þà\BÅâýÖF¥i.UáND××|Ø—L$–nј_໣'q
+i, ÉQTߺ^Ô+Ãœ\ªž0fÉDñØ3)××W‹]‡Ÿ¥äeuNk¸ýƒcy­¥YKdÌŸ1UЪ„gB=—«—Æò’³°Ï„m(NVs3·f;ô
endobj
1435 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 35
/LastChar 122
-/Widths 2931 0 R
-/BaseFont /CLPBIL+NimbusMonL-BoldObli
+/Widths 2949 0 R
+/BaseFont /KSQFTZ+NimbusMonL-BoldObli
/FontDescriptor 1433 0 R
>> endobj
1433 0 obj <<
/Ascent 624
/CapHeight 552
/Descent -126
-/FontName /CLPBIL+NimbusMonL-BoldObli
+/FontName /KSQFTZ+NimbusMonL-BoldObli
/ItalicAngle -12
/StemV 103
/XHeight 439
/FontBBox [-61 -278 840 871]
/Flags 4
-/CharSet (/numbersign/hyphen/period/slash/A/C/D/E/I/K/L/N/P/R/S/T/Y/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/x/y/z)
+/CharSet (/numbersign/hyphen/period/slash/colon/A/C/D/E/I/K/L/N/P/R/S/T/Y/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/x/y/z)
/FontFile 1434 0 R
>> endobj
-2931 0 obj
-[600 0 0 0 0 0 0 0 0 0 600 600 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 600 600 600 0 0 0 600 0 600 600 0 600 0 600 0 600 600 600 0 0 0 0 600 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 600 600 600 ]
+2949 0 obj
+[600 0 0 0 0 0 0 0 0 0 600 600 600 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 600 0 600 600 600 0 0 0 600 0 600 600 0 600 0 600 0 600 600 600 0 0 0 0 600 0 600 0 600 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 600 600 600 ]
endobj
1418 0 obj <<
/Length1 1608
-/Length2 7939
+/Length2 7997
/Length3 532
-/Length 8789
+/Length 8843
/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
-œ6B†NšVµúz9S,nq2BÙYÒ_+Ÿ¦Þsà›`n'.@b%iî§ZüwœJ¯îsúð {^¥’¸úCHW —Z “èŒÁv,!ieí1«¥O˜–©í[oF‹£‡y‚öƒÛ¢Aùx@”SÜeMIƒZ|
-úˆJý€•<.%sõ JŽÅ?ANïÝy¯2}oÁ[+B”z1’áž ‚`Ïtf¶¢tÈwŒ°ÏŽ·xÀ©þ™Ììè)‰ë{çqéœÅâêsn¹ÁâÑÈ!áLâ|®Å–êjÙµXùPüðáæN…:ÍâŸiËÉ#V
-.¡Þ&ä± .­µÙ:á%%¯ÆƒÀ+Ùì£àrÒôdxå ~åj}vøñÅ
-E“õî ÷*\ÔíÀ5´Êµ³nÝ¥¿ìv°¦Õ°“@<˜ÐÀÁæ„|º‡¹Uº–ÒSCö¡•Z„þîýÐni¯0q¡~‘
-5¿Õ¬g-Í=¥á`8Z4~  iN6ý”@}!ôk °)„COÊ,”úP¹EÞ}/šòÜ:o«4QßФháôBlågË”O„á1 QÏ—= GÖíÎ2‹$ö"Ä‚B5GmÞœ!kÊ€ÅÁFþ9¡Ë+TdùGô“Àû"6®ld&Zíeí{4BQãÛ£x­æ
-Çžó,g½Ã!‰âŒOòpÓª¥øℱ—ê¨,«镨’/+U²ðN\ú_øHîÙ;š2™´@r•zPÆœ±¹ú™5¿,Oì°v^=³ŽÐŽrûÊ`ÉØÒd±‡U”£'„/,&z‰â£óõ¾ Ôá­ÌÚ_'z8ƒ^»‚!OUáö:§˜VeÞö¨|BVvÔ0ó+·–0ûÖÓ¶Ú,V¿š J,â^´S´+kNï¯s¥8¡ËÐ f´“[„wO¹¹Ržáè.ÁFFM„l-¿?®f$i½*Z§g´É-@$ˆð‰´…G©3ªV;eW„ôÆwœÃðÇkÝüÓï«Ï0¾B¸9lZàâèàø3 x?Üßj¼¼ß· E=_a^ñêu(ýv
--gھ蟖¤§I„²kZKéä”ð
-›û,¥ñ­º“Ûý ÙU@žXÒÖrÝ}Â;´w`D­.à™Œ«ž¥ÅÇ3\™»ølð­…Ébñƒ¥‚U³¢ÌöMÌœÞÎÛJ”…¶WkÓhý j¢’«qµD¹Kz瑳³B|óG\Caî+þ¹*ÊÛ~¡ñ¥ÎGÙ§}–ΪJæÄäû§ W÷HíÚ>ÛÀaòœúò4ó üN$ÕYYšžÇï_œ••W+vqƒÛSš:± 0ZÌ©„›a‚â[‹”%sˆ{¬Þd?zä­7~ÞÛsý3M{öži17ÍÖ‚\"éýGeã3mì7
-Kygm/®SÉçÍÄ\ÊqÈbO;z¸‰ð «-4'¤§€+k=ž~(6¸hLìÈÒúô<6»¯´yjÊ^"þxNLÝ°Ç%3jz˾‘e2 ÃÏfĺEÎ>_žÝ(¸š¤²uy•“®ƒ›{!Þ4l"ùíóQtñÚIÝE°ºÙu² ¯‡Ån¹¹ÄùÂGˈÃÄ ›
-?y“w¾ G$ÜË×ß™‹<Ê™2ãtÏ¢Þ}ÿ†­ @´yIGbc‚²Kê·HŸ|ëÖ x°–Ñx½Ùþ2—€_M”+=‘Û~d˜„“•/tŸ†ò³vLFd*°Ä¾ù±b«&} ¢¥çË/à¥2 ?‘©"B¾,|BÊ1û楛æŽÈkf}°¿Åø«þŒ„g“IÆÞyã8‚© .ͲmhïF`”ÜN‚”ƺʨjÊéž=wþ¼æuußÆ?ÀTÓˆ½~.%º·2¢_½¥’()“5”ôe-èÍÜhxlšŒS+é\d®ýÞ¢Ïd=ºñbfýFÇO¹!3‚"Ž±6÷'íjCœ´¾X‰Œ]Š*ÅÂBùwK‡õiŽ€hn"d²¦…Œ·âg쎓š™Îë`ÎÓp¦»²'UJfaþ»f[Ĉ]ˆ•á®þÍz´&—À$ñZ¼¡®i¾—fG‹LßÇzbÕû\dÊÅï격|X“Ý\sÉ•ŠØÊ+¾ÿ fÜŸ|>„%ýHÎÌÚ`=6"æ’P«ô9#Ñ\ Ó#3z-Rô|%ñ¨$¾Gc^¤‹M]÷²³Ôú{'¢_ýDÊû1éÍ*õ,θÈêÝþ²â³Gƒg¸LMa2B Æ»é»*+M[TÏ•´lm§2!ž7V¦Ôˆ·nŠæ‘’¸†pj7ŒÙ>ò"$›XêÐ:{—­¶^˜u^9Ì’„‡DW¬9%%^ ÑËå,W0ß²¦ÜÝ™ZÒ×ý/õ{øúÆ>²Ý” à/"ŽDkúmù0§_ì>WTxìÑéƹœ ‹›
-zƒ½Ê-%¯Oà¸L5“‡û’ªV,î½øÊáÃz‡>ò&ïw¼´rY6Ç—ÆJwŽGƒ ±Â*ÜA5ƒ
-ëšSùSÕi…Ÿ*z~Öå{OrÛÎâ¿z»—­’M®læ|Pû„î"‡ãüi®WêæˆOâ›Ð'ñëgÏbíbœŒÉQùb³ 3.ã…ñk›ÌBd¬ilüÖw_ãcÂŒ´¾,ã Ž
-¢&tG÷ü©Ï¾2¤ûôþÌÓ(v'«.Š
-òôÿÑü0íû¾€Žˆtß
-sožbrÌûvE ²ÁÅ/ÍWRÙu/w¦ØÒÕÛïòxœ‘ h<LšøÖ‘píÇâa ®”Y
-Kqh|>6œÊ³(æÀ’ßë.
- a‰ñµoWkrŸÔgÔÅÖº›Ð˜wÜ6îÂÞN¾Ùö i± XüÐ~ýÅ´á´ÙÞVó Þ³6÷³Ý>EŽ
-‹^±Šî±nl#šñ‰65%,ç_°Oê”+µNý%Ùz¯>W7¶]•fzã}A}H›ÎÀSÝÀ~ƒQrNÉ)îs¬þr]Lf¸á“
-<á¼ØËûò Aê)¡³k¯×ývuSøGlVªs#Nu¥¬·OŠE•?.j?ø ÿ©ÓwGä“øݺ23oªkvSÛë>Ñ=¶ Ðz¸^"èÁ8¡-òo*N¡žº3Xl‰eÓk‹þœ %¿_>
-Ý‘o•~~æHj¦ä=ß‚§§Øç÷üÁ4fA|Nç“ž@íD2ÏJªÏ ªßãfœêvæ_ïùQÎ`œTäUí`­Ø@–¶Y™i"Çø¡Ñ=¸M×g•Õ´1š:Uпƒfèò©ü¢hçˆ Šl`‡N¤·èç«s¼„klbhL˜:g6(皊…KQ}ÈÞ]Ÿjƒ+ÅÁ7„,IL$¥<³ Àãyª1ÕÓ¬^Ubó¥s¼=õ¤¯æ-_ãº"/·ÒøìX¸¶å¤)"<XŠxÜ*%Å•€,Kß‹?¯‘¬’ÿ„Ç#8,Gi§ñ
-D¯°4Õ4øO‰h§ª‚Ã*÷)É›%ŠØb~ø-GÈs“I»øNà9-ŽSqÈÓºD {Ú½S\pzùÃuyjD¡«†k!ÈÅ¡ùð4yªQemˆÿÉX‡Fiomß­¿»jÑÄŒŸ*m—­´Ã”8Fèc…ךÆàAÔÉÜî°’Z¼5è篫a¸”dñF~²á)ž!“F³ò±Ëâ7£gªØjB}X€‰/‘'™“š"ZtÍCöEqË’¼R7ö¿Õð®ÒÂö@.)¨F…t ‘½uŸ¬®%Qò«§µEp˜Çd€™ÑÛkï#ÝýFø‡‰0A³KE*3Æ€F ‚é®0BÖLqÄ`nÿ‚Š%P爉䅟Ú*›X‹²Å·jÔi÷b¶‹ôRáó"¿¬žû6vTZRœÌ°T3 Séèv\ã«%øÜýI ¯”Þ¯é¡ëæ®ZÖ·mpßú”Qn?ø&Å—Â#Ôߟ›ì}ÅÀ^í° ª"Á"çt{RH:†×¼woŽ¸ÏhFO°™§éç€oÊC£B÷~”…
- sœçã¸!q?Oƒ¶•G¯îW̳ŒÔ)HænÉøoÌF–A£Êå{Ç‘æä8£jýäUu;W+Aà¢ïóÇ;X;{¥ð”ÇÎwÆ}x" Æš=×N¿nc}& ±Éy[µ~œ ¿öµh¨»š«¢³ñ©"Ì‹üEmÊ`;µ
-Lj
-â³ß
-Ì Q=w¾?‰¦6ª~ûá¤àõd‰xW/aéÒÛ‹†Cú\»UÒâàfÒ~…¶‡Í
-¤´HNú2HBÃ8—GÂ+zq(6|£}h`wŽXn‘ÉÖ­\ƒd0ÖŸ9yEúQ§lõ8þ4»G“‘Èh(1›‚#Tšl8ùñ\^ß/Jö\¥H§¼¿Õž‹r2Σ}‰RÕ»Y€|áCžÓ|ƒi xCªݪÌZ-›Çð0ÜJLÕ—D9dkùåΞ‹üÀu !!‘}U?³9Ü«eŒiÒF̦ì½Äõ–çwNRi¸Ž~ÑqÂzÊ—eh )¶M# ±M¤µ.?¶%aÿ5ßóÀ€L]t“ö´ƒÓÈÙ‹CM³S­ê£²lµ^÷³²ÚfÉÔë'7±‹÷bqÛG2®K œ¾’j…Ã×?“ vœ:Û¤~í ^~ŒÓ}ü>[6ï¥Ô‘Uïi!~£óú“á{±±?Gywuîj>S–µ¿ƒÆçò8CëD?¯‹{ÇéëˆLŠ"X?¹ÒPÌ­ÔÜìô|/*_6fñfw
-=ÂRŸó>ÍjóðÔv)Ùyÿ¹[G¼Ü5)­…ðwÃä¼Ar«òqsV
-…üЦ^o{<´p–…p¤(„¬Ý¡òž#%
-o– ›.%§ª¿ƒàêÕÎ*4Z®÷„&§xás=G‡ü<ṼǕoÜRŠÂò7ð|lä”güâ(l€Â(Ù‘(8Å|)ÿ¿wÆô/þQL™ uG«ØâÐÏœÎÎ~N*{cÀt(û6HÝB=viˆÀ%ŒÐ/ÌÐà>^P䶊ŧ¡¯ÕrȈ=ÂÆé2¾ldÔD4“kêœÐw§3\Wd†@$B}vÓmwÝK&à#ýÁ?¡e6êœÿ¸¥*IÖÔ*Àií¨²Q„É¿åAFÜd@+íy‡íj¡×Ré­¬üž±àV{ñ)„ÓÜy¸K þÍç*ï¬%3Ã6ÄÐqO®Vîz
-Pdž·ÕŽÝKcì" ÂñקÃ߸Ð|÷”: úaAÞffñ~þµGµ³+ìMk{çg1Û»tîO±¶)0ÞÊœ<vŸj5Uq"¯}h‘ïÎ[ ã^ý­ŒwXcsÝX YVW³Zxg/ÁÍ& YÜÔŠþ6¾ÿ„×ÔĈäUu&S·+0›Ý)§LI4îÄR°vò[_•(ÉëOJ¼‡ŽÛXÄbÉÛú󅟃HÙ¾üª½[!+ØÑ™õd­¶¶¹c ¡µìÉŠaüð L²ëb_Àå¦RnMúY6F¿ÅýíÕ<úx*¸÷â&?ñiÛJÌ¤éŠ Žô·Î±¯‰Ò%§¤+Ž pñýïê=Ú02á=o !“®…-‰NØ ží2_Ûš,l|%ÕvW”v¨q$M1‘]–OmÍöèÂg®eÝ/Ý»ÈÔß1x±]Ô'ÎÝíÎ<± úa’'0x{&¿µx¯ùí©wÏ.o†l¬AÁ +Øο>Ú²Ê.ÔZlvp‡k³g¤…æ[FMIÁ‹£÷0ê¹³ÕvœøæhPKò´ ûäx´!vyÚ³×eœï?uúfK¿ŠÈ+>ªX'·[ò&&ÇŒÈSm"~Ê\mŸ$¯ GÊ-ˆýJo%ÛÞêdyž†õJ-»Û¼`~DÒ]FB´§Aäû¹xx²Ãò`}fZ%±ÆÈr™6³Á‡å_Êf
-í&2PƒóuíIŸ[^|uÊàïíŽl«0x¦ŸøpÙ(ÈÅ%mé…ÆÃð½/¯ ±sqØo
-ŠÉËQfþNÒúðÄCzòÛgêg_åD6ºq¸I“ª¸ÊFØ2Ëv­Ö¦™˜¤Pé¿g¦Uu䂱~Õ#ÉUz$¼
-ÇHÄ•vËÕ$«x-‘–ß™š¦#{eöòÓ`ÐhšDŸâ°º ë«×^9ÁB0¤ñ뫽‡í»˜m×ÖÜ¢Ò ¯-‘+ÖŒ!ÇBPŸÕvî¦è ·?§¡ºƒ¼E^$‡ý…’*O*n˜.—Çw2wÏ5N¨°xNÂø,†éõG#ËÕ€ª“ŸêÅUOr3~\Å[kÒ¸! 9×0ϵ
-CÝ_‹{™éÉYŠúð["šgì2eàß$‹îy;Þ;Ú
-_ƒ ÃižòÆv==·%!Ãd2KVûBàùü€ÿ'
+xÚítuTÔíÖ6)HJ Ò­ Ý=Ò"Í 0Ä Ì "Ý  t# %€twwH·t*-ú¼çœw=ßùë}Ï_ßúf­Yë·ã¾öµ÷µï›…¨Ã-‚Y‚aP$7?Ÿ@âhé‚б€ªsËÂ@€{§0. ‹l„À òH°À
+Òâ~ 2P›{)øxøþrBŠ70AZÙ¬-îgôǯá(ø^Ë?cpó ÿ-¦k ±²‡þºÈ³?!0ôwæ÷òüáÍ« ¯§*¯Áù÷×ôOð^u¤®»Ó=±ÿêCú§ñCVæðàæp ò‰Þ_6>AÀ3¡gžÿ¦Þ þÙH8Ä ðê¾i>þ?­ÿ×ÿ_–Éß` V0Ðï=ÑAZ@A÷«õOÇï°• ~¯èŸÛ~ßò?ì?K»­pg§`Vâv‰)IÈ2ŠŒ®ùWm-üè]Ny_t?eù”Àš½C–Ÿšß”òT‰ýªuŸÜqº]W}²ÑÓBîÀÖ>ȤñdâhÍz´ÀZ/ʹáÇkšG´kðÎãpB} ÃH„Oceà…¶iîÍÚ¡zA8öá9‡“k–)óO'B/«„Š(²¢Jâ²ì]Ö˜ïç?Ù:z»»:›1[ש9Ó£pXÄ]1XÃ}œÓ©¥Œô
+=",sùc:Jb[‚ZõØfŽÉ«–F[8_>[}óØ-WÃ}ý<”¯MçöÑ2sZÜ´:=…‚¿åÄê¾Q¯]'ÄY'1 ЬŸYFJyE¶©¨ø¬.¼QÎ ¢úQ{4ðY•wµL(q§oÐ>õYWþÉZúƒú2‹ažvŸlž«‘¯ïÔª$Jq¢•Hõã–¯…|¥Ø
+·cÐ.ì+Çb²½¬½¼%~­oæºæÀß•T1òþ (ðBV îž³\÷9‘e†„Ò„‰Ú§ÍäÊv””ןžºæN­Ñ÷k,ù<ë\ö M Sž¿‹€À‡ÊÔä|^+‘. §ç|¤gK•Ú+xáÂޛ̉f[)&é—î->cÕ¯‡…hLÁâŸW‰Ö¥õÜú¨×^ã÷¦Àl# á `Q¯«“5Fç'Ã$ùFz·òe*àà;Žê6âÄ…Jųâ4÷3 /šsé5>‡7¯Çu*Ék? õŵÆÌ(:cp‡ ]P
+ò¸æ˜ÅÒ;hlÉwb¸8Z2Ì´?Ò­’MÁpŽ»úZ\¯‹Ÿ?¢Ô8`!KÉÂB]EÈ2û%Èê~øÙ«D×[iE€Ð(¢„Óã È ôLüúBA*ô%<Û£#›ÿ@²æcVôÔó›P<öŸqéEâsn¹!âÑð!¡ÄùO[ª«eÖbqåÂpÞ 7wbÊ×jݦ½YN±]Ðò¾¾qôùÄÓJk3S@#ê@Ò³&¯¾´¨ñ„n„A框f‚ê¶Jã¾Ø1~ìÞñ
+ SÓ~À‹h«á
+¿oH5_aZñÖ?Œn;
+?ÊW1fÂìþ†øp~‚¡€µyJEa`ªd×¹l‘> Ä=éÖ x¸–Ñp³Ùn—‹Ë«.ú$-‘Óqd˜„ƒ…'lŸúq㋘Œ¨TþbÇf…V-ºZfXKÏìÿ•36/¡±L®ìÝ„¤SÖ/;7­a&Ç?³ñ·ý ª“I/½ÌòÆ1R\›eDlh¼/@)~ ”0*}-­¦%}¤óã•Kãšç5¾_€±–![Ý\JtwÛãˆ~qä–r¢„tBæPÒìZ"¿SƒÁ±qþ1f@”K¡å»ŸÌúŒÖ£>(|l㢻F鸕2Á-dKauÚ®>ÄA3პÈÐ¥ \$$˜ÿ tXúˆ©‚•šüÚBÆ]q»ã¬n¢íÂqöŽñÌi•¢I¸ß® Q‹¸<±+±’Ãk¿æG=ÀÉ% ’xà#/ðë4Ÿ+“£EÆó±žX>Wérq|Våœ5™Í5×\Ɉ­¼"|U•w û3€“áCHÒeòÇÌ Æ±á±ÑcCâ'ÏÕ+½h-†ë’ú ŠY\?æWߣ6}W¨ƒA]k×Yj}ÇÁ«ÁÑ8•ôág ^¥ú†9.¼:F»€³¬ úhðcS¸´ 
+Ãô‰]e¾•&Í-ÊWŠ@[Û)èGÇ/+ã*X¤›‚i”ÖÃ!Ìš—¬|%Ü0‰&æZ¤¾öÞn«­'j­g6“Á!á5Kvqñ„'½~ôryó5ħ¬)ww¦†Ô¿ßN¯‡§o¬„õWA1â!Î"ìHôk¿-ê´ùî+u>‘×ánË :X Yˆ `ŒUN©÷Òu ìW©¦qr>¤jU#‹!
+›‰šñ±Š=ùw$€ÍÞ5-M¶ÃÍ5†Ã¨1™èÕšñêp{ûyĽuéBÿ¸»¥šÏõ\rþ%8~s¼‡Ï&Ø·WšŽÖh1¡zÈcyà}M€8'%gY .¯cXu¹H–?â¡´ï[+X d;-|<e ®?àÎ)ú‘§9×»*xR É ñËɯ΋7°Ïû®S‡•‹r,I`x¿Ãh®qùùŒ{;iTe×…\4¶Õ~<@!/jD{Ô‰çGõã;}ºwïçÛ<Í"w²êÂ÷¡‚~—ÍD ¬ç—}é>¦^\Eä¨øö… 2!Ev¦+)‹l:W;S¬éí¸Þü Ð$Jœ8éH¸ñŠs@çb ©”^
+O6¼ NåZ|eÎïuç4û–ˆÇ™÷.™­sÌȹ8‡ðo\‘TË×€LJ34ë„7r•¶;ºâìXµÇH^?ßI<Ñ0>jšqe¢-0¾"<-z¨yœí¿k˜–4ŽR푺22ÝLæW*ÊãÈÃZ½pFÆâàÌ¡4QÚQ¢\¯d8x£2é'é=øùmojÜÒDø=Wé&–A.‚ZŠ€ü»ó!÷©™ ¥`KµÚfP*ñÌÀòϺE–NÎ?•&§E±Ù4 *< ¨Êë~AI¤‡fŒ q•E©k‘ ú/ÆíÞ:;V-ëŸVU<Ç{Fá.ùk£ý°{\á)óÂ( ázë$³Ô#É~ø³&A¸®ŸãZ€¸IäÁîÑûX©ÜlÝ«@"¶®nñ«–
+›=‘z<×ÞuÔíŽ\ݺŒÍLuiÀ¬®”ñòNqc¤¨òÃBì‡Ì²òÎJž}8"ŸDÁéÖ‘ž ®þº›Ú^û…VÄ H´^¥‚ÛƒrJSè×T”BÉæN_`¶õ,‹î…èíd9~ù(xG®U<;¬êDj¢è5ß‚­«Ðçûêá4jA|vçÓžÀ‰dì•” jçq3ε;óþ{¾gPN+òªvÐWì*– ¶™Ó„q¢{°šnô‰¾>*ûÚÆxfì\A÷œ¡Ã£~zGÑÎUÏžHoÑË×`·sÐÜDÑœ0vÎl<žk**EôÁ{w¹¼«õ¯µƒ ˜3’IJ¹¾%ÔóGÈéSŽ©eöª›ž*þÄÞÓHúnÚò=®+êj+Çžùɶ¬EÄæB.·J qE~æ¥ó¢Æ5’Uò[‡x»å(5Ã4vhâõº–º&ï1”fª*$¼rŸâ¼ùy!kÌ¥ïrŸ'™”«ÏÔØ)¶óâ8%»ëûaû
+ Îv—¯—§F仾>Yr…6ž%O5(¯ ñ>ëpF)í­éÛ ñsW+œ˜ñUã²í²Õ¤w‡B¼­°[Óèßàu2µCWR‹¶}ýt4 –’Ì‚å&ëÅ° 5›•Ž]Oè UÕ0ÔqûгQ§'Q´„´ÍCŽ…qË=S7öO¾r¯Ò@öT\S ò)È@CGë>KLÂþä·b5…7“&† ¬þ^G:—||ý†8‡‰“+J†€~yã,!˜Œ‰ÂˆþÜþ%s .æ#‰¹¯:Z•M¬YÙb¤:U^Ìv¡nªÃ|…ðÕ+Ÿ†ŽJKŠÓæj&!JmŽõï·¤±•Rû_{h»9«–õÃêÝ·¾d”;2û°Q¼ óóã$ûT1°W3, ¦€»ÈñÙžšŽ"ùdÞ«7[Ü{4£'JæaÜp‚¢44*ˆwY>Âϱ´Y ‡Ëãbý³Ï·ý«h0RxІ
+†³Ê;¥È†“Eæú°ûîH³å*F9çp—œÔü&à`˜Gú¦jt3óó¼ò˜~Ã3˜V=¤ÆÞ­6ÀlÙ<v§×ǪÔFU³#Ì&[ËGÉ(wñXäå_7ÞWó5™Ãº^F &Ýh@mÊÚK\¯g~…v¶Jýä(à'¤«tqZ·bèR7p1ÛDYëðbXôßð¼
+ (FÕA6 bLCGêË\j™œ«Ê²Ô{Ý”Õ 4K¤Þ<Íø»ˆ‹Õ>’qS æð‘Pÿ<|sÉì„»ãÜÙ&y·3xU?òLGäS–Lžä‘UïÙgœ—õ§Ãx±±f·£\N»Ú´>ª*É8¢!qž¾ùÔŽ~U÷ÃÇ žôwýTå55ÅÜÊ×_;=9r…åË/™½Ø 
+Sf
+…ÜЦno{<øó7Þ‚‘Â@œ²ö70åÙ’¢ͲáߢKIã)ëÐp^{¶³Ž–ë>¥Î.Zh¬cï›Gy(Rì.ŸRÄ÷&÷Ë!>å¿x¡>@a˜ìD’bº”ÇëU€2}Ç;Š*Áªá¤BÏòlqè6»³³ŸƒÒñ%`:Œm›UEÃL#vi×5œÀ7Ü@;(ê!kÅ¢X˜¿z6±GBø8mÆ÷ƒíŒ¯ÍäZÚ§tÝéÃôW/+>†â‚ž‡ÝåH¹é´¿ÞKÆå!½ä
+8Dºv—ï[V§¬ÒcÂqgæZÉß½§a’>m|×£ìmÙ+ßS}]ñKŠë?]ØqÉ‹92‡özQU\VÝ–·PÁS=6ÚâSô÷¢F™]ùåŒHœOb­Yez.€÷´õÛ ÖUy—HSòÝ¢üØ-J#Î}4ÃË6¦‡‘ûHÏ&¸’ÏçAŽð¡´Ñ‚ª¯PE<9sÀËþ¢CõÚKI±ì.\—‰ðl“@Dº1Nœ„MðÞ3ù½ÆWèÕ¸øßíˆ
+’¼Ñ÷7¡`ƒ­Ft?7H©Õt¨…¦›ÍƒÕÓÅ7ÝRàoö–¢9EYo¶-ô÷iò™»s †Ì}µ„§– ¨¼ZÓMA…èÇŠJã×zd Q¦f Aª!ò~záþ´C~›oâ³½_ûjtñ‘½Õç#q¡CÓ·:'ØR¤HúÒ}~£ÛCµNK&Ë);Pôc5†ò§ÈŽ&O­pMÚ´•$l¥ Æi #^Œù¡2­±.þÜ‘OÐÈ+ ãÊÖéç1)úT»
+$‡ÔÄ’\[–EŸfÇ{®ÂbDë:âtF8S"!zã?ùÕ¨Ãz‰Ç1þ$מ _[X¯|À-Çì™# N(3ª=µD€&œ*­sI»ÏÏ稡¤tÄZb
+’ÀÙ@¨FòLÀ/ï³ ƒŽlû;è–B¬¥NQ¤¶»@¡*}2ׂ€¤ò (§îDÙ|£ê6òþÕ%¼®â¬dБ’Y¯§2dv†)çzêJáé/ª9 Nä­ÇA—¶×Jífw2×ÚX4PcëD¦fWèc|ð® ”èWš62ꙿðÐuQÝ«¢Vé*D<æÜÎq)º¢Šö[®›C¹fñÞ›rœÁRU´Gß[p‰›’ßÕæñ¬ÏW`›Ù?_~ôàUb
+¹Ð Á%sûÌ8Yoª¼Ê\,°(Ö¤Þ¶*›¤ ÂALá
+oÏÓš‹èKÈ“üÌrè¾z£C¸~÷mÈ îËDÆ'7’’C5Hdd×ôp›÷y\aYz¬ûr+®Ïû}ïì#ñ¹[_=‚·œ<r#ì#u2ØGÄô*€<¿ÑÀÛ©
+^ØŒU~#Gñ‘iè€.0U d,”•”¤ËèIVÜ
+q2ex»þbƒvW7JÓ™ú‡@LDÚãÊ;/¹W}g6ÓŒõ$8ÌY½)
+‚— ‰|Ѿ-¶Ž¹®Òç´7EÓ·³h þ ÜßVšºaŒ»»§ËɾsØ—°xSG
+
+M#hÆÝ“‡+K²#¬,a ¸dí;μŸ†¹ BÉ3Â<~…«áÉöÉR´H?=-R})(ζ”x^îd¢f»†Åá‹7]r[Ü€É*áÒ1W‘bÙJ­Úh¦w`ðcîÄÍÉúQá¿V®Š‚ùJûÙϨˆ@­yÐ?]ã,{y‡¾\±
+;N'²·±zç§0ØP¾|ý4€;ÙÝAÓfïÃW7¬D®cÙê]K†²ÌP¡ó’ôÛé˜Tl~QÔÕaÉQóîP‘>gñËoS>S*
+ߘ2@;[šXžN¾û0A!¸•Ã$d/ç ÛmirF¦°('ußœéœW SŽmBûPÆhmhWÑ×ÎcöiñŒŒÛ{`’Û–f KW¿( ì·AKöt–YÞ!äÅðñrŠ¤ß6K@¦ ÂDë¹ÀÏqö.Õ|ÅlüµôO¾ˆš°\öh*" §HBÈrfÈ©vÑÞÒ¥ŽêÆ…¯f– Ws´¨ ;iOèû6’} ›Ë¦‰zćí@bBÁ—ÚwÎŒ»ŽÜaëP“ªÛ}¥°ýƒ¯C=¢7;ªTÎæ1 ­_¤ÒŒ°èTg7¹…ìT±âÏvÙYcj7RØ×á‡/à Шõð¦u™ªì¼#©‘!ÆŒâü· *só.%öZâÁ!ë®ÐíTäΉh=€7vi½À`|jºeoWç[äñ!/µ •Óy™NYp–Z
+Vge‰•Ü»ÞhpU¥¹JeŸãÃMùÉÅî ¤Ÿ× ïg殬åaÔ%·AÒ=;®É›4S9\ºôÃ
endobj
1419 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 36
/LastChar 121
-/Widths 2932 0 R
-/BaseFont /KSQAEI+NimbusSanL-Bold
+/Widths 2950 0 R
+/BaseFont /EVUJDM+NimbusSanL-Bold
/FontDescriptor 1417 0 R
>> endobj
1417 0 obj <<
/Ascent 722
/CapHeight 722
/Descent -217
-/FontName /KSQAEI+NimbusSanL-Bold
+/FontName /EVUJDM+NimbusSanL-Bold
/ItalicAngle 0
/StemV 141
/XHeight 532
/FontBBox [-173 -307 1003 949]
/Flags 4
-/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)
+/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/v/w/y)
/FontFile 1418 0 R
>> endobj
-2932 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 ]
+2950 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 556 778 0 556 ]
endobj
1415 0 obj <<
/Length1 1166
@@ -14554,7 +14742,7 @@ xÚízU\\kö%‚»înA‚»»;PHî®!x 8 îîîîîÁƒ<$ýý¿ÝÓ·{žæm~Sõp¾o­}ÖÞ{}ûœz)
U 1Kˆ9Pveá`e
„8
l)qøCÀùÏ$AÎ@‹×¦¼Øþî›âöùØ
-¶ü³%K7G6-0ÈÉ ('ù?Á¯ò¿0k +€‡“Ÿ
+¶ü³%K7G6-0ÈÉ ('ù?Á¯ò¿0k +€‡“Ÿ
qýñ$X8x8þÆiÚ€,ìÀ@—׳ø“‚-ÿ–R
l±­®¯SiælùOàÚÂÍÙùÕž?èõÞ¿öV ×@O òÊ"ÄB0Ô¶6´ý¡ZŒØƒe’«Wëî·97rŒ=ô7V˜^e»bîÜÛwŸ³$UÇl„+ `•`¡Ã㉥bø<ìøÅ;X°°Ã°`d#‰NYë„”P/駯Øûˆ¢ R¾Kx Ê^P”ÝéÑKL`i„CpHôœTà‰ÉÊò+TŽøñž‚ÏUdíýÕàçG:%Ùmƒ#RPä»géäõQOï±+:°LûÅÑxæÃe]k/͉õJø:'º8ŸlJÛ¬žªGóy乌טòQK6‡ Ñ+íLvþ˜ð‰Å16(ÎñkX„Éßš†+…¨pœº–QÄ´Ôß^î)RêÔ[W,,¨Þ‘õÉ»ãp%n×)iuGYÖǚπñZ¬Õˆv4¹›îµ:®uľõ­«GZýÖ:„<=Ÿ@‡ª˜yÝ—l:GBÎÚOAs½À:rÁUuiw™ª¨,w‘ʽVç±ÌwZ6ç]ºš½žWßÆe ͹„縤h£öÙ8âØYWÑtÔ¸c}ü5æ?°5&Jt”ùËÞ¨—OÉËÛòÁHÌîZ‚pr_‘\OœÅ±„4šß²~òIÝbâí‡y"ûÊ“¬4òŽZ¦¿;‚Àždz™RÑ t[^cíÆ=ðàæ÷Ÿ‘øÜÏ•ä =X}§^ÍóâÓÌ:Ë;}ß %[µ, ýÉЛ>µÞܱ^4AXç%ä#¬wÛ±W:eÅNã¥S¶SÈ“H f÷ÖϦŠKuP ·}.óF!Ö§•"k¯“/ågö«ÉФÁ
 ê2³Õ°"Ý ÝkÇÃñJ
@@ -14584,23 +14772,23 @@ g~nM"up^ÅÃÓíÓêè” ,{!5ÿ8¿UËn
Ðú‡ä9¬PjK¢!zóÙ!ñHaŸ´Þãïÿ¼£êOß,?€úVÐz¾’¢Œ¤ñ¸gTW-Š«XÑèƒðN¨PÊ94X}chAc~‡^ÅûI8Y½-°Ji ¾á.˜<®¯ÇIâšo,¦ÙNì¥#ÊͽÊûÊàùk¤lùnýh2³ÒþÝu<Aíâ$FŒþ¦ÏD!þ:ƒêj%FDõŠ‚QúPÀ„´èÖ#מbG¡³°ï\ùe%mËf›‘g'CÕ䦨 Ñ)Ê$‰‡x`A%*›H«¶#Ì'å;…p‘ûÚ9ß/iÔ¤N…ï#‰yàE×Óz˜8ƒÄÛ¼êpXe€N®Ñ †µ§r%ç˜û7¯¼Çé&ï`Foùª’׬ó›}tW™ë',4Ó‘õÊ™‘8‘À`Z*\-šðú[Ü‚JåÕ®{i!Ux„T û•ˆ¼‘‡ômÙ85û)îÛ¼e¢ý¾KµÔÌ;¨žè{ÜÈ¡¾è{´Ñe¼Žò»~!–±l˜×R¡^n`žTG?ÂŽÎCMž—û[©s¬ ;ZWÀá¤ì`±3iSw-iUÉCW
ÚVâ>xj„E‹ŒwêIo³}‚üH—ã
Örú ãkÑnT‚e¿S< ¢x K»«- 1…‹54ËÆa«÷-ÕÜ@ÚUóªîÐsL/}8ÀѶ›Ñl¡ò‰ó9È+ß©O¹È¨qD‹£RKˆ7hëÀûÚë,l³Ž[‹x³#‹³ÆÒ4
-¶ÿÚ®½–ZJS•ñ~´õÓp+S!¨yWC6Æjy.Lä“X5­ ^g˜Â£˜ýÿòƒüÿþŸ°°š9»BÌœí}œ.®ç?þ€‡ü¿
+¶ÿÚ®½–ZJS•ñ~´õÓp+S!¨yWC6Æjy.Lä“X5­ ^g˜Â£˜ýÿòƒüÿþŸ°°š9»BÌœí}œ.®ç?þ€‡ü¿
endobj
1416 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 2
/LastChar 151
-/Widths 2933 0 R
-/BaseFont /QYOPUJ+NimbusSanL-Regu
+/Widths 2951 0 R
+/BaseFont /GWUKNE+NimbusSanL-Regu
/FontDescriptor 1414 0 R
>> endobj
1414 0 obj <<
/Ascent 712
/CapHeight 712
/Descent -213
-/FontName /QYOPUJ+NimbusSanL-Regu
+/FontName /GWUKNE+NimbusSanL-Regu
/ItalicAngle 0
/StemV 85
/XHeight 523
@@ -14609,7 +14797,7 @@ endobj
/CharSet (/fi/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/five/seven/eight/nine/semicolon/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/W/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 1415 0 R
>> endobj
-2933 0 obj
+2951 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 278 556 556 556 556 0 556 0 556 556 556 0 278 0 0 0 0 0 667 667 722 722 667 611 778 722 278 0 0 556 833 722 778 667 0 722 667 611 722 0 944 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
1382 0 obj <<
@@ -14620,75 +14808,62 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚíueTœí’-îîNãîîNÐ ÁÝ¡±†Æàî‚[ ¸$¸Cp‚»{pw¸|ß™™3ëÜù53¿îº½V÷zŸÚU»ªž]o5 …ê' ™¥,ÈÑ•…ƒ•]ðè`ææ¢ rTbQ·´vS1³Þ$)°¥©+ä(mêj)ж´
- ×T×f`bbþ§å/€™×¿#ï‘.@kG
-˜`KkS°…½¥‹Ë;Í;÷_·óÏ>ÿ©{S''{¯¿£A{ýG @WK{+V$Î÷œæ®ï¹­ŽHl ‹¼£ÀÁþ»…›Ó¿cî–à¿/ˆþ¯™ax/ÂÔähï°°´Bbûr}O  ÿï©Ìú¿'òÿ‚Äÿ+ÿ¯Èû?÷_5úO/ñÿô}þWjY7{û¦ïð%xß2 €à¯=co
-üµkœÝ,ÿ¯0S ½×ø¯ŽÚ–ÿ(ößøþ–w5}¿ GëwaX88YÙÿaºÈ=--T®æ6
-Œ»ƒ]xöti–§ù$~T ݘ«´­|L»AlF¥¨™GÚ1>g3Jë0z¼ìZ»›£jêF%Ïp¤ã­\`„³;†@*÷‚@ê['4óôºxÜ6Œ¬šÂ?G´Éw·t}C¿ú;/`»wˆ™râi„ÜaPi£sˆÅô4¿ûD2mCÕî’Çu'åòšbYÊ>¤†à}Θ)ÏSsÐÔ¸äõoËñýªÈ]’Ú®¾Pbt“m‹ÛšE qUíÝ·E“çCb‹sþÞï€I|w¼LY¦ìAŒÚ/ýMek ÿ&»êæ%ëźܵ¿u;Ú0‘`[º,9ð ŸXQÍmœoßò»™›/Ëðb‹Æf–®~è@/ù—Í@Hm´ÍÝuÏŸ>²è=(ÐÞš¶W0Br¤}i3ÖDH‡S²À~@k
-¶™f‚yø_eš×¼¥©Å[˲•X6”,¾
-!ø`€·§«Ssw–]<¦ŒiøCø®ë¿aacK ›‡&*ÔhRÏ»Ÿ«µ®GÖvzq‰1dìJfdÔkSÜ2ìXu'´9 Æc¾HÁ(;,#}┸ZBœÃfÇÿ"‡0u·w诩yÄ\8)ZM–XÛíµ¿Ü‡ œÛ¾*hÐ>ŸŸB„½êEÄžà=A¥#¿]÷}ˆº7€“ æoξ{ûIb+jæ„@‡)0ã\­ÇséiÃû{‰Ê¸M9¬Z^¼‡é4(„Þ¥s§>âw¼Wg‘¨qg/â7‹ãKúÙyyZ€âL~alâTJ$T¿Éa ”bew…£ K³Ë DØœp­6>;µ²b'kO/¬ÎÒAÒ°Èػƕ¾{ú8ñPƒK»8OäJ…ͨµÒSÊ s&8faOœ‰ß•ôÄŸîàaòEæ‡Ô„“
-~{÷c¬]¬JQÑÖw ªe‰E^»Ô@XQˆ”°^ÄZªKt‘‚êô$)¢?sî°ûƒ¾¦]ÁÉÃî?HmPëa¦Ëèh)ØÐgùšò›B|¯½"Wub¿:O
-»2)Pfæ*.—ÖŒ>[°ìÊ-~Äâž’ˆhÜ™6šTQ:V†]êxö/dÐu¡Õ½ ¥ƒÄÁ狪KSW'!d='\N€.u×gÆ/I:?¯~%nw¢çrÌ'¤ÞçMS}Þ®Û0a6Mhh5û&¨ô¸^àë!9u;êý›õÔ6¿,†šßzáé„ä%?>bTÐåûφc£LqØêÉØGºSïi,5{ÒGÛ!ä_MüxÞ«³ÎLUçLH,FŽÉ£…Ƚ[i.³Û lÌ/ÃëQM®5Ú~+còq(m+‘Én¹ ±Í]¾"¡Ó9Ò9…;z9W96°ÐTe•(.jqŠÏÉ,ÉÚMˆ8ß—–£ˆÍaôü‘uàJ”Rµò˜Ô=zMÕ/mɳb>¶ÝŸgå aúùöÍ(û¦ùGx¤˵ ñ¶ŵDº¾˜]~Ë ISd²1aI:<;‡Y?…Œµdœ¼W¶ üâHh2Ua»(¤‘eE3ö)'™ùú’Ö ]ëû3î%#/'–£ÓÄ%âã@Éã ;Û—`TÛÒ¹NHc Œ«ü*"ˆÊ¦^8„D€$ŒÑñJ|Ùü’Në„»)°-9¯j³õM¼ZSÑH$ÃT?%“§žôÉÕžô«øYž.ÝF¹Ôz®0ð;g}éÓ¬m (Lœð4£§þïi°²²4Üg8½'ÇqÕç¹²5 9ˆ~;?ÈM ¢B˜?•/Þ¡Ħe]czR~¿ð@ÌÜ:ÜØ 0ôù/¹c¸ðGy »~DŽ„Ø“
-‡,¦PýR¾èÚid^µŠ+—^2³m¤}P¿ÉúGŒŽžG¿‹‘…Fc©Êqâa©½XD`*ô‹¸Ñîð튆³•×žT…§¬),‰Ú¶Pƒ9Äâ]ÅÆ!“Ÿ?è¢Á*:m_¡´h9¢6K˜=Þ ¢»¶@§š O=P±`&Ä6ÕXââà´ºh‰ÎÓCÇÑÏ¿/¹õƒRçþٻʦ“A`ä}PÀLMŸD»ö5 qþ‹¹ g.sDž>½È²!¼XsNWò<,„töYDŸÈ¹G¡•”XXS8Mz ”R» „IËز&ç"Qb?Ûð¡_=ìI™ý3ïõ´¤7éÅèc™ @yÚˆ½X²
-‹Í”ÜðCœîVBƒM$ëq®O°¾‚­ÏÆóâšé< úÔiÜí\šêáþl¦§KÎÓñžŒ#Q 1F(3튨ÎàSJ°øÚáùÂ0J<ÖÐY¤¨îÏ¥"zK7Å©ŠCÓ§ÁÇd·›ÌQœ©Ñ]¼:öµ²xÖó=Æîš½Øs—´ûh2ßIìWôø~è/·¶ë8À‰ž E&w«šÒVùs2´{¾ôz†ÖlÔg|ë…‚SÞ”ÖQ&ÄóçëEóF|ÓÃz;È­øsýïÁ>—?p Û‰'ÍÕ¢5—¾à‰¸p S¾2Ìö%Q‘÷Gãw_îÓŠ¨«í‡âRAsƒ]C¸›ÓPly±¢h“ã/%¤w`õ~ëß׆úœ# ñ§šÖÀH"½/}o—ˆ9ŽÕANÿÓ <rî¼rü¯VaÙ—,7é{w„‡+L„yQóJ¥ŸCÃÌoNÞ±?§Zg?6÷fæäžZÈEh·_&üœI+ä .U?]°l°>úʉk9nµRf‹³D_ûÇ ¡>E–“¢^ˆÄ ð5cx󹈥O—Rn.?¡eßÑâ§Ò¤€¡qm¸8¡S™Ø¹!>¿À# д°þ¨&¯¾>Œ¥±·P½qQµ^èº"‘ÉèbUwS†˜?"Þ¥"ë8mžlá-ô×±õååŽÉ3‰T;ߢ‡L¥ ÎGº uaÙ I(ǃ
-ÖžCJ‘²—G„ÐM"&ï‰4<ë#`üDöY÷­áW
-i¬¨ŸKUì=\žýk\dóhYúÃÇo;gh+ÖR¯‘M^£ ÛaHi61›ƒ£P'&iÓ jÎ:‚ÓU¬ªºKØ;uÅe˜R)`kG€î´nwÄýÜÍÜ\Àc> ¨2]/{¢¦¨øáÙE¡ãΊR üÑwm}RN¾žJÓ$ÃҲ8D< 6µêƒªg‰C4YÏÜ…ñü$mÁ]2]XT Æ…õŠÞÝäèø ¹pƒ|3Áo³4øÓþ9ïyã*(ö~ûÞûEÂ]:|›YU"ú+JºRôU7.æ
-VSfgw-4ð‘ä
-E„Üž‚›†¨÷QÀ§aˆYnk\Ï=­:Ÿ,)õøöBºLßö ›‡ìb”Ð3†’(€&ä2±kvwr/F—Õ
-aN‰×jêg!rÕ§(YBî5 “lœ+”^ÆIQçJÁÜøÔ›x#êèXX“„”I¬®hÉ©‘aäBA*åqk½Ô3/ èi5—#nšpþ”O¸ §ÖiãOÄÒ‘‡sªA-\×.v! rÛݨ½É§ÕW(+íhRzÄM }qàú—3Q¢H-T:iüc\8¼¶I.è‚»gàž§=Æuƒ@¿a}îÜ4Ñ°.Ïy
-g*ÿÈÕ=\
-°+,B4Úfð{5á#“Re_‘›S1Ù‡ú„iëÜ>|§¦6=«ªÌp9DuTà¸Ñ}b²ïT·-¸k¤èÔg‹AúÃ76Œ­Çp§Þ¨ÿŒÞl<Œ¦7y>G–QØ…Æ£Ö&sÞK4ßD‘9Çâs¡uˆÿmùU&©‚t,Á—¥‰„b½±ªÆ\ÙHH%2ÓJƹÍ=O°î—áö¹¹2›~ ÎßíÌHß,+'Ï‘¦ÅT^ Ð΄lÒ~_EÞìá)•¬w¦Ð»2;òç1̪,G͉Ò#ý¹ºjfšÓº*9áµpm‡êÈ}ÎÓwtS(`‚žZ¶Õò¼_r²¨ª}døm fÔW’ e=]¬¸À½iÓ€x˜êÕûxžÍkúåýN’îær3àéUd:~£ü ÙE £UôýPí÷÷@d(Æ,ÝÕa
-_’¶›&Æ(x¼¹(;YK¢Œm ¤gÓÁýl‘â[z*Vi\£ l†È%{#¥w¶%Œ‚•W^#ÃÓ„ŠãsõµÈ¾P7Õ¢Ó>§Š§õ#¾EÜ9i1W´i´Þ¥ljÃæ–’mؘu‘Ö¶^méàôsMæÛrªy‰Öå¬lƲ0¡ á¬:&~–« s£'âæAeþ‚êž²-ÓÌÆdèÖ²ó©µâ ƒv5ß9ŸKæ»P¶k´Å'N.¦À»tìWÛWBÌEß-=Ј|»‡c‡–¾b}¶+~õwè7@ÿ
- Ü)mÝ“Ä';©Ûp4OïugE…bœg¥W<xY9¿þ$¢A™žÚ®¾b³=»æçýVÓyí,"ÏT5švèpgã¥A*IGš0D%eÂe†ñcë"˜ð‰—*êj1vê5%?-&ü iAZ•t5ú]¬rkvÿ(´=Œšö 'üJ¾ôÛKªÀDÿ…ÐT¢&@í ™Æʸ¿(—ŽÔ“Ç{PüÍÓbødb^ºc¤kœòOrj@F§æ¡î°[ïØ}…@=â¾ZðŸ¨qúÅl¬QÇ©Ó:¢
-< Ø-KôwÁ-‹/Dñïõ¤Fj\ÙN=@­U!¨Ã‡ÝÄÈ¢ææƒ]3òÓÉ
-‹aÎ@ùíTÆ“7&¤Eø BûY¯ÜXðLÙÏH^#¼ p–2úÀ5X—
-^/ÒO2-U@“‡ Æiw¤³¡#9-¤b·úRÉ7üM”Õâ(6ÞÌ^ ²ƒ =Ï6i•`©¿,yÿ ™ùô]8FfŒhÿ©Jùi»õà
-؈¹5nÙ±òÉCd½Û/¾Â×aOE¨±_Ç–îÉÑüqÕŒë@†€«¸€æŽ½óX•EÅwy…‚Œ•½¦’PÂûä–3´hÒv\e?4*ÊÕ÷m_VÛél`…dáÃd
-Ùú½7ýYE„Íæ’™‹OO?·¢q #rþÂÏ­±A[]P‡ªÝ¦;?J˸¦Iq¥ Ô'¶æŸ, {
-h¯Vwž^Ä7Éß8åp©+ö`ûr`G. f9¶Ið¼kPÜÆ“ÙOMÖú–w]¬£´Ï Xò¬w ¯2Ωìfvƒ^=$M†Ú:ô%›á¨LļKO†ðàx,ˆQê&:.`€ºÙ§ŠÊ™€õ#ªÞƒ½ŠEzd’f9ÁK09UDJ?ú»ûùF‡º¹‚áàzÖµŸ?ªLIF/u†ó&êà}âS;¢é^S@M~䋧©I¢ eÚl²¡˜Úˆ”pöžþÑDë‚ç"Ä€Ò}ri&­„~à“”nª*À¯ó8G|°cf @tï:Úolÿª¸uƒ¯ ø†ï0w:\E-ó;áâ×÷OAçw-©)$æ"ÏFßñ²œ ?—áI¹8Ö%-«f?Ž)¦[ž5å@MÛáÐ1CÐLæë‚8û EÝÍ\J†Ô*,/y™?ɺdñŸ%–‘²›µ’“½+…ô4c§äï'u—¹Š¾åwXK9·!Næøçsf°xv^¹£ê¹£¯öÍÓ xu="T6j`?ƒØh¡9#ÍŸ“ZNFçm÷:²@c=\7—sí$4[BK•×K£òi~ ™mÎzã„5có® º´Š¿m€uùf®Âùüqµ‡™²ßþÉ0FHÙ@ ƒøW‚nõ–SĺUÜNÙîøè ðÐz·åö¾ã¬ kËRPd_¥­Ù«LhO}Î3” "Î,ª
-V˹BÛFIܵ<\åÑÙ]M=톮 -w’¹ŒO¸öW»ªþÖ:GÓ±Iô!ÒvkÖ%[d{fÙÔ¦1à#VyYtãìk"aZ³¥ï<ê„k¶žµ¦:q
-‚eÕä,ê¨ý¨4œx9 ŸaâˆÓýLîÖõùzÍqqp“y(ÀB¹+T½.º> ¡…qõ\VŸ£ýè­8‹¡î9
-ª¢³¥Æ<d ]å“0Ð\ü«OåHØôì#(ùÚÅÃî»S˜Ša;Ô™DfrÂážûñ­´N>2d뜟Mz¹?5ƒ››š1I÷U锂ƒ«½©ÆüÓCèBb‚²×žp½˜Î'Ó‡”¯ º*Õ]),ò"ô«B›'œ1’¤àX¼þðY7ã[¾zªê¬¡´ :%yÝ-t#ä¾ËpÙl Ú
-ËÇLÄcÃÑd§¤§¥^g¢ì)ˆÐQ¬‹=ì8æ$°3´DÁ[5—Ô×9¬ûñËYÊ'‹$±]h.äº,3mÙ¡o´¾6IÞL½»ùž[ ;j{o˜jdž;3Ý!ÈtÅoòwãÓ×ÌøŸhÚ°“\­ ™ü“ç#9E®cìËlÏ넾Eù8¿sÑ­…üq…y”®n&NrÕúBø¡ððŠI¤½“˜Ál’EfNf¬§PF×l&È}¬×"Úwðòñ˜{Äý,]ÈnWvGµ‘›ÌÜ0>¥ñëqˆŸD¸aŠ·y¦9éç}¯Ö&—Ê:`ٱ%dž¬úƯ‰dY?5Ë¥@¢+ëUÂ4¾Å}ªH\ñ„¦OTJT)sk×– ‡É™ŸŠ mÆZùÉÏ‚†b•¿ˆ|®z9ر0SùVJJVÙ›ÿþP>x„ý±tÖˆ7`‘äÛ™¡:þ;>âfá£Q8¾õ/™Ë®‰ ¯Z³"ú_áÒ:¬ÇiÆø[8™•&¼¥bì@Ô,Ð/ŠüWë2’³Æ'çucñ]Ä™Ê&g³Ì·NÅ–ÍC"P
-´\\õ(€kúºEã(3Å!S)Ö‘“HWÊ°z3Ô!5•±’ÅJ|_‹¾ ý_1&DÕw&Æ_Ñ;ÏÙQЃêOË^½ÓV­õÏiNp‘öºÞ‚©IÅÅÀûpÈäã]½¹]ë{É×O—±žrRH¤AdÓ›™dv6Ë ‚ZßV‘.2p%a´æ'ýðÊ®p¸¸.=9̦5M"ì)üY¬<ûa"¤lïÆhíy?݆cóβFÚÄ°¾˜¥–ÎC’®ƒífg9¯¤Ë=Ô&’œè3([¡¡ÂŽeÃåŸu=SÚÁLuj·|Fæ_:4/z‡+ðtö¹\ëcXFc…ðû“»&StKgt¨^øý5xèý¨eìlQÈ{ÛSо(;³—)%S®·_
-´ŽOšƒEíŒwD(HXÞ(
-Ò¹}±ûkKýÇúl”×¹*[
-ºe¡‚=~ˆ%sì4#cõí
-âÍXé2\:ùÞ`ëé'‡ù±ðg›æàù)"ú§Ó”JÉÎÖ«ì(µók|ãºØ*?W-¹$
-mgnþDRÍ—µà­!QÅó‘ [Ьv"È^5ÂúÒŽëÕƒ¥Fœ\&±¢À]ÝŠŒòÓljM;o¿.*ÏèÊÄYYž¤¤»mÕIð9|#+<T‹ŠçÃéÞÒ†ÙÛî¤fCËã! Æ¥[›+él…€^ áQìôÊ †ô¹ýñ ý¤ê…™ÝiEI Ÿ‰2-#ÔÍvu¸ÞÚƒ_´ñK£Cƒžt=sQZ¾ÿ4ƒ†L…9é–s»OM‘óÕxÑ8`QUMò`»Aœ\Âã«ݤ5Žýô© l¼Us­Ë"U^¶‡‹œƒŒGhÇ<Üv+‘õ·;
-…c¥g± ö / »"d¬±?óµRé«å#BX˜ö ã[L N²Ý‰çqØkÙEE™¨R‘î« Êwõ-±QwØ”sÌÌ=‰¤Y±–nþ€5äp^%}¥†+%꾪-µköÕ:OÓ‘Ò<0f8OéŽýwdù,1t(Q½ó…ö}9}®|¡1ò8©$:±ÃÏu'fŽ€¡ÐQˆçtj_N%Ù«‡”·š8Ÿ‘uã Ëv}ц|oM î‰ÊU *­‚KM”›HvÆómõoß°3TQÊK#qÛãvKqöc 31þòëiè¤xe1‡Þä” ¸#4o_Öá‰P×ÿªU7(WœJ ÍŒ&7ãc7p¼9nW²Ï ã›çåÈÔ¢Üi™Â•·‹ò¸²)
-ÈÏ|ø•}LDþéøN«ÓÃ%‘VBO[ʈc£ìD”ü+8ænúÛ} Ùfýj°ºxM™Ü*¡{íb¶w²$·ìnnhî5Jzà7ùvMM&Nq8=ófâN|¦ÍpâÐ. °(èœyú¾Œu¶Ìxô†žA_Xox¼t«³©À_ýb×ü"LÌé6·éb€ô5ai*”²xl‚g¸§vœí£›Ü¸$ô+\øìüxè¾ô-ž¡$³ÊÖðs;úº#[Âíй/ù¤ó-‚äÝ—mrÂ{(ËýôÙƒ5qòâ(¹?åNtæJüÞÓ#ºÇø=›³°GžLÇ·CøÐm5ƒÞé¢>»lvOûû,Œ[8ºV¡M‚×?ÇóEd¯Ü ýã¶#Ošx†Gœ+`¤uÇ]§q©WZš·Ôl쯧ôu¾gAUúéC¹ìc5ê'œå^Ù_ÀBÊåJ ÛÕÚDŽ†~,“™Y#·ÉØ»¶qdì#NzšªºCXAˆÊmj÷´×—2ãUjaŒ‹6Écãçñô‘®Öaˆ“oí‚:¸œÅ| zdO±LÇ‚L˜¤vÜYÚç+Ÿ#6ßX­Oÿ„ÛeÜo± ¿ùÆWŒ"Wqyx¤MõžŸ {ÅÓ¹ÁGù]>ÿ¹&ê9“‚
-ŒÀRùøQytÀOû@É/€¶6XºîI 4pîrŒ‹ W”" #%¹ü`ù‘ŸT Y‘¢{ôù]^}æ k2³#
-¸Xñ—<ªûå9Í^{e„¶©óx2¾è„q †Wü]gÈÒjY­
-*g)‹±öHpãë2^ñÊÇe³/ýƼ•S}FÁG¹Qiÿºç4SÉz\ÛÉÏ7{B1ÃÌViPS@iÁûQL0z¡wµ‹†ÊmN†µSÞ÷L#YOmøHkSf}S'C—È£mºŸëÞªD°lĵU_;ì#·Öˆ°¸œ#ÚËJ·Åá!Qß N.‡Æþ°ašlN[,?œº©î¹Í.°d"ÍQ]Ï·xøJàJl݃K;.èÙ1uÛqRIJpz=‰mJÜÜ|.Õé"°!#(‰rQÖ~ƒ&†° ½æ, ÊnDýG;RÚõw~œ|ÎGqƲuÛ„(•æ‡âˆQÿÙ£¤s)´×ßkü‚§=ÅKÐÛ}‚¾Aú`¿ÿô4YŸÜ¾ƒfvfSß ™š/›Â^bE-•hƒhÏ@ã# "…‰ÝPçß £æiüÔ·1_Ø ~[ž×fj6 ÉX•YTh3XÂ)ïÀº»g’x‹h”àCáôœwÉmtªæÊ·ìÖ*÷ð5Bé*œŽÅn&±7Ý×g¹Sz‹E"†EZ¦
-õ1;X.<ML·±â"äæµDH=´Æ÷R
-àö=e”Û¤4¸¤;צ#¥í¨\¹À³@D¨ëå³n¼'Ìeímu8œÂî5ÜíC›IŠŽ%„á|Î1õĦødZÙWoiÖÉd•¡–õ°Cɼ̬ "å‘ë4(-ŒÎÙx4r÷ÖôësIü. “‘ïjéëüü³Mß~MššäT¬ÿÕï2Û*§'pgÔöGãòÊÇúB 1GÓ^¢mM[¢ßøœMÜ&IýifŸ3èšê'­“cêf™3Z÷¯:ì"6þ†džO?zÈ\+uÊwú­AÏkµÎÆ¢=¥ô‚óm¬]œbÜ­%ìOg`³³kMÑ›Õöë»d¸K%)ƒÕÄÝ|=D}x0ã`E]`Š&$²µb¸C"õU¶_ÉC±ŽtøU¨-#h‡ãÜ ùë2~¥Q£;
-8öìj­åHùdÉÿü`ßÚ Ê½vsu?lÄY‡Ì%!R*Ó<¼é,Aܲ=×Õ"ÞÂ-DNÀXIƒœªã«®Îãä)nwÊ'¯'¬NœˆýÖõT[kº˜×Í¡ôDšA1ÿÐî;³Œm¦8W˜ù ƒþ:?rBÐÀPd9XÛx¡‹»‚j®R–¥Í˜¸_«‡×ÀÊÜõ¯³/ÆÙ
-fg’òÒ—ö
-;+åÖÃD®ížÒãÃèâÝœN7SJYnj)=m"‘ÄH’ô]’™6¬4¡Äûüi7pÂ:Y>‚‘àÖœ TÁï%VÅ–f³ÐŒ5W¬éÉ™à?Uº‚lÖ1<¥¥ê*:uúh&–8}ùègº²Ü5Üñ<Ž„ç{éðý‰GL j¸™–.­õ#N>|)°Š—H†mT!Ü –è*œ„ˆGàŽ5·g_¥épnjî´b“hgmdŸµ@ã!i·ì¿Œtl"˜Ò'%>{ì¥|¨õ1}Üÿi¿S[Úš’ ¢šÜæÏ3¨›I6ù®LÖ’RWå"Å.qÆs$#ÆÿÚZ$È8D8wœD”Ï#³7Œ0úœ‡å‰Çkùíyº†U-|Y Æ_–Bìs
-^ºh{hz¢gÀ„¸(” ¬níéÄÅ^¢ä§›± ]
-¨î0Έ#œ ™ŸQÅ8Û§¥Ï«œTMð ÀɉI!®ƒé¦wîC|7# ƒ,á¤38Š¾ñ´.sßùMÚ ð÷œÒÓ8Ñ?úDÕ$‡È³+ê%M»H(ˆB(Šüö §Ö¯Ê)Çd‡…Cž;yêÙD>‰¥êÞR8ööElºœ•Ëü,¤†G­¡í¤’²w6k©™ê÷†Üeµa$íÍé!iE²¹´ ÍÓþdç­`WÓgÌ‘G¯jMnóh*µŠÛ ɧ’ƒ!Gñ6ˆ#p Ÿ£uóUTËk~£é¾*-Yx 6©m€ ºáP¤Î§]ñ#2 ‚±G±p*PÍæIrkh+kVË@>ÚjÞ$Êt?~n 9U:AŒ“0% $Àr“ÀÎ]Ðc陶û3Ìî¶)Úro$YÕu:‚Ò«S m «žŸiþCl»wi̪6±îÇlUúÅÄ!ýàí}©5ƒr% Ç‘ä<%RÆîê¹ k·  EX˜Ë#“°5SH…o¡{|özzpoºÎ%å Á*ûB}lÀáíKÊCQuÜF²r¾’‰(‚oHÚÉ\ḷìñ«vE–¾ª—ÒgmiX‚(µ±0æô>«¯-ç(°œéßH‘ì†VmÂôÞ`¾–¤ý>BÈ~ÿK[5¶QÛ‘r´—q›9Ð÷#×EˆµÀWQA!j8ê‚ä®ß§J콤Â'JóÈ]þts‘qSœdx†ºmN†þ'æÏ7eœíèÛ&x*:œ %1¢f„'‚íÂf”y\QÊ9ˆžBf¶£ò
-MOíNâ \]ܘ>LÏÐ:sl…ŒøÂŒCyhs1ø^ÛúÏnµ)jþ!pqò!ÎV°¢¯Ì€­Dr–©Ê‡ ,ŽÌU1 Ô–põ©ˆ|‡†VZ¯£Õ‹öu;¤PÙý$.¨¦/ü”±‘gÐ×\ÏžYmXý†Ÿã
-°µ>©Á`F³¡TdÒÉw潚üZž¢ýÝpX
-¢spàãyåæŒÍ÷~±†õkdÜÄsÞSÌô6—æ"öV3CZ€Î þìý]ìX'EBàø /Õ~>Ïgq"óÕ§t~U̶½5¢IáwSõDÕ£õaÐ8’#Øwyúªýˆê@†<y=ª‹Ž>ÛylF·—»|U1_¢ÄÓAÌVo{ÕÂÞ
-™–D¾£DÐ#fjæK÷+a§µHCò; oœ^Œ»SMËYp˜0·Ccÿ~þ?Áÿæö–¦`Wƒ)Øéÿ
+xÚíueTœí’-îîNãîÜ%¸w‡Æw‚»knà’àÁ îîÁÝáò}gfάsç×ÌüºëöZÝë}jWíªzv½Õ4ªŸXÄ-@f–2 GWVv€2ÐÁÌÍE ä¨È¢nií¦bf¼<H44’`KSW ÈQÊÔÕR
+x·[þ.È z÷pxÇÞÉTA.®.æ` “+à=«ª”Ì?êtµ1uý+· ð€¬Þ=-@ænµô7öN󎺚]
+à`ÿ‡ÝÂÍéß1wKðßDÿ×Ì0¼ajr´÷XXZ!±)ƒ\ßSèÿ{*³þï‰ü¿ ñÿŠÀÿ+òþÏÄýWþÓKü?}Ÿÿ•ZÆÍÞ^ÙÔá}
+Ô±ÁÿÝä¹:”µa\àµÙköÓËŽ<ãî`ž=]gšåi>‰Cwæ*m+/Ón›Q)jæ‘vŒÏÙŒâ:ŒÞv­ÝÍQ5u£’g8ÒñV.0ÂÙC •{A õ­š¿yz]<nFVMáŸ#Ú䃻[º¾¡_ý°Ý;ÄL9ñˆ4‚î0¨´ÑÎ9Ä¢zšß}"™¶¡jwÉ㺓r?˜bYÊ<¤†à}Θ)ÏSsÐÔ¸üàß–ãûUº$µ]}¡Äè&Û·5‹@ü*ªÚ»o‹&χÄçü‡=ï“Øîx™’tÙ ‚(´_ú›ÊÖþMv#ÔÍKÖ‹u¹këv´a"Á¶TYrà>±‚šÛ8ï¾å#v37o–áÅÍ,]?üÐ^ò/›Úh›5ºëž?}dÑ{P ½5m¯!„äHûÒf¬‰§dþý€Ö
+øM¡+ƒ¸+]XšÅX%Bæ„kµñÙ©•;Y{zau–¶†EÞÀÞ5®ôÝÓlj‡\ÚÅy"W‚¤( hF­•žRn˜31 {âHìü®¤'¾t?“/Ò?$'œTðÛ»cíbUŠŠ¶¾k0°P-‹/|°K „¡H ëõ(A¬¥ºIÉ«Nï@’"ú3ç»ÿ1èkÚ˜<ìþƒÔµfºŒŽ–‚Ý}–¯)¸)ÈûÚ+|U'ú«ó¤ð°›?“ef¨âré`Íè³ Á®Ôâ7@,æ)ˆÆi£I%¥ceØ¥ŽgÿB]ZÝ»P:H|¾¨º4uuBÖsÂåè’ÖQwñpfü’¤óóêWâv'z.Ç|Bê}Þ4åÐçíº fÓ„†V³aŠÛè¾S·£ÞÑ¿IPOmóËb¨ù¬žNH^òã#F\¾ÿl86ʃ­žŒ½qÔ©;õžÆR³')Û!øjâÇ£|¸:ëÌdPu΄4Áb4à˜<ZˆÜ»•’öà2» ‚ÁÆü2Ì¿ÕäZc í·8&—Ò¶™ì–›ÛÜå[!:Í‘#•S¸£—s•c MuQV‰â¢§ð¼Ñ‘Ì’¬Ý„ˆÓñ}i9ŠØŒFÏY®D1UÛ(ŸIÝ£×TýÒ–<+æS`Û=ðyæPŽ¦Ÿwߌ²ošoäCC‚c¹ö4ÞV£˜–p׳Ëo9!i
+L6&,I‡gç00맱–Œ“bòÁ¶_ M¦J"lõã!²¬hÆ>å$3__Òº£k}`ƽdäåÄr´cš¸ä C(”<þÈ°s°} fAU±-ëôˆ4ÖÀ¸Ê¯2 ‚¨lê…CHÔˆC¯ėÍ/é´N¸›Û’óª6[ßôÀ«U0DÒLõSr8yêIŸ\í?€~?ËÑ¥Ûh"—ZϦ~ç¬/}úB˜µ…‰žfôÔÿ=-V¦@††û §÷ä8®ú<W¦& ñ!'Ñoç¹)AT²²QéðâÚ1LhZÖ5¦'å÷ ÄÌݨý‘
+Õ/õè‹®}FæU«¸ré%2ÛFÚõ›¬Äèèyô»Yh4–ª'–Ú‹F¦B¿ˆíÔ®h8KPy}àI•Êš‚Á¯m %<˜C,ÞUP6™üüQ VÁiû
+¥Eû˵YÂììñݵí
+­$EÚÂiÒ[ ìÚm LZÆ–59‰û¹Ø†ýèaOÊìŸ?\OKx“^Œ>– ð—§Ø Š&óÓÁâV ¥-4…Ic}Å:tNÃÑèíþãH:Ïi»É ÏÙ‰<*ï\?DÕú‰‹›ÁÐa¡e¼ûÁ\‚ [‹—ÒÚ„Ÿ Ãf pDE÷½‹ÿû~4œƒØ’Û„´j«˜œßæÌH|Ó:WÎAÛóào>q%¦y̨jF¦Æi€ÐÅè1¹œUšvg%"Àƒþ'•gí†RVSl{¢ÌEÉ«HÕŠ´HêÜÛÈäãhY±½ŒÞÐóõ|ú¸Qþ¾rÕra“ H(xP=&iRoA‰AÑ1ŽxÆœÖÝ=ÌÞG2™º^f:¶@×=·0b’„' "¡µ ª­ù”›«ÔÜt^HÆs5ô9J¥"VVƒ¼ÌÿeÙJ~1£™’~bh€ÓÝJp°‰d=ÎõIÖW õÙx^L3‡AŸ:{£KS=ÜŸÍ´ãTcÉy:žß“q$*!Æe¦]Õ|J ö_;<_F‰Ç" ƒqÃý¹TDoé¦0Uqhú4ø˜,ìv“9Š35º‹WǾVÂz¾ÇØ]³{î’vÿMzà;‰ýŠïýåÖv8‘3ÁÈänUSÚ*_cN Q†¶cÏ—^ÏК þúŒo`½PÐbªÑâ:ªü„Xþ|½HÞˆozXo¹Õc·c®ÿ=ØÇàòána;ñ¤¹Z´æÒ<a.!ÊW†Ù¾$*òþhüîË}Z
+9‚K~DÕO,¬¾²bZŽ[­”Ùb,Ñ×þñ‚¨O‘å¤è…Â1¼ÍÞ<D.¢éÓ¥”›ËOhÙw´ø©4i`h\.ŽpèT&vnˆÏ/ðHü4-¬?ªÉ«¯ciì-To\T­º®H¤3ºXÕÝ” æˆw©ÈÁ:N›'[x ýul}yù†crÄLEÀA"Õηè!SIƒó‘îB]XvCÊñ ‚µçR¤ìåAt“ˆÉ{" Æú?á}Ö}kø€>§™UC“µ;4[…GÕB;ÄeªÖZ çúŸmŽG<Æ/¬EÜ(#l-Ú{~èOq^£°jú-N†>¤¾ÓT!‚æøRÑÅÎQèŒ-éuù’pq9:H‘™éqhô’Û8F…ƶn2,¦WpÀfÈ;·<AÝ‹¤R‡Üi³%ôiî¢i5mYlVür´þÉ?Z‡Rk›¾L±„ º³Ãýq›#s~¢)lN¥?27vÉp ¤€Ðã  u
+VSfgw-4ð‘d …Ýž‚›†¨÷QÀ§aˆYnk\Ï=­:Ÿ,)ôx÷BºLßö ›‡ìbÑ3†’(€&äÒ±kvw²/F—ÕòaN‰×jêg!²Õ§(Y‚î5 “lœ+”^ÆIQçŠÁÜøÔ›x#êèXX“„”I¬®hÉ©‘aä‚A*åqk½Ô3/ èi5—#nšp¾”O¸ §ÖiãOÄR‘‡sªA-\×.v! ²Ûݨ½É§ÕW(+Êv4)=b¦„¾8pýË™(Q¤*4þ1.^Û$t ÁÝ3pÏÓˆãºA ß°> wnšhX—ç<…3ò•dë.ùÙå!m3ø¼šð‘I©²¯ÈÍ©˜ìC}´un>‹ÌÀS Q
+™žUUf¸¢:ÊpÜè>±FÙwªÛÜ5Rtê³Å }ŠáÆÖc¸SoÔ Fo¶ FÓ›<È!KËïBãQk“9ï%Žo¢HŸcñŒ¹Ð:Dÿ¶Æü*TA:ŒàËÒDB±ÞXUã ®l$¤ži%ãÜfž§X÷KsûÜ\™Í@?çïvf¤o–•çHÑb*-PhgB6i ½¯"oöð”JÖ» Sè]é¹ófU–£æD©‘þ\]53ÍiÝ•œðZ¸¶Cuä>çé;º)0Á O -ÛjyÞ/9YTÕ>Ò|¶3ê+É„2ž.V\àÞ´i@¼ Lõê}<Ïæ5ýò¾²“„»¹¬òo¼1½ŠL§Ào”5»¨aÔ¢Š¾¢ª±ýþˆ Ř¥»:LáKÒv“ÀÄ‚7·b'kI”6 -ôl:¸?ƒ-RxKOÅ*k͹Dbo$õÎV „PpÀ"rJkdxšPq¼®¾Ùê¦ZtÚçTñ´~Ä£ˆ;'-æ
+6Ö»”Mm¸ÀÜR² ³.ÒÚÖ«-œ~®)Ã|[N5/‘ºœ•­ÀX&”!œµ@ÇÄϲµanôDÜ<¨Ì_PÝS¶¥›Ù˜ Ýš£@v>µ6Cœapîæ;çs áѼJv¶øÄÉÅÔ@x—ŽýjûJˆ¹è»¢¥áo÷0¢ìÐRW¬Ïvů¾býèa¶œÛGŽ:ÂÚÞ¬DÇç¡1ëÌŽ·g–Õ¯3ò17Á
+@×æ&ÏŠÊÁïäel c5ò´ù¥º.Û#0ˆŸ;Zg_êøç\B¸?õšàœÁYdÚ¬'ZÉ¿W»ÅÓê'tÐ_<QôFT=uGŠ ü^4ÒBkñÙÛÀ[Ѹ.›Ó'Ÿ?¶«¿uøøƒ=¢íž¾Ö¶Þ‚¿1xÇ€We\¹Åy‰"îx—´,¨3âÁ5*ýæ•f#}“ ä2<0Þ:®ùêÊøi–¿³žK©øA•Æò‚>í›1¶åMMC„íWÿ4e3ŒíšB¬·GJ[7dãÁ$±ÉNê6ÍÓ{ÆYÁçY)笜_’Ñ LÏ m‡?W_±ÙžŒÝ@óñâ^«é¼vH‘gªN;t¸³qŠÐ •¤#M ’‡2á2Ãø±uLøÄK–uµ;õš’‹~´ ­J¸ý.V¹5»ÜFM{~%_zŒŠí%•g¢ÿBh*^“ vHceÜÇ_”MGêÉûpPüÍÓbødb^ªc¤kœòOrj@F§æ¡î°[ïØ}=â¾ZП¨qúÅl¬QÇ©Ó:¢
+< è-Kôw-‹/D±ïõ¤Fj\ÙN=@­UA¨Ã‡ÝÄÈ¢ææƒ]3òÓÉ
+‹aÎ@ùíTÆ“7&¤Eø ‚ûY¯ÜXðLÙÏH^#@à,%(ôk°.¼^¤ŸD4Z&*¿&ŒÓîHgCGrZHÅ„o=ô¥¢+nø›
+(«ÅQt¼™½ezžmÒ*ÁRYâþA"óé»PŒþÌÑþS•ÒÓvëÁâqhtøð™Ô
+ðëÆ<ÎìØY
+‰¹ð³Ñw|ù,'ÃÏ#Åex’.ΟuIË*¤ÙcŠ…é–gM`¹PÓvG8tÌ4“ùº
+ËK^æO².ügñe¤ìf­ädïJA=ÇØ)¹ûIÝe®¢oùÖGÎmˆä£9þÁùœ,žWîèÆ…úcîè«}sÄÆôü^Ý_O U§ØÏ 6ZhÎHóç$W “Ñ?4„{Y ±®‡Ëºvš- ¡¥Jë¥QùÀ4?ÐÌ6g½qš±y×]ZÅß¿¶G@Œº|3Wá|V^mÅa¦ì·ÿc2LR6P`à ö•0F… [½å±n·S¦;>ú<´Þm¹½ïø+èÚ²ÙWikö*ÚSŸó 傈3‹ÊO•´¤ÒãÈî|ËQL5vV߇¯¹ÏÁn–¢4»,ö#÷sž‹Ëq<÷Jßö'A±T7_üŽhÊ/‡”’º;ÛGü·bøÏŽxÓ
+S1l‡:“ÈLîO8Üs•ßJëÄáÑé#C¶ÉùxÑØÔ¡—ûS3¸¹©y˜”p__A)8¸Ú›jÌ?=/Ä'({í ׋é|2}HùðÊ ¸¡RÝÃÐ)!/ B¿Ê·yÂ#IŒÅëŸu3¾å«§ªÎJ¹ S’×ÝB7Âa@é» —ÍÆ mAQa °(g"Ž&;%=-õò?eOA„Žb]ìaÇ1'A€¡
+Þª¹$¿ÎaÝ_ÎR>Y$‰îBs!/Ðe™iË }£õµIòfêÝÍôÜR.ì4ªíi¼a毑~îÌt‡ Ó»Éß L_3ã{¢iÃVHrµ.dTðMžä¹Ž±/³=¯úåãüÎE·BDðÇâQ¼º™8ÉPë áƒBÀÃ+~$‘òNb³I™9™±žn@]³™ ÷±^ kßÁÈÅcî÷³t"»]ÙÕFn2sCÂø”ƯÇ!~æ†)Þvæ™æ¤Ÿ÷u¾Z›\*ë€eKľó”~²ê¿&’aþÔ,—‰¬¬W Ñ`Lø÷©"ýqÅœ>QAF(‘W¥Ì­][Z$&g~*2´k]ä#? ŠUú"ü¹vêå`ÇÂLä[)!QeoþûcùàY¶ré¬n Á"É·3Cu0üw|ÄÍÂGE¢p|ë_Ò—;\^µfEô¿Â¥tXÓŒñ·p3+M>”Š~´Q³@¿(ð]­KKÌŸœ×‰#ŒÅwg*™4žÍ2wÞ:[6 CÉÓrqÕ£
+ v4(.÷¬ë™Òfú¸¨S»å32ÿÒ¡yÑ;\§³ÏåZÃ2z+ˆ€ßŸÜ5™¢["0£CõÂç¯ñ!1€ÞZÚÎ6…¼·=í‹’3{™âY2åzû%ëø„€9XÄÎxG˜‚„å¢ Û»¿¶Ô¬ÏæAi«Â±¥ [*Øã‡h2ÇN32Vß®
+T¥Up©‰rÉÎx¾­þív†*J¹@i$n{Üa©Î~Ì!ab&"ÆŸ@>= ¯,æÀ›\ƒ²¢w„æñíË:<aêú_µêF劃S ¤™Bäf¼ìŽ7ÇãŠöd¼ó82µ(wcZ¦påí"<®l
+ür3e‘:¾ÓªÆôpI¤×Ó–4¢Ä˜Ç(;Q%ÿ
+Ž¹›þvC¶Y¿¬. ÇCS"·Jè^»X…í,ÉÃ-»›š†{’øÈM¾]S“‰ƒSNϼ¤°Ÿi3œ8´Ë,
+x€fž¾/c-3½¡gÐäÖ/ÝêlÊóU¿Ø5¤uºÍmº }MXšŠ¥,›àî©gûhÄ&7. þ
+:;?º/}‹g(ɬ²5üÜŽ¾îÈ–ðG;tî Bþ©|‹ 9÷Ãe›œðÊðb?ýGö` Fœ¼8JîO¹¹â¿÷ôˆî1~Ïæìì‘çÆEÓñî>t[Í ÷_º¨Ï.†ÝÁÓþ> ㊮•oÿàŸãÀù"¼Wî…‚þ‘qÛ‘'M,Ã#ΕF Ò:Œcƒ®Ó¸Ô+-Í[r6öÀ×Sê:ß³ *ýô¡\æ±õÎr¯Ì/`¡?åò¥…íjm" GC?–É̬‘Ûdì]Û82ö'=MUÝ!¬
+Ý£Ïçìrê3_X“™QÀÅšˆ¿äP½Ø/Ïiö‚Ø+#´Mí¬˜Ç“öE– Œk0¼âï
+8C–VËjUP9KéXŒµG‚_—ñŠW8.›}é7æ­œê3
+æ8ÊJû×9§™JÖãòØN~¾ÙŠd¶JšJ ÞpØÿˆ`‚Ñ ½+¨]4Tns2¬Í˜ò¾gÉxjKÃGZ›ò7ë›:º„DmÓý\÷V%‚e#®­úÚa¹µF„ÅåÑn\V‚¼-‰ˆúf¸pr94ö‡ ÓdƒpÚbùáÔMuÏmv%iŽêz¾ÅÃWW|ë$ÿàXzØqAÏŽ©ÛŽ“JrP‚ÓëIl»Pâæîäs©N}9AI”‹²ö›41„eè5gaˆˆPv#â?‚Ø‘"ß®¿óãäs>Š3–­Û&D©GŒúÏEKÁ½þ^ã<í©½ýÑÙ!è¤öûOO“õÉí;hfg6õ ©ù2)ì%VÔ’‰6ˆö ¤!0>R R˜Ø u¾½0jžÆÁO}ó…Ýà'ÑåÙym¦f“áŒUéEù6ƒ%œò¬»{&Y€·°F >N_Áy—ìF§j®\Ën­Roc!”®üèXôf{Ó}ý8p–;¥·X8bX¸åA~ªP³ƒåÂÓÄt+.2@v^K˜ÔCûa|/u¡
+(—]3mN°Î4|ÙÛ,õ…Ÿbúm%ås{F-Nâ5·)¹ ýɤ5±ïÇïѶ»ù1M\‰‹?˜´þ¸¾¼_ôI·|Ælc¯ócuW·?Hž¬<žTt"Fið²m-ÿŠ@e®”ﬡ„Ù©°³Rj=LäÚî)=>,€.Þ}Áét3¥”qᦖÔÓ&NŒ$Iß%™iÃJ,A!°ÏŸv'¬“å# üa]ÀÙ@ø^bUli6 ÍXsÅšžlðYþS¥+ÀfÁSZª®¢S§fb‰Ó—~¦{A!Ã=PÃÏãøGh¾×˜ߟx$ÁÔ öˆ›iéÒZ?âäã‘‘«xñdØFÂÍ`ñ®ÂIˆxîXs{öÅQšç¦6ìJ+6ñvÆÑFöY 4’vËþËHÇ&‚)}â³g^ʇÚXÓÇýŸö;µ¥­)É ªéÁm^ð<ƒº™D3\ëÊd-)uUþ)Rì÷g<GBQbü¯­E|C„sÇID™ñ<ü9{ãÏyXžx,¿=O×°ª…/«aÂøËPˆ~NÁKiMOæ ˜“…’ƒÕ­=¸ØKýtb“#´ `n<?õW‡&scm¯)&Šž2”jÞÄ
+ Û:Dl›†n¨y F¤sŒíÆJ¥Sö¸©YHnËNP
+8iýg<9B¹›`=֠舃ô¦²4³o‘«²VFýÑ”„ö€ì(?ûKø»°6ôƦn<¥]%I]ü¯·<ÝRF²zèŒ%G8qär‘ ¼|›Åðm~øCà(¾Í·ÿ€Ÿo¥ÿ³zÁ»«Kå‰ó;Rˆ/oFrúÆ;3öOÓ´K˜¸Ö;‹P=þJ7Ì™ÍuÖ` 1 ÒlþåäøÍ×ðÎw;'Òo»pðÊBMm‡Ýv¥Ácצ¼‰Ó&Oú»ŸÕþ”k£Ü­ìsž‹‘à:ʾ„W㱕„Çé’è–ùg6\nn¤”ì¹"€vz®S¸‹nj“'¬ÝbÓˆ»Šî%!RNQšÎ¸|#ª;Œ3âçBægBQÎöi©ó*'US|p2FbRˆë`ºéÝ€ûïÍè K(é Ž¿¢/DL™Öeîâ;Ÿ B›þþ‚Sz'º²ATMrˆ»‚^Ò´‹¸¼„‚pÁozjýªœrLvX8乓§žM@ä“hªî-…co_dÀ¦ËY¹ôÏBºaxÔúÚN*I{g³–š©~oÈMVFÒÞœ’V$›KËÐ<íOvÞòv5}ÆyôªÖä6ö˜¡’«¹m¼Ú)9²´oƒ8ü×ð9Z7_E´¼Và7šî«Ò²‘…Æ`“ÚÈ ÕAê¼Ú?‚ ãÐ kÐy
+§Õlž$¶†¶²f¥° 䢭æM¢L÷ãçÖS¥D9 SJ,7 ìÜ<–ži»?Ãìn[¢-÷F’X]§#ø!½:•ÑVÑ°êù™æ?Ķ{÷Ƭjë*g«Ò/&éoçèK®”+9Ž$æ)‘26pTÏY»X
+
+QÃQ$wý>Ubï%>QšGîò§›‹Œ›â$Ã3Ôms2ô?1¾)álGß6ÁSÑá\(Šý0#<h2£ÌãŠRÊA÷4³•“ozjwKàêâÆôaz†Ö™c‹(ldÄ*`ÊC›‹Á÷ÚÖv«MQó‹“ ©p¶‚yel%’³”HV>\`qd®Šj †´„«OEü@à=4´×z}¨^´¯Û!…Êî'qA5}ᣌ„Œ8ƒ¾æzöÌÚhÃê7üW€­õI 3š ¥"#N®3ïÕä×òíï†ÃRƒ/Ï+7gl¾Ð‹5¬_ƒã&žóžB¦·¹±·¼¬éÒtñgïï
+`ÇÒ8I/ÀoxÉöó1x^‹é¯>¥ó«¢¶í­­Hò¿›š¨'ª­ƒÆ‘Á¾«ÈÓWíGTÒäÉëyP]tôñØÎc“(0긽Üå«
+é<øâ%ž¢¶zÛ«–ð˜lèm ÝóFŒm¯P£8Ú÷ÜÛÑ´YO>!‹yèu±Ù„Ô"§­ñAߧÃj+ûa›Í›ùÐ""¹m¤ žžêØ ebæxºu4ë²:?%:FxHœš”Íùg}Ъe2ô *úi׃ÌõEÈ ²ÃRȉïTAvÿiXð×Ùeá¢8ˆo,®UÒyT²¿*¥öÄÏN†<FžçÄÍ‘3˜^5C`¼ñÖ”~wœ:\8æW£‚ç aq7°£ŒòÜkRV±T÷”>Ìêfg™A)X+¸õhõýôS…`rl,s|¼Õ×(Ptq™’º_‰#è¤i‰gà;Š·=Âa¦Fa¾t¿vZË‚4T ¿“ðÆ ¡Å¸;Õ´œ‡ s;4öÿáéÿü?A`noi
+v9˜‚íþŸ Üendstream
endobj
1383 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 34
/LastChar 122
-/Widths 2934 0 R
-/BaseFont /PYXOFQ+NimbusMonL-ReguObli
+/Widths 2952 0 R
+/BaseFont /NANWXA+NimbusMonL-ReguObli
/FontDescriptor 1381 0 R
>> endobj
1381 0 obj <<
/Ascent 625
/CapHeight 557
/Descent -147
-/FontName /PYXOFQ+NimbusMonL-ReguObli
+/FontName /NANWXA+NimbusMonL-ReguObli
/ItalicAngle -12
/StemV 43
/XHeight 426
@@ -14697,7 +14872,7 @@ endobj
/CharSet (/quotedbl/numbersign/parenleft/parenright/plus/hyphen/period/slash/zero/four/six/colon/equal/B/C/D/E/F/I/K/L/N/O/R/S/T/W/Y/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 1382 0 R
>> endobj
-2934 0 obj
+2952 0 obj
[600 600 0 0 0 0 600 600 0 600 0 600 600 600 600 0 0 0 600 0 600 0 0 0 600 0 0 600 0 0 0 0 600 600 600 600 600 0 0 600 0 600 600 0 600 600 0 0 600 600 600 0 0 600 0 600 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
1307 0 obj <<
@@ -14708,98 +14883,90 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚ¬µcx¦]Ó%ÛfçŠm›ÛöÛ¶mÛ¤c;éضmwœô×÷óÌÌ;Çóͯ™÷Çy箪½jU­Ú{“+ªÐ ›ÚÅíí\虘x
-ŠZRò
-¨±ïõψØå®2ü¨ ehšæùj÷\:wø<”¦9íò¡ìM^ø’R÷¡nQtrÒ1ê—#f^hÄxß,Êî@hs0©íM*)ë—}@Nw²:ÁÜ<Sº`=9 ù™¤7Äcv¡4 ÕŸ_P$Ÿ>?QŽ õÞAöâÓæÅÃ’óºA RD8æá j«UyGÒ,gOÚ` ]0™÷Kq=bqlD0GðnU »û^cߟ*ªÀØ+ »^Z;yõ'Ïõà &uî6™QtßÿìüÄH¾q•>7 XgE9å÷(ÈÀB0[®Ž•r‹ŒÍí/ˆuûuòË·[¾‹""9ÆÒt)ÿ™“¢~æ Feƒ!'ð1o¬„rWãF†âÙÓŸÉ]Æ
-m"æ8եΟÌr³‹4<€2ê"&OÖ*E~¤2ßÒŸ]ºs'ᇪßWÿÄ’ÅDf¦çïšáÚ
-ùõkLÓ9U‚G”@,˜O®4™ÈúÑ]4xA«[OöôŸj|׺“Kƒ·9uMgÇ'Æ¢¸xÏg\¬³æÁ‚H*æˆ~™vË>_f™eZ,?)iƒrvÃ+†EoNmpè–$ãx>3®JÞkÂ#˜uý3âåVÆO™å‘3‹äš‚×ûÀDR‚袴­f$ÆqiéãTÙ$?b ;p>µ†9»Â•›bà´%‘5qÂ%áÑÄÖ2«Ã”FG¹ г~]@TŒØ¢£s½¢¯$fT½€ž4óÍØ 8¨šÜ—ì~¦­åÇ€î¸×,šùLK`·BÃó`t"
-iŒÊèñ¨¿ÀHvWïð®Õbsïßaà YY¤Ö¨$DìR®l †nð¡ÜŒ–Î4?’ØË\í$…‡ s›‘¹/£9ÀGßRq)P”"©WEG2´}±¥÷O?ÍåÎ\&ÚèH ÷@TøÁ³ $¼$}F"v‘½2Ók»švãCž|´mtØÁ_{kS¿±ùÉÓt\†fUïèÆý Õ—¥üµ+ ñó¹gá7ƒF½Ögî<zP‰—›*lßsžãtñVÞÉ5OQn J˜¿e6 «"…³ãnq)V‘\~=a›úK§Í·¨½w­6ÓßñDÌ×&[µWíý«/Ýt3‡ZÆ4‘Ão>KÛ¿S¾A„×¹ó5ß'-¡È” öy
->b–î”XÄFˆ˜©T¦f z8eÐãì´7ˆ: ÿ¢NÝÜï¿Ã…`HÌôÝ#«šà4Á_5Méˆl*'ÿctk-&
-ás>%] ïñX³@¹„YÂ;ù%tO¥Ïk ãÚ=N èÜ;# K“ç2¥ 8f[Xà«Ì²5Iú`uÔ¡°ü@h BΓàh8}¨PÞ©“ú¸c_Q‰z”†a·|ŸyÃ.4}+ e{ !øì¥{­ÿ¥„RJsKi?õ)ÐüCæ Ûå³›¨^Êÿî;x`²¶ÚýBT«ž5Q<l>özŽ¢µ8Å’ ¨¯Åo¿yyž29ª?þ#då"7‰UƒÐð‡œc
-Øè™Åµm¨Y°Ž2J•Ý|ûlv»YwìѾÔJ¶u ¾ç@4Æk¯³.—@Z÷xó·ˆí.U-¼ÁzIíP£oWú8C‘>¥ùì2ó—¶Y  YB”xl£§âþsÌ`ßGÝ 1+»|ѾG¦ ØÜ™>éãlâfvÜ“E-‰«¨èz mÖð¤R›¨’¾ûiFŒÍùœU¾@˜I£Ö”ƒ¹°-~ˆâ½yº̖Ђ¿[ïØFcqežúôôâ€IL(ü(õ¼åX¤à(nÿ8=7â.yJ€¸„¿ãUÇÞ¸½_ô¯£ÙÔÎó]û Qe¥‹Cçn°ŽÈÿtìGaϵÊd¹ÒsÀlë×äIh.*‰2/gl£+Ädûeèù£¸ÀZ Û¶ÑÌT&çÄæÁO(úS™•L~úQÈ`ÜÍÛÐ
-›ò¡ƒmË™_™f­]–¨Ï´Ôqa/È£Æv9”´ó¸*`g€ih<+¯Ÿp¦€;”7ç#—ÛpiD¢m*<òðųÛì”"¿áÒ_7Ù6uȾ΄îÃõA¦ývé
-² ÎÄ€’u柳àÐ<ûfB'£Ù£¢”¤HO†rÚ÷C ×ù
-æªdM·Fe’aR øÁ÷^¢ RG"¬÷y
-ƒùi”ýûóÃRøyµ!|ƒnq/—ŒcCÓúØú›L%ôQìäV¡DÌèU¼@û²¼G—\á—3áLÜÈ1\
-.ýjŒªãh<×ä»ÂFk‰Äºl¦Ù‰F`´ëW$
-rW;Åö(½2¤&F…Õ|n@€Œ{æ³´,¶Ê©Ú¯´d”,Ü¢d6d£ÊØGå6W\MýDü+;v›ÃAÓ2R†™f8u±Õ^tÞã³¥å¡O‰ðtæ
-’¾Û4»®¸ =I1axyÂÒZШ\_Ï$ƒ,í!ü¡]ß
-oÖ"ÊŠŠ¦/%C˜à«$7ö]jùN b s>~´|Õm›\e*¾ÜhÐ9@ml Êar‘`˜éßñöèÇâËß—Qm–]7”ž·±jeÊïÈÚ½©:ˆ9ÚûÜ=Ü«§¹MkÆ÷ê÷v·c£ÃD¾Ž_a—¶«ÀÑq—Ðl×Ôï*o¶ÿ‚•IO½”æŸÕ¬”š~µÛ=HÊQ<‰  QfµŽ¥Óó|ùŽ´jîéàh\¸ Xj~#\ø¥ðG\ÆV
-Îî_á)ÇÙÖþ£i‹ä)Z< 6ÍŸLöߧ
-fÍ沜k"eá2„_×E‚ÊRוãÌ^eMW§ÿ‰Á‚ie¾1×(p!‡Ò‹© éeGu01æ1qözcž$ÈòÐJ±©ò•6¼t,‘ÍÆlb¯k…
-"ØÁ晨‘*³4)Þyjø Ž¾(U²G.±óÑŸ,ãVï®qÆPôÿö­êbâú³[+Ä]ΑíCñsy$¨º ¬[ÚF¯SŇœ³Õ ÇŽÜÊ÷‹ñ™„ÕKª_¾lRN_ûÛ€áG›5)J”i<{ò’ÎÀ.Ú¡|ÌýÔ{Ńôä1gÌ!jíèŽhàŠrF\ÿ ª*t ¹wõ†ÎûŒÅA;™ 
-1
-¸‹oƒë°þÉ0>€Á{éÛÎÖ‘NÄe­(ˆ…OÙ( V#èÖPk•§p1UAÒû£©UJØk¬§5#ø1Lèy?ø©QIÔÁð¡+qbÙC¤k\ö½øá~Û@ì:7“` O亱FÖfåDÎõ³ä2Ã'¼©¬Ô3€w/ÇÙ!Ïq˜ïR´ë<›ù1ù$5'ÿu`ƒÌûõý„oOc¬h~TÉ5ë̯ë' yd’¾f½–¨˜îÃ\uI[¤Ý…8ݺ®ã0€ýÌóÎÿSO*ù‰:Gæ"%<LŽ}b0Áà_Ö²N Æh!CÑg‹@"c–cß÷ðy²ÅÓOûèr%ðUÒ6kGº¥ø!(ûĆc2Iúñç°~ø«VnMÃÍUeøŠe·`Uú~Ÿýk&¨]õÀÞ‚NÊùfÅ¡"ð‹ó²¾7®_¸+ñ!EÝZ…Nì_«ÍsÅ‘‰æéH„ì&FÎÅmßÔÈ8\É©·”§o;‘“dõ©ùÓ”-6ë,o[]×sëGÂ3Áõä-¸+n÷#€¨)ÄNÙ¦,RÏ’RY~œM*Œ0%\&RÞÖ äÑðçsë€á/Ö3d¶.5šò_츨À©ë¬QŸ-¾y¥†ø¼±fo3m Ê]N¸c :§°Þ·¨7¡wùùµ~†Öøí¤oi¦.O0Éœ d~¨#¾ÜìHª;>–¡u—F±Ká&Ý¢LŸ÷æßØ6º"þȸ5Ü·ÏiMð¾ì©ïø½êPÀŽ+ÓX>ƒ>@}ð¼ÛŸ~nŽÔ?ú|@|#åñ/ :hÓ˜Ñ *lHW·á× µ[™H E¯õyø?³ÎÐÒZ T—Ú¶”‚f ç
-Øb8Gü7®æìG·¯¨–mS€E…¨v·pQj- û"–,åêTNØu^{{Èb؆£&-3Vv= ¨£ÚŒ9ª+¢ò‰´HB<.ÑirFØ0³â?'º8+Éâ$
-»™VzùâFoP>e ÙÉveÀ¥Dk.ÇéÚ:SÞ»”RèÂÕ·ÆdPu]FÆû/ËßÁØA§ía ÈVP>抖påL7K°»Ÿ2@ÏN®cÕ®ûéäÓ4ߥ//û¿Ò’Û²‚!k⣇€§™.Ú_9®òR’ Nf …ž@4#Q™ÒPYg× ':UxA&êÃçþfžõª0l·)!À
-•G
-)»˜È%–Ôž¨)U¦ ×4Ô /Ö¶ÿ>·€´¸vN&頋Ê·RÂvqLÇÚîŸ (èF¡àVš&ˆ˜®ÅöøPÅbò|GhL_Åï(ãÒVÐ!CÑÌ­ÿÞ1ð¢v¡ûE|wÊrŸZq„7ô"R£E'̇â8j\›K/V(¨Íé>hóý‚®sc®çň–ù5RVm“v¤ â)ðò™YÎQ¦4zîûrO;\-!=p‡cú’ã8ùHËqvk"ýn¯õµÏKC
-yCã»8”q¾¢˜]ŒøuA  c=±¾iœ·ÏQæVûÏHID©tK©¼”¬:ËïF}²3âæÆÔÙÍA2¡úí·­Y›Zåî§
-ÁpttoCì×ýsYÌ“é®22ϳzVólG/kîÛÜ•2Ô½kèTr‰fÇ?rýƒ;©S‚¬Rú
-–¸É€ÌaŒ·aþ`~©·“(Ë>’êsKA'°MÞÈñr/ía™×»ãýÝ ¹xKz5]d3÷BjGAjh¸¾ B kÀî¤Y‹v9§¢7XQ6Aë¢u¼ø†U¿íÖÒ<ȵfm<ŸmŠU¬Û ó@Бë7¹žè¹ÁLv2¸è[QÂùZuŽS»ÅÝhíPˆð=ÄéyÒ\‰9d¾ÞŲ£CÈÂUnÄXÓ2Æâ3³­i³Ë37ÙÒƧS‰1–¬jë_”îX”*õÚ­ßi³:,Ú¥ô1¯2íyÞÞ¢ãW˜<ºä†‰g~¥a%†¸zc!ÄÆnUÉ
-p@ÿˆ/àWŸÌ:ö%•z“i>~DaC,¼5E!©>n‰X°Ž$¹
-7MSÂæ²ü"Æ©Qå#½ÄXÏŸ8ºo"$JÅÿ S´æv4¥"<šÄYY¶ ‹£¹‰C£ $>zá°9 ’0—~˜\B,ŽWŠÝÛ}=o°kU»ÈÁá Š|:Éìϲ·%ãüchp4:rE¿KwcfFäP›¨a;hÄq¹Ó©†·?ÄÄŠÓÞ! sI¸ÕE3ßL1<¥ÖDÙL†W;ôÖ—,„öL×L®w è[¹E>ÈÒ&AçܽŸ#Ðé*-ˆN!§jú|=¤1°%=Š2T6°çŒÞÞ6O ûÐ_Î?'Om;¥ÌúÄ@ÑÌ…Èæ€ÐÒcnÀ¢N2²„èK3>š»ˆ |e5 ÖÞ¯µø÷²ß‡O#Ã7*f%Ï¡ÏàCÆ%AÜx-YÝ©Ä <m2C*ðü‚ñ:}} »DÙãIܤ&!Ô¸:£šÁ=̇ƒWã±b±K´ðœÎQÏ)étáÁ«Úz¿Â`‘¤l=f"«%Dˆ(È^ãz!6IvCt·Ô£3ƒb—wºfŠ{{¾Ç¤8øÖ ò-$)=>¿º3ímÌ[ü‰÷,ePÿdž¥êl6ÇÇ=­°ü¬bù­ =4ù¦/eQ Bã«)$ˆ]’¥…Õ
- ØÌ0
- ¾xú‹‹'ù!w©zÒç糚‹ßÜ£úp ц›]Gd?ýÔS 94·¥ 繘z¦’2yþª~§n½³Ij¯ÄlHó‚)Y¡qQŸûµì•í&ƒ
-lŸ,~üö,€e*›$é/?èÜCØEZ\ç4¹@OT ØMX©€/¸hÙN§hÔ½ ¹ì6Iñu%2‘°2‘?²ýß(-YaÈ{¦ 5ÇëÆíM^CÖ¡¾Ó ¿BiSt05°6è]—®ÿsoýÝa(f‹\¥ßQÝ
-«ˆÖÆ#ܦ2ÂwÙ·èà`Vº'¦A¯÷&º$ú‹«…‚í- `a1Ø#†“‚´.õ€ßìR+`•÷aMžËÓ`ÒTyð³Fµ°¿#æCšhû]|g¯ûe`¶ºu¸MÌ}†ª L•Ï,[¡õŠσýJýsŽÁ‘;ƒü2Bö£wéAð%øY\ßq‹Jî;:. yhòö4nܦ—Î$-—¾a¥Ì§õ
-w!æÃ׶¿ã—rœ††l¼-Ú7 9\LÄŃèÑp.
-°QKÍÀE`5ŒÑ£uùãî¼Q…ë,=°¿‘T«Z¼~* cävªa6YrEF¼ã¨-r_¯ÎEz"‘vÜL|g1þì-e²„²ÿfÏeSܪÏ?ûhƒ»zŒjô—/ݸ݇iïÎÂYèj_ל9«|×Fçæ&­–´æª"_È~¶·wÜu"Ôõàj!ôÛiE8D„¶‡{Á&é íÄ ˘EL}ýlKßO²¤¬Ìʳz%?-ç©ÜÑÍé´Wô˼Y.¤J(ý§„·âQ‹V=ÞÉÿ¾u .%™žZÚw^]“è*A≤X¹Hä+fŸw:+MÖïÇ3
-qûy4.¯ýàØí lA„©šô$rå5gNJ—ùHÁ(qÖ¦„,
-ù´üUlNÔùb)——…!­|Âaâ%2 z+:ôï©c­{ÿ©c±ª©<NN›®•”4MîÝÁC,ÃS$8<zÌ°1ý¡æ.ÅxÓîÎ7tJ–@_A»a­Ú_9):7âhÖ>µ »| ïÜ©"HüªÔ`×´çœïùåíǾþòÉéèeõ4o¶8®&òlÑÕ*’X#j@(¨Ê”%±W¿'
-KXç’Wé&•~12ÎÝã L–D$»3Yãg6ÄBóÛR á4<äÏê½Q;¤n´àÅ4òµÖ×g@I-û’¥>~¬è»®çfÖÑ8%TO^9Ѭ:üùFÞ—å–W!¢òãzëþ2™Ä](¿"0ï é·%°Õ,œ¼Qª#`ùN:üó)ê ¯B "†ðìƒAAéóàö£ÒëI-9­<ÅFBÌîtäÅÏ ùµi ª7<iK
-› ùâ”=ÏŸ0ÙöYñ›ú·Ï÷ˆ&Úœ|,RãRÇÒâ°˜lqv<Ÿß™½«¦²Ù›±™&bÆ7Ëáfy“Ûõ·SH2·èµ|KÃêâ
-p¡à/`ëô_¶÷ܶ¤HðeŸú¤ÀFëì|îåNÀRÍ,u !¸‹Á9GÙ.mrãö~ÅáÃËg€G´íl
-ùŸºë8ÁŒö$Ù" )a¦2oA®ìR—©÷d£)â£$jk RÛx¿SIô‹NZERÔÒ9lÕŠH¬­‹úýØo§^À’Ú°4™öü –õ{û¹Q«lKCà3#H½tèåtk™ÉöÎγh~#"ã?3nú›þÁeº£ðcñ‰‚êú®ƒ{kYãp×”fÓ%F#Âó¼æònË…•F«¼I±R܈™t‡V³EèóUÖÄÚ;À«ÃwS…+ðl§z…dºÕ<îkèºe¨çÿ+Jú¥àOOíùOH}oÛR¬^ðu… U‹;sXÇ.ÐMSl³Mr¹¼ŒcÓÁåéc ÄŸôånçv§Î—†Èˆ—YX²9¤¾óñƒ=T¢àvá´4 q㓈è=9•¨» 93œãb¸ùAñj—égê÷=£ë.èIÂ^¨Ù;Ý¿Š‡¤2Ö. ±ôŽ•.ÌÒNÅ
-E‡Ùò—N› û1ÀÐãù'T‹¥þÀsv H—ÎbOr"·fFCxFÝ&oæ3–7™ /X‡xdûùbLwóG¿·»øVòI%>âjã—„;kOݼ‡ÙÞX‚JÓ'LôBç0
-˜pþ¨; …³Y¸wm—çƒ
-|DãEÅßÓ·&¤
-›·¢Oý½Õ¿Õ«ïÅ3ZÉéHz8ÜNÝ8Tý-°ù#Q5Ür¢Ï}1ÇÂUú]­æY†Ôáš7 ‘І[M\ìûŠšˆE»°e•uf5_j<,†poËA(·ã-Ð3otkHuÔ©ëKÖ xÕæ„ÍLbY—µ˜æ°íXãª.jE¥ ˜µâkPIMù¾)†ôG+±qôy?ïMÈÏ75r_ëdJ_¨}RÖ²ZëÁ pç ­ËCS{™ »Q¼ñ³ì4bV[ X´é0+?’à€Ó™=q2 §ñýBž¦I·ÎÀ«Ä,îfiô©t*‚ÑZ•[—eç:š´"üï 8¥Ä,{„Aw¶JIi—9´Š¿®„ƒ^u˜ ”µEs¢²ØK#Ä67ž®+ôʤРôÔF"ô <0óô%Ôè‚9MOË$e“a‰³uщÓwNÏ +‰Ôs§Xt£Z»|¨†]°v)‰ù«6…ºpî[×îCeÙÑA¶ÃD³×¼Ø#ý5NÚû7ŠJœ#5WŸå)Ä·Š¥Š³X¬¢
-‡ó;\u®ØAäcð0?Š“ ™už †»ÒJn÷d ßyìv‡}ƒLcreá7‘sˆÝUÙVá— Æ^!÷`vNaYŒ‰c»å?¶æÐã§øY5éàÄ85~·Û)MÌEƒÆS‰ë?ZB¾^… Ì˜‡£…_Õ4ÆÜ›uKyë¾a7¦ÝÏÙ“íoVø»K>ˆ>¥8¨µ{G4iÒÖÚç©Œó<­ñ‚“z1,ב=€•nR"™ÖÐ oý¥…p—°çfØ™}­I«…ölÒ{ºæÿ²Óó”kAø„£ ¢öîO2¾pÐÛBÏíÜYsAEM5"»Àqa¯“;@¼$„K¯æ\„xÅæóÑa&6¦Á[¸.CÁÌÞrï½Eg¥M¦á®g±ðÎûg¦–‹…qe­ÝiS-i ¯ÖMípým¿ô³E&È,ù§ÊB ú³ÔÛ+†“AÚ…úH‘¹Á(sù]:‹ îO!Û­Ù‘ÊÓ…²Wüd3p³Ò;D¢!²¼t »lÃö B|*ÐX¯Â/ÌX€ÂLFF
-1¼67•x(¼M°€S~ÑëΠtLÙyúì¦æ^+Ôp&€WHÌp)ýÀ>ƒ,œa&šó2pÕ{PZ;Z«ò”fýùdë3Q€sgß,±f·O#2‹@-uÄD§)ëf â© †õ iúâùGû2¿|†×°‰ŽFÇ$=Nqdžcø`#°°¤O¿õH+é† ßBÏH?|z)¢Nj_¦µ]î-F¦·ÄÃr×ç 8ÃN{±›@¯ÊfÙLÍטݱk|zˆS–ïèÍ•r®ìÎV½×–eø,÷k{NÌÁsN_¶8²™©‰æ Εg-<ó„ŸI^ë³»Êþ}±É¼Dý@”l©uŠ‰;õ† Ts ‡E›„;ÐfG n8EwG7
-³ Ö4=åoP "‹‘¡
-QªB¹„õj›ˆS¢‹ŠÝˆju&ßXôü•`þ9¸2µ×êwÛâ.®ŠR®y‘Ý7¡­™týÅÝßÆÒw·8“&£®H”¶•Ôpu…SN>KªS‚
-
-fêâÒ¡m·kê#ŽUDŠéw¿qüBqÁý  Bõ®5ÅN•Ïh Í_ûÞ¨ûEÁ¡ÍÃÒ†0ŽÝ^"X”•[ÍÛw“YýROÁ_ÃÅãµ6òæOõ3õ+ð\ÇTSNð¥èàˆ™™«œ3õþVìIœ­™Ÿ_Ÿ™TÑ$sË:¥–:·!
-B“ÄФ1˧(H|kPˆ¶¬ðb¥_B”+" 3Ö¨ôž•ÖA]Ž¿œpï–šuhÄêÕàèÎJW,ö)‘ÊÅ •ÑTèáKT©3ƒY,‰k{ƒxÕ>?姶AéíõŒx3Ö‰.°GéQcRýƒ­Ž@¥£9‰Jû2%¬ Gær¥’SZÿ>à~ï…%^ ÆÒ¯¿¯1{y>Õ°é¬ÚŽ‘]%¥©†`áDÛ¿ÕºtÏe1ÎÁ„A|–ƒ· ©@á2îË5æEìF´Y› BVðSY¾ÖÏÒJú·-¬Wn=EZhÓQµÜ)\–,±s]¦õ­Áá|¯Jð}ªFöøýÐáB“Ápüú„|[´®9zøÓ#V±Ô…òAóóá=½¢€Êxé8wùد9¡†
-”1àå’E˜—-Gry^+)ËYœbˆWeÜh›ë/ÜfOU9Ž^M4Ã@òçtÿ—­+ÚBLÊ®†¶‰x€›ë¶ðò!I?èaý“`ÍQã§ÚšÑŽã&”è ‚•~¾;‚²ZÒHÎY¼É!½“ðâS»™O0˜Nˆóœ58þ%ïÆ”DGÉr?6N6¥%yÑ žÆ§Ðú û·çSáî„ù’ßµ§ìúe=°)ãDìKj}Óå  ¤¾÷E¥;‘³u26E63%Öp*ßÑd5%ˆú¤rU
-a}‘ªòÄÅ R`òiäÄÝVê[}´7âh™8ðÒ~ÒýššK™™,YÙ =ÜéñkñðÓ!,¹À=ŽáÄC§­Ò~(eO¯?ï‰~]’ˆ2¨è [_3²§Ÿ ”§ì4·X‡€tmJ¿<ymx–2lŒ ì¨ìîï¶q‚¿¯ûQÓòc{ªÁ—·2Æîx’ônv —Ë8þ€ia³Í\º'«wÔŽ… G(ÔQ*Ç™(e¼¾ïJÒñÑs7«òët•kz VmăjöP{»žð‹Y»Æd8g}h\/£Õ‘ƒ=1ÿÒÔwR+Š}çªbï ˵×Å£V©âÞ×Ùã‡-“cü.¸—éM°CÒU]mM%~]e2£~é•e#LÕº•¾\ñX·r>ßK¾Ÿ‡ÿ°¨ªjÕç7Iz‘Fo_ÊW Poòê®Z²åsþ­W58Û\õjÊã¨ù4÷¸‹Ÿ"¨?Ì•ÈiÔcQ6fè•÷DMpžÞ$š PR¤I4¯o»_Œ: Õ¬­U~™x`/ˆø£•XŒPGYCX´Ìsd°|2*€!ý õN$`Š,9§˜xá^(!
-^‡tËûú5;À»d¿IÁ>ᕾ]s#•>ˆ5©¾Q„©L
-q~x•Ù;æÁö}I-‹JuíĶ—’ fÉÖ:ÚÜý©nÅΔ„?þ¹¶B w*jÁ¨Ñt*æ—=IRôk• ?¾ó#×…°¢qã*Sʺï·á ™3Ær·"dâÙ6Œv‰—i'ݳҤ¨èêWz@tè’„È*›yõjhÌæ‚!_Õ†[`ˆ.JÕ-²7­=zùáÖQ«K9Idš ë–½á§Öë
-Uxð7û"Ù‡þ佸¹åv>õn-EönËÖÀw¢òRºêÁXxˆ{øX""LBlkC¿3Þ;‹Ç»ãIgTt‹Î³ø*¿åZöƒÈ€š;‚¡ £‚gáfO«"#”`ÿw«_K.2H—xÂV¥þÓ ‡«„,u"ÉŸÄ“˜Èiçýé…È×hÿ
-
--5`eï9s­‘ÝJ¤Ù²×Þoå=È~×£–/Šž?H_xÓaB}³^–ò¶#Åwö;.DYyÈ[Zcèß)òwÖîB“á@ŽÝŸ—<YQ'¤ÂØðŒOÕ ¹Ǫ́&²å¥\‡ ùÐË­Ügz“¼L¹9è@¢<4•dUÅ´íÛËM¢ä|+ëIƒÝª“ñÎ/ßÎ b
- OMš¸à èû´ÐΔ-ˆ
-€lË•”ÊqÊ«©¥„ü'Ê4a©l%;=%H¯ùípÙ‡0A/iCÖ%×$ö2‹K8¦UÛç{=K›¨habÇ|„ÐHjñŠ>»õ,zVT[Ÿ :!Û©tWŒ_”ûS‡m´÷K{~w¾ ¥ôÌÚ¸¸)|P6’7¸zqºU_&8C™@<ºÂ¢ÇÏÅ; Üy<ȇ'ãÉümà GËX¾”À™ƒi6f(h}ô—/Å3ØpÕSp*7†nà¥I9ÖªŽqs_^’¯Á ä¤è/Êûk–Š›ž´;s &úÁ÷(^8T:/=Ì%X*x‘„'lSÎü1ðìÎ% EddM(Bxº<(c—/~Û‘²Œò+ѽ–æÐ4£$Åz{Žª[zdMÍÓßs%ôB“ï´ª ,¯LIJ[ÓYþ?%çÓ¿ûÛP{3i
-ºQ]­¼Ï°Ä ÿF&}3=ö{XcÝòÕ(Ú/Ì æ낇…°««á†‰’W·j&WF‘j~xù]³ó©P;hbtuÛcŠõK$œ±CUFÊ1"b#~Tˆô¡Ãæõa`î¶×Ž[æAi¿s¤ÿ‚C…‡
-öÓê¶â ÔDÇÝ4Vã]ÉgÆÞx9EYÄ_œŸ^š³©ö ååÅ,Úûac ïÀ™(—öbrc_ð4šk»mý™Ö2¸_DöÏX«½\qÃg»ÐPØ=hßÆRªô4)H›0¬˜>¶a5f.âróSz$¶ìߤ6®‡gIúÙ·Ó³}0°:f¹™X¼:Á2õ-ä K+]§HÄRª¦*Á‰ILÃ’±RqE'–¯§z—ûTÏeÓú¸™SÀµ( ¾ 7é?Ñ™^9K¤Éõ6[ÇZ—ùBòb½Ù¸‰£ÕË9š Y¥9—?é*sɼ½ór0Œ‡‰>)‰Õµî?m¹«MK±³BT{
-¶ UU—fö  Êê»ë²¼ÄJ¨„ÞË“ û|—ö7É,ž„äœE“ÇYF$—IžÞ¼úòwcí”~ÄÈû¾§S7n­éâ`¤ªøÉ¢V6ÏÎLŸÐTûÏ<'³Ì%­=•xº9œ7 àQÜv…e©H«Ýi:½!Xî@ø@wÅ…í·h©úå_t1–Ñq³Ç¡qÚZXT?G'¶‡ËÒÛ ´ö¶á—241ο/J¶šDôE‚Ü÷1#æ G°úÌ™/qýlf bTjŠ[:u°Lå:z«¸‹Íì?Ì˧zx¥­¡"röwl¥|ŠÆKiÈAâJ‰ì™Ê#V¿EZµØA8\jÀ#_Ð'÷Eܱћˆ—dËÂ`ÏúÏ1PŠt~kGnZÖjoCm…AgÚ©’ð7Â/\¥ZiAñ#þ¼ÉIý€e–²p5nNè ëU´˜‡'ßú¨ïà ïÁ$Äዤ¾mLñEÔ½fTšÇÒµŽ>,Jý~0'Ü/¬Ç îJmoœc¿ôÖ„Ä{‘ýíªy·EÊNÈbßC_uLªÞm_|ÁýÂLJt¢¯€ýlÕAŠ
-.Ù'ìJï¿ŒMTž'Åç€Ùª‘ô)ÛYè/8Á¯7††E¹/¯”ö-Úàgt½
-˜äè86Ù3h~2ÌïÅ.² À$©ÓPKø4JD”ÚYlG&:r&ïN÷â+?¯)„ý‘»{&æÍùÏ °gs™;£“…dIdÝi T…véíåÏ#<WÚ„ÃQÿ+KNu~½¹3NýsZÊ}‘ʬ0õÆœ­<œ
-¢þ}Æ“
-ÁaõZva¾ï …m_›!(òF¢mõRÛÒ¥`ÑŠ°5õL½ ~wzD¡ÌšÔÙ–§>–OѼo²U´UqþZ'ý:»úìãõ_lÐÙ*z"¥œá8’²ÒZ³9N>¯d"ê\Ö÷>CrÅ/™Ó²dS2>{ëKKâF£°˜ž‰“˜QZ^!PïD·rr+¹:ØöûÓW©æsýíÌù? 
-ݨ¤v”½j³N­žÅ¥Nl£.1†º–¼N.‡ä-01€#òê®ÎJy vw›ôXl1‰pU§ lca{~±§j‚ é[ü!†Qu¡ŒÔ>ol´Ü°ÀùÉÜ­–ùÍ[Vm ÂŒ®Åf5ÔåØÍÆ'„¨3]ºˆÍiÍÿæ‹/f¥W¨:¬®öNA¦H…¹Š^“¹cY¿»zk6[ALBG«D|Ë #‘ÿØi¢bƒž$¼Ï ºÄíì`ÙHÜËb7ÞäèLîÎ-Ÿno(»BpšÞ¤€¹¶…¹ap¢lsµìÃsÛqUúu ŠºMe¡3£(TÜ€zôpï5%i¾!5ÊAÖêîšê•
-dXu±WSˆ€!„Bmú=r @H²Ÿ^׌ôÑp8šm–y:Éþí 1nˆ×ð\Fä@»T% $$û€ŸY0õHU /ÉM zå[
-S¬""t¡c^€½?ïêZµŒàÈî—â‡7’ˆÁ?•yayºa$»ò÷‚Ÿ@ÑáL‡®KÅ‘ì~óoÚI5ý”jÅØ“ôôŽ³Ûwn€¬È§ãw›[Êá4ToýzUð¨¡ÈتÇG*ÁòqÜ%½vV¦ˆ%¦ Ã;¡É”>õ&qPì{°°,ƒ Ѹ\6‡ÃW¼> ñ†¬=e•¦ÌÛˆ·Ðú<Tvä[ÅÔ:w“0 G칶L¹]~f¾ñ-€3ªÿX
-ô ’¼S¡?×æ‘ôÕYZs}`Ì“eŒ»’¦Ÿ˜Aíþºd‘.óR•¼ID*þ!üõDcrH›¯‚—Ióò¸’ ì%µìW/šhÖiHiѱò-ÏiÿHÔñŽví›îG÷É‹0¾#¥hkž¥¤w}éjï²±üæWöû󬢄„ÅÅc“ôz °Ohè>2Ïžæ“Ä”J 9›AýréÃ/—He™‡!ÝyþæwªÇ,7&-Ýî1
-³Ý*ÃÚb\íýÀ,Á ~&[Ž×ýZD@FIßÊÛGm*í袇ԭ}Ô ?›×­ÝNé‚Üá,lùÃÙÌ«¨A±¡¤è´(×Öˆ¬s"¢Ù~ï1Ÿ
-á&¬ýGÍ3Ó"Ye«¢;šâƒ±K Õ²þ@:¹©á…Ü5ë|å4G \“s*q\©œ '<7íf$0 àF8w€Ú‰ëÿÁÿDà
+xÚ¬µcx¦]Ó%Ûv®Ø¶Ù±m_±mÛ¶ÝI:¶“Ží¤cul»¿¾ŸgfÞ9žo~ͼ?Îã8wUíU«jÕÞ›‚DI•AÄÌÁ(á`ïÊÀÂÈÌ P°²3qs‘w°—cu°5ü5rÀQPˆ9]­ìÅ]¼
+`e°ðððÀQ
+ôtý'— `fåâhkìõ7÷_0Gg«Ñps±²·ø/ô
+ĬsÍXŸë%¹Nfß{SÊ*åP„3]lÎ0×Ï4dîÅäOŽHþ¦ ˜Ý(Í hõ%gç”)'ÏOTCã£#Ã}·‡øtù °|1NùøB:êÕ>Q´ËGÙS¶XÂçÌ}#ÒÜXœ‘,‘|[Õ#~WØw'Š„ªð£Ê#$n6ÎÞÁ)óýxCÉ]ûAÍæ”=$w?º>1$S®ÝdÎ ÖÙPN< 3±ÌWêGâ¤Ý£âò
+ã@]á~?ÅñïVìÁ¢ˆJM†³„‚ô_G)|æ¦jœ:ªSÛbÈ ~,˜(£ÜÖº“£xõdñÔ¤3ÂW¢säbÖûº.Ÿ†Ç“Xœ¡f-TûnÝö†hRâ/2z}•wKª{ ?…†|ëþ÷(¦¤I{Ôħjäß{ôb²4ªR{È2Ý· 5ꮋ®¥o ¼WÐÂÜöš¢ª
+¡s,ÀñÙ燨×qZðoñS-Ýì…|­7€°4\±uhò2â·t–û
+C…Cmkj"úðÝãûò? ¤L›_LM‘>¨J£M&ÂÃ¥¹Ö›Bnv“EREŸÇæ« ÀZ§*ŒVXpÈqí$~Wóÿ˜\¶œÌÊòz¬©«TX¿Â4›÷T#x0E òÄ‚ùäNÕœjÛEƒ²¾ñâÈø¡Î¥7µ<t“[ß|šytl"†‹÷|ÊÍ6g"„¤jèŸe¿âûežU~¤ÍúƒŠö!8—q7¢rDìúøÁ‡~Y*ž÷3ó²ô½6"’E/ 3A~uâ„E9«X¾9y½L45˜>ZÇú~Vr—Ž!^Qê#®¨çS{„«;B¥9NG
+Y 'B
+MüWVM¸òØšSöÏsˆÊQ;ôà#tîWôÕd°±ÌêÐãFþY[G5Ó»ÒÝÏtãâ_± ;!µK°æ¾3’ØmÐð¼]ˆÂ:c
+Fú¼ªF&/0R=5;|¿ê°yöo1ð„­-ÓkÕG#w©V·‡Â6 ùQ®ÇÊæ [Hd/w’#B G8MÌÉ=VÐácn¨¹)Ë4j†c¢ Û?áØ3fž¾òçƒG/’Am eDz!*ýáY‘’áÞR¾£Q»ÈÞYuÝÍ» ¡O¾:¶ºà¯}uiß¾Øýh;/²kvôâ¿“ÈQýÜÔ¼ýܳôŸE£ùÕ gá2vP…——&âÐ{–ë|þVÑŽ@YaJX°e>(§*³ãay!^™Rq5i—öS·Ý¯¸£ïW]V€Ó±¸ŸmŽZŸúûW†Ùf. ´¬%h§ÿB¶N@—B£(ŸK×koZb±3ìó ÊÝâO±‚cõ®wíë¨F9j,¡dÇ*¹´ dà Ã:ôgý½oZúi`Gg|e¶þȯ Ë eX:?æ˜ö•~#3úºéµã<;‘ƒð35&EAžmJ–á6;©Aæ‘;î '’#ÊoÛD]Ñ,À£’}¿wá<˜?&HA%VÅGŒÇÒ›Ü7³„ÊÒjE 
+~˜›ñÑ $¡ØAÔ­Ÿü;\F$Ìß<³kNÔÒ5‘~“Oç|ŒmýŠFøãR@E_Êw4Þ"X!ižøNqÝ[åûÄôë'ˆ
+}ìD"`ž,èÛ˜AfU·oÚà·¨TÛ[³'œM£L²Î;òèeñ UU=O¤­ÃZÞ4@Z3uò7­ÈñyßÓªsÔÚR0’ö¥1¼7/‚¹R:ðw›@»Œbâ¬ßÞ>0éÀ©ßŠ‚ß˼n8—¨9KÚ$>NÎŒyJŸ¡ÀE/àoGÂù4°·#îoî–êi7uòý~ý€¨¶Öá÷0\‹@x:ò§tà^c¶Zí=`±óoö"´“BY7±ÕLf¶û2HöþQZd«‚mßha.—wf÷ û¡ÂF®0ó l8áîcä
+…Mußɾå" Bû«CŽ¸ß¬Ìqq/سÖn%Œƒ´û°&è
+ÉFl§?Xº„×Jf€^."+«^öyvðKÛú x¬/|äô0“Ëm¡Ù¹ê”_f[5·Î®?°UÄظ‰÷­CÕ*a…Ç.ð™¢5I^Yko(mOq†!<]ÖÏÐÖFßôd„š@SÜuýÒ¸íÝ7$PâÀ¹ƒßZ<RÕîÜ7†vzC3¡,oÁbø§¾˜¢æ\o, fôüÇ7û5Ž_‡Ý7í¼ »'h³P{Ê@sn­½»éõ@‘åe¹}Ø£<WõÁO’XÁñö7ÇbUd¶äFÛqÊn—ú ¯E‘¯ÊX*IÈÎØTØ„èûòÚÇÂ%N…Y~ÖÑþÀhYú„áÄ*bÂéyê\’/ Ñh¾öc¥æÒÑãÖŸÇ”áÓ#MôI+þ˜gÎs[¸1—±9¥ú™×„¢[8|×úÍí%÷ÊJ÷ŒÐÍUÿᙨ‰ã=¹di‘¸Ô8L5]£°+<õóî Þì+Ö •‚C´áõ…fiMŽþ<!}>ÖÆHJré|·ï•ó’’*Lö‡]KÈ®wÛ'7/š
+“OÆèïb”£»$„ß#´ï_åË^BYUÕò£b z•âÁ¾M«Ø)E r)àÆÀQ¨¾i—¯J× >¨F;.@.Œ
+œ¹Ëì™J‘Œ?±¸Â0í ,×fƒš¥‚®Pú±•´a¨ Ž¦&¼/N"Þo,SÙžÚ©¶ Õ~2FN¥r¹#˜Íõm€o¬æCðfÓT…ÉPé¾IÁ~#ˆ)oÛå´\s=QÕ â/=¤4{ PÎ`ÏYuJN•¼JÄ/à
+%¦j ý–Ïy´c땘ï,ÅàŠ3ž“þc3c$a²…{s†¶Ïƒ¢Òë6ùßÜ@¤c™2Ù½’ "Ód—§$ºNŒî%З¤K÷"#w>RdÝ<4O‹ñoÞªÏ'¯>{´C=ÑåØ?”>WFƒ{ ËÁúydlõ«0U})¸Úl‘pì)¬ýα˜žIÙ<°¤kñÊG!å tˆ­ ?ÚmÈP¢Í8z‘—uw¡Ðêaî¦ß³)ïe¦Ž¸bQëÆvÄ‚VU2㓆ÔÔ k)|j6t¿ße. ÙË"èŒQƒMWP[ÿ\òHÙõd<½C– Î!›ÉIÉuô ê»Üƒ }cr$¼´`’“†¦PöX‰¾è—–X-Xü³5V~ºÞVâµF;«ó#ìGÍD¯€ÎàKêM õ yû`ÊÂcð…º¿¸´6†çÏ®ß4õìÎfl?£i!e5¿bßg>Õ{û9A ® ”rÁ
+Ù*¬×'5 öƺiz®„‰Ýf
++Hê!± ®Ëö'Óä
+ÄŠ§h÷„Ü{É=Âݶ¡øU^–ÀàžèUS­œíê±¼ÛgéE¦oDs?X™W ß^®‹ B¾Óÿ…X÷Y(6ËCÊqZnÁëà¹Ïë-ú1ÿžæxñ˜²[ö©÷VŠ¨d­m1i0½ûùPšÒNövHûs úat=§
+©gÖ<L®CRÁÐöŠn,ÆXcñµ;W«`S¶"Sÿ·ˆò¥“O‡˜E
+eð5²v'úå„a(»¤Æ#r)†‰çðøË6-E£Í5øÊ÷5†ßý+f¨] ¾Â.ª…¥ábAðó³òþ7_†« ¡Å=ÚEÎ_k•-ó%AQIH„¦Æ.%í‚Dêä\n4[*37]ÈÉr4é*–› V7m‡n¿‚òF#²À›ô,y*oö#¨“÷©$Î9f¬ÒÏRÒÙþ\ͪL0¥Ü¦Ò>6 1ðòê/6]³äv®µZ
+_¸¨Àé«ì1ßRmþåEÆ„üPñsKªP=.¸#`@—ˆ>Qô›ð»Â¯_ƶ„íd¢ôN3×'M˜.ÆFrÔQ?žI$µ_«°ú ã¸åÓ1æOÊÊ; "ŽÀîÈ?²îwó:FÅ“|/{;þ¯º”ðE*´V÷$ ÷PŸ†¼ï'E›£u!¾$Hù+BŽ:´æô ˆŠ25íøµhÖ¦2Â1¿úO€¼ŸÙ§hémFƒjË[ÊÁsFó…ì±\.cá>—ócÛ—Ô+v©Àâ"Tû¸hõÖÉÅýLQH+VÊ
+ jgìzï½È=dql£1ÓÖYkû^PÔ1¦\µU1…$:$a^טôNyãLl˜9‰“Ý\Uäñ’E=Ì«}üñc×(Ÿ²ä»r¿Á¥E—j/&è;»Rß»•Sé#4¶ÇeQõ\G'.*ÞÁ8@g` ÉWQ>æ‹—qåÍ6K±{ž0BÏM­c×­ûëжÜf¬¬¼ÑQر!kᣇ‚§›-9\:­ R‘ Må‡C¶ Q›ÒRÛdšÔ$9WzC&Àç=²LƒzWuØ–`…IL €© úÀ!Ç NãCZsüôJ^ã"–ë ÂçíïY @ËA(>S9|]|u À+‹~³±ïL˜°Pš”ú®W ‘€
+õ‘%­ßÅ Ù/»" )´žTŽÑÙ^ì¿%.óR/ß2{ß¿)½†ÍŒÖúà ýÆìuQ̼¶Ç¤±/×ÊWŸµÂÖ~¢®¨ªÓDGë »+é,®ªÕòºY9ç#yÔÊý²ûX£Ì9þMd4u_‹´ÜÁïy¢¿˜¢Ñ#é©jr¥m—Ÿ¹iŦ—劒*Ã!=C˯ëCÍ>*78ö<žã$`V!”¹äÞÜÁš¯Ä®x8ˆ"‡cÍúÆâB“ˆYíHu›ö( Áz ¢
+ïà`íír⺰¹ò4r–ú¥ÍÃ_»øf¤¤ï§cžç¢&ô˜BoÂÕ¤7YÜ;ôXæëõsb‹W…«L9 ž:=\Þ«jö¾2–œÐÍ¡§³T®n1‡VtÈÓ¾LÌCôŽÕì=Ë÷ù”°tT¥×ÕÖz…ñ$YZ<*4<†¯i¤&A&Ùõ.˜n•ÇDÿ,égüáHÄ|‡ñ¶™µ“EÙ:O¹™6§ª ŸHÚVW̨VˆS­Lĺð˜ÖH9%Ä®qdÄÍi²Ý¸faîxqvÅøw»…d%uó¢0ÉÝœÖ|U’vKãº6öøÌ@!wJE÷²t!Ä möˆ ûjVÓç[Brøj'Y×öÂNY
+ˆƒ÷ÎÁõs½/’ÛÖ[0ø´ÊßxÃ/¢µÚô"ü(Nc&uy âEB:\>è³€v¿/èzw–>Œ¸¸ÙŸ3©å5¶é¿U@<!%^>ÓÁ£*8Ë•ÇN#ü^.¡ èFj$eoq`Ì^r¦è8OoLe¾À´¿öùh `üLêEW*«
+uóÁBˆ‹Ûª–õ›ãðü†Ké|^ŸØ$ÉÃö¬:ÿÊêÞYdäÌZõ[nðIZ¥ïƒ&ýMp‰£5ž×@ÄqÙ·dsá×mSY#Oô‡àáiÅÅžØ'u0övFä„ùžP( 1•}äG&ý&Ûrô€ÂŽXtc†BZsÔŒ¹h Mvi1ž¡!„ÍcýI‚#Z«ÆOv5„±^0)ùû¼™T8 ÿLñ/÷ßÓª"cÉ\Uå»°8Z›8´ŠÂcçÞ
+Î(ÒÚO¨²?1ÐDµò r8!´õ™D±h’­ úÓM~ϟǽ²…ë†î~µôqÜEÌ Ã7)e§Ì£ÏâCÆ'C_{/[ߪÆ>O
+º íää
+ŸNvYÞb¡‘±#Æ™uiÃØþáòD„Jº õJÌ)±ùQ'óŽéE½•+lx—.U!’o4Pe†»> ½güÏ/ hß÷ VŽO~^ÔÌðåHàj!Ï_®!‰7¡†:£L[‘xs¡°öJƒu-{—mR” ãÜ>1]ÃdKFq¸7}æ@,¶¼-Ç¢ÎÀCþ¨Ù³GìA YJ§øÕöú (Í¥ãX¶2À{ÅõÚ¬Çú=A$ÓbPI²4¯‰x¾V„÷c½áÄUŒì‚ü¸Úº»H!õ
+.ø@úo‰.Aµˆ¤l”é
+ZC¾“üxŠ>èï‡P‡ˆ%<ý`TTþ<¸¹Ã¨ò~ROI¯Hµ•·?}ñ7lymþÕ‘¼%-€†|~‘@˜†l
+û¬D¤AôùÙL—[€EfZæTVû=ÞžWðó‹OõtG 6ódìøÒfÜ_J‡ÁöR*iÖƒ¶_Yx}|!.ü9l½~ÓËöžû–4)¾ÜS¿4ØX½½ïü1Xš¹•.Ä!O 8×û…m^üÞ£ql1. ü‘B&xdûÎ !<ÏH›?©³Kì›ÇAà’°ü‰‡3ÌXo²°2fËÔáê.•I¹Fÿqš.ÜJ’ŽŽý¨Ï;µä€Ø”ue½ãVX ä¯u¢èLJ{BÖ´Æ ±ˆèŒ×°ìÇíç&íò-MÁÏÌ b²á—“­Udf»[{¯â…LˆÌCü¬¸"ƒƒ‹ '‘‡x’cEµõ]G¶ò¦‘îi­æs*Íd&„ç­•ÝÖskÍ6ÓåøQsèNíË°k—ËìÉ_ßoQƒ.ßaÌ/ÁsœSè×òy® ëW žc.©h–C>½t>! |x 4oÊ°úÀ׃Õ,o-LaºA7Í°Í7)äó3̆VfŽ$0T¸Ÿ9
+ÚŸ¸\@!#^dcÉqæ’ù-$ õR‹ÛGÐÑ‚ÄOL!¢köæV¡Rî6æÎrMˆã'¨_dœjÜõŽ­»¢'Š@z£æìôü,–NÌüua„¥¤|a¬hž~"^$6Â^°|ÒR4€†ž 0©Vb"óãÏ ž‹#A†L6G²»0… Â3ê6ùD ¿‰‚9È\Dá:ÄûR(¸ë?}=$7zOª ‘—?…!<تyë<Í÷Æ Qš?ab{¹F
+Mp.Þý©\B„$–AìÔ‡‡}Õ»X¤ ñé£×B?¢)ÚãŸ@´Æï 4pÒSËý
+±5Á¿Z¶&
+Æ<H)]Ì{Á}꺽î¡›0<aÔÔ.’mWâ#ªš,)=Îܘ’)nÞ ˆ=@öõÕ<jÔÜId¶QГörº+ž¸7rªXb D¡jºçÆœùaŽG¨¸Y/°kÀµl"%¢´™º:ô7“ˆucË©èÎi½ÔzZãß'W‚Qn&Z¡gßè!ÕÓ<¤Ý¯/Ú€àuÖXž·0‹ f_6ÕaZÀv`M¨¹ª—1bvÕIü‚Jn.ðK5bø½ÏÿãΔ<élS+1ïµÁQ¶ì…Æ7õWv[¸!MEXZ3tŠ·`~¶ý¢fìZp‹.fõ»c2p&«7^ö#ô ¾èÓ ÙÖ)xµ¸åí]££Áµnešc›JÛŠÜ|g³v$BÀ!W’Œ ¸U¯èÎViÝ
+§vÉ×%’Hð«.3„ŠŽX.òï˜ÀlŽ²HñÍgÅ«ÊFýri4(}õÑH!çDCOÌ|Iuúà%%Î%³“r)¹X!’=t’ ¡“S£*b¼iV½è6À.?ªQ7¬¦}jRÁšm‘œÇäÖ•ÇpyNL0¤ÝñÜöè@­³Î¾áµ’2רcíågE*ÉR™Ò\'›˜bàáÂw½v0Å8<'Ì÷’B'Ýg‚§ îŒÁÒ›=¹Bäw^ûÝ¿`³Ø<9øMä\5ö5ø•ÂñWÈ=˜XV’¸…­yô„i 6-úDA8qN!ÍŸ$öÊ“ó1  ÔV¯çÁ¡(³h—µM±wæ=Ò>zoØMé`w%óäû›ÕR÷bO飅Žê>‘ÍZtuùª£F&¼O¿NAJȼWêÉïÁJƒ6‹¨ÌjéE¶~‚ÇÑAxH:ð0î֦̽×A{5ë?]ñ-|Ùë{É·"|ÆÑQÿŠ D™X<èkeà 8êª=§fÀ¦•[ä<wÐÍ$YÆeÀWw©Ž…Nƺä ÷}‡è4×ä+Z—¥dáh½óÙ¢·Ö!WŽt×…³\|çû3[ÇÍÊ´ú«ÃyÓ
+6 eœn&`±Òj¿ŠäzM’äÙõDè.TbaY˜‚ì!Ɖo36ðõ‘nFk„§‹pi›ÇýÄŠ»iÈt‹Ç®:Ó5º²0“¼/ºI´„SyÕïɤrJÝyúì¡áùU4¤éB,¯˜”éZö}
+Y4=ÊB<7ïm覯üë÷¯Ji/¶Ov¾“…8·-’¿láöiEçh¤3Ókɹ[x)ŠcÝk™½¸CþÑy…Œ ¨Ÿå3j¦§Õ5͈WÝç9XÁ,­2n<ÓK{ (¶P2“ÀŸ^Ši’;VèìVúJ)'¬ð°<ô¸O±Ó_ì'Ñ« FX7Ó
+4çv웞îãU:ûò¤]ªzrÔîtäÆ?+ÂÀ½ÀÚŸ“rñ\2V,†mg«@bøÂBòØÄ*†N½àgÓb~õÛ_æ<žo²,Bÿ§X``âN¿aÕ)`Ѧàt8hOÐ=Ð ‰CálC4ƒÌN©Éce)Aù1éËua‹¿nôDW“ôÁëªj!±”/À·vy²ôI¾å”®Ý‰¨hß[sÌÌóo|ð›êÃß.£VƒžóG½|VÚš\ä‘®X+¶J`sEsߧ¬Ðû´Ú0§Ø¥‚ÔÑ {8–À}µ‘~ ;¶M”¬A­?¨Ȉ
+‘MËÂ)ÚJìyï’盾°+ÛAX•¡<UuÆEÁ°ý”Ï©S«³ óõå0þ
+èP…ÃR œüZþ¸» ÈÚ—F*þ/\<>c43‰0ÿB¯u!u•ŒA¿8ÊNÎØÙùªycPÏ¢/’­ü䄆¬äÊfI˜vÐi}°´ù 1Úd„fÍ9~%Ù ’Ã"´ÕÅkƒR†à<Q9˜ñ&å÷ìôNJì
+ü•Ä;÷´ìCc6g¨FÏ 6Z¸ñOÉ4nFíÌæ@Ÿ(’j½9ÌRi|ûÄ«ÎÙ 8-J_ŸW䛉n¤ÜLá J¯:³Úl j]­)Tʸ—iÉd8r×KÕT˜²†÷A«—h,‰BuÖƒ}͹‹Sðé€mWõv¬Âë•h +Úþö…G«I.& â ´<¼Xh
+¿ˆi_þ´° z`?ªÃÖRf|°¦ˆŸÆúµ~š^Ú¯x¸m)h³zã%ÚºH—ªíAéºl…Ý”ç68c`Gàw©XŠï[=Ƹç(àï–†ãß/ìת}ÅÙ+¹†¥!\
+ÒTÅË£A}f–ü™‚Ï$±*AËý¬zï„ži'ɉkê–8º[ÎÂ!w@ìfsñjàd€‡XH+ýèNY}aK:Pä
+ Š€øÞ à ÕƒöEñnhóJ×T—öД‡B!p±•ù¦—l“{^.¯Ð ±LíìØK˜Ê9ˆGxC‹€U¼VX–ììÆ©škð*û}¡óŽÌTÝF[|¨ÔõÙa—UÃÔÆöIœ¯ÁVÔæé„7½&$¡N‰pˆ®Ç}E÷År{U­chX•è'Mí¶Ì—ä$,ŸëeÞ·ž1ÍK™•aFïá{, -ÓÀ‹*øg•ŸÚ6`F…LÎsîã$’tdÜÜØy”®Ç¢%šð¶1W´ËL Ñ,uþ©löW' ¸nºó ³«öÒpÓºåÓfŽ¶ª¿sKn?]j‚°Ï Ó¿¡gæGˆÀhfÙ{Ô¾ Ô‰í’MPŽEoødx€Q²t•y Q ”î§V¤óMÇL9‘5òh°À!e­Ÿ•¶¸¶ù8¬«”{†ÔuQ°b‰¹BM‹sÙ²É “ÿÆÌ]ƒ ÎôvÍ&Ì‹Ï‘'½8«“’ã*I5«6i²Ë iw ®š@¯Œ!e$}‚s¾{‰ÏÑëŽ!!cPGÛD<À-€s_|ùbò´ùAðËQó‡ú-š"ñŽÓ&”­Ø5‚µ3~‚Šz½òh!Îi‚é!ƒ³ÈÒ"s‡¹;o˜n¨Ë¼ 8þßÆ”$'U©
+v.Z[våe±àÞ¦§°†`G‡·^—‘žÄR…ÒǺOƒò^ØÔ bŽeõþ™ŠÄÀ.2¿AÏ»bÁ²¨¹zYÛbÛÙR8ÕohrZG’Äý2
+’k­~ºk ´,x™-­å®¬¬HÖìFÉÞ NžŒ„_ ð3¡¬yÀ=ΑYÄCç­²(/ï?çïIþÝRˆ²¨è‹[_³r'Ÿ‰T™'´7”X‡€ *ÿ|xÖrlŒIìèUFìžovñBW¨é±½5à+[™ƒã·¼Éú×»„&+åœÀ´±Ùg/<R4:ë&ŒCG"ëiŒTâM•3_ßw¥èùiExZÔt»ËŽ´Š<«7@µzi|ÜŽÄmÜb3]²?4¯ƒMÐê)ÀžX~j8«'Œ½sWst’g9èáѨVóìëî À–Ës<|ÚËò!Ø!í®©±¡–¸ªŒ6Õ¸ð‡Ê…²¡ŒîÛÊX©|¨_=›Lè£ØÏÇÿ\RS³îwŸ";Og0N¨ã/Tl0ýu[£HÕú¹ðλœ}¾f-õaÌâ{ºGüyèQÔïÊ‚´q¨Gγ *{b¦¸¿ŸÞ¤~+6C¡¤Ê:j]9Ýô¼w©Ûبþ4õ6Ä^ @+µ¡‰¶°l;âÌdýdRCúN'æ“DÀUzF9ù ʳ>XJ²éžÿõs.noÙa“’cÒ;c»öZ:ckJc£S…
+Ò§ôSëÓ&áî` âìð2«oÜ“ýÛ²z6µÚÚ±]9̲MŒ¸#úSýª½©@Âs]¥`Þt:õ¢q“ÙtìwnÒä˜×j¡
+Ò¨tWj¶q,£Oí×Aò*úüßMî´tùó—ã´Q)VÅ1Íѽ»y§ÑÁL™¸Áì$Ó~ݯãvÔå\ƒóû ÝÓTùœJ̹`¿ÅŸ
+ÛÎØ,kc4Üò9¨3~`"Q€p ¶¥Î6…y»L3ñ|hk$XÀ­MÁ=3Èš„ƒÆ8¯ó÷øúãÁWæ§ËH‘þ#9Lñ>Àü‹tú“ïüú†Çåħ­ Ù§=Gß™nÚ[ù²kcñ>þþci˜˜0±½ýÖ$dï4ï–7ƒIÉ=&ß’(LaË­<ü;±! O$caf%ïâõžvefÁþc›k?2H·Dâ"V•Áó §›#„M韤ãب—ý™Å¨A·”€JJmu`UßK±ýj”ùŠ÷Þ£Êä€ÛïÖ/ÊÞ?H_]x3áÂýsÞV
+v£–%·;®ÄÙùÈ[Úãèß( v~݆¥À¹&=/{±¡MJ‡³ã™#ªCò¤›SOæÈ :I»ñ£WX{Ì5ö%{›ñp2‚D{j)Ë©‰ë8tT˜FËûU56…¸×¤à 6ž]¼Æ˜6sÃ2ôk£ªXÙ?"Wª¨T&ãUÖÒÊŽU&iÃÓØKwzK‘^ :àra‚_Ò‡mJ¯Hd—&—q̪·Ïöz—7QÑÂÅ'ø ¡‘Ô”|w»Xõ­©·>uC·Óè/™¾¨öƒ¦»Úéî–÷üoýËYtpqSù¡l¥®qõãõª9¿"Mq†ï³€xºôEÅŸK·š‚¸ x÷O¢&Sƒ:À!ÏbÖñP|iÁSG³hlÌ0Ðl†˜/?Êg°‘ê§4F ½  OÒ
+¬5]“–Bþüd?Ã!Èa)±Ÿ UwW¬•×½é·@LôƒoÑ|p¨ôÞŒú˜Ë°Ôð¢‰OØžfŠ\ãà9]ËšJȪÈZ¾P„ðôùPŒ&†®_vǢ噗b;ú­-aéÆÉJ ºœÕ7 ÈZœZ'ó¥ ÂSïtj‹¬¯ÌÉÊ[3Ù?–¤2ßli|˜µ…Ü©†ÏÉWßg9D‘ÉÞÌŽüß×âÙ¶üô&‹÷‹òBø»&‚áa!ìëky`¢4¬[(TP¤[î_±K"b·q>ë†L/ozÍ°~ŠFp@8uªÉJ;EFn$Œ©
+€­^A%CÛåÜLrjùY¢žÜn\4ìZàT2'c6ê
+½‡?„i¬yè-†ÇŹ(Tv–lè4Ä¢TÁÀô>\Jf>jϘøaøÀ1•Ü< m§afæ»'Nê8¹kðèRž;|(¦b.@nz# g[Á°½™­nÙ¸œLz¤Zõ’Êáa+ÿ|ÿ)\ØÇKΰ‰b0ÕªcÓ,îó5Q5²Fg:Ë$nÅáÕÒõÎ €Ð<‹OŠsº²ÝÙÿDÃO´0yw·„¥ÇÊ2ø½= Ó{ú¾í‰±Áh%‡òRsÛUc"g×>ÈZô3MÃà^ÒË«gÔQ™¯£—k½5ÖCÍôòíyÇtÛÔ¨Ù`X¼’ã$’¦½$85Éi7ÍdWꙩ/ABI±Õ燷Ö\šÃbEPE «Î~øxâ;p6Ú5´£„ÂÄ|öÊ~Û`¶­\3þ'q¤ÃsáÖZwüÈé.4v/'Áxjµ¾%Y3† #óÇ6¬æìy|^Aj¯ä–Û4ÒÆÕˆÉé
+V®ØäÊÕtßJ¿Ú™\z?K*¸6¥!ÑH³Á½Ù¥‹Lº|_‹MœMI¹$Ö›­»Zƒ¼ ¡¹ ’uºKÅ“ž
+·ìÛû'ãD¸Ø“²x};èþÓ–‡úŒ4D'P{”òeéø÷ÊÏÍùøëjˆ¬“q~½©ýë¼ñ<ZxàM>Ê€·ÅV¥V˜OëüÃwK,-èÄJ„¨Ôq®ÐÍ°î
+sþo§ý™
+#¶cër!¡W= „´*¯g±+¡‘À#es_‹,2™ÊãœP+ÒpuMYÖP/ºÈ˜ü‰‰;°>Û[¼”ZDñ½"ºßoÅq™Ü
+èEHÁU 1u”mLz‘ìåÃh p;ÞAåO‚¼ïw2}íÞ–!F¦†Ÿ’)fmûì‚Àü M½ÿÌ{<ÇRÚÖ[…§—Ëu Íc_Tž†t¾Ö“Þ©Û÷ŠUé„òPZÜ~›…–nX õCg›
+ÌãR7ù†æ9`ŠÌy8”5bX%2Z}ššÖ<.Ÿ3 9‹o§œgéJ€’Ï Âá·‡GæõÙI°g Ù[ããÅ)d½ T¥1vÙÍÅï<wú¤ãïWÖLœš‚ œ†ÇØâ3:Wª}ѪìpH¦Ü­|œ@l¯÷ŸS8±åëz,††ý;x âMJšÎH#œxå8Ÿˆ„‘Þ¬ÝçÎQøù—ÈÞyK|8aç*Asabvª†ž˜L)"Ù ÷¾¤B,ƒšqe>>þ$h(O®Ó=Æòè:ià·ãa(×ÆÞc1}œSBª=9›öÁï‰âòí§ÇØã®LYÛÃ%¸ö9¶Z³cçÔ%ו<7oø÷¯÷pn=¢+‚t³@wFQ´-Zå§;VIÿòÉòœ›¯ÀémÂYªíÎ)[HZe4;ä]æIÚ1Ô
+ë¶ÓÍeÖåW[v»óœ ¨ý³®èM6W(Js:L9þfzoÇÕÊåÄôq7ùX›§¥å;#=)GMjÓ§§°ó>7W7WB±Ú[·ùÿz¨w&"L>bq\½·„Ѫ~yQÕák Í«.·úû˜¿W?¬>¥¢¡@#r’ô-”‹Ea]eãò£»JÅ™|šŒ3’ÞR£ˆÉ½ÕÐüJåñDáÃhºÂ’ð‹²wíª[*Øà©r‚kº4\¾`fÜ^î ?d:ÍûEËf™³¤‹M”ÖCÓ„osCü>Kñ•¹4ÉÀOõ62|3ÑÎyõž=¹»ú1¿¾^ž®´—Ÿ5x´ !'„ú÷On,‡ÒoÝy€ùbº…q²{m Ì±ÓOkÏx†E+ÆÖÒ7ó!xìòŒF™³0¬·«H{¨˜þMû¾É^Ù^ÍIösìëôòC¨Ÿ/`u¨QwO¸øˆ”zŠãDÆFgÃî43ö¼š…¨{ÑÐ÷ É`²lAoÄšCÅôìc #sˆƒ6>Êjv*AjNeMx‰@³ÓÆÅ£4ìæh7ÀP­–gÂýÿµ3çÿL0
+Áiz“æÚæ†Á‰²ÍÕ²Ïm7ZÄUé×4(ê6•…zÌŒ¢PMpêÑýה¤ù†Ô(Y«»kªWÀî!`Ê£mbÄ¥„qgˆœíF2X3ó£æo_ÞdõÍd¥:»T˹’E€-ä{.1ëÉ
+dÜp®ÈVã _¨¦1³å{?î:Wõß~Šœ©"LùQjƒÖ±:KY5bx„6Úb ÿÃÖëlƒx¢¥ ~¥,£Y§Ê½I|çȨ!VÃ3µÓÂzG#•¦n4’£Ç¦ßÒù»oôu¶Ô~«Ó
+7Ÿ+ó²Vï„(a=ÔÅ>\M!†rµmè÷È%
+^&ÍËâJ€°—Ô²?\9¼h¢Y§!¥EÇÊ·<§ý#QÇÿ9ÚQ ·nºÝ's,ÂøŽ”¢­y–’Þõ¥«½ËÆð›_ÙïϳŠ5NÒë%Àv<¡¡ûÈ<{šOS*%älõËU¤¿\"•e†tçù›ß©s°tvܘ´t»Ç(Ìv« k‹qµ÷³ƒø™l9^÷k%}+oµ©´£‹rüR·JôQ3ül^{´v;¥ r‡³°åg3¯¢Ɔ’¢Ó¢\[#²Z̉ˆfû½Ç|(„›°ö5ÏL‹d•­ŠîhŠÆ.5TËúé䦆zp׬ó•ÓrMΩÄq¥r.œðÜ´›‘À4€áÜjÿ%®ÿÿh
endobj
1308 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 34
/LastChar 125
-/Widths 2935 0 R
-/BaseFont /DEWBNK+NimbusMonL-Bold
+/Widths 2953 0 R
+/BaseFont /CMTOLD+NimbusMonL-Bold
/FontDescriptor 1306 0 R
>> endobj
1306 0 obj <<
/Ascent 624
/CapHeight 552
/Descent -126
-/FontName /DEWBNK+NimbusMonL-Bold
+/FontName /CMTOLD+NimbusMonL-Bold
/ItalicAngle 0
/StemV 101
/XHeight 439
@@ -14808,7 +14975,7 @@ endobj
/CharSet (/quotedbl/numbersign/quoteright/parenleft/parenright/plus/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/at/A/B/C/D/E/F/G/H/I/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 1307 0 R
>> endobj
-2935 0 obj
+2953 0 obj
[600 600 0 0 0 600 600 600 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 0 0 600 600 600 600 600 600 600 600 600 600 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
1287 0 obj <<
@@ -14823,7 +14990,7 @@ xÚ¬¶eTœÝÖ%ŠCpw),¸www÷
wNpww÷
økd‡§¤u»€ìíÄŒ]€<
`e°pssÃSDí<@–.
-tøÇEp
+tøÇEp
ÐÖ¿¶qÒí2”"¥ŸjFy_ÎÉmBép0kìo)«”¼ÁM´}s‚»|¤ñ'w+ðǤxp@ö5Mý‹ÕŽÚ†^Wxrú5ñèñêÏðà@×5tÏ]NìJ^7(¤¯‘þŽ9‚:ê•Þá40éMˆ×­—$šÞy”ø¶r/Jù+v­roIÐé­‚|‰òNR-{UZØW3‘|‰ÜÓ¹Ÿ«®”âÎ8|M„ãA½7SÖA“™°?‰î!®¨{üëlkh_zsg'•ÛKº7ÃìQ23 †»V!‹¶88Szé-ŠÈZßʲÃìb“ÿ<Ìišð·uO[מʙåê;Õeâ*1žü
=Æ:nâ(4n¼ë—jºÒQ•"/>Uöló½ˆtë% ˆ/÷€{`‰ÔÒE¨N»cj,Uoo–›U{Lê,þòÛ’`>8[œÂ—;1Œ"ŽÛd6k$T÷ó¤ï0ÃcÃ=­ò8Àëø‡ël2ø©ÙB ÿ-NE>…°­VQ?SÛ׊Û_ZßjcxÊSH£k‹_G–‘'²Âøøc±£ ~´½ Àë5ر3ìä=Í’ù9õC[¿êŽX? Cz!‹YÀGóµgàÝzŽD7 8’(GD¹‚Hñ%.fjM
ýÈ#§:Ð YœƒN o‰ÓûFp=)I%ú&Ç.½Ù™£J©³k´ ¾< ý6K†#„Rcxü¸
@@ -14898,23 +15065,23 @@ M¡„£ÉãB¤&vIA{}ɨüØ?òXcçR&YØÜ„*3cµ,;S˜©fKnLXӌȊeL§KSü,‘Ó.ýï)•òýX©"pnüÁúþ
î_æ7KbËͤ\Þâ?MÃòõ¬Î±Iž9ˆSïfâúó’Í¢qÖcU…D”R&ºP8ÐÌÉq‘púÛS¦™¾ì­§Ó@K¹¥í2y4,à nzñ~†ŠùÝB‡âw¡8²X7Õ…VËƶê ÿ/HñÛ‡8ž4ŸŒ[½‰;[ ]άT ¼HŠ¢oŒRUÚ÷q§X ‘ôö}‘÷S·‡¨õ`Yœød2¦ÐyÔ¾õ\¼Ã1?a#ò£uÄT!šÃZG=Q’›ü×Î]ÐÖc›9/±§dÒœ…i¬¬
õZ§¯‘6’4Lv+åÆË È/¾{Vsü¡æ;¥5Þ‹ÉÙ“÷°KqÐ@-Âú¥˜UJð¹;ÑÓn ïŽéU/"%ó<ÄÝ{ŸÉÖéFq+£¿
ªÎòêžëÍxì¯÷ŸQg›a+q%²½[ƒFe$™Mí%¸³År@]CÆ"pI“:%?0F»X¸_¥fÌN1¶Î®HŒ¹\Y2¾{Íï!"¹´èÊ­6fB®“»Åõè¤ÑO0–0¿Hú^˜4WíagUv;Ö—FñIôüzçõYˆØýÂè`²ËÁ¬€óÈ5è”CPWžà¾2‰ssFHâzS汕˳ŒÍ¤ }<.ëÙiµD{ä\Ì£º9! özד!î0Š²÷V;Ö&Ké¯(MœV}îüøQècL“ÈÒÎ3ïAT‹ëêןÌ&Ê'g®çÅVÆ´FÚÞùÊy¢tc¬óºøÒ-yfgA‘zTz¼ì®øŽ-:y@ƒ¥±ÿ\¸"•?PVÏWÕE†È3Ê lDK\$UÔw¬>rß©Dè%<»ÕìÚW”åv\ÏÓŒ ø¿€§Jœ‹ê¸
-A}Ü[®L¼«#²GŽ_aâÍ¿KH¤ŸŸ‰‚h ¼ª»,_&½òîoy£pB7vKŽ£¬NhÄO1û_¦¾¶®rD™91Üð)ÍÞºsùTAÍöæ÷Ý¥éëc5?Í‚ÒÚ.îçþy;4Ûú/¡üà"€ps°óòñxeç…¤ü½xq4endstream
+A}Ü[®L¼«#²GŽ_aâÍ¿KH¤ŸŸ‰‚h ¼ª»,_&½òîoy£pB7vKŽ£¬NhÄO1û_¦¾¶®rD™91Üð)ÍÞºsùTAÍöæ÷Ý¥éëc5?Í‚ÒÚ.îçþy;4Ûú/¡üà"€ps°óòñxeç…¤ü‰òq0endstream
endobj
1288 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 33
/LastChar 125
-/Widths 2936 0 R
-/BaseFont /FJPIBS+NimbusMonL-Regu
+/Widths 2954 0 R
+/BaseFont /EQIMAM+NimbusMonL-Regu
/FontDescriptor 1286 0 R
>> endobj
1286 0 obj <<
/Ascent 625
/CapHeight 557
/Descent -147
-/FontName /FJPIBS+NimbusMonL-Regu
+/FontName /EQIMAM+NimbusMonL-Regu
/ItalicAngle 0
/StemV 41
/XHeight 426
@@ -14923,108 +15090,103 @@ 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/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/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 1287 0 R
>> endobj
-2936 0 obj
+2954 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 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 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
1217 0 obj <<
/Length1 1620
/Length2 20127
/Length3 532
-/Length 21035
+/Length 21036
/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(øC­B¼ªùÕ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#øÕV h@û€€Æ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¹¥Œ/Ä[Ö]ªp­Cƒ’½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ªŸ8 lV{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¸×”•›¹-=‰Œ!‹2 ZK …‹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Ý5 oYÖá˜
-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áY L©£½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‰Y R³ŠÅ·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!g ZŠƒ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/&Ësg k7/;ô^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\o­EŠã¦=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²ûËI2­U^¹¨%Ô~ŸŒ×ˆ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(ë¿P­m-FG*åTA¸¡WK2z)· Ž×?3Ì›QOl
-s¹
-¹ƒ%ÔÕÝÙêjý¿áóendstream
+xÚ¬ºct¤]·.Ûv*I§culÛN:FÅNÅFǶm۶͎í¤cwý¼ï·÷>cŸóëœý£jÜk^s^×Zë5FQ’)©2›Ú%ìí@ ,ŒÌ<
+ùk¤¿c¡àwõ
+ñªæWçí)µ1L„ž±}>ó¡ìŠ"ËMoEß«ÁŸZ1à ÙX ©‘¯DÌýñdAÆRIx%Q¼Kâf†Îo¿møWcwúŸò‚‘ßÄÎ׊ü;L§Ö‘;æT° £6®ãGvíÌÓ.õ=n¾Õ.7èX¬ÊÌ[ÃÚUýùbjÜÁ+_®›xF»-b¨À( e⩃w¸ÜÄ$Í Ó… (_,Ó ¡Ã4S4s-Ù“©¾ˆ3‚2Ž‰ŒŽ$¿ ä¬ô“„}¼Dä9%G¹<á¬;Ö6®£ÛA‘œ´Øpÿ (wßöìט.S?62=ú0zQØãš@΀ƒëì˜ç3¹>9È%æú..àŸ¼Áô/cD‚Þ¹U'o?¬§\¤u㤚Cº4šÖ-7#Š_0m @àìáä}²Ÿ„ ƒåÔŸxêÙÄ6Z/3Á¹Ô¦ÑCnoãÐ3+Ûu) ê22zjþb/]¯ 
+îïø`—÷¹K³†>%y‰ú¢%óeKšbå6$O÷€”×95]§UËͺˆ »ìàÀº!˜žÆG‰§)‹È£¿¨DÿWaö=M&þ¸}•ßý;¯YZ8"¯+ß´ˆü(s!ó²uxb|î•fsÀ<²ïu‹ ?¹’Ùúsœœ×Æô—ƈîÅ$på?ŽœA7y†›n@‡ä›ãâòèŠGm jø^’áÉU5óç$·ÍîA˜¡¹S轈mú|š:¥©äب\ð$ï-XÍü¸L¡ÛñSL*4!Æ Q’\•B€×Î6²Ü7¤{\_Š$Ò‘ë [ž‚qŽ\”7Â~˜÷÷;úü@ÔpÚù-±ZD»Š—ÍÇJC3ùšT4ÏÍ}oÈÊ[kn@KdÚ/’صJÀDÌ) Èð„¿ŸÍ‰ÚÂû<füÊ];(” 8)æ/5ˆö<µjFàÊÆT¨e\®HžÕ!=„;’áÌ:7ÒQîy…¼forqÔÆ&ε@‰øv•áüöäxä6b_g+RŸ}ѽ Ç“}4ÃY»‚àMReÇ'TnêLïC)ãã ñ–õ–*ÜêРä®Y옟ʿ;oI ™&Z£Åó²A`þH¤Žš“´¹žÞù=&¬;îõ4vŸ ]Â÷žå·£Ë Z±üžÜħcL·¼ž…×›ÂY_‰g À¿¦¥äe‘O5ÙÀܧâí/96]d±ÊPàH]~+B†<Ô•R–…€õ\ͯ¥sðÑþrOŒ…[’½¸m+þ¶ø¶ý©1.Õ l©5· BZ«àà"—䬩¹9£ÈµÿT.qq„ÏÏ4dG<éZSËèœz 2T"g€ E‡úÅ3P&¶ãäQ,À‹é$¨
+]rSÓ|¬U]Iƒsuoé$½9¢c÷U¹“:äx°Ð¶¾Ø¤Û‹«RÜIÅQ¶?³…á6.S¼à‡n|ÑG{×Bµ”¥fÑ…ÝL”ŽˆÃSù8Ø'ȸŽô‹ÊôÝ´àÝ÷¶¹ö5‘PÈœ¯æx*&ô•¤š1S¶²ó¥w\·+z›DÊ´v¸$ÌLßòÈîk>^µ³.L±¥
+>+l„T°\:&j‘ñ™û ^òÕPkNÉ«±löñü«DÙj‹+Y9‚dÌœÊÖ„ê—6<€ÌVcŠ§‹Íš‘Ýþ³¥SÕsiÚÚ¤Ûò>vü[Âë
+Ð"$©p@‘zŸÖÐGƒ›‚·^_vñžtDPyÂñøËɘ.ÖÆÐó†·ÅDã^!¡¥ 1âóÜ,óšYªiÖc.â4£÷LÛ}cN6\ÈÛÐCÕÅ?ÐÖÔØ5÷Ü tbgipO ‹¹shÛtƒt{ J'uYÌ„5Ð’Z6è¬wßù/NÐÈy0¬Öƒ;g‹ÖZ0….R;
+*Èí­´ãT¸žfWÓ35&7)4Xß=á!`ƒSé‰7ˆvdÔ¾È#~{£Ø1Çœj÷àºßŨžG ]¬ßg•,½[ W*{ukÒøÔn•Ã‚èÒ:’ƒæp_íÖ©ÛRÑ°((þ22ߊvóÇÝl.ˆÏÜs/¬]¡­®p‚ko¾÷ñ@ÆÇÊ5V…jj¬i `N}ÕÆêŽáOú
+¥xûSáéʾ£»#§ûa»ƒ’áÁÙI>$] Ur•×éz¼¿1VÞ½=Ï"ü,výçyöd
+‹ª¥'NP
+¼ VÕ],ZeÅË»§99nNS#²o£‰ÓÑÉÀfõg'yèî}×8›î÷ñú Þß߸j­ï;è‡N?]µUß+ž×Ú@¤Æ™{ß²a~bˆÔãÊŠO>ŒAÁm
+RÕÄl,˜¤×M±4'Âù.îé–¤ul2—ùÑÞwX+*â
+˜h9cOÍ~µz„<„FCçb¶áý±ˆåÕ
+EÏèŸþ%§ß`Z4ÁK]#d7„;0Ñ6s’‘KÆZ¸‡nkIRŸÆõ‚àrJÆ ÖÍ*n؉ÝÅu½šÛŸ–„^¯Á_`iË BÅ©ÃßüÌ6»öá‹41U$÷-œn|eŸW‹è·á£àëbT£‡Q$°dƒµöP…ñjHAl29/r_ H¡Oö\8b¾YKž½ä(" ÃêjÜ.ª Ž"Ë>!ª¥ï/2 ¨Šõ0€{MY¹™ØÒ™ÈÒ¸(Ë ½ÔPèAYë¹8ãY覢 lßf‡¸#ÁÊZÍÛÇMHÔëŒõ÷ „—F–A H
+Ä$’Ãàõëþ²sà˼¯î 80¦µ“œâ[ŠH$Ç$‰f|Èuº©K<¡Ï“äx¶{w*Êk5¬öHbÄaá3èGëÚê'cS˜F…ä!ò¡V Ò3£…øz¸.ÉÆwê ¥&¼Ô t¿ç¤+Æü¥¬O4ÝŸg‘JkyW ÔØ3ŒVä1U•ü‡Î²kö×
+ðš1cÒSQØvS¾Ï>q.ØãwÕþgdtMJc²Ä:+Ä-pÀ¡:ýckÀ^èæͯ¯ÐÔ'ˆ“ô&]©Úl¿ÙÌÕC] Hõç=ª‚䦧㴈·°ÙÈ]8£’ XÌRK¯°3U\ÓUô'Œá”{¸! góI¯dh£s#Q/’Ά¬âÇé-ì1´½+Ãqaô8ñ³ÒÜÞ*í40KFrÌmÞu•Âá}ë,<£ˆCºó­ÅÞúÚŸ¸Q‘ËTʘý5ÜÂð–õa©$ ¿Ñ÷áQ•Ù  <ìd„E#»c èë/—†›;ȳXjp¢‘¾èæ쀥º[Â64²L#ù”X\<‹ìóý¤+ͤ…÷NF…™yˆ­¢ ÕÇ“Ã6Á£!JXbÕž?ã¶ÚÐIJ]ì"ÆîÏ1Í›Ÿ¥³íüŽg)Qˆä=Â
+bŽ¦€ïó´µ95˜µÚõçL ËX¢ ]ÍîŒzGw¡8½€ðódDfîa'o“tÈ›"éo‘ˆ.ÕtÌÍ€ ¤MY+ûð(žvkŠ=šŸ°]®»­)aýÂ.:oÒ\’4dÄá`p¯æ«9¸cŸ¯¡±/~%”Á8þ˜èœ•ä´ÊÞ¸W`ðœÇw‰FåÊ'+EÑÄôqxµd‡šÖe Ö˜a…¥Ž±‰Ð,cÝÝ–Å:Ú}êÌ(ç~6wƒê4®½¸t}(+x †ºî=¡ì:ÿ–^XbêÖmñVÚêgÄ»ëB°?Â1³—C´šLž³#¾ðGÛa~ÐLEßmÔùl‰sgògh«:~A«”ÐÝç—3|u8‹;µl¯‰ ˆ‹ Q,-õ}¯à¦û…½cp~E¨ýŒÂIb\\íCZ/A¸è¬Þ,Š¡gÏ8 8"gµ7Ω¦mìµá ˜§X­Ì3ÈÇn~Ï:¢ ‘¶Äš›µf&¦Àc¬î“@§–u-7D´%’%99 íÖÅ<V²;„<rÖgk6»–CƒòÁhÁ}»Fú_¦C>òE'ŸÅ±À”;ÑëtÙ´et“°Ä„tºÊg‡d+Ñ=]öa3ï0%σRÊ]óù•…8ºöÒ©ƒ©Â˜Œs,¯–÷°XÚý˜ç9á‚¢èØÎ3—®Q¿`ÒiG'v˼¾#ÐìÐ[F4f’ÅLyµcÄ
+íÜj©óO&ð$ $¥|sûC2¨on6;ä‚ò àxÐ#ïÉ­yG°‰è“}w©JµKnÖ«¶*oêÃöufiÃÛN%@ LGÓ
+ß«;¨ï)tÒ:Ál©&ý[ÀR?Ù‹‰~1óÙºU-%r·çëöÝàˆõ´×Lu‰“ÃÜ$`¥$ jzŸ2_2oŸ‘c ×òY~„Øt}o»Hñ\QgÕs‡xó+õêÄ^ÌÒÅïm²…YUèó"â9#o&ëûæn734<VÝ8E¿%¿ðrj­ó+¢<hâë~„Uf§±vþ
+D<Í1)o¦Vµ÷†Ýy}+ˆR &›¥˜Ä.Ø*âaý€èD!s»,6'ó?Þ0MÒ4¢ ËïýmhsäÙc€¤³W"â{Þ‰56yL‹ï{;®—ýh9 ZI½B1”i*jfGi‹'Mà4ªÐŸÝ;óÐ3±úúJÿ³q>†Û~Åv c#Ö®»“€w·èxÁ u?Ô‰¹;lŽÄÌèîü=+¨nH,ÉßÚîø¶HŠ¬x›®À¶ôó8#ÓcñÛg­K†+ †²ð§—j»˜8@æd—áJñ†Î|ÿwÕÝð‡ ?Ô{Ä»Há,êÕNû¹Q1íŸÃdQ}L³«nÝHOàWIÃ÷ðåòëªh u1¾hXª awüþ ë£ÙüÝÜ_4\…¿ã±Xmõ«:JüHË{½!Y^ ` #ï£ö¬uƒ¯…Ô*×͸&ßa0:‰¹9IÊ.f¥©Ñy¶„°*!=W-N¶Í»·÷-UÓ°öæ¬ÚFà_j,äh‡W6 Ì4ñUCŸ18ýŠ˜×’åeY‡ëG—Ö«ÄØI»è#´Ôó[ÊUÅ‚Jóc+Ó4ÖHZ¬Ï÷ŽDºœ·’.J5/n¬k(4N]㶾½[ Všáí±_þt8îá«õá§ïÙeTÔg £ù¾¼‰TåîôÓB]DN­ÝU9œ»_Àp
+ˆ$B?ô —CV žHBT¿.;"ûâê̬)Xe~¡ƒ¢ (I…ůX"µpÏÚZ‘»ÑÈ‚"qmíÂê;-³¬s7#×DPÂ; KŒxj>y—qÏi‹íA·g¦ «ƒ3„ÿ”âD7/âšÅ Œˆ¼êÇ™iE½ŽîûFí<gðSL2R\”˜um’|Ø¿I"-‘*ŒQ:‡‘w˜°ƒ„~U—ÒÛãäÚ"(ûy—k3WÀqr±·IÑ&§døäNÃ0ɼr!7%tj[®†ð¼¸ ‡¿¬e°¢zñ÷pöZù¹Üvi3l*.p.&€Ñ· Ëðâd¹¨Ë ÃŽ¿N õÆç*猶ölIWQ8(³ J 8a•˜· 5«Z~+Õüëam:Êœ·jP¤QJœ§á‘¸ÃsÀÿ‰û‡FmA@ [r«@æ [¼¼'O24ö‰¨-ç¯Ô‰Q}"ð빟z¿–6¯\ÅC ]õõtј;G@
+´¡é LŠ.Ô»4,›æË…Ü)]Ã*V}¾I&È ™à1ƒs¸g´YÄ1Rë}}ã$¬Ë¶Ò|>”O¹‰@½)Ûá`LS)„åø<Æ·q„»µšX d«øÂ)¥å¶ÈöÖæÃO‘¸’*ó‘>«vä[Ç#l6<éë=4ò¬güó’]ÆƵIËxEØ}M@Aï¯kÄþzãWÒ |ë²{ײouª®¸é~k×d¸¹;€úS]³4r£‘RPôŒ„¬¿¿0í¦®0v™‹h$Í)ì²Óàú‰¹{qËš98¸‹ˆá¥§ëU/^º8 a®—tX `æzâR»'öÄe‰Aþþ¶‘±, 4A8-e· 0]cúå^‡€¸rëWÒŽ7 ÊÂÕ§{ä-^YíÀ©„¬÷‡hÔ®‡œ-´æC˜áì-61}éÍÉ¡3ä<ÃóúNÃ=†ŽØ¯CÝÏxÚöÀ'*#uà;ÑÛ{|B#Š˜ðKwiEú»)ÞÇL?¸`ÿ l&WC(ô%Û„–:JøcWUò(#ÙØ3‡Ìµ‹}ì
+É1L`ô æÒÇ×tÛ¨øy¨— 7Ïùº?Ëcýrlƒ&tŠ=8¥Ìgù×V‘jĆø•ƒÉñ‰ôŸÓla3J’’ö
+By¦'¯D5ðá#é yIá´|oªúŠ³Õ¶ÀÊG..qÂ7œ^Y±×Ľ‹
+$¨;;‚vå(s$[îdÚÓê&°?Š²ÛÆThYa%‹Ý~*CçÊ,59LYÕëÝE_· Ž€Y2 Ç„•ýÇ¥ºñÖßGgÞ\¤>/T88?=Ü?©5žîm]ÜàšÖÏ8®nÂz¾Öc¨¾l=jÜLx²4nâupÃRþ’nÝJ%¸Ê†>7V. O&«ppÒÔÓ/FI°Ü?y#=z…X»5`5FœŽËü,Áh”e-¯™Þêå©Hþ‰pñ»š«%âž|Í §©¹8E´—*¯SFš\Ú–ÝËHI§o?çþ§_`ù 5!Q‚ìñWŽc’Tœ§ùõÕ´u»ÒÈw±ú Ë>¯I â^J+à^×Ï‚æzù³û
+´+¢&ØÒä\3‹'[~)mOdb&Ñ } ¡.b¸Ý ù@P¿¤àÅЭ?Ñm„é²}¶½:ÇeÕù-÷uÆÇ9·EdrwÙxm£,]Ô(IÇéÓÂQ„/V‹i/öVxÞж{óVmyc~|´«4ÎññF-]£çõF$ô{Ç•Áò"‡«Èu'¥Ö/Tiþñ/ ‰ž_bbèøFèh³H‚y5(Ô²3ÞKþxɱÖ*+˜H©·1›)¿è¦GR~,”8º2ÇPÝïDÀ³Ø2y(ï³³žÒTkÂ좕K2íÛ/ Ôkú²,ƒÄUHH,[¤÷^&—ù­gÜBÕLMªg,ØG‰³Ö«LŽµ.¸Î&›†ÜA$¯Di$uôìØ‚´)# 1Ž%}¾2-²¸ßÌ0­ù¿²s5ûuTëò$‡.2XRPû:ù{àsµïõîrÒ.?
+ê CŸqQ7Å+’zr'œ9ž†ªiäUnÓ_å6Ù²êÓÕ_}©bîz^LmùsØ-nÉêÒºsKf~@»îùL5¦ªÖÌmÎèRfOò[ªÞ
+ÛHÔÀ]T7Chµ©Îéì¦J†뮽׈YyÓ4‰ÌÉ<­ºEãÔ¢QüwqÞJÑR$r”+j£Ù°aÅ™†(uÃݤ‡°áAHæ1FîHö¶OÓéÇC)]fÃAÞöý“t Y
+Ò”˜`4Â<KXè9?&)í´ÅMãâGÃ¥F]Ï^Žç¿ã!Û²S"þ$Ôd|·AÎT3ÛÒ’¸<Nj bö\O"kÂ!^%²ªÒÀÔ¤À»S îúŒ}ð/á®õÉ­:æ·uW¯NƒþÐœZ¤/wL{#ßÓ>ë™!¹pž)o¬9IÖ€øãR½"ï³6lf§iqʦéíìõ'ܹí=©:Ôó£T ]Y®InvÈÇM½¸¬„_¦6¤5W£õfÞJ¤KÅA^Ç’%Únw|Š.i¨ºÇhJ'óYÓâC'ã/q¶€aËòîz«QžžF„âçÚ×b,7Çk
+£n$¿†Rx~Ë4Œh[uØ?—ËoȱouŽ]D÷Þ†]Èâ ûFÿ¸)·‹À½öÚP\?àÜ-)
+f†dÕ¬²F Ml
+ã/
+vÎc‹õj÷Ï,3ň*õ8Ľ ÍKP’_gÚÁdëÂõÎÎ.ŠÐC„
+zHÚ&‘D å^ ªí^‹×1ŠG
+l»<¯e55‡foHσòÞÖŸ‡vÑâÚL¿‘aªêZVœ˜„mQaÖÖ=¥}¿¬Å83dŸÌ†× Ä÷é˜d0[MÅ ½áÈ€ùÃÜ߉TSÓᆎ?tÃÝ%•Êغ—ÛÑƦsG3œ1ãDÅIpdwE^ßÊþ¢ÿÛS‹’Ö¥ /YK³0üK 7­ª±¹æ‹+¸Árû”¯¬­ûM¾Æ$®ÖFË©Ù¦75\Výí -KêA_I%Q»Z ‘h±ËD6Ñ¢2é›&U¥ºzˆBÚCSäøQ–Õ[S'ÐK¹³Žs¦£:»¹P¦¬!àkXPð4”r¸½ƒÏ` ºTwýçêŒx”*Ô&‘#àfîÉ×kBi‚ÂõÅ{à1æˆè#žw­KH×\’Ëœ!w[™‹Ë)ƒ?q[ø,YçÔYÿª²‡¶Ë•:Žè“tG£­3èÔ* þmèÊžÜ`m
+¨ð]øùd’åºLÆ›Pçìl‰ï¡[íD JûÖÌÉ”ü®Çt?—ÇWˆ.ÞŽ-Ç“[SúËÞï23Ž‹^^Yg– ‘•±èZñµÛc¶0.êÝ=ÚÐXeœÛexZ(÷¸ö —"rñ0‹wšÌ8-šœä*>°h.ÁŽ0Òwág´Í¦¸µ
+ó‚ÐÕu˜ÎþÑòã². …oêeÌ·”ˆ!æL F¸îú+F-:ÈZGCÅÒÑWWVþ
+A¡|\¿[9Îà„ÓF5ó³5ŠÏó÷ßc8ô9›BQÏ9´H"ۈƒI1ò”
+ÅÑ^†#]…Âb9Â0GÁ«×TàœƒÒ-I0 S ¬JÔDsa¹#^}Pc:®è—q s5
+–YæikQyèúÞÍ…¬Ar¢$sCK¡¬+ÏHbwíó¯n‘aÉ çÀ$.Š_ºœ0‡âÐ~êîIr؈!<Ù3<í˜mÐ×µø}ãuÂgü>øb£HÇRÛ_6tºs¾'¯¶ßk“¿
+ÎòÑÁÌûøjVL,
+gRH`\Âê‡%Aþ‚¸ÿ•LTa†ø¤>T:ùQè^·.¸Ê´DYAž£½$À<ô{ÃiçŠKl¿XöŠÔÄ%㻺J£Š‰ÉÇI§ßð’T×ùÒT¬,¬>ÔDu±eƒ„Ž¬‹C5áj¬QjCì©TÒMvhfÃÑάêa‡LÙ½#†[’›» ʯ¹Œwq¨¹XÑ)-Ìžfw¼"å¤=ÌY¦,ŸÁîM òZýÌ™&W(sì4\e³ð®¬Ö¤æ¿ºâ‹©íà~Y7É®«
+]5)±Î
+6‡´±]ªÆ¾ ÏþÉ_ÿ½Ý ´¢xnuFÈË`“<¯üv7naóRš@‚ž¬ÏéI8vÁ"}ˇ¸"ólìötg+(Ñ›ÉêÜÃÆÝÛ½Ñã¡÷RòC0)øçR‹ÜÛÏvýÆ[½Ö…ðö&->£Ú£ö’ÕWÄâFëR$›¾„ñ\x}\XhàèÀG‹õ²vD=Ø+A},A,[߶UìÞJÂÝüš³éMO£Ü=A
+’YUý”:®”èAèÂûXqQ¾®ãÜþŸœß,è'ì-¦E“qàO¹)•!ìG³VÍ´ºg,§œR¢X=ÒÄ"Æ œVp5Žà"ç¹Éü ´¤_Ëdw3{ñ¾T ¨Žþ)þ1²ðùfäI>EÄ ÷ó…>W¥;A¹jæG’ÊÛBÿwÉ]]˜RòöÖ„½®íX((—€¶Ä?Éž¸‹e»¿èœ¬ÛXÄ
+ܯ*šŒù¢V}ÒD¦ÿôð£ÎÈ
+}ˆ2àq=G/¦8õ1ÝüÍ/SZ?ó{P9yêU“œµú}éÇ2&@žÊå6Þä¡ñ;TÆ
+Ý‚Æo
+©õŠÊ§üyž+¾û™’i†
+£]Þá­•|÷¤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[­+ž:[´‚r 7À«_ó熈Ñ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!§ïÒƒŒ‘Pu aÛ›”Ë 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—ˆ›´¢('â¥&Cv­pñf–¿‡OFÙ2ö
+# ð:øF(‰¥YäsäLèÆùxÂJßÓ%ÌgæÂîˆñe:‡¯#0®ÿëÊ»3¯‡óíLM¤\“wŒgßRkHäŽÅ_KØwÓªÂìni–ŠØ± ¨wŠlNþj sßÑ8v<o¸ÞâÖ²ãU8^ë|Wš
+ÆúÁÿ%ž†ëÿ öÿÿsK¨«»³#ÔÕûÿ
endobj
1218 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 2
/LastChar 151
-/Widths 2937 0 R
-/BaseFont /ARYEPE+URWPalladioL-Ital
+/Widths 2955 0 R
+/BaseFont /LHHJGP+URWPalladioL-Ital
/FontDescriptor 1216 0 R
>> endobj
1216 0 obj <<
/Ascent 722
/CapHeight 693
/Descent -261
-/FontName /ARYEPE+URWPalladioL-Ital
+/FontName /LHHJGP+URWPalladioL-Ital
/ItalicAngle -9.5
/StemV 78
/XHeight 482
@@ -15033,7 +15195,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 1217 0 R
>> endobj
-2937 0 obj
+2955 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
1081 0 obj <<
@@ -15049,77 +15211,92 @@ xÚ¬¹eTœm“-Œ»kðÆÝ‚{pw×Æ¥qwwwBpwwwwn‚÷/Ïûž™9kÎùu¾ùÕ÷U»jW]µë®^½š’TI•QÄÌÁÄ\ÒÁÄÈ
R
ššÛ»˜Ó,œ¶ÿ>
üfîajîøÄ
-hjcÿOó9ÿ ™Û›ý÷úÿÊô¯ê™µT´•TDéÿ½Ê¨jûw¾ Y¹¸ÿ¡ôw@jžŽæ€ÿ•NSÞÁì?ÿð‰Š:x
-2¶7û;nÿiø6uuvþ«ò¿6ÀßëÿÇù_ƒonîanŠ°¾â`Êb‘ ªÃÍ™×èc… u,mT+* ¨qèõψØå­4z« ejšáûh÷\>s|?üFw4Ö‡cKÝ›f~ùЗœ¶¿ý'U'7ýQ³A)ræ¹fŒ÷Õ’Ü”‹ÆÑÞ”²ŠAÉ ÑL'»3ÜÕ#m
-‰ªV¶ý^]n?É÷oŠ üÐìæÇÕQÿÑŠ´Këñ¯0AÙ¬ŒÚ#Ûõ½ü¶Sz_“Ò¶Âæ°Â¯£Z¬4¦×âÚpj~¿H]c}jÇyŒ{ì|yz0Òä$·‘×ù³›'È úKåWµ0wïèåóä»÷ ¦¤†®ßëÓôäNg@«ÔËfR~7øX3X¯§º<†ž‡:;D݇Y‹’‡±ÇƲ ¾qv"©Î.嶱8Á[Ö†¸gÛyŽ
-‡Ø
-œQdÓžˆo¥j›*÷ú*yèõA®È›ŠØùÞ*9Ö¤û¸·ÂÃmÈŒ¿Åû ×táú9ÂÌ¿×jŒîuÊOà7¬ä'½£[»÷HsHs¢4xÅÈé ývÞh÷»&N™3ï²,ä¯òàÞ¼«»PøÛÖ……Ì\!nÊ—Iž‘Ýù™,dsa‹™2,ÉÜïéÏé›_Ôn8Zr烹ªv{ˆW1óLN¡¦‹JD¼¥"eéUMäãëj“µB‹ND·ó›^ÖåÓܦÙv‰çxD‹ú)MènÁ Œ;Õ×`xÞý¤ŒAhàI%Üú áG`¦‡SØÉň,ø,^‡QXÒ<5µ[OtÂ×{ù…Žö„F×Ï+N•W¾¤Tær U Œ€´q^¾tÆ^?Ø|%uÂŽ¯B_µ÷Åás-™^±`Ö¹Ðü|ñ.ù½„õœÏ¡-eýËÅÌ…£×ïO©èOÕRÁ]k¯þ)¿ÒÃú çøbU'þ÷˜ÀÁ±CŽÊ|Øo‹VÀ,÷QYáŽeƒTÅ€4ù`hõhÃÌ"ÎÕ
-¾•Qÿfí2FZ Ys“^É2ç1›èŒ}´x•oøLÅ~êú¼Sr6Ã,f“Å$ÖÁ~¸!’Åu£Ã¾¹fu[¨½$|8GŠ XP&k©:Ä0[gIJõ„ç)C‘ ŒÄ«é3TûÂü‘ë8‹( Ù‚.àu6s v>ñ±=ei™t„à cþ9
-ËžŸÜxªÄ®»~dÿ|°ƒÝ{ú볩P¤ˆC{TÃÂb ~3˜˜ Ô¶q-ÖTkþWBµRè1
-œ^Å}÷b"áŸÙ÷?'q ‰–Å/F?®ÊD¨%·ŽÐrm‡6ÓÃȈWw[ ØÊ.K.¼€–X¸¢¶ei—ùy¦ ÚI‰sÁÙÛ èFCëšˉ°Áº¬Âì§4{ô_ju5§qWb¡â:‚F®¹‘
-£MQùžÑéÄ›—\Jo£c ÚSAЧÏñ`K¡ˆC%oÝ«ü°¢’N½`ž¾VDÚº‘´^álmÌb'OŠ žQS‚sxCþíº7pážÄ!Jà wF‘›UíG7íoY{º³ÕãbžÕ\Û."{Š~ï!x¹Î+~SÆeT•±ZЯÆ7
-«ˆbÉ4‡\·L0<Vö†GÉ'e÷Ôß6ˆ'„ )©oè–¿aŠC!*uȨÈ9ý$JÄêpêütÏröýr–™·j«œ'“°ˆâd§Í,=~è»EÔúò#¯ùI/­r˜íÓúY«hu=}þú]%HÇ*»a4W(¾‹uó2§ÊÏ}5›z—”í»¹8NÒ7“;ðѨ
-›ˆu61j&všQÌ/‚·bénx;Á8G̾
-Xþ®qp…rÆm`‘ /Iï¨ë‚‘;ýR¨•å)’Ô`m ^f©>¬OÛÎ3[~½›ÍÄŠ
-x¯°&ù.±óh|-ö¤² K¶ÉÉ6 N¿È¿ð.·ÐøSýAH×ú¤ÅÌÞ°—‘,ŠeV®D’R¹ÏÎ_ƒ¢‡):?¨\)Ì/
-ásÆ#ûÝaØü¾C-(^Ÿ¼,•}3Ûð–VG¼:Žˆpöø ‡~fê"¡€«ËöDñqšû„\ãL={,Y6èsÓö&ÿRžéã ÎvøüÆ’ ©—2[<Â]*ŽUÍö~Fº*Äe¤A¬
-‰&$_׉<%@v©Ç1‰4~å¢få¶_±Eû´½ó*`,ÇÂÍ“)‡D7^[#¨eNÄî]›Ä|ccÌ.g‰æRuõ~êP„¨ö­þ²øwâ¯Ú ¬9ˆÆo Dà{éøk JPÔ箫¾<àØ¡{ÒŽƒ£H ˆš9Û¾>,v§ßÚˆ37ïegiZØÃÎ’~92ïc¾q`¼„¹WËmÞ/ŸªÈ"Ëùtþù¡Î T¼ 1¨3
-ŸáG®o4± ÖQÓo$øµì;ÑbV!ûykAžÔ^¶ª¡/©ƒÁ7ÙÈS÷ƒœÔdíMèSAˆ2xî^vΨÊXdºo{g@½ËZǃ¤ÃMp¦|€…¤}øí«š
-¹˜%AÇ©OOûØ+VÄ‹~{HŠ¹l…¥mß,+?(òÖÜþòHaöjZ<Dgº¢(ˆSN÷jÖI€µž„*m÷5eÉ ø;ë'{ª´äú\U·®¿nâ8¬÷Ó‘àfä
-,"õRbzR_'Ï4\ÎG-M
-ælSŒNÃ Ëù}ì3½ÿÚ»~¾-ÇÓ]–Í
-ÑÙÜôW3>Çz¶P\üõº"kw5·D
-(ÙüՅ'•±²ò±—gÊ1HðḶ Ýœœò*ãN_RÓýÈõ´Ùž®Svt¤/wpõL;AÔÑ8—šåÄx{K³íeS”Áñ9UMe›ŽˆÍ×ßÉ¥al‘Âèi×N~¾Î3±ÙpYbdÕŽðéa/å…8•H þÐeý%‚BÒØdÎö¬/~.¯mŒ“Óø5­ÝÑ„ßÓIÆk´í0ùX,ãHKKÙ©qä6ç¡•ø;~¿Éo Šœç”÷-mzË9é‹.òÕºû+Ó·œª7ÆÔ¹ D´!úÅA±´âë9œ¶a¤<Ïë­á_í°Á‚L=€@°ù¶NM¹•íô™gFNó®äìS!à{ù²gâA}*ßZ¬¾"L;¡!&{SºGÚõvÿáIt˜h<Êo`Ð W•˜÷¨º=áp¬ ]3#"ŒBŸtª”‚¥‡˜QðëÿDŸ°Xüù§—K`!6ïH©/ôyþËZ»ùc¥ÏÇÖ™„ÚÝ"ØÑ6Ølšä–ãNdn>‘W¨f4Ý…ÊðB÷=Iâ¹²ÞDŠ¡éóñL—eMåu/÷r5ÒÄØù?¶ßíž;> #ØŸ#J¬ïíýwÅ\á0NJ]þî\wL‰ËW) á«jû콪:‚ÄŒq˾t/eÖ’Ÿn…‡þàObë·¶tóÅ@Ý—†v9p%Z§ P4n¦khÛ%ý®äÇ=v±¯l8E45)ÂcŸfÕ‡³QùâïsÊ9 YbÜ„ƒlï^ë)ý—$ÕŽþ9%AÊf|(—À»‚††î^müu¹ƒŸŽC©¢p°°ð(3ïû{TªÓýᓘï,îÍÔ}»ŸÇ4¼ékv× Ð·5™\Å«ñNKå'®ÌhüMÁüúîVµü~¦@Œ1ÙYЯx¹éœI¶ä¹O¹˜ N‡6õqéà/ð¸7^–@€OÜslDåÓîjßËVS!V6U%áÇÔaDšò“£u»7Z3c‚8p€È3˜£Iº¾œˆ²#>‘¿ŒRý­Š˜–—œ-¤®ÐáZhOÑŒfuð4± wCóÀ:t²YÆ
-àé nرn¢YoIêŸ<vIS Y°ÆÒŽ5G­æå0Mö½Aˆß„«ÿ/kZâ üÂz×bAdð)9Å’6Îö‘Ðk¿Ý§Ä7#ÀjhD(ÅêùÒÓ|[Cªé¶w€áàrÏxéÈsCptE’÷$eŸ‘ƒcö2o¬ÝœSaTS¹/]v¶Ag`æÆ¡¦Á§GlÀ¢?væͶuŽ+¨Î_¸¤ k1¡v=œ°úš§¼›:ܵÍ2¯·^&,ˆ(:˜Kw²´.Ðf‚fr:=P]_ðµW2Vƒ4‹"úCñSðåÙâ­°¬Ø «õÏR ,{zvþÉ ûÕ™€”{uuVœ¬už‡ìNŸûâˆl,
-_… Q×G×züù²žxZ5„3&° S&áŠT›D«HÎÓMn@gl"º7÷qÔEÔÓÔ´´¥!e†j³7·_ßÛ*
-«4èÑ?jú9‘`¸âQ[è)µF¬j,>.¡ÿžByù˜únŸ‚)L©uwŽ6 f
-(ëI0r/*•6#ˆ,º¨YCYæɧàIfðcWζ{À`Œ" ίí+¸6¶qÔ…Æ*zcÑêZ ô,
-keFüŸÒù
-d§'¬ö ¬Âõ=¹»+¢Ûžß›-°6Ç´mQ@hbQîÀ@¾<˜õJšBHçJÑ#ëµmVi¸×0®*YEáœ
-ÒÇ™¼ïw±w9=rž„%É÷¿´á …ˆÛaçE„Ì|ÔÝîÄOÜå!ƒî8$á[¢ôbIe©93«•ìƒUëÔ8Ÿà% !U ÒRÓAšx®PöÔ™JØkóÇ×ng"¼Ð+7tF|…;þí|PvùçÆg/CD?Aæ`CFF9€”’Ò󮋇ùã9#H…Kà{p”¦§ó×XzƒÐhÃƧ ×´;{ØÉ…OÅY“óç"÷
-ãÊÅF_ÕXƒÖw_¡ØKèJVDËXcïEhÛ‹Ô— –ÙR¡pŠÔ€V§éêÆÎ~'%œjeö¯´!ç˜ö: cf f(æ’"äËèÁØ\ûÖôùiÁ<„îvÔÏ:¥•F²,ÎÒ$£ÞzvbsÓÚqÂQ V-/°í-2vŃäƒHì£ ß¬«&ÍÀµÓ©ê^; çÞÇóó~ì/ŒŸ ðþh¿ÂÞ Á†ž^tW÷´]þ¿À·Õw2tIW1‹*íàNk-ûÈȯÃîoÕ8çâ•<ÿfZÑÛu1¤u“&LÑßÂZ*4|Qdù ˆêó½ë½Sý0z'D%4•cŠHÆ#Gmqu ÜFu7â¨pq³ì~zS•>¦…¶˜¢¥‡EíØ^þ®Hj×-Þˆ-11e ±%ɾYö^‰Á†ÚÍÝïx௰éý"ûcÑ®žêön=F8^£GônW?&L1wñWþ“—¾Í؆ŸÏêÆ€#§R·¼ÚR룸þæ
-EÚªVMo·Œ$yg@;”¦ñ4] „逵PØWJ]¥0îNÚ”}0ý?ÜwüÄ
-"¯RÊ*×Qú(­À4ö³)FO›’ ‚äêàþ(ÇÀN-ÅBÁÚc·}2«Õëé¢~ÒR¯ÛûÇDã]ÛÁ›75ÑâÛ?}’^¸Ã/T89B"j':up·ýÁÀËuŠwX¨ôN,[œZÕz¡jð^[éÐÒÊB¬ ?ùéˆ&µ_8èè¯\¿T~+¯þzF¹­õ ã+¹6sÕétäïøë÷’ç6é¢MLqý/V‰{k˜ÖtᎭ 5Â3r;þªOé‹-ò°Yüeå‰4Š\uÔ®¾O½ÜlMÀ¢€rº%bABõ΢8ò1âGÝð+kLiyûƒ7õ;3»à%h#üï[)ÍápµÄsÙHObgÐô»ÑŽ¹?§Çe×ĵ{ ì«þ&ÄqKZÖ¦ ¿ðÒ;qÛª47·‘)<´ 2‰Ç-Ò¸6,éó}›‰Êá]Â?…®ù6Çœb„5ÂxÀ ž^èvíÙœþÉ ã…~È’Õ*Epב~솳ŸP§Í!ðœÚ ^*ŽÒ¹\ÝMÙàvu¸2ÈL].ÍàE´”NDJösö–êä*\Ðqeùšß±œ²ƒ¯êrýrxÍ!¸ï%ծΟÖòÄͱœ·qšZ%ªæé»V7äÌ¿%þ_ÿVš*Ý\„ÊÒ$ǬÇ™Va ÖÃVáÙàYú#gXõÜ¿Œ²ÕÞ·èêµÁ),|d œ¢Û¶†ñ;îìSJh"¬t§?ßyiKYLÚ´pØŠG?'â{âÁ:ì&~&¨*Ir‰OŽŠÜô«þaÀäOÀÝ 0ØÔ››Uñ@t°'Âÿ}û¨ÃšA0IùúL{—p.ðZ¦{xyYOÛ–©Äï´+Ü sHuOŒ¨ÎU G£–@¬Èo`ñý"qà‘±îø•¢†>MÅ€žQg¯¦ün(Nß_äz[ òô:ÕK œ­²S—|vîc50ð>rá*˜RLZr§±æ¨F÷ÓËÅRè¯%ùdÏÌnw°GAš¤’€\êÌp½{ë;îÿ©£1ö§¤Z…(Œ£ŸâÓlXzøÓ£g®éË7âE–$M@òŠŒ!‘ø„~!Óm¡.YAuõdOÉP)$0+17`´¦>‹Sºšà`Ù|ÃùõZ+iÌ%‰Õ-Ž­Lf„1®Á]L?ç©Žý²ødµ§jÄaš›ý ’«+}W¸½C…÷ .ìñHÖ¯b sú =l!î‚0Q­ %— ̤¥¥®.©Q0cÑ…2¡ùÄr*Û>ŸÙ8ðrõÜôÎGùÓ%'§Â5æ+)Éñ;wF$ö’/=Ô=†1Ñ¡*^À½”»ÑœäJû¢œ%uÅ,ºs+§ItO¸’ýôí^êÓqVÆ/õø­˜¸èc è¬æ²ao¼¸=¦ªò^y#et…Ëõêj‡sKÆÝ{%&é³ ˜P ÅFU1ÂäÿÈ8Lˇ™§”ÁW‚e¾Sî3_×ÐR…%«~Þ¶‡ª­R¹¼0Ö¡|!GZ¬7™D¡ÂmlÉ« û¬ÅÚ›å'û!ªXÌ Æ¥Ð‡Ÿ$Ûn¬ßi¶cNÖT{·d­ìD§Xw¿§ÄšU ~pÌßíÛ/“8
-—[«R^i52)úIí 8Ž?œðí•(Hù%‚¶§q‹©[&H…U½3È’PǃjÞX¡(ìÁõJ[Ú(y4\9{1¯€kÒ‰X)×'Ùʱiüƒ²{æxŠH.ž?–… Ý®CÚS‹|¦iŸÎ+—^Pcª(¿œ($&:W§||RÏä|ó­„Ñgx^­ˆI4¿,]…ѧ <‘å ãÜ5u@܉Ü Š4
-î~%³€8Áj·ÌÓ¥í©ªf‰¾„ö§Ï‰óçô$zƒ1Ž¤PP9*'+p9øx3T.Œh“öJ™¿Âõæbo¸ó¾4¯íò¯ý ~µbàÜÄÆÅëº
-ÅïBú¦·bF3‘¿Rm«v—¾NhŽµŸSs-©®Ø Vû$ß±:ÆMÏÇa£é¬¥Òžwu¸`†>I2"m)pŸ†¬)LJ-sE¤wBÆ\ûàx¼uÁ ìàà)†ý®?w-þÄÛóS*‡Û×wün>òîº佇1©úìIn\@Áû‚#–ÊI£óþmü€Êå^MåQ5Û†ì+fÌÉ)sm%$¥®2AÁ*r¾¯i`ƒÿë÷/Éf×(’eŽpý
-’EbŠøÒò÷³órrx¿Ùî…Ía"”æ$çÆ:O[½D—ÏMmî”ó¯åŽŒlº7›ßÔÁ¬„dp‰e=ãvÏA6ä“Ûc4ªÙ ž)ÊÏÓŒMëU—)Å#ãùp¥)~Ø߇gºte © wuÃ^-Ù†œ3m6vxÐ.ú»Cd&ÏÌ ]ˆ
-%"ë»­µ 4-ÎøYmº¬<ÄÕàÈVTøEʦl'‡U3ž,3îÔ€K6:á…Á ز0ÒöuXêçùpƒ$ó¶žÅûšR™=?ì¿3OZ0œ‡‹œ$%fÅ5•.," ÅÕIKfL&Ýd«ÒÛ¶
-Ò*Ñz>~|åÄ!á“;Tÿ¼°wc8Â
-Ÿ(*mBÊp‘77cq²¯„#eµˆ½eñ”æ¦KN84e
-þ&mÕõ­1Û™P·£SÓ<òÊVµ}÷Zê§@ÞMë€<€¬åË&ûqÝA_ÁXRz½–¬X;w3ª¹BË?#,d?¥®‹#{œhï1»D‰LÄшÔ]Lª0‹G€~8îK‹žo H]¤äë®ü²þ“’Bö¾w€Ö:8Y2Ÿo¸È£Ç}ÜÕV%$Á½ôK”t³ 15^@$N5k›¿W²àéîJXɺÝh‡ŒqÇ^èð ^—ÛÁîHú¸5<ºL~_ÜOùoÝ#ãP ÷C(oqZo~„Øq}·wy™søÈ
-Îs!V •ãrMLñ<'šP¾ÔŸ@¸WYÒ‘wçÿò¾Òç–Ö–V.wÚº7qËw ¾y2obW}ËÐë£ ~W·Àg¸sbj„ȳBMt èi(\­ùê“í&×ÙzzÁð4#C®­x@åHCK‚[ÐÚ¤[Þ#Ç©rÖ{°“ÈÕ84S’cmáË“áôÚ¤È*§6MM*sËY$:_Îñ¤C“Ø“›Ó¬ªc¾ìi'õs1z³vØhæ:¬—µ¼ÙùÆLå†Ò–³i]¨W@†–M˶ڧ‰I܉U¡€G‡•
-ª'>Ûf4C¸MvtrZnàyTÉZÕ$KËýaGåEìÝ¿krÀ‡~fµŽúî„ÙGé¦éåGa5ÜÓ1ƒÌZ[\ U¶…\Ðר·ü¥ÀæêÛ‚Rèmà>ñº4ëµ÷VyG~ü½m4ø0QÍÏ<5&6,Å*Ô" €öºàÏ`]M$¥¹¼$ûË«>Sîy
-i¢§£ !㺲”ÐÙmPžY1áÈU—¬h…øƒß'p¿X²0«Åû×N¿”UVÀzÔvƒÜšýâ„å®ðÕæjæ–Ä9Þr`òٷ…Zî¢ôÃ5†Q¯„ÿÖež&Zç:€âÜ3ùO7î•r+B«(ô]gþÒ¦ÈÑH=Fˆez u±!DÓÆQfl³C%q§Kõ¯ÏÖZ®^®¹Nˆ;–¤ßÀ¨ZÕS¡…ÄñÎ_\‘닼‹óDo®Fø>¦R°ÝÍj‘~É÷¯[÷oìÄæò n?[Œá)m’@©—‘Œ1´bÖ9Í­n8-MŠÝšá_jÂå­êÀ:BÝ{8J4 4q†ea: ý>F‘-¼ªø¬Oð…àŽóMA1bÒvBŽ0{«i~n"É(ãUeAqò`Z(سRl8ì|–½v:øŸ”‚'Š’^ÄÏlÇ7…·}¡…4íKœç:©ú,X…¥­­¡bt‡~Wî¥öÕcE«ÃÝS‹†=@å ´Ê×æåóÞ=hj3áRe*ý¸
-Cà ê8ÎÉ]Özá·}6ù\ø*ø1B%[3DŽG
-ŸH¡ó5q¤Ã·i±‚”p³×S“š¡¬p£“ ¿ EûÙc¡ó,ßlÁ5Á²È¬íŽÏl©-fͿ궘SOpø¼5Sy˃øú¶(û
-.3Ÿ– §ï¢Uí,?H-ýÖÒzÆ¥¨>#uQ4ŸÕÃJE,°NN•SONãó‚©;0ãb°^‰Uåª<& ²Nåð I[•Æ«çº´ÉQì\ïåºÞïñ8+ìNH‰\¶¥S‰)½0@ÌJ,yßÙ ?3FçÐi®“©
-X%Ž…¾‡¸ÝëÄìk|ßâðmbØ|¶®¶LïÄì†Ùû¸ä¡›¿å4žUt§Í-Ú'ÏxñwÓƒhÜ£¬N¦ú€·$:–©<©?æÌ"7{•åQιv – YRÀ¯Téœ'Ob­²)7_ùÖÊ$ùÐGDËky—Ý·¢ÉŠ†Ý¡í¸ sx¸ ìqŽ#cßê©Ê±•góf©õÏ)mé¼³_«´`—¦„j?ùÁ“³Û)„„)F'ÏÔJL%%›«Éw‚¦¤‰¡g¸ ¢̪Bé±¢W>"BYÉ:VS=e=X|ùÁ±¨Þw ö¼Ž”ò°=èäÚD¢z*•(J":“–ÝæÜ\ÒËâ¦òUàñ+º¡îîñ,XbAeL¼Ásg]ÔPŠûÕ!‘I´+SdDÞÀð®¼b–ŠÇêqüÆŽ·ß0º¯¬÷Y®M»®¡J±˜|‡à6RBÃðšÍØøæU÷¹¨E— 9Ò­êÿ„l™– ÅÚÎÔƒ™­GÝê™ "âX[zq3H³Üé[‹ãq»©¦-ÚÞ,ÈŒ3:I{r¼â:Ü?#©+²÷%g² X6F~“K0'Òöé½0r=ŸËH“¢“éÞiŒúR7a´Böj»å¸’CêOm‹FE „m&V”'TKõœ
-
-¿*,‰Hç[`öR{w…ÝƸ5¹¾ŠÇŸÉz¼ÃWDgãX°+>BÃ]‹BámƒéIÜ_<©œ+V§UžÌGT Æ‚(ø‡Þv9N{ Óü
-Óúš"ýSz×âת 2\Ö´ÝõØŽHhKÌ´¥sšùíio=¶ïÇ·‡¾Ü⪧–AL!¾ëø ãt¾tblkMÀé¹7AÑ|e·šáfa$|”?²Å0ËvœÁ×°(Õ‚î)=í†þ ±T1ß<” î³ PÔÚƒÞzçäu™»Óƶ»]÷so›w~ª°äƒ]ÛG…,¡ñó!XúÆ‘ŽÝo-*d~}áóÖö2 §Cv¿*ìiëÕÎøˆIXrg]é‡ ³Yèîã`"ùÞW×·sÔ¿A^nÒÕùIÖÇZˆ‹ÕúMºpnc1à€ôC…M¯³ùmlU”Ø—Xz ­ìS;ÒÁ’½yXžMÈð›’]h|¹ ˆü¬a^6ÕévH£ÊšÈØDuöGÑwdp7™õñàéÖd“ó?¢Ñ>;ô¥:žu ôÍáS>3ÞÒ÷“ÉU·ák&½þ½e|‘ÝÛZuFÒ0  ¬±üÕ¸¢
-iÑ$Œ.ÞoŠárò"~ÖùôÕ³zUF•=GÉÝ©‚~éRÜ×h4ÖÀeiâw±žRü/dRÁŒTkÍ#wƒ0&§šžh,Gë±Ãñ°`¿pLsî'úm¯=±çɱe—~–¯#\‡zó,ªÊÃã•ì9»^Bü¹“ÿC=u°cDk þD8œ/'V¶4¥? a¶d»Ø\ñQ­mÓõ:F,ÇÇÔ²\ñÎ<šr9oâ\è‰ñÓ­b]Å»¦f;Uˆ#e2S> xV¥˜ÃŽ­ˆ†ê§—jŠP™­¸¡.!‘#È÷©voÔ`ÒSº’ûþž}°S
-T S!õ\¶ZãÒJ)¡#¢:sÌæÀŽ_îR·è¢#Ô¦Bò
-êOqÚô¡9U¤ $Ö=6Ððü|Hò‹°s%nS,{¨üˆ&õÊ’—8$²cå’6¿p[Žx7íj£\k@?®ð¶ "Ü<4s=3Ña½BÚ_Z¼–âç0h^×IÓ¡gÀDFÌû"O,v}V%t ïæûüH¦¼¯¸Êi¹ò¢Œ
-Vº<3ÿiúü`+zв±ƒõ¤âBy¿e5m¨á^[ÄyaS©aŠ€()ÞŸíÆÜ=7w3ÔV³Md& ðÑÈå’½Teöä´þe¢QŽh¬õ äØîαÿ”øg´>»6¹”¼g´(>\PóÔkºßo†‘vÝ8‹¥‡HZR¯±˜(rÔs•Ì7R¶s×»LíªøŠæüz!ÁÈ U[–Õ²69§QŽƒ.[¿’6çÏhüS—Wse®÷±dßbfïyîI‡dÁFbNþ%ÕgÔÆGœ¢,bœrü(šÙÂ%+'‹ Òl£g"îuªrC`Wro¦1€5ÇCÈ…çpû¶šÍÄ]sG¹ÑOnäàrqœìZI=…M}…)äCQÊ~ ê!µŸ¾Dz9·%eÞ!­û©ÆÁ”,Ý,>׿¿âb‰lGûrs RøV0' uV·ƒÔ) É ²;^%!#úㆹå"à÷È“µ‚i4Í p#Öo·¤_Œä%±!¥Óæ`…(`¢ix¸ü={Pìr {[£3þÝɶ*\ÔvµvÈÆe~0{zŠJ"É®Ñc
-µÄÀ‹í_~ …U¢÷íýwõœÅ6o¸JÚè¨OÊÿ7E®Õ?ÿm]~»úàD¾?œñŽ¹,à¾$ôƒc2‹™‹ãé¸æß‹M|&ìšp{³×Ó\Ì «e •Œ¤·Æý:®s”CrªÞr±[G^…_x[´?ÒØæå'®Öܬž ¥Škv5‰GlŸ뽺>QÄè5ó†…¼~šÒÙŽÝ  ÙvnÂ|*ÑÐaòÝ¥ÉÿÞ^á=tønÚÖ•_ÎïxPðdòùCß•b­RæwWbgÖJ?~årοþC¬[BýädƯ{ñ h§úÍwÓ‰Ï'}2~Ñ]Ø6å°âÙŒ9û ²&ÜÔîNÖñûö¡î±`luî‹)G2O=ßùEßCùä”Õùù[
-¹ÓÏ™wŸ˜sìÇÆâ@•»¯M·åöMXvºóEÿÿu9~Û¤k²¹¶…ê¼ ª?yÉg“º”òÌÜ{ç;OÛ«YŸ$3iÕæ#ÛÏn•8²oväóŽ7¯ã}ËÏëÕýÜá?÷þ¹ësÿ„æÕäÈ©Ù÷pö.Õ`¹fýO©a›K<­ÛNîêè=|ˆuÖïD©â¹µßýÝ^Ú(šDªM?T¹CÂxÝ;)ñ´g¥ÙENÓ/Û¾}õ%×ÊÛJ®Q†…É9©‰E%ù¹‰EÙ\
+hjcÿOó9ÿ ™Û›ý÷úÿÊô¯ê™uÔ¾IIJÐÿ{•QÕöï|²rqÿ;Béï$€Ô<Íÿ+¦¼ƒÙþáuð
+9êXÚ¨VTPãÐ럱Ë[iôVÊÔ4Ã÷Ñî¹|æø~øîh¬Ç–º7Íüò;¡/9m!úOªNnú£ fƒRäÌsÍï«%¹(.£½)eƒ’7¢™Nvg¸«GÚ
+ð±(f°^Ouy =5uv0ˆº;² )$5beA|ãìDR]Ê'lcq‚·¬ q#ζó`Èznª*—äpzGHzl—Žü•ü¡ÙéçXì#œ!qµ¿Í:ƒèÄï”g'EñƒÖ×Zò³
+:Ì•#î8Õ|0x6>Xõ£èRoÂÑX ä0ÎEäÖöj¿qè^Ÿ^vJußÌbõK.X) LÚðªSŒÂí¯&ãsÉ,êA0ªB_‰¤– ¯ÒóFºÖÕ‚`¥¹òß+sUd˜1‘ÇvÇ\Ü7lIo¶Es°+’3ÜÃBŒ -C›«ÏÒÙþä^q%Õª\‚§¦˜©8c‘Òüø«ï:·×lã4ýrmÆl?fGŠO°ç‡'L ýÖºù˜5²Õ°ª+ØÄ2âÛ
+l‹²O¿k€uÒ¥²‚ß¡ú¾ÕPo¯ûR&?¼?H¡_xÑdVetÇFx–ü¦ÒbË”ã¯Ø›'Kœ„Nƒh çs+È#¤>ÝÚZóÿàßóÝÅ—rùJ¿JžÅÖâÀC5׎@«©Î}ú~йPÃ.Ý?þ%ÿ·†Ø…|8V¸+.Äe«iÖtÀ•"¬}g_~ÆI;>aäHb/ÏŒ(o=!!r–M˜”ê>T_×$¼ f~®1Ôtȃ IØQïþ®Ô»JTdc8Cøc q^Wùì
+çüˆ“!Ò£àÆ<y[¬‚-êš^ب8gïÄ~ ½^µæ:~¶¸K‚”ph3» Œ­]ί”…Fö;Çj¶Å.šF`¶×1½UÎ2Òþ’–q× Ë tÞV!c>öäô—Ií¾_F h[ÄyCˆ%‰Šù­©„MË/ß9û}õͦC¢ØFñõBmÇÇ)ZÆkCeƒÝq<úêšFŠÖût¶G}’éáÊ7DtKÅpSÆsV!+%°¤'þ}n€þ-ò
+Y¸_Þº‹’¶Vé0j’æ’w™ýˆ½Ý³˜
+DÄmXÆàÁ–â-fºêgsêÈžG‡æh5˜CPa}f'£³™²§ÛaÎ
+Wá*os¦ ƒ¸È )†V²…úaKVk$×FhÌJÆ-‹ä=Á–¤†(ñFÝRe¼Η ›6Α38î¦ ãÎwò.X0m¢;h¾­³µ‡“V \#ߥÑÄKþ!éWƈô
+‚À@ŸCðPdUÒa"Üd+ŽBCÍ¥×£°œ•j$öuݵA2âIþЦÉßÇB•E3¢³’»Áp=â.Nêþ¡U_»iÛ¢ñ‰&^e=ìü:raó™”÷„ºCñ‡md-ÛÙ£MšOR\ºÏ1MGMe˜×ÅãNäè1¶ñ»Òu‘èËçOœuZ›°Y†ôRÚ|pµÖl ¦»V}ðuX²Kþ5‹S
+:S RK"‚°óhy{
+îõUòÐëƒ\‘7±ò½U<r¬I÷qo…‡Û‹ ö®éÂõs.„™¯ÕÝ딟Ào2XÉOzG·6vï‘ææDiðŠ‘ÓAûí6¼ÑîvMœ2fÞeYÈ_åÁ½y/W)v¡ð·­ ™¹BÜ”/“<#»ò3YÈæÂ3eX’¹ßÓ!žÓ7¿¨Ýp´ä"ÏsU1ìö¯b晜$B'Lÿ”ˆxKEÊÒ«š<ÈÇ×Õ&k…ˆnç7½¬Ë§¹M³íÏñˆõSšÐÝ‚wª¯Áð¼úIƒ>ÐÀ ’
+J¸õÂÀL§°“‹YðY¼£°¤yjj·:Ÿè„¯÷ò í ® žVœ*¯|I©Ì1ä@ª@iã¼|錽~°ùJ8ê„_…¾jï‹Ãç"Z2½8bÁ¬s¡+ø øâ]ò{ ë9ŸC[Êú—‹™ G¯ßŸRÑŸª¥0ƒ»Ö^üS~¥‡õA,ÎñŪNýï1ƒc,†•$ø°ß0,­€Yî9¢²ÂË©Ši"òÁÐêц™Eœ«|+£þÍÚ1dŒ´²æ&&½’eÎc6Ñûh!ñ*ßð™Š'ü†=Tõy§äl†YÌ&‹I¬=‚ýpC$‹ëF‡}1rÍê¶P{IøpŽ::± LÖRuˆa¶Î’”"ê 9ÎS†"‰WÓg¨ö…ù#×qQ²]Àëlæì|â!c{ÊÒ2é7:‡Æüs
+3,‹_Œ~\•‰4PK8n¡äÚm¦'†‘¯î¶°•]–\x-±pEmËÒ:.óóLA´“炳·ІÖ59–5`ƒuY…ÙOiöè¿ÔêjNã®ÄBÅu:]s#F›¢ò=£Ó‰7/¹”ÞFÇ´§:‚ OŸãÁ–B‡JÞºW1øaE%zÁ<}­ˆ´u#i½ÂÙÚ˜Å,NžA:<£¦çð†üÛuoàÂ=‰C:•ÀîŒ"7«ÚnÚß²ötg«ÇÅ<«¹¶]DöýÞCðrWü¦ŒË¨*cµ _oVÅ’i¹n™`x¬ì ’OÊî©¿mO*RRßÑ-Ãÿ†B"TêQ‘súI”ˆÕáÔùéžåìûå,3oÕ3V9O4&aÅÉN›YzüÐw‹¨õåG^ó“^Zå0 Ú§õ#²VÑêz.úüõ»JŽUvÂh®P|ëæeN•Ÿûj6õ.)Ûwsqœ<¤o&w†a£Q´éUâÈcË%õ[§ƒWZEáÝõç­2[â³Êqd¥z÷¿&³äëº6{Çtø’_}ðÒ¾,6¬#¸ÖjMÉÍhk6|ýEJÜ ú
+ùÖ6ëlbÔLì4£˜_#n+ÄÒÝðv‚qŽ˜}°ü]ãà
+åŒÛÀ"A_&’ÞQ+Ö#?vþú¥P+
+ÊS2$©ÁÚþ¼ÌR}XŸ¶g<4¶üz7›‰ÿ¸!Öë®í(!\ø ãÅpÀÿiçžm.¢EÔ*®…ð^aMò]bçÑø*ZìIe–l““mœ~‘á]"n¡ñ§úƒ®õI‹™½a/#Yˬ\‰$¥rŸ¿E18St~P¹R˜_ÂçŒGþö»Ã:°ù}‡ZP¼>yY*ûf¶á-­Žxu áìñýÌÔE"BW—í‰âã4÷ ¹Æ™zöX²mÐç¦íMþ¥<%ÒÇœí0ðø%AR/e¶x4„»T)ª,šíýŒtUˆËHƒ:YZÅ¥¡÷âîC©Ô(Â_åTˆ¢,¡Ýp¬cù¯½ÔÝkDµ=º–š
+cž†äG¡¼ð<%lyAôP­jº<TwåLH¾®yJ€ìRci8>üÊEÍÊm¿b‹öi{çU8ÀXŽ…›'S‰n¼¶GPËœˆÜ7º6‰ùÆƘ]ÎÍ¥8êêýÔ¡Qí[ýeñïÄ_1´6Xs߈À÷Òñ×” ¨Ï)\W}yÀ±C÷¤G‘5s¶}}XìN¿µgnÞËÎÒ´°‡-œ%1ürd0ÞÇ|ãÀx s¯–Û¼_>U‘E–óéüóCA©xbPg
+Ú|÷xêQ"î^ì*µÓÁì[ƒt9Дz%r1K‚6Ž…S;žžö±W¬ˆýösÙ
+JÛ¾YV~&Pä­¹ýå‘ÂìÕ´xˆÎtEQ§œîÕ¬/’
+Zš
+üz±±§yÌÙ¦†–óûØgz;þµwü|[Ž§»,›¢³¹é¯f|Žõm¡¸øëuEÖîjn‰.>P²ê˜« O*beåc/Ï”càÃqm/º99åUÆ œ¾¤¦û‘ëi³=]§ìèH_îàê)˜v‚¨£q.5ˉ+ðö–fÛ˦(ƒãsþ «$šÊ6›¯.¾“K ÂØ0"5„ÑÓ®ü}gc³á²ÄÈ(«áÓÿÂ^Ê q*‘ü¡ËúK…¤±7È8œíY_ü\^Û'§ñkZ»£ ¿§“Œ×hÛaò±X(Æ‘––²SâÈmÎC+% ñwü ~“ß9Ï7(ï[Úô–sÒ;]ä ªu÷W¦o9UoŒ©rˆhCô‹ƒbiÅ×s8mÃH xž#Ö[ÿÚaƒ™z
+ýÁŸÄ×omé拺/ íràJ´1N hÜ4L×жKú]É{ìb_ÙpŠhjR„Ç>ͪg£>òÅßç”s²Ä¹7ÙÞ½ÖSú/IªýsJ‚”ÍøP.=v ! ;ݽÚøër?9‡REá`a þàQfÞ÷÷¨T§ûÃ'1ßYÜ'š©ûv?%Ži.xÓ×ì® ok2¹Š#*Vã–ÊO\™Ñø›‚ùõÝ­jÿøýLc²³ %^ñrÓ9“lÉsŸr1œmê?âÒÁ_àqo8¼,
+fÊP<ãö®•n|~š¸¯|b„'h®ÅI;èËL
+}º FÜâlóž¼Ò Œz-FÞ÷ûðˆâ>µÙ^é°íJmD&k…L]úÀïˆÔÃgßF’“O“"‰fY·?೶~;¶ZÍK1énÑ X˜ED
+ê‹#DgLÛ‰ST[…DZȡïeÿN”‚~§/ìàuÍ?°aŒñên#2ÎDÝl>•Ù ÖLÏ|¦ìõH§_*ß Ð©dªîL#•z8\ úÿø‘µx¼Ÿºwl{Êì-êc³Û’Å…Yybèaç;›?S_D¡ö')Àߣ²mÍKy¦Ì½xÇþ®˜|V X¹GÓ8ÏaŒ×©è¦Æ6áv /vE¡jB™l*â©¡l¤¸BŠs»ø¾icí9
+ã‰b›…GÊ¡•¯fÄò#¿ÿbÆ©ÒÒ4¯+.ë(¤Ã‰„¨*…Ã*©0iL¿—B*èÿ‡¦%êÚOEˆ£‰}uƒÄTÚ|ÃÞ`U™øKô=îÈX+ …o$¡~ ò°
+¢®®õøóe=ñ ´jgL`A#¦L©.6‰
+V‘œ§›Ü€ÎØDtoî㨋¨§©iiKCÊ Õf;nn¿¾·UVi†Q£Ôô'r"ÁpÅ£¶<ÐSj4XÕX}\Bÿ=…òò1õ'Ü4>S˜R/êîm@Í,PÖ“`ä^T*m8FYtQ³†²Ì“O=À“ÌàÇ®œm;÷€ÁE@œ_ÛWpml㨠UôÆ¢Õµ@éYÖÊŒø?¥ó¿¯¡S>+iÞ”X=bz!qÄK b^A¬Êqb„¬A¼ ‰jb¦—0?8{ v Ÿ¦ÍÖ
+[Hz¶…Œ;Ö¼Ð\¿WÆ0ÎQeq9IÎÉè5?°0x?Dveav
+¥.åÞ÷{O³t'Ü ËèȨ­W‚)Z0öàámn›Xƒ}´5 Ò:cùæuãæ ä£sjJÇÍ
+>6Âäý1˜žáô™œ"ÞíòcÕÌPŒ1nKùÄs~⧵Xâ}çÍ®ø‰¢˜ºQ&Ñ•ý˜ƒÊl Å˜¦t¬!\Mo‡úÇ õ^wü}±áDcÄÔÝݾ£áþuG©n\¾¸ÈÝ7Àcå¬U‚Y–ƒ¼eÅjx_ûÏgu¼¤jO‘œ+Ø#rtŒîPdºC¤Ö–ï%DT,fî€é‹¸ˆIØžÇÓɾ2•–Ž¨ ‹Ô(@¹ˆÛëìøïy<ýÄKÑ;e«T
+·Ã΋™ù&¨»Ý‰Ÿ¸ËCÝqH·DéÅ’ÊRsfV+Ù«Ö©q>ÁK@Bª@¥¥¦ƒ4ñ\¡ì©3•°×æ¯ÝÎD$x¡VnèŒø
+wüÛù ìòÏÏ^†ˆ~‚ÌÁ†ŒŒr
+—À÷à(MO篱ô¡Ñ†O®iwö°“ Ÿ:‹³&çÏEîÆ3”‹¾ª±þ­=î¾B±—Ð7<”¬ˆ–±Æދж©/,³¥Cá©­NÓÕ ŒýNJ8ÕÊì_;hCÎ1í't
+ ÆÌÌPÌ%Eȗу±¹ö¬éóÓ‚y5Üí¨ŸuJ+dY,œ¥IF½õì<Ä榵â„£¬Z^`Û[0dìŠ?È‘ØG¾YWM,šk¦SÕ½vν!&ŽççýØ_)>àýÑþ~…½A‚ =½è®îi»ü1~ €o«ïdè’®b5TÚ-ÀÖZö‘‘_‡Ý;ÞªqÎÅ+yþÍ´¢·ÿê0bHë&M˜¢¿…µ.Thø¢È&òAÕç{×{§úaô2NˆJh*;Æ"‘ŒGŽÚâê@¸+ŒênÄQáâ8fÙýô4¦+}M m1EK‹Ú±½ü]'þÔ>*®[¼)Z4b:cÊ@cK“}³ì½ƒ µ›»ßñÀ_aÓûEöÆ¢]=ÕíÝzŒp¼FþéÝ®~L˜bîâ¯ü'#.}›± ?ŸÕG*N¥nyµ¥.ÖGqý=ÌŠ´U­šÞnIò΀v$()LãiºÓk¡°¯”ºJ `Ü´)9ú<`ú¸ïø‰D.^¥”U2®£6ôPZiìgSŒž6%É/ÔÁýQŽZŠ…‚µÇnûdV«×ÓEý¤¥^·÷‰Æ%º¶?‚7oj¢Å·ú$½p‡_¨pr„D ÔNtêànû‚€—7ëï.°PéX¶8µªõB-ÔྲྀÓ¡¥•…X~òÓMj¿pÐÑ_¹~©üV^ýõ40Œr[ëAÆWr!læªÓéÈßñ×ï%ÏmÒE›˜âú_¬÷Ö0­?èÂ[j0&„gävüUŸÒ[äa³øËÊi¹ê¨\1|Ÿz¹Ùš"€EåtKÄ‚„êEq:äcĺáWÖ˜Òòöoê%vfvÁKÐ:Gøß ¶RšÃáj‰ 沑žÄΠéw£s/~NÿŽË®‰k÷:Ù-VýMˆã–´¬#L7@~á¥wâ¶;Tinn#Sxhd[¤q%lXÒçû6•»„
+3 5\'òmŽ9Å<k„ñ€<½ÐÿìÚ³9ý“Æ ý0%«3"TŠà®#ýØ g?¡N›Cà?8µ¼T¥s¹º›²Áíêp1d™º\šÁ‹h)ˆ”ìçì-ÕÉ/T¸ ãÊò5¿c9e_ÕåúåðšCpßKª]?­å‰›c9oã4µJTÍÓw%+¬nÈ™Kü¿þ%*8¬4Uº,¸>•¥IŽYŽ3­Â¬‡­Â³Á³ôGΰê¹e«½oÑÕkƒSXøÈ@97D·m ãwÜÙ§”ÐDXéN
+~¾óÒ–²˜´iá°Ž~NÄ÷Ä‚u.ØMüLP1T’䟹éWýÀ9ÈŸ€»`°©77«âè`O„ þûöQ‡5ƒ`’òõ™ö.á\àµL÷ðò²ž¶-,S5ˆßiW¸æêžQ«ŽF-X‘ßÀâûEâ"À#+bÝñ+E9: }>šŠ?
+Q;G? ħØ°ôð§GÏ\Ó—oÄ‹,I6š€†eC"ñ ý.B¦ÛB]²‚êêÉž’¡RH`VboÀhM}§t5ÁÁ²ù†óëµVÒ˜K!ª[Z™Ìc\ƒ»˜~ÎSûeñÉjOÕˆÃ47û;$WWú®p{‡
+ï\Øã‘&¬_Å@æôzØBÝ)„a¢ZJ."˜IKK]]R£`Æ¢ eBó‰åT¶}>³pàåê¹éò§KNN…kÌWR’ãwîŒHì)$_z¨{þ c¢CU¼€{)w£9É•öE9KêŠYtçVN“èžp%ûè- Ú+¼Ô§ã¬Œ_ ëñ[1qÑÇ@ÑYÍeÃÞxq{LUå½òF2$Êè
+—ëÕÔç–Œ»÷J LÒg0¡Šªb2„Éÿ‘q˜–3O)1‚¯Ë|§Üg¾®!¡¥
+KVý¼mU[¥rya¬CùBŽ´Xo2‰"B…!ÛØ’9VöY‹µ7':ÊOöC„U±˜ŒK¡?I¶ÝX¿Ó2lÇœ¬©önÉ>ZÙ‰N±î ~O‰5+ª@ýà˜¿5Ú·_&q(
+«zg :$ ŽÕ¼±BQ0؃땶´Q$òh¸röb^%Ö¤±R®O²•cÓøe÷Ìñ‘\<, +@º]! †´§ùLÓ>Vþ.½ 4Æ$TQ~9QHLt®N%øø¤žÉùæ[ ?†#Ïð¼Z“h~Yº
+£ÿNx"5ÊAǹjꀸ¹?i
+Çjø-Å~…Ÿaó¥èáE¨šnµéøôξÝ4I°åúnpÙ1v1¬«¨Ì©¼zp¡‘ð¨53c=2f2¾b¾J"«AÂ5…øœýÆ/Ü;D(#?iÎâ²u
+/ÏÀ2ãë;‡êF·Ì€pmÞ‘¡L €AV\dÐË‘b@º:’]ì¹:Q©,¿e1’f—"4T9ˆ­§>ý×+¨‘Ê…¦0B#G³íźـ£eƉ‘F+¨_ÁŠ\ÖH-ùŠ‘™è{3…UѳyÝ«h ‡”Vq¹Œm|´ÑÍñ][¾ÙÁrÜgò’ËECåÆmÒ饑ÅM<ÔÕ³ñ2²z!F i\NBÄ'¿q+—ŸÏ¯û|À¥ÛŒÑdtZíj¾}}rÑY“H¥XçKÚ]yÆ ²»§Z±ÎG¯éóBCò™+ŸÉ‰M\™¿Zú*ñ¹™Á\ ŽÊk’¬
+"¥ ÚV-ì2.'|Ðj?§æZR]±¬6öI¾cuŒ›žÃ$FÓYK¥=ïêpÁ }’dDÚ Rà> XSŽ[æŠHï„Œ¹öÀñxë‚ØÁÁ;S û]î 9Zü‰·ç§T¶¯ïøÝ|äÝ…uÉ{cRõܸٓ€‚÷G,•“FçýÛø•Ë#¼šÊ£j&*¶ ÙW̘“SæÚJHJ]e‚‚Uä|_Ó$Àÿ×ï_’Í®Q$!Êáú$‹Äñ¥åïgç5ääð~³Ý ›ÃD(ÍIÎuž¶z‰.Ÿ›ÚÜ)!ç_Ë+Ùto6¿©ƒY +ÈàËzÆ힃lÈ'·ÇhT³A<5(R•Ÿ§›*Ö«.SŠGÆóáJSü°¿Ït/èÊRAïꆽZ² 9g&Úl<ìð ]ôw‡ÈLž™º(!JDÖw[khZœñ³ ÛtYyˆªÁ‘­¨ð‹”MÙN«f6<YfÜ©—ltÂ/
+ƒ°ea6¤íë°ÔÏóáIæm=‹÷=þ4¥2{~Ø~gž´`839IJ$ÌŠk*]XD,Š«“–̘L0ºÉV¥·m¤U¢õ|ü<øʉCÂ'w¨þyaïÆp„>QTÚ„”á"onÆâd_ GÊ,j{Ëâ)ÍM—œph ËüMÚª‡k[c¶31 nG§¦yä ”#¬jûîµÔO¼›Ö=4x
+Ü"÷€,ºïy ,½M
+ÍÏi£ÁK¿ADÅ "(æñÙËïOÓZp‰L3j2R¾Ç[çg\þÉÜFœçB¬@+Ç嚘ây$N4¡|©?p-®²>¤#ïÎÿå}¥Ï-­-­\î´uoâ–ï@|ód ÞÄ®0ú–¡×GAü®nÏpçÄÔ‘g…šèÐÓP¸ZóÕ'ÛM '®³õô‚áiF†\[ñ€Ê‘†– · µI·¼GŽSå¬÷`'‘«qh¦$ÇÚÂ!–'Â;èµI‘U$NmššTæ–³Ht¾>œãI‡&±'7¦YUÇ|ÙÓ*N>êçbôf;í°ÑÌuX/3jy/²ó™Ê ¥-gÓºP¯€ -›–mµO“¸«B5*TO|¶Íh†p›ìèä´ÜÀó¨’7 ´ªI––'úÃŽÊ‹Ø»×ä€ý:Íjõ!Ü ³ÒMÓËÂj¸§c™µ¶¸ ªl ¹ ¯QoùJÍÕ·¥ÐÛÀ}âuiÖ/j-î­òŽüø{Ûh;ñ+`¢šŸykLlXŠU¨E.
+ñ¿Oà~±daV‹÷ ®~)«¬€õ¨í7¸5ûÅ Ë]á«ÍÕÌ-‰s¼åÀ†e³o µÜEé‡k £>^ ÿ­Ë*<M2´Îu
+„º÷
+6p”hþ*hâ ËÂt@û!|Œ"[xUñYŸ4þà Áß1盂bĤí„aöVÓüÜD’ 4PÆ«Ê‚âäÁ´P°g¥Ø qØù,{ítð?)/N%¼ˆŸÙŽo
+oûB iÚ—8ÏuRõY°
+K[[CÅèý®ÜKí«ÇŠV‡»§ {€Êh•¯ÍËç½{ÐÔfÂ'¤ÊTúq†ÀAÕqœ“»¬õ†Coûlò¹ðUð5þb„J¶fˆþ
+ó)f.Æš‰Íµ‘,­T6ã>‘BækâH‡oÓb)áf¯§&5C XáF'~A‹ö ²ÇBæY¾?Ø‚k‚e‘YÛŸÙR[Ì$šÕm1§ž,àðyk¦ò–ñ%ômQö\f>-NßE«ÚY~Zú­¥õŒKQ}Fê¢h>«7†•ŠX`œ*§žœÆçSw`ÆÅ`½=ªÊUyL@dÊáA’¶*WÏui“£Ø'¸ÞË<t½ßã pVعlK§Sza€˜•Xò.¾³~fŒÎ¡;Ò\7&…)R%°J } !p»×‰Ù× ø<¾Å5àÛÄ°ùl]m™Þ‰5Ø ³÷qÉC7Ë):i<«èN1š[´Nžñâï¦Ѹ?FY#œ6LõoI
+t,SyR0Ì™Enö*Ë?¢œsí
+A,A²0¤€_©&Ò9OžÄ Ze3Rn¾ò­•Iò¡ˆ–×ò.»oE)’ »CÛqæðpØãGƾ9ÔS•c+ÏæÍRëŸ'RÚÒyg¿ViÁ.M Õ~òƒ'g·S SŒNž©)”˜JJ6W“ï MICÏpD ˜U…ÒcE¯|D„²’u¬¦zÊz°øòƒcP½ïìy)åa{Ðɵ‰DõT*Q”Dt&-»Íÿ¸¹¤—ÅM7ä«ÁãWtCÝÝãY2°Ä‚:˘x%‚çκ¨¡÷«C";“hW¦Èˆ¼á]yÅ,9þÔãø)o¿at_Y)î³\›v]C•b1ùÁm¤„†;á5›±ñÍ«îsQ‹.r¤[Õÿ Ù2-A‹µ©3[-ŽºÕ3D0ı¶ôâff¹Ó·Çãv1RMZ´½Ygt’öäxÅt¸FRWdïKÎd°lŒü&&—.`N¤íÓ{a.äz>—‘&E'Ó½Óõ¥nÂh „ìÕ>vËq%‡ÔŸÚŠ@ ÛL¬(O¨–ê9
+» pkr}?“õx‡+®ˆÎƱ`W|„†)º…ÂÛÓ“¸¿xR?8;W¬N«<™¨ŒPð½írœö@§ù¦!õ5Eú§ôþ®Å¯UAe¸¬i»ë±? Ж˜iKç4óÛÓÞ:{lßo}¹ÅUO-ƒ˜B|×;ðÆé|éÄØÖš€Óso‚¢ùÊn5ÃÍÂH&ø(d‹a0–í8‚¯aQªÝSzÚ ýAb5¨b8¾y(ÜgA ¨µ½õÎÉë22w§mw»îçÞ{ß6ïüTaÉ»¶
+YB%âçC°ô# ºßZTÈüúÂç­íeN‡ì~UØÓÖ«ñ“°&äκÒf³2Ð;ÜÇ/ÀDò½¯®o稃¼Ü¤«ó“¬µ«ô›&táÜÇbÀé‡
+›2^góÛت(±!.±ô"ZÙ§v¤ƒ%{%ò°<›á7%»ÐørA4ùYülªÓ3ìF•5‘±‰êì¢ïÈàn2ëãÁÓ­É&çD£}vèKu<ë@/è›Ã§"|f¼¥ï'“ªnÃ×Lzý{Ëø"»·µêŒ¤a@Xcù«pEÒ¢I]†=ßÃåäEü¬óé«gõªŒ*{Ž’»:R$üÒ¥¸¯Ñh¬;ËÒÄïb;„=¥,ø_0Ȥ:ƒ©ÖšGîaLN5=ÑXŽ†W?b‡ãaÁ~á˜æÜOôÛ_{bÏ“cË.ü,_G¸õæYT•‡Ç+Ù rv½„øs'ÿ#†zê`LjÖü‰p83^ O¬liJ4ÂlÉv±¹â£ZÛ¦ëuŒXŽ©e¹â/x4årÞĹÐã§[źŠ/vMÍvªGÊd¦|&@ñ¬J0‡[# ÕO/Õ&¡2[qC?6\B"Gï Rí:Þ¨ÿÀ¤§t%÷ý<û`§
+†ô†Diôc\2°> ›!-O––0LÓôuõF¤]Äí;ÿ2:º<O®©_¤¿°¾`1üñhá‹—gGHÉEV¡r-Õ@,£1,…²Úqn ôD’ž¤ñÂç°Ù>c7“áÖn–<àƒÎ_’‘ò›p <m¨@§Bê¹lµÆ¥•RBGDuæ˜Í¿Ü¥nÑEG¨M…ä>tý:g˜¢qɤ(²µ0£Š#ŸÈïß”ºXøT˜bâ„N>RŽ™*0dIœ]2ÇHƒûdhÉ/ÔÅãôŠpÓ¸Q
+•iÊ_-ùÜ­ž\œ¿mYÞŸâ…ž{¯ë=ÙÈ°ù€!­Ø– ¢eÄ­§‡AœˆÐ÷: ä…ØÂó.­¨6g¤ ‹,^>êÀïõ¹~ou¹Ï<Ønb—7¢EºEfB}dQ†Ç=Ë>7¡ ¤ä®>WE†¡KI³°Úóã‰<°²lÐÔŸâ´éCsªHH¬{l áùùäaçJܦXö"PùMê•%".q HdÆÊ%m~?à¶"ñnÚÕF¹Ö€~\álD¸yhæzf¢Ãz…´¿´x-Å)Îaм®“¦CÏ€‰Œ˜÷E ŸXìú
+¬Jè0ÞÍ÷ù‘Ly_q•+ÒråE'
+›ú
+3Rȇ¢”ýÔCj?} ˆ.ôrnKʼCZ(ö3Rƒ)Y"ºY|®ÅÅÙŽöåæ¤&ð­`Nê¬n ¨S’Aew¼JB<Fô'Æ sËEÀï‘'k?ÓhšA/àF¬ßnI¿ÉKbCJ§ÍÁ
+QÀDÓðpù{ö Øåö¶Fgü»“l3T¸!-¨íj+ì&8Ëü`öô•$&D’]£Çj‰Û¿ü@
+«DïÛûïê8‹mÞp•´ÑQž”ÿoŠ\ªþÛºüvõÁ‰|8ã?sYÀ}IèÇd3ÇÓqÍ¿›øLØ5áöf¯§¹˜WË*Ioûu\ç(‡äT½åb·Ž¼
+¿ð¶8h¤±ÍËO\­¹Y=J×ìjØ>=Ö{u}¢ˆÑkæ y9ü4¥-²»²íÜþ"„ùT¢¡Ãä»K“ÿ½½Â{èðÝ´­+¿œßñ. àÉäó‡¾+ÅZ¥Ìï>®Äά•~üÊåœý‡2X·„úÉÉ_÷âAÑNõ› Oúd"ü¢»°mÊaųs'ödM¸©Ý¬ã÷íCÝcÁØêÜSŽd&ž z¾ó‹¾‡òÉ)ÿªóó·r§Ÿ3ï>1çØ5ŽÅ*w_›nËí›°2ìtç‹þþërü¶I×dsm ÕyT;ò’Ï&u)噸÷Î-v>"Ÿ¶W³>IfÒªÍG¶ŸÝ*qdßìÈço^Çû–Ÿ×;«û¹Ãîýs×çþÍ«É‘S9²ïáì]ªÁ rÍúŸRÃ6—xZ·ÜÕÑ{øë¬ß‰RÅsk¿ûº½´Q4‰T›~¨r‡„ñºwRâiÏ6J³‹<œ¦_¶}ûêK®•·• (\£ ’sR‹Jòs‹²¹
+Kendstream
endobj
1082 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 35
/LastChar 90
-/Widths 2938 0 R
-/BaseFont /XRYPRB+URWPalladioL-Roma-Slant_167
+/Widths 2956 0 R
+/BaseFont /ZTJGFE+URWPalladioL-Roma-Slant_167
/FontDescriptor 1080 0 R
>> endobj
1080 0 obj <<
/Ascent 715
/CapHeight 680
/Descent -282
-/FontName /XRYPRB+URWPalladioL-Roma-Slant_167
+/FontName /ZTJGFE+URWPalladioL-Roma-Slant_167
/ItalicAngle -9
/StemV 84
/XHeight 469
@@ -15128,42 +15305,42 @@ endobj
/CharSet (/numbersign/parenleft/parenright/comma/hyphen/period/zero/one/two/three/four/five/six/seven/eight/nine/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/X/Y/Z)
/FontFile 1081 0 R
>> endobj
-2938 0 obj
+2956 0 obj
[500 0 0 0 0 333 333 0 0 250 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 333 726 611 946 831 786 604 786 668 525 613 778 722 0 667 667 667 ]
endobj
1019 0 obj <<
/Length1 862
/Length2 1251
/Length3 532
-/Length 1860
+/Length 1861
/Filter /FlateDecode
>>
stream
xÚíUkTgnõJÀ+Å€€¸
-æ2%X4•;*(¦2$H20I0@(PÁ Bå"Pi¥´^€–‹ÁŠ‚g¹iL@°rÕtÐc—þÜýµggþÌû<Ï÷~Ï<ïwÎgaæåKpæ A°+"’@"H\Ü}‚d
-¸#-—úÁKæÜa_*\Î2%€Ïv `€
-Ú$6e `öÂÔ$ ìAHAXæð 2ÃPˆ `îaÛ·ðÒÐßãö¡ï, `‡Š˜·ÿ98‘E(
-‹$‹g‹ÿ]Íåc#ƒaÌÆõt!lÇÄܪ¤ò˜/Îßùá#’ÎËÖ
-Mv“MLŸsÌ—zÎÛ,XR2R¤ºzBU~Év<¥^1J÷HûjªXÿâÕÔÂ2ÿÌ8j#±Û™*_õÚÆr„©?p:ÿ•1½}töÛ-[{¦¶Ä¶ê㨇Î7Ìté®·ö9im¾‘ÖsA»ÿà øÈþ'›'jbsolgß¾ïÆô‹]S-•\'Ý )hæ1ŽÅP*m¼‡›ï©UG 9sk=ÓdOMSÌ“-ž·ø–ɦScŒ£»¦¿›2š^4ýµ§®Ñ”q½ÿŽ"ñ†Š”·»ÁÔͤõ‘-ïÕÆVù'ÁäÛ—†kŒÚBïÿ¥L~£ÖÞXó¢
-ͯÎ1Ýõ4*üûºí³ûñéLj{«N|VR§Ðíª3
-’²xQ“)çþaþ2và÷‰ï׆~Š¶×BníÉšŽv7:YÊ{®ò¬u¬*55#ö8ŒÑ»C"pN¨<±Mµê)þ¦m`Ç¡=(¦á±™GÂGͼ´ô=ËäWuãã…žÛ&Ê|FWèxhö?+”S¢ê§^éઞÍÛvM|¬{9ßgøÔ¶Ÿ4kiËwÕû8¦ªöox“qày;Ã0ç“пéÏøk^…çÎÒW{Ê{—qæ5È~þþ—Á’‰ðµy×n)®)ˆ®„–ñ–¾[…öTåчªë7F¥õ7-å$ÕmÊþø3™œ€’\¿‹?j<#ÙWÔV+ºkç’ÄóaÐ=eå§ô9”ûÌu¬Üq¢¢$€þ¹ïž_c©îIç?Ez“ÐõB«¶EfRêǨLžœ*Öiy³Ù+³mÐsÀ@>kcÍ T­’îi"
-•‰e1œö:;4ö ´ûX–Vœ—¿:°'§œûù?|pÿoð?Ñ
+æ2@ Š,Ë%€
+ŠT†dr$“T`E *T.•VJëX`¹¬(xÖˆP›FÁ+W]Aw
+h2ꀳ
+1à‹a4fq °ù,  sù"iÁCÄA
+|¨Òp/Ëé”>zÅ(Ý3í«©bý‹WS Ëü3ã¨Än_|dBª|Õkˆ"üÀéüoTÆ´FôÑÙo·lí™ÚÛªwŽ­¦:ß0;Ð¥»ÞÚ礵ùF‡ž ÚýnÀGö?éØ<Q›{c;küö}w/vKµTrœuƒ§ ™Ç¸@N„Riã=ìÒ|O­:jÈž[ë•Ö {jšbžlñ¼Å·L6cýÛ­0müÝ”Ñô¢é¯½tp¦ôëýw‰7T¤Œ¸Ý ¦î&­ly¯6¶ÚxÊ?á’lW\®1j y¼ÿ—J0ùZ{ciÌ‹2(4¿:Çt×Ó¨ðïë¶Ïîǧ#~Yuúà³’:…nW¨¿ã^kÆËÏv­TŠ‡ôꌼ†wb”„³kﺳ»äQœð=£ï¾ö¬Æ¥{An¯µÒ›‡Ž_£è˜Ë;L,¿:ðŠ±²lµ¸Øjƒ¸øRÜh­ï(Xy³£| K?œØ`¤äp¯ÅÃ8rœc¥uÓzy­AwõY¹¢WÏT»O•e 4“WH‚øœ3º3iéÌ@Ooÿ/µb7å&z>×hz_”?+EÎnÝ?ê§Ibœhy90n3)óÕ¥]ê,ñO6¶Œ„/Õ;ÛMçk»”]«f(‘춛tÿ‹û:yIY¼¨É”sÿ0;ðûÄ÷ë C?E[Žk!·ödMÇ{,å=WyÕ:U•šš{Ç»C"pΨ<±Mµê)þ¦mPÇ¡=(¦á±™GÂG͘Zú^eò+NºññB Ï}e>£+t<4ûŸÊ)Q‹ õSf:¸ªgó¶]ë^Î÷>µí' ÅZÚò]õ>vЃ©ªýÞdxÞN7Ìù$ôoú3þšWá¹sG†4ÇÕ^ò^Åe܇y ²„¿ÿe°d"|mÞµ[Šk
+¢¡e¼¥ïV¡=Uyôá„êzÅQiýM'K9Iu›²?þL&; $×ïâ¯HÖµÕãÊƆîÚ¹ä ñ|tOYù)må<s+wš¨(  }î»ç×Xª„sÒåÅßO‘Þ$t½Ðªm‘™”úÑ+“'§ŠuZÞlff¶ z Ègm¬é”ªUÒ=M ÕqgŸñ¶]œÙ ¿É›×Œù)¢õ|¸ ®8ëõžþ|·içk^Þ³ãZÑÉŠ¡B:>aMÀ}õ
+µæ´Ií¾"°|”X[záWϪ䤹ˆMyƒ×ÊwÈe4ù6?t8¾n¦ñU‚•úÛŒJ¦ùJÓ¢Þùâ
+€¾e¨H“ßÿI²µ´ß#Ü0Bc^_ßÎìŸí”f×çÄg{*®D‘3ž” Eþ-vzeø¢îèËâ®up”Iku}࿦8í\3}÷œRW uW¯ˆÖî5Ò¿ÛáV:¢ß2_ÃÞÙ|{Ä9dÐ嚎4XЪýó¼üPc H8ä—›¦=m·.1ËN ëÊßjh¼&Ëd7‰#À‡5ÎáŸPÎlö°›Ì¢¹ä5f•O¸ÑçÍ~ü&êˆz8`uøÈ/½Í†êÚÚ#§;:“übÜÍgÛdÉgT“ë··uNìÈòzÌ8Ù»—î~F«oV¡³2±,†ÝRg‡Æ”vËòÑê‘óòWõä”s>Ð#ÿ‡îÿ þ'`W7„J!„†âþüãþVendstream
endobj
1020 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2939 0 R
+/Encoding 2957 0 R
/FirstChar 13
/LastChar 110
-/Widths 2940 0 R
-/BaseFont /XNQLKI+CMSY10
+/Widths 2958 0 R
+/BaseFont /CSLCJR+CMSY10
/FontDescriptor 1018 0 R
>> endobj
1018 0 obj <<
/Ascent 750
/CapHeight 683
/Descent -194
-/FontName /XNQLKI+CMSY10
+/FontName /CSLCJR+CMSY10
/ItalicAngle -14.035
/StemV 85
/XHeight 431
@@ -15172,537 +15349,515 @@ endobj
/CharSet (/circlecopyrt/bullet/braceleft/braceright/bar/backslash)
/FontFile 1019 0 R
>> endobj
-2940 0 obj
+2958 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
-2939 0 obj <<
+2957 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
996 0 obj <<
/Length1 1616
-/Length2 25435
+/Length2 25525
/Length3 532
-/Length 26323
+/Length 26426
/Filter /FlateDecode
>>
stream
-xÚ¬ºc”¤]°%\]î²,Û¶mÛvuÙ¶mÛ¶»lW—mÛúú}ïܹ³î̯ùæG®õœˆ8;vÄ>'Öz2“„@^‰FÀØÎÐDÔÎÖ‰†–ž ¢¨&o`mm`la'M£hgc
-áàUûZ­RR Ž_&½þ’ÞŸfx¯%Ê3® ôEþsÈC®” ô“‘Bå0²TU’?…šÜ¡ˆhÍÒVùòýåm»T úÃ8Z§ä‚Û°ý ³:I?Ôöz"6›Èbœ^%
-yá×h}×¹­Z  ypÓ‚u=jëé 3\xœa(74nŠïRýƒ&cx£aYKÜ¿‰~ػբÉI·XiêS¨“2ø ú›G²¨†lkÕ›$ñé³øI ñƒ<½*­;:̽¤PœT1]š«ÚowŽ0~,A¸ÕO˜Ó%/‡ìdccÅ÷‹k×{GKÌ‘›j™(+ÔBUÞD# ¡6ª:Mð%¿s¾†I¼;v #wïRUèB&%Ô øªÕ(cÊïZB™ª³/7í¿ '|8¾—}Z£6Ã*DLi´¯kâ'/rn¶èXÐ60µ!~Èaïގا*\Dxc(uè³?^NWù ±CVØñ Áá´ÅÚQ[´¬5üŠvȈ0Kïø^•vµÚ*V¦°cœ (p3“¸µMÖiÒ|#Óƒ}5ãByE¦Ç•yÖÌÞ¢º<^×<;>3ý
-ÎÈ;V<g5j‡ùôIH›C„ÿæaTÓ€
-úÍòÊix¹Öî]牨ùƒU)ʘÕü¬è»à&ðŠqº_Eþ>Mv–ԌΡ» :0jÚê­¬°ŽCgþ!ñ!YBRÕ¿i†D¯@!µrC!,ç´¦Üoieq$wj¤q•M4räMÈ©X¢Z_ì¹Îãi¨ä/JF y Ètp(¬2îZ‘Ç¢Ùð‚:–ÃOxäb=ê:äH@,bŽ“t!ÅãKMdþöÑ•`£ªj•*ЪC[L+x¯Ù}£C”‚ÿ€!‘Éã|†ëuî—ÔU’ÔézÔerðˆá Ã\·ÍZ åjWqFW [ï•~s­É"Ëšã±ÄÜ]£Vf;ŸTiËá®
-X z‚G)gàcúl¶É©ðÝu½^QC˜ûèÕi]s]°?Å"*Âü$fOv‘¢ö¬ì› T!ŠåPXÙÖÐœ³P•Õ¸« "è ƒ7käþkÂ[ŸŠÐâÓn¥% „¸rñƒ‹3!ö†¿wqŠ+÷-×}ñ¨C}3X¶[G\v¿Vl=Šþ~ƒìBjÅžµ@L wº Œèf‚ý.ÓÐr›'<Òü¶Ž¿Âfæ4ùJ äŸt^ gÃÓŒr;‘s ¦ŸVhŒ@€'ǽêdòÉ,·œ
-lô³î@p® ’Œ”JEcžì e‰;LÙƒ*#.P8Ý^NrÁO®w¢êåÃPäåú‡ªî©¯HÏùñâÊ›%ƒÓÆ{¤Û«Â¹}‹÷þta2XÑ`È°½W(Pl®ôt‹8áníÝ1¯v«Ÿ<ñ¾Í4­åF¦˜4d¤Dr´4J„)Ÿùë¸L²µ% ç?·ëÚUA§tkݱxèL ë…3kà N,ˆÛ3«QÉĸǹ‰–B´‚7’ûÄL³_ËgƒÕ ñŽ1Ü
-˜šæ}›Û}}<‘3°2èRÍp´$ðʧFu(#6A<x•)Ÿö·QÜ´Ç
-å,´,œ6ˆå|ëÒtлå$3ÊŽ¢¨'‚±×ÄŠé›v#c5ÉÇâÔǤwÐÛµ0ÁoãiÙíà°Añòœ¥µ¢Ã® DSêá ©ó,zé6A²”VèFšxzGˆâJæls¬>ìFÏÊ2/ÕÐ:C
-Ífg4ÎS" >ˆö—H¨äµ>8h¡Š¡3lÒ
-{%ྼ¿#‡«BÈ,>‚^@Ò¬Ç0nÓCížU½šÂZ ^u»éên®p% À#d_Ðby¾ÅéZDzl€÷„R%ìS¢Ù+L}êPS«‰$1Ád8Ç2cæÃJœ¸Lx™ Š¬3µ”êR'1ãø
-ø—I›&ÃX9!«<O |è¥5©ÓÑ
-ÕMêÔž5…ÅÉmW¶Ä!ßCXéží´*m¤ÈjÏCB€5BŒÏ)Õ‡d"ZÕጼ B^moJ ¡ì‘×Y±øRAD%HX—«Èë·ÀÇ*ÆÚ0Úýé –ì?9Ö–]©e¢ßÄŒB<ÙÁ„CdÀ‹l•z
-GzX°ö0F!ëþ½{¬‡VH•ZÄ2[t”€pS³õ.aQ[í)©u3Ñ
-/üI*Ô•ª"ù(T€}vÄ8™xfüzY X¥û™w·$]-aÁ¥æ»ãBó!xCšœÍþe‰7Ä…`¯n‹³¹êûÅÛ
-§ÔrDš‡ê_ƒç8ÉÈ˳f^‘±Ðòé£ÆK$xþdC#‹C7‹Úˆì´½‡hâžrvôîešxÐÖðà˵ˆ$Ôï­JÄ›'¯ë¡¦¯Cy2äÀªŸå‚¡ŠÆZd1”ûÎçÐ"ÁØSX}j3r>“¢0¥\Ò;QõԾɇ¥-§ ¶ŠX©Ýo‹ LëèR×R$A[sã¦ø—òÂ`®/lÜ#ùhŸÁœŽq½Ä 'õzkü™]sÑ ÜÞ¬(Q¹Íþ©iv`cöù¸-Óz X_ÑZzVm÷ïȆ·ÐQfúq¯<–^È¥Òî\èƒçB©.ô lräê‰åÓÊgj´øod‘ƒ|¤ˆ¡Ð \yh´v‚öµ:ãY_¶”œJË”(Øž#¼&bd·‡¥”<Xd”¾×!}ÔÃúŒT†‰ÀR‘‡òÕ­¥×Ý“ÐÄJxÝ­&Æõ…/¾uQ~4NŸ­]º›?•‹=gæ8ã +ßçœ;…!à<
->î]&“ŸYdŠÃ/"Á&ZïY±Åº,nGÔ®Gz§õk+ñ¥\£>k•á„žjß6Ù6–Ô8tµÄO§&¢„œ´bú‰|uTè@ ê^[Û5œ¼N<vñ•we·!XŽù²) uê^½´É¤²ªµ42Ý´Œç€Ù¡Yú ó—Y Jë Ø ûŽgL¨KqHÍ(~ŸÌAMª_¼lkµz/(«·ä´X)‰F_6JxF¿K·Ê­ôñÚѦï{-wM"TШ`¼~Ÿ“¬ªvFüÔAŠª<Zô”ׂªìk<Lתø˜(cK©ž³€bSVlä"{å]Ùó€ZïDFý…ÜÐå½™¸<‚ïïï³{
-„,Î8½Õ­Mþk¤«Á5­ ÜªUô æ^NÁ&ºg#w²X4YeWn1•#~™¼qâõh¯jP¨Åö¤TpëÏè¾ö\]–öö<…¸GxVÿ”K<$L
-ÔUñ@•5Þ"
-¶¾¨1&µwÉù\ì9UÛ39TQ÷亹í\ ¡Ã=̈º; GLâ§6ÿãì˜Ì¡"¾Ž•w…B|(iïˆ'Å'º¬ú[7ô ¹r+£²*iÌÆÄ;¹E}—ûOþÊF\]¦l{YåF=AD
-»÷ ¦!ô ãÔ'§»ÞÄû✨œ¹Zzñ
-‡™r@ŸZo_ß±¼AÚ
-êú<V{VIÚÝLná_ïÞ‡¾’õ™”÷Õ.
-óBÂ:2s²uá§(•ÈaŽÌ9:¯Ü·2tƒ³DKÖ<ôG¡Âç龡31•ÝÊt#íg\
-.˜íu6îi²ÙJŽÈoµïxöZ×× _s ZËòh°V5¼}r¯ÙÑþ3DXÿ8Ëé6æQàÊ)’v÷ØÜkxÞÝé÷)Jæ¿ßd%ÌAm=ÇÂ(#Õ KY8ý_
-u1`ÑΑI¬ÎP¨@àÜžÇ?M}®‰# ¯‘½Ð‘˜W–íg wÃ!hºÊ¢ßµÝf‚]\@˜¶Lyìodªš¹øw‡“>B«Õ·¼Ë¿/K€µUræÈŸ¾UI±íº«à
-g…ß·.:ÿaâ5’Ö‹AZiD+¦ßuFƉ }¶û½é2™¸ (ùp~·ª³x¢ :’3 ¶¾/e…)ÁÌ
-¼äÇRi¯z>ïuÙ1VÏм ÿ¬&‘ 3ŸL.~Y
-_²©Ð‹âOàvH"r§¦$ µé
-º'7$c²ÐˆÐ!•ÎݧC½¬ç$Ê?bï¨þìl"OâŽK±¾'˜w
-bx—‰Üêüj¹£O@ÿÙ,s[»6ýªícávÑY¹hd_æ“,VŒ œb¨
-‰ð#"^ÆÃg¶µ¸!ÿÉ#i/“ªñd—ÁÐRD4ìŒ-%…·#àrþvf"I(&!QƒÑCG¨swEe`Ff÷Ëڌ札RC†×Ëîï+ZsÃãØHz–Xf--¦¼…”N)±;±shs{£•aVXAת]¾b9ï"Áúpœä•Ôm90$j®„ÎxLYxCÀ8ÏB¿Ãí¼ìùìéÒeEá…i˜U ê#‘ÕA¤’¯ÍŒ’a
-«Ç­´©¾T#$5? éŸè¯¡³präZè<§ ÑM{å«¡x¦¯¡É! ‚)±6¿Up‚Ó¼ÌÑÜŒ0+ü9r×óÕ>ÞYãÃô d3–Ò_`gbת}û
-rÂWf¯(¾ Ê.T³ûœ$rG~‡ÌR)G…-ú²O2£l?ÂBüX CÇäd"iXćÎà÷ÈÏ:ŽçEN
-} ö&Õ>­o´×ã®æ¬Ñ@z-Ã=é÷îÛƒîø»^]bÄËŠ¬N -IýJ€°ÀjDM;©ËœU×ô™Ã|ÁÊȳ5Ã
-¶!yJ6Ü#½ºø5ÒÇ-u ´–Otÿ‹Ê‡ßk§]Ã3¤¬„0¥`áÊ“êí~©/^Cë÷•µp­Éü7scË Oó‹¿£hˆ-Þ€îi î¸[jÄ'Õƒ´§!¶—7žÝÔY¿EΜީÊËi`µêm£¢>TÓñ1Z`NŸ‡ ¤'ü±i“’Jbÿ€‰9XêÊÚ—µp,½ÓW¥ÂÔr×!KšÂÎèü`‡ž„Õà@l®/­Øúæ.z”ÈÙä+ö<7›ƒ\i0zlý£b©UÐ{S›|€h•Yƒ‘æ>…mL0 ‹¾¾„,qÊdnï#çK{êºýÂI_r(®¬µ׉Òõv/ˆÏñó÷†ÙÈBDßÑÑ#…iâ·d‡W¸ˆ½÷šЛ­ðƒ‹_
-ä¶Ôñ{uÚ¸M¯ýœîdßË
-‹¬)Ì Ÿž6Ö=jÆdÝ;í¡Ô¶„µ¼n*_>;y<"¸ü,߸藵’ðð’d ËD¨Q TÇëÌÙêÏÜÍåïØ`.ø|Mõ­ºí$õ´ÃÉ*šö7 ´¢Z•—C^“úkVa=žBž«ÃUõu‹VQVQJÕÞL§Q¶Å¡ïºÜöÞÖøMØ¥b]«®[¿o:}ºûg<$ÈVX„~\î@uOG®1uçæM ‰0). UòòÉÈhW' Vws˜‡×ˆ¢ƒ•\
-=;3؇ZÑm{§fÇu1{©‚q®‹é%Ñ)(Û+Ë*jóºpd±NáNK¶›áóú E‹´Ø*ë_ªŒ®NvL¢Q°-ëlr±ô¦‡³ý4Ý!aA…ÚxYGmfBv_C…³ØÞbšÅ³”ÖšÐÐ
-¢œñ £‘I½…
-M©:l/ ?Xå›èSîvåžÉ›åÎÁñiM„ED“¬Êòòn[»yÙ §” •Ýõ§âCå5úú©:‰È•5
-.¨CAV²­¶šH't¨_ömjAžï•Úqm«B
-fÖ˜>içtd9,kQÏŽùpMî8Åx¢Ew=sõóŒ«ÓjÀ˜#ˆÛ•¾€áꌳE–o!)»)öÒoõoÊQQ<RñðzËå3¢XõYf^åvò´­¡b†à*õÖo4kyO‰Š§7É_#¢wm›Ÿ IJªì'þq .½aø°+rã³—2!š™ø`%<Rˆ‚ÖWˆÓö³&¬ ç)UvCÜ)s6(âÃÂ[ž•«
-%Íë6©]’´a®Kó5”t>ù,bR¬÷„Sö«NÁ\S_+Ç‚øÚ¾‡Üzh(èˆÃA¦ó_Ûð¡v/Û¤¼øAÇJ
-½dcb4Çåøñ¾
-™1ü˜|Þ_"UZ¤l€¹y%N
-ENc­wî ¬ O-¾”+ÉagÙ€ÆAÇ>Ú/ŽÏ×Ë_‹¨i*ˆ{ºº„˼WÐPºb껾ÏÈXÌP@d˜‹ïU%¥:©a:ƒÚ’¥Þ³4IDÁ­•ß%_…=!ȘÎa\*ß¼¼ê<»áae)£éŒð"0£míÉ­¦€ |°Uá„6ÁâPx0-öQ“ŠCÜ4Œdx^Ždh:)³]4Û',P Åoè­noƒ=ë줾mz{ôÆøÃi?ê—á4ô!ö åðA5±÷ÙîÏçì} %Õ EJž;l¶¸Ûü
-³]AQ°ë±€2 ½'T/]y{ˆs”és†îæëqÀÇ$Ië¾í(Ò̯³’”šeÞ¼é4nGGq·¸Ä0uZí‰b óÑ£€‡« ²``ƒ¿ísœ l·ÎF)peÍÑôpÅzFÝO•Œ~3SºË?¨àÉ>î#À€B8 p’Ù)À`¤cLå?Æë'DÒk±G*7,}LðüDÉSXV¿;Â)‡É*{õ\Úz5pÇ-Jêè Íî»KDO²‘×oyAƒ5ȃèòö6w  Q¼RxÜ^ÏGçÊÕÛ·Ì9Ö=øÕ!ކ˶±€ü©¦âù)X“`I:qSŒÄ¸Œ)>]K!@ÌYqQ Á‰¸âÇQÔUw¹jKNFÀ-§W<¬
-<òÚU¡~^d‰ñÓÉ°´eÖòóh –PB­åÃ=¿ò‹BDêôðÉ\Ÿ³Öy LJq ¼X*`Ú6wY=Ò*PØC2À×ç»á0ñÓ
-òDG^d£~‚ÈâÌ
-øZŠ.V«‡§G¯Kb)¤ž†¤Œ,]1ccQ­ÎO2œ…á´ÒåÇh‚ TÓ÷ã φ»™¼u‹gÂö<†¤|d±‚Z5Úd¥ÇøG?fIiÿÑPU=Ý <G þ`GCp”vö©.W¯Ò*³À}%)ÒÓ/“çÀy:P‚N§ÓX&O2ÌœÂ6ç
-êh»c±ƒI%+¸3“-_†éqí¢BfÑ?X¢=¦ú<=U¶ 8hÎA/*Ï ÌI¥ÍÝHÑÐ[ælÄ•éînx™60ª_{tžõš“KFÏ)`¶Ïß*‚Ó±¹‹ë.V˜o—“ñ,C±±7'Š´Œã"œKýóG:ÃJ‹¶;êF'þ-­Ö×RñI±+Æ·êûVÍb|‰(Ñþ£`wœa+ŽâX|G°Â’ûUölG_ÝQÕu—OÖŸ‡Óƒy@’”÷TÀ±Ù´ ÈÙ³[•ãqPæW“ÌðÉ[çñ–GMÎÊf„V½Õ¶¬ûÔ&`¥?£˜CÍnÜÖW}˜L=»FO+fÕZsÈUÉ
-qÎèÁ(/3ìã[¯ÏõC‚Sçü°b¤
-BšKä;*t»Tåà™Ÿ1gô5_§jè’®H¤²Ī<‘&
-:þÙiÓ„ZtM/e*iùüYüxçmMßÝÎú +D×Åo{ TˆdÚ[»o쨔̬u‚i9¡n~p
-GÈfêìð.†t DRmfÀ&Qý3áv•}Ó¾}À÷òóK…²×™V)*­¹Eµ é£ûÏ=è㨡‚€¶h®`ÚS΀Wvm›bÏŽù2‘¨È—œR?\«®Ï–äTgš®ˆ$gÞr=¯;˜QW碂»Øí¡.ØöÅßÈŸë}‡îy—>Ì­}¢à“RIêM¼•e½¨pl,¤3*ÄT·þÑ)0v’ôz‹ïü1Š4jH¤†¼a\P™ï&?§’©7¨—
-Þ=á”7?îÖ ñËu.›ÄZ=•“ز‹,-~ ‡JÐÚôr&ëm û\Zæâo®ð¼‹I^†ÀÐùío¤Ll‡ ¥TeæN"‘ˆc{Oп ›Xñjÿd'ÚŽ“La.Ï4ag•¦¬5ÎÁ
-^|eV
- ó8BгMðöŽ5·krÌ¡¦É‰†Î*óî˜E”
-}Åó–CglxkSÅšg;×rÑ?ÇÈ8Œ‡„¤•Ö}Y©¼tíƒÓÚ",É«2EÅV€|ÈÑcþ–í‰øȨՈ
-›¾Ë×±BnWMèõ¦Í;öy‹{?%Zp¶þï,OOÑ^:5šçð0Ä+¤‚¹§jÀøÿ™BX?„ÔÙðµÇ¸ˆ ÐUä·¿Dü.
-é+ý®ÞfDäƒ[䉰eתG×»–m»Ñ€Žve¸‡×o òƒUËG#Þ¯3¥HÐçW²Ðh´XÖ….ÍÎ-€¿BÕ 2µA ¨“¤ý­"¼¯;Ùò mf"8vzP¤ìúH¾Iø6[‘#aЙ…gªÃ&F ']-+ †Z7üRûVë^ ‰j˜©KZNÊýA?6~ç¨Û욃áqÍgŽWÊüzǃ½+àIcauÑ“‡Úþ`öŠ„˜¡‡€ A(¡8ÅiÊP H°:)âŽvÕu‡5›„­™±Àíc¶«kèÑXËa¸Žæ5Ç” sõü3øE +¢2WÑÅÈ­°•òÍ,äÃZ&ÓRÖïªr@”ä4¼ 8è ‹EìÀ°?a*²oѾtü§ ÐäxÖØ<ØDÞÛ<Ž6“K)¤½wíåIXìtcíZÁGPŽDÎú'…H¼hë ›ý÷I~žŽ©e¿6ßpÝLàAü:IØ°³ƒŒRoÞasmÐxÅ»ÖÈõJg½V Ê!n—ú1̃*<¦UY!=<É8õ—LòÝK2_TÑéÓ1Å kžsÕ
-OÁúFbáË^€ á–ßô¶Ø<ˆ’*¦®ôÚÚ[ªO@/iMô—±™µÈÕò ¶¹j‡ƒ9GMzOUõ~<m€ÄÊ“ÅÚŸF—ë*ú·¿…¶ˆç%cíЬòré!’½œÎ-'š!ÈJ¥¾±MFÿÕ“úå: ¦©at4g$©\-ið1¤r§å}êëŠëC¡ˆ
-.“Ÿ²l8mdÇÄ×ÕB„¾É•‰ ¿eI¹Q!b'ìž´ô§W)±„LŽå•ºgÏ‘„™°w‘£ :
-3¡= ϧ‘¥QTŠú¾šèÍzÅ„(¿¡gÎ"ßl®3‡ ”‡îoÞƒ+Z¦oáöà4Ę=tÉK-Æ4ä|~üaPX/D&_õÅ;*¡ÿªð!„ i,ö,–xou*Œ…Â0c*SäH˜èµù¼ŒÜ’µÙ:üØr9Њ6p(ŒˆÿÔLGEË?9Ø6E¦ø Cø6ÜìzU ‰ÉJo½TÓ xõ3ÇÂæ´Yæ ¹ZK®ºµdy—ªÀWÄ ÷—Jbæ°W‡Õ$“¤)!`'<ü¡a¾ó=¤#Û·jõ嘕Wqo˜ý–)_¬HÅ3ÔAIW²~{ŽÑÇî/‹&Ëß]wÞÎZƒòO°^åûµÁHñë)¯­ÿ z¤ÙÖ¶5.7N`‹O:KõhìÙœ=ºû1¯å'ˆ¨d[àÀ®¦ží¡¥gío²wG³Í\û¢922 ñŸzK}·Øp$ÖÈ,b—›rd)^ÔYW† ×1š Ëœ¦6p-eÑù[n$„:J°¨&bSEa‡H—‚ÑW¾öqŽ11ÀcyÇK#m)!Æm±¾59õU$}À[çÓƒç¸×‚%÷‚~H®‹>¬¬ß5LzcxíEk“ˆ¹ú¼Ñs:A²óp6¹önÁ¥+²àP õÉA¡‚éÛôÄ”,,¨Íb6ôʘŽUÀ%"ðÔ”ç~qf?2ÎƉRW‹êKС:¯¼(Pò~£¿˜ e*²»ž¬hq»¯ù‘1'¡Û~PŸÓìªLqŒÙ*£0ìÔϺ Ÿ`tÞYïwý.Ã×›Ù/ˆ' xû:ï+#™:ãàiÝAÏDÛ
-ÛÁ@^“H·vîâó1ôצs²5?ns÷ü*<À´eºbME„NÇúDš`¡æWÃ@V©h£ÿÃ8´¡ ”v}‰¤ìcJVÐ}e!¥´ï »QV=´›|8Ñ»äëTË+E¾+,»0–¸µ'su\~Ñ
-ò$7c ¢öázh˜O¥ó 8Ýúæj¡Ã‹‘/%j±A³Àóë™c5$ Óür’ o|*…i(²^j”-°ó!"÷ñ,°ž'Ôqˆ¤âùŤCU#‰†y0-Hr\'¾Ñè5‡¤%O_JíS<^ÖácP°ZþZ5‚Ò¶m…ú[éîI’àÙ0ÃQùÎÇhpð§Ò•>þ‰­žuê]O‰´öd­ã)/P2‚©:Îçùþ– b ¶9G\ 
-,IŒ¿&˜^ý¾"Ï ¦¢Øqr,Íß®Ê>î&x콋Ád@ÜhìÒZtES·Úå«\¹ž@mú
-eî$Âjp¥dJºlw Äì³j
-Ü5Ç+Iö*|Îü®’UZ­p_%6opõÉ_IO7;”Cô@¢™”人D@2¡B'…õ,0™ânN-ÖkƒS[7p,sÍ >­ëÝ]àÚt¶Ÿ¾ÿòM5nڛē ìhT?]ÙÅ+e@Ch@JH$ êÏ&>2ýã°£­ YúDXQÕ¾ŠÈ‰Õ ŠÃÒâ¦Æ\x+¿`2eÉ µ^´ôB|iCEÊ·\=Ùü*7CRLžÜt›x,3¶J%A ~†Ó`®*w‡Zý.¨#WÈáˆêS‹“É*&ÖLL~'Ñ;¶M'&% ê"×[*moº¿ôH^ú‚ nM6)•U«¬¢WVg§Ä&x Kí{Ç¿]zÉ
-¹º˜X£fÜ<#}ôÞœl:\ ö%\á·Ñ–Ôõ<Eña›ýE>WYŠd÷ŒÂ[‹¡Þ äº\œÚ9IxúIÞpÌšäµBÔ:¶—³ìôxÅÚQn¸ÌÄ/„ÂœõÞwŠëÂ\Ó ùÐÈ/ç:køTqjNÅë“j…㜸\—³†g›d8¤¤ŽšÚ’ãLZ¾Ã¸]âì´¶Ï T&¬ï66ªÌ½*|¥0w« vî&‹®l5fÙšEÉÿô̹ñ$\wñ£O*9ÑÔ
-MpÂœ(i¹p—ÂMœ;Uk>$×,>c§ˆa&¼(öBŽ“,Ÿe£Ü
-ýG±ýN;ã8ñsø¨ï牑1 \°Q“âæZbgxÁqÚŸ¦)1â­Ûw!hK{…Ñh­¯\¾ò–§¢,ˆOÀ°h|ÎÞØéjn‰‘£#ÍúÅ4|ÑÓ²qÔÑÁ¹õ1³Gï¶&dðb<àËVOÇW­R‰<­¦*›¸!ôøP_1[,±Œv÷~Î Š¾rŠ€¹³¶fúÎÒ6Ð…i„ €ƒC#ÂuÃè÷Ê­¢‘i˜=ÒL\™¼æÕÙ¢'¯Æ’•Â835PòîL±ÇSÌÍQýí–Ór& €cÛ¶9±&¶mÛ¶mÛ¶&úbÛ¶mÛÉþï°w[ÛÐ7]§ê´sÐç eˆ%Ó29§b²øǦ+îäò3ÎøÅ/åÚ¬¿ÛŒS¾\æDéH¶ÎÇhyvÿ9ž^¹þS”s9õsꔜ\ÊP[ ãÇcƺîÄJ¡Cr‰ŠÂéå»N,à] 5ý…–
-ý¿'¾-ØGŸs¶Ö¶
-48§4î²Gá0>¾Wlx{O..ʼn6mD¸—ÚµQ¤]ä]Ž.†Ø0k–:3ê‘M}úf¸âH]*Ñ|ïâ |@…Òï‡H ™ÂÖ„ Æ;¾晜åâÈÑ¥¹Ìx0»°WäîÎ{Þ~
-ƒÐ ñ2×"ËOÿi"4§^¦"ˆËoå<ð­áÏ'¸ä[ÓÄõ* wX¼ê `؆ ÅuŒÕ×´$¦0o±ƒ¢ã ÿnlkÄ=³÷0ú@TÓ~"Ó,àçÜñOÞ\à}ü½ mxTÀÈ ²?+Ÿðwíxª¬ò“ÞcÄ1¨+EâyT;°O
-”¼´„Ì•4YHU†Ûî: À’´6c§ŸL<ôwÐvbif”” èAÆ1`Ï”yþ–b“àÂ…–WƒÌà.šžîý˜ìãObéFv©rüh€ÕÌ} §¾ FUStŽüõ¥¶£ŽÆÝAï¥i’h Õj=úè@ÂÅðÂÅþ°•¼Sá"ŸÎîÓb¸®"úáÀT°îJƒôúïë&n‹™Ë‚'ÊøOIµé„o„œrÃîä8й+óu¯é¬¦ÎuܬȔ
- AˆÄÒŒS€w¢3"cöèF‘þH™ÿU¬þ›€ªb;6ý@>œãžÊß7)Sz'Ìä­Cs"Oõ«—$Ö‡Xž|ê#ϳ݀¸®3Éþ¸x0±Ý¾Æ@ÁJ&íæ×jJ¨µjÃ[ä-ÙL˜N`žFšxóMCÜÞ ›³R_Óf·âéÛßVç v¡>  $àdã<#OG1Û¢F7û™m@`ƒ“rº”®½C><ªˆF[·ŽI<.f$#Ðüõ‰F¼ úóÓZ—zð}‚4JÚ‡©‚­oI†yjø[xWûêJ¢rédªM.<T¬¬š–âà˜.LVÙÓÔ¸û‘P·ïëÂ1ÌfŸ@@¯1yO~CnÅŸædçn$»2âç
-J’8±ûüÙM’æ”[¼®Á'Á„SbS
-¸âÆ°ŸË_¯h jŸ*5Îþ¤.D#gÃQ‡wÏEœ l,›^BŠLg<$¼]àÂñõøzGÖÀùš>£ é¤+ÿÖÁHc4àÎ’» KA(‰ÔÎH$<!%È…ë5 ªÇ„÷ØÑ
-ü}«Ò@ÕAšêïÚX²aÒ
-˜=–ú™ˆ©hi$BnÛÕYoÊcFTNŸûìèÍ2õë”™Ûøà§{¢Ið§!U/M眼ԴŒÈRgªÛOCº2Èz –æÅ/ñŠvqü0kZÎ$‘T.R©fÇ­Ðêƒ
-MhÚÿ„¤BMsß{€ðÕí,UtËm YÅk¦X—|Žª…Ò/M½l=¸0Ó-R1ˆ¯
-f_iz,©”›6]% ¼5¦D–Së:I™›&ziŠ…D¦>ƆÑåϨÓ})mŒ=TmñyDÊö7©ÏîEx×$Ž¾—6êñUÙªû®'.•ÁÛ|uKuË 5y¢¼qžYàΈf'«|~ÁÅ Þ°Mœ6Qï¥ùTú‹­K¸«ÿ*èžø’ªq7
-ìÎ[ ¶ ÿøVfÄX#Û;Á7å‰
-SCsìtLÑp|† _VçuÞEª¡ôx7?Ž ëDäMvŽCÛp—àŒCˆ~xeÇè ñ„E ©Vš‡Ûé¥ÀÜpŒc1C xnÏÛppÔnÆÀŒ:ݨ¬}tS4ÎÕº´ÐûKÜ^ÅÝbh6˜,•áNfÊm×A˜ªŠ ·×鶠™‚mƒpÞÄÄ%å˜swÃÕö)
-5n V¨~vu²H§<mUv€[A„!‘#%2‹ä
-Lø9Ñ{ýœË å¦ÑMj]3þ
-ƒÄ(}®™˜/—BÅeUx
-Sêò Uµ°W¦+­¨SÒÇp§-ÿDjë3Ž sneé6O¾ÍlY¡¸;ãß¿Ç5ú˜Lý:àÑ0Š[5´q!‹:Ms<”ýñÊ’º?ú„
-›Ü«¨Ö5"sVÚGZò×gkïá.W
-ÈMBU7{:ãKIÐ
-ˆ—ˆw›&(8Ü“æ½Ì±ñ1ÑÔ^Ú¯Ãàrð£0ë[kf÷Õ*}¹ß@„Æäö}7YÃê¨Æz'·KeªÛ$Ó²bI EÙ#ßï{†,’æÕ~ExT.!Ì.ѸqGhý9p2À@Êp_Œ^Šòû»âÑ@Æëøæn ^ãÂÍ’ºñjQ‘ãj韹ԤíÌw/®xáúÄ3@ŽKÑå=µ…T¯à™ªFãõÏ'‹J.ô'¤w£1’ñú8ŠCå#ðóÔ†,éx‘ï6ÓÆ/Hi4’&ÕM~ÿh/ˆGðvâ2•øÃ:jp} ¤gIp;pƒRM1¸ÄÜo¡\
-rGþ@Lrêjhx%8ŸÚ>l«Ý^=é⪲ F+©d€†µ‰¼½¾B`o%冴ržÊ7.Õ…þÓ”.ÓÃOçkÀîöHÐ?šnü\ûÊ—–ò¦þIØcl6_å?2aZòEô‡C8žF~Ôè,KzŒoŒ‡JO*·ÒÄh^–R…{Q '!²·¤äõì‰
-ás(;Í9r£aC¶Ê`:ðY;ÛQ™!¾4Ê——rÌ|¸’¢Î_”àvî‰ÐRëX.üfvÜd¢9=‚Ð]·b>ùÆÿÌÎë'Ãè¢9"¶•†³¡Õ—lS-†ÜZAqªïÙØÕèúD žÓ”5Š•sAŽª¤{ žç?˜X{.ú:„bíò·ëÕÊÝEhâ.ÍúB_ƲÁæSË<hS†–èð¦‚ÅóX0áJ÷¤æoHÖ^'‹¹.W‚…¶‡{¶Éxl‹¶gœJ„fž²Díâ*ÔpÞõ‚Þ3¢3ÿ7v¸œ=¡kÖè6zø+òᶑþhóf …Y>vçô]þŸê7Xà…ÕÒ— Î  UÕD”7¥OªˆÆr#\¿»õe]©ôwÞ#Ê q°ŸuMÙþ›Šü$ÔÍÈͨ­ÎÜ°é´=•qð#çgþÕPäŒÏ´áÏûójb2Žû‡¤S°RY«Ã€…rSðûÁ2ïü‘lãïPi5v\?%•–ì|]‡?jßSšaõæ…à ·ŸâK‹âS7§xÐhît²­ííXÌ÷»øñ½QYM·õÉÛ*02÷—'(~@÷*cx.ag$Ì.6ÊÎ0~zGóÓþZ²¿o­xä²&ËN‰U]œPÄZ/ú~Q¶Îö\[Ö$ñãR[öé–’t—/)$¯h´<¤ŽcéýÃÄð±9>Z|É ˆÞ¨¬ghH€ñj~…îç °QÏšd"ÄÙdž>É×¥‚–ÉsJ¿öãô5BíìÀ½Ã¾DÑYÁß9TFÛiô…H¿=~!µ”_£ÿÕhz Ûé³RÇ=@QXÚ›$ùQŸ2laŽ(ðvºQ„ ]jŠÖ-`ëÇ8öJ•§ä.?N*êh âÚ2T
-êÙ©ï•×`±–¼ì«í‚ú{}Xíl\ER«êb{E,ìêlÁ¨ž¶`Ë eFõÌÔøÜ ¤ó¼ Ú˜Â_‹Ú}L݇yûCö=z´©Å¯ž.ÉÔQ;¨iœ„ 6J†b<YÔþKKv”x–•L@ªžZþä&$'
-ûÛÎ ´*5R]‹ŽÅ^ØÕB¹*ú[wD„¶ù×Wàaͳ®nNo<cÂQÝ~;ž™>j ‘ýÎn¤‘M©l"cÊ9Ѷ›|îÄó¯”ííU}]íbÐn ܮфôK¤‰þ䯸¡§ÚŠ±[ÂãÏ.åð¢X Øm‘yLpÅì•\’ho;¶ÓèïÙ±Zظ¿‘+ÿ¼÷£Ì®Î2é€_zñÌ·^ioůW'<ßf(àÂÏ›¡‹"Ç™·Åô%O™Îr(ÊQzΩDP±pH*u`ب#_çß!×Vê´P2âý/ˆ|ð ‹„oçš>“ÇCü±ð+5ëã(w8ëÉ,4ë1Ù|†U_5Y}6bïü§a…«JhÛà’;îdÁq¤Ÿr(ÂkVU˜U”UH3~Ì cs_lŽ+ä¨<L¦Oy§ÞŸZ6Œ"ès~fûQ6ƒ›™J÷WãIø²ó`ø9„Q3¼j9p¬ð<еó¥ËbÖm–à%»Ã p¸«C’ø|' yܹ·ñyYð'µ
-»°fp¾bDºi7n©•7¶·tišy‚‹Å„ïÕ­i-šyç<á‹™ãžG”2š$M…8†]æœxÝ™+ì—ƒIÂ48
-PÔ3)lmŒ;œ¸—ü“5|—î”+ÀTÅv‰¼Ô_òF^›b QãLT?yÇ¥ðb²èewïA© !ÅdYò]mÝ ÏÈÍ[ŸC9Év%?Ó8|
-\°l{ˆ<­û$\Û5•/—»ì…ñVT~B
-‡)Í1p’}l‹ÈÙ¤û¨¯šð1ônQ“Öü:”ƒ‘96êì(…+õƒ<“4Ã7Q|ÿF1°²¨üñ#\õl1ï,äÝ?7Âeì7®Œ½nØ<É„3ÄÓ›rhNBRòÂÑC
-^[ÜÀ!ÄŠxMcOÝ—ÙPFt>l¿‹JF¢‡ßÂöð1’£†°åïxDÑv hÇÚ
-¥åã—r¢fY—òU·zifÁUÆz*JfU¤ËÞ ½ ýä|ÿ:Ð(Pk<’¥WÝìo*Á]ö…gP³Šþ,ÚFjî¶%™;ɘ¹á9L9.DœÇǦÝ@sOµhòÚ³BãtÑsÒ~ˆ®›×)-ÉA
-ÇГöÞVMýͲ:“®³m›ÓWBÖþü/ùÁÿ ±©¡“‹½­¡“5Ìÿ
+xÚ¬·ct¥]´%œŠmó¤bÛ¶m'¶mÛN*¶mÛª¤bTŒŠýÕûÞ¾}{Üî_ýõ3Ƴ4×\kî½Ç8dÄŠ*tB¦öÆfâöv.tLôŒÜ
+%ÉžÿQ•«,Å€;4¾;îì¾aC|»-œƒQ™œánbh`ÚRs–ÎŒ÷'÷š=©NEÿúä[ºAŠ©²:1åÏñ†îs;v6@Ëð}3fûñ0;Rt’i$?<aFàRó›.kôW㚎d`3ã¨o°ÙE¿D˜eæC¤‹: ü>À']\K±ýÓ—,ùñ£äQå‹2³:£'6³ô‡$¹&s¦,OMÀÞÂ÷Ä)ˆ$ж
+Pª4]ýùÏD¸ø‘£‰}œ³Â\ øøYÖa*ûàýÝS0ühù¹FàŸ!; ´ÆDaG}û»êˆQ‘Má´áO„yÝsؤN!¸¿‡‰f $í±ò6Hëºac¢l}“û14º5?q³ElÁC[X¬!mlsNS›Xîj˜—º);é€Ù^Ç4–9+ðûËšŠ„Ý‹œD¬ŒCy¿Šèò1&Áf°§0µúO Ÿæ Õ&*ä·¥â7¯T¾² øê™Î„D1áê†ÚLL(¶NÔ…Ê»czô×7ÿì×Þõ‹§‡+ÝP/Nž&ŸÊ-Ç5†šíìÐ}"e=î9³æ×D­V8³©<m`ô¼ÑïøZ‚F6Ig|ϯç«çòêZ§[Á£œYŸ³L¥›<¼âÊIÑM¸O:øåQÂd4…þ#Í·"£®&TAõ(yC¼ö8
+Q­,gQ SÙÅKì“
+zšõ\‰Ì…>j Í~˜£—pV‘]øêkãZ<*Ï­F* @DŽøC|Ž¦ÐÓg¿@|bM¾1–¶\m X(Æ|¯ê¥„ð[¾þnÑpRÇ)œr57X9²Ô˜Ñ3u?\#T¹©0zy<^ûÝxª7ŧ’7ô> w6_êòãÍ}³AYK”÷øÅeS{Sx0ͪ
+¡GORþ N b3†ñîŅ̺{‘„Á2\Q ÉÍçŸ7@ëmèXèë&Ѻ
+âçÍó¹ËY-(î!ðï@ŒÍ
+s:ŠNrzº÷C•ïi…›B,òFu¥Iç0;õêà3úuž¸| fÆ ¢ÙµHJF'@ÒŽì
+ ÞI^’•0‡-—Ô~ óæ—ŠùPMcÂÃßØE,Í‹þ-ËÊþÎ~ÞhY¸Y é–.È:R„3ãzÔQ[àÃN^üªÔ;èº?€N:@—_¤¿üë3ô°z¤s÷ȪÎâ'Âñפʙ[öcµ©¿%i“ÿ ‚Ûy¨ƒ}ÌÈí€D!NTä.«uï '™ÑŒ\J_d3È´ ‘§¶Æ2Ѧ"48F‘T±äX`÷ã4yR•{®é„ÓËQj±8£skôCq¸DÅ ¬óÃÇ WŸãUÚ/…ô爭£
+žûëý ?™åU™ü¶-$¥ào²ê˶Ä"S³áUùxµhõÐeÔX¾„¾V±:Ê›Õ_娽Ätü>ÐM¹ƒïŽ€_Zg—¾2ˆkqp‰éo‚ÿó&ˆÞò÷ý™†¯óx‡(|…e„¥ÇÒ_IÚ¡%õ5Ыwy~Õðp°ÂÐ
+N91M÷ø,“S Ÿ}·­«aß`Ç8Ö6+M.!‡°d‘g­‹tÀê¼Âž¶†:½Ø¦4gô^-GÉ{É“¿ ‚¦¿§“Ǽ­y¡#“ç¸Î'¼®4*\#ožŽ`熮öZ>%öcX–qÖ¦ÍÄü¡iV¯ñ¤-*Ii·¾Í$ ýÆÎðdߨS¹lç$CQwªfzN­9"Õ¦‰hâ#žôbw;p$5‚¾OYoÍæO[“$eS¡n¤hØŠ¯oËl3ÖI+=xòÛ0T~½Ž…q '>åd…‰0ºMæ1õ~ÉÆËŒ¢g`ï·æšôb¶ùò+$ä›Úí7H)`]·´Î&DBÜâE’è¹Hwºšôƒ0HÞÙOðtRZð™éËe à'íLNŸÙ) †ÿ®Ý7äÐ=lYJ !Òó
+˜1:ñ~ý6wKõ׳¯5~™Õ˜,+&Í3‘ßïsïÚEeæVt>bx`I SH'[Ø"Ø9\ú9¬p&tŽp^âÉûªIx±{—’!Û£ÃÏ×bÒ°ÛU(7>×#ÍŸG\ŠhÁÕ0ÂáʦE:qÔ®£§pb¡x3]^¸Mýs
+~Óâðe<²\»1 ´þ©Ge­§àvʸé=¯ËI,›X2×2T@2ªí…É s¢KEQ÷gÞ±BÌPnç„>Ò¥“àƒ Áìî…Ø%Þ _vô˜ü–ÀôÊû {ˆ ‡B‚ÖY0ÜO­Xëö;¡·"4(ã[¸ Ä>+´‹2YO.¬ás®‡t·UXÛ<ňRÅŒŠ¹ZÁy´?Ù$RX¬ab÷e>:ÝÐãÔ¡®„ïìÏÛ*.eå*TOQ>Sqò;£2*^Ilr*_›Ð~šÃý&j£$éh#…Î6²›ž )˜¥üžÖS“†"Ã_úèßšfÏ6.=&-+$ž²ó\ IFUïòÎ]"ñïÉ…ï‰Mö/S)Ï€Ù’H˨É6ûÖñnË;Qu›Ñ¾ƒº*iWO:åø᧺·ÍvM¥ ANÝ­‰£³éÉèaçFm8bŸ•zPÃú×6ö'/SÝ¥¢Ý¹íÈVþJ#]úWÏír駭M,7EB­“yö˜Vû墂åÖ²†BöB¤~Á“YSš2\Ò&sÊ_' °ÓšÏ;:m¾Kªš­y­Öª$â±—MRÞ±o²m
+ëý üö$ô€Ù»>«=³(5ÌCxŸÐs²Ÿê]Q0z¨1UÇËÞŠ:°UýMG™:•ïSåi5 @XUå&AŠ—yþõ}/ØÍ.4 G´Ž nß­äµ1¢À@¿½C·#ˆ(ZåŸÙ}ü‡Ã–šÕNì…Œ#%.ò³+Jºì<£5Å 7óùz¡¥éìOsõØÓÐŒzJ«ÁOõx|š’Ôð‘Þ`üªø&\Ì ê0¦`ä3Ög:üòcpF¢
+±­Ù'Bo¿i¦ T[
+„®qá¬qn‹Qý7¶ Ï%0®>¼ W|)H¦º2õ ®š¾3µLèT”´6 û GfysºZbk‹Ž§ÇT(Hˆ2¶êÒâqZi㶠DzAc÷Ï-Öôsχß·M»½t®Rx×9æ¼h‹®ì8D×~ÈèÙïú'97h,7Ø÷$·¼ÊG9Ïëf¨M"†ówO"P¾ƒ´ÏJWo-ZŸ»aogÀ(L3Ûì1Û?ǺÝ3:ˆ+¬ÛÄ?áï”l£lzå/QY•ˆ§ªí),Gcp%®Q6M½ïW‹´Ú” o¯Žè.Ôçèî,RIú‰pEæ θ%Bá«°cLÇ ÃÓ” UÛ.£ãŠ›âÐú–ž/ÄŸQÒ´?Q†ô\AoZÚ-wc„Óô$ãŠKþмg>”Ÿ;R&Òs¢ñ­TJ 'ï;ó¦úÀ’wÂzí;¦ £TmcVU';Ôšz£6t{ÂV5è+±ä:È«1£PÙ¿M±Œ`M™¦?ºüéK¾{/"Í‹É[¨c” ¹VSÍn˜79…1;?JÉ t\~ÊHúÃè!cÒ°Hoݘ”Á1íË ½­•Ø*­3ÀaÑÆäÙÂÄê®ü‚¯sp
+Ö\¤‹
+ª«–·@ùø¥NŽgßSh@þ²zBÐ,^#7l²Gi¨ì˾„ºÉAò5”m—í´R~kÊÝ_,ŽC€ßÐ |/D¬îËù’êòzÜôÔCü Ƹ"nRšÚÛA“çî…æjOåP’ámQ8{'Òœõ2^•1Ú´7ƒù\î|ÐJ˜ÏáB‰ŒC‰¬¢£‰¹†üv„á­ù˜"'ÿ¢6úVÊêúŒÄÕ‰`] è=ªÐÿ¼Ý˜Á¼ÂýþˆQë:_~€u._¨µ§™½×6®ˆŒÙ•/šFz׶ìºÊÂo"k‡ºÞ„)Q¸犆3þd?°å6¼$¬}þç§Þò‰.øXÞP(BÄæŒ5Ž+;èŠo[•ƒúù¢ÏeçDS{'è’ⓆT*üb*¥äeRéN¶Rz ±Ç™Ø !h'8›=Ü0Ûª|p–§{—±~Cžz2ÚŠµy‹_Õj6ceL4ºsœWQ“²Sâ.[¯ŒÁ!ñ v`˜²foø»ƒ¾AϪlÓ/á4qaø쌩—Š¼Qr^º£MŒ7ÌÍãϸ_?=£"”Ž«2š»"=ÄÀ×D¸ò¬€Øå᪠—&?ïÌ­å÷Ô$¬o(ÂêáW‘M…ȲöîZõ=;€Ü¬VÍѾ¼Ô/R8÷2úI4ZÚß\ N®ek¯¯·~ ÁEZ7™!¸»~ŠsBܪSË R£Ÿ·8Eÿ×»ãrµÑÞà„û­ pÈ1aøs(ÙeͶÄKAÀÄ< ¬3ŠèNw¸Å ¬Ÿ |ÇMñÛrqOاì<W—$ÉÔ~Çž-×èOY‚wçRK3Œ*æÈ`·uwÒ óµZ8tG÷
+äø>þDNs4ÃViDKF—j—¡DŒê×_• áÚαB †|`½‘Í[Ô4R‡,¬¡2W6þì=€ßŠx»ýÕ†àa,­:åÉÓ8™]ï­±Rðp›
+³úY¨×p.-.Ì—H‡K, ¨AÀë„ÑêÏÅ‚“­-á¸&—É-VÚAŸ¹<\~WãŸ`Ÿïìû˜aØW ðd––Í&úW-a/bô»¥ß>x„ñ•k’Mäc6oá»üzû2ÜæFèØjñ“Kv‡ìŒ=ËëI]ÑEŠãOs¥l·rµÊ„Mƒ 7X>õ¾K嘟ûç/u…&w êIJ¥/ÌAktEâÓ$P(?˜àÜ}mÁÀÖ-èE…ÔÄYfOÃÜ_2?¿iyz=÷[ç”%jÙäíöÌ F•EeàGMy·m½ Á!w¸ÖwGf^Pžï yP„Q<Òò™…X;ˆ•—e± d°6µØÓ£šµÔëªàwßPMò£-Ã:Gjx_¹>ÉT úu‚àuÊÏ÷¢œï°ˆ*Û5>˜Bõ»¤8~=mjÏÅAJl bpš˜ö¨!³~AÐŽë>“½)JþçøˆÁ¹ÇíP|fïâìdžKmÖ\d/ç!¤Ã-¶3l1¥âPåËEX¾
+ìÕ|ùÍ1‚¹ýd~ÔOŒí¨,o
+ð^üW‚Õ†²Š+öZÞ‹cÍW^tk&ÔgF¡.øò{iGÉt[m—žáW„µÅ»º›ù¥Xsþ¬í¦“¼Ý‡¹†ä¾WPS^VkãÚÏzóhMŠ?òœºd&÷ßBbÉHöÎ?ê5S1C·D¿¥j1ÎÆìÞ™§mÓåï—cÝLêIV¡ó¦Œh½æ6'¦–éÉ:¨u=ß›ïe›¥mžü—NªÌ[€oð4/*îù9+2:‹…ñI¿Âm["¶ŠõrF†‘n
+ *{RNÝٷ饩Ä2 ìປ:@êûÜ.¢ÉÕ¶2
+úóV¢ZYëÐÊè=7BÅòλŒàZr´Ë5nYýÅo¼¡Û?·âD7~W]ñ18páF݇çœýpV.¾h¼ ÿŒ?·Zã˜E:Ä
+ó”âVaéõG ÀLÐ â§c7GèzýélP¾‡N½4éÕ¨ÃùÅ?ß½¤ü€ŠÄý•þ.­[¤ÕòGø¤}¾3Ó8v
+2ã €WôCCÄ«j-@ÔR\dÊm1¶ô}ñyúü|Â"›!±€ûŸÓ¦ybíF†ü?K>rVâÓ…Œ3/¢«.vPÞ‰>-Èk}IAlŽ#Ò7èØ3žÐûv×
+Ù¶ hïtåíÉÛB’åÝ­·ên…¦&=™²¼‘ÝktlÇL‘ñ—y"·ãÓ®@3{ï'ÜÆoö“‡^škT#çM™wR†Ûl¸á M»K©E@¼˜ Tãâqo˜t¤K³uÒ¥’Ñ„žƒõÝ}Ne‡nÉn¸4H"Ëz÷ÓõèlÝÉãË0‡ÎÈ°ÚÄnXr»ÎÊ:Å;Öòš²Þk$¨€“ÖªÍÖÔêÁ+ÚÙ‚|YÊºí ¶šyÉ’{(„Œ’z"üÖÀoÝ/ú_-¿*‡S Á?ó+n>åÎ>ð„jY9™t+YÞ³î5„7)õ›ö3ñ"]vëv¾÷Æè %eoxàóYM˜\E¼Ä"§'ÄÅAÅšÌ3vÇÄØ@I`œ"#UŠ""‘w¨;ïPndäÉDó} fø¤ÅRéñðä&ßµæ¢ø‹Ç }ògTü‚Ø|šŽëÅNèîüÅ=R»øqq;:¨µËý{bsm .áí¼‘Ø=%t«š6ƒh•H by(&$—¬GTÝ9=D—§ù¤"kûõJ| >6uf, ‰L “ò©Óõõ’5z^0§y—>E¾ªjÖhÕ¨¾ÌË ÛGAÌ@H«…Ç# ·.’zmñ´Ù Æ…´ «Ð„×LÖ4¯h‹«ÞO(‚ZB3Ÿ2²›R-àô¤%Õ¾ñ÷+7ù%âîîÙLa_êX’§ÐáæØ Ì¹ù7rüÿRª%VÏ Ï÷ƒbG@Á ¯ =ù¤¤@²“=mS†l²¢½‡ŽqAÆû7«Q0ùk¡_•³Âã2j±‹e ÂäÁ~!uië/s¦Í?- U
+‚úE
+¯„`©qZn;j‰3»rßv²Ï>?9qš̯¯I%a7Tqûñ>õãsòÖ?3ÏäU©KÜjÙø䥡–‹&ý¸ßì±IöEîÎ*0•…0Š'ãWø;ã@™Üs ý§)ÜÔ ‹³¨0 T=™«ÑhÅá‘ébó, –b· a1ßÜŽDÍ °À°!)Ú9¬€"¹CZºèQåÃün«EŠJ“g©è>ÐÔ**nÕ©üßS¤ðC¹…‹”h?3oÙ0…lk“¥kñ£CĦ˜užND„Ùx.Õ9ÈEÍ<_€íâVÞîï¾#Ò?…iõò-˜Èÿ^$³îÌÒ; ô¦‘fA9 ™Û> íì0P©U\ßRJ¤m§s_‰.Ið‚˜Ap‡eÂV–™>”àòG©ä³ —@µàZ£´×BÚ¾ø`é#ØÞpxýša8i—ò5ð›8ù0Ü?ü2‰ú>k]mרíÇŸdnÏ …ú*?· RPuˆWµu¯ˆà¼üŽ‹>ÚàTÙ@p[$hÓzÑëÄB$O»8ĺC1z¬ÅÝÅI)\܉"3lÈüyÏQ@*‰Ì;"Ó•õ†BÍÖÕÚÉ'ÿ½As04Jäëí|$¬»Ýéx¸<d¿J0ÄeŸ‡JñÐuèùDv¹½ôžúÁÅw7 ™v¢ý¤a`‘y*žÈ:Ù ˜üO|¬ŽÛöF^d+vBç¢ì&ZSaý|j¦ýgÙ^Dg¶ðt˜#ÔýËŸòþHs,®ë´ÖU£}[Œ„bEnHˆ2‡*:D‡AP!„çH#ÝéÄL~Äq®ë±—µbçkÕÍò*BÌHx£‡ÔÈJ\±ìÖ‹Û)KžÏwÀé½
+’fûýùøµNê{ÐG4"Mçï®Àvà÷ÅöLQ)H¤–²¤–U³™Fmpøu€Ù±ÐÄþB$Y
+¾Ú- fë<½ áÄH5£)`
+SÞ¯ïLöå,5aÇFe>d Ùl5—ä/ÍÚ\ç/Õqyõ[—Yäg£›âÜ)}CMû~b½4d¾ž
+GvFpÂ)ÌPq*lûPr<¤9FÒ2l:%îÊþV«¿C‡48èëë˧D&§c'˜HÉf̨l«*h0¸uï!hs*ç̃ÕÈ¿=Þîa†&ëŽõy u¢õå~¦.SµèÁ½Ô1Û"ò‡fCÓæ³à’¦"WÈŽ!Ž$*·Ï(³û‘Ÿò&kêcoåZ㈮ìLcË”O¤Á­ª›n_½Ô- 00®‡oì½½¼¦¸ù˜2Mœ•­ìP¬^fáäb™â—ß>Š4D£Õü™Ù¹ØJÜFë]c¥îÒV¥h|ëùžz6’F%ýÝ®Þ@·kâ&:{Þ“(>L¶à9•™ô|¢¤
+%ºåÓÐ-ºò41/b¸ç¯Y<!~à*T.E)¡Þ£׌½ebzÙ áP¡×E\¯7:!c\K¾:º.‚NkßÒ‡JñÞv}ºôI¬)NÞN(-Åïú±ÝKí¼»A¦¦0Îpx*“€ðÚ,Ò—æ«ÇÀ¸a3¥A”øÓn|gÀ.½xõŠÑ—?7ÈñjZ®I¹‘ûÚ¶™å¬¤‰œ‚ô!;¥Åö4ØÂÑIÛ.‚ÿÕJÌŽõ„¡‚ò$vö#]Ð5~åM®T4:§îUf@‡QÖE¼ WëF½É¼ésŒJ°Lòþ»³#B¬ë€¥l!ÛÂ?q² ýúKã©ÍÆvŇ…Ê:®Žy4¦t[jÁ[¯üÒÔÛ³JˆiÕ®T>èzÄ_x~<à2¨£KH®þÃrµP6Â{UXZ†·€ËçVÍe»ÒÑÑ.-i\>ñÑ6f€ÍX§ ’{)‡ÒMŒnS_Ò\ÅšîÂÒ‘{‰JZb4ULó¬T«æ©¹yë3Vî}Û~½l<“­s>¢Î÷Î{xPÀ<Û >ñ ê8ùq+*™96 Xþªïç¿rìñˆ.å
+ª "-^åßEyIú‘ý™ŒèjŠ¤‹‘“]ëítéU,åv›u%½M+| fË¥òºžezoÒQï.YϼÕÐýõ6ÛîtûœÞ?®ä‰”ªLv^ÐíÛfšõû¶?nÒ`kzI·:ïuÓ‹ìFˆÝ,â#ô9~B1êu\ƒ™pÓš+Ç_£Ê‡=là.+fc0·u†8â¥ëÝ•;ÅH$²—üဆŽ¡ßmý"&‚k 5”B ‹´r¨þÁ;¢ÀÉ@×f(T
+" ­@÷Ìæ—{:»ÕÉi×â0ò©‰jªgQ·t’3R%VI¼¿±Oy ûl“v@Xºu¡nïÙ¾T8î(¦ÚNÅòs~ ªoØÆÒâê¢ïà÷ßþcʆ@Tr”™ËÀ¸qïNµQ²Y
+‘»BLƒóÈÑ‚l§÷*ÏmqŠ|/?HNΘ¬Hg9üùÚ<ª“èÅÁ7:ÿt™-"‹è;zPÏžš ©Æ¼¢{-…Ò)RT8ðmJ˜ GõÁU
+_Ãß(ɸ¼Eá·4^1Ìî—ìEIÉ#hÅ_žÉ…X½ê’õüžœ^I Å?¼ 懻÷¥Ô«kú¥v<ë,ÂC•YHØ$®¶1Ï Âz^
+ª§5$…¯^%µ/…
+*í+ `¨ŠSäcÐØ52˜èÕW:œÝ;gшô±ó–)”‘[¾»àbuô÷¶öùª¶_æáž+5øÚƒP*@šÌiÒèUÊÖ‚ïÄfÍö“±ÌèÉýf\§´t”þÓì %dK­ÔÎ}Ž¡r\²…òq@}~Ã=?øJµà`î*Øò£5¯eí«x~yÖ$令+_`Tf2c²ü&wé´
+',ßÂÛ/"·°¤á¤îÚ¨oUJÌ›Þuk¬FZû}1ƒ¤Î[ŒÓ
+{YùW2Ž¸‡³9‹ÓP²©0ûÃ*‚4Í4shw‘#`LYxŠžtOµ§ºæ;í7À¦ãZ–w«õg¼ö-^Šçü•å/Ê ~ÐhZ¨¢"‘óå·°‚zã!õ)–oòQD­ G¤ùÚªxC.”WÏ%¥5bÉ
+ewcb²|M±=sîºEöuÒßc¸«‰Î¯»íï(¿öÃÄÜz%j<Û£Z/ðm1 hIjî—·]ö—Š’†ˆ› §_¹¯4¾Öq
+]¥ Xîƒñ£Ìh2Èkn… TH~-OD~Ûi.Ìœ!
+zDìûŠº˜%„úæd¨÷˜{2;èíLºZ Êbi0â™jªÅ[ûVpg‘Gµy¼e½Öœð‰œMͯãg1ÝaZH !´½áÉ¢ó¥Òùt?%³B"ãûªóŠ\±Ã÷ÔEkÙY¤qßÖjÀ¡Š X(*ÃwRÀß]ôéBXåÍúÁæç:øä²bâ×jA†¡œûq`üÕgÚ´—NˆEÎ ßNìÚö9I`téY)dÜvIb0ŽW\Eir6ÌŽËd$´ýèÍjÊùT“ ™E—´¿œxq`&x³0Ú.H˜þFw
+ä®Á#cÍæûˆ|{$Þ?…©Ð\•RÊ[ânŽ(¾’‡>KÙÙ+îà,d<Ô­gÚ–§¼\¡Î‡¾ÄW}<Å»E#óF¶Y%ªÈ’™Ö+Ù`OœÃá~1ë³a[¢æ „¡!Ò}}ƧÞóȘ纩َÌz~G­# ,¹¦1ɧ­X>¿7'úìî|
+â'Q9 LF+±órÊto•è•CsS«Ç'©«žé«O”œlds|‹0c—ò07
+NuÚ¿^ê&Â~‹¹¼\øœH¥eÕ~Jz•ŸÊÛw±æï{sßÙñàY=ë.
+¦Tø°èo²œNYÅž7ÁøÙÄAê_Ê—Üz¥-ü~ W8VQ~°óX‰¾ÝMbèYZëÀsZöÎñòL\è,/Å2­ÖïoþE5suKLA-ûH¦¤„ÙxšTÞÍ»yQæˆç:Zwñb”x?Úâ¨Í]áù9¤o‘𘋟aeúGw?“€às% ,öf”jº$ŠîÆÄHÔ^C°#@ VÎ'LíiL*õ—'•;TÀùqRÅ(E·Ë®íb){·—¬PóVŒwˆ±’©Èy a—Õû9‡U2 Ó kÒ%1]YPÿ¬_¥4½Êl°C‘¶Ê°Ž&…2op• ÅÀh=añyøö—Ê\@0G ŒU4‡gü4иJ€Vç¥é|ñú
+²G‰_çê²Ëq:M”ã6’Сƒ
+bÁMˆstIÃÍuÿ6%üd°ÁKe»ÕT¢¿8b+À[ЬÃ|"¸·átV²Á±ŠjhÆÞ âo—'ȼ˜
+ž ³b-¤uðúÆý†>äÌ»n¯¤îi[|ãï"¦~qiùRÔmz¸÷¼c Bäªaïì ¾294·‹€„¿‡„ BäŽø–£.‡Ç~ci«ÑN[²ž
+›.ò£ÛwÎRñû%s óÏg÷Ï䘖½)î‹À‚«— Ÿˆ iqKo¶¶ä×#afD»mP+/¹ïCÕGs‘b‹´H¥t#øÅcAº d4"k°}çß–V‚nq«1°Û¤SNM…áв4é֨ȳƒ\Zøør¨úx34‹cM„3“‹#‰/.”°ô–ú+”jFÑßV/?õhÝm^ض;™>cnÝG )¿ÏX¾Ý1‹Hì9³éb:œ;Æ‹“žÆlxsö¤NÚüùQµœÙY¼G׬rìk?1táñ^†Ø­B[t½®ž©¤‘‘ÜÛ®£œQÖpg•ƒ/¤†¡,¼³ÍµojÿZ[©«ž”Ž ÒŸ¢Ùcêäív–”µ¼O·M&ÐÐZU¢ n_5׋¤®”
+ãfx§ÐÉô#5ðP ˜{j1v÷¯6†6,êl]¤N°еÅé´zN™HNPÎÔˆý]z÷ ÙÃÜ¥S÷”·¡Ìá¸ì”F\ÓÌö°LŽ; Â$’ö]?ÐýnJ”hö)§Ó#$ÈpÖl¤Åãö)î†B®>m:ψ#ÀÈj_?œæÚ¹OrBƒÊ9íÕ¤¼§ØQíBI””²¾k]gtöP6>ñ[îö¹‡oK†à±"XžZO@¯A‰™~e·….í¾n†ºèRŒ"LŽç‹Õ(kýã^7@‹4 ÂÁɂיÿôðêlãsËÓY×þíÖÓz
+¤à·EkÐR Іy&<~Æ=´Iúúñ õË):›gî|ïrBÿ+9#@õÜ ¯;?•Šü2!À@ÙwF`oN‰êgÖ7| Ö"›«‘›È>þ
+•Ö##*S«µKt„M‘—a¯cÅ{=‰_=µt53á÷ˆÙÛ²Ÿxå+éæŒè€U„ö’Gé
+ë`LÍU©ÃÎ3ʼ±4ûe¥O®,(—̳ùˆî6ŸÑÂáy­>øzí×ÍUë²QLd-
+o|—òÇA}ÝÖâ©ï%Ëu“°,QYð[èùé{½‡8Ó÷©†ÁÏ[KyŸ‚gk¹±ÅÇS¸¡hì ž†8eÀ
+”ûÈê!ø€>)Óa±Jä\ßwÝÎð4Ø‚Óàr$êžåxìØ)“š’„yOi/#ú>)Å)¡Àë‰P³áÕü£JBe?§@»ó.†· >šv>Æ<Ðq,«k”ŸàbíÛ¼£%qi–ȯu­Îš\¶éý>J‚<1LJÁ î}«ÛÈŠR1뎭™V)€K6'GRÊÝZÚe)Vñà¶cE-‰*E.„¯|ÜQÂŒ•œXü÷"a ­À^[$C7­d¥‹è›‡Xg×jj«´¹3nwé·‚P@*cÙò\Cälüö÷GZ… ‰="ø(N“Ô×@!ý(‡“fÈ(¸mTež¡«ûâ¤jäµîÁ†;J{®’ylÐ,f‹!½˜ïßòõ£9(ÐõŠ%Ã?²Ú‚:‚'/Ãçß×mévo:76jëþÚx –Ä•D–d‚>y®ýR& èÔ—D1?Ù‡f¼Þ/ÍY²3ÛZI1ñ Ôy2·öqÙ¡ýnÿB›ÚÎy¹:­·WÇì²¼öJ¦Íœ"‰À*€,~vâ<çãõ€U7Ú=ÊÒ¸õ'ú÷˳óšÅ{(é Ö?ªPSõ89•72>ÜG*‡ÝÖ†K*øžš¢e$)¿b^zxq¡Œ÷ÓØf„熆A…J¢ý±:ºÃ†v©‡‡¤7¬§·ßë;°-/óÞ!°Žp˜lž¹³)„%¼[_!4¼É0óU¾˜P[\}µ¯€.°”ŽnEÙ½•"®rå#7…7~Œ8¿Bæι×~שRõiwâøIJV̪s&iA•›÷ v5å—Ÿ¢qºYèÚj§lk»g–so]š?Ÿ£Ó+äS[™\uV`‡S¥ ©Ûh²~\®-:ŒÚ¾ñš>ÙptP¤µ…5,ý‘ns,À<yB´þ©6±ÿ‘¦‚EHÁÛôÅ›®Öͳ۸VQ>ùg-zìSyN<¥ý¸Üâüeõ©êñJžèÜÕÆIý4ÖI•¤r¹èαiš½v‘3àœ˜M]zIŸ¿Ö yF64‚“¥jû¦e} mä™i¼Ñ
+“TªÏµhGS¯1Xê䧳™ŽOGMè$ðØNìîG±]±'#÷U“£cCýÓ!­ÃárÖ03ã`dˆpCŸ¬µøUQ–ÈÄ°—tz’{e°¾9³oTQ5ãéþ`Ä;D+ºy º®E´5.ân2Ó
+!·OÂö™{åÖ䆪þ›eb)ƒùÀc¼Âùn£7`Þ‹–ÁeE¼¸ âó„spˆP±¼VãëD…+ŃMcT2Ŧ}óìÖ—Ï'£Q0»êuãŒë#W9®ÐÄ=dÜƆ}–xq)ñ¥† UFZÀÈ_9ÜÁÀD+~CÀ´ùñïÍD7Ú<˜½BF@ð<u7l‹€;%Jå’ää.rÁ'Ý!zÒÖŠˆ8Q]nÚn‰ø
+°½_Và ¶kŸG‰Æ Vc ZmG_TãÿeÕ­H‰p$¾8lˆ¬ñHå•åh£ÜF~-ç¸{6²ùÕÐ6–dzf%ÇBëÁÉlêD€Üm按{’9A¯Cf>©˜!C/vƒ
+ºãë;Ä%5øHà)[-¸¯ACJbýÅÁgPÃÜÔ¢ŸälG‰ØÑ´ö.Ä9©3“pÂf Õ
+\±ÁGY°w6ÂYê @bx='Ë%Ù٠߳簘ü¤í°w3Æ% v7­³}õ¹SÊç".PÚï·NãSÎóï]E‚<‘ÏÀKÍGå:MD
+?!³ñíÅ׸c&uú:šÓ1ØÆóÙƃȹ8˾õÉ å´W–Uâ„CÝ!Œb`iº•õw¨=zÓ¿ÃmOÁìà‰çãî[‚ãyëÜòÅ€5†•TlòÌTèüËã,Ù“+þ†çÝ©¥þÑL™ùh›UÍOºêW;[mæE¬?¹J\FZµÜ‘'Ð7.õiÚ±X¬³
+aâ\7&¯·ª{\õø³ñ7uòÊ»†T}Ö¾§ •-¥¶äÎ"=´+àç í}ˆ´e,Y6kÇU»E² y&ÅUT„nž èðúмfMàiJ„*_ŠÒÐŒ¶Úº,P
+ñGJU/"î_î<!ؾù¸ç
+6êx´yÃÔ·ÍxfÉðg4†=º?®žc¾%–ÇÝ`åc"äÖÉÑÑŒ'ÚÐÌí»¸dþÈÚD"
+X¥€¾žž×µ@ôÓÎ/Þ¼½LÙ~X{ôntgVPè ¯ ”+“ÅÊËyyÚçgÝjÊ
+Èøè¼Äô‚„u¼*3²6çoF ±ÛÍòwå1­þmHÄ.ºv¢9—×+‚Ëþ3{4‡øµ¨ò·¥÷(lË<EÈpٱζt6,SƒDÔ@s ,Þmþˆ×“«‹üU×!CÛmW+ŠãíË)×æ,+t‡ÁÉ)mT?Ä^7ù^Æ#1ˆA|ß‚QU;Ã;„Ù:ûuå¨Rû^oÿßÛ}ª<&„öH,O_3†}*\,­ˆ4Šö`fh#Ø{wiÞj®h¦ßÂjS×Ø;œ¤4Îô>Q=–ÙŸ¯*åCã@=ý
+¼<™¼ÓY®×±®bQ+0?ê$ðña5=ý)§ÿ'ELÔ+(Õ/¿ü7BaÍ; <*Øè[ØÞœ ¼ÁÊ&œn™œÑ£Gåj Çp€$õ¯’Nge>c  <™°íeÔóÌ­xÇ´“ç%yî _ÍüÁ`Œæ 8^'K“kéÂ
+@‚åÃË‘€ä%VaQÌ¿eþ h ueþ·9Óêc¤Å¡(õ N)ËØšWVj[@¤¶¤¥Î„š®YQeH—MÓöíâw_±uäÕf¸Æîì[éV›§Ìï|QA"+áJ»ˆjôÅt<û·PJ“$ö‡Æw·8¥Ñ<Ã4 e~xØ¢¾Œ‚ ¼(3L!ýTvŒÁ[ç_Ø:û–J¼X¨\`X‚ÊHÜk¦—ûž5™û,üIgT]”ùt#´tIùhUòÜÓãŸÁ•–Ø8ÐY'×vÛ‘‘GöÍ?_,̼„S™ ó“\Œ5s´µ›A“]˜†\/·Æ‘È1R€¥ñ’ÏǨGyá$¹(᪮)Ÿ¥¯ŽJzôÈ–.<S©û°âpªq¥K€ß#]€Ñ1y¸‚QºÍDS—½‘Kì©R®Qÿ AÞ"
+ÙŽ‡òIGËÈìV\ç¨;sõTuÅ6Ú@åo†hËFàë-åJ×”çüCäõ¶am§Øõ9«TS¥s(O¡!ˆöç>¼½Z†-‰ ®ñJëÙ/fo—-„BÀãf€1²Çyg$Ñ•²nû¾PE8¹‰V³Þššà³Ú2îÒŽopöU+Yýˆ$®'©"àqa»øˆ
+:Ñ#%1“Œñ™Òdø—2¸¬LŽHƒøÏ7ÕºË{Û8–÷¯‹ÊÇAÞÅfN@êá_-ªºùùšU¤‹™¼±¡V_Ý.ºNGš¢Ö᳆¤ŽßéRžáLêOWk2-± VpDò¹ë:ŸÜçT/•€fàþÖéÑm? ¾S¤Fγï*§3upàì ·Øe2»þ·³™›ûV¶¯”¤TW¹ðª÷A:,·‡„?~¨ÝÏá Ì®ÂbÁ>Ö›2ýöÚzR¬ ÇÙÇêòfyÊ ‡zçõŠ“)J;–¯µk)FRÿOcµc^ì<›ô¹*@yb:Ì« k`o•<=ƒôšjf‚Hx—$Ú µÆ82cÎô^Ë6Éy‡Íøý5QKÒÅú…Éd¶XM·vÏmå6&†¤>®Êœ¦UîC6™¬£1©Åþz‹°€§[=ÒaiËM/]Ì¡ê×¥6;<—ÎJÉ]•äó2M3ˆùËyRÇ8h›Çï›OÝëÊÈJŽ˜ùδN §ˆhOß 8M£Œ!#Áá/Œ>z‡ð81ðm´Ò»ï©b€ÇQf¡SÄÙaðóZU²çò·×
+@‹zǽ9¾ÙyI~ùÑ·`¢Ùª¹˜ïÜ éð!?¾ªÊXð±¨VL~K‰Œâoí¸=ÈøûF2¢Áð…®CíÏ/L‹äÑ`—×[Õ}ŽÕ‚òâÚ Ñd.âÅ!°D ¿-¦èurIEc"H‹ðº™ö\ÄÉ­;%–vâ³:ËW‡vÉ!9"ƒ¬¥kX^Ü;ÒoV›„±·_èG»ˆ–µ…Z?ˆ·–&S¤’k“¿N²=¡>{4T‡Eì†Ó´4ówKÁ\HŸ‘,ÓÓêHL+÷ˆsìØpT"+罬ÈH]uy[çSIË ¿‚šÎ‚!{õÚÓ_G}²>˦ÐZ æ®yØ(Ý¿V'7w×¾1³÷ez›I솠toàÆôUY£ås=W½ŠÙ¼sò4”Ó¨õÚ¾Ùù§y{¼AzæøÝ9ýˆç]
+§²Û%ÀhÃ!¾Ù?ï¸O`ÑLD0RøßD–ºajÑëßþœ)®“©y´±»–oÛìÑq`j £ ©–ÈâÌƬ-{Ó‹"@½¨8˜=ø9ª–·Öì
+æòÌ÷ôªCSöÆRXZöülÁØ»D´àÍ÷ÿ‚,åè(KUrÅ¥»ªJG(þÅ9`N@=ñ)Z:í‘ /r.ÕºHÒ‘9ã éÈ}½ò(‡'¹mñV“d®>±7=rŠ§t±‰gT>ÏÙ
+[ðÝêùªqÕºÛ4-Òä¤óI ‚5—,BÀ(.dCÖÞ¿·
+¾9i(ø©¢'¤„Õ_Kï½Z0mNÆ'¹÷ÁPoT[W+âÑ»^C$¥’\t…&Û1C[ÅÒ'­ü½û>ïJÀº
+‘Ð
+[òàa}Õ†âç¬ À“€ì'SÇ£ã'rº{êJUåÅt£óÓzÏT»^rzÊ$•…ì% û~Œf‘ŠòRiDRoP˜i‰Möó r'\¤ÂOù9ìÂÊ~_Oí•ã÷_²õþéçO&O¨Ö$gL¿üå?.ä x¸£… ox\•åMedG/¡Bo§#Zlr±·/ÎÒ¤HS”²Sg’½Ò¨þi‘ƒí_ êYÁwj{5ÇŒ¨““§¹ßøÒg1/Q sÏrÊ~h– ½Ø•hŒ × ŒåÛ˜<žk½bºo‚55þgE+ ’¿Û˜2­÷?M’]-Ô[&/«Þ5sbêÉ?H´ý ª0Ag%%ÖÑëKåõÍ91jÚ¼}oKŒü-Hš¥^¾Ì<‰e=€
+ÄfuöÒÞ¾|ÍEŸÈJUä°OW„Â~Ù©Zx°(ÁýU ø.éu¦¯½/îÞãç´kE9%4ýO ¹ö™šÎ=üP~åèH(6Ø÷fÍ© æÿ7ăž»:èc_ê¼^Ƶ¿ê0•rÕ6Â\]CW‡kŽf¶ˆÉ˜V~²vÖu[ŧ(Š³^y
+ù›®xeýÄl·º–ŠŸÝ»™¥° *_^«é-Ýù: Cm.üÌÆõ<6ÁéÇõ :©O¥ÇºÑz™Y§ü5^,­;FÔZ°ÿŽ„úÊ!’ÈÒðß‹¦(D­· Ç•µÏ¬¿ú6jË/§CĽ™LüKŽn÷†ÐKÜë¡Ùw“‚Ô”(Ü]Bx\0«Íb‘‘DÍAÕÇ°ð×sý)ÓØW¶s§—±‹$r4òÎlvdì"Ðâ§þ(¸þ3ÄÃ5
+Š›»¼ü‰ãëKãBóU…žÉÔ°žü"éÛÇO—¸móö¤Øýžyå­’oóyÝ¢+Y;5áÁÓ¼n›m¢Ôé~ú%’=“ð8‹…jnÛÜ×ù|yB‚ðÕ5ŠÌ9ÎÚVháW†3*Êê¹óE¬ÇU íV5Bé:D¢1ìâ-Má ¸P‰µ§/å³×ã-¸5òhܬ¯Q·†éï—ý¸áõ¥ ÒÓ]‰Ž=ÛÂåóÀð'`Ûàø]ˆvvèáÄx[½k¿ÀÇX”×¹×1Nø´cá4™Ë8d‘Έ¾ÞD ’BZ0Þ‰<†Ë•ok:[hnÎø!ÓL|¹êŽ$ Žã}Í^ }Õk¾ëWHS¥Ï1‘]²Ô$\²ç~HLjŠv2–ïå]⨔aiÂ|G_ŽÏ1<ö÷4¿„NìT¤o_±?</ôt&܇–.A¬U‰P¤ÅFÓ.¸‚}»+“v@ôœŽ½!òïègöe‘›Û+÷Óë‰Ö訥p^‹¬VCŒ´Ú=Ÿî6çñ*J'JF…bq¨sc²j,ÿÏàþüW
endobj
997 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 2
/LastChar 216
-/Widths 2941 0 R
-/BaseFont /BIOUDM+URWPalladioL-Roma
+/Widths 2959 0 R
+/BaseFont /ENTCZU+URWPalladioL-Roma
/FontDescriptor 995 0 R
>> endobj
995 0 obj <<
/Ascent 715
/CapHeight 680
/Descent -282
-/FontName /BIOUDM+URWPalladioL-Roma
+/FontName /ENTCZU+URWPalladioL-Roma
/ItalicAngle 0
/StemV 84
/XHeight 469
/FontBBox [-166 -283 1021 943]
/Flags 4
-/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/quotedblleft/quotedblright/endash/emdash/Oslash)
+/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/quotedblleft/quotedblright/endash/emdash/dieresis/Oslash)
/FontFile 996 0 R
>> endobj
-2941 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 500 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 ]
+2959 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 500 500 0 500 1000 0 0 0 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 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
993 0 obj <<
/Length1 1614
-/Length2 24962
+/Length2 25005
/Length3 532
-/Length 25846
+/Length 25894
/Filter /FlateDecode
>>
stream
-xÚ¬zceß³eÙU]¶ÕeÛ¶m[·lÛv—mÛ¶m³ËìrMÿþOoæÓÌûp"ÎÎ̽re®Ü;î8dD
-Ê´‚&
-CF&ìhjèl °1t6å"T75!15&db"däää„!#Ø{8Zš[8RüÅ ¤¦¦ù/Ë?!„Fÿáù»ÓÉÒÜŽüï‹«© ÀÞÖÔÎù/ÄÿóFeSSBg SB3KSBayMI9qB
-q9UBqS;SGCB#KcBKcS;'SJB3€#¡Í¿-v&–ÿ”æD÷KЉÐÐÉÞÔØòï6SwcSû\4„ö¦Ž¶–NNß -Í íœÿöÀ@higlãbò¿v3À¿Ù;þFØþõýS
-fH{ð 1Ycgl
-ñi0–Wä¯}Ã4¿ ðtóE&Åt¶Z \&—Ešà’º››¹š#/(/25©â¾î‚C‡ã{»ò-o8J<îqæÔ§ -
-㼑a1Š¯@x×" ÙÍÕƒHQzHÈÈH<àtáŒË{â,ȸ†ÍÊ·K3”’/Y”Ôty®žˆW"So¼¥¯Úh‰í}oSOw½MOY%9
-Ü~ü¬1ÑYpy(Û©˜_H÷²YÔïÄd¤P\Ó8xü0°lmçä+öôkç9cí%ˆ5ï׫M‡G}«/¶»+¡CUa.44@BØ^»÷GQê-îØ-¦e©%C§,µpj s—„„¦?l•%Ë1àL­x‚wcŠ2cQ:
-\´Ò+j|.÷`ÆiNººÏ¥ÍiÔnÌÔp=fu˜…îF×vÉVv¥®‡ÞÑ¥ÄÚ ÃòF-C?Iƒ3q+ºë¡8yŸ^q[bÏÉN-w¿*÷üAfÊR"ì-vkìi:‹¸±ª±8±ä‡¿ T`ë=ÎT(V¸ýw¿96@â2b4¨ñùƹ°+÷é0Lݽ=¯¨üÁÏò›¬<²Ka‡Y|:Ò—žú-E¤M…š;Wl~(ب âüuù‚½E¿û˜ÐÅÂœ‘ƒ(ub°†Ñðâ%Cä%«xzªÀ¸Èûj§¼.²_ǵ'Ô–=m7ÛBÀÆ£¨{×ÄÍ꼫ÂVÅè4ïÇ.M¦­À³ì†´= Ò1
-
-áê¡×ßO¿UæÝ¥šQ=ÑlËs]T­+$O¶18¶ðææ#¶V0BxkÅx‹‡YT•º]Ö²Äò}‹ZZ–Äëe1该P,É}éîjÀ(RŽ›¡ÛDZù4 P˜ bw×4ªeÜêI˜@ ¿Rq24§iÒƒo•æ7…j,;Y;ŒqªúQOhIäÊÓBuNí|ÚÌ
-6q #z~bj#ü¨Šèò‚Æj~Ä •C{")ñ`uà*hñÜ>—UF«,뢇7æÛ–8*Ä´‰·mz¾ÞGW‹Qù©“ö­æ^ˆ$SÐz¶~a•6©á­ºÐ…Pí—>l”é›/Ü{\kkàÏI¼‚èbÈÇd¡!èEUÓcˆÝýd ¿†#[Î+¥º*™€Ü°@·¿ßå|Ë>SsüîóFPF¬ÙB¨þŽ0¶m粿R‚–Pï[#@Y4K £»åí8c tÔÙÇYm̃z‘HÄcKKÑœ¨ÈÏM›ÕœÏÀmí¤š–ÍEy
-<…:0´oè%V èÅŽi”Ú¤ËöÑÆQ/f ó³X(g‡¹4JQ¶&– %CDÌ\jö$„"é^-NývÖj)HLò¨ºè•µÍ“ œ‹H)·4¹ HÑ8Ïÿú(õ«!4ÿѨŠ TQ`([ÑX|oãh†¹¼-]‘ŒÃS¡(ú&Þº ௉ÿ”ör7Z è3 ¯LêØ÷k£˜#úÜ2ñäüä½x†EÝû!rÎì¢Úƒ\·ãQ¤›ÀЇÝ. :“>Kà¶PNøPÚ¶;e£SoIáªÁ@…>Y§%Çu EåhÊŠåFô¡ÊˆwwÉd[ÿîÿƸê§!^z‰†—T¯ ¹ \ òË"Ïþ¤ X÷½Ÿ}‰s¤´¯çœÏ¡À˜5/䊬t ”èÕØ„"Â[k!ì„FŽuôe>‚•M‹.Wa6æ„pà]c†J7´žÆ”=GÇ p}JP{Ÿõ¼Ý E™Ùê¼I~ˆÛb¦(g¿SsÃîÃu ik›à:ÌÛG³a²Cå^X¦ê.ZÅ{Ò
-`'æA!˜üåöhzBåFüÂO/Ësmu«¤†,óHë‘c¶»²‚lq 9ÛÒ1,&Õh?Ú{†fùíÇî–b—.Îú¤X†×Í…²þ%ÜÂôûÄö([žA«ÞÃú)µÁ‘Ò\x˪wÔ!„k·gÒs„ ¦’/`0Š]AP§ !$þ‰öÜa£Em¯ˆkõS}¨á9´úÝÑÅï´x©"ÃG…ØY+çZƒ‚<i÷»2þžoÄE3éÚSçM«Í1M‡# å Ž'©¹Ix<ŒAÉD£EŸúìbkz?•&Jû7&Ø3Õ È³ãll'*QjSœÉå-«J}ö¨PU0vóá€>0˜Ú+-§np¯ŽõÖ!2>T¾¡ú”÷.6yçÇC¾ç 5ŸÉ»p{á0|õg-#™Š¼Öê‚}‰€D&8ºÀd··oßxð°Ï¯ØËV;AdðŽÔŠÚJ¹Nd-³º5¬(> Þcd‹²bCÕðD½ƒåù¨àua¼rI¤,âÇÌÍEGªK_bò-T¡þ`fØ«Ì‹Ž©3ûH@W¿ëŸ#·¤‚Ó•JxÚ…aì~ÒG` Áæ©dlv@Ý
-b>l
-œ­VŠ(‰zÖu ÞÐu¹˜3ý\7n%“´Œ@TÁ{0¸JØü
-‘y„›K ¢UÃÑäs ¾&¹G
-Ùp3Šþa°³Òi£·×¯t¯B.ãA%ÐÝ¡ÿxcû}`¢¢ñ'
-fÊIû þÏ‹±hÒÏ£èÛ9û½ú¸v7òr蟮fA‚åêÛËêããYaŽïuSi?eXAO‚8ôÿÜ
-;ßýBtÆÅ3{’ù¹Iøõº9Í”\V†õ+ÛÇ€¶‹ˆn„ÒdK;h¢¢ïïñXOÕ ŒÆBW÷ƒd#öMDâá¹{F&Æü¹*|ö«:È^?\ ʽK–ôÜa›\KR1§8_üŠ·å’&G¢±H]š+ÜFÇÝ>µ[zY¢àÈ‹|N™Í·C¼ý8H?»¿ §5BfØLÅÇ£Oœõ
-vN±1¾{‘/IÖ‰¡ƒÿÛa/¦Àl+oDNk1Ç~â tjÐâS*Ó<Ï|µßCqiÄ™àå^Ös‡oôT»ãœTEÁ«£É ®3¥Ý õ}>²–7²@éã#ÂÖÝb'§8zðã3ÖÂlÞ¸oW¶Ïκa«ø%ýÈ1Éa€%ë굶疉£ÊÎ0z À!>÷º˜µÒÿ"qWîàdÝjê}_
-7ÿéqó*Bjû’€’V(HóŽx
-/ƨÏÏ9êc$§Ôcµo©Š~DxÀrßõ¡%´ÎSݪ5H•ž%ß·‚S|úKžÜÃ9²^É¿šj(o÷׋YÞ§‰'7í…Úª½4«üÏõg4œcõƒD“zuP¥ãeñ»1o.øN™Na«5Ø¡F‹W]âÉ+‹j£qD÷3…±¨•öÅãìææ˜VÛ‚u¦êä÷™qTƒ‘´ZoVÀÍÏÓaàïß|ð]Îæ{{jeD˜¨t¹çµ*aPÔñ®†žåVaü2Î\}‚–z3²žzû¾æ調Üp °ñ:cù夨i¥½xÚáÞ(ó6»‘Ö/k©ÀKÏÖÃj©Ågâã4*&Ä‹Ù%.‚¡b¬‚Ću–èúØï߇ày|Ê… ò®†©¡æw˜W–ë`md…û«‚Öq`ä1²jÃYߥB! fð+Ƽ)éêd$@X{Lé ·ÃfEƒšíºDKÖƒ)®H| dëbÆèá’«§å3C b—ƒz°>ïzAìÕhõ.‡[Ð ^
-~†sR–ðþögØ=΂/Qqqˆ! SíC幄{ìyÇÄ—¦‘¨êVeÚ&ò<\4Xõ#¸òYȵ²„Û¤ ŠfÇ/ Èa‡óm‡SyZAð‡°âŠŒAÝÈ{ûßüxm¤=Í=ë?ªâÛ9fÐ ‚;’RóJ4Y§W#($EóqÃ.ÃöŒ€VCÐcÓ -|&dòÒô’ÇÃA
-~x¢˜¾eÄ6žŸpã"ˆtBù( iQ\mBj7}¹íƒ®€rfLJÀ)q&*»2K¾%c£Ø“Hâ®!?©°ÉJ½¹è ¥&´3o:ðKÞ†c§Õ¡©Fì¶$ʧ@ºO¹D¿ù)ûÛ—»³Þr µ0ºG÷J…
-2™ê[drKX©+²áW nC-¹&TIªhÂPü! Ó_t‹yó–L¬
-› Q­‚Å9XF„qœ{¿'‹©Ý‹ük[K´›
-Ž3^ïîtl7éEÐR^™UY5.ÔÉ<ÙŒ?tLúdJ¬OÔÖ
-œ­$#Ä ªôÔ¶Õù·y-Ë.-ŽAš¦Ï$ôT}]Hyû$öæ““m{Ò ¸ü†Uó|+kcP™>Ä N÷>éå4Ÿà?÷÷'o̲[6PM4Ó÷€»‘«4×®ͳó¬Ý¹ÞRRé’;™Ý¸#Üš}3‰òìÌC‡—xˆ™Ëœ7¶Ð–µ*Ó»ö}†¢ßÊÐR.$­D í}Óeï)FqÞø  œìî
-ÅX¤Ö*qÊífˆC!TãËüÌeSŒ7p /077’m&cW
-VáÆãþñÇŸZyꚌÆ(e‰GHŒ¥ÁÖë¡„ÞhÚY8LÝ6ú}96wc$ÚêÿþÛJªèè„C/7&_JSËñ´z ÔVg¿NÃ}aãµ4·º<â¦?y—†õâÁÕëònà°JV€5…\ô±ÅÿÚwTä¤iô…uvjc—`\<U|ŒÊd/Õó))ÔÒþãR-Åå\-‡¤¤DoÞå±($ú&—èôV â½âî”Ø`(f þQ̤Ön•G †:mr¦ âäéŠç—D᫬<1xSPŠfès
-zÿÖc:›#é¦,‹  h¾1M¼ï™áˆ ¶èIÊ¡1Déœ ]ÍT%b#Æ”^…+>l$Â'üÃéú[úHõCÿ»O»ÏðsÀG¹zÇ%Á¦«ËªIšÚF=/çó~Ãç‘qç*Oéâ¶;¸‘_ºNê½&úÓ©8õÏh­°WäÒýÒ±wÒð3ú©á¸X‰„›¸ˆRÛz9Ðø|y2 —º¸ôôÅò‹>.CC{¸mÜl|³„ýˆÈ7n€§;[í:`ØÏÓp×>ø0=Çù^|V”áÚÀUññ,±[ý&¸¤h«¸YÊArÇ3{%-"CøuiíÄÀoóô2^þë•5EêOÐã–`ª«¨ï6ú×UüÇ^’,†‘jp.å)tiÒ+"¨¤ïë¬,÷ØéØaKÔxjTèD0î}Ó$Óïn\¯,\>~šX6ô‘¶5ÙüF;ÜRåÅ-SnŽÖÏ)PÖ’ maKËîf×èËÀŠXTø®ó·œè—ôÑ–`9$&Í·µÄÉmv"c°k›íŽ¾¶‘n|ʺtw³­z ÂíÛŠ­²žYÎ%ÈB¥*(\=È.αˆ¢8w#Ðù÷–ºÒÑ$1wlºL1AjÕÅ#j)KÜk²ãùmË¥4šHkÛMáfyÉ7ϽfêWp^ÂãmlUüî_qRy:+dóÞ™? ˆÔošÃ»ÎJÅi4ÍER‡\¤äbc¨ÛJi n‡¤˜n|YÆœ! ¾ÿ`TÓqÖ'6¾ZÃ:‹†XµX–Oß•vnw³sÚDbF:Þ]Õ–
-‘c啯úäQoà.ó+i‘ =ÈÕýŠN¬m·þÃpí.=Œ¥5®óš®H·><ǨíÉ:‰[¢óÕ³Ž_ùg›ÒXtItàó
-ÂÞeî£õ‡ùÞƒýÙ¤ç¯sÌ†Í Ë
-ëo4†H]9[ 5Ûü¢ð9OàÃs(ª%re™ ¼8Í$Û&}Z͵eãÄlw)†Іm”s{f36MSøJ8¯FÑogŽÇGó8™ÅyŒ4ˆâJcñÁ>bxx9Ùä"<
-P ZB¢«tÆJÞ®Lg}9d11×B0î•e7!(›Åð
-,y¼, —ånêdAéUš’_ÛõúæáÈ›X ™¯[ïãƒb†Dë4¢[‹ß’R¥áÇÅU±—ã$ž7U$›Ó°¥ëÙ+ÂXÖó;­_LE'Ä NÎE¸™GÉÎËòh±F2¤ìÍ4%¡
-â_ñÐîI~:idt—ÅìÒfù*ÖŸ|1^(¬x"ïh(“ Tc÷8)Iʾ%•u«õ]Õhµ‡ cI”
-Ægè-—“a´(ö«]A™°u¥$k¿ùí tAz;@;3ò‹¡M]w£­6IãnxWd?7¨'ãv¼ã|åço¾>U%€`µæ~a¬P?ŒŒàpŽ¯H¿{5ìà‰=ºZõPìa®”|0r±ø(öÇ =„€ ×÷ÁÃ86oÖþ%KdX]‚Â}x9ó5ÜÄÛ0®
-¢Go±
-‚Ùr"ƒÇ¦Û¹gš¡ÄÑ‘ºö6èl•*?õ×{Û'´£·b„éLÚþg&ÂW$„ tçñŒiû0÷wÂî±í‹IP7 \¼m£ºe&ÿsá "¹M9Ÿ7dò?æ¼ÜFº´È¡ö?í_¨Ô§Ïj–[‹x‡—/{=Y2-vÂݪ-Uº_ä¸ô" aHÍÿé,“ÂÓQv‡ŃG•qƤu±!4 ·³Tú¬@R¨3³š¬z(7vÖ¼Ëï)h“Ü &° vŽa$:„W?Sv©ÿ¢Q“Fn[·‰ýª‘;]£óØ[ºâ&­üe¼—N…6˜ZSFÄ¢üÊĤ£” [q’EÓ•ìxd§rP?.tÕG¤“|áÝkØ!× $ ñ:º?ûüËéW,#½çÎ=©EèåE.t]}©váG^,š;I!{¹Ú½X[ÙÚJå_3¢-ÿûaÌp2~銃ÜG«­ÂG
-on®±ˆÒž¶ ®áJ<©ö; €öÜ x3ø÷­µ ¦'qטáŸodôY™(±Ÿ¦,óÓE_3µ#¤1š‘jsÅû³Rñüd~
-«ä…ÛÁ0|XÛ(rž[äñÅ
-n£ ?ÀïÛj ë&a5"Gçã^ªxv¬ûĉ1 µ§i–Î+VÍÀ§Ušš"súØ€ˆÐ¾§4gW¸Öïd}/®W(¥Z-å™ì£ÎØŽæ>BG‹z©k[Yš¼õ‹}2I#‰Ç½È‡™6¶B÷_È0Wši?>üŠ¿ý§ˆg²¾/ýôºèô¡¶Ë’…P‰œÀWëÐâl?/ nãöS׳A‡Œœÿx‘P»p†SæÅJ3o6^lIðB,<9ù}Š`'‚(ÈY¾U÷»«|oOŽn¨‡ ‹òÁÃÞ ä‡ÙD-€ðÀCô¹Å
-óÛײ‘–RX›0+R
-èùú÷ f©ý‹‚Îzø3ºd”ó‚oˆŽH×üÅöOé% @¥¢ч"<ÓR:Ï£‡±|Ò-#%<õxZö:YÊö;¿;OL;S¹~ózA´®#Òhc0lúÙ1™ÔéÆ‚·(ímÂïi¸„
-ž/rÿؼ@“ž\±mbçQR†Aɽ»C|ÛÛ$÷cdñW&Áe_¾y©Öó»Þ?cîŽsç°t.Dì]¿ÇË„Yv¬@ôVêèïiå]?—ÉŸ¦i4ß ©\¬Òœ0æÔ=þ «,
-i ‘ fÚ åg5NAV–£OÆÒHë˜ñA½=ôk~ –B´ð+õ.´ÃZ†= 0ѸDÌ[P5xœS_ξê\ßÛk£{ºy*V—†ƒÊ»âç!­åhÚéWf5vK¾ íÊÐ,6E5‹˜Lä´ïná™ $t*0m®ŽF,–r^Ô.ÙLþ†Ý-)˜¬½ãükN¸ÎAÓ_TÀôLšûªÞ­
-“سïñ¼g‡œ&{(¾Öx4¦¾æ±»Ý9ˆ’9ÌYÕ]”ý ®3[ù;ìÛ. $šÃžúSá2ZЯ
-ϼ'ýPb€Hù‡š^•9¥vv&!Q ¥±¹ÏT>KIëkO‡T*ÃL÷ giÒÆíÍ5;¯>öšühöu1mì~ýâ (f
-Dbôô´¹¡`C°áP/þõ
-6‡@%ì„gùyÀgl‰+Èe©,²’4¸A&3;}­Œq5¿&³@†+*´PÌ^°A—+‘YIz¿o0lü›…ûã~3ÜJsW!©„0‚{21ì
+xÚ¬zcteß³mlÛN:¶“ŽmÛö‰mÛîØ6;¶m[ÛÉëßÿêûÞ§÷î‡=Æ^UµfͪYksÆØäÄ
+Êt‚&
+·(:8hŽôJá3ÎÕ£½®evÀ´ØÕŽö&•ôJ> ð§;X¡®Ÿ©üI] üÑÈžì|ÓâÐ;‘š€Pê
+ÿœS$>?ýê¹ï;ĥɉƒ&çqƒ§ˆòwÈÁå×R­­j¢¿jÏ2á=xhÉY*eÑ”·ŸœòÚ€ä3†K*·9/vƽ:JŠ›æsË°¢U;¯Qj°Ç?ÓcçËК¾üÄ{¹ùa‘‚ÒüBBÞØ›BrŒíyûÓ¾a
+™ßx*‰å<“r*[-P.“Û"MpQÝÍÍÜ
+&åD£Až!"[›VNóúœWù,^h±{q¡’ðž¹ |FWÉB€;]M]¬^^Yˆá´þû+òíZzÜÐ0ðl
+š1 ²»It‰>@ày’43L‰Xe’%=8KNŸ¨y©5ròA‘CÆìšÈí¿ZõÆy=Ãb3^€ñ®E²“«‘¢tŸ‘‘¸Ïå—÷ÈUq ›•o— f(%_6¼ ©éòT=¯D®ÞxÃPµÞÛóÞ¦žîz“ž²Bz¸õðYc¢3ïr_¶-R1·ØŸîe³ ßÅD©¸ª±øa`'ØÚÎÅWìé×Ï{ÊÖCkÞ§7Z›öV_lw[B¦ÂRhh€Œ&°-¼8zçª ÕSÜ-°SLÇZKŽAU
+jáÔ@?ê. 7ÄpÐ*KžcÀ•ZñïÆ(eÆ4¬t¸8`¥W ÔøTîÁ‚Ûœty—K—=ܨݘ©ázÄë0Ý…N í’­ìJS½­+J…½†íV†qœgâ:ZtÛMyü>µì¶È‘“Zî~Yî‰HnÊZ"ì-vcìi:ƒ´w¾¢±0¾èG° T`ï9ÊT(V¸ùs¿>2@æ6b2¨ñùÆ=·+÷ùm˜ºssVQ‰ÈÏú‡¼<²Sa› E|*Ò—æ=E¤M•Š'Wln0ب âìm霣E¿ëˆÈÅÂœ‰“8u| †Éðü%Cä%»xj²À¨Èûr»¢.²O×µ;Ô–#m'ÛBÀÆ£¨gÇÄÍꬳÂVÕè$q‡6ÓVàIv]ÚPé
+±lAâm›ž®ö0ÔbÔ@~è$}«¹"Ë´ž®[¥Mhx«Îw"Tû¥¥Dúæ ÷ÕÚøs‘,#¹òÇ1[hÈzQ—ÆtâüÆy´†_Å•-ÿ)¥º"™ïH €Ò0O¿¿×é|Ç1]sôîóFXF¢ÙB¤þŽ0ºeç²·R‚žPï[#@U4C£»éí8m¨tŽÜÑËUmÌ ƒzžHÌkËKÙœ¨ÈÏC—ÕœÏÈcí¤š–ÍMµk T³6ì§c6jé‘„¡@3=iåìü±å=Ê?bÛ vn4¶m•¦
+ýÆÔ¾fX)d¤o; Uj“.ÛCC;Ÿ†ÌÏêg¥šâÖ(EÝšX2” 1s©ÙeBLEÖ=Z˜üã¬ÕR ˜àUuÑ+'nÿš#E8‘*Rnirë—2¢vžûõQêWCdŽØ¨Š TQ`([ÙX|gãh†µ´Ž#]‘ŒË[¡(ú&Þº௉ÿ”ör7š'ì5 ¯Lú½ç×8J9Kü¹iâÉ+øùóü m'QäŒÅEµ)¸nÛ£H76±§]t:}†Ð6l¾œè¾´mgÒF§Þ’ÂUƒ‘c¢N JŽû
+ŠÚÑ” ÛøC• ÿö‚Ù¶þÝÿiÅOC¼ô?©^As^¸@å—ežý-HA±."ƒŸ}‰s2¤´¯ç"œÏÀ*˜õOÈeYé@)ÑËÑqE„·ÖBØqÌëè‹|^+›]îÂ&¬qáÀÛÆ •.Z'Bi=I{znáú” ö^ë9»cÊ2³•9“ü·…LtP®^^~§æ†û«²Ö6Á5˜·gÃd‡ªÝ°LÕôŠ÷¤eÀv̽B0ÅËÍñԸʵø¹Ÿ^: –÷ÊêFI! =.X.æÎ3ÇlgyÅb_%r¦å÷<ºT£ýHÏ)ºå·‡[Š]º8Û£b~7êÚÔp ÓïcÛà `yF­zëÇÔG*sá5l«ž‡îî ÏaRt˜J¾€(A2„øGº3‡õµÝ"î1´OõÁ†§ÐêwG¿+ÐâÅvˆ Vg­œ+ :Š¤ïÊø;¾aͤ+O9Ü7Aî6Ç4΀”S08Þ¤æ&á±0F%AÎ}šÓóÍ©y|‚TÚ(í?X`OÔ OfL3±hÄ©MÝr&7l*õÙ#BU!À8̓†ýúÀ`Zè¯ô¶\ºÁ=:Ö›(PùJD“Þ;8÷ùž/4|„B&ï>Âí…ˆaêOZF2y­Õ{‰ÌpôÉnoÛÞ¾ñàaŸ_±­v‚(à¿S+j+厹P´ÌêkØP}¼GÉdÏÅ«á‰{ÊóÑÀëÂ~Ê%‘±Š±ô7Q~¨.~9ˆÉ·P‡úƒ™á¬°,8¦Nï!]îKü©ŠÜ”
+NW*ám†±ûÁ#w’#¤’±Ña
+…Œµ@×oý—˜ÀkÛï}ç
+Ì6ó†å´rìÇ¿@',>¥2ÍóÌ—Ñú<‡ _îd=·ùFN´Ÿ‘©(xýn2èëHiwB{Ÿ‹¬ýY ôñáaËá?¾S=ðñ™ka6gÜ»£Û ŠogÝ°…]ü’~è˜äÐÏšuùZÛ}ÃÌY eg½ àŸ}]ÌZGí{‘¸-wp²n5õ¾+…›ûô¸~!³}I@M+$‚Æ}G:cÒççñ1’Sê¶Ú3TÅ8¤‰NÜg½ëüÐZ㎩nÕ NÏ’ï]
+Á->ù%OááY¯ä_ÍN=˜·ûó׋YÞ§‰'ݹڊ½4›üµ'tÜ#õýD“zuP¥£%ñÛQoTnø™a«UØÁF‹W]’‰K‹j£1$÷S…Ѩåö…£ìææ˜VÛ‚5æêä÷yT™14ƒá´}:o6Àõ“!à{ï?|”ðÎæ»»jeÄXhô¹gµ*aP4ñ®†žåVaü2Îãܽ‚–zÓ²žz{¾æª¿Üð±ð;bùå¤h褽xÛáÞ¨ò6º×.j©ÀKO×ÂjiĦãã4*ÆÅ‹9$΃¡b¬‚Ćté{9îÞáy}Ê… ò.‡h æ¶Y–—ê`md…ûª‚Vpaä1³jÃÙÞ¥B! ¦ Œˆ*F½¨èëd$@غM€ ·ÂfDƒšíºîEKÖ‚©ú/I} dëbÆœà’«§å3C b—‚û»±?o{@ìÕçiQô.†Z0_
+~„sQ•üüãϸs
+ŽE M+ PÕ­Ê´M>à½?o(°êC på³ke ·IÍŽZì—à çÛ
+§ö´‚àaÃ'… ߺ.+0öö¿F|m¤=É=í;‹ªâÛ>bì× „;”RóJ4Y£W#,$C÷qÃ)ÃöŒ€VCÐc Ó -|"böÒô’ÇÇE¾¤œºaÂ1žwã&ŒtBý( iV\iBn7}¹é…®€rfJJÀ-q&.»4K¾!g§ïß•Hâ©¡8‰©°ÉJ¹>ï ¥!°5kÚ÷KÞ‚ã Ó¡­Fê²$ΧD¾K¹À¸þ!ûÇ—§£Þr­0º[÷R…ìãIÜû>JPðêðB ™t')uvŸ.+߶Rƒm¨"#jSµo’2…ú[dbSX©3²áW ­nC…&TIªhÂ`ü Ã_t“eã†\¬
+‡ I­‚Õ%XF„iŒg¯7‹¹Ý›âk
+}Їÿ+ßP‘㦑¶]ºÉõ^|€Epñvñ³½T÷[¤¤PK;â=)¤ZŠË™ZiI ˆÞœËCQHôu.ñèaÅ{Åí ‰Á`Ì(üƒ˜I/¬Ý
+¯2 MÚÄtAåñã%ï/‰ÂWYylð¦ Í Ч
-†äÝk¤…–ZZØE€,Ã+nÊÑÄøœ2ã(À|ÐB0ÌnAÏ
-jr •Ï„¦ÁÔO‰p¡¾Ÿ°á¡_YM)—‚Á–˜ozWÔ†üºx¹Áœbè6 D)W¬ÈøFÞDËççòH^ämZ’¦Cê퉃OÒ–7pô¹î2õÙJr/•õÓ ³uåß¿5Ä!#6dGº, âCàKy‡õ`…Öô[;¶íÔÑaÖgw\òöl B}¬Qpú¶­ù‚˜œû{—šîÒ•j4Ô
-Të¥k#ZÌkÆ Ä¬}\°ŠË‡‚—ÕMCEýLw·
-Þ0?†+»Þ[øj˜[NiäJ¸«v¹.±ÅÑ·!4Íçî‰Ø·ÅÀnuʶ‰éíß©Fu“/FMÞsËÇÙaeÊò2ð”/@
-¾žÈbÇ]‰-ùË [}F¼¯¬gŤTí®1¤<y1ŸOC°Kê—ÁÛfˆzæÝ&ýnƒ?‰Æ-s{$î3Ñ~“¤Ù1Ží—|‚<Pç˜½éº 0Ÿµlª¼¯`Ìë\%-IC5%<JPS‰V’ ‘çOµŸ>]žÁÞ÷å*„È…³Y£Ž®Íïå>÷Ô‹eÜ.å¿38ö§hgXWü„{Xß%ƒ5*˜Ä…›Ô¸«úÊ*1²ñ°Ö’&þÑgºl×Dàpk•o¤ògªëk«NËcqÌ ;#Øa‚b'H3ßè´x¥ÓqWŒƒ¼ÖíÏGH8P–Gm¸xÙæ¼^#©‚TNØ ´Þ7ÜU¢·f±¿á>÷j¢+Ö@׸—oÏH‡çR=2Ž¥›»»?y…AbäÖlTòÜBgⵑÅ„ÄëV ¢@í8XÔìÈô‘±ù EMIÚV‚àµðµ¸ËìiÜ*¼ð`Nö}ïT¬?AÛÊiÎò ú[¢5] «-ŠS\Ë×ME4ÐÐéëh¤®W^ƒÙZR=þ¾€‡8vm7;m&ÚC:Gõ­VcG‡z¾9ê =ô!:0Š
-×Oq/Ëf…hm‡y¢iñ’Öñ]ùÆñû‰_ÑMÔÍyÈäaMx3,Hr»sGù®TñƇÛd;Ò6±nô‚âÑ‹'Ÿ’5ÝGê
-¼,…I;q©h…o{“ T DzaZÚrÒºŒ¼?»A~v+­œ6•ÎF­¨)¥V˜ŒÓÀ7Ò©| ¶©Ê`ô‹S+ÙWZ·†-à9/°9Pû£©0×¼hEÿS»¹¤DöšÇ©|؃‡ÅôQ§é ‡õ6K^9÷9AÚ02í ôJþu"3PÉÝ0.@;îpíWê–¢%ÅË)ÓÔ±Ä(a»„Š•ds,¥œ€°fKRìî$‘Ûò ZÂ[²’&ÞƒVb$×@(· ÆEPÚj·ŒOÜ ¬vÜŽÒÂ0ÑÚú+ãÏàªèšúœJ0LöØ}‡‘åʲY¢Š†„WYø‡õê9VäêüÖX‡ˆ‹Þ`÷§9Q±GÀ6a°!PÔHú‰nœ\lÝ7iÇüq·¶ @ùä|ûCITÌk?›uÃÃã¼o÷d¶j«/OÝr 7ú;È<Ü+£¶qíæ#›4Ö[Lõº˜`Õ)¦ÈÌÂï—¬w¿I,ÕÑ­¿ð_ϱs–õ¤›ÚáÅÿ±3mÁ 㬩¶uÉ]Ÿ&¾šdð™žA³‡¡jJY¥»Œ×QhéÛßkhÔdÕPcŠ5¥õ¢J´$~¿5 µÅþ¾3ئúQnEOê_ ß2Åiâ(ªt…Ö¨¶–+ÈÓk¿(ŸQg䔈‚jl.¬¤žmtkñRP|>Š=}nJ *8ÇÈ„g_WÝ®Œ—õ+¼•Íä6¶ðhÕmØóÚ¹ ˆÿwkÍn‹ØÖæaðÙF=U§k\!÷é“>Í}Éþ²Ò6c°ÅìC½ïPUÈñ¾Á¾FÖ,Éà¾eö4°Gñeá šÑ¢Å"W)œÇzO§$#G^†¾I6ºb¡lì4=E§8ÁâÄ«ðÔc‰þo˜iw¨ ={€õôI=Wlº·(N˜]ü;h|-Pn%Xª²ˆ~~»'"«òÉ@Õ]͹à*ΪDÝ*Õ&¯æZL‰~TŒPé–¹CL è$Ù‰™”ÈÌ=cöñUa~-,'lÉ÷ûMZ9×Q)¡7HüÏ$_‰qšÑÁ%Û‘º/Ó"Xô{nKï"£2œ¥¦ ‘ì¬d)³ÐŠ¥ƒÔçSìýÜh× ÁɈÒ%zæÃȱåm™,~ÇfVߨ-¬&¨u¨úáê$Ý›7üg5úІÓd6Ш†ù¦Sº Ì”L·„€çï*w«žJÿ䟋ã¤æt‚¢«0¶\Nê´e“ûéãÏüŸ¨ö5M.áäþ;ÿÑ÷7øÕq‚ªˆ@ü uk… Õ˜Vº›à)(Ѽ.¾1½€”(ЈŒ£ ´¬)¢bwµý
-OmÅE5à Á‰ ñT9Ý%ઢ#òJ&Vû0/ËÔ%ྀÏ9RÒÛN…Ô°º‘”óÙÀañ< i«ˆajàX±‹¶"A—•ÁødÙdµ`Ö?­É¸Ó¿aûÐ#7Îò¬'Z0ñãèhm£­ªš`”±<g¯xì}t)âK(91£íÐê‰)vïïzf·4"òJ sxÈvz=ùºœæ󒪾ß\-±ôk
-=Ú‰i7˜F¼Ž†_+JÒðôÚØKgµh4 (Ü­r,ÌÓŽLÃzEœÑOpÁ‹hè©Ö’•^ÌűuLB+}ɹ!=Ýúm’.?Ä?¯•±Õõ¢/f–VVÄJãÇì~ÒÙÀx®áÎœçËÏô:Ö‘¼Õ|·¯ÔFðe/¨£jB3º/]É{LæÛºl_$”¬÷[p}¬A¼<å÷Ï»-@Ù?³¯QÔ‹»â8€cyæÙ#èrJ‡­šhúGˆ`‰õ¯µ°JÓlCúQþ•&i¥=¡R,Ð/@…zÂX­0MŠ4Ùþz„”Ù®p8çˆS±·šê÷q(þSGD¼1'æSÒT2j¹ôi<¤é½ˆ½ÔA)YÎÑDµ5Þ“_âÚàð‚ždO͆ø€’ਟœ‰ßï“ãùí„í½OK¤;]â:fßQ#—Ýåy°˜1ŸÜ¨^.Š`ϯȌ)Ƭ!°îÍÓ¤~@Ü›Z’ÈÄm]R½Ì±lÉ–ˆÛM=‚è»o]%î5H8ÉñðJ¬s˜{ÕmoRÝœ”Ü%¶¡A€mžXŒNzÓùxî~ÓXS ª>wh Bú#Û>öcðÁ§yÿÍÓËì z>½ûÔCÏÌç0¤d‹÷èóx@©%p‡;¾Ë0ÄîÞ›ñS"GÝ8m°>I» Þq|=…ÍÞºÖÁPŽÙŠ `*¾âõ•W±2å —Ê„s(ҨʑieM¬î3ò °vÓ.ÈøÛæê:‡d}ȃüÂF[ËM¥þC‡e/Eœ·ß¼¢Ca-(PÞB‡‚_ŽO¶ó:Z•žŸOXM³¹)@õ' ¬(–3ºéìجDæ7"|¶Òp
-¬>;äò4
-H
-,¿TPÚ£>Ÿ°8ÛWò¸¹‰ÜÁ0›ZÂÚ`íL^ìRIs
-s#—Œó¿å26Bbm@*QæóWv™zħ;ŸÃƒ¼%›mĨ)•ÅD²›õÇ™5Ïçiöäô2dÏÈ ¢üˆÌú£KgîVËœ÷кÜöÀÉbÂQ]±·aáPüøòÀ!~&58¤ UéìôvlüÚtÅkCYwO(Z’èøãɆ¤ÎJ• î«ç@Íw÷È ÞàµcNÛu
-‹w~öÍté-7µ³{-¬§±È+Jè­ä?$üyüÎGnŠÙVËz—‰ãÒòARáJSIðÊ}D“Ä(íŒäˆ²«ØÇ–w½SwR᱌ú½ ©ŒiDÂœéî[“ä:¯–â§ù‰Æ–äAlw’.ò>ªìJ•gvX9Y#òêjèžW.Ò*W®.1õ×ÛF)7Àa^¤»<š‹44EŠXòî¯Qœt ¨þ‚+Wrëu¿ßœp@[Ç7ƒ}§È‰6y”ò‰Q#Â~e;r¬bxSîæ(|åaôÉ·ŸËSÇ·IYÎl'7W?Ø`m,ËÉŠ9³–-ÄhrlWÓ½òõa… 3Gˆ Q³âuÚ«Z`é¨[†‚šÀqHkU<¸‹µøDhW&?׳fךîOŠ£Ù'UÜ¿5µ·Y<Ÿž™ÞúýyìÖgJ¯bèsõŸ:†‚†ÐNòÐÜ«•£»ÎØWÚ| ¤º(R.g8u$=Vâcø”§„áä¿‹¶I+É«Xg•Q8“9!®î )Ò¥mjô\oBÓc<y<ffµqñ>l^Ü‚¹=aä–>T~E¸Í+ý&¤ iX£¬mý®Ê‹†TÆfx¬ÀjΈ]þ!ˆ„ô„¹Ï
-| WfìxV'ÆSɈ·ë c–&øY
-ŸÅ¦Rþ¨ò[,rhtDx㤣ڶ
-ì”íÑj#]…—°¦škSÑNf†#bÅ·.ÆÚð°ú™ ò«P!›è„1Aü’v‘ — dBDv'OWs˜:n
-*vÛ ³ðX±BgŠ¦wµ3ŽþXÜC«¸ñ­ÊE‡œ.ô«Ö¾ ޾ˣ Ü<”¿;³©µËä‘PTåðã°ñ\þüo*ú¿ŠÿÄ\5•Yt™‘ÖÎhý¹j¦aµšS` ¨ÓÁBÃryx/7KèƒAMñÍs;žØ‚+Ÿ<È{/yq C³‹3¢«;šk`ŠÓùõƒ,Ï«Ã1Cdæ}ÝÖ“!ƒ#©á+³g› á–{r<”æÄÀ?
-”p²‚Ì’>›®Ì!—Hûç¿Í»LûJ,Æw‘É/S±l{;0bòÏß™V®héá[æƒßOX8÷Æ ¸x&Ÿ§8GÔL‘-‰ÕÿhÔ~Å°Ó_vÅ;]hyÞy ¯Co¥ßä<ç|˜ U
-¾×¶±ýX:½ë£`Íò|Ï/\Û0wwN†½-Ÿ©,‘ýœp`ì…Ζ 4C–ŠÅÎm’s]­ßxÙˆ´Šà&ð®²É)ÑêûÄ«.å}#2,dþ"( y¦–Ai|N[TðjÄðº/†,d\rjÏæ]?öt¼wÖ¹œ ®æ¬è›Ná—Ÿ8çÇ"OðùÁ›‚jÚw
-‘T ï’«­ºàmf¬®–ˆ‚8VÙ17f“®If)¶˜ÉÇ{§˜µ†¿o¼É î0–HÓAýñR6b5}c¼àoÌM r*'WèU+”z±öÍÀl#GKfaÆéQôTZÉqNÕﬨàdg‰÷i+3|ª#@Ýì&ÞM„ÙÝÑ>©LV¼«¹wJöº/$pžG ¾†6ªìk¿ÏÈ6úXð7ä´/3²†
-{¿RÓ„¥cpçÊ´(§×"¿îzQcöê0ÖóŸ\¸PCåYsP¥ä+}›Tã|ìÔ:Pd¨~½9iÜü1I4]‚Ýdë´m¼°ÃÞ¥íhqËÖD€•6Ñ©M,XJ:ß,ú´÷zk¯IÿÅ´(„ª¡Z©#äÒH]Sø?BĦcêO–‹Â†òö-À<q»×ëMX,SŒáy±ÍôwWf2%n§./[v}|5z|{ÿºx«:CB'ÇC^._C®u
-+ŽáoÑÑoJÓoä€à).D¦\uð¼“
-m|-zÐ#çbûŠ×—†rÿ ì ¥ ‘ Zèñ‚%Qú¥.¦™?úgÚC)àhÄf‘¢qÿŒ‘
-Øwh¬ƒÁ’ãl„«$I<e.qÄz/9ŸV’±L,âNÓ/Ú¤:c¥èó¥>¦‘5œ]±RžχäÍ(GƬ/áOtgO(P»Scí!|@¬¿|N0É¢"¿±íq¶P5R@hAiËDì[pêñjÀgÕêõ¢¦‘ÿ@‰Tn£6Fz¸;GË‚­5‘r0çÔcÁ[ï(þ;ÎÙØ0d»UÕz<ºÈ&ÇZô¾¾ `§ù§€×NåÑ99* ‡ ñôˆÌÒ"â©üsÈLSM^÷›MÇݦ¸é¹ùc!CFEYÝO§_F¦À¡1¿ÂÑï9oú˜}SSQ¼ôìCÁžÉ¡N(²õo¢áÐ윅Dé}ñfi¹“ël¼&‚m~¸«¸òÂÇM´9t‚VTQêƒÕ~뻀Ÿò1AjEñÚ¶ÁP6#V ¡ÜJ5äàýµ›{Þöþs|¥P9bT¦ºX4Yp’P;ÎÊõëYý—†½w@4*4¥¢y§©‘(ƒ‘Om:Η²¬ÀÐÇô™§¯yCöÉEá S:äúK AüQwÞEè³4Í,ya;dÈ”/#ðƒ“co;Æ©¡£«åhÙÛÕÐJ¹­¡0q½Î•
-C§Gußx{ÛÄœ„B;ÀÐ\g•~—àèiœlðv¿¹ôõÇ™‰7ßZ F¢¹fŸq:ƃ¿øëC
-}bÉ„•Óµ Vß¹ D¶53Ÿ¸‡ vðGПO*&æ\ŠÛ+>h-s›N¾)h2ÞGŽ>hÌÂéG:süFeæV6Êœ-ª‹¼¦)¯tà‡\§óŽŸ2E}˜Äç—å1£¹VY…4È)‹®x¹
-5Cð
-hó¾èmÆ€‡qŒÆá:4›ùÆaB-ª-nÍØðneVŠÄÖL$Œç _68ý0¿gዶ‚›ž´ýÅ©< ^W¹?·eÜ/
-
-l¥&,C†Œã ·ÖQŸ8RÔV»ˆ :»ß ¢ÿÕ°¥¦o…Äóô¢&›Dñ„æ„ñ>%åqUEV
-Jã(†N` /õÍþ`ôV’(H…ó¬ÐC>ø¢H§A®æIØO¯õ–0ÄhfÙý˜)š_x〘ÄIMme}Wì‚|Èà¾NÅÁä2¼Ô°yÅÑ¿_ÑdrEˆ »ÙŲVÓ¬w#ºÞp}§ —;Å_G°n\OªˆàPcŽ>n?ÿcpåÈñò‡VA0]
-ƒÂóqI¾ÞŽ´n‹TèÔ=ZÓBÿü:åT(a v|(‚bV~Qù`N~‚ñÑÕÓéáîÞ¸ RƒÀöðša‡ÄP@xD|i`­-.O&~F`4y£UÓÿ HÉMÌöÞ8Y€T¯B"y”x†\äñŽmÄ´Õ¤Ê诰¹ì·÷O±,‰D¶8–ëÈá û0Ñô<¡;+BP¡j­uÛ4¡ú…wÒý}"íç…ïÌ
-ùÄì©¢"£ÂŒÚ1§@ÓÇ%ìÏã:ptu2DØ/jÏNÚ‚âî
-þ ª×“?ŒÎ^TEul ^´­—çq<Üÿ-¯+ž4ÛŸ^êJìZá­¡'+ŽÊÕJuˆá‚Ç­+~¨ìóh~)à‡A¤ž¢(ÚçèÚØJUË€/)²|(8îñ¨¿‚Å_ Ñúõ@
-€Ërs»îX ˆ—#®#>|:+CƒMü\ûÅðêUT°ÎšÍOa\ŸÊTÅId`Éÿ!)µkâºüzwˆÔ|êˆ  •Dà^
-«9“ö¯#ÕQÅô/•p±ëtTu¦ŸÑoÕoÑF2ÎçÖºó¨F¿xüþÙDQ)‹€®¨G.eáÔ÷ºÙh®o¢_ý/_íÃÕ£ T\‘YÂCû->×kl,¨ÊEX›Ý¯¾ÜWÀSÇ«GôV
-h›À
-JJ”ðú»,aüø‡´Oe=²§ùsõB.-9É?…–ZEè·v"‚‹ÏCÿ£3N©eçí û9–¹ŒäˆÊæ9a#Þò4)CË;ùW¦5Á™-öO­¥DÉ¢Ra‰¶µºçiN¿°4ÿ!VV(䂸„ih%tL_ܶ?ó&·ç\cT
-´1rÕ¤‹©Â–C|YÙEoç“âÙšFæm†‰bégâáH:ÏwüØ'Ѐ±ÇPzüܯ*ªÍÅë¯Ö:N­/jÛÆÜ„PÏHEÆSsÏùo’OÜ¡³Þ+"¡&íÌß èæEÍÞè„Ðg­ &ÜMÖOßõ!pú7Øɯ2­Ž!l3YÅB!6tÓº²vo›·ãfÜg+/“ácÒË`Èqèa;žñËxù<ý}(ìšLÐöBýÊ”ˆ;ÍÖL„ê(õ~D™êq¢˜M©Çá5b*àÎöæÞúŸ{ôÚ8iøxÃk|ƒ¬n›Ôš…ÒÚE_SXï=ˆ÷ãf+¤m"ðÞзs®õ:é‹ÜKÎÑ4åÖ·!D›ÕñØúÀHþæ1}’  C ej»ÌO²oDª­2Œ°š@Þ­ªÄhGO‹& fÑŒx\q¨åÓH*“«×EãñÎŽ`ghÕ`Uð1í$!7³NN¬âä–NM•)ña{®yµWϺç)®‘nS˜~Ø€gÆI ôÈû8³¶}ÊàL‡TòíÌF¯C0‘;pŒ/h° [Ç.ùõ§¨²B4 '…¡ºtdˆÀ4¡~0$îãò†W`TAj@qy‹2 UÉl\²lå¯ì×½T¤Š]×ÈÌO“bq<1~úÂfÍÊ’ì—W¨8’…­¶ÓÃI¿ÞK?›@‹§² WSuÝG4W¿! ÍrÞø§ˆ(ªyô[üÚ´æ»Ú•ã¨öï¶aÎûBá±j{6úMóT÷¶×9—0:'@:5+¹×ñ®¶ëde=—'’M•~‚†L=F¾‘d cƒ~N¬5s²czçR5$þ'6«3yi@1¼¢r¤y¬ƒÒNXr˜‡š¦ù‘÷·HQ¢H9=WZ8 ¦ú;M/åEÔ±²ïp ʹ1M„òÒñžT;¨ÙŸ[bÙøøáïj ù¶–è.h¶íùÂ’í1§O d6ä2Ó•€Sõ„ Ò¸oMîî›@¢Ÿq<rØX?+e¨aÃE› Ó zŸÂÓˆ¾/¨”% wÇŠ¢?ÛŸ‹À›®
-‹'Ô Öe‹Âo†÷L~¿ñþ\ì<h¿g¡‚™ ýcJCK¥wA½pƒ ï#“ÑD$_´âÀÞÍ¡ˆN5Å?¯Uµ‡å?7`ÿî crâÊÜç<¾¿ˆ\ I}¤xÝšN.PõÈ»Œê½pRUõ– Ÿ®ð$öµ©!ê£QÅÑØäkØ´ŒÂ„j¬@v”Â’ÑlLÌnmUEX’æ±}mî´z*l9Úï^IöqJJaþLÁäc“Ñ&júi`•¢%×î—ÛØÝAA‡Æâ¿ñ
-emÓÉÛŸ«3^4TòÓ¶¬@ÈjA1ÝiQ·ˆ ‰Ý÷ĘtÙö¢KB:Aÿ¸‹ÿ~…¬QN¶è•]à^H£î8‚x÷7^LMûžÄh5ý‘y.ïë`Ï $G^ãÒt°x\àü¹Qµ
-¢“˜.]âeŸýcxŒHÁ‡¹mbÞ ¾ #{Z¯ÆSŸÕ‚¥¨žÉºølõíý73\»ö&ÛT¹™Í`9Í}¤™å¦ï[ê¼<N5z ½_|ïh-óÔ)áäâöl?Þ9)9š°¿c(¤GEüÛŒëÈjK°ÍÚ$ ¨ñ¾ž2»ÓŧbžÙ,½_‹ÈIT>RMº(v¬|ŒQ|Þ¸V-'±é·ÞóVÈTú¦Jeˆ«Ôa‡ˆur Ûõ¤)gˆµæÂi{Ç¢VP€ææp¸D7ý™ÑÍH¸p½÷öÙt£¿# rKاjŠ-üòPýñöÕe©,´“ föö’
-^~
-à å‡8q¤Â麈^ñLŽq–}¨Bƒ CáÛ–åÊ— >²–{lõᾃËS×ê&“U
-9èpa0õƒÑßœÀƒwsi‘÷ëÛÇ* tô†tŸš…  [¥wÝÙ.Ÿ+$è+ÚÓ_ý¤iÌÕKÕ6(ý"oˆ¦—2'å™GÉž?IHééæóP´¾÷‡ʧ)ê^pA9"?kòowÖÕ—Ÿ†_²;tÊ+ioáÜ‚•êú
-_ÏfZYX/JÿŠPžUºÐ±;Äó™Ã¾¨5ÃÎ~¢M~;-5”äÖ$„€`3’’˜à0ßnpöã¤ÒE›­ðÆúb89qÄZ¥| ž½¢ MæƒVþu–
-!µãmYgKà”‹ù÷ÿ•£B}ôçüÂÛZ = U³W¯Û䉊ù¥tàC½^¦W
-QŒÝ›îl6;¹E& ˆÈš.®*·Kcî):+©†¸uó‘=t‹b'´á":
-EúPjAõ¶Õ ª±E@ ûõo`¦iqKQ`_`+§|,33yºGÖÿÚæa#^¸“¯™ÆÀ¤Çð—àBÝ®éãó8OÝòUÐÇ3&]¥§J°Æ$h ‹YH<(|í HhtÊc­µ YjCorpôaá‘Ögnj/#;ÌèâCŠ7±]c¥£ÿ|I4aü½ï¯kÅ3|M&ïæ†Àh¿}®²L¸­¿‚fµÝ¤TíR8g¤=Œë&í‰A¬ >ª¢Ûd÷C{z‰-6ð7Tœçܧž p"ÿ²±(¯Ÿûº`h/áw»7¢»ªîÈ” û½U6´‹°ÚS +ÑT~¯Tç°Ç&µÖªñ˜ü¶×êI z {çNÊ€‘±6qZü(úX(ø¢ZyÁ´~´ãÅ¥ÙÛا°ÞÊ›H#æ
-½¨©5¯O3þU¬–.œ) @X±®Kàð`ç0’’A©2ã?Â’§¤1à*\Ü& Ï×ò•Es”òœ³e»`Ž-Ä_ø£½—†›}t`òC;]t:ü#?=*rež‡¾ZNžÿµ×Þ ÞÏ-aæ:-ƒ;ž""·È¶ êÝ'(ž¶b—PÝò$&¦‰É&ŸydÌG­<‡#{BŸí’Tdõ/úYýþª·Áè`þÜ(JæsmjžãdàѦÞ#¶«âÝ]¹CÑdH€ Aþ–/“6óN#å
+W'sûþ‚á
+·ò$«4Ù%1TÒ÷¼uV–{ìTì%Z< š t"ÏžÆI’éw
+žWŸ ¿ m,;ÆðzÛªl~£?^©òÂ&§)gëç$([I†Š¶°¥eW³kôEൠe,|çÙ[NôKúHK°2³æÛjâı1H?Ø•ÍÖïÞ¶á.ªºtw³­n ¢­›ŠÍ²Þ®EÈBV¥*(<]Èkn®Ñˆ¢8wCй{÷–ºÒ‘$1wBú{,1AjÕ…#)K¼+òcã¹-ËÅ4ÚHkÛ \áfyÉ7ÏÝfšWp…ŸDG[8ª]¿â¤ò8u–Éûç¼3 ¨_7‡wž–ŠÓjš‹¤  ºîKÉ7ÄÆд•ÒÜ J1_û²Ž&8C|?“|`VÓsÕ'6¾ZÃ:‘ˆ†XµX–OÝ–vluqpÙGbE:Þ^Ö”
+ëk4†H]>] 5ÛxŽ@Uøœ#ôÀå=Õ’ ¹´Ì^˜b–m“>©æÞ´qb±»à hC‰6ʹ9µ¢-|%šS£ì³3Çç£}˜Èâ:B@u¥µø€à6<¸˜hrîqØ'å÷rïv‘U|_šJ‰3¤áØ÷ k¸k%ÓÓN`˜bÜ-´%t΄æâ_¢èÑ—ðœJ(üU˜ÞNÔ옒p¢¾½è¹ù><‡âJòcâ€[¹.>³ †Î®ìL!½J“QEÛ¸"‡p@b=×ðÓÅúÐ.éðŒ¿/¨6ñ¼~lÉ¡ãÞá
+vB”5Ò;˜¿J¢zŸ:ø¼Mo¿À’×ËÒpI>àº~_6”A¥)ùµ]¯wŽ¢‰ÍåªõŽ)>(fPô N#j E±ø- 9P~T\{0Fêy]Eº1[º–½,Œm=·ÝúÅ\ôpLâä\„—y˜\á¼´.k$CÆÑL[ª ~ÿížä§“FNQ<Î!m–¯býIÈCè…ʆ/òŽŽ:Ñ@=zG‰›’¤ì[RY·RßYM^{
+mð-£¢~­; ™˜Ñ4i¢º„ Š.é±·†¨þyŒ “KsD4c䌹,ùö¼¦
+kbÔl¡ÃÜjxƒÜ—’˜RˆQ˘:-ƒÔ›|r|œCÌE\“’Ci}cµº²ú£®å#¾öƒæï¬4ÈßÖâNBb@Û¦x8mu™ý2
+80·bʈb3¹Œ´Aw"\5~F„Y ä^wþà=V C³
+˜¹˜*ÚPv!”-*¡¯°¥ésbZ˴Ἔê
+Ægè-—“a´ ö«]Q™¨u¹$k¯ùít^z+@;3ò‹±M]w½­6IãvhOd//¨;ãfì÷Ùê?|½0ªJ
+ƒöáå,WpãoCØxpÀÔ$àZ—LNÌæ(4] sÚ€I¸ËfSIȃ˘„à˜†ã|Ùú­äYÃIˆn½…(X;ÈñdL^›.çî)ÆGGšÚ› ÓFêüÔ_ïmƒžÐŽÞŠndÓi{Ÿ™_I.ÐGÓ¦í‹|À<ß óºç$¶/&A]¤pñtŒ–™ü›,…H"´åÏo(Ïæ?yŒtéÎQBíØ¿P«O5Ô,µýZºè9òdÍ´Øw«¶Téz‘ãÖ‹0„!36ÒY"ƒ§§ê€‹
+*ãŠIëdGh@ig­ôY†¤Tgc3YñPnì¨y—ßUÐ&½L`è2:ÅLt¯~¢ê
+RÿE«&Ò¶fûU#w²Jï±»xÉCVùËx7!œ}.0µ¦Œ˜Uù•™Y!G)¶â8‹¶ï&þ2ÙñÐNe¿~Lè²—X'y?»Çð·\ƒ0ÄëÈÞÌÓ{,—_±Œô®?8Ï,t¦‘—…ÐUõ…Ú¹E°hîxp$M†ìÅJ×BmeOh+µÍ°¶üŸûQÉø]æKN
+­¶
+)üÙÙÆ"*{Ø‚¸†(ñ¤Ú3ƒà¬ à?7Ö2Xž$£†Ïß(32 Pb?LY禊¾¦k“Å4jFªÍïÍHÅó ûI(¬PnKÀðao¡ÊynRdÄ+¸0"‚ß´Õ&ÖM48ÂjDŽÌÅ)¼Tñn[÷Š“`jOÒ.žU¬˜O©45Eæ0ö²/
+èéêÏ4V©ý‹‚ÎZø†d”ó¼oˆŽHçÜùÖéE @¥¢mÑû"|Ó~2zÏÃûÑ|²i-#%|VTõx:Ž:Yªö[¿[O,;VS¹>ózAôÎC²hc0†™Q™Ô©Æ‚·(í-¢ï)¸„
+Þ/
+ÿؼ@“î\±-ç2ÆÉÝa»Û›$÷#dñWfÁ%_¾9©Ö³ÛžçQwÇÙ3XzbŽÎ?ceûBŽŠ¬ÛV zËuó wtò®€KS´šï†Ô.ÖiN˜³êÏ*ó@3³!÷aÉùO%Z=CÚr›ØÏÃ
+Ÿ‚¿Ÿ…¨Õ/j‡ \Ð º.ÌxÂp¬\>™Lê}{)ù'˜y ^d1] À‡ó¤­K\ÙL7)Û×8F'!i‹cÝ›ôû!™¹®-:m$øgiÚVÏ­
+ÈÙ!zºZzD¸¡\™–]`ü<IÇcÜšÄÎfví£¿ù¥3²AHGdƒ™6HùYQ’‡•å蓳6Ò9f|Ðl ~çšß€¥ÏÿJ½ ým-Ño\$ùYP5p”S_αâ\ßÓc£{²q"V—†‹ösÙÏCZËѴïÌjô†b^Û•±Yl’z2)™ØiÏÝÂ3HèD`Ê\D,å¬.¨]
+²™â ç7´¤`²öRŒó3ö¬p9½ƒ¦¿¨4.€ù‰,÷U½K7± fÏ'âiÎ%Mö@|µñpT|Õcg«c
+¢š~•9•v'N&q •‰¹Ïd>kIëk÷o©TÆK˜nžk®Ò$däõ›ë+ŽŸú8«ò#Ùû|4Åt±{õ / X”,üÌYÜçè0¬pwÃ-§â$ö‹3nãá$kbHâó#3‘ë@!û3½y¹êöBM–uÑö‰NÜD¢DM^S”ošƒõó6v5±Sjçþ¥Që[ã÷Â^#áåQÀÐäY÷T l°0à)šdbÁ·%â­lïwëa)‘H0¦1Òfƒ Á††u@½ø×ÈϨw©¸<!³0ØKí‰\ÚáŪŽÏš ÈA'L\‚`P8)÷*ÒåAöè~
+oˆqiþ¾ã»M‰WÃŒE¡rB¤¥ìrÉqÉçφcO©ÛA"ŸÙDQϯr€
+®É§ßr7³©Ê
+R–9ÊòvÕiÂ<Ïš«µ2µý°êNdéxú û½åŠ£MT„"”àÆfn(%}Jíê;}å>JU·Ù2dè3ö|œ#èJ¾Óžããší8ÊÌÌG¤Jª÷íîèØýÇz®×7Ò÷ç7E¦M,(Ò…ea%Ïc-‡ž|#' '‹h§^“üþq÷æÓø <êF
+A2ì¬J8 OòsO8—KRYä÷¤ipÌfvúZc´„j~M2
+fŒ—Ôè¡X=`.—"3’ ~ß`8×ówG}fx•æ¼®BR a„wäb8ÔŸ¿\€c5m‡è¬s¯½€¡ÑöÁ~¯aWKK`÷ÁiájÿT~Á«ÑáR*Q«/ö‰Úhõa~?Žt+YQ7 íÄTzôÜ£I!òÌÄ E@
+YÅ>¿‹ií 7µZ|Ryºƒ.Sƒ”¹’ð¬«c[ä±`¸~Õ w}Ù¥EÞ†lš>F9‚™ó±o)g‚x”9Oá‡ÃÐ"wypAÖç€Mïƒí‘ò@óqÈ$=Ê ªh= 2Jžƒ)s@ˆ· cúôIK¸qŽz„ Zfü$E¬F3„ø1HÂFÌM‘yMN*“´dgðP7JdºQUVŒz¯Ô }eCº_Löõ¨ Qj¥gû£‰”¦}îžbÿüNÖÃF3ÒjŽ6å@OâU> 2ÁäÇO 9Ô€¬—ÊD§Ú£€_{ Hª¹®|)3ûŒs^#;¯Y¤0B¯ËÌxôt~ä¹FÅÖ–þo¹6”Ù¼Äw¿LܪðXB“ô¬,‡B#)bðùðVÔ·Ñ™"'ËhUZÏ
+AOê‚õÀ¾©“x6Q÷ ;¦…%p„ÞôÎ\*ù>½[ØTl±Õs9䤩– …#–Á1ý"›‹o/tCumœÜ3W<–œ‡1?SNq«=8 ·É§³åQLhÏyŒ%¿/ÉpT»Uê„•c¨°såsØN›,!o ]õ’ëÏ31-@*ûÔ§†ƒ2JRÑNìÕÌ/mý’£‰ÚÚ È”Ø€õäå„AœŽ‰®¬ÇYwßµc–{2 i3o€è ›¦fP¬~{>íïT†¡Î?¥‰Ët«f+æE©pXå ÍÎ4X0úÉÌ Y3¢¨EݲuÅJâÇ9Àé3QÀi­ïð~|øÒôe.Ž¹†¤%‚Hæ•ûðøIëT3O1œÜêüŽ‹1!ŽÖ~úš‚ 9gm:Ø¢³^ñZ¼5±™Ç³ûvR -ÒT$¤Z 3}õªHVû ¼¶†´ÇåOê™P'i E¿ù±z)K”9)çÛ‹ÐÙ”ÙBña­½D¿ˆP?;–¦ÏY[°é[,ʵ—™J±‚!{÷i¡§–v¢Èü”7e‹hbzN™v`Ùo!â°``5¹ÊçAF×`î£B8ÇTßKX÷Я¬¦…”KÁdOÌ7=„+jCy]¸XgI1t뢒+Vdz£h"…åósy (ò6­
+IÓ!óöĆÁ„'mËë?ü\s™ül%Ý—Êúá‚Õ…¶üï_Šâ’“r _”ñ!ð¥¼Ãz°Akú­Ùvèè°ès8.z{6P£=Ô(8}ÛÔ ‚ $&çþÙ¡¡¿p¥ 5€»ùóq†6æ¦A†ï2NHÀø˜–ä×Séc&cÓ¬„x ʳ‹9èÖ×~›$ê• ©a,Ê[Þ £.à•½rgIºÄ¹ O½¸Uðûð šE5UÕfŠ†ÏS‡þ룽ui*‡ï
+î¡™RÒ@znÝ0ODz­tuX‹eÕ„„­—Vqé@ð¢šP££i°¨ùöFÁ;q¨"°ó½…¯†¥å„V®„‘BµÓu‘=Ž¡ ¡i.wWÄ–¤-v³C¶MLoïV5ª‹b!jâŽGF8Î;Sö'#où< ,÷—q%÷ȦyÔEbæÄü‚«b¤àë±,Nܥآ¿¼°ÕgÄûòZVLJÕÎ*cÊ£ËÙ‡¤~¼¡a†è€gÞMÒŸ6øãh¼2·’^í7IÚmãØ.pÉGÈ}uΙëΛ
+¦¼nÁ²’4´SÀÀ´ µh%)2EþdûÉãÅ)ìMqo®Bˆ\h1»5*ÙÈêÜnîSw½XÆÍb^ñü;£c_ŠæPq†u5á¸ûyñrX£‚ <¸ €Ûª¯¬³Akm!iÄ^Ó%»ö ¢h‡«|» •çÉίÍ:-…Q3œŒ`‡qÊ]Þ Í|£“âå.Ç1NŠZKôç p ,Úp ð(ò/x½F2©œ°h½q¸A«DoÍb¢=ž•DWBìþÎ1/ßîáßž‹õ(¸–nînþ‰Y›3QÉëpó‰WFJ”㯛H^
+™md °ÇBé ¥À+ÁR˜µ‹–ùÆPq6ÈA•p-Û¦¤-'¬Ë(ú²äg6ÓÊéRémÔŠšRj…ɹü
+Ø£ø¢ðÝhÁb»NŽs­»CÈ‘3/Cß$ C±P6vŠ2ƒK“paüUxò¡DÿÌ”;Ô¸‡ž=Àz긞;6Ý[÷7'˜}ü;h|-P_n%Xª²ˆ~~»'›ò>!iÕmÍ™à
+îŠDÝ
+õÆOÍÕ˜ý¨¡ÒMs‡˜Ð òc3)‘é;¦ì£Ë:ÃüZX.Ø’ï÷ë´rîÃR"oøI¾c
+þ´#‹¶Ãu_¦E°w"<–ÞEFe¸‹MA"ÙYÉRf¡‹¿ RŸNpör£]ƒ×'"rtJX"kÄ–¶dJ8eü±ù›Ù|£6±› Ö ê‡ª“t¯ß@žÔBN’ÙA£æšNè×±R2ÝžB¾«Ü­º+ý“,Œ‘™Ó ˆ®ÀØr;©Óy”Mì¥=ñ¢Ù×4¹„SøoÿGßßPáW†Å «‘€øçëV A«±¬t7ÀSP£~ºøÆô
+TÆ^_ÔƒV¼}PZY+M³óIo㹊7}–/?ÝãXGúVóݾ\gxÁ—=¯Ž¦ Íä¾xz)ïM8‘oë²5vžP²ÖgÁý±
+ñò˜ß7ç6egüıfDY/îŠë
+ß8Y°«ÈÎÉ­/Vo
+ácÏ=‹ÿŽ™<—ÝQEù,æåÂ_Ä3˜cë É£êU@H#VsÃmŸôP]BeºUbŒE¡²mµâä•áÌðx„1#˜5LgO,Ô$:sÏ…‘àþãh«Ú:ÿ ­ vÿ|&½ª¯[†Kº"ÿœ¶ªjÌ°AË–†ºÞxTñ§Éæ¬ËJè‘N~r¤ô×]?#V
+ðŠîÀ\Ã&•S½ro¢ýu®÷áä!¥¦Râ Té9ôG– ªf×”u‰=ÒÐ)Ú3WÐ/ÐþáøÜiÅã=‰V¯qÆaË
+G|¶`ŽˆÄîX×LŧY¢-,3¢
+k( ©¸§ëЈâ>Û^vWÀ„ŠP„³Âô9æ®æT8vEÕTØ›šíçs’¨3®ø~‚º^àWßÁ£pâ³ë¡„¹_N¨ê8\Ž´Q¿5îÎÒYµÐI0ÜÛX
+›9yZ7W$[šÝùZW»VÓ/£­Î±ºkTò¤Ôì§×‚·ŒPîé^ zß.W› «!OæC¿1»÷‡8<GoÞAdë £ú©@ŠO!dû½L†¡çÌ´ÁÝËdî˜nÄ—Zœ3À2àÁ²µµÀZÝǪÝBo÷ÓM¿0W¦ê̦u0a“i Ê ð})|Ô8E[„h¯]׉×õv#wÑ‹ÚS‘e^3øy¯£%#>›ÛÜ«`ò8ÀæBJ¡?ì«•B¾&ãÊUÄ•Ø[o}ÊqäìÖ(n+µ•âïÍÔ|Ôøâ&ɵs„ö…pònSÊîÕG•CnËŇóBÓÍ+0x1·<1ü(UJ›|]-7ãkJ‰ºS[œèí»ƒ×5’ŸÿÒ$-/µ«ß–f›ñ°Æ9 :…WN¨Ü]ÉtQ™û÷P´M‰
+\1µ,i­%,Õ´”9cNXÎýoåÜvy;hÎô_«="íIºj²!ÔÆöóW°ºXpÕÄ‘MrŠ8^i2-Þø«hŸÎfÈ#ðE2nfQGà{Ò\µÝ[ÙúD¬”<”ÿäz2q·Y ª·û%ô½QuÉe%ÍÏ#­– ›¿Ú±wÈWîÑ£pÙþÏ`Â'?J•»†!g 9©Ò÷±5- J¼Y²®âJ)Sô°„ÀH½âý%³¹‘<¹ZBKsê‚‚ÞÎó):ª°¶x¾ë„ëO@)Ä(É(®ž’ðö q<nÍm~GA$Nµ¦EñŸá0cTŸ~“d‰Œc!‰®p¤­{LÖæíó,éÁ0Ñ—¼’ÌöG‚Ž-3ô}Ä@½€W†Ø
+Æ&ì»4T<ÒiõxhgY 4¶þ½yà™Š®ÖŠˆoõ:êö»€°!QµòÒÓJ¾ù!?~£-ÇJ«ÊΛ¥^Áª¼ÿè+á4#œ(¶õ'ÍH15@¹y-¥×¨‚o]eÑK]ê@˜¼ +fnŸ™›3¾õï†cm« üs¶»´ÿ +žjæ£}°û®{It™e†Ko#¥ÀNÇ«É
+âO(/­k]!„Ht‘Å㟩äûàÑëè)6ùHn yóÞø¯£Žt¡ùèÆû«Ò//ÓøÊø©ÆU#ØK S¬Š-öã× ¬iñIÚCjÄ´bÔ?Õ©}ÈE~&ñôüœ°¨}Òwdßý4·¿ ´~”ͽlÑtFôþz@r6ûðá³r£>k›Ð°
+fDÛ­Ô5þÞÊRËI”]å›Íð'ƒÕ)†ž hýWªo=תn'|@ŒJ"'G{ÕÎ×l©J”U’ôL,ûm‚ë¦ìDæŠÿ¬î¹l#­Ùò¢©gVÿ9±@õ(êQñåÕ€Wðï¹M…SÛ„LJ”Ò®ªÝCþíW³@Yíõ@ya¸… 6`gÈȲÒHÂNxà!Áµ£±ö|h€'¶%bIŠÕ^Þ@é·ü™½8ÑËöQT‰évž¿™Zû¡I“rNä|4Ž„c
+Ne¥Ì[×Ŷý(5™s¿eêDƒ7E7õAÎ|¤“H7ɱE¯é¸=º))Cq"þáù üGŒ£âo’7­ <‰ý8]»M'ÿ• 0LYÔ©8ÜʃãÑ0·`6ž ø[AÛºqÞßð›XÕ[Ù˜ª{OáKè×càå"ÚÕêôú”o‹Ù{mSÛÊz*,ì¡ñÌ9yrb)èÆnxŠ©×;N›¾ß¨Öjï“Vj/Ä™*%~0Jí_Œ”É~¦~lIš°é~ìøú¾žÝó‹S–
+2et +þ}ó­ØhŸ#ï’wâàdf|¼ßßߘYjÄÊÖ
+dzŒjÌ£.ÇõqãÍÆå?-±×aÆ s@Jƒtg?&ô­Ê—V!eDÿ‹Ñ ¬¿jWŒ»E’ÁÇ®´?by¡(”¶o
+Ì1K1øæãIr½­3'JØ_=¦¢¹ª¹€Jªö²D»ŒÖ4•ÁwTô”œ÷¬ºÍpJõ¹ ”°6Y…G—¦ª¬
+uòZQÕ1+.DÉòmXg/Üçèâq#×oÚjlYº…L9ÿ¤€Š›mÎWš –ÛÀÑTwÌ¿ánë¶nÚ¯ÅqüîÝ~^û!¦ ç°©8½ùñ"~^ggµ¬âG&‘|«'¿sj~pš8Äì5ßßà=9;œyGGcá¤_â"P{òùC³ªÖì³à1é8ÆT•3ÃåNp7‘{¾(W ï[„øÝËÏë1dÁÞaÒ)Û´àK6&hæÌÌ F?_ùƒÉnì%šZÇŒàXWqµïœ£4äabÑa°ê £üT¦‚š=ÿºË5rÙŸ
+‡Œ–e@_¹>‹®!©ÆýZÚÔ‚ J‘Ë6—ÞðÓ¢R¯›€nr‘AS}.Ë‚(te²‡±Ñ¥ûÏti/”Ðl¿+kH0æ8†éÈ•±ìµ÷šØ›r$–Äàù@e²Ä€1å¾jõ’OŸZ 3 ¤îðám=Ø2eWí¢×7ê>‹@±¾Èp·yý¢™OYDT z…ÜxtVÕð.à©×Dt^ÿ‘8ì©Øÿæ6õÞÀh7£þú™¼]b°™{©ÍS_°O×¼¦æ¬·2ôg|˜¸)9w8ÐgbÑ/zâß.$k…^茷…†»âÔ¯0"¬º8¡ŠÆÖ‡OŸDØE·3ƒÝ3ÃÖûĸ„Ð÷nAôj˜ÒæDè¦cõÇ›Ç?ÅY©l÷ÒÈg<¨&Ý»¬‘®Æš‡3i‘,Ý|¾Z:ä?u{]ÍT?ÔN>JþËÚÙL|kk÷!ÍäÔYú·»Ïœ?€¼Ññ{á Ý§ò.÷æR‡Ò.Üf¹,+Öâ™RÙOúÑa™ã݆þo øb‡VÑõÒ×…
+c³äÈò0v‡®“Ù¹’¥='‚;*qÂ8ûUvÐdGÒC°}ƒÙ>Ô³‹»†Or"6÷é+Òwî‘yÅžÍ4ð⸃ŠsePI/׳P_?_/"õŠ©`û ›©1‘dËtpgÛ×$/ÈL{ö-þ•#ûíà½Cjeç‰.p6Ë»÷P{‘ÕÑfŒ´¢¯Èg%¸„Âe±õ¬´ãô]hË›ªZucj]®,bñLªM7^c\b¬ä–«k!òŠ¼£%±nˆªcÚWÍÖîŒkà W©ûã Þan5òï5ÐÇ7–À7š%F@Ñ<õ«#Qšê.sÂpW}¸[u¼ž#fì@ìÇÄËx¢­þE¬­vxÚÕð—L{NBñ(…bï·†í¬V8›PÉÞ"”1™Hé„“œS¥RÑ-6lOîÓ“ ÖùÞEÄ&5¥zS˜¿wU7‹Ì¼ck'£šmê»;a_h1Üi·ˆ•=»·>þŠÊ:"®Ðóç+èeE®Zk/Ñ{ùØy6hÆ—÷j…ü}¨ëÃÄŠë ï~ üN}é
+ôŒ¤Mo‘§„ì7™f4º@ÿ(4Äpp/
+¹|7L25|È`ãÎ…åñ¯qA©FU{#ÂøÇó°ËøVwg…„"ͼOæ‚Ì:
+¯?õÔ-ïjŠÁR~Ø$*ƒë_»ã–zVo¬{±e#[µ5f½«ñ[ ¾-Hzr¥Jù¾î¦Ü:ê™Å¦þ=>¦È4Ï
+¸ñj£3 Ê!¼áí›LôSNø¡ÆolÀõE™iÀ
+'Ý~§µO~.\A›ÎrÔÇ&—£»<ÄNõ+vñZP6²(.°»8NƒLñÑiÉëÌ­š(†—å¡„9Rƒ` w8˯þ0*­Õ3¼Ã„¥œC ¦œË`7Ñw8€Áj¯¸p˳dL ã
+ôf¬ÍPaC '¥.ÒQõ¶óÇ™j ~H´8£,ïFƦÄëË5!uÂûÝǦ1’ö’Þƒu²õOÅW…À2²s¬¨¾SL¾p_AŸCW€3/-Âì?]C|µ*(XqÕ¹ð`}·Í‚FˆMTž÷Ýæ‡Eu›¢R&à™w0.tÁ+¬-üðI™2MËBÙ1쓽¥/aYý4RêÆ<Wt6ûþ²ý"t{s-’ÌXšm™éd3wéXæêÏ­Ý šÈžx?ÇÅéX¡Ÿ‡Ò6Ò+ØÅM(°†#œL¨­—¹î¿™¦²ÁÒ,ïŽ ¼Eº nf§9§ÕŒ9°háG~%É8­OHk}¶Ulî˜HĦ%Zê~N¿ãÀ
+—)GáåebŸ¢…š*ØFŽnàIþþx1ÅGÜÍÓ\â'¶g·ušóý”=?¯-I;¿êC´Ì¢kedáŠXµy!íÍæ .‚KrýŽÓhªÕ­)}*™ÞQÏÙO½LÏÍNŽ} ú‡ãs¹Áì@fæ‘lÅñw9—š†¶3àñÝiÿÙ8(åE/àé—ÞF\ö½Í|Êí×€¬Ï©>"ò¤v´ï±F)=çvk51¢3Iôg”XÇë^v\2Äav>³ðªÖO8¡¦&ãJ^Ø=®Ìæ̺ Ò_Ëëwˆ3_X’Áxµ 9.Œ×¢jêˆæÙBÇl³\ƒä)Ö¤s"xNœ\©×…òùªÇ/<+zÛw'Nf®*ê‚ ¶˜¬Ý}r EjVéÌ;uöÑå3èÖô·Z$û2ŒœuA{Ô 0vù/×QZþlºü¾ŒršR±›Â²4¢6WÄr[î/ÑX}þeTB4´¸7'’IÎë0ú}¢ë9¸²Äø [EC¹ýe
+ž…ÜÙs {&-æÞ·š »?ö×ê+XBÆý4‚¸¿øÕó½Ù¤å† D16¹‹Õ.y
+hÞ9ëåÝÂÿ’aX–5®‹Ã"ˆº¤Ö
+þHBL„™J(ªÜ„£$V¿¾6ŒCÍ…a‚çùˆ_ø5°Ó˜DQq  ;1œÒö×Uua
+¡äŠ¨ïI¡oV™«óÎ~ýeŠ0voè,æ…šD2A„$3—„B{8ê¨×]¨aãÇýÑQÄ,Ù ¥¸»Ù)H;ÔW1ûê#Þ’~*sjY[øþQ;³r\«¦ô~zù3Vû”áÐHw#wèaº•½4¨çàm]VìéÄÃx‰”œ¦¿§RSpUXô‚ps¸MÂgåjñYGEz.ë¬D(JË7¡KCrŸšMÆÀfËÊòâ'sÙÊY
+¼ùCÞLà¤Ðäï5„«dKAÕÉÕOÅö¢o,¸¢c$e0ù‘Äi¿UK'Zx,MÂÃ]Šë¼Ã³z]Œšë®µú"‚HXZðÖ)þØKs¸j&VDÅÔš½å/¾
+•gÄJã»U?ÔCï â`‘Ö¨{Ö°gÊ”CWRË¿žŸGVg‚¡ï†_¸ tËÙãuoÚ'„mÖP•®(2M”ò{ÚáÚ-+}VG¦>hžq%cX›W[§F 6e%Ž˜ûÛäÂbUéz{rÀM­Éëˆt|‚"8º\ÈT—-°Â”xa%Ï
+úÑ#|@ª¹N·#±XŒÌðš(U þ ¾ ¡¯Éâ†6?’Gò±WÊjØ3U –Uc@®“yYµèÎíçý 4œ•)Œ«2ï®\|æJ)x¼þ2lË—™ýÓd§ «bAmÍOÁã«ØÚ#ºtáÈ{L9ÀKÈ[¡!¹µ£XÓc@N’ë’‡ä— ÚGDj=”ܯR¢ÆãÎz4¹s '«®1æ)ZGxCþ·¦ye^s¨Èx“Š0ZçÐ2ŽK=ÏûÌ9èÐÍ™'Îlà‰Î¡;§@¯áD©ä‡Xs‡Ï]¶T ùæí/Qj.P+ÿF0Rf:3ó0‰
+š?d6!f¨Ì¸#
+ñ3<Mê¶ÓÔ,ÎÇÅÀ9¤1<XZqø
+»N?΂…¸HF„t‰2Vþ MÑíéB‘ ó+3Q%«¾”ÿêèTóÐ1k9Ûº},n·³A6q‹c \%•÷Õ…´¼@X%}éHk±2%ngÖ(ÂeItý«D_1”
endobj
994 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2925 0 R
+/Encoding 2943 0 R
/FirstChar 2
/LastChar 151
-/Widths 2942 0 R
-/BaseFont /VXEYMU+URWPalladioL-Bold
+/Widths 2960 0 R
+/BaseFont /LFKGMY+URWPalladioL-Bold
/FontDescriptor 992 0 R
>> endobj
992 0 obj <<
/Ascent 708
/CapHeight 672
/Descent -266
-/FontName /VXEYMU+URWPalladioL-Bold
+/FontName /LFKGMY+URWPalladioL-Bold
/ItalicAngle 0
/StemV 123
/XHeight 471
/FontBBox [-152 -301 1000 935]
/Flags 4
-/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/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)
+/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/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/endash/emdash)
/FontFile 993 0 R
>> endobj
-2942 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 500 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 606 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 ]
+2960 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 500 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 606 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 500 1000 ]
endobj
998 0 obj <<
/Type /Pages
/Count 6
-/Parent 2943 0 R
+/Parent 2961 0 R
/Kids [986 0 R 1015 0 R 1022 0 R 1077 0 R 1141 0 R 1204 0 R]
>> endobj
1296 0 obj <<
/Type /Pages
/Count 6
-/Parent 2943 0 R
+/Parent 2961 0 R
/Kids [1265 0 R 1298 0 R 1310 0 R 1323 0 R 1334 0 R 1341 0 R]
>> endobj
1357 0 obj <<
/Type /Pages
/Count 6
-/Parent 2943 0 R
+/Parent 2961 0 R
/Kids [1353 0 R 1359 0 R 1367 0 R 1376 0 R 1386 0 R 1394 0 R]
>> endobj
1404 0 obj <<
/Type /Pages
/Count 6
-/Parent 2943 0 R
+/Parent 2961 0 R
/Kids [1401 0 R 1407 0 R 1429 0 R 1442 0 R 1447 0 R 1452 0 R]
>> endobj
1465 0 obj <<
/Type /Pages
/Count 6
-/Parent 2943 0 R
+/Parent 2961 0 R
/Kids [1457 0 R 1467 0 R 1476 0 R 1483 0 R 1489 0 R 1493 0 R]
>> endobj
1512 0 obj <<
/Type /Pages
/Count 6
-/Parent 2943 0 R
+/Parent 2961 0 R
/Kids [1502 0 R 1516 0 R 1523 0 R 1533 0 R 1543 0 R 1549 0 R]
>> endobj
1559 0 obj <<
/Type /Pages
/Count 6
-/Parent 2944 0 R
+/Parent 2962 0 R
/Kids [1554 0 R 1561 0 R 1569 0 R 1575 0 R 1582 0 R 1591 0 R]
>> endobj
1598 0 obj <<
/Type /Pages
/Count 6
-/Parent 2944 0 R
+/Parent 2962 0 R
/Kids [1595 0 R 1600 0 R 1607 0 R 1611 0 R 1621 0 R 1625 0 R]
>> endobj
1637 0 obj <<
/Type /Pages
/Count 6
-/Parent 2944 0 R
+/Parent 2962 0 R
/Kids [1631 0 R 1639 0 R 1650 0 R 1658 0 R 1670 0 R 1676 0 R]
>> endobj
1685 0 obj <<
/Type /Pages
/Count 6
-/Parent 2944 0 R
+/Parent 2962 0 R
/Kids [1680 0 R 1687 0 R 1693 0 R 1698 0 R 1704 0 R 1713 0 R]
>> endobj
1722 0 obj <<
/Type /Pages
/Count 6
-/Parent 2944 0 R
+/Parent 2962 0 R
/Kids [1719 0 R 1724 0 R 1728 0 R 1732 0 R 1737 0 R 1741 0 R]
>> endobj
1752 0 obj <<
/Type /Pages
/Count 6
-/Parent 2944 0 R
+/Parent 2962 0 R
/Kids [1748 0 R 1754 0 R 1760 0 R 1766 0 R 1771 0 R 1780 0 R]
>> endobj
1787 0 obj <<
/Type /Pages
/Count 6
-/Parent 2945 0 R
-/Kids [1784 0 R 1789 0 R 1796 0 R 1805 0 R 1812 0 R 1817 0 R]
+/Parent 2963 0 R
+/Kids [1784 0 R 1789 0 R 1795 0 R 1805 0 R 1812 0 R 1817 0 R]
>> endobj
1825 0 obj <<
/Type /Pages
/Count 6
-/Parent 2945 0 R
-/Kids [1822 0 R 1827 0 R 1831 0 R 1837 0 R 1845 0 R 1850 0 R]
+/Parent 2963 0 R
+/Kids [1822 0 R 1827 0 R 1831 0 R 1835 0 R 1845 0 R 1849 0 R]
>> endobj
-1862 0 obj <<
+1858 0 obj <<
/Type /Pages
/Count 6
-/Parent 2945 0 R
-/Kids [1858 0 R 1864 0 R 1871 0 R 1876 0 R 1882 0 R 1890 0 R]
+/Parent 2963 0 R
+/Kids [1853 0 R 1860 0 R 1867 0 R 1874 0 R 1880 0 R 1886 0 R]
>> endobj
1897 0 obj <<
/Type /Pages
/Count 6
-/Parent 2945 0 R
-/Kids [1894 0 R 1899 0 R 1903 0 R 1908 0 R 1914 0 R 1918 0 R]
+/Parent 2963 0 R
+/Kids [1894 0 R 1899 0 R 1903 0 R 1907 0 R 1912 0 R 1918 0 R]
>> endobj
-1926 0 obj <<
+1925 0 obj <<
/Type /Pages
/Count 6
-/Parent 2945 0 R
-/Kids [1922 0 R 1928 0 R 1933 0 R 1937 0 R 1945 0 R 1958 0 R]
+/Parent 2963 0 R
+/Kids [1922 0 R 1927 0 R 1932 0 R 1936 0 R 1941 0 R 1949 0 R]
>> endobj
-1966 0 obj <<
+1965 0 obj <<
/Type /Pages
/Count 6
-/Parent 2945 0 R
-/Kids [1962 0 R 1968 0 R 1972 0 R 1976 0 R 1980 0 R 1988 0 R]
+/Parent 2963 0 R
+/Kids [1962 0 R 1967 0 R 1972 0 R 1976 0 R 1980 0 R 1984 0 R]
>> endobj
-1999 0 obj <<
+1995 0 obj <<
/Type /Pages
/Count 6
-/Parent 2946 0 R
-/Kids [1992 0 R 2002 0 R 2022 0 R 2036 0 R 2050 0 R 2063 0 R]
+/Parent 2964 0 R
+/Kids [1992 0 R 1997 0 R 2006 0 R 2026 0 R 2040 0 R 2054 0 R]
>> endobj
2072 0 obj <<
/Type /Pages
/Count 6
-/Parent 2946 0 R
-/Kids [2069 0 R 2074 0 R 2084 0 R 2090 0 R 2096 0 R 2106 0 R]
+/Parent 2964 0 R
+/Kids [2067 0 R 2074 0 R 2078 0 R 2088 0 R 2094 0 R 2098 0 R]
>> endobj
-2125 0 obj <<
+2115 0 obj <<
/Type /Pages
/Count 6
-/Parent 2946 0 R
-/Kids [2118 0 R 2127 0 R 2135 0 R 2139 0 R 2147 0 R 2155 0 R]
+/Parent 2964 0 R
+/Kids [2105 0 R 2117 0 R 2128 0 R 2137 0 R 2143 0 R 2150 0 R]
>> endobj
-2173 0 obj <<
+2163 0 obj <<
/Type /Pages
/Count 6
-/Parent 2946 0 R
-/Kids [2167 0 R 2175 0 R 2183 0 R 2187 0 R 2193 0 R 2203 0 R]
+/Parent 2964 0 R
+/Kids [2159 0 R 2166 0 R 2176 0 R 2187 0 R 2191 0 R 2195 0 R]
>> endobj
2210 0 obj <<
/Type /Pages
/Count 6
-/Parent 2946 0 R
-/Kids [2207 0 R 2212 0 R 2223 0 R 2227 0 R 2240 0 R 2249 0 R]
+/Parent 2964 0 R
+/Kids [2201 0 R 2212 0 R 2216 0 R 2220 0 R 2231 0 R 2235 0 R]
>> endobj
-2258 0 obj <<
+2256 0 obj <<
/Type /Pages
/Count 6
-/Parent 2946 0 R
-/Kids [2255 0 R 2260 0 R 2268 0 R 2327 0 R 2385 0 R 2439 0 R]
+/Parent 2964 0 R
+/Kids [2246 0 R 2258 0 R 2264 0 R 2268 0 R 2276 0 R 2335 0 R]
>> endobj
-2476 0 obj <<
+2446 0 obj <<
/Type /Pages
/Count 6
-/Parent 2947 0 R
-/Kids [2473 0 R 2478 0 R 2486 0 R 2495 0 R 2501 0 R 2508 0 R]
+/Parent 2965 0 R
+/Kids [2393 0 R 2448 0 R 2482 0 R 2486 0 R 2494 0 R 2503 0 R]
>> endobj
-2517 0 obj <<
+2515 0 obj <<
/Type /Pages
/Count 6
-/Parent 2947 0 R
-/Kids [2513 0 R 2519 0 R 2528 0 R 2534 0 R 2539 0 R 2543 0 R]
+/Parent 2965 0 R
+/Kids [2509 0 R 2517 0 R 2522 0 R 2527 0 R 2536 0 R 2542 0 R]
>> endobj
-2553 0 obj <<
+2550 0 obj <<
/Type /Pages
/Count 6
-/Parent 2947 0 R
-/Kids [2547 0 R 2555 0 R 2565 0 R 2574 0 R 2586 0 R 2592 0 R]
+/Parent 2965 0 R
+/Kids [2547 0 R 2552 0 R 2556 0 R 2561 0 R 2573 0 R 2578 0 R]
>> endobj
-2611 0 obj <<
+2599 0 obj <<
/Type /Pages
/Count 6
-/Parent 2947 0 R
-/Kids [2603 0 R 2613 0 R 2622 0 R 2627 0 R 2633 0 R 2642 0 R]
+/Parent 2965 0 R
+/Kids [2590 0 R 2601 0 R 2611 0 R 2617 0 R 2630 0 R 2634 0 R]
>> endobj
-2650 0 obj <<
+2648 0 obj <<
/Type /Pages
/Count 6
-/Parent 2947 0 R
-/Kids [2646 0 R 2652 0 R 2660 0 R 2671 0 R 2679 0 R 2685 0 R]
+/Parent 2965 0 R
+/Kids [2639 0 R 2650 0 R 2655 0 R 2659 0 R 2665 0 R 2677 0 R]
>> endobj
-2699 0 obj <<
+2691 0 obj <<
/Type /Pages
/Count 6
-/Parent 2947 0 R
-/Kids [2696 0 R 2701 0 R 2705 0 R 2709 0 R 2716 0 R 2725 0 R]
+/Parent 2965 0 R
+/Kids [2686 0 R 2693 0 R 2703 0 R 2709 0 R 2713 0 R 2717 0 R]
>> endobj
-2747 0 obj <<
+2732 0 obj <<
/Type /Pages
/Count 6
-/Parent 2948 0 R
-/Kids [2736 0 R 2749 0 R 2753 0 R 2760 0 R 2769 0 R 2773 0 R]
+/Parent 2966 0 R
+/Kids [2721 0 R 2734 0 R 2743 0 R 2752 0 R 2761 0 R 2765 0 R]
>> endobj
-2793 0 obj <<
+2780 0 obj <<
/Type /Pages
/Count 6
-/Parent 2948 0 R
-/Kids [2780 0 R 2795 0 R 2801 0 R 2806 0 R 2810 0 R 2818 0 R]
+/Parent 2966 0 R
+/Kids [2776 0 R 2782 0 R 2786 0 R 2797 0 R 2809 0 R 2814 0 R]
>> endobj
-2830 0 obj <<
+2822 0 obj <<
/Type /Pages
/Count 6
-/Parent 2948 0 R
-/Kids [2826 0 R 2832 0 R 2836 0 R 2841 0 R 2851 0 R 2856 0 R]
+/Parent 2966 0 R
+/Kids [2819 0 R 2824 0 R 2832 0 R 2840 0 R 2845 0 R 2849 0 R]
>> endobj
-2876 0 obj <<
+2863 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2966 0 R
+/Kids [2853 0 R 2865 0 R 2870 0 R 2881 0 R 2887 0 R 2898 0 R]
+>> endobj
+2923 0 obj <<
/Type /Pages
-/Count 5
-/Parent 2948 0 R
-/Kids [2868 0 R 2878 0 R 2886 0 R 2901 0 R 2913 0 R]
+/Count 3
+/Parent 2966 0 R
+/Kids [2910 0 R 2925 0 R 2938 0 R]
>> endobj
-2943 0 obj <<
+2961 0 obj <<
/Type /Pages
/Count 36
-/Parent 2949 0 R
+/Parent 2967 0 R
/Kids [998 0 R 1296 0 R 1357 0 R 1404 0 R 1465 0 R 1512 0 R]
>> endobj
-2944 0 obj <<
+2962 0 obj <<
/Type /Pages
/Count 36
-/Parent 2949 0 R
+/Parent 2967 0 R
/Kids [1559 0 R 1598 0 R 1637 0 R 1685 0 R 1722 0 R 1752 0 R]
>> endobj
-2945 0 obj <<
+2963 0 obj <<
/Type /Pages
/Count 36
-/Parent 2949 0 R
-/Kids [1787 0 R 1825 0 R 1862 0 R 1897 0 R 1926 0 R 1966 0 R]
+/Parent 2967 0 R
+/Kids [1787 0 R 1825 0 R 1858 0 R 1897 0 R 1925 0 R 1965 0 R]
>> endobj
-2946 0 obj <<
+2964 0 obj <<
/Type /Pages
/Count 36
-/Parent 2949 0 R
-/Kids [1999 0 R 2072 0 R 2125 0 R 2173 0 R 2210 0 R 2258 0 R]
+/Parent 2967 0 R
+/Kids [1995 0 R 2072 0 R 2115 0 R 2163 0 R 2210 0 R 2256 0 R]
>> endobj
-2947 0 obj <<
+2965 0 obj <<
/Type /Pages
/Count 36
-/Parent 2949 0 R
-/Kids [2476 0 R 2517 0 R 2553 0 R 2611 0 R 2650 0 R 2699 0 R]
+/Parent 2967 0 R
+/Kids [2446 0 R 2515 0 R 2550 0 R 2599 0 R 2648 0 R 2691 0 R]
>> endobj
-2948 0 obj <<
+2966 0 obj <<
/Type /Pages
-/Count 23
-/Parent 2949 0 R
-/Kids [2747 0 R 2793 0 R 2830 0 R 2876 0 R]
+/Count 27
+/Parent 2967 0 R
+/Kids [2732 0 R 2780 0 R 2822 0 R 2863 0 R 2923 0 R]
>> endobj
-2949 0 obj <<
+2967 0 obj <<
/Type /Pages
-/Count 203
-/Kids [2943 0 R 2944 0 R 2945 0 R 2946 0 R 2947 0 R 2948 0 R]
+/Count 207
+/Kids [2961 0 R 2962 0 R 2963 0 R 2964 0 R 2965 0 R 2966 0 R]
>> endobj
-2950 0 obj <<
+2968 0 obj <<
/Type /Outlines
/First 7 0 R
/Last 887 0 R
@@ -15877,7 +16032,7 @@ endobj
887 0 obj <<
/Title 888 0 R
/A 885 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 827 0 R
/First 891 0 R
/Last 983 0 R
@@ -15984,7 +16139,7 @@ endobj
827 0 obj <<
/Title 828 0 R
/A 825 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 803 0 R
/Next 887 0 R
/First 831 0 R
@@ -16028,7 +16183,7 @@ endobj
803 0 obj <<
/Title 804 0 R
/A 801 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 795 0 R
/Next 827 0 R
/First 807 0 R
@@ -16043,7 +16198,7 @@ endobj
795 0 obj <<
/Title 796 0 R
/A 793 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 755 0 R
/Next 803 0 R
/First 799 0 R
@@ -16115,7 +16270,7 @@ endobj
755 0 obj <<
/Title 756 0 R
/A 753 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 735 0 R
/Next 795 0 R
/First 759 0 R
@@ -16152,7 +16307,7 @@ endobj
735 0 obj <<
/Title 736 0 R
/A 733 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 711 0 R
/Next 755 0 R
/First 739 0 R
@@ -16196,7 +16351,7 @@ endobj
711 0 obj <<
/Title 712 0 R
/A 709 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 363 0 R
/Next 735 0 R
/First 715 0 R
@@ -16818,7 +16973,7 @@ endobj
363 0 obj <<
/Title 364 0 R
/A 361 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 351 0 R
/Next 711 0 R
/First 367 0 R
@@ -16840,7 +16995,7 @@ endobj
351 0 obj <<
/Title 352 0 R
/A 349 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 131 0 R
/Next 363 0 R
/First 355 0 R
@@ -17237,7 +17392,7 @@ endobj
131 0 obj <<
/Title 132 0 R
/A 129 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 91 0 R
/Next 351 0 R
/First 135 0 R
@@ -17311,7 +17466,7 @@ endobj
91 0 obj <<
/Title 92 0 R
/A 89 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 67 0 R
/Next 131 0 R
/First 95 0 R
@@ -17354,7 +17509,7 @@ endobj
67 0 obj <<
/Title 68 0 R
/A 65 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Prev 7 0 R
/Next 91 0 R
/First 71 0 R
@@ -17463,3000 +17618,3018 @@ endobj
7 0 obj <<
/Title 8 0 R
/A 5 0 R
-/Parent 2950 0 R
+/Parent 2968 0 R
/Next 67 0 R
/First 11 0 R
/Last 23 0 R
/Count -4
>> endobj
-2951 0 obj <<
-/Names [(Access_Control_Lists) 2191 0 R (Bv9ARM.ch01) 1300 0 R (Bv9ARM.ch02) 1344 0 R (Bv9ARM.ch03) 1362 0 R (Bv9ARM.ch04) 1410 0 R (Bv9ARM.ch05) 1603 0 R (Bv9ARM.ch06) 1614 0 R (Bv9ARM.ch07) 2190 0 R (Bv9ARM.ch08) 2215 0 R (Bv9ARM.ch09) 2230 0 R (Bv9ARM.ch10) 2252 0 R (Bv9ARM.ch11) 2263 0 R (Bv9ARM.ch12) 2481 0 R (Bv9ARM.ch13) 2522 0 R (Configuration_File_Grammar) 1642 0 R (DNSSEC) 1480 0 R (Doc-Start) 991 0 R (Setting_TTLs) 2111 0 R (acache) 1351 0 R (access_control) 1801 0 R (acl) 1646 0 R (address_match_lists) 1619 0 R (admin_tools) 1384 0 R (appendix.A) 754 0 R (appendix.B) 794 0 R (appendix.C) 802 0 R (appendix.D) 826 0 R (appendix.E) 886 0 R (bibliography) 2264 0 R (bind9.library) 2482 0 R (boolean_options) 1425 0 R (builtin) 1885 0 R (chapter*.1) 1025 0 R (chapter.1) 6 0 R (chapter.2) 66 0 R (chapter.3) 90 0 R (chapter.4) 130 0 R (chapter.5) 350 0 R (chapter.6) 362 0 R (chapter.7) 710 0 R (chapter.8) 734 0 R (cite.RFC1033) 2391 0 R (cite.RFC1034) 2276 0 R (cite.RFC1035) 2278 0 R (cite.RFC1101) 2373 0 R (cite.RFC1123) 2375 0 R (cite.RFC1183) 2335 0 R (cite.RFC1464) 2413 0 R (cite.RFC1535) 2321 0 R (cite.RFC1536) 2323 0 R (cite.RFC1537) 2393 0 R (cite.RFC1591) 2377 0 R (cite.RFC1706) 2337 0 R (cite.RFC1712) 2433 0 R (cite.RFC1713) 2415 0 R (cite.RFC1794) 2417 0 R (cite.RFC1876) 2339 0 R (cite.RFC1912) 2395 0 R (cite.RFC1982) 2325 0 R (cite.RFC1995) 2283 0 R (cite.RFC1996) 2285 0 R (cite.RFC2010) 2397 0 R (cite.RFC2052) 2341 0 R (cite.RFC2065) 2445 0 R (cite.RFC2136) 2287 0 R (cite.RFC2137) 2447 0 R (cite.RFC2163) 2343 0 R (cite.RFC2168) 2345 0 R (cite.RFC2181) 2289 0 R (cite.RFC2219) 2399 0 R (cite.RFC2230) 2347 0 R (cite.RFC2240) 2419 0 R (cite.RFC2308) 2291 0 R (cite.RFC2317) 2379 0 R (cite.RFC2345) 2421 0 R (cite.RFC2352) 2423 0 R (cite.RFC2535) 2449 0 R (cite.RFC2536) 2349 0 R (cite.RFC2537) 2351 0 R (cite.RFC2538) 2353 0 R (cite.RFC2539) 2355 0 R (cite.RFC2540) 2357 0 R (cite.RFC2671) 2293 0 R (cite.RFC2672) 2295 0 R (cite.RFC2673) 2435 0 R (cite.RFC2782) 2359 0 R (cite.RFC2825) 2403 0 R (cite.RFC2826) 2381 0 R (cite.RFC2845) 2297 0 R (cite.RFC2874) 2437 0 R (cite.RFC2915) 2361 0 R (cite.RFC2929) 2383 0 R (cite.RFC2930) 2299 0 R (cite.RFC2931) 2301 0 R (cite.RFC3007) 2303 0 R (cite.RFC3008) 2451 0 R (cite.RFC3071) 2425 0 R (cite.RFC3090) 2453 0 R (cite.RFC3110) 2363 0 R (cite.RFC3123) 2365 0 R (cite.RFC3225) 2309 0 R (cite.RFC3258) 2427 0 R (cite.RFC3445) 2455 0 R (cite.RFC3490) 2405 0 R (cite.RFC3491) 2407 0 R (cite.RFC3492) 2409 0 R (cite.RFC3596) 2367 0 R (cite.RFC3597) 2369 0 R (cite.RFC3645) 2305 0 R (cite.RFC3655) 2457 0 R (cite.RFC3658) 2459 0 R (cite.RFC3755) 2461 0 R (cite.RFC3757) 2463 0 R (cite.RFC3833) 2311 0 R (cite.RFC3845) 2465 0 R (cite.RFC3901) 2429 0 R (cite.RFC4033) 2313 0 R (cite.RFC4034) 2315 0 R (cite.RFC4035) 2317 0 R (cite.RFC4074) 2331 0 R (cite.RFC974) 2280 0 R (cite.id2513918) 2470 0 R (clients-per-query) 2165 0 R (configuration_file_elements) 1615 0 R (controls_statement_definition_and_usage) 1392 0 R (diagnostic_tools) 1332 0 R (dnssec.dynamic.zones) 1499 0 R (dynamic_update) 1420 0 R (dynamic_update_policies) 1427 0 R (dynamic_update_security) 1810 0 R (empty) 1887 0 R (end_of_life) 2243 0 R (historical_dns_information) 2253 0 R (id2466586) 1301 0 R (id2466611) 1302 0 R (id2466682) 1303 0 R (id2466692) 1304 0 R (id2467437) 1312 0 R (id2467721) 1505 0 R (id2467757) 1506 0 R (id2467888) 1314 0 R (id2467909) 1315 0 R (id2467943) 1316 0 R (id2468027) 1319 0 R (id2468104) 1326 0 R (id2470380) 1329 0 R (id2470410) 1330 0 R (id2470432) 1331 0 R (id2470461) 1337 0 R (id2470497) 1338 0 R (id2470592) 1339 0 R (id2470626) 1345 0 R (id2470721) 1346 0 R (id2470733) 1347 0 R (id2470759) 1350 0 R (id2470770) 1356 0 R (id2470802) 1364 0 R (id2470818) 1365 0 R (id2470840) 1370 0 R (id2470857) 1371 0 R (id2471262) 1379 0 R (id2471268) 1380 0 R (id2472321) 1397 0 R (id2472332) 1398 0 R (id2472912) 1439 0 R (id2472930) 1445 0 R (id2473294) 1460 0 R (id2473448) 1461 0 R (id2473486) 1462 0 R (id2473505) 1463 0 R (id2473515) 1464 0 R (id2473552) 1470 0 R (id2473609) 1471 0 R (id2473726) 1473 0 R (id2473740) 1474 0 R (id2473789) 1479 0 R (id2473926) 1481 0 R (id2474005) 1486 0 R (id2474154) 1487 0 R (id2474510) 1500 0 R (id2475036) 1519 0 R (id2475074) 1520 0 R (id2475223) 1521 0 R (id2475256) 1526 0 R (id2475351) 1527 0 R (id2475361) 1528 0 R (id2475370) 1529 0 R (id2475383) 1530 0 R (id2475420) 1531 0 R (id2475430) 1536 0 R (id2475467) 1538 0 R (id2475490) 1540 0 R (id2475592) 1547 0 R (id2475825) 1552 0 R (id2475962) 1557 0 R (id2476011) 1558 0 R (id2476162) 1564 0 R (id2476170) 1565 0 R (id2476202) 1566 0 R (id2476238) 1567 0 R (id2476286) 1572 0 R (id2476317) 1573 0 R (id2476789) 1578 0 R (id2476835) 1579 0 R (id2476889) 1585 0 R (id2476951) 1587 0 R (id2476972) 1588 0 R (id2477074) 1604 0 R (id2477221) 1616 0 R (id2478254) 1628 0 R (id2478282) 1629 0 R (id2478420) 1634 0 R (id2478435) 1635 0 R (id2478465) 1636 0 R (id2478608) 1643 0 R (id2479080) 1645 0 R (id2479116) 1647 0 R (id2479270) 1653 0 R (id2479629) 1661 0 R (id2479646) 1662 0 R (id2479670) 1663 0 R (id2479693) 1664 0 R (id2479921) 1668 0 R (id2480115) 1673 0 R (id2480167) 1674 0 R (id2480727) 1690 0 R (id2481693) 1696 0 R (id2481755) 1701 0 R (id2482145) 1707 0 R (id2482286) 1708 0 R (id2482419) 1711 0 R (id2482462) 1716 0 R (id2482484) 1717 0 R (id2486177) 1763 0 R (id2488488) 1794 0 R (id2488615) 1800 0 R (id2489357) 1815 0 R (id2490442) 1834 0 R (id2490502) 1840 0 R (id2491061) 1848 0 R (id2491495) 1867 0 R (id2493548) 1906 0 R (id2493742) 1912 0 R (id2494241) 1925 0 R (id2495534) 1943 0 R (id2495773) 1954 0 R (id2495820) 1956 0 R (id2496187) 1965 0 R (id2498101) 1983 0 R (id2498108) 1984 0 R (id2498114) 1985 0 R (id2498853) 1996 0 R (id2498886) 1997 0 R (id2500919) 2066 0 R (id2501582) 2077 0 R (id2501601) 2078 0 R (id2501621) 2081 0 R (id2501858) 2087 0 R (id2503164) 2093 0 R (id2503292) 2099 0 R (id2503314) 2100 0 R (id2503745) 2102 0 R (id2503881) 2104 0 R (id2503899) 2109 0 R (id2504304) 2112 0 R (id2504428) 2114 0 R (id2504443) 2115 0 R (id2504624) 2121 0 R (id2504714) 2122 0 R (id2504730) 2123 0 R (id2504791) 2124 0 R (id2504860) 2130 0 R (id2504897) 2131 0 R (id2504972) 2132 0 R (id2505415) 2143 0 R (id2505850) 2151 0 R (id2505856) 2152 0 R (id2507556) 2159 0 R (id2507562) 2160 0 R (id2508007) 2162 0 R (id2508012) 2163 0 R (id2509029) 2170 0 R (id2509061) 2171 0 R (id2509470) 2181 0 R (id2509698) 2199 0 R (id2509779) 2200 0 R (id2509838) 2201 0 R (id2509918) 2216 0 R (id2509924) 2217 0 R (id2509936) 2218 0 R (id2509953) 2219 0 R (id2510084) 2231 0 R (id2510746) 2272 0 R (id2510748) 2274 0 R (id2510757) 2279 0 R (id2510849) 2275 0 R (id2510872) 2277 0 R (id2510908) 2288 0 R (id2510935) 2290 0 R (id2510961) 2282 0 R (id2510985) 2284 0 R (id2511009) 2286 0 R (id2511064) 2292 0 R (id2511091) 2294 0 R (id2511117) 2296 0 R (id2511179) 2298 0 R (id2511209) 2300 0 R (id2511239) 2302 0 R (id2511266) 2304 0 R (id2511340) 2307 0 R (id2511348) 2308 0 R (id2511374) 2310 0 R (id2511479) 2312 0 R (id2511544) 2314 0 R (id2511609) 2316 0 R (id2511674) 2319 0 R (id2511683) 2320 0 R (id2511708) 2322 0 R (id2511845) 2324 0 R (id2511880) 2330 0 R (id2511921) 2333 0 R (id2511926) 2334 0 R (id2511984) 2336 0 R (id2512021) 2344 0 R (id2512056) 2338 0 R (id2512110) 2340 0 R (id2512149) 2342 0 R (id2512174) 2346 0 R (id2512200) 2348 0 R (id2512227) 2350 0 R (id2512253) 2352 0 R (id2512293) 2354 0 R (id2512323) 2356 0 R (id2512353) 2358 0 R (id2512395) 2360 0 R (id2512428) 2362 0 R (id2512455) 2364 0 R (id2512478) 2366 0 R (id2512536) 2368 0 R (id2512561) 2371 0 R (id2512568) 2372 0 R (id2512594) 2374 0 R (id2512616) 2376 0 R (id2512640) 2378 0 R (id2512685) 2380 0 R (id2512709) 2382 0 R (id2512827) 2389 0 R (id2512835) 2390 0 R (id2512858) 2392 0 R (id2512885) 2394 0 R (id2512912) 2396 0 R (id2512948) 2398 0 R (id2512988) 2401 0 R (id2512994) 2402 0 R (id2513026) 2404 0 R (id2513072) 2406 0 R (id2513107) 2408 0 R (id2513133) 2411 0 R (id2513152) 2412 0 R (id2513174) 2414 0 R (id2513200) 2416 0 R (id2513225) 2418 0 R (id2513249) 2420 0 R (id2513294) 2422 0 R (id2513318) 2424 0 R (id2513345) 2426 0 R (id2513370) 2428 0 R (id2513408) 2431 0 R (id2513414) 2432 0 R (id2513472) 2434 0 R (id2513498) 2436 0 R (id2513534) 2443 0 R (id2513546) 2444 0 R (id2513586) 2446 0 R (id2513612) 2448 0 R (id2513642) 2450 0 R (id2513668) 2452 0 R (id2513694) 2454 0 R (id2513731) 2456 0 R (id2513767) 2458 0 R (id2513794) 2460 0 R (id2513820) 2462 0 R (id2513865) 2464 0 R (id2513907) 2467 0 R (id2513916) 2469 0 R (id2513918) 2471 0 R (id2514014) 2483 0 R (id2514024) 2484 0 R (id2514049) 2489 0 R (id2514148) 2490 0 R (id2514225) 2491 0 R (id2514251) 2493 0 R (id2514260) 2498 0 R (id2514350) 2499 0 R (id2514472) 2504 0 R (id2514536) 2505 0 R (id2514551) 2506 0 R (id2514750) 2511 0 R (id2514814) 2516 0 R (incremental_zone_transfers) 1436 0 R (internet_drafts) 2466 0 R (ipv6addresses) 1589 0 R (journal) 1432 0 R (lwresd) 1605 0 R (man.arpaname) 2890 0 R (man.ddns-confgen) 2874 0 R (man.dig) 2523 0 R (man.dnssec-checkds) 2571 0 R (man.dnssec-coverage) 2582 0 R (man.dnssec-dsfromkey) 2597 0 R (man.dnssec-keyfromlabel) 2616 0 R (man.dnssec-keygen) 1513 0 R (man.dnssec-revoke) 2663 0 R (man.dnssec-settime) 1514 0 R (man.dnssec-signzone) 2690 0 R (man.dnssec-verify) 2719 0 R (man.genrandom) 2896 0 R (man.host) 2560 0 R (man.isc-hmac-fixup) 2907 0 R (man.named) 2763 0 R (man.named-checkconf) 2730 0 R (man.named-checkzone) 2742 0 R (man.named-journalprint) 2785 0 R (man.nsec3hash) 2918 0 R (man.nsupdate) 2791 0 R (man.rndc) 1391 0 R (man.rndc-confgen) 2862 0 R (man.rndc.conf) 2846 0 R (managed-keys) 1541 0 R (notify) 1411 0 R (options) 1735 0 R (page.1) 990 0 R (page.10) 1388 0 R (page.100) 1982 0 R (page.101) 1990 0 R (page.102) 1994 0 R (page.103) 2004 0 R (page.104) 2024 0 R (page.105) 2038 0 R (page.106) 2052 0 R (page.107) 2065 0 R (page.108) 2071 0 R (page.109) 2076 0 R (page.11) 1396 0 R (page.110) 2086 0 R (page.111) 2092 0 R (page.112) 2098 0 R (page.113) 2108 0 R (page.114) 2120 0 R (page.115) 2129 0 R (page.116) 2137 0 R (page.117) 2141 0 R (page.118) 2149 0 R (page.119) 2157 0 R (page.12) 1403 0 R (page.120) 2169 0 R (page.121) 2177 0 R (page.122) 2185 0 R (page.123) 2189 0 R (page.124) 2195 0 R (page.125) 2205 0 R (page.126) 2209 0 R (page.127) 2214 0 R (page.128) 2225 0 R (page.129) 2229 0 R (page.13) 1409 0 R (page.130) 2242 0 R (page.131) 2251 0 R (page.132) 2257 0 R (page.133) 2262 0 R (page.134) 2270 0 R (page.135) 2329 0 R (page.136) 2387 0 R (page.137) 2441 0 R (page.138) 2475 0 R (page.139) 2480 0 R (page.14) 1431 0 R (page.140) 2488 0 R (page.141) 2497 0 R (page.142) 2503 0 R (page.143) 2510 0 R (page.144) 2515 0 R (page.145) 2521 0 R (page.146) 2530 0 R (page.147) 2536 0 R (page.148) 2541 0 R (page.149) 2545 0 R (page.15) 1444 0 R (page.150) 2549 0 R (page.151) 2557 0 R (page.152) 2567 0 R (page.153) 2576 0 R (page.154) 2588 0 R (page.155) 2594 0 R (page.156) 2605 0 R (page.157) 2615 0 R (page.158) 2624 0 R (page.159) 2629 0 R (page.16) 1449 0 R (page.160) 2635 0 R (page.161) 2644 0 R (page.162) 2648 0 R (page.163) 2654 0 R (page.164) 2662 0 R (page.165) 2673 0 R (page.166) 2681 0 R (page.167) 2687 0 R (page.168) 2698 0 R (page.169) 2703 0 R (page.17) 1454 0 R (page.170) 2707 0 R (page.171) 2711 0 R (page.172) 2718 0 R (page.173) 2727 0 R (page.174) 2738 0 R (page.175) 2751 0 R (page.176) 2755 0 R (page.177) 2762 0 R (page.178) 2771 0 R (page.179) 2775 0 R (page.18) 1459 0 R (page.180) 2782 0 R (page.181) 2797 0 R (page.182) 2803 0 R (page.183) 2808 0 R (page.184) 2812 0 R (page.185) 2820 0 R (page.186) 2828 0 R (page.187) 2834 0 R (page.188) 2838 0 R (page.189) 2843 0 R (page.19) 1469 0 R (page.190) 2853 0 R (page.191) 2858 0 R (page.192) 2870 0 R (page.193) 2880 0 R (page.194) 2888 0 R (page.195) 2903 0 R (page.196) 2915 0 R (page.2) 1017 0 R (page.20) 1478 0 R (page.21) 1485 0 R (page.22) 1491 0 R (page.23) 1495 0 R (page.24) 1504 0 R (page.25) 1518 0 R (page.26) 1525 0 R (page.27) 1535 0 R (page.28) 1545 0 R (page.29) 1551 0 R (page.3) 1325 0 R (page.30) 1556 0 R (page.31) 1563 0 R (page.32) 1571 0 R (page.33) 1577 0 R (page.34) 1584 0 R (page.35) 1593 0 R (page.36) 1597 0 R (page.37) 1602 0 R (page.38) 1609 0 R (page.39) 1613 0 R (page.4) 1336 0 R (page.40) 1623 0 R (page.41) 1627 0 R (page.42) 1633 0 R (page.43) 1641 0 R (page.44) 1652 0 R (page.45) 1660 0 R (page.46) 1672 0 R (page.47) 1678 0 R (page.48) 1682 0 R (page.49) 1689 0 R (page.5) 1343 0 R (page.50) 1695 0 R (page.51) 1700 0 R (page.52) 1706 0 R (page.53) 1715 0 R (page.54) 1721 0 R (page.55) 1726 0 R (page.56) 1730 0 R (page.57) 1734 0 R (page.58) 1739 0 R (page.59) 1743 0 R (page.6) 1355 0 R (page.60) 1750 0 R (page.61) 1756 0 R (page.62) 1762 0 R (page.63) 1768 0 R (page.64) 1773 0 R (page.65) 1782 0 R (page.66) 1786 0 R (page.67) 1791 0 R (page.68) 1798 0 R (page.69) 1807 0 R (page.7) 1361 0 R (page.70) 1814 0 R (page.71) 1819 0 R (page.72) 1824 0 R (page.73) 1829 0 R (page.74) 1833 0 R (page.75) 1839 0 R (page.76) 1847 0 R (page.77) 1852 0 R (page.78) 1860 0 R (page.79) 1866 0 R (page.8) 1369 0 R (page.80) 1873 0 R (page.81) 1878 0 R (page.82) 1884 0 R (page.83) 1892 0 R (page.84) 1896 0 R (page.85) 1901 0 R (page.86) 1905 0 R (page.87) 1910 0 R (page.88) 1916 0 R (page.89) 1920 0 R (page.9) 1378 0 R (page.90) 1924 0 R (page.91) 1930 0 R (page.92) 1935 0 R (page.93) 1939 0 R (page.94) 1947 0 R (page.95) 1960 0 R (page.96) 1964 0 R (page.97) 1970 0 R (page.98) 1974 0 R (page.99) 1978 0 R (page.i) 1024 0 R (page.ii) 1079 0 R (page.iii) 1143 0 R (page.iv) 1206 0 R (page.v) 1267 0 R (pkcs11) 1546 0 R (proposed_standards) 1440 0 R (query_address) 1820 0 R (relnotes_bugs) 2238 0 R (relnotes_changes) 2237 0 R (relnotes_download) 2233 0 R (relnotes_features) 2236 0 R (relnotes_intro) 2232 0 R (relnotes_security) 2235 0 R (relnotes_thanks) 2246 0 R (rfc5011.support) 1537 0 R (rfcs) 1321 0 R (rndc) 1656 0 R (root_delegation_only) 2000 0 R (rrset_ordering) 1374 0 R (sample_configuration) 1363 0 R (section*.10) 2400 0 R (section*.100) 2734 0 R (section*.101) 2739 0 R (section*.102) 2740 0 R (section*.103) 2741 0 R (section*.104) 2743 0 R (section*.105) 2744 0 R (section*.106) 2745 0 R (section*.107) 2746 0 R (section*.108) 2756 0 R (section*.109) 2757 0 R (section*.11) 2410 0 R (section*.110) 2758 0 R (section*.111) 2764 0 R (section*.112) 2765 0 R (section*.113) 2766 0 R (section*.114) 2767 0 R (section*.115) 2776 0 R (section*.116) 2777 0 R (section*.117) 2778 0 R (section*.118) 2783 0 R (section*.119) 2784 0 R (section*.12) 2430 0 R (section*.120) 2786 0 R (section*.121) 2787 0 R (section*.122) 2788 0 R (section*.123) 2789 0 R (section*.124) 2790 0 R (section*.125) 2792 0 R (section*.126) 2798 0 R (section*.127) 2799 0 R (section*.128) 2804 0 R (section*.129) 2813 0 R (section*.13) 2442 0 R (section*.130) 2814 0 R (section*.131) 2815 0 R (section*.132) 2816 0 R (section*.133) 2821 0 R (section*.134) 2822 0 R (section*.135) 2823 0 R (section*.136) 2824 0 R (section*.137) 2829 0 R (section*.138) 2839 0 R (section*.139) 2844 0 R (section*.14) 2468 0 R (section*.140) 2845 0 R (section*.141) 2847 0 R (section*.142) 2848 0 R (section*.143) 2849 0 R (section*.144) 2854 0 R (section*.145) 2859 0 R (section*.146) 2860 0 R (section*.147) 2861 0 R (section*.148) 2863 0 R (section*.149) 2864 0 R (section*.15) 2524 0 R (section*.150) 2865 0 R (section*.151) 2866 0 R (section*.152) 2871 0 R (section*.153) 2872 0 R (section*.154) 2873 0 R (section*.155) 2875 0 R (section*.156) 2881 0 R (section*.157) 2882 0 R (section*.158) 2883 0 R (section*.159) 2884 0 R (section*.16) 2525 0 R (section*.160) 2889 0 R (section*.161) 2891 0 R (section*.162) 2892 0 R (section*.163) 2893 0 R (section*.164) 2894 0 R (section*.165) 2895 0 R (section*.166) 2897 0 R (section*.167) 2898 0 R (section*.168) 2899 0 R (section*.169) 2904 0 R (section*.17) 2526 0 R (section*.170) 2905 0 R (section*.171) 2906 0 R (section*.172) 2908 0 R (section*.173) 2909 0 R (section*.174) 2910 0 R (section*.175) 2911 0 R (section*.176) 2916 0 R (section*.177) 2917 0 R (section*.178) 2919 0 R (section*.179) 2920 0 R (section*.18) 2531 0 R (section*.180) 2921 0 R (section*.181) 2922 0 R (section*.182) 2923 0 R (section*.183) 2924 0 R (section*.19) 2532 0 R (section*.2) 2271 0 R (section*.20) 2537 0 R (section*.21) 2550 0 R (section*.22) 2551 0 R (section*.23) 2552 0 R (section*.24) 2558 0 R (section*.25) 2559 0 R (section*.26) 2561 0 R (section*.27) 2562 0 R (section*.28) 2563 0 R (section*.29) 2568 0 R (section*.3) 2273 0 R (section*.30) 2569 0 R (section*.31) 2570 0 R (section*.32) 2572 0 R (section*.33) 2577 0 R (section*.34) 2578 0 R (section*.35) 2579 0 R (section*.36) 2580 0 R (section*.37) 2581 0 R (section*.38) 2583 0 R (section*.39) 2584 0 R (section*.4) 2281 0 R (section*.40) 2589 0 R (section*.41) 2590 0 R (section*.42) 2595 0 R (section*.43) 2596 0 R (section*.44) 2598 0 R (section*.45) 2599 0 R (section*.46) 2600 0 R (section*.47) 2601 0 R (section*.48) 2606 0 R (section*.49) 2607 0 R (section*.5) 2306 0 R (section*.50) 2608 0 R (section*.51) 2609 0 R (section*.52) 2610 0 R (section*.53) 2617 0 R (section*.54) 2618 0 R (section*.55) 2619 0 R (section*.56) 2620 0 R (section*.57) 2625 0 R (section*.58) 2630 0 R (section*.59) 2631 0 R (section*.6) 2318 0 R (section*.60) 2636 0 R (section*.61) 2637 0 R (section*.62) 2638 0 R (section*.63) 2639 0 R (section*.64) 2640 0 R (section*.65) 2649 0 R (section*.66) 2655 0 R (section*.67) 2656 0 R (section*.68) 2657 0 R (section*.69) 2658 0 R (section*.7) 2332 0 R (section*.70) 2664 0 R (section*.71) 2665 0 R (section*.72) 2666 0 R (section*.73) 2667 0 R (section*.74) 2668 0 R (section*.75) 2669 0 R (section*.76) 2674 0 R (section*.77) 2675 0 R (section*.78) 2676 0 R (section*.79) 2677 0 R (section*.8) 2370 0 R (section*.80) 2682 0 R (section*.81) 2683 0 R (section*.82) 2688 0 R (section*.83) 2689 0 R (section*.84) 2691 0 R (section*.85) 2692 0 R (section*.86) 2693 0 R (section*.87) 2694 0 R (section*.88) 2712 0 R (section*.89) 2713 0 R (section*.9) 2388 0 R (section*.90) 2714 0 R (section*.91) 2720 0 R (section*.92) 2721 0 R (section*.93) 2722 0 R (section*.94) 2723 0 R (section*.95) 2728 0 R (section*.96) 2729 0 R (section*.97) 2731 0 R (section*.98) 2732 0 R (section*.99) 2733 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.10) 274 0 R (section.4.11) 286 0 R (section.4.12) 338 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) 354 0 R (section.5.2) 358 0 R (section.6.1) 366 0 R (section.6.2) 394 0 R (section.6.3) 622 0 R (section.6.4) 678 0 R (section.7.1) 714 0 R (section.7.2) 718 0 R (section.7.3) 730 0 R (section.8.1) 738 0 R (section.8.2) 746 0 R (section.8.3) 750 0 R (section.A.1) 758 0 R (section.B.1) 798 0 R (section.C.1) 806 0 R (section.C.2) 810 0 R (section.D.1) 830 0 R (section.E.1) 890 0 R (section.E.10) 926 0 R (section.E.11) 930 0 R (section.E.12) 934 0 R (section.E.13) 938 0 R (section.E.14) 942 0 R (section.E.15) 946 0 R (section.E.16) 950 0 R (section.E.17) 954 0 R (section.E.18) 958 0 R (section.E.19) 962 0 R (section.E.2) 894 0 R (section.E.20) 966 0 R (section.E.21) 970 0 R (section.E.22) 974 0 R (section.E.23) 978 0 R (section.E.24) 982 0 R (section.E.3) 898 0 R (section.E.4) 902 0 R (section.E.5) 906 0 R (section.E.6) 910 0 R (section.E.7) 914 0 R (section.E.8) 918 0 R (section.E.9) 922 0 R (server_resource_limits) 1842 0 R (server_statement_definition_and_usage) 1778 0 R (server_statement_grammar) 1931 0 R (statistics) 2142 0 R (statistics_counters) 2150 0 R (statschannels) 1942 0 R (statsfile) 1746 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.10.1) 278 0 R (subsection.4.10.2) 282 0 R (subsection.4.11.1) 290 0 R (subsection.4.11.2) 306 0 R (subsection.4.11.3) 322 0 R (subsection.4.11.4) 326 0 R (subsection.4.11.5) 330 0 R (subsection.4.11.6) 334 0 R (subsection.4.12.1) 342 0 R (subsection.4.12.2) 346 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.10) 258 0 R (subsection.4.9.11) 262 0 R (subsection.4.9.12) 266 0 R (subsection.4.9.13) 270 0 R (subsection.4.9.2) 226 0 R (subsection.4.9.3) 230 0 R (subsection.4.9.4) 234 0 R (subsection.4.9.5) 238 0 R (subsection.4.9.6) 242 0 R (subsection.4.9.7) 246 0 R (subsection.4.9.8) 250 0 R (subsection.4.9.9) 254 0 R (subsection.6.1.1) 370 0 R (subsection.6.1.2) 382 0 R (subsection.6.2.1) 398 0 R (subsection.6.2.10) 434 0 R (subsection.6.2.11) 450 0 R (subsection.6.2.12) 454 0 R (subsection.6.2.13) 458 0 R (subsection.6.2.14) 462 0 R (subsection.6.2.15) 466 0 R (subsection.6.2.16) 470 0 R (subsection.6.2.17) 558 0 R (subsection.6.2.18) 562 0 R (subsection.6.2.19) 566 0 R (subsection.6.2.2) 402 0 R (subsection.6.2.20) 570 0 R (subsection.6.2.21) 574 0 R (subsection.6.2.22) 578 0 R (subsection.6.2.23) 582 0 R (subsection.6.2.24) 586 0 R (subsection.6.2.25) 590 0 R (subsection.6.2.26) 594 0 R (subsection.6.2.27) 598 0 R (subsection.6.2.28) 602 0 R (subsection.6.2.3) 406 0 R (subsection.6.2.4) 410 0 R (subsection.6.2.5) 414 0 R (subsection.6.2.6) 418 0 R (subsection.6.2.7) 422 0 R (subsection.6.2.8) 426 0 R (subsection.6.2.9) 430 0 R (subsection.6.3.1) 626 0 R (subsection.6.3.2) 638 0 R (subsection.6.3.3) 642 0 R (subsection.6.3.4) 646 0 R (subsection.6.3.5) 650 0 R (subsection.6.3.6) 670 0 R (subsection.6.3.7) 674 0 R (subsection.6.4.1) 686 0 R (subsection.7.2.1) 722 0 R (subsection.7.2.2) 726 0 R (subsection.8.1.1) 742 0 R (subsection.A.1.1) 762 0 R (subsection.A.1.2) 766 0 R (subsection.A.1.3) 770 0 R (subsection.A.1.4) 774 0 R (subsection.A.1.5) 778 0 R (subsection.A.1.6) 782 0 R (subsection.A.1.7) 786 0 R (subsection.A.1.8) 790 0 R (subsection.C.2.1) 814 0 R (subsection.C.2.2) 818 0 R (subsection.C.2.3) 822 0 R (subsection.D.1.1) 834 0 R (subsection.D.1.2) 838 0 R (subsection.D.1.3) 842 0 R (subsection.D.1.4) 846 0 R (subsection.D.1.5) 850 0 R (subsection.D.1.6) 854 0 R (subsection.D.1.7) 882 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.11.1.1) 294 0 R (subsubsection.4.11.1.2) 298 0 R (subsubsection.4.11.1.3) 302 0 R (subsubsection.4.11.2.1) 310 0 R (subsubsection.4.11.2.2) 314 0 R (subsubsection.4.11.2.3) 318 0 R (subsubsection.4.5.1.1) 166 0 R (subsubsection.4.5.1.2) 170 0 R (subsubsection.6.1.1.1) 374 0 R (subsubsection.6.1.1.2) 378 0 R (subsubsection.6.1.2.1) 386 0 R (subsubsection.6.1.2.2) 390 0 R (subsubsection.6.2.10.1) 438 0 R (subsubsection.6.2.10.2) 442 0 R (subsubsection.6.2.10.3) 446 0 R (subsubsection.6.2.16.1) 474 0 R (subsubsection.6.2.16.10) 510 0 R (subsubsection.6.2.16.11) 514 0 R (subsubsection.6.2.16.12) 518 0 R (subsubsection.6.2.16.13) 522 0 R (subsubsection.6.2.16.14) 526 0 R (subsubsection.6.2.16.15) 530 0 R (subsubsection.6.2.16.16) 534 0 R (subsubsection.6.2.16.17) 538 0 R (subsubsection.6.2.16.18) 542 0 R (subsubsection.6.2.16.19) 546 0 R (subsubsection.6.2.16.2) 478 0 R (subsubsection.6.2.16.20) 550 0 R (subsubsection.6.2.16.21) 554 0 R (subsubsection.6.2.16.3) 482 0 R (subsubsection.6.2.16.4) 486 0 R (subsubsection.6.2.16.5) 490 0 R (subsubsection.6.2.16.6) 494 0 R (subsubsection.6.2.16.7) 498 0 R (subsubsection.6.2.16.8) 502 0 R (subsubsection.6.2.16.9) 506 0 R (subsubsection.6.2.28.1) 606 0 R (subsubsection.6.2.28.2) 610 0 R (subsubsection.6.2.28.3) 614 0 R (subsubsection.6.2.28.4) 618 0 R (subsubsection.6.3.1.1) 630 0 R (subsubsection.6.3.1.2) 634 0 R (subsubsection.6.3.5.1) 654 0 R (subsubsection.6.3.5.2) 658 0 R (subsubsection.6.3.5.3) 662 0 R (subsubsection.6.3.5.4) 666 0 R (subsubsection.6.4.0.1) 682 0 R (subsubsection.6.4.1.1) 690 0 R (subsubsection.6.4.1.2) 694 0 R (subsubsection.6.4.1.3) 698 0 R (subsubsection.6.4.1.4) 702 0 R (subsubsection.6.4.1.5) 706 0 R (subsubsection.D.1.6.1) 858 0 R (subsubsection.D.1.6.2) 862 0 R (subsubsection.D.1.6.3) 866 0 R (subsubsection.D.1.6.4) 870 0 R (subsubsection.D.1.6.5) 874 0 R (subsubsection.D.1.6.6) 878 0 R (table.1.1) 1305 0 R (table.1.2) 1313 0 R (table.3.1) 1372 0 R (table.3.2) 1399 0 R (table.6.1) 1617 0 R (table.6.10) 2082 0 R (table.6.11) 2088 0 R (table.6.12) 2094 0 R (table.6.13) 2101 0 R (table.6.14) 2103 0 R (table.6.15) 2110 0 R (table.6.16) 2113 0 R (table.6.17) 2116 0 R (table.6.18) 2133 0 R (table.6.19) 2144 0 R (table.6.2) 1644 0 R (table.6.20) 2153 0 R (table.6.21) 2161 0 R (table.6.22) 2164 0 R (table.6.23) 2172 0 R (table.6.3) 1648 0 R (table.6.4) 1691 0 R (table.6.5) 1702 0 R (table.6.6) 1764 0 R (table.6.7) 1868 0 R (table.6.8) 1986 0 R (table.6.9) 2067 0 R (the_category_phrase) 1684 0 R (the_sortlist_statement) 1854 0 R (topology) 1853 0 R (trusted-keys) 1953 0 R (tsig) 1455 0 R (tuning) 1869 0 R (types_of_resource_records_and_when_to_use_them) 1320 0 R (view_statement_grammar) 1888 0 R (zone_statement_grammar) 1803 0 R (zone_transfers) 1426 0 R (zonefile_format) 1880 0 R]
+2969 0 obj <<
+/Names [(Access_Control_Lists) 2199 0 R (Bv9ARM.ch01) 1300 0 R (Bv9ARM.ch02) 1344 0 R (Bv9ARM.ch03) 1362 0 R (Bv9ARM.ch04) 1410 0 R (Bv9ARM.ch05) 1603 0 R (Bv9ARM.ch06) 1614 0 R (Bv9ARM.ch07) 2198 0 R (Bv9ARM.ch08) 2223 0 R (Bv9ARM.ch09) 2238 0 R (Bv9ARM.ch10) 2261 0 R (Bv9ARM.ch11) 2271 0 R (Bv9ARM.ch12) 2489 0 R (Bv9ARM.ch13) 2530 0 R (Configuration_File_Grammar) 1642 0 R (DNSSEC) 1480 0 R (Doc-Start) 991 0 R (Setting_TTLs) 2120 0 R (acache) 1351 0 R (access_control) 1801 0 R (acl) 1646 0 R (address_match_lists) 1619 0 R (admin_tools) 1384 0 R (appendix.A) 754 0 R (appendix.B) 794 0 R (appendix.C) 802 0 R (appendix.D) 826 0 R (appendix.E) 886 0 R (bibliography) 2272 0 R (bind9.library) 2490 0 R (boolean_options) 1425 0 R (builtin) 1889 0 R (chapter*.1) 1025 0 R (chapter.1) 6 0 R (chapter.2) 66 0 R (chapter.3) 90 0 R (chapter.4) 130 0 R (chapter.5) 350 0 R (chapter.6) 362 0 R (chapter.7) 710 0 R (chapter.8) 734 0 R (cite.RFC1033) 2399 0 R (cite.RFC1034) 2284 0 R (cite.RFC1035) 2286 0 R (cite.RFC1101) 2381 0 R (cite.RFC1123) 2383 0 R (cite.RFC1183) 2343 0 R (cite.RFC1464) 2421 0 R (cite.RFC1535) 2329 0 R (cite.RFC1536) 2331 0 R (cite.RFC1537) 2401 0 R (cite.RFC1591) 2385 0 R (cite.RFC1706) 2345 0 R (cite.RFC1712) 2441 0 R (cite.RFC1713) 2423 0 R (cite.RFC1794) 2425 0 R (cite.RFC1876) 2347 0 R (cite.RFC1912) 2403 0 R (cite.RFC1982) 2333 0 R (cite.RFC1995) 2291 0 R (cite.RFC1996) 2293 0 R (cite.RFC2010) 2405 0 R (cite.RFC2052) 2349 0 R (cite.RFC2065) 2454 0 R (cite.RFC2136) 2295 0 R (cite.RFC2137) 2456 0 R (cite.RFC2163) 2351 0 R (cite.RFC2168) 2353 0 R (cite.RFC2181) 2297 0 R (cite.RFC2219) 2407 0 R (cite.RFC2230) 2355 0 R (cite.RFC2240) 2427 0 R (cite.RFC2308) 2299 0 R (cite.RFC2317) 2387 0 R (cite.RFC2345) 2429 0 R (cite.RFC2352) 2431 0 R (cite.RFC2535) 2458 0 R (cite.RFC2536) 2357 0 R (cite.RFC2537) 2359 0 R (cite.RFC2538) 2361 0 R (cite.RFC2539) 2363 0 R (cite.RFC2540) 2365 0 R (cite.RFC2671) 2301 0 R (cite.RFC2672) 2303 0 R (cite.RFC2673) 2443 0 R (cite.RFC2782) 2367 0 R (cite.RFC2825) 2411 0 R (cite.RFC2826) 2389 0 R (cite.RFC2845) 2305 0 R (cite.RFC2874) 2445 0 R (cite.RFC2915) 2369 0 R (cite.RFC2929) 2391 0 R (cite.RFC2930) 2307 0 R (cite.RFC2931) 2309 0 R (cite.RFC3007) 2311 0 R (cite.RFC3008) 2460 0 R (cite.RFC3071) 2433 0 R (cite.RFC3090) 2462 0 R (cite.RFC3110) 2371 0 R (cite.RFC3123) 2373 0 R (cite.RFC3225) 2317 0 R (cite.RFC3258) 2435 0 R (cite.RFC3445) 2464 0 R (cite.RFC3490) 2413 0 R (cite.RFC3491) 2415 0 R (cite.RFC3492) 2417 0 R (cite.RFC3596) 2375 0 R (cite.RFC3597) 2377 0 R (cite.RFC3645) 2313 0 R (cite.RFC3655) 2466 0 R (cite.RFC3658) 2468 0 R (cite.RFC3755) 2470 0 R (cite.RFC3757) 2472 0 R (cite.RFC3833) 2319 0 R (cite.RFC3845) 2474 0 R (cite.RFC3901) 2437 0 R (cite.RFC4033) 2321 0 R (cite.RFC4034) 2323 0 R (cite.RFC4035) 2325 0 R (cite.RFC4074) 2339 0 R (cite.RFC974) 2288 0 R (cite.id2515289) 2479 0 R (clients-per-query) 2164 0 R (configuration_file_elements) 1615 0 R (controls_statement_definition_and_usage) 1392 0 R (diagnostic_tools) 1332 0 R (dnssec.dynamic.zones) 1499 0 R (dynamic_update) 1420 0 R (dynamic_update_policies) 1427 0 R (dynamic_update_security) 1810 0 R (empty) 1891 0 R (end_of_life) 2251 0 R (historical_dns_information) 2262 0 R (id2466586) 1301 0 R (id2466611) 1302 0 R (id2466682) 1303 0 R (id2466692) 1304 0 R (id2467437) 1312 0 R (id2467721) 1505 0 R (id2467757) 1506 0 R (id2467888) 1314 0 R (id2467909) 1315 0 R (id2467943) 1316 0 R (id2468027) 1319 0 R (id2468104) 1326 0 R (id2470380) 1329 0 R (id2470410) 1330 0 R (id2470432) 1331 0 R (id2470461) 1337 0 R (id2470497) 1338 0 R (id2470592) 1339 0 R (id2470626) 1345 0 R (id2470721) 1346 0 R (id2470733) 1347 0 R (id2470759) 1350 0 R (id2470770) 1356 0 R (id2470802) 1364 0 R (id2470818) 1365 0 R (id2470840) 1370 0 R (id2470857) 1371 0 R (id2471262) 1379 0 R (id2471268) 1380 0 R (id2472321) 1397 0 R (id2472332) 1398 0 R (id2472912) 1439 0 R (id2472930) 1445 0 R (id2473294) 1460 0 R (id2473448) 1461 0 R (id2473486) 1462 0 R (id2473505) 1463 0 R (id2473515) 1464 0 R (id2473552) 1470 0 R (id2473609) 1471 0 R (id2473726) 1473 0 R (id2473740) 1474 0 R (id2473789) 1479 0 R (id2473926) 1481 0 R (id2474005) 1486 0 R (id2474154) 1487 0 R (id2474442) 1500 0 R (id2474968) 1519 0 R (id2475005) 1520 0 R (id2475223) 1521 0 R (id2475256) 1526 0 R (id2475351) 1527 0 R (id2475361) 1528 0 R (id2475370) 1529 0 R (id2475383) 1530 0 R (id2475420) 1531 0 R (id2475430) 1536 0 R (id2475467) 1538 0 R (id2475558) 1540 0 R (id2475660) 1547 0 R (id2475825) 1552 0 R (id2475962) 1557 0 R (id2476011) 1558 0 R (id2476162) 1564 0 R (id2476170) 1565 0 R (id2476202) 1566 0 R (id2476238) 1567 0 R (id2476286) 1572 0 R (id2476317) 1573 0 R (id2476721) 1578 0 R (id2476766) 1579 0 R (id2476889) 1585 0 R (id2476951) 1587 0 R (id2476972) 1588 0 R (id2477074) 1604 0 R (id2477221) 1616 0 R (id2478254) 1628 0 R (id2478282) 1629 0 R (id2478488) 1634 0 R (id2478503) 1635 0 R (id2478533) 1636 0 R (id2478676) 1643 0 R (id2479148) 1645 0 R (id2479185) 1647 0 R (id2479338) 1653 0 R (id2479698) 1661 0 R (id2479715) 1662 0 R (id2479738) 1663 0 R (id2479762) 1664 0 R (id2479921) 1668 0 R (id2480115) 1673 0 R (id2480167) 1674 0 R (id2480795) 1690 0 R (id2481693) 1696 0 R (id2481755) 1701 0 R (id2482145) 1707 0 R (id2482286) 1708 0 R (id2482419) 1711 0 R (id2482462) 1716 0 R (id2482484) 1717 0 R (id2486205) 1763 0 R (id2488594) 1798 0 R (id2488652) 1800 0 R (id2489258) 1815 0 R (id2490480) 1838 0 R (id2490539) 1840 0 R (id2491459) 1856 0 R (id2492029) 1871 0 R (id2493900) 1910 0 R (id2494094) 1916 0 R (id2494661) 1930 0 R (id2495877) 1947 0 R (id2496116) 1958 0 R (id2496163) 1960 0 R (id2496666) 1970 0 R (id2498375) 1987 0 R (id2498382) 1988 0 R (id2498388) 1989 0 R (id2499127) 2001 0 R (id2499160) 2002 0 R (id2501330) 2070 0 R (id2502130) 2081 0 R (id2502148) 2082 0 R (id2502168) 2085 0 R (id2502405) 2091 0 R (id2504262) 2101 0 R (id2504390) 2103 0 R (id2504411) 2108 0 R (id2504910) 2110 0 R (id2505047) 2112 0 R (id2505065) 2113 0 R (id2505538) 2121 0 R (id2505662) 2123 0 R (id2505677) 2124 0 R (id2505789) 2126 0 R (id2505812) 2131 0 R (id2505828) 2132 0 R (id2505889) 2133 0 R (id2505958) 2134 0 R (id2505994) 2135 0 R (id2506138) 2140 0 R (id2506581) 2147 0 R (id2507153) 2155 0 R (id2507158) 2156 0 R (id2508722) 2169 0 R (id2508728) 2170 0 R (id2509105) 2172 0 R (id2509110) 2173 0 R (id2510126) 2179 0 R (id2510158) 2180 0 R (id2510568) 2185 0 R (id2510727) 2207 0 R (id2510945) 2208 0 R (id2511004) 2209 0 R (id2511084) 2224 0 R (id2511090) 2225 0 R (id2511101) 2226 0 R (id2511118) 2227 0 R (id2511318) 2239 0 R (id2512117) 2280 0 R (id2512119) 2282 0 R (id2512128) 2287 0 R (id2512219) 2283 0 R (id2512243) 2285 0 R (id2512279) 2296 0 R (id2512306) 2298 0 R (id2512331) 2290 0 R (id2512356) 2292 0 R (id2512379) 2294 0 R (id2512435) 2300 0 R (id2512461) 2302 0 R (id2512488) 2304 0 R (id2512550) 2306 0 R (id2512580) 2308 0 R (id2512610) 2310 0 R (id2512636) 2312 0 R (id2512711) 2315 0 R (id2512718) 2316 0 R (id2512745) 2318 0 R (id2512781) 2320 0 R (id2512846) 2322 0 R (id2512912) 2324 0 R (id2512977) 2327 0 R (id2512985) 2328 0 R (id2513011) 2330 0 R (id2513079) 2332 0 R (id2513114) 2338 0 R (id2513155) 2341 0 R (id2513160) 2342 0 R (id2513218) 2344 0 R (id2513255) 2352 0 R (id2513290) 2346 0 R (id2513345) 2348 0 R (id2513383) 2350 0 R (id2513409) 2354 0 R (id2513434) 2356 0 R (id2513461) 2358 0 R (id2513488) 2360 0 R (id2513527) 2362 0 R (id2513557) 2364 0 R (id2513587) 2366 0 R (id2513629) 2368 0 R (id2513662) 2370 0 R (id2513689) 2372 0 R (id2513713) 2374 0 R (id2513770) 2376 0 R (id2513795) 2379 0 R (id2513802) 2380 0 R (id2513828) 2382 0 R (id2513850) 2384 0 R (id2513942) 2386 0 R (id2513988) 2388 0 R (id2514011) 2390 0 R (id2514061) 2397 0 R (id2514069) 2398 0 R (id2514092) 2400 0 R (id2514119) 2402 0 R (id2514146) 2404 0 R (id2514182) 2406 0 R (id2514222) 2409 0 R (id2514228) 2410 0 R (id2514260) 2412 0 R (id2514306) 2414 0 R (id2514341) 2416 0 R (id2514368) 2419 0 R (id2514386) 2420 0 R (id2514408) 2422 0 R (id2514434) 2424 0 R (id2514459) 2426 0 R (id2514483) 2428 0 R (id2514529) 2430 0 R (id2514552) 2432 0 R (id2514579) 2434 0 R (id2514604) 2436 0 R (id2514642) 2439 0 R (id2514648) 2440 0 R (id2514706) 2442 0 R (id2514732) 2444 0 R (id2514769) 2452 0 R (id2514780) 2453 0 R (id2514888) 2455 0 R (id2514915) 2457 0 R (id2514945) 2459 0 R (id2514970) 2461 0 R (id2514997) 2463 0 R (id2515033) 2465 0 R (id2515069) 2467 0 R (id2515096) 2469 0 R (id2515123) 2471 0 R (id2515168) 2473 0 R (id2515209) 2476 0 R (id2515287) 2478 0 R (id2515289) 2480 0 R (id2515385) 2491 0 R (id2515395) 2492 0 R (id2515419) 2497 0 R (id2515450) 2498 0 R (id2515595) 2499 0 R (id2515622) 2501 0 R (id2515630) 2506 0 R (id2515721) 2507 0 R (id2515843) 2512 0 R (id2515907) 2513 0 R (id2515922) 2514 0 R (id2516189) 2520 0 R (id2516253) 2525 0 R (incremental_zone_transfers) 1436 0 R (internet_drafts) 2475 0 R (ipv6addresses) 1589 0 R (journal) 1432 0 R (lwresd) 1605 0 R (man.arpaname) 2903 0 R (man.ddns-confgen) 2892 0 R (man.dig) 2531 0 R (man.dnssec-checkds) 2583 0 R (man.dnssec-coverage) 2594 0 R (man.dnssec-dsfromkey) 2606 0 R (man.dnssec-keyfromlabel) 2624 0 R (man.dnssec-keygen) 1513 0 R (man.dnssec-revoke) 2671 0 R (man.dnssec-settime) 1514 0 R (man.dnssec-signzone) 2699 0 R (man.dnssec-verify) 2727 0 R (man.genrandom) 2913 0 R (man.host) 2568 0 R (man.isc-hmac-fixup) 2920 0 R (man.named) 2771 0 R (man.named-checkconf) 2739 0 R (man.named-checkzone) 2755 0 R (man.named-journalprint) 2794 0 R (man.nsec3hash) 2932 0 R (man.nsupdate) 2804 0 R (man.rndc) 1391 0 R (man.rndc-confgen) 2876 0 R (man.rndc.conf) 2859 0 R (managed-keys) 1541 0 R (notify) 1411 0 R (options) 1735 0 R (page.1) 990 0 R (page.10) 1388 0 R (page.100) 1982 0 R (page.101) 1986 0 R (page.102) 1994 0 R (page.103) 1999 0 R (page.104) 2008 0 R (page.105) 2028 0 R (page.106) 2042 0 R (page.107) 2056 0 R (page.108) 2069 0 R (page.109) 2076 0 R (page.11) 1396 0 R (page.110) 2080 0 R (page.111) 2090 0 R (page.112) 2096 0 R (page.113) 2100 0 R (page.114) 2107 0 R (page.115) 2119 0 R (page.116) 2130 0 R (page.117) 2139 0 R (page.118) 2145 0 R (page.119) 2152 0 R (page.12) 1403 0 R (page.120) 2161 0 R (page.121) 2168 0 R (page.122) 2178 0 R (page.123) 2189 0 R (page.124) 2193 0 R (page.125) 2197 0 R (page.126) 2203 0 R (page.127) 2214 0 R (page.128) 2218 0 R (page.129) 2222 0 R (page.13) 1409 0 R (page.130) 2233 0 R (page.131) 2237 0 R (page.132) 2248 0 R (page.133) 2260 0 R (page.134) 2266 0 R (page.135) 2270 0 R (page.136) 2278 0 R (page.137) 2337 0 R (page.138) 2395 0 R (page.139) 2450 0 R (page.14) 1431 0 R (page.140) 2484 0 R (page.141) 2488 0 R (page.142) 2496 0 R (page.143) 2505 0 R (page.144) 2511 0 R (page.145) 2519 0 R (page.146) 2524 0 R (page.147) 2529 0 R (page.148) 2538 0 R (page.149) 2544 0 R (page.15) 1444 0 R (page.150) 2549 0 R (page.151) 2554 0 R (page.152) 2558 0 R (page.153) 2563 0 R (page.154) 2575 0 R (page.155) 2580 0 R (page.156) 2592 0 R (page.157) 2603 0 R (page.158) 2613 0 R (page.159) 2619 0 R (page.16) 1449 0 R (page.160) 2632 0 R (page.161) 2636 0 R (page.162) 2641 0 R (page.163) 2652 0 R (page.164) 2657 0 R (page.165) 2661 0 R (page.166) 2667 0 R (page.167) 2679 0 R (page.168) 2688 0 R (page.169) 2695 0 R (page.17) 1454 0 R (page.170) 2705 0 R (page.171) 2711 0 R (page.172) 2715 0 R (page.173) 2719 0 R (page.174) 2723 0 R (page.175) 2736 0 R (page.176) 2745 0 R (page.177) 2754 0 R (page.178) 2763 0 R (page.179) 2767 0 R (page.18) 1459 0 R (page.180) 2778 0 R (page.181) 2784 0 R (page.182) 2788 0 R (page.183) 2799 0 R (page.184) 2811 0 R (page.185) 2816 0 R (page.186) 2821 0 R (page.187) 2826 0 R (page.188) 2834 0 R (page.189) 2842 0 R (page.19) 1469 0 R (page.190) 2847 0 R (page.191) 2851 0 R (page.192) 2855 0 R (page.193) 2867 0 R (page.194) 2872 0 R (page.195) 2883 0 R (page.196) 2889 0 R (page.197) 2900 0 R (page.198) 2912 0 R (page.199) 2927 0 R (page.2) 1017 0 R (page.20) 1478 0 R (page.200) 2940 0 R (page.21) 1485 0 R (page.22) 1491 0 R (page.23) 1495 0 R (page.24) 1504 0 R (page.25) 1518 0 R (page.26) 1525 0 R (page.27) 1535 0 R (page.28) 1545 0 R (page.29) 1551 0 R (page.3) 1325 0 R (page.30) 1556 0 R (page.31) 1563 0 R (page.32) 1571 0 R (page.33) 1577 0 R (page.34) 1584 0 R (page.35) 1593 0 R (page.36) 1597 0 R (page.37) 1602 0 R (page.38) 1609 0 R (page.39) 1613 0 R (page.4) 1336 0 R (page.40) 1623 0 R (page.41) 1627 0 R (page.42) 1633 0 R (page.43) 1641 0 R (page.44) 1652 0 R (page.45) 1660 0 R (page.46) 1672 0 R (page.47) 1678 0 R (page.48) 1682 0 R (page.49) 1689 0 R (page.5) 1343 0 R (page.50) 1695 0 R (page.51) 1700 0 R (page.52) 1706 0 R (page.53) 1715 0 R (page.54) 1721 0 R (page.55) 1726 0 R (page.56) 1730 0 R (page.57) 1734 0 R (page.58) 1739 0 R (page.59) 1743 0 R (page.6) 1355 0 R (page.60) 1750 0 R (page.61) 1756 0 R (page.62) 1762 0 R (page.63) 1768 0 R (page.64) 1773 0 R (page.65) 1782 0 R (page.66) 1786 0 R (page.67) 1791 0 R (page.68) 1797 0 R (page.69) 1807 0 R (page.7) 1361 0 R (page.70) 1814 0 R (page.71) 1819 0 R (page.72) 1824 0 R (page.73) 1829 0 R (page.74) 1833 0 R (page.75) 1837 0 R (page.76) 1847 0 R (page.77) 1851 0 R (page.78) 1855 0 R (page.79) 1862 0 R (page.8) 1369 0 R (page.80) 1869 0 R (page.81) 1876 0 R (page.82) 1882 0 R (page.83) 1888 0 R (page.84) 1896 0 R (page.85) 1901 0 R (page.86) 1905 0 R (page.87) 1909 0 R (page.88) 1914 0 R (page.89) 1920 0 R (page.9) 1378 0 R (page.90) 1924 0 R (page.91) 1929 0 R (page.92) 1934 0 R (page.93) 1938 0 R (page.94) 1943 0 R (page.95) 1951 0 R (page.96) 1964 0 R (page.97) 1969 0 R (page.98) 1974 0 R (page.99) 1978 0 R (page.i) 1024 0 R (page.ii) 1079 0 R (page.iii) 1143 0 R (page.iv) 1206 0 R (page.v) 1267 0 R (pkcs11) 1546 0 R (proposed_standards) 1440 0 R (query_address) 1820 0 R (relnotes_bugs) 2250 0 R (relnotes_changes) 2249 0 R (relnotes_download) 2241 0 R (relnotes_features) 2244 0 R (relnotes_intro) 2240 0 R (relnotes_security) 2243 0 R (relnotes_thanks) 2254 0 R (rfc5011.support) 1537 0 R (rfcs) 1321 0 R (rndc) 1656 0 R (root_delegation_only) 2004 0 R (rrset_ordering) 1374 0 R (sample_configuration) 1363 0 R (section*.10) 2408 0 R (section*.100) 2747 0 R (section*.101) 2748 0 R (section*.102) 2749 0 R (section*.103) 2750 0 R (section*.104) 2756 0 R (section*.105) 2757 0 R (section*.106) 2758 0 R (section*.107) 2759 0 R (section*.108) 2768 0 R (section*.109) 2769 0 R (section*.11) 2418 0 R (section*.110) 2770 0 R (section*.111) 2772 0 R (section*.112) 2773 0 R (section*.113) 2774 0 R (section*.114) 2779 0 R (section*.115) 2789 0 R (section*.116) 2790 0 R (section*.117) 2791 0 R (section*.118) 2792 0 R (section*.119) 2793 0 R (section*.12) 2438 0 R (section*.120) 2795 0 R (section*.121) 2800 0 R (section*.122) 2801 0 R (section*.123) 2802 0 R (section*.124) 2803 0 R (section*.125) 2805 0 R (section*.126) 2806 0 R (section*.127) 2807 0 R (section*.128) 2812 0 R (section*.129) 2817 0 R (section*.13) 2451 0 R (section*.130) 2827 0 R (section*.131) 2828 0 R (section*.132) 2829 0 R (section*.133) 2830 0 R (section*.134) 2835 0 R (section*.135) 2836 0 R (section*.136) 2837 0 R (section*.137) 2838 0 R (section*.138) 2843 0 R (section*.139) 2856 0 R (section*.14) 2477 0 R (section*.140) 2857 0 R (section*.141) 2858 0 R (section*.142) 2860 0 R (section*.143) 2861 0 R (section*.144) 2862 0 R (section*.145) 2868 0 R (section*.146) 2873 0 R (section*.147) 2874 0 R (section*.148) 2875 0 R (section*.149) 2877 0 R (section*.15) 2532 0 R (section*.150) 2878 0 R (section*.151) 2879 0 R (section*.152) 2884 0 R (section*.153) 2885 0 R (section*.154) 2890 0 R (section*.155) 2891 0 R (section*.156) 2893 0 R (section*.157) 2894 0 R (section*.158) 2895 0 R (section*.159) 2896 0 R (section*.16) 2533 0 R (section*.160) 2901 0 R (section*.161) 2902 0 R (section*.162) 2904 0 R (section*.163) 2905 0 R (section*.164) 2906 0 R (section*.165) 2907 0 R (section*.166) 2908 0 R (section*.167) 2914 0 R (section*.168) 2915 0 R (section*.169) 2916 0 R (section*.17) 2534 0 R (section*.170) 2917 0 R (section*.171) 2918 0 R (section*.172) 2919 0 R (section*.173) 2921 0 R (section*.174) 2922 0 R (section*.175) 2928 0 R (section*.176) 2929 0 R (section*.177) 2930 0 R (section*.178) 2931 0 R (section*.179) 2933 0 R (section*.18) 2539 0 R (section*.180) 2934 0 R (section*.181) 2935 0 R (section*.182) 2936 0 R (section*.183) 2941 0 R (section*.184) 2942 0 R (section*.19) 2540 0 R (section*.2) 2279 0 R (section*.20) 2545 0 R (section*.21) 2559 0 R (section*.22) 2564 0 R (section*.23) 2565 0 R (section*.24) 2566 0 R (section*.25) 2567 0 R (section*.26) 2569 0 R (section*.27) 2570 0 R (section*.28) 2571 0 R (section*.29) 2576 0 R (section*.3) 2281 0 R (section*.30) 2581 0 R (section*.31) 2582 0 R (section*.32) 2584 0 R (section*.33) 2585 0 R (section*.34) 2586 0 R (section*.35) 2587 0 R (section*.36) 2588 0 R (section*.37) 2593 0 R (section*.38) 2595 0 R (section*.39) 2596 0 R (section*.4) 2289 0 R (section*.40) 2597 0 R (section*.41) 2598 0 R (section*.42) 2604 0 R (section*.43) 2605 0 R (section*.44) 2607 0 R (section*.45) 2608 0 R (section*.46) 2609 0 R (section*.47) 2614 0 R (section*.48) 2615 0 R (section*.49) 2620 0 R (section*.5) 2314 0 R (section*.50) 2621 0 R (section*.51) 2622 0 R (section*.52) 2623 0 R (section*.53) 2625 0 R (section*.54) 2626 0 R (section*.55) 2627 0 R (section*.56) 2628 0 R (section*.57) 2637 0 R (section*.58) 2642 0 R (section*.59) 2643 0 R (section*.6) 2326 0 R (section*.60) 2644 0 R (section*.61) 2645 0 R (section*.62) 2646 0 R (section*.63) 2647 0 R (section*.64) 2653 0 R (section*.65) 2662 0 R (section*.66) 2663 0 R (section*.67) 2668 0 R (section*.68) 2669 0 R (section*.69) 2670 0 R (section*.7) 2340 0 R (section*.70) 2672 0 R (section*.71) 2673 0 R (section*.72) 2674 0 R (section*.73) 2675 0 R (section*.74) 2680 0 R (section*.75) 2681 0 R (section*.76) 2682 0 R (section*.77) 2683 0 R (section*.78) 2684 0 R (section*.79) 2689 0 R (section*.8) 2378 0 R (section*.80) 2690 0 R (section*.81) 2696 0 R (section*.82) 2697 0 R (section*.83) 2698 0 R (section*.84) 2700 0 R (section*.85) 2701 0 R (section*.86) 2706 0 R (section*.87) 2707 0 R (section*.88) 2724 0 R (section*.89) 2725 0 R (section*.9) 2396 0 R (section*.90) 2726 0 R (section*.91) 2728 0 R (section*.92) 2729 0 R (section*.93) 2730 0 R (section*.94) 2731 0 R (section*.95) 2737 0 R (section*.96) 2738 0 R (section*.97) 2740 0 R (section*.98) 2741 0 R (section*.99) 2746 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.10) 274 0 R (section.4.11) 286 0 R (section.4.12) 338 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) 354 0 R (section.5.2) 358 0 R (section.6.1) 366 0 R (section.6.2) 394 0 R (section.6.3) 622 0 R (section.6.4) 678 0 R (section.7.1) 714 0 R (section.7.2) 718 0 R (section.7.3) 730 0 R (section.8.1) 738 0 R (section.8.2) 746 0 R (section.8.3) 750 0 R (section.A.1) 758 0 R (section.B.1) 798 0 R (section.C.1) 806 0 R (section.C.2) 810 0 R (section.D.1) 830 0 R (section.E.1) 890 0 R (section.E.10) 926 0 R (section.E.11) 930 0 R (section.E.12) 934 0 R (section.E.13) 938 0 R (section.E.14) 942 0 R (section.E.15) 946 0 R (section.E.16) 950 0 R (section.E.17) 954 0 R (section.E.18) 958 0 R (section.E.19) 962 0 R (section.E.2) 894 0 R (section.E.20) 966 0 R (section.E.21) 970 0 R (section.E.22) 974 0 R (section.E.23) 978 0 R (section.E.24) 982 0 R (section.E.3) 898 0 R (section.E.4) 902 0 R (section.E.5) 906 0 R (section.E.6) 910 0 R (section.E.7) 914 0 R (section.E.8) 918 0 R (section.E.9) 922 0 R (server_resource_limits) 1842 0 R (server_statement_definition_and_usage) 1778 0 R (server_statement_grammar) 1939 0 R (statistics) 2146 0 R (statistics_counters) 2154 0 R (statschannels) 1946 0 R (statsfile) 1746 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.10.1) 278 0 R (subsection.4.10.2) 282 0 R (subsection.4.11.1) 290 0 R (subsection.4.11.2) 306 0 R (subsection.4.11.3) 322 0 R (subsection.4.11.4) 326 0 R (subsection.4.11.5) 330 0 R (subsection.4.11.6) 334 0 R (subsection.4.12.1) 342 0 R (subsection.4.12.2) 346 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.10) 258 0 R (subsection.4.9.11) 262 0 R (subsection.4.9.12) 266 0 R (subsection.4.9.13) 270 0 R (subsection.4.9.2) 226 0 R (subsection.4.9.3) 230 0 R (subsection.4.9.4) 234 0 R (subsection.4.9.5) 238 0 R (subsection.4.9.6) 242 0 R (subsection.4.9.7) 246 0 R (subsection.4.9.8) 250 0 R (subsection.4.9.9) 254 0 R (subsection.6.1.1) 370 0 R (subsection.6.1.2) 382 0 R (subsection.6.2.1) 398 0 R (subsection.6.2.10) 434 0 R (subsection.6.2.11) 450 0 R (subsection.6.2.12) 454 0 R (subsection.6.2.13) 458 0 R (subsection.6.2.14) 462 0 R (subsection.6.2.15) 466 0 R (subsection.6.2.16) 470 0 R (subsection.6.2.17) 558 0 R (subsection.6.2.18) 562 0 R (subsection.6.2.19) 566 0 R (subsection.6.2.2) 402 0 R (subsection.6.2.20) 570 0 R (subsection.6.2.21) 574 0 R (subsection.6.2.22) 578 0 R (subsection.6.2.23) 582 0 R (subsection.6.2.24) 586 0 R (subsection.6.2.25) 590 0 R (subsection.6.2.26) 594 0 R (subsection.6.2.27) 598 0 R (subsection.6.2.28) 602 0 R (subsection.6.2.3) 406 0 R (subsection.6.2.4) 410 0 R (subsection.6.2.5) 414 0 R (subsection.6.2.6) 418 0 R (subsection.6.2.7) 422 0 R (subsection.6.2.8) 426 0 R (subsection.6.2.9) 430 0 R (subsection.6.3.1) 626 0 R (subsection.6.3.2) 638 0 R (subsection.6.3.3) 642 0 R (subsection.6.3.4) 646 0 R (subsection.6.3.5) 650 0 R (subsection.6.3.6) 670 0 R (subsection.6.3.7) 674 0 R (subsection.6.4.1) 686 0 R (subsection.7.2.1) 722 0 R (subsection.7.2.2) 726 0 R (subsection.8.1.1) 742 0 R (subsection.A.1.1) 762 0 R (subsection.A.1.2) 766 0 R (subsection.A.1.3) 770 0 R (subsection.A.1.4) 774 0 R (subsection.A.1.5) 778 0 R (subsection.A.1.6) 782 0 R (subsection.A.1.7) 786 0 R (subsection.A.1.8) 790 0 R (subsection.C.2.1) 814 0 R (subsection.C.2.2) 818 0 R (subsection.C.2.3) 822 0 R (subsection.D.1.1) 834 0 R (subsection.D.1.2) 838 0 R (subsection.D.1.3) 842 0 R (subsection.D.1.4) 846 0 R (subsection.D.1.5) 850 0 R (subsection.D.1.6) 854 0 R (subsection.D.1.7) 882 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.11.1.1) 294 0 R (subsubsection.4.11.1.2) 298 0 R (subsubsection.4.11.1.3) 302 0 R (subsubsection.4.11.2.1) 310 0 R (subsubsection.4.11.2.2) 314 0 R (subsubsection.4.11.2.3) 318 0 R (subsubsection.4.5.1.1) 166 0 R (subsubsection.4.5.1.2) 170 0 R (subsubsection.6.1.1.1) 374 0 R (subsubsection.6.1.1.2) 378 0 R (subsubsection.6.1.2.1) 386 0 R (subsubsection.6.1.2.2) 390 0 R (subsubsection.6.2.10.1) 438 0 R (subsubsection.6.2.10.2) 442 0 R (subsubsection.6.2.10.3) 446 0 R (subsubsection.6.2.16.1) 474 0 R (subsubsection.6.2.16.10) 510 0 R (subsubsection.6.2.16.11) 514 0 R (subsubsection.6.2.16.12) 518 0 R (subsubsection.6.2.16.13) 522 0 R (subsubsection.6.2.16.14) 526 0 R (subsubsection.6.2.16.15) 530 0 R (subsubsection.6.2.16.16) 534 0 R (subsubsection.6.2.16.17) 538 0 R (subsubsection.6.2.16.18) 542 0 R (subsubsection.6.2.16.19) 546 0 R (subsubsection.6.2.16.2) 478 0 R (subsubsection.6.2.16.20) 550 0 R (subsubsection.6.2.16.21) 554 0 R (subsubsection.6.2.16.3) 482 0 R (subsubsection.6.2.16.4) 486 0 R (subsubsection.6.2.16.5) 490 0 R (subsubsection.6.2.16.6) 494 0 R (subsubsection.6.2.16.7) 498 0 R (subsubsection.6.2.16.8) 502 0 R (subsubsection.6.2.16.9) 506 0 R (subsubsection.6.2.28.1) 606 0 R (subsubsection.6.2.28.2) 610 0 R (subsubsection.6.2.28.3) 614 0 R (subsubsection.6.2.28.4) 618 0 R (subsubsection.6.3.1.1) 630 0 R (subsubsection.6.3.1.2) 634 0 R (subsubsection.6.3.5.1) 654 0 R (subsubsection.6.3.5.2) 658 0 R (subsubsection.6.3.5.3) 662 0 R (subsubsection.6.3.5.4) 666 0 R (subsubsection.6.4.0.1) 682 0 R (subsubsection.6.4.1.1) 690 0 R (subsubsection.6.4.1.2) 694 0 R (subsubsection.6.4.1.3) 698 0 R (subsubsection.6.4.1.4) 702 0 R (subsubsection.6.4.1.5) 706 0 R (subsubsection.D.1.6.1) 858 0 R (subsubsection.D.1.6.2) 862 0 R (subsubsection.D.1.6.3) 866 0 R (subsubsection.D.1.6.4) 870 0 R (subsubsection.D.1.6.5) 874 0 R (subsubsection.D.1.6.6) 878 0 R (table.1.1) 1305 0 R (table.1.2) 1313 0 R (table.3.1) 1372 0 R (table.3.2) 1399 0 R (table.6.1) 1617 0 R (table.6.10) 2086 0 R (table.6.11) 2092 0 R (table.6.12) 2102 0 R (table.6.13) 2109 0 R (table.6.14) 2111 0 R (table.6.15) 2114 0 R (table.6.16) 2122 0 R (table.6.17) 2125 0 R (table.6.18) 2141 0 R (table.6.19) 2148 0 R (table.6.2) 1644 0 R (table.6.20) 2157 0 R (table.6.21) 2171 0 R (table.6.22) 2174 0 R (table.6.23) 2181 0 R (table.6.3) 1648 0 R (table.6.4) 1691 0 R (table.6.5) 1702 0 R (table.6.6) 1764 0 R (table.6.7) 1872 0 R (table.6.8) 1990 0 R (table.6.9) 2071 0 R (the_category_phrase) 1684 0 R (the_sortlist_statement) 1863 0 R (topology) 1857 0 R (trusted-keys) 1957 0 R (tsig) 1455 0 R (tuning) 1877 0 R (types_of_resource_records_and_when_to_use_them) 1320 0 R (view_statement_grammar) 1892 0 R (zone_statement_grammar) 1803 0 R (zone_transfers) 1426 0 R (zonefile_format) 1884 0 R]
/Limits [(Access_Control_Lists) (zonefile_format)]
>> endobj
-2952 0 obj <<
-/Kids [2951 0 R]
+2970 0 obj <<
+/Kids [2969 0 R]
>> endobj
-2953 0 obj <<
-/Dests 2952 0 R
+2971 0 obj <<
+/Dests 2970 0 R
>> endobj
-2954 0 obj <<
+2972 0 obj <<
/Type /Catalog
-/Pages 2949 0 R
-/Outlines 2950 0 R
-/Names 2953 0 R
+/Pages 2967 0 R
+/Outlines 2968 0 R
+/Names 2971 0 R
/PageMode /UseOutlines
/OpenAction 985 0 R
>> endobj
-2955 0 obj <<
+2973 0 obj <<
/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords()
-/CreationDate (D:20150714233442Z)
+/CreationDate (D:20150909021804Z)
/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4)
>> endobj
xref
-0 2956
+0 2974
0000000001 65535 f
0000000002 00000 f
0000000003 00000 f
0000000004 00000 f
0000000000 00000 f
0000000009 00000 n
-0000353481 00000 n
-0001261351 00000 n
+0000353451 00000 n
+0001277051 00000 n
0000000054 00000 n
0000000086 00000 n
-0000353608 00000 n
-0001261279 00000 n
+0000353578 00000 n
+0001276979 00000 n
0000000133 00000 n
0000000173 00000 n
-0000353736 00000 n
-0001261193 00000 n
+0000353706 00000 n
+0001276893 00000 n
0000000221 00000 n
0000000273 00000 n
-0000353864 00000 n
-0001261107 00000 n
+0000353834 00000 n
+0001276807 00000 n
0000000321 00000 n
0000000377 00000 n
-0000358181 00000 n
-0001260997 00000 n
+0000358148 00000 n
+0001276697 00000 n
0000000425 00000 n
0000000478 00000 n
-0000358308 00000 n
-0001260923 00000 n
+0000358275 00000 n
+0001276623 00000 n
0000000531 00000 n
0000000572 00000 n
-0000358436 00000 n
-0001260836 00000 n
+0000358403 00000 n
+0001276536 00000 n
0000000625 00000 n
0000000674 00000 n
-0000358563 00000 n
-0001260749 00000 n
+0000358530 00000 n
+0001276449 00000 n
0000000727 00000 n
0000000757 00000 n
-0000362903 00000 n
-0001260625 00000 n
+0000362869 00000 n
+0001276325 00000 n
0000000810 00000 n
0000000861 00000 n
-0000363031 00000 n
-0001260551 00000 n
+0000362997 00000 n
+0001276251 00000 n
0000000919 00000 n
0000000964 00000 n
-0000363159 00000 n
-0001260464 00000 n
+0000363125 00000 n
+0001276164 00000 n
0000001022 00000 n
0000001062 00000 n
-0000363287 00000 n
-0001260390 00000 n
+0000363253 00000 n
+0001276090 00000 n
0000001120 00000 n
0000001162 00000 n
-0000366306 00000 n
-0001260266 00000 n
+0000366269 00000 n
+0001275966 00000 n
0000001215 00000 n
0000001260 00000 n
-0000366434 00000 n
-0001260205 00000 n
+0000366397 00000 n
+0001275905 00000 n
0000001318 00000 n
0000001355 00000 n
-0000366562 00000 n
-0001260131 00000 n
+0000366525 00000 n
+0001275831 00000 n
0000001408 00000 n
0000001463 00000 n
-0000369596 00000 n
-0001260006 00000 n
+0000369556 00000 n
+0001275706 00000 n
0000001509 00000 n
0000001556 00000 n
-0000369724 00000 n
-0001259932 00000 n
+0000369684 00000 n
+0001275632 00000 n
0000001604 00000 n
0000001648 00000 n
-0000369852 00000 n
-0001259845 00000 n
+0000369812 00000 n
+0001275545 00000 n
0000001696 00000 n
0000001735 00000 n
-0000369980 00000 n
-0001259758 00000 n
+0000369940 00000 n
+0001275458 00000 n
0000001783 00000 n
0000001825 00000 n
-0000370107 00000 n
-0001259671 00000 n
+0000370067 00000 n
+0001275371 00000 n
0000001873 00000 n
0000001936 00000 n
-0000371216 00000 n
-0001259597 00000 n
+0000371174 00000 n
+0001275297 00000 n
0000001984 00000 n
0000002034 00000 n
-0000372966 00000 n
-0001259469 00000 n
+0000372922 00000 n
+0001275169 00000 n
0000002080 00000 n
0000002126 00000 n
-0000373093 00000 n
-0001259356 00000 n
+0000373049 00000 n
+0001275056 00000 n
0000002174 00000 n
0000002218 00000 n
-0000373221 00000 n
-0001259280 00000 n
+0000373177 00000 n
+0001274980 00000 n
0000002271 00000 n
0000002323 00000 n
-0000373349 00000 n
-0001259203 00000 n
+0000373305 00000 n
+0001274903 00000 n
0000002377 00000 n
0000002436 00000 n
-0000375838 00000 n
-0001259112 00000 n
+0000375790 00000 n
+0001274812 00000 n
0000002485 00000 n
0000002523 00000 n
-0000379218 00000 n
-0001258995 00000 n
+0000379167 00000 n
+0001274695 00000 n
0000002572 00000 n
0000002618 00000 n
-0000379346 00000 n
-0001258877 00000 n
+0000379295 00000 n
+0001274577 00000 n
0000002672 00000 n
0000002739 00000 n
-0000379474 00000 n
-0001258798 00000 n
+0000379423 00000 n
+0001274498 00000 n
0000002798 00000 n
0000002842 00000 n
-0000379603 00000 n
-0001258719 00000 n
+0000379552 00000 n
+0001274419 00000 n
0000002901 00000 n
0000002949 00000 n
-0000386675 00000 n
-0001258640 00000 n
+0000386618 00000 n
+0001274340 00000 n
0000003003 00000 n
0000003036 00000 n
-0000392355 00000 n
-0001258507 00000 n
+0000392297 00000 n
+0001274207 00000 n
0000003083 00000 n
0000003126 00000 n
-0000392484 00000 n
-0001258428 00000 n
+0000392426 00000 n
+0001274128 00000 n
0000003175 00000 n
0000003205 00000 n
-0000392613 00000 n
-0001258296 00000 n
+0000392555 00000 n
+0001273996 00000 n
0000003254 00000 n
0000003292 00000 n
-0000397166 00000 n
-0001258231 00000 n
+0000397106 00000 n
+0001273931 00000 n
0000003346 00000 n
0000003388 00000 n
-0000397295 00000 n
-0001258138 00000 n
+0000397235 00000 n
+0001273838 00000 n
0000003437 00000 n
0000003496 00000 n
-0000397424 00000 n
-0001258006 00000 n
+0000397364 00000 n
+0001273706 00000 n
0000003545 00000 n
0000003578 00000 n
-0000401186 00000 n
-0001257941 00000 n
+0000401124 00000 n
+0001273641 00000 n
0000003632 00000 n
0000003681 00000 n
-0000404418 00000 n
-0001257809 00000 n
+0000404351 00000 n
+0001273509 00000 n
0000003730 00000 n
0000003758 00000 n
-0000407396 00000 n
-0001257691 00000 n
+0000407326 00000 n
+0001273391 00000 n
0000003812 00000 n
0000003881 00000 n
-0000407525 00000 n
-0001257612 00000 n
+0000407455 00000 n
+0001273312 00000 n
0000003940 00000 n
0000003988 00000 n
-0000407654 00000 n
-0001257533 00000 n
+0000407584 00000 n
+0001273233 00000 n
0000004047 00000 n
0000004092 00000 n
-0000407783 00000 n
-0001257440 00000 n
+0000407713 00000 n
+0001273140 00000 n
0000004146 00000 n
0000004214 00000 n
-0000407912 00000 n
-0001257347 00000 n
+0000407842 00000 n
+0001273047 00000 n
0000004268 00000 n
0000004338 00000 n
-0000411411 00000 n
-0001257254 00000 n
+0000411339 00000 n
+0001272954 00000 n
0000004392 00000 n
0000004455 00000 n
-0000411540 00000 n
-0001257161 00000 n
+0000411468 00000 n
+0001272861 00000 n
0000004509 00000 n
0000004564 00000 n
-0000411669 00000 n
-0001257082 00000 n
+0000411597 00000 n
+0001272782 00000 n
0000004618 00000 n
0000004650 00000 n
-0000411798 00000 n
-0001256989 00000 n
+0000411726 00000 n
+0001272689 00000 n
0000004699 00000 n
0000004727 00000 n
-0000415689 00000 n
-0001256896 00000 n
+0000415615 00000 n
+0001272596 00000 n
0000004776 00000 n
0000004808 00000 n
-0000415818 00000 n
-0001256764 00000 n
+0000415744 00000 n
+0001272464 00000 n
0000004857 00000 n
0000004887 00000 n
-0000415946 00000 n
-0001256685 00000 n
+0000415872 00000 n
+0001272385 00000 n
0000004941 00000 n
0000004982 00000 n
-0000419890 00000 n
-0001256592 00000 n
+0000419812 00000 n
+0001272292 00000 n
0000005036 00000 n
0000005078 00000 n
-0000420018 00000 n
-0001256513 00000 n
+0000419940 00000 n
+0001272213 00000 n
0000005132 00000 n
0000005177 00000 n
-0000425240 00000 n
-0001256380 00000 n
+0000425157 00000 n
+0001272080 00000 n
0000005226 00000 n
0000005294 00000 n
-0000425369 00000 n
-0001256301 00000 n
+0000425286 00000 n
+0001272001 00000 n
0000005348 00000 n
0000005408 00000 n
-0000429387 00000 n
-0001256208 00000 n
+0000429301 00000 n
+0001271908 00000 n
0000005462 00000 n
0000005513 00000 n
-0000429516 00000 n
-0001256115 00000 n
+0000429430 00000 n
+0001271815 00000 n
0000005567 00000 n
0000005621 00000 n
-0000432635 00000 n
-0001256022 00000 n
+0000432547 00000 n
+0001271722 00000 n
0000005675 00000 n
0000005721 00000 n
-0000432764 00000 n
-0001255929 00000 n
+0000432676 00000 n
+0001271629 00000 n
0000005775 00000 n
0000005817 00000 n
-0000432893 00000 n
-0001255836 00000 n
+0000432805 00000 n
+0001271536 00000 n
0000005871 00000 n
0000005922 00000 n
-0000435831 00000 n
-0001255743 00000 n
+0000435740 00000 n
+0001271443 00000 n
0000005976 00000 n
0000006025 00000 n
-0000435960 00000 n
-0001255650 00000 n
+0000435869 00000 n
+0001271350 00000 n
0000006079 00000 n
0000006136 00000 n
-0000436089 00000 n
-0001255557 00000 n
+0000435998 00000 n
+0001271257 00000 n
0000006190 00000 n
0000006245 00000 n
-0000436217 00000 n
-0001255464 00000 n
+0000436126 00000 n
+0001271164 00000 n
0000006300 00000 n
0000006356 00000 n
-0000436345 00000 n
-0001255371 00000 n
+0000436254 00000 n
+0001271071 00000 n
0000006411 00000 n
0000006472 00000 n
-0000436473 00000 n
-0001255278 00000 n
+0000436382 00000 n
+0001270978 00000 n
0000006527 00000 n
0000006573 00000 n
-0000440332 00000 n
-0001255199 00000 n
+0000440239 00000 n
+0001270899 00000 n
0000006628 00000 n
0000006671 00000 n
-0000440461 00000 n
-0001255067 00000 n
+0000440368 00000 n
+0001270767 00000 n
0000006721 00000 n
0000006777 00000 n
-0000440590 00000 n
-0001254988 00000 n
+0000440497 00000 n
+0001270688 00000 n
0000006832 00000 n
0000006878 00000 n
-0000440718 00000 n
-0001254909 00000 n
+0000440625 00000 n
+0001270609 00000 n
0000006933 00000 n
0000006980 00000 n
-0000444377 00000 n
-0001254777 00000 n
+0000444281 00000 n
+0001270477 00000 n
0000007030 00000 n
0000007087 00000 n
-0000444506 00000 n
-0001254659 00000 n
+0000444410 00000 n
+0001270359 00000 n
0000007142 00000 n
0000007182 00000 n
-0000447187 00000 n
-0001254580 00000 n
+0000447088 00000 n
+0001270280 00000 n
0000007242 00000 n
0000007315 00000 n
-0000449830 00000 n
-0001254487 00000 n
+0000449728 00000 n
+0001270187 00000 n
0000007375 00000 n
0000007448 00000 n
-0000449958 00000 n
-0001254408 00000 n
+0000449856 00000 n
+0001270108 00000 n
0000007508 00000 n
0000007565 00000 n
-0000452369 00000 n
-0001254276 00000 n
+0000452265 00000 n
+0001269976 00000 n
0000007620 00000 n
0000007678 00000 n
-0000452497 00000 n
-0001254197 00000 n
+0000452393 00000 n
+0001269897 00000 n
0000007738 00000 n
0000007815 00000 n
-0000452626 00000 n
-0001254104 00000 n
+0000452522 00000 n
+0001269804 00000 n
0000007875 00000 n
0000007952 00000 n
-0000452755 00000 n
-0001254025 00000 n
+0000452651 00000 n
+0001269725 00000 n
0000008012 00000 n
0000008071 00000 n
-0000455722 00000 n
-0001253932 00000 n
+0000455618 00000 n
+0001269632 00000 n
0000008126 00000 n
0000008170 00000 n
-0000455850 00000 n
-0001253839 00000 n
+0000455746 00000 n
+0001269539 00000 n
0000008225 00000 n
0000008265 00000 n
-0000458645 00000 n
-0001253746 00000 n
+0000458539 00000 n
+0001269446 00000 n
0000008320 00000 n
0000008388 00000 n
-0000458773 00000 n
-0001253667 00000 n
+0000458667 00000 n
+0001269367 00000 n
0000008443 00000 n
0000008514 00000 n
-0000463045 00000 n
-0001253549 00000 n
+0000462936 00000 n
+0001269249 00000 n
0000008564 00000 n
0000008611 00000 n
-0000463173 00000 n
-0001253470 00000 n
+0000463064 00000 n
+0001269170 00000 n
0000008666 00000 n
0000008727 00000 n
-0000463302 00000 n
-0001253391 00000 n
+0000463193 00000 n
+0001269091 00000 n
0000008782 00000 n
0000008852 00000 n
-0000466989 00000 n
-0001253258 00000 n
+0000466874 00000 n
+0001268958 00000 n
0000008899 00000 n
0000008952 00000 n
-0000467118 00000 n
-0001253179 00000 n
+0000467003 00000 n
+0001268879 00000 n
0000009001 00000 n
0000009057 00000 n
-0000467247 00000 n
-0001253100 00000 n
+0000467132 00000 n
+0001268800 00000 n
0000009106 00000 n
0000009155 00000 n
-0000471570 00000 n
-0001252967 00000 n
+0000471453 00000 n
+0001268667 00000 n
0000009202 00000 n
0000009254 00000 n
-0000471699 00000 n
-0001252849 00000 n
+0000471582 00000 n
+0001268549 00000 n
0000009303 00000 n
0000009354 00000 n
-0000480037 00000 n
-0001252731 00000 n
+0000479915 00000 n
+0001268431 00000 n
0000009408 00000 n
0000009453 00000 n
-0000480166 00000 n
-0001252652 00000 n
+0000480044 00000 n
+0001268352 00000 n
0000009512 00000 n
0000009546 00000 n
-0000480295 00000 n
-0001252573 00000 n
+0000480173 00000 n
+0001268273 00000 n
0000009605 00000 n
0000009653 00000 n
-0000482766 00000 n
-0001252455 00000 n
+0000482640 00000 n
+0001268155 00000 n
0000009707 00000 n
0000009747 00000 n
-0000482895 00000 n
-0001252376 00000 n
+0000482769 00000 n
+0001268076 00000 n
0000009806 00000 n
0000009840 00000 n
-0000483024 00000 n
-0001252297 00000 n
+0000482898 00000 n
+0001267997 00000 n
0000009899 00000 n
0000009947 00000 n
-0000486089 00000 n
-0001252164 00000 n
+0000485961 00000 n
+0001267864 00000 n
0000009996 00000 n
0000010046 00000 n
-0000486348 00000 n
-0001252085 00000 n
+0000486220 00000 n
+0001267785 00000 n
0000010100 00000 n
0000010147 00000 n
-0000486477 00000 n
-0001251992 00000 n
+0000486349 00000 n
+0001267692 00000 n
0000010201 00000 n
0000010261 00000 n
-0000491565 00000 n
-0001251899 00000 n
+0000491437 00000 n
+0001267599 00000 n
0000010315 00000 n
0000010367 00000 n
-0000491694 00000 n
-0001251806 00000 n
+0000491566 00000 n
+0001267506 00000 n
0000010421 00000 n
0000010486 00000 n
-0000495825 00000 n
-0001251713 00000 n
+0000495703 00000 n
+0001267413 00000 n
0000010540 00000 n
0000010591 00000 n
-0000495954 00000 n
-0001251620 00000 n
+0000495832 00000 n
+0001267320 00000 n
0000010645 00000 n
0000010709 00000 n
-0000496083 00000 n
-0001251527 00000 n
+0000495961 00000 n
+0001267227 00000 n
0000010763 00000 n
0000010810 00000 n
-0000496212 00000 n
-0001251434 00000 n
+0000496090 00000 n
+0001267134 00000 n
0000010864 00000 n
0000010924 00000 n
-0000496340 00000 n
-0001251341 00000 n
+0000496218 00000 n
+0001267041 00000 n
0000010978 00000 n
0000011029 00000 n
-0000499542 00000 n
-0001251209 00000 n
+0000499417 00000 n
+0001266909 00000 n
0000011084 00000 n
0000011149 00000 n
-0000499671 00000 n
-0001251130 00000 n
+0000499546 00000 n
+0001266830 00000 n
0000011209 00000 n
0000011256 00000 n
-0000506998 00000 n
-0001251037 00000 n
+0000506866 00000 n
+0001266737 00000 n
0000011316 00000 n
0000011364 00000 n
-0000513979 00000 n
-0001250958 00000 n
+0000513842 00000 n
+0001266658 00000 n
0000011424 00000 n
0000011478 00000 n
-0000520754 00000 n
-0001250865 00000 n
+0000520611 00000 n
+0001266565 00000 n
0000011533 00000 n
0000011583 00000 n
-0000520883 00000 n
-0001250772 00000 n
+0000520740 00000 n
+0001266472 00000 n
0000011638 00000 n
0000011701 00000 n
-0000521011 00000 n
-0001250679 00000 n
+0000520868 00000 n
+0001266379 00000 n
0000011756 00000 n
0000011808 00000 n
-0000522848 00000 n
-0001250586 00000 n
+0000522703 00000 n
+0001266286 00000 n
0000011863 00000 n
0000011928 00000 n
-0000522977 00000 n
-0001250493 00000 n
+0000522832 00000 n
+0001266193 00000 n
0000011983 00000 n
0000012035 00000 n
-0000530739 00000 n
-0001250360 00000 n
+0000530658 00000 n
+0001266060 00000 n
0000012090 00000 n
0000012155 00000 n
-0000552034 00000 n
-0001250281 00000 n
+0000551938 00000 n
+0001265981 00000 n
0000012215 00000 n
0000012259 00000 n
-0000574283 00000 n
-0001250188 00000 n
+0000578137 00000 n
+0001265888 00000 n
0000012319 00000 n
0000012358 00000 n
-0000578122 00000 n
-0001250095 00000 n
+0000578266 00000 n
+0001265795 00000 n
0000012418 00000 n
0000012465 00000 n
-0000578249 00000 n
-0001250002 00000 n
+0000578395 00000 n
+0001265702 00000 n
0000012525 00000 n
0000012568 00000 n
-0000586375 00000 n
-0001249909 00000 n
+0000586502 00000 n
+0001265609 00000 n
0000012628 00000 n
0000012667 00000 n
-0000589981 00000 n
-0001249816 00000 n
+0000590388 00000 n
+0001265516 00000 n
0000012727 00000 n
0000012769 00000 n
-0000593123 00000 n
-0001249723 00000 n
+0000593340 00000 n
+0001265423 00000 n
0000012829 00000 n
0000012872 00000 n
-0000600496 00000 n
-0001249630 00000 n
+0000604877 00000 n
+0001265330 00000 n
0000012932 00000 n
0000012975 00000 n
-0000604807 00000 n
-0001249537 00000 n
+0000605006 00000 n
+0001265237 00000 n
0000013035 00000 n
0000013096 00000 n
-0000604936 00000 n
-0001249444 00000 n
+0000605135 00000 n
+0001265144 00000 n
0000013157 00000 n
0000013209 00000 n
-0000608994 00000 n
-0001249351 00000 n
+0000616948 00000 n
+0001265051 00000 n
0000013270 00000 n
0000013323 00000 n
-0000612782 00000 n
-0001249258 00000 n
+0000617077 00000 n
+0001264958 00000 n
0000013384 00000 n
0000013422 00000 n
-0000612910 00000 n
-0001249165 00000 n
+0000620980 00000 n
+0001264865 00000 n
0000013483 00000 n
0000013535 00000 n
-0000616110 00000 n
-0001249072 00000 n
+0000624158 00000 n
+0001264772 00000 n
0000013596 00000 n
0000013640 00000 n
-0000619627 00000 n
-0001248979 00000 n
+0000628144 00000 n
+0001264679 00000 n
0000013701 00000 n
0000013737 00000 n
-0000632317 00000 n
-0001248886 00000 n
+0000637133 00000 n
+0001264586 00000 n
0000013798 00000 n
0000013861 00000 n
-0000632446 00000 n
-0001248793 00000 n
+0000637262 00000 n
+0001264493 00000 n
0000013922 00000 n
0000013972 00000 n
-0000639130 00000 n
-0001248700 00000 n
+0000647900 00000 n
+0001264400 00000 n
0000014033 00000 n
0000014089 00000 n
-0000643745 00000 n
-0001248607 00000 n
+0000648026 00000 n
+0001264307 00000 n
0000014150 00000 n
0000014197 00000 n
-0000647946 00000 n
-0001248514 00000 n
+0000652164 00000 n
+0001264214 00000 n
0000014258 00000 n
0000014326 00000 n
-0000659950 00000 n
-0001248435 00000 n
+0000664107 00000 n
+0001264135 00000 n
0000014387 00000 n
0000014439 00000 n
-0000664434 00000 n
-0001248342 00000 n
+0000672575 00000 n
+0001264042 00000 n
0000014494 00000 n
0000014545 00000 n
-0000668465 00000 n
-0001248249 00000 n
+0000672704 00000 n
+0001263949 00000 n
0000014600 00000 n
0000014664 00000 n
-0000673180 00000 n
-0001248156 00000 n
+0000677078 00000 n
+0001263856 00000 n
0000014719 00000 n
0000014783 00000 n
-0000673309 00000 n
-0001248063 00000 n
+0000677207 00000 n
+0001263763 00000 n
0000014838 00000 n
0000014915 00000 n
-0000677946 00000 n
-0001247970 00000 n
+0000682625 00000 n
+0001263670 00000 n
0000014970 00000 n
0000015027 00000 n
-0000678075 00000 n
-0001247877 00000 n
+0000682754 00000 n
+0001263577 00000 n
0000015082 00000 n
0000015152 00000 n
-0000678204 00000 n
-0001247784 00000 n
+0000682882 00000 n
+0001263484 00000 n
0000015207 00000 n
0000015264 00000 n
-0000678333 00000 n
-0001247691 00000 n
+0000687281 00000 n
+0001263391 00000 n
0000015319 00000 n
0000015389 00000 n
-0000682559 00000 n
-0001247598 00000 n
+0000690790 00000 n
+0001263298 00000 n
0000015444 00000 n
0000015493 00000 n
-0000686070 00000 n
-0001247505 00000 n
+0000690919 00000 n
+0001263205 00000 n
0000015548 00000 n
0000015610 00000 n
-0000687849 00000 n
-0001247412 00000 n
+0000692686 00000 n
+0001263112 00000 n
0000015665 00000 n
0000015714 00000 n
-0000693490 00000 n
-0001247294 00000 n
+0000698450 00000 n
+0001262994 00000 n
0000015769 00000 n
0000015831 00000 n
-0000693617 00000 n
-0001247215 00000 n
+0000698579 00000 n
+0001262915 00000 n
0000015891 00000 n
0000015930 00000 n
-0000701523 00000 n
-0001247122 00000 n
+0000706488 00000 n
+0001262822 00000 n
0000015990 00000 n
0000016024 00000 n
-0000701651 00000 n
-0001247029 00000 n
+0000706616 00000 n
+0001262729 00000 n
0000016084 00000 n
0000016125 00000 n
-0000723638 00000 n
-0001246950 00000 n
+0000728567 00000 n
+0001262650 00000 n
0000016185 00000 n
0000016237 00000 n
-0000734745 00000 n
-0001246818 00000 n
+0000739638 00000 n
+0001262518 00000 n
0000016286 00000 n
0000016319 00000 n
-0000734874 00000 n
-0001246700 00000 n
+0000739767 00000 n
+0001262400 00000 n
0000016373 00000 n
0000016445 00000 n
-0000735003 00000 n
-0001246621 00000 n
+0000739896 00000 n
+0001262321 00000 n
0000016504 00000 n
0000016548 00000 n
-0000745712 00000 n
-0001246542 00000 n
+0000750717 00000 n
+0001262242 00000 n
0000016607 00000 n
0000016660 00000 n
-0000746101 00000 n
-0001246449 00000 n
+0000754455 00000 n
+0001262149 00000 n
0000016714 00000 n
0000016764 00000 n
-0000749996 00000 n
-0001246356 00000 n
+0000757926 00000 n
+0001262056 00000 n
0000016818 00000 n
0000016856 00000 n
-0000750255 00000 n
-0001246263 00000 n
+0000758185 00000 n
+0001261963 00000 n
0000016910 00000 n
0000016959 00000 n
-0000753066 00000 n
-0001246131 00000 n
+0000758444 00000 n
+0001261831 00000 n
0000017013 00000 n
0000017065 00000 n
-0000753191 00000 n
-0001246052 00000 n
+0000761304 00000 n
+0001261752 00000 n
0000017124 00000 n
0000017169 00000 n
-0000753320 00000 n
-0001245959 00000 n
+0000761433 00000 n
+0001261659 00000 n
0000017228 00000 n
0000017280 00000 n
-0000753449 00000 n
-0001245866 00000 n
+0000761561 00000 n
+0001261566 00000 n
0000017339 00000 n
0000017392 00000 n
-0000755943 00000 n
-0001245787 00000 n
+0000761690 00000 n
+0001261487 00000 n
0000017451 00000 n
0000017500 00000 n
-0000756072 00000 n
-0001245694 00000 n
+0000761819 00000 n
+0001261394 00000 n
0000017554 00000 n
0000017634 00000 n
-0000760464 00000 n
-0001245615 00000 n
+0000768733 00000 n
+0001261315 00000 n
0000017688 00000 n
0000017737 00000 n
-0000764011 00000 n
-0001245497 00000 n
+0000768862 00000 n
+0001261197 00000 n
0000017786 00000 n
0000017826 00000 n
-0000764270 00000 n
-0001245418 00000 n
+0000772486 00000 n
+0001261118 00000 n
0000017885 00000 n
0000017932 00000 n
-0000767731 00000 n
-0001245300 00000 n
+0000772615 00000 n
+0001261000 00000 n
0000017986 00000 n
0000018031 00000 n
-0000767860 00000 n
-0001245221 00000 n
+0000772744 00000 n
+0001260921 00000 n
0000018090 00000 n
0000018149 00000 n
-0000771245 00000 n
-0001245128 00000 n
+0000779565 00000 n
+0001260828 00000 n
0000018208 00000 n
0000018272 00000 n
-0000771504 00000 n
-0001245035 00000 n
+0000779824 00000 n
+0001260735 00000 n
0000018331 00000 n
0000018387 00000 n
-0000775722 00000 n
-0001244942 00000 n
+0000783830 00000 n
+0001260642 00000 n
0000018446 00000 n
0000018504 00000 n
-0000777940 00000 n
-0001244863 00000 n
+0000784089 00000 n
+0001260563 00000 n
0000018563 00000 n
0000018625 00000 n
-0000780192 00000 n
-0001244730 00000 n
+0000787318 00000 n
+0001260430 00000 n
0000018672 00000 n
0000018724 00000 n
-0000780320 00000 n
-0001244651 00000 n
+0000787446 00000 n
+0001260351 00000 n
0000018773 00000 n
0000018817 00000 n
-0000784150 00000 n
-0001244519 00000 n
+0000791273 00000 n
+0001260219 00000 n
0000018866 00000 n
0000018907 00000 n
-0000784279 00000 n
-0001244440 00000 n
+0000791402 00000 n
+0001260140 00000 n
0000018961 00000 n
0000019009 00000 n
-0000784408 00000 n
-0001244361 00000 n
+0000791531 00000 n
+0001260061 00000 n
0000019063 00000 n
0000019114 00000 n
-0000784536 00000 n
-0001244282 00000 n
+0000791659 00000 n
+0001259982 00000 n
0000019163 00000 n
0000019210 00000 n
-0000788920 00000 n
-0001244149 00000 n
+0000796037 00000 n
+0001259849 00000 n
0000019257 00000 n
0000019294 00000 n
-0000789049 00000 n
-0001244031 00000 n
+0000796166 00000 n
+0001259731 00000 n
0000019343 00000 n
0000019382 00000 n
-0000789178 00000 n
-0001243966 00000 n
+0000796295 00000 n
+0001259666 00000 n
0000019436 00000 n
0000019514 00000 n
-0000789307 00000 n
-0001243873 00000 n
+0000796424 00000 n
+0001259573 00000 n
0000019563 00000 n
0000019630 00000 n
-0000789436 00000 n
-0001243794 00000 n
+0000796553 00000 n
+0001259494 00000 n
0000019679 00000 n
0000019724 00000 n
-0000791845 00000 n
-0001243661 00000 n
+0000799641 00000 n
+0001259361 00000 n
0000019772 00000 n
0000019807 00000 n
-0000791974 00000 n
-0001243557 00000 n
+0000799770 00000 n
+0001259257 00000 n
0000019856 00000 n
-0000019919 00000 n
-0000792103 00000 n
-0001243478 00000 n
-0000019973 00000 n
-0000020011 00000 n
-0000792232 00000 n
-0001243385 00000 n
-0000020065 00000 n
-0000020099 00000 n
-0000792360 00000 n
-0001243292 00000 n
-0000020153 00000 n
-0000020193 00000 n
-0000792489 00000 n
-0001243199 00000 n
-0000020247 00000 n
-0000020285 00000 n
-0000792617 00000 n
-0001243106 00000 n
-0000020339 00000 n
-0000020380 00000 n
-0000792746 00000 n
-0001243013 00000 n
-0000020434 00000 n
-0000020469 00000 n
-0000794755 00000 n
-0001242920 00000 n
-0000020523 00000 n
-0000020560 00000 n
-0000794884 00000 n
-0001242841 00000 n
-0000020614 00000 n
-0000020649 00000 n
-0000798114 00000 n
-0001242708 00000 n
-0000020697 00000 n
-0000020754 00000 n
-0000798243 00000 n
-0001242643 00000 n
-0000020803 00000 n
-0000020834 00000 n
-0000802517 00000 n
-0001242510 00000 n
-0000020882 00000 n
-0000020937 00000 n
-0000802646 00000 n
-0001242431 00000 n
-0000020986 00000 n
-0000021033 00000 n
-0000802775 00000 n
-0001242313 00000 n
-0000021082 00000 n
-0000021144 00000 n
-0000802904 00000 n
-0001242234 00000 n
-0000021198 00000 n
-0000021253 00000 n
-0000827202 00000 n
-0001242141 00000 n
-0000021307 00000 n
-0000021348 00000 n
-0000827331 00000 n
-0001242062 00000 n
-0000021402 00000 n
-0000021454 00000 n
-0000830684 00000 n
-0001241929 00000 n
-0000021502 00000 n
-0000021550 00000 n
-0000830813 00000 n
-0001241825 00000 n
-0000021599 00000 n
-0000021649 00000 n
-0000830941 00000 n
-0001241746 00000 n
-0000021703 00000 n
-0000021741 00000 n
-0000831070 00000 n
-0001241653 00000 n
-0000021795 00000 n
-0000021832 00000 n
-0000834366 00000 n
-0001241560 00000 n
-0000021886 00000 n
-0000021924 00000 n
-0000834495 00000 n
-0001241467 00000 n
-0000021978 00000 n
-0000022030 00000 n
-0000834623 00000 n
-0001241374 00000 n
-0000022084 00000 n
-0000022127 00000 n
-0000834751 00000 n
-0001241242 00000 n
-0000022181 00000 n
-0000022226 00000 n
-0000837471 00000 n
-0001241163 00000 n
-0000022285 00000 n
-0000022351 00000 n
-0000837600 00000 n
-0001241070 00000 n
-0000022410 00000 n
-0000022498 00000 n
-0000840820 00000 n
-0001240977 00000 n
-0000022557 00000 n
-0000022632 00000 n
-0000840948 00000 n
-0001240884 00000 n
-0000022691 00000 n
-0000022776 00000 n
-0000841077 00000 n
-0001240791 00000 n
-0000022835 00000 n
-0000022916 00000 n
-0000844079 00000 n
-0001240712 00000 n
-0000022975 00000 n
-0000023059 00000 n
-0000845169 00000 n
-0001240633 00000 n
-0000023113 00000 n
-0000023157 00000 n
-0000847785 00000 n
-0001240513 00000 n
-0000023205 00000 n
-0000023239 00000 n
-0000847914 00000 n
-0001240434 00000 n
-0000023288 00000 n
-0000023315 00000 n
-0000870406 00000 n
-0001240341 00000 n
-0000023364 00000 n
-0000023392 00000 n
-0000874651 00000 n
-0001240248 00000 n
-0000023441 00000 n
-0000023479 00000 n
-0000877235 00000 n
-0001240155 00000 n
-0000023528 00000 n
-0000023567 00000 n
-0000883837 00000 n
-0001240062 00000 n
-0000023616 00000 n
-0000023656 00000 n
-0000890167 00000 n
-0001239969 00000 n
-0000023705 00000 n
-0000023748 00000 n
-0000900853 00000 n
-0001239876 00000 n
-0000023797 00000 n
-0000023834 00000 n
-0000914120 00000 n
-0001239783 00000 n
-0000023883 00000 n
-0000023920 00000 n
-0000917736 00000 n
-0001239690 00000 n
-0000023969 00000 n
-0000024007 00000 n
-0000924760 00000 n
-0001239597 00000 n
-0000024057 00000 n
-0000024097 00000 n
-0000942219 00000 n
-0001239504 00000 n
-0000024147 00000 n
-0000024185 00000 n
-0000945405 00000 n
-0001239411 00000 n
-0000024235 00000 n
-0000024275 00000 n
-0000948354 00000 n
-0001239318 00000 n
-0000024325 00000 n
-0000024365 00000 n
-0000958459 00000 n
-0001239225 00000 n
-0000024415 00000 n
-0000024445 00000 n
-0000967111 00000 n
-0001239132 00000 n
-0000024495 00000 n
-0000024538 00000 n
-0000967565 00000 n
-0001239039 00000 n
-0000024588 00000 n
-0000024621 00000 n
-0000985895 00000 n
-0001238946 00000 n
-0000024671 00000 n
-0000024700 00000 n
-0001000712 00000 n
-0001238853 00000 n
-0000024750 00000 n
-0000024784 00000 n
-0001006501 00000 n
-0001238760 00000 n
-0000024834 00000 n
-0000024871 00000 n
-0001009794 00000 n
-0001238667 00000 n
-0000024921 00000 n
-0000024958 00000 n
-0001015351 00000 n
-0001238574 00000 n
-0000025008 00000 n
-0000025041 00000 n
-0001015804 00000 n
-0001238481 00000 n
-0000025091 00000 n
-0000025125 00000 n
-0001018788 00000 n
-0001238388 00000 n
-0000025175 00000 n
-0000025214 00000 n
-0001020958 00000 n
-0001238309 00000 n
-0000025264 00000 n
-0000025298 00000 n
-0000025711 00000 n
-0000025833 00000 n
-0000290662 00000 n
-0000025351 00000 n
-0000290536 00000 n
-0000290599 00000 n
-0001232100 00000 n
-0001205958 00000 n
-0001231926 00000 n
-0001204722 00000 n
-0001178103 00000 n
-0001204548 00000 n
-0001233146 00000 n
-0000027146 00000 n
-0000027339 00000 n
-0000027421 00000 n
-0000027460 00000 n
-0000027544 00000 n
-0000027669 00000 n
-0000027935 00000 n
-0000028295 00000 n
-0000028328 00000 n
-0000028423 00000 n
-0000029457 00000 n
-0000040594 00000 n
-0000106185 00000 n
-0000171776 00000 n
-0000237367 00000 n
-0000292125 00000 n
-0000291935 00000 n
-0000290775 00000 n
-0000292060 00000 n
-0001177416 00000 n
-0001175269 00000 n
-0001177250 00000 n
-0000304030 00000 n
-0000295268 00000 n
-0000292212 00000 n
-0000303900 00000 n
-0000303965 00000 n
-0000295855 00000 n
-0000296010 00000 n
-0000296168 00000 n
-0000296326 00000 n
-0000296484 00000 n
-0000296642 00000 n
-0000296805 00000 n
-0000296968 00000 n
-0000297130 00000 n
-0000297293 00000 n
-0000297461 00000 n
-0000297629 00000 n
-0000297795 00000 n
-0000297958 00000 n
-0000298125 00000 n
-0000298288 00000 n
-0000298443 00000 n
-0000298601 00000 n
-0000298759 00000 n
-0000298916 00000 n
-0000299073 00000 n
-0000299231 00000 n
-0000299387 00000 n
-0000299545 00000 n
-0000299708 00000 n
-0000299871 00000 n
-0000300029 00000 n
-0000300185 00000 n
-0000300347 00000 n
-0000300515 00000 n
-0000300683 00000 n
-0000300846 00000 n
-0000301002 00000 n
-0000301160 00000 n
-0000301318 00000 n
-0000301481 00000 n
-0000301639 00000 n
-0000301797 00000 n
-0000301960 00000 n
-0000302118 00000 n
-0000302281 00000 n
-0000302449 00000 n
-0000302617 00000 n
-0000302780 00000 n
-0000302943 00000 n
-0000303106 00000 n
-0000303269 00000 n
-0000303432 00000 n
-0000303588 00000 n
-0000303744 00000 n
-0000317576 00000 n
-0000307510 00000 n
-0000304116 00000 n
-0000317511 00000 n
-0001174681 00000 n
-0001157260 00000 n
-0001174495 00000 n
-0000308160 00000 n
-0000308324 00000 n
-0000308488 00000 n
-0000308651 00000 n
-0000308810 00000 n
-0000308974 00000 n
-0000309137 00000 n
-0000309301 00000 n
-0000309465 00000 n
-0000309629 00000 n
-0000309793 00000 n
-0000309957 00000 n
-0000310121 00000 n
-0000310285 00000 n
-0000310450 00000 n
-0000310615 00000 n
-0000310780 00000 n
-0000310945 00000 n
-0000311105 00000 n
-0000311270 00000 n
-0000311434 00000 n
-0000311594 00000 n
-0000311759 00000 n
-0000311928 00000 n
-0000312098 00000 n
-0000312268 00000 n
-0000312433 00000 n
-0000312602 00000 n
-0000312772 00000 n
-0000312942 00000 n
-0000313106 00000 n
-0000313271 00000 n
-0000313436 00000 n
-0000313601 00000 n
-0000313760 00000 n
-0000313925 00000 n
-0000314090 00000 n
-0000314247 00000 n
-0000314406 00000 n
-0000314565 00000 n
-0000314721 00000 n
-0000314880 00000 n
-0000315044 00000 n
-0000315213 00000 n
-0000315382 00000 n
-0000315546 00000 n
-0000315715 00000 n
-0000315884 00000 n
-0000316043 00000 n
-0000316207 00000 n
-0000316371 00000 n
-0000316535 00000 n
-0000316699 00000 n
-0000316862 00000 n
-0000317026 00000 n
-0000317188 00000 n
-0000317349 00000 n
-0000331746 00000 n
-0000321190 00000 n
-0000317676 00000 n
-0000331681 00000 n
-0000321858 00000 n
-0000322022 00000 n
-0000322191 00000 n
-0000322360 00000 n
-0000322528 00000 n
-0000322692 00000 n
-0000322856 00000 n
-0000323020 00000 n
-0000323184 00000 n
-0000323348 00000 n
-0000323511 00000 n
-0000323680 00000 n
-0000323849 00000 n
-0000324017 00000 n
-0000324186 00000 n
-0000324355 00000 n
-0000324523 00000 n
-0000324692 00000 n
-0000324861 00000 n
-0000325029 00000 n
-0000325199 00000 n
-0000325369 00000 n
-0000325539 00000 n
-0000325709 00000 n
-0000325879 00000 n
-0000326049 00000 n
-0000326219 00000 n
-0000326389 00000 n
-0000326558 00000 n
-0000326728 00000 n
-0000326897 00000 n
-0000327067 00000 n
-0000327230 00000 n
-0000327394 00000 n
-0000327558 00000 n
-0000327722 00000 n
-0000327886 00000 n
-0000328050 00000 n
-0000328214 00000 n
-0000328377 00000 n
-0000328541 00000 n
-0000328705 00000 n
-0000328869 00000 n
-0000329033 00000 n
-0000329202 00000 n
-0000329371 00000 n
-0000329540 00000 n
-0000329709 00000 n
-0000329866 00000 n
-0000330029 00000 n
-0000330196 00000 n
-0000330364 00000 n
-0000330527 00000 n
-0000330690 00000 n
-0000330853 00000 n
-0000331016 00000 n
-0000331184 00000 n
-0000331350 00000 n
-0000331515 00000 n
-0000344848 00000 n
-0000335410 00000 n
-0000331846 00000 n
-0000344783 00000 n
-0000336033 00000 n
-0000336196 00000 n
-0000336359 00000 n
-0000336517 00000 n
-0000336685 00000 n
-0000336848 00000 n
-0000337016 00000 n
-0000337184 00000 n
-0000337352 00000 n
-0001156369 00000 n
-0001135035 00000 n
-0001156193 00000 n
-0000337520 00000 n
-0000337688 00000 n
-0000337844 00000 n
-0000338002 00000 n
-0000338160 00000 n
-0000338323 00000 n
-0000338486 00000 n
-0000338644 00000 n
-0000338800 00000 n
-0000338958 00000 n
-0000339121 00000 n
-0000339279 00000 n
-0000339437 00000 n
-0000339594 00000 n
-0000339752 00000 n
-0000339915 00000 n
-0000340078 00000 n
-0000340241 00000 n
-0000340404 00000 n
-0000340567 00000 n
-0000340730 00000 n
-0000340893 00000 n
-0000341056 00000 n
-0000341213 00000 n
-0000341371 00000 n
-0000341528 00000 n
-0000341686 00000 n
-0000341844 00000 n
-0000342007 00000 n
-0000342170 00000 n
-0000342333 00000 n
-0000342490 00000 n
-0000342648 00000 n
-0000342811 00000 n
-0000342974 00000 n
-0000343137 00000 n
-0000343300 00000 n
-0000343463 00000 n
-0000343626 00000 n
-0000343793 00000 n
-0000343958 00000 n
-0000344125 00000 n
-0000344292 00000 n
-0000344457 00000 n
-0000344623 00000 n
-0000350931 00000 n
-0000346546 00000 n
-0000344962 00000 n
-0000350866 00000 n
-0000346909 00000 n
-0000347066 00000 n
-0000347224 00000 n
-0000347381 00000 n
-0000347539 00000 n
-0000347696 00000 n
-0000347854 00000 n
-0000348012 00000 n
-0000348170 00000 n
-0000348327 00000 n
-0000348485 00000 n
-0000348643 00000 n
-0000348802 00000 n
-0000348961 00000 n
-0000349120 00000 n
-0000349277 00000 n
-0000349436 00000 n
-0000349595 00000 n
-0001134056 00000 n
-0001113929 00000 n
-0001133881 00000 n
-0000349754 00000 n
-0000349913 00000 n
-0000350072 00000 n
-0000350230 00000 n
-0000350389 00000 n
-0000350548 00000 n
-0000350707 00000 n
-0001233269 00000 n
-0000354122 00000 n
-0000353355 00000 n
-0000351045 00000 n
-0000353543 00000 n
-0000353671 00000 n
-0000353799 00000 n
-0000353927 00000 n
-0000353992 00000 n
-0000354057 00000 n
-0001113087 00000 n
-0001094387 00000 n
-0001112912 00000 n
-0000358690 00000 n
-0000357551 00000 n
-0000354250 00000 n
-0000358051 00000 n
-0000358116 00000 n
-0000358243 00000 n
-0000358371 00000 n
-0000358499 00000 n
-0000357707 00000 n
-0000357901 00000 n
-0000358625 00000 n
-0000734938 00000 n
-0000802968 00000 n
-0000363415 00000 n
-0000362357 00000 n
-0000358818 00000 n
-0000362838 00000 n
-0000362966 00000 n
-0000362513 00000 n
-0000362676 00000 n
-0000363094 00000 n
-0000363222 00000 n
-0000363350 00000 n
-0000379538 00000 n
-0000366690 00000 n
-0000366115 00000 n
-0000363543 00000 n
-0000366241 00000 n
-0000366369 00000 n
-0000366497 00000 n
-0000366625 00000 n
-0000370235 00000 n
-0000369069 00000 n
-0000366804 00000 n
-0000369531 00000 n
-0000369659 00000 n
-0000369787 00000 n
-0000369915 00000 n
-0000370043 00000 n
-0000369225 00000 n
-0000369378 00000 n
-0000370170 00000 n
-0000639194 00000 n
-0000371344 00000 n
-0000371025 00000 n
-0000370321 00000 n
-0000371151 00000 n
-0000371279 00000 n
-0001233394 00000 n
-0000373478 00000 n
-0000372775 00000 n
-0000371444 00000 n
-0000372901 00000 n
-0000373029 00000 n
-0000373156 00000 n
-0000373284 00000 n
-0000373413 00000 n
-0000376097 00000 n
-0000375467 00000 n
-0000373578 00000 n
-0000375773 00000 n
-0000375902 00000 n
-0000375967 00000 n
-0000376032 00000 n
-0000375614 00000 n
-0000616174 00000 n
-0000379732 00000 n
-0000379027 00000 n
-0000376211 00000 n
-0000379153 00000 n
-0000379282 00000 n
-0000379409 00000 n
-0001093665 00000 n
-0001080288 00000 n
-0001093486 00000 n
-0000379667 00000 n
-0000384642 00000 n
-0000384081 00000 n
-0000379860 00000 n
-0000384577 00000 n
-0000384237 00000 n
-0000384391 00000 n
-0000985959 00000 n
-0000491758 00000 n
-0000386932 00000 n
-0000386484 00000 n
-0000384798 00000 n
-0000386610 00000 n
-0000386738 00000 n
-0000386803 00000 n
-0000386868 00000 n
-0000387401 00000 n
-0000387210 00000 n
-0000387060 00000 n
-0000387336 00000 n
-0001233519 00000 n
-0000390152 00000 n
-0000392742 00000 n
-0000389987 00000 n
-0000387443 00000 n
-0000392290 00000 n
-0000392419 00000 n
-0000392548 00000 n
-0000391795 00000 n
-0000391957 00000 n
-0001079382 00000 n
-0001069362 00000 n
-0001079208 00000 n
-0001068798 00000 n
-0001059712 00000 n
-0001068623 00000 n
-0000392677 00000 n
-0000392119 00000 n
+0000019916 00000 n
+0000799899 00000 n
+0001259178 00000 n
+0000019970 00000 n
+0000020008 00000 n
+0000800027 00000 n
+0001259085 00000 n
+0000020062 00000 n
+0000020096 00000 n
+0000800156 00000 n
+0001258992 00000 n
+0000020150 00000 n
+0000020190 00000 n
+0000800285 00000 n
+0001258899 00000 n
+0000020244 00000 n
+0000020282 00000 n
+0000804927 00000 n
+0001258806 00000 n
+0000020336 00000 n
+0000020377 00000 n
+0000805055 00000 n
+0001258713 00000 n
+0000020431 00000 n
+0000020466 00000 n
+0000805184 00000 n
+0001258620 00000 n
+0000020520 00000 n
+0000020557 00000 n
+0000805313 00000 n
+0001258541 00000 n
+0000020611 00000 n
+0000020646 00000 n
+0000808569 00000 n
+0001258408 00000 n
+0000020694 00000 n
+0000020751 00000 n
+0000808698 00000 n
+0001258343 00000 n
+0000020800 00000 n
+0000020831 00000 n
+0000812969 00000 n
+0001258210 00000 n
+0000020879 00000 n
+0000020934 00000 n
+0000813098 00000 n
+0001258131 00000 n
+0000020983 00000 n
+0000021030 00000 n
+0000813227 00000 n
+0001258013 00000 n
+0000021079 00000 n
+0000021141 00000 n
+0000813356 00000 n
+0001257934 00000 n
+0000021195 00000 n
+0000021250 00000 n
+0000837645 00000 n
+0001257841 00000 n
+0000021304 00000 n
+0000021345 00000 n
+0000837774 00000 n
+0001257762 00000 n
+0000021399 00000 n
+0000021451 00000 n
+0000841125 00000 n
+0001257629 00000 n
+0000021499 00000 n
+0000021547 00000 n
+0000841254 00000 n
+0001257525 00000 n
+0000021596 00000 n
+0000021646 00000 n
+0000841382 00000 n
+0001257446 00000 n
+0000021700 00000 n
+0000021738 00000 n
+0000841511 00000 n
+0001257353 00000 n
+0000021792 00000 n
+0000021829 00000 n
+0000844806 00000 n
+0001257260 00000 n
+0000021883 00000 n
+0000021921 00000 n
+0000844935 00000 n
+0001257167 00000 n
+0000021975 00000 n
+0000022027 00000 n
+0000845063 00000 n
+0001257074 00000 n
+0000022081 00000 n
+0000022124 00000 n
+0000845191 00000 n
+0001256942 00000 n
+0000022178 00000 n
+0000022223 00000 n
+0000847908 00000 n
+0001256863 00000 n
+0000022282 00000 n
+0000022348 00000 n
+0000848037 00000 n
+0001256770 00000 n
+0000022407 00000 n
+0000022495 00000 n
+0000851255 00000 n
+0001256677 00000 n
+0000022554 00000 n
+0000022629 00000 n
+0000851383 00000 n
+0001256584 00000 n
+0000022688 00000 n
+0000022773 00000 n
+0000851512 00000 n
+0001256491 00000 n
+0000022832 00000 n
+0000022913 00000 n
+0000854514 00000 n
+0001256412 00000 n
+0000022972 00000 n
+0000023056 00000 n
+0000855602 00000 n
+0001256333 00000 n
+0000023110 00000 n
+0000023154 00000 n
+0000858216 00000 n
+0001256213 00000 n
+0000023202 00000 n
+0000023236 00000 n
+0000858345 00000 n
+0001256134 00000 n
+0000023285 00000 n
+0000023312 00000 n
+0000880233 00000 n
+0001256041 00000 n
+0000023361 00000 n
+0000023389 00000 n
+0000887558 00000 n
+0001255948 00000 n
+0000023438 00000 n
+0000023476 00000 n
+0000891178 00000 n
+0001255855 00000 n
+0000023525 00000 n
+0000023564 00000 n
+0000894544 00000 n
+0001255762 00000 n
+0000023613 00000 n
+0000023653 00000 n
+0000900672 00000 n
+0001255669 00000 n
+0000023702 00000 n
+0000023745 00000 n
+0000911039 00000 n
+0001255576 00000 n
+0000023794 00000 n
+0000023831 00000 n
+0000924917 00000 n
+0001255483 00000 n
+0000023880 00000 n
+0000023917 00000 n
+0000927972 00000 n
+0001255390 00000 n
+0000023966 00000 n
+0000024004 00000 n
+0000935000 00000 n
+0001255297 00000 n
+0000024054 00000 n
+0000024094 00000 n
+0000952483 00000 n
+0001255204 00000 n
+0000024144 00000 n
+0000024182 00000 n
+0000955686 00000 n
+0001255111 00000 n
+0000024232 00000 n
+0000024272 00000 n
+0000961733 00000 n
+0001255018 00000 n
+0000024322 00000 n
+0000024362 00000 n
+0000968690 00000 n
+0001254925 00000 n
+0000024412 00000 n
+0000024442 00000 n
+0000978465 00000 n
+0001254832 00000 n
+0000024492 00000 n
+0000024535 00000 n
+0000981463 00000 n
+0001254739 00000 n
+0000024585 00000 n
+0000024618 00000 n
+0000999049 00000 n
+0001254646 00000 n
+0000024668 00000 n
+0000024697 00000 n
+0001013476 00000 n
+0001254553 00000 n
+0000024747 00000 n
+0000024781 00000 n
+0001019599 00000 n
+0001254460 00000 n
+0000024831 00000 n
+0000024868 00000 n
+0001026426 00000 n
+0001254367 00000 n
+0000024918 00000 n
+0000024955 00000 n
+0001029213 00000 n
+0001254274 00000 n
+0000025005 00000 n
+0000025038 00000 n
+0001031309 00000 n
+0001254181 00000 n
+0000025088 00000 n
+0000025122 00000 n
+0001031826 00000 n
+0001254088 00000 n
+0000025172 00000 n
+0000025211 00000 n
+0001034736 00000 n
+0001254009 00000 n
+0000025261 00000 n
+0000025295 00000 n
+0000025705 00000 n
+0000025827 00000 n
+0000290656 00000 n
+0000025348 00000 n
+0000290530 00000 n
+0000290593 00000 n
+0001247675 00000 n
+0001221485 00000 n
+0001247501 00000 n
+0001220238 00000 n
+0001193516 00000 n
+0001220064 00000 n
+0001248730 00000 n
+0000027140 00000 n
+0000027333 00000 n
+0000027415 00000 n
+0000027454 00000 n
+0000027538 00000 n
+0000027663 00000 n
+0000027929 00000 n
+0000028289 00000 n
+0000028322 00000 n
+0000028417 00000 n
+0000029451 00000 n
+0000040588 00000 n
+0000106179 00000 n
+0000171770 00000 n
+0000237361 00000 n
+0000292119 00000 n
+0000291929 00000 n
+0000290769 00000 n
+0000292054 00000 n
+0001192829 00000 n
+0001190681 00000 n
+0001192663 00000 n
+0000304022 00000 n
+0000295260 00000 n
+0000292206 00000 n
+0000303892 00000 n
+0000303957 00000 n
+0000295847 00000 n
+0000296002 00000 n
+0000296160 00000 n
+0000296318 00000 n
+0000296476 00000 n
+0000296634 00000 n
+0000296797 00000 n
+0000296960 00000 n
+0000297122 00000 n
+0000297285 00000 n
+0000297453 00000 n
+0000297621 00000 n
+0000297787 00000 n
+0000297950 00000 n
+0000298117 00000 n
+0000298280 00000 n
+0000298435 00000 n
+0000298593 00000 n
+0000298751 00000 n
+0000298908 00000 n
+0000299065 00000 n
+0000299223 00000 n
+0000299379 00000 n
+0000299537 00000 n
+0000299700 00000 n
+0000299863 00000 n
+0000300021 00000 n
+0000300177 00000 n
+0000300339 00000 n
+0000300507 00000 n
+0000300675 00000 n
+0000300838 00000 n
+0000300994 00000 n
+0000301152 00000 n
+0000301310 00000 n
+0000301473 00000 n
+0000301631 00000 n
+0000301789 00000 n
+0000301952 00000 n
+0000302110 00000 n
+0000302273 00000 n
+0000302441 00000 n
+0000302609 00000 n
+0000302772 00000 n
+0000302935 00000 n
+0000303098 00000 n
+0000303261 00000 n
+0000303424 00000 n
+0000303580 00000 n
+0000303736 00000 n
+0000317565 00000 n
+0000307499 00000 n
+0000304108 00000 n
+0000317500 00000 n
+0001190093 00000 n
+0001172672 00000 n
+0001189907 00000 n
+0000308149 00000 n
+0000308313 00000 n
+0000308477 00000 n
+0000308640 00000 n
+0000308799 00000 n
+0000308963 00000 n
+0000309126 00000 n
+0000309290 00000 n
+0000309454 00000 n
+0000309618 00000 n
+0000309782 00000 n
+0000309946 00000 n
+0000310110 00000 n
+0000310274 00000 n
+0000310439 00000 n
+0000310604 00000 n
+0000310769 00000 n
+0000310934 00000 n
+0000311094 00000 n
+0000311259 00000 n
+0000311423 00000 n
+0000311583 00000 n
+0000311748 00000 n
+0000311917 00000 n
+0000312087 00000 n
+0000312257 00000 n
+0000312422 00000 n
+0000312591 00000 n
+0000312761 00000 n
+0000312931 00000 n
+0000313095 00000 n
+0000313260 00000 n
+0000313425 00000 n
+0000313590 00000 n
+0000313749 00000 n
+0000313914 00000 n
+0000314079 00000 n
+0000314236 00000 n
+0000314395 00000 n
+0000314554 00000 n
+0000314710 00000 n
+0000314869 00000 n
+0000315033 00000 n
+0000315202 00000 n
+0000315371 00000 n
+0000315535 00000 n
+0000315704 00000 n
+0000315873 00000 n
+0000316032 00000 n
+0000316196 00000 n
+0000316360 00000 n
+0000316524 00000 n
+0000316688 00000 n
+0000316851 00000 n
+0000317015 00000 n
+0000317177 00000 n
+0000317338 00000 n
+0000331726 00000 n
+0000321171 00000 n
+0000317665 00000 n
+0000331661 00000 n
+0000321839 00000 n
+0000322003 00000 n
+0000322172 00000 n
+0000322341 00000 n
+0000322509 00000 n
+0000322673 00000 n
+0000322837 00000 n
+0000323001 00000 n
+0000323165 00000 n
+0000323329 00000 n
+0000323492 00000 n
+0000323661 00000 n
+0000323830 00000 n
+0000323998 00000 n
+0000324167 00000 n
+0000324336 00000 n
+0000324504 00000 n
+0000324673 00000 n
+0000324842 00000 n
+0000325010 00000 n
+0000325180 00000 n
+0000325350 00000 n
+0000325520 00000 n
+0000325690 00000 n
+0000325860 00000 n
+0000326030 00000 n
+0000326200 00000 n
+0000326370 00000 n
+0000326539 00000 n
+0000326709 00000 n
+0000326878 00000 n
+0000327048 00000 n
+0000327212 00000 n
+0000327376 00000 n
+0000327540 00000 n
+0000327704 00000 n
+0000327867 00000 n
+0000328031 00000 n
+0000328195 00000 n
+0000328358 00000 n
+0000328522 00000 n
+0000328686 00000 n
+0000328850 00000 n
+0000329014 00000 n
+0000329183 00000 n
+0000329352 00000 n
+0000329521 00000 n
+0000329690 00000 n
+0000329847 00000 n
+0000330010 00000 n
+0000330177 00000 n
+0000330345 00000 n
+0000330508 00000 n
+0000330671 00000 n
+0000330834 00000 n
+0000330997 00000 n
+0000331164 00000 n
+0000331330 00000 n
+0000331495 00000 n
+0000344819 00000 n
+0000335380 00000 n
+0000331826 00000 n
+0000344754 00000 n
+0000336003 00000 n
+0000336166 00000 n
+0000336329 00000 n
+0000336487 00000 n
+0000336655 00000 n
+0000336818 00000 n
+0000336986 00000 n
+0000337154 00000 n
+0000337322 00000 n
+0001171781 00000 n
+0001150446 00000 n
+0001171605 00000 n
+0000337490 00000 n
+0000337658 00000 n
+0000337814 00000 n
+0000337972 00000 n
+0000338130 00000 n
+0000338293 00000 n
+0000338456 00000 n
+0000338614 00000 n
+0000338770 00000 n
+0000338928 00000 n
+0000339091 00000 n
+0000339249 00000 n
+0000339407 00000 n
+0000339564 00000 n
+0000339722 00000 n
+0000339885 00000 n
+0000340048 00000 n
+0000340211 00000 n
+0000340374 00000 n
+0000340537 00000 n
+0000340700 00000 n
+0000340863 00000 n
+0000341026 00000 n
+0000341183 00000 n
+0000341341 00000 n
+0000341498 00000 n
+0000341656 00000 n
+0000341814 00000 n
+0000341977 00000 n
+0000342140 00000 n
+0000342303 00000 n
+0000342459 00000 n
+0000342617 00000 n
+0000342780 00000 n
+0000342943 00000 n
+0000343105 00000 n
+0000343268 00000 n
+0000343430 00000 n
+0000343592 00000 n
+0000343760 00000 n
+0000343928 00000 n
+0000344095 00000 n
+0000344262 00000 n
+0000344427 00000 n
+0000344593 00000 n
+0000350903 00000 n
+0000346518 00000 n
+0000344933 00000 n
+0000350838 00000 n
+0000346881 00000 n
+0000347038 00000 n
+0000347196 00000 n
+0000347353 00000 n
+0000347511 00000 n
+0000347668 00000 n
+0000347826 00000 n
+0000347984 00000 n
+0000348142 00000 n
+0000348299 00000 n
+0000348457 00000 n
+0000348615 00000 n
+0000348774 00000 n
+0000348933 00000 n
+0000349092 00000 n
+0000349249 00000 n
+0000349408 00000 n
+0000349567 00000 n
+0001149467 00000 n
+0001129340 00000 n
+0001149292 00000 n
+0000349726 00000 n
+0000349885 00000 n
+0000350044 00000 n
+0000350202 00000 n
+0000350361 00000 n
+0000350520 00000 n
+0000350679 00000 n
+0001248853 00000 n
+0000354092 00000 n
+0000353325 00000 n
+0000351017 00000 n
+0000353513 00000 n
+0000353641 00000 n
+0000353769 00000 n
+0000353897 00000 n
+0000353962 00000 n
+0000354027 00000 n
+0001128498 00000 n
+0001109798 00000 n
+0001128323 00000 n
+0000358657 00000 n
+0000357518 00000 n
+0000354220 00000 n
+0000358018 00000 n
+0000358083 00000 n
+0000358210 00000 n
+0000358338 00000 n
+0000358466 00000 n
+0000357674 00000 n
+0000357868 00000 n
+0000358592 00000 n
+0000739831 00000 n
+0000813420 00000 n
+0000363381 00000 n
+0000362323 00000 n
+0000358785 00000 n
+0000362804 00000 n
+0000362932 00000 n
+0000362479 00000 n
+0000362642 00000 n
+0000363060 00000 n
+0000363188 00000 n
+0000363316 00000 n
+0000379487 00000 n
+0000366653 00000 n
+0000366078 00000 n
+0000363509 00000 n
+0000366204 00000 n
+0000366332 00000 n
+0000366460 00000 n
+0000366588 00000 n
+0000370195 00000 n
+0000369029 00000 n
+0000366767 00000 n
+0000369491 00000 n
+0000369619 00000 n
+0000369747 00000 n
+0000369875 00000 n
+0000370003 00000 n
+0000369185 00000 n
+0000369338 00000 n
+0000370130 00000 n
+0000647961 00000 n
+0000371302 00000 n
+0000370983 00000 n
+0000370281 00000 n
+0000371109 00000 n
+0000371237 00000 n
+0001248978 00000 n
+0000373434 00000 n
+0000372731 00000 n
+0000371402 00000 n
+0000372857 00000 n
+0000372985 00000 n
+0000373112 00000 n
+0000373240 00000 n
+0000373369 00000 n
+0000376049 00000 n
+0000375419 00000 n
+0000373534 00000 n
+0000375725 00000 n
+0000375854 00000 n
+0000375919 00000 n
+0000375984 00000 n
+0000375566 00000 n
+0000624222 00000 n
+0000379681 00000 n
+0000378976 00000 n
+0000376163 00000 n
+0000379102 00000 n
+0000379231 00000 n
+0000379358 00000 n
+0001109076 00000 n
+0001095699 00000 n
+0001108897 00000 n
+0000379616 00000 n
+0000384588 00000 n
+0000384027 00000 n
+0000379809 00000 n
+0000384523 00000 n
+0000384183 00000 n
+0000384337 00000 n
+0000999113 00000 n
+0000491630 00000 n
+0000386875 00000 n
+0000386427 00000 n
+0000384744 00000 n
+0000386553 00000 n
+0000386681 00000 n
+0000386746 00000 n
+0000386811 00000 n
+0000387344 00000 n
+0000387153 00000 n
+0000387003 00000 n
+0000387279 00000 n
+0001249103 00000 n
+0000390094 00000 n
+0000392684 00000 n
+0000389929 00000 n
+0000387386 00000 n
+0000392232 00000 n
+0000392361 00000 n
+0000392490 00000 n
+0000391737 00000 n
+0000391899 00000 n
+0001094793 00000 n
+0001084773 00000 n
+0001094619 00000 n
+0001084205 00000 n
+0001075065 00000 n
+0001084030 00000 n
+0000392619 00000 n
+0000392061 00000 n
+0000391566 00000 n
0000391624 00000 n
-0000391682 00000 n
-0000391772 00000 n
-0000552098 00000 n
-0000593187 00000 n
-0000723702 00000 n
-0000397553 00000 n
-0000396618 00000 n
-0000392913 00000 n
-0000397101 00000 n
-0000397230 00000 n
-0001059111 00000 n
-0001046690 00000 n
-0001058932 00000 n
-0000397359 00000 n
-0000396774 00000 n
-0000396939 00000 n
-0000397488 00000 n
-0000806932 00000 n
-0000401315 00000 n
-0000400995 00000 n
-0000397709 00000 n
-0000401121 00000 n
-0000401250 00000 n
-0000402933 00000 n
-0000402553 00000 n
-0000401457 00000 n
+0000391714 00000 n
+0000552002 00000 n
+0000593404 00000 n
+0000728631 00000 n
+0000397493 00000 n
+0000396558 00000 n
+0000392855 00000 n
+0000397041 00000 n
+0000397170 00000 n
+0001074427 00000 n
+0001061691 00000 n
+0001074248 00000 n
+0000397299 00000 n
+0000396714 00000 n
+0000396879 00000 n
+0000397428 00000 n
+0000817381 00000 n
+0000401253 00000 n
+0000400933 00000 n
+0000397649 00000 n
+0000401059 00000 n
+0000401188 00000 n
0000402868 00000 n
-0000402700 00000 n
-0000404546 00000 n
-0000404227 00000 n
-0000403034 00000 n
-0000404353 00000 n
-0000404482 00000 n
-0000408041 00000 n
-0000407205 00000 n
-0000404660 00000 n
-0000407331 00000 n
-0000407460 00000 n
-0000407589 00000 n
-0000407718 00000 n
-0000407847 00000 n
-0000407976 00000 n
-0001233644 00000 n
-0000411926 00000 n
-0000411029 00000 n
-0000408183 00000 n
-0000411346 00000 n
-0000411475 00000 n
-0000411604 00000 n
-0000411176 00000 n
-0000411733 00000 n
-0000411862 00000 n
-0000416075 00000 n
-0000415498 00000 n
-0000412068 00000 n
-0000415624 00000 n
-0000415753 00000 n
-0000415881 00000 n
-0000416010 00000 n
-0000420147 00000 n
-0000419699 00000 n
-0000416217 00000 n
-0000419825 00000 n
-0000419954 00000 n
-0000420082 00000 n
-0000422189 00000 n
-0000421998 00000 n
-0000420275 00000 n
-0000422124 00000 n
-0000425498 00000 n
-0000425049 00000 n
-0000422290 00000 n
-0000425175 00000 n
-0001046415 00000 n
-0001043057 00000 n
-0001046236 00000 n
-0000425304 00000 n
-0000425433 00000 n
-0000429645 00000 n
-0000428837 00000 n
-0000425669 00000 n
-0000429322 00000 n
-0000429451 00000 n
-0000429580 00000 n
-0001042702 00000 n
-0001040705 00000 n
-0001042537 00000 n
-0000428993 00000 n
-0000429157 00000 n
-0001233769 00000 n
-0000900917 00000 n
-0000917800 00000 n
-0000433021 00000 n
-0000432444 00000 n
-0000429773 00000 n
-0000432570 00000 n
-0000432699 00000 n
-0000432828 00000 n
-0000432957 00000 n
-0000436601 00000 n
-0000435640 00000 n
-0000433135 00000 n
-0000435766 00000 n
-0000435895 00000 n
-0000436024 00000 n
-0000436153 00000 n
-0000436280 00000 n
-0000436409 00000 n
-0000436537 00000 n
-0000440847 00000 n
-0000439960 00000 n
-0000436729 00000 n
-0000440267 00000 n
-0000440396 00000 n
-0000440525 00000 n
-0000440654 00000 n
-0000440107 00000 n
-0000440782 00000 n
-0000678397 00000 n
-0000444634 00000 n
-0000444186 00000 n
-0000440961 00000 n
-0000444312 00000 n
-0000444441 00000 n
-0000444569 00000 n
-0000447316 00000 n
-0000446996 00000 n
-0000444791 00000 n
-0000447122 00000 n
-0000447251 00000 n
-0000450087 00000 n
-0000449639 00000 n
-0000447473 00000 n
-0000449765 00000 n
-0000449894 00000 n
-0000450022 00000 n
-0001233894 00000 n
-0000452884 00000 n
-0000452178 00000 n
-0000450201 00000 n
-0000452304 00000 n
-0000452432 00000 n
-0000452561 00000 n
-0000452690 00000 n
-0000452819 00000 n
-0000455978 00000 n
-0000455531 00000 n
-0000452998 00000 n
-0000455657 00000 n
-0000455786 00000 n
-0000455914 00000 n
-0000458902 00000 n
-0000458454 00000 n
-0000456092 00000 n
-0000458580 00000 n
-0000458708 00000 n
-0000458837 00000 n
-0000461893 00000 n
-0000463431 00000 n
-0000461746 00000 n
-0000459030 00000 n
-0000462980 00000 n
-0000463108 00000 n
-0000462819 00000 n
-0000463237 00000 n
-0000463366 00000 n
-0000802710 00000 n
-0000464231 00000 n
-0000464040 00000 n
-0000463602 00000 n
-0000464166 00000 n
-0000464673 00000 n
-0000464482 00000 n
-0000464332 00000 n
-0000464608 00000 n
-0001234019 00000 n
-0000467376 00000 n
-0000466798 00000 n
-0000464715 00000 n
-0000466924 00000 n
-0000467053 00000 n
-0000467182 00000 n
-0000467311 00000 n
-0000467817 00000 n
-0000467626 00000 n
-0000467476 00000 n
-0000467752 00000 n
-0000471957 00000 n
-0000471191 00000 n
-0000467859 00000 n
-0000471505 00000 n
-0000471634 00000 n
-0000471762 00000 n
-0000471827 00000 n
-0000471892 00000 n
-0000471338 00000 n
-0000480101 00000 n
-0000476721 00000 n
-0000476530 00000 n
-0000472057 00000 n
-0000476656 00000 n
-0000480424 00000 n
-0000479846 00000 n
-0000476863 00000 n
-0000479972 00000 n
-0000480230 00000 n
-0000480359 00000 n
-0000483153 00000 n
+0000402488 00000 n
+0000401395 00000 n
+0000402803 00000 n
+0000402635 00000 n
+0000404479 00000 n
+0000404160 00000 n
+0000402969 00000 n
+0000404286 00000 n
+0000404415 00000 n
+0000407971 00000 n
+0000407135 00000 n
+0000404593 00000 n
+0000407261 00000 n
+0000407390 00000 n
+0000407519 00000 n
+0000407648 00000 n
+0000407777 00000 n
+0000407906 00000 n
+0001249228 00000 n
+0000411854 00000 n
+0000410957 00000 n
+0000408113 00000 n
+0000411274 00000 n
+0000411403 00000 n
+0000411532 00000 n
+0000411104 00000 n
+0000411661 00000 n
+0000411790 00000 n
+0000416001 00000 n
+0000415424 00000 n
+0000411996 00000 n
+0000415550 00000 n
+0000415679 00000 n
+0000415807 00000 n
+0000415936 00000 n
+0000420069 00000 n
+0000419621 00000 n
+0000416143 00000 n
+0000419747 00000 n
+0000419876 00000 n
+0000420004 00000 n
+0000422108 00000 n
+0000421917 00000 n
+0000420197 00000 n
+0000422043 00000 n
+0000425415 00000 n
+0000424966 00000 n
+0000422209 00000 n
+0000425092 00000 n
+0001061416 00000 n
+0001058057 00000 n
+0001061237 00000 n
+0000425221 00000 n
+0000425350 00000 n
+0000429559 00000 n
+0000428751 00000 n
+0000425586 00000 n
+0000429236 00000 n
+0000429365 00000 n
+0000429494 00000 n
+0001057702 00000 n
+0001055704 00000 n
+0001057537 00000 n
+0000428907 00000 n
+0000429071 00000 n
+0001249353 00000 n
+0000911103 00000 n
+0000928036 00000 n
+0000432933 00000 n
+0000432356 00000 n
+0000429687 00000 n
+0000432482 00000 n
+0000432611 00000 n
+0000432740 00000 n
+0000432869 00000 n
+0000436510 00000 n
+0000435549 00000 n
+0000433047 00000 n
+0000435675 00000 n
+0000435804 00000 n
+0000435933 00000 n
+0000436062 00000 n
+0000436189 00000 n
+0000436318 00000 n
+0000436446 00000 n
+0000440754 00000 n
+0000439867 00000 n
+0000436638 00000 n
+0000440174 00000 n
+0000440303 00000 n
+0000440432 00000 n
+0000440561 00000 n
+0000440014 00000 n
+0000440689 00000 n
+0000687345 00000 n
+0000444538 00000 n
+0000444090 00000 n
+0000440868 00000 n
+0000444216 00000 n
+0000444345 00000 n
+0000444473 00000 n
+0000447217 00000 n
+0000446897 00000 n
+0000444695 00000 n
+0000447023 00000 n
+0000447152 00000 n
+0000449985 00000 n
+0000449537 00000 n
+0000447374 00000 n
+0000449663 00000 n
+0000449792 00000 n
+0000449920 00000 n
+0001249478 00000 n
+0000452780 00000 n
+0000452074 00000 n
+0000450099 00000 n
+0000452200 00000 n
+0000452328 00000 n
+0000452457 00000 n
+0000452586 00000 n
+0000452715 00000 n
+0000455874 00000 n
+0000455427 00000 n
+0000452894 00000 n
+0000455553 00000 n
+0000455682 00000 n
+0000455810 00000 n
+0000458796 00000 n
+0000458348 00000 n
+0000455988 00000 n
+0000458474 00000 n
+0000458602 00000 n
+0000458731 00000 n
+0000461784 00000 n
+0000463322 00000 n
+0000461637 00000 n
+0000458924 00000 n
+0000462871 00000 n
+0000462999 00000 n
+0000462710 00000 n
+0000463128 00000 n
+0000463257 00000 n
+0000813162 00000 n
+0000464119 00000 n
+0000463928 00000 n
+0000463493 00000 n
+0000464054 00000 n
+0000464561 00000 n
+0000464370 00000 n
+0000464220 00000 n
+0000464496 00000 n
+0001249603 00000 n
+0000467261 00000 n
+0000466683 00000 n
+0000464603 00000 n
+0000466809 00000 n
+0000466938 00000 n
+0000467067 00000 n
+0000467196 00000 n
+0000467702 00000 n
+0000467511 00000 n
+0000467361 00000 n
+0000467637 00000 n
+0000471840 00000 n
+0000471074 00000 n
+0000467744 00000 n
+0000471388 00000 n
+0000471517 00000 n
+0000471645 00000 n
+0000471710 00000 n
+0000471775 00000 n
+0000471221 00000 n
+0000479979 00000 n
+0000476601 00000 n
+0000476410 00000 n
+0000471940 00000 n
+0000476536 00000 n
+0000480302 00000 n
+0000479724 00000 n
+0000476743 00000 n
+0000479850 00000 n
+0000480108 00000 n
+0000480237 00000 n
+0000483027 00000 n
+0000482449 00000 n
+0000480444 00000 n
0000482575 00000 n
-0000480566 00000 n
-0000482701 00000 n
-0000482830 00000 n
-0000482959 00000 n
-0000483088 00000 n
-0001234144 00000 n
-0000486736 00000 n
-0000485898 00000 n
-0000483310 00000 n
-0000486024 00000 n
-0000486153 00000 n
-0000486218 00000 n
-0000486283 00000 n
-0000486412 00000 n
-0000486541 00000 n
-0000486606 00000 n
-0000486671 00000 n
+0000482704 00000 n
+0000482833 00000 n
+0000482962 00000 n
+0001249728 00000 n
+0000486608 00000 n
+0000485770 00000 n
+0000483184 00000 n
+0000485896 00000 n
+0000486025 00000 n
+0000486090 00000 n
+0000486155 00000 n
+0000486284 00000 n
+0000486413 00000 n
+0000486478 00000 n
+0000486543 00000 n
+0000491695 00000 n
+0000490908 00000 n
+0000486722 00000 n
+0000491372 00000 n
+0000491501 00000 n
+0000491064 00000 n
+0000491214 00000 n
+0001036684 00000 n
+0000496346 00000 n
+0000494948 00000 n
0000491823 00000 n
-0000491036 00000 n
-0000486850 00000 n
-0000491500 00000 n
-0000491629 00000 n
-0000491192 00000 n
-0000491342 00000 n
-0001021684 00000 n
-0000496468 00000 n
-0000495070 00000 n
-0000491951 00000 n
-0000495760 00000 n
-0000495889 00000 n
-0000496018 00000 n
-0000496147 00000 n
-0000496276 00000 n
-0000495235 00000 n
-0000495386 00000 n
-0000495573 00000 n
-0000496404 00000 n
-0000499800 00000 n
-0000499351 00000 n
-0000496624 00000 n
-0000499477 00000 n
-0000499606 00000 n
-0000499735 00000 n
-0000504229 00000 n
-0000504038 00000 n
-0000499928 00000 n
-0000504164 00000 n
-0000507126 00000 n
-0000506619 00000 n
-0000504343 00000 n
-0000506933 00000 n
-0000506766 00000 n
-0000507061 00000 n
-0001234269 00000 n
-0000510519 00000 n
-0000510198 00000 n
-0000507240 00000 n
-0000510324 00000 n
-0000510389 00000 n
-0000510454 00000 n
-0000514108 00000 n
-0000513788 00000 n
-0000510633 00000 n
-0000513914 00000 n
-0000514043 00000 n
-0000517628 00000 n
-0000517307 00000 n
-0000514236 00000 n
-0000517433 00000 n
-0000517498 00000 n
-0000517563 00000 n
-0000521140 00000 n
-0000520228 00000 n
-0000517729 00000 n
-0000520689 00000 n
-0000520818 00000 n
-0000520947 00000 n
-0000520384 00000 n
-0000520538 00000 n
-0000521075 00000 n
-0000523105 00000 n
-0000522657 00000 n
-0000521254 00000 n
-0000522783 00000 n
-0000522912 00000 n
-0000523041 00000 n
-0000524682 00000 n
-0000524491 00000 n
-0000523219 00000 n
-0000524617 00000 n
-0001234394 00000 n
-0000526277 00000 n
-0000526086 00000 n
-0000524783 00000 n
-0000526212 00000 n
-0000527773 00000 n
-0000527582 00000 n
-0000526378 00000 n
-0000527708 00000 n
-0000530868 00000 n
-0000530548 00000 n
-0000527874 00000 n
-0000530674 00000 n
-0000530803 00000 n
-0000535029 00000 n
-0000534838 00000 n
-0000530996 00000 n
-0000534964 00000 n
-0000539544 00000 n
-0000538996 00000 n
-0000535171 00000 n
-0000539479 00000 n
-0000539152 00000 n
-0000539309 00000 n
-0000764334 00000 n
-0000543822 00000 n
-0000543425 00000 n
-0000539672 00000 n
-0000543757 00000 n
-0000543572 00000 n
-0001234519 00000 n
-0000548216 00000 n
-0000547670 00000 n
-0000543964 00000 n
-0000548151 00000 n
-0000547826 00000 n
-0000547996 00000 n
-0000552293 00000 n
-0000551843 00000 n
-0000548344 00000 n
-0000551969 00000 n
-0000552163 00000 n
-0000552228 00000 n
-0000556736 00000 n
-0000556370 00000 n
-0000552407 00000 n
-0000556671 00000 n
-0000556517 00000 n
-0000561573 00000 n
-0000560605 00000 n
-0000556864 00000 n
-0000561508 00000 n
-0000560779 00000 n
-0000560964 00000 n
-0000561138 00000 n
-0000561323 00000 n
-0000668528 00000 n
-0000565797 00000 n
-0000565606 00000 n
-0000561772 00000 n
-0000565732 00000 n
-0000569806 00000 n
-0000569615 00000 n
-0000565911 00000 n
+0000495638 00000 n
+0000495767 00000 n
+0000495896 00000 n
+0000496025 00000 n
+0000496154 00000 n
+0000495113 00000 n
+0000495264 00000 n
+0000495451 00000 n
+0000496282 00000 n
+0000499675 00000 n
+0000499226 00000 n
+0000496502 00000 n
+0000499352 00000 n
+0000499481 00000 n
+0000499610 00000 n
+0000504100 00000 n
+0000503909 00000 n
+0000499803 00000 n
+0000504035 00000 n
+0000506994 00000 n
+0000506487 00000 n
+0000504214 00000 n
+0000506801 00000 n
+0000506634 00000 n
+0000506929 00000 n
+0001249853 00000 n
+0000510385 00000 n
+0000510064 00000 n
+0000507108 00000 n
+0000510190 00000 n
+0000510255 00000 n
+0000510320 00000 n
+0000513971 00000 n
+0000513651 00000 n
+0000510499 00000 n
+0000513777 00000 n
+0000513906 00000 n
+0000517489 00000 n
+0000517168 00000 n
+0000514099 00000 n
+0000517294 00000 n
+0000517359 00000 n
+0000517424 00000 n
+0000520997 00000 n
+0000520085 00000 n
+0000517590 00000 n
+0000520546 00000 n
+0000520675 00000 n
+0000520804 00000 n
+0000520241 00000 n
+0000520395 00000 n
+0000520932 00000 n
+0000522960 00000 n
+0000522512 00000 n
+0000521111 00000 n
+0000522638 00000 n
+0000522767 00000 n
+0000522896 00000 n
+0000524534 00000 n
+0000524343 00000 n
+0000523074 00000 n
+0000524469 00000 n
+0001249978 00000 n
+0000526116 00000 n
+0000525925 00000 n
+0000524635 00000 n
+0000526051 00000 n
+0000527622 00000 n
+0000527431 00000 n
+0000526217 00000 n
+0000527557 00000 n
+0000530787 00000 n
+0000530467 00000 n
+0000527723 00000 n
+0000530593 00000 n
+0000530722 00000 n
+0000534943 00000 n
+0000534752 00000 n
+0000530915 00000 n
+0000534878 00000 n
+0000539454 00000 n
+0000538906 00000 n
+0000535085 00000 n
+0000539389 00000 n
+0000539062 00000 n
+0000539219 00000 n
+0000772550 00000 n
+0000543731 00000 n
+0000543334 00000 n
+0000539582 00000 n
+0000543666 00000 n
+0000543481 00000 n
+0001250103 00000 n
+0000548123 00000 n
+0000547577 00000 n
+0000543873 00000 n
+0000548058 00000 n
+0000547733 00000 n
+0000547903 00000 n
+0000552197 00000 n
+0000551747 00000 n
+0000548251 00000 n
+0000551873 00000 n
+0000552067 00000 n
+0000552132 00000 n
+0000556640 00000 n
+0000556274 00000 n
+0000552311 00000 n
+0000556575 00000 n
+0000556421 00000 n
+0000561475 00000 n
+0000560507 00000 n
+0000556768 00000 n
+0000561410 00000 n
+0000560681 00000 n
+0000560866 00000 n
+0000561040 00000 n
+0000561225 00000 n
+0000672768 00000 n
+0000565779 00000 n
+0000565588 00000 n
+0000561674 00000 n
+0000565714 00000 n
0000569741 00000 n
-0001234644 00000 n
-0000574411 00000 n
-0000573733 00000 n
-0000569920 00000 n
-0000574218 00000 n
-0000573889 00000 n
-0000574053 00000 n
-0000574347 00000 n
-0000578377 00000 n
-0000577564 00000 n
-0000574525 00000 n
-0000578057 00000 n
-0000577720 00000 n
-0000578186 00000 n
-0000578312 00000 n
-0000577890 00000 n
-0000687913 00000 n
-0000582595 00000 n
-0000582034 00000 n
-0000578548 00000 n
-0000582530 00000 n
-0000582190 00000 n
-0000582359 00000 n
-0000784600 00000 n
-0000586504 00000 n
-0000586184 00000 n
-0000582766 00000 n
-0000586310 00000 n
-0000586439 00000 n
-0000590110 00000 n
-0000589790 00000 n
-0000586632 00000 n
-0000589916 00000 n
-0000590045 00000 n
-0000593252 00000 n
-0000592932 00000 n
-0000590224 00000 n
-0000593058 00000 n
-0001234769 00000 n
-0000597367 00000 n
-0000597176 00000 n
-0000593409 00000 n
-0000597302 00000 n
-0000600625 00000 n
-0000600125 00000 n
-0000597481 00000 n
-0000600431 00000 n
-0000600560 00000 n
-0000600272 00000 n
-0000605065 00000 n
-0000604256 00000 n
-0000600782 00000 n
-0000604742 00000 n
-0000604871 00000 n
-0000604412 00000 n
-0000605000 00000 n
-0000604587 00000 n
-0000609123 00000 n
-0000608803 00000 n
-0000605179 00000 n
-0000608929 00000 n
-0000609058 00000 n
-0000613039 00000 n
-0000612244 00000 n
-0000609251 00000 n
-0000612717 00000 n
-0000612846 00000 n
-0000612974 00000 n
-0000612400 00000 n
-0000612562 00000 n
-0000616239 00000 n
-0000615728 00000 n
-0000613210 00000 n
-0000616045 00000 n
-0000615875 00000 n
-0001234894 00000 n
-0000619755 00000 n
-0000619306 00000 n
-0000616367 00000 n
-0000619432 00000 n
-0000619497 00000 n
-0000619562 00000 n
-0000619691 00000 n
-0000623943 00000 n
-0000623569 00000 n
-0000619926 00000 n
-0000623878 00000 n
-0000623716 00000 n
-0000628447 00000 n
-0000628073 00000 n
-0000624128 00000 n
-0000628382 00000 n
-0000628220 00000 n
-0000760528 00000 n
-0000632575 00000 n
-0000631937 00000 n
-0000628575 00000 n
-0000632252 00000 n
-0000632381 00000 n
-0000632084 00000 n
-0000632510 00000 n
-0000682623 00000 n
-0000634364 00000 n
-0000634173 00000 n
-0000632717 00000 n
-0000634299 00000 n
-0000636132 00000 n
-0000635941 00000 n
-0000634465 00000 n
-0000636067 00000 n
-0001235019 00000 n
-0000639258 00000 n
-0000638939 00000 n
-0000636233 00000 n
-0000639065 00000 n
-0000643873 00000 n
-0000643554 00000 n
-0000639429 00000 n
-0000643680 00000 n
-0000643808 00000 n
-0000648074 00000 n
-0000647529 00000 n
-0000643987 00000 n
-0000647881 00000 n
-0000647676 00000 n
-0000648009 00000 n
-0000652465 00000 n
-0000652274 00000 n
-0000648230 00000 n
-0000652400 00000 n
-0000655446 00000 n
-0000655255 00000 n
-0000652593 00000 n
-0000655381 00000 n
-0000660079 00000 n
-0000659759 00000 n
-0000655574 00000 n
-0000659885 00000 n
-0000660014 00000 n
-0001235144 00000 n
-0000664563 00000 n
-0000664243 00000 n
-0000660207 00000 n
-0000664369 00000 n
-0000664498 00000 n
-0000668593 00000 n
-0000668274 00000 n
-0000664691 00000 n
-0000668400 00000 n
-0000673438 00000 n
-0000672645 00000 n
-0000668707 00000 n
-0000673115 00000 n
-0000672801 00000 n
-0000672953 00000 n
-0000673244 00000 n
-0000673373 00000 n
-0000678462 00000 n
-0000676641 00000 n
-0000673552 00000 n
-0000677881 00000 n
-0000676833 00000 n
-0000677008 00000 n
-0000677186 00000 n
-0000677367 00000 n
-0000677546 00000 n
-0000678010 00000 n
-0000678139 00000 n
-0000677727 00000 n
-0000678268 00000 n
-0000682688 00000 n
-0000682368 00000 n
-0000678590 00000 n
-0000682494 00000 n
-0000686199 00000 n
-0000685879 00000 n
-0000682830 00000 n
-0000686005 00000 n
-0000686134 00000 n
-0001235269 00000 n
-0000687978 00000 n
-0000687658 00000 n
-0000686313 00000 n
-0000687784 00000 n
-0000689657 00000 n
-0000689466 00000 n
-0000688092 00000 n
-0000689592 00000 n
-0000691140 00000 n
-0000690949 00000 n
-0000689758 00000 n
-0000691075 00000 n
-0000693874 00000 n
-0000693299 00000 n
-0000691241 00000 n
-0000693425 00000 n
-0000693554 00000 n
-0000693679 00000 n
-0000693744 00000 n
-0000693809 00000 n
-0000697572 00000 n
-0000697381 00000 n
-0000693988 00000 n
-0000697507 00000 n
-0000701779 00000 n
-0000700975 00000 n
-0000697686 00000 n
-0000701458 00000 n
-0000701131 00000 n
-0000701586 00000 n
-0000701715 00000 n
-0000701298 00000 n
-0001235394 00000 n
-0001021651 00000 n
-0000708090 00000 n
-0000705148 00000 n
-0000701907 00000 n
-0000708025 00000 n
-0000705430 00000 n
-0000705592 00000 n
-0000705754 00000 n
-0000705916 00000 n
-0000706078 00000 n
-0000706249 00000 n
-0000706411 00000 n
-0000706574 00000 n
-0000706736 00000 n
-0000706897 00000 n
-0000707057 00000 n
-0000707220 00000 n
-0000707382 00000 n
-0000707545 00000 n
-0000707699 00000 n
-0000707862 00000 n
-0000713350 00000 n
-0000711434 00000 n
-0000708204 00000 n
-0000713285 00000 n
-0000711662 00000 n
-0000711823 00000 n
-0000711991 00000 n
-0000712160 00000 n
-0000712322 00000 n
-0000712483 00000 n
-0000712645 00000 n
-0000712806 00000 n
+0000569550 00000 n
+0000565893 00000 n
+0000569676 00000 n
+0001250228 00000 n
+0000574168 00000 n
+0000573616 00000 n
+0000569912 00000 n
+0000574103 00000 n
+0000573772 00000 n
+0000573937 00000 n
+0000578524 00000 n
+0000577579 00000 n
+0000574282 00000 n
+0000578072 00000 n
+0000578201 00000 n
+0000577735 00000 n
+0000578330 00000 n
+0000578459 00000 n
+0000577905 00000 n
+0000692750 00000 n
+0000582680 00000 n
+0000582118 00000 n
+0000578695 00000 n
+0000582615 00000 n
+0000582274 00000 n
+0000582444 00000 n
+0000791723 00000 n
+0000586631 00000 n
+0000586311 00000 n
+0000582851 00000 n
+0000586437 00000 n
+0000586566 00000 n
+0000590517 00000 n
+0000590197 00000 n
+0000586773 00000 n
+0000590323 00000 n
+0000590452 00000 n
+0000593469 00000 n
+0000593149 00000 n
+0000590631 00000 n
+0000593275 00000 n
+0001250353 00000 n
+0000597563 00000 n
+0000597372 00000 n
+0000593640 00000 n
+0000597498 00000 n
+0000600530 00000 n
+0000600339 00000 n
+0000597677 00000 n
+0000600465 00000 n
+0000605263 00000 n
+0000604160 00000 n
+0000600687 00000 n
+0000604812 00000 n
+0000604941 00000 n
+0000604325 00000 n
+0000605070 00000 n
+0000604484 00000 n
+0000605199 00000 n
+0000604659 00000 n
+0000609351 00000 n
+0000609160 00000 n
+0000605377 00000 n
+0000609286 00000 n
+0000613602 00000 n
+0000613411 00000 n
+0000609493 00000 n
+0000613537 00000 n
+0000617206 00000 n
+0000616757 00000 n
+0000613730 00000 n
+0000616883 00000 n
+0000617012 00000 n
+0000617141 00000 n
+0001250478 00000 n
+0000621109 00000 n
+0000620441 00000 n
+0000617363 00000 n
+0000620915 00000 n
+0000621044 00000 n
+0000620597 00000 n
+0000620759 00000 n
+0000624416 00000 n
+0000623776 00000 n
+0000621280 00000 n
+0000624093 00000 n
+0000623923 00000 n
+0000624287 00000 n
+0000624352 00000 n
+0000628273 00000 n
+0000627770 00000 n
+0000624544 00000 n
+0000628079 00000 n
+0000628208 00000 n
+0000627917 00000 n
+0000633044 00000 n
+0000632670 00000 n
+0000628458 00000 n
+0000632979 00000 n
+0000632817 00000 n
+0000768797 00000 n
+0000637391 00000 n
+0000636752 00000 n
+0000633172 00000 n
+0000637068 00000 n
+0000637197 00000 n
+0000636899 00000 n
+0000637326 00000 n
+0000690854 00000 n
+0000639365 00000 n
+0000639174 00000 n
+0000637519 00000 n
+0000639300 00000 n
+0001250603 00000 n
+0000641123 00000 n
+0000640932 00000 n
+0000639466 00000 n
+0000641058 00000 n
+0000643794 00000 n
+0000643603 00000 n
+0000641224 00000 n
+0000643729 00000 n
+0000648155 00000 n
+0000647709 00000 n
+0000643965 00000 n
+0000647835 00000 n
+0000648090 00000 n
+0000652293 00000 n
+0000651747 00000 n
+0000648269 00000 n
+0000652099 00000 n
+0000651894 00000 n
+0000652228 00000 n
+0000656739 00000 n
+0000656548 00000 n
+0000652421 00000 n
+0000656674 00000 n
+0000660121 00000 n
+0000659930 00000 n
+0000656867 00000 n
+0000660056 00000 n
+0001250728 00000 n
+0000664236 00000 n
+0000663916 00000 n
+0000660249 00000 n
+0000664042 00000 n
+0000664171 00000 n
+0000669387 00000 n
+0000669196 00000 n
+0000664378 00000 n
+0000669322 00000 n
+0000672832 00000 n
+0000672384 00000 n
+0000669501 00000 n
+0000672510 00000 n
+0000672639 00000 n
+0000677336 00000 n
+0000676547 00000 n
+0000672946 00000 n
+0000677013 00000 n
+0000676703 00000 n
+0000676854 00000 n
+0000677142 00000 n
+0000677271 00000 n
+0000683011 00000 n
+0000681327 00000 n
+0000677450 00000 n
+0000682560 00000 n
+0000681519 00000 n
+0000681691 00000 n
+0000681867 00000 n
+0000682046 00000 n
+0000682225 00000 n
+0000682689 00000 n
+0000682817 00000 n
+0000682406 00000 n
+0000682946 00000 n
+0000687410 00000 n
+0000687090 00000 n
+0000683139 00000 n
+0000687216 00000 n
+0001250853 00000 n
+0000691048 00000 n
+0000690599 00000 n
+0000687552 00000 n
+0000690725 00000 n
+0000690983 00000 n
+0000692815 00000 n
+0000692495 00000 n
+0000691162 00000 n
+0000692621 00000 n
+0000694442 00000 n
+0000694251 00000 n
+0000692929 00000 n
+0000694377 00000 n
+0000696003 00000 n
+0000695812 00000 n
+0000694543 00000 n
+0000695938 00000 n
+0000698838 00000 n
+0000698259 00000 n
+0000696104 00000 n
+0000698385 00000 n
+0000698514 00000 n
+0000698643 00000 n
+0000698708 00000 n
+0000698773 00000 n
+0000702534 00000 n
+0000702343 00000 n
+0000698952 00000 n
+0000702469 00000 n
+0001250978 00000 n
+0000706744 00000 n
+0000705939 00000 n
+0000702648 00000 n
+0000706423 00000 n
+0000706095 00000 n
+0000706551 00000 n
+0000706680 00000 n
+0000706263 00000 n
+0001036651 00000 n
+0000713034 00000 n
+0000710091 00000 n
+0000706872 00000 n
0000712969 00000 n
-0000713122 00000 n
-0000718281 00000 n
-0000716411 00000 n
-0000713478 00000 n
-0000718216 00000 n
-0000716639 00000 n
-0000716792 00000 n
-0000716946 00000 n
-0000717100 00000 n
-0000717254 00000 n
-0000717416 00000 n
-0000717578 00000 n
-0000717737 00000 n
-0000717897 00000 n
-0000718058 00000 n
-0000723767 00000 n
-0000721912 00000 n
-0000718395 00000 n
-0000723573 00000 n
-0000722131 00000 n
-0000722293 00000 n
-0000722447 00000 n
-0000722610 00000 n
-0000722765 00000 n
-0000722930 00000 n
-0000723096 00000 n
-0000723259 00000 n
-0000723413 00000 n
-0000728054 00000 n
-0000727733 00000 n
-0000723909 00000 n
-0000727859 00000 n
-0000727924 00000 n
-0000727989 00000 n
-0000731020 00000 n
-0000730829 00000 n
-0000728196 00000 n
-0000730955 00000 n
-0001235519 00000 n
-0000735262 00000 n
-0000734192 00000 n
-0000731178 00000 n
-0000734680 00000 n
-0000734809 00000 n
-0000735067 00000 n
-0000734348 00000 n
-0000734518 00000 n
-0000735132 00000 n
-0000735197 00000 n
-0000738752 00000 n
-0000738432 00000 n
-0000735390 00000 n
-0000738558 00000 n
-0000738623 00000 n
-0000738687 00000 n
-0000742274 00000 n
-0000741953 00000 n
-0000738853 00000 n
-0000742079 00000 n
-0000742144 00000 n
-0000742209 00000 n
-0000746230 00000 n
-0000745521 00000 n
-0000742389 00000 n
-0000745647 00000 n
-0000745776 00000 n
-0000745841 00000 n
-0000745906 00000 n
-0000745971 00000 n
-0000746036 00000 n
-0000746165 00000 n
-0000750512 00000 n
-0000749675 00000 n
-0000746344 00000 n
-0000749801 00000 n
-0000749866 00000 n
-0000749931 00000 n
-0000750060 00000 n
-0000750125 00000 n
-0000750190 00000 n
-0000750319 00000 n
-0000750384 00000 n
-0000750448 00000 n
-0000753577 00000 n
-0000752875 00000 n
-0000750640 00000 n
-0000753001 00000 n
-0000753128 00000 n
-0000753255 00000 n
-0000753384 00000 n
-0000753512 00000 n
-0001235644 00000 n
-0000756329 00000 n
-0000755752 00000 n
-0000753776 00000 n
-0000755878 00000 n
-0000756007 00000 n
-0000756136 00000 n
-0000756201 00000 n
-0000756265 00000 n
-0000760593 00000 n
-0000760273 00000 n
-0000756514 00000 n
-0000760399 00000 n
-0000764399 00000 n
-0000763639 00000 n
-0000760721 00000 n
-0000763946 00000 n
-0000764075 00000 n
-0000764140 00000 n
-0000764205 00000 n
-0000763786 00000 n
-0000768119 00000 n
-0000767540 00000 n
-0000764513 00000 n
-0000767666 00000 n
-0000767795 00000 n
-0000767924 00000 n
-0000767989 00000 n
-0000768054 00000 n
-0000771762 00000 n
-0000770868 00000 n
-0000768233 00000 n
-0000771180 00000 n
-0000771015 00000 n
-0000771309 00000 n
-0000771374 00000 n
-0000771439 00000 n
-0000771568 00000 n
-0000771633 00000 n
-0000771698 00000 n
-0001021618 00000 n
-0000775980 00000 n
-0000775531 00000 n
-0000771876 00000 n
-0000775657 00000 n
-0000775786 00000 n
-0000775851 00000 n
-0000775916 00000 n
-0001235769 00000 n
-0000778069 00000 n
-0000777749 00000 n
-0000776108 00000 n
-0000777875 00000 n
-0001040424 00000 n
-0001033140 00000 n
-0001040244 00000 n
-0000778004 00000 n
-0000778552 00000 n
-0000778361 00000 n
-0000778211 00000 n
-0000778487 00000 n
-0000780448 00000 n
-0000780001 00000 n
-0000778594 00000 n
-0000780127 00000 n
-0000780256 00000 n
-0000780383 00000 n
-0000784665 00000 n
+0000710373 00000 n
+0000710535 00000 n
+0000710697 00000 n
+0000710859 00000 n
+0000711021 00000 n
+0000711192 00000 n
+0000711354 00000 n
+0000711517 00000 n
+0000711679 00000 n
+0000711842 00000 n
+0000712004 00000 n
+0000712167 00000 n
+0000712329 00000 n
+0000712492 00000 n
+0000712646 00000 n
+0000712809 00000 n
+0000718300 00000 n
+0000716383 00000 n
+0000713148 00000 n
+0000718235 00000 n
+0000716611 00000 n
+0000716774 00000 n
+0000716941 00000 n
+0000717110 00000 n
+0000717272 00000 n
+0000717433 00000 n
+0000717595 00000 n
+0000717756 00000 n
+0000717919 00000 n
+0000718072 00000 n
+0000723230 00000 n
+0000721358 00000 n
+0000718428 00000 n
+0000723165 00000 n
+0000721586 00000 n
+0000721738 00000 n
+0000721892 00000 n
+0000722043 00000 n
+0000722197 00000 n
+0000722359 00000 n
+0000722521 00000 n
+0000722682 00000 n
+0000722844 00000 n
+0000723005 00000 n
+0000728696 00000 n
+0000726846 00000 n
+0000723344 00000 n
+0000728502 00000 n
+0000727065 00000 n
+0000727224 00000 n
+0000727377 00000 n
+0000727540 00000 n
+0000727691 00000 n
+0000727856 00000 n
+0000728022 00000 n
+0000728185 00000 n
+0000728339 00000 n
+0000732971 00000 n
+0000732650 00000 n
+0000728838 00000 n
+0000732776 00000 n
+0000732841 00000 n
+0000732906 00000 n
+0001251103 00000 n
+0000735934 00000 n
+0000735743 00000 n
+0000733113 00000 n
+0000735869 00000 n
+0000740155 00000 n
+0000739086 00000 n
+0000736092 00000 n
+0000739573 00000 n
+0000739702 00000 n
+0000739960 00000 n
+0000739242 00000 n
+0000739412 00000 n
+0000740025 00000 n
+0000740090 00000 n
+0000743759 00000 n
+0000743439 00000 n
+0000740283 00000 n
+0000743565 00000 n
+0000743630 00000 n
+0000743694 00000 n
+0000746866 00000 n
+0000746675 00000 n
+0000743860 00000 n
+0000746801 00000 n
+0000750846 00000 n
+0000750396 00000 n
+0000746953 00000 n
+0000750522 00000 n
+0000750587 00000 n
+0000750652 00000 n
+0000750781 00000 n
+0000754713 00000 n
+0000754005 00000 n
+0000750974 00000 n
+0000754131 00000 n
+0000754196 00000 n
+0000754261 00000 n
+0000754326 00000 n
+0000754391 00000 n
+0000754519 00000 n
+0000754583 00000 n
+0000754648 00000 n
+0001251228 00000 n
+0000758573 00000 n
+0000757735 00000 n
+0000754841 00000 n
+0000757861 00000 n
+0000757990 00000 n
+0000758055 00000 n
+0000758120 00000 n
+0000758249 00000 n
+0000758314 00000 n
+0000758379 00000 n
+0000758508 00000 n
+0000761947 00000 n
+0000761113 00000 n
+0000758758 00000 n
+0000761239 00000 n
+0000761368 00000 n
+0000761497 00000 n
+0000761625 00000 n
+0000761754 00000 n
+0000761883 00000 n
+0000765364 00000 n
+0000765044 00000 n
+0000762146 00000 n
+0000765170 00000 n
+0000765235 00000 n
+0000765300 00000 n
+0000769121 00000 n
+0000768542 00000 n
+0000765492 00000 n
+0000768668 00000 n
+0000768926 00000 n
+0000768991 00000 n
+0000769056 00000 n
+0000773001 00000 n
+0000772114 00000 n
+0000769235 00000 n
+0000772421 00000 n
+0000772261 00000 n
+0000772679 00000 n
+0000772808 00000 n
+0000772872 00000 n
+0000772936 00000 n
+0000776673 00000 n
+0000776296 00000 n
+0000773129 00000 n
+0000776608 00000 n
+0000776443 00000 n
+0001251353 00000 n
+0001036618 00000 n
+0000780083 00000 n
+0000779374 00000 n
+0000776773 00000 n
+0000779500 00000 n
+0000779629 00000 n
+0000779694 00000 n
+0000779759 00000 n
+0000779888 00000 n
+0000779953 00000 n
+0000780018 00000 n
+0000784218 00000 n
+0000783639 00000 n
+0000780197 00000 n
+0000783765 00000 n
+0000783894 00000 n
0000783959 00000 n
-0000780562 00000 n
-0000784085 00000 n
-0001032819 00000 n
-0001023606 00000 n
-0001032633 00000 n
-0000784214 00000 n
-0000784343 00000 n
-0000784471 00000 n
-0000785737 00000 n
-0000785546 00000 n
-0000784892 00000 n
-0000785672 00000 n
-0000786165 00000 n
-0000785974 00000 n
-0000785824 00000 n
-0000786100 00000 n
-0001235894 00000 n
-0000789564 00000 n
-0000788338 00000 n
-0000786207 00000 n
-0000788855 00000 n
-0000788984 00000 n
-0000789113 00000 n
-0000789242 00000 n
-0000789371 00000 n
-0000789500 00000 n
-0000788494 00000 n
-0000788666 00000 n
-0000790019 00000 n
-0000789828 00000 n
-0000789678 00000 n
-0000789954 00000 n
-0000792874 00000 n
-0000791451 00000 n
-0000790061 00000 n
-0000791780 00000 n
-0000791909 00000 n
-0000792038 00000 n
-0000792167 00000 n
-0000792295 00000 n
-0000791598 00000 n
-0000792424 00000 n
-0000792553 00000 n
-0000792681 00000 n
-0000792810 00000 n
-0000795013 00000 n
-0000793935 00000 n
-0000793002 00000 n
-0000794690 00000 n
-0000794819 00000 n
-0000794100 00000 n
-0000794307 00000 n
-0000794948 00000 n
-0000794513 00000 n
-0000798372 00000 n
-0000797923 00000 n
-0000795141 00000 n
-0000798049 00000 n
-0000798178 00000 n
-0000798307 00000 n
-0000799286 00000 n
-0000799095 00000 n
-0000798458 00000 n
-0000799221 00000 n
-0001236019 00000 n
-0000803033 00000 n
-0000801943 00000 n
-0000799373 00000 n
-0000802452 00000 n
-0000802581 00000 n
-0000802839 00000 n
-0000802099 00000 n
-0000802278 00000 n
-0000809848 00000 n
-0000806028 00000 n
-0000803175 00000 n
-0000806154 00000 n
-0000806219 00000 n
-0000806284 00000 n
-0000806349 00000 n
-0000806414 00000 n
-0000806479 00000 n
-0000806544 00000 n
-0000806609 00000 n
-0000806674 00000 n
-0000806738 00000 n
-0000806803 00000 n
-0000806868 00000 n
-0000806996 00000 n
-0000807060 00000 n
-0000807125 00000 n
-0000807189 00000 n
-0000807254 00000 n
-0000807317 00000 n
-0000807382 00000 n
-0000807447 00000 n
-0000807512 00000 n
-0000807576 00000 n
-0000807641 00000 n
-0000807706 00000 n
-0000807771 00000 n
-0000807836 00000 n
-0000807901 00000 n
-0000807966 00000 n
-0000808031 00000 n
-0000808096 00000 n
-0000808161 00000 n
-0000808226 00000 n
-0000808291 00000 n
-0000808356 00000 n
-0000808421 00000 n
-0000808486 00000 n
-0000808551 00000 n
-0000808616 00000 n
-0000808681 00000 n
-0000808746 00000 n
-0000808811 00000 n
-0000808876 00000 n
-0000808941 00000 n
-0000809006 00000 n
-0000809071 00000 n
-0000809136 00000 n
-0000809201 00000 n
-0000809266 00000 n
-0000809330 00000 n
-0000809395 00000 n
-0000809460 00000 n
-0000809525 00000 n
-0000809590 00000 n
-0000809655 00000 n
-0000809720 00000 n
-0000809784 00000 n
-0000816831 00000 n
-0000813138 00000 n
-0000809962 00000 n
-0000813264 00000 n
-0000813329 00000 n
-0000813394 00000 n
-0000813459 00000 n
-0000813524 00000 n
-0000813589 00000 n
-0000813654 00000 n
-0000813719 00000 n
-0000813784 00000 n
-0000813849 00000 n
-0000813914 00000 n
-0000813979 00000 n
-0000814044 00000 n
-0000814109 00000 n
-0000814174 00000 n
-0000814239 00000 n
-0000814304 00000 n
-0000814369 00000 n
-0000814434 00000 n
-0000814498 00000 n
-0000814563 00000 n
-0000814628 00000 n
-0000814691 00000 n
-0000814756 00000 n
-0000814821 00000 n
-0000814885 00000 n
-0000814950 00000 n
-0000815015 00000 n
-0000815080 00000 n
-0000815145 00000 n
-0000815210 00000 n
-0000815275 00000 n
-0000815340 00000 n
-0000815405 00000 n
-0000815470 00000 n
-0000815534 00000 n
-0000815599 00000 n
-0000815664 00000 n
-0000815729 00000 n
-0000815794 00000 n
-0000815859 00000 n
-0000815924 00000 n
-0000815989 00000 n
-0000816054 00000 n
-0000816119 00000 n
-0000816184 00000 n
-0000816249 00000 n
-0000816314 00000 n
-0000816379 00000 n
-0000816444 00000 n
-0000816509 00000 n
-0000816574 00000 n
-0000816639 00000 n
-0000816703 00000 n
-0000816767 00000 n
-0000823067 00000 n
-0000819629 00000 n
-0000816945 00000 n
-0000819755 00000 n
-0000819820 00000 n
-0000819885 00000 n
-0000819950 00000 n
-0000820015 00000 n
-0000820080 00000 n
-0000820145 00000 n
-0000820210 00000 n
-0000820275 00000 n
-0000820340 00000 n
-0000820405 00000 n
-0000820470 00000 n
-0000820535 00000 n
-0000820600 00000 n
-0000820665 00000 n
-0000820730 00000 n
-0000820795 00000 n
-0000820860 00000 n
-0000820925 00000 n
-0000820990 00000 n
-0000821055 00000 n
-0000821120 00000 n
-0000821185 00000 n
-0000821250 00000 n
-0000821315 00000 n
-0000821380 00000 n
-0000821445 00000 n
-0000821510 00000 n
-0000821575 00000 n
-0000821640 00000 n
-0000821705 00000 n
-0000821770 00000 n
-0000821835 00000 n
-0000821900 00000 n
-0000821964 00000 n
-0000822029 00000 n
-0000822094 00000 n
-0000822159 00000 n
-0000822224 00000 n
-0000822289 00000 n
-0000822354 00000 n
-0000822419 00000 n
-0000822484 00000 n
-0000822549 00000 n
-0000822614 00000 n
-0000822679 00000 n
-0000822744 00000 n
-0000822809 00000 n
-0000822874 00000 n
-0000822939 00000 n
-0000823003 00000 n
-0000827720 00000 n
-0000825456 00000 n
-0000823181 00000 n
-0000825582 00000 n
-0000825647 00000 n
-0000825712 00000 n
-0000825777 00000 n
-0000825842 00000 n
-0000825907 00000 n
-0000825972 00000 n
-0000826037 00000 n
-0000826102 00000 n
-0000826167 00000 n
-0000826232 00000 n
-0000826297 00000 n
-0000826362 00000 n
-0000826427 00000 n
-0000826489 00000 n
-0000826553 00000 n
-0000826618 00000 n
-0000826682 00000 n
-0000826747 00000 n
-0000826812 00000 n
-0000826877 00000 n
-0000826942 00000 n
-0000827007 00000 n
-0000827072 00000 n
-0000827137 00000 n
-0000827266 00000 n
-0000827395 00000 n
-0000827460 00000 n
-0000827525 00000 n
-0000827590 00000 n
-0000827655 00000 n
-0000828189 00000 n
-0000827998 00000 n
-0000827848 00000 n
-0000828124 00000 n
-0001236144 00000 n
-0000831199 00000 n
-0000830493 00000 n
-0000828231 00000 n
-0000830619 00000 n
-0000830748 00000 n
-0000830877 00000 n
-0000831005 00000 n
-0000831134 00000 n
-0000834878 00000 n
-0000833994 00000 n
-0000831313 00000 n
-0000834301 00000 n
-0000834430 00000 n
-0000834559 00000 n
-0000834686 00000 n
-0000834141 00000 n
-0000834814 00000 n
-0000837728 00000 n
-0000837280 00000 n
-0000835006 00000 n
-0000837406 00000 n
-0000837535 00000 n
-0000837664 00000 n
-0000841206 00000 n
-0000840629 00000 n
-0000837842 00000 n
-0000840755 00000 n
-0000840884 00000 n
-0000841012 00000 n
-0000841141 00000 n
-0000844208 00000 n
-0000843888 00000 n
-0000841320 00000 n
-0000844014 00000 n
-0000844143 00000 n
-0000845298 00000 n
-0000844978 00000 n
-0000844365 00000 n
-0000845104 00000 n
-0000845233 00000 n
-0001236269 00000 n
-0000848238 00000 n
-0000847594 00000 n
-0000845398 00000 n
-0000847720 00000 n
-0000847849 00000 n
-0000847978 00000 n
-0000848043 00000 n
-0000848108 00000 n
-0000848173 00000 n
-0000852489 00000 n
-0000852168 00000 n
-0000848352 00000 n
-0000852294 00000 n
-0000852359 00000 n
-0000852424 00000 n
-0000856206 00000 n
-0000855950 00000 n
-0000852645 00000 n
-0000856076 00000 n
-0000856141 00000 n
-0000859775 00000 n
-0000859584 00000 n
-0000856348 00000 n
-0000859710 00000 n
-0000863435 00000 n
-0000863244 00000 n
-0000859917 00000 n
-0000863370 00000 n
-0000867078 00000 n
-0000866692 00000 n
-0000863577 00000 n
-0000866818 00000 n
-0000866883 00000 n
-0000866948 00000 n
-0000867013 00000 n
-0001236394 00000 n
-0000870730 00000 n
-0000870085 00000 n
-0000867220 00000 n
-0000870211 00000 n
-0000870276 00000 n
-0000870341 00000 n
-0000870470 00000 n
-0000870535 00000 n
-0000870600 00000 n
-0000870665 00000 n
-0000874844 00000 n
-0000874267 00000 n
-0000870872 00000 n
-0000874393 00000 n
-0000874458 00000 n
-0000874522 00000 n
-0000874587 00000 n
-0000874715 00000 n
-0000874780 00000 n
-0000877493 00000 n
-0000876721 00000 n
-0000874986 00000 n
-0000876847 00000 n
-0000876912 00000 n
-0000876977 00000 n
-0000877042 00000 n
-0000877107 00000 n
-0000877171 00000 n
-0000877299 00000 n
-0000877364 00000 n
-0000877429 00000 n
-0000881413 00000 n
-0000881092 00000 n
-0000877635 00000 n
-0000881218 00000 n
-0000881283 00000 n
-0000881348 00000 n
-0000884223 00000 n
-0000883516 00000 n
-0000881541 00000 n
-0000883642 00000 n
-0000883707 00000 n
-0000883772 00000 n
-0000883901 00000 n
-0000883966 00000 n
-0000884031 00000 n
-0000884094 00000 n
-0000884159 00000 n
-0000887112 00000 n
-0000886598 00000 n
-0000884365 00000 n
-0000886724 00000 n
-0000886789 00000 n
-0000886854 00000 n
-0000886919 00000 n
-0000886984 00000 n
-0000887049 00000 n
-0001236519 00000 n
-0000890556 00000 n
-0000889976 00000 n
-0000887268 00000 n
-0000890102 00000 n
-0000890231 00000 n
-0000890296 00000 n
-0000890361 00000 n
-0000890426 00000 n
-0000890491 00000 n
-0000894171 00000 n
-0000893915 00000 n
-0000890698 00000 n
-0000894041 00000 n
-0000894106 00000 n
-0000897716 00000 n
-0000897397 00000 n
-0000894299 00000 n
-0000897523 00000 n
-0000897588 00000 n
-0000897652 00000 n
-0000901242 00000 n
-0000900597 00000 n
-0000897872 00000 n
-0000900723 00000 n
-0000900788 00000 n
-0000900982 00000 n
-0000901047 00000 n
-0000901112 00000 n
-0000901177 00000 n
-0000905061 00000 n
-0000904870 00000 n
-0000901384 00000 n
-0000904996 00000 n
-0000908751 00000 n
-0000908495 00000 n
-0000905189 00000 n
-0000908621 00000 n
-0000908686 00000 n
-0001236644 00000 n
-0000912017 00000 n
-0000911567 00000 n
-0000908879 00000 n
-0000911693 00000 n
-0000911758 00000 n
-0000911823 00000 n
-0000911888 00000 n
-0000911953 00000 n
-0000914638 00000 n
-0000913929 00000 n
-0000912187 00000 n
-0000914055 00000 n
-0000914184 00000 n
-0000914249 00000 n
-0000914314 00000 n
-0000914379 00000 n
-0000914444 00000 n
-0000914509 00000 n
-0000914574 00000 n
-0000918125 00000 n
-0000917545 00000 n
-0000914794 00000 n
-0000917671 00000 n
-0000917865 00000 n
-0000917930 00000 n
-0000917995 00000 n
-0000918060 00000 n
-0000921740 00000 n
-0000921419 00000 n
-0000918267 00000 n
-0000921545 00000 n
-0000921610 00000 n
-0000921675 00000 n
-0000925149 00000 n
-0000924439 00000 n
-0000921868 00000 n
-0000924565 00000 n
-0000924630 00000 n
-0000924695 00000 n
-0000924824 00000 n
-0000924889 00000 n
-0000924954 00000 n
-0000925019 00000 n
-0000925084 00000 n
-0000928985 00000 n
-0000928794 00000 n
+0000784024 00000 n
+0001055423 00000 n
+0001048140 00000 n
+0001055243 00000 n
+0000784153 00000 n
+0000785239 00000 n
+0000785048 00000 n
+0000784360 00000 n
+0000785174 00000 n
+0000785680 00000 n
+0000785489 00000 n
+0000785339 00000 n
+0000785615 00000 n
+0000787574 00000 n
+0000787127 00000 n
+0000785722 00000 n
+0000787253 00000 n
+0000787382 00000 n
+0000787509 00000 n
+0000791788 00000 n
+0000791082 00000 n
+0000787688 00000 n
+0000791208 00000 n
+0001047819 00000 n
+0001038606 00000 n
+0001047633 00000 n
+0000791337 00000 n
+0000791466 00000 n
+0000791594 00000 n
+0001251478 00000 n
+0000792857 00000 n
+0000792666 00000 n
+0000792015 00000 n
+0000792792 00000 n
+0000793285 00000 n
+0000793094 00000 n
+0000792944 00000 n
+0000793220 00000 n
+0000796681 00000 n
+0000795455 00000 n
+0000793327 00000 n
+0000795972 00000 n
+0000796101 00000 n
+0000796230 00000 n
+0000796359 00000 n
+0000796488 00000 n
+0000796617 00000 n
+0000795611 00000 n
+0000795783 00000 n
+0000797136 00000 n
+0000796945 00000 n
+0000796795 00000 n
+0000797071 00000 n
+0000800414 00000 n
+0000799247 00000 n
+0000797178 00000 n
+0000799576 00000 n
+0000799705 00000 n
+0000799834 00000 n
+0000799963 00000 n
+0000800091 00000 n
+0000799394 00000 n
+0000800220 00000 n
+0000800349 00000 n
+0000805442 00000 n
+0000804110 00000 n
+0000800542 00000 n
+0000804862 00000 n
+0000804991 00000 n
+0000805119 00000 n
+0000805248 00000 n
+0000804275 00000 n
+0000804481 00000 n
+0000805377 00000 n
+0000804687 00000 n
+0001251603 00000 n
+0000808827 00000 n
+0000808378 00000 n
+0000805598 00000 n
+0000808504 00000 n
+0000808633 00000 n
+0000808762 00000 n
+0000809739 00000 n
+0000809548 00000 n
+0000808913 00000 n
+0000809674 00000 n
+0000813485 00000 n
+0000812395 00000 n
+0000809826 00000 n
+0000812904 00000 n
+0000813033 00000 n
+0000813291 00000 n
+0000812551 00000 n
+0000812730 00000 n
+0000820297 00000 n
+0000816477 00000 n
+0000813627 00000 n
+0000816603 00000 n
+0000816668 00000 n
+0000816733 00000 n
+0000816798 00000 n
+0000816863 00000 n
+0000816928 00000 n
+0000816993 00000 n
+0000817058 00000 n
+0000817123 00000 n
+0000817187 00000 n
+0000817252 00000 n
+0000817317 00000 n
+0000817445 00000 n
+0000817509 00000 n
+0000817574 00000 n
+0000817638 00000 n
+0000817703 00000 n
+0000817766 00000 n
+0000817831 00000 n
+0000817896 00000 n
+0000817961 00000 n
+0000818025 00000 n
+0000818090 00000 n
+0000818155 00000 n
+0000818220 00000 n
+0000818285 00000 n
+0000818350 00000 n
+0000818415 00000 n
+0000818480 00000 n
+0000818545 00000 n
+0000818610 00000 n
+0000818675 00000 n
+0000818740 00000 n
+0000818805 00000 n
+0000818870 00000 n
+0000818935 00000 n
+0000819000 00000 n
+0000819065 00000 n
+0000819130 00000 n
+0000819195 00000 n
+0000819260 00000 n
+0000819325 00000 n
+0000819390 00000 n
+0000819455 00000 n
+0000819520 00000 n
+0000819585 00000 n
+0000819650 00000 n
+0000819715 00000 n
+0000819779 00000 n
+0000819844 00000 n
+0000819909 00000 n
+0000819974 00000 n
+0000820039 00000 n
+0000820104 00000 n
+0000820169 00000 n
+0000820233 00000 n
+0000827277 00000 n
+0000823584 00000 n
+0000820411 00000 n
+0000823710 00000 n
+0000823775 00000 n
+0000823840 00000 n
+0000823905 00000 n
+0000823970 00000 n
+0000824035 00000 n
+0000824100 00000 n
+0000824165 00000 n
+0000824230 00000 n
+0000824295 00000 n
+0000824360 00000 n
+0000824425 00000 n
+0000824490 00000 n
+0000824555 00000 n
+0000824620 00000 n
+0000824685 00000 n
+0000824750 00000 n
+0000824815 00000 n
+0000824880 00000 n
+0000824944 00000 n
+0000825009 00000 n
+0000825074 00000 n
+0000825137 00000 n
+0000825202 00000 n
+0000825267 00000 n
+0000825331 00000 n
+0000825396 00000 n
+0000825461 00000 n
+0000825526 00000 n
+0000825591 00000 n
+0000825656 00000 n
+0000825721 00000 n
+0000825786 00000 n
+0000825851 00000 n
+0000825916 00000 n
+0000825980 00000 n
+0000826045 00000 n
+0000826110 00000 n
+0000826175 00000 n
+0000826240 00000 n
+0000826305 00000 n
+0000826370 00000 n
+0000826435 00000 n
+0000826500 00000 n
+0000826565 00000 n
+0000826630 00000 n
+0000826695 00000 n
+0000826760 00000 n
+0000826825 00000 n
+0000826890 00000 n
+0000826955 00000 n
+0000827020 00000 n
+0000827085 00000 n
+0000827149 00000 n
+0000827213 00000 n
+0000833511 00000 n
+0000830073 00000 n
+0000827391 00000 n
+0000830199 00000 n
+0000830264 00000 n
+0000830329 00000 n
+0000830394 00000 n
+0000830459 00000 n
+0000830524 00000 n
+0000830589 00000 n
+0000830654 00000 n
+0000830719 00000 n
+0000830784 00000 n
+0000830849 00000 n
+0000830914 00000 n
+0000830979 00000 n
+0000831044 00000 n
+0000831109 00000 n
+0000831174 00000 n
+0000831239 00000 n
+0000831304 00000 n
+0000831369 00000 n
+0000831434 00000 n
+0000831499 00000 n
+0000831564 00000 n
+0000831629 00000 n
+0000831694 00000 n
+0000831759 00000 n
+0000831824 00000 n
+0000831889 00000 n
+0000831954 00000 n
+0000832019 00000 n
+0000832084 00000 n
+0000832149 00000 n
+0000832214 00000 n
+0000832279 00000 n
+0000832344 00000 n
+0000832408 00000 n
+0000832473 00000 n
+0000832538 00000 n
+0000832603 00000 n
+0000832668 00000 n
+0000832733 00000 n
+0000832798 00000 n
+0000832863 00000 n
+0000832928 00000 n
+0000832993 00000 n
+0000833058 00000 n
+0000833123 00000 n
+0000833188 00000 n
+0000833253 00000 n
+0000833318 00000 n
+0000833383 00000 n
+0000833447 00000 n
+0001251728 00000 n
+0000838163 00000 n
+0000835899 00000 n
+0000833625 00000 n
+0000836025 00000 n
+0000836090 00000 n
+0000836155 00000 n
+0000836220 00000 n
+0000836285 00000 n
+0000836350 00000 n
+0000836415 00000 n
+0000836480 00000 n
+0000836545 00000 n
+0000836610 00000 n
+0000836675 00000 n
+0000836740 00000 n
+0000836805 00000 n
+0000836870 00000 n
+0000836932 00000 n
+0000836996 00000 n
+0000837061 00000 n
+0000837125 00000 n
+0000837190 00000 n
+0000837255 00000 n
+0000837320 00000 n
+0000837385 00000 n
+0000837450 00000 n
+0000837515 00000 n
+0000837580 00000 n
+0000837709 00000 n
+0000837838 00000 n
+0000837903 00000 n
+0000837968 00000 n
+0000838033 00000 n
+0000838098 00000 n
+0000838632 00000 n
+0000838441 00000 n
+0000838291 00000 n
+0000838567 00000 n
+0000841640 00000 n
+0000840934 00000 n
+0000838674 00000 n
+0000841060 00000 n
+0000841189 00000 n
+0000841318 00000 n
+0000841446 00000 n
+0000841575 00000 n
+0000845318 00000 n
+0000844434 00000 n
+0000841754 00000 n
+0000844741 00000 n
+0000844870 00000 n
+0000844999 00000 n
+0000845126 00000 n
+0000844581 00000 n
+0000845254 00000 n
+0000848165 00000 n
+0000847717 00000 n
+0000845446 00000 n
+0000847843 00000 n
+0000847972 00000 n
+0000848101 00000 n
+0000851641 00000 n
+0000851064 00000 n
+0000848279 00000 n
+0000851190 00000 n
+0000851319 00000 n
+0000851447 00000 n
+0000851576 00000 n
+0001251853 00000 n
+0000854643 00000 n
+0000854323 00000 n
+0000851755 00000 n
+0000854449 00000 n
+0000854578 00000 n
+0000855731 00000 n
+0000855411 00000 n
+0000854800 00000 n
+0000855537 00000 n
+0000855666 00000 n
+0000858669 00000 n
+0000858025 00000 n
+0000855831 00000 n
+0000858151 00000 n
+0000858280 00000 n
+0000858409 00000 n
+0000858474 00000 n
+0000858539 00000 n
+0000858604 00000 n
+0000862257 00000 n
+0000861936 00000 n
+0000858783 00000 n
+0000862062 00000 n
+0000862127 00000 n
+0000862192 00000 n
+0000866415 00000 n
+0000866159 00000 n
+0000862427 00000 n
+0000866285 00000 n
+0000866350 00000 n
+0000869818 00000 n
+0000869627 00000 n
+0000866571 00000 n
+0000869753 00000 n
+0001251978 00000 n
+0000873442 00000 n
+0000873251 00000 n
+0000869960 00000 n
+0000873377 00000 n
+0000877093 00000 n
+0000876837 00000 n
+0000873584 00000 n
+0000876963 00000 n
+0000877028 00000 n
+0000880557 00000 n
+0000879783 00000 n
+0000877235 00000 n
+0000879909 00000 n
+0000879974 00000 n
+0000880038 00000 n
+0000880103 00000 n
+0000880168 00000 n
+0000880297 00000 n
+0000880362 00000 n
+0000880427 00000 n
+0000880492 00000 n
+0000885285 00000 n
+0000885029 00000 n
+0000880699 00000 n
+0000885155 00000 n
+0000885220 00000 n
+0000888011 00000 n
+0000887237 00000 n
+0000885427 00000 n
+0000887363 00000 n
+0000887428 00000 n
+0000887493 00000 n
+0000887622 00000 n
+0000887687 00000 n
+0000887752 00000 n
+0000887817 00000 n
+0000887882 00000 n
+0000887947 00000 n
+0000891565 00000 n
+0000890922 00000 n
+0000888153 00000 n
+0000891048 00000 n
+0000891113 00000 n
+0000891242 00000 n
+0000891306 00000 n
+0000891371 00000 n
+0000891436 00000 n
+0000891500 00000 n
+0001252103 00000 n
+0000894866 00000 n
+0000894224 00000 n
+0000891707 00000 n
+0000894350 00000 n
+0000894415 00000 n
+0000894479 00000 n
+0000894608 00000 n
+0000894673 00000 n
+0000894737 00000 n
+0000894802 00000 n
+0000897953 00000 n
+0000897632 00000 n
+0000895008 00000 n
+0000897758 00000 n
+0000897823 00000 n
+0000897888 00000 n
+0000901060 00000 n
+0000900221 00000 n
+0000898095 00000 n
+0000900347 00000 n
+0000900412 00000 n
+0000900477 00000 n
+0000900542 00000 n
+0000900607 00000 n
+0000900736 00000 n
+0000900801 00000 n
+0000900866 00000 n
+0000900931 00000 n
+0000900996 00000 n
+0000904738 00000 n
+0000904547 00000 n
+0000901216 00000 n
+0000904673 00000 n
+0000908297 00000 n
+0000908041 00000 n
+0000904866 00000 n
+0000908167 00000 n
+0000908232 00000 n
+0000911363 00000 n
+0000910654 00000 n
+0000908425 00000 n
+0000910780 00000 n
+0000910845 00000 n
+0000910910 00000 n
+0000910975 00000 n
+0000911168 00000 n
+0000911233 00000 n
+0000911298 00000 n
+0001252228 00000 n
+0000915080 00000 n
+0000914824 00000 n
+0000911519 00000 n
+0000914950 00000 n
+0000915015 00000 n
+0000918863 00000 n
+0000918672 00000 n
+0000915208 00000 n
+0000918798 00000 n
+0000922615 00000 n
+0000922294 00000 n
+0000918991 00000 n
+0000922420 00000 n
+0000922485 00000 n
+0000922550 00000 n
0000925305 00000 n
-0000928920 00000 n
-0001236769 00000 n
-0000932834 00000 n
-0000932643 00000 n
-0000929113 00000 n
-0000932769 00000 n
-0000936284 00000 n
-0000936093 00000 n
-0000932962 00000 n
-0000936219 00000 n
-0000939445 00000 n
-0000939060 00000 n
-0000936412 00000 n
-0000939186 00000 n
-0000939251 00000 n
-0000939316 00000 n
-0000939381 00000 n
-0000942608 00000 n
-0000942028 00000 n
-0000939615 00000 n
-0000942154 00000 n
-0000942283 00000 n
-0000942348 00000 n
-0000942413 00000 n
-0000942478 00000 n
-0000942543 00000 n
-0000945793 00000 n
-0000945084 00000 n
-0000942750 00000 n
-0000945210 00000 n
-0000945275 00000 n
-0000945340 00000 n
-0000945469 00000 n
-0000945534 00000 n
-0000945599 00000 n
-0000945664 00000 n
-0000945729 00000 n
-0000948740 00000 n
-0000947968 00000 n
-0000945949 00000 n
-0000948094 00000 n
-0000948159 00000 n
-0000948224 00000 n
-0000948289 00000 n
-0000948418 00000 n
-0000948483 00000 n
-0000948546 00000 n
-0000948611 00000 n
-0000948676 00000 n
-0001236894 00000 n
-0000952136 00000 n
-0000951945 00000 n
-0000948882 00000 n
-0000952071 00000 n
-0000955304 00000 n
-0000954919 00000 n
-0000952250 00000 n
-0000955045 00000 n
-0000955110 00000 n
-0000955175 00000 n
-0000955240 00000 n
-0000958848 00000 n
-0000958268 00000 n
-0000955446 00000 n
-0000958394 00000 n
-0000958523 00000 n
-0000958588 00000 n
-0000958653 00000 n
-0000958718 00000 n
-0000958783 00000 n
-0000961920 00000 n
-0000961729 00000 n
-0000958990 00000 n
-0000961855 00000 n
-0000965021 00000 n
-0000964636 00000 n
-0000962133 00000 n
-0000964762 00000 n
-0000964827 00000 n
-0000964892 00000 n
-0000964957 00000 n
-0000967758 00000 n
-0000966790 00000 n
-0000965262 00000 n
-0000966916 00000 n
-0000966981 00000 n
-0000967046 00000 n
-0000967175 00000 n
-0000967240 00000 n
-0000967305 00000 n
-0000967370 00000 n
-0000967435 00000 n
-0000967500 00000 n
-0000967629 00000 n
-0000967694 00000 n
-0001237019 00000 n
-0000972363 00000 n
-0000972042 00000 n
-0000967900 00000 n
-0000972168 00000 n
-0000972233 00000 n
-0000972298 00000 n
-0000976240 00000 n
-0000975984 00000 n
-0000972491 00000 n
-0000976110 00000 n
-0000976175 00000 n
-0000979629 00000 n
-0000979438 00000 n
-0000976368 00000 n
-0000979564 00000 n
-0000982400 00000 n
-0000981950 00000 n
-0000979757 00000 n
-0000982076 00000 n
-0000982141 00000 n
-0000982206 00000 n
-0000982271 00000 n
-0000982336 00000 n
-0000986284 00000 n
-0000985704 00000 n
-0000982556 00000 n
-0000985830 00000 n
-0000986024 00000 n
-0000986089 00000 n
-0000986154 00000 n
-0000986219 00000 n
-0000989720 00000 n
-0000989464 00000 n
-0000986426 00000 n
-0000989590 00000 n
-0000989655 00000 n
-0001237144 00000 n
-0000993298 00000 n
-0000993107 00000 n
-0000989862 00000 n
-0000993233 00000 n
-0000997391 00000 n
-0000997135 00000 n
-0000993468 00000 n
-0000997261 00000 n
-0000997326 00000 n
-0001001036 00000 n
-0001000391 00000 n
-0000997547 00000 n
-0001000517 00000 n
-0001000582 00000 n
-0001000647 00000 n
-0001000776 00000 n
-0001000841 00000 n
-0001000906 00000 n
-0001000971 00000 n
-0001003353 00000 n
-0001003097 00000 n
-0001001192 00000 n
-0001003223 00000 n
-0001003288 00000 n
-0001006889 00000 n
-0001006115 00000 n
-0001003495 00000 n
-0001006241 00000 n
-0001006306 00000 n
-0001006371 00000 n
-0001006436 00000 n
-0001006564 00000 n
-0001006629 00000 n
-0001006694 00000 n
-0001006759 00000 n
-0001006824 00000 n
-0001009987 00000 n
-0001009408 00000 n
-0001007045 00000 n
-0001009534 00000 n
-0001009599 00000 n
-0001009664 00000 n
-0001009729 00000 n
-0001009858 00000 n
-0001009923 00000 n
-0001237269 00000 n
-0001013856 00000 n
-0001013408 00000 n
-0001010143 00000 n
-0001013534 00000 n
-0001013599 00000 n
-0001013664 00000 n
-0001013729 00000 n
-0001013793 00000 n
-0001016125 00000 n
-0001015095 00000 n
-0001014012 00000 n
-0001015221 00000 n
-0001015286 00000 n
-0001015415 00000 n
-0001015480 00000 n
-0001015545 00000 n
-0001015609 00000 n
-0001015674 00000 n
-0001015739 00000 n
-0001015868 00000 n
-0001015933 00000 n
-0001015998 00000 n
-0001016063 00000 n
-0001019175 00000 n
-0001018402 00000 n
-0001016267 00000 n
-0001018528 00000 n
-0001018593 00000 n
-0001018658 00000 n
-0001018723 00000 n
-0001018852 00000 n
-0001018916 00000 n
-0001018981 00000 n
-0001019046 00000 n
-0001019110 00000 n
-0001021476 00000 n
-0001020637 00000 n
-0001019317 00000 n
-0001020763 00000 n
-0001020828 00000 n
-0001020893 00000 n
-0001021021 00000 n
-0001021086 00000 n
-0001021151 00000 n
-0001021216 00000 n
-0001021281 00000 n
-0001021346 00000 n
-0001021411 00000 n
-0001021717 00000 n
-0001033061 00000 n
-0001040650 00000 n
-0001042949 00000 n
-0001042918 00000 n
-0001046635 00000 n
-0001059431 00000 n
-0001069097 00000 n
-0001079832 00000 n
-0001094076 00000 n
-0001113582 00000 n
-0001134648 00000 n
-0001156798 00000 n
-0001175054 00000 n
-0001177905 00000 n
-0001177675 00000 n
-0001205323 00000 n
-0001232652 00000 n
-0001237385 00000 n
-0001237510 00000 n
-0001237636 00000 n
-0001237762 00000 n
-0001237888 00000 n
-0001238014 00000 n
-0001238122 00000 n
-0001238232 00000 n
-0001261461 00000 n
-0001287238 00000 n
-0001287279 00000 n
-0001287319 00000 n
-0001287453 00000 n
+0000924531 00000 n
+0000922757 00000 n
+0000924657 00000 n
+0000924722 00000 n
+0000924787 00000 n
+0000924852 00000 n
+0000924981 00000 n
+0000925046 00000 n
+0000925111 00000 n
+0000925176 00000 n
+0000925241 00000 n
+0000928296 00000 n
+0000927651 00000 n
+0000925475 00000 n
+0000927777 00000 n
+0000927842 00000 n
+0000927907 00000 n
+0000928101 00000 n
+0000928166 00000 n
+0000928231 00000 n
+0000931893 00000 n
+0000931573 00000 n
+0000928452 00000 n
+0000931699 00000 n
+0000931764 00000 n
+0000931829 00000 n
+0001252353 00000 n
+0000935256 00000 n
+0000934614 00000 n
+0000932021 00000 n
+0000934740 00000 n
+0000934805 00000 n
+0000934870 00000 n
+0000934935 00000 n
+0000935062 00000 n
+0000935127 00000 n
+0000935191 00000 n
+0000938947 00000 n
+0000938626 00000 n
+0000935412 00000 n
+0000938752 00000 n
+0000938817 00000 n
+0000938882 00000 n
+0000943018 00000 n
+0000942827 00000 n
+0000939089 00000 n
+0000942953 00000 n
+0000946694 00000 n
+0000946503 00000 n
+0000943146 00000 n
+0000946629 00000 n
+0000950129 00000 n
+0000949938 00000 n
+0000946822 00000 n
+0000950064 00000 n
+0000952871 00000 n
+0000952097 00000 n
+0000950271 00000 n
+0000952223 00000 n
+0000952288 00000 n
+0000952353 00000 n
+0000952418 00000 n
+0000952547 00000 n
+0000952612 00000 n
+0000952677 00000 n
+0000952742 00000 n
+0000952807 00000 n
+0001252478 00000 n
+0000955944 00000 n
+0000955365 00000 n
+0000953041 00000 n
+0000955491 00000 n
+0000955556 00000 n
+0000955621 00000 n
+0000955750 00000 n
+0000955815 00000 n
+0000955880 00000 n
+0000958941 00000 n
+0000958426 00000 n
+0000956100 00000 n
+0000958552 00000 n
+0000958617 00000 n
+0000958682 00000 n
+0000958747 00000 n
+0000958812 00000 n
+0000958877 00000 n
+0000962122 00000 n
+0000961542 00000 n
+0000959083 00000 n
+0000961668 00000 n
+0000961797 00000 n
+0000961862 00000 n
+0000961927 00000 n
+0000961992 00000 n
+0000962057 00000 n
+0000965888 00000 n
+0000965697 00000 n
+0000962264 00000 n
+0000965823 00000 n
+0000969014 00000 n
+0000968304 00000 n
+0000966016 00000 n
+0000968430 00000 n
+0000968495 00000 n
+0000968560 00000 n
+0000968625 00000 n
+0000968754 00000 n
+0000968819 00000 n
+0000968884 00000 n
+0000968949 00000 n
+0000972438 00000 n
+0000972182 00000 n
+0000969170 00000 n
+0000972308 00000 n
+0000972373 00000 n
+0001252603 00000 n
+0000975805 00000 n
+0000975614 00000 n
+0000972623 00000 n
+0000975740 00000 n
+0000978658 00000 n
+0000977951 00000 n
+0000976018 00000 n
+0000978077 00000 n
+0000978142 00000 n
+0000978206 00000 n
+0000978271 00000 n
+0000978336 00000 n
+0000978401 00000 n
+0000978529 00000 n
+0000978594 00000 n
+0000981787 00000 n
+0000981013 00000 n
+0000978843 00000 n
+0000981139 00000 n
+0000981204 00000 n
+0000981269 00000 n
+0000981333 00000 n
+0000981398 00000 n
+0000981527 00000 n
+0000981592 00000 n
+0000981657 00000 n
+0000981722 00000 n
+0000985621 00000 n
+0000985365 00000 n
+0000981929 00000 n
+0000985491 00000 n
+0000985556 00000 n
+0000989542 00000 n
+0000989286 00000 n
+0000985749 00000 n
+0000989412 00000 n
+0000989477 00000 n
+0000992891 00000 n
+0000992700 00000 n
+0000989684 00000 n
+0000992826 00000 n
+0001252728 00000 n
+0000995551 00000 n
+0000995101 00000 n
+0000993019 00000 n
+0000995227 00000 n
+0000995292 00000 n
+0000995357 00000 n
+0000995422 00000 n
+0000995487 00000 n
+0000999438 00000 n
+0000998858 00000 n
+0000995707 00000 n
+0000998984 00000 n
+0000999178 00000 n
+0000999243 00000 n
+0000999308 00000 n
+0000999373 00000 n
+0001003105 00000 n
+0001002849 00000 n
+0000999580 00000 n
+0001002975 00000 n
+0001003040 00000 n
+0001006830 00000 n
+0001006639 00000 n
+0001003275 00000 n
+0001006765 00000 n
+0001010838 00000 n
+0001010647 00000 n
+0001006986 00000 n
+0001010773 00000 n
+0001013799 00000 n
+0001013090 00000 n
+0001010980 00000 n
+0001013216 00000 n
+0001013281 00000 n
+0001013346 00000 n
+0001013411 00000 n
+0001013539 00000 n
+0001013604 00000 n
+0001013669 00000 n
+0001013734 00000 n
+0001252853 00000 n
+0001016774 00000 n
+0001016519 00000 n
+0001013969 00000 n
+0001016645 00000 n
+0001016710 00000 n
+0001019923 00000 n
+0001019213 00000 n
+0001016902 00000 n
+0001019339 00000 n
+0001019404 00000 n
+0001019469 00000 n
+0001019534 00000 n
+0001019663 00000 n
+0001019728 00000 n
+0001019793 00000 n
+0001019858 00000 n
+0001023553 00000 n
+0001023232 00000 n
+0001020079 00000 n
+0001023358 00000 n
+0001023423 00000 n
+0001023488 00000 n
+0001026815 00000 n
+0001026105 00000 n
+0001023695 00000 n
+0001026231 00000 n
+0001026296 00000 n
+0001026361 00000 n
+0001026490 00000 n
+0001026555 00000 n
+0001026620 00000 n
+0001026685 00000 n
+0001026750 00000 n
+0001029666 00000 n
+0001028892 00000 n
+0001026971 00000 n
+0001029018 00000 n
+0001029083 00000 n
+0001029148 00000 n
+0001029277 00000 n
+0001029342 00000 n
+0001029407 00000 n
+0001029472 00000 n
+0001029537 00000 n
+0001029602 00000 n
+0001032084 00000 n
+0001031118 00000 n
+0001029822 00000 n
+0001031244 00000 n
+0001031373 00000 n
+0001031438 00000 n
+0001031503 00000 n
+0001031568 00000 n
+0001031633 00000 n
+0001031698 00000 n
+0001031762 00000 n
+0001031890 00000 n
+0001031955 00000 n
+0001032020 00000 n
+0001252978 00000 n
+0001035123 00000 n
+0001034286 00000 n
+0001032226 00000 n
+0001034412 00000 n
+0001034477 00000 n
+0001034542 00000 n
+0001034606 00000 n
+0001034671 00000 n
+0001034800 00000 n
+0001034865 00000 n
+0001034930 00000 n
+0001034994 00000 n
+0001035059 00000 n
+0001036504 00000 n
+0001036184 00000 n
+0001035265 00000 n
+0001036310 00000 n
+0001036375 00000 n
+0001036439 00000 n
+0001036717 00000 n
+0001048061 00000 n
+0001055649 00000 n
+0001057949 00000 n
+0001057918 00000 n
+0001061636 00000 n
+0001074778 00000 n
+0001084506 00000 n
+0001095243 00000 n
+0001109487 00000 n
+0001128993 00000 n
+0001150059 00000 n
+0001172210 00000 n
+0001190466 00000 n
+0001193318 00000 n
+0001193088 00000 n
+0001220848 00000 n
+0001248234 00000 n
+0001253076 00000 n
+0001253201 00000 n
+0001253327 00000 n
+0001253453 00000 n
+0001253579 00000 n
+0001253705 00000 n
+0001253822 00000 n
+0001253932 00000 n
+0001277161 00000 n
+0001303042 00000 n
+0001303083 00000 n
+0001303123 00000 n
+0001303257 00000 n
trailer
<<
-/Size 2956
-/Root 2954 0 R
-/Info 2955 0 R
-/ID [<01A0E6D0B28E0F00CFA87F6B24129249> <01A0E6D0B28E0F00CFA87F6B24129249>]
+/Size 2974
+/Root 2972 0 R
+/Info 2973 0 R
+/ID [<CA54C0412855D175BC99DB64E4F46EA8> <CA54C0412855D175BC99DB64E4F46EA8>]
>>
startxref
-1287711
+1303515
%%EOF
diff --git a/doc/arm/Makefile.in b/doc/arm/Makefile.in
index 46a5c34b78fa..501133e0db39 100644
--- a/doc/arm/Makefile.in
+++ b/doc/arm/Makefile.in
@@ -47,7 +47,8 @@ docclean manclean maintainer-clean distclean::
notes.html: notes-wrapper.xml notes.xml releaseinfo.xml pkgversion.xml noteversion.xml
expand notes-wrapper.xml | \
- ${XSLTPROC} --stringparam generate.toc "" -o notes.html ../xsl/isc-notes-html.xsl -
+ ${XSLTPROC} --stringparam generate.toc "" ../xsl/isc-notes-html.xsl - |\
+ @PERL@ html-fixup.pl > notes.html
notes.tex: notes-wrapper.xml notes.xml releaseinfo.xml pkgversion.xml noteversion.xml
expand notes-wrapper.xml | \
diff --git a/doc/arm/html-fixup.pl b/doc/arm/html-fixup.pl
new file mode 100755
index 000000000000..276381360139
--- /dev/null
+++ b/doc/arm/html-fixup.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl -w
+#
+# Copyright (C) 2015 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.
+
+while (<>) {
+ s/&#50102;/&ouml;/;
+ print;
+}
diff --git a/doc/arm/man.arpaname.html b/doc/arm/man.arpaname.html
index bc3ded59dfad..31c7b56fd23e 100644
--- a/doc/arm/man.arpaname.html
+++ b/doc/arm/man.arpaname.html
@@ -50,20 +50,20 @@
<div class="cmdsynopsis"><p><code class="command">arpaname</code> {<em class="replaceable"><code>ipaddress </code></em>...}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2618396"></a><h2>DESCRIPTION</h2>
+<a name="id2622539"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">arpaname</strong></span> translates IP addresses (IPv4 and
IPv6) to the corresponding IN-ADDR.ARPA or IP6.ARPA names.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2618411"></a><h2>SEE ALSO</h2>
+<a name="id2622554"></a><h2>SEE ALSO</h2>
<p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2618425"></a><h2>AUTHOR</h2>
+<a name="id2622568"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -87,6 +87,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.ddns-confgen.html b/doc/arm/man.ddns-confgen.html
index 69a24538c442..9743dfb8213c 100644
--- a/doc/arm/man.ddns-confgen.html
+++ b/doc/arm/man.ddns-confgen.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">ddns-confgen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [ -s <em class="replaceable"><code>name</code></em> | -z <em class="replaceable"><code>zone</code></em> ] [<code class="option">-q</code>] [name]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2657944"></a><h2>DESCRIPTION</h2>
+<a name="id2656557"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">ddns-confgen</strong></span>
generates a key for use by <span><strong class="command">nsupdate</strong></span>
and <span><strong class="command">named</strong></span>. It simplifies configuration
@@ -77,7 +77,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2658032"></a><h2>OPTIONS</h2>
+<a name="id2656645"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd><p>
@@ -144,7 +144,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2658710"></a><h2>SEE ALSO</h2>
+<a name="id2657528"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">nsupdate</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@@ -152,7 +152,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2658817"></a><h2>AUTHOR</h2>
+<a name="id2657566"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -176,6 +176,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dig.html b/doc/arm/man.dig.html
index 24f3f526852f..a960bbf540f4 100644
--- a/doc/arm/man.dig.html
+++ b/doc/arm/man.dig.html
@@ -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="id2611911"></a><h2>DESCRIPTION</h2>
+<a name="id2613208"></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
@@ -99,7 +99,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2612013"></a><h2>SIMPLE USAGE</h2>
+<a name="id2613310"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -152,115 +152,135 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2612276"></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
- address on
- one of the host's network interfaces or "0.0.0.0" or "::". An optional
- port
- may be specified by appending "#&lt;port&gt;"
- </p>
-<p>
- The default query class (IN for internet) is overridden by the
- <code class="option">-c</code> option. <em class="parameter"><code>class</code></em> is
- any valid
- class, such as HS for Hesiod records or CH for Chaosnet records.
- </p>
-<p>
- The <code class="option">-f</code> option makes <span><strong class="command">dig </strong></span>
- operate
- in batch mode by reading a list of lookup requests to process from the
- file <em class="parameter"><code>filename</code></em>. The file contains a
- number of
- queries, one per line. Each entry in the file should be organized in
- the same way they would be presented as queries to
- <span><strong class="command">dig</strong></span> using the command-line interface.
- </p>
-<p>
- The <code class="option">-m</code> option enables memory usage debugging.
-
- </p>
-<p>
- If a non-standard port number is to be queried, the
- <code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
- the port number that <span><strong class="command">dig</strong></span> will send its
- queries
- instead of the standard DNS port number 53. This option would be used
- to test a name server that has been configured to listen for queries
- on a non-standard port number.
- </p>
-<p>
- The <code class="option">-4</code> option forces <span><strong class="command">dig</strong></span>
- to only
- use IPv4 query transport. The <code class="option">-6</code> option forces
- <span><strong class="command">dig</strong></span> to only use IPv6 query transport.
- </p>
-<p>
- The <code class="option">-t</code> option sets the query type to
- <em class="parameter"><code>type</code></em>. It can be any valid query type
- which is
- supported in BIND 9. The default query type is "A", unless the
- <code class="option">-x</code> option is supplied to indicate a reverse lookup.
- A zone transfer can be requested by specifying a type of AXFR. When
- an incremental zone transfer (IXFR) is required,
- <em class="parameter"><code>type</code></em> is set to <code class="literal">ixfr=N</code>.
- The incremental zone transfer will contain the changes made to the zone
- since the serial number in the zone's SOA record was
- <em class="parameter"><code>N</code></em>.
- </p>
-<p>
- The <code class="option">-q</code> option sets the query name to
- <em class="parameter"><code>name</code></em>. This is useful to distinguish the
- <em class="parameter"><code>name</code></em> from other arguments.
- </p>
-<p>
- The <code class="option">-v</code> causes <span><strong class="command">dig</strong></span> to
- print the version number and exit.
- </p>
-<p>
- Reverse lookups &#8212; mapping addresses to names &#8212; are simplified by the
- <code class="option">-x</code> option. <em class="parameter"><code>addr</code></em> is
- an IPv4
- address in dotted-decimal notation, or a colon-delimited IPv6 address.
- When this option is used, there is no need to provide the
- <em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em> and
- <em class="parameter"><code>type</code></em> arguments. <span><strong class="command">dig</strong></span>
- automatically performs a lookup for a name like
- <code class="literal">11.12.13.10.in-addr.arpa</code> and sets the
- query type and
- class to PTR and IN respectively. By default, IPv6 addresses are
- looked up using nibble format under the IP6.ARPA domain.
- To use the older RFC1886 method using the IP6.INT domain
- specify the <code class="option">-i</code> option. Bit string labels (RFC2874)
- are now experimental and are not attempted.
- </p>
+<a name="id2613641"></a><h2>OPTIONS</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">-4</span></dt>
+<dd><p>
+ Use IPv4 only.
+ </p></dd>
+<dt><span class="term">-6</span></dt>
+<dd><p>
+ Use IPv6 only.
+ </p></dd>
+<dt><span class="term">-b <em class="replaceable"><code>address[<span class="optional">#port</span>]</code></em></span></dt>
+<dd><p>
+ Set the source IP address of the query.
+ The <em class="parameter"><code>address</code></em> must be a valid address on
+ one of the host's network interfaces, or "0.0.0.0" or "::". An
+ optional port may be specified by appending "#&lt;port&gt;"
+ </p></dd>
+<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
+<dd><p>
+ Set the query class. The
+ default <em class="parameter"><code>class</code></em> is IN; other classes
+ are HS for Hesiod records or CH for Chaosnet records.
+ </p></dd>
+<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
+<dd><p>
+ Batch mode: <span><strong class="command">dig</strong></span> reads a list of lookup
+ requests to process from the
+ given <em class="parameter"><code>file</code></em>. Each line in the file
+ should be organized in the same way they would be
+ presented as queries to
+ <span><strong class="command">dig</strong></span> using the command-line interface.
+ </p></dd>
+<dt><span class="term">-i</span></dt>
+<dd><p>
+ Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
+ domain, which is no longer in use. Obsolete bit string
+ label queries (RFC2874) are not attempted.
+ </p></dd>
+<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
+<dd><p>
+ Sign queries using TSIG using a key read from the given file.
+ Key files can be generated using
+ <span class="citerefentry"><span class="refentrytitle">tsig-keygen</span>(8)</span>.
+ When using TSIG authentication with <span><strong class="command">dig</strong></span>,
+ the name server that is queried needs to know the key and
+ algorithm that is being used. In BIND, this is done by
+ providing appropriate <span><strong class="command">key</strong></span>
+ and <span><strong class="command">server</strong></span> statements in
+ <code class="filename">named.conf</code>.
+ </p></dd>
+<dt><span class="term">-m</span></dt>
+<dd><p>
+ Enable memory usage debugging.
+
+ </p></dd>
+<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
+<dd><p>
+ Send the query to a non-standard port on the server,
+ instead of the defaut port 53. This option would be used
+ to test a name server that has been configured to listen
+ for queries on a non-standard port number.
+ </p></dd>
+<dt><span class="term">-q <em class="replaceable"><code>name</code></em></span></dt>
+<dd><p>
+ The domain name to query. This is useful to distinguish
+ the <em class="parameter"><code>name</code></em> from other arguments.
+ </p></dd>
+<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
+<dd><p>
+ The resource record type to query. It can be any valid query type
+ which is
+ supported in BIND 9. The default query type is "A", unless the
+ <code class="option">-x</code> option is supplied to indicate a reverse lookup.
+ A zone transfer can be requested by specifying a type of AXFR. When
+ an incremental zone transfer (IXFR) is required, set the
+ <em class="parameter"><code>type</code></em> to <code class="literal">ixfr=N</code>.
+ The incremental zone transfer will contain the changes
+ made to the zone since the serial number in the zone's SOA
+ record was
+ <em class="parameter"><code>N</code></em>.
+ </p></dd>
+<dt><span class="term">-v</span></dt>
+<dd><p>
+ Print the version number and exit.
+ </p></dd>
+<dt><span class="term">-x <em class="replaceable"><code>addr</code></em></span></dt>
+<dd><p>
+ Simplified reverse lookups, for mapping addresses to
+ names. The <em class="parameter"><code>addr</code></em> is an IPv4 address
+ in dotted-decimal notation, or a colon-delimited IPv6
+ address. When the <code class="option">-x</code> is used, there is no
+ need to provide
+ the <em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em>
+ and <em class="parameter"><code>type</code></em>
+ arguments. <span><strong class="command">dig</strong></span> automatically performs a
+ lookup for a name like
+ <code class="literal">94.2.0.192.in-addr.arpa</code> and sets the
+ query type and class to PTR and IN respectively. IPv6
+ addresses are looked up using nibble format under the
+ IP6.ARPA domain (but see also the <code class="option">-i</code>
+ option).
+ </p></dd>
+<dt><span class="term">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></span></dt>
+<dd>
<p>
- To sign the DNS queries sent by <span><strong class="command">dig</strong></span> and
- their
- responses using transaction signatures (TSIG), specify a TSIG key file
- using the <code class="option">-k</code> option. You can also specify the TSIG
- key itself on the command line using the <code class="option">-y</code> option;
- <em class="parameter"><code>hmac</code></em> is the type of the TSIG, default HMAC-MD5,
- <em class="parameter"><code>name</code></em> is the name of the TSIG key and
- <em class="parameter"><code>key</code></em> is the actual key. The key is a
- base-64
- encoded string, typically generated by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
-
- Caution should be taken when using the <code class="option">-y</code> option on
- multi-user systems as the key can be visible in the output from
- <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
- or in the shell's history file. When
- using TSIG authentication with <span><strong class="command">dig</strong></span>, the name
- server that is queried needs to know the key and algorithm that is
- being used. In BIND, this is done by providing appropriate
- <span><strong class="command">key</strong></span> and <span><strong class="command">server</strong></span> statements in
- <code class="filename">named.conf</code>.
- </p>
+ Sign queries using TSIG with the given authentication key.
+ <em class="parameter"><code>keyname</code></em> is the name of the key, and
+ <em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
+ <em class="parameter"><code>hmac</code></em> is the name of the key algorithm;
+ valid choices are <code class="literal">hmac-md5</code>,
+ <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>,
+ <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>, or
+ <code class="literal">hmac-sha512</code>. If <em class="parameter"><code>hmac</code></em>
+ is not specified, the default is <code class="literal">hmac-md5</code>.
+ </p>
+<p>
+ NOTE: You should use the <code class="option">-k</code> option and
+ avoid the <code class="option">-y</code> option, because
+ with <code class="option">-y</code> the shared secret is supplied as
+ a command line argument in clear text. This may be visible
+ in the output from
+ <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
+ or in a history file maintained by the user's shell.
+ </p>
+</dd>
+</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2664309"></a><h2>QUERY OPTIONS</h2>
+<a name="id2665766"></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
@@ -276,6 +296,9 @@
that keyword. Other
keywords assign values to options like the timeout interval. They
have the form <code class="option">+keyword=value</code>.
+ Keywords may be abbreviated, provided the abbreviation is
+ unambiguous; for example, <code class="literal">+cd</code> is equivalent
+ to <code class="literal">+cdflag</code>.
The query options are:
</p>
@@ -340,7 +363,7 @@
the query. This requests the server to not perform
DNSSEC validation of responses.
</p></dd>
-<dt><span class="term"><code class="option">+[no]cl</code></span></dt>
+<dt><span class="term"><code class="option">+[no]class</code></span></dt>
<dd><p>
Display [do not display] the CLASS when printing the
record.
@@ -463,6 +486,10 @@
when an answer is returned. The default is to print
the question section as a comment.
</p></dd>
+<dt><span class="term"><code class="option">+[no]rdflag</code></span></dt>
+<dd><p>
+ A synonym for <em class="parameter"><code>+[no]recurse</code></em>.
+ </p></dd>
<dt><span class="term"><code class="option">+[no]recurse</code></span></dt>
<dd><p>
Toggle the setting of the RD (recursion desired) bit
@@ -570,6 +597,10 @@
from each server that was used to resolve the lookup.
</p>
<p>
+ If @server is also specified, it affects only the
+ initial query for the root zone name servers.
+ </p>
+<p>
<span><strong class="command">+dnssec</strong></span> is also set when +trace
is set to better emulate the default queries from a
nameserver.
@@ -618,7 +649,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2665492"></a><h2>MULTIPLE QUERIES</h2>
+<a name="id2666982"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
@@ -664,7 +695,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="id2665577"></a><h2>IDN SUPPORT</h2>
+<a name="id2667067"></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.
@@ -678,14 +709,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="id2665606"></a><h2>FILES</h2>
+<a name="id2667096"></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="id2665627"></a><h2>SEE ALSO</h2>
+<a name="id2667117"></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>,
@@ -693,7 +724,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="id2665665"></a><h2>BUGS</h2>
+<a name="id2667155"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
@@ -716,6 +747,6 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-checkds.html b/doc/arm/man.dnssec-checkds.html
index 57b70d4b1b12..be6b514f89ef 100644
--- a/doc/arm/man.dnssec-checkds.html
+++ b/doc/arm/man.dnssec-checkds.html
@@ -51,7 +51,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>dig path</code></em></code>] [<code class="option">-D <em class="replaceable"><code>dsfromkey path</code></em></code>] {zone}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2614337"></a><h2>DESCRIPTION</h2>
+<a name="id2614811"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-checkds</strong></span>
verifies the correctness of Delegation Signer (DS) or DNSSEC
Lookaside Validation (DLV) resource records for keys in a specified
@@ -59,7 +59,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2614350"></a><h2>OPTIONS</h2>
+<a name="id2614825"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
<dd><p>
@@ -88,14 +88,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2614453"></a><h2>SEE ALSO</h2>
+<a name="id2614996"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-dsfromkey</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2614487"></a><h2>AUTHOR</h2>
+<a name="id2615713"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -118,6 +118,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-coverage.html b/doc/arm/man.dnssec-coverage.html
index 6620d995059b..edbdf095a326 100644
--- a/doc/arm/man.dnssec-coverage.html
+++ b/doc/arm/man.dnssec-coverage.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-coverage</code> [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>DNSKEY TTL</code></em></code>] [<code class="option">-m <em class="replaceable"><code>max TTL</code></em></code>] [<code class="option">-r <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-c <em class="replaceable"><code>compilezone path</code></em></code>] [zone]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2614580"></a><h2>DESCRIPTION</h2>
+<a name="id2615805"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-coverage</strong></span>
verifies that the DNSSEC keys for a given zone or a set of zones
have timing metadata set properly to ensure no future lapses in DNSSEC
@@ -78,7 +78,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2614606"></a><h2>OPTIONS</h2>
+<a name="id2615832"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
<dd><p>
@@ -168,7 +168,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2615335"></a><h2>SEE ALSO</h2>
+<a name="id2616151"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dnssec-checkds</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-dsfromkey</span>(8)</span>,
@@ -177,7 +177,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2615379"></a><h2>AUTHOR</h2>
+<a name="id2616195"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -201,6 +201,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-dsfromkey.html b/doc/arm/man.dnssec-dsfromkey.html
index 4fcae1e31a1d..d78ef3ffb69f 100644
--- a/doc/arm/man.dnssec-dsfromkey.html
+++ b/doc/arm/man.dnssec-dsfromkey.html
@@ -47,19 +47,19 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] {keyfile}</p></div>
+<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-C</code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] {keyfile}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-h</code>] [<code class="option">-V</code>]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2615790"></a><h2>DESCRIPTION</h2>
+<a name="id2616643"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-dsfromkey</strong></span>
outputs the Delegation Signer (DS) resource record (RR), as defined in
RFC 3658 and RFC 4509, for the given key(s).
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2615804"></a><h2>OPTIONS</h2>
+<a name="id2616657"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-1</span></dt>
<dd><p>
@@ -77,6 +77,11 @@
SHA-256 (SHA256), GOST or SHA-384 (SHA384).
These values are case insensitive.
</p></dd>
+<dt><span class="term">-C</span></dt>
+<dd><p>
+ Generate CDS records rather than DS records. This is mutually
+ exclusive with generating lookaside records.
+ </p></dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt>
<dd><p>
Specifies the TTL of the DS records.
@@ -117,7 +122,8 @@
<code class="option">domain</code> is appended to the name for each
record in the set.
The DNSSEC Lookaside Validation (DLV) RR is described
- in RFC 4431.
+ in RFC 4431. This is mutually exclusive with generating
+ CDS records.
</p></dd>
<dt><span class="term">-s</span></dt>
<dd><p>
@@ -144,7 +150,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2616476"></a><h2>EXAMPLE</h2>
+<a name="id2617410"></a><h2>EXAMPLE</h2>
<p>
To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
@@ -159,7 +165,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2616513"></a><h2>FILES</h2>
+<a name="id2617446"></a><h2>FILES</h2>
<p>
The keyfile can be designed by the key identification
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
@@ -173,13 +179,13 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2617510"></a><h2>CAVEAT</h2>
+<a name="id2618580"></a><h2>CAVEAT</h2>
<p>
A keyfile error can give a "file not found" even if the file exists.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2617520"></a><h2>SEE ALSO</h2>
+<a name="id2618589"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@@ -189,7 +195,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2617559"></a><h2>AUTHOR</h2>
+<a name="id2618629"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -213,6 +219,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-keyfromlabel.html b/doc/arm/man.dnssec-keyfromlabel.html
index 603a14c64cf2..a8211984c23f 100644
--- a/doc/arm/man.dnssec-keyfromlabel.html
+++ b/doc/arm/man.dnssec-keyfromlabel.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</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>] [<code class="option">-V</code>] [<code class="option">-y</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2616899"></a><h2>DESCRIPTION</h2>
+<a name="id2617876"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keyfromlabel</strong></span>
generates a key pair of files that referencing a key object stored
in a cryptographic hardware service module (HSM). The private key
@@ -66,7 +66,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2616924"></a><h2>OPTIONS</h2>
+<a name="id2617901"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
@@ -209,7 +209,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2670258"></a><h2>TIMING OPTIONS</h2>
+<a name="id2620171"></a><h2>TIMING OPTIONS</h2>
<p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
@@ -281,7 +281,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2670379"></a><h2>GENERATED KEY FILES</h2>
+<a name="id2671220"></a><h2>GENERATED KEY FILES</h2>
<p>
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
successfully,
@@ -320,7 +320,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2670541"></a><h2>SEE ALSO</h2>
+<a name="id2671314"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@@ -328,7 +328,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2670574"></a><h2>AUTHOR</h2>
+<a name="id2671347"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -352,6 +352,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-keygen.html b/doc/arm/man.dnssec-keygen.html
index b1ff9554cabd..08a32ae72e14 100644
--- a/doc/arm/man.dnssec-keygen.html
+++ b/doc/arm/man.dnssec-keygen.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</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>] [<code class="option">-V</code>] [<code class="option">-z</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2618014"></a><h2>DESCRIPTION</h2>
+<a name="id2618787"></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
@@ -64,7 +64,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2618035"></a><h2>OPTIONS</h2>
+<a name="id2618807"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
@@ -280,7 +280,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2671760"></a><h2>TIMING OPTIONS</h2>
+<a name="id2671781"></a><h2>TIMING OPTIONS</h2>
<p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
@@ -354,7 +354,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2671881"></a><h2>GENERATED KEYS</h2>
+<a name="id2671971"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully,
@@ -400,7 +400,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2672057"></a><h2>EXAMPLE</h2>
+<a name="id2672215"></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
@@ -421,7 +421,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2672114"></a><h2>SEE ALSO</h2>
+<a name="id2672272"></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 2539</em>,
@@ -430,7 +430,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2672145"></a><h2>AUTHOR</h2>
+<a name="id2672302"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -454,6 +454,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-revoke.html b/doc/arm/man.dnssec-revoke.html
index 245bac19aafa..b6d20df063d0 100644
--- a/doc/arm/man.dnssec-revoke.html
+++ b/doc/arm/man.dnssec-revoke.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] [<code class="option">-R</code>] {keyfile}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2618533"></a><h2>DESCRIPTION</h2>
+<a name="id2619237"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-revoke</strong></span>
reads a DNSSEC key file, sets the REVOKED bit on the key as defined
in RFC 5011, and creates a new pair of key files containing the
@@ -58,7 +58,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2618547"></a><h2>OPTIONS</h2>
+<a name="id2619251"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-h</span></dt>
<dd><p>
@@ -100,14 +100,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2618681"></a><h2>SEE ALSO</h2>
+<a name="id2619385"></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 5011</em>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2618706"></a><h2>AUTHOR</h2>
+<a name="id2619410"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -131,6 +131,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-settime.html b/doc/arm/man.dnssec-settime.html
index 2840bf987366..96375e91b22a 100644
--- a/doc/arm/man.dnssec-settime.html
+++ b/doc/arm/man.dnssec-settime.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-settime</code> [<code class="option">-f</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-V</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] {keyfile}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2619302"></a><h2>DESCRIPTION</h2>
+<a name="id2620211"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-settime</strong></span>
reads a DNSSEC private key file and sets the key timing metadata
as specified by the <code class="option">-P</code>, <code class="option">-A</code>,
@@ -76,7 +76,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2619361"></a><h2>OPTIONS</h2>
+<a name="id2620269"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-f</span></dt>
<dd><p>
@@ -124,7 +124,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2619497"></a><h2>TIMING OPTIONS</h2>
+<a name="id2620406"></a><h2>TIMING OPTIONS</h2>
<p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
@@ -203,7 +203,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2619772"></a><h2>PRINTING OPTIONS</h2>
+<a name="id2620545"></a><h2>PRINTING OPTIONS</h2>
<p>
<span><strong class="command">dnssec-settime</strong></span> can also be used to print the
timing metadata associated with a key.
@@ -229,7 +229,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2619852"></a><h2>SEE ALSO</h2>
+<a name="id2624379"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@@ -237,7 +237,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2619885"></a><h2>AUTHOR</h2>
+<a name="id2624412"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -261,6 +261,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-signzone.html b/doc/arm/man.dnssec-signzone.html
index d11b33125c3a..8fd6d070c749 100644
--- a/doc/arm/man.dnssec-signzone.html
+++ b/doc/arm/man.dnssec-signzone.html
@@ -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">-D</code>] [<code class="option">-E <em class="replaceable"><code>engine</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>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</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">-p</code>] [<code class="option">-R</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-X <em class="replaceable"><code>extended end-time</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2622083"></a><h2>DESCRIPTION</h2>
+<a name="id2622104"></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="id2622102"></a><h2>OPTIONS</h2>
+<a name="id2622123"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
@@ -483,7 +483,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2676409"></a><h2>EXAMPLE</h2>
+<a name="id2677932"></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>
@@ -513,14 +513,14 @@ db.example.com.signed
%</pre>
</div>
<div class="refsect1" lang="en">
-<a name="id2676488"></a><h2>SEE ALSO</h2>
+<a name="id2678011"></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 4033</em>, <em class="citetitle">RFC 4641</em>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2676516"></a><h2>AUTHOR</h2>
+<a name="id2678107"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -544,6 +544,6 @@ db.example.com.signed
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.dnssec-verify.html b/doc/arm/man.dnssec-verify.html
index 53533ce1207f..93d9fa4e4609 100644
--- a/doc/arm/man.dnssec-verify.html
+++ b/doc/arm/man.dnssec-verify.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-verify</code> [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-x</code>] [<code class="option">-z</code>] {zonefile}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2622588"></a><h2>DESCRIPTION</h2>
+<a name="id2624999"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-verify</strong></span>
verifies that a zone is fully signed for each algorithm found
in the DNSKEY RRset for the zone, and that the NSEC / NSEC3
@@ -58,7 +58,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2622602"></a><h2>OPTIONS</h2>
+<a name="id2625013"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
<dd><p>
@@ -124,7 +124,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2627134"></a><h2>SEE ALSO</h2>
+<a name="id2629682"></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>,
@@ -132,7 +132,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2627160"></a><h2>AUTHOR</h2>
+<a name="id2629707"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -156,6 +156,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.genrandom.html b/doc/arm/man.genrandom.html
index 2d347824aabc..e5b14e69cd2a 100644
--- a/doc/arm/man.genrandom.html
+++ b/doc/arm/man.genrandom.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">genrandom</code> [<code class="option">-n <em class="replaceable"><code>number</code></em></code>] {<em class="replaceable"><code>size</code></em>} {<em class="replaceable"><code>filename</code></em>}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2660574"></a><h2>DESCRIPTION</h2>
+<a name="id2622665"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">genrandom</strong></span>
generates a file or a set of files containing a specified quantity
@@ -59,7 +59,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2660589"></a><h2>ARGUMENTS</h2>
+<a name="id2658725"></a><h2>ARGUMENTS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-n <em class="replaceable"><code>number</code></em></span></dt>
<dd><p>
@@ -77,14 +77,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2660650"></a><h2>SEE ALSO</h2>
+<a name="id2658786"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">rand</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">arc4random</span>(3)</span>
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2660677"></a><h2>AUTHOR</h2>
+<a name="id2658812"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -108,6 +108,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.host.html b/doc/arm/man.host.html
index b86f1cec7c60..37b89175d025 100644
--- a/doc/arm/man.host.html
+++ b/doc/arm/man.host.html
@@ -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>] [<code class="option">-v</code>] [<code class="option">-V</code>] {name} [server]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2612829"></a><h2>DESCRIPTION</h2>
+<a name="id2613918"></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.
@@ -206,7 +206,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2613356"></a><h2>IDN SUPPORT</h2>
+<a name="id2614377"></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.
@@ -220,12 +220,12 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2615160"></a><h2>FILES</h2>
+<a name="id2614406"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2615174"></a><h2>SEE ALSO</h2>
+<a name="id2614420"></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>
@@ -249,6 +249,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.isc-hmac-fixup.html b/doc/arm/man.isc-hmac-fixup.html
index fdbe6cbc3758..33ee6df6b775 100644
--- a/doc/arm/man.isc-hmac-fixup.html
+++ b/doc/arm/man.isc-hmac-fixup.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">isc-hmac-fixup</code> {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>secret</code></em>}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2619978"></a><h2>DESCRIPTION</h2>
+<a name="id2659142"></a><h2>DESCRIPTION</h2>
<p>
Versions of BIND 9 up to and including BIND 9.6 had a bug causing
HMAC-SHA* TSIG keys which were longer than the digest length of the
@@ -76,7 +76,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2661376"></a><h2>SECURITY CONSIDERATIONS</h2>
+<a name="id2659170"></a><h2>SECURITY CONSIDERATIONS</h2>
<p>
Secrets that have been converted by <span><strong class="command">isc-hmac-fixup</strong></span>
are shortened, but as this is how the HMAC protocol works in
@@ -87,14 +87,14 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2661392"></a><h2>SEE ALSO</h2>
+<a name="id2659186"></a><h2>SEE ALSO</h2>
<p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2104</em>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2661409"></a><h2>AUTHOR</h2>
+<a name="id2659203"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -118,6 +118,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.named-checkconf.html b/doc/arm/man.named-checkconf.html
index 90a7e4fd5e77..50d8cf93e5e4 100644
--- a/doc/arm/man.named-checkconf.html
+++ b/doc/arm/man.named-checkconf.html
@@ -50,7 +50,7 @@
<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">-p</code>] [<code class="option">-x</code>] [<code class="option">-z</code>]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2628713"></a><h2>DESCRIPTION</h2>
+<a name="id2632011"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkconf</strong></span>
checks the syntax, but not the semantics, of a
<span><strong class="command">named</strong></span> configuration file. The file is parsed
@@ -70,7 +70,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2628784"></a><h2>OPTIONS</h2>
+<a name="id2632082"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-h</span></dt>
<dd><p>
@@ -119,21 +119,21 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2634742"></a><h2>RETURN VALUES</h2>
+<a name="id2635378"></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="id2634824"></a><h2>SEE ALSO</h2>
+<a name="id2635392"></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="id2634854"></a><h2>AUTHOR</h2>
+<a name="id2635421"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -157,6 +157,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.named-checkzone.html b/doc/arm/man.named-checkzone.html
index b3ab15eb115c..809288fa3095 100644
--- a/doc/arm/man.named-checkzone.html
+++ b/doc/arm/man.named-checkzone.html
@@ -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">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</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">-T <em class="replaceable"><code>mode</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>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2641427"></a><h2>DESCRIPTION</h2>
+<a name="id2641380"></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="id2641477"></a><h2>OPTIONS</h2>
+<a name="id2641430"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-d</span></dt>
<dd><p>
@@ -288,14 +288,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2679728"></a><h2>RETURN VALUES</h2>
+<a name="id2681319"></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="id2679741"></a><h2>SEE ALSO</h2>
+<a name="id2681333"></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>,
@@ -303,7 +303,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2679774"></a><h2>AUTHOR</h2>
+<a name="id2681366"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -327,6 +327,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.named-journalprint.html b/doc/arm/man.named-journalprint.html
index 69e31735a627..c7d93d8c91a8 100644
--- a/doc/arm/man.named-journalprint.html
+++ b/doc/arm/man.named-journalprint.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">named-journalprint</code> {<em class="replaceable"><code>journal</code></em>}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2615069"></a><h2>DESCRIPTION</h2>
+<a name="id2620864"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">named-journalprint</strong></span>
prints the contents of a zone journal file in a human-readable
@@ -76,7 +76,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2642968"></a><h2>SEE ALSO</h2>
+<a name="id2644461"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">nsupdate</span>(8)</span>,
@@ -84,7 +84,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2642999"></a><h2>AUTHOR</h2>
+<a name="id2644492"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -108,6 +108,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.named.html b/doc/arm/man.named.html
index 77921d695d6d..1663ec650825 100644
--- a/doc/arm/man.named.html
+++ b/doc/arm/man.named.html
@@ -47,10 +47,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<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">-E <em class="replaceable"><code>engine-name</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">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-U <em class="replaceable"><code>#listeners</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
+<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">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-M <em class="replaceable"><code>option</code></em></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">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-U <em class="replaceable"><code>#listeners</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</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="id2642152"></a><h2>DESCRIPTION</h2>
+<a name="id2643388"></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="id2642183"></a><h2>OPTIONS</h2>
+<a name="id2643419"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -114,6 +114,14 @@
Run the server in the foreground and force all logging
to <code class="filename">stderr</code>.
</p></dd>
+<dt><span class="term">-M <em class="replaceable"><code>option</code></em></span></dt>
+<dd><p>
+ Sets the default memory context options. Currently
+ the only supported option is
+ <em class="replaceable"><code>external</code></em>,
+ which causes the internal memory manager to be bypassed
+ in favor of system-provided memory allocation functions.
+ </p></dd>
<dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
<dd><p>
Turn on memory usage debugging flags. Possible flags are
@@ -258,7 +266,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2665845"></a><h2>SIGNALS</h2>
+<a name="id2681644"></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
@@ -279,7 +287,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2665895"></a><h2>CONFIGURATION</h2>
+<a name="id2681694"></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
@@ -296,7 +304,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2665944"></a><h2>FILES</h2>
+<a name="id2681744"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
<dd><p>
@@ -309,7 +317,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2679914"></a><h2>SEE ALSO</h2>
+<a name="id2681787"></a><h2>SEE ALSO</h2>
<p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
@@ -322,7 +330,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2679985"></a><h2>AUTHOR</h2>
+<a name="id2681858"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -346,6 +354,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.nsec3hash.html b/doc/arm/man.nsec3hash.html
index 1e928db5794f..1ee6808f50c7 100644
--- a/doc/arm/man.nsec3hash.html
+++ b/doc/arm/man.nsec3hash.html
@@ -48,7 +48,7 @@
<div class="cmdsynopsis"><p><code class="command">nsec3hash</code> {<em class="replaceable"><code>salt</code></em>} {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>iterations</code></em>} {<em class="replaceable"><code>domain</code></em>}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2661658"></a><h2>DESCRIPTION</h2>
+<a name="id2622861"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">nsec3hash</strong></span> generates an NSEC3 hash based on
a set of NSEC3 parameters. This can be used to check the validity
@@ -56,7 +56,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2661673"></a><h2>ARGUMENTS</h2>
+<a name="id2659262"></a><h2>ARGUMENTS</h2>
<div class="variablelist"><dl>
<dt><span class="term">salt</span></dt>
<dd><p>
@@ -80,14 +80,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2661735"></a><h2>SEE ALSO</h2>
+<a name="id2659324"></a><h2>SEE ALSO</h2>
<p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5155</em>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2661752"></a><h2>AUTHOR</h2>
+<a name="id2659341"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -109,6 +109,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.nsupdate.html b/doc/arm/man.nsupdate.html
index f4f491d4c8a4..4d53fdd28cd3 100644
--- a/doc/arm/man.nsupdate.html
+++ b/doc/arm/man.nsupdate.html
@@ -47,10 +47,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [filename]</p></div>
+<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [<code class="option">-L <em class="replaceable"><code>level</code></em></code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [filename]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2643939"></a><h2>DESCRIPTION</h2>
+<a name="id2645064"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">nsupdate</strong></span>
is used to submit Dynamic DNS Update requests as defined in RFC 2136
to a name server.
@@ -75,43 +75,30 @@
This is identified by the MNAME field of the zone's SOA record.
</p>
<p>
- The
- <code class="option">-d</code>
- option makes
- <span><strong class="command">nsupdate</strong></span>
- operate in debug mode.
- This provides tracing information about the update requests that are
- made and the replies received from the name server.
- </p>
-<p>
- The <code class="option">-D</code> option makes <span><strong class="command">nsupdate</strong></span>
- report additional debugging information to <code class="option">-d</code>.
- </p>
-<p>
- The <code class="option">-L</code> option with an integer argument of zero or
- higher sets the logging debug level. If zero, logging is disabled.
- </p>
-<p>
Transaction signatures can be used to authenticate the Dynamic
DNS updates. These use the TSIG resource record type described
in RFC 2845 or the SIG(0) record described in RFC 2535 and
- RFC 2931 or GSS-TSIG as described in RFC 3645. TSIG relies on
+ RFC 2931 or GSS-TSIG as described in RFC 3645.
+ </p>
+<p>
+ TSIG relies on
a shared secret that should only be known to
- <span><strong class="command">nsupdate</strong></span> and the name server. Currently,
- the only supported encryption algorithm for TSIG is HMAC-MD5,
- which is defined in RFC 2104. Once other algorithms are
- defined for TSIG, applications will need to ensure they select
- the appropriate algorithm as well as the key when authenticating
- each other. For instance, suitable <span class="type">key</span> and
+ <span><strong class="command">nsupdate</strong></span> and the name server.
+ For instance, suitable <span class="type">key</span> and
<span class="type">server</span> statements would be added to
<code class="filename">/etc/named.conf</code> so that the name server
can associate the appropriate secret key and algorithm with
the IP address of the client application that will be using
- TSIG authentication. SIG(0) uses public key cryptography.
+ TSIG authentication. You can use <span><strong class="command">ddns-confgen</strong></span>
+ to generate suitable configuration fragments.
+ <span><strong class="command">nsupdate</strong></span>
+ uses the <code class="option">-y</code> or <code class="option">-k</code> options
+ to provide the TSIG shared secret. These options are mutually exclusive.
+ </p>
+<p>
+ SIG(0) uses public key cryptography.
To use a SIG(0) key, the public key must be stored in a KEY
record in a zone served by the name server.
- <span><strong class="command">nsupdate</strong></span> does not read
- <code class="filename">/etc/named.conf</code>.
</p>
<p>
GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode
@@ -119,108 +106,119 @@
non-standards-compliant variant of GSS-TSIG used by Windows
2000 can be switched on with the <code class="option">-o</code> flag.
</p>
-<p><span><strong class="command">nsupdate</strong></span>
- uses the <code class="option">-y</code> or <code class="option">-k</code> option
- to provide the shared secret needed to generate a TSIG record
- for authenticating Dynamic DNS update requests, default type
- HMAC-MD5. These options are mutually exclusive.
- </p>
-<p>
- When the <code class="option">-y</code> option is used, a signature is
- generated from
- [<span class="optional"><em class="parameter"><code>hmac:</code></em></span>]<em class="parameter"><code>keyname:secret.</code></em>
- <em class="parameter"><code>keyname</code></em> is the name of the key, and
- <em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
- <em class="parameter"><code>hmac</code></em> is the name of the key algorithm;
- valid choices are <code class="literal">hmac-md5</code>,
- <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>,
- <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>, or
- <code class="literal">hmac-sha512</code>. If <em class="parameter"><code>hmac</code></em>
- is not specified, the default is <code class="literal">hmac-md5</code>.
- NOTE: Use of the <code class="option">-y</code> option is discouraged because the
- shared secret is supplied as a command line argument in clear text.
- This may be visible in the output from
- <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
- or in a history file maintained by the user's shell.
- </p>
-<p>
- With the
- <code class="option">-k</code> option, <span><strong class="command">nsupdate</strong></span> reads
- the shared secret from the file <em class="parameter"><code>keyfile</code></em>.
- Keyfiles may be in two formats: a single file containing
- a <code class="filename">named.conf</code>-format <span><strong class="command">key</strong></span>
- statement, which may be generated automatically by
- <span><strong class="command">ddns-confgen</strong></span>, or a pair of files whose names are
- of the format <code class="filename">K{name}.+157.+{random}.key</code> and
- <code class="filename">K{name}.+157.+{random}.private</code>, which can be
- generated by <span><strong class="command">dnssec-keygen</strong></span>.
- The <code class="option">-k</code> may also be used to specify a SIG(0) key used
- to authenticate Dynamic DNS update requests. In this case, the key
- specified is not an HMAC-MD5 key.
- </p>
-<p>
- <span><strong class="command">nsupdate</strong></span> can be run in a local-host only mode
- using the <code class="option">-l</code> flag. This sets the server address to
- localhost (disabling the <span><strong class="command">server</strong></span> so that the server
- address cannot be overridden). Connections to the local server will
- use a TSIG key found in <code class="filename">/var/run/named/session.key</code>,
- which is automatically generated by <span><strong class="command">named</strong></span> if any
- local master zone has set <span><strong class="command">update-policy</strong></span> to
- <span><strong class="command">local</strong></span>. The location of this key file can be
- overridden with the <code class="option">-k</code> option.
- </p>
-<p>
- By default, <span><strong class="command">nsupdate</strong></span>
- uses UDP to send update requests to the name server unless they are too
- large to fit in a UDP request in which case TCP will be used.
- The
- <code class="option">-v</code>
- option makes
- <span><strong class="command">nsupdate</strong></span>
- use a TCP connection.
- This may be preferable when a batch of update requests is made.
- </p>
-<p>
- The <code class="option">-p</code> sets the default port number to use for
- connections to a name server. The default is 53.
- </p>
-<p>
- The <code class="option">-t</code> option sets the maximum time an update request
- can
- take before it is aborted. The default is 300 seconds. Zero can be
- used
- to disable the timeout.
- </p>
-<p>
- The <code class="option">-u</code> option sets the UDP retry interval. The default
- is
- 3 seconds. If zero, the interval will be computed from the timeout
- interval
- and number of UDP retries.
- </p>
-<p>
- The <code class="option">-r</code> option sets the number of UDP retries. The
- default is
- 3. If zero, only one update request will be made.
- </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2645153"></a><h2>OPTIONS</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">-d</span></dt>
+<dd><p>
+ Debug mode. This provides tracing information about the
+ update requests that are made and the replies received
+ from the name server.
+ </p></dd>
+<dt><span class="term">-D</span></dt>
+<dd><p>
+ Extra debug mode.
+ </p></dd>
+<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
+<dd><p>
+ The file containing the TSIG authentication key.
+ Keyfiles may be in two formats: a single file containing
+ a <code class="filename">named.conf</code>-format <span><strong class="command">key</strong></span>
+ statement, which may be generated automatically by
+ <span><strong class="command">ddns-confgen</strong></span>, or a pair of files whose names are
+ of the format <code class="filename">K{name}.+157.+{random}.key</code> and
+ <code class="filename">K{name}.+157.+{random}.private</code>, which can be
+ generated by <span><strong class="command">dnssec-keygen</strong></span>.
+ The <code class="option">-k</code> may also be used to specify a SIG(0) key used
+ to authenticate Dynamic DNS update requests. In this case, the key
+ specified is not an HMAC-MD5 key.
+ </p></dd>
+<dt><span class="term">-l</span></dt>
+<dd><p>
+ Local-host only mode. This sets the server address to
+ localhost (disabling the <span><strong class="command">server</strong></span> so that the server
+ address cannot be overridden). Connections to the local server will
+ use a TSIG key found in <code class="filename">/var/run/named/session.key</code>,
+ which is automatically generated by <span><strong class="command">named</strong></span> if any
+ local master zone has set <span><strong class="command">update-policy</strong></span> to
+ <span><strong class="command">local</strong></span>. The location of this key file can be
+ overridden with the <code class="option">-k</code> option.
+ </p></dd>
+<dt><span class="term">-L <em class="replaceable"><code>level</code></em></span></dt>
+<dd><p>
+ Set the logging debug level. If zero, logging is disabled.
+ </p></dd>
+<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
+<dd><p>
+ Set the port to use for connections to a name server. The
+ default is 53.
+ </p></dd>
+<dt><span class="term">-r <em class="replaceable"><code>udpretries</code></em></span></dt>
+<dd><p>
+ The number of UDP retries. The default is 3. If zero, only
+ one update request will be made.
+ </p></dd>
+<dt><span class="term">-R <em class="replaceable"><code>randomdev</code></em></span></dt>
+<dd><p>
+ Where to obtain randomness. If the operating system
+ does not provide a <code class="filename">/dev/random</code> or
+ equivalent device, the default source of randomness is keyboard
+ input. <code class="filename">randomdev</code> specifies the name of
+ a character device or file containing random data to be used
+ instead of the default. The special value
+ <code class="filename">keyboard</code> indicates that keyboard input
+ should be used. This option may be specified multiple times.
+ </p></dd>
+<dt><span class="term">-t <em class="replaceable"><code>timeout</code></em></span></dt>
+<dd><p>
+ The maximum time an update request can take before it is
+ aborted. The default is 300 seconds. Zero can be used to
+ disable the timeout.
+ </p></dd>
+<dt><span class="term">-u <em class="replaceable"><code>udptimeout</code></em></span></dt>
+<dd><p>
+ The UDP retry interval. The default is 3 seconds. If zero,
+ the interval will be computed from the timeout interval and
+ number of UDP retries.
+ </p></dd>
+<dt><span class="term">-v</span></dt>
+<dd><p>
+ Use TCP even for small update requests.
+ By default, <span><strong class="command">nsupdate</strong></span>
+ uses UDP to send update requests to the name server unless they are too
+ large to fit in a UDP request in which case TCP will be used.
+ TCP may be preferable when a batch of update requests is made.
+ </p></dd>
+<dt><span class="term">-V</span></dt>
+<dd><p>
+ Print the version number and exit.
+ </p></dd>
+<dt><span class="term">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></span></dt>
+<dd>
<p>
- The <code class="option">-R <em class="replaceable"><code>randomdev</code></em></code> option
- specifies a source of randomness. If the operating system
- does not provide a <code class="filename">/dev/random</code> or
- equivalent device, the default source of randomness is keyboard
- input. <code class="filename">randomdev</code> specifies the name of
- a character device or file containing random data to be used
- instead of the default. The special value
- <code class="filename">keyboard</code> indicates that keyboard input
- should be used. This option may be specified multiple times.
- </p>
+ Literal TSIG authentication key.
+ <em class="parameter"><code>keyname</code></em> is the name of the key, and
+ <em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
+ <em class="parameter"><code>hmac</code></em> is the name of the key algorithm;
+ valid choices are <code class="literal">hmac-md5</code>,
+ <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>,
+ <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>, or
+ <code class="literal">hmac-sha512</code>. If <em class="parameter"><code>hmac</code></em>
+ is not specified, the default is <code class="literal">hmac-md5</code>.
+ </p>
<p>
- The -V option causes <span><strong class="command">nsupdate</strong></span> to print the
- version number and exit.
- </p>
+ NOTE: Use of the <code class="option">-y</code> option is discouraged because the
+ shared secret is supplied as a command line argument in clear text.
+ This may be visible in the output from
+ <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
+ or in a history file maintained by the user's shell.
+ </p>
+</dd>
+</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2680104"></a><h2>INPUT FORMAT</h2>
+<a name="id2681925"></a><h2>INPUT FORMAT</h2>
<p><span><strong class="command">nsupdate</strong></span>
reads input from
<em class="parameter"><code>filename</code></em>
@@ -250,270 +248,270 @@
</p>
<div class="variablelist"><dl>
<dt><span class="term">
- <span><strong class="command">server</strong></span>
- {servername}
- [port]
- </span></dt>
-<dd><p>
- Sends all dynamic update requests to the name server
- <em class="parameter"><code>servername</code></em>.
- When no server statement is provided,
- <span><strong class="command">nsupdate</strong></span>
- will send updates to the master server of the correct zone.
- The MNAME field of that zone's SOA record will identify the
- master
- server for that zone.
- <em class="parameter"><code>port</code></em>
- is the port number on
- <em class="parameter"><code>servername</code></em>
- where the dynamic update requests get sent.
- If no port number is specified, the default DNS port number of
- 53 is
- used.
- </p></dd>
+ <span><strong class="command">server</strong></span>
+ {servername}
+ [port]
+ </span></dt>
+<dd><p>
+ Sends all dynamic update requests to the name server
+ <em class="parameter"><code>servername</code></em>.
+ When no server statement is provided,
+ <span><strong class="command">nsupdate</strong></span>
+ will send updates to the master server of the correct zone.
+ The MNAME field of that zone's SOA record will identify the
+ master
+ server for that zone.
+ <em class="parameter"><code>port</code></em>
+ is the port number on
+ <em class="parameter"><code>servername</code></em>
+ where the dynamic update requests get sent.
+ If no port number is specified, the default DNS port number of
+ 53 is
+ used.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">local</strong></span>
- {address}
- [port]
- </span></dt>
+ <span><strong class="command">local</strong></span>
+ {address}
+ [port]
+ </span></dt>
<dd><p>
- Sends all dynamic update requests using the local
- <em class="parameter"><code>address</code></em>.
+ Sends all dynamic update requests using the local
+ <em class="parameter"><code>address</code></em>.
- When no local statement is provided,
- <span><strong class="command">nsupdate</strong></span>
- will send updates using an address and port chosen by the
- system.
- <em class="parameter"><code>port</code></em>
- can additionally be used to make requests come from a specific
- port.
- If no port number is specified, the system will assign one.
- </p></dd>
+ When no local statement is provided,
+ <span><strong class="command">nsupdate</strong></span>
+ will send updates using an address and port chosen by the
+ system.
+ <em class="parameter"><code>port</code></em>
+ can additionally be used to make requests come from a specific
+ port.
+ If no port number is specified, the system will assign one.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">zone</strong></span>
- {zonename}
- </span></dt>
-<dd><p>
- Specifies that all updates are to be made to the zone
- <em class="parameter"><code>zonename</code></em>.
- If no
- <em class="parameter"><code>zone</code></em>
- statement is provided,
- <span><strong class="command">nsupdate</strong></span>
- will attempt determine the correct zone to update based on the
- rest of the input.
- </p></dd>
+ <span><strong class="command">zone</strong></span>
+ {zonename}
+ </span></dt>
+<dd><p>
+ Specifies that all updates are to be made to the zone
+ <em class="parameter"><code>zonename</code></em>.
+ If no
+ <em class="parameter"><code>zone</code></em>
+ statement is provided,
+ <span><strong class="command">nsupdate</strong></span>
+ will attempt determine the correct zone to update based on the
+ rest of the input.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">class</strong></span>
- {classname}
- </span></dt>
-<dd><p>
- Specify the default class.
- If no <em class="parameter"><code>class</code></em> is specified, the
- default class is
- <em class="parameter"><code>IN</code></em>.
- </p></dd>
+ <span><strong class="command">class</strong></span>
+ {classname}
+ </span></dt>
+<dd><p>
+ Specify the default class.
+ If no <em class="parameter"><code>class</code></em> is specified, the
+ default class is
+ <em class="parameter"><code>IN</code></em>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">ttl</strong></span>
- {seconds}
- </span></dt>
+ <span><strong class="command">ttl</strong></span>
+ {seconds}
+ </span></dt>
<dd><p>
- Specify the default time to live for records to be added.
+ Specify the default time to live for records to be added.
The value <em class="parameter"><code>none</code></em> will clear the default
ttl.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">key</strong></span>
- [hmac:] {keyname}
- {secret}
- </span></dt>
-<dd><p>
- Specifies that all updates are to be TSIG-signed using the
- <em class="parameter"><code>keyname</code></em> <em class="parameter"><code>secret</code></em> pair.
- If <em class="parameter"><code>hmac</code></em> is specified, then it sets the
- signing algorithm in use; the default is
- <code class="literal">hmac-md5</code>. The <span><strong class="command">key</strong></span>
- command overrides any key specified on the command line via
- <code class="option">-y</code> or <code class="option">-k</code>.
- </p></dd>
+ <span><strong class="command">key</strong></span>
+ [hmac:] {keyname}
+ {secret}
+ </span></dt>
+<dd><p>
+ Specifies that all updates are to be TSIG-signed using the
+ <em class="parameter"><code>keyname</code></em> <em class="parameter"><code>secret</code></em> pair.
+ If <em class="parameter"><code>hmac</code></em> is specified, then it sets the
+ signing algorithm in use; the default is
+ <code class="literal">hmac-md5</code>. The <span><strong class="command">key</strong></span>
+ command overrides any key specified on the command line via
+ <code class="option">-y</code> or <code class="option">-k</code>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">gsstsig</strong></span>
- </span></dt>
+ <span><strong class="command">gsstsig</strong></span>
+ </span></dt>
<dd><p>
Use GSS-TSIG to sign the updated. This is equivalent to
specifying <code class="option">-g</code> on the commandline.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">oldgsstsig</strong></span>
- </span></dt>
+ <span><strong class="command">oldgsstsig</strong></span>
+ </span></dt>
<dd><p>
Use the Windows 2000 version of GSS-TSIG to sign the updated.
This is equivalent to specifying <code class="option">-o</code> on the
commandline.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">realm</strong></span>
- {[<span class="optional">realm_name</span>]}
- </span></dt>
+ <span><strong class="command">realm</strong></span>
+ {[<span class="optional">realm_name</span>]}
+ </span></dt>
<dd><p>
When using GSS-TSIG use <em class="parameter"><code>realm_name</code></em> rather
than the default realm in <code class="filename">krb5.conf</code>. If no
realm is specified the saved realm is cleared.
- </p></dd>
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] nxdomain</strong></span>
- {domain-name}
- </span></dt>
+ <span><strong class="command">[<span class="optional">prereq</span>] nxdomain</strong></span>
+ {domain-name}
+ </span></dt>
<dd><p>
- Requires that no resource record of any type exists with name
- <em class="parameter"><code>domain-name</code></em>.
- </p></dd>
+ Requires that no resource record of any type exists with name
+ <em class="parameter"><code>domain-name</code></em>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] yxdomain</strong></span>
- {domain-name}
- </span></dt>
-<dd><p>
- Requires that
- <em class="parameter"><code>domain-name</code></em>
- exists (has as at least one resource record, of any type).
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] yxdomain</strong></span>
+ {domain-name}
+ </span></dt>
+<dd><p>
+ Requires that
+ <em class="parameter"><code>domain-name</code></em>
+ exists (has as at least one resource record, of any type).
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] nxrrset</strong></span>
- {domain-name}
- [class]
- {type}
- </span></dt>
-<dd><p>
- Requires that no resource record exists of the specified
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>
- and
- <em class="parameter"><code>domain-name</code></em>.
- If
- <em class="parameter"><code>class</code></em>
- is omitted, IN (internet) is assumed.
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] nxrrset</strong></span>
+ {domain-name}
+ [class]
+ {type}
+ </span></dt>
+<dd><p>
+ Requires that no resource record exists of the specified
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>
+ and
+ <em class="parameter"><code>domain-name</code></em>.
+ If
+ <em class="parameter"><code>class</code></em>
+ is omitted, IN (internet) is assumed.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
- {domain-name}
- [class]
- {type}
- </span></dt>
-<dd><p>
- This requires that a resource record of the specified
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>
- and
- <em class="parameter"><code>domain-name</code></em>
- must exist.
- If
- <em class="parameter"><code>class</code></em>
- is omitted, IN (internet) is assumed.
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
+ {domain-name}
+ [class]
+ {type}
+ </span></dt>
+<dd><p>
+ This requires that a resource record of the specified
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>
+ and
+ <em class="parameter"><code>domain-name</code></em>
+ must exist.
+ If
+ <em class="parameter"><code>class</code></em>
+ is omitted, IN (internet) is assumed.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
- {domain-name}
- [class]
- {type}
- {data...}
- </span></dt>
-<dd><p>
- The
- <em class="parameter"><code>data</code></em>
- from each set of prerequisites of this form
- sharing a common
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>,
- and
- <em class="parameter"><code>domain-name</code></em>
- are combined to form a set of RRs. This set of RRs must
- exactly match the set of RRs existing in the zone at the
- given
- <em class="parameter"><code>type</code></em>,
- <em class="parameter"><code>class</code></em>,
- and
- <em class="parameter"><code>domain-name</code></em>.
- The
- <em class="parameter"><code>data</code></em>
- are written in the standard text representation of the resource
- record's
- RDATA.
- </p></dd>
+ <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span>
+ {domain-name}
+ [class]
+ {type}
+ {data...}
+ </span></dt>
+<dd><p>
+ The
+ <em class="parameter"><code>data</code></em>
+ from each set of prerequisites of this form
+ sharing a common
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>,
+ and
+ <em class="parameter"><code>domain-name</code></em>
+ are combined to form a set of RRs. This set of RRs must
+ exactly match the set of RRs existing in the zone at the
+ given
+ <em class="parameter"><code>type</code></em>,
+ <em class="parameter"><code>class</code></em>,
+ and
+ <em class="parameter"><code>domain-name</code></em>.
+ The
+ <em class="parameter"><code>data</code></em>
+ are written in the standard text representation of the resource
+ record's
+ RDATA.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">update</span>] del[<span class="optional">ete</span>]</strong></span>
- {domain-name}
- [ttl]
- [class]
- [type [data...]]
- </span></dt>
-<dd><p>
- Deletes any resource records named
- <em class="parameter"><code>domain-name</code></em>.
- If
- <em class="parameter"><code>type</code></em>
- and
- <em class="parameter"><code>data</code></em>
- is provided, only matching resource records will be removed.
- The internet class is assumed if
- <em class="parameter"><code>class</code></em>
- is not supplied. The
- <em class="parameter"><code>ttl</code></em>
- is ignored, and is only allowed for compatibility.
- </p></dd>
+ <span><strong class="command">[<span class="optional">update</span>] del[<span class="optional">ete</span>]</strong></span>
+ {domain-name}
+ [ttl]
+ [class]
+ [type [data...]]
+ </span></dt>
+<dd><p>
+ Deletes any resource records named
+ <em class="parameter"><code>domain-name</code></em>.
+ If
+ <em class="parameter"><code>type</code></em>
+ and
+ <em class="parameter"><code>data</code></em>
+ is provided, only matching resource records will be removed.
+ The internet class is assumed if
+ <em class="parameter"><code>class</code></em>
+ is not supplied. The
+ <em class="parameter"><code>ttl</code></em>
+ is ignored, and is only allowed for compatibility.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">[<span class="optional">update</span>] add</strong></span>
- {domain-name}
- {ttl}
- [class]
- {type}
- {data...}
- </span></dt>
-<dd><p>
- Adds a new resource record with the specified
- <em class="parameter"><code>ttl</code></em>,
- <em class="parameter"><code>class</code></em>
- and
- <em class="parameter"><code>data</code></em>.
- </p></dd>
+ <span><strong class="command">[<span class="optional">update</span>] add</strong></span>
+ {domain-name}
+ {ttl}
+ [class]
+ {type}
+ {data...}
+ </span></dt>
+<dd><p>
+ Adds a new resource record with the specified
+ <em class="parameter"><code>ttl</code></em>,
+ <em class="parameter"><code>class</code></em>
+ and
+ <em class="parameter"><code>data</code></em>.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">show</strong></span>
- </span></dt>
+ <span><strong class="command">show</strong></span>
+ </span></dt>
<dd><p>
- Displays the current message, containing all of the
- prerequisites and
- updates specified since the last send.
- </p></dd>
+ Displays the current message, containing all of the
+ prerequisites and
+ updates specified since the last send.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">send</strong></span>
- </span></dt>
+ <span><strong class="command">send</strong></span>
+ </span></dt>
<dd><p>
- Sends the current message. This is equivalent to entering a
- blank line.
- </p></dd>
+ Sends the current message. This is equivalent to entering a
+ blank line.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">answer</strong></span>
- </span></dt>
+ <span><strong class="command">answer</strong></span>
+ </span></dt>
<dd><p>
- Displays the answer.
- </p></dd>
+ Displays the answer.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">debug</strong></span>
- </span></dt>
+ <span><strong class="command">debug</strong></span>
+ </span></dt>
<dd><p>
- Turn on debugging.
- </p></dd>
+ Turn on debugging.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">version</strong></span>
- </span></dt>
+ <span><strong class="command">version</strong></span>
+ </span></dt>
<dd><p>
- Print version number.
- </p></dd>
+ Print version number.
+ </p></dd>
<dt><span class="term">
- <span><strong class="command">help</strong></span>
- </span></dt>
+ <span><strong class="command">help</strong></span>
+ </span></dt>
<dd><p>
- Print a list of commands.
- </p></dd>
+ Print a list of commands.
+ </p></dd>
</dl></div>
<p>
</p>
@@ -522,7 +520,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2681225"></a><h2>EXAMPLES</h2>
+<a name="id2683108"></a><h2>EXAMPLES</h2>
<p>
The examples below show how
<span><strong class="command">nsupdate</strong></span>
@@ -576,30 +574,30 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2681275"></a><h2>FILES</h2>
+<a name="id2683226"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
<dd><p>
- used to identify default name server
- </p></dd>
+ used to identify default name server
+ </p></dd>
<dt><span class="term"><code class="constant">/var/run/named/session.key</code></span></dt>
<dd><p>
- sets the default TSIG key for use in local-only mode
- </p></dd>
+ sets the default TSIG key for use in local-only mode
+ </p></dd>
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.key</code></span></dt>
<dd><p>
- base-64 encoding of HMAC-MD5 key created by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
- </p></dd>
+ base-64 encoding of HMAC-MD5 key created by
+ <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
+ </p></dd>
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.private</code></span></dt>
<dd><p>
- base-64 encoding of HMAC-MD5 key created by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
- </p></dd>
+ base-64 encoding of HMAC-MD5 key created by
+ <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
+ </p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2681427"></a><h2>SEE ALSO</h2>
+<a name="id2683313"></a><h2>SEE ALSO</h2>
<p>
<em class="citetitle">RFC 2136</em>,
<em class="citetitle">RFC 3007</em>,
@@ -614,7 +612,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2681484"></a><h2>BUGS</h2>
+<a name="id2683370"></a><h2>BUGS</h2>
<p>
The TSIG key is redundantly stored in two separate files.
This is a consequence of nsupdate using the DST library
@@ -642,6 +640,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.rndc-confgen.html b/doc/arm/man.rndc-confgen.html
index 661608b6f932..805dddc2ee20 100644
--- a/doc/arm/man.rndc-confgen.html
+++ b/doc/arm/man.rndc-confgen.html
@@ -50,7 +50,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="id2654753"></a><h2>DESCRIPTION</h2>
+<a name="id2651864"></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
@@ -66,7 +66,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2654819"></a><h2>OPTIONS</h2>
+<a name="id2651930"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd>
@@ -173,7 +173,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2657526"></a><h2>EXAMPLES</h2>
+<a name="id2657232"></a><h2>EXAMPLES</h2>
<p>
To allow <span><strong class="command">rndc</strong></span> to be used with
no manual configuration, run
@@ -190,7 +190,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2659289"></a><h2>SEE ALSO</h2>
+<a name="id2658995"></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>,
@@ -198,7 +198,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2660215"></a><h2>AUTHOR</h2>
+<a name="id2659033"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -222,6 +222,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.rndc.conf.html b/doc/arm/man.rndc.conf.html
index 3ac30c6e397f..9df9d65346c2 100644
--- a/doc/arm/man.rndc.conf.html
+++ b/doc/arm/man.rndc.conf.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc.conf</code> </p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2650712"></a><h2>DESCRIPTION</h2>
+<a name="id2621677"></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="id2651089"></a><h2>EXAMPLE</h2>
+<a name="id2650862"></a><h2>EXAMPLE</h2>
<pre class="programlisting">
options {
default-server localhost;
@@ -209,7 +209,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2651210"></a><h2>NAME SERVER CONFIGURATION</h2>
+<a name="id2650984"></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="id2651236"></a><h2>SEE ALSO</h2>
+<a name="id2651692"></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="id2651274"></a><h2>AUTHOR</h2>
+<a name="id2651731"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -251,6 +251,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/man.rndc.html b/doc/arm/man.rndc.html
index 3301abe63819..b5698b50580e 100644
--- a/doc/arm/man.rndc.html
+++ b/doc/arm/man.rndc.html
@@ -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="id2644881"></a><h2>DESCRIPTION</h2>
+<a name="id2645340"></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,73 +79,73 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2644931"></a><h2>OPTIONS</h2>
+<a name="id2645390"></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>
- Use <em class="replaceable"><code>source-address</code></em>
- as the source address for the connection to the server.
- Multiple instances are permitted to allow setting of both
- the IPv4 and IPv6 source addresses.
- </p></dd>
+ Use <em class="replaceable"><code>source-address</code></em>
+ as the source address for the connection to the server.
+ Multiple instances are permitted to allow setting of both
+ the IPv4 and IPv6 source addresses.
+ </p></dd>
<dt><span class="term">-c <em class="replaceable"><code>config-file</code></em></span></dt>
<dd><p>
- Use <em class="replaceable"><code>config-file</code></em>
- as the configuration file instead of the default,
- <code class="filename">/etc/rndc.conf</code>.
- </p></dd>
+ Use <em class="replaceable"><code>config-file</code></em>
+ as the configuration file instead of the default,
+ <code class="filename">/etc/rndc.conf</code>.
+ </p></dd>
<dt><span class="term">-k <em class="replaceable"><code>key-file</code></em></span></dt>
<dd><p>
- Use <em class="replaceable"><code>key-file</code></em>
- as the key file instead of the default,
- <code class="filename">/etc/rndc.key</code>. The key in
- <code class="filename">/etc/rndc.key</code> will be used to
- authenticate
- commands sent to the server if the <em class="replaceable"><code>config-file</code></em>
- does not exist.
- </p></dd>
+ Use <em class="replaceable"><code>key-file</code></em>
+ as the key file instead of the default,
+ <code class="filename">/etc/rndc.key</code>. The key in
+ <code class="filename">/etc/rndc.key</code> will be used to
+ authenticate
+ commands sent to the server if the <em class="replaceable"><code>config-file</code></em>
+ does not exist.
+ </p></dd>
<dt><span class="term">-s <em class="replaceable"><code>server</code></em></span></dt>
<dd><p><em class="replaceable"><code>server</code></em> is
- the name or address of the server which matches a
- server statement in the configuration file for
- <span><strong class="command">rndc</strong></span>. If no server is supplied on the
- command line, the host named by the default-server clause
- in the options statement of the <span><strong class="command">rndc</strong></span>
+ the name or address of the server which matches a
+ server statement in the configuration file for
+ <span><strong class="command">rndc</strong></span>. If no server is supplied on the
+ command line, the host named by the default-server clause
+ in the options statement of the <span><strong class="command">rndc</strong></span>
configuration file will be used.
- </p></dd>
+ </p></dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
<dd><p>
- Send commands to TCP port
- <em class="replaceable"><code>port</code></em>
- instead
- of BIND 9's default control channel port, 953.
- </p></dd>
+ Send commands to TCP port
+ <em class="replaceable"><code>port</code></em>
+ instead
+ of BIND 9's default control channel port, 953.
+ </p></dd>
<dt><span class="term">-V</span></dt>
<dd><p>
- Enable verbose logging.
- </p></dd>
+ Enable verbose logging.
+ </p></dd>
<dt><span class="term">-y <em class="replaceable"><code>key_id</code></em></span></dt>
<dd><p>
- Use the key <em class="replaceable"><code>key_id</code></em>
- from the configuration file.
- <em class="replaceable"><code>key_id</code></em>
- must be
- known by named with the same algorithm and secret string
- in order for control message validation to succeed.
- If no <em class="replaceable"><code>key_id</code></em>
- is specified, <span><strong class="command">rndc</strong></span> will first look
- for a key clause in the server statement of the server
- being used, or if no server statement is present for that
- host, then the default-key clause of the options statement.
- Note that the configuration file contains shared secrets
- which are used to send authenticated control commands
- to name servers. It should therefore not have general read
- or write access.
- </p></dd>
+ Use the key <em class="replaceable"><code>key_id</code></em>
+ from the configuration file.
+ <em class="replaceable"><code>key_id</code></em>
+ must be
+ known by <span><strong class="command">named</strong></span> with the same algorithm and secret string
+ in order for control message validation to succeed.
+ If no <em class="replaceable"><code>key_id</code></em>
+ is specified, <span><strong class="command">rndc</strong></span> will first look
+ for a key clause in the server statement of the server
+ being used, or if no server statement is present for that
+ host, then the default-key clause of the options statement.
+ Note that the configuration file contains shared secrets
+ which are used to send authenticated control commands
+ to name servers. It should therefore not have general read
+ or write access.
+ </p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2648690"></a><h2>COMMANDS</h2>
+<a name="id2650043"></a><h2>COMMANDS</h2>
<p>
A list of commands supported by <span><strong class="command">rndc</strong></span> can
be seen by running <span><strong class="command">rndc</strong></span> without arguments.
@@ -154,351 +154,396 @@
Currently supported commands are:
</p>
<div class="variablelist"><dl>
-<dt><span class="term"><strong class="userinput"><code>reload</code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>addzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] <em class="replaceable"><code>configuration</code></em> </code></strong></span></dt>
+<dd>
+<p>
+ Add a zone while the server is running. This
+ command requires the
+ <span><strong class="command">allow-new-zones</strong></span> option to be set
+ to <strong class="userinput"><code>yes</code></strong>. The
+ <em class="replaceable"><code>configuration</code></em> string
+ specified on the command line is the zone
+ configuration text that would ordinarily be
+ placed in <code class="filename">named.conf</code>.
+ </p>
+<p>
+ The configuration is saved in a file called
+ <code class="filename"><em class="replaceable"><code>hash</code></em>.nzf</code>,
+ where <em class="replaceable"><code>hash</code></em> is a
+ cryptographic hash generated from the name of
+ the view. When <span><strong class="command">named</strong></span> is
+ restarted, the file will be loaded into the view
+ configuration, so that zones that were added
+ can persist after a restart.
+ </p>
+<p>
+ This sample <span><strong class="command">addzone</strong></span> command
+ would add the zone <code class="literal">example.com</code>
+ to the default view:
+ </p>
+<p>
+<code class="prompt">$ </code><strong class="userinput"><code>rndc addzone example.com '{ type master; file "example.com.db"; };'</code></strong>
+ </p>
+<p>
+ (Note the brackets and semi-colon around the zone
+ configuration text.)
+ </p>
+<p>
+ See also <span><strong class="command">rndc delzone</strong></span>.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>delzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+<dd>
+<p>
+ Delete a zone while the server is running.
+ Only zones that were originally added via
+ <span><strong class="command">rndc addzone</strong></span> can be deleted
+ in this manner.
+ </p>
+<p>
+ See also <span><strong class="command">rndc addzone</strong></span>
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>dumpdb [<span class="optional">-all|-cache|-zone|-adb|-bad</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dd><p>
- Reload configuration file and zones.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>reload <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+ Dump the server's caches (default) and/or zones to
+ the
+ dump file for the specified views. If no view is
+ specified, all
+ views are dumped.
+ (See the <span><strong class="command">dump-file</strong></span> option in
+ the BIND 9 Administrator Reference Manual.)
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>flush</code></strong></span></dt>
<dd><p>
- Reload the given zone.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>refresh <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+ Flushes the server's cache.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>flushname</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
<dd><p>
- Schedule zone maintenance for the given zone.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>retransfer <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+ Flushes the given name from the view's DNS cache
+ and, if applicable, from the view's nameserver address
+ database or bad-server cache.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>flushtree</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
+<dd><p>
+ Flushes the given name, and all of its subdomains,
+ from the view's DNS cache. Note that this does
+ <span class="emphasis"><em>not</em></span> affect he server's address
+ database or bad-server cache.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>freeze [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
<dd>
<p>
- Retransfer the given slave zone from the master server.
- </p>
+ Suspend updates to a dynamic zone. If no zone is
+ specified, then all zones are suspended. This allows
+ manual edits to be made to a zone normally updated by
+ dynamic update. It also causes changes in the
+ journal file to be synced into the master file.
+ All dynamic update attempts will be refused while
+ the zone is frozen.
+ </p>
<p>
- If the zone is configured to use
- <span><strong class="command">inline-signing</strong></span>, the signed
- version of the zone is discarded; after the
- retransfer of the unsigned version is complete, the
- signed version will be regenerated with all new
- signatures.
- </p>
+ See also <span><strong class="command">rndc thaw</strong></span>.
+ </p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>sign <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>halt [<span class="optional">-p</span>]</code></strong></span></dt>
<dd>
<p>
- Fetch all DNSSEC keys for the given zone
- from the key directory (see the
- <span><strong class="command">key-directory</strong></span> option in
- the BIND 9 Administrator Reference Manual). If they are within
- their publication period, merge them into the
- zone's DNSKEY RRset. If the DNSKEY RRset
- is changed, then the zone is automatically
- re-signed with the new key set.
- </p>
-<p>
- This command requires that the
- <span><strong class="command">auto-dnssec</strong></span> zone option be set
- to <code class="literal">allow</code> or
- <code class="literal">maintain</code>,
- and also requires the zone to be configured to
- allow dynamic DNS.
- (See "Dynamic Update Policies" in the Administrator
- Reference Manual for more details.)
- </p>
+ Stop the server immediately. Recent changes
+ made through dynamic update or IXFR are not saved to
+ the master files, but will be rolled forward from the
+ journal files when the server is restarted.
+ If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
+ This allows an external process to determine when <span><strong class="command">named</strong></span>
+ had completed halting.
+ </p>
+<p>
+ See also <span><strong class="command">rndc stop</strong></span>.
+ </p>
</dd>
<dt><span class="term"><strong class="userinput"><code>loadkeys <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd>
<p>
- Fetch all DNSSEC keys for the given zone
- from the key directory. If they are within
- their publication period, merge them into the
- zone's DNSKEY RRset. Unlike <span><strong class="command">rndc
- sign</strong></span>, however, the zone is not
- immediately re-signed by the new keys, but is
- allowed to incrementally re-sign over time.
- </p>
-<p>
- This command requires that the
- <span><strong class="command">auto-dnssec</strong></span> zone option
- be set to <code class="literal">maintain</code>,
- and also requires the zone to be configured to
- allow dynamic DNS.
- (See "Dynamic Update Policies" in the Administrator
- Reference Manual for more details.)
- </p>
+ Fetch all DNSSEC keys for the given zone
+ from the key directory. If they are within
+ their publication period, merge them into the
+ zone's DNSKEY RRset. Unlike <span><strong class="command">rndc
+ sign</strong></span>, however, the zone is not
+ immediately re-signed by the new keys, but is
+ allowed to incrementally re-sign over time.
+ </p>
+<p>
+ This command requires that the
+ <span><strong class="command">auto-dnssec</strong></span> zone option
+ be set to <code class="literal">maintain</code>,
+ and also requires the zone to be configured to
+ allow dynamic DNS.
+ (See "Dynamic Update Policies" in the Administrator
+ Reference Manual for more details.)
+ </p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>freeze [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
-<dd><p>
- Suspend updates to a dynamic zone. If no zone is
- specified, then all zones are suspended. This allows
- manual edits to be made to a zone normally updated by
- dynamic update. It also causes changes in the
- journal file to be synced into the master file.
- All dynamic update attempts will be refused while
- the zone is frozen.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
-<dd><p>
- Enable updates to a frozen dynamic zone. If no
- zone is specified, then all frozen zones are
- enabled. This causes the server to reload the zone
- from disk, and re-enables dynamic updates after the
- load has completed. After a zone is thawed,
- dynamic updates will no longer be refused. If
- the zone has changed and the
- <span><strong class="command">ixfr-from-differences</strong></span> option is
- in use, then the journal file will be updated to
- reflect changes in the zone. Otherwise, if the
- zone has changed, any existing journal file will be
- removed.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>sync [<span class="optional">-clean</span>] [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
-<dd><p>
- Sync changes in the journal file for a dynamic zone
- to the master file. If the "-clean" option is
- specified, the journal file is also removed. If
- no zone is specified, then all zones are synced.
- </p></dd>
<dt><span class="term"><strong class="userinput"><code>notify <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd><p>
- Resend NOTIFY messages for the zone.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>reconfig</code></strong></span></dt>
-<dd><p>
- Reload the configuration file and load new zones,
- but do not reload existing zone files even if they
- have changed.
- This is faster than a full <span><strong class="command">reload</strong></span> when there
- is a large number of zones because it avoids the need
- to examine the
- modification times of the zones files.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>stats</code></strong></span></dt>
-<dd><p>
- Write server statistics to the statistics file.
- </p></dd>
+ Resend NOTIFY messages for the zone.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>notrace</code></strong></span></dt>
+<dd>
+<p>
+ Sets the server's debugging level to 0.
+ </p>
+<p>
+ See also <span><strong class="command">rndc trace</strong></span>.
+ </p>
+</dd>
<dt><span class="term"><strong class="userinput"><code>querylog</code></strong> [<span class="optional">on|off</span>] </span></dt>
<dd>
<p>
- Enable or disable query logging. (For backward
- compatibility, this command can also be used without
- an argument to toggle query logging on and off.)
- </p>
-<p>
- Query logging can also be enabled
- by explicitly directing the <span><strong class="command">queries</strong></span>
- <span><strong class="command">category</strong></span> to a
- <span><strong class="command">channel</strong></span> in the
- <span><strong class="command">logging</strong></span> section of
- <code class="filename">named.conf</code> or by specifying
- <span><strong class="command">querylog yes;</strong></span> in the
- <span><strong class="command">options</strong></span> section of
- <code class="filename">named.conf</code>.
- </p>
+ Enable or disable query logging. (For backward
+ compatibility, this command can also be used without
+ an argument to toggle query logging on and off.)
+ </p>
+<p>
+ Query logging can also be enabled
+ by explicitly directing the <span><strong class="command">queries</strong></span>
+ <span><strong class="command">category</strong></span> to a
+ <span><strong class="command">channel</strong></span> in the
+ <span><strong class="command">logging</strong></span> section of
+ <code class="filename">named.conf</code> or by specifying
+ <span><strong class="command">querylog yes;</strong></span> in the
+ <span><strong class="command">options</strong></span> section of
+ <code class="filename">named.conf</code>.
+ </p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>dumpdb [<span class="optional">-all|-cache|-zone</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
-<dd><p>
- Dump the server's caches (default) and/or zones to
- the
- dump file for the specified views. If no view is
- specified, all
- views are dumped.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
-<dd><p>
- Dump the server's security roots to the secroots
- file for the specified views. If no view is
- specified, security roots for all
- views are dumped.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>stop [<span class="optional">-p</span>]</code></strong></span></dt>
-<dd><p>
- Stop the server, making sure any recent changes
- made through dynamic update or IXFR are first saved to
- the master files of the updated zones.
- If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
- This allows an external process to determine when <span><strong class="command">named</strong></span>
- had completed stopping.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>halt [<span class="optional">-p</span>]</code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>reconfig</code></strong></span></dt>
<dd><p>
- Stop the server immediately. Recent changes
- made through dynamic update or IXFR are not saved to
- the master files, but will be rolled forward from the
- journal files when the server is restarted.
- If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
- This allows an external process to determine when <span><strong class="command">named</strong></span>
- had completed halting.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>trace</code></strong></span></dt>
+ Reload the configuration file and load new zones,
+ but do not reload existing zone files even if they
+ have changed.
+ This is faster than a full <span><strong class="command">reload</strong></span> when there
+ is a large number of zones because it avoids the need
+ to examine the
+ modification times of the zones files.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>recursing</code></strong></span></dt>
<dd><p>
- Increment the servers debugging level by one.
+ Dump the list of queries <span><strong class="command">named</strong></span> is currently
+ recursing on, and the list of domains to which iterative
+ queries are currently being sent. (The second list includes
+ the number of fetches currently active for the given domain,
+ and how many have been passed or dropped because of the
+ <code class="option">fetches-per-zone</code> option.)
</p></dd>
-<dt><span class="term"><strong class="userinput"><code>trace <em class="replaceable"><code>level</code></em></code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>refresh <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd><p>
- Sets the server's debugging level to an explicit
- value.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>notrace</code></strong></span></dt>
+ Schedule zone maintenance for the given zone.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>reload</code></strong></span></dt>
<dd><p>
- Sets the server's debugging level to 0.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>flush</code></strong></span></dt>
+ Reload configuration file and zones.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>reload <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd><p>
- Flushes the server's cache.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>flushname</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
+ Reload the given zone.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>retransfer <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+<dd>
+<p>
+ Retransfer the given slave zone from the master server.
+ </p>
+<p>
+ If the zone is configured to use
+ <span><strong class="command">inline-signing</strong></span>, the signed
+ version of the zone is discarded; after the
+ retransfer of the unsigned version is complete, the
+ signed version will be regenerated with all new
+ signatures.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dd><p>
- Flushes the given name from the server's DNS cache
- and, if applicable, from the server's nameserver address
- database or bad-server cache.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>flushtree</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
+ Dump the server's security roots to the secroots
+ file for the specified views. If no view is
+ specified, security roots for all
+ views are dumped.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>sign <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
+<dd>
+<p>
+ Fetch all DNSSEC keys for the given zone
+ from the key directory (see the
+ <span><strong class="command">key-directory</strong></span> option in
+ the BIND 9 Administrator Reference Manual). If they are within
+ their publication period, merge them into the
+ zone's DNSKEY RRset. If the DNSKEY RRset
+ is changed, then the zone is automatically
+ re-signed with the new key set.
+ </p>
+<p>
+ This command requires that the
+ <span><strong class="command">auto-dnssec</strong></span> zone option be set
+ to <code class="literal">allow</code> or
+ <code class="literal">maintain</code>,
+ and also requires the zone to be configured to
+ allow dynamic DNS.
+ (See "Dynamic Update Policies" in the Administrator
+ Reference Manual for more details.)
+ </p>
+<p>
+ See also <span><strong class="command">rndc loadkeys</strong></span>.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>signing [<span class="optional">( -list | -clear <em class="replaceable"><code>keyid/algorithm</code></em> | -clear <code class="literal">all</code> | -nsec3param ( <em class="replaceable"><code>parameters</code></em> | <code class="literal">none</code> ) ) </span>] <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+<dd>
+<p>
+ List, edit, or remove the DNSSEC signing state records
+ for the specified zone. The status of ongoing DNSSEC
+ operations (such as signing or generating
+ NSEC3 chains) is stored in the zone in the form
+ of DNS resource records of type
+ <span><strong class="command">sig-signing-type</strong></span>.
+ <span><strong class="command">rndc signing -list</strong></span> converts
+ these records into a human-readable form,
+ indicating which keys are currently signing
+ or have finished signing the zone, and which NSEC3
+ chains are being created or removed.
+ </p>
+<p>
+ <span><strong class="command">rndc signing -clear</strong></span> can remove
+ a single key (specified in the same format that
+ <span><strong class="command">rndc signing -list</strong></span> uses to
+ display it), or all keys. In either case, only
+ completed keys are removed; any record indicating
+ that a key has not yet finished signing the zone
+ will be retained.
+ </p>
+<p>
+ <span><strong class="command">rndc signing -nsec3param</strong></span> sets
+ the NSEC3 parameters for a zone. This is the
+ only supported mechanism for using NSEC3 with
+ <span><strong class="command">inline-signing</strong></span> zones.
+ Parameters are specified in the same format as
+ an NSEC3PARAM resource record: hash algorithm,
+ flags, iterations, and salt, in that order.
+ </p>
+<p>
+ Currently, the only defined value for hash algorithm
+ is <code class="literal">1</code>, representing SHA-1.
+ The <code class="option">flags</code> may be set to
+ <code class="literal">0</code> or <code class="literal">1</code>,
+ depending on whether you wish to set the opt-out
+ bit in the NSEC3 chain. <code class="option">iterations</code>
+ defines the number of additional times to apply
+ the algorithm when generating an NSEC3 hash. The
+ <code class="option">salt</code> is a string of data expressed
+ in hexadecimal, or a hyphen (`-') if no salt is
+ to be used.
+ </p>
+<p>
+ So, for example, to create an NSEC3 chain using
+ the SHA-1 hash algorithm, no opt-out flag,
+ 10 iterations, and a salt value of "FFFF", use:
+ <span><strong class="command">rndc signing -nsec3param 1 0 10 FFFF <em class="replaceable"><code>zone</code></em></strong></span>.
+ To set the opt-out flag, 15 iterations, and no
+ salt, use:
+ <span><strong class="command">rndc signing -nsec3param 1 1 15 - <em class="replaceable"><code>zone</code></em></strong></span>.
+ </p>
+<p>
+ <span><strong class="command">rndc signing -nsec3param none</strong></span>
+ removes an existing NSEC3 chain and replaces it
+ with NSEC.
+ </p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>stats</code></strong></span></dt>
<dd><p>
- Flushes the given name, and all of its subdomains,
- from the server's DNS cache. Note that this does
- <span class="emphasis"><em>not</em></span> affect he server's address
- database or bad-server cache.
- </p></dd>
+ Write server statistics to the statistics file.
+ (See the <span><strong class="command">statistics-file</strong></span> option in
+ the BIND 9 Administrator Reference Manual.)
+ </p></dd>
<dt><span class="term"><strong class="userinput"><code>status</code></strong></span></dt>
<dd><p>
- Display status of the server.
- Note that the number of zones includes the internal <span><strong class="command">bind/CH</strong></span> zone
- and the default <span><strong class="command">./IN</strong></span>
- hint zone if there is not an
- explicit root zone configured.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>recursing</code></strong></span></dt>
-<dd><p>
- Dump the list of queries <span><strong class="command">named</strong></span> is currently recursing
- on.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>validation ( on | off | check ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
-<dd><p>
- Enable, disable, or check the current status of
- DNSSEC validation.
- Note <span><strong class="command">dnssec-enable</strong></span> also needs to be
- set to <strong class="userinput"><code>yes</code></strong> or
- <strong class="userinput"><code>auto</code></strong> to be effective.
- It defaults to enabled.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>tsig-list</code></strong></span></dt>
-<dd><p>
- List the names of all TSIG keys currently configured
- for use by <span><strong class="command">named</strong></span> in each view. The
- list both statically configured keys and dynamic
- TKEY-negotiated keys.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>tsig-delete</code></strong> <em class="replaceable"><code>keyname</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span></dt>
-<dd><p>
- Delete a given TKEY-negotiated key from the server.
- (This does not apply to statically configured TSIG
- keys.)
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>addzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] <em class="replaceable"><code>configuration</code></em> </code></strong></span></dt>
+ Display status of the server.
+ Note that the number of zones includes the internal <span><strong class="command">bind/CH</strong></span> zone
+ and the default <span><strong class="command">./IN</strong></span>
+ hint zone if there is not an
+ explicit root zone configured.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>stop [<span class="optional">-p</span>]</code></strong></span></dt>
<dd>
<p>
- Add a zone while the server is running. This
- command requires the
- <span><strong class="command">allow-new-zones</strong></span> option to be set
- to <strong class="userinput"><code>yes</code></strong>. The
- <em class="replaceable"><code>configuration</code></em> string
- specified on the command line is the zone
- configuration text that would ordinarily be
- placed in <code class="filename">named.conf</code>.
- </p>
-<p>
- The configuration is saved in a file called
- <code class="filename"><em class="replaceable"><code>hash</code></em>.nzf</code>,
- where <em class="replaceable"><code>hash</code></em> is a
- cryptographic hash generated from the name of
- the view. When <span><strong class="command">named</strong></span> is
- restarted, the file will be loaded into the view
- configuration, so that zones that were added
- can persist after a restart.
- </p>
-<p>
- This sample <span><strong class="command">addzone</strong></span> command
- would add the zone <code class="literal">example.com</code>
- to the default view:
- </p>
-<p>
-<code class="prompt">$ </code><strong class="userinput"><code>rndc addzone example.com '{ type master; file "example.com.db"; };'</code></strong>
- </p>
+ Stop the server, making sure any recent changes
+ made through dynamic update or IXFR are first saved to
+ the master files of the updated zones.
+ If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
+ This allows an external process to determine when <span><strong class="command">named</strong></span>
+ had completed stopping.
+ </p>
+<p>See also <span><strong class="command">rndc halt</strong></span>.</p>
+</dd>
+<dt><span class="term"><strong class="userinput"><code>sync [<span class="optional">-clean</span>] [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
+<dd><p>
+ Sync changes in the journal file for a dynamic zone
+ to the master file. If the "-clean" option is
+ specified, the journal file is also removed. If
+ no zone is specified, then all zones are synced.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
+<dd>
<p>
- (Note the brackets and semi-colon around the zone
- configuration text.)
- </p>
+ Enable updates to a frozen dynamic zone. If no
+ zone is specified, then all frozen zones are
+ enabled. This causes the server to reload the zone
+ from disk, and re-enables dynamic updates after the
+ load has completed. After a zone is thawed,
+ dynamic updates will no longer be refused. If
+ the zone has changed and the
+ <span><strong class="command">ixfr-from-differences</strong></span> option is
+ in use, then the journal file will be updated to
+ reflect changes in the zone. Otherwise, if the
+ zone has changed, any existing journal file will be
+ removed.
+ </p>
+<p>See also <span><strong class="command">rndc freeze</strong></span>.</p>
</dd>
-<dt><span class="term"><strong class="userinput"><code>delzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+<dt><span class="term"><strong class="userinput"><code>trace</code></strong></span></dt>
<dd><p>
- Delete a zone while the server is running.
- Only zones that were originally added via
- <span><strong class="command">rndc addzone</strong></span> can be deleted
- in this manner.
- </p></dd>
-<dt><span class="term"><strong class="userinput"><code>signing [<span class="optional">( -list | -clear <em class="replaceable"><code>keyid/algorithm</code></em> | -clear <code class="literal">all</code> | -nsec3param ( <em class="replaceable"><code>parameters</code></em> | <code class="literal">none</code> ) ) </span>] <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
+ Increment the servers debugging level by one.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>trace <em class="replaceable"><code>level</code></em></code></strong></span></dt>
<dd>
<p>
- List, edit, or remove the DNSSEC signing state records
- for the specified zone. The status of ongoing DNSSEC
- operations (such as signing or generating
- NSEC3 chains) is stored in the zone in the form
- of DNS resource records of type
- <span><strong class="command">sig-signing-type</strong></span>.
- <span><strong class="command">rndc signing -list</strong></span> converts
- these records into a human-readable form,
- indicating which keys are currently signing
- or have finished signing the zone, and which NSEC3
- chains are being created or removed.
- </p>
-<p>
- <span><strong class="command">rndc signing -clear</strong></span> can remove
- a single key (specified in the same format that
- <span><strong class="command">rndc signing -list</strong></span> uses to
- display it), or all keys. In either case, only
- completed keys are removed; any record indicating
- that a key has not yet finished signing the zone
- will be retained.
- </p>
-<p>
- <span><strong class="command">rndc signing -nsec3param</strong></span> sets
- the NSEC3 parameters for a zone. This is the
- only supported mechanism for using NSEC3 with
- <span><strong class="command">inline-signing</strong></span> zones.
- Parameters are specified in the same format as
- an NSEC3PARAM resource record: hash algorithm,
- flags, iterations, and salt, in that order.
- </p>
-<p>
- Currently, the only defined value for hash algorithm
- is <code class="literal">1</code>, representing SHA-1.
- The <code class="option">flags</code> may be set to
- <code class="literal">0</code> or <code class="literal">1</code>,
- depending on whether you wish to set the opt-out
- bit in the NSEC3 chain. <code class="option">iterations</code>
- defines the number of additional times to apply
- the algorithm when generating an NSEC3 hash. The
- <code class="option">salt</code> is a string of data expressed
- in hexadecimal, or a hyphen (`-') if no salt is
- to be used.
- </p>
-<p>
- So, for example, to create an NSEC3 chain using
- the SHA-1 hash algorithm, no opt-out flag,
- 10 iterations, and a salt value of "FFFF", use:
- <span><strong class="command">rndc signing -nsec3param 1 0 10 FFFF <em class="replaceable"><code>zone</code></em></strong></span>.
- To set the opt-out flag, 15 iterations, and no
- salt, use:
- <span><strong class="command">rndc signing -nsec3param 1 1 15 - <em class="replaceable"><code>zone</code></em></strong></span>.
- </p>
-<p>
- <span><strong class="command">rndc signing -nsec3param none</strong></span>
- removes an existing NSEC3 chain and replaces it
- with NSEC.
- </p>
+ Sets the server's debugging level to an explicit
+ value.
+ </p>
+<p>
+ See also <span><strong class="command">rndc notrace</strong></span>.
+ </p>
</dd>
+<dt><span class="term"><strong class="userinput"><code>tsig-delete</code></strong> <em class="replaceable"><code>keyname</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span></dt>
+<dd><p>
+ Delete a given TKEY-negotiated key from the server.
+ (This does not apply to statically configured TSIG
+ keys.)
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>tsig-list</code></strong></span></dt>
+<dd><p>
+ List the names of all TSIG keys currently configured
+ for use by <span><strong class="command">named</strong></span> in each view. The
+ list both statically configured keys and dynamic
+ TKEY-negotiated keys.
+ </p></dd>
+<dt><span class="term"><strong class="userinput"><code>validation ( on | off | check ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
+<dd><p>
+ Enable, disable, or check the current status of
+ DNSSEC validation.
+ Note <span><strong class="command">dnssec-enable</strong></span> also needs to be
+ set to <strong class="userinput"><code>yes</code></strong> or
+ <strong class="userinput"><code>auto</code></strong> to be effective.
+ It defaults to enabled.
+ </p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2682631"></a><h2>LIMITATIONS</h2>
+<a name="id2684688"></a><h2>LIMITATIONS</h2>
<p>
There is currently no way to provide the shared secret for a
<code class="option">key_id</code> without using the configuration file.
@@ -508,7 +553,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2682649"></a><h2>SEE ALSO</h2>
+<a name="id2684706"></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>,
@@ -518,7 +563,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2682705"></a><h2>AUTHOR</h2>
+<a name="id2684761"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -542,6 +587,6 @@
</tr>
</table>
</div>
-<p style="text-align: center;">BIND 9.9.7-P2 (Extended Support Version)</p>
+<p style="text-align: center;">BIND 9.9.8 (Extended Support Version)</p>
</body>
</html>
diff --git a/doc/arm/notes.html b/doc/arm/notes.html
index 1a647fe01afa..99166d44ca16 100644
--- a/doc/arm/notes.html
+++ b/doc/arm/notes.html
@@ -21,18 +21,13 @@
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2542126"></a>Release Notes for BIND Version 9.9.7-P2</h2></div></div></div>
+<a name="id2542126"></a>Release Notes for BIND Version 9.9.8</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_intro"></a>Introduction</h3></div></div></div>
<p>
- This document summarizes changes since BIND 9.9.7.
- </p>
-<p>
- BIND 9.9.7-P2 addresses a security issue described in CVE-2015-5477.
- </p>
-<p>
- BIND 9.9.7-P1 addresses a security issue described in CVE-2015-4620.
+ This document summarizes changes since the last production release
+ of BIND on the corresponding major release branch.
</p>
</div>
<div class="sect2" lang="en">
@@ -50,6 +45,21 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_security"></a>Security Fixes</h3></div></div></div>
<div class="itemizedlist"><ul type="disc">
+<li><p>
+ An incorrect boundary check in the OPENPGPKEY rdatatype
+ could trigger an assertion failure. This flaw is disclosed
+ in CVE-2015-5986. [RT #40286]
+ </p></li>
+<li>
+<p>
+ A buffer accounting error could trigger an assertion failure
+ when parsing certain malformed DNSSEC keys.
+ </p>
+<p>
+ This flaw was discovered by Hanno B&ouml;ck of the Fuzzing
+ Project, and is disclosed in CVE-2015-5722. [RT #40212]
+ </p>
+</li>
<li>
<p>
A specially crafted query could trigger an assertion failure
@@ -57,7 +67,7 @@
</p>
<p>
This flaw was discovered by Jonathan Foote, and is disclosed
- in CVE-2015-5477. [RT #39795]
+ in CVE-2015-5477. [RT #40046]
</p>
</li>
<li>
@@ -76,17 +86,121 @@
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_features"></a>New Features</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc"><li><p>None</p></li></ul></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p>
+ New quotas have been added to limit the queries that are
+ sent by recursive resolvers to authoritative servers
+ experiencing denial-of-service attacks. When configured,
+ these options can both reduce the harm done to authoritative
+ servers and also avoid the resource exhaustion that can be
+ experienced by recursives when they are being used as a
+ vehicle for such an attack.
+ </p>
+<p>
+ NOTE: These options are not available by default; use
+ <span><strong class="command">configure --enable-fetchlimit</strong></span> to include
+ them in the build.
+ </p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>
+ <code class="option">fetches-per-server</code> limits the number of
+ simultaneous queries that can be sent to any single
+ authoritative server. The configured value is a starting
+ point; it is automatically adjusted downward if the server is
+ partially or completely non-responsive. The algorithm used to
+ adjust the quota can be configured via the
+ <code class="option">fetch-quota-params</code> option.
+ </p></li>
+<li><p>
+ <code class="option">fetches-per-zone</code> limits the number of
+ simultaneous queries that can be sent for names within a
+ single domain. (Note: Unlike "fetches-per-server", this
+ value is not self-tuning.)
+ </p></li>
+</ul></div>
+<p>
+ Statistics counters have also been added to track the number
+ of queries affected by these quotas.
+ </p>
+</li>
+<li><p>
+ An <span><strong class="command">--enable-querytrace</strong></span> configure switch is
+ now available to enable very verbose query tracelogging. This
+ option can only be set at compile time. This option has a
+ negative performance impact and should be used only for
+ debugging.
+ </p></li>
+<li><p>
+ EDNS COOKIE options content is now displayed as
+ "COOKIE: &lt;hexvalue&gt;".
+ </p></li>
+</ul></div>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_changes"></a>Feature Changes</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc"><li><p>None</p></li></ul></div>
+<div class="itemizedlist"><ul type="disc">
+<li><p>
+ Large inline-signing changes should be less disruptive.
+ Signature generation is now done incrementally; the number
+ of signatures to be generated in each quantum is controlled
+ by "sig-signing-signatures <em class="replaceable"><code>number</code></em>;".
+ [RT #37927]
+ </p></li>
+<li><p>
+ Retrieving the local port range from net.ipv4.ip_local_port_range
+ on Linux is now supported.
+ </p></li>
+<li><p>
+ Active Directory names of the form gc._msdcs.&lt;forest&gt; are
+ now accepted as valid hostnames when using the
+ <code class="option">check-names</code> option. &lt;forest&gt; is still
+ restricted to letters, digits and hyphens.
+ </p></li>
+<li><p>
+ Names containing rich text are now accepted as valid
+ hostnames in PTR records in DNS-SD reverse lookup zones,
+ as specified in RFC 6763. [RT #37889]
+ </p></li>
+</ul></div>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_bugs"></a>Bug Fixes</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc"><li><p>None</p></li></ul></div>
+<div class="itemizedlist"><ul type="disc">
+<li><p>
+ Asynchronous zone loads were not handled correctly when the
+ zone load was already in progress; this could trigger a crash
+ in zt.c. [RT #37573]
+ </p></li>
+<li><p>
+ A race during shutdown or reconfiguration could
+ cause an assertion failure in mem.c. [RT #38979]
+ </p></li>
+<li><p>
+ Some answer formatting options didn't work correctly with
+ <span><strong class="command">dig +short</strong></span>. [RT #39291]
+ </p></li>
+<li><p>
+ Malformed records of some types, including NSAP and UNSPEC,
+ could trigger assertion failures when loading text zone files.
+ [RT #40274] [RT #40285]
+ </p></li>
+<li><p>
+ Fixed a possible crash in ratelimiter.c caused by NOTIFY
+ messages being removed from the wrong rate limiter queue.
+ [RT #40350]
+ </p></li>
+<li><p>
+ The default <code class="option">rrset-order</code> of <code class="literal">random</code>
+ was inconsistently applied. [RT #40456]
+ </p></li>
+<li><p>
+ BADVERS responses from broken authoritative name servers were
+ not handled correctly. [RT #40427]
+ </p></li>
+</ul></div>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
diff --git a/doc/arm/notes.pdf b/doc/arm/notes.pdf
index feffd833e7aa..a59a87a8ae99 100644
--- a/doc/arm/notes.pdf
+++ b/doc/arm/notes.pdf
Binary files differ
diff --git a/doc/arm/notes.xml b/doc/arm/notes.xml
index 913098e1afe3..79e8ed6d04d8 100644
--- a/doc/arm/notes.xml
+++ b/doc/arm/notes.xml
@@ -20,13 +20,8 @@
<sect2 id="relnotes_intro">
<title>Introduction</title>
<para>
- This document summarizes changes since BIND 9.9.7.
- </para>
- <para>
- BIND 9.9.7-P2 addresses a security issue described in CVE-2015-5477.
- </para>
- <para>
- BIND 9.9.7-P1 addresses a security issue described in CVE-2015-4620.
+ This document summarizes changes since the last production release
+ of BIND on the corresponding major release branch.
</para>
</sect2>
<sect2 id="relnotes_download">
@@ -45,12 +40,29 @@
<itemizedlist>
<listitem>
<para>
+ An incorrect boundary check in the OPENPGPKEY rdatatype
+ could trigger an assertion failure. This flaw is disclosed
+ in CVE-2015-5986. [RT #40286]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A buffer accounting error could trigger an assertion failure
+ when parsing certain malformed DNSSEC keys.
+ </para>
+ <para>
+ This flaw was discovered by Hanno B&#xc3b6;ck of the Fuzzing
+ Project, and is disclosed in CVE-2015-5722. [RT #40212]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
A specially crafted query could trigger an assertion failure
in message.c.
</para>
<para>
This flaw was discovered by Jonathan Foote, and is disclosed
- in CVE-2015-5477. [RT #39795]
+ in CVE-2015-5477. [RT #40046]
</para>
</listitem>
<listitem>
@@ -63,14 +75,67 @@
This flaw was discovered by Breno Silveira Soares, and is
disclosed in CVE-2015-4620. [RT #39795]
</para>
- </listitem>
+ </listitem>
</itemizedlist>
</sect2>
<sect2 id="relnotes_features">
<title>New Features</title>
<itemizedlist>
<listitem>
- <para>None</para>
+ <para>
+ New quotas have been added to limit the queries that are
+ sent by recursive resolvers to authoritative servers
+ experiencing denial-of-service attacks. When configured,
+ these options can both reduce the harm done to authoritative
+ servers and also avoid the resource exhaustion that can be
+ experienced by recursives when they are being used as a
+ vehicle for such an attack.
+ </para>
+ <para>
+ NOTE: These options are not available by default; use
+ <command>configure --enable-fetchlimit</command> to include
+ them in the build.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <option>fetches-per-server</option> limits the number of
+ simultaneous queries that can be sent to any single
+ authoritative server. The configured value is a starting
+ point; it is automatically adjusted downward if the server is
+ partially or completely non-responsive. The algorithm used to
+ adjust the quota can be configured via the
+ <option>fetch-quota-params</option> option.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <option>fetches-per-zone</option> limits the number of
+ simultaneous queries that can be sent for names within a
+ single domain. (Note: Unlike "fetches-per-server", this
+ value is not self-tuning.)
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Statistics counters have also been added to track the number
+ of queries affected by these quotas.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ An <command>--enable-querytrace</command> configure switch is
+ now available to enable very verbose query tracelogging. This
+ option can only be set at compile time. This option has a
+ negative performance impact and should be used only for
+ debugging.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ EDNS COOKIE options content is now displayed as
+ "COOKIE: &lt;hexvalue&gt;".
+ </para>
</listitem>
</itemizedlist>
</sect2>
@@ -78,7 +143,34 @@
<title>Feature Changes</title>
<itemizedlist>
<listitem>
- <para>None</para>
+ <para>
+ Large inline-signing changes should be less disruptive.
+ Signature generation is now done incrementally; the number
+ of signatures to be generated in each quantum is controlled
+ by "sig-signing-signatures <replaceable>number</replaceable>;".
+ [RT #37927]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Retrieving the local port range from net.ipv4.ip_local_port_range
+ on Linux is now supported.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Active Directory names of the form gc._msdcs.&lt;forest&gt; are
+ now accepted as valid hostnames when using the
+ <option>check-names</option> option. &lt;forest&gt; is still
+ restricted to letters, digits and hyphens.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Names containing rich text are now accepted as valid
+ hostnames in PTR records in DNS-SD reverse lookup zones,
+ as specified in RFC 6763. [RT #37889]
+ </para>
</listitem>
</itemizedlist>
</sect2>
@@ -86,7 +178,49 @@
<title>Bug Fixes</title>
<itemizedlist>
<listitem>
- <para>None</para>
+ <para>
+ Asynchronous zone loads were not handled correctly when the
+ zone load was already in progress; this could trigger a crash
+ in zt.c. [RT #37573]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A race during shutdown or reconfiguration could
+ cause an assertion failure in mem.c. [RT #38979]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Some answer formatting options didn't work correctly with
+ <command>dig +short</command>. [RT #39291]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Malformed records of some types, including NSAP and UNSPEC,
+ could trigger assertion failures when loading text zone files.
+ [RT #40274] [RT #40285]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fixed a possible crash in ratelimiter.c caused by NOTIFY
+ messages being removed from the wrong rate limiter queue.
+ [RT #40350]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The default <option>rrset-order</option> of <literal>random</literal>
+ was inconsistently applied. [RT #40456]
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ BADVERS responses from broken authoritative name servers were
+ not handled correctly. [RT #40427]
+ </para>
</listitem>
</itemizedlist>
</sect2>
diff --git a/doc/misc/rfc-compliance b/doc/misc/rfc-compliance
index 4c87c66242bd..18e6e8ba2089 100644
--- a/doc/misc/rfc-compliance
+++ b/doc/misc/rfc-compliance
@@ -1,4 +1,4 @@
-Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+Copyright (C) 2004, 2015 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 2001 Internet Software Consortium.
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
@@ -29,20 +29,79 @@ or Best Current Practice (BCP) documents.
RFC2181
RFC2230
RFC2308
- RFC2535 [3] [4]
RFC2536
- RFC2537
- RFC2538
RFC2539
- RFC2671
- RFC2672
- RFC2673
RFC2782
RFC2915
RFC2930
RFC2931 [5]
RFC3007
+ RFC3110
+ RFC3123
+ RFC3225
+ RFC3226
+ RFC3363 [6]
+ RFC3490 [7]
+ RFC3491 (Obsoleted by 5890, 5891) [7]
+ RFC3493
+ RFC3496
+ RFC3597
+ RFC3645
+ RFC4025
+ RFC4034
+ RFC4035
+ RFC4074
+ RFC4255
+ RFC4294 - Section 5.1 [8]
+ RFC4343
+ RFC4398
+ RFC4408
+ RFC4431
+ RFC4470 [9]
+ RFC4509
+ RFC4635
+ RFC4701
+ RFC4892
+ RFC4955 [10]
+ RFC5001
+ RFC5011
+ RFC5155
+ RFC5205
+ RFC5452 [11]
+ RFC5702
+ RFC5933 [12]
+ RFC5936
+ RFC5952
+ RFC5966
+ RFC6052
+ RFC6147 [13]
+ RFC6303
+ RFC6605 [14]
+ RFC6672
+ RFC6698
+ RFC6742
+ RFC6840 [15]
+ RFC6844
+ RFC6891
+ RFC7043
+ RFC7314
+ RFC7314
+The following DNS related RFC have been obsoleted
+
+ RFC2535 (Obsoleted by 4034, 4035) [3] [4]
+ RFC2537 (Obsoleted by 3110)
+ RFC2538 (Obsoleted by 4398)
+ RFC2671 (Obsoleted by 6891)
+ RFC2672 (Obsoleted by 6672)
+ RFC2673 (Obsoleted by 6891)
+ RFC3008 (Obsoleted by 4034, 4035)
+ RFC3152 (Obsoleted by 3596)
+ RFC3445 (Obsoleted by 4034, 4035)
+ RFC3655 (Obsoleted by 4034, 4035)
+ RFC3658 (Obsoleted by 4034, 4035)
+ RFC3755 (Obsoleted by 4034, 4035)
+ RFC3757 (Obsoleted by 4034, 4035)
[1] Queries to zones that have failed to load return SERVFAIL rather
than a non-authoritative response. This is considered a feature.
diff --git a/isc-config.sh.in b/isc-config.sh.in
index 10df275cab22..04a9e5c6f4ff 100644
--- a/isc-config.sh.in
+++ b/isc-config.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012, 2013, 2015 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -40,6 +40,7 @@ Libraries:
dns
lwres
bind9
+ irs
EOF
exit $1
}
@@ -82,7 +83,13 @@ while test $# -gt 0; do
--libs)
echo_libs=true;
;;
- isc)
+ irs)
+ libirs=true;
+ libdns=true;
+ libisccfg=true;
+ libisc=true;
+ ;;
+ isc)
libisc=true;
;;
isccc)
@@ -131,10 +138,13 @@ if test x"$echo_cflags" = x"true"; then
fi
if test x"$echo_libs" = x"true"; then
if test x"${exec_prefix_set}" = x"true"; then
- includes="-L${exec_prefix}/lib"
+ libs="-L${exec_prefix}/lib"
else
libs="-L${libdir}"
fi
+ if test x"$libirs" = x"true" ; then
+ libs="$libs -lirs"
+ fi
if test x"$liblwres" = x"true" ; then
libs="$libs -llwres"
fi
diff --git a/lib/bind9/api b/lib/bind9/api
index 0e57c8291191..bd19d6da532f 100644
--- a/lib/bind9/api
+++ b/lib/bind9/api
@@ -5,5 +5,5 @@
# 9.9: 90-109
# 9.9-sub: 130-139
LIBINTERFACE = 90
-LIBREVISION = 13
+LIBREVISION = 14
LIBAGE = 0
diff --git a/lib/bind9/check.c b/lib/bind9/check.c
index e7a0200ca9ed..bc7aabe2e0e7 100644
--- a/lib/bind9/check.c
+++ b/lib/bind9/check.c
@@ -2898,6 +2898,7 @@ bind9_check_namedconf(const cfg_obj_t *config, isc_log_t *logctx,
dns_rdataclass_t vclass = dns_rdataclass_in;
const char *key = cfg_obj_asstring(vname);
isc_symvalue_t symvalue;
+ unsigned int symtype;
tresult = ISC_R_SUCCESS;
if (cfg_obj_isstring(vclassobj)) {
@@ -2911,16 +2912,17 @@ bind9_check_namedconf(const cfg_obj_t *config, isc_log_t *logctx,
"view '%s': invalid class %s",
cfg_obj_asstring(vname), r.base);
}
+ symtype = vclass + 1;
if (tresult == ISC_R_SUCCESS && symtab != NULL) {
symvalue.as_cpointer = view;
- tresult = isc_symtab_define(symtab, key, vclass,
+ tresult = isc_symtab_define(symtab, key, symtype,
symvalue,
isc_symexists_reject);
if (tresult == ISC_R_EXISTS) {
const char *file;
unsigned int line;
RUNTIME_CHECK(isc_symtab_lookup(symtab, key,
- vclass, &symvalue) == ISC_R_SUCCESS);
+ symtype, &symvalue) == ISC_R_SUCCESS);
file = cfg_obj_file(symvalue.as_cpointer);
line = cfg_obj_line(symvalue.as_cpointer);
cfg_obj_log(view, logctx, ISC_LOG_ERROR,
diff --git a/lib/dns/adb.c b/lib/dns/adb.c
index da77bb6c92a5..ec4af599da93 100644
--- a/lib/dns/adb.c
+++ b/lib/dns/adb.c
@@ -30,6 +30,7 @@
#include <isc/mutexblock.h>
#include <isc/netaddr.h>
+#include <isc/print.h>
#include <isc/random.h>
#include <isc/stats.h>
#include <isc/string.h> /* Required for HP/UX (and others?) */
@@ -162,6 +163,14 @@ struct dns_adb {
isc_boolean_t growentries_sent;
isc_event_t grownames;
isc_boolean_t grownames_sent;
+
+#ifdef ENABLE_FETCHLIMIT
+ isc_uint32_t quota;
+ isc_uint32_t atr_freq;
+ double atr_low;
+ double atr_high;
+ double atr_discount;
+#endif /* ENABLE_FETCHLIMIT */
};
/*
@@ -238,9 +247,21 @@ struct dns_adbentry {
int lock_bucket;
unsigned int refcnt;
+ unsigned int nh;
unsigned int flags;
unsigned int srtt;
+
+ unsigned int timeouts;
+ unsigned int completed;
+
+#ifdef ENABLE_FETCHLIMIT
+ isc_uint8_t mode;
+ isc_uint32_t quota;
+ isc_uint32_t active;
+ double atr;
+#endif /* ENABLE_FETCHLIMIT */
+
isc_sockaddr_t sockaddr;
isc_stdtime_t expires;
@@ -285,6 +306,7 @@ static inline dns_adbentry_t *find_entry_and_lock(dns_adb_t *,
static void dump_adb(dns_adb_t *, FILE *, isc_boolean_t debug, isc_stdtime_t);
static void print_dns_name(FILE *, dns_name_t *);
static void print_namehook_list(FILE *, const char *legend,
+ dns_adb_t *adb,
dns_adbnamehooklist_t *list,
isc_boolean_t debug,
isc_stdtime_t now);
@@ -320,10 +342,15 @@ static inline void link_entry(dns_adb_t *, int, dns_adbentry_t *);
static inline isc_boolean_t unlink_entry(dns_adb_t *, dns_adbentry_t *);
static isc_boolean_t kill_name(dns_adbname_t **, isc_eventtype_t);
static void water(void *, int);
-static void dump_entry(FILE *, dns_adbentry_t *, isc_boolean_t, isc_stdtime_t);
+static void dump_entry(FILE *, dns_adb_t *, dns_adbentry_t *,
+ isc_boolean_t, isc_stdtime_t);
static void adjustsrtt(dns_adbaddrinfo_t *addr, unsigned int rtt,
unsigned int factor, isc_stdtime_t now);
static void shutdown_task(isc_task_t *task, isc_event_t *ev);
+#ifdef ENABLE_FETCHLIMIT
+static void log_quota(dns_adbentry_t *entry, const char *fmt, ...)
+ ISC_FORMAT_PRINTF(2, 3);
+#endif /* ENABLE_FETCHLIMIT */
/*
* MUST NOT overlap DNS_ADBFIND_* flags!
@@ -887,6 +914,7 @@ import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset,
entry->sockaddr = sockaddr;
entry->refcnt = 1;
+ entry->nh = 1;
nh->entry = entry;
@@ -899,6 +927,7 @@ import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset,
break;
if (anh == NULL) {
foundentry->refcnt++;
+ foundentry->nh++;
nh->entry = foundentry;
} else
free_adbnamehook(adb, &nh);
@@ -1293,6 +1322,7 @@ clean_namehooks(dns_adb_t *adb, dns_adbnamehooklist_t *namehooks) {
LOCK(&adb->entrylocks[addr_bucket]);
}
+ entry->nh--;
result = dec_entry_refcnt(adb, overmem, entry,
ISC_FALSE);
}
@@ -1479,6 +1509,7 @@ clean_finds_at_name(dns_adbname_t *name, isc_eventtype_t evtype,
ev, task, find);
isc_task_sendanddetach(&task, (isc_event_t **)&ev);
+ find->flags |= FIND_EVENT_SENT;
} else {
DP(DEF_LEVEL, "cfan: skipping find %p", find);
}
@@ -1759,11 +1790,20 @@ new_adbentry(dns_adb_t *adb) {
e->magic = DNS_ADBENTRY_MAGIC;
e->lock_bucket = DNS_ADB_INVALIDBUCKET;
e->refcnt = 0;
+ e->nh = 0;
e->flags = 0;
+ e->completed = 0;
+ e->timeouts = 0;
isc_random_get(&r);
e->srtt = (r & 0x1f) + 1;
e->lastage = 0;
e->expires = 0;
+#ifdef ENABLE_FETCHLIMIT
+ e->active = 0;
+ e->mode = 0;
+ e->quota = adb->quota;
+ e->atr = 0.0;
+#endif /* ENABLE_FETCHLIMIT */
ISC_LIST_INIT(e->lameinfo);
ISC_LINK_INIT(e, plink);
LOCK(&adb->entriescntlock);
@@ -2072,6 +2112,27 @@ entry_is_lame(dns_adb_t *adb, dns_adbentry_t *entry, dns_name_t *qname,
return (is_bad);
}
+#ifdef ENABLE_FETCHLIMIT
+static void
+log_quota(dns_adbentry_t *entry, const char *fmt, ...) {
+ va_list ap;
+ char msgbuf[2048];
+ char addrbuf[ISC_NETADDR_FORMATSIZE];
+ isc_netaddr_t netaddr;
+
+ va_start(ap, fmt);
+ vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap);
+ va_end(ap);
+
+ isc_netaddr_fromsockaddr(&netaddr, &entry->sockaddr);
+ isc_netaddr_format(&netaddr, addrbuf, sizeof(addrbuf));
+
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_ADB,
+ ISC_LOG_INFO, "adb: quota %s (%d/%d): %s",
+ addrbuf, entry->active, entry->quota, msgbuf);
+}
+#endif /* ENABLE_FETCHLIMIT */
+
static void
copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, dns_name_t *qname,
dns_rdatatype_t qtype, dns_adbname_t *name,
@@ -2092,6 +2153,17 @@ copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, dns_name_t *qname,
INSIST(bucket != DNS_ADB_INVALIDBUCKET);
LOCK(&adb->entrylocks[bucket]);
+#ifdef ENABLE_FETCHLIMIT
+ if (entry->quota != 0 &&
+ entry->active >= entry->quota)
+ {
+ find->options |=
+ (DNS_ADBFIND_LAMEPRUNED|
+ DNS_ADBFIND_OVERQUOTA);
+ goto nextv4;
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
if (!FIND_RETURNLAME(find)
&& entry_is_lame(adb, entry, qname, qtype, now)) {
find->options |= DNS_ADBFIND_LAMEPRUNED;
@@ -2123,6 +2195,17 @@ copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, dns_name_t *qname,
INSIST(bucket != DNS_ADB_INVALIDBUCKET);
LOCK(&adb->entrylocks[bucket]);
+#ifdef ENABLE_FETCHLIMIT
+ if (entry->quota != 0 &&
+ entry->active >= entry->quota)
+ {
+ find->options |=
+ (DNS_ADBFIND_LAMEPRUNED|
+ DNS_ADBFIND_OVERQUOTA);
+ goto nextv6;
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
if (!FIND_RETURNLAME(find)
&& entry_is_lame(adb, entry, qname, qtype, now)) {
find->options |= DNS_ADBFIND_LAMEPRUNED;
@@ -2455,6 +2538,14 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr,
adb, NULL, NULL);
adb->growentries_sent = ISC_FALSE;
+#ifdef ENABLE_FETCHLIMIT
+ adb->quota = 0;
+ adb->atr_freq = 0;
+ adb->atr_low = 0.0;
+ adb->atr_high = 0.0;
+ adb->atr_discount = 0.0;
+#endif /* ENABLE_FETCHLIMIT */
+
adb->nnames = nbuckets[0];
adb->namescnt = 0;
adb->names = NULL;
@@ -2474,7 +2565,6 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr,
nbuckets[11]);
adb->nentries = nbuckets[11];
adb->nnames = nbuckets[11];
-
}
isc_mem_attach(mem, &adb->mctx);
@@ -2667,6 +2757,8 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr,
fail0c:
DESTROYLOCK(&adb->lock);
fail0b:
+ if (adb->excl != NULL)
+ isc_task_detach(&adb->excl);
isc_mem_putanddetach(&adb->mctx, adb, sizeof(dns_adb_t));
return (result);
@@ -3349,14 +3441,15 @@ dump_adb(dns_adb_t *adb, FILE *f, isc_boolean_t debug, isc_stdtime_t now) {
fprintf(f, "\n");
- print_namehook_list(f, "v4", &name->v4, debug, now);
- print_namehook_list(f, "v6", &name->v6, debug, now);
+ print_namehook_list(f, "v4", adb,
+ &name->v4, debug, now);
+ print_namehook_list(f, "v6", adb,
+ &name->v6, debug, now);
if (debug)
print_fetch_list(f, name);
if (debug)
print_find_list(f, name);
-
}
}
@@ -3365,8 +3458,8 @@ dump_adb(dns_adb_t *adb, FILE *f, isc_boolean_t debug, isc_stdtime_t now) {
for (i = 0; i < adb->nentries; i++) {
entry = ISC_LIST_HEAD(adb->entries[i]);
while (entry != NULL) {
- if (entry->refcnt == 0)
- dump_entry(f, entry, debug, now);
+ if (entry->nh == 0)
+ dump_entry(f, adb, entry, debug, now);
entry = ISC_LIST_NEXT(entry, plink);
}
}
@@ -3381,14 +3474,18 @@ dump_adb(dns_adb_t *adb, FILE *f, isc_boolean_t debug, isc_stdtime_t now) {
}
static void
-dump_entry(FILE *f, dns_adbentry_t *entry, isc_boolean_t debug,
- isc_stdtime_t now)
+dump_entry(FILE *f, dns_adb_t *adb, dns_adbentry_t *entry,
+ isc_boolean_t debug, isc_stdtime_t now)
{
char addrbuf[ISC_NETADDR_FORMATSIZE];
char typebuf[DNS_RDATATYPE_FORMATSIZE];
isc_netaddr_t netaddr;
dns_adblameinfo_t *li;
+#ifndef ENABLE_FETCHLIMIT
+ UNUSED(adb);
+#endif /* !ENABLE_FETCHLIMIT */
+
isc_netaddr_fromsockaddr(&netaddr, &entry->sockaddr);
isc_netaddr_format(&netaddr, addrbuf, sizeof(addrbuf));
@@ -3399,10 +3496,19 @@ dump_entry(FILE *f, dns_adbentry_t *entry, isc_boolean_t debug,
addrbuf, entry->srtt, entry->flags);
if (entry->expires != 0)
fprintf(f, " [ttl %d]", entry->expires - now);
+
+#ifdef ENABLE_FETCHLIMIT
+ if (adb != NULL && adb->quota != 0 && adb->atr_freq != 0) {
+ fprintf(f, " [atr %0.2f] [quota %d]",
+ entry->atr, entry->quota);
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
fprintf(f, "\n");
for (li = ISC_LIST_HEAD(entry->lameinfo);
li != NULL;
- li = ISC_LIST_NEXT(li, plink)) {
+ li = ISC_LIST_NEXT(li, plink))
+ {
fprintf(f, ";\t\t");
print_dns_name(f, &li->qname);
dns_rdatatype_format(li->qtype, typebuf, sizeof(typebuf));
@@ -3474,7 +3580,8 @@ print_dns_name(FILE *f, dns_name_t *name) {
}
static void
-print_namehook_list(FILE *f, const char *legend, dns_adbnamehooklist_t *list,
+print_namehook_list(FILE *f, const char *legend,
+ dns_adb_t *adb, dns_adbnamehooklist_t *list,
isc_boolean_t debug, isc_stdtime_t now)
{
dns_adbnamehook_t *nh;
@@ -3485,7 +3592,7 @@ print_namehook_list(FILE *f, const char *legend, dns_adbnamehooklist_t *list,
{
if (debug)
fprintf(f, ";\tHook(%s) %p\n", legend, nh);
- dump_entry(f, nh->entry, debug, now);
+ dump_entry(f, adb, nh->entry, debug, now);
}
}
@@ -4051,6 +4158,114 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
UNLOCK(&adb->entrylocks[bucket]);
}
+#ifdef ENABLE_FETCHLIMIT
+/*
+ * (10000 / ((10 + n) / 10)^(3/2)) for n in 0..99.
+ * These will be used to make quota adjustments.
+ */
+static int quota_adj[] = {
+ 10000, 8668, 7607, 6747, 6037, 5443, 4941, 4512, 4141,
+ 3818, 3536, 3286, 3065, 2867, 2690, 2530, 2385, 2254,
+ 2134, 2025, 1925, 1832, 1747, 1668, 1595, 1527, 1464,
+ 1405, 1350, 1298, 1250, 1205, 1162, 1121, 1083, 1048,
+ 1014, 981, 922, 894, 868, 843, 820, 797, 775, 755,
+ 735, 716, 698, 680, 664, 648, 632, 618, 603, 590, 577,
+ 564, 552, 540, 529, 518, 507, 497, 487, 477, 468, 459,
+ 450, 442, 434, 426, 418, 411, 404, 397, 390, 383, 377,
+ 370, 364, 358, 353, 347, 342, 336, 331, 326, 321, 316,
+ 312, 307, 303, 298, 294, 290, 286, 282, 278
+};
+
+/*
+ * Caller must hold adbentry lock
+ */
+static void
+maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
+ isc_boolean_t timeout)
+{
+ double tr;
+
+ UNUSED(adb);
+
+ if (adb->quota == 0 || adb->atr_freq == 0)
+ return;
+
+ if (timeout)
+ addr->entry->timeouts++;
+
+ if (addr->entry->completed++ <= adb->atr_freq)
+ return;
+
+ /*
+ * Calculate an exponential rolling average of the timeout ratio
+ *
+ * XXX: Integer arithmetic might be better than floating point
+ */
+ tr = (double) addr->entry->timeouts / addr->entry->completed;
+ addr->entry->timeouts = addr->entry->completed = 0;
+ INSIST(addr->entry->atr >= 0.0);
+ INSIST(addr->entry->atr <= 1.0);
+ INSIST(adb->atr_discount >= 0.0);
+ INSIST(adb->atr_discount <= 1.0);
+ addr->entry->atr *= 1.0 - adb->atr_discount;
+ addr->entry->atr += tr * adb->atr_discount;
+ addr->entry->atr = ISC_CLAMP(addr->entry->atr, 0.0, 1.0);
+
+ if (addr->entry->atr < adb->atr_low && addr->entry->mode > 0) {
+ addr->entry->quota = adb->quota *
+ quota_adj[--addr->entry->mode] / 10000;
+ log_quota(addr->entry, "atr %0.2f, quota increased to %d",
+ addr->entry->atr, addr->entry->quota);
+ } else if (addr->entry->atr > adb->atr_high && addr->entry->mode < 99) {
+ addr->entry->quota = adb->quota *
+ quota_adj[++addr->entry->mode] / 10000;
+ log_quota(addr->entry, "atr %0.2f, quota decreased to %d",
+ addr->entry->atr, addr->entry->quota);
+ }
+
+ /* Ensure we don't drop to zero */
+ if (addr->entry->quota == 0)
+ addr->entry->quota = 1;
+}
+#endif /* ENABLE_FETCHLIMIT */
+
+void
+dns_adb_plainresponse(dns_adb_t *adb, dns_adbaddrinfo_t *addr) {
+ int bucket;
+
+ REQUIRE(DNS_ADB_VALID(adb));
+ REQUIRE(DNS_ADBADDRINFO_VALID(addr));
+
+ bucket = addr->entry->lock_bucket;
+ LOCK(&adb->entrylocks[bucket]);
+
+#ifdef ENABLE_FETCHLIMIT
+ maybe_adjust_quota(adb, addr, ISC_FALSE);
+#endif /* ENABLE_FETCHLIMIT */
+
+ UNLOCK(&adb->entrylocks[bucket]);
+}
+
+void
+dns_adb_timeout(dns_adb_t *adb, dns_adbaddrinfo_t *addr) {
+#ifdef ENABLE_FETCHLIMIT
+ int bucket;
+
+ REQUIRE(DNS_ADB_VALID(adb));
+ REQUIRE(DNS_ADBADDRINFO_VALID(addr));
+
+ bucket = addr->entry->lock_bucket;
+ LOCK(&adb->entrylocks[bucket]);
+ maybe_adjust_quota(adb, addr, ISC_TRUE);
+ UNLOCK(&adb->entrylocks[bucket]);
+#else
+ UNUSED(adb);
+ UNUSED(addr);
+
+ return;
+#endif /* !ENABLE_FETCHLIMIT */
+}
+
isc_result_t
dns_adb_findaddrinfo(dns_adb_t *adb, isc_sockaddr_t *sa,
dns_adbaddrinfo_t **addrp, isc_stdtime_t now)
@@ -4230,3 +4445,84 @@ dns_adb_setadbsize(dns_adb_t *adb, size_t size) {
else
isc_mem_setwater(adb->mctx, water, adb, hiwater, lowater);
}
+
+void
+dns_adb_setquota(dns_adb_t *adb, isc_uint32_t quota, isc_uint32_t freq,
+ double low, double high, double discount)
+{
+#ifdef ENABLE_FETCHLIMIT
+ REQUIRE(DNS_ADB_VALID(adb));
+
+ adb->quota = quota;
+ adb->atr_freq = freq;
+ adb->atr_low = low;
+ adb->atr_high = high;
+ adb->atr_discount = discount;
+#else
+ UNUSED(adb);
+ UNUSED(quota);
+ UNUSED(freq);
+ UNUSED(low);
+ UNUSED(high);
+ UNUSED(discount);
+
+ return;
+#endif /* !ENABLE_FETCHLIMIT */
+}
+
+isc_boolean_t
+dns_adbentry_overquota(dns_adbentry_t *entry) {
+#ifdef ENABLE_FETCHLIMIT
+ isc_boolean_t block;
+ REQUIRE(DNS_ADBENTRY_VALID(entry));
+ block = ISC_TF(entry->quota != 0 && entry->active >= entry->quota);
+ return (block);
+#else
+ UNUSED(entry);
+
+ return (ISC_FALSE);
+#endif /* !ENABLE_FETCHLIMIT */
+}
+
+void
+dns_adb_beginudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr) {
+#ifdef ENABLE_FETCHLIMIT
+ int bucket;
+
+ REQUIRE(DNS_ADB_VALID(adb));
+ REQUIRE(DNS_ADBADDRINFO_VALID(addr));
+
+ bucket = addr->entry->lock_bucket;
+
+ LOCK(&adb->entrylocks[bucket]);
+ addr->entry->active++;
+ UNLOCK(&adb->entrylocks[bucket]);
+#else
+ UNUSED(adb);
+ UNUSED(addr);
+
+ return;
+#endif /* !ENABLE_FETCHLIMIT */
+}
+
+void
+dns_adb_endudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr) {
+#ifdef ENABLE_FETCHLIMIT
+ int bucket;
+
+ REQUIRE(DNS_ADB_VALID(adb));
+ REQUIRE(DNS_ADBADDRINFO_VALID(addr));
+
+ bucket = addr->entry->lock_bucket;
+
+ LOCK(&adb->entrylocks[bucket]);
+ if (addr->entry->active > 0)
+ addr->entry->active--;
+ UNLOCK(&adb->entrylocks[bucket]);
+#else
+ UNUSED(adb);
+ UNUSED(addr);
+
+ return;
+#endif /* !ENABLE_FETCHLIMIT */
+}
diff --git a/lib/dns/api b/lib/dns/api
index b93481d12132..c1a2e99c964e 100644
--- a/lib/dns/api
+++ b/lib/dns/api
@@ -4,6 +4,6 @@
# 9.8: 80-89, 120-129
# 9.9: 90-109
# 9.9-sub: 130-139
-LIBINTERFACE = 107
-LIBREVISION = 2
+LIBINTERFACE = 109
+LIBREVISION = 0
LIBAGE = 1
diff --git a/lib/dns/cache.c b/lib/dns/cache.c
index d0f05b9a09ab..098823314980 100644
--- a/lib/dns/cache.c
+++ b/lib/dns/cache.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011, 2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -1125,30 +1125,42 @@ cleaner_shutdown_action(isc_task_t *task, isc_event_t *event) {
isc_result_t
dns_cache_flush(dns_cache_t *cache) {
- dns_db_t *db = NULL;
+ dns_db_t *db = NULL, *olddb;
+ dns_dbiterator_t *dbiterator = NULL, *olddbiterator = NULL;
isc_result_t result;
result = cache_create_db(cache, &db);
if (result != ISC_R_SUCCESS)
return (result);
+ result = dns_db_createiterator(db, ISC_FALSE, &dbiterator);
+ if (result != ISC_R_SUCCESS) {
+ dns_db_detach(&db);
+ return (result);
+ }
+
LOCK(&cache->lock);
LOCK(&cache->cleaner.lock);
if (cache->cleaner.state == cleaner_s_idle) {
- if (cache->cleaner.iterator != NULL)
- dns_dbiterator_destroy(&cache->cleaner.iterator);
- (void) dns_db_createiterator(db, ISC_FALSE,
- &cache->cleaner.iterator);
+ olddbiterator = cache->cleaner.iterator;
+ cache->cleaner.iterator = dbiterator;
+ dbiterator = NULL;
} else {
if (cache->cleaner.state == cleaner_s_busy)
cache->cleaner.state = cleaner_s_done;
cache->cleaner.replaceiterator = ISC_TRUE;
}
- dns_db_detach(&cache->db);
+ olddb = cache->db;
cache->db = db;
UNLOCK(&cache->cleaner.lock);
UNLOCK(&cache->lock);
+ if (dbiterator != NULL)
+ dns_dbiterator_destroy(&dbiterator);
+ if (olddbiterator != NULL)
+ dns_dbiterator_destroy(&olddbiterator);
+ dns_db_detach(&olddb);
+
return (ISC_R_SUCCESS);
}
diff --git a/lib/dns/callbacks.c b/lib/dns/callbacks.c
index 0ef17abce7bc..c12e0c0fed95 100644
--- a/lib/dns/callbacks.c
+++ b/lib/dns/callbacks.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2011, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -21,6 +21,7 @@
#include <config.h>
+#include <isc/print.h>
#include <isc/util.h>
#include <dns/callbacks.h>
diff --git a/lib/dns/client.c b/lib/dns/client.c
index cee4fb268d71..b433e348fe31 100644
--- a/lib/dns/client.c
+++ b/lib/dns/client.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009-2013, 2015 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
@@ -14,8 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: client.c,v 1.14 2011/03/12 04:59:47 tbox Exp $ */
-
#include <config.h>
#include <stddef.h>
@@ -23,6 +21,7 @@
#include <isc/app.h>
#include <isc/mem.h>
#include <isc/mutex.h>
+#include <isc/safe.h>
#include <isc/sockaddr.h>
#include <isc/socket.h>
#include <isc/task.h>
diff --git a/lib/dns/diff.c b/lib/dns/diff.c
index b6d4152999f8..1c073ab75e2f 100644
--- a/lib/dns/diff.c
+++ b/lib/dns/diff.c
@@ -26,6 +26,7 @@
#include <isc/buffer.h>
#include <isc/file.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -290,12 +291,11 @@ diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver,
* of the diff itself is not affected.
*/
+ dns_rdatalist_init(&rdl);
rdl.type = type;
rdl.covers = covers;
rdl.rdclass = t->rdata.rdclass;
rdl.ttl = t->ttl;
- ISC_LIST_INIT(rdl.rdata);
- ISC_LINK_INIT(&rdl, link);
node = NULL;
if (type != dns_rdatatype_nsec3 &&
@@ -462,12 +462,11 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc,
type = t->rdata.type;
covers = rdata_covers(&t->rdata);
+ dns_rdatalist_init(&rdl);
rdl.type = type;
rdl.covers = covers;
rdl.rdclass = t->rdata.rdclass;
rdl.ttl = t->ttl;
- ISC_LIST_INIT(rdl.rdata);
- ISC_LINK_INIT(&rdl, link);
while (t != NULL && dns_name_equal(&t->name, name) &&
t->op == op && t->rdata.type == type &&
@@ -556,11 +555,10 @@ diff_tuple_tordataset(dns_difftuple_t *t, dns_rdata_t *rdata,
REQUIRE(rdl != NULL);
REQUIRE(rds != NULL);
+ dns_rdatalist_init(rdl);
rdl->type = t->rdata.type;
rdl->rdclass = t->rdata.rdclass;
rdl->ttl = t->ttl;
- ISC_LIST_INIT(rdl->rdata);
- ISC_LINK_INIT(rdl, link);
dns_rdataset_init(rds);
ISC_LINK_INIT(rdata, link);
dns_rdata_clone(&t->rdata, rdata);
diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c
index 1c113eccb235..444bcedde322 100644
--- a/lib/dns/dispatch.c
+++ b/lib/dns/dispatch.c
@@ -1159,7 +1159,7 @@ free_sevent(isc_event_t *ev) {
}
static inline isc_socketevent_t *
-allocate_sevent(dns_dispatch_t *disp, isc_socket_t *socket,
+allocate_sevent(dns_dispatch_t *disp, isc_socket_t *sock,
isc_eventtype_t type, isc_taskaction_t action, const void *arg)
{
isc_socketevent_t *ev;
@@ -1170,7 +1170,7 @@ allocate_sevent(dns_dispatch_t *disp, isc_socket_t *socket,
return (NULL);
DE_CONST(arg, deconst_arg);
ISC_EVENT_INIT(ev, sizeof(*ev), 0, NULL, type,
- action, deconst_arg, socket,
+ action, deconst_arg, sock,
free_sevent, disp->sepool);
ev->result = ISC_R_UNSET;
ISC_LINK_INIT(ev, ev_link);
@@ -1709,7 +1709,7 @@ static isc_result_t
startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) {
isc_result_t res;
isc_region_t region;
- isc_socket_t *socket;
+ isc_socket_t *sock;
if (disp->shutting_down == 1)
return (ISC_R_SUCCESS);
@@ -1728,10 +1728,10 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) {
return (ISC_R_SUCCESS);
if (dispsock != NULL)
- socket = dispsock->socket;
+ sock = dispsock->socket;
else
- socket = disp->socket;
- INSIST(socket != NULL);
+ sock = disp->socket;
+ INSIST(sock != NULL);
switch (disp->socktype) {
/*
@@ -1745,7 +1745,7 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) {
if (dispsock != NULL) {
isc_task_t *dt = dispsock->task;
isc_socketevent_t *sev =
- allocate_sevent(disp, socket,
+ allocate_sevent(disp, sock,
ISC_SOCKEVENT_RECVDONE,
udp_exrecv, dispsock);
if (sev == NULL) {
@@ -1753,7 +1753,7 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) {
return (ISC_R_NOMEMORY);
}
- res = isc_socket_recv2(socket, &region, 1, dt, sev, 0);
+ res = isc_socket_recv2(sock, &region, 1, dt, sev, 0);
if (res != ISC_R_SUCCESS) {
free_buffer(disp, region.base, region.length);
return (res);
@@ -1761,7 +1761,7 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) {
} else {
isc_task_t *dt = disp->task[0];
isc_socketevent_t *sev =
- allocate_sevent(disp, socket,
+ allocate_sevent(disp, sock,
ISC_SOCKEVENT_RECVDONE,
udp_shrecv, disp);
if (sev == NULL) {
@@ -1769,7 +1769,7 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) {
return (ISC_R_NOMEMORY);
}
- res = isc_socket_recv2(socket, &region, 1, dt, sev, 0);
+ res = isc_socket_recv2(sock, &region, 1, dt, sev, 0);
if (res != ISC_R_SUCCESS) {
free_buffer(disp, region.base, region.length);
disp->shutdown_why = res;
diff --git a/lib/dns/dlz.c b/lib/dns/dlz.c
index 19c600c94126..a273156b5f95 100644
--- a/lib/dns/dlz.c
+++ b/lib/dns/dlz.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2005, 2007, 2009-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2005, 2007, 2009-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -221,8 +221,8 @@ dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const char *drivername,
void
dns_dlzdestroy(dns_dlzdb_t **dbp) {
- isc_mem_t *mctx;
dns_dlzdestroy_t destroy;
+ dns_dlzdb_t *db;
/* Write debugging message to log */
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
@@ -234,23 +234,19 @@ dns_dlzdestroy(dns_dlzdb_t **dbp) {
*/
REQUIRE(dbp != NULL && DNS_DLZ_VALID(*dbp));
+ db = *dbp;
+ *dbp = NULL;
+
#ifdef BIND9
- if ((*dbp)->ssutable != NULL) {
- dns_ssutable_detach(&(*dbp)->ssutable);
- }
+ if (db->ssutable != NULL)
+ dns_ssutable_detach(&db->ssutable);
#endif
/* call the drivers destroy method */
- if ((*dbp) != NULL) {
- mctx = (*dbp)->mctx;
- destroy = (*dbp)->implementation->methods->destroy;
- (*destroy)((*dbp)->implementation->driverarg,(*dbp)->dbdata);
- /* return memory */
- isc_mem_put(mctx, (*dbp), sizeof(dns_dlzdb_t));
- isc_mem_detach(&mctx);
- }
-
- *dbp = NULL;
+ destroy = db->implementation->methods->destroy;
+ (*destroy)(db->implementation->driverarg, db->dbdata);
+ /* return memory and detach */
+ isc_mem_putanddetach(&db->mctx, db, sizeof(dns_dlzdb_t));
}
diff --git a/lib/dns/dnssec.c b/lib/dns/dnssec.c
index 6a749ea56b32..341dbe6bc282 100644
--- a/lib/dns/dnssec.c
+++ b/lib/dns/dnssec.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -934,9 +934,6 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) {
RETERR(dns_message_gettemprdatalist(msg, &datalist));
datalist->rdclass = dns_rdataclass_any;
datalist->type = dns_rdatatype_sig; /* SIG(0) */
- datalist->covers = 0;
- datalist->ttl = 0;
- ISC_LIST_INIT(datalist->rdata);
ISC_LIST_APPEND(datalist->rdata, rdata, link);
dataset = NULL;
RETERR(dns_message_gettemprdataset(msg, &dataset));
@@ -969,7 +966,7 @@ dns_dnssec_verifymessage(isc_buffer_t *source, dns_message_t *msg,
dst_context_t *ctx = NULL;
isc_mem_t *mctx;
isc_result_t result;
- isc_uint16_t addcount;
+ isc_uint16_t addcount, addcount_n;
isc_boolean_t signeedsfree = ISC_FALSE;
REQUIRE(source != NULL);
@@ -1046,7 +1043,8 @@ dns_dnssec_verifymessage(isc_buffer_t *source, dns_message_t *msg,
* Decrement the additional field counter.
*/
memmove(&addcount, &header[DNS_MESSAGE_HEADERLEN - 2], 2);
- addcount = htons((isc_uint16_t)(ntohs(addcount) - 1));
+ addcount_n = ntohs(addcount);
+ addcount = htons((isc_uint16_t)(addcount_n - 1));
memmove(&header[DNS_MESSAGE_HEADERLEN - 2], &addcount, 2);
/*
diff --git a/lib/dns/dst_api.c b/lib/dns/dst_api.c
index 641627376047..680a0184319e 100644
--- a/lib/dns/dst_api.c
+++ b/lib/dns/dst_api.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2013, 2015 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
@@ -1001,9 +1001,6 @@ comparekeys(const dst_key_t *key1, const dst_key_t *key2,
if (key1 == key2)
return (ISC_TRUE);
- if (key1 == NULL || key2 == NULL)
- return (ISC_FALSE);
-
if (key1->key_alg != key2->key_alg)
return (ISC_FALSE);
@@ -1093,8 +1090,6 @@ dst_key_paramcompare(const dst_key_t *key1, const dst_key_t *key2) {
if (key1 == key2)
return (ISC_TRUE);
- if (key1 == NULL || key2 == NULL)
- return (ISC_FALSE);
if (key1->key_alg == key2->key_alg &&
key1->func->paramcompare != NULL &&
key1->func->paramcompare(key1, key2) == ISC_TRUE)
diff --git a/lib/dns/dst_openssl.h b/lib/dns/dst_openssl.h
index 99a43ef948ac..dd6740586d8a 100644
--- a/lib/dns/dst_openssl.h
+++ b/lib/dns/dst_openssl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -29,12 +29,27 @@
#include <openssl/evp.h>
#include <openssl/conf.h>
#include <openssl/crypto.h>
+#include <openssl/bn.h>
#if !defined(OPENSSL_NO_ENGINE) && defined(CRYPTO_LOCK_ENGINE) && \
(OPENSSL_VERSION_NUMBER >= 0x0090707f)
#define USE_ENGINE 1
#endif
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+/*
+ * These are new in OpenSSL 1.1.0. BN_GENCB _cb needs to be declared in
+ * the function like this before the BN_GENCB_new call:
+ *
+ * #if OPENSSL_VERSION_NUMBER < 0x10100000L
+ * _cb;
+ * #endif
+ */
+#define BN_GENCB_free(x) (x = NULL);
+#define BN_GENCB_new() (&_cb)
+#define BN_GENCB_get_arg(x) ((x)->arg)
+#endif
+
ISC_LANG_BEGINDECLS
isc_result_t
diff --git a/lib/dns/dst_parse.c b/lib/dns/dst_parse.c
index 2b950d5a3b9c..989dc86300f2 100644
--- a/lib/dns/dst_parse.c
+++ b/lib/dns/dst_parse.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -38,13 +38,14 @@
#include <isc/base64.h>
#include <isc/dir.h>
+#include <isc/file.h>
#include <isc/fsaccess.h>
#include <isc/lex.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/stdtime.h>
#include <isc/string.h>
#include <isc/util.h>
-#include <isc/file.h>
#include <dns/time.h>
#include <dns/log.h>
diff --git a/lib/dns/gssapi_link.c b/lib/dns/gssapi_link.c
index 2927b676d366..e404c96ceae1 100644
--- a/lib/dns/gssapi_link.c
+++ b/lib/dns/gssapi_link.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -26,6 +26,7 @@
#include <isc/base64.h>
#include <isc/buffer.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
diff --git a/lib/dns/gssapictx.c b/lib/dns/gssapictx.c
index f28c07aba436..3a3af34a9861 100644
--- a/lib/dns/gssapictx.c
+++ b/lib/dns/gssapictx.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -216,7 +216,7 @@ static void
check_config(const char *gss_name) {
const char *p;
krb5_context krb5_ctx;
- char *krb5_realm = NULL;
+ char *krb5_realm_name = NULL;
if (strncasecmp(gss_name, "DNS/", 4) != 0) {
gss_log(ISC_LOG_ERROR, "tkey-gssapi-credential (%s) "
@@ -228,7 +228,7 @@ check_config(const char *gss_name) {
gss_log(ISC_LOG_ERROR, "Unable to initialise krb5 context");
return;
}
- if (krb5_get_default_realm(krb5_ctx, &krb5_realm) != 0) {
+ if (krb5_get_default_realm(krb5_ctx, &krb5_realm_name) != 0) {
gss_log(ISC_LOG_ERROR, "Unable to get krb5 default realm");
krb5_free_context(krb5_ctx);
return;
@@ -240,10 +240,10 @@ check_config(const char *gss_name) {
krb5_free_context(krb5_ctx);
return;
}
- if (strcasecmp(p + 1, krb5_realm) != 0) {
+ if (strcasecmp(p + 1, krb5_realm_name) != 0) {
gss_log(ISC_LOG_ERROR, "default realm from krb5.conf (%s) "
"does not match tkey-gssapi-credential (%s)",
- krb5_realm, gss_name);
+ krb5_realm_name, gss_name);
krb5_free_context(krb5_ctx);
return;
}
@@ -633,7 +633,6 @@ dst_gssapi_initctx(dns_name_t *name, isc_buffer_t *intoken,
if (gouttoken.length != 0U) {
GBUFFER_TO_REGION(gouttoken, r);
RETERR(isc_buffer_copyregion(outtoken, &r));
- (void)gss_release_buffer(&minor, &gouttoken);
}
if (gret == GSS_S_COMPLETE)
@@ -642,6 +641,8 @@ dst_gssapi_initctx(dns_name_t *name, isc_buffer_t *intoken,
result = DNS_R_CONTINUE;
out:
+ if (gouttoken.length != 0U)
+ (void)gss_release_buffer(&minor, &gouttoken);
(void)gss_release_name(&minor, &gname);
return (result);
#else
diff --git a/lib/dns/hmac_link.c b/lib/dns/hmac_link.c
index d99c5fb00f42..690301d7c236 100644
--- a/lib/dns/hmac_link.c
+++ b/lib/dns/hmac_link.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -76,7 +76,7 @@ hmacmd5_createctx(dst_key_t *key, dst_context_t *dctx) {
hmacmd5ctx = isc_mem_get(dctx->mctx, sizeof(isc_hmacmd5_t));
if (hmacmd5ctx == NULL)
return (ISC_R_NOMEMORY);
- isc_hmacmd5_init(hmacmd5ctx, hkey->key, ISC_SHA1_BLOCK_LENGTH);
+ isc_hmacmd5_init(hmacmd5ctx, hkey->key, ISC_MD5_BLOCK_LENGTH);
dctx->ctxdata.hmacmd5ctx = hmacmd5ctx;
return (ISC_R_SUCCESS);
}
@@ -139,7 +139,7 @@ hmacmd5_compare(const dst_key_t *key1, const dst_key_t *key2) {
else if (hkey1 == NULL || hkey2 == NULL)
return (ISC_FALSE);
- if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_SHA1_BLOCK_LENGTH))
+ if (isc_safe_memequal(hkey1->key, hkey2->key, ISC_MD5_BLOCK_LENGTH))
return (ISC_TRUE);
else
return (ISC_FALSE);
@@ -150,17 +150,17 @@ hmacmd5_generate(dst_key_t *key, int pseudorandom_ok, void (*callback)(int)) {
isc_buffer_t b;
isc_result_t ret;
unsigned int bytes;
- unsigned char data[ISC_SHA1_BLOCK_LENGTH];
+ unsigned char data[ISC_MD5_BLOCK_LENGTH];
UNUSED(callback);
bytes = (key->key_size + 7) / 8;
- if (bytes > ISC_SHA1_BLOCK_LENGTH) {
- bytes = ISC_SHA1_BLOCK_LENGTH;
- key->key_size = ISC_SHA1_BLOCK_LENGTH * 8;
+ if (bytes > ISC_MD5_BLOCK_LENGTH) {
+ bytes = ISC_MD5_BLOCK_LENGTH;
+ key->key_size = ISC_MD5_BLOCK_LENGTH * 8;
}
- memset(data, 0, ISC_SHA1_BLOCK_LENGTH);
+ memset(data, 0, ISC_MD5_BLOCK_LENGTH);
ret = dst__entropy_getdata(data, bytes, ISC_TF(pseudorandom_ok != 0));
if (ret != ISC_R_SUCCESS)
@@ -169,7 +169,7 @@ hmacmd5_generate(dst_key_t *key, int pseudorandom_ok, void (*callback)(int)) {
isc_buffer_init(&b, data, bytes);
isc_buffer_add(&b, bytes);
ret = hmacmd5_fromdns(key, &b);
- memset(data, 0, ISC_SHA1_BLOCK_LENGTH);
+ memset(data, 0, ISC_MD5_BLOCK_LENGTH);
return (ret);
}
@@ -223,7 +223,7 @@ hmacmd5_fromdns(dst_key_t *key, isc_buffer_t *data) {
memset(hkey->key, 0, sizeof(hkey->key));
- if (r.length > ISC_SHA1_BLOCK_LENGTH) {
+ if (r.length > ISC_MD5_BLOCK_LENGTH) {
isc_md5_init(&md5ctx);
isc_md5_update(&md5ctx, r.base, r.length);
isc_md5_final(&md5ctx, hkey->key);
@@ -236,6 +236,8 @@ hmacmd5_fromdns(dst_key_t *key, isc_buffer_t *data) {
key->key_size = keylen * 8;
key->keydata.hmacmd5 = hkey;
+ isc_buffer_forward(data, r.length);
+
return (ISC_R_SUCCESS);
}
@@ -415,7 +417,7 @@ hmacsha1_compare(const dst_key_t *key1, const dst_key_t *key2) {
else if (hkey1 == NULL || hkey2 == NULL)
return (ISC_FALSE);
- if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_SHA1_BLOCK_LENGTH))
+ if (isc_safe_memequal(hkey1->key, hkey2->key, ISC_SHA1_BLOCK_LENGTH))
return (ISC_TRUE);
else
return (ISC_FALSE);
@@ -512,6 +514,8 @@ hmacsha1_fromdns(dst_key_t *key, isc_buffer_t *data) {
key->key_size = keylen * 8;
key->keydata.hmacsha1 = hkey;
+ isc_buffer_forward(data, r.length);
+
return (ISC_R_SUCCESS);
}
@@ -691,7 +695,7 @@ hmacsha224_compare(const dst_key_t *key1, const dst_key_t *key2) {
else if (hkey1 == NULL || hkey2 == NULL)
return (ISC_FALSE);
- if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_SHA224_BLOCK_LENGTH))
+ if (isc_safe_memequal(hkey1->key, hkey2->key, ISC_SHA224_BLOCK_LENGTH))
return (ISC_TRUE);
else
return (ISC_FALSE);
@@ -790,6 +794,8 @@ hmacsha224_fromdns(dst_key_t *key, isc_buffer_t *data) {
key->key_size = keylen * 8;
key->keydata.hmacsha224 = hkey;
+ isc_buffer_forward(data, r.length);
+
return (ISC_R_SUCCESS);
}
@@ -969,7 +975,7 @@ hmacsha256_compare(const dst_key_t *key1, const dst_key_t *key2) {
else if (hkey1 == NULL || hkey2 == NULL)
return (ISC_FALSE);
- if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_SHA256_BLOCK_LENGTH))
+ if (isc_safe_memequal(hkey1->key, hkey2->key, ISC_SHA256_BLOCK_LENGTH))
return (ISC_TRUE);
else
return (ISC_FALSE);
@@ -1068,6 +1074,8 @@ hmacsha256_fromdns(dst_key_t *key, isc_buffer_t *data) {
key->key_size = keylen * 8;
key->keydata.hmacsha256 = hkey;
+ isc_buffer_forward(data, r.length);
+
return (ISC_R_SUCCESS);
}
@@ -1247,7 +1255,7 @@ hmacsha384_compare(const dst_key_t *key1, const dst_key_t *key2) {
else if (hkey1 == NULL || hkey2 == NULL)
return (ISC_FALSE);
- if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_SHA384_BLOCK_LENGTH))
+ if (isc_safe_memequal(hkey1->key, hkey2->key, ISC_SHA384_BLOCK_LENGTH))
return (ISC_TRUE);
else
return (ISC_FALSE);
@@ -1346,6 +1354,8 @@ hmacsha384_fromdns(dst_key_t *key, isc_buffer_t *data) {
key->key_size = keylen * 8;
key->keydata.hmacsha384 = hkey;
+ isc_buffer_forward(data, r.length);
+
return (ISC_R_SUCCESS);
}
@@ -1525,7 +1535,7 @@ hmacsha512_compare(const dst_key_t *key1, const dst_key_t *key2) {
else if (hkey1 == NULL || hkey2 == NULL)
return (ISC_FALSE);
- if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_SHA512_BLOCK_LENGTH))
+ if (isc_safe_memequal(hkey1->key, hkey2->key, ISC_SHA512_BLOCK_LENGTH))
return (ISC_TRUE);
else
return (ISC_FALSE);
@@ -1624,6 +1634,8 @@ hmacsha512_fromdns(dst_key_t *key, isc_buffer_t *data) {
key->key_size = keylen * 8;
key->keydata.hmacsha512 = hkey;
+ isc_buffer_forward(data, r.length);
+
return (ISC_R_SUCCESS);
}
diff --git a/lib/dns/include/dns/adb.h b/lib/dns/include/dns/adb.h
index 8222bd211006..12dd1190c3ca 100644
--- a/lib/dns/include/dns/adb.h
+++ b/lib/dns/include/dns/adb.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2008, 2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008, 2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -206,6 +206,11 @@ struct dns_adbfind {
* Must set _WANTEVENT for this to be meaningful.
*/
#define DNS_ADBFIND_LAMEPRUNED 0x00000200
+/*%
+ * The server's fetch quota is exceeded; it will be treated as
+ * lame for this query.
+ */
+#define DNS_ADBFIND_OVERQUOTA 0x00000400
/*%
* The answers to queries come back as a list of these.
@@ -583,6 +588,30 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
*\li addr be valid.
*/
+void
+dns_adb_plainresponse(dns_adb_t *adb, dns_adbaddrinfo_t *addr);
+/*%
+ * Record a successful DNS response.
+ *
+ * Requires:
+ *
+ *\li adb be valid.
+ *
+ *\li addr be valid.
+ */
+
+void
+dns_adb_timeout(dns_adb_t *adb, dns_adbaddrinfo_t *addr);
+/*%
+ * Record a DNS UDP query failed.
+ *
+ * Requires:
+ *
+ *\li adb be valid.
+ *
+ *\li addr be valid.
+ */
+
isc_result_t
dns_adb_findaddrinfo(dns_adb_t *adb, isc_sockaddr_t *sa,
dns_adbaddrinfo_t **addrp, isc_stdtime_t now);
@@ -647,6 +676,64 @@ dns_adb_flushname(dns_adb_t *adb, dns_name_t *name);
*\li 'name' is valid.
*/
+void
+dns_adb_setquota(dns_adb_t *adb, isc_uint32_t quota, isc_uint32_t freq,
+ double low, double high, double discount);
+/*%<
+ * Set the baseline ADB quota, and configure parameters for the
+ * quota adjustment algorithm.
+ *
+ * If the number of fetches currently waiting for responses from this
+ * address exceeds the current quota, then additional fetches are spilled.
+ *
+ * 'quota' is the highest permissible quota; it will adjust itself
+ * downward in response to detected congestion.
+ *
+ * After every 'freq' fetches have either completed or timed out, an
+ * exponentially weighted moving average of the ratio of timeouts
+ * to responses is calculated. If the EWMA goes above a 'high'
+ * threshold, then the quota is adjusted down one step; if it drops
+ * below a 'low' threshold, then the quota is adjusted back up one
+ * step.
+ *
+ * The quota adjustment is based on the function (1 / 1 + (n/10)^(3/2)),
+ * for values of n from 0 to 99. It starts at 100% of the baseline
+ * quota, and descends after 100 steps to 2%.
+ *
+ * 'discount' represents the discount rate of the moving average. Higher
+ * values cause older values to be discounted sooner, providing a faster
+ * response to changes in the timeout ratio.
+ *
+ * Requires:
+ *\li 'adb' is valid.
+ */
+
+isc_boolean_t
+dns_adbentry_overquota(dns_adbentry_t *entry);
+/*%<
+ * Returns true if the specified ADB has too many active fetches.
+ *
+ * Requires:
+ *\li 'entry' is valid.
+ */
+
+void
+dns_adb_beginudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr);
+void
+dns_adb_endudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr);
+/*%
+ * Begin/end a UDP fetch on a particular address.
+ *
+ * These functions increment or decrement the fetch counter for
+ * the ADB entry so that the fetch quota can be enforced.
+ *
+ * Requires:
+ *
+ *\li adb be valid.
+ *
+ *\li addr be valid.
+ */
+
ISC_LANG_ENDDECLS
#endif /* DNS_ADB_H */
diff --git a/lib/dns/include/dns/log.h b/lib/dns/include/dns/log.h
index 488b48e33de2..e7670f806e41 100644
--- a/lib/dns/include/dns/log.h
+++ b/lib/dns/include/dns/log.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.h,v 1.47 2011/10/13 22:48:24 tbox Exp $ */
-
/*! \file dns/log.h
* \author Principal Authors: DCL */
@@ -45,6 +43,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodule_t dns_modules[];
#define DNS_LOGCATEGORY_RPZ (&dns_categories[12])
#define DNS_LOGCATEGORY_RRL (&dns_categories[13])
#define DNS_LOGCATEGORY_CNAME (&dns_categories[14])
+#define DNS_LOGCATEGORY_SPILL (&dns_categories[15])
/* Backwards compatibility. */
#define DNS_LOGCATEGORY_GENERAL ISC_LOGCATEGORY_GENERAL
diff --git a/lib/dns/include/dns/message.h b/lib/dns/include/dns/message.h
index c678238d2224..76f78bfdfb80 100644
--- a/lib/dns/include/dns/message.h
+++ b/lib/dns/include/dns/message.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2010, 2012-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2010, 2012-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -107,9 +107,10 @@
#define DNS_OPT_NSID 0x0003 /*%< NSID opt code */
#define DNS_OPT_CLIENT_SUBNET 0x0008 /*%< client subnet opt code */
#define DNS_OPT_EXPIRE 0x0009 /*%< EXPIRE opt code */
+#define DNS_OPT_COOKIE 0x000a /*%< COOKIE opt code */
/*%< The number of EDNS options we know about. */
-#define DNS_EDNSOPTIONS 3
+#define DNS_EDNSOPTIONS 4
#define DNS_MESSAGE_REPLYPRESERVE (DNS_MESSAGEFLAG_RD|DNS_MESSAGEFLAG_CD)
#define DNS_MESSAGEEXTFLAG_REPLYPRESERVE (DNS_MESSAGEEXTFLAG_DO)
@@ -193,7 +194,7 @@ struct dns_message {
dns_messageid_t id;
unsigned int flags;
dns_rcode_t rcode;
- unsigned int opcode;
+ dns_opcode_t opcode;
dns_rdataclass_t rdclass;
/* 4 real, 1 pseudo */
diff --git a/lib/dns/include/dns/name.h b/lib/dns/include/dns/name.h
index 1a88e53264b4..d6e9a90c1eb5 100644
--- a/lib/dns/include/dns/name.h
+++ b/lib/dns/include/dns/name.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -989,10 +989,6 @@ dns_name_split(dns_name_t *name, unsigned int suffixlabels,
*
*\li 'suffix' is a valid name or NULL, and cannot be read-only.
*
- *\li If non-NULL, 'prefix' and 'suffix' must have dedicated buffers.
- *
- *\li 'prefix' and 'suffix' cannot point to the same buffer.
- *
* Ensures:
*
*\li On success:
@@ -1161,6 +1157,7 @@ dns_name_tostring(dns_name_t *source, char **target, isc_mem_t *mctx);
* Returns:
*
*\li ISC_R_SUCCESS
+ *\li ISC_R_NOMEMORY
*
*\li Any error that dns_name_totext() can return.
*/
@@ -1283,6 +1280,12 @@ dns_name_destroy(void);
* non-NULL argument prior to calling dns_name_destroy();
*/
+isc_boolean_t
+dns_name_isdnssd(const dns_name_t *owner);
+/*%<
+ * Determine if the 'owner' is a DNS-SD prefix.
+ */
+
ISC_LANG_ENDDECLS
/*
diff --git a/lib/dns/include/dns/resolver.h b/lib/dns/include/dns/resolver.h
index a533f4ed2b24..5ea2279eec37 100644
--- a/lib/dns/include/dns/resolver.h
+++ b/lib/dns/include/dns/resolver.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolver.h,v 1.72 2011/12/05 17:10:51 each Exp $ */
-
#ifndef DNS_RESOLVER_H
#define DNS_RESOLVER_H 1
@@ -54,6 +52,7 @@
#include <isc/lang.h>
#include <isc/socket.h>
+#include <isc/stats.h>
#include <dns/types.h>
#include <dns/fixedname.h>
@@ -84,6 +83,14 @@ typedef struct dns_fetchevent {
isc_result_t vresult;
} dns_fetchevent_t;
+/*%
+ * The two quota types (fetches-per-zone and fetches-per-server)
+ */
+typedef enum {
+ dns_quotatype_zone = 0,
+ dns_quotatype_server
+} dns_quotatype_t;
+
/*
* Options that modify how a 'fetch' is done.
*/
@@ -532,6 +539,8 @@ dns_resolver_gettimeout(dns_resolver_t *resolver);
void
dns_resolver_setclientsperquery(dns_resolver_t *resolver,
isc_uint32_t min, isc_uint32_t max);
+void
+dns_resolver_setfetchesperzone(dns_resolver_t *resolver, isc_uint32_t clients);
void
dns_resolver_getclientsperquery(dns_resolver_t *resolver, isc_uint32_t *cur,
@@ -612,6 +621,30 @@ dns_resolver_getmaxqueries(dns_resolver_t *resolver);
* \li resolver to be valid.
*/
+void
+dns_resolver_dumpfetches(dns_resolver_t *resolver, FILE *fp);
+
+void
+dns_resolver_setquotaresponse(dns_resolver_t *resolver,
+ dns_quotatype_t which, isc_result_t resp);
+isc_result_t
+dns_resolver_getquotaresponse(dns_resolver_t *resolver, dns_quotatype_t which);
+/*%
+ * Get and set the result code that will be used when quotas
+ * are exceeded. If 'which' is set to quotatype "zone", then the
+ * result specified in 'resp' will be used when the fetches-per-zone
+ * quota is exceeded by a fetch. If 'which' is set to quotatype "server",
+ * then the reuslt specified in 'resp' will be used when the
+ * fetches-per-server quota has been exceeded for all the
+ * authoritative servers for a zone. Valid choices are
+ * DNS_R_DROP or DNS_R_SERVFAIL.
+ *
+ * Requires:
+ * \li 'resolver' to be valid.
+ * \li 'which' to be dns_quotatype_zone or dns_quotatype_server
+ * \li 'resp' to be DNS_R_DROP or DNS_R_SERVFAIL.
+ */
+
ISC_LANG_ENDDECLS
#endif /* DNS_RESOLVER_H */
diff --git a/lib/dns/include/dns/result.h b/lib/dns/include/dns/result.h
index 12aacf9ba78a..7d11c2beb01e 100644
--- a/lib/dns/include/dns/result.h
+++ b/lib/dns/include/dns/result.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -153,8 +153,12 @@
#define DNS_R_EXPIRED (ISC_RESULTCLASS_DNS + 107)
#define DNS_R_NOTDYNAMIC (ISC_RESULTCLASS_DNS + 108)
#define DNS_R_BADEUI (ISC_RESULTCLASS_DNS + 109)
+#define DNS_R_NTACOVERED (ISC_RESULTCLASS_DNS + 110)
+#define DNS_R_BADCDS (ISC_RESULTCLASS_DNS + 111)
+#define DNS_R_BADCDNSKEY (ISC_RESULTCLASS_DNS + 112)
+#define DNS_R_OPTERR (ISC_RESULTCLASS_DNS + 113)
-#define DNS_R_NRESULTS 110 /*%< Number of results */
+#define DNS_R_NRESULTS 114 /*%< Number of results */
/*
* DNS wire format rcodes.
diff --git a/lib/dns/include/dns/rrl.h b/lib/dns/include/dns/rrl.h
index ef6b72b4280d..140b99436aa9 100644
--- a/lib/dns/include/dns/rrl.h
+++ b/lib/dns/include/dns/rrl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013, 2015 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
@@ -90,16 +90,17 @@ typedef enum {
*/
#define DNS_RRL_MAX_PREFIX 64
typedef union dns_rrl_key dns_rrl_key_t;
+struct dns__rrl_key {
+ isc_uint32_t ip[DNS_RRL_MAX_PREFIX/32];
+ isc_uint32_t qname_hash;
+ dns_rdatatype_t qtype;
+ isc_uint8_t qclass;
+ dns_rrl_rtype_t rtype :4; /* 3 bits + sign bit */
+ isc_boolean_t ipv6 :1;
+};
union dns_rrl_key {
- struct {
- isc_uint32_t ip[DNS_RRL_MAX_PREFIX/32];
- isc_uint32_t qname_hash;
- dns_rdatatype_t qtype;
- isc_uint8_t qclass;
- dns_rrl_rtype_t rtype :4; /* 3 bits + sign bit */
- isc_boolean_t ipv6 :1;
- } s;
- isc_uint16_t w[1];
+ struct dns__rrl_key s;
+ isc_uint16_t w[sizeof(struct dns__rrl_key)/sizeof(isc_uint16_t)];
};
/*
diff --git a/lib/dns/include/dns/stats.h b/lib/dns/include/dns/stats.h
index 5364267272a0..b033163db682 100644
--- a/lib/dns/include/dns/stats.h
+++ b/lib/dns/include/dns/stats.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -61,8 +61,10 @@ enum {
dns_resstatscounter_queryrtt3 = 27,
dns_resstatscounter_queryrtt4 = 28,
dns_resstatscounter_queryrtt5 = 29,
+ dns_resstatscounter_zonequota = 30,
+ dns_resstatscounter_serverquota = 31,
- dns_resstatscounter_max = 30,
+ dns_resstatscounter_max = 32,
/*
* DNSSEC stats.
diff --git a/lib/dns/include/dns/types.h b/lib/dns/include/dns/types.h
index 76167c2f88da..54194aa2a920 100644
--- a/lib/dns/include/dns/types.h
+++ b/lib/dns/include/dns/types.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -127,6 +127,7 @@ typedef struct dns_tsec dns_tsec_t;
typedef struct dns_tsig_keyring dns_tsig_keyring_t;
typedef struct dns_tsigkey dns_tsigkey_t;
typedef isc_uint32_t dns_ttl_t;
+typedef struct dns_update_state dns_update_state_t;
typedef struct dns_validator dns_validator_t;
typedef struct dns_view dns_view_t;
typedef ISC_LIST(dns_view_t) dns_viewlist_t;
diff --git a/lib/dns/include/dns/update.h b/lib/dns/include/dns/update.h
index 2d2c491f38a3..d08bea7e0b0a 100644
--- a/lib/dns/include/dns/update.h
+++ b/lib/dns/include/dns/update.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 2015 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
@@ -59,6 +59,12 @@ dns_update_signatures(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
dns_dbversion_t *oldver, dns_dbversion_t *newver,
dns_diff_t *diff, isc_uint32_t sigvalidityinterval);
+isc_result_t
+dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
+ dns_dbversion_t *oldver, dns_dbversion_t *newver,
+ dns_diff_t *diff, isc_uint32_t sigvalidityinterval,
+ dns_update_state_t **state);
+
ISC_LANG_ENDDECLS
#endif /* DNS_UPDATE_H */
diff --git a/lib/dns/include/dns/zone.h b/lib/dns/include/dns/zone.h
index 9efa1e729767..987d06f70cec 100644
--- a/lib/dns/include/dns/zone.h
+++ b/lib/dns/include/dns/zone.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -331,6 +331,15 @@ dns_zone_asyncload(dns_zone_t *zone, dns_zt_zoneloaded_t done, void *arg);
* its first argument and 'zone' as its second. (Normally, 'arg' is
* expected to point to the zone table but is left undefined for testing
* purposes.)
+ *
+ * Require:
+ *\li 'zone' to be a valid zone.
+ *
+ * Returns:
+ *\li #ISC_R_ALREADYRUNNING
+ *\li #ISC_R_SUCCESS
+ *\li #ISC_R_FAILURE
+ *\li #ISC_R_NOMEMORY
*/
isc_boolean_t
@@ -1791,6 +1800,16 @@ dns_zone_name(dns_zone_t *zone, char *buf, size_t len);
*\li 'buf' to be non NULL.
*/
+void
+dns_zone_nameonly(dns_zone_t *zone, char *buf, size_t len);
+/*%<
+ * Return the name of the zone only.
+ *
+ * Requires:
+ *\li 'zone' to be valid.
+ *\li 'buf' to be non NULL.
+ */
+
isc_result_t
dns_zone_checknames(dns_zone_t *zone, dns_name_t *name, dns_rdata_t *rdata);
/*%<
@@ -1894,6 +1913,12 @@ dns_zone_setsignatures(dns_zone_t *zone, isc_uint32_t signatures);
* Set the number of signatures that will be generated per quantum.
*/
+isc_uint32_t
+dns_zone_getsignatures(dns_zone_t *zone);
+/*%<
+ * Get the number of signatures that will be generated per quantum.
+ */
+
isc_result_t
dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm,
isc_uint16_t keyid, isc_boolean_t deleteit);
@@ -1946,6 +1971,23 @@ dns_zone_nscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version,
* ISC_R_SUCCESS if there were no errors examining the zone contents.
*/
+isc_result_t
+dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version);
+/*%
+ * Check if CSD, CDNSKEY and DNSKEY are consistent.
+ *
+ * Requires:
+ * \li 'zone' to be valid.
+ * \li 'db' to be valid.
+ * \li 'version' to be valid or NULL.
+ *
+ * Returns:
+ *\li #ISC_R_SUCCESS
+ *\li #DNS_R_BADCDS
+ *\li #DNS_R_BADCDNSKEY
+ * Others
+ */
+
void
dns_zone_setadded(dns_zone_t *zone, isc_boolean_t added);
/*%
diff --git a/lib/dns/include/dst/dst.h b/lib/dns/include/dst/dst.h
index 1fdce4cc44d7..1497edcb6561 100644
--- a/lib/dns/include/dst/dst.h
+++ b/lib/dns/include/dst/dst.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -69,6 +69,7 @@ typedef struct dst_context dst_context_t;
#define DST_ALG_HMACSHA256 163 /* XXXMPA */
#define DST_ALG_HMACSHA384 164 /* XXXMPA */
#define DST_ALG_HMACSHA512 165 /* XXXMPA */
+#define DST_ALG_INDIRECT 252
#define DST_ALG_PRIVATE 254
#define DST_ALG_EXPAND 255
#define DST_MAX_ALGS 255
diff --git a/lib/dns/journal.c b/lib/dns/journal.c
index a21ec2e8a348..4811ebbd80b6 100644
--- a/lib/dns/journal.c
+++ b/lib/dns/journal.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2011, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -25,6 +25,7 @@
#include <isc/file.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/stdio.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -555,7 +556,7 @@ journal_file_create(isc_mem_t *mctx, const char *filename) {
}
static isc_result_t
-journal_open(isc_mem_t *mctx, const char *filename, isc_boolean_t write,
+journal_open(isc_mem_t *mctx, const char *filename, isc_boolean_t writable,
isc_boolean_t create, dns_journal_t **journalp)
{
FILE *fp = NULL;
@@ -579,7 +580,7 @@ journal_open(isc_mem_t *mctx, const char *filename, isc_boolean_t write,
if (j->filename == NULL)
FAIL(ISC_R_NOMEMORY);
- result = isc_stdio_open(j->filename, write ? "rb+" : "rb", &fp);
+ result = isc_stdio_open(j->filename, writable ? "rb+" : "rb", &fp);
if (result == ISC_R_FILENOTFOUND) {
if (create) {
@@ -669,7 +670,7 @@ journal_open(isc_mem_t *mctx, const char *filename, isc_boolean_t write,
dns_decompress_init(&j->it.dctx, -1, DNS_DECOMPRESS_NONE);
j->state =
- write ? JOURNAL_STATE_WRITE : JOURNAL_STATE_READ;
+ writable ? JOURNAL_STATE_WRITE : JOURNAL_STATE_READ;
*journalp = j;
return (ISC_R_SUCCESS);
@@ -696,12 +697,12 @@ dns_journal_open(isc_mem_t *mctx, const char *filename, unsigned int mode,
isc_result_t result;
size_t namelen;
char backup[1024];
- isc_boolean_t write, create;
+ isc_boolean_t writable, create;
create = ISC_TF(mode & DNS_JOURNAL_CREATE);
- write = ISC_TF(mode & (DNS_JOURNAL_WRITE|DNS_JOURNAL_CREATE));
+ writable = ISC_TF(mode & (DNS_JOURNAL_WRITE|DNS_JOURNAL_CREATE));
- result = journal_open(mctx, filename, write, create, journalp);
+ result = journal_open(mctx, filename, writable, create, journalp);
if (result == ISC_R_NOTFOUND) {
namelen = strlen(filename);
if (namelen > 4U && strcmp(filename + namelen - 4, ".jnl") == 0)
@@ -711,7 +712,8 @@ dns_journal_open(isc_mem_t *mctx, const char *filename, unsigned int mode,
(int)namelen, filename);
if (result != ISC_R_SUCCESS)
return (result);
- result = journal_open(mctx, backup, write, write, journalp);
+ result = journal_open(mctx, backup, writable, writable,
+ journalp);
}
return (result);
}
@@ -2110,6 +2112,8 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, isc_uint32_t serial,
char backup[1024];
isc_boolean_t is_backup = ISC_FALSE;
+ REQUIRE(filename != NULL);
+
namelen = strlen(filename);
if (namelen > 4U && strcmp(filename + namelen - 4, ".jnl") == 0)
namelen -= 4;
diff --git a/lib/dns/keytable.c b/lib/dns/keytable.c
index 29f129ffbf5f..2ed49ffd311d 100644
--- a/lib/dns/keytable.c
+++ b/lib/dns/keytable.c
@@ -22,6 +22,7 @@
#include <config.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/rwlock.h>
#include <isc/string.h> /* Required for HP/UX (and others?) */
#include <isc/util.h>
diff --git a/lib/dns/log.c b/lib/dns/log.c
index 70055aaf887b..7ebe015749b7 100644
--- a/lib/dns/log.c
+++ b/lib/dns/log.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.c,v 1.49 2011/10/13 22:48:24 tbox Exp $ */
-
/*! \file */
/* Principal Authors: DCL */
@@ -47,6 +45,7 @@ LIBDNS_EXTERNAL_DATA isc_logcategory_t dns_categories[] = {
{ "rpz", 0 },
{ "rate-limit", 0 },
{ "cname", 0 },
+ { "spill", 0 },
{ NULL, 0 }
};
diff --git a/lib/dns/master.c b/lib/dns/master.c
index 1fde70c3b6ec..4dba0d7c5558 100644
--- a/lib/dns/master.c
+++ b/lib/dns/master.c
@@ -280,7 +280,7 @@ loadctx_destroy(dns_loadctx_t *lctx);
SETRESULT(lctx, result); \
LOGIT(result); \
read_till_eol = ISC_TRUE; \
- continue; \
+ break; \
} else if (result != ISC_R_SUCCESS) \
goto log_and_cleanup; \
} \
@@ -352,7 +352,6 @@ static const dns_name_t ip6_arpa =
{NULL, NULL}
};
-
static inline isc_result_t
gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *token,
isc_boolean_t eol, dns_rdatacallbacks_t *callbacks)
@@ -860,8 +859,6 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs,
goto insist_cleanup;
}
- ISC_LIST_INIT(rdatalist.rdata);
- ISC_LINK_INIT(&rdatalist, link);
for (i = start; i <= stop; i += step) {
result = genname(lhs, i, lhsbuf, DNS_MASTER_LHS);
if (result != ISC_R_SUCCESS)
@@ -911,8 +908,8 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs,
if (result != ISC_R_SUCCESS)
goto error_cleanup;
+ dns_rdatalist_init(&rdatalist);
rdatalist.type = type;
- rdatalist.covers = 0;
rdatalist.rdclass = lctx->zclass;
rdatalist.ttl = lctx->ttl;
ISC_LIST_PREPEND(head, &rdatalist, link);
@@ -1793,6 +1790,7 @@ load_text(dns_loadctx_t *lctx) {
}
}
if (type == dns_rdatatype_ptr &&
+ !dns_name_isdnssd(name) &&
(dns_name_issubdomain(name, &in_addr_arpa) ||
dns_name_issubdomain(name, &ip6_arpa) ||
dns_name_issubdomain(name, &ip6_int)))
@@ -1950,11 +1948,11 @@ load_text(dns_loadctx_t *lctx) {
rdatalist_size += RDLSZ;
}
this = &rdatalist[rdlcount++];
+ dns_rdatalist_init(this);
this->type = type;
this->covers = covers;
this->rdclass = lctx->zclass;
this->ttl = lctx->ttl;
- ISC_LIST_INIT(this->rdata);
if (ictx->glue != NULL)
ISC_LIST_INITANDPREPEND(glue_list, this, link);
else
@@ -2200,7 +2198,6 @@ load_raw(dns_loadctx_t *lctx) {
ISC_LIST_INIT(head);
ISC_LIST_INIT(dummy);
- dns_rdatalist_init(&rdatalist);
/*
* Allocate target_size of buffer space. This is greater than twice
@@ -2291,6 +2288,7 @@ load_raw(dns_loadctx_t *lctx) {
isc_buffer_add(&target, (unsigned int)readlen);
/* Construct RRset headers */
+ dns_rdatalist_init(&rdatalist);
rdatalist.rdclass = isc_buffer_getuint16(&target);
rdatalist.type = isc_buffer_getuint16(&target);
rdatalist.covers = isc_buffer_getuint16(&target);
diff --git a/lib/dns/message.c b/lib/dns/message.c
index b95e48ea2641..cd0e89b8d20e 100644
--- a/lib/dns/message.c
+++ b/lib/dns/message.c
@@ -42,6 +42,7 @@
#include <dns/rdatastruct.h>
#include <dns/result.h>
#include <dns/tsig.h>
+#include <dns/ttl.h>
#include <dns/view.h>
#ifdef SKAN_MSG_DEBUG
@@ -329,7 +330,7 @@ newrdatalist(dns_message_t *msg) {
rdatalist = ISC_LIST_HEAD(msg->freerdatalist);
if (rdatalist != NULL) {
ISC_LIST_UNLINK(msg->freerdatalist, rdatalist, link);
- return (rdatalist);
+ goto out;
}
msgblock = ISC_LIST_TAIL(msg->rdatalists);
@@ -345,6 +346,9 @@ newrdatalist(dns_message_t *msg) {
rdatalist = msgblock_get(msgblock, dns_rdatalist_t);
}
+ out:
+ if (rdatalist != NULL)
+ dns_rdatalist_init(rdatalist);
return (rdatalist);
}
@@ -1825,9 +1829,19 @@ wrong_priority(dns_rdataset_t *rds, int pass, dns_rdatatype_t preferred_glue) {
* Decide whether to not answer with an AAAA record and its RRSIG
*/
static inline isc_boolean_t
-norender_rdataset(const dns_rdataset_t *rdataset, unsigned int options)
+norender_rdataset(const dns_rdataset_t *rdataset, unsigned int options,
+ dns_section_t sectionid)
{
+ if (sectionid == DNS_SECTION_QUESTION)
+ return (ISC_FALSE);
+
switch (rdataset->type) {
+ case dns_rdatatype_ns:
+ if ((options & DNS_MESSAGERENDER_FILTER_AAAA) == 0 ||
+ sectionid != DNS_SECTION_AUTHORITY)
+ return (ISC_FALSE);
+ break;
+
case dns_rdatatype_aaaa:
if ((options & DNS_MESSAGERENDER_FILTER_AAAA) == 0)
return (ISC_FALSE);
@@ -1835,7 +1849,11 @@ norender_rdataset(const dns_rdataset_t *rdataset, unsigned int options)
case dns_rdatatype_rrsig:
if ((options & DNS_MESSAGERENDER_FILTER_AAAA) == 0 ||
- rdataset->covers != dns_rdatatype_aaaa)
+ (rdataset->covers != dns_rdatatype_ns &&
+ rdataset->covers != dns_rdatatype_aaaa))
+ return (ISC_FALSE);
+ if ((rdataset->covers == dns_rdatatype_ns) &&
+ (sectionid != DNS_SECTION_AUTHORITY))
return (ISC_FALSE);
break;
@@ -1983,8 +2001,7 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid,
* not doing DNSSEC or are breaking DNSSEC.
* Say so in the AD bit if we break DNSSEC.
*/
- if (norender_rdataset(rdataset, options) &&
- sectionid != DNS_SECTION_QUESTION) {
+ if (norender_rdataset(rdataset, options, sectionid)) {
if (sectionid == DNS_SECTION_ANSWER ||
sectionid == DNS_SECTION_AUTHORITY)
msg->flags &= ~DNS_MESSAGEFLAG_AD;
@@ -2532,7 +2549,7 @@ dns_message_peekheader(isc_buffer_t *source, dns_messageid_t *idp,
isc_result_t
dns_message_reply(dns_message_t *msg, isc_boolean_t want_question_section) {
- unsigned int clear_after;
+ unsigned int clear_from;
isc_result_t result;
REQUIRE(DNS_MESSAGE_VALID(msg));
@@ -2544,15 +2561,15 @@ dns_message_reply(dns_message_t *msg, isc_boolean_t want_question_section) {
msg->opcode != dns_opcode_notify)
want_question_section = ISC_FALSE;
if (msg->opcode == dns_opcode_update)
- clear_after = DNS_SECTION_PREREQUISITE;
+ clear_from = DNS_SECTION_PREREQUISITE;
else if (want_question_section) {
if (!msg->question_ok)
return (DNS_R_FORMERR);
- clear_after = DNS_SECTION_ANSWER;
+ clear_from = DNS_SECTION_ANSWER;
} else
- clear_after = DNS_SECTION_QUESTION;
+ clear_from = DNS_SECTION_QUESTION;
msg->from_to_wire = DNS_MESSAGE_INTENTRENDER;
- msgresetnames(msg, clear_after);
+ msgresetnames(msg, clear_from);
msgresetopt(msg);
msgresetsigs(msg, ISC_TRUE);
msginitprivate(msg);
@@ -2752,7 +2769,6 @@ dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig) {
dns_rdata_init(rdata);
dns_rdata_fromregion(rdata, dns_rdataclass_any, dns_rdatatype_tsig, &r);
dns_message_takebuffer(msg, &buf);
- ISC_LIST_INIT(list->rdata);
ISC_LIST_APPEND(list->rdata, rdata, link);
result = dns_rdatalist_tordataset(list, set);
if (result != ISC_R_SUCCESS)
@@ -3264,6 +3280,21 @@ dns_message_pseudosectiontotext(dns_message_t *msg,
if (optcode == DNS_OPT_NSID) {
ADD_STRING(target, "; NSID");
+ } else if (optcode == DNS_OPT_COOKIE) {
+ ADD_STRING(target, "; COOKIE");
+ } else if (optcode == DNS_OPT_EXPIRE) {
+ if (optlen == 4) {
+ isc_uint32_t secs;
+ secs = isc_buffer_getuint32(&optbuf);
+ ADD_STRING(target, "; EXPIRE: ");
+ snprintf(buf, sizeof(buf), "%u", secs);
+ ADD_STRING(target, buf);
+ ADD_STRING(target, " (");
+ dns_ttl_totext(secs, ISC_TRUE, target);
+ ADD_STRING(target, ")\n");
+ continue;
+ }
+ ADD_STRING(target, "; EXPIRE");
} else {
ADD_STRING(target, "; OPT=");
snprintf(buf, sizeof(buf), "%u", optcode);
@@ -3276,10 +3307,31 @@ dns_message_pseudosectiontotext(dns_message_t *msg,
optdata = isc_buffer_current(&optbuf);
for (i = 0; i < optlen; i++) {
- sprintf(buf, "%02x ", optdata[i]);
+ const char *sep;
+ switch (optcode) {
+ case DNS_OPT_COOKIE:
+ sep = "";
+ break;
+ default:
+ sep = " ";
+ break;
+ }
+ snprintf(buf, sizeof(buf), "%02x%s",
+ optdata[i], sep);
ADD_STRING(target, buf);
}
+ isc_buffer_forward(&optbuf, optlen);
+
+ if (optcode == DNS_OPT_COOKIE) {
+ ADD_STRING(target, "\n");
+ continue;
+ }
+
+ /*
+ * For non-COOKIE options, add a printable
+ * version
+ */
for (i = 0; i < optlen; i++) {
ADD_STRING(target, " (");
if (!isc_buffer_availablelength(target))
@@ -3292,7 +3344,6 @@ dns_message_pseudosectiontotext(dns_message_t *msg,
isc_buffer_putstr(target, ".");
ADD_STRING(target, ")");
}
- isc_buffer_forward(&optbuf, optlen);
}
ADD_STRING(target, "\n");
}
@@ -3497,7 +3548,6 @@ dns_message_buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp,
dns_rdataset_init(rdataset);
rdatalist->type = dns_rdatatype_opt;
- rdatalist->covers = 0;
/*
* Set Maximum UDP buffer size.
@@ -3545,7 +3595,6 @@ dns_message_buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp,
rdata->type = rdatalist->type;
rdata->flags = 0;
- ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
result = dns_rdatalist_tordataset(rdatalist, rdataset);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
diff --git a/lib/dns/name.c b/lib/dns/name.c
index 3b7ff3f962bf..6db373c03b0e 100644
--- a/lib/dns/name.c
+++ b/lib/dns/name.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -2114,11 +2114,9 @@ dns_name_split(dns_name_t *name, unsigned int suffixlabels,
REQUIRE(prefix != NULL || suffix != NULL);
REQUIRE(prefix == NULL ||
(VALID_NAME(prefix) &&
- prefix->buffer != NULL &&
BINDABLE(prefix)));
REQUIRE(suffix == NULL ||
(VALID_NAME(suffix) &&
- suffix->buffer != NULL &&
BINDABLE(suffix)));
splitlabel = name->labels - suffixlabels;
@@ -2387,6 +2385,8 @@ dns_name_tostring(dns_name_t *name, char **target, isc_mem_t *mctx) {
isc_buffer_usedregion(&buf, &reg);
p = isc_mem_allocate(mctx, reg.length + 1);
+ if (p == NULL)
+ return (ISC_R_NOMEMORY);
memmove(p, (char *) reg.base, (int) reg.length);
p[reg.length] = '\0';
@@ -2501,3 +2501,76 @@ dns_name_destroy(void) {
#endif
}
+
+/*
+ * Service Discovery Prefixes RFC 6763.
+ */
+static unsigned char b_dns_sd_udp_data[] = "\001b\007_dns-sd\004_udp";
+static unsigned char b_dns_sd_udp_offsets[] = { 0, 2, 10 };
+static unsigned char db_dns_sd_udp_data[] = "\002db\007_dns-sd\004_udp";
+static unsigned char db_dns_sd_udp_offsets[] = { 0, 3, 11 };
+static unsigned char r_dns_sd_udp_data[] = "\001r\007_dns-sd\004_udp";
+static unsigned char r_dns_sd_udp_offsets[] = { 0, 2, 10 };
+static unsigned char dr_dns_sd_udp_data[] = "\002dr\007_dns-sd\004_udp";
+static unsigned char dr_dns_sd_udp_offsets[] = { 0, 3, 11 };
+static unsigned char lb_dns_sd_udp_data[] = "\002lb\007_dns-sd\004_udp";
+static unsigned char lb_dns_sd_udp_offsets[] = { 0, 3, 11 };
+
+static const dns_name_t dns_sd[] = {
+ {
+ DNS_NAME_MAGIC,
+ b_dns_sd_udp_data, 15, 3,
+ DNS_NAMEATTR_READONLY,
+ b_dns_sd_udp_offsets, NULL,
+ {(void *)-1, (void *)-1},
+ {NULL, NULL}
+ },
+ {
+ DNS_NAME_MAGIC,
+ db_dns_sd_udp_data, 16, 3,
+ DNS_NAMEATTR_READONLY,
+ db_dns_sd_udp_offsets, NULL,
+ {(void *)-1, (void *)-1},
+ {NULL, NULL}
+ },
+ {
+ DNS_NAME_MAGIC,
+ r_dns_sd_udp_data, 15, 3,
+ DNS_NAMEATTR_READONLY,
+ r_dns_sd_udp_offsets, NULL,
+ {(void *)-1, (void *)-1},
+ {NULL, NULL}
+ },
+ {
+ DNS_NAME_MAGIC,
+ dr_dns_sd_udp_data, 16, 3,
+ DNS_NAMEATTR_READONLY,
+ dr_dns_sd_udp_offsets, NULL,
+ {(void *)-1, (void *)-1},
+ {NULL, NULL}
+ },
+ {
+ DNS_NAME_MAGIC,
+ lb_dns_sd_udp_data, 16, 3,
+ DNS_NAMEATTR_READONLY,
+ lb_dns_sd_udp_offsets, NULL,
+ {(void *)-1, (void *)-1},
+ {NULL, NULL}
+ }
+};
+
+isc_boolean_t
+dns_name_isdnssd(const dns_name_t *name) {
+ size_t i;
+ dns_name_t prefix;
+
+ if (dns_name_countlabels(name) > 3U) {
+ dns_name_init(&prefix, NULL);
+ dns_name_getlabelsequence(name, 0, 3, &prefix);
+ for (i = 0; i < (sizeof(dns_sd)/sizeof(dns_sd[0])); i++)
+ if (dns_name_equal(&prefix, &dns_sd[i]))
+ return (ISC_TRUE);
+ }
+
+ return (ISC_FALSE);
+}
diff --git a/lib/dns/ncache.c b/lib/dns/ncache.c
index bcb3d057898d..013cba8a21c6 100644
--- a/lib/dns/ncache.c
+++ b/lib/dns/ncache.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2008, 2010-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2008, 2010-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -151,12 +151,10 @@ addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node,
/*
* Initialize the list.
*/
+ dns_rdatalist_init(&ncrdatalist);
ncrdatalist.rdclass = dns_db_class(cache);
- ncrdatalist.type = 0;
ncrdatalist.covers = covers;
ncrdatalist.ttl = maxttl;
- ISC_LIST_INIT(ncrdatalist.rdata);
- ISC_LINK_INIT(&ncrdatalist, link);
/*
* Build an ncache rdatas into buffer.
@@ -614,13 +612,11 @@ dns_ncache_getsigrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name,
dns_name_fromregion(&tname, &remaining);
INSIST(remaining.length >= tname.length);
isc_buffer_forward(&source, tname.length);
- remaining.length -= tname.length;
- remaining.base += tname.length;
+ isc_region_consume(&remaining, tname.length);
INSIST(remaining.length >= 2);
type = isc_buffer_getuint16(&source);
- remaining.length -= 2;
- remaining.base += 2;
+ isc_region_consume(&remaining, 2);
if (type != dns_rdatatype_rrsig ||
!dns_name_equal(&tname, name)) {
@@ -632,8 +628,7 @@ dns_ncache_getsigrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name,
INSIST(remaining.length >= 1);
trust = isc_buffer_getuint8(&source);
INSIST(trust <= dns_trust_ultimate);
- remaining.length -= 1;
- remaining.base += 1;
+ isc_region_consume(&remaining, 1);
raw = remaining.base;
count = raw[0] * 256 + raw[1];
diff --git a/lib/dns/nsec.c b/lib/dns/nsec.c
index 6183ef281c02..f04a4c1ce454 100644
--- a/lib/dns/nsec.c
+++ b/lib/dns/nsec.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -189,11 +189,10 @@ dns_nsec_build(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node,
RETERR(dns_nsec_buildrdata(db, version, node, target, data, &rdata));
+ dns_rdatalist_init(&rdatalist);
rdatalist.rdclass = dns_db_class(db);
rdatalist.type = dns_rdatatype_nsec;
- rdatalist.covers = 0;
rdatalist.ttl = ttl;
- ISC_LIST_INIT(rdatalist.rdata);
ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
RETERR(dns_rdatalist_tordataset(&rdatalist, &rdataset));
result = dns_db_addrdataset(db, node, version, 0, &rdataset,
diff --git a/lib/dns/nsec3.c b/lib/dns/nsec3.c
index 11ae837a54a8..74ab9ddf6497 100644
--- a/lib/dns/nsec3.c
+++ b/lib/dns/nsec3.c
@@ -25,6 +25,7 @@
#include <isc/log.h>
#include <isc/string.h>
#include <isc/util.h>
+#include <isc/safe.h>
#include <dst/dst.h>
@@ -1929,7 +1930,7 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, dns_name_t* name,
* Work out what this NSEC3 covers.
* Inside (<0) or outside (>=0).
*/
- scope = memcmp(owner, nsec3.next, nsec3.next_length);
+ scope = isc_safe_memcompare(owner, nsec3.next, nsec3.next_length);
/*
* Prepare to compute all the hashes.
@@ -1954,7 +1955,7 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, dns_name_t* name,
return (ISC_R_IGNORE);
}
- order = memcmp(hash, owner, length);
+ order = isc_safe_memcompare(hash, owner, length);
if (first && order == 0) {
/*
* The hashes are the same.
diff --git a/lib/dns/openssl_link.c b/lib/dns/openssl_link.c
index a0a2724f41c1..8683bee4d60e 100644
--- a/lib/dns/openssl_link.c
+++ b/lib/dns/openssl_link.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2012, 2014, 2015 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
@@ -88,6 +88,7 @@ entropy_getpseudo(unsigned char *buf, int num) {
return (result == ISC_R_SUCCESS ? 1 : -1);
}
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
static void
entropy_add(const void *buf, int num, double entropy) {
/*
@@ -97,6 +98,18 @@ entropy_add(const void *buf, int num, double entropy) {
UNUSED(num);
UNUSED(entropy);
}
+#else
+static int
+entropy_add(const void *buf, int num, double entropy) {
+ /*
+ * Do nothing. The only call to this provides no useful data anyway.
+ */
+ UNUSED(buf);
+ UNUSED(num);
+ UNUSED(entropy);
+ return (1);
+}
+#endif
static void
lock_callback(int mode, int type, const char *file, int line) {
@@ -108,10 +121,12 @@ lock_callback(int mode, int type, const char *file, int line) {
UNLOCK(&locks[type]);
}
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
static unsigned long
id_callback(void) {
return ((unsigned long)isc_thread_self());
}
+#endif
static void *
mem_alloc(size_t size) {
@@ -172,7 +187,9 @@ dst__openssl_init(const char *engine) {
if (result != ISC_R_SUCCESS)
goto cleanup_mutexalloc;
CRYPTO_set_locking_callback(lock_callback);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
CRYPTO_set_id_callback(id_callback);
+#endif
ERR_load_crypto_strings();
@@ -270,7 +287,9 @@ dst__openssl_destroy(void) {
CRYPTO_cleanup_all_ex_data();
#endif
ERR_clear_error();
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
ERR_remove_state(0);
+#endif
ERR_free_strings();
#ifdef DNS_CRYPTO_LEAKS
diff --git a/lib/dns/openssldh_link.c b/lib/dns/openssldh_link.c
index 953e8fd50e4a..4d77c5bf164f 100644
--- a/lib/dns/openssldh_link.c
+++ b/lib/dns/openssldh_link.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -71,7 +71,7 @@
static isc_result_t openssldh_todns(const dst_key_t *key, isc_buffer_t *data);
-static BIGNUM bn2, bn768, bn1024, bn1536;
+static BIGNUM *bn2, *bn768, *bn1024, *bn1536;
static isc_result_t
openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv,
@@ -161,7 +161,7 @@ progress_cb(int p, int n, BN_GENCB *cb)
UNUSED(n);
- u.dptr = cb->arg;
+ u.dptr = BN_GENCB_get_arg(cb);
if (u.fptr != NULL)
u.fptr(p);
return (1);
@@ -172,7 +172,10 @@ static isc_result_t
openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
DH *dh = NULL;
#if OPENSSL_VERSION_NUMBER > 0x00908000L
- BN_GENCB cb;
+ BN_GENCB *cb;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ BN_GENCB _cb;
+#endif
union {
void *dptr;
void (*fptr)(int);
@@ -191,12 +194,12 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
if (dh == NULL)
return (dst__openssl_toresult(ISC_R_NOMEMORY));
if (key->key_size == 768)
- dh->p = &bn768;
+ dh->p = bn768;
else if (key->key_size == 1024)
- dh->p = &bn1024;
+ dh->p = bn1024;
else
- dh->p = &bn1536;
- dh->g = &bn2;
+ dh->p = bn1536;
+ dh->g = bn2;
} else
generator = 2;
}
@@ -206,31 +209,39 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
dh = DH_new();
if (dh == NULL)
return (dst__openssl_toresult(ISC_R_NOMEMORY));
-
+ cb = BN_GENCB_new();
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+ if (cb == NULL) {
+ DH_free(dh);
+ return (dst__openssl_toresult(ISC_R_NOMEMORY));
+ }
+#endif
if (callback == NULL) {
- BN_GENCB_set_old(&cb, NULL, NULL);
+ BN_GENCB_set_old(cb, NULL, NULL);
} else {
u.fptr = callback;
- BN_GENCB_set(&cb, &progress_cb, u.dptr);
+ BN_GENCB_set(cb, &progress_cb, u.dptr);
}
if (!DH_generate_parameters_ex(dh, key->key_size, generator,
- &cb)) {
+ cb)) {
DH_free(dh);
+ BN_GENCB_free(cb);
return (dst__openssl_toresult2(
"DH_generate_parameters_ex",
DST_R_OPENSSLFAILURE));
}
+ BN_GENCB_free(cb);
#else
dh = DH_generate_parameters(key->key_size, generator,
NULL, NULL);
+ if (dh == NULL)
+ return (dst__openssl_toresult2(
+ "DH_generate_parameters",
+ DST_R_OPENSSLFAILURE));
#endif
}
- if (dh == NULL)
- return (dst__openssl_toresult2("DH_generate_parameters",
- DST_R_OPENSSLFAILURE));
-
if (DH_generate_key(dh) == 0) {
DH_free(dh);
return (dst__openssl_toresult2("DH_generate_key",
@@ -256,9 +267,9 @@ openssldh_destroy(dst_key_t *key) {
if (dh == NULL)
return;
- if (dh->p == &bn768 || dh->p == &bn1024 || dh->p == &bn1536)
+ if (dh->p == bn768 || dh->p == bn1024 || dh->p == bn1536)
dh->p = NULL;
- if (dh->g == &bn2)
+ if (dh->g == bn2)
dh->g = NULL;
DH_free(dh);
key->keydata.dh = NULL;
@@ -266,8 +277,10 @@ openssldh_destroy(dst_key_t *key) {
static void
uint16_toregion(isc_uint16_t val, isc_region_t *region) {
- *region->base++ = (val & 0xff00) >> 8;
- *region->base++ = (val & 0x00ff);
+ *region->base = (val & 0xff00) >> 8;
+ isc_region_consume(region, 1);
+ *region->base = (val & 0x00ff);
+ isc_region_consume(region, 1);
}
static isc_uint16_t
@@ -278,7 +291,8 @@ uint16_fromregion(isc_region_t *region) {
val = ((unsigned int)(cp[0])) << 8;
val |= ((unsigned int)(cp[1]));
- region->base += 2;
+ isc_region_consume(region, 2);
+
return (val);
}
@@ -294,8 +308,8 @@ openssldh_todns(const dst_key_t *key, isc_buffer_t *data) {
isc_buffer_availableregion(data, &r);
- if (dh->g == &bn2 &&
- (dh->p == &bn768 || dh->p == &bn1024 || dh->p == &bn1536)) {
+ if (dh->g == bn2 &&
+ (dh->p == bn768 || dh->p == bn1024 || dh->p == bn1536)) {
plen = 1;
glen = 0;
}
@@ -310,25 +324,25 @@ openssldh_todns(const dst_key_t *key, isc_buffer_t *data) {
uint16_toregion(plen, &r);
if (plen == 1) {
- if (dh->p == &bn768)
+ if (dh->p == bn768)
*r.base = 1;
- else if (dh->p == &bn1024)
+ else if (dh->p == bn1024)
*r.base = 2;
else
*r.base = 3;
}
else
BN_bn2bin(dh->p, r.base);
- r.base += plen;
+ isc_region_consume(&r, plen);
uint16_toregion(glen, &r);
if (glen > 0)
BN_bn2bin(dh->g, r.base);
- r.base += glen;
+ isc_region_consume(&r, glen);
uint16_toregion(publen, &r);
BN_bn2bin(dh->pub_key, r.base);
- r.base += publen;
+ isc_region_consume(&r, publen);
isc_buffer_add(data, dnslen);
@@ -369,28 +383,29 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) {
return (DST_R_INVALIDPUBLICKEY);
}
if (plen == 1 || plen == 2) {
- if (plen == 1)
- special = *r.base++;
- else
+ if (plen == 1) {
+ special = *r.base;
+ isc_region_consume(&r, 1);
+ } else {
special = uint16_fromregion(&r);
+ }
switch (special) {
case 1:
- dh->p = &bn768;
+ dh->p = bn768;
break;
case 2:
- dh->p = &bn1024;
+ dh->p = bn1024;
break;
case 3:
- dh->p = &bn1536;
+ dh->p = bn1536;
break;
default:
DH_free(dh);
return (DST_R_INVALIDPUBLICKEY);
}
- }
- else {
+ } else {
dh->p = BN_bin2bn(r.base, plen, NULL);
- r.base += plen;
+ isc_region_consume(&r, plen);
}
/*
@@ -409,27 +424,26 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) {
}
if (special != 0) {
if (glen == 0)
- dh->g = &bn2;
+ dh->g = bn2;
else {
dh->g = BN_bin2bn(r.base, glen, NULL);
- if (BN_cmp(dh->g, &bn2) == 0) {
+ if (BN_cmp(dh->g, bn2) == 0) {
BN_free(dh->g);
- dh->g = &bn2;
+ dh->g = bn2;
}
else {
DH_free(dh);
return (DST_R_INVALIDPUBLICKEY);
}
}
- }
- else {
+ } else {
if (glen == 0) {
DH_free(dh);
return (DST_R_INVALIDPUBLICKEY);
}
dh->g = BN_bin2bn(r.base, glen, NULL);
}
- r.base += glen;
+ isc_region_consume(&r, glen);
if (r.length < 2) {
DH_free(dh);
@@ -441,7 +455,7 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) {
return (DST_R_INVALIDPUBLICKEY);
}
dh->pub_key = BN_bin2bn(r.base, publen, NULL);
- r.base += publen;
+ isc_region_consume(&r, publen);
key->key_size = BN_num_bits(dh->p);
@@ -563,25 +577,25 @@ openssldh_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
if ((key->key_size == 768 ||
key->key_size == 1024 ||
key->key_size == 1536) &&
- BN_cmp(dh->g, &bn2) == 0)
+ BN_cmp(dh->g, bn2) == 0)
{
- if (key->key_size == 768 && BN_cmp(dh->p, &bn768) == 0) {
+ if (key->key_size == 768 && BN_cmp(dh->p, bn768) == 0) {
BN_free(dh->p);
BN_free(dh->g);
- dh->p = &bn768;
- dh->g = &bn2;
+ dh->p = bn768;
+ dh->g = bn2;
} else if (key->key_size == 1024 &&
- BN_cmp(dh->p, &bn1024) == 0) {
+ BN_cmp(dh->p, bn1024) == 0) {
BN_free(dh->p);
BN_free(dh->g);
- dh->p = &bn1024;
- dh->g = &bn2;
+ dh->p = bn1024;
+ dh->g = bn2;
} else if (key->key_size == 1536 &&
- BN_cmp(dh->p, &bn1536) == 0) {
+ BN_cmp(dh->p, bn1536) == 0) {
BN_free(dh->p);
BN_free(dh->g);
- dh->p = &bn1536;
- dh->g = &bn2;
+ dh->p = bn1536;
+ dh->g = bn2;
}
}
@@ -622,10 +636,10 @@ BN_fromhex(BIGNUM *b, const char *str) {
static void
openssldh_cleanup(void) {
- BN_free(&bn2);
- BN_free(&bn768);
- BN_free(&bn1024);
- BN_free(&bn1536);
+ BN_free(bn2);
+ BN_free(bn768);
+ BN_free(bn1024);
+ BN_free(bn1536);
}
static dst_func_t openssldh_functions = {
@@ -655,17 +669,27 @@ isc_result_t
dst__openssldh_init(dst_func_t **funcp) {
REQUIRE(funcp != NULL);
if (*funcp == NULL) {
- BN_init(&bn2);
- BN_init(&bn768);
- BN_init(&bn1024);
- BN_init(&bn1536);
- BN_set_word(&bn2, 2);
- BN_fromhex(&bn768, PRIME768);
- BN_fromhex(&bn1024, PRIME1024);
- BN_fromhex(&bn1536, PRIME1536);
+ bn2 = BN_new();
+ bn768 = BN_new();
+ bn1024 = BN_new();
+ bn1536 = BN_new();
+ if (bn2 == NULL || bn768 == NULL ||
+ bn1024 == NULL || bn1536 == NULL)
+ goto cleanup;
+ BN_set_word(bn2, 2);
+ BN_fromhex(bn768, PRIME768);
+ BN_fromhex(bn1024, PRIME1024);
+ BN_fromhex(bn1536, PRIME1536);
*funcp = &openssldh_functions;
}
return (ISC_R_SUCCESS);
+
+ cleanup:
+ if (bn2 != NULL) BN_free(bn2);
+ if (bn768 != NULL) BN_free(bn768);
+ if (bn1024 != NULL) BN_free(bn1024);
+ if (bn1536 != NULL) BN_free(bn1536);
+ return (ISC_R_NOMEMORY);
}
#else /* OPENSSL */
diff --git a/lib/dns/openssldsa_link.c b/lib/dns/openssldsa_link.c
index 61e64db0d4a5..34348f07767f 100644
--- a/lib/dns/openssldsa_link.c
+++ b/lib/dns/openssldsa_link.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2009, 2011-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2009, 2011-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -29,8 +29,6 @@
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
#ifdef OPENSSL
#ifndef USE_EVP
#define USE_EVP 1
@@ -137,6 +135,7 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
DSA *dsa = key->keydata.dsa;
isc_region_t r;
DSA_SIG *dsasig;
+ unsigned int klen;
#if USE_EVP
EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx;
EVP_PKEY *pkey;
@@ -188,6 +187,7 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
ISC_R_FAILURE));
}
free(sigbuf);
+
#elif 0
/* Only use EVP for the Digest */
if (!EVP_DigestFinal_ex(evp_md_ctx, digest, &siglen)) {
@@ -209,11 +209,17 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
"DSA_do_sign",
DST_R_SIGNFAILURE));
#endif
- *r.base++ = (key->key_size - 512)/64;
+
+ klen = (key->key_size - 512)/64;
+ if (klen > 255)
+ return (ISC_R_FAILURE);
+ *r.base = klen;
+ isc_region_consume(&r, 1);
+
BN_bn2bin_fixed(dsasig->r, r.base, ISC_SHA1_DIGESTLENGTH);
- r.base += ISC_SHA1_DIGESTLENGTH;
+ isc_region_consume(&r, ISC_SHA1_DIGESTLENGTH);
BN_bn2bin_fixed(dsasig->s, r.base, ISC_SHA1_DIGESTLENGTH);
- r.base += ISC_SHA1_DIGESTLENGTH;
+ isc_region_consume(&r, ISC_SHA1_DIGESTLENGTH);
DSA_SIG_free(dsasig);
isc_buffer_add(sig, ISC_SHA1_DIGESTLENGTH * 2 + 1);
@@ -339,7 +345,7 @@ progress_cb(int p, int n, BN_GENCB *cb)
UNUSED(n);
- u.dptr = cb->arg;
+ u.dptr = BN_GENCB_get_arg(cb);
if (u.fptr != NULL)
u.fptr(p);
return (1);
@@ -352,7 +358,10 @@ openssldsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
unsigned char rand_array[ISC_SHA1_DIGESTLENGTH];
isc_result_t result;
#if OPENSSL_VERSION_NUMBER > 0x00908000L
- BN_GENCB cb;
+ BN_GENCB *cb;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ BN_GENCB _cb;
+#endif
union {
void *dptr;
void (*fptr)(int);
@@ -373,22 +382,30 @@ openssldsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
dsa = DSA_new();
if (dsa == NULL)
return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
-
+ cb = BN_GENCB_new();
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+ if (cb == NULL) {
+ DSA_free(dsa);
+ return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ }
+#endif
if (callback == NULL) {
- BN_GENCB_set_old(&cb, NULL, NULL);
+ BN_GENCB_set_old(cb, NULL, NULL);
} else {
u.fptr = callback;
- BN_GENCB_set(&cb, &progress_cb, u.dptr);
+ BN_GENCB_set(cb, &progress_cb, u.dptr);
}
if (!DSA_generate_parameters_ex(dsa, key->key_size, rand_array,
ISC_SHA1_DIGESTLENGTH, NULL, NULL,
- &cb))
+ cb))
{
DSA_free(dsa);
+ BN_GENCB_free(cb);
return (dst__openssl_toresult2("DSA_generate_parameters_ex",
DST_R_OPENSSLFAILURE));
}
+ BN_GENCB_free(cb);
#else
dsa = DSA_generate_parameters(key->key_size, rand_array,
ISC_SHA1_DIGESTLENGTH, NULL, NULL,
@@ -446,15 +463,16 @@ openssldsa_todns(const dst_key_t *key, isc_buffer_t *data) {
if (r.length < (unsigned int) dnslen)
return (ISC_R_NOSPACE);
- *r.base++ = t;
+ *r.base = t;
+ isc_region_consume(&r, 1);
BN_bn2bin_fixed(dsa->q, r.base, ISC_SHA1_DIGESTLENGTH);
- r.base += ISC_SHA1_DIGESTLENGTH;
+ isc_region_consume(&r, ISC_SHA1_DIGESTLENGTH);
BN_bn2bin_fixed(dsa->p, r.base, key->key_size/8);
- r.base += p_bytes;
+ isc_region_consume(&r, p_bytes);
BN_bn2bin_fixed(dsa->g, r.base, key->key_size/8);
- r.base += p_bytes;
+ isc_region_consume(&r, p_bytes);
BN_bn2bin_fixed(dsa->pub_key, r.base, key->key_size/8);
- r.base += p_bytes;
+ isc_region_consume(&r, p_bytes);
isc_buffer_add(data, dnslen);
@@ -479,29 +497,30 @@ openssldsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
return (ISC_R_NOMEMORY);
dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
- t = (unsigned int) *r.base++;
+ t = (unsigned int) *r.base;
+ isc_region_consume(&r, 1);
if (t > 8) {
DSA_free(dsa);
return (DST_R_INVALIDPUBLICKEY);
}
p_bytes = 64 + 8 * t;
- if (r.length < 1 + ISC_SHA1_DIGESTLENGTH + 3 * p_bytes) {
+ if (r.length < ISC_SHA1_DIGESTLENGTH + 3 * p_bytes) {
DSA_free(dsa);
return (DST_R_INVALIDPUBLICKEY);
}
dsa->q = BN_bin2bn(r.base, ISC_SHA1_DIGESTLENGTH, NULL);
- r.base += ISC_SHA1_DIGESTLENGTH;
+ isc_region_consume(&r, ISC_SHA1_DIGESTLENGTH);
dsa->p = BN_bin2bn(r.base, p_bytes, NULL);
- r.base += p_bytes;
+ isc_region_consume(&r, p_bytes);
dsa->g = BN_bin2bn(r.base, p_bytes, NULL);
- r.base += p_bytes;
+ isc_region_consume(&r, p_bytes);
dsa->pub_key = BN_bin2bn(r.base, p_bytes, NULL);
- r.base += p_bytes;
+ isc_region_consume(&r, p_bytes);
key->key_size = p_bytes * 8;
diff --git a/lib/dns/opensslecdsa_link.c b/lib/dns/opensslecdsa_link.c
index 34f8ba03b092..7a6f69bca00a 100644
--- a/lib/dns/opensslecdsa_link.c
+++ b/lib/dns/opensslecdsa_link.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012-2015 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
@@ -14,8 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
#include <config.h>
#ifdef HAVE_OPENSSL_ECDSA
@@ -159,9 +157,9 @@ opensslecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
"ECDSA_do_sign",
DST_R_SIGNFAILURE));
BN_bn2bin_fixed(ecdsasig->r, r.base, siglen / 2);
- r.base += siglen / 2;
+ isc_region_consume(&r, siglen / 2);
BN_bn2bin_fixed(ecdsasig->s, r.base, siglen / 2);
- r.base += siglen / 2;
+ isc_region_consume(&r, siglen / 2);
ECDSA_SIG_free(ecdsasig);
isc_buffer_add(sig, siglen);
ret = ISC_R_SUCCESS;
diff --git a/lib/dns/opensslgost_link.c b/lib/dns/opensslgost_link.c
index a01e9f32bb25..dd421b8ddd9f 100644
--- a/lib/dns/opensslgost_link.c
+++ b/lib/dns/opensslgost_link.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2010-2015 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
@@ -14,14 +14,13 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: opensslgost_link.c,v 1.5 2011/01/19 23:47:12 tbox Exp $ */
-
#include <config.h>
#ifdef HAVE_OPENSSL_GOST
#include <isc/entropy.h>
#include <isc/mem.h>
+#include <isc/safe.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -253,7 +252,7 @@ opensslgost_todns(const dst_key_t *key, isc_buffer_t *data) {
p = der;
len = i2d_PUBKEY(pkey, &p);
INSIST(len == sizeof(der));
- INSIST(memcmp(gost_prefix, der, 37) == 0);
+ INSIST(isc_safe_memequal(gost_prefix, der, 37));
memmove(r.base, der + 37, 64);
isc_buffer_add(data, 64);
diff --git a/lib/dns/opensslrsa_link.c b/lib/dns/opensslrsa_link.c
index 8421c640708a..624b082fb00f 100644
--- a/lib/dns/opensslrsa_link.c
+++ b/lib/dns/opensslrsa_link.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -33,9 +33,10 @@
#include <isc/entropy.h>
#include <isc/md5.h>
+#include <isc/mem.h>
+#include <isc/safe.h>
#include <isc/sha1.h>
#include <isc/sha2.h>
-#include <isc/mem.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -650,9 +651,10 @@ opensslrsa_verify2(dst_context_t *dctx, int maxbits, const isc_region_t *sig) {
DST_R_VERIFYFAILURE));
if (status != (int)(prefixlen + digestlen))
return (DST_R_VERIFYFAILURE);
- if (memcmp(original, prefix, prefixlen))
+ if (!isc_safe_memequal(original, prefix, prefixlen))
return (DST_R_VERIFYFAILURE);
- if (memcmp(original + prefixlen, digest, digestlen))
+ if (!isc_safe_memequal(original + prefixlen,
+ digest, digestlen))
return (DST_R_VERIFYFAILURE);
status = 1;
}
@@ -753,7 +755,7 @@ progress_cb(int p, int n, BN_GENCB *cb)
UNUSED(n);
- u.dptr = cb->arg;
+ u.dptr = BN_GENCB_get_arg(cb);
if (u.fptr != NULL)
u.fptr(p);
return (1);
@@ -764,18 +766,21 @@ static isc_result_t
opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
#if OPENSSL_VERSION_NUMBER > 0x00908000L
isc_result_t ret = DST_R_OPENSSLFAILURE;
- BN_GENCB cb;
union {
void *dptr;
void (*fptr)(int);
} u;
RSA *rsa = RSA_new();
BIGNUM *e = BN_new();
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ BN_GENCB _cb;
+#endif
+ BN_GENCB *cb = BN_GENCB_new();
#if USE_EVP
EVP_PKEY *pkey = EVP_PKEY_new();
#endif
- if (rsa == NULL || e == NULL)
+ if (rsa == NULL || e == NULL || cb == NULL)
goto err;
#if USE_EVP
if (pkey == NULL)
@@ -795,14 +800,15 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
}
if (callback == NULL) {
- BN_GENCB_set_old(&cb, NULL, NULL);
+ BN_GENCB_set_old(cb, NULL, NULL);
} else {
u.fptr = callback;
- BN_GENCB_set(&cb, &progress_cb, u.dptr);
+ BN_GENCB_set(cb, &progress_cb, u.dptr);
}
- if (RSA_generate_key_ex(rsa, key->key_size, e, &cb)) {
+ if (RSA_generate_key_ex(rsa, key->key_size, e, cb)) {
BN_free(e);
+ BN_GENCB_free(cb);
SET_FLAGS(rsa);
#if USE_EVP
key->keydata.pkey = pkey;
@@ -813,6 +819,7 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
#endif
return (ISC_R_SUCCESS);
}
+ BN_GENCB_free(cb);
ret = dst__openssl_toresult2("RSA_generate_key_ex",
DST_R_OPENSSLFAILURE);
@@ -825,6 +832,8 @@ err:
BN_free(e);
if (rsa != NULL)
RSA_free(rsa);
+ if (cb != NULL)
+ BN_GENCB_free(cb);
return (dst__openssl_toresult(ret));
#else
RSA *rsa;
@@ -965,6 +974,7 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
RSA *rsa;
isc_region_t r;
unsigned int e_bytes;
+ unsigned int length;
#if USE_EVP
EVP_PKEY *pkey;
#endif
@@ -972,6 +982,7 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
isc_buffer_remainingregion(data, &r);
if (r.length == 0)
return (ISC_R_SUCCESS);
+ length = r.length;
rsa = RSA_new();
if (rsa == NULL)
@@ -982,17 +993,18 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
RSA_free(rsa);
return (DST_R_INVALIDPUBLICKEY);
}
- e_bytes = *r.base++;
- r.length--;
+ e_bytes = *r.base;
+ isc_region_consume(&r, 1);
if (e_bytes == 0) {
if (r.length < 2) {
RSA_free(rsa);
return (DST_R_INVALIDPUBLICKEY);
}
- e_bytes = ((*r.base++) << 8);
- e_bytes += *r.base++;
- r.length -= 2;
+ e_bytes = (*r.base) << 8;
+ isc_region_consume(&r, 1);
+ e_bytes += *r.base;
+ isc_region_consume(&r, 1);
}
if (r.length < e_bytes) {
@@ -1000,14 +1012,13 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
return (DST_R_INVALIDPUBLICKEY);
}
rsa->e = BN_bin2bn(r.base, e_bytes, NULL);
- r.base += e_bytes;
- r.length -= e_bytes;
+ isc_region_consume(&r, e_bytes);
rsa->n = BN_bin2bn(r.base, r.length, NULL);
key->key_size = BN_num_bits(rsa->n);
- isc_buffer_forward(data, r.length);
+ isc_buffer_forward(data, length);
#if USE_EVP
pkey = EVP_PKEY_new();
@@ -1375,12 +1386,21 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
isc_result_t ret;
EVP_PKEY *pkey = NULL;
RSA *rsa = NULL, *pubrsa = NULL;
- char *colon;
+ char *colon, *tmpengine = NULL;
UNUSED(pin);
- if (engine == NULL)
- DST_RET(DST_R_NOENGINE);
+ if (engine == NULL) {
+ colon = strchr(label, ':');
+ if (colon == NULL)
+ DST_RET(DST_R_NOENGINE);
+ tmpengine = isc_mem_strdup(key->mctx, label);
+ if (tmpengine == NULL)
+ DST_RET(ISC_R_NOMEMORY);
+ colon = strchr(tmpengine, ':');
+ INSIST(colon != NULL);
+ *colon = '\0';
+ }
e = dst__openssl_getengine(engine);
if (e == NULL)
DST_RET(DST_R_NOENGINE);
@@ -1395,17 +1415,13 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
if (pkey == NULL)
DST_RET(dst__openssl_toresult2("ENGINE_load_private_key",
ISC_R_NOTFOUND));
- if (engine != NULL) {
- key->engine = isc_mem_strdup(key->mctx, engine);
- if (key->engine == NULL)
- DST_RET(ISC_R_NOMEMORY);
+ if (tmpengine != NULL) {
+ key->engine = tmpengine;
+ tmpengine = NULL;
} else {
- key->engine = isc_mem_strdup(key->mctx, label);
+ key->engine = isc_mem_strdup(key->mctx, engine);
if (key->engine == NULL)
DST_RET(ISC_R_NOMEMORY);
- colon = strchr(key->engine, ':');
- if (colon != NULL)
- *colon = '\0';
}
key->label = isc_mem_strdup(key->mctx, label);
if (key->label == NULL)
@@ -1430,6 +1446,8 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
return (ISC_R_SUCCESS);
err:
+ if (tmpengine != NULL)
+ isc_mem_free(key->mctx, tmpengine);
if (rsa != NULL)
RSA_free(rsa);
if (pubrsa != NULL)
diff --git a/lib/dns/order.c b/lib/dns/order.c
index 853b00196d21..326b8f93cf14 100644
--- a/lib/dns/order.c
+++ b/lib/dns/order.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -48,7 +48,7 @@ struct dns_order {
ISC_LIST(dns_order_ent_t) ents;
isc_mem_t *mctx;
};
-
+
#define DNS_ORDER_MAGIC ISC_MAGIC('O','r','d','r')
#define DNS_ORDER_VALID(order) ISC_MAGIC_VALID(order, DNS_ORDER_MAGIC)
@@ -62,7 +62,7 @@ dns_order_create(isc_mem_t *mctx, dns_order_t **orderp) {
order = isc_mem_get(mctx, sizeof(*order));
if (order == NULL)
return (ISC_R_NOMEMORY);
-
+
ISC_LIST_INIT(order->ents);
/* Implicit attach. */
@@ -88,7 +88,7 @@ dns_order_add(dns_order_t *order, dns_name_t *name,
REQUIRE(DNS_ORDER_VALID(order));
REQUIRE(mode == DNS_RDATASETATTR_RANDOMIZE ||
- mode == DNS_RDATASETATTR_FIXEDORDER ||
+ mode == DNS_RDATASETATTR_FIXEDORDER ||
mode == 0 /* DNS_RDATASETATTR_CYCLIC */ );
ent = isc_mem_get(order->mctx, sizeof(*ent));
@@ -108,7 +108,7 @@ dns_order_add(dns_order_t *order, dns_name_t *name,
static inline isc_boolean_t
match(dns_name_t *name1, dns_name_t *name2) {
-
+
if (dns_name_iswildcard(name2))
return(dns_name_matcheswildcard(name1, name2));
return (dns_name_equal(name1, name2));
@@ -132,7 +132,7 @@ dns_order_find(dns_order_t *order, dns_name_t *name,
if (match(name, dns_fixedname_name(&ent->name)))
return (ent->mode);
}
- return (0);
+ return (DNS_RDATASETATTR_RANDOMIZE);
}
void
diff --git a/lib/dns/private.c b/lib/dns/private.c
index c29522c52990..76a26e827728 100644
--- a/lib/dns/private.c
+++ b/lib/dns/private.c
@@ -18,10 +18,11 @@
#include "config.h"
+#include <isc/base64.h>
+#include <isc/print.h>
#include <isc/result.h>
#include <isc/string.h>
#include <isc/types.h>
-#include <isc/base64.h>
#include <dns/nsec3.h>
#include <dns/private.h>
@@ -306,7 +307,7 @@ dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) {
unsigned char newbuf[DNS_NSEC3PARAM_BUFFERSIZE];
dns_rdata_t rdata = DNS_RDATA_INIT;
dns_rdata_nsec3param_t nsec3param;
- isc_boolean_t remove, init, nonsec;
+ isc_boolean_t delete, init, nonsec;
isc_buffer_t b;
if (!dns_nsec3param_fromprivate(private, &rdata, nsec3buf,
@@ -315,7 +316,7 @@ dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) {
CHECK(dns_rdata_tostruct(&rdata, &nsec3param, NULL));
- remove = ISC_TF((nsec3param.flags & DNS_NSEC3FLAG_REMOVE) != 0);
+ delete = ISC_TF((nsec3param.flags & DNS_NSEC3FLAG_REMOVE) != 0);
init = ISC_TF((nsec3param.flags & DNS_NSEC3FLAG_INITIAL) != 0);
nonsec = ISC_TF((nsec3param.flags & DNS_NSEC3FLAG_NONSEC) != 0);
@@ -326,7 +327,7 @@ dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) {
if (init)
isc_buffer_putstr(buf, "Pending NSEC3 chain ");
- else if (remove)
+ else if (delete)
isc_buffer_putstr(buf, "Removing NSEC3 chain ");
else
isc_buffer_putstr(buf, "Creating NSEC3 chain ");
@@ -339,18 +340,18 @@ dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) {
CHECK(dns_rdata_totext(&rdata, NULL, buf));
- if (remove && !nonsec)
+ if (delete && !nonsec)
isc_buffer_putstr(buf, " / creating NSEC chain");
} else if (private->length == 5) {
unsigned char alg = private->data[0];
dns_keytag_t keyid = (private->data[2] | private->data[1] << 8);
char keybuf[BUFSIZ], algbuf[DNS_SECALG_FORMATSIZE];
- isc_boolean_t remove = ISC_TF(private->data[3] != 0);
+ isc_boolean_t delete = ISC_TF(private->data[3] != 0);
isc_boolean_t complete = ISC_TF(private->data[4] != 0);
- if (remove && complete)
+ if (delete && complete)
isc_buffer_putstr(buf, "Done removing signatures for ");
- else if (remove)
+ else if (delete)
isc_buffer_putstr(buf, "Removing signatures for ");
else if (complete)
isc_buffer_putstr(buf, "Done signing with ");
diff --git a/lib/dns/rbt.c b/lib/dns/rbt.c
index 1b6121de7945..74aad1b3553f 100644
--- a/lib/dns/rbt.c
+++ b/lib/dns/rbt.c
@@ -1610,8 +1610,7 @@ rotate_left(dns_rbtnode_t *node, dns_rbtnode_t **rootp) {
PARENT(LEFT(child)) = node;
LEFT(child) = node;
- if (child != NULL)
- PARENT(child) = PARENT(node);
+ PARENT(child) = PARENT(node);
if (IS_ROOT(node)) {
*rootp = child;
@@ -1643,8 +1642,7 @@ rotate_right(dns_rbtnode_t *node, dns_rbtnode_t **rootp) {
PARENT(RIGHT(child)) = node;
RIGHT(child) = node;
- if (child != NULL)
- PARENT(child) = PARENT(node);
+ PARENT(child) = PARENT(node);
if (IS_ROOT(node)) {
*rootp = child;
diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c
index a1398d3d1ab1..a0fa148cf545 100644
--- a/lib/dns/rbtdb.c
+++ b/lib/dns/rbtdb.c
@@ -753,7 +753,7 @@ typedef struct rbtdb_dbiterator {
static void free_rbtdb(dns_rbtdb_t *rbtdb, isc_boolean_t log,
isc_event_t *event);
-static void overmem(dns_db_t *db, isc_boolean_t overmem);
+static void overmem(dns_db_t *db, isc_boolean_t over);
#ifdef BIND9
static void setnsec3parameters(dns_db_t *db, rbtdb_version_t *version);
#endif
@@ -852,11 +852,14 @@ set_ttl(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, dns_ttl_t newttl) {
isc_heap_t *heap;
dns_ttl_t oldttl;
- oldttl = header->rdh_ttl;
- header->rdh_ttl = newttl;
- if (!IS_CACHE(rbtdb))
+ if (!IS_CACHE(rbtdb)) {
+ header->rdh_ttl = newttl;
return;
+ }
+
+ oldttl = header->rdh_ttl;
+ header->rdh_ttl = newttl;
/*
* It's possible the rbtdb is not a cache. If this is the case,
@@ -904,10 +907,10 @@ resign_sooner(void *v1, void *v2) {
* This function sets the heap index into the header.
*/
static void
-set_index(void *what, unsigned int index) {
+set_index(void *what, unsigned int idx) {
rdatasetheader_t *h = what;
- h->heap_index = index;
+ h->heap_index = idx;
}
/*%
@@ -1385,6 +1388,7 @@ new_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx)
fprintf(stderr, "allocated header: %p\n", h);
#endif
init_rdataset(rbtdb, h);
+ h->rdh_ttl = 0;
return (h);
}
@@ -2192,6 +2196,7 @@ setnsec3parameters(dns_db_t *db, rbtdb_version_t *version) {
unsigned int count, length;
dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db;
+ RWLOCK(&rbtdb->tree_lock, isc_rwlocktype_read);
version->havensec3 = ISC_FALSE;
node = rbtdb->origin_node;
NODE_LOCK(&(rbtdb->node_locks[node->locknum].lock),
@@ -2268,6 +2273,7 @@ setnsec3parameters(dns_db_t *db, rbtdb_version_t *version) {
unlock:
NODE_UNLOCK(&(rbtdb->node_locks[node->locknum].lock),
isc_rwlocktype_read);
+ RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read);
}
#endif
@@ -2330,6 +2336,13 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, isc_boolean_t commit) {
goto end;
}
+ /*
+ * Update the zone's secure status in version before making
+ * it the current version.
+ */
+ if (version->writer && commit && !IS_CACHE(rbtdb))
+ iszonesecure(db, version, rbtdb->origin_node);
+
RBTDB_LOCK(&rbtdb->lock, isc_rwlocktype_write);
serial = version->serial;
if (version->writer) {
@@ -2388,11 +2401,6 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, isc_boolean_t commit) {
link);
}
/*
- * Update the zone's secure status.
- */
- if (!IS_CACHE(rbtdb))
- iszonesecure(db, version, rbtdb->origin_node);
- /*
* Become the current version.
*/
version->writer = ISC_FALSE;
@@ -5580,11 +5588,11 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) {
}
static void
-overmem(dns_db_t *db, isc_boolean_t overmem) {
+overmem(dns_db_t *db, isc_boolean_t over) {
/* This is an empty callback. See adb.c:water() */
UNUSED(db);
- UNUSED(overmem);
+ UNUSED(over);
return;
}
diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c
index 9e1eebe70d29..6c0a3195379b 100644
--- a/lib/dns/rdata.c
+++ b/lib/dns/rdata.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -223,6 +223,21 @@ unknown_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx,
/*% IPv6 Address Size */
#define NS_LOCATORSZ 8
+/*
+ * Active Diretory gc._msdcs.<forest> prefix.
+ */
+static unsigned char gc_msdcs_data[] = "\002gc\006_msdcs";
+static unsigned char gc_msdcs_offset [] = { 0, 3 };
+
+static const dns_name_t gc_msdcs = {
+ DNS_NAME_MAGIC,
+ gc_msdcs_data, 10, 2,
+ DNS_NAMEATTR_READONLY,
+ gc_msdcs_offset, NULL,
+ {(void *)-1, (void *)-1},
+ {NULL, NULL}
+};
+
/*%
* convert presentation level address to network order binary form.
* \return
@@ -313,15 +328,15 @@ name_duporclone(dns_name_t *source, isc_mem_t *mctx, dns_name_t *target) {
static inline void *
mem_maybedup(isc_mem_t *mctx, void *source, size_t length) {
- void *new;
+ void *copy;
if (mctx == NULL)
return (source);
- new = isc_mem_allocate(mctx, length);
- if (new != NULL)
- memmove(new, source, length);
+ copy = isc_mem_allocate(mctx, length);
+ if (copy != NULL)
+ memmove(copy, source, length);
- return (new);
+ return (copy);
}
static const char hexdigits[] = "0123456789abcdef";
@@ -836,6 +851,7 @@ rdata_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx,
{
isc_result_t result = ISC_R_NOTIMPLEMENTED;
isc_boolean_t use_default = ISC_FALSE;
+ unsigned int cur;
REQUIRE(rdata != NULL);
REQUIRE(tctx->origin == NULL ||
@@ -849,10 +865,17 @@ rdata_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx,
return (ISC_R_SUCCESS);
}
+ cur = isc_buffer_usedlength(target);
+
TOTEXTSWITCH
- if (use_default)
+ if (use_default || (result == ISC_R_NOTIMPLEMENTED)) {
+ unsigned int u = isc_buffer_usedlength(target);
+
+ INSIST(u >= cur);
+ isc_buffer_subtract(target, u - cur);
result = unknown_totext(rdata, tctx, target);
+ }
return (result);
}
@@ -1269,7 +1292,7 @@ txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) {
isc_buffer_activeregion(source, &sregion);
if (sregion.length == 0)
- return(ISC_R_UNEXPECTEDEND);
+ return (ISC_R_UNEXPECTEDEND);
n = *sregion.base + 1;
if (n > sregion.length)
return (ISC_R_UNEXPECTEDEND);
@@ -1398,7 +1421,7 @@ multitxt_fromtext(isc_textregion_t *source, isc_buffer_t *target) {
if (escape)
return (DNS_R_SYNTAX);
- isc_buffer_add(target, t - t0);
+ isc_buffer_add(target, (unsigned int)(t - t0));
} while (n != 0);
return (ISC_R_SUCCESS);
}
@@ -1579,7 +1602,7 @@ mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) {
static int
hexvalue(char value) {
- char *s;
+ const char *s;
unsigned char c;
c = (unsigned char)value;
@@ -1595,7 +1618,7 @@ hexvalue(char value) {
static int
decvalue(char value) {
- char *s;
+ const char *s;
/*
* isascii() is valid for full range of int values, no need to
@@ -1653,7 +1676,7 @@ static isc_result_t byte_btoa(int c, isc_buffer_t *, struct state *state);
*/
static isc_result_t
byte_atob(int c, isc_buffer_t *target, struct state *state) {
- char *s;
+ const char *s;
if (c == 'z') {
if (bcount != 0)
return(DNS_R_SYNTAX);
@@ -1749,8 +1772,12 @@ atob_tobuffer(isc_lex_t *lexer, isc_buffer_t *target) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_number,
ISC_FALSE));
- if ((token.value.as_ulong % 4) != 0U)
- isc_buffer_subtract(target, 4 - (token.value.as_ulong % 4));
+ if ((token.value.as_ulong % 4) != 0U) {
+ unsigned long padding = 4 - (token.value.as_ulong % 4);
+ if (isc_buffer_usedlength(target) < padding)
+ return (DNS_R_SYNTAX);
+ isc_buffer_subtract(target, padding);
+ }
/*
* Checksum.
diff --git a/lib/dns/rdata/any_255/tsig_250.c b/lib/dns/rdata/any_255/tsig_250.c
index 3f91f91c009a..65ceb84152c9 100644
--- a/lib/dns/rdata/any_255/tsig_250.c
+++ b/lib/dns/rdata/any_255/tsig_250.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2011, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -35,8 +35,8 @@ fromtext_any_tsig(ARGS_FROMTEXT) {
long i;
char *e;
- REQUIRE(type == 250);
- REQUIRE(rdclass == 255);
+ REQUIRE(type == dns_rdatatype_tsig);
+ REQUIRE(rdclass == dns_rdataclass_any);
UNUSED(type);
UNUSED(rdclass);
@@ -141,8 +141,8 @@ totext_any_tsig(ARGS_TOTEXT) {
isc_uint64_t sigtime;
unsigned short n;
- REQUIRE(rdata->type == 250);
- REQUIRE(rdata->rdclass == 255);
+ REQUIRE(rdata->type == dns_rdatatype_tsig);
+ REQUIRE(rdata->rdclass == dns_rdataclass_any);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -251,8 +251,8 @@ fromwire_any_tsig(ARGS_FROMWIRE) {
dns_name_t name;
unsigned long n;
- REQUIRE(type == 250);
- REQUIRE(rdclass == 255);
+ REQUIRE(type == dns_rdatatype_tsig);
+ REQUIRE(rdclass == dns_rdataclass_any);
UNUSED(type);
UNUSED(rdclass);
@@ -314,8 +314,8 @@ towire_any_tsig(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
- REQUIRE(rdata->type == 250);
- REQUIRE(rdata->rdclass == 255);
+ REQUIRE(rdata->type == dns_rdatatype_tsig);
+ REQUIRE(rdata->rdclass == dns_rdataclass_any);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -337,8 +337,8 @@ compare_any_tsig(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 250);
- REQUIRE(rdata1->rdclass == 255);
+ REQUIRE(rdata1->type == dns_rdatatype_tsig);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_any);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -361,8 +361,8 @@ fromstruct_any_tsig(ARGS_FROMSTRUCT) {
dns_rdata_any_tsig_t *tsig = source;
isc_region_t tr;
- REQUIRE(type == 250);
- REQUIRE(rdclass == 255);
+ REQUIRE(type == dns_rdatatype_tsig);
+ REQUIRE(rdclass == dns_rdataclass_any);
REQUIRE(source != NULL);
REQUIRE(tsig->common.rdclass == rdclass);
REQUIRE(tsig->common.rdtype == type);
@@ -433,8 +433,8 @@ tostruct_any_tsig(ARGS_TOSTRUCT) {
dns_name_t alg;
isc_region_t sr;
- REQUIRE(rdata->type == 250);
- REQUIRE(rdata->rdclass == 255);
+ REQUIRE(rdata->type == dns_rdatatype_tsig);
+ REQUIRE(rdata->rdclass == dns_rdataclass_any);
REQUIRE(rdata->length != 0);
tsig = (dns_rdata_any_tsig_t *) target;
@@ -529,8 +529,8 @@ freestruct_any_tsig(ARGS_FREESTRUCT) {
dns_rdata_any_tsig_t *tsig = (dns_rdata_any_tsig_t *) source;
REQUIRE(source != NULL);
- REQUIRE(tsig->common.rdclass == 255);
- REQUIRE(tsig->common.rdtype == 250);
+ REQUIRE(tsig->common.rdtype == dns_rdatatype_tsig);
+ REQUIRE(tsig->common.rdclass == dns_rdataclass_any);
if (tsig->mctx == NULL)
return;
@@ -545,8 +545,8 @@ freestruct_any_tsig(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_any_tsig(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 250);
- REQUIRE(rdata->rdclass == 255);
+ REQUIRE(rdata->type == dns_rdatatype_tsig);
+ REQUIRE(rdata->rdclass == dns_rdataclass_any);
UNUSED(rdata);
UNUSED(add);
@@ -558,8 +558,8 @@ additionaldata_any_tsig(ARGS_ADDLDATA) {
static inline isc_result_t
digest_any_tsig(ARGS_DIGEST) {
- REQUIRE(rdata->type == 250);
- REQUIRE(rdata->rdclass == 255);
+ REQUIRE(rdata->type == dns_rdatatype_tsig);
+ REQUIRE(rdata->rdclass == dns_rdataclass_any);
UNUSED(rdata);
UNUSED(digest);
@@ -571,8 +571,8 @@ digest_any_tsig(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_any_tsig(ARGS_CHECKOWNER) {
- REQUIRE(type == 250);
- REQUIRE(rdclass == 255);
+ REQUIRE(type == dns_rdatatype_tsig);
+ REQUIRE(rdclass == dns_rdataclass_any);
UNUSED(name);
UNUSED(type);
@@ -585,8 +585,8 @@ checkowner_any_tsig(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_any_tsig(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 250);
- REQUIRE(rdata->rdclass == 250);
+ REQUIRE(rdata->type == dns_rdatatype_tsig);
+ REQUIRE(rdata->rdclass == dns_rdataclass_any);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/ch_3/a_1.c b/lib/dns/rdata/ch_3/a_1.c
index d25fcb50ac40..34a059b34374 100644
--- a/lib/dns/rdata/ch_3/a_1.c
+++ b/lib/dns/rdata/ch_3/a_1.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2005, 2007, 2009, 2014, 2015 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
@@ -32,7 +32,7 @@ fromtext_ch_a(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 1);
+ REQUIRE(type == dns_rdatatype_a);
REQUIRE(rdclass == dns_rdataclass_ch); /* 3 */
UNUSED(type);
@@ -72,7 +72,7 @@ totext_ch_a(ARGS_TOTEXT) {
char buf[sizeof("0177777")];
isc_uint16_t addr;
- REQUIRE(rdata->type == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
REQUIRE(rdata->rdclass == dns_rdataclass_ch); /* 3 */
REQUIRE(rdata->length != 0);
@@ -98,7 +98,7 @@ fromwire_ch_a(ARGS_FROMWIRE) {
isc_region_t tregion;
dns_name_t name;
- REQUIRE(type == 1);
+ REQUIRE(type == dns_rdatatype_a);
REQUIRE(rdclass == dns_rdataclass_ch);
UNUSED(type);
@@ -131,7 +131,7 @@ towire_ch_a(ARGS_TOWIRE) {
isc_region_t sregion;
isc_region_t tregion;
- REQUIRE(rdata->type == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
REQUIRE(rdata->rdclass == dns_rdataclass_ch);
REQUIRE(rdata->length != 0);
@@ -164,7 +164,7 @@ compare_ch_a(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_a);
REQUIRE(rdata1->rdclass == dns_rdataclass_ch);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -195,7 +195,7 @@ fromstruct_ch_a(ARGS_FROMSTRUCT) {
dns_rdata_ch_a_t *a = source;
isc_region_t region;
- REQUIRE(type == 1);
+ REQUIRE(type == dns_rdatatype_a);
REQUIRE(source != NULL);
REQUIRE(a->common.rdtype == type);
REQUIRE(a->common.rdclass == rdclass);
@@ -215,7 +215,7 @@ tostruct_ch_a(ARGS_TOSTRUCT) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
REQUIRE(rdata->rdclass == dns_rdataclass_ch);
REQUIRE(rdata->length != 0);
@@ -241,7 +241,7 @@ freestruct_ch_a(ARGS_FREESTRUCT) {
dns_rdata_ch_a_t *a = source;
REQUIRE(source != NULL);
- REQUIRE(a->common.rdtype == 1);
+ REQUIRE(a->common.rdtype == dns_rdatatype_a);
if (a->mctx == NULL)
return;
@@ -253,7 +253,7 @@ freestruct_ch_a(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_ch_a(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
REQUIRE(rdata->rdclass == dns_rdataclass_ch);
UNUSED(rdata);
@@ -266,10 +266,9 @@ additionaldata_ch_a(ARGS_ADDLDATA) {
static inline isc_result_t
digest_ch_a(ARGS_DIGEST) {
isc_region_t r;
-
dns_name_t name;
- REQUIRE(rdata->type == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
REQUIRE(rdata->rdclass == dns_rdataclass_ch);
dns_rdata_toregion(rdata, &r);
@@ -283,7 +282,7 @@ digest_ch_a(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_ch_a(ARGS_CHECKOWNER) {
- REQUIRE(type == 1);
+ REQUIRE(type == dns_rdatatype_a);
REQUIRE(rdclass == dns_rdataclass_ch);
UNUSED(type);
@@ -296,7 +295,7 @@ checknames_ch_a(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
REQUIRE(rdata->rdclass == dns_rdataclass_ch);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/afsdb_18.c b/lib/dns/rdata/generic/afsdb_18.c
index af95fa12e91b..75f644f2c7ab 100644
--- a/lib/dns/rdata/generic/afsdb_18.c
+++ b/lib/dns/rdata/generic/afsdb_18.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -33,7 +33,7 @@ fromtext_afsdb(ARGS_FROMTEXT) {
dns_name_t name;
isc_boolean_t ok;
- REQUIRE(type == 18);
+ REQUIRE(type == dns_rdatatype_afsdb);
UNUSED(type);
UNUSED(rdclass);
@@ -76,7 +76,7 @@ totext_afsdb(ARGS_TOTEXT) {
isc_boolean_t sub;
unsigned int num;
- REQUIRE(rdata->type == 18);
+ REQUIRE(rdata->type == dns_rdatatype_afsdb);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -98,7 +98,7 @@ fromwire_afsdb(ARGS_FROMWIRE) {
isc_region_t sr;
isc_region_t tr;
- REQUIRE(type == 18);
+ REQUIRE(type == dns_rdatatype_afsdb);
UNUSED(type);
UNUSED(rdclass);
@@ -126,7 +126,7 @@ towire_afsdb(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
- REQUIRE(rdata->type == 18);
+ REQUIRE(rdata->type == dns_rdatatype_afsdb);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -154,7 +154,7 @@ compare_afsdb(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 18);
+ REQUIRE(rdata1->type == dns_rdatatype_afsdb);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -182,7 +182,7 @@ fromstruct_afsdb(ARGS_FROMSTRUCT) {
dns_rdata_afsdb_t *afsdb = source;
isc_region_t region;
- REQUIRE(type == 18);
+ REQUIRE(type == dns_rdatatype_afsdb);
REQUIRE(source != NULL);
REQUIRE(afsdb->common.rdclass == rdclass);
REQUIRE(afsdb->common.rdtype == type);
@@ -201,7 +201,7 @@ tostruct_afsdb(ARGS_TOSTRUCT) {
dns_rdata_afsdb_t *afsdb = target;
dns_name_t name;
- REQUIRE(rdata->type == 18);
+ REQUIRE(rdata->type == dns_rdatatype_afsdb);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -229,7 +229,7 @@ freestruct_afsdb(ARGS_FREESTRUCT) {
dns_rdata_afsdb_t *afsdb = source;
REQUIRE(source != NULL);
- REQUIRE(afsdb->common.rdtype == 18);
+ REQUIRE(afsdb->common.rdtype == dns_rdatatype_afsdb);
if (afsdb->mctx == NULL)
return;
@@ -244,7 +244,7 @@ additionaldata_afsdb(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 18);
+ REQUIRE(rdata->type == dns_rdatatype_afsdb);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -259,7 +259,7 @@ digest_afsdb(ARGS_DIGEST) {
isc_region_t r1, r2;
dns_name_t name;
- REQUIRE(rdata->type == 18);
+ REQUIRE(rdata->type == dns_rdatatype_afsdb);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -275,7 +275,7 @@ digest_afsdb(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_afsdb(ARGS_CHECKOWNER) {
- REQUIRE(type == 18);
+ REQUIRE(type == dns_rdatatype_afsdb);
UNUSED(name);
UNUSED(type);
@@ -290,7 +290,7 @@ checknames_afsdb(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 18);
+ REQUIRE(rdata->type == dns_rdatatype_afsdb);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/caa_257.c b/lib/dns/rdata/generic/caa_257.c
index 993e3267e623..648f4afdc3b6 100644
--- a/lib/dns/rdata/generic/caa_257.c
+++ b/lib/dns/rdata/generic/caa_257.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2014, 2015 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
@@ -45,7 +45,7 @@ fromtext_caa(ARGS_FROMTEXT) {
isc_uint8_t flags;
unsigned int i;
- REQUIRE(type == 257);
+ REQUIRE(type == dns_rdatatype_caa);
UNUSED(type);
UNUSED(rdclass);
@@ -68,7 +68,7 @@ fromtext_caa(ARGS_FROMTEXT) {
ISC_FALSE));
tr = token.value.as_textregion;
for (i = 0; i < tr.length; i++)
- if (!alphanumeric[(unsigned int) tr.base[i]])
+ if (!alphanumeric[(unsigned char) tr.base[i]])
RETTOK(DNS_R_SYNTAX);
RETERR(uint8_tobuffer(tr.length, target));
RETERR(mem_tobuffer(target, tr.base, tr.length));
@@ -93,7 +93,7 @@ totext_caa(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 257);
+ REQUIRE(rdata->type == dns_rdatatype_caa);
REQUIRE(rdata->length >= 3U);
REQUIRE(rdata->data != NULL);
@@ -124,7 +124,7 @@ fromwire_caa(ARGS_FROMWIRE) {
isc_region_t sr;
unsigned int len, i;
- REQUIRE(type == 257);
+ REQUIRE(type == dns_rdatatype_caa);
UNUSED(type);
UNUSED(rdclass);
@@ -167,7 +167,7 @@ static inline isc_result_t
towire_caa(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 257);
+ REQUIRE(rdata->type == dns_rdatatype_caa);
REQUIRE(rdata->length >= 3U);
REQUIRE(rdata->data != NULL);
@@ -183,7 +183,7 @@ compare_caa(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 257);
+ REQUIRE(rdata1->type == dns_rdatatype_caa);
REQUIRE(rdata1->length >= 3U);
REQUIRE(rdata2->length >= 3U);
REQUIRE(rdata1->data != NULL);
@@ -200,7 +200,7 @@ fromstruct_caa(ARGS_FROMSTRUCT) {
isc_region_t region;
unsigned int i;
- REQUIRE(type == 257);
+ REQUIRE(type == dns_rdatatype_caa);
REQUIRE(source != NULL);
REQUIRE(caa->common.rdtype == type);
REQUIRE(caa->common.rdclass == rdclass);
@@ -243,7 +243,7 @@ tostruct_caa(ARGS_TOSTRUCT) {
dns_rdata_caa_t *caa = target;
isc_region_t sr;
- REQUIRE(rdata->type == 257);
+ REQUIRE(rdata->type == dns_rdatatype_caa);
REQUIRE(target != NULL);
REQUIRE(rdata->length >= 3U);
REQUIRE(rdata->data != NULL);
@@ -297,7 +297,7 @@ freestruct_caa(ARGS_FREESTRUCT) {
dns_rdata_caa_t *caa = (dns_rdata_caa_t *) source;
REQUIRE(source != NULL);
- REQUIRE(caa->common.rdtype == 257);
+ REQUIRE(caa->common.rdtype == dns_rdatatype_caa);
if (caa->mctx == NULL)
return;
@@ -311,7 +311,7 @@ freestruct_caa(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_caa(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 257);
+ REQUIRE(rdata->type == dns_rdatatype_caa);
REQUIRE(rdata->data != NULL);
REQUIRE(rdata->length >= 3U);
@@ -326,7 +326,7 @@ static inline isc_result_t
digest_caa(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 257);
+ REQUIRE(rdata->type == dns_rdatatype_caa);
REQUIRE(rdata->data != NULL);
REQUIRE(rdata->length >= 3U);
@@ -338,7 +338,7 @@ digest_caa(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_caa(ARGS_CHECKOWNER) {
- REQUIRE(type == 257);
+ REQUIRE(type == dns_rdatatype_caa);
UNUSED(name);
UNUSED(type);
@@ -351,7 +351,7 @@ checkowner_caa(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_caa(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 257);
+ REQUIRE(rdata->type == dns_rdatatype_caa);
REQUIRE(rdata->data != NULL);
REQUIRE(rdata->length >= 3U);
diff --git a/lib/dns/rdata/generic/cdnskey_60.c b/lib/dns/rdata/generic/cdnskey_60.c
index 624f581725e0..945b3644ce67 100644
--- a/lib/dns/rdata/generic/cdnskey_60.c
+++ b/lib/dns/rdata/generic/cdnskey_60.c
@@ -37,7 +37,7 @@ fromtext_cdnskey(ARGS_FROMTEXT) {
dns_secproto_t proto;
dns_keyflags_t flags;
- REQUIRE(type == 60);
+ REQUIRE(type == dns_rdatatype_cdnskey);
UNUSED(type);
UNUSED(rdclass);
@@ -87,7 +87,7 @@ totext_cdnskey(ARGS_TOTEXT) {
char algbuf[DNS_NAME_FORMATSIZE];
const char *keyinfo;
- REQUIRE(rdata->type == 60);
+ REQUIRE(rdata->type == dns_rdatatype_cdnskey);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -171,7 +171,7 @@ fromwire_cdnskey(ARGS_FROMWIRE) {
unsigned char algorithm;
isc_region_t sr;
- REQUIRE(type == 60);
+ REQUIRE(type == dns_rdatatype_cdnskey);
UNUSED(type);
UNUSED(rdclass);
@@ -211,7 +211,7 @@ static inline isc_result_t
towire_cdnskey(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 60);
+ REQUIRE(rdata->type == dns_rdatatype_cdnskey);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -227,7 +227,7 @@ compare_cdnskey(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 60);
+ REQUIRE(rdata1->type == dns_rdatatype_cdnskey);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -240,7 +240,7 @@ static inline isc_result_t
fromstruct_cdnskey(ARGS_FROMSTRUCT) {
dns_rdata_cdnskey_t *dnskey = source;
- REQUIRE(type == 60);
+ REQUIRE(type == dns_rdatatype_cdnskey);
REQUIRE(source != NULL);
REQUIRE(dnskey->common.rdtype == type);
REQUIRE(dnskey->common.rdclass == rdclass);
@@ -266,7 +266,7 @@ tostruct_cdnskey(ARGS_TOSTRUCT) {
dns_rdata_cdnskey_t *dnskey = target;
isc_region_t sr;
- REQUIRE(rdata->type == 60);
+ REQUIRE(rdata->type == dns_rdatatype_cdnskey);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -309,7 +309,7 @@ freestruct_cdnskey(ARGS_FREESTRUCT) {
dns_rdata_cdnskey_t *dnskey = (dns_rdata_cdnskey_t *) source;
REQUIRE(source != NULL);
- REQUIRE(dnskey->common.rdtype == 60);
+ REQUIRE(dnskey->common.rdtype == dns_rdatatype_cdnskey);
if (dnskey->mctx == NULL)
return;
@@ -321,7 +321,7 @@ freestruct_cdnskey(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_cdnskey(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 60);
+ REQUIRE(rdata->type == dns_rdatatype_cdnskey);
UNUSED(rdata);
UNUSED(add);
@@ -334,7 +334,7 @@ static inline isc_result_t
digest_cdnskey(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 60);
+ REQUIRE(rdata->type == dns_rdatatype_cdnskey);
dns_rdata_toregion(rdata, &r);
@@ -344,7 +344,7 @@ digest_cdnskey(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_cdnskey(ARGS_CHECKOWNER) {
- REQUIRE(type == 60);
+ REQUIRE(type == dns_rdatatype_cdnskey);
UNUSED(name);
UNUSED(type);
@@ -357,7 +357,7 @@ checkowner_cdnskey(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_cdnskey(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 60);
+ REQUIRE(rdata->type == dns_rdatatype_cdnskey);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/cds_59.c b/lib/dns/rdata/generic/cds_59.c
index ff7ff6315790..b58d5f7999d2 100644
--- a/lib/dns/rdata/generic/cds_59.c
+++ b/lib/dns/rdata/generic/cds_59.c
@@ -34,7 +34,7 @@ fromtext_cds(ARGS_FROMTEXT) {
unsigned char c;
int length;
- REQUIRE(type == 59);
+ REQUIRE(type == dns_rdatatype_cds);
UNUSED(type);
UNUSED(rdclass);
@@ -98,7 +98,7 @@ totext_cds(ARGS_TOTEXT) {
char buf[sizeof("64000 ")];
unsigned int n;
- REQUIRE(rdata->type == 59);
+ REQUIRE(rdata->type == dns_rdatatype_cds);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -149,7 +149,7 @@ static inline isc_result_t
fromwire_cds(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 59);
+ REQUIRE(type == dns_rdatatype_cds);
UNUSED(type);
UNUSED(rdclass);
@@ -194,7 +194,7 @@ static inline isc_result_t
towire_cds(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 59);
+ REQUIRE(rdata->type == dns_rdatatype_cds);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -210,7 +210,7 @@ compare_cds(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 59);
+ REQUIRE(rdata1->type == dns_rdatatype_cds);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -223,7 +223,7 @@ static inline isc_result_t
fromstruct_cds(ARGS_FROMSTRUCT) {
dns_rdata_cds_t *ds = source;
- REQUIRE(type == 59);
+ REQUIRE(type == dns_rdatatype_cds);
REQUIRE(source != NULL);
REQUIRE(ds->common.rdtype == type);
REQUIRE(ds->common.rdclass == rdclass);
@@ -257,7 +257,7 @@ tostruct_cds(ARGS_TOSTRUCT) {
dns_rdata_cds_t *ds = target;
isc_region_t region;
- REQUIRE(rdata->type == 59);
+ REQUIRE(rdata->type == dns_rdatatype_cds);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -288,7 +288,7 @@ freestruct_cds(ARGS_FREESTRUCT) {
dns_rdata_cds_t *ds = source;
REQUIRE(ds != NULL);
- REQUIRE(ds->common.rdtype == 59);
+ REQUIRE(ds->common.rdtype == dns_rdatatype_cds);
if (ds->mctx == NULL)
return;
@@ -300,7 +300,7 @@ freestruct_cds(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_cds(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 59);
+ REQUIRE(rdata->type == dns_rdatatype_cds);
UNUSED(rdata);
UNUSED(add);
@@ -313,7 +313,7 @@ static inline isc_result_t
digest_cds(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 59);
+ REQUIRE(rdata->type == dns_rdatatype_cds);
dns_rdata_toregion(rdata, &r);
@@ -323,7 +323,7 @@ digest_cds(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_cds(ARGS_CHECKOWNER) {
- REQUIRE(type == 59);
+ REQUIRE(type == dns_rdatatype_cds);
UNUSED(name);
UNUSED(type);
@@ -336,7 +336,7 @@ checkowner_cds(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_cds(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 59);
+ REQUIRE(rdata->type == dns_rdatatype_cds);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/cert_37.c b/lib/dns/rdata/generic/cert_37.c
index a03290a60a02..b9c171d6c392 100644
--- a/lib/dns/rdata/generic/cert_37.c
+++ b/lib/dns/rdata/generic/cert_37.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2011, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,7 +32,7 @@ fromtext_cert(ARGS_FROMTEXT) {
dns_secalg_t secalg;
dns_cert_t cert;
- REQUIRE(type == 37);
+ REQUIRE(type == dns_rdatatype_cert);
UNUSED(type);
UNUSED(rdclass);
@@ -74,7 +74,7 @@ totext_cert(ARGS_TOTEXT) {
char buf[sizeof("64000 ")];
unsigned int n;
- REQUIRE(rdata->type == 37);
+ REQUIRE(rdata->type == dns_rdatatype_cert);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -123,7 +123,7 @@ static inline isc_result_t
fromwire_cert(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 37);
+ REQUIRE(type == dns_rdatatype_cert);
UNUSED(type);
UNUSED(rdclass);
@@ -142,7 +142,7 @@ static inline isc_result_t
towire_cert(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 37);
+ REQUIRE(rdata->type == dns_rdatatype_cert);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -158,7 +158,7 @@ compare_cert(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 37);
+ REQUIRE(rdata1->type == dns_rdatatype_cert);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -171,7 +171,7 @@ static inline isc_result_t
fromstruct_cert(ARGS_FROMSTRUCT) {
dns_rdata_cert_t *cert = source;
- REQUIRE(type == 37);
+ REQUIRE(type == dns_rdatatype_cert);
REQUIRE(source != NULL);
REQUIRE(cert->common.rdtype == type);
REQUIRE(cert->common.rdclass == rdclass);
@@ -191,7 +191,7 @@ tostruct_cert(ARGS_TOSTRUCT) {
dns_rdata_cert_t *cert = target;
isc_region_t region;
- REQUIRE(rdata->type == 37);
+ REQUIRE(rdata->type == dns_rdatatype_cert);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -222,7 +222,7 @@ freestruct_cert(ARGS_FREESTRUCT) {
dns_rdata_cert_t *cert = source;
REQUIRE(cert != NULL);
- REQUIRE(cert->common.rdtype == 37);
+ REQUIRE(cert->common.rdtype == dns_rdatatype_cert);
if (cert->mctx == NULL)
return;
@@ -234,7 +234,7 @@ freestruct_cert(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_cert(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 37);
+ REQUIRE(rdata->type == dns_rdatatype_cert);
UNUSED(rdata);
UNUSED(add);
@@ -247,7 +247,7 @@ static inline isc_result_t
digest_cert(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 37);
+ REQUIRE(rdata->type == dns_rdatatype_cert);
dns_rdata_toregion(rdata, &r);
@@ -257,7 +257,7 @@ digest_cert(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_cert(ARGS_CHECKOWNER) {
- REQUIRE(type == 37);
+ REQUIRE(type == dns_rdatatype_cert);
UNUSED(name);
UNUSED(type);
@@ -270,7 +270,7 @@ checkowner_cert(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_cert(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 37);
+ REQUIRE(rdata->type == dns_rdatatype_cert);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/cname_5.c b/lib/dns/rdata/generic/cname_5.c
index 45a48a897fc0..3f8a69b28dbf 100644
--- a/lib/dns/rdata/generic/cname_5.c
+++ b/lib/dns/rdata/generic/cname_5.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -31,7 +31,7 @@ fromtext_cname(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 5);
+ REQUIRE(type == dns_rdatatype_cname);
UNUSED(type);
UNUSED(rdclass);
@@ -54,7 +54,7 @@ totext_cname(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 5);
+ REQUIRE(rdata->type == dns_rdatatype_cname);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -72,7 +72,7 @@ static inline isc_result_t
fromwire_cname(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 5);
+ REQUIRE(type == dns_rdatatype_cname);
UNUSED(type);
UNUSED(rdclass);
@@ -89,7 +89,7 @@ towire_cname(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 5);
+ REQUIRE(rdata->type == dns_rdatatype_cname);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -110,7 +110,7 @@ compare_cname(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 5);
+ REQUIRE(rdata1->type == dns_rdatatype_cname);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -131,7 +131,7 @@ fromstruct_cname(ARGS_FROMSTRUCT) {
dns_rdata_cname_t *cname = source;
isc_region_t region;
- REQUIRE(type == 5);
+ REQUIRE(type == dns_rdatatype_cname);
REQUIRE(source != NULL);
REQUIRE(cname->common.rdtype == type);
REQUIRE(cname->common.rdclass == rdclass);
@@ -149,7 +149,7 @@ tostruct_cname(ARGS_TOSTRUCT) {
dns_rdata_cname_t *cname = target;
dns_name_t name;
- REQUIRE(rdata->type == 5);
+ REQUIRE(rdata->type == dns_rdatatype_cname);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -185,7 +185,7 @@ additionaldata_cname(ARGS_ADDLDATA) {
UNUSED(add);
UNUSED(arg);
- REQUIRE(rdata->type == 5);
+ REQUIRE(rdata->type == dns_rdatatype_cname);
return (ISC_R_SUCCESS);
}
@@ -195,7 +195,7 @@ digest_cname(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 5);
+ REQUIRE(rdata->type == dns_rdatatype_cname);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -207,7 +207,7 @@ digest_cname(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_cname(ARGS_CHECKOWNER) {
- REQUIRE(type == 5);
+ REQUIRE(type == dns_rdatatype_cname);
UNUSED(name);
UNUSED(type);
@@ -220,7 +220,7 @@ checkowner_cname(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_cname(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 5);
+ REQUIRE(rdata->type == dns_rdatatype_cname);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/dlv_32769.c b/lib/dns/rdata/generic/dlv_32769.c
index 5751ad894527..3ff575766e3b 100644
--- a/lib/dns/rdata/generic/dlv_32769.c
+++ b/lib/dns/rdata/generic/dlv_32769.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006, 2007, 2009-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2006, 2007, 2009-2013, 2015 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
@@ -35,7 +35,7 @@ fromtext_dlv(ARGS_FROMTEXT) {
unsigned char c;
int length;
- REQUIRE(type == 32769);
+ REQUIRE(type == dns_rdatatype_dlv);
UNUSED(type);
UNUSED(rdclass);
@@ -100,7 +100,7 @@ totext_dlv(ARGS_TOTEXT) {
char buf[sizeof("64000 ")];
unsigned int n;
- REQUIRE(rdata->type == 32769);
+ REQUIRE(rdata->type == dns_rdatatype_dlv);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -151,7 +151,7 @@ static inline isc_result_t
fromwire_dlv(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 32769);
+ REQUIRE(type == dns_rdatatype_dlv);
UNUSED(type);
UNUSED(rdclass);
@@ -196,7 +196,7 @@ static inline isc_result_t
towire_dlv(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 32769);
+ REQUIRE(rdata->type == dns_rdatatype_dlv);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -212,7 +212,7 @@ compare_dlv(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 32769);
+ REQUIRE(rdata1->type == dns_rdatatype_dlv);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -225,7 +225,7 @@ static inline isc_result_t
fromstruct_dlv(ARGS_FROMSTRUCT) {
dns_rdata_dlv_t *dlv = source;
- REQUIRE(type == 32769);
+ REQUIRE(type == dns_rdatatype_dlv);
REQUIRE(source != NULL);
REQUIRE(dlv->common.rdtype == type);
REQUIRE(dlv->common.rdclass == rdclass);
@@ -259,7 +259,7 @@ tostruct_dlv(ARGS_TOSTRUCT) {
dns_rdata_dlv_t *dlv = target;
isc_region_t region;
- REQUIRE(rdata->type == 32769);
+ REQUIRE(rdata->type == dns_rdatatype_dlv);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -290,7 +290,7 @@ freestruct_dlv(ARGS_FREESTRUCT) {
dns_rdata_dlv_t *dlv = source;
REQUIRE(dlv != NULL);
- REQUIRE(dlv->common.rdtype == 32769);
+ REQUIRE(dlv->common.rdtype == dns_rdatatype_dlv);
if (dlv->mctx == NULL)
return;
@@ -302,7 +302,7 @@ freestruct_dlv(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_dlv(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 32769);
+ REQUIRE(rdata->type == dns_rdatatype_dlv);
UNUSED(rdata);
UNUSED(add);
@@ -315,7 +315,7 @@ static inline isc_result_t
digest_dlv(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 32769);
+ REQUIRE(rdata->type == dns_rdatatype_dlv);
dns_rdata_toregion(rdata, &r);
@@ -325,7 +325,7 @@ digest_dlv(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_dlv(ARGS_CHECKOWNER) {
- REQUIRE(type == 32769);
+ REQUIRE(type == dns_rdatatype_dlv);
UNUSED(name);
UNUSED(type);
@@ -338,7 +338,7 @@ checkowner_dlv(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_dlv(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 32769);
+ REQUIRE(rdata->type == dns_rdatatype_dlv);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/dname_39.c b/lib/dns/rdata/generic/dname_39.c
index d899494f5368..d181a6cd10c7 100644
--- a/lib/dns/rdata/generic/dname_39.c
+++ b/lib/dns/rdata/generic/dname_39.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,7 +32,7 @@ fromtext_dname(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 39);
+ REQUIRE(type == dns_rdatatype_dname);
UNUSED(type);
UNUSED(rdclass);
@@ -55,7 +55,7 @@ totext_dname(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 39);
+ REQUIRE(rdata->type == dns_rdatatype_dname);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -73,7 +73,7 @@ static inline isc_result_t
fromwire_dname(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 39);
+ REQUIRE(type == dns_rdatatype_dname);
UNUSED(type);
UNUSED(rdclass);
@@ -90,7 +90,7 @@ towire_dname(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 39);
+ REQUIRE(rdata->type == dns_rdatatype_dname);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -110,7 +110,7 @@ compare_dname(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 39);
+ REQUIRE(rdata1->type == dns_rdatatype_dname);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -131,7 +131,7 @@ fromstruct_dname(ARGS_FROMSTRUCT) {
dns_rdata_dname_t *dname = source;
isc_region_t region;
- REQUIRE(type == 39);
+ REQUIRE(type == dns_rdatatype_dname);
REQUIRE(source != NULL);
REQUIRE(dname->common.rdtype == type);
REQUIRE(dname->common.rdclass == rdclass);
@@ -149,7 +149,7 @@ tostruct_dname(ARGS_TOSTRUCT) {
dns_rdata_dname_t *dname = target;
dns_name_t name;
- REQUIRE(rdata->type == 39);
+ REQUIRE(rdata->type == dns_rdatatype_dname);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -171,7 +171,7 @@ freestruct_dname(ARGS_FREESTRUCT) {
dns_rdata_dname_t *dname = source;
REQUIRE(source != NULL);
- REQUIRE(dname->common.rdtype == 39);
+ REQUIRE(dname->common.rdtype == dns_rdatatype_dname);
if (dname->mctx == NULL)
return;
@@ -186,7 +186,7 @@ additionaldata_dname(ARGS_ADDLDATA) {
UNUSED(add);
UNUSED(arg);
- REQUIRE(rdata->type == 39);
+ REQUIRE(rdata->type == dns_rdatatype_dname);
return (ISC_R_SUCCESS);
}
@@ -196,7 +196,7 @@ digest_dname(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 39);
+ REQUIRE(rdata->type == dns_rdatatype_dname);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -208,7 +208,7 @@ digest_dname(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_dname(ARGS_CHECKOWNER) {
- REQUIRE(type == 39);
+ REQUIRE(type == dns_rdatatype_dname);
UNUSED(name);
UNUSED(type);
@@ -221,7 +221,7 @@ checkowner_dname(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_dname(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 39);
+ REQUIRE(rdata->type == dns_rdatatype_dname);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/dnskey_48.c b/lib/dns/rdata/generic/dnskey_48.c
index aa705cab3684..3b0387503a1b 100644
--- a/lib/dns/rdata/generic/dnskey_48.c
+++ b/lib/dns/rdata/generic/dnskey_48.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2011-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2011-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -38,7 +38,7 @@ fromtext_dnskey(ARGS_FROMTEXT) {
dns_secproto_t proto;
dns_keyflags_t flags;
- REQUIRE(type == 48);
+ REQUIRE(type == dns_rdatatype_dnskey);
UNUSED(type);
UNUSED(rdclass);
@@ -88,7 +88,7 @@ totext_dnskey(ARGS_TOTEXT) {
char algbuf[DNS_NAME_FORMATSIZE];
const char *keyinfo;
- REQUIRE(rdata->type == 48);
+ REQUIRE(rdata->type == dns_rdatatype_dnskey);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -172,7 +172,7 @@ fromwire_dnskey(ARGS_FROMWIRE) {
unsigned char algorithm;
isc_region_t sr;
- REQUIRE(type == 48);
+ REQUIRE(type == dns_rdatatype_dnskey);
UNUSED(type);
UNUSED(rdclass);
@@ -212,7 +212,7 @@ static inline isc_result_t
towire_dnskey(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 48);
+ REQUIRE(rdata->type == dns_rdatatype_dnskey);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -228,7 +228,7 @@ compare_dnskey(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 48);
+ REQUIRE(rdata1->type == dns_rdatatype_dnskey);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -241,7 +241,7 @@ static inline isc_result_t
fromstruct_dnskey(ARGS_FROMSTRUCT) {
dns_rdata_dnskey_t *dnskey = source;
- REQUIRE(type == 48);
+ REQUIRE(type == dns_rdatatype_dnskey);
REQUIRE(source != NULL);
REQUIRE(dnskey->common.rdtype == type);
REQUIRE(dnskey->common.rdclass == rdclass);
@@ -267,7 +267,7 @@ tostruct_dnskey(ARGS_TOSTRUCT) {
dns_rdata_dnskey_t *dnskey = target;
isc_region_t sr;
- REQUIRE(rdata->type == 48);
+ REQUIRE(rdata->type == dns_rdatatype_dnskey);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -310,7 +310,7 @@ freestruct_dnskey(ARGS_FREESTRUCT) {
dns_rdata_dnskey_t *dnskey = (dns_rdata_dnskey_t *) source;
REQUIRE(source != NULL);
- REQUIRE(dnskey->common.rdtype == 48);
+ REQUIRE(dnskey->common.rdtype == dns_rdatatype_dnskey);
if (dnskey->mctx == NULL)
return;
@@ -322,7 +322,7 @@ freestruct_dnskey(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_dnskey(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 48);
+ REQUIRE(rdata->type == dns_rdatatype_dnskey);
UNUSED(rdata);
UNUSED(add);
@@ -335,7 +335,7 @@ static inline isc_result_t
digest_dnskey(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 48);
+ REQUIRE(rdata->type == dns_rdatatype_dnskey);
dns_rdata_toregion(rdata, &r);
@@ -345,7 +345,7 @@ digest_dnskey(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_dnskey(ARGS_CHECKOWNER) {
- REQUIRE(type == 48);
+ REQUIRE(type == dns_rdatatype_dnskey);
UNUSED(name);
UNUSED(type);
@@ -358,7 +358,7 @@ checkowner_dnskey(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_dnskey(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 48);
+ REQUIRE(rdata->type == dns_rdatatype_dnskey);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/ds_43.c b/lib/dns/rdata/generic/ds_43.c
index dd47c8d5e83e..975fdfd2b3a6 100644
--- a/lib/dns/rdata/generic/ds_43.c
+++ b/lib/dns/rdata/generic/ds_43.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -36,7 +36,7 @@ fromtext_ds(ARGS_FROMTEXT) {
unsigned char c;
int length;
- REQUIRE(type == 43);
+ REQUIRE(type == dns_rdatatype_ds);
UNUSED(type);
UNUSED(rdclass);
@@ -100,7 +100,7 @@ totext_ds(ARGS_TOTEXT) {
char buf[sizeof("64000 ")];
unsigned int n;
- REQUIRE(rdata->type == 43);
+ REQUIRE(rdata->type == dns_rdatatype_ds);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -151,7 +151,7 @@ static inline isc_result_t
fromwire_ds(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 43);
+ REQUIRE(type == dns_rdatatype_ds);
UNUSED(type);
UNUSED(rdclass);
@@ -196,7 +196,7 @@ static inline isc_result_t
towire_ds(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 43);
+ REQUIRE(rdata->type == dns_rdatatype_ds);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -212,7 +212,7 @@ compare_ds(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 43);
+ REQUIRE(rdata1->type == dns_rdatatype_ds);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -225,7 +225,7 @@ static inline isc_result_t
fromstruct_ds(ARGS_FROMSTRUCT) {
dns_rdata_ds_t *ds = source;
- REQUIRE(type == 43);
+ REQUIRE(type == dns_rdatatype_ds);
REQUIRE(source != NULL);
REQUIRE(ds->common.rdtype == type);
REQUIRE(ds->common.rdclass == rdclass);
@@ -259,7 +259,7 @@ tostruct_ds(ARGS_TOSTRUCT) {
dns_rdata_ds_t *ds = target;
isc_region_t region;
- REQUIRE(rdata->type == 43);
+ REQUIRE(rdata->type == dns_rdatatype_ds);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -290,7 +290,7 @@ freestruct_ds(ARGS_FREESTRUCT) {
dns_rdata_ds_t *ds = source;
REQUIRE(ds != NULL);
- REQUIRE(ds->common.rdtype == 43);
+ REQUIRE(ds->common.rdtype == dns_rdatatype_ds);
if (ds->mctx == NULL)
return;
@@ -302,7 +302,7 @@ freestruct_ds(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_ds(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 43);
+ REQUIRE(rdata->type == dns_rdatatype_ds);
UNUSED(rdata);
UNUSED(add);
@@ -315,7 +315,7 @@ static inline isc_result_t
digest_ds(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 43);
+ REQUIRE(rdata->type == dns_rdatatype_ds);
dns_rdata_toregion(rdata, &r);
@@ -325,7 +325,7 @@ digest_ds(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_ds(ARGS_CHECKOWNER) {
- REQUIRE(type == 43);
+ REQUIRE(type == dns_rdatatype_ds);
UNUSED(name);
UNUSED(type);
@@ -338,7 +338,7 @@ checkowner_ds(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_ds(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 43);
+ REQUIRE(rdata->type == dns_rdatatype_ds);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/eui48_108.c b/lib/dns/rdata/generic/eui48_108.c
index b25a7b7e03e4..9910e48c3dcd 100644
--- a/lib/dns/rdata/generic/eui48_108.c
+++ b/lib/dns/rdata/generic/eui48_108.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013-2015 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
@@ -28,7 +28,7 @@ fromtext_eui48(ARGS_FROMTEXT) {
unsigned int l0, l1, l2, l3, l4, l5;
int n;
- REQUIRE(type == 108);
+ REQUIRE(type == dns_rdatatype_eui48);
UNUSED(type);
UNUSED(rdclass);
@@ -57,7 +57,7 @@ static inline isc_result_t
totext_eui48(ARGS_TOTEXT) {
char buf[sizeof("xx-xx-xx-xx-xx-xx")];
- REQUIRE(rdata->type == 108);
+ REQUIRE(rdata->type == dns_rdatatype_eui48);
REQUIRE(rdata->length == 6);
UNUSED(tctx);
@@ -72,7 +72,7 @@ static inline isc_result_t
fromwire_eui48(ARGS_FROMWIRE) {
isc_region_t sregion;
- REQUIRE(type == 108);
+ REQUIRE(type == dns_rdatatype_eui48);
UNUSED(type);
UNUSED(options);
@@ -89,7 +89,7 @@ fromwire_eui48(ARGS_FROMWIRE) {
static inline isc_result_t
towire_eui48(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 108);
+ REQUIRE(rdata->type == dns_rdatatype_eui48);
REQUIRE(rdata->length == 6);
UNUSED(cctx);
@@ -104,7 +104,7 @@ compare_eui48(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 108);
+ REQUIRE(rdata1->type == dns_rdatatype_eui48);
REQUIRE(rdata1->length == 6);
REQUIRE(rdata2->length == 6);
@@ -117,7 +117,7 @@ static inline isc_result_t
fromstruct_eui48(ARGS_FROMSTRUCT) {
dns_rdata_eui48_t *eui48 = source;
- REQUIRE(type == 108);
+ REQUIRE(type == dns_rdatatype_eui48);
REQUIRE(source != NULL);
REQUIRE(eui48->common.rdtype == type);
REQUIRE(eui48->common.rdclass == rdclass);
@@ -132,7 +132,7 @@ static inline isc_result_t
tostruct_eui48(ARGS_TOSTRUCT) {
dns_rdata_eui48_t *eui48 = target;
- REQUIRE(rdata->type == 108);
+ REQUIRE(rdata->type == dns_rdatatype_eui48);
REQUIRE(target != NULL);
REQUIRE(rdata->length == 6);
@@ -151,7 +151,7 @@ freestruct_eui48(ARGS_FREESTRUCT) {
dns_rdata_eui48_t *eui48 = source;
REQUIRE(source != NULL);
- REQUIRE(eui48->common.rdtype == 108);
+ REQUIRE(eui48->common.rdtype == dns_rdatatype_eui48);
return;
}
@@ -159,7 +159,7 @@ freestruct_eui48(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_eui48(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 108);
+ REQUIRE(rdata->type == dns_rdatatype_eui48);
REQUIRE(rdata->length == 6);
UNUSED(rdata);
@@ -173,7 +173,7 @@ static inline isc_result_t
digest_eui48(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 108);
+ REQUIRE(rdata->type == dns_rdatatype_eui48);
REQUIRE(rdata->length == 6);
dns_rdata_toregion(rdata, &r);
@@ -184,7 +184,7 @@ digest_eui48(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_eui48(ARGS_CHECKOWNER) {
- REQUIRE(type == 108);
+ REQUIRE(type == dns_rdatatype_eui48);
UNUSED(name);
UNUSED(type);
@@ -197,7 +197,7 @@ checkowner_eui48(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_eui48(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 108);
+ REQUIRE(rdata->type == dns_rdatatype_eui48);
REQUIRE(rdata->length == 6);
UNUSED(rdata);
diff --git a/lib/dns/rdata/generic/eui64_109.c b/lib/dns/rdata/generic/eui64_109.c
index 33d2f637c825..6ac7f0d619f7 100644
--- a/lib/dns/rdata/generic/eui64_109.c
+++ b/lib/dns/rdata/generic/eui64_109.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013-2015 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
@@ -28,7 +28,7 @@ fromtext_eui64(ARGS_FROMTEXT) {
unsigned int l0, l1, l2, l3, l4, l5, l6, l7;
int n;
- REQUIRE(type == 109);
+ REQUIRE(type == dns_rdatatype_eui64);
UNUSED(type);
UNUSED(rdclass);
@@ -59,7 +59,7 @@ static inline isc_result_t
totext_eui64(ARGS_TOTEXT) {
char buf[sizeof("xx-xx-xx-xx-xx-xx-xx-xx")];
- REQUIRE(rdata->type == 109);
+ REQUIRE(rdata->type == dns_rdatatype_eui64);
REQUIRE(rdata->length == 8);
UNUSED(tctx);
@@ -77,7 +77,7 @@ static inline isc_result_t
fromwire_eui64(ARGS_FROMWIRE) {
isc_region_t sregion;
- REQUIRE(type == 109);
+ REQUIRE(type == dns_rdatatype_eui64);
UNUSED(type);
UNUSED(options);
@@ -94,7 +94,7 @@ fromwire_eui64(ARGS_FROMWIRE) {
static inline isc_result_t
towire_eui64(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 109);
+ REQUIRE(rdata->type == dns_rdatatype_eui64);
REQUIRE(rdata->length == 8);
UNUSED(cctx);
@@ -109,7 +109,7 @@ compare_eui64(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 109);
+ REQUIRE(rdata1->type == dns_rdatatype_eui64);
REQUIRE(rdata1->length == 8);
REQUIRE(rdata2->length == 8);
@@ -122,7 +122,7 @@ static inline isc_result_t
fromstruct_eui64(ARGS_FROMSTRUCT) {
dns_rdata_eui64_t *eui64 = source;
- REQUIRE(type == 109);
+ REQUIRE(type == dns_rdatatype_eui64);
REQUIRE(source != NULL);
REQUIRE(eui64->common.rdtype == type);
REQUIRE(eui64->common.rdclass == rdclass);
@@ -137,7 +137,7 @@ static inline isc_result_t
tostruct_eui64(ARGS_TOSTRUCT) {
dns_rdata_eui64_t *eui64 = target;
- REQUIRE(rdata->type == 109);
+ REQUIRE(rdata->type == dns_rdatatype_eui64);
REQUIRE(target != NULL);
REQUIRE(rdata->length == 8);
@@ -156,7 +156,7 @@ freestruct_eui64(ARGS_FREESTRUCT) {
dns_rdata_eui64_t *eui64 = source;
REQUIRE(source != NULL);
- REQUIRE(eui64->common.rdtype == 109);
+ REQUIRE(eui64->common.rdtype == dns_rdatatype_eui64);
return;
}
@@ -164,7 +164,7 @@ freestruct_eui64(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_eui64(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 109);
+ REQUIRE(rdata->type == dns_rdatatype_eui64);
REQUIRE(rdata->length == 8);
UNUSED(rdata);
@@ -178,7 +178,7 @@ static inline isc_result_t
digest_eui64(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 109);
+ REQUIRE(rdata->type == dns_rdatatype_eui64);
REQUIRE(rdata->length == 8);
dns_rdata_toregion(rdata, &r);
@@ -189,7 +189,7 @@ digest_eui64(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_eui64(ARGS_CHECKOWNER) {
- REQUIRE(type == 109);
+ REQUIRE(type == dns_rdatatype_eui64);
UNUSED(name);
UNUSED(type);
@@ -202,7 +202,7 @@ checkowner_eui64(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_eui64(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 109);
+ REQUIRE(rdata->type == dns_rdatatype_eui64);
REQUIRE(rdata->length == 8);
UNUSED(rdata);
diff --git a/lib/dns/rdata/generic/gpos_27.c b/lib/dns/rdata/generic/gpos_27.c
index e9ba59eacb6a..d5fa6b6055fc 100644
--- a/lib/dns/rdata/generic/gpos_27.c
+++ b/lib/dns/rdata/generic/gpos_27.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -31,7 +31,7 @@ fromtext_gpos(ARGS_FROMTEXT) {
isc_token_t token;
int i;
- REQUIRE(type == 27);
+ REQUIRE(type == dns_rdatatype_gpos);
UNUSED(type);
UNUSED(rdclass);
@@ -53,7 +53,7 @@ totext_gpos(ARGS_TOTEXT) {
isc_region_t region;
int i;
- REQUIRE(rdata->type == 27);
+ REQUIRE(rdata->type == dns_rdatatype_gpos);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -73,7 +73,7 @@ static inline isc_result_t
fromwire_gpos(ARGS_FROMWIRE) {
int i;
- REQUIRE(type == 27);
+ REQUIRE(type == dns_rdatatype_gpos);
UNUSED(type);
UNUSED(dctx);
@@ -88,7 +88,7 @@ fromwire_gpos(ARGS_FROMWIRE) {
static inline isc_result_t
towire_gpos(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 27);
+ REQUIRE(rdata->type == dns_rdatatype_gpos);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -103,7 +103,7 @@ compare_gpos(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 27);
+ REQUIRE(rdata1->type == dns_rdatatype_gpos);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -116,7 +116,7 @@ static inline isc_result_t
fromstruct_gpos(ARGS_FROMSTRUCT) {
dns_rdata_gpos_t *gpos = source;
- REQUIRE(type == 27);
+ REQUIRE(type == dns_rdatatype_gpos);
REQUIRE(source != NULL);
REQUIRE(gpos->common.rdtype == type);
REQUIRE(gpos->common.rdclass == rdclass);
@@ -137,7 +137,7 @@ tostruct_gpos(ARGS_TOSTRUCT) {
dns_rdata_gpos_t *gpos = target;
isc_region_t region;
- REQUIRE(rdata->type == 27);
+ REQUIRE(rdata->type == dns_rdatatype_gpos);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -188,7 +188,7 @@ freestruct_gpos(ARGS_FREESTRUCT) {
dns_rdata_gpos_t *gpos = source;
REQUIRE(source != NULL);
- REQUIRE(gpos->common.rdtype == 27);
+ REQUIRE(gpos->common.rdtype == dns_rdatatype_gpos);
if (gpos->mctx == NULL)
return;
@@ -204,7 +204,7 @@ freestruct_gpos(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_gpos(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 27);
+ REQUIRE(rdata->type == dns_rdatatype_gpos);
UNUSED(rdata);
UNUSED(add);
@@ -217,7 +217,7 @@ static inline isc_result_t
digest_gpos(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 27);
+ REQUIRE(rdata->type == dns_rdatatype_gpos);
dns_rdata_toregion(rdata, &r);
@@ -227,7 +227,7 @@ digest_gpos(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_gpos(ARGS_CHECKOWNER) {
- REQUIRE(type == 27);
+ REQUIRE(type == dns_rdatatype_gpos);
UNUSED(name);
UNUSED(type);
@@ -240,7 +240,7 @@ checkowner_gpos(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_gpos(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 27);
+ REQUIRE(rdata->type == dns_rdatatype_gpos);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/hinfo_13.c b/lib/dns/rdata/generic/hinfo_13.c
index 411d6b56866e..abac75134946 100644
--- a/lib/dns/rdata/generic/hinfo_13.c
+++ b/lib/dns/rdata/generic/hinfo_13.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -37,7 +37,7 @@ fromtext_hinfo(ARGS_FROMTEXT) {
UNUSED(options);
UNUSED(callbacks);
- REQUIRE(type == 13);
+ REQUIRE(type == dns_rdatatype_hinfo);
for (i = 0; i < 2; i++) {
RETERR(isc_lex_getmastertoken(lexer, &token,
@@ -54,7 +54,7 @@ totext_hinfo(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 13);
+ REQUIRE(rdata->type == dns_rdatatype_hinfo);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &region);
@@ -66,7 +66,7 @@ totext_hinfo(ARGS_TOTEXT) {
static inline isc_result_t
fromwire_hinfo(ARGS_FROMWIRE) {
- REQUIRE(type == 13);
+ REQUIRE(type == dns_rdatatype_hinfo);
UNUSED(type);
UNUSED(dctx);
@@ -82,7 +82,7 @@ towire_hinfo(ARGS_TOWIRE) {
UNUSED(cctx);
- REQUIRE(rdata->type == 13);
+ REQUIRE(rdata->type == dns_rdatatype_hinfo);
REQUIRE(rdata->length != 0);
return (mem_tobuffer(target, rdata->data, rdata->length));
@@ -95,7 +95,7 @@ compare_hinfo(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 13);
+ REQUIRE(rdata1->type == dns_rdatatype_hinfo);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -108,7 +108,7 @@ static inline isc_result_t
fromstruct_hinfo(ARGS_FROMSTRUCT) {
dns_rdata_hinfo_t *hinfo = source;
- REQUIRE(type == 13);
+ REQUIRE(type == dns_rdatatype_hinfo);
REQUIRE(source != NULL);
REQUIRE(hinfo->common.rdtype == type);
REQUIRE(hinfo->common.rdclass == rdclass);
@@ -127,7 +127,7 @@ tostruct_hinfo(ARGS_TOSTRUCT) {
dns_rdata_hinfo_t *hinfo = target;
isc_region_t region;
- REQUIRE(rdata->type == 13);
+ REQUIRE(rdata->type == dns_rdatatype_hinfo);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -176,7 +176,7 @@ freestruct_hinfo(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_hinfo(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 13);
+ REQUIRE(rdata->type == dns_rdatatype_hinfo);
UNUSED(add);
UNUSED(arg);
@@ -189,7 +189,7 @@ static inline isc_result_t
digest_hinfo(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 13);
+ REQUIRE(rdata->type == dns_rdatatype_hinfo);
dns_rdata_toregion(rdata, &r);
@@ -199,7 +199,7 @@ digest_hinfo(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_hinfo(ARGS_CHECKOWNER) {
- REQUIRE(type == 13);
+ REQUIRE(type == dns_rdatatype_hinfo);
UNUSED(name);
UNUSED(type);
@@ -212,7 +212,7 @@ checkowner_hinfo(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_hinfo(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 13);
+ REQUIRE(rdata->type == dns_rdatatype_hinfo);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/hip_55.c b/lib/dns/rdata/generic/hip_55.c
index eee581f26a95..7c51d1f72a54 100644
--- a/lib/dns/rdata/generic/hip_55.c
+++ b/lib/dns/rdata/generic/hip_55.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2011, 2013-2015 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
@@ -35,7 +35,7 @@ fromtext_hip(ARGS_FROMTEXT) {
unsigned char *start;
size_t len;
- REQUIRE(type == 55);
+ REQUIRE(type == dns_rdatatype_hip);
UNUSED(type);
UNUSED(rdclass);
@@ -126,7 +126,7 @@ totext_hip(ARGS_TOTEXT) {
unsigned char algorithm;
char buf[sizeof("225 ")];
- REQUIRE(rdata->type == 55);
+ REQUIRE(rdata->type == dns_rdatatype_hip);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &region);
@@ -193,7 +193,7 @@ fromwire_hip(ARGS_FROMWIRE) {
isc_uint8_t hit_len;
isc_uint16_t key_len;
- REQUIRE(type == 55);
+ REQUIRE(type == dns_rdatatype_hip);
UNUSED(type);
UNUSED(rdclass);
@@ -229,7 +229,7 @@ static inline isc_result_t
towire_hip(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 55);
+ REQUIRE(rdata->type == dns_rdatatype_hip);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -245,7 +245,7 @@ compare_hip(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 55);
+ REQUIRE(rdata1->type == dns_rdatatype_hip);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -260,7 +260,7 @@ fromstruct_hip(ARGS_FROMSTRUCT) {
dns_rdata_hip_t myhip;
isc_result_t result;
- REQUIRE(type == 55);
+ REQUIRE(type == dns_rdatatype_hip);
REQUIRE(source != NULL);
REQUIRE(hip->common.rdtype == type);
REQUIRE(hip->common.rdclass == rdclass);
@@ -292,7 +292,7 @@ tostruct_hip(ARGS_TOSTRUCT) {
isc_region_t region;
dns_rdata_hip_t *hip = target;
- REQUIRE(rdata->type == 55);
+ REQUIRE(rdata->type == dns_rdatatype_hip);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -369,7 +369,7 @@ additionaldata_hip(ARGS_ADDLDATA) {
UNUSED(add);
UNUSED(arg);
- REQUIRE(rdata->type == 55);
+ REQUIRE(rdata->type == dns_rdatatype_hip);
return (ISC_R_SUCCESS);
}
@@ -378,7 +378,7 @@ static inline isc_result_t
digest_hip(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 55);
+ REQUIRE(rdata->type == dns_rdatatype_hip);
dns_rdata_toregion(rdata, &r);
return ((digest)(arg, &r));
@@ -387,7 +387,7 @@ digest_hip(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_hip(ARGS_CHECKOWNER) {
- REQUIRE(type == 55);
+ REQUIRE(type == dns_rdatatype_hip);
UNUSED(name);
UNUSED(type);
@@ -400,7 +400,7 @@ checkowner_hip(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_hip(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 55);
+ REQUIRE(rdata->type == dns_rdatatype_hip);
UNUSED(rdata);
UNUSED(owner);
@@ -459,7 +459,7 @@ casecompare_hip(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 55);
+ REQUIRE(rdata1->type == dns_rdatatype_hip);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
diff --git a/lib/dns/rdata/generic/ipseckey_45.c b/lib/dns/rdata/generic/ipseckey_45.c
index 230d0d1e1e82..c5462c1a69a8 100644
--- a/lib/dns/rdata/generic/ipseckey_45.c
+++ b/lib/dns/rdata/generic/ipseckey_45.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2007, 2009, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2005, 2007, 2009, 2011, 2012, 2014, 2015 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
@@ -35,7 +35,7 @@ fromtext_ipseckey(ARGS_FROMTEXT) {
unsigned char addr6[16];
isc_region_t region;
- REQUIRE(type == 45);
+ REQUIRE(type == dns_rdatatype_ipseckey);
UNUSED(type);
UNUSED(rdclass);
@@ -124,7 +124,7 @@ totext_ipseckey(ARGS_TOTEXT) {
unsigned short num;
unsigned short gateway;
- REQUIRE(rdata->type == 45);
+ REQUIRE(rdata->type == dns_rdatatype_ipseckey);
REQUIRE(rdata->length >= 3);
dns_name_init(&name, NULL);
@@ -207,7 +207,7 @@ fromwire_ipseckey(ARGS_FROMWIRE) {
dns_name_t name;
isc_region_t region;
- REQUIRE(type == 45);
+ REQUIRE(type == dns_rdatatype_ipseckey);
UNUSED(type);
UNUSED(rdclass);
@@ -254,7 +254,7 @@ static inline isc_result_t
towire_ipseckey(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 45);
+ REQUIRE(rdata->type == dns_rdatatype_ipseckey);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -270,7 +270,7 @@ compare_ipseckey(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 45);
+ REQUIRE(rdata1->type == dns_rdatatype_ipseckey);
REQUIRE(rdata1->length >= 3);
REQUIRE(rdata2->length >= 3);
@@ -286,7 +286,7 @@ fromstruct_ipseckey(ARGS_FROMSTRUCT) {
isc_region_t region;
isc_uint32_t n;
- REQUIRE(type == 45);
+ REQUIRE(type == dns_rdatatype_ipseckey);
REQUIRE(source != NULL);
REQUIRE(ipseckey->common.rdtype == type);
REQUIRE(ipseckey->common.rdclass == rdclass);
@@ -330,7 +330,7 @@ tostruct_ipseckey(ARGS_TOSTRUCT) {
dns_name_t name;
isc_uint32_t n;
- REQUIRE(rdata->type == 45);
+ REQUIRE(rdata->type == dns_rdatatype_ipseckey);
REQUIRE(target != NULL);
REQUIRE(rdata->length >= 3);
@@ -398,7 +398,7 @@ freestruct_ipseckey(ARGS_FREESTRUCT) {
dns_rdata_ipseckey_t *ipseckey = source;
REQUIRE(source != NULL);
- REQUIRE(ipseckey->common.rdtype == 45);
+ REQUIRE(ipseckey->common.rdtype == dns_rdatatype_ipseckey);
if (ipseckey->mctx == NULL)
return;
@@ -415,7 +415,7 @@ freestruct_ipseckey(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_ipseckey(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 45);
+ REQUIRE(rdata->type == dns_rdatatype_ipseckey);
UNUSED(rdata);
UNUSED(add);
@@ -428,7 +428,7 @@ static inline isc_result_t
digest_ipseckey(ARGS_DIGEST) {
isc_region_t region;
- REQUIRE(rdata->type == 45);
+ REQUIRE(rdata->type == dns_rdatatype_ipseckey);
dns_rdata_toregion(rdata, &region);
return ((digest)(arg, &region));
@@ -437,7 +437,7 @@ digest_ipseckey(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_ipseckey(ARGS_CHECKOWNER) {
- REQUIRE(type == 45);
+ REQUIRE(type == dns_rdatatype_ipseckey);
UNUSED(name);
UNUSED(type);
@@ -450,7 +450,7 @@ checkowner_ipseckey(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_ipseckey(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 45);
+ REQUIRE(rdata->type == dns_rdatatype_ipseckey);
UNUSED(rdata);
UNUSED(owner);
@@ -469,7 +469,7 @@ casecompare_ipseckey(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 45);
+ REQUIRE(rdata1->type == dns_rdatatype_ipseckey);
REQUIRE(rdata1->length >= 3);
REQUIRE(rdata2->length >= 3);
diff --git a/lib/dns/rdata/generic/isdn_20.c b/lib/dns/rdata/generic/isdn_20.c
index dea36f0f658a..bc566b25c3b9 100644
--- a/lib/dns/rdata/generic/isdn_20.c
+++ b/lib/dns/rdata/generic/isdn_20.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@ static inline isc_result_t
fromtext_isdn(ARGS_FROMTEXT) {
isc_token_t token;
- REQUIRE(type == 20);
+ REQUIRE(type == dns_rdatatype_isdn);
UNUSED(type);
UNUSED(rdclass);
@@ -59,7 +59,7 @@ static inline isc_result_t
totext_isdn(ARGS_TOTEXT) {
isc_region_t region;
- REQUIRE(rdata->type == 20);
+ REQUIRE(rdata->type == dns_rdatatype_isdn);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -74,7 +74,7 @@ totext_isdn(ARGS_TOTEXT) {
static inline isc_result_t
fromwire_isdn(ARGS_FROMWIRE) {
- REQUIRE(type == 20);
+ REQUIRE(type == dns_rdatatype_isdn);
UNUSED(type);
UNUSED(dctx);
@@ -91,7 +91,7 @@ static inline isc_result_t
towire_isdn(ARGS_TOWIRE) {
UNUSED(cctx);
- REQUIRE(rdata->type == 20);
+ REQUIRE(rdata->type == dns_rdatatype_isdn);
REQUIRE(rdata->length != 0);
return (mem_tobuffer(target, rdata->data, rdata->length));
@@ -104,7 +104,7 @@ compare_isdn(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 20);
+ REQUIRE(rdata1->type == dns_rdatatype_isdn);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -117,7 +117,7 @@ static inline isc_result_t
fromstruct_isdn(ARGS_FROMSTRUCT) {
dns_rdata_isdn_t *isdn = source;
- REQUIRE(type == 20);
+ REQUIRE(type == dns_rdatatype_isdn);
REQUIRE(source != NULL);
REQUIRE(isdn->common.rdtype == type);
REQUIRE(isdn->common.rdclass == rdclass);
@@ -138,7 +138,7 @@ tostruct_isdn(ARGS_TOSTRUCT) {
dns_rdata_isdn_t *isdn = target;
isc_region_t r;
- REQUIRE(rdata->type == 20);
+ REQUIRE(rdata->type == dns_rdatatype_isdn);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -194,7 +194,7 @@ freestruct_isdn(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_isdn(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 20);
+ REQUIRE(rdata->type == dns_rdatatype_isdn);
UNUSED(rdata);
UNUSED(add);
@@ -207,7 +207,7 @@ static inline isc_result_t
digest_isdn(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 20);
+ REQUIRE(rdata->type == dns_rdatatype_isdn);
dns_rdata_toregion(rdata, &r);
@@ -217,7 +217,7 @@ digest_isdn(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_isdn(ARGS_CHECKOWNER) {
- REQUIRE(type == 20);
+ REQUIRE(type == dns_rdatatype_isdn);
UNUSED(name);
UNUSED(type);
@@ -230,7 +230,7 @@ checkowner_isdn(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_isdn(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 20);
+ REQUIRE(rdata->type == dns_rdatatype_isdn);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/key_25.c b/lib/dns/rdata/generic/key_25.c
index f55401e1b8ac..c2ddd57fc108 100644
--- a/lib/dns/rdata/generic/key_25.c
+++ b/lib/dns/rdata/generic/key_25.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2011-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2011-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -38,7 +38,7 @@ fromtext_key(ARGS_FROMTEXT) {
dns_secproto_t proto;
dns_keyflags_t flags;
- REQUIRE(type == 25);
+ REQUIRE(type == dns_rdatatype_key);
UNUSED(type);
UNUSED(rdclass);
@@ -87,7 +87,7 @@ totext_key(ARGS_TOTEXT) {
unsigned char algorithm;
char namebuf[DNS_NAME_FORMATSIZE];
- REQUIRE(rdata->type == 25);
+ REQUIRE(rdata->type == dns_rdatatype_key);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -163,7 +163,7 @@ fromwire_key(ARGS_FROMWIRE) {
unsigned char algorithm;
isc_region_t sr;
- REQUIRE(type == 25);
+ REQUIRE(type == dns_rdatatype_key);
UNUSED(type);
UNUSED(rdclass);
@@ -203,7 +203,7 @@ static inline isc_result_t
towire_key(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 25);
+ REQUIRE(rdata->type == dns_rdatatype_key);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -219,7 +219,7 @@ compare_key(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 25);
+ REQUIRE(rdata1->type == dns_rdatatype_key);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -232,7 +232,7 @@ static inline isc_result_t
fromstruct_key(ARGS_FROMSTRUCT) {
dns_rdata_key_t *key = source;
- REQUIRE(type == 25);
+ REQUIRE(type == dns_rdatatype_key);
REQUIRE(source != NULL);
REQUIRE(key->common.rdtype == type);
REQUIRE(key->common.rdclass == rdclass);
@@ -258,7 +258,7 @@ tostruct_key(ARGS_TOSTRUCT) {
dns_rdata_key_t *key = target;
isc_region_t sr;
- REQUIRE(rdata->type == 25);
+ REQUIRE(rdata->type == dns_rdatatype_key);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -301,7 +301,7 @@ freestruct_key(ARGS_FREESTRUCT) {
dns_rdata_key_t *key = (dns_rdata_key_t *) source;
REQUIRE(source != NULL);
- REQUIRE(key->common.rdtype == 25);
+ REQUIRE(key->common.rdtype == dns_rdatatype_key);
if (key->mctx == NULL)
return;
@@ -313,7 +313,7 @@ freestruct_key(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_key(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 25);
+ REQUIRE(rdata->type == dns_rdatatype_key);
UNUSED(rdata);
UNUSED(add);
@@ -326,7 +326,7 @@ static inline isc_result_t
digest_key(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 25);
+ REQUIRE(rdata->type == dns_rdatatype_key);
dns_rdata_toregion(rdata, &r);
@@ -336,7 +336,7 @@ digest_key(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_key(ARGS_CHECKOWNER) {
- REQUIRE(type == 25);
+ REQUIRE(type == dns_rdatatype_key);
UNUSED(name);
UNUSED(type);
@@ -349,7 +349,7 @@ checkowner_key(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_key(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 25);
+ REQUIRE(rdata->type == dns_rdatatype_key);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/keydata_65533.c b/lib/dns/rdata/generic/keydata_65533.c
index 00cf084eb62a..3be76989f7bf 100644
--- a/lib/dns/rdata/generic/keydata_65533.c
+++ b/lib/dns/rdata/generic/keydata_65533.c
@@ -33,7 +33,7 @@ fromtext_keydata(ARGS_FROMTEXT) {
dns_keyflags_t flags;
isc_uint32_t refresh, addhd, removehd;
- REQUIRE(type == 65533);
+ REQUIRE(type == dns_rdatatype_keydata);
UNUSED(type);
UNUSED(rdclass);
@@ -98,11 +98,11 @@ totext_keydata(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned int flags;
unsigned char algorithm;
- unsigned long refresh, add, remove;
+ unsigned long refresh, add, delete;
char algbuf[DNS_NAME_FORMATSIZE];
const char *keyinfo;
- REQUIRE(rdata->type == 65533);
+ REQUIRE(rdata->type == dns_rdatatype_keydata);
if ((tctx->flags & DNS_STYLEFLAG_KEYDATA) == 0 || rdata->length < 16)
return (unknown_totext(rdata, tctx, target));
@@ -122,9 +122,9 @@ totext_keydata(ARGS_TOTEXT) {
RETERR(str_totext(" ", target));
/* remove hold-down */
- remove = uint32_fromregion(&sr);
+ delete = uint32_fromregion(&sr);
isc_region_consume(&sr, 4);
- RETERR(dns_time32_totext(remove, target));
+ RETERR(dns_time32_totext(delete, target));
RETERR(str_totext(" ", target));
/* flags */
@@ -206,7 +206,7 @@ totext_keydata(ARGS_TOTEXT) {
isc_time_formathttptimestamp(&t, rbuf, sizeof(rbuf));
RETERR(str_totext(rbuf, target));
- if (add == 0) {
+ if (add == 0U) {
RETERR(str_totext(tctx->linebreak, target));
RETERR(str_totext("; no trust", target));
} else {
@@ -224,11 +224,11 @@ totext_keydata(ARGS_TOTEXT) {
RETERR(str_totext(abuf, target));
}
- if (remove != 0) {
+ if (delete != 0U) {
RETERR(str_totext(tctx->linebreak, target));
RETERR(str_totext("; removal pending: ",
target));
- isc_time_set(&t, remove, 0);
+ isc_time_set(&t, delete, 0);
isc_time_formathttptimestamp(&t, dbuf,
sizeof(dbuf));
RETERR(str_totext(dbuf, target));
@@ -243,7 +243,7 @@ static inline isc_result_t
fromwire_keydata(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 65533);
+ REQUIRE(type == dns_rdatatype_keydata);
UNUSED(type);
UNUSED(rdclass);
@@ -259,7 +259,7 @@ static inline isc_result_t
towire_keydata(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 65533);
+ REQUIRE(rdata->type == dns_rdatatype_keydata);
UNUSED(cctx);
@@ -274,7 +274,7 @@ compare_keydata(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 65533);
+ REQUIRE(rdata1->type == dns_rdatatype_keydata);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
@@ -285,7 +285,7 @@ static inline isc_result_t
fromstruct_keydata(ARGS_FROMSTRUCT) {
dns_rdata_keydata_t *keydata = source;
- REQUIRE(type == 65533);
+ REQUIRE(type == dns_rdatatype_keydata);
REQUIRE(source != NULL);
REQUIRE(keydata->common.rdtype == type);
REQUIRE(keydata->common.rdclass == rdclass);
@@ -320,7 +320,7 @@ tostruct_keydata(ARGS_TOSTRUCT) {
dns_rdata_keydata_t *keydata = target;
isc_region_t sr;
- REQUIRE(rdata->type == 65533);
+ REQUIRE(rdata->type == dns_rdatatype_keydata);
REQUIRE(target != NULL);
keydata->common.rdclass = rdata->rdclass;
@@ -380,7 +380,7 @@ freestruct_keydata(ARGS_FREESTRUCT) {
dns_rdata_keydata_t *keydata = (dns_rdata_keydata_t *) source;
REQUIRE(source != NULL);
- REQUIRE(keydata->common.rdtype == 65533);
+ REQUIRE(keydata->common.rdtype == dns_rdatatype_keydata);
if (keydata->mctx == NULL)
return;
@@ -392,7 +392,7 @@ freestruct_keydata(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_keydata(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 65533);
+ REQUIRE(rdata->type == dns_rdatatype_keydata);
UNUSED(rdata);
UNUSED(add);
@@ -405,7 +405,7 @@ static inline isc_result_t
digest_keydata(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 65533);
+ REQUIRE(rdata->type == dns_rdatatype_keydata);
dns_rdata_toregion(rdata, &r);
@@ -415,7 +415,7 @@ digest_keydata(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_keydata(ARGS_CHECKOWNER) {
- REQUIRE(type == 65533);
+ REQUIRE(type == dns_rdatatype_keydata);
UNUSED(name);
UNUSED(type);
@@ -428,7 +428,7 @@ checkowner_keydata(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_keydata(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 65533);
+ REQUIRE(rdata->type == dns_rdatatype_keydata);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/l32_105.c b/lib/dns/rdata/generic/l32_105.c
index d191624ebc25..d721d04f65d0 100644
--- a/lib/dns/rdata/generic/l32_105.c
+++ b/lib/dns/rdata/generic/l32_105.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013-2015 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
@@ -29,7 +29,7 @@ fromtext_l32(ARGS_FROMTEXT) {
struct in_addr addr;
isc_region_t region;
- REQUIRE(type == 105);
+ REQUIRE(type == dns_rdatatype_l32);
UNUSED(type);
UNUSED(rdclass);
@@ -62,7 +62,7 @@ totext_l32(ARGS_TOTEXT) {
char buf[sizeof("65000")];
unsigned short num;
- REQUIRE(rdata->type == 105);
+ REQUIRE(rdata->type == dns_rdatatype_l32);
REQUIRE(rdata->length == 6);
UNUSED(tctx);
@@ -82,7 +82,7 @@ static inline isc_result_t
fromwire_l32(ARGS_FROMWIRE) {
isc_region_t sregion;
- REQUIRE(type == 105);
+ REQUIRE(type == dns_rdatatype_l32);
UNUSED(type);
UNUSED(options);
@@ -99,7 +99,7 @@ fromwire_l32(ARGS_FROMWIRE) {
static inline isc_result_t
towire_l32(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 105);
+ REQUIRE(rdata->type == dns_rdatatype_l32);
REQUIRE(rdata->length == 6);
UNUSED(cctx);
@@ -114,7 +114,7 @@ compare_l32(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 105);
+ REQUIRE(rdata1->type == dns_rdatatype_l32);
REQUIRE(rdata1->length == 6);
REQUIRE(rdata2->length == 6);
@@ -128,7 +128,7 @@ fromstruct_l32(ARGS_FROMSTRUCT) {
dns_rdata_l32_t *l32 = source;
isc_uint32_t n;
- REQUIRE(type == 105);
+ REQUIRE(type == dns_rdatatype_l32);
REQUIRE(source != NULL);
REQUIRE(l32->common.rdtype == type);
REQUIRE(l32->common.rdclass == rdclass);
@@ -147,7 +147,7 @@ tostruct_l32(ARGS_TOSTRUCT) {
dns_rdata_l32_t *l32 = target;
isc_uint32_t n;
- REQUIRE(rdata->type == 105);
+ REQUIRE(rdata->type == dns_rdatatype_l32);
REQUIRE(target != NULL);
REQUIRE(rdata->length == 6);
@@ -169,7 +169,7 @@ freestruct_l32(ARGS_FREESTRUCT) {
dns_rdata_l32_t *l32 = source;
REQUIRE(source != NULL);
- REQUIRE(l32->common.rdtype == 105);
+ REQUIRE(l32->common.rdtype == dns_rdatatype_l32);
return;
}
@@ -177,7 +177,7 @@ freestruct_l32(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_l32(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 105);
+ REQUIRE(rdata->type == dns_rdatatype_l32);
REQUIRE(rdata->length == 6);
UNUSED(rdata);
@@ -191,7 +191,7 @@ static inline isc_result_t
digest_l32(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 105);
+ REQUIRE(rdata->type == dns_rdatatype_l32);
REQUIRE(rdata->length == 6);
dns_rdata_toregion(rdata, &r);
@@ -202,7 +202,7 @@ digest_l32(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_l32(ARGS_CHECKOWNER) {
- REQUIRE(type == 105);
+ REQUIRE(type == dns_rdatatype_l32);
UNUSED(name);
UNUSED(type);
@@ -215,7 +215,7 @@ checkowner_l32(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_l32(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 105);
+ REQUIRE(rdata->type == dns_rdatatype_l32);
REQUIRE(rdata->length == 6);
UNUSED(rdata);
diff --git a/lib/dns/rdata/generic/l64_106.c b/lib/dns/rdata/generic/l64_106.c
index d811d29ae515..863e96461179 100644
--- a/lib/dns/rdata/generic/l64_106.c
+++ b/lib/dns/rdata/generic/l64_106.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013-2015 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
@@ -28,7 +28,7 @@ fromtext_l64(ARGS_FROMTEXT) {
isc_token_t token;
unsigned char locator[NS_LOCATORSZ];
- REQUIRE(type == 106);
+ REQUIRE(type == dns_rdatatype_l64);
UNUSED(type);
UNUSED(rdclass);
@@ -56,7 +56,7 @@ totext_l64(ARGS_TOTEXT) {
char buf[sizeof("xxxx:xxxx:xxxx:xxxx")];
unsigned short num;
- REQUIRE(rdata->type == 106);
+ REQUIRE(rdata->type == dns_rdatatype_l64);
REQUIRE(rdata->length == 10);
UNUSED(tctx);
@@ -81,7 +81,7 @@ static inline isc_result_t
fromwire_l64(ARGS_FROMWIRE) {
isc_region_t sregion;
- REQUIRE(type == 106);
+ REQUIRE(type == dns_rdatatype_l64);
UNUSED(type);
UNUSED(options);
@@ -98,7 +98,7 @@ fromwire_l64(ARGS_FROMWIRE) {
static inline isc_result_t
towire_l64(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 106);
+ REQUIRE(rdata->type == dns_rdatatype_l64);
REQUIRE(rdata->length == 10);
UNUSED(cctx);
@@ -113,7 +113,7 @@ compare_l64(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 106);
+ REQUIRE(rdata1->type == dns_rdatatype_l64);
REQUIRE(rdata1->length == 10);
REQUIRE(rdata2->length == 10);
@@ -126,7 +126,7 @@ static inline isc_result_t
fromstruct_l64(ARGS_FROMSTRUCT) {
dns_rdata_l64_t *l64 = source;
- REQUIRE(type == 106);
+ REQUIRE(type == dns_rdatatype_l64);
REQUIRE(source != NULL);
REQUIRE(l64->common.rdtype == type);
REQUIRE(l64->common.rdclass == rdclass);
@@ -143,7 +143,7 @@ tostruct_l64(ARGS_TOSTRUCT) {
isc_region_t region;
dns_rdata_l64_t *l64 = target;
- REQUIRE(rdata->type == 106);
+ REQUIRE(rdata->type == dns_rdatatype_l64);
REQUIRE(target != NULL);
REQUIRE(rdata->length == 10);
@@ -164,7 +164,7 @@ freestruct_l64(ARGS_FREESTRUCT) {
dns_rdata_l64_t *l64 = source;
REQUIRE(source != NULL);
- REQUIRE(l64->common.rdtype == 106);
+ REQUIRE(l64->common.rdtype == dns_rdatatype_l64);
return;
}
@@ -172,7 +172,7 @@ freestruct_l64(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_l64(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 106);
+ REQUIRE(rdata->type == dns_rdatatype_l64);
REQUIRE(rdata->length == 10);
UNUSED(rdata);
@@ -186,7 +186,7 @@ static inline isc_result_t
digest_l64(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 106);
+ REQUIRE(rdata->type == dns_rdatatype_l64);
REQUIRE(rdata->length == 10);
dns_rdata_toregion(rdata, &r);
@@ -197,7 +197,7 @@ digest_l64(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_l64(ARGS_CHECKOWNER) {
- REQUIRE(type == 106);
+ REQUIRE(type == dns_rdatatype_l64);
UNUSED(name);
UNUSED(type);
@@ -210,7 +210,7 @@ checkowner_l64(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_l64(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 106);
+ REQUIRE(rdata->type == dns_rdatatype_l64);
REQUIRE(rdata->length == 10);
UNUSED(rdata);
diff --git a/lib/dns/rdata/generic/loc_29.c b/lib/dns/rdata/generic/loc_29.c
index 904dbb402a97..641daca25d68 100644
--- a/lib/dns/rdata/generic/loc_29.c
+++ b/lib/dns/rdata/generic/loc_29.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -50,7 +50,7 @@ fromtext_loc(ARGS_FROMTEXT) {
unsigned long longitude;
unsigned long altitude;
- REQUIRE(type == 29);
+ REQUIRE(type == dns_rdatatype_loc);
UNUSED(type);
UNUSED(rdclass);
@@ -475,12 +475,16 @@ totext_loc(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 29);
+ REQUIRE(rdata->type == dns_rdatatype_loc);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
- /* version = sr.base[0]; */
+ if (sr.base[0] != 0)
+ return (ISC_R_NOTIMPLEMENTED);
+
+ REQUIRE(rdata->length == 16);
+
size = sr.base[1];
INSIST((size&0x0f) < 10 && (size>>4) < 10);
if ((size&0x0f)> 1)
@@ -563,7 +567,7 @@ fromwire_loc(ARGS_FROMWIRE) {
unsigned long latitude;
unsigned long longitude;
- REQUIRE(type == 29);
+ REQUIRE(type == dns_rdatatype_loc);
UNUSED(type);
UNUSED(rdclass);
@@ -573,8 +577,11 @@ fromwire_loc(ARGS_FROMWIRE) {
isc_buffer_activeregion(source, &sr);
if (sr.length < 1)
return (ISC_R_UNEXPECTEDEND);
- if (sr.base[0] != 0)
- return (ISC_R_NOTIMPLEMENTED);
+ if (sr.base[0] != 0) {
+ /* Treat as unknown. */
+ isc_buffer_forward(source, sr.length);
+ return (mem_tobuffer(target, sr.base, sr.length));
+ }
if (sr.length < 16)
return (ISC_R_UNEXPECTEDEND);
@@ -634,7 +641,7 @@ static inline isc_result_t
towire_loc(ARGS_TOWIRE) {
UNUSED(cctx);
- REQUIRE(rdata->type == 29);
+ REQUIRE(rdata->type == dns_rdatatype_loc);
REQUIRE(rdata->length != 0);
return (mem_tobuffer(target, rdata->data, rdata->length));
@@ -647,7 +654,7 @@ compare_loc(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 29);
+ REQUIRE(rdata1->type == dns_rdatatype_loc);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -661,7 +668,7 @@ fromstruct_loc(ARGS_FROMSTRUCT) {
dns_rdata_loc_t *loc = source;
isc_uint8_t c;
- REQUIRE(type == 29);
+ REQUIRE(type == dns_rdatatype_loc);
REQUIRE(source != NULL);
REQUIRE(loc->common.rdtype == type);
REQUIRE(loc->common.rdclass == rdclass);
@@ -706,7 +713,7 @@ tostruct_loc(ARGS_TOSTRUCT) {
isc_region_t r;
isc_uint8_t version;
- REQUIRE(rdata->type == 29);
+ REQUIRE(rdata->type == dns_rdatatype_loc);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -743,7 +750,7 @@ freestruct_loc(ARGS_FREESTRUCT) {
dns_rdata_loc_t *loc = source;
REQUIRE(source != NULL);
- REQUIRE(loc->common.rdtype == 29);
+ REQUIRE(loc->common.rdtype == dns_rdatatype_loc);
UNUSED(source);
UNUSED(loc);
@@ -751,7 +758,7 @@ freestruct_loc(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_loc(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 29);
+ REQUIRE(rdata->type == dns_rdatatype_loc);
UNUSED(rdata);
UNUSED(add);
@@ -764,7 +771,7 @@ static inline isc_result_t
digest_loc(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 29);
+ REQUIRE(rdata->type == dns_rdatatype_loc);
dns_rdata_toregion(rdata, &r);
@@ -774,7 +781,7 @@ digest_loc(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_loc(ARGS_CHECKOWNER) {
- REQUIRE(type == 29);
+ REQUIRE(type == dns_rdatatype_loc);
UNUSED(name);
UNUSED(type);
@@ -787,7 +794,7 @@ checkowner_loc(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_loc(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 29);
+ REQUIRE(rdata->type == dns_rdatatype_loc);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/lp_107.c b/lib/dns/rdata/generic/lp_107.c
index 732ef7fa88f5..08d6b1763593 100644
--- a/lib/dns/rdata/generic/lp_107.c
+++ b/lib/dns/rdata/generic/lp_107.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013, 2015 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
@@ -29,7 +29,7 @@ fromtext_lp(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 107);
+ REQUIRE(type == dns_rdatatype_lp);
UNUSED(type);
UNUSED(rdclass);
@@ -59,7 +59,7 @@ totext_lp(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned short num;
- REQUIRE(rdata->type == 107);
+ REQUIRE(rdata->type == dns_rdatatype_lp);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -83,7 +83,7 @@ fromwire_lp(ARGS_FROMWIRE) {
dns_name_t name;
isc_region_t sregion;
- REQUIRE(type == 107);
+ REQUIRE(type == dns_rdatatype_lp);
UNUSED(type);
UNUSED(rdclass);
@@ -103,7 +103,7 @@ fromwire_lp(ARGS_FROMWIRE) {
static inline isc_result_t
towire_lp(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 107);
+ REQUIRE(rdata->type == dns_rdatatype_lp);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -118,7 +118,7 @@ compare_lp(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 107);
+ REQUIRE(rdata1->type == dns_rdatatype_lp);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -133,7 +133,7 @@ fromstruct_lp(ARGS_FROMSTRUCT) {
dns_rdata_lp_t *lp = source;
isc_region_t region;
- REQUIRE(type == 107);
+ REQUIRE(type == dns_rdatatype_lp);
REQUIRE(source != NULL);
REQUIRE(lp->common.rdtype == type);
REQUIRE(lp->common.rdclass == rdclass);
@@ -152,7 +152,7 @@ tostruct_lp(ARGS_TOSTRUCT) {
dns_rdata_lp_t *lp = target;
dns_name_t name;
- REQUIRE(rdata->type == 107);
+ REQUIRE(rdata->type == dns_rdatatype_lp);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -176,7 +176,7 @@ freestruct_lp(ARGS_FREESTRUCT) {
dns_rdata_lp_t *lp = source;
REQUIRE(source != NULL);
- REQUIRE(lp->common.rdtype == 107);
+ REQUIRE(lp->common.rdtype == dns_rdatatype_lp);
if (lp->mctx == NULL)
return;
@@ -192,7 +192,7 @@ additionaldata_lp(ARGS_ADDLDATA) {
isc_region_t region;
isc_result_t result;
- REQUIRE(rdata->type == 107);
+ REQUIRE(rdata->type == dns_rdatatype_lp);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -209,7 +209,7 @@ static inline isc_result_t
digest_lp(ARGS_DIGEST) {
isc_region_t region;
- REQUIRE(rdata->type == 107);
+ REQUIRE(rdata->type == dns_rdatatype_lp);
dns_rdata_toregion(rdata, &region);
return ((digest)(arg, &region));
@@ -218,7 +218,7 @@ digest_lp(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_lp(ARGS_CHECKOWNER) {
- REQUIRE(type == 107);
+ REQUIRE(type == dns_rdatatype_lp);
UNUSED(type);
UNUSED(rdclass);
@@ -231,7 +231,7 @@ checkowner_lp(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_lp(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 107);
+ REQUIRE(rdata->type == dns_rdatatype_lp);
UNUSED(bad);
UNUSED(owner);
@@ -249,7 +249,7 @@ casecompare_lp(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 107);
+ REQUIRE(rdata1->type == dns_rdatatype_lp);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
diff --git a/lib/dns/rdata/generic/mb_7.c b/lib/dns/rdata/generic/mb_7.c
index 8e588fc7b8a5..47c7308ebb03 100644
--- a/lib/dns/rdata/generic/mb_7.c
+++ b/lib/dns/rdata/generic/mb_7.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@ fromtext_mb(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 7);
+ REQUIRE(type == dns_rdatatype_mb);
UNUSED(type);
UNUSED(rdclass);
@@ -53,7 +53,7 @@ totext_mb(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 7);
+ REQUIRE(rdata->type == dns_rdatatype_mb);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -71,7 +71,7 @@ static inline isc_result_t
fromwire_mb(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 7);
+ REQUIRE(type == dns_rdatatype_mb);
UNUSED(type);
UNUSED(rdclass);
@@ -88,7 +88,7 @@ towire_mb(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 7);
+ REQUIRE(rdata->type == dns_rdatatype_mb);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -109,7 +109,7 @@ compare_mb(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 7);
+ REQUIRE(rdata1->type == dns_rdatatype_mb);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -130,7 +130,7 @@ fromstruct_mb(ARGS_FROMSTRUCT) {
dns_rdata_mb_t *mb = source;
isc_region_t region;
- REQUIRE(type == 7);
+ REQUIRE(type == dns_rdatatype_mb);
REQUIRE(source != NULL);
REQUIRE(mb->common.rdtype == type);
REQUIRE(mb->common.rdclass == rdclass);
@@ -148,7 +148,7 @@ tostruct_mb(ARGS_TOSTRUCT) {
dns_rdata_mb_t *mb = target;
dns_name_t name;
- REQUIRE(rdata->type == 7);
+ REQUIRE(rdata->type == dns_rdatatype_mb);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -184,7 +184,7 @@ additionaldata_mb(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 7);
+ REQUIRE(rdata->type == dns_rdatatype_mb);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -198,7 +198,7 @@ digest_mb(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 7);
+ REQUIRE(rdata->type == dns_rdatatype_mb);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -210,7 +210,7 @@ digest_mb(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_mb(ARGS_CHECKOWNER) {
- REQUIRE(type == 7);
+ REQUIRE(type == dns_rdatatype_mb);
UNUSED(type);
UNUSED(rdclass);
@@ -222,7 +222,7 @@ checkowner_mb(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_mb(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 7);
+ REQUIRE(rdata->type == dns_rdatatype_mb);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/md_3.c b/lib/dns/rdata/generic/md_3.c
index e00f1f6ca368..7485d1e49016 100644
--- a/lib/dns/rdata/generic/md_3.c
+++ b/lib/dns/rdata/generic/md_3.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@ fromtext_md(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 3);
+ REQUIRE(type == dns_rdatatype_md);
UNUSED(type);
UNUSED(rdclass);
@@ -53,7 +53,7 @@ totext_md(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 3);
+ REQUIRE(rdata->type == dns_rdatatype_md);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -71,7 +71,7 @@ static inline isc_result_t
fromwire_md(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 3);
+ REQUIRE(type == dns_rdatatype_md);
UNUSED(type);
UNUSED(rdclass);
@@ -88,7 +88,7 @@ towire_md(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 3);
+ REQUIRE(rdata->type == dns_rdatatype_md);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -109,7 +109,7 @@ compare_md(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 3);
+ REQUIRE(rdata1->type == dns_rdatatype_md);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -130,7 +130,7 @@ fromstruct_md(ARGS_FROMSTRUCT) {
dns_rdata_md_t *md = source;
isc_region_t region;
- REQUIRE(type == 3);
+ REQUIRE(type == dns_rdatatype_md);
REQUIRE(source != NULL);
REQUIRE(md->common.rdtype == type);
REQUIRE(md->common.rdclass == rdclass);
@@ -148,7 +148,7 @@ tostruct_md(ARGS_TOSTRUCT) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 3);
+ REQUIRE(rdata->type == dns_rdatatype_md);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -170,7 +170,7 @@ freestruct_md(ARGS_FREESTRUCT) {
dns_rdata_md_t *md = source;
REQUIRE(source != NULL);
- REQUIRE(md->common.rdtype == 3);
+ REQUIRE(md->common.rdtype == dns_rdatatype_md);
if (md->mctx == NULL)
return;
@@ -185,7 +185,7 @@ additionaldata_md(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 3);
+ REQUIRE(rdata->type == dns_rdatatype_md);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -199,7 +199,7 @@ digest_md(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 3);
+ REQUIRE(rdata->type == dns_rdatatype_md);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -211,7 +211,7 @@ digest_md(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_md(ARGS_CHECKOWNER) {
- REQUIRE(type == 3);
+ REQUIRE(type == dns_rdatatype_md);
UNUSED(name);
UNUSED(type);
@@ -224,7 +224,7 @@ checkowner_md(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_md(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 3);
+ REQUIRE(rdata->type == dns_rdatatype_md);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/mf_4.c b/lib/dns/rdata/generic/mf_4.c
index a85809aef223..97402a9dc6db 100644
--- a/lib/dns/rdata/generic/mf_4.c
+++ b/lib/dns/rdata/generic/mf_4.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@ fromtext_mf(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 4);
+ REQUIRE(type == dns_rdatatype_mf);
UNUSED(type);
UNUSED(rdclass);
@@ -53,7 +53,7 @@ totext_mf(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 4);
+ REQUIRE(rdata->type == dns_rdatatype_mf);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -71,7 +71,7 @@ static inline isc_result_t
fromwire_mf(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 4);
+ REQUIRE(type == dns_rdatatype_mf);
UNUSED(type);
UNUSED(rdclass);
@@ -88,7 +88,7 @@ towire_mf(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 4);
+ REQUIRE(rdata->type == dns_rdatatype_mf);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -109,7 +109,7 @@ compare_mf(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 4);
+ REQUIRE(rdata1->type == dns_rdatatype_mf);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -130,7 +130,7 @@ fromstruct_mf(ARGS_FROMSTRUCT) {
dns_rdata_mf_t *mf = source;
isc_region_t region;
- REQUIRE(type == 4);
+ REQUIRE(type == dns_rdatatype_mf);
REQUIRE(source != NULL);
REQUIRE(mf->common.rdtype == type);
REQUIRE(mf->common.rdclass == rdclass);
@@ -148,7 +148,7 @@ tostruct_mf(ARGS_TOSTRUCT) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 4);
+ REQUIRE(rdata->type == dns_rdatatype_mf);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -170,7 +170,7 @@ freestruct_mf(ARGS_FREESTRUCT) {
dns_rdata_mf_t *mf = source;
REQUIRE(source != NULL);
- REQUIRE(mf->common.rdtype == 4);
+ REQUIRE(mf->common.rdtype == dns_rdatatype_mf);
if (mf->mctx == NULL)
return;
@@ -184,7 +184,7 @@ additionaldata_mf(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 4);
+ REQUIRE(rdata->type == dns_rdatatype_mf);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -198,7 +198,7 @@ digest_mf(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 4);
+ REQUIRE(rdata->type == dns_rdatatype_mf);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -210,7 +210,7 @@ digest_mf(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_mf(ARGS_CHECKOWNER) {
- REQUIRE(type == 4);
+ REQUIRE(type == dns_rdatatype_mf);
UNUSED(name);
UNUSED(type);
@@ -223,7 +223,7 @@ checkowner_mf(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_mf(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 4);
+ REQUIRE(rdata->type == dns_rdatatype_mf);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/mg_8.c b/lib/dns/rdata/generic/mg_8.c
index d0af188e7373..6c3b7e2b2d41 100644
--- a/lib/dns/rdata/generic/mg_8.c
+++ b/lib/dns/rdata/generic/mg_8.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@ fromtext_mg(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 8);
+ REQUIRE(type == dns_rdatatype_mg);
UNUSED(type);
UNUSED(rdclass);
@@ -53,7 +53,7 @@ totext_mg(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 8);
+ REQUIRE(rdata->type == dns_rdatatype_mg);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -71,7 +71,7 @@ static inline isc_result_t
fromwire_mg(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 8);
+ REQUIRE(type == dns_rdatatype_mg);
UNUSED(type);
UNUSED(rdclass);
@@ -88,7 +88,7 @@ towire_mg(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 8);
+ REQUIRE(rdata->type == dns_rdatatype_mg);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -109,7 +109,7 @@ compare_mg(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 8);
+ REQUIRE(rdata1->type == dns_rdatatype_mg);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -130,7 +130,7 @@ fromstruct_mg(ARGS_FROMSTRUCT) {
dns_rdata_mg_t *mg = source;
isc_region_t region;
- REQUIRE(type == 8);
+ REQUIRE(type == dns_rdatatype_mg);
REQUIRE(source != NULL);
REQUIRE(mg->common.rdtype == type);
REQUIRE(mg->common.rdclass == rdclass);
@@ -148,7 +148,7 @@ tostruct_mg(ARGS_TOSTRUCT) {
dns_rdata_mg_t *mg = target;
dns_name_t name;
- REQUIRE(rdata->type == 8);
+ REQUIRE(rdata->type == dns_rdatatype_mg);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -170,7 +170,7 @@ freestruct_mg(ARGS_FREESTRUCT) {
dns_rdata_mg_t *mg = source;
REQUIRE(source != NULL);
- REQUIRE(mg->common.rdtype == 8);
+ REQUIRE(mg->common.rdtype == dns_rdatatype_mg);
if (mg->mctx == NULL)
return;
@@ -180,7 +180,7 @@ freestruct_mg(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_mg(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 8);
+ REQUIRE(rdata->type == dns_rdatatype_mg);
UNUSED(add);
UNUSED(arg);
@@ -194,7 +194,7 @@ digest_mg(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 8);
+ REQUIRE(rdata->type == dns_rdatatype_mg);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -206,7 +206,7 @@ digest_mg(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_mg(ARGS_CHECKOWNER) {
- REQUIRE(type == 8);
+ REQUIRE(type == dns_rdatatype_mg);
UNUSED(type);
UNUSED(rdclass);
@@ -218,7 +218,7 @@ checkowner_mg(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_mg(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 8);
+ REQUIRE(rdata->type == dns_rdatatype_mg);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/minfo_14.c b/lib/dns/rdata/generic/minfo_14.c
index 9e2214c98aa3..2a868f857f8f 100644
--- a/lib/dns/rdata/generic/minfo_14.c
+++ b/lib/dns/rdata/generic/minfo_14.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,7 +32,7 @@ fromtext_minfo(ARGS_FROMTEXT) {
int i;
isc_boolean_t ok;
- REQUIRE(type == 14);
+ REQUIRE(type == dns_rdatatype_minfo);
UNUSED(type);
UNUSED(rdclass);
@@ -66,7 +66,7 @@ totext_minfo(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 14);
+ REQUIRE(rdata->type == dns_rdatatype_minfo);
REQUIRE(rdata->length != 0);
dns_name_init(&rmail, NULL);
@@ -96,7 +96,7 @@ fromwire_minfo(ARGS_FROMWIRE) {
dns_name_t rmail;
dns_name_t email;
- REQUIRE(type == 14);
+ REQUIRE(type == dns_rdatatype_minfo);
UNUSED(type);
UNUSED(rdclass);
@@ -118,7 +118,7 @@ towire_minfo(ARGS_TOWIRE) {
dns_offsets_t roffsets;
dns_offsets_t eoffsets;
- REQUIRE(rdata->type == 14);
+ REQUIRE(rdata->type == dns_rdatatype_minfo);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -149,7 +149,7 @@ compare_minfo(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 14);
+ REQUIRE(rdata1->type == dns_rdatatype_minfo);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -184,7 +184,7 @@ fromstruct_minfo(ARGS_FROMSTRUCT) {
dns_rdata_minfo_t *minfo = source;
isc_region_t region;
- REQUIRE(type == 14);
+ REQUIRE(type == dns_rdatatype_minfo);
REQUIRE(source != NULL);
REQUIRE(minfo->common.rdtype == type);
REQUIRE(minfo->common.rdclass == rdclass);
@@ -205,7 +205,7 @@ tostruct_minfo(ARGS_TOSTRUCT) {
dns_name_t name;
isc_result_t result;
- REQUIRE(rdata->type == 14);
+ REQUIRE(rdata->type == dns_rdatatype_minfo);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -239,7 +239,7 @@ freestruct_minfo(ARGS_FREESTRUCT) {
dns_rdata_minfo_t *minfo = source;
REQUIRE(source != NULL);
- REQUIRE(minfo->common.rdtype == 14);
+ REQUIRE(minfo->common.rdtype == dns_rdatatype_minfo);
if (minfo->mctx == NULL)
return;
@@ -251,7 +251,7 @@ freestruct_minfo(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_minfo(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 14);
+ REQUIRE(rdata->type == dns_rdatatype_minfo);
UNUSED(rdata);
UNUSED(add);
@@ -266,7 +266,7 @@ digest_minfo(ARGS_DIGEST) {
dns_name_t name;
isc_result_t result;
- REQUIRE(rdata->type == 14);
+ REQUIRE(rdata->type == dns_rdatatype_minfo);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -284,7 +284,7 @@ digest_minfo(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_minfo(ARGS_CHECKOWNER) {
- REQUIRE(type == 14);
+ REQUIRE(type == dns_rdatatype_minfo);
UNUSED(name);
UNUSED(type);
@@ -299,7 +299,7 @@ checknames_minfo(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 14);
+ REQUIRE(rdata->type == dns_rdatatype_minfo);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/mr_9.c b/lib/dns/rdata/generic/mr_9.c
index 590235d961bb..7e69cf1cfe85 100644
--- a/lib/dns/rdata/generic/mr_9.c
+++ b/lib/dns/rdata/generic/mr_9.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@ fromtext_mr(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 9);
+ REQUIRE(type == dns_rdatatype_mr);
UNUSED(type);
UNUSED(rdclass);
@@ -53,7 +53,7 @@ totext_mr(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 9);
+ REQUIRE(rdata->type == dns_rdatatype_mr);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -71,7 +71,7 @@ static inline isc_result_t
fromwire_mr(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 9);
+ REQUIRE(type == dns_rdatatype_mr);
UNUSED(type);
UNUSED(rdclass);
@@ -88,7 +88,7 @@ towire_mr(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 9);
+ REQUIRE(rdata->type == dns_rdatatype_mr);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -109,7 +109,7 @@ compare_mr(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 9);
+ REQUIRE(rdata1->type == dns_rdatatype_mr);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -130,7 +130,7 @@ fromstruct_mr(ARGS_FROMSTRUCT) {
dns_rdata_mr_t *mr = source;
isc_region_t region;
- REQUIRE(type == 9);
+ REQUIRE(type == dns_rdatatype_mr);
REQUIRE(source != NULL);
REQUIRE(mr->common.rdtype == type);
REQUIRE(mr->common.rdclass == rdclass);
@@ -148,7 +148,7 @@ tostruct_mr(ARGS_TOSTRUCT) {
dns_rdata_mr_t *mr = target;
dns_name_t name;
- REQUIRE(rdata->type == 9);
+ REQUIRE(rdata->type == dns_rdatatype_mr);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -170,7 +170,7 @@ freestruct_mr(ARGS_FREESTRUCT) {
dns_rdata_mr_t *mr = source;
REQUIRE(source != NULL);
- REQUIRE(mr->common.rdtype == 9);
+ REQUIRE(mr->common.rdtype == dns_rdatatype_mr);
if (mr->mctx == NULL)
return;
@@ -180,7 +180,7 @@ freestruct_mr(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_mr(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 9);
+ REQUIRE(rdata->type == dns_rdatatype_mr);
UNUSED(rdata);
UNUSED(add);
@@ -194,7 +194,7 @@ digest_mr(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 9);
+ REQUIRE(rdata->type == dns_rdatatype_mr);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -206,7 +206,7 @@ digest_mr(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_mr(ARGS_CHECKOWNER) {
- REQUIRE(type == 9);
+ REQUIRE(type == dns_rdatatype_mr);
UNUSED(name);
UNUSED(type);
@@ -219,7 +219,7 @@ checkowner_mr(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_mr(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 9);
+ REQUIRE(rdata->type == dns_rdatatype_mr);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/mx_15.c b/lib/dns/rdata/generic/mx_15.c
index 77eee158b705..7364b4ac1fd8 100644
--- a/lib/dns/rdata/generic/mx_15.c
+++ b/lib/dns/rdata/generic/mx_15.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -53,7 +53,7 @@ fromtext_mx(ARGS_FROMTEXT) {
isc_buffer_t buffer;
isc_boolean_t ok;
- REQUIRE(type == 15);
+ REQUIRE(type == dns_rdatatype_mx);
UNUSED(type);
UNUSED(rdclass);
@@ -98,7 +98,7 @@ totext_mx(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned short num;
- REQUIRE(rdata->type == 15);
+ REQUIRE(rdata->type == dns_rdatatype_mx);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -122,7 +122,7 @@ fromwire_mx(ARGS_FROMWIRE) {
dns_name_t name;
isc_region_t sregion;
- REQUIRE(type == 15);
+ REQUIRE(type == dns_rdatatype_mx);
UNUSED(type);
UNUSED(rdclass);
@@ -145,7 +145,7 @@ towire_mx(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 15);
+ REQUIRE(rdata->type == dns_rdatatype_mx);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -170,7 +170,7 @@ compare_mx(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 15);
+ REQUIRE(rdata1->type == dns_rdatatype_mx);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -198,7 +198,7 @@ fromstruct_mx(ARGS_FROMSTRUCT) {
dns_rdata_mx_t *mx = source;
isc_region_t region;
- REQUIRE(type == 15);
+ REQUIRE(type == dns_rdatatype_mx);
REQUIRE(source != NULL);
REQUIRE(mx->common.rdtype == type);
REQUIRE(mx->common.rdclass == rdclass);
@@ -217,7 +217,7 @@ tostruct_mx(ARGS_TOSTRUCT) {
dns_rdata_mx_t *mx = target;
dns_name_t name;
- REQUIRE(rdata->type == 15);
+ REQUIRE(rdata->type == dns_rdatatype_mx);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -241,7 +241,7 @@ freestruct_mx(ARGS_FREESTRUCT) {
dns_rdata_mx_t *mx = source;
REQUIRE(source != NULL);
- REQUIRE(mx->common.rdtype == 15);
+ REQUIRE(mx->common.rdtype == dns_rdatatype_mx);
if (mx->mctx == NULL)
return;
@@ -256,7 +256,7 @@ additionaldata_mx(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 15);
+ REQUIRE(rdata->type == dns_rdatatype_mx);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -271,7 +271,7 @@ digest_mx(ARGS_DIGEST) {
isc_region_t r1, r2;
dns_name_t name;
- REQUIRE(rdata->type == 15);
+ REQUIRE(rdata->type == dns_rdatatype_mx);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -286,7 +286,7 @@ digest_mx(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_mx(ARGS_CHECKOWNER) {
- REQUIRE(type == 15);
+ REQUIRE(type == dns_rdatatype_mx);
UNUSED(type);
UNUSED(rdclass);
@@ -299,7 +299,7 @@ checknames_mx(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 15);
+ REQUIRE(rdata->type == dns_rdatatype_mx);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/naptr_35.c b/lib/dns/rdata/generic/naptr_35.c
index d7452ac176fe..e8cbda87b74e 100644
--- a/lib/dns/rdata/generic/naptr_35.c
+++ b/lib/dns/rdata/generic/naptr_35.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -127,7 +127,7 @@ fromtext_naptr(ARGS_FROMTEXT) {
isc_buffer_t buffer;
unsigned char *regex;
- REQUIRE(type == 35);
+ REQUIRE(type == dns_rdatatype_naptr);
UNUSED(type);
UNUSED(rdclass);
@@ -195,7 +195,7 @@ totext_naptr(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned short num;
- REQUIRE(rdata->type == 35);
+ REQUIRE(rdata->type == dns_rdatatype_naptr);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -253,7 +253,7 @@ fromwire_naptr(ARGS_FROMWIRE) {
isc_region_t sr;
unsigned char *regex;
- REQUIRE(type == 35);
+ REQUIRE(type == dns_rdatatype_naptr);
UNUSED(type);
UNUSED(rdclass);
@@ -300,7 +300,7 @@ towire_naptr(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t sr;
- REQUIRE(rdata->type == 35);
+ REQUIRE(rdata->type == dns_rdatatype_naptr);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -347,7 +347,7 @@ compare_naptr(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 35);
+ REQUIRE(rdata1->type == dns_rdatatype_naptr);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -410,7 +410,7 @@ fromstruct_naptr(ARGS_FROMSTRUCT) {
dns_rdata_naptr_t *naptr = source;
isc_region_t region;
- REQUIRE(type == 35);
+ REQUIRE(type == dns_rdatatype_naptr);
REQUIRE(source != NULL);
REQUIRE(naptr->common.rdtype == type);
REQUIRE(naptr->common.rdclass == rdclass);
@@ -440,7 +440,7 @@ tostruct_naptr(ARGS_TOSTRUCT) {
isc_result_t result;
dns_name_t name;
- REQUIRE(rdata->type == 35);
+ REQUIRE(rdata->type == dns_rdatatype_naptr);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -508,7 +508,7 @@ freestruct_naptr(ARGS_FREESTRUCT) {
dns_rdata_naptr_t *naptr = source;
REQUIRE(source != NULL);
- REQUIRE(naptr->common.rdtype == 35);
+ REQUIRE(naptr->common.rdtype == dns_rdatatype_naptr);
if (naptr->mctx == NULL)
return;
@@ -532,7 +532,7 @@ additionaldata_naptr(ARGS_ADDLDATA) {
unsigned int i, flagslen;
char *cp;
- REQUIRE(rdata->type == 35);
+ REQUIRE(rdata->type == dns_rdatatype_naptr);
/*
* Order, preference.
@@ -587,7 +587,7 @@ digest_naptr(ARGS_DIGEST) {
isc_result_t result;
dns_name_t name;
- REQUIRE(rdata->type == 35);
+ REQUIRE(rdata->type == dns_rdatatype_naptr);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -641,7 +641,7 @@ digest_naptr(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_naptr(ARGS_CHECKOWNER) {
- REQUIRE(type == 35);
+ REQUIRE(type == dns_rdatatype_naptr);
UNUSED(name);
UNUSED(type);
@@ -654,7 +654,7 @@ checkowner_naptr(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_naptr(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 35);
+ REQUIRE(rdata->type == dns_rdatatype_naptr);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/nid_104.c b/lib/dns/rdata/generic/nid_104.c
index 39f16ed6f02b..6028676bcc12 100644
--- a/lib/dns/rdata/generic/nid_104.c
+++ b/lib/dns/rdata/generic/nid_104.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013-2015 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
@@ -28,7 +28,7 @@ fromtext_nid(ARGS_FROMTEXT) {
isc_token_t token;
unsigned char locator[NS_LOCATORSZ];
- REQUIRE(type == 104);
+ REQUIRE(type == dns_rdatatype_nid);
UNUSED(type);
UNUSED(rdclass);
@@ -56,7 +56,7 @@ totext_nid(ARGS_TOTEXT) {
char buf[sizeof("xxxx:xxxx:xxxx:xxxx")];
unsigned short num;
- REQUIRE(rdata->type == 104);
+ REQUIRE(rdata->type == dns_rdatatype_nid);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -81,7 +81,7 @@ static inline isc_result_t
fromwire_nid(ARGS_FROMWIRE) {
isc_region_t sregion;
- REQUIRE(type == 104);
+ REQUIRE(type == dns_rdatatype_nid);
UNUSED(type);
UNUSED(options);
@@ -98,7 +98,7 @@ fromwire_nid(ARGS_FROMWIRE) {
static inline isc_result_t
towire_nid(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 104);
+ REQUIRE(rdata->type == dns_rdatatype_nid);
REQUIRE(rdata->length == 10);
UNUSED(cctx);
@@ -113,7 +113,7 @@ compare_nid(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 104);
+ REQUIRE(rdata1->type == dns_rdatatype_nid);
REQUIRE(rdata1->length == 10);
REQUIRE(rdata2->length == 10);
@@ -126,7 +126,7 @@ static inline isc_result_t
fromstruct_nid(ARGS_FROMSTRUCT) {
dns_rdata_nid_t *nid = source;
- REQUIRE(type == 104);
+ REQUIRE(type == dns_rdatatype_nid);
REQUIRE(source != NULL);
REQUIRE(nid->common.rdtype == type);
REQUIRE(nid->common.rdclass == rdclass);
@@ -143,7 +143,7 @@ tostruct_nid(ARGS_TOSTRUCT) {
isc_region_t region;
dns_rdata_nid_t *nid = target;
- REQUIRE(rdata->type == 104);
+ REQUIRE(rdata->type == dns_rdatatype_nid);
REQUIRE(target != NULL);
REQUIRE(rdata->length == 10);
@@ -164,7 +164,7 @@ freestruct_nid(ARGS_FREESTRUCT) {
dns_rdata_nid_t *nid = source;
REQUIRE(source != NULL);
- REQUIRE(nid->common.rdtype == 104);
+ REQUIRE(nid->common.rdtype == dns_rdatatype_nid);
return;
}
@@ -172,7 +172,7 @@ freestruct_nid(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_nid(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 104);
+ REQUIRE(rdata->type == dns_rdatatype_nid);
REQUIRE(rdata->length == 10);
UNUSED(rdata);
@@ -186,7 +186,7 @@ static inline isc_result_t
digest_nid(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 104);
+ REQUIRE(rdata->type == dns_rdatatype_nid);
REQUIRE(rdata->length == 10);
dns_rdata_toregion(rdata, &r);
@@ -197,7 +197,7 @@ digest_nid(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_nid(ARGS_CHECKOWNER) {
- REQUIRE(type == 104);
+ REQUIRE(type == dns_rdatatype_nid);
UNUSED(name);
UNUSED(type);
@@ -210,7 +210,7 @@ checkowner_nid(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_nid(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 104);
+ REQUIRE(rdata->type == dns_rdatatype_nid);
REQUIRE(rdata->length == 10);
UNUSED(rdata);
diff --git a/lib/dns/rdata/generic/ns_2.c b/lib/dns/rdata/generic/ns_2.c
index 5db81e7cb390..d7e095b09bf2 100644
--- a/lib/dns/rdata/generic/ns_2.c
+++ b/lib/dns/rdata/generic/ns_2.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -31,7 +31,7 @@ fromtext_ns(ARGS_FROMTEXT) {
isc_buffer_t buffer;
isc_boolean_t ok;
- REQUIRE(type == 2);
+ REQUIRE(type == dns_rdatatype_ns);
UNUSED(type);
UNUSED(rdclass);
@@ -61,7 +61,7 @@ totext_ns(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 2);
+ REQUIRE(rdata->type == dns_rdatatype_ns);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -79,7 +79,7 @@ static inline isc_result_t
fromwire_ns(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 2);
+ REQUIRE(type == dns_rdatatype_ns);
UNUSED(type);
UNUSED(rdclass);
@@ -96,7 +96,7 @@ towire_ns(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 2);
+ REQUIRE(rdata->type == dns_rdatatype_ns);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -117,7 +117,7 @@ compare_ns(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 2);
+ REQUIRE(rdata1->type == dns_rdatatype_ns);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -138,7 +138,7 @@ fromstruct_ns(ARGS_FROMSTRUCT) {
dns_rdata_ns_t *ns = source;
isc_region_t region;
- REQUIRE(type == 2);
+ REQUIRE(type == dns_rdatatype_ns);
REQUIRE(source != NULL);
REQUIRE(ns->common.rdtype == type);
REQUIRE(ns->common.rdclass == rdclass);
@@ -156,7 +156,7 @@ tostruct_ns(ARGS_TOSTRUCT) {
dns_rdata_ns_t *ns = target;
dns_name_t name;
- REQUIRE(rdata->type == 2);
+ REQUIRE(rdata->type == dns_rdatatype_ns);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -192,7 +192,7 @@ additionaldata_ns(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 2);
+ REQUIRE(rdata->type == dns_rdatatype_ns);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -206,7 +206,7 @@ digest_ns(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 2);
+ REQUIRE(rdata->type == dns_rdatatype_ns);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -218,7 +218,7 @@ digest_ns(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_ns(ARGS_CHECKOWNER) {
- REQUIRE(type == 2);
+ REQUIRE(type == dns_rdatatype_ns);
UNUSED(name);
UNUSED(type);
@@ -233,7 +233,7 @@ checknames_ns(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 2);
+ REQUIRE(rdata->type == dns_rdatatype_ns);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/nsec3_50.c b/lib/dns/rdata/generic/nsec3_50.c
index eb4f68dca2a1..2aec339c2453 100644
--- a/lib/dns/rdata/generic/nsec3_50.c
+++ b/lib/dns/rdata/generic/nsec3_50.c
@@ -53,7 +53,7 @@ fromtext_nsec3(ARGS_FROMTEXT) {
unsigned char hashalg;
isc_buffer_t b;
- REQUIRE(type == 50);
+ REQUIRE(type == dns_rdatatype_nsec3);
UNUSED(type);
UNUSED(rdclass);
@@ -144,7 +144,7 @@ totext_nsec3(ARGS_TOTEXT) {
isc_uint32_t iterations;
isc_boolean_t first;
- REQUIRE(rdata->type == 50);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -246,7 +246,7 @@ fromwire_nsec3(ARGS_FROMWIRE) {
isc_boolean_t first = ISC_TRUE;
unsigned int i;
- REQUIRE(type == 50);
+ REQUIRE(type == dns_rdatatype_nsec3);
UNUSED(type);
UNUSED(rdclass);
@@ -318,7 +318,7 @@ static inline isc_result_t
towire_nsec3(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 50);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -334,7 +334,7 @@ compare_nsec3(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 50);
+ REQUIRE(rdata1->type == dns_rdatatype_nsec3);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -349,7 +349,7 @@ fromstruct_nsec3(ARGS_FROMSTRUCT) {
unsigned int i, len, window, lastwindow = 0;
isc_boolean_t first = ISC_TRUE;
- REQUIRE(type == 50);
+ REQUIRE(type == dns_rdatatype_nsec3);
REQUIRE(source != NULL);
REQUIRE(nsec3->common.rdtype == type);
REQUIRE(nsec3->common.rdclass == rdclass);
@@ -390,7 +390,7 @@ tostruct_nsec3(ARGS_TOSTRUCT) {
isc_region_t region;
dns_rdata_nsec3_t *nsec3 = target;
- REQUIRE(rdata->type == 50);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -436,7 +436,7 @@ freestruct_nsec3(ARGS_FREESTRUCT) {
dns_rdata_nsec3_t *nsec3 = source;
REQUIRE(source != NULL);
- REQUIRE(nsec3->common.rdtype == 50);
+ REQUIRE(nsec3->common.rdtype == dns_rdatatype_nsec3);
if (nsec3->mctx == NULL)
return;
@@ -452,7 +452,7 @@ freestruct_nsec3(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_nsec3(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 50);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3);
UNUSED(rdata);
UNUSED(add);
@@ -465,7 +465,7 @@ static inline isc_result_t
digest_nsec3(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 50);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3);
dns_rdata_toregion(rdata, &r);
return ((digest)(arg, &r));
@@ -477,7 +477,7 @@ checkowner_nsec3(ARGS_CHECKOWNER) {
isc_buffer_t buffer;
dns_label_t label;
- REQUIRE(type == 50);
+ REQUIRE(type == dns_rdatatype_nsec3);
UNUSED(type);
UNUSED(rdclass);
@@ -498,7 +498,7 @@ checkowner_nsec3(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_nsec3(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 50);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/nsec3param_51.c b/lib/dns/rdata/generic/nsec3param_51.c
index 379a46b53542..6ac152e31d61 100644
--- a/lib/dns/rdata/generic/nsec3param_51.c
+++ b/lib/dns/rdata/generic/nsec3param_51.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2008, 2009, 2015 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
@@ -48,7 +48,7 @@ fromtext_nsec3param(ARGS_FROMTEXT) {
unsigned int flags = 0;
unsigned char hashalg;
- REQUIRE(type == 51);
+ REQUIRE(type == dns_rdatatype_nsec3param);
UNUSED(type);
UNUSED(rdclass);
@@ -101,7 +101,7 @@ totext_nsec3param(ARGS_TOTEXT) {
char buf[sizeof("65535 ")];
isc_uint32_t iterations;
- REQUIRE(rdata->type == 51);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3param);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -146,7 +146,7 @@ fromwire_nsec3param(ARGS_FROMWIRE) {
isc_region_t sr, rr;
unsigned int saltlen;
- REQUIRE(type == 51);
+ REQUIRE(type == dns_rdatatype_nsec3param);
UNUSED(type);
UNUSED(rdclass);
@@ -174,7 +174,7 @@ static inline isc_result_t
towire_nsec3param(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 51);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3param);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -190,7 +190,7 @@ compare_nsec3param(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 51);
+ REQUIRE(rdata1->type == dns_rdatatype_nsec3param);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -203,7 +203,7 @@ static inline isc_result_t
fromstruct_nsec3param(ARGS_FROMSTRUCT) {
dns_rdata_nsec3param_t *nsec3param = source;
- REQUIRE(type == 51);
+ REQUIRE(type == dns_rdatatype_nsec3param);
REQUIRE(source != NULL);
REQUIRE(nsec3param->common.rdtype == type);
REQUIRE(nsec3param->common.rdclass == rdclass);
@@ -225,7 +225,7 @@ tostruct_nsec3param(ARGS_TOSTRUCT) {
isc_region_t region;
dns_rdata_nsec3param_t *nsec3param = target;
- REQUIRE(rdata->type == 51);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3param);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -255,7 +255,7 @@ freestruct_nsec3param(ARGS_FREESTRUCT) {
dns_rdata_nsec3param_t *nsec3param = source;
REQUIRE(source != NULL);
- REQUIRE(nsec3param->common.rdtype == 51);
+ REQUIRE(nsec3param->common.rdtype == dns_rdatatype_nsec3param);
if (nsec3param->mctx == NULL)
return;
@@ -267,7 +267,7 @@ freestruct_nsec3param(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_nsec3param(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 51);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3param);
UNUSED(rdata);
UNUSED(add);
@@ -280,7 +280,7 @@ static inline isc_result_t
digest_nsec3param(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 51);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3param);
dns_rdata_toregion(rdata, &r);
return ((digest)(arg, &r));
@@ -289,7 +289,7 @@ digest_nsec3param(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_nsec3param(ARGS_CHECKOWNER) {
- REQUIRE(type == 51);
+ REQUIRE(type == dns_rdatatype_nsec3param);
UNUSED(name);
UNUSED(type);
@@ -302,7 +302,7 @@ checkowner_nsec3param(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_nsec3param(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 51);
+ REQUIRE(rdata->type == dns_rdatatype_nsec3param);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/nsec_47.c b/lib/dns/rdata/generic/nsec_47.c
index 095f42eba899..64bd757fd33a 100644
--- a/lib/dns/rdata/generic/nsec_47.c
+++ b/lib/dns/rdata/generic/nsec_47.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007-2009, 2011, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -40,7 +40,7 @@ fromtext_nsec(ARGS_FROMTEXT) {
int octet;
int window;
- REQUIRE(type == 47);
+ REQUIRE(type == dns_rdatatype_nsec);
UNUSED(type);
UNUSED(rdclass);
@@ -90,7 +90,7 @@ totext_nsec(ARGS_TOTEXT) {
dns_name_t name;
unsigned int window, len;
- REQUIRE(rdata->type == 47);
+ REQUIRE(rdata->type == dns_rdatatype_nsec);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -140,7 +140,7 @@ fromwire_nsec(ARGS_FROMWIRE) {
isc_boolean_t first = ISC_TRUE;
unsigned int i;
- REQUIRE(type == 47);
+ REQUIRE(type == dns_rdatatype_nsec);
UNUSED(type);
UNUSED(rdclass);
@@ -198,7 +198,7 @@ towire_nsec(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
- REQUIRE(rdata->type == 47);
+ REQUIRE(rdata->type == dns_rdatatype_nsec);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -218,7 +218,7 @@ compare_nsec(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 47);
+ REQUIRE(rdata1->type == dns_rdatatype_nsec);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -234,7 +234,7 @@ fromstruct_nsec(ARGS_FROMSTRUCT) {
unsigned int i, len, window, lastwindow = 0;
isc_boolean_t first = ISC_TRUE;
- REQUIRE(type == 47);
+ REQUIRE(type == dns_rdatatype_nsec);
REQUIRE(source != NULL);
REQUIRE(nsec->common.rdtype == type);
REQUIRE(nsec->common.rdclass == rdclass);
@@ -270,7 +270,7 @@ tostruct_nsec(ARGS_TOSTRUCT) {
dns_rdata_nsec_t *nsec = target;
dns_name_t name;
- REQUIRE(rdata->type == 47);
+ REQUIRE(rdata->type == dns_rdatatype_nsec);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -304,7 +304,7 @@ freestruct_nsec(ARGS_FREESTRUCT) {
dns_rdata_nsec_t *nsec = source;
REQUIRE(source != NULL);
- REQUIRE(nsec->common.rdtype == 47);
+ REQUIRE(nsec->common.rdtype == dns_rdatatype_nsec);
if (nsec->mctx == NULL)
return;
@@ -317,7 +317,7 @@ freestruct_nsec(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_nsec(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 47);
+ REQUIRE(rdata->type == dns_rdatatype_nsec);
UNUSED(rdata);
UNUSED(add);
@@ -330,7 +330,7 @@ static inline isc_result_t
digest_nsec(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 47);
+ REQUIRE(rdata->type == dns_rdatatype_nsec);
dns_rdata_toregion(rdata, &r);
return ((digest)(arg, &r));
@@ -339,7 +339,7 @@ digest_nsec(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_nsec(ARGS_CHECKOWNER) {
- REQUIRE(type == 47);
+ REQUIRE(type == dns_rdatatype_nsec);
UNUSED(name);
UNUSED(type);
@@ -352,7 +352,7 @@ checkowner_nsec(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_nsec(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 47);
+ REQUIRE(rdata->type == dns_rdatatype_nsec);
UNUSED(rdata);
UNUSED(owner);
@@ -371,7 +371,7 @@ casecompare_nsec(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 47);
+ REQUIRE(rdata1->type == dns_rdatatype_nsec);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
diff --git a/lib/dns/rdata/generic/null_10.c b/lib/dns/rdata/generic/null_10.c
index 8ba86fbca9b7..38d4fdbb3f82 100644
--- a/lib/dns/rdata/generic/null_10.c
+++ b/lib/dns/rdata/generic/null_10.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2011, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -26,7 +26,7 @@
static inline isc_result_t
fromtext_null(ARGS_FROMTEXT) {
- REQUIRE(type == 10);
+ REQUIRE(type == dns_rdatatype_null);
UNUSED(rdclass);
UNUSED(type);
@@ -41,7 +41,7 @@ fromtext_null(ARGS_FROMTEXT) {
static inline isc_result_t
totext_null(ARGS_TOTEXT) {
- REQUIRE(rdata->type == 10);
+ REQUIRE(rdata->type == dns_rdatatype_null);
return (unknown_totext(rdata, tctx, target));
}
@@ -50,7 +50,7 @@ static inline isc_result_t
fromwire_null(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 10);
+ REQUIRE(type == dns_rdatatype_null);
UNUSED(type);
UNUSED(rdclass);
@@ -64,7 +64,7 @@ fromwire_null(ARGS_FROMWIRE) {
static inline isc_result_t
towire_null(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 10);
+ REQUIRE(rdata->type == dns_rdatatype_null);
UNUSED(cctx);
@@ -78,7 +78,7 @@ compare_null(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 10);
+ REQUIRE(rdata1->type == dns_rdatatype_null);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
@@ -89,7 +89,7 @@ static inline isc_result_t
fromstruct_null(ARGS_FROMSTRUCT) {
dns_rdata_null_t *null = source;
- REQUIRE(type == 10);
+ REQUIRE(type == dns_rdatatype_null);
REQUIRE(source != NULL);
REQUIRE(null->common.rdtype == type);
REQUIRE(null->common.rdclass == rdclass);
@@ -106,7 +106,7 @@ tostruct_null(ARGS_TOSTRUCT) {
dns_rdata_null_t *null = target;
isc_region_t r;
- REQUIRE(rdata->type == 10);
+ REQUIRE(rdata->type == dns_rdatatype_null);
REQUIRE(target != NULL);
null->common.rdclass = rdata->rdclass;
@@ -128,7 +128,7 @@ freestruct_null(ARGS_FREESTRUCT) {
dns_rdata_null_t *null = source;
REQUIRE(source != NULL);
- REQUIRE(null->common.rdtype == 10);
+ REQUIRE(null->common.rdtype == dns_rdatatype_null);
if (null->mctx == NULL)
return;
@@ -144,7 +144,7 @@ additionaldata_null(ARGS_ADDLDATA) {
UNUSED(add);
UNUSED(arg);
- REQUIRE(rdata->type == 10);
+ REQUIRE(rdata->type == dns_rdatatype_null);
return (ISC_R_SUCCESS);
}
@@ -153,7 +153,7 @@ static inline isc_result_t
digest_null(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 10);
+ REQUIRE(rdata->type == dns_rdatatype_null);
dns_rdata_toregion(rdata, &r);
@@ -163,7 +163,7 @@ digest_null(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_null(ARGS_CHECKOWNER) {
- REQUIRE(type == 10);
+ REQUIRE(type == dns_rdatatype_null);
UNUSED(name);
UNUSED(type);
@@ -176,7 +176,7 @@ checkowner_null(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_null(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 10);
+ REQUIRE(rdata->type == dns_rdatatype_null);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/nxt_30.c b/lib/dns/rdata/generic/nxt_30.c
index 4d291a8e6f6e..fbb34e9818ee 100644
--- a/lib/dns/rdata/generic/nxt_30.c
+++ b/lib/dns/rdata/generic/nxt_30.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -42,7 +42,7 @@ fromtext_nxt(ARGS_FROMTEXT) {
isc_boolean_t first = ISC_TRUE;
long n;
- REQUIRE(type == 30);
+ REQUIRE(type == dns_rdatatype_nxt);
UNUSED(type);
UNUSED(rdclass);
@@ -95,7 +95,7 @@ totext_nxt(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 30);
+ REQUIRE(rdata->type == dns_rdatatype_nxt);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -131,7 +131,7 @@ fromwire_nxt(ARGS_FROMWIRE) {
isc_region_t sr;
dns_name_t name;
- REQUIRE(type == 30);
+ REQUIRE(type == dns_rdatatype_nxt);
UNUSED(type);
UNUSED(rdclass);
@@ -156,7 +156,7 @@ towire_nxt(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
- REQUIRE(rdata->type == 30);
+ REQUIRE(rdata->type == dns_rdatatype_nxt);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -179,7 +179,7 @@ compare_nxt(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 30);
+ REQUIRE(rdata1->type == dns_rdatatype_nxt);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -201,7 +201,7 @@ fromstruct_nxt(ARGS_FROMSTRUCT) {
dns_rdata_nxt_t *nxt = source;
isc_region_t region;
- REQUIRE(type == 30);
+ REQUIRE(type == dns_rdatatype_nxt);
REQUIRE(source != NULL);
REQUIRE(nxt->common.rdtype == type);
REQUIRE(nxt->common.rdclass == rdclass);
@@ -226,7 +226,7 @@ tostruct_nxt(ARGS_TOSTRUCT) {
dns_rdata_nxt_t *nxt = target;
dns_name_t name;
- REQUIRE(rdata->type == 30);
+ REQUIRE(rdata->type == dns_rdatatype_nxt);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -260,7 +260,7 @@ freestruct_nxt(ARGS_FREESTRUCT) {
dns_rdata_nxt_t *nxt = source;
REQUIRE(source != NULL);
- REQUIRE(nxt->common.rdtype == 30);
+ REQUIRE(nxt->common.rdtype == dns_rdatatype_nxt);
if (nxt->mctx == NULL)
return;
@@ -273,7 +273,7 @@ freestruct_nxt(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_nxt(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 30);
+ REQUIRE(rdata->type == dns_rdatatype_nxt);
UNUSED(rdata);
UNUSED(add);
@@ -288,7 +288,7 @@ digest_nxt(ARGS_DIGEST) {
dns_name_t name;
isc_result_t result;
- REQUIRE(rdata->type == 30);
+ REQUIRE(rdata->type == dns_rdatatype_nxt);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -304,7 +304,7 @@ digest_nxt(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_nxt(ARGS_CHECKOWNER) {
- REQUIRE(type == 30);
+ REQUIRE(type == dns_rdatatype_nxt);
UNUSED(name);
UNUSED(type);
@@ -317,7 +317,7 @@ checkowner_nxt(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_nxt(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 30);
+ REQUIRE(rdata->type == dns_rdatatype_nxt);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/openpgpkey_61.c b/lib/dns/rdata/generic/openpgpkey_61.c
index 7b2a88bbd312..382be7e43220 100644
--- a/lib/dns/rdata/generic/openpgpkey_61.c
+++ b/lib/dns/rdata/generic/openpgpkey_61.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2014, 2015 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
@@ -22,7 +22,7 @@
static inline isc_result_t
fromtext_openpgpkey(ARGS_FROMTEXT) {
- REQUIRE(type == 61);
+ REQUIRE(type == dns_rdatatype_openpgpkey);
UNUSED(type);
UNUSED(rdclass);
@@ -40,7 +40,7 @@ static inline isc_result_t
totext_openpgpkey(ARGS_TOTEXT) {
isc_region_t sr;
- REQUIRE(rdata->type == 61);
+ REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -65,7 +65,7 @@ static inline isc_result_t
fromwire_openpgpkey(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 61);
+ REQUIRE(type == dns_rdatatype_openpgpkey);
UNUSED(type);
UNUSED(rdclass);
@@ -76,6 +76,8 @@ fromwire_openpgpkey(ARGS_FROMWIRE) {
* Keyring.
*/
isc_buffer_activeregion(source, &sr);
+ if (sr.length < 1)
+ return (ISC_R_UNEXPECTEDEND);
isc_buffer_forward(source, sr.length);
return (mem_tobuffer(target, sr.base, sr.length));
}
@@ -84,7 +86,7 @@ static inline isc_result_t
towire_openpgpkey(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 61);
+ REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -100,7 +102,7 @@ compare_openpgpkey(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 61);
+ REQUIRE(rdata1->type == dns_rdatatype_openpgpkey);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -113,7 +115,7 @@ static inline isc_result_t
fromstruct_openpgpkey(ARGS_FROMSTRUCT) {
dns_rdata_openpgpkey_t *sig = source;
- REQUIRE(type == 61);
+ REQUIRE(type == dns_rdatatype_openpgpkey);
REQUIRE(source != NULL);
REQUIRE(sig->common.rdtype == type);
REQUIRE(sig->common.rdclass == rdclass);
@@ -133,7 +135,7 @@ tostruct_openpgpkey(ARGS_TOSTRUCT) {
isc_region_t sr;
dns_rdata_openpgpkey_t *sig = target;
- REQUIRE(rdata->type == 61);
+ REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -163,7 +165,7 @@ freestruct_openpgpkey(ARGS_FREESTRUCT) {
dns_rdata_openpgpkey_t *sig = (dns_rdata_openpgpkey_t *) source;
REQUIRE(source != NULL);
- REQUIRE(sig->common.rdtype == 61);
+ REQUIRE(sig->common.rdtype == dns_rdatatype_openpgpkey);
if (sig->mctx == NULL)
return;
@@ -175,7 +177,7 @@ freestruct_openpgpkey(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_openpgpkey(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 61);
+ REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
UNUSED(rdata);
UNUSED(add);
@@ -188,7 +190,7 @@ static inline isc_result_t
digest_openpgpkey(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 61);
+ REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
dns_rdata_toregion(rdata, &r);
@@ -198,7 +200,7 @@ digest_openpgpkey(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_openpgpkey(ARGS_CHECKOWNER) {
- REQUIRE(type == 61);
+ REQUIRE(type == dns_rdatatype_openpgpkey);
UNUSED(name);
UNUSED(type);
@@ -211,7 +213,7 @@ checkowner_openpgpkey(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_openpgpkey(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 61);
+ REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
UNUSED(rdata);
UNUSED(owner);
@@ -227,7 +229,7 @@ casecompare_openpgpkey(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 61);
+ REQUIRE(rdata1->type == dns_rdatatype_openpgpkey);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
diff --git a/lib/dns/rdata/generic/opt_41.c b/lib/dns/rdata/generic/opt_41.c
index ba3fef001a15..bc2de3790884 100644
--- a/lib/dns/rdata/generic/opt_41.c
+++ b/lib/dns/rdata/generic/opt_41.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -34,7 +34,7 @@ fromtext_opt(ARGS_FROMTEXT) {
* OPT records do not have a text format.
*/
- REQUIRE(type == 41);
+ REQUIRE(type == dns_rdatatype_opt);
UNUSED(type);
UNUSED(rdclass);
@@ -59,7 +59,7 @@ totext_opt(ARGS_TOTEXT) {
* OPT records do not have a text format.
*/
- REQUIRE(rdata->type == 41);
+ REQUIRE(rdata->type == dns_rdatatype_opt);
dns_rdata_toregion(rdata, &r);
while (r.length > 0) {
@@ -101,7 +101,7 @@ fromwire_opt(ARGS_FROMWIRE) {
isc_uint16_t length;
unsigned int total;
- REQUIRE(type == 41);
+ REQUIRE(type == dns_rdatatype_opt);
UNUSED(type);
UNUSED(rdclass);
@@ -128,7 +128,7 @@ fromwire_opt(ARGS_FROMWIRE) {
isc_uint8_t addrbytes;
if (length < 4)
- return (DNS_R_FORMERR);
+ return (DNS_R_OPTERR);
family = uint16_fromregion(&sregion);
isc_region_consume(&sregion, 2);
addrlen = uint8_fromregion(&sregion);
@@ -138,16 +138,25 @@ fromwire_opt(ARGS_FROMWIRE) {
switch (family) {
case 1:
if (addrlen > 32U || scope > 32U)
- return (DNS_R_FORMERR);
+ return (DNS_R_OPTERR);
break;
case 2:
if (addrlen > 128U || scope > 128U)
- return (DNS_R_FORMERR);
+ return (DNS_R_OPTERR);
break;
+ default:
+ return (DNS_R_OPTERR);
}
addrbytes = (addrlen + 7) / 8;
if (addrbytes + 4 != length)
- return (DNS_R_FORMERR);
+ return (DNS_R_OPTERR);
+
+ if (addrbytes != 0U && (addrlen % 8) != 0) {
+ isc_uint8_t bits = ~0 << (8 - (addrlen % 8));
+ bits &= sregion.base[addrbytes - 1];
+ if (bits != sregion.base[addrbytes - 1])
+ return (DNS_R_OPTERR);
+ }
isc_region_consume(&sregion, addrbytes);
break;
}
@@ -156,7 +165,12 @@ fromwire_opt(ARGS_FROMWIRE) {
* Request has zero length. Response is 32 bits.
*/
if (length != 0 && length != 4)
- return (DNS_R_FORMERR);
+ return (DNS_R_OPTERR);
+ isc_region_consume(&sregion, length);
+ break;
+ case DNS_OPT_COOKIE:
+ if (length != 8 && (length < 16 || length > 40))
+ return (DNS_R_OPTERR);
isc_region_consume(&sregion, length);
break;
default:
@@ -180,7 +194,7 @@ fromwire_opt(ARGS_FROMWIRE) {
static inline isc_result_t
towire_opt(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 41);
+ REQUIRE(rdata->type == dns_rdatatype_opt);
UNUSED(cctx);
@@ -194,7 +208,7 @@ compare_opt(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 41);
+ REQUIRE(rdata1->type == dns_rdatatype_opt);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
@@ -207,7 +221,7 @@ fromstruct_opt(ARGS_FROMSTRUCT) {
isc_region_t region;
isc_uint16_t length;
- REQUIRE(type == 41);
+ REQUIRE(type == dns_rdatatype_opt);
REQUIRE(source != NULL);
REQUIRE(opt->common.rdtype == type);
REQUIRE(opt->common.rdclass == rdclass);
@@ -237,7 +251,7 @@ tostruct_opt(ARGS_TOSTRUCT) {
dns_rdata_opt_t *opt = target;
isc_region_t r;
- REQUIRE(rdata->type == 41);
+ REQUIRE(rdata->type == dns_rdatatype_opt);
REQUIRE(target != NULL);
opt->common.rdclass = rdata->rdclass;
@@ -260,7 +274,7 @@ freestruct_opt(ARGS_FREESTRUCT) {
dns_rdata_opt_t *opt = source;
REQUIRE(source != NULL);
- REQUIRE(opt->common.rdtype == 41);
+ REQUIRE(opt->common.rdtype == dns_rdatatype_opt);
if (opt->mctx == NULL)
return;
@@ -272,7 +286,7 @@ freestruct_opt(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_opt(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 41);
+ REQUIRE(rdata->type == dns_rdatatype_opt);
UNUSED(rdata);
UNUSED(add);
@@ -288,7 +302,7 @@ digest_opt(ARGS_DIGEST) {
* OPT records are not digested.
*/
- REQUIRE(rdata->type == 41);
+ REQUIRE(rdata->type == dns_rdatatype_opt);
UNUSED(rdata);
UNUSED(digest);
@@ -300,7 +314,7 @@ digest_opt(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_opt(ARGS_CHECKOWNER) {
- REQUIRE(type == 41);
+ REQUIRE(type == dns_rdatatype_opt);
UNUSED(type);
UNUSED(rdclass);
@@ -312,7 +326,7 @@ checkowner_opt(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_opt(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 41);
+ REQUIRE(rdata->type == dns_rdatatype_opt);
UNUSED(rdata);
UNUSED(owner);
@@ -330,7 +344,7 @@ isc_result_t
dns_rdata_opt_first(dns_rdata_opt_t *opt) {
REQUIRE(opt != NULL);
- REQUIRE(opt->common.rdtype == 41);
+ REQUIRE(opt->common.rdtype == dns_rdatatype_opt);
REQUIRE(opt->options != NULL || opt->length == 0);
if (opt->length == 0)
@@ -346,7 +360,7 @@ dns_rdata_opt_next(dns_rdata_opt_t *opt) {
isc_uint16_t length;
REQUIRE(opt != NULL);
- REQUIRE(opt->common.rdtype == 41);
+ REQUIRE(opt->common.rdtype == dns_rdatatype_opt);
REQUIRE(opt->options != NULL && opt->length != 0);
REQUIRE(opt->offset < opt->length);
@@ -367,7 +381,7 @@ dns_rdata_opt_current(dns_rdata_opt_t *opt, dns_rdata_opt_opcode_t *opcode) {
REQUIRE(opt != NULL);
REQUIRE(opcode != NULL);
- REQUIRE(opt->common.rdtype == 41);
+ REQUIRE(opt->common.rdtype == dns_rdatatype_opt);
REQUIRE(opt->options != NULL);
REQUIRE(opt->offset < opt->length);
diff --git a/lib/dns/rdata/generic/proforma.c b/lib/dns/rdata/generic/proforma.c
index d1a5ecd77cc2..afd67a4e31fe 100644
--- a/lib/dns/rdata/generic/proforma.c
+++ b/lib/dns/rdata/generic/proforma.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -26,7 +26,7 @@ static inline isc_result_t
fromtext_#(ARGS_FROMTEXT) {
isc_token_t token;
- REQUIRE(type == #);
+ REQUIRE(type == dns_rdatatype_proforma.c#);
REQUIRE(rdclass == #);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
@@ -38,7 +38,7 @@ fromtext_#(ARGS_FROMTEXT) {
static inline isc_result_t
totext_#(ARGS_TOTEXT) {
- REQUIRE(rdata->type == #);
+ REQUIRE(rdata->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata->rdclass == #);
REQUIRE(rdata->length != 0); /* XXX */
@@ -48,7 +48,7 @@ totext_#(ARGS_TOTEXT) {
static inline isc_result_t
fromwire_#(ARGS_FROMWIRE) {
- REQUIRE(type == #);
+ REQUIRE(type == dns_rdatatype_proforma.c#);
REQUIRE(rdclass == #);
/* NONE or GLOBAL14 */
@@ -60,7 +60,7 @@ fromwire_#(ARGS_FROMWIRE) {
static inline isc_result_t
towire_#(ARGS_TOWIRE) {
- REQUIRE(rdata->type == #);
+ REQUIRE(rdata->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata->rdclass == #);
REQUIRE(rdata->length != 0); /* XXX */
@@ -75,9 +75,9 @@ compare_#(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
- REQUIRE(rdata1->type == rdata2->type);
+ REQUIRE(rdata1->type == dns_rdatatype_proforma.crdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == #);
+ REQUIRE(rdata1->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata1->rdclass == #);
REQUIRE(rdata1->length != 0); /* XXX */
REQUIRE(rdata2->length != 0); /* XXX */
@@ -91,10 +91,10 @@ static inline isc_result_t
fromstruct_#(ARGS_FROMSTRUCT) {
dns_rdata_#_t *# = source;
- REQUIRE(type == #);
+ REQUIRE(type == dns_rdatatype_proforma.c#);
REQUIRE(rdclass == #);
REQUIRE(source != NULL);
- REQUIRE(#->common.rdtype == type);
+ REQUIRE(#->common.rdtype == dns_rdatatype_proforma.ctype);
REQUIRE(#->common.rdclass == rdclass);
return (ISC_R_NOTIMPLEMENTED);
@@ -103,7 +103,7 @@ fromstruct_#(ARGS_FROMSTRUCT) {
static inline isc_result_t
tostruct_#(ARGS_TOSTRUCT) {
- REQUIRE(rdata->type == #);
+ REQUIRE(rdata->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata->rdclass == #);
REQUIRE(rdata->length != 0); /* XXX */
@@ -115,14 +115,14 @@ freestruct_#(ARGS_FREESTRUCT) {
dns_rdata_#_t *# = source;
REQUIRE(source != NULL);
- REQUIRE(#->common.rdtype == #);
+ REQUIRE(#->common.rdtype == dns_rdatatype_proforma.c#);
REQUIRE(#->common.rdclass == #);
}
static inline isc_result_t
additionaldata_#(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == #);
+ REQUIRE(rdata->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata->rdclass == #);
(void)add;
@@ -135,7 +135,7 @@ static inline isc_result_t
digest_#(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == #);
+ REQUIRE(rdata->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata->rdclass == #);
dns_rdata_toregion(rdata, &r);
@@ -146,7 +146,7 @@ digest_#(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_#(ARGS_CHECKOWNER) {
- REQUIRE(type == #);
+ REQUIRE(type == dns_rdatatype_proforma.c#);
REQUIRE(rdclass == #);
UNUSED(name);
@@ -160,7 +160,7 @@ checkowner_#(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_#(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == #);
+ REQUIRE(rdata->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata->rdclass == #);
UNUSED(rdata);
@@ -175,9 +175,9 @@ casecompare_#(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
- REQUIRE(rdata1->type == rdata2->type);
+ REQUIRE(rdata1->type == dns_rdatatype_proforma.crdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == #);
+ REQUIRE(rdata1->type == dns_rdatatype_proforma.c#);
REQUIRE(rdata1->rdclass == #);
REQUIRE(rdata1->length != 0); /* XXX */
REQUIRE(rdata2->length != 0); /* XXX */
diff --git a/lib/dns/rdata/generic/ptr_12.c b/lib/dns/rdata/generic/ptr_12.c
index a619f137a877..e3f65cf28561 100644
--- a/lib/dns/rdata/generic/ptr_12.c
+++ b/lib/dns/rdata/generic/ptr_12.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@ fromtext_ptr(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 12);
+ REQUIRE(type == dns_rdatatype_ptr);
UNUSED(type);
UNUSED(rdclass);
@@ -63,7 +63,7 @@ totext_ptr(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 12);
+ REQUIRE(rdata->type == dns_rdatatype_ptr);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -81,7 +81,7 @@ static inline isc_result_t
fromwire_ptr(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 12);
+ REQUIRE(type == dns_rdatatype_ptr);
UNUSED(type);
UNUSED(rdclass);
@@ -98,7 +98,7 @@ towire_ptr(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 12);
+ REQUIRE(rdata->type == dns_rdatatype_ptr);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -119,7 +119,7 @@ compare_ptr(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 12);
+ REQUIRE(rdata1->type == dns_rdatatype_ptr);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -140,7 +140,7 @@ fromstruct_ptr(ARGS_FROMSTRUCT) {
dns_rdata_ptr_t *ptr = source;
isc_region_t region;
- REQUIRE(type == 12);
+ REQUIRE(type == dns_rdatatype_ptr);
REQUIRE(source != NULL);
REQUIRE(ptr->common.rdtype == type);
REQUIRE(ptr->common.rdclass == rdclass);
@@ -158,7 +158,7 @@ tostruct_ptr(ARGS_TOSTRUCT) {
dns_rdata_ptr_t *ptr = target;
dns_name_t name;
- REQUIRE(rdata->type == 12);
+ REQUIRE(rdata->type == dns_rdatatype_ptr);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -180,7 +180,7 @@ freestruct_ptr(ARGS_FREESTRUCT) {
dns_rdata_ptr_t *ptr = source;
REQUIRE(source != NULL);
- REQUIRE(ptr->common.rdtype == 12);
+ REQUIRE(ptr->common.rdtype == dns_rdatatype_ptr);
if (ptr->mctx == NULL)
return;
@@ -191,7 +191,7 @@ freestruct_ptr(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_ptr(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 12);
+ REQUIRE(rdata->type == dns_rdatatype_ptr);
UNUSED(rdata);
UNUSED(add);
@@ -205,7 +205,7 @@ digest_ptr(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 12);
+ REQUIRE(rdata->type == dns_rdatatype_ptr);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -217,7 +217,7 @@ digest_ptr(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_ptr(ARGS_CHECKOWNER) {
- REQUIRE(type == 12);
+ REQUIRE(type == dns_rdatatype_ptr);
UNUSED(name);
UNUSED(type);
@@ -268,11 +268,14 @@ checknames_ptr(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 12);
+ REQUIRE(rdata->type == dns_rdatatype_ptr);
if (rdata->rdclass != dns_rdataclass_in)
return (ISC_TRUE);
+ if (dns_name_isdnssd(owner))
+ return (ISC_TRUE);
+
if (dns_name_issubdomain(owner, &in_addr_arpa) ||
dns_name_issubdomain(owner, &ip6_arpa) ||
dns_name_issubdomain(owner, &ip6_int)) {
diff --git a/lib/dns/rdata/generic/rp_17.c b/lib/dns/rdata/generic/rp_17.c
index 3291f7bb55cd..e67c25ec7a1e 100644
--- a/lib/dns/rdata/generic/rp_17.c
+++ b/lib/dns/rdata/generic/rp_17.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,7 +32,7 @@ fromtext_rp(ARGS_FROMTEXT) {
int i;
isc_boolean_t ok;
- REQUIRE(type == 17);
+ REQUIRE(type == dns_rdatatype_rp);
UNUSED(type);
UNUSED(rdclass);
@@ -67,7 +67,7 @@ totext_rp(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 17);
+ REQUIRE(rdata->type == dns_rdatatype_rp);
REQUIRE(rdata->length != 0);
dns_name_init(&rmail, NULL);
@@ -96,7 +96,7 @@ fromwire_rp(ARGS_FROMWIRE) {
dns_name_t rmail;
dns_name_t email;
- REQUIRE(type == 17);
+ REQUIRE(type == dns_rdatatype_rp);
UNUSED(type);
UNUSED(rdclass);
@@ -118,7 +118,7 @@ towire_rp(ARGS_TOWIRE) {
dns_offsets_t roffsets;
dns_offsets_t eoffsets;
- REQUIRE(rdata->type == 17);
+ REQUIRE(rdata->type == dns_rdatatype_rp);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -148,7 +148,7 @@ compare_rp(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 17);
+ REQUIRE(rdata1->type == dns_rdatatype_rp);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -182,7 +182,7 @@ fromstruct_rp(ARGS_FROMSTRUCT) {
dns_rdata_rp_t *rp = source;
isc_region_t region;
- REQUIRE(type == 17);
+ REQUIRE(type == dns_rdatatype_rp);
REQUIRE(source != NULL);
REQUIRE(rp->common.rdtype == type);
REQUIRE(rp->common.rdclass == rdclass);
@@ -203,7 +203,7 @@ tostruct_rp(ARGS_TOSTRUCT) {
dns_rdata_rp_t *rp = target;
dns_name_t name;
- REQUIRE(rdata->type == 17);
+ REQUIRE(rdata->type == dns_rdatatype_rp);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -237,7 +237,7 @@ freestruct_rp(ARGS_FREESTRUCT) {
dns_rdata_rp_t *rp = source;
REQUIRE(source != NULL);
- REQUIRE(rp->common.rdtype == 17);
+ REQUIRE(rp->common.rdtype == dns_rdatatype_rp);
if (rp->mctx == NULL)
return;
@@ -249,7 +249,7 @@ freestruct_rp(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_rp(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 17);
+ REQUIRE(rdata->type == dns_rdatatype_rp);
UNUSED(rdata);
UNUSED(add);
@@ -263,7 +263,7 @@ digest_rp(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 17);
+ REQUIRE(rdata->type == dns_rdatatype_rp);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -281,7 +281,7 @@ digest_rp(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_rp(ARGS_CHECKOWNER) {
- REQUIRE(type == 17);
+ REQUIRE(type == dns_rdatatype_rp);
UNUSED(name);
UNUSED(type);
@@ -296,7 +296,7 @@ checknames_rp(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 17);
+ REQUIRE(rdata->type == dns_rdatatype_rp);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/rrsig_46.c b/lib/dns/rdata/generic/rrsig_46.c
index d4e8767fed88..8ae9319c5cf0 100644
--- a/lib/dns/rdata/generic/rrsig_46.c
+++ b/lib/dns/rdata/generic/rrsig_46.c
@@ -38,7 +38,7 @@ fromtext_rrsig(ARGS_FROMTEXT) {
isc_buffer_t buffer;
isc_uint32_t time_signed, time_expire;
- REQUIRE(type == 46);
+ REQUIRE(type == dns_rdatatype_rrsig);
UNUSED(type);
UNUSED(rdclass);
@@ -161,7 +161,7 @@ totext_rrsig(ARGS_TOTEXT) {
unsigned long foot;
dns_name_t name;
- REQUIRE(rdata->type == 46);
+ REQUIRE(rdata->type == dns_rdatatype_rrsig);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -264,7 +264,7 @@ fromwire_rrsig(ARGS_FROMWIRE) {
isc_region_t sr;
dns_name_t name;
- REQUIRE(type == 46);
+ REQUIRE(type == dns_rdatatype_rrsig);
UNUSED(type);
UNUSED(rdclass);
@@ -307,7 +307,7 @@ towire_rrsig(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
- REQUIRE(rdata->type == 46);
+ REQUIRE(rdata->type == dns_rdatatype_rrsig);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -345,7 +345,7 @@ compare_rrsig(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 46);
+ REQUIRE(rdata1->type == dns_rdatatype_rrsig);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -358,7 +358,7 @@ static inline isc_result_t
fromstruct_rrsig(ARGS_FROMSTRUCT) {
dns_rdata_rrsig_t *sig = source;
- REQUIRE(type == 46);
+ REQUIRE(type == dns_rdatatype_rrsig);
REQUIRE(source != NULL);
REQUIRE(sig->common.rdtype == type);
REQUIRE(sig->common.rdclass == rdclass);
@@ -419,7 +419,7 @@ tostruct_rrsig(ARGS_TOSTRUCT) {
dns_rdata_rrsig_t *sig = target;
dns_name_t signer;
- REQUIRE(rdata->type == 46);
+ REQUIRE(rdata->type == dns_rdatatype_rrsig);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -500,7 +500,7 @@ freestruct_rrsig(ARGS_FREESTRUCT) {
dns_rdata_rrsig_t *sig = (dns_rdata_rrsig_t *) source;
REQUIRE(source != NULL);
- REQUIRE(sig->common.rdtype == 46);
+ REQUIRE(sig->common.rdtype == dns_rdatatype_rrsig);
if (sig->mctx == NULL)
return;
@@ -513,7 +513,7 @@ freestruct_rrsig(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_rrsig(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 46);
+ REQUIRE(rdata->type == dns_rdatatype_rrsig);
UNUSED(rdata);
UNUSED(add);
@@ -525,7 +525,7 @@ additionaldata_rrsig(ARGS_ADDLDATA) {
static inline isc_result_t
digest_rrsig(ARGS_DIGEST) {
- REQUIRE(rdata->type == 46);
+ REQUIRE(rdata->type == dns_rdatatype_rrsig);
UNUSED(rdata);
UNUSED(digest);
@@ -539,7 +539,7 @@ covers_rrsig(dns_rdata_t *rdata) {
dns_rdatatype_t type;
isc_region_t r;
- REQUIRE(rdata->type == 46);
+ REQUIRE(rdata->type == dns_rdatatype_rrsig);
dns_rdata_toregion(rdata, &r);
type = uint16_fromregion(&r);
@@ -550,7 +550,7 @@ covers_rrsig(dns_rdata_t *rdata) {
static inline isc_boolean_t
checkowner_rrsig(ARGS_CHECKOWNER) {
- REQUIRE(type == 46);
+ REQUIRE(type == dns_rdatatype_rrsig);
UNUSED(name);
UNUSED(type);
@@ -563,7 +563,7 @@ checkowner_rrsig(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_rrsig(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 46);
+ REQUIRE(rdata->type == dns_rdatatype_rrsig);
UNUSED(rdata);
UNUSED(owner);
@@ -582,7 +582,7 @@ casecompare_rrsig(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 46);
+ REQUIRE(rdata1->type == dns_rdatatype_rrsig);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
diff --git a/lib/dns/rdata/generic/rt_21.c b/lib/dns/rdata/generic/rt_21.c
index 86fe2480b799..a9a89b268f35 100644
--- a/lib/dns/rdata/generic/rt_21.c
+++ b/lib/dns/rdata/generic/rt_21.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -33,7 +33,7 @@ fromtext_rt(ARGS_FROMTEXT) {
isc_buffer_t buffer;
isc_boolean_t ok;
- REQUIRE(type == 21);
+ REQUIRE(type == dns_rdatatype_rt);
UNUSED(type);
UNUSED(rdclass);
@@ -71,7 +71,7 @@ totext_rt(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned short num;
- REQUIRE(rdata->type == 21);
+ REQUIRE(rdata->type == dns_rdatatype_rt);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -94,7 +94,7 @@ fromwire_rt(ARGS_FROMWIRE) {
isc_region_t sregion;
isc_region_t tregion;
- REQUIRE(type == 21);
+ REQUIRE(type == dns_rdatatype_rt);
UNUSED(type);
UNUSED(rdclass);
@@ -122,7 +122,7 @@ towire_rt(ARGS_TOWIRE) {
isc_region_t region;
isc_region_t tr;
- REQUIRE(rdata->type == 21);
+ REQUIRE(rdata->type == dns_rdatatype_rt);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -150,7 +150,7 @@ compare_rt(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 21);
+ REQUIRE(rdata1->type == dns_rdatatype_rt);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -178,7 +178,7 @@ fromstruct_rt(ARGS_FROMSTRUCT) {
dns_rdata_rt_t *rt = source;
isc_region_t region;
- REQUIRE(type == 21);
+ REQUIRE(type == dns_rdatatype_rt);
REQUIRE(source != NULL);
REQUIRE(rt->common.rdtype == type);
REQUIRE(rt->common.rdclass == rdclass);
@@ -197,7 +197,7 @@ tostruct_rt(ARGS_TOSTRUCT) {
dns_rdata_rt_t *rt = target;
dns_name_t name;
- REQUIRE(rdata->type == 21);
+ REQUIRE(rdata->type == dns_rdatatype_rt);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -222,7 +222,7 @@ freestruct_rt(ARGS_FREESTRUCT) {
dns_rdata_rt_t *rt = source;
REQUIRE(source != NULL);
- REQUIRE(rt->common.rdtype == 21);
+ REQUIRE(rt->common.rdtype == dns_rdatatype_rt);
if (rt->mctx == NULL)
return;
@@ -238,7 +238,7 @@ additionaldata_rt(ARGS_ADDLDATA) {
isc_region_t region;
isc_result_t result;
- REQUIRE(rdata->type == 21);
+ REQUIRE(rdata->type == dns_rdatatype_rt);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -260,7 +260,7 @@ digest_rt(ARGS_DIGEST) {
isc_result_t result;
dns_name_t name;
- REQUIRE(rdata->type == 21);
+ REQUIRE(rdata->type == dns_rdatatype_rt);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -277,7 +277,7 @@ digest_rt(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_rt(ARGS_CHECKOWNER) {
- REQUIRE(type == 21);
+ REQUIRE(type == dns_rdatatype_rt);
UNUSED(name);
UNUSED(type);
@@ -292,7 +292,7 @@ checknames_rt(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 21);
+ REQUIRE(rdata->type == dns_rdatatype_rt);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/sig_24.c b/lib/dns/rdata/generic/sig_24.c
index 86aa38a696b6..af9c7daaa498 100644
--- a/lib/dns/rdata/generic/sig_24.c
+++ b/lib/dns/rdata/generic/sig_24.c
@@ -38,7 +38,7 @@ fromtext_sig(ARGS_FROMTEXT) {
isc_buffer_t buffer;
isc_uint32_t time_signed, time_expire;
- REQUIRE(type == 24);
+ REQUIRE(type == dns_rdatatype_sig);
UNUSED(type);
UNUSED(rdclass);
@@ -137,7 +137,7 @@ totext_sig(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 24);
+ REQUIRE(rdata->type == dns_rdatatype_sig);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -242,7 +242,7 @@ fromwire_sig(ARGS_FROMWIRE) {
isc_region_t sr;
dns_name_t name;
- REQUIRE(type == 24);
+ REQUIRE(type == dns_rdatatype_sig);
UNUSED(type);
UNUSED(rdclass);
@@ -285,7 +285,7 @@ towire_sig(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
- REQUIRE(rdata->type == 24);
+ REQUIRE(rdata->type == dns_rdatatype_sig);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -326,7 +326,7 @@ compare_sig(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 24);
+ REQUIRE(rdata1->type == dns_rdatatype_sig);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -363,7 +363,7 @@ static inline isc_result_t
fromstruct_sig(ARGS_FROMSTRUCT) {
dns_rdata_sig_t *sig = source;
- REQUIRE(type == 24);
+ REQUIRE(type == dns_rdatatype_sig);
REQUIRE(source != NULL);
REQUIRE(sig->common.rdtype == type);
REQUIRE(sig->common.rdclass == rdclass);
@@ -424,7 +424,7 @@ tostruct_sig(ARGS_TOSTRUCT) {
dns_rdata_sig_t *sig = target;
dns_name_t signer;
- REQUIRE(rdata->type == 24);
+ REQUIRE(rdata->type == dns_rdatatype_sig);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -505,7 +505,7 @@ freestruct_sig(ARGS_FREESTRUCT) {
dns_rdata_sig_t *sig = (dns_rdata_sig_t *) source;
REQUIRE(source != NULL);
- REQUIRE(sig->common.rdtype == 24);
+ REQUIRE(sig->common.rdtype == dns_rdatatype_sig);
if (sig->mctx == NULL)
return;
@@ -518,7 +518,7 @@ freestruct_sig(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_sig(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 24);
+ REQUIRE(rdata->type == dns_rdatatype_sig);
UNUSED(rdata);
UNUSED(add);
@@ -530,7 +530,7 @@ additionaldata_sig(ARGS_ADDLDATA) {
static inline isc_result_t
digest_sig(ARGS_DIGEST) {
- REQUIRE(rdata->type == 24);
+ REQUIRE(rdata->type == dns_rdatatype_sig);
UNUSED(rdata);
UNUSED(digest);
@@ -544,7 +544,7 @@ covers_sig(dns_rdata_t *rdata) {
dns_rdatatype_t type;
isc_region_t r;
- REQUIRE(rdata->type == 24);
+ REQUIRE(rdata->type == dns_rdatatype_sig);
dns_rdata_toregion(rdata, &r);
type = uint16_fromregion(&r);
@@ -555,7 +555,7 @@ covers_sig(dns_rdata_t *rdata) {
static inline isc_boolean_t
checkowner_sig(ARGS_CHECKOWNER) {
- REQUIRE(type == 24);
+ REQUIRE(type == dns_rdatatype_sig);
UNUSED(name);
UNUSED(type);
@@ -568,7 +568,7 @@ checkowner_sig(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_sig(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 24);
+ REQUIRE(rdata->type == dns_rdatatype_sig);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/soa_6.c b/lib/dns/rdata/generic/soa_6.c
index fe67d76f1ee3..b407813811a4 100644
--- a/lib/dns/rdata/generic/soa_6.c
+++ b/lib/dns/rdata/generic/soa_6.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2011, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -33,7 +33,7 @@ fromtext_soa(ARGS_FROMTEXT) {
isc_uint32_t n;
isc_boolean_t ok;
- REQUIRE(type == 6);
+ REQUIRE(type == dns_rdatatype_soa);
UNUSED(type);
UNUSED(rdclass);
@@ -95,16 +95,16 @@ totext_soa(ARGS_TOTEXT) {
isc_boolean_t sub;
int i;
isc_boolean_t multiline;
- isc_boolean_t comment;
+ isc_boolean_t comm;
- REQUIRE(rdata->type == 6);
+ REQUIRE(rdata->type == dns_rdatatype_soa);
REQUIRE(rdata->length != 0);
multiline = ISC_TF((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0);
if (multiline)
- comment = ISC_TF((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0);
+ comm = ISC_TF((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0);
else
- comment = ISC_FALSE;
+ comm = ISC_FALSE;
dns_name_init(&mname, NULL);
@@ -136,9 +136,9 @@ totext_soa(ARGS_TOTEXT) {
unsigned long num;
num = uint32_fromregion(&dregion);
isc_region_consume(&dregion, 4);
- sprintf(buf, comment ? "%-10lu ; " : "%lu", num);
+ sprintf(buf, comm ? "%-10lu ; " : "%lu", num);
RETERR(str_totext(buf, target));
- if (comment) {
+ if (comm) {
RETERR(str_totext(soa_fieldnames[i], target));
/* Print times in week/day/hour/minute/second form */
if (i >= 1) {
@@ -165,7 +165,7 @@ fromwire_soa(ARGS_FROMWIRE) {
isc_region_t sregion;
isc_region_t tregion;
- REQUIRE(type == 6);
+ REQUIRE(type == dns_rdatatype_soa);
UNUSED(type);
UNUSED(rdclass);
@@ -202,7 +202,7 @@ towire_soa(ARGS_TOWIRE) {
dns_offsets_t moffsets;
dns_offsets_t roffsets;
- REQUIRE(rdata->type == 6);
+ REQUIRE(rdata->type == dns_rdatatype_soa);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
@@ -239,7 +239,7 @@ compare_soa(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 6);
+ REQUIRE(rdata1->type == dns_rdatatype_soa);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -280,7 +280,7 @@ fromstruct_soa(ARGS_FROMSTRUCT) {
dns_rdata_soa_t *soa = source;
isc_region_t region;
- REQUIRE(type == 6);
+ REQUIRE(type == dns_rdatatype_soa);
REQUIRE(source != NULL);
REQUIRE(soa->common.rdtype == type);
REQUIRE(soa->common.rdclass == rdclass);
@@ -306,7 +306,7 @@ tostruct_soa(ARGS_TOSTRUCT) {
dns_name_t name;
isc_result_t result;
- REQUIRE(rdata->type == 6);
+ REQUIRE(rdata->type == dns_rdatatype_soa);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -358,7 +358,7 @@ freestruct_soa(ARGS_FREESTRUCT) {
dns_rdata_soa_t *soa = source;
REQUIRE(source != NULL);
- REQUIRE(soa->common.rdtype == 6);
+ REQUIRE(soa->common.rdtype == dns_rdatatype_soa);
if (soa->mctx == NULL)
return;
@@ -374,7 +374,7 @@ additionaldata_soa(ARGS_ADDLDATA) {
UNUSED(add);
UNUSED(arg);
- REQUIRE(rdata->type == 6);
+ REQUIRE(rdata->type == dns_rdatatype_soa);
return (ISC_R_SUCCESS);
}
@@ -384,7 +384,7 @@ digest_soa(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 6);
+ REQUIRE(rdata->type == dns_rdatatype_soa);
dns_rdata_toregion(rdata, &r);
@@ -404,7 +404,7 @@ digest_soa(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_soa(ARGS_CHECKOWNER) {
- REQUIRE(type == 6);
+ REQUIRE(type == dns_rdatatype_soa);
UNUSED(name);
UNUSED(type);
@@ -419,7 +419,7 @@ checknames_soa(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 6);
+ REQUIRE(rdata->type == dns_rdatatype_soa);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/spf_99.c b/lib/dns/rdata/generic/spf_99.c
index 10e86b888f3a..8ad4f02b9af4 100644
--- a/lib/dns/rdata/generic/spf_99.c
+++ b/lib/dns/rdata/generic/spf_99.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -29,7 +29,7 @@ fromtext_spf(ARGS_FROMTEXT) {
isc_token_t token;
int strings;
- REQUIRE(type == 99);
+ REQUIRE(type == dns_rdatatype_spf);
UNUSED(type);
UNUSED(rdclass);
@@ -59,7 +59,7 @@ totext_spf(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 99);
+ REQUIRE(rdata->type == dns_rdatatype_spf);
dns_rdata_toregion(rdata, &region);
@@ -76,7 +76,7 @@ static inline isc_result_t
fromwire_spf(ARGS_FROMWIRE) {
isc_result_t result;
- REQUIRE(type == 99);
+ REQUIRE(type == dns_rdatatype_spf);
UNUSED(type);
UNUSED(dctx);
@@ -95,7 +95,7 @@ static inline isc_result_t
towire_spf(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 99);
+ REQUIRE(rdata->type == dns_rdatatype_spf);
UNUSED(cctx);
@@ -115,7 +115,7 @@ compare_spf(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 99);
+ REQUIRE(rdata1->type == dns_rdatatype_spf);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
@@ -128,7 +128,7 @@ fromstruct_spf(ARGS_FROMSTRUCT) {
isc_region_t region;
isc_uint8_t length;
- REQUIRE(type == 99);
+ REQUIRE(type == dns_rdatatype_spf);
REQUIRE(source != NULL);
REQUIRE(txt->common.rdtype == type);
REQUIRE(txt->common.rdclass == rdclass);
@@ -155,7 +155,7 @@ tostruct_spf(ARGS_TOSTRUCT) {
dns_rdata_spf_t *txt = target;
isc_region_t r;
- REQUIRE(rdata->type == 99);
+ REQUIRE(rdata->type == dns_rdatatype_spf);
REQUIRE(target != NULL);
txt->common.rdclass = rdata->rdclass;
@@ -178,7 +178,7 @@ freestruct_spf(ARGS_FREESTRUCT) {
dns_rdata_spf_t *txt = source;
REQUIRE(source != NULL);
- REQUIRE(txt->common.rdtype == 99);
+ REQUIRE(txt->common.rdtype == dns_rdatatype_spf);
if (txt->mctx == NULL)
return;
@@ -190,7 +190,7 @@ freestruct_spf(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_spf(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 99);
+ REQUIRE(rdata->type == dns_rdatatype_spf);
UNUSED(rdata);
UNUSED(add);
@@ -203,7 +203,7 @@ static inline isc_result_t
digest_spf(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 99);
+ REQUIRE(rdata->type == dns_rdatatype_spf);
dns_rdata_toregion(rdata, &r);
@@ -213,7 +213,7 @@ digest_spf(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_spf(ARGS_CHECKOWNER) {
- REQUIRE(type == 99);
+ REQUIRE(type == dns_rdatatype_spf);
UNUSED(name);
UNUSED(type);
@@ -226,7 +226,7 @@ checkowner_spf(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_spf(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 99);
+ REQUIRE(rdata->type == dns_rdatatype_spf);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/sshfp_44.c b/lib/dns/rdata/generic/sshfp_44.c
index d553cd40380d..083c0fca4b8b 100644
--- a/lib/dns/rdata/generic/sshfp_44.c
+++ b/lib/dns/rdata/generic/sshfp_44.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006, 2007, 2009, 2011-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2006, 2007, 2009, 2011-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -28,7 +28,7 @@ static inline isc_result_t
fromtext_sshfp(ARGS_FROMTEXT) {
isc_token_t token;
- REQUIRE(type == 44);
+ REQUIRE(type == dns_rdatatype_sshfp);
UNUSED(type);
UNUSED(rdclass);
@@ -66,7 +66,7 @@ totext_sshfp(ARGS_TOTEXT) {
char buf[sizeof("64000 ")];
unsigned int n;
- REQUIRE(rdata->type == 44);
+ REQUIRE(rdata->type == dns_rdatatype_sshfp);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -109,7 +109,7 @@ static inline isc_result_t
fromwire_sshfp(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 44);
+ REQUIRE(type == dns_rdatatype_sshfp);
UNUSED(type);
UNUSED(rdclass);
@@ -128,7 +128,7 @@ static inline isc_result_t
towire_sshfp(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 44);
+ REQUIRE(rdata->type == dns_rdatatype_sshfp);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -144,7 +144,7 @@ compare_sshfp(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 44);
+ REQUIRE(rdata1->type == dns_rdatatype_sshfp);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -157,7 +157,7 @@ static inline isc_result_t
fromstruct_sshfp(ARGS_FROMSTRUCT) {
dns_rdata_sshfp_t *sshfp = source;
- REQUIRE(type == 44);
+ REQUIRE(type == dns_rdatatype_sshfp);
REQUIRE(source != NULL);
REQUIRE(sshfp->common.rdtype == type);
REQUIRE(sshfp->common.rdclass == rdclass);
@@ -176,7 +176,7 @@ tostruct_sshfp(ARGS_TOSTRUCT) {
dns_rdata_sshfp_t *sshfp = target;
isc_region_t region;
- REQUIRE(rdata->type == 44);
+ REQUIRE(rdata->type == dns_rdatatype_sshfp);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -205,7 +205,7 @@ freestruct_sshfp(ARGS_FREESTRUCT) {
dns_rdata_sshfp_t *sshfp = source;
REQUIRE(sshfp != NULL);
- REQUIRE(sshfp->common.rdtype == 44);
+ REQUIRE(sshfp->common.rdtype == dns_rdatatype_sshfp);
if (sshfp->mctx == NULL)
return;
@@ -217,7 +217,7 @@ freestruct_sshfp(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_sshfp(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 44);
+ REQUIRE(rdata->type == dns_rdatatype_sshfp);
UNUSED(rdata);
UNUSED(add);
@@ -230,7 +230,7 @@ static inline isc_result_t
digest_sshfp(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 44);
+ REQUIRE(rdata->type == dns_rdatatype_sshfp);
dns_rdata_toregion(rdata, &r);
@@ -240,7 +240,7 @@ digest_sshfp(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_sshfp(ARGS_CHECKOWNER) {
- REQUIRE(type == 44);
+ REQUIRE(type == dns_rdatatype_sshfp);
UNUSED(name);
UNUSED(type);
@@ -253,7 +253,7 @@ checkowner_sshfp(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_sshfp(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 44);
+ REQUIRE(rdata->type == dns_rdatatype_sshfp);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/tkey_249.c b/lib/dns/rdata/generic/tkey_249.c
index 0c91fd221ed8..e87b88065c97 100644
--- a/lib/dns/rdata/generic/tkey_249.c
+++ b/lib/dns/rdata/generic/tkey_249.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2011, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -37,7 +37,7 @@ fromtext_tkey(ARGS_FROMTEXT) {
long i;
char *e;
- REQUIRE(type == 249);
+ REQUIRE(type == dns_rdatatype_tkey);
UNUSED(type);
UNUSED(rdclass);
@@ -132,7 +132,7 @@ totext_tkey(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 249);
+ REQUIRE(rdata->type == dns_rdatatype_tkey);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -247,7 +247,7 @@ fromwire_tkey(ARGS_FROMWIRE) {
unsigned long n;
dns_name_t name;
- REQUIRE(type == 249);
+ REQUIRE(type == dns_rdatatype_tkey);
UNUSED(type);
UNUSED(rdclass);
@@ -303,7 +303,7 @@ towire_tkey(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
- REQUIRE(rdata->type == 249);
+ REQUIRE(rdata->type == dns_rdatatype_tkey);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -329,7 +329,7 @@ compare_tkey(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 249);
+ REQUIRE(rdata1->type == dns_rdatatype_tkey);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -353,7 +353,7 @@ static inline isc_result_t
fromstruct_tkey(ARGS_FROMSTRUCT) {
dns_rdata_tkey_t *tkey = source;
- REQUIRE(type == 249);
+ REQUIRE(type == dns_rdatatype_tkey);
REQUIRE(source != NULL);
REQUIRE(tkey->common.rdtype == type);
REQUIRE(tkey->common.rdclass == rdclass);
@@ -413,7 +413,7 @@ tostruct_tkey(ARGS_TOSTRUCT) {
dns_name_t alg;
isc_region_t sr;
- REQUIRE(rdata->type == 249);
+ REQUIRE(rdata->type == dns_rdatatype_tkey);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -519,7 +519,7 @@ additionaldata_tkey(ARGS_ADDLDATA) {
UNUSED(add);
UNUSED(arg);
- REQUIRE(rdata->type == 249);
+ REQUIRE(rdata->type == dns_rdatatype_tkey);
return (ISC_R_SUCCESS);
}
@@ -530,7 +530,7 @@ digest_tkey(ARGS_DIGEST) {
UNUSED(digest);
UNUSED(arg);
- REQUIRE(rdata->type == 249);
+ REQUIRE(rdata->type == dns_rdatatype_tkey);
return (ISC_R_NOTIMPLEMENTED);
}
@@ -538,7 +538,7 @@ digest_tkey(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_tkey(ARGS_CHECKOWNER) {
- REQUIRE(type == 249);
+ REQUIRE(type == dns_rdatatype_tkey);
UNUSED(name);
UNUSED(type);
@@ -551,7 +551,7 @@ checkowner_tkey(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_tkey(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 249);
+ REQUIRE(rdata->type == dns_rdatatype_tkey);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/tlsa_52.c b/lib/dns/rdata/generic/tlsa_52.c
index b46556d35d4e..d09a5289a805 100644
--- a/lib/dns/rdata/generic/tlsa_52.c
+++ b/lib/dns/rdata/generic/tlsa_52.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012, 2014, 2015 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
@@ -27,7 +27,7 @@ static inline isc_result_t
fromtext_tlsa(ARGS_FROMTEXT) {
isc_token_t token;
- REQUIRE(type == 52);
+ REQUIRE(type == dns_rdatatype_tlsa);
UNUSED(type);
UNUSED(rdclass);
@@ -74,7 +74,7 @@ totext_tlsa(ARGS_TOTEXT) {
char buf[sizeof("64000 ")];
unsigned int n;
- REQUIRE(rdata->type == 52);
+ REQUIRE(rdata->type == dns_rdatatype_tlsa);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -125,7 +125,7 @@ static inline isc_result_t
fromwire_tlsa(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 52);
+ REQUIRE(type == dns_rdatatype_tlsa);
UNUSED(type);
UNUSED(rdclass);
@@ -145,7 +145,7 @@ static inline isc_result_t
towire_tlsa(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 52);
+ REQUIRE(rdata->type == dns_rdatatype_tlsa);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -161,7 +161,7 @@ compare_tlsa(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 52);
+ REQUIRE(rdata1->type == dns_rdatatype_tlsa);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -174,7 +174,7 @@ static inline isc_result_t
fromstruct_tlsa(ARGS_FROMSTRUCT) {
dns_rdata_tlsa_t *tlsa = source;
- REQUIRE(type == 52);
+ REQUIRE(type == dns_rdatatype_tlsa);
REQUIRE(source != NULL);
REQUIRE(tlsa->common.rdtype == type);
REQUIRE(tlsa->common.rdclass == rdclass);
@@ -194,7 +194,7 @@ tostruct_tlsa(ARGS_TOSTRUCT) {
dns_rdata_tlsa_t *tlsa = target;
isc_region_t region;
- REQUIRE(rdata->type == 52);
+ REQUIRE(rdata->type == dns_rdatatype_tlsa);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -225,7 +225,7 @@ freestruct_tlsa(ARGS_FREESTRUCT) {
dns_rdata_tlsa_t *tlsa = source;
REQUIRE(tlsa != NULL);
- REQUIRE(tlsa->common.rdtype == 52);
+ REQUIRE(tlsa->common.rdtype == dns_rdatatype_tlsa);
if (tlsa->mctx == NULL)
return;
@@ -237,7 +237,7 @@ freestruct_tlsa(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_tlsa(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 52);
+ REQUIRE(rdata->type == dns_rdatatype_tlsa);
UNUSED(rdata);
UNUSED(add);
@@ -250,7 +250,7 @@ static inline isc_result_t
digest_tlsa(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 52);
+ REQUIRE(rdata->type == dns_rdatatype_tlsa);
dns_rdata_toregion(rdata, &r);
@@ -260,7 +260,7 @@ digest_tlsa(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_tlsa(ARGS_CHECKOWNER) {
- REQUIRE(type == 52);
+ REQUIRE(type == dns_rdatatype_tlsa);
UNUSED(name);
UNUSED(type);
@@ -273,7 +273,7 @@ checkowner_tlsa(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_tlsa(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 52);
+ REQUIRE(rdata->type == dns_rdatatype_tlsa);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/txt_16.c b/lib/dns/rdata/generic/txt_16.c
index 0cbe3ea6f15a..aa7c3a0ab138 100644
--- a/lib/dns/rdata/generic/txt_16.c
+++ b/lib/dns/rdata/generic/txt_16.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007-2009, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007-2009, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -29,7 +29,7 @@ fromtext_txt(ARGS_FROMTEXT) {
isc_token_t token;
int strings;
- REQUIRE(type == 16);
+ REQUIRE(type == dns_rdatatype_txt);
UNUSED(type);
UNUSED(rdclass);
@@ -66,7 +66,7 @@ totext_txt(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 16);
+ REQUIRE(rdata->type == dns_rdatatype_txt);
dns_rdata_toregion(rdata, &region);
@@ -83,7 +83,7 @@ static inline isc_result_t
fromwire_txt(ARGS_FROMWIRE) {
isc_result_t result;
- REQUIRE(type == 16);
+ REQUIRE(type == dns_rdatatype_txt);
UNUSED(type);
UNUSED(dctx);
@@ -102,7 +102,7 @@ static inline isc_result_t
towire_txt(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 16);
+ REQUIRE(rdata->type == dns_rdatatype_txt);
UNUSED(cctx);
@@ -122,7 +122,7 @@ compare_txt(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 16);
+ REQUIRE(rdata1->type == dns_rdatatype_txt);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
@@ -135,7 +135,7 @@ fromstruct_txt(ARGS_FROMSTRUCT) {
isc_region_t region;
isc_uint8_t length;
- REQUIRE(type == 16);
+ REQUIRE(type == dns_rdatatype_txt);
REQUIRE(source != NULL);
REQUIRE(txt->common.rdtype == type);
REQUIRE(txt->common.rdclass == rdclass);
@@ -162,7 +162,7 @@ tostruct_txt(ARGS_TOSTRUCT) {
dns_rdata_txt_t *txt = target;
isc_region_t r;
- REQUIRE(rdata->type == 16);
+ REQUIRE(rdata->type == dns_rdatatype_txt);
REQUIRE(target != NULL);
txt->common.rdclass = rdata->rdclass;
@@ -185,7 +185,7 @@ freestruct_txt(ARGS_FREESTRUCT) {
dns_rdata_txt_t *txt = source;
REQUIRE(source != NULL);
- REQUIRE(txt->common.rdtype == 16);
+ REQUIRE(txt->common.rdtype == dns_rdatatype_txt);
if (txt->mctx == NULL)
return;
@@ -197,7 +197,7 @@ freestruct_txt(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_txt(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 16);
+ REQUIRE(rdata->type == dns_rdatatype_txt);
UNUSED(rdata);
UNUSED(add);
@@ -210,7 +210,7 @@ static inline isc_result_t
digest_txt(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 16);
+ REQUIRE(rdata->type == dns_rdatatype_txt);
dns_rdata_toregion(rdata, &r);
@@ -220,7 +220,7 @@ digest_txt(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_txt(ARGS_CHECKOWNER) {
- REQUIRE(type == 16);
+ REQUIRE(type == dns_rdatatype_txt);
UNUSED(name);
UNUSED(type);
@@ -233,7 +233,7 @@ checkowner_txt(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_txt(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 16);
+ REQUIRE(rdata->type == dns_rdatatype_txt);
UNUSED(rdata);
UNUSED(owner);
@@ -251,7 +251,7 @@ isc_result_t
dns_rdata_txt_first(dns_rdata_txt_t *txt) {
REQUIRE(txt != NULL);
- REQUIRE(txt->common.rdtype == 16);
+ REQUIRE(txt->common.rdtype == dns_rdatatype_txt);
REQUIRE(txt->txt != NULL || txt->txt_len == 0);
if (txt->txt_len == 0)
@@ -267,7 +267,7 @@ dns_rdata_txt_next(dns_rdata_txt_t *txt) {
isc_uint8_t length;
REQUIRE(txt != NULL);
- REQUIRE(txt->common.rdtype == 16);
+ REQUIRE(txt->common.rdtype == dns_rdatatype_txt);
REQUIRE(txt->txt != NULL && txt->txt_len != 0);
INSIST(txt->offset + 1 <= txt->txt_len);
@@ -287,7 +287,7 @@ dns_rdata_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t *string) {
REQUIRE(txt != NULL);
REQUIRE(string != NULL);
- REQUIRE(txt->common.rdtype == 16);
+ REQUIRE(txt->common.rdtype == dns_rdatatype_txt);
REQUIRE(txt->txt != NULL);
REQUIRE(txt->offset < txt->txt_len);
diff --git a/lib/dns/rdata/generic/unspec_103.c b/lib/dns/rdata/generic/unspec_103.c
index c335c6751da7..016d7a64f9f2 100644
--- a/lib/dns/rdata/generic/unspec_103.c
+++ b/lib/dns/rdata/generic/unspec_103.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -25,7 +25,7 @@
static inline isc_result_t
fromtext_unspec(ARGS_FROMTEXT) {
- REQUIRE(type == 103);
+ REQUIRE(type == dns_rdatatype_unspec);
UNUSED(type);
UNUSED(rdclass);
@@ -39,7 +39,7 @@ fromtext_unspec(ARGS_FROMTEXT) {
static inline isc_result_t
totext_unspec(ARGS_TOTEXT) {
- REQUIRE(rdata->type == 103);
+ REQUIRE(rdata->type == dns_rdatatype_unspec);
UNUSED(tctx);
@@ -50,7 +50,7 @@ static inline isc_result_t
fromwire_unspec(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 103);
+ REQUIRE(type == dns_rdatatype_unspec);
UNUSED(type);
UNUSED(rdclass);
@@ -65,7 +65,7 @@ fromwire_unspec(ARGS_FROMWIRE) {
static inline isc_result_t
towire_unspec(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 103);
+ REQUIRE(rdata->type == dns_rdatatype_unspec);
UNUSED(cctx);
@@ -79,7 +79,7 @@ compare_unspec(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 103);
+ REQUIRE(rdata1->type == dns_rdatatype_unspec);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
@@ -90,7 +90,7 @@ static inline isc_result_t
fromstruct_unspec(ARGS_FROMSTRUCT) {
dns_rdata_unspec_t *unspec = source;
- REQUIRE(type == 103);
+ REQUIRE(type == dns_rdatatype_unspec);
REQUIRE(source != NULL);
REQUIRE(unspec->common.rdtype == type);
REQUIRE(unspec->common.rdclass == rdclass);
@@ -107,7 +107,7 @@ tostruct_unspec(ARGS_TOSTRUCT) {
dns_rdata_unspec_t *unspec = target;
isc_region_t r;
- REQUIRE(rdata->type == 103);
+ REQUIRE(rdata->type == dns_rdatatype_unspec);
REQUIRE(target != NULL);
unspec->common.rdclass = rdata->rdclass;
@@ -129,7 +129,7 @@ freestruct_unspec(ARGS_FREESTRUCT) {
dns_rdata_unspec_t *unspec = source;
REQUIRE(source != NULL);
- REQUIRE(unspec->common.rdtype == 103);
+ REQUIRE(unspec->common.rdtype == dns_rdatatype_unspec);
if (unspec->mctx == NULL)
return;
@@ -141,7 +141,7 @@ freestruct_unspec(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_unspec(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 103);
+ REQUIRE(rdata->type == dns_rdatatype_unspec);
UNUSED(rdata);
UNUSED(add);
@@ -154,7 +154,7 @@ static inline isc_result_t
digest_unspec(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 103);
+ REQUIRE(rdata->type == dns_rdatatype_unspec);
dns_rdata_toregion(rdata, &r);
@@ -164,7 +164,7 @@ digest_unspec(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_unspec(ARGS_CHECKOWNER) {
- REQUIRE(type == 103);
+ REQUIRE(type == dns_rdatatype_unspec);
UNUSED(name);
UNUSED(type);
@@ -177,7 +177,7 @@ checkowner_unspec(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_unspec(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 103);
+ REQUIRE(rdata->type == dns_rdatatype_unspec);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/uri_256.c b/lib/dns/rdata/generic/uri_256.c
index 3ddd790847ac..7e4b41cb7092 100644
--- a/lib/dns/rdata/generic/uri_256.c
+++ b/lib/dns/rdata/generic/uri_256.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 2012, 2014, 2015 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
@@ -25,7 +25,7 @@ static inline isc_result_t
fromtext_uri(ARGS_FROMTEXT) {
isc_token_t token;
- REQUIRE(type == 256);
+ REQUIRE(type == dns_rdatatype_uri);
UNUSED(type);
UNUSED(rdclass);
@@ -70,7 +70,7 @@ totext_uri(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 256);
+ REQUIRE(rdata->type == dns_rdatatype_uri);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &region);
@@ -102,7 +102,7 @@ static inline isc_result_t
fromwire_uri(ARGS_FROMWIRE) {
isc_region_t region;
- REQUIRE(type == 256);
+ REQUIRE(type == dns_rdatatype_uri);
UNUSED(type);
UNUSED(rdclass);
@@ -127,7 +127,7 @@ static inline isc_result_t
towire_uri(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 256);
+ REQUIRE(rdata->type == dns_rdatatype_uri);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -144,7 +144,7 @@ compare_uri(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 256);
+ REQUIRE(rdata1->type == dns_rdatatype_uri);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -176,7 +176,7 @@ static inline isc_result_t
fromstruct_uri(ARGS_FROMSTRUCT) {
dns_rdata_uri_t *uri = source;
- REQUIRE(type == 256);
+ REQUIRE(type == dns_rdatatype_uri);
REQUIRE(source != NULL);
REQUIRE(uri->common.rdtype == type);
REQUIRE(uri->common.rdclass == rdclass);
@@ -206,7 +206,7 @@ tostruct_uri(ARGS_TOSTRUCT) {
dns_rdata_uri_t *uri = target;
isc_region_t sr;
- REQUIRE(rdata->type == 256);
+ REQUIRE(rdata->type == dns_rdatatype_uri);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -249,7 +249,7 @@ freestruct_uri(ARGS_FREESTRUCT) {
dns_rdata_uri_t *uri = (dns_rdata_uri_t *) source;
REQUIRE(source != NULL);
- REQUIRE(uri->common.rdtype == 256);
+ REQUIRE(uri->common.rdtype == dns_rdatatype_uri);
if (uri->mctx == NULL)
return;
@@ -261,7 +261,7 @@ freestruct_uri(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_uri(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 256);
+ REQUIRE(rdata->type == dns_rdatatype_uri);
UNUSED(rdata);
UNUSED(add);
@@ -274,7 +274,7 @@ static inline isc_result_t
digest_uri(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 256);
+ REQUIRE(rdata->type == dns_rdatatype_uri);
dns_rdata_toregion(rdata, &r);
@@ -284,7 +284,7 @@ digest_uri(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_uri(ARGS_CHECKOWNER) {
- REQUIRE(type == 256);
+ REQUIRE(type == dns_rdatatype_uri);
UNUSED(name);
UNUSED(type);
@@ -297,7 +297,7 @@ checkowner_uri(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_uri(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 256);
+ REQUIRE(rdata->type == dns_rdatatype_uri);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/generic/x25_19.c b/lib/dns/rdata/generic/x25_19.c
index c5fe2d18b08c..81543f63fa97 100644
--- a/lib/dns/rdata/generic/x25_19.c
+++ b/lib/dns/rdata/generic/x25_19.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -31,7 +31,7 @@ fromtext_x25(ARGS_FROMTEXT) {
isc_token_t token;
unsigned int i;
- REQUIRE(type == 19);
+ REQUIRE(type == dns_rdatatype_x25);
UNUSED(type);
UNUSED(rdclass);
@@ -56,7 +56,7 @@ totext_x25(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 19);
+ REQUIRE(rdata->type == dns_rdatatype_x25);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &region);
@@ -67,7 +67,7 @@ static inline isc_result_t
fromwire_x25(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 19);
+ REQUIRE(type == dns_rdatatype_x25);
UNUSED(type);
UNUSED(dctx);
@@ -84,7 +84,7 @@ static inline isc_result_t
towire_x25(ARGS_TOWIRE) {
UNUSED(cctx);
- REQUIRE(rdata->type == 19);
+ REQUIRE(rdata->type == dns_rdatatype_x25);
REQUIRE(rdata->length != 0);
return (mem_tobuffer(target, rdata->data, rdata->length));
@@ -97,7 +97,7 @@ compare_x25(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 19);
+ REQUIRE(rdata1->type == dns_rdatatype_x25);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -111,7 +111,7 @@ fromstruct_x25(ARGS_FROMSTRUCT) {
dns_rdata_x25_t *x25 = source;
isc_uint8_t i;
- REQUIRE(type == 19);
+ REQUIRE(type == dns_rdatatype_x25);
REQUIRE(source != NULL);
REQUIRE(x25->common.rdtype == type);
REQUIRE(x25->common.rdclass == rdclass);
@@ -136,7 +136,7 @@ tostruct_x25(ARGS_TOSTRUCT) {
dns_rdata_x25_t *x25 = target;
isc_region_t r;
- REQUIRE(rdata->type == 19);
+ REQUIRE(rdata->type == dns_rdatatype_x25);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -159,7 +159,7 @@ static inline void
freestruct_x25(ARGS_FREESTRUCT) {
dns_rdata_x25_t *x25 = source;
REQUIRE(source != NULL);
- REQUIRE(x25->common.rdtype == 19);
+ REQUIRE(x25->common.rdtype == dns_rdatatype_x25);
if (x25->mctx == NULL)
return;
@@ -171,7 +171,7 @@ freestruct_x25(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_x25(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 19);
+ REQUIRE(rdata->type == dns_rdatatype_x25);
UNUSED(rdata);
UNUSED(add);
@@ -184,7 +184,7 @@ static inline isc_result_t
digest_x25(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 19);
+ REQUIRE(rdata->type == dns_rdatatype_x25);
dns_rdata_toregion(rdata, &r);
@@ -194,7 +194,7 @@ digest_x25(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_x25(ARGS_CHECKOWNER) {
- REQUIRE(type == 19);
+ REQUIRE(type == dns_rdatatype_x25);
UNUSED(name);
UNUSED(type);
@@ -207,7 +207,7 @@ checkowner_x25(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_x25(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 19);
+ REQUIRE(rdata->type == dns_rdatatype_x25);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/hs_4/a_1.c b/lib/dns/rdata/hs_4/a_1.c
index 5f8a87504c0e..dc543a962c3c 100644
--- a/lib/dns/rdata/hs_4/a_1.c
+++ b/lib/dns/rdata/hs_4/a_1.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,8 +32,8 @@ fromtext_hs_a(ARGS_FROMTEXT) {
struct in_addr addr;
isc_region_t region;
- REQUIRE(type == 1);
- REQUIRE(rdclass == 4);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_hs);
UNUSED(type);
UNUSED(origin);
@@ -57,8 +57,8 @@ static inline isc_result_t
totext_hs_a(ARGS_TOTEXT) {
isc_region_t region;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 4);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_hs);
REQUIRE(rdata->length == 4);
UNUSED(tctx);
@@ -72,8 +72,8 @@ fromwire_hs_a(ARGS_FROMWIRE) {
isc_region_t sregion;
isc_region_t tregion;
- REQUIRE(type == 1);
- REQUIRE(rdclass == 4);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_hs);
UNUSED(type);
UNUSED(dctx);
@@ -97,8 +97,8 @@ static inline isc_result_t
towire_hs_a(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 4);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_hs);
REQUIRE(rdata->length == 4);
UNUSED(cctx);
@@ -117,8 +117,8 @@ compare_hs_a(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 1);
- REQUIRE(rdata1->rdclass == 4);
+ REQUIRE(rdata1->type == dns_rdatatype_a);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_hs);
REQUIRE(rdata1->length == 4);
REQUIRE(rdata2->length == 4);
@@ -134,8 +134,8 @@ fromstruct_hs_a(ARGS_FROMSTRUCT) {
dns_rdata_hs_a_t *a = source;
isc_uint32_t n;
- REQUIRE(type == 1);
- REQUIRE(rdclass == 4);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_hs);
REQUIRE(source != NULL);
REQUIRE(a->common.rdtype == type);
REQUIRE(a->common.rdclass == rdclass);
@@ -154,8 +154,8 @@ tostruct_hs_a(ARGS_TOSTRUCT) {
isc_uint32_t n;
isc_region_t region;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 4);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_hs);
REQUIRE(rdata->length == 4);
UNUSED(mctx);
@@ -180,8 +180,8 @@ freestruct_hs_a(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_hs_a(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 4);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_hs);
UNUSED(rdata);
UNUSED(add);
@@ -194,8 +194,8 @@ static inline isc_result_t
digest_hs_a(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 4);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_hs);
dns_rdata_toregion(rdata, &r);
@@ -205,8 +205,8 @@ digest_hs_a(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_hs_a(ARGS_CHECKOWNER) {
- REQUIRE(type == 1);
- REQUIRE(rdclass == 4);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_hs);
UNUSED(name);
UNUSED(type);
@@ -219,8 +219,8 @@ checkowner_hs_a(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_hs_a(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 4);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_hs);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/a6_38.c b/lib/dns/rdata/in_1/a6_38.c
index b6ef68878e2f..05a21ade89d2 100644
--- a/lib/dns/rdata/in_1/a6_38.c
+++ b/lib/dns/rdata/in_1/a6_38.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -37,8 +37,8 @@ fromtext_in_a6(ARGS_FROMTEXT) {
isc_buffer_t buffer;
isc_boolean_t ok;
- REQUIRE(type == 38);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a6);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -107,8 +107,8 @@ totext_in_a6(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 38);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a6);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -150,8 +150,8 @@ fromwire_in_a6(ARGS_FROMWIRE) {
unsigned char mask;
dns_name_t name;
- REQUIRE(type == 38);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a6);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -199,8 +199,8 @@ towire_in_a6(ARGS_TOWIRE) {
unsigned char prefixlen;
unsigned char octets;
- REQUIRE(rdata->type == 38);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a6);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -232,8 +232,8 @@ compare_in_a6(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 38);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_a6);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -283,8 +283,8 @@ fromstruct_in_a6(ARGS_FROMSTRUCT) {
isc_uint8_t first;
isc_uint8_t mask;
- REQUIRE(type == 38);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a6);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(a6->common.rdtype == type);
REQUIRE(a6->common.rdclass == rdclass);
@@ -326,8 +326,8 @@ tostruct_in_a6(ARGS_TOSTRUCT) {
dns_name_t name;
isc_region_t r;
- REQUIRE(rdata->type == 38);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a6);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -369,8 +369,8 @@ freestruct_in_a6(ARGS_FREESTRUCT) {
dns_rdata_in_a6_t *a6 = source;
REQUIRE(source != NULL);
- REQUIRE(a6->common.rdclass == 1);
- REQUIRE(a6->common.rdtype == 38);
+ REQUIRE(a6->common.rdclass == dns_rdataclass_in);
+ REQUIRE(a6->common.rdtype == dns_rdatatype_a6);
if (a6->mctx == NULL)
return;
@@ -382,8 +382,8 @@ freestruct_in_a6(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_in_a6(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 38);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a6);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(add);
@@ -399,8 +399,8 @@ digest_in_a6(ARGS_DIGEST) {
isc_result_t result;
dns_name_t name;
- REQUIRE(rdata->type == 38);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a6);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -423,8 +423,8 @@ digest_in_a6(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_a6(ARGS_CHECKOWNER) {
- REQUIRE(type == 38);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a6);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -438,8 +438,8 @@ checknames_in_a6(ARGS_CHECKNAMES) {
dns_name_t name;
unsigned int prefixlen;
- REQUIRE(rdata->type == 38);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a6);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/a_1.c b/lib/dns/rdata/in_1/a_1.c
index fcdcaae0545b..3a5f4cb3c5a1 100644
--- a/lib/dns/rdata/in_1/a_1.c
+++ b/lib/dns/rdata/in_1/a_1.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -34,8 +34,8 @@ fromtext_in_a(ARGS_FROMTEXT) {
struct in_addr addr;
isc_region_t region;
- REQUIRE(type == 1);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(origin);
@@ -59,8 +59,8 @@ static inline isc_result_t
totext_in_a(ARGS_TOTEXT) {
isc_region_t region;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length == 4);
UNUSED(tctx);
@@ -74,8 +74,8 @@ fromwire_in_a(ARGS_FROMWIRE) {
isc_region_t sregion;
isc_region_t tregion;
- REQUIRE(type == 1);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(dctx);
@@ -99,8 +99,8 @@ static inline isc_result_t
towire_in_a(ARGS_TOWIRE) {
isc_region_t region;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length == 4);
UNUSED(cctx);
@@ -120,8 +120,8 @@ compare_in_a(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 1);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_a);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length == 4);
REQUIRE(rdata2->length == 4);
@@ -135,8 +135,8 @@ fromstruct_in_a(ARGS_FROMSTRUCT) {
dns_rdata_in_a_t *a = source;
isc_uint32_t n;
- REQUIRE(type == 1);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(a->common.rdtype == type);
REQUIRE(a->common.rdclass == rdclass);
@@ -156,8 +156,8 @@ tostruct_in_a(ARGS_TOSTRUCT) {
isc_uint32_t n;
isc_region_t region;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length == 4);
UNUSED(mctx);
@@ -178,16 +178,16 @@ freestruct_in_a(ARGS_FREESTRUCT) {
dns_rdata_in_a_t *a = source;
REQUIRE(source != NULL);
- REQUIRE(a->common.rdtype == 1);
- REQUIRE(a->common.rdclass == 1);
+ REQUIRE(a->common.rdtype == dns_rdatatype_a);
+ REQUIRE(a->common.rdclass == dns_rdataclass_in);
UNUSED(a);
}
static inline isc_result_t
additionaldata_in_a(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(add);
@@ -200,8 +200,8 @@ static inline isc_result_t
digest_in_a(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
@@ -210,21 +210,35 @@ digest_in_a(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_a(ARGS_CHECKOWNER) {
+ dns_name_t prefix, suffix;
- REQUIRE(type == 1);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_a);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
+ /*
+ * Handle Active Diretory gc._msdcs.<forest> name.
+ */
+ if (dns_name_countlabels(name) > 2U) {
+ dns_name_init(&prefix, NULL);
+ dns_name_init(&suffix, NULL);
+ dns_name_split(name, dns_name_countlabels(name) - 2,
+ &prefix, &suffix);
+ if (dns_name_equal(&gc_msdcs, &prefix) &&
+ dns_name_ishostname(&suffix, ISC_FALSE))
+ return (ISC_TRUE);
+ }
+
return (dns_name_ishostname(name, wildcard));
}
static inline isc_boolean_t
checknames_in_a(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 1);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_a);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/aaaa_28.c b/lib/dns/rdata/in_1/aaaa_28.c
index 3f88c4db0f2f..f0a40ebbd747 100644
--- a/lib/dns/rdata/in_1/aaaa_28.c
+++ b/lib/dns/rdata/in_1/aaaa_28.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -34,8 +34,8 @@ fromtext_in_aaaa(ARGS_FROMTEXT) {
unsigned char addr[16];
isc_region_t region;
- REQUIRE(type == 28);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_aaaa);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(origin);
@@ -62,8 +62,8 @@ totext_in_aaaa(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 28);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_aaaa);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length == 16);
dns_rdata_toregion(rdata, &region);
@@ -75,8 +75,8 @@ fromwire_in_aaaa(ARGS_FROMWIRE) {
isc_region_t sregion;
isc_region_t tregion;
- REQUIRE(type == 28);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_aaaa);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(dctx);
@@ -102,8 +102,8 @@ towire_in_aaaa(ARGS_TOWIRE) {
UNUSED(cctx);
- REQUIRE(rdata->type == 28);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_aaaa);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length == 16);
isc_buffer_availableregion(target, &region);
@@ -121,8 +121,8 @@ compare_in_aaaa(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 28);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_aaaa);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length == 16);
REQUIRE(rdata2->length == 16);
@@ -135,8 +135,8 @@ static inline isc_result_t
fromstruct_in_aaaa(ARGS_FROMSTRUCT) {
dns_rdata_in_aaaa_t *aaaa = source;
- REQUIRE(type == 28);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_aaaa);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(aaaa->common.rdtype == type);
REQUIRE(aaaa->common.rdclass == rdclass);
@@ -152,8 +152,8 @@ tostruct_in_aaaa(ARGS_TOSTRUCT) {
dns_rdata_in_aaaa_t *aaaa = target;
isc_region_t r;
- REQUIRE(rdata->type == 28);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_aaaa);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(target != NULL);
REQUIRE(rdata->length == 16);
@@ -175,16 +175,16 @@ freestruct_in_aaaa(ARGS_FREESTRUCT) {
dns_rdata_in_aaaa_t *aaaa = source;
REQUIRE(source != NULL);
- REQUIRE(aaaa->common.rdclass == 1);
- REQUIRE(aaaa->common.rdtype == 28);
+ REQUIRE(aaaa->common.rdclass == dns_rdataclass_in);
+ REQUIRE(aaaa->common.rdtype == dns_rdatatype_aaaa);
UNUSED(aaaa);
}
static inline isc_result_t
additionaldata_in_aaaa(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 28);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_aaaa);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(add);
@@ -197,8 +197,8 @@ static inline isc_result_t
digest_in_aaaa(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 28);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_aaaa);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
@@ -207,21 +207,35 @@ digest_in_aaaa(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_aaaa(ARGS_CHECKOWNER) {
+ dns_name_t prefix, suffix;
- REQUIRE(type == 28);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_aaaa);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
+ /*
+ * Handle Active Diretory gc._msdcs.<forest> name.
+ */
+ if (dns_name_countlabels(name) > 2U) {
+ dns_name_init(&prefix, NULL);
+ dns_name_init(&suffix, NULL);
+ dns_name_split(name, dns_name_countlabels(name) - 2,
+ &prefix, &suffix);
+ if (dns_name_equal(&gc_msdcs, &prefix) &&
+ dns_name_ishostname(&suffix, ISC_FALSE))
+ return (ISC_TRUE);
+ }
+
return (dns_name_ishostname(name, wildcard));
}
static inline isc_boolean_t
checknames_in_aaaa(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 28);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_aaaa);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/apl_42.c b/lib/dns/rdata/in_1/apl_42.c
index 94133bae6296..bedd38ebaab8 100644
--- a/lib/dns/rdata/in_1/apl_42.c
+++ b/lib/dns/rdata/in_1/apl_42.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -35,8 +35,8 @@ fromtext_in_apl(ARGS_FROMTEXT) {
char *cp, *ap, *slash;
int n;
- REQUIRE(type == 42);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_apl);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -120,8 +120,8 @@ totext_in_apl(ARGS_TOTEXT) {
const char *sep = "";
int n;
- REQUIRE(rdata->type == 42);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_apl);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(tctx);
@@ -180,8 +180,8 @@ fromwire_in_apl(ARGS_FROMWIRE) {
isc_uint8_t prefix;
isc_uint8_t len;
- REQUIRE(type == 42);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_apl);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(dctx);
@@ -227,8 +227,8 @@ static inline isc_result_t
towire_in_apl(ARGS_TOWIRE) {
UNUSED(cctx);
- REQUIRE(rdata->type == 42);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_apl);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
return (mem_tobuffer(target, rdata->data, rdata->length));
}
@@ -240,8 +240,8 @@ compare_in_apl(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 42);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_apl);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
@@ -253,8 +253,8 @@ fromstruct_in_apl(ARGS_FROMSTRUCT) {
dns_rdata_in_apl_t *apl = source;
isc_buffer_t b;
- REQUIRE(type == 42);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_apl);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(apl->common.rdtype == type);
REQUIRE(apl->common.rdclass == rdclass);
@@ -271,8 +271,8 @@ tostruct_in_apl(ARGS_TOSTRUCT) {
dns_rdata_in_apl_t *apl = target;
isc_region_t r;
- REQUIRE(rdata->type == 42);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_apl);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
apl->common.rdclass = rdata->rdclass;
apl->common.rdtype = rdata->type;
@@ -294,8 +294,8 @@ freestruct_in_apl(ARGS_FREESTRUCT) {
dns_rdata_in_apl_t *apl = source;
REQUIRE(source != NULL);
- REQUIRE(apl->common.rdtype == 42);
- REQUIRE(apl->common.rdclass == 1);
+ REQUIRE(apl->common.rdtype == dns_rdatatype_apl);
+ REQUIRE(apl->common.rdclass == dns_rdataclass_in);
if (apl->mctx == NULL)
return;
@@ -309,8 +309,8 @@ dns_rdata_apl_first(dns_rdata_in_apl_t *apl) {
isc_uint32_t length;
REQUIRE(apl != NULL);
- REQUIRE(apl->common.rdtype == 42);
- REQUIRE(apl->common.rdclass == 1);
+ REQUIRE(apl->common.rdtype == dns_rdatatype_apl);
+ REQUIRE(apl->common.rdclass == dns_rdataclass_in);
REQUIRE(apl->apl != NULL || apl->apl_len == 0);
/*
@@ -335,8 +335,8 @@ dns_rdata_apl_next(dns_rdata_in_apl_t *apl) {
isc_uint32_t length;
REQUIRE(apl != NULL);
- REQUIRE(apl->common.rdtype == 42);
- REQUIRE(apl->common.rdclass == 1);
+ REQUIRE(apl->common.rdtype == dns_rdatatype_apl);
+ REQUIRE(apl->common.rdclass == dns_rdataclass_in);
REQUIRE(apl->apl != NULL || apl->apl_len == 0);
/*
@@ -367,8 +367,8 @@ dns_rdata_apl_current(dns_rdata_in_apl_t *apl, dns_rdata_apl_ent_t *ent) {
isc_uint32_t length;
REQUIRE(apl != NULL);
- REQUIRE(apl->common.rdtype == 42);
- REQUIRE(apl->common.rdclass == 1);
+ REQUIRE(apl->common.rdtype == dns_rdatatype_apl);
+ REQUIRE(apl->common.rdclass == dns_rdataclass_in);
REQUIRE(ent != NULL);
REQUIRE(apl->apl != NULL || apl->apl_len == 0);
REQUIRE(apl->offset <= apl->apl_len);
@@ -401,8 +401,8 @@ dns_rdata_apl_current(dns_rdata_in_apl_t *apl, dns_rdata_apl_ent_t *ent) {
static inline isc_result_t
additionaldata_in_apl(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 42);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_apl);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
(void)add;
(void)arg;
@@ -414,8 +414,8 @@ static inline isc_result_t
digest_in_apl(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 42);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_apl);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
@@ -425,8 +425,8 @@ digest_in_apl(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_apl(ARGS_CHECKOWNER) {
- REQUIRE(type == 42);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_apl);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(name);
UNUSED(type);
@@ -440,8 +440,8 @@ checkowner_in_apl(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_in_apl(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 42);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_apl);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/dhcid_49.c b/lib/dns/rdata/in_1/dhcid_49.c
index 7575da0d1930..261e41ea8acb 100644
--- a/lib/dns/rdata/in_1/dhcid_49.c
+++ b/lib/dns/rdata/in_1/dhcid_49.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2006, 2007, 2009, 2011, 2012, 2015 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
@@ -26,8 +26,8 @@
static inline isc_result_t
fromtext_in_dhcid(ARGS_FROMTEXT) {
- REQUIRE(type == 49);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_dhcid);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -44,8 +44,8 @@ totext_in_dhcid(ARGS_TOTEXT) {
char buf[sizeof(" ; 64000 255 64000")];
size_t n;
- REQUIRE(rdata->type == 49);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_dhcid);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -74,8 +74,8 @@ static inline isc_result_t
fromwire_in_dhcid(ARGS_FROMWIRE) {
isc_region_t sr;
- REQUIRE(type == 49);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_dhcid);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -94,8 +94,8 @@ static inline isc_result_t
towire_in_dhcid(ARGS_TOWIRE) {
isc_region_t sr;
- REQUIRE(rdata->type == 49);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_dhcid);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -111,8 +111,8 @@ compare_in_dhcid(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 49);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_dhcid);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -125,8 +125,8 @@ static inline isc_result_t
fromstruct_in_dhcid(ARGS_FROMSTRUCT) {
dns_rdata_in_dhcid_t *dhcid = source;
- REQUIRE(type == 49);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_dhcid);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(dhcid->common.rdtype == type);
REQUIRE(dhcid->common.rdclass == rdclass);
@@ -143,8 +143,8 @@ tostruct_in_dhcid(ARGS_TOSTRUCT) {
dns_rdata_in_dhcid_t *dhcid = target;
isc_region_t region;
- REQUIRE(rdata->type == 49);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_dhcid);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -167,8 +167,8 @@ freestruct_in_dhcid(ARGS_FREESTRUCT) {
dns_rdata_in_dhcid_t *dhcid = source;
REQUIRE(dhcid != NULL);
- REQUIRE(dhcid->common.rdtype == 49);
- REQUIRE(dhcid->common.rdclass == 1);
+ REQUIRE(dhcid->common.rdtype == dns_rdatatype_dhcid);
+ REQUIRE(dhcid->common.rdclass == dns_rdataclass_in);
if (dhcid->mctx == NULL)
return;
@@ -180,8 +180,8 @@ freestruct_in_dhcid(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_in_dhcid(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 49);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_dhcid);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(add);
@@ -194,8 +194,8 @@ static inline isc_result_t
digest_in_dhcid(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 49);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_dhcid);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
@@ -205,8 +205,8 @@ digest_in_dhcid(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_dhcid(ARGS_CHECKOWNER) {
- REQUIRE(type == 49);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_dhcid);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(name);
UNUSED(type);
@@ -219,8 +219,8 @@ checkowner_in_dhcid(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_in_dhcid(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 49);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_dhcid);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/kx_36.c b/lib/dns/rdata/in_1/kx_36.c
index fbe3b71deaa0..8b911eb07c2a 100644
--- a/lib/dns/rdata/in_1/kx_36.c
+++ b/lib/dns/rdata/in_1/kx_36.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,8 +32,8 @@ fromtext_in_kx(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 36);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_kx);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -63,8 +63,8 @@ totext_in_kx(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned short num;
- REQUIRE(rdata->type == 36);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_kx);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -88,8 +88,8 @@ fromwire_in_kx(ARGS_FROMWIRE) {
dns_name_t name;
isc_region_t sregion;
- REQUIRE(type == 36);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_kx);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -112,8 +112,8 @@ towire_in_kx(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 36);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_kx);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -137,8 +137,8 @@ compare_in_kx(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 36);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_kx);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -166,8 +166,8 @@ fromstruct_in_kx(ARGS_FROMSTRUCT) {
dns_rdata_in_kx_t *kx = source;
isc_region_t region;
- REQUIRE(type == 36);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_kx);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(kx->common.rdtype == type);
REQUIRE(kx->common.rdclass == rdclass);
@@ -186,8 +186,8 @@ tostruct_in_kx(ARGS_TOSTRUCT) {
dns_rdata_in_kx_t *kx = target;
dns_name_t name;
- REQUIRE(rdata->type == 36);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_kx);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -213,8 +213,8 @@ freestruct_in_kx(ARGS_FREESTRUCT) {
dns_rdata_in_kx_t *kx = source;
REQUIRE(source != NULL);
- REQUIRE(kx->common.rdclass == 1);
- REQUIRE(kx->common.rdtype == 36);
+ REQUIRE(kx->common.rdclass == dns_rdataclass_in);
+ REQUIRE(kx->common.rdtype == dns_rdatatype_kx);
if (kx->mctx == NULL)
return;
@@ -229,8 +229,8 @@ additionaldata_in_kx(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 36);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_kx);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -245,8 +245,8 @@ digest_in_kx(ARGS_DIGEST) {
isc_region_t r1, r2;
dns_name_t name;
- REQUIRE(rdata->type == 36);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_kx);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -261,8 +261,8 @@ digest_in_kx(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_kx(ARGS_CHECKOWNER) {
- REQUIRE(type == 36);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_kx);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(name);
UNUSED(type);
@@ -275,8 +275,8 @@ checkowner_in_kx(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_in_kx(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 36);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_kx);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/nsap-ptr_23.c b/lib/dns/rdata/in_1/nsap-ptr_23.c
index 78df645a2a1f..d8b43f2edca4 100644
--- a/lib/dns/rdata/in_1/nsap-ptr_23.c
+++ b/lib/dns/rdata/in_1/nsap-ptr_23.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,8 +32,8 @@ fromtext_in_nsap_ptr(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 23);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -56,8 +56,8 @@ totext_in_nsap_ptr(ARGS_TOTEXT) {
dns_name_t prefix;
isc_boolean_t sub;
- REQUIRE(rdata->type == 23);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -75,8 +75,8 @@ static inline isc_result_t
fromwire_in_nsap_ptr(ARGS_FROMWIRE) {
dns_name_t name;
- REQUIRE(type == 23);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -93,8 +93,8 @@ towire_in_nsap_ptr(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 23);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -114,8 +114,8 @@ compare_in_nsap_ptr(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 23);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -136,8 +136,8 @@ fromstruct_in_nsap_ptr(ARGS_FROMSTRUCT) {
dns_rdata_in_nsap_ptr_t *nsap_ptr = source;
isc_region_t region;
- REQUIRE(type == 23);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(nsap_ptr->common.rdtype == type);
REQUIRE(nsap_ptr->common.rdclass == rdclass);
@@ -155,8 +155,8 @@ tostruct_in_nsap_ptr(ARGS_TOSTRUCT) {
dns_rdata_in_nsap_ptr_t *nsap_ptr = target;
dns_name_t name;
- REQUIRE(rdata->type == 23);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -178,8 +178,8 @@ freestruct_in_nsap_ptr(ARGS_FREESTRUCT) {
dns_rdata_in_nsap_ptr_t *nsap_ptr = source;
REQUIRE(source != NULL);
- REQUIRE(nsap_ptr->common.rdclass == 1);
- REQUIRE(nsap_ptr->common.rdtype == 23);
+ REQUIRE(nsap_ptr->common.rdclass == dns_rdataclass_in);
+ REQUIRE(nsap_ptr->common.rdtype == dns_rdatatype_nsap_ptr);
if (nsap_ptr->mctx == NULL)
return;
@@ -190,8 +190,8 @@ freestruct_in_nsap_ptr(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_in_nsap_ptr(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 23);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(add);
@@ -205,8 +205,8 @@ digest_in_nsap_ptr(ARGS_DIGEST) {
isc_region_t r;
dns_name_t name;
- REQUIRE(rdata->type == 23);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
@@ -218,8 +218,8 @@ digest_in_nsap_ptr(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_nsap_ptr(ARGS_CHECKOWNER) {
- REQUIRE(type == 23);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(name);
UNUSED(type);
@@ -232,8 +232,8 @@ checkowner_in_nsap_ptr(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_in_nsap_ptr(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 23);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/nsap_22.c b/lib/dns/rdata/in_1/nsap_22.c
index 66129fe0fdfa..d0e460e85fc8 100644
--- a/lib/dns/rdata/in_1/nsap_22.c
+++ b/lib/dns/rdata/in_1/nsap_22.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -31,11 +31,12 @@ fromtext_in_nsap(ARGS_FROMTEXT) {
isc_token_t token;
isc_textregion_t *sr;
int n;
- int digits;
+ isc_boolean_t valid = ISC_FALSE;
+ int digits = 0;
unsigned char c = 0;
- REQUIRE(type == 22);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(origin);
@@ -52,7 +53,6 @@ fromtext_in_nsap(ARGS_FROMTEXT) {
if (sr->base[0] != '0' || (sr->base[1] != 'x' && sr->base[1] != 'X'))
RETTOK(DNS_R_SYNTAX);
isc_textregion_consume(sr, 2);
- digits = 0;
while (sr->length > 0) {
if (sr->base[0] == '.') {
isc_textregion_consume(sr, 1);
@@ -64,11 +64,13 @@ fromtext_in_nsap(ARGS_FROMTEXT) {
c += n;
if (++digits == 2) {
RETERR(mem_tobuffer(target, &c, 1));
+ valid = ISC_TRUE;
digits = 0;
+ c = 0;
}
isc_textregion_consume(sr, 1);
}
- if (digits)
+ if (digits != 0 || !valid)
RETTOK(ISC_R_UNEXPECTEDEND);
return (ISC_R_SUCCESS);
}
@@ -78,8 +80,8 @@ totext_in_nsap(ARGS_TOTEXT) {
isc_region_t region;
char buf[sizeof("xx")];
- REQUIRE(rdata->type == 22);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
UNUSED(tctx);
@@ -98,8 +100,8 @@ static inline isc_result_t
fromwire_in_nsap(ARGS_FROMWIRE) {
isc_region_t region;
- REQUIRE(type == 22);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(dctx);
@@ -117,8 +119,8 @@ fromwire_in_nsap(ARGS_FROMWIRE) {
static inline isc_result_t
towire_in_nsap(ARGS_TOWIRE) {
- REQUIRE(rdata->type == 22);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
@@ -133,8 +135,8 @@ compare_in_nsap(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 22);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_nsap);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -147,8 +149,8 @@ static inline isc_result_t
fromstruct_in_nsap(ARGS_FROMSTRUCT) {
dns_rdata_in_nsap_t *nsap = source;
- REQUIRE(type == 22);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(nsap->common.rdtype == type);
REQUIRE(nsap->common.rdclass == rdclass);
@@ -165,8 +167,8 @@ tostruct_in_nsap(ARGS_TOSTRUCT) {
dns_rdata_in_nsap_t *nsap = target;
isc_region_t r;
- REQUIRE(rdata->type == 22);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -189,8 +191,8 @@ freestruct_in_nsap(ARGS_FREESTRUCT) {
dns_rdata_in_nsap_t *nsap = source;
REQUIRE(source != NULL);
- REQUIRE(nsap->common.rdclass == 1);
- REQUIRE(nsap->common.rdtype == 22);
+ REQUIRE(nsap->common.rdclass == dns_rdataclass_in);
+ REQUIRE(nsap->common.rdtype == dns_rdatatype_nsap);
if (nsap->mctx == NULL)
return;
@@ -202,8 +204,8 @@ freestruct_in_nsap(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_in_nsap(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 22);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(add);
@@ -216,8 +218,8 @@ static inline isc_result_t
digest_in_nsap(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 22);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
@@ -227,8 +229,8 @@ digest_in_nsap(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_nsap(ARGS_CHECKOWNER) {
- REQUIRE(type == 22);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_nsap);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(name);
UNUSED(type);
@@ -241,8 +243,8 @@ checkowner_in_nsap(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_in_nsap(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 22);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_nsap);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/px_26.c b/lib/dns/rdata/in_1/px_26.c
index a4111ad5bb76..4cf0ae418ac0 100644
--- a/lib/dns/rdata/in_1/px_26.c
+++ b/lib/dns/rdata/in_1/px_26.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -32,8 +32,8 @@ fromtext_in_px(ARGS_FROMTEXT) {
dns_name_t name;
isc_buffer_t buffer;
- REQUIRE(type == 26);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_px);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -79,8 +79,8 @@ totext_in_px(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned short num;
- REQUIRE(rdata->type == 26);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_px);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -118,8 +118,8 @@ fromwire_in_px(ARGS_FROMWIRE) {
dns_name_t name;
isc_region_t sregion;
- REQUIRE(type == 26);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_px);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -154,8 +154,8 @@ towire_in_px(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 26);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_px);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -192,8 +192,8 @@ compare_in_px(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 26);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_px);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -231,8 +231,8 @@ fromstruct_in_px(ARGS_FROMSTRUCT) {
dns_rdata_in_px_t *px = source;
isc_region_t region;
- REQUIRE(type == 26);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_px);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(px->common.rdtype == type);
REQUIRE(px->common.rdclass == rdclass);
@@ -254,8 +254,8 @@ tostruct_in_px(ARGS_TOSTRUCT) {
isc_region_t region;
isc_result_t result;
- REQUIRE(rdata->type == 26);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_px);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -293,8 +293,8 @@ freestruct_in_px(ARGS_FREESTRUCT) {
dns_rdata_in_px_t *px = source;
REQUIRE(source != NULL);
- REQUIRE(px->common.rdclass == 1);
- REQUIRE(px->common.rdtype == 26);
+ REQUIRE(px->common.rdclass == dns_rdataclass_in);
+ REQUIRE(px->common.rdtype == dns_rdatatype_px);
if (px->mctx == NULL)
return;
@@ -306,8 +306,8 @@ freestruct_in_px(ARGS_FREESTRUCT) {
static inline isc_result_t
additionaldata_in_px(ARGS_ADDLDATA) {
- REQUIRE(rdata->type == 26);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_px);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(add);
@@ -322,8 +322,8 @@ digest_in_px(ARGS_DIGEST) {
dns_name_t name;
isc_result_t result;
- REQUIRE(rdata->type == 26);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_px);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -347,8 +347,8 @@ digest_in_px(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_px(ARGS_CHECKOWNER) {
- REQUIRE(type == 26);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_px);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(name);
UNUSED(type);
@@ -361,8 +361,8 @@ checkowner_in_px(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_in_px(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 26);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_px);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/srv_33.c b/lib/dns/rdata/in_1/srv_33.c
index ea4f3edbcdef..b97d410272f6 100644
--- a/lib/dns/rdata/in_1/srv_33.c
+++ b/lib/dns/rdata/in_1/srv_33.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -33,8 +33,8 @@ fromtext_in_srv(ARGS_FROMTEXT) {
isc_buffer_t buffer;
isc_boolean_t ok;
- REQUIRE(type == 33);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_srv);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -95,8 +95,8 @@ totext_in_srv(ARGS_TOTEXT) {
char buf[sizeof("64000")];
unsigned short num;
- REQUIRE(rdata->type == 33);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_srv);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
@@ -143,8 +143,8 @@ fromwire_in_srv(ARGS_FROMWIRE) {
dns_name_t name;
isc_region_t sr;
- REQUIRE(type == 33);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_srv);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -174,7 +174,7 @@ towire_in_srv(ARGS_TOWIRE) {
dns_offsets_t offsets;
isc_region_t sr;
- REQUIRE(rdata->type == 33);
+ REQUIRE(rdata->type == dns_rdatatype_srv);
REQUIRE(rdata->length != 0);
dns_compress_setmethods(cctx, DNS_COMPRESS_NONE);
@@ -203,8 +203,8 @@ compare_in_srv(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 33);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_srv);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -238,8 +238,8 @@ fromstruct_in_srv(ARGS_FROMSTRUCT) {
dns_rdata_in_srv_t *srv = source;
isc_region_t region;
- REQUIRE(type == 33);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_srv);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(srv->common.rdtype == type);
REQUIRE(srv->common.rdclass == rdclass);
@@ -260,8 +260,8 @@ tostruct_in_srv(ARGS_TOSTRUCT) {
dns_rdata_in_srv_t *srv = target;
dns_name_t name;
- REQUIRE(rdata->rdclass == 1);
- REQUIRE(rdata->type == 33);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
+ REQUIRE(rdata->type == dns_rdatatype_srv);
REQUIRE(target != NULL);
REQUIRE(rdata->length != 0);
@@ -289,8 +289,8 @@ freestruct_in_srv(ARGS_FREESTRUCT) {
dns_rdata_in_srv_t *srv = source;
REQUIRE(source != NULL);
- REQUIRE(srv->common.rdclass == 1);
- REQUIRE(srv->common.rdtype == 33);
+ REQUIRE(srv->common.rdclass == dns_rdataclass_in);
+ REQUIRE(srv->common.rdtype == dns_rdatatype_srv);
if (srv->mctx == NULL)
return;
@@ -305,8 +305,8 @@ additionaldata_in_srv(ARGS_ADDLDATA) {
dns_offsets_t offsets;
isc_region_t region;
- REQUIRE(rdata->type == 33);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_srv);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_name_init(&name, offsets);
dns_rdata_toregion(rdata, &region);
@@ -321,8 +321,8 @@ digest_in_srv(ARGS_DIGEST) {
isc_region_t r1, r2;
dns_name_t name;
- REQUIRE(rdata->type == 33);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_srv);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r1);
r2 = r1;
@@ -337,8 +337,8 @@ digest_in_srv(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_srv(ARGS_CHECKOWNER) {
- REQUIRE(type == 33);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_srv);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(name);
UNUSED(type);
@@ -353,8 +353,8 @@ checknames_in_srv(ARGS_CHECKNAMES) {
isc_region_t region;
dns_name_t name;
- REQUIRE(rdata->type == 33);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_srv);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(owner);
diff --git a/lib/dns/rdata/in_1/wks_11.c b/lib/dns/rdata/in_1/wks_11.c
index 4587c813afab..0eb9504c89c3 100644
--- a/lib/dns/rdata/in_1/wks_11.c
+++ b/lib/dns/rdata/in_1/wks_11.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -77,8 +77,8 @@ fromtext_in_wks(ARGS_FROMTEXT) {
char service[32];
int i;
- REQUIRE(type == 11);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_wks);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(origin);
@@ -171,8 +171,8 @@ totext_in_wks(ARGS_TOTEXT) {
UNUSED(tctx);
- REQUIRE(rdata->type == 11);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_wks);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length >= 5);
dns_rdata_toregion(rdata, &sr);
@@ -204,8 +204,8 @@ fromwire_in_wks(ARGS_FROMWIRE) {
isc_region_t sr;
isc_region_t tr;
- REQUIRE(type == 11);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_wks);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(dctx);
@@ -235,8 +235,8 @@ towire_in_wks(ARGS_TOWIRE) {
UNUSED(cctx);
- REQUIRE(rdata->type == 11);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_wks);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, &sr);
@@ -250,8 +250,8 @@ compare_in_wks(ARGS_COMPARE) {
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
- REQUIRE(rdata1->type == 11);
- REQUIRE(rdata1->rdclass == 1);
+ REQUIRE(rdata1->type == dns_rdatatype_wks);
+ REQUIRE(rdata1->rdclass == dns_rdataclass_in);
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
@@ -265,8 +265,8 @@ fromstruct_in_wks(ARGS_FROMSTRUCT) {
dns_rdata_in_wks_t *wks = source;
isc_uint32_t a;
- REQUIRE(type == 11);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_wks);
+ REQUIRE(rdclass == dns_rdataclass_in);
REQUIRE(source != NULL);
REQUIRE(wks->common.rdtype == type);
REQUIRE(wks->common.rdclass == rdclass);
@@ -288,8 +288,8 @@ tostruct_in_wks(ARGS_TOSTRUCT) {
isc_uint32_t n;
isc_region_t region;
- REQUIRE(rdata->type == 11);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_wks);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
wks->common.rdclass = rdata->rdclass;
@@ -315,8 +315,8 @@ freestruct_in_wks(ARGS_FREESTRUCT) {
dns_rdata_in_wks_t *wks = source;
REQUIRE(source != NULL);
- REQUIRE(wks->common.rdtype == 11);
- REQUIRE(wks->common.rdclass == 1);
+ REQUIRE(wks->common.rdtype == dns_rdatatype_wks);
+ REQUIRE(wks->common.rdclass == dns_rdataclass_in);
if (wks->mctx == NULL)
return;
@@ -332,8 +332,8 @@ additionaldata_in_wks(ARGS_ADDLDATA) {
UNUSED(add);
UNUSED(arg);
- REQUIRE(rdata->type == 11);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_wks);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
return (ISC_R_SUCCESS);
}
@@ -342,8 +342,8 @@ static inline isc_result_t
digest_in_wks(ARGS_DIGEST) {
isc_region_t r;
- REQUIRE(rdata->type == 11);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_wks);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
@@ -353,8 +353,8 @@ digest_in_wks(ARGS_DIGEST) {
static inline isc_boolean_t
checkowner_in_wks(ARGS_CHECKOWNER) {
- REQUIRE(type == 11);
- REQUIRE(rdclass == 1);
+ REQUIRE(type == dns_rdatatype_wks);
+ REQUIRE(rdclass == dns_rdataclass_in);
UNUSED(type);
UNUSED(rdclass);
@@ -365,8 +365,8 @@ checkowner_in_wks(ARGS_CHECKOWNER) {
static inline isc_boolean_t
checknames_in_wks(ARGS_CHECKNAMES) {
- REQUIRE(rdata->type == 11);
- REQUIRE(rdata->rdclass == 1);
+ REQUIRE(rdata->type == dns_rdatatype_wks);
+ REQUIRE(rdata->rdclass == dns_rdataclass_in);
UNUSED(rdata);
UNUSED(owner);
diff --git a/lib/dns/request.c b/lib/dns/request.c
index 59e166eb0257..71707586f1e5 100644
--- a/lib/dns/request.c
+++ b/lib/dns/request.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -144,7 +144,7 @@ dns_requestmgr_create(isc_mem_t *mctx,
dns_requestmgr_t **requestmgrp)
{
dns_requestmgr_t *requestmgr;
- isc_socket_t *socket;
+ isc_socket_t *sock;
isc_result_t result;
int i;
unsigned int dispattr;
@@ -156,7 +156,7 @@ dns_requestmgr_create(isc_mem_t *mctx,
REQUIRE(socketmgr != NULL);
REQUIRE(taskmgr != NULL);
REQUIRE(dispatchmgr != NULL);
- UNUSED(socket);
+ UNUSED(sock);
if (dispatchv4 != NULL) {
dispattr = dns_dispatch_getattributes(dispatchv4);
REQUIRE((dispattr & DNS_DISPATCHATTR_UDP) != 0);
@@ -426,20 +426,20 @@ mgr_gethash(dns_requestmgr_t *requestmgr) {
static inline isc_result_t
req_send(dns_request_t *request, isc_task_t *task, isc_sockaddr_t *address) {
isc_region_t r;
- isc_socket_t *socket;
+ isc_socket_t *sock;
isc_result_t result;
req_log(ISC_LOG_DEBUG(3), "req_send: request %p", request);
REQUIRE(VALID_REQUEST(request));
- socket = req_getsocket(request);
+ sock = 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,
+ result = isc_socket_sendto(sock, &r, task, req_senddone,
request, address, NULL);
if (result == ISC_R_SUCCESS)
request->flags |= DNS_REQUEST_F_SENDING;
@@ -513,25 +513,25 @@ create_tcp_dispatch(dns_requestmgr_t *requestmgr, isc_sockaddr_t *srcaddr,
isc_sockaddr_t *destaddr, dns_dispatch_t **dispatchp)
{
isc_result_t result;
- isc_socket_t *socket = NULL;
+ isc_socket_t *sock = NULL;
isc_sockaddr_t src;
unsigned int attrs;
isc_sockaddr_t bind_any;
result = isc_socket_create(requestmgr->socketmgr,
isc_sockaddr_pf(destaddr),
- isc_sockettype_tcp, &socket);
+ isc_sockettype_tcp, &sock);
if (result != ISC_R_SUCCESS)
return (result);
#ifndef BROKEN_TCP_BIND_BEFORE_CONNECT
if (srcaddr == NULL) {
isc_sockaddr_anyofpf(&bind_any,
isc_sockaddr_pf(destaddr));
- result = isc_socket_bind(socket, &bind_any, 0);
+ result = isc_socket_bind(sock, &bind_any, 0);
} else {
src = *srcaddr;
isc_sockaddr_setport(&src, 0);
- result = isc_socket_bind(socket, &src, 0);
+ result = isc_socket_bind(sock, &src, 0);
}
if (result != ISC_R_SUCCESS)
goto cleanup;
@@ -545,11 +545,11 @@ create_tcp_dispatch(dns_requestmgr_t *requestmgr, isc_sockaddr_t *srcaddr,
attrs |= DNS_DISPATCHATTR_IPV6;
attrs |= DNS_DISPATCHATTR_MAKEQUERY;
result = dns_dispatch_createtcp(requestmgr->dispatchmgr,
- socket, requestmgr->taskmgr,
+ sock, requestmgr->taskmgr,
4096, 2, 1, 1, 3, attrs,
dispatchp);
cleanup:
- isc_socket_detach(&socket);
+ isc_socket_detach(&sock);
return (result);
}
@@ -680,7 +680,7 @@ dns_request_createraw3(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf,
{
dns_request_t *request = NULL;
isc_task_t *tclone = NULL;
- isc_socket_t *socket = NULL;
+ isc_socket_t *sock = NULL;
isc_result_t result;
isc_mem_t *mctx;
dns_messageid_t id;
@@ -764,8 +764,8 @@ dns_request_createraw3(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf,
if (result != ISC_R_SUCCESS)
goto cleanup;
- socket = req_getsocket(request);
- INSIST(socket != NULL);
+ sock = req_getsocket(request);
+ INSIST(sock != NULL);
result = isc_buffer_allocate(mctx, &request->query,
r.length + (tcp ? 2 : 0));
@@ -801,7 +801,7 @@ dns_request_createraw3(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf,
request->destaddr = *destaddr;
if (tcp) {
- result = isc_socket_connect(socket, destaddr, task,
+ result = isc_socket_connect(sock, destaddr, task,
req_connected, request);
if (result != ISC_R_SUCCESS)
goto unlink;
@@ -886,12 +886,12 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message,
{
dns_request_t *request = NULL;
isc_task_t *tclone = NULL;
- isc_socket_t *socket = NULL;
+ isc_socket_t *sock = NULL;
isc_result_t result;
isc_mem_t *mctx;
dns_messageid_t id;
isc_boolean_t tcp;
- isc_boolean_t setkey = ISC_TRUE;
+ isc_boolean_t settsigkey = ISC_TRUE;
REQUIRE(VALID_REQUESTMGR(requestmgr));
REQUIRE(message != NULL);
@@ -960,11 +960,11 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message,
requestmgr->socketmgr);
if (result != ISC_R_SUCCESS)
goto cleanup;
- socket = req_getsocket(request);
- INSIST(socket != NULL);
+ sock = req_getsocket(request);
+ INSIST(sock != NULL);
message->id = id;
- if (setkey) {
+ if (settsigkey) {
result = dns_message_settsigkey(message, request->tsigkey);
if (result != ISC_R_SUCCESS)
goto cleanup;
@@ -978,9 +978,9 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message,
dns_message_renderreset(message);
dns_dispatch_removeresponse(&request->dispentry, NULL);
dns_dispatch_detach(&request->dispatch);
- socket = NULL;
+ sock = NULL;
options |= DNS_REQUESTOPT_TCP;
- setkey = ISC_FALSE;
+ settsigkey = ISC_FALSE;
goto use_tcp;
}
if (result != ISC_R_SUCCESS)
@@ -1007,7 +1007,7 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message,
request->destaddr = *destaddr;
if (tcp) {
- result = isc_socket_connect(socket, destaddr, task,
+ result = isc_socket_connect(sock, destaddr, task,
req_connected, request);
if (result != ISC_R_SUCCESS)
goto unlink;
@@ -1250,16 +1250,16 @@ dns_request_destroy(dns_request_t **requestp) {
static isc_socket_t *
req_getsocket(dns_request_t *request) {
unsigned int dispattr;
- isc_socket_t *socket;
+ isc_socket_t *sock;
dispattr = dns_dispatch_getattributes(request->dispatch);
if ((dispattr & DNS_DISPATCHATTR_EXCLUSIVE) != 0) {
INSIST(request->dispentry != NULL);
- socket = dns_dispatch_getentrysocket(request->dispentry);
+ sock = dns_dispatch_getentrysocket(request->dispentry);
} else
- socket = dns_dispatch_getsocket(request->dispatch);
+ sock = dns_dispatch_getsocket(request->dispatch);
- return (socket);
+ return (sock);
}
static void
@@ -1460,7 +1460,7 @@ req_destroy(dns_request_t *request) {
*/
static void
req_cancel(dns_request_t *request) {
- isc_socket_t *socket;
+ isc_socket_t *sock;
unsigned int dispattr;
REQUIRE(VALID_REQUEST(request));
@@ -1475,19 +1475,19 @@ req_cancel(dns_request_t *request) {
if (request->timer != NULL)
isc_timer_detach(&request->timer);
dispattr = dns_dispatch_getattributes(request->dispatch);
- socket = NULL;
+ sock = NULL;
if (DNS_REQUEST_CONNECTING(request) || DNS_REQUEST_SENDING(request)) {
if ((dispattr & DNS_DISPATCHATTR_EXCLUSIVE) != 0) {
if (request->dispentry != NULL) {
- socket = dns_dispatch_getentrysocket(
+ sock = 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);
+ sock = dns_dispatch_getsocket(request->dispatch);
+ if (DNS_REQUEST_CONNECTING(request) && sock != NULL)
+ isc_socket_cancel(sock, NULL, ISC_SOCKCANCEL_CONNECT);
+ if (DNS_REQUEST_SENDING(request) && sock != NULL)
+ isc_socket_cancel(sock, NULL, ISC_SOCKCANCEL_SEND);
}
if (request->dispentry != NULL)
dns_dispatch_removeresponse(&request->dispentry, NULL);
diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c
index d33c43ed82af..1aaca2b0620a 100644
--- a/lib/dns/resolver.c
+++ b/lib/dns/resolver.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 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,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
/*! \file */
#include <config.h>
@@ -64,8 +62,7 @@
#include <dns/tsig.h>
#include <dns/validator.h>
-#define DNS_RESOLVER_TRACE
-#ifdef DNS_RESOLVER_TRACE
+#ifdef WANT_QUERYTRACE
#define RTRACE(m) isc_log_write(dns_lctx, \
DNS_LOGCATEGORY_RESOLVER, \
DNS_LOGMODULE_RESOLVER, \
@@ -76,11 +73,13 @@
DNS_LOGMODULE_RESOLVER, \
ISC_LOG_DEBUG(3), \
"res %p: %s", (r), (m))
-#define FCTXTRACE(m) isc_log_write(dns_lctx, \
+#define FCTXTRACE(m) \
+ isc_log_write(dns_lctx, \
DNS_LOGCATEGORY_RESOLVER, \
DNS_LOGMODULE_RESOLVER, \
ISC_LOG_DEBUG(3), \
- "fctx %p(%s): %s", fctx, fctx->info, (m))
+ "fctx %p(%s): %s", \
+ fctx, fctx->info, (m))
#define FCTXTRACE2(m1, m2) \
isc_log_write(dns_lctx, \
DNS_LOGCATEGORY_RESOLVER, \
@@ -88,6 +87,22 @@
ISC_LOG_DEBUG(3), \
"fctx %p(%s): %s %s", \
fctx, fctx->info, (m1), (m2))
+#define FCTXTRACE3(m, res) \
+ isc_log_write(dns_lctx, \
+ DNS_LOGCATEGORY_RESOLVER, \
+ DNS_LOGMODULE_RESOLVER, \
+ ISC_LOG_DEBUG(3), \
+ "fctx %p(%s): [result: %s] %s", \
+ fctx, fctx->info, \
+ isc_result_totext(res), (m))
+#define FCTXTRACE4(m1, m2, res) \
+ isc_log_write(dns_lctx, \
+ DNS_LOGCATEGORY_RESOLVER, \
+ DNS_LOGMODULE_RESOLVER, \
+ ISC_LOG_DEBUG(3), \
+ "fctx %p(%s): [result: %s] %s %s", \
+ fctx, fctx->info, \
+ isc_result_totext(res), (m1), (m2))
#define FTRACE(m) isc_log_write(dns_lctx, \
DNS_LOGCATEGORY_RESOLVER, \
DNS_LOGMODULE_RESOLVER, \
@@ -103,13 +118,16 @@
query, query->fctx, \
query->fctx->info, (m))
#else
-#define RTRACE(m)
-#define RRTRACE(r, m)
-#define FCTXTRACE(m)
-#define FCTXTRACE2(m1, m2)
-#define FTRACE(m)
-#define QTRACE(m)
-#endif
+#define RTRACE(m) do { UNUSED(m); } while (0)
+#define RRTRACE(r, m) do { UNUSED(r); UNUSED(m); } while (0)
+#define FCTXTRACE(m) do { UNUSED(m); } while (0)
+#define FCTXTRACE2(m1, m2) do { UNUSED(m1); UNUSED(m2); } while (0)
+#define FCTXTRACE3(m1, res) do { UNUSED(m1); UNUSED(res); } while (0)
+#define FCTXTRACE4(m1, m2, res) \
+ do { UNUSED(m1); UNUSED(m2); UNUSED(res); } while (0)
+#define FTRACE(m) do { UNUSED(m); } while (0)
+#define QTRACE(m) do { UNUSED(m); } while (0)
+#endif /* WANT_QUERYTRACE */
#define US_PER_SEC 1000000U
/*
@@ -128,8 +146,9 @@
#define DEFAULT_QUERY_TIMEOUT MINIMUM_QUERY_TIMEOUT
#endif
+/* The maximum time in seconds for the whole query to live. */
#ifndef MAXIMUM_QUERY_TIMEOUT
-#define MAXIMUM_QUERY_TIMEOUT 30 /* The maximum time in seconds for the whole query to live. */
+#define MAXIMUM_QUERY_TIMEOUT 30
#endif
/* The default maximum number of recursions to follow before giving up. */
@@ -142,6 +161,12 @@
#define DEFAULT_MAX_QUERIES 50
#endif
+/* Number of hash buckets for zone counters */
+#ifndef RES_DOMAIN_BUCKETS
+#define RES_DOMAIN_BUCKETS 523
+#endif
+#define RES_NOBUCKET 0xffffffff
+
/*%
* Maximum EDNS0 input packet size.
*/
@@ -211,6 +236,7 @@ struct fetchctx {
dns_rdatatype_t type;
unsigned int options;
unsigned int bucketnum;
+ unsigned int dbucketnum;
char * info;
isc_mem_t * mctx;
@@ -311,6 +337,7 @@ struct fetchctx {
unsigned int querysent;
unsigned int referrals;
unsigned int lamecount;
+ unsigned int quotacount;
unsigned int neterr;
unsigned int badresp;
unsigned int adberr;
@@ -371,6 +398,25 @@ typedef struct fctxbucket {
isc_mem_t * mctx;
} fctxbucket_t;
+#ifdef ENABLE_FETCHLIMIT
+typedef struct fctxcount fctxcount_t;
+struct fctxcount {
+ dns_fixedname_t fdname;
+ dns_name_t *domain;
+ isc_uint32_t count;
+ isc_uint32_t allowed;
+ isc_uint32_t dropped;
+ isc_stdtime_t logged;
+ ISC_LINK(fctxcount_t) link;
+};
+
+typedef struct zonebucket {
+ isc_mutex_t lock;
+ isc_mem_t *mctx;
+ ISC_LIST(fctxcount_t) list;
+} zonebucket_t;
+#endif /* ENABLE_FETCHLIMIT */
+
typedef struct alternate {
isc_boolean_t isaddress;
union {
@@ -416,6 +462,9 @@ struct dns_resolver {
isc_boolean_t exclusivev6;
unsigned int nbuckets;
fctxbucket_t * buckets;
+#ifdef ENABLE_FETCHLIMIT
+ zonebucket_t * dbuckets;
+#endif /* ENABLE_FETCHLIMIT */
isc_uint32_t lame_ttl;
ISC_LIST(alternate_t) alternates;
isc_uint16_t udpsize;
@@ -434,6 +483,7 @@ struct dns_resolver {
unsigned int query_timeout;
unsigned int maxdepth;
unsigned int maxqueries;
+ isc_result_t quotaresp[2];
/* Locked by lock. */
unsigned int references;
@@ -442,6 +492,7 @@ struct dns_resolver {
unsigned int activebuckets;
isc_boolean_t priming;
unsigned int spillat; /* clients-per-query */
+ unsigned int zspill; /* fetches-per-zone */
/* Bad cache. */
dns_badcache_t ** badcache;
@@ -503,6 +554,8 @@ static void add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
static inline isc_result_t findnoqname(fetchctx_t *fctx, dns_name_t *name,
dns_rdatatype_t type,
dns_name_t **noqname);
+static void fctx_increference(fetchctx_t *fctx);
+static isc_boolean_t fctx_decreference(fetchctx_t *fctx);
/*%
* Increment resolver-related statistics counters.
@@ -779,10 +832,13 @@ fctx_startidletimer(fetchctx_t *fctx, isc_interval_t *interval) {
*/
#define fctx_stopidletimer fctx_starttimer
-
static inline void
resquery_destroy(resquery_t **queryp) {
+ dns_resolver_t *res;
+ isc_boolean_t empty;
resquery_t *query;
+ fetchctx_t *fctx;
+ unsigned int bucket;
REQUIRE(queryp != NULL);
query = *queryp;
@@ -790,15 +846,22 @@ resquery_destroy(resquery_t **queryp) {
INSIST(query->tcpsocket == NULL);
- query->fctx->nqueries--;
- if (SHUTTINGDOWN(query->fctx)) {
- dns_resolver_t *res = query->fctx->res;
- if (maybe_destroy(query->fctx, ISC_FALSE))
- empty_bucket(res);
- }
+ fctx = query->fctx;
+ res = fctx->res;
+ bucket = fctx->bucketnum;
+
+ fctx->nqueries--;
+
+ LOCK(&res->buckets[bucket].lock);
+ empty = fctx_decreference(query->fctx);
+ UNLOCK(&res->buckets[bucket].lock);
+
query->magic = 0;
isc_mem_put(query->mctx, query, sizeof(*query));
*queryp = NULL;
+
+ if (empty)
+ empty_bucket(res);
}
static void
@@ -811,7 +874,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;
+ isc_socket_t *sock;
isc_stdtime_t now;
query = *queryp;
@@ -866,19 +929,20 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp,
rtt = query->addrinfo->srtt + 200000;
if (rtt > MAX_SINGLE_QUERY_TIMEOUT_US)
rtt = MAX_SINGLE_QUERY_TIMEOUT_US;
+
/*
* Replace the current RTT with our value.
*/
factor = DNS_ADB_RTTADJREPLACE;
+ dns_adb_timeout(fctx->adb, query->addrinfo);
}
+
dns_adb_adjustsrtt(fctx->adb, query->addrinfo, rtt, factor);
}
- /* Remember that the server has been tried. */
- if (!TRIED(query->addrinfo)) {
- dns_adb_changeflags(fctx->adb, query->addrinfo,
- FCTX_ADDRINFO_TRIED, FCTX_ADDRINFO_TRIED);
- }
+#ifdef ENABLE_FETCHLIMIT
+ dns_adb_endudpfetch(fctx->adb, query->addrinfo);
+#endif /* ENABLE_FETCHLIMIT */
/*
* Age RTTs of servers not tried.
@@ -934,9 +998,9 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp,
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,
+ sock = dns_dispatch_getentrysocket(query->dispentry);
+ if (sock != NULL)
+ isc_socket_cancel(sock, NULL,
ISC_SOCKCANCEL_CONNECT);
}
} else if (RESQUERY_SENDING(query)) {
@@ -944,11 +1008,11 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp,
* Cancel the pending send.
*/
if (query->exclusivesocket && query->dispentry != NULL)
- socket = dns_dispatch_getentrysocket(query->dispentry);
+ sock = dns_dispatch_getentrysocket(query->dispentry);
else
- socket = dns_dispatch_getsocket(query->dispatch);
- if (socket != NULL)
- isc_socket_cancel(socket, NULL, ISC_SOCKCANCEL_SEND);
+ sock = dns_dispatch_getsocket(query->dispatch);
+ if (sock != NULL)
+ isc_socket_cancel(sock, NULL, ISC_SOCKCANCEL_SEND);
}
if (query->dispentry != NULL)
@@ -1059,6 +1123,128 @@ fctx_stopeverything(fetchctx_t *fctx, isc_boolean_t no_response) {
fctx_stoptimer(fctx);
}
+#ifdef ENABLE_FETCHLIMIT
+static void
+fcount_logspill(fetchctx_t *fctx, fctxcount_t *counter) {
+ char dbuf[DNS_NAME_FORMATSIZE];
+ isc_stdtime_t now;
+
+ if (! isc_log_wouldlog(dns_lctx, ISC_LOG_INFO))
+ return;
+
+ isc_stdtime_get(&now);
+ if (counter->logged > now - 60)
+ return;
+
+ dns_name_format(&fctx->domain, dbuf, sizeof(dbuf));
+
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_SPILL,
+ DNS_LOGMODULE_RESOLVER, ISC_LOG_INFO,
+ "too many simultaneous fetches for %s "
+ "(allowed %d spilled %d)",
+ dbuf, counter->allowed, counter->dropped);
+
+ counter->logged = now;
+}
+
+static isc_result_t
+fcount_incr(fetchctx_t *fctx, isc_boolean_t force) {
+ isc_result_t result = ISC_R_SUCCESS;
+ zonebucket_t *dbucket;
+ fctxcount_t *counter;
+ unsigned int bucketnum, spill;
+
+ REQUIRE(fctx != NULL);
+ REQUIRE(fctx->res != NULL);
+
+ INSIST(fctx->dbucketnum == RES_NOBUCKET);
+ bucketnum = dns_name_fullhash(&fctx->domain, ISC_FALSE)
+ % RES_DOMAIN_BUCKETS;
+
+ LOCK(&fctx->res->lock);
+ spill = fctx->res->zspill;
+ UNLOCK(&fctx->res->lock);
+
+ dbucket = &fctx->res->dbuckets[bucketnum];
+
+ LOCK(&dbucket->lock);
+ for (counter = ISC_LIST_HEAD(dbucket->list);
+ counter != NULL;
+ counter = ISC_LIST_NEXT(counter, link))
+ {
+ if (dns_name_equal(counter->domain, &fctx->domain))
+ break;
+ }
+
+ if (counter == NULL) {
+ counter = isc_mem_get(dbucket->mctx, sizeof(fctxcount_t));
+ if (counter == NULL)
+ result = ISC_R_NOMEMORY;
+ else {
+ ISC_LINK_INIT(counter, link);
+ counter->count = 1;
+ counter->logged = 0;
+ counter->allowed = 1;
+ counter->dropped = 0;
+ dns_fixedname_init(&counter->fdname);
+ counter->domain = dns_fixedname_name(&counter->fdname);
+ dns_name_copy(&fctx->domain, counter->domain, NULL);
+ ISC_LIST_APPEND(dbucket->list, counter, link);
+ }
+ } else {
+ if (!force && spill != 0 && counter->count >= spill) {
+ counter->dropped++;
+ fcount_logspill(fctx, counter);
+ result = ISC_R_QUOTA;
+ } else {
+ counter->count++;
+ counter->allowed++;
+ }
+ }
+ UNLOCK(&dbucket->lock);
+
+ if (result == ISC_R_SUCCESS)
+ fctx->dbucketnum = bucketnum;
+
+ return (result);
+}
+
+static void
+fcount_decr(fetchctx_t *fctx) {
+ zonebucket_t *dbucket;
+ fctxcount_t *counter;
+
+ REQUIRE(fctx != NULL);
+
+ if (fctx->dbucketnum == RES_NOBUCKET)
+ return;
+
+ dbucket = &fctx->res->dbuckets[fctx->dbucketnum];
+
+ LOCK(&dbucket->lock);
+ for (counter = ISC_LIST_HEAD(dbucket->list);
+ counter != NULL;
+ counter = ISC_LIST_NEXT(counter, link))
+ {
+ if (dns_name_equal(counter->domain, &fctx->domain))
+ break;
+ }
+
+ if (counter != NULL) {
+ INSIST(counter->count != 0);
+ counter->count--;
+ fctx->dbucketnum = RES_NOBUCKET;
+
+ if (counter->count == 0) {
+ ISC_LIST_UNLINK(dbucket->list, counter, link);
+ isc_mem_put(dbucket->mctx, counter, sizeof(*counter));
+ }
+ }
+
+ UNLOCK(&dbucket->lock);
+}
+#endif /* ENABLE_FETCHLIMIT */
+
static inline void
fctx_sendevents(fetchctx_t *fctx, isc_result_t result, int line) {
dns_fetchevent_t *event, *next_event;
@@ -1200,6 +1386,7 @@ fctx_done(fetchctx_t *fctx, isc_result_t result, int line) {
static void
process_sendevent(resquery_t *query, isc_event_t *event) {
isc_socketevent_t *sevent = (isc_socketevent_t *)event;
+ isc_boolean_t destroy_query = ISC_FALSE;
isc_boolean_t retry = ISC_FALSE;
isc_result_t result;
fetchctx_t *fctx;
@@ -1214,7 +1401,7 @@ process_sendevent(resquery_t *query, isc_event_t *event) {
*/
if (query->tcpsocket != NULL)
isc_socket_detach(&query->tcpsocket);
- resquery_destroy(&query);
+ destroy_query = ISC_TRUE;
}
} else {
switch (sevent->result) {
@@ -1226,6 +1413,9 @@ process_sendevent(resquery_t *query, isc_event_t *event) {
case ISC_R_NOPERM:
case ISC_R_ADDRNOTAVAIL:
case ISC_R_CONNREFUSED:
+ FCTXTRACE3("query canceled in sendevent(): "
+ "no route to host; no response",
+ sevent->result);
/*
* No route to remote.
@@ -1237,6 +1427,10 @@ process_sendevent(resquery_t *query, isc_event_t *event) {
break;
default:
+ FCTXTRACE3("query canceled in sendevent() due to "
+ "unexpected event result; responding",
+ sevent->result);
+
fctx_cancelquery(&query, NULL, NULL, ISC_FALSE);
break;
}
@@ -1257,6 +1451,9 @@ process_sendevent(resquery_t *query, isc_event_t *event) {
else
fctx_try(fctx, ISC_TRUE, ISC_FALSE);
}
+
+ if (destroy_query)
+ resquery_destroy(&query);
}
static void
@@ -1528,6 +1725,7 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
}
query->dispentry = NULL;
+ fctx_increference(fctx);
query->fctx = fctx;
query->tsig = NULL;
query->tsigkey = NULL;
@@ -1548,6 +1746,14 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
query->connects++;
QTRACE("connecting via TCP");
} else {
+#ifdef ENABLE_FETCHLIMIT
+ if (dns_adbentry_overquota(addrinfo->entry))
+ goto cleanup_dispatch;
+
+ /* Inform the ADB that we're starting a fetch */
+ dns_adb_beginudpfetch(fctx->adb, addrinfo);
+#endif /* ENABLE_FETCHLIMIT */
+
result = resquery_send(query);
if (result != ISC_R_SUCCESS)
goto cleanup_dispatch;
@@ -1574,6 +1780,11 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
if (query->dispatch != NULL)
dns_dispatch_detach(&query->dispatch);
+ LOCK(&res->buckets[fctx->bucketnum].lock);
+ INSIST(fctx->references > 1);
+ fctx->references--;
+ UNLOCK(&res->buckets[fctx->bucketnum].lock);
+
cleanup_query:
if (query->connects == 0) {
query->magic = 0;
@@ -1700,7 +1911,7 @@ resquery_send(resquery_t *query) {
isc_region_t r;
dns_resolver_t *res;
isc_task_t *task;
- isc_socket_t *socket;
+ isc_socket_t *sock;
isc_buffer_t tcpbuffer;
isc_sockaddr_t *address;
isc_buffer_t *buffer;
@@ -2002,16 +2213,16 @@ resquery_send(resquery_t *query) {
dns_message_reset(fctx->qmessage, DNS_MESSAGE_INTENTRENDER);
if (query->exclusivesocket)
- socket = dns_dispatch_getentrysocket(query->dispentry);
+ sock = dns_dispatch_getentrysocket(query->dispentry);
else
- socket = dns_dispatch_getsocket(query->dispatch);
+ sock = dns_dispatch_getsocket(query->dispatch);
/*
* Send the query!
*/
if ((query->options & DNS_FETCHOPT_TCP) == 0) {
address = &query->addrinfo->sockaddr;
if (query->exclusivesocket) {
- result = isc_socket_connect(socket, address, task,
+ result = isc_socket_connect(sock, address, task,
resquery_udpconnected,
query);
if (result != ISC_R_SUCCESS)
@@ -2029,7 +2240,7 @@ resquery_send(resquery_t *query) {
ISC_EVENT_INIT(&query->sendevent, sizeof(query->sendevent), 0, NULL,
ISC_SOCKEVENT_SENDDONE, resquery_senddone, query,
NULL, NULL, NULL);
- result = isc_socket_sendto2(socket, &r, task, address, NULL,
+ result = isc_socket_sendto2(sock, &r, task, address, NULL,
&query->sendevent, 0);
if (result != ISC_R_SUCCESS) {
if (connecting) {
@@ -2119,6 +2330,9 @@ resquery_connected(isc_task_t *task, isc_event_t *event) {
isc_interval_set(&interval, 20, 0);
result = fctx_startidletimer(query->fctx, &interval);
if (result != ISC_R_SUCCESS) {
+ FCTXTRACE("query canceled: idle timer failed; "
+ "responding");
+
fctx_cancelquery(&query, NULL, NULL, ISC_FALSE);
fctx_done(fctx, result, __LINE__);
break;
@@ -2155,6 +2369,9 @@ resquery_connected(isc_task_t *task, isc_event_t *event) {
result = resquery_send(query);
if (result != ISC_R_SUCCESS) {
+ FCTXTRACE("query canceled: "
+ "resquery_send() failed; responding");
+
fctx_cancelquery(&query, NULL, NULL, ISC_FALSE);
fctx_done(fctx, result, __LINE__);
}
@@ -2166,6 +2383,10 @@ resquery_connected(isc_task_t *task, isc_event_t *event) {
case ISC_R_NOPERM:
case ISC_R_ADDRNOTAVAIL:
case ISC_R_CONNECTIONRESET:
+ FCTXTRACE3("query canceled in connected(): "
+ "no route to host; no response",
+ sevent->result);
+
/*
* No route to remote.
*/
@@ -2175,6 +2396,10 @@ resquery_connected(isc_task_t *task, isc_event_t *event) {
break;
default:
+ FCTXTRACE3("query canceled in connected() due to "
+ "unexpected event result; responding",
+ sevent->result);
+
isc_socket_detach(&query->tcpsocket);
fctx_cancelquery(&query, NULL, NULL, ISC_FALSE);
break;
@@ -2206,7 +2431,7 @@ fctx_finddone(isc_task_t *task, isc_event_t *event) {
isc_boolean_t want_done = ISC_FALSE;
isc_boolean_t bucket_empty = ISC_FALSE;
unsigned int bucketnum;
- isc_boolean_t destroy = ISC_FALSE;
+ isc_boolean_t dodestroy = ISC_FALSE;
find = event->ev_sender;
fctx = event->ev_arg;
@@ -2247,7 +2472,7 @@ fctx_finddone(isc_task_t *task, isc_event_t *event) {
if (fctx->references == 0) {
bucket_empty = fctx_unlink(fctx);
- destroy = ISC_TRUE;
+ dodestroy = ISC_TRUE;
}
}
UNLOCK(&res->buckets[bucketnum].lock);
@@ -2255,11 +2480,12 @@ fctx_finddone(isc_task_t *task, isc_event_t *event) {
isc_event_free(&event);
dns_adb_destroyfind(&find);
- if (want_try)
+ if (want_try) {
fctx_try(fctx, ISC_TRUE, ISC_FALSE);
- else if (want_done)
+ } else if (want_done) {
+ FCTXTRACE("fetch failed in finddone(); return ISC_R_FAILURE");
fctx_done(fctx, ISC_R_FAILURE, __LINE__);
- else if (destroy) {
+ } else if (dodestroy) {
fctx_destroy(fctx);
if (bucket_empty)
empty_bucket(res);
@@ -2488,7 +2714,7 @@ sort_finds(dns_adbfindlist_t *findlist) {
static void
findname(fetchctx_t *fctx, dns_name_t *name, in_port_t port,
unsigned int options, unsigned int flags, isc_stdtime_t now,
- isc_boolean_t *need_alternate)
+ isc_boolean_t *overquota, isc_boolean_t *need_alternate)
{
dns_adbaddrinfo_t *ai;
dns_adbfind_t *find;
@@ -2496,6 +2722,10 @@ findname(fetchctx_t *fctx, dns_name_t *name, in_port_t port,
isc_boolean_t unshared;
isc_result_t result;
+#ifndef ENABLE_FETCHLIMIT
+ UNUSED(overquota);
+#endif /* !ENABLE_FETCHLIMIT */
+
res = fctx->res;
unshared = ISC_TF((fctx->options & DNS_FETCHOPT_UNSHARED) != 0);
/*
@@ -2579,6 +2809,14 @@ findname(fetchctx_t *fctx, dns_name_t *name, in_port_t port,
find->result_v4 != DNS_R_NXDOMAIN)))
*need_alternate = ISC_TRUE;
} else {
+#ifdef ENABLE_FETCHLIMIT
+ if ((find->options & DNS_ADBFIND_OVERQUOTA) != 0) {
+ if (overquota != NULL)
+ *overquota = ISC_TRUE;
+ fctx->quotacount++; /* quota exceeded */
+ }
+ else
+#endif /* ENABLE_FETCHLIMIT */
if ((find->options & DNS_ADBFIND_LAMEPRUNED) != 0)
fctx->lamecount++; /* cached lame server */
else
@@ -2622,6 +2860,9 @@ fctx_getaddresses(fetchctx_t *fctx, isc_boolean_t badcache) {
isc_boolean_t all_bad;
dns_rdata_ns_t ns;
isc_boolean_t need_alternate = ISC_FALSE;
+#ifdef ENABLE_FETCHLIMIT
+ isc_boolean_t all_spilled = ISC_TRUE;
+#endif /* ENABLE_FETCHLIMIT */
FCTXTRACE("getaddresses");
@@ -2679,19 +2920,27 @@ fctx_getaddresses(fetchctx_t *fctx, isc_boolean_t badcache) {
dns_fixedname_init(&fixed);
domain = dns_fixedname_name(&fixed);
- result = dns_fwdtable_find2(fctx->res->view->fwdtable, name,
+ result = dns_fwdtable_find2(res->view->fwdtable, name,
domain, &forwarders);
if (result == ISC_R_SUCCESS) {
sa = ISC_LIST_HEAD(forwarders->addrs);
fctx->fwdpolicy = forwarders->fwdpolicy;
if (fctx->fwdpolicy == dns_fwdpolicy_only &&
isstrictsubdomain(domain, &fctx->domain)) {
+#ifdef ENABLE_FETCHLIMIT
+ fcount_decr(fctx);
+#endif /* ENABLE_FETCHLIMIT */
dns_name_free(&fctx->domain, fctx->mctx);
dns_name_init(&fctx->domain, NULL);
result = dns_name_dup(domain, fctx->mctx,
&fctx->domain);
if (result != ISC_R_SUCCESS)
return (result);
+#ifdef ENABLE_FETCHLIMIT
+ result = fcount_incr(fctx, ISC_TRUE);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+#endif /* ENABLE_FETCHLIMIT */
}
}
}
@@ -2765,6 +3014,8 @@ fctx_getaddresses(fetchctx_t *fctx, isc_boolean_t badcache) {
result == ISC_R_SUCCESS;
result = dns_rdataset_next(&fctx->nameservers))
{
+ isc_boolean_t overquota = ISC_FALSE;
+
dns_rdataset_current(&fctx->nameservers, &rdata);
/*
* Extract the name from the NS record.
@@ -2774,7 +3025,13 @@ fctx_getaddresses(fetchctx_t *fctx, isc_boolean_t badcache) {
continue;
findname(fctx, &ns.name, 0, stdoptions, 0, now,
- &need_alternate);
+ &overquota, &need_alternate);
+
+#ifdef ENABLE_FETCHLIMIT
+ if (!overquota)
+ all_spilled = ISC_FALSE;
+#endif /* ENABLE_FETCHLIMIT */
+
dns_rdata_reset(&rdata);
dns_rdata_freestruct(&ns);
}
@@ -2788,13 +3045,13 @@ fctx_getaddresses(fetchctx_t *fctx, isc_boolean_t badcache) {
int family;
alternate_t *a;
family = (res->dispatches6 != NULL) ? AF_INET6 : AF_INET;
- for (a = ISC_LIST_HEAD(fctx->res->alternates);
+ for (a = ISC_LIST_HEAD(res->alternates);
a != NULL;
a = ISC_LIST_NEXT(a, link)) {
if (!a->isaddress) {
findname(fctx, &a->_u._n.name, a->_u._n.port,
stdoptions, FCTX_ADDRINFO_FORWARDER,
- now, NULL);
+ now, NULL, NULL);
continue;
}
if (isc_sockaddr_pf(&a->_u.addr) != family)
@@ -2853,10 +3110,21 @@ fctx_getaddresses(fetchctx_t *fctx, isc_boolean_t badcache) {
fctx->type == dns_rdatatype_dlv ||
fctx->type == dns_rdatatype_ds) &&
result == ISC_R_SUCCESS)
- dns_resolver_addbadcache(fctx->res,
- &fctx->name,
+ dns_resolver_addbadcache(res, &fctx->name,
fctx->type, &expire);
- result = ISC_R_FAILURE;
+
+#ifdef ENABLE_FETCHLIMIT
+ /*
+ * If all of the addresses found were over the
+ * fetches-per-server quota, return the configured
+ * response.
+ */
+ if (all_spilled) {
+ result = res->quotaresp[dns_quotatype_server];
+ inc_stats(res, dns_resstatscounter_serverquota);
+ } else
+ result = ISC_R_FAILURE;
+#endif /* ENABLE_FETCHLIMIT */
}
} else {
/*
@@ -2907,6 +3175,9 @@ possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr)
bogus)
aborted = ISC_TRUE;
+ if (!isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(3)))
+ return;
+
if (aborted) {
addr->flags |= FCTX_ADDRINFO_MARK;
msg = "ignoring blackholed / bogus server: ";
@@ -2927,9 +3198,6 @@ possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr)
} else
return;
- if (!isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(3)))
- return;
-
isc_netaddr_fromsockaddr(&na, sa);
isc_netaddr_format(&na, buf, sizeof(buf));
FCTXTRACE2(msg, buf);
@@ -3080,14 +3348,17 @@ fctx_nextaddress(fetchctx_t *fctx) {
static void
fctx_try(fetchctx_t *fctx, isc_boolean_t retrying, isc_boolean_t badcache) {
isc_result_t result;
- dns_adbaddrinfo_t *addrinfo;
+ dns_adbaddrinfo_t *addrinfo = NULL;
+ dns_resolver_t *res;
FCTXTRACE("try");
REQUIRE(!ADDRWAIT(fctx));
+ res = fctx->res;
+
/* We've already exceeded maximum query count */
- if (isc_counter_used(fctx->qc) > fctx->res->maxqueries) {
+ if (isc_counter_used(fctx->qc) > res->maxqueries) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER,
DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3),
"exceeded max queries resolving '%s'",
@@ -3096,11 +3367,15 @@ fctx_try(fetchctx_t *fctx, isc_boolean_t retrying, isc_boolean_t badcache) {
return;
}
- addrinfo = fctx_nextaddress(fctx);
+#ifdef ENABLE_FETCHLIMIT
+ /* Try to find an address that isn't over quota */
+ while ((addrinfo = fctx_nextaddress(fctx)) != NULL)
+ if (! dns_adbentry_overquota(addrinfo->entry))
+ break;
+#endif /* ENABLE_FETCHLIMIT */
+
if (addrinfo == NULL) {
- /*
- * We have no more addresses. Start over.
- */
+ /* We have no more addresses. Start over. */
fctx_cancelqueries(fctx, ISC_TRUE);
fctx_cleanupfinds(fctx);
fctx_cleanupaltfinds(fctx);
@@ -3122,7 +3397,15 @@ fctx_try(fetchctx_t *fctx, isc_boolean_t retrying, isc_boolean_t badcache) {
return;
}
+#ifdef ENABLE_FETCHLIMIT
+ while ((addrinfo = fctx_nextaddress(fctx)) != NULL) {
+ if (! dns_adbentry_overquota(addrinfo->entry))
+ break;
+ }
+#else
addrinfo = fctx_nextaddress(fctx);
+#endif /* !ENABLE_FETCHLIMIT */
+
/*
* While we may have addresses from the ADB, they
* might be bad ones. In this case, return SERVFAIL.
@@ -3149,7 +3432,7 @@ fctx_try(fetchctx_t *fctx, isc_boolean_t retrying, isc_boolean_t badcache) {
if (result != ISC_R_SUCCESS)
fctx_done(fctx, result, __LINE__);
else if (retrying)
- inc_stats(fctx->res, dns_resstatscounter_retry);
+ inc_stats(res, dns_resstatscounter_retry);
}
static isc_boolean_t
@@ -3244,6 +3527,11 @@ fctx_destroy(fetchctx_t *fctx) {
}
isc_counter_detach(&fctx->qc);
+
+#ifdef ENABLE_FETCHLIMIT
+ fcount_decr(fctx);
+#endif /* ENABLE_FETCHLIMIT */
+
isc_timer_detach(&fctx->timer);
dns_message_destroy(&fctx->rmessage);
dns_message_destroy(&fctx->qmessage);
@@ -3284,6 +3572,7 @@ fctx_timeout(isc_task_t *task, isc_event_t *event) {
fctx->timeouts++;
fctx->timeout = ISC_TRUE;
+
/*
* We could cancel the running queries here, or we could let
* them keep going. Since we normally use separate sockets for
@@ -3295,10 +3584,13 @@ fctx_timeout(isc_task_t *task, isc_event_t *event) {
*/
query = ISC_LIST_HEAD(fctx->queries);
if (query != NULL &&
- isc_time_compare(&tevent->due, &query->start) >= 0) {
+ isc_time_compare(&tevent->due, &query->start) >= 0)
+ {
+ FCTXTRACE("query timed out; no response");
fctx_cancelquery(&query, NULL, NULL, ISC_TRUE);
}
fctx->attributes &= ~FCTX_ATTR_ADDRWAIT;
+
/*
* Our timer has triggered. Reestablish the fctx lifetime
* timer.
@@ -3355,7 +3647,7 @@ fctx_doshutdown(isc_task_t *task, isc_event_t *event) {
dns_resolver_t *res;
unsigned int bucketnum;
dns_validator_t *validator;
- isc_boolean_t destroy = ISC_FALSE;
+ isc_boolean_t dodestroy = ISC_FALSE;
REQUIRE(VALID_FCTX(fctx));
@@ -3407,12 +3699,12 @@ fctx_doshutdown(isc_task_t *task, isc_event_t *event) {
if (fctx->references == 0 && fctx->pending == 0 &&
fctx->nqueries == 0 && ISC_LIST_EMPTY(fctx->validators)) {
bucket_empty = fctx_unlink(fctx);
- destroy = ISC_TRUE;
+ dodestroy = ISC_TRUE;
}
UNLOCK(&res->buckets[bucketnum].lock);
- if (destroy) {
+ if (dodestroy) {
fctx_destroy(fctx);
if (bucket_empty)
empty_bucket(res);
@@ -3425,7 +3717,7 @@ fctx_start(isc_task_t *task, isc_event_t *event) {
isc_boolean_t done = ISC_FALSE, bucket_empty = ISC_FALSE;
dns_resolver_t *res;
unsigned int bucketnum;
- isc_boolean_t destroy = ISC_FALSE;
+ isc_boolean_t dodestroy = ISC_FALSE;
REQUIRE(VALID_FCTX(fctx));
@@ -3459,7 +3751,7 @@ fctx_start(isc_task_t *task, isc_event_t *event) {
* It's now safe to destroy this fctx.
*/
bucket_empty = fctx_unlink(fctx);
- destroy = ISC_TRUE;
+ dodestroy = ISC_TRUE;
}
done = ISC_TRUE;
} else {
@@ -3481,7 +3773,7 @@ fctx_start(isc_task_t *task, isc_event_t *event) {
if (!done) {
isc_result_t result;
- INSIST(!destroy);
+ INSIST(!dodestroy);
/*
* All is well. Start working on the fetch.
@@ -3491,7 +3783,7 @@ fctx_start(isc_task_t *task, isc_event_t *event) {
fctx_done(fctx, result, __LINE__);
else
fctx_try(fctx, ISC_FALSE, ISC_FALSE);
- } else if (destroy) {
+ } else if (dodestroy) {
fctx_destroy(fctx);
if (bucket_empty)
empty_bucket(res);
@@ -3583,7 +3875,6 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
unsigned int findoptions = 0;
char buf[DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE];
char typebuf[DNS_RDATATYPE_FORMATSIZE];
- dns_name_t suffix;
isc_mem_t *mctx;
/*
@@ -3619,6 +3910,7 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
result = ISC_R_NOMEMORY;
goto cleanup_counter;
}
+
FCTXTRACE("create");
dns_name_init(&fctx->name, NULL);
result = dns_name_dup(name, mctx, &fctx->name);
@@ -3637,6 +3929,7 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
fctx->res = res;
fctx->references = 0;
fctx->bucketnum = bucketnum;
+ fctx->dbucketnum = RES_NOBUCKET;
fctx->state = fetchstate_init;
fctx->want_shutdown = ISC_FALSE;
fctx->cloned = ISC_FALSE;
@@ -3663,6 +3956,7 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
TIME_NOW(&fctx->start);
fctx->timeouts = 0;
fctx->lamecount = 0;
+ fctx->quotacount = 0;
fctx->adberr = 0;
fctx->neterr = 0;
fctx->badresp = 0;
@@ -3692,10 +3986,12 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
dns_forwarders_t *forwarders = NULL;
unsigned int labels;
dns_name_t *fwdname = name;
+ dns_name_t suffix;
/*
- * DS records are found in the parent server.
- * Strip label to get the correct forwarder (if any).
+ * DS records are found in the parent server. Strip one
+ * leading label from the name (to be used in finding
+ * the forwarder).
*/
if (dns_rdatatype_atparent(fctx->type) &&
dns_name_countlabels(name) > 1) {
@@ -3704,6 +4000,8 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
dns_name_getlabelsequence(name, 1, labels - 1, &suffix);
fwdname = &suffix;
}
+
+ /* Find the forwarder for this name. */
dns_fixedname_init(&fixed);
domain = dns_fixedname_name(&fixed);
result = dns_fwdtable_find2(fctx->res->view->fwdtable, fwdname,
@@ -3751,6 +4049,18 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
fctx->ns_ttl_ok = ISC_TRUE;
}
+#ifdef ENABLE_FETCHLIMIT
+ /*
+ * Are there too many simultaneous queries for this domain?
+ */
+ result = fcount_incr(fctx, ISC_FALSE);
+ if (result != ISC_R_SUCCESS) {
+ result = fctx->res->quotaresp[dns_quotatype_zone];
+ inc_stats(res, dns_resstatscounter_zonequota);
+ goto cleanup_domain;
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
log_ns_ttl(fctx, "fctx_create");
INSIST(dns_name_issubdomain(&fctx->name, &fctx->domain));
@@ -3760,7 +4070,11 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
&fctx->qmessage);
if (result != ISC_R_SUCCESS)
+#ifdef ENABLE_FETCHLIMIT
+ goto cleanup_fcount;
+#else
goto cleanup_domain;
+#endif /* !ENABLE_FETCHLIMIT */
fctx->rmessage = NULL;
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
@@ -3836,6 +4150,11 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
cleanup_qmessage:
dns_message_destroy(&fctx->qmessage);
+#ifdef ENABLE_FETCHLIMIT
+ cleanup_fcount:
+ fcount_decr(fctx);
+#endif /* ENABLE_FETCHLIMIT */
+
cleanup_domain:
if (dns_name_countlabels(&fctx->domain) > 0)
dns_name_free(&fctx->domain, mctx);
@@ -4062,7 +4381,7 @@ maybe_destroy(fetchctx_t *fctx, isc_boolean_t locked) {
isc_boolean_t bucket_empty = ISC_FALSE;
dns_resolver_t *res = fctx->res;
dns_validator_t *validator, *next_validator;
- isc_boolean_t destroy = ISC_FALSE;
+ isc_boolean_t dodestroy = ISC_FALSE;
REQUIRE(SHUTTINGDOWN(fctx));
@@ -4080,12 +4399,12 @@ maybe_destroy(fetchctx_t *fctx, isc_boolean_t locked) {
if (fctx->references == 0 && ISC_LIST_EMPTY(fctx->validators)) {
bucket_empty = fctx_unlink(fctx);
- destroy = ISC_TRUE;
+ dodestroy = ISC_TRUE;
}
unlock:
if (!locked)
UNLOCK(&res->buckets[bucketnum].lock);
- if (destroy)
+ if (dodestroy)
fctx_destroy(fctx);
return (bucket_empty);
}
@@ -6093,6 +6412,11 @@ noanswer_response(fetchctx_t *fctx, dns_name_t *oqname,
* if so we should bail out.
*/
INSIST(dns_name_countlabels(&fctx->domain) > 0);
+
+#ifdef ENABLE_FETCHLIMIT
+ fcount_decr(fctx);
+#endif /* ENABLE_FETCHLIMIT */
+
dns_name_free(&fctx->domain, fctx->mctx);
if (dns_rdataset_isassociated(&fctx->nameservers))
dns_rdataset_disassociate(&fctx->nameservers);
@@ -6100,6 +6424,13 @@ noanswer_response(fetchctx_t *fctx, dns_name_t *oqname,
result = dns_name_dup(ns_name, fctx->mctx, &fctx->domain);
if (result != ISC_R_SUCCESS)
return (result);
+
+#ifdef ENABLE_FETCHLIMIT
+ result = fcount_incr(fctx, ISC_TRUE);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+#endif /* ENABLE_FETCHLIMIT */
+
fctx->attributes |= FCTX_ATTR_WANTCACHE;
fctx->ns_ttl_ok = ISC_FALSE;
log_ns_ttl(fctx, "DELEGATION");
@@ -6583,10 +6914,21 @@ answer_response(fetchctx_t *fctx) {
return (result);
}
+static void
+fctx_increference(fetchctx_t *fctx) {
+ REQUIRE(VALID_FCTX(fctx));
+
+ LOCK(&fctx->res->buckets[fctx->bucketnum].lock);
+ fctx->references++;
+ UNLOCK(&fctx->res->buckets[fctx->bucketnum].lock);
+}
+
static isc_boolean_t
fctx_decreference(fetchctx_t *fctx) {
isc_boolean_t bucket_empty = ISC_FALSE;
+ REQUIRE(VALID_FCTX(fctx));
+
INSIST(fctx->references > 0);
fctx->references--;
if (fctx->references == 0) {
@@ -6655,6 +6997,11 @@ resume_dslookup(isc_task_t *task, isc_event_t *event) {
fctx->ns_ttl = fctx->nameservers.ttl;
fctx->ns_ttl_ok = ISC_TRUE;
log_ns_ttl(fctx, "resume_dslookup");
+
+#ifdef ENABLE_FETCHLIMIT
+ fcount_decr(fctx);
+#endif /* ENABLE_FETCHLIMIT */
+
dns_name_free(&fctx->domain, fctx->mctx);
dns_name_init(&fctx->domain, NULL);
result = dns_name_dup(&fctx->nsname, fctx->mctx, &fctx->domain);
@@ -6662,6 +7009,15 @@ resume_dslookup(isc_task_t *task, isc_event_t *event) {
fctx_done(fctx, DNS_R_SERVFAIL, __LINE__);
goto cleanup;
}
+
+#ifdef ENABLE_FETCHLIMIT
+ result = fcount_incr(fctx, ISC_TRUE);
+ if (result != ISC_R_SUCCESS) {
+ fctx_done(fctx, DNS_R_SERVFAIL, __LINE__);
+ goto cleanup;
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
/*
* Try again.
*/
@@ -6959,6 +7315,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
if (fctx->res->exiting) {
result = ISC_R_SHUTTINGDOWN;
+ FCTXTRACE("resolver shutting down");
goto done;
}
@@ -7013,6 +7370,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
no_response = ISC_TRUE;
}
}
+ FCTXTRACE3("dispatcher failure", devent->result);
goto done;
}
@@ -7020,18 +7378,25 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
if (query->tsig != NULL) {
result = dns_message_setquerytsig(message, query->tsig);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS) {
+ FCTXTRACE3("unable to set query tsig", result);
goto done;
+ }
}
if (query->tsigkey) {
result = dns_message_settsigkey(message, query->tsigkey);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS) {
+ FCTXTRACE3("unable to set tsig key", result);
goto done;
+ }
}
+ if ((options & DNS_FETCHOPT_TCP) == 0)
+ dns_adb_plainresponse(fctx->adb, query->addrinfo);
result = dns_message_parse(message, &devent->buffer, 0);
if (result != ISC_R_SUCCESS) {
+ FCTXTRACE3("message failed to parse", result);
switch (result) {
case ISC_R_UNEXPECTEDEND:
if (!message->question_ok ||
@@ -7114,8 +7479,10 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
* returns success anyway.
*/
result = dns_message_checksig(message, fctx->res->view);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS) {
+ FCTXTRACE3("signature check failed", result);
goto done;
+ }
/*
* The dispatcher should ensure we only get responses with QR set.
@@ -7176,6 +7543,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
options |= DNS_FETCHOPT_TCP;
resend = ISC_TRUE;
}
+ FCTXTRACE3("message truncated", result);
goto done;
}
@@ -7186,6 +7554,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
/* XXXRTH Log */
broken_server = DNS_R_UNEXPECTEDOPCODE;
keep_trying = ISC_TRUE;
+ FCTXTRACE("invalid message opcode");
goto done;
}
@@ -7214,6 +7583,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
if (message->rcode != dns_rcode_noerror &&
message->rcode != dns_rcode_nxdomain) {
+ isc_buffer_t b;
+ char code[64];
if (((message->rcode == dns_rcode_formerr ||
message->rcode == dns_rcode_notimp) ||
(message->rcode == dns_rcode_servfail &&
@@ -7265,38 +7636,13 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
result = DNS_R_YXDOMAIN;
} else if (message->rcode == dns_rcode_badvers) {
- unsigned int flags, mask;
- unsigned int version;
-
- resend = ISC_TRUE;
- INSIST(opt != NULL);
- version = (opt->ttl >> 16) & 0xff;
- flags = (version << DNS_FETCHOPT_EDNSVERSIONSHIFT) |
- DNS_FETCHOPT_EDNSVERSIONSET;
- mask = DNS_FETCHOPT_EDNSVERSIONMASK |
- DNS_FETCHOPT_EDNSVERSIONSET;
- /*
- * Record that we got a good EDNS response.
- */
- if (query->ednsversion > (int)version &&
- !EDNSOK(query->addrinfo)) {
- dns_adb_changeflags(fctx->adb, query->addrinfo,
- FCTX_ADDRINFO_EDNSOK,
- FCTX_ADDRINFO_EDNSOK);
- }
/*
- * Record the supported EDNS version.
+ * This should be impossible as we only send EDNS
+ * version 0 requests and to return BADVERS you
+ * need to support EDNS as it is a extended rcode.
*/
- switch (version) {
- case 0:
- dns_adb_changeflags(fctx->adb, query->addrinfo,
- flags, mask);
- break;
- default:
- broken_server = DNS_R_BADVERS;
- keep_trying = ISC_TRUE;
- break;
- }
+ broken_server = DNS_R_BADVERS;
+ keep_trying = ISC_TRUE;
} else {
/*
* XXXRTH log.
@@ -7305,6 +7651,11 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
INSIST(broken_server != ISC_R_SUCCESS);
keep_trying = ISC_TRUE;
}
+
+ isc_buffer_init(&b, code, sizeof(code) - 1);
+ dns_rcode_totext(fctx->rmessage->rcode, &b);
+ code[isc_buffer_usedlength(&b)] = '\0';
+ FCTXTRACE2("remote server broken: returned ", code);
goto done;
}
@@ -7316,6 +7667,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
/* XXXRTH Log */
if (result == DNS_R_FORMERR)
keep_trying = ISC_TRUE;
+ FCTXTRACE3("response did not match question", result);
goto done;
}
@@ -7336,6 +7688,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
isc_result_totext(result));
broken_server = DNS_R_LAME;
keep_trying = ISC_TRUE;
+ FCTXTRACE("lame server");
goto done;
}
@@ -7388,22 +7741,31 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
if ((message->flags & DNS_MESSAGEFLAG_AA) != 0 ||
ISFORWARDER(query->addrinfo))
+ {
result = answer_response(fctx);
- else if (iscname(fctx) &&
+ if (result != ISC_R_SUCCESS)
+ FCTXTRACE3("answer_response (AA/fwd)", result);
+ } else if (iscname(fctx) &&
fctx->type != dns_rdatatype_any &&
- fctx->type != dns_rdatatype_cname) {
+ fctx->type != dns_rdatatype_cname)
+ {
/*
* A BIND8 server could return a non-authoritative
* answer when a CNAME is followed. We should treat
* it as a valid answer.
*/
result = answer_response(fctx);
+ if (result != ISC_R_SUCCESS)
+ FCTXTRACE3("answer_response (!ANY/!CNAME)",
+ result);
} else if (fctx->type != dns_rdatatype_ns &&
!betterreferral(fctx)) {
/*
* Lame response !!!.
*/
result = answer_response(fctx);
+ if (result != ISC_R_SUCCESS)
+ FCTXTRACE3("answer_response (!NS)", result);
} else {
if (fctx->type == dns_rdatatype_ns) {
/*
@@ -7416,6 +7778,9 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
result = noanswer_response(fctx, NULL,
LOOK_FOR_NS_IN_ANSWER);
+ if (result != ISC_R_SUCCESS)
+ FCTXTRACE3("noanswer_response (NS)",
+ result);
} else {
/*
* Some other servers may still somehow include
@@ -7431,6 +7796,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
result = noanswer_response(fctx, NULL,
LOOK_FOR_GLUE_IN_ANSWER);
+ if (result != ISC_R_SUCCESS)
+ FCTXTRACE3("noanswer_response", result);
}
if (result != DNS_R_DELEGATION) {
/*
@@ -7483,6 +7850,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
fctx->referrals++;
fctx->querysent = 0;
fctx->lamecount = 0;
+ fctx->quotacount = 0;
fctx->neterr = 0;
fctx->badresp = 0;
fctx->adberr = 0;
@@ -7495,6 +7863,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
if (result == DNS_R_FORMERR)
keep_trying = ISC_TRUE;
+ FCTXTRACE3("noanswer_response", result);
goto done;
}
} else {
@@ -7504,6 +7873,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
/* XXXRTH Log */
broken_server = DNS_R_UNEXPECTEDRCODE;
keep_trying = ISC_TRUE;
+ FCTXTRACE("broken server: unexpected rcode");
goto done;
}
@@ -7518,8 +7888,10 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
if (WANTCACHE(fctx)) {
result = cache_message(fctx, query->addrinfo, now);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS) {
+ FCTXTRACE3("cache_message complete", result);
goto done;
+ }
}
/*
@@ -7542,6 +7914,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
* Cache any negative cache entries in the message.
*/
result = ncache_message(fctx, query->addrinfo, covers, now);
+ if (result != ISC_R_SUCCESS)
+ FCTXTRACE3("ncache_message complete", result);
}
done:
@@ -7551,6 +7925,10 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
*/
addrinfo = query->addrinfo;
+ FCTXTRACE4("query canceled in response(); ",
+ no_response ? "no response" : "responding",
+ result);
+
/*
* Cancel the query.
*
@@ -7604,6 +7982,11 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
fctx_done(fctx, DNS_R_SERVFAIL, __LINE__);
return;
}
+
+#ifdef ENABLE_FETCHLIMIT
+ fcount_decr(fctx);
+#endif /* ENABLE_FETCHLIMIT */
+
dns_name_free(&fctx->domain, fctx->mctx);
dns_name_init(&fctx->domain, NULL);
result = dns_name_dup(fname, fctx->mctx, &fctx->domain);
@@ -7611,6 +7994,15 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
fctx_done(fctx, DNS_R_SERVFAIL, __LINE__);
return;
}
+
+#ifdef ENABLE_FETCHLIMIT
+ result = fcount_incr(fctx, ISC_TRUE);
+ if (result != ISC_R_SUCCESS) {
+ fctx_done(fctx, DNS_R_SERVFAIL, __LINE__);
+ return;
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
fctx->ns_ttl = fctx->nameservers.ttl;
fctx->ns_ttl_ok = ISC_TRUE;
fctx_cancelqueries(fctx, ISC_TRUE);
@@ -7667,9 +8059,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
if (result != ISC_R_SUCCESS)
fctx_done(fctx, result, __LINE__);
else {
- LOCK(&fctx->res->buckets[fctx->bucketnum].lock);
- fctx->references++;
- UNLOCK(&fctx->res->buckets[fctx->bucketnum].lock);
+ fctx_increference(fctx);
result = fctx_stopidletimer(fctx);
if (result != ISC_R_SUCCESS)
fctx_done(fctx, result, __LINE__);
@@ -7733,6 +8123,15 @@ destroy(dns_resolver_t *res) {
}
isc_mem_put(res->mctx, res->buckets,
res->nbuckets * sizeof(fctxbucket_t));
+#ifdef ENABLE_FETCHLIMIT
+ for (i = 0; i < RES_DOMAIN_BUCKETS; i++) {
+ INSIST(ISC_LIST_EMPTY(res->dbuckets[i].list));
+ isc_mem_detach(&res->dbuckets[i].mctx);
+ DESTROYLOCK(&res->dbuckets[i].lock);
+ }
+ isc_mem_put(res->mctx, res->dbuckets,
+ RES_DOMAIN_BUCKETS * sizeof(zonebucket_t));
+#endif /* ENABLE_FETCHLIMIT */
if (res->dispatches4 != NULL)
dns_dispatchset_destroy(&res->dispatches4);
if (res->dispatches6 != NULL)
@@ -7842,6 +8241,9 @@ dns_resolver_create(dns_view_t *view,
isc_task_t *task = NULL;
char name[16];
unsigned dispattr;
+#ifdef ENABLE_FETCHLIMIT
+ unsigned int dbuckets_created = 0;
+#endif /* ENABLE_FETCHLIMIT */
/*
* Create a resolver.
@@ -7878,10 +8280,13 @@ dns_resolver_create(dns_view_t *view,
res->spillatmin = res->spillat = 10;
res->spillatmax = 100;
res->spillattimer = NULL;
+ res->zspill = 0;
res->zero_no_soa_ttl = ISC_FALSE;
res->query_timeout = DEFAULT_QUERY_TIMEOUT;
res->maxdepth = DEFAULT_RECURSION_DEPTH;
res->maxqueries = DEFAULT_MAX_QUERIES;
+ res->quotaresp[dns_quotatype_zone] = DNS_R_DROP;
+ res->quotaresp[dns_quotatype_server] = DNS_R_SERVFAIL;
res->nbuckets = ntasks;
res->activebuckets = ntasks;
res->buckets = isc_mem_get(view->mctx,
@@ -7924,6 +8329,26 @@ dns_resolver_create(dns_view_t *view,
buckets_created++;
}
+#ifdef ENABLE_FETCHLIMIT
+ res->dbuckets = isc_mem_get(view->mctx,
+ RES_DOMAIN_BUCKETS * sizeof(zonebucket_t));
+ if (res->dbuckets == NULL) {
+ result = ISC_R_NOMEMORY;
+ goto cleanup_buckets;
+ }
+ for (i = 0; i < RES_DOMAIN_BUCKETS; i++) {
+ ISC_LIST_INIT(res->dbuckets[i].list);
+ res->dbuckets[i].mctx = NULL;
+ isc_mem_attach(view->mctx, &res->dbuckets[i].mctx);
+ result = isc_mutex_init(&res->dbuckets[i].lock);
+ if (result != ISC_R_SUCCESS) {
+ isc_mem_detach(&res->dbuckets[i].mctx);
+ goto cleanup_dbuckets;
+ }
+ dbuckets_created++;
+ }
+#endif /* ENABLE_FETCHLIMIT */
+
res->dispatches4 = NULL;
if (dispatchv4 != NULL) {
dns_dispatchset_create(view->mctx, socketmgr, taskmgr,
@@ -8017,6 +8442,16 @@ dns_resolver_create(dns_view_t *view,
if (res->dispatches4 != NULL)
dns_dispatchset_destroy(&res->dispatches4);
+#ifdef ENABLE_FETCHLIMIT
+ cleanup_dbuckets:
+ for (i = 0; i < dbuckets_created; i++) {
+ DESTROYLOCK(&res->dbuckets[i].lock);
+ isc_mem_detach(&res->dbuckets[i].mctx);
+ }
+ isc_mem_put(view->mctx, res->dbuckets,
+ RES_DOMAIN_BUCKETS * sizeof(zonebucket_t));
+#endif /* ENABLE_FETCHLIMIT*/
+
cleanup_buckets:
for (i = 0; i < buckets_created; i++) {
isc_mem_detach(&res->buckets[i].mctx);
@@ -8298,6 +8733,10 @@ log_fetch(dns_name_t *name, dns_rdatatype_t type) {
char typebuf[DNS_RDATATYPE_FORMATSIZE];
int level = ISC_LOG_DEBUG(1);
+ /*
+ * If there's no chance of logging it, don't render (format) the
+ * name and RDATA type (further below), and return early.
+ */
if (! isc_log_wouldlog(dns_lctx, level))
return;
@@ -8366,7 +8805,7 @@ dns_resolver_createfetch3(dns_resolver_t *res, dns_name_t *name,
unsigned int count = 0;
unsigned int spillat;
unsigned int spillatmin;
- isc_boolean_t destroy = ISC_FALSE;
+ isc_boolean_t dodestroy = ISC_FALSE;
UNUSED(forwarders);
@@ -8471,14 +8910,14 @@ dns_resolver_createfetch3(dns_resolver_t *res, dns_name_t *name,
* since we know we're not exiting.
*/
(void)fctx_unlink(fctx);
- destroy = ISC_TRUE;
+ dodestroy = ISC_TRUE;
}
}
unlock:
UNLOCK(&res->buckets[bucketnum].lock);
- if (destroy)
+ if (dodestroy)
fctx_destroy(fctx);
if (result == ISC_R_SUCCESS) {
@@ -8607,8 +9046,12 @@ dns_resolver_logfetch(dns_fetch_t *fetch, isc_log_t *lctx,
"%" ISC_PRINT_QUADFORMAT "u."
"%06" ISC_PRINT_QUADFORMAT "u: %s/%s "
"[domain:%s,referral:%u,restart:%u,qrysent:%u,"
- "timeout:%u,lame:%u,neterr:%u,badresp:%u,"
- "adberr:%u,findfail:%u,valfail:%u]",
+ "timeout:%u,lame:%u,"
+#ifdef ENABLE_FETCHLIMIT
+ "quota:%u,"
+#endif /* ENABLE_FETCHLIMIT */
+ "neterr:%u,"
+ "badresp:%u,adberr:%u,findfail:%u,valfail:%u]",
__FILE__, fctx->exitline, fctx->info,
fctx->duration / US_PER_SEC,
fctx->duration % US_PER_SEC,
@@ -8616,6 +9059,9 @@ dns_resolver_logfetch(dns_fetch_t *fetch, isc_log_t *lctx,
isc_result_totext(fctx->vresult), domainbuf,
fctx->referrals, fctx->restarts,
fctx->querysent, fctx->timeouts, fctx->lamecount,
+#ifdef ENABLE_FETCHLIMIT
+ fctx->quotacount,
+#endif /* ENABLE_FETCHLIMIT */
fctx->neterr, fctx->badresp, fctx->adberr,
fctx->findfail, fctx->valfail);
fctx->logged = ISC_TRUE;
@@ -8724,6 +9170,11 @@ dns_resolver_flushbadcache(dns_resolver_t *resolver, dns_name_t *name) {
unsigned int i;
dns_badcache_t *bad, *prev, *next;
+ /*
+ * Drop all entries that match the name, and also all expired
+ * entries from the badcache.
+ */
+
REQUIRE(VALID_RESOLVER(resolver));
LOCK(&resolver->lock);
@@ -8767,6 +9218,13 @@ resizehash(dns_resolver_t *resolver, isc_time_t *now, isc_boolean_t grow) {
dns_badcache_t **new, *bad, *next;
unsigned int i;
+ /*
+ * The number of buckets in the hashtable is modified in this
+ * function. Afterwards, all the entries are remapped into the
+ * corresponding new slot. Rehashing (hash computation) is
+ * unnecessary as the hash values had been saved.
+ */
+
if (grow)
newsize = resolver->badhash * 2 + 1;
else
@@ -8777,6 +9235,13 @@ resizehash(dns_resolver_t *resolver, isc_time_t *now, isc_boolean_t grow) {
if (new == NULL)
return;
memset(new, 0, sizeof(*resolver->badcache) * newsize);
+
+ /*
+ * Because the hashtable implements a simple modulus mapping
+ * from hash to bucket (no extendible hashing is used), every
+ * name in the hashtable has to be remapped to its new slot.
+ * Entries that have expired (time) are dropped.
+ */
for (i = 0; i < resolver->badhash; i++) {
for (bad = resolver->badcache[i]; bad != NULL; bad = next) {
next = bad->next;
@@ -8805,6 +9270,18 @@ dns_resolver_addbadcache(dns_resolver_t *resolver, dns_name_t *name,
unsigned int i, hashval;
dns_badcache_t *bad, *prev, *next;
+ /*
+ * The badcache is implemented as a hashtable keyed on the name,
+ * and each bucket slot points to a linked list (separate
+ * chaining).
+ *
+ * To avoid long list chains, if the number of entries in the
+ * hashtable goes over number-of-buckets * 8, the
+ * number-of-buckets is doubled. Similarly, if the number of
+ * entries goes below number-of-buckets * 2, the number-of-buckets
+ * is halved. See resizehash().
+ */
+
REQUIRE(VALID_RESOLVER(resolver));
LOCK(&resolver->lock);
@@ -8829,6 +9306,7 @@ dns_resolver_addbadcache(dns_resolver_t *resolver, dns_name_t *name,
next = bad->next;
if (bad->type == type && dns_name_equal(name, &bad->name))
break;
+ /* Drop expired entries when walking the chain. */
if (isc_time_compare(&bad->expire, &now) < 0) {
if (prev == NULL)
resolver->badcache[i] = bad->next;
@@ -8841,6 +9319,12 @@ dns_resolver_addbadcache(dns_resolver_t *resolver, dns_name_t *name,
prev = bad;
}
if (bad == NULL) {
+ /*
+ * Insert the name into the badcache hashtable at the
+ * head of the linked list at the appropriate slot. The
+ * name data follows right after the allocation for the
+ * linked list node.
+ */
isc_buffer_t buffer;
bad = isc_mem_get(resolver->mctx, sizeof(*bad) + name->length);
if (bad == NULL)
@@ -8999,6 +9483,12 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, dns_name_t *name,
isc_result_t result;
dns_rbtnode_t *node = NULL;
+ /*
+ * Whether an algorithm is disabled (or not) is stored in a
+ * per-name bitfield that is stored as the node data of an
+ * RBT.
+ */
+
REQUIRE(VALID_RESOLVER(resolver));
if (alg > 255)
return (ISC_R_RANGE);
@@ -9020,7 +9510,17 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, dns_name_t *name,
if (result == ISC_R_SUCCESS || result == ISC_R_EXISTS) {
algorithms = node->data;
+ /*
+ * If algorithms is set, algorithms[0] contains its
+ * length.
+ */
if (algorithms == NULL || len > *algorithms) {
+ /*
+ * If no bitfield exists in the node data, or if
+ * it is not long enough, allocate a new
+ * bitfield and copy the old (smaller) bitfield
+ * into it if one exists.
+ */
new = isc_mem_get(resolver->mctx, len);
if (new == NULL) {
result = ISC_R_NOMEMORY;
@@ -9030,8 +9530,10 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, dns_name_t *name,
if (algorithms != NULL)
memmove(new, algorithms, *algorithms);
new[len-1] |= mask;
+ /* new[0] should contain the length of new. */
*new = len;
node->data = new;
+ /* Free the older bitfield. */
if (algorithms != NULL)
isc_mem_put(resolver->mctx, algorithms,
*algorithms);
@@ -9058,6 +9560,12 @@ dns_resolver_algorithm_supported(dns_resolver_t *resolver, dns_name_t *name,
REQUIRE(VALID_RESOLVER(resolver));
+ /*
+ * DH is unsupported for DNSKEYs, see RFC 4034 sec. A.1.
+ */
+ if ((alg == DST_ALG_DH) || (alg == DST_ALG_INDIRECT))
+ return (ISC_FALSE);
+
#if USE_ALGLOCK
RWLOCK(&resolver->alglock, isc_rwlocktype_read);
#endif
@@ -9077,6 +9585,7 @@ dns_resolver_algorithm_supported(dns_resolver_t *resolver, dns_name_t *name,
#endif
if (found)
return (ISC_FALSE);
+
return (dst_algorithm_supported(alg));
}
@@ -9181,6 +9690,24 @@ dns_resolver_setclientsperquery(dns_resolver_t *resolver, isc_uint32_t min,
UNLOCK(&resolver->lock);
}
+void
+dns_resolver_setfetchesperzone(dns_resolver_t *resolver, isc_uint32_t clients)
+{
+#ifdef ENABLE_FETCHLIMIT
+ REQUIRE(VALID_RESOLVER(resolver));
+
+ LOCK(&resolver->lock);
+ resolver->zspill = clients;
+ UNLOCK(&resolver->lock);
+#else
+ UNUSED(resolver);
+ UNUSED(clients);
+
+ return;
+#endif /* !ENABLE_FETCHLIMIT */
+}
+
+
isc_boolean_t
dns_resolver_getzeronosoattl(dns_resolver_t *resolver) {
REQUIRE(VALID_RESOLVER(resolver));
@@ -9246,3 +9773,67 @@ dns_resolver_getmaxqueries(dns_resolver_t *resolver) {
REQUIRE(VALID_RESOLVER(resolver));
return (resolver->maxqueries);
}
+
+void
+dns_resolver_dumpfetches(dns_resolver_t *resolver, FILE *fp) {
+#ifdef ENABLE_FETCHLIMIT
+ int i;
+
+ REQUIRE(VALID_RESOLVER(resolver));
+ REQUIRE(fp != NULL);
+
+ for (i = 0; i < RES_DOMAIN_BUCKETS; i++) {
+ fctxcount_t *fc;
+ LOCK(&resolver->dbuckets[i].lock);
+ for (fc = ISC_LIST_HEAD(resolver->dbuckets[i].list);
+ fc != NULL;
+ fc = ISC_LIST_NEXT(fc, link))
+ {
+ dns_name_print(fc->domain, fp);
+ fprintf(fp, ": %d active (%d spilled, %d allowed)\n",
+ fc->count, fc->dropped, fc->allowed);
+ }
+ UNLOCK(&resolver->dbuckets[i].lock);
+ }
+#else
+ UNUSED(resolver);
+ UNUSED(fp);
+
+ return;
+#endif /* !ENABLE_FETCHLIMIT */
+}
+
+void
+dns_resolver_setquotaresponse(dns_resolver_t *resolver,
+ dns_quotatype_t which, isc_result_t resp)
+{
+#ifdef ENABLE_FETCHLIMIT
+ REQUIRE(VALID_RESOLVER(resolver));
+ REQUIRE(which == dns_quotatype_zone || which == dns_quotatype_server);
+ REQUIRE(resp == DNS_R_DROP || resp == DNS_R_SERVFAIL);
+
+ resolver->quotaresp[which] = resp;
+#else
+ UNUSED(resolver);
+ UNUSED(which);
+ UNUSED(resp);
+
+ return;
+#endif /* !ENABLE_FETCHLIMIT */
+}
+
+isc_result_t
+dns_resolver_getquotaresponse(dns_resolver_t *resolver, dns_quotatype_t which)
+{
+#ifdef ENABLE_FETCHLIMIT
+ REQUIRE(VALID_RESOLVER(resolver));
+ REQUIRE(which == dns_quotatype_zone || which == dns_quotatype_server);
+
+ return (resolver->quotaresp[which]);
+#else
+ UNUSED(resolver);
+ UNUSED(which);
+
+ return (ISC_R_NOTIMPLEMENTED);
+#endif /* !ENABLE_FETCHLIMIT */
+}
diff --git a/lib/dns/result.c b/lib/dns/result.c
index 39879532d485..7be4f577ed86 100644
--- a/lib/dns/result.c
+++ b/lib/dns/result.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -162,7 +162,12 @@ static const char *text[DNS_R_NRESULTS] = {
"broken trust chain", /*%< 106 DNS_R_BROKENCHAIN */
"expired", /*%< 107 DNS_R_EXPIRED */
"not dynamic", /*%< 108 DNS_R_NOTDYNAMIC */
- "bad EUI" /*%< 109 DNS_R_BADEUI */
+ "bad EUI", /*%< 109 DNS_R_BADEUI */
+
+ "covered by negative trust anchor", /*%< 110 DNS_R_NTACOVERED */
+ "bad CDS", /*%< 111 DNS_R_BADCSD */
+ "bad CDNSKEY", /*%< 112 DNS_R_BADCDNSKEY */
+ "malformed OPT option" /*%< 113 DNS_R_OPTERR */
};
static const char *rcode_text[DNS_R_NRCODERESULTS] = {
@@ -238,6 +243,7 @@ dns_result_torcode(isc_result_t result) {
*/
return ((dns_rcode_t)((result) & 0xFFF));
}
+
/*
* Try to supply an appropriate rcode.
*/
@@ -267,6 +273,7 @@ dns_result_torcode(isc_result_t result) {
case DNS_R_TSIGERRORSET:
case DNS_R_UNKNOWN:
case DNS_R_NAMETOOLONG:
+ case DNS_R_OPTERR:
rcode = dns_rcode_formerr;
break;
case DNS_R_DISALLOWED:
diff --git a/lib/dns/rpz.c b/lib/dns/rpz.c
index 3dd80664c7dc..dc8c2c920443 100644
--- a/lib/dns/rpz.c
+++ b/lib/dns/rpz.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011-2015 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
@@ -14,9 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-
/*! \file */
#include <config.h>
@@ -741,13 +738,14 @@ diff_keys(const dns_rpz_cidr_key_t *key1, dns_rpz_cidr_bits_t bits1,
dns_rpz_cidr_bits_t maxbit, bit;
int i;
+ bit = 0;
maxbit = ISC_MIN(bits1, bits2);
/*
* find the first differing words
*/
- for (i = 0, bit = 0;
- bit <= maxbit;
+ for (i = 0;
+ bit < maxbit;
i++, bit += DNS_RPZ_CIDR_WORD_BITS) {
delta = key1->w[i] ^ key2->w[i];
if (delta != 0) {
diff --git a/lib/dns/rrl.c b/lib/dns/rrl.c
index 08fc8e712ffa..0c247e95cf7f 100644
--- a/lib/dns/rrl.c
+++ b/lib/dns/rrl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013-2015 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
@@ -376,7 +376,7 @@ hash_key(const dns_rrl_key_t *key) {
int i;
hval = key->w[0];
- for (i = sizeof(*key) / sizeof(key->w[0]) - 1; i >= 0; --i) {
+ for (i = sizeof(key->w) / sizeof(key->w[0]) - 1; i >= 0; --i) {
hval = key->w[i] + (hval<<1);
}
return (hval);
@@ -1161,22 +1161,17 @@ dns_rrl(dns_view_t *view,
client_addr, now,
log_buf, log_buf_len);
if (rrl_all_result != DNS_RRL_RESULT_OK) {
- int level;
-
e = e_all;
rrl_result = rrl_all_result;
- if (rrl_result == DNS_RRL_RESULT_OK)
- level = DNS_RRL_LOG_DEBUG2;
- else
- level = DNS_RRL_LOG_DEBUG1;
- if (isc_log_wouldlog(dns_lctx, level)) {
+ if (isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DEBUG1)) {
make_log_buf(rrl, e,
"prefer all-per-second limiting ",
NULL, ISC_TRUE, qname, ISC_FALSE,
DNS_RRL_RESULT_OK, resp_result,
log_buf, log_buf_len);
isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL,
- DNS_LOGMODULE_REQUEST, level,
+ DNS_LOGMODULE_REQUEST,
+ DNS_RRL_LOG_DEBUG1,
"%s", log_buf);
}
}
diff --git a/lib/dns/sdb.c b/lib/dns/sdb.c
index 191fda219f46..f0ffc3d6f384 100644
--- a/lib/dns/sdb.c
+++ b/lib/dns/sdb.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -305,12 +305,10 @@ dns_sdb_putrdata(dns_sdblookup_t *lookup, dns_rdatatype_t typeval,
rdatalist = isc_mem_get(mctx, sizeof(dns_rdatalist_t));
if (rdatalist == NULL)
return (ISC_R_NOMEMORY);
+ dns_rdatalist_init(rdatalist);
rdatalist->rdclass = lookup->sdb->common.rdclass;
rdatalist->type = typeval;
- rdatalist->covers = 0;
rdatalist->ttl = ttl;
- ISC_LIST_INIT(rdatalist->rdata);
- ISC_LINK_INIT(rdatalist, link);
ISC_LIST_APPEND(lookup->lists, rdatalist, link);
} else
if (rdatalist->ttl != ttl)
@@ -1246,9 +1244,9 @@ ispersistent(dns_db_t *db) {
}
static void
-overmem(dns_db_t *db, isc_boolean_t overmem) {
+overmem(dns_db_t *db, isc_boolean_t over) {
UNUSED(db);
- UNUSED(overmem);
+ UNUSED(over);
}
static void
diff --git a/lib/dns/sdlz.c b/lib/dns/sdlz.c
index 9d4e615802fa..3b245419d099 100644
--- a/lib/dns/sdlz.c
+++ b/lib/dns/sdlz.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2005-2012 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2005-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -1190,9 +1190,9 @@ ispersistent(dns_db_t *db) {
}
static void
-overmem(dns_db_t *db, isc_boolean_t overmem) {
+overmem(dns_db_t *db, isc_boolean_t over) {
UNUSED(db);
- UNUSED(overmem);
+ UNUSED(over);
}
static void
@@ -1805,12 +1805,10 @@ dns_sdlz_putrr(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl,
rdatalist = isc_mem_get(mctx, sizeof(dns_rdatalist_t));
if (rdatalist == NULL)
return (ISC_R_NOMEMORY);
+ dns_rdatalist_init(rdatalist);
rdatalist->rdclass = lookup->sdlz->common.rdclass;
rdatalist->type = typeval;
- rdatalist->covers = 0;
rdatalist->ttl = ttl;
- ISC_LIST_INIT(rdatalist->rdata);
- ISC_LINK_INIT(rdatalist, link);
ISC_LIST_APPEND(lookup->lists, rdatalist, link);
} else
if (rdatalist->ttl > ttl) {
diff --git a/lib/dns/spnego.c b/lib/dns/spnego.c
index 2da79f8b55ce..0de332fc6a68 100644
--- a/lib/dns/spnego.c
+++ b/lib/dns/spnego.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2006-2015 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
@@ -14,8 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
/*! \file
* \brief
* Portable SPNEGO implementation.
@@ -146,6 +144,7 @@
#include <isc/mem.h>
#include <isc/once.h>
#include <isc/random.h>
+#include <isc/safe.h>
#include <isc/string.h>
#include <isc/time.h>
#include <isc/util.h>
@@ -372,7 +371,7 @@ gssapi_spnego_decapsulate(OM_uint32 *,
/* mod_auth_kerb.c */
static int
-cmp_gss_type(gss_buffer_t token, gss_OID oid)
+cmp_gss_type(gss_buffer_t token, gss_OID gssoid)
{
unsigned char *p;
size_t len;
@@ -392,10 +391,10 @@ cmp_gss_type(gss_buffer_t token, gss_OID oid)
if (*p++ != 0x06)
return (GSS_S_DEFECTIVE_TOKEN);
- if (((OM_uint32) *p++) != oid->length)
+ if (((OM_uint32) *p++) != gssoid->length)
return (GSS_S_DEFECTIVE_TOKEN);
- return (memcmp(p, oid->elements, oid->length));
+ return (isc_safe_memcompare(p, gssoid->elements, gssoid->length));
}
/* accept_sec_context.c */
@@ -635,16 +634,18 @@ gss_accept_sec_context_spnego(OM_uint32 *minor_status,
return (GSS_S_DEFECTIVE_TOKEN);
}
if (mech_len == GSS_KRB5_MECH->length &&
- memcmp(GSS_KRB5_MECH->elements,
- mechbuf + sizeof(mechbuf) - mech_len,
- mech_len) == 0) {
+ isc_safe_memequal(GSS_KRB5_MECH->elements,
+ mechbuf + sizeof(mechbuf) - mech_len,
+ mech_len))
+ {
found = 1;
break;
}
if (mech_len == GSS_MSKRB5_MECH->length &&
- memcmp(GSS_MSKRB5_MECH->elements,
- mechbuf + sizeof(mechbuf) - mech_len,
- mech_len) == 0) {
+ isc_safe_memequal(GSS_MSKRB5_MECH->elements,
+ mechbuf + sizeof(mechbuf) - mech_len,
+ mech_len))
+ {
found = 1;
if (i == 0)
pref = GSS_MSKRB5_MECH;
@@ -715,7 +716,7 @@ gssapi_verify_mech_header(u_char ** str,
p += foo;
if (mech_len != mech->length)
return (GSS_S_BAD_MECH);
- if (memcmp(p, mech->elements, mech->length) != 0)
+ if (!isc_safe_memequal(p, mech->elements, mech->length))
return (GSS_S_BAD_MECH);
p += mech_len;
*str = p;
@@ -1668,7 +1669,7 @@ spnego_reply(OM_uint32 *minor_status,
buf = input_token->value;
buf_size = input_token->length;
} else if ((size_t)mech_len == GSS_KRB5_MECH->length &&
- memcmp(GSS_KRB5_MECH->elements, p, mech_len) == 0)
+ isc_safe_memequal(GSS_KRB5_MECH->elements, p, mech_len))
return (gss_init_sec_context(minor_status,
initiator_cred_handle,
context_handle,
@@ -1683,7 +1684,7 @@ spnego_reply(OM_uint32 *minor_status,
ret_flags,
time_rec));
else if ((size_t)mech_len == GSS_SPNEGO_MECH->length &&
- memcmp(GSS_SPNEGO_MECH->elements, p, mech_len) == 0) {
+ isc_safe_memequal(GSS_SPNEGO_MECH->elements, p, mech_len)) {
ret = gssapi_spnego_decapsulate(minor_status,
input_token,
&buf,
@@ -1721,9 +1722,9 @@ spnego_reply(OM_uint32 *minor_status,
resp.supportedMech,
&oidlen);
if (ret || oidlen != GSS_KRB5_MECH->length ||
- memcmp(oidbuf + sizeof(oidbuf) - oidlen,
- GSS_KRB5_MECH->elements,
- oidlen) != 0) {
+ !isc_safe_memequal(oidbuf + sizeof(oidbuf) - oidlen,
+ GSS_KRB5_MECH->elements, oidlen))
+ {
free_NegTokenResp(&resp);
return GSS_S_BAD_MECH;
}
diff --git a/lib/dns/tcpmsg.c b/lib/dns/tcpmsg.c
index 49add56f37a6..bffb0c50c145 100644
--- a/lib/dns/tcpmsg.c
+++ b/lib/dns/tcpmsg.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -22,6 +22,7 @@
#include <config.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/task.h>
#include <isc/util.h>
diff --git a/lib/dns/tkey.c b/lib/dns/tkey.c
index 0bfc7ef6c5dc..0b5440a67d80 100644
--- a/lib/dns/tkey.c
+++ b/lib/dns/tkey.c
@@ -15,9 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/*
- * $Id$
- */
/*! \file */
#include <config.h>
@@ -25,6 +22,7 @@
#include <isc/entropy.h>
#include <isc/md5.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -45,6 +43,7 @@
#include <dst/dst.h>
#include <dst/gssapi.h>
+#define TEMP_BUFFER_SZ 8192
#define TKEY_RANDOM_AMOUNT 16
#define RETERR(x) do { \
@@ -67,19 +66,38 @@ tkey_log(const char *fmt, ...) {
}
static void
-_dns_tkey_dumpmessage(dns_message_t *msg) {
+dumpmessage(dns_message_t *msg) {
isc_buffer_t outbuf;
- unsigned char output[4096];
+ unsigned char *output;
+ int len = TEMP_BUFFER_SZ;
isc_result_t result;
- isc_buffer_init(&outbuf, output, sizeof(output));
- result = dns_message_totext(msg, &dns_master_style_debug, 0,
- &outbuf);
- if (result != ISC_R_SUCCESS)
- fprintf(stderr, "Warning: dns_message_totext returned: %s\n",
- dns_result_totext(result));
- fprintf(stderr, "%.*s\n", (int)isc_buffer_usedlength(&outbuf),
- (char *)isc_buffer_base(&outbuf));
+ for (;;) {
+ output = isc_mem_get(msg->mctx, len);
+ if (output == NULL)
+ return;
+
+ isc_buffer_init(&outbuf, output, len);
+ result = dns_message_totext(msg, &dns_master_style_debug,
+ 0, &outbuf);
+ if (result == ISC_R_NOSPACE) {
+ isc_mem_put(msg->mctx, output, len);
+ len *= 2;
+ continue;
+ }
+
+ if (result == ISC_R_SUCCESS)
+ tkey_log("%.*s",
+ (int)isc_buffer_usedlength(&outbuf),
+ (char *)isc_buffer_base(&outbuf));
+ else
+ tkey_log("Warning: dns_message_totext: %s",
+ dns_result_totext(result));
+ break;
+ }
+
+ if (output != NULL)
+ isc_mem_put(msg->mctx, output, len);
}
isc_result_t
@@ -163,9 +181,7 @@ add_rdata_to_list(dns_message_t *msg, dns_name_t *name, dns_rdata_t *rdata,
RETERR(dns_message_gettemprdatalist(msg, &newlist));
newlist->rdclass = newrdata->rdclass;
newlist->type = newrdata->type;
- newlist->covers = 0;
newlist->ttl = ttl;
- ISC_LIST_INIT(newlist->rdata);
ISC_LIST_APPEND(newlist->rdata, newrdata, link);
RETERR(dns_message_gettemprdataset(msg, &newset));
@@ -862,6 +878,7 @@ buildquery(dns_message_t *msg, dns_name_t *name,
dns_rdata_t *rdata = NULL;
isc_buffer_t *dynbuf = NULL, *anamebuf = NULL, *qnamebuf = NULL;
isc_result_t result;
+ unsigned int len;
REQUIRE(msg != NULL);
REQUIRE(name != NULL);
@@ -875,9 +892,10 @@ buildquery(dns_message_t *msg, dns_name_t *name,
dns_rdataset_makequestion(question, dns_rdataclass_any,
dns_rdatatype_tkey);
- RETERR(isc_buffer_allocate(msg->mctx, &dynbuf, 4096));
- RETERR(isc_buffer_allocate(msg->mctx, &anamebuf, DNS_NAME_MAXWIRE));
- RETERR(isc_buffer_allocate(msg->mctx, &qnamebuf, DNS_NAME_MAXWIRE));
+ len = 16 + tkey->algorithm.length + tkey->keylen + tkey->otherlen;
+ RETERR(isc_buffer_allocate(msg->mctx, &dynbuf, len));
+ RETERR(isc_buffer_allocate(msg->mctx, &anamebuf, name->length));
+ RETERR(isc_buffer_allocate(msg->mctx, &qnamebuf, name->length));
RETERR(dns_message_gettemprdata(msg, &rdata));
RETERR(dns_rdata_fromstruct(rdata, dns_rdataclass_any,
@@ -887,9 +905,6 @@ buildquery(dns_message_t *msg, dns_name_t *name,
RETERR(dns_message_gettemprdatalist(msg, &tkeylist));
tkeylist->rdclass = dns_rdataclass_any;
tkeylist->type = dns_rdatatype_tkey;
- tkeylist->covers = 0;
- tkeylist->ttl = 0;
- ISC_LIST_INIT(tkeylist->rdata);
ISC_LIST_APPEND(tkeylist->rdata, rdata, link);
RETERR(dns_message_gettemprdataset(msg, &tkeyset));
@@ -897,10 +912,10 @@ buildquery(dns_message_t *msg, dns_name_t *name,
RETERR(dns_rdatalist_tordataset(tkeylist, tkeyset));
dns_name_init(qname, NULL);
- dns_name_copy(name, qname, qnamebuf);
+ RETERR(dns_name_copy(name, qname, qnamebuf));
dns_name_init(aname, NULL);
- dns_name_copy(name, aname, anamebuf);
+ RETERR(dns_name_copy(name, aname, anamebuf));
ISC_LIST_APPEND(qname->list, question, link);
ISC_LIST_APPEND(aname->list, tkeyset, link);
@@ -935,7 +950,6 @@ buildquery(dns_message_t *msg, dns_name_t *name,
isc_buffer_free(&qnamebuf);
if (anamebuf != NULL)
isc_buffer_free(&anamebuf);
- printf("buildquery error\n");
return (result);
}
@@ -1027,7 +1041,7 @@ dns_tkey_buildgssquery(dns_message_t *msg, dns_name_t *name, dns_name_t *gname,
isc_result_t result;
isc_stdtime_t now;
isc_buffer_t token;
- unsigned char array[4096];
+ unsigned char array[TEMP_BUFFER_SZ];
UNUSED(intoken);
@@ -1064,12 +1078,7 @@ dns_tkey_buildgssquery(dns_message_t *msg, dns_name_t *name, dns_name_t *gname,
tkey.other = NULL;
tkey.otherlen = 0;
- RETERR(buildquery(msg, name, &tkey, win2k));
-
- return (ISC_R_SUCCESS);
-
- failure:
- return (result);
+ return (buildquery(msg, name, &tkey, win2k));
}
isc_result_t
@@ -1299,8 +1308,8 @@ dns_tkey_processgssresponse(dns_message_t *qmsg, dns_message_t *rmsg,
!dns_name_equal(&rtkey.algorithm, &qtkey.algorithm)) {
tkey_log("dns_tkey_processgssresponse: tkey mode invalid "
"or error set(2) %d", rtkey.error);
- _dns_tkey_dumpmessage(qmsg);
- _dns_tkey_dumpmessage(rmsg);
+ dumpmessage(qmsg);
+ dumpmessage(rmsg);
result = DNS_R_INVALIDTKEY;
goto failure;
}
diff --git a/lib/dns/tsig.c b/lib/dns/tsig.c
index 307cb2577b41..05f98ad7bb27 100644
--- a/lib/dns/tsig.c
+++ b/lib/dns/tsig.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -1133,9 +1133,6 @@ dns_tsig_sign(dns_message_t *msg) {
goto cleanup_rdatalist;
datalist->rdclass = dns_rdataclass_any;
datalist->type = dns_rdatatype_tsig;
- datalist->covers = 0;
- datalist->ttl = 0;
- ISC_LIST_INIT(datalist->rdata);
ISC_LIST_APPEND(datalist->rdata, rdata, link);
dns_rdataset_init(dataset);
RUNTIME_CHECK(dns_rdatalist_tordataset(datalist, dataset)
@@ -1343,6 +1340,8 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg,
}
if (tsig.siglen > 0) {
+ isc_uint16_t addcount_n;
+
sig_r.base = tsig.signature;
sig_r.length = tsig.siglen;
@@ -1378,7 +1377,8 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg,
* Decrement the additional field counter.
*/
memmove(&addcount, &header[DNS_MESSAGE_HEADERLEN - 2], 2);
- addcount = htons((isc_uint16_t)(ntohs(addcount) - 1));
+ addcount_n = ntohs(addcount);
+ addcount = htons((isc_uint16_t)(addcount_n - 1));
memmove(&header[DNS_MESSAGE_HEADERLEN - 2], &addcount, 2);
/*
@@ -1617,8 +1617,11 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) {
* Decrement the additional field counter if necessary.
*/
if (has_tsig) {
+ isc_uint16_t addcount_n;
+
memmove(&addcount, &header[DNS_MESSAGE_HEADERLEN - 2], 2);
- addcount = htons((isc_uint16_t)(ntohs(addcount) - 1));
+ addcount_n = ntohs(addcount);
+ addcount = htons((isc_uint16_t)(addcount_n - 1));
memmove(&header[DNS_MESSAGE_HEADERLEN - 2], &addcount, 2);
}
diff --git a/lib/dns/update.c b/lib/dns/update.c
index e727c347ce93..268e25047241 100644
--- a/lib/dns/update.c
+++ b/lib/dns/update.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011-2013, 2015 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
@@ -19,6 +19,8 @@
#include <config.h>
#include <isc/log.h>
+#include <isc/magic.h>
+#include <isc/mem.h>
#include <isc/netaddr.h>
#include <isc/print.h>
#include <isc/serial.h>
@@ -58,6 +60,9 @@
/**************************************************************************/
+#define STATE_MAGIC ISC_MAGIC('S', 'T', 'T', 'E')
+#define DNS_STATE_VALID(state) ISC_MAGIC_VALID(state, STATE_MAGIC)
+
/*%
* Log level for tracing dynamic update protocol requests.
*/
@@ -563,6 +568,7 @@ rrset_visible(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
result = ISC_R_SUCCESS;
break;
default:
+ *visible = ISC_FALSE; /* silence false compiler warning */
break;
}
return (result);
@@ -1134,8 +1140,15 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
if (type == dns_rdatatype_dnskey) {
if (!KSK(keys[i]) && keyset_kskonly)
continue;
- } else if (KSK(keys[i]))
- continue;
+ } else if (KSK(keys[i])) {
+ /*
+ * CDS and CDNSKEY are signed with KSK
+ * (RFC 7344, 4.1).
+ */
+ if (type != dns_rdatatype_cds &&
+ type != dns_rdatatype_cdnskey)
+ continue;
+ }
} else if (REVOKE(keys[i]) && type != dns_rdatatype_dnskey)
continue;
@@ -1250,7 +1263,8 @@ add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
dns_dbversion_t *ver, dns_name_t *name, isc_boolean_t cut,
dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys,
isc_stdtime_t inception, isc_stdtime_t expire,
- isc_boolean_t check_ksk, isc_boolean_t keyset_kskonly)
+ isc_boolean_t check_ksk, isc_boolean_t keyset_kskonly,
+ unsigned int *sigs)
{
isc_result_t result;
dns_dbnode_t *node;
@@ -1296,10 +1310,11 @@ add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
if (flag)
continue;;
result = add_sigs(log, zone, db, ver, name, type, diff,
- keys, nkeys, inception, expire,
- check_ksk, keyset_kskonly);
+ keys, nkeys, inception, expire,
+ check_ksk, keyset_kskonly);
if (result != ISC_R_SUCCESS)
goto cleanup_iterator;
+ (*sigs)++;
}
if (result == ISC_R_NOMORE)
result = ISC_R_SUCCESS;
@@ -1329,519 +1344,684 @@ dns_update_signatures(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
dns_dbversion_t *oldver, dns_dbversion_t *newver,
dns_diff_t *diff, isc_uint32_t sigvalidityinterval)
{
- isc_result_t result;
- dns_difftuple_t *t;
+ return (dns_update_signaturesinc(log, zone, db, oldver, newver, diff,
+ sigvalidityinterval, NULL));
+}
+
+struct dns_update_state {
+ unsigned int magic;
dns_diff_t diffnames;
dns_diff_t affected;
dns_diff_t sig_diff;
dns_diff_t nsec_diff;
dns_diff_t nsec_mindiff;
- isc_boolean_t flag, build_nsec, build_nsec3;
+ dns_diff_t work;
dst_key_t *zone_keys[DNS_MAXZONEKEYS];
- unsigned int nkeys = 0;
- unsigned int i;
- isc_stdtime_t now, inception, expire;
+ unsigned int nkeys;
+ isc_stdtime_t inception, expire;
dns_ttl_t nsecttl;
+ isc_boolean_t check_ksk, keyset_kskonly;
+ enum { sign_updates, remove_orphaned, build_chain, process_nsec,
+ sign_nsec, update_nsec3, process_nsec3, sign_nsec3 } state;
+};
+
+isc_result_t
+dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
+ dns_dbversion_t *oldver, dns_dbversion_t *newver,
+ dns_diff_t *diff, isc_uint32_t sigvalidityinterval,
+ dns_update_state_t **statep)
+{
+ isc_result_t result = ISC_R_SUCCESS;
+ dns_update_state_t mystate, *state;
+
+ dns_difftuple_t *t, *next;
+ isc_boolean_t flag, build_nsec, build_nsec3;
+ unsigned int i;
+ isc_stdtime_t now;
dns_rdata_soa_t soa;
dns_rdata_t rdata = DNS_RDATA_INIT;
dns_rdataset_t rdataset;
dns_dbnode_t *node = NULL;
- isc_boolean_t check_ksk, keyset_kskonly;
isc_boolean_t unsecure;
isc_boolean_t cut;
dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone);
+ unsigned int sigs = 0;
+ unsigned int maxsigs = dns_zone_getsignatures(zone);
- dns_diff_init(diff->mctx, &diffnames);
- dns_diff_init(diff->mctx, &affected);
-
- dns_diff_init(diff->mctx, &sig_diff);
- dns_diff_init(diff->mctx, &nsec_diff);
- dns_diff_init(diff->mctx, &nsec_mindiff);
-
- result = find_zone_keys(zone, db, newver, diff->mctx,
- DNS_MAXZONEKEYS, zone_keys, &nkeys);
- if (result != ISC_R_SUCCESS) {
- update_log(log, zone, ISC_LOG_ERROR,
- "could not get zone keys for secure dynamic update");
- goto failure;
- }
-
- isc_stdtime_get(&now);
- inception = now - 3600; /* Allow for some clock skew. */
- expire = now + sigvalidityinterval;
-
- /*
- * Do we look at the KSK flag on the DNSKEY to determining which
- * keys sign which RRsets? First check the zone option then
- * check the keys flags to make sure at least one has a ksk set
- * and one doesn't.
- */
- check_ksk = ISC_TF((dns_zone_getoptions(zone) &
- DNS_ZONEOPT_UPDATECHECKKSK) != 0);
- keyset_kskonly = ISC_TF((dns_zone_getoptions(zone) &
- DNS_ZONEOPT_DNSKEYKSKONLY) != 0);
-
- /*
- * Get the NSEC/NSEC3 TTL from the SOA MINIMUM field.
- */
- CHECK(dns_db_findnode(db, dns_db_origin(db), ISC_FALSE, &node));
- dns_rdataset_init(&rdataset);
- CHECK(dns_db_findrdataset(db, node, newver, dns_rdatatype_soa, 0,
- (isc_stdtime_t) 0, &rdataset, NULL));
- CHECK(dns_rdataset_first(&rdataset));
- dns_rdataset_current(&rdataset, &rdata);
- CHECK(dns_rdata_tostruct(&rdata, &soa, NULL));
- nsecttl = soa.minimum;
- dns_rdataset_disassociate(&rdataset);
- dns_db_detachnode(db, &node);
-
- /*
- * Find all RRsets directly affected by the update, and
- * update their RRSIGs. Also build a list of names affected
- * by the update in "diffnames".
- */
- CHECK(dns_diff_sort(diff, temp_order));
+ if (statep == NULL || (statep != NULL && *statep == NULL)) {
+ if (statep == NULL) {
+ state = &mystate;
+ } else {
+ state = isc_mem_get(diff->mctx, sizeof(*state));
+ if (state == NULL)
+ return (ISC_R_NOMEMORY);
+ }
- t = ISC_LIST_HEAD(diff->tuples);
- while (t != NULL) {
- dns_name_t *name = &t->name;
- /* Now "name" is a new, unique name affected by the update. */
+ dns_diff_init(diff->mctx, &state->diffnames);
+ dns_diff_init(diff->mctx, &state->affected);
+ dns_diff_init(diff->mctx, &state->sig_diff);
+ dns_diff_init(diff->mctx, &state->nsec_diff);
+ dns_diff_init(diff->mctx, &state->nsec_mindiff);
+ dns_diff_init(diff->mctx, &state->work);
+ state->nkeys = 0;
+
+ result = find_zone_keys(zone, db, newver, diff->mctx,
+ DNS_MAXZONEKEYS, state->zone_keys,
+ &state->nkeys);
+ if (result != ISC_R_SUCCESS) {
+ update_log(log, zone, ISC_LOG_ERROR,
+ "could not get zone keys for secure "
+ "dynamic update");
+ goto failure;
+ }
- CHECK(namelist_append_name(&diffnames, name));
+ isc_stdtime_get(&now);
+ state->inception = now - 3600; /* Allow for some clock skew. */
+ state->expire = now + sigvalidityinterval;
- while (t != NULL && dns_name_equal(&t->name, name)) {
- dns_rdatatype_t type;
- type = t->rdata.type;
+ /*
+ * Do we look at the KSK flag on the DNSKEY to determining which
+ * keys sign which RRsets? First check the zone option then
+ * check the keys flags to make sure at least one has a ksk set
+ * and one doesn't.
+ */
+ state->check_ksk = ISC_TF((dns_zone_getoptions(zone) &
+ DNS_ZONEOPT_UPDATECHECKKSK) != 0);
+ state->keyset_kskonly = ISC_TF((dns_zone_getoptions(zone) &
+ DNS_ZONEOPT_DNSKEYKSKONLY) != 0);
- /*
- * Now "name" and "type" denote a new unique RRset
- * affected by the update.
- */
+ /*
+ * Get the NSEC/NSEC3 TTL from the SOA MINIMUM field.
+ */
+ CHECK(dns_db_findnode(db, dns_db_origin(db), ISC_FALSE, &node));
+ dns_rdataset_init(&rdataset);
+ CHECK(dns_db_findrdataset(db, node, newver, dns_rdatatype_soa,
+ 0, (isc_stdtime_t) 0, &rdataset,
+ NULL));
+ CHECK(dns_rdataset_first(&rdataset));
+ dns_rdataset_current(&rdataset, &rdata);
+ CHECK(dns_rdata_tostruct(&rdata, &soa, NULL));
+ state->nsecttl = soa.minimum;
+ dns_rdataset_disassociate(&rdataset);
+ dns_db_detachnode(db, &node);
- /* Don't sign RRSIGs. */
- if (type == dns_rdatatype_rrsig)
- goto skip;
+ /*
+ * Find all RRsets directly affected by the update, and
+ * update their RRSIGs. Also build a list of names affected
+ * by the update in "diffnames".
+ */
+ CHECK(dns_diff_sort(diff, temp_order));
+ state->state = sign_updates;
+ state->magic = STATE_MAGIC;
+ if (statep != NULL)
+ *statep = state;
+ } else {
+ REQUIRE(DNS_STATE_VALID(*statep));
+ state = *statep;
+ }
+ next_state:
+ switch (state->state) {
+ case sign_updates:
+ t = ISC_LIST_HEAD(diff->tuples);
+ while (t != NULL) {
+ dns_name_t *name = &t->name;
/*
- * Delete all old RRSIGs covering this type, since they
- * are all invalid when the signed RRset has changed.
- * We may not be able to recreate all of them - tough.
- * Special case changes to the zone's DNSKEY records
- * to support offline KSKs.
+ * Now "name" is a new, unique name affected by the
+ * update.
*/
- if (type == dns_rdatatype_dnskey)
- del_keysigs(db, newver, name, &sig_diff,
- zone_keys, nkeys);
- else
- CHECK(delete_if(true_p, db, newver, name,
- dns_rdatatype_rrsig, type,
- NULL, &sig_diff));
- /*
- * If this RRset is still visible after the update,
- * add a new signature for it.
- */
- CHECK(rrset_visible(db, newver, name, type, &flag));
- if (flag) {
- CHECK(add_sigs(log, zone, db, newver, name,
- type, &sig_diff, zone_keys,
- nkeys, inception, expire,
- check_ksk, keyset_kskonly));
- }
- skip:
- /* Skip any other updates to the same RRset. */
- while (t != NULL &&
- dns_name_equal(&t->name, name) &&
- t->rdata.type == type)
- {
- t = ISC_LIST_NEXT(t, link);
+ CHECK(namelist_append_name(&state->diffnames, name));
+
+ while (t != NULL && dns_name_equal(&t->name, name)) {
+ dns_rdatatype_t type;
+ type = t->rdata.type;
+
+ /*
+ * Now "name" and "type" denote a new unique
+ * RRset affected by the update.
+ */
+
+ /* Don't sign RRSIGs. */
+ if (type == dns_rdatatype_rrsig)
+ goto skip;
+
+ /*
+ * Delete all old RRSIGs covering this type,
+ * since they are all invalid when the signed
+ * RRset has changed. We may not be able to
+ * recreate all of them - tough.
+ * Special case changes to the zone's DNSKEY
+ * records to support offline KSKs.
+ */
+ if (type == dns_rdatatype_dnskey)
+ del_keysigs(db, newver, name,
+ &state->sig_diff,
+ state->zone_keys,
+ state->nkeys);
+ else
+ CHECK(delete_if(true_p, db, newver,
+ name,
+ dns_rdatatype_rrsig,
+ type, NULL,
+ &state->sig_diff));
+
+ /*
+ * If this RRset is still visible after the
+ * update, add a new signature for it.
+ */
+ CHECK(rrset_visible(db, newver, name, type,
+ &flag));
+ if (flag) {
+ CHECK(add_sigs(log, zone, db, newver,
+ name, type,
+ &state->sig_diff,
+ state->zone_keys,
+ state->nkeys,
+ state->inception,
+ state->expire,
+ state->check_ksk,
+ state->keyset_kskonly));
+ sigs++;
+ }
+ skip:
+ /* Skip any other updates to the same RRset. */
+ while (t != NULL &&
+ dns_name_equal(&t->name, name) &&
+ t->rdata.type == type)
+ {
+ next = ISC_LIST_NEXT(t, link);
+ ISC_LIST_UNLINK(diff->tuples, t, link);
+ ISC_LIST_APPEND(state->work.tuples, t,
+ link);
+ t = next;
+ }
}
+ if (state != &mystate && sigs > maxsigs)
+ return (DNS_R_CONTINUE);
}
- }
- update_log(log, zone, ISC_LOG_DEBUG(3), "updated data signatures");
+ ISC_LIST_APPENDLIST(diff->tuples, state->work.tuples, link);
- /* Remove orphaned NSECs and RRSIG NSECs. */
- for (t = ISC_LIST_HEAD(diffnames.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link))
- {
- CHECK(non_nsec_rrset_exists(db, newver, &t->name, &flag));
- if (! flag) {
- CHECK(delete_if(true_p, db, newver, &t->name,
- dns_rdatatype_any, 0,
- NULL, &sig_diff));
+ update_log(log, zone, ISC_LOG_DEBUG(3),
+ "updated data signatures");
+ /*FALLTHROUGH*/
+ case remove_orphaned:
+ state->state = remove_orphaned;
+
+ /* Remove orphaned NSECs and RRSIG NSECs. */
+ for (t = ISC_LIST_HEAD(state->diffnames.tuples);
+ t != NULL;
+ t = ISC_LIST_NEXT(t, link))
+ {
+ CHECK(non_nsec_rrset_exists(db, newver,
+ &t->name, &flag));
+ if (!flag) {
+ CHECK(delete_if(true_p, db, newver, &t->name,
+ dns_rdatatype_any, 0,
+ NULL, &state->sig_diff));
+ }
}
- }
- update_log(log, zone, ISC_LOG_DEBUG(3),
- "removed any orphaned NSEC records");
-
- /*
- * See if we need to build NSEC or NSEC3 chains.
- */
- CHECK(dns_private_chains(db, newver, privatetype, &build_nsec,
- &build_nsec3));
- if (!build_nsec)
- goto update_nsec3;
-
- update_log(log, zone, ISC_LOG_DEBUG(3), "rebuilding NSEC chain");
-
- /*
- * When a name is created or deleted, its predecessor needs to
- * have its NSEC updated.
- */
- for (t = ISC_LIST_HEAD(diffnames.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link))
- {
- isc_boolean_t existed, exists;
- dns_fixedname_t fixedname;
- dns_name_t *prevname;
-
- dns_fixedname_init(&fixedname);
- prevname = dns_fixedname_name(&fixedname);
-
- if (oldver != NULL)
- CHECK(name_exists(db, oldver, &t->name, &existed));
- else
- existed = ISC_FALSE;
- CHECK(name_exists(db, newver, &t->name, &exists));
- if (exists == existed)
- continue;
+ update_log(log, zone, ISC_LOG_DEBUG(3),
+ "removed any orphaned NSEC records");
/*
- * Find the predecessor.
- * When names become obscured or unobscured in this update
- * transaction, we may find the wrong predecessor because
- * the NSECs have not yet been updated to reflect the delegation
- * change. This should not matter because in this case,
- * the correct predecessor is either the delegation node or
- * a newly unobscured node, and those nodes are on the
- * "affected" list in any case.
+ * See if we need to build NSEC or NSEC3 chains.
*/
- CHECK(next_active(log, zone, db, newver,
- &t->name, prevname, ISC_FALSE));
- CHECK(namelist_append_name(&affected, prevname));
- }
+ CHECK(dns_private_chains(db, newver, privatetype, &build_nsec,
+ &build_nsec3));
+ if (!build_nsec) {
+ state->state = update_nsec3;
+ goto next_state;
+ }
- /*
- * Find names potentially affected by delegation changes
- * (obscured by adding an NS or DNAME, or unobscured by
- * removing one).
- */
- for (t = ISC_LIST_HEAD(diffnames.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link))
- {
- isc_boolean_t ns_existed, dname_existed;
- isc_boolean_t ns_exists, dname_exists;
+ update_log(log, zone, ISC_LOG_DEBUG(3),
+ "rebuilding NSEC chain");
- if (oldver != NULL)
- CHECK(rrset_exists(db, oldver, &t->name,
- dns_rdatatype_ns, 0, &ns_existed));
- else
- ns_existed = ISC_FALSE;
- if (oldver != NULL)
- CHECK(rrset_exists(db, oldver, &t->name,
- dns_rdatatype_dname, 0,
- &dname_existed));
- else
- dname_existed = ISC_FALSE;
- CHECK(rrset_exists(db, newver, &t->name, dns_rdatatype_ns, 0,
- &ns_exists));
- CHECK(rrset_exists(db, newver, &t->name, dns_rdatatype_dname, 0,
- &dname_exists));
- if ((ns_exists || dname_exists) == (ns_existed || dname_existed))
- continue;
+ /*FALLTHROUGH*/
+ case build_chain:
+ state->state = build_chain;
/*
- * There was a delegation change. Mark all subdomains
- * of t->name as potentially needing a NSEC update.
+ * When a name is created or deleted, its predecessor needs to
+ * have its NSEC updated.
*/
- CHECK(namelist_append_subdomain(db, &t->name, &affected));
- }
-
- ISC_LIST_APPENDLIST(affected.tuples, diffnames.tuples, link);
- INSIST(ISC_LIST_EMPTY(diffnames.tuples));
-
- CHECK(uniqify_name_list(&affected));
-
- /*
- * Determine which names should have NSECs, and delete/create
- * NSECs to make it so. We don't know the final NSEC targets yet,
- * so we just create placeholder NSECs with arbitrary contents
- * to indicate that their respective owner names should be part of
- * the NSEC chain.
- */
- for (t = ISC_LIST_HEAD(affected.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link))
- {
- isc_boolean_t exists;
- dns_name_t *name = &t->name;
+ for (t = ISC_LIST_HEAD(state->diffnames.tuples);
+ t != NULL;
+ t = ISC_LIST_NEXT(t, link))
+ {
+ isc_boolean_t existed, exists;
+ dns_fixedname_t fixedname;
+ dns_name_t *prevname;
+
+ dns_fixedname_init(&fixedname);
+ prevname = dns_fixedname_name(&fixedname);
+
+ if (oldver != NULL)
+ CHECK(name_exists(db, oldver, &t->name,
+ &existed));
+ else
+ existed = ISC_FALSE;
+ CHECK(name_exists(db, newver, &t->name, &exists));
+ if (exists == existed)
+ continue;
- CHECK(name_exists(db, newver, name, &exists));
- if (! exists)
- continue;
- CHECK(is_active(db, newver, name, &flag, &cut, NULL));
- if (!flag) {
/*
- * This name is obscured. Delete any
- * existing NSEC record.
+ * Find the predecessor.
+ * When names become obscured or unobscured in this
+ * update transaction, we may find the wrong
+ * predecessor because the NSECs have not yet been
+ * updated to reflect the delegation change. This
+ * should not matter because in this case, the correct
+ * predecessor is either the delegation node or a
+ * newly unobscured node, and those nodes are on the
+ * "affected" list in any case.
*/
- CHECK(delete_if(true_p, db, newver, name,
- dns_rdatatype_nsec, 0,
- NULL, &nsec_diff));
- CHECK(delete_if(rrsig_p, db, newver, name,
- dns_rdatatype_any, 0, NULL, diff));
- } else {
- /*
- * This name is not obscured. It needs to have a
- * NSEC unless it is the at the origin, in which
- * case it should already exist if there is a complete
- * NSEC chain and if there isn't a complete NSEC chain
- * we don't want to add one as that would signal that
- * there is a complete NSEC chain.
- */
- if (!dns_name_equal(name, dns_db_origin(db))) {
- CHECK(rrset_exists(db, newver, name,
- dns_rdatatype_nsec, 0,
- &flag));
- if (!flag)
- CHECK(add_placeholder_nsec(db, newver,
- name, diff));
- }
- CHECK(add_exposed_sigs(log, zone, db, newver, name,
- cut, &sig_diff, zone_keys, nkeys,
- inception, expire, check_ksk,
- keyset_kskonly));
+ CHECK(next_active(log, zone, db, newver,
+ &t->name, prevname, ISC_FALSE));
+ CHECK(namelist_append_name(&state->affected, prevname));
}
- }
- /*
- * Now we know which names are part of the NSEC chain.
- * Make them all point at their correct targets.
- */
- for (t = ISC_LIST_HEAD(affected.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link))
- {
- CHECK(rrset_exists(db, newver, &t->name,
- dns_rdatatype_nsec, 0, &flag));
- if (flag) {
+ /*
+ * Find names potentially affected by delegation changes
+ * (obscured by adding an NS or DNAME, or unobscured by
+ * removing one).
+ */
+ for (t = ISC_LIST_HEAD(state->diffnames.tuples);
+ t != NULL;
+ t = ISC_LIST_NEXT(t, link))
+ {
+ isc_boolean_t ns_existed, dname_existed;
+ isc_boolean_t ns_exists, dname_exists;
+
+ if (oldver != NULL)
+ CHECK(rrset_exists(db, oldver, &t->name,
+ dns_rdatatype_ns, 0,
+ &ns_existed));
+ else
+ ns_existed = ISC_FALSE;
+ if (oldver != NULL)
+ CHECK(rrset_exists(db, oldver, &t->name,
+ dns_rdatatype_dname, 0,
+ &dname_existed));
+ else
+ dname_existed = ISC_FALSE;
+ CHECK(rrset_exists(db, newver, &t->name,
+ dns_rdatatype_ns, 0, &ns_exists));
+ CHECK(rrset_exists(db, newver, &t->name,
+ dns_rdatatype_dname, 0,
+ &dname_exists));
+ if ((ns_exists || dname_exists) ==
+ (ns_existed || dname_existed))
+ continue;
/*
- * There is a NSEC, but we don't know if it is correct.
- * Delete it and create a correct one to be sure.
- * If the update was unnecessary, the diff minimization
- * will take care of eliminating it from the journal,
- * IXFRs, etc.
- *
- * The RRSIG bit should always be set in the NSECs
- * we generate, because they will all get RRSIG NSECs.
- * (XXX what if the zone keys are missing?).
- * Because the RRSIG NSECs have not necessarily been
- * created yet, the correctness of the bit mask relies
- * on the assumption that NSECs are only created if
- * there is other data, and if there is other data,
- * there are other RRSIGs.
+ * There was a delegation change. Mark all subdomains
+ * of t->name as potentially needing a NSEC update.
*/
- CHECK(add_nsec(log, zone, db, newver, &t->name,
- nsecttl, &nsec_diff));
+ CHECK(namelist_append_subdomain(db, &t->name,
+ &state->affected));
}
- }
+ ISC_LIST_APPENDLIST(state->affected.tuples,
+ state->diffnames.tuples, link);
+ INSIST(ISC_LIST_EMPTY(state->diffnames.tuples));
- /*
- * Minimize the set of NSEC updates so that we don't
- * have to regenerate the RRSIG NSECs for NSECs that were
- * replaced with identical ones.
- */
- while ((t = ISC_LIST_HEAD(nsec_diff.tuples)) != NULL) {
- ISC_LIST_UNLINK(nsec_diff.tuples, t, link);
- dns_diff_appendminimal(&nsec_mindiff, &t);
- }
+ CHECK(uniqify_name_list(&state->affected));
- update_log(log, zone, ISC_LOG_DEBUG(3), "signing rebuilt NSEC chain");
+ /*FALLTHROUGH*/
+ case process_nsec:
+ state->state = process_nsec;
- /* Update RRSIG NSECs. */
- for (t = ISC_LIST_HEAD(nsec_mindiff.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link))
- {
- if (t->op == DNS_DIFFOP_DEL) {
- CHECK(delete_if(true_p, db, newver, &t->name,
- dns_rdatatype_rrsig, dns_rdatatype_nsec,
- NULL, &sig_diff));
- } else if (t->op == DNS_DIFFOP_ADD) {
- CHECK(add_sigs(log, zone, db, newver, &t->name,
- dns_rdatatype_nsec, &sig_diff,
- zone_keys, nkeys, inception, expire,
- check_ksk, keyset_kskonly));
- } else {
- INSIST(0);
+ /*
+ * Determine which names should have NSECs, and delete/create
+ * NSECs to make it so. We don't know the final NSEC targets
+ * yet, so we just create placeholder NSECs with arbitrary
+ * contents to indicate that their respective owner names
+ * should be part of the NSEC chain.
+ */
+ while ((t = ISC_LIST_HEAD(state->affected.tuples)) != NULL) {
+ isc_boolean_t exists;
+ dns_name_t *name = &t->name;
+
+ CHECK(name_exists(db, newver, name, &exists));
+ if (! exists)
+ goto unlink;
+ CHECK(is_active(db, newver, name, &flag, &cut, NULL));
+ if (!flag) {
+ /*
+ * This name is obscured. Delete any
+ * existing NSEC record.
+ */
+ CHECK(delete_if(true_p, db, newver, name,
+ dns_rdatatype_nsec, 0,
+ NULL, &state->nsec_diff));
+ CHECK(delete_if(rrsig_p, db, newver, name,
+ dns_rdatatype_any, 0, NULL,
+ diff));
+ } else {
+ /*
+ * This name is not obscured. It needs to have
+ * a NSEC unless it is the at the origin, in
+ * which case it should already exist if there
+ * is a complete NSEC chain and if there isn't
+ * a complete NSEC chain we don't want to add
+ * one as that would signal that there is a
+ * complete NSEC chain.
+ */
+ if (!dns_name_equal(name, dns_db_origin(db))) {
+ CHECK(rrset_exists(db, newver, name,
+ dns_rdatatype_nsec,
+ 0, &flag));
+ if (!flag)
+ CHECK(add_placeholder_nsec(db,
+ newver, name, diff));
+ }
+ CHECK(add_exposed_sigs(log, zone, db, newver,
+ name, cut,
+ &state->sig_diff,
+ state->zone_keys,
+ state->nkeys,
+ state->inception,
+ state->expire,
+ state->check_ksk,
+ state->keyset_kskonly,
+ &sigs));
+ }
+ unlink:
+ ISC_LIST_UNLINK(state->affected.tuples, t, link);
+ ISC_LIST_APPEND(state->work.tuples, t, link);
+ if (state != &mystate && sigs > maxsigs)
+ return (DNS_R_CONTINUE);
}
- }
+ ISC_LIST_APPENDLIST(state->affected.tuples,
+ state->work.tuples, link);
- update_nsec3:
-
- /* Record our changes for the journal. */
- while ((t = ISC_LIST_HEAD(sig_diff.tuples)) != NULL) {
- ISC_LIST_UNLINK(sig_diff.tuples, t, link);
- dns_diff_appendminimal(diff, &t);
- }
- while ((t = ISC_LIST_HEAD(nsec_mindiff.tuples)) != NULL) {
- ISC_LIST_UNLINK(nsec_mindiff.tuples, t, link);
- dns_diff_appendminimal(diff, &t);
- }
+ /*
+ * Now we know which names are part of the NSEC chain.
+ * Make them all point at their correct targets.
+ */
+ for (t = ISC_LIST_HEAD(state->affected.tuples);
+ t != NULL;
+ t = ISC_LIST_NEXT(t, link))
+ {
+ CHECK(rrset_exists(db, newver, &t->name,
+ dns_rdatatype_nsec, 0, &flag));
+ if (flag) {
+ /*
+ * There is a NSEC, but we don't know if it
+ * is correct. Delete it and create a correct
+ * one to be sure. If the update was
+ * unnecessary, the diff minimization
+ * will take care of eliminating it from the
+ * journal, IXFRs, etc.
+ *
+ * The RRSIG bit should always be set in the
+ * NSECs we generate, because they will all
+ * get RRSIG NSECs.
+ * (XXX what if the zone keys are missing?).
+ * Because the RRSIG NSECs have not necessarily
+ * been created yet, the correctness of the
+ * bit mask relies on the assumption that NSECs
+ * are only created if there is other data, and
+ * if there is other data, there are other
+ * RRSIGs.
+ */
+ CHECK(add_nsec(log, zone, db, newver, &t->name,
+ state->nsecttl,
+ &state->nsec_diff));
+ }
+ }
- INSIST(ISC_LIST_EMPTY(sig_diff.tuples));
- INSIST(ISC_LIST_EMPTY(nsec_diff.tuples));
- INSIST(ISC_LIST_EMPTY(nsec_mindiff.tuples));
+ /*
+ * Minimize the set of NSEC updates so that we don't
+ * have to regenerate the RRSIG NSECs for NSECs that were
+ * replaced with identical ones.
+ */
+ while ((t = ISC_LIST_HEAD(state->nsec_diff.tuples)) != NULL) {
+ ISC_LIST_UNLINK(state->nsec_diff.tuples, t, link);
+ dns_diff_appendminimal(&state->nsec_mindiff, &t);
+ }
- if (!build_nsec3) {
update_log(log, zone, ISC_LOG_DEBUG(3),
- "no NSEC3 chains to rebuild");
- goto failure;
- }
-
- update_log(log, zone, ISC_LOG_DEBUG(3), "rebuilding NSEC3 chains");
-
- dns_diff_clear(&diffnames);
- dns_diff_clear(&affected);
+ "signing rebuilt NSEC chain");
+
+ /*FALLTHROUGH*/
+ case sign_nsec:
+ state->state = sign_nsec;
+ /* Update RRSIG NSECs. */
+ while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
+ {
+ if (t->op == DNS_DIFFOP_DEL) {
+ CHECK(delete_if(true_p, db, newver, &t->name,
+ dns_rdatatype_rrsig,
+ dns_rdatatype_nsec,
+ NULL, &state->sig_diff));
+ } else if (t->op == DNS_DIFFOP_ADD) {
+ CHECK(add_sigs(log, zone, db, newver, &t->name,
+ dns_rdatatype_nsec,
+ &state->sig_diff,
+ state->zone_keys, state->nkeys,
+ state->inception, state->expire,
+ state->check_ksk,
+ state->keyset_kskonly));
+ sigs++;
+ } else {
+ INSIST(0);
+ }
+ ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
+ ISC_LIST_APPEND(state->work.tuples, t, link);
+ if (state != &mystate && sigs > maxsigs)
+ return (DNS_R_CONTINUE);
+ }
+ ISC_LIST_APPENDLIST(state->nsec_mindiff.tuples,
+ state->work.tuples, link);
+ /*FALLTHROUGH*/
+ case update_nsec3:
+ state->state = update_nsec3;
+
+ /* Record our changes for the journal. */
+ while ((t = ISC_LIST_HEAD(state->sig_diff.tuples)) != NULL) {
+ ISC_LIST_UNLINK(state->sig_diff.tuples, t, link);
+ dns_diff_appendminimal(diff, &t);
+ }
+ while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
+ {
+ ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
+ dns_diff_appendminimal(diff, &t);
+ }
- CHECK(dns_diff_sort(diff, temp_order));
+ INSIST(ISC_LIST_EMPTY(state->sig_diff.tuples));
+ INSIST(ISC_LIST_EMPTY(state->nsec_diff.tuples));
+ INSIST(ISC_LIST_EMPTY(state->nsec_mindiff.tuples));
- /*
- * Find names potentially affected by delegation changes
- * (obscured by adding an NS or DNAME, or unobscured by
- * removing one).
- */
- t = ISC_LIST_HEAD(diff->tuples);
- while (t != NULL) {
- dns_name_t *name = &t->name;
+ if (!build_nsec3) {
+ update_log(log, zone, ISC_LOG_DEBUG(3),
+ "no NSEC3 chains to rebuild");
+ goto failure;
+ }
- isc_boolean_t ns_existed, dname_existed;
- isc_boolean_t ns_exists, dname_exists;
- isc_boolean_t exists, existed;
+ update_log(log, zone, ISC_LOG_DEBUG(3),
+ "rebuilding NSEC3 chains");
- if (t->rdata.type == dns_rdatatype_nsec ||
- t->rdata.type == dns_rdatatype_rrsig) {
- t = ISC_LIST_NEXT(t, link);
- continue;
- }
+ dns_diff_clear(&state->diffnames);
+ dns_diff_clear(&state->affected);
- CHECK(namelist_append_name(&affected, name));
+ CHECK(dns_diff_sort(diff, temp_order));
- if (oldver != NULL)
- CHECK(rrset_exists(db, oldver, name, dns_rdatatype_ns,
- 0, &ns_existed));
- else
- ns_existed = ISC_FALSE;
- if (oldver != NULL)
- CHECK(rrset_exists(db, oldver, name,
- dns_rdatatype_dname, 0,
- &dname_existed));
- else
- dname_existed = ISC_FALSE;
- CHECK(rrset_exists(db, newver, name, dns_rdatatype_ns, 0,
- &ns_exists));
- CHECK(rrset_exists(db, newver, name, dns_rdatatype_dname, 0,
- &dname_exists));
-
- exists = ns_exists || dname_exists;
- existed = ns_existed || dname_existed;
- if (exists == existed)
- goto nextname;
/*
- * There was a delegation change. Mark all subdomains
- * of t->name as potentially needing a NSEC3 update.
+ * Find names potentially affected by delegation changes
+ * (obscured by adding an NS or DNAME, or unobscured by
+ * removing one).
*/
- CHECK(namelist_append_subdomain(db, name, &affected));
+ t = ISC_LIST_HEAD(diff->tuples);
+ while (t != NULL) {
+ dns_name_t *name = &t->name;
- nextname:
- while (t != NULL && dns_name_equal(&t->name, name))
- t = ISC_LIST_NEXT(t, link);
- }
+ isc_boolean_t ns_existed, dname_existed;
+ isc_boolean_t ns_exists, dname_exists;
+ isc_boolean_t exists, existed;
- for (t = ISC_LIST_HEAD(affected.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link)) {
- dns_name_t *name = &t->name;
+ if (t->rdata.type == dns_rdatatype_nsec ||
+ t->rdata.type == dns_rdatatype_rrsig) {
+ t = ISC_LIST_NEXT(t, link);
+ continue;
+ }
- unsecure = ISC_FALSE; /* Silence compiler warning. */
- CHECK(is_active(db, newver, name, &flag, &cut, &unsecure));
+ CHECK(namelist_append_name(&state->affected, name));
- if (!flag) {
- CHECK(delete_if(rrsig_p, db, newver, name,
- dns_rdatatype_any, 0, NULL, diff));
- CHECK(dns_nsec3_delnsec3sx(db, newver, name,
- privatetype, &nsec_diff));
- } else {
- CHECK(add_exposed_sigs(log, zone, db, newver, name,
- cut, &sig_diff, zone_keys, nkeys,
- inception, expire, check_ksk,
- keyset_kskonly));
- CHECK(dns_nsec3_addnsec3sx(db, newver, name, nsecttl,
- unsecure, privatetype,
- &nsec_diff));
+ if (oldver != NULL)
+ CHECK(rrset_exists(db, oldver, name,
+ dns_rdatatype_ns,
+ 0, &ns_existed));
+ else
+ ns_existed = ISC_FALSE;
+ if (oldver != NULL)
+ CHECK(rrset_exists(db, oldver, name,
+ dns_rdatatype_dname, 0,
+ &dname_existed));
+ else
+ dname_existed = ISC_FALSE;
+ CHECK(rrset_exists(db, newver, name, dns_rdatatype_ns,
+ 0, &ns_exists));
+ CHECK(rrset_exists(db, newver, name,
+ dns_rdatatype_dname, 0,
+ &dname_exists));
+
+ exists = ns_exists || dname_exists;
+ existed = ns_existed || dname_existed;
+ if (exists == existed)
+ goto nextname;
+ /*
+ * There was a delegation change. Mark all subdomains
+ * of t->name as potentially needing a NSEC3 update.
+ */
+ CHECK(namelist_append_subdomain(db, name,
+ &state->affected));
+
+ nextname:
+ while (t != NULL && dns_name_equal(&t->name, name))
+ t = ISC_LIST_NEXT(t, link);
}
- }
- /*
- * Minimize the set of NSEC3 updates so that we don't
- * have to regenerate the RRSIG NSEC3s for NSEC3s that were
- * replaced with identical ones.
- */
- while ((t = ISC_LIST_HEAD(nsec_diff.tuples)) != NULL) {
- ISC_LIST_UNLINK(nsec_diff.tuples, t, link);
- dns_diff_appendminimal(&nsec_mindiff, &t);
- }
+ /*FALLTHROUGH*/
+ case process_nsec3:
+ state->state = process_nsec3;
+ while ((t = ISC_LIST_HEAD(state->affected.tuples)) != NULL) {
+ dns_name_t *name = &t->name;
+
+ unsecure = ISC_FALSE; /* Silence compiler warning. */
+ CHECK(is_active(db, newver, name, &flag, &cut,
+ &unsecure));
+
+ if (!flag) {
+ CHECK(delete_if(rrsig_p, db, newver, name,
+ dns_rdatatype_any, 0, NULL,
+ diff));
+ CHECK(dns_nsec3_delnsec3sx(db, newver, name,
+ privatetype,
+ &state->nsec_diff));
+ } else {
+ CHECK(add_exposed_sigs(log, zone, db, newver,
+ name, cut,
+ &state->sig_diff,
+ state->zone_keys,
+ state->nkeys,
+ state->inception,
+ state->expire,
+ state->check_ksk,
+ state->keyset_kskonly,
+ &sigs));
+ CHECK(dns_nsec3_addnsec3sx(db, newver, name,
+ state->nsecttl,
+ unsecure,
+ privatetype,
+ &state->nsec_diff));
+ }
+ ISC_LIST_UNLINK(state->affected.tuples, t, link);
+ ISC_LIST_APPEND(state->work.tuples, t, link);
+ if (state != &mystate && sigs > maxsigs)
+ return (DNS_R_CONTINUE);
+ }
+ ISC_LIST_APPENDLIST(state->affected.tuples,
+ state->work.tuples, link);
- update_log(log, zone, ISC_LOG_DEBUG(3),
- "signing rebuilt NSEC3 chain");
+ /*
+ * Minimize the set of NSEC3 updates so that we don't
+ * have to regenerate the RRSIG NSEC3s for NSEC3s that were
+ * replaced with identical ones.
+ */
+ while ((t = ISC_LIST_HEAD(state->nsec_diff.tuples)) != NULL) {
+ ISC_LIST_UNLINK(state->nsec_diff.tuples, t, link);
+ dns_diff_appendminimal(&state->nsec_mindiff, &t);
+ }
- /* Update RRSIG NSEC3s. */
- for (t = ISC_LIST_HEAD(nsec_mindiff.tuples);
- t != NULL;
- t = ISC_LIST_NEXT(t, link))
- {
- if (t->op == DNS_DIFFOP_DEL) {
- CHECK(delete_if(true_p, db, newver, &t->name,
- dns_rdatatype_rrsig,
- dns_rdatatype_nsec3,
- NULL, &sig_diff));
- } else if (t->op == DNS_DIFFOP_ADD) {
- CHECK(add_sigs(log, zone, db, newver, &t->name,
- dns_rdatatype_nsec3,
- &sig_diff, zone_keys, nkeys,
- inception, expire, check_ksk,
- keyset_kskonly));
- } else {
- INSIST(0);
+ update_log(log, zone, ISC_LOG_DEBUG(3),
+ "signing rebuilt NSEC3 chain");
+
+ /*FALLTHROUGH*/
+ case sign_nsec3:
+ state->state = sign_nsec3;
+ /* Update RRSIG NSEC3s. */
+ while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
+ {
+ if (t->op == DNS_DIFFOP_DEL) {
+ CHECK(delete_if(true_p, db, newver, &t->name,
+ dns_rdatatype_rrsig,
+ dns_rdatatype_nsec3,
+ NULL, &state->sig_diff));
+ } else if (t->op == DNS_DIFFOP_ADD) {
+ CHECK(add_sigs(log, zone, db, newver, &t->name,
+ dns_rdatatype_nsec3,
+ &state->sig_diff,
+ state->zone_keys,
+ state->nkeys, state->inception,
+ state->expire, state->check_ksk,
+ state->keyset_kskonly));
+ sigs++;
+ } else {
+ INSIST(0);
+ }
+ ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
+ ISC_LIST_APPEND(state->work.tuples, t, link);
+ if (state != &mystate && sigs > maxsigs)
+ return (DNS_R_CONTINUE);
}
- }
+ ISC_LIST_APPENDLIST(state->nsec_mindiff.tuples,
+ state->work.tuples, link);
- /* Record our changes for the journal. */
- while ((t = ISC_LIST_HEAD(sig_diff.tuples)) != NULL) {
- ISC_LIST_UNLINK(sig_diff.tuples, t, link);
- dns_diff_appendminimal(diff, &t);
- }
- while ((t = ISC_LIST_HEAD(nsec_mindiff.tuples)) != NULL) {
- ISC_LIST_UNLINK(nsec_mindiff.tuples, t, link);
- dns_diff_appendminimal(diff, &t);
- }
+ /* Record our changes for the journal. */
+ while ((t = ISC_LIST_HEAD(state->sig_diff.tuples)) != NULL) {
+ ISC_LIST_UNLINK(state->sig_diff.tuples, t, link);
+ dns_diff_appendminimal(diff, &t);
+ }
+ while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
+ {
+ ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
+ dns_diff_appendminimal(diff, &t);
+ }
- INSIST(ISC_LIST_EMPTY(sig_diff.tuples));
- INSIST(ISC_LIST_EMPTY(nsec_diff.tuples));
- INSIST(ISC_LIST_EMPTY(nsec_mindiff.tuples));
+ INSIST(ISC_LIST_EMPTY(state->sig_diff.tuples));
+ INSIST(ISC_LIST_EMPTY(state->nsec_diff.tuples));
+ INSIST(ISC_LIST_EMPTY(state->nsec_mindiff.tuples));
+ break;
+ default:
+ INSIST(0);
+ }
failure:
- dns_diff_clear(&sig_diff);
- dns_diff_clear(&nsec_diff);
- dns_diff_clear(&nsec_mindiff);
+ dns_diff_clear(&state->sig_diff);
+ dns_diff_clear(&state->nsec_diff);
+ dns_diff_clear(&state->nsec_mindiff);
+
+ dns_diff_clear(&state->affected);
+ dns_diff_clear(&state->diffnames);
+ dns_diff_clear(&state->work);
- dns_diff_clear(&affected);
- dns_diff_clear(&diffnames);
+ for (i = 0; i < state->nkeys; i++)
+ dst_key_free(&state->zone_keys[i]);
- for (i = 0; i < nkeys; i++)
- dst_key_free(&zone_keys[i]);
+ if (state != &mystate && state != NULL) {
+ *statep = NULL;
+ state->magic = 0;
+ isc_mem_put(diff->mctx, state, sizeof(*state));
+ }
return (result);
}
diff --git a/lib/dns/view.c b/lib/dns/view.c
index 3730593b9e37..da1136c075ac 100644
--- a/lib/dns/view.c
+++ b/lib/dns/view.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 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,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
/*! \file */
#include <config.h>
@@ -688,7 +686,8 @@ req_shutdown(isc_task_t *task, isc_event_t *event) {
isc_result_t
dns_view_createresolver(dns_view_t *view,
isc_taskmgr_t *taskmgr,
- unsigned int ntasks, unsigned int ndisp,
+ unsigned int ntasks,
+ unsigned int ndisp,
isc_socketmgr_t *socketmgr,
isc_timermgr_t *timermgr,
unsigned int options,
@@ -1322,10 +1321,16 @@ dns_view_findzonecut2(dns_view_t *view, dns_name_t *name, dns_name_t *fname,
result = dns_db_findzonecut(db, name, options, now, NULL,
fname, rdataset, sigrdataset);
if (result == ISC_R_SUCCESS) {
+#ifdef BIND9
if (zfname != NULL &&
(!dns_name_issubdomain(fname, zfname) ||
- (dns_zone_staticstub &&
- dns_name_equal(fname, zfname)))) {
+ (dns_zone_gettype(zone) == dns_zone_staticstub &&
+ dns_name_equal(fname, zfname))))
+#else
+ if (zfname != NULL &&
+ !dns_name_issubdomain(fname, zfname))
+#endif
+ {
/*
* We found a zonecut in the cache, but our
* zone delegation is better.
diff --git a/lib/dns/xfrin.c b/lib/dns/xfrin.c
index 30f2f3b347f4..a5e4bf874219 100644
--- a/lib/dns/xfrin.c
+++ b/lib/dns/xfrin.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2008, 2011-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008, 2011-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -107,6 +107,7 @@ struct dns_xfrin_ctx {
int sends; /*%< Send in progress */
int recvs; /*%< Receive in progress */
isc_boolean_t shuttingdown;
+ isc_result_t shutdown_result;
dns_name_t name; /*%< Name of zone to transfer */
dns_rdataclass_t rdclass;
@@ -657,7 +658,8 @@ dns_xfrin_create2(dns_zone_t *zone, dns_rdatatype_t xfrtype,
CHECK(xfrin_start(xfr));
xfr->done = done;
- xfr->refcount++;
+ if (xfr->done != NULL)
+ xfr->refcount++;
*xfrp = xfr;
failure:
@@ -762,6 +764,7 @@ xfrin_fail(dns_xfrin_ctx_t *xfr, isc_result_t result, const char *msg) {
xfr->done = NULL;
}
xfr->shuttingdown = ISC_TRUE;
+ xfr->shutdown_result = result;
maybe_free(xfr);
}
@@ -802,6 +805,7 @@ xfrin_create(isc_mem_t *mctx,
xfr->sends = 0;
xfr->recvs = 0;
xfr->shuttingdown = ISC_FALSE;
+ xfr->shutdown_result = ISC_R_UNSET;
dns_name_init(&xfr->name, NULL);
xfr->rdclass = rdclass;
@@ -1365,6 +1369,7 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) {
* point, thus maybe_free() should succeed.
*/
xfr->shuttingdown = ISC_TRUE;
+ xfr->shutdown_result = ISC_R_SUCCESS;
maybe_free(xfr);
break;
default:
@@ -1403,6 +1408,7 @@ static void
maybe_free(dns_xfrin_ctx_t *xfr) {
isc_uint64_t msecs;
isc_uint64_t persec;
+ const char *result_str;
REQUIRE(VALID_XFRIN(xfr));
@@ -1411,6 +1417,16 @@ maybe_free(dns_xfrin_ctx_t *xfr) {
xfr->recvs != 0)
return;
+ INSIST(! xfr->shuttingdown || xfr->shutdown_result != ISC_R_UNSET);
+
+ /* If we're called through dns_xfrin_detach() and are not
+ * shutting down, we can't know what the transfer status is as
+ * we are only called when the last reference is lost.
+ */
+ result_str = (xfr->shuttingdown ?
+ isc_result_totext(xfr->shutdown_result) : "unknown");
+ xfrin_log(xfr, ISC_LOG_INFO, "Transfer status: %s", result_str);
+
/*
* Calculate the length of time the transfer took,
* and print a log message with the bytes and rate.
diff --git a/lib/dns/zone.c b/lib/dns/zone.c
index fbaeab14c699..d334bebc436c 100644
--- a/lib/dns/zone.c
+++ b/lib/dns/zone.c
@@ -46,6 +46,7 @@
#include <dns/db.h>
#include <dns/dbiterator.h>
#include <dns/dnssec.h>
+#include <dns/ds.h>
#include <dns/events.h>
#include <dns/journal.h>
#include <dns/keydata.h>
@@ -379,6 +380,23 @@ struct dns_zone {
isc_boolean_t sourceserialset;
isc_uint32_t sourceserial;
+
+ /*%
+ * maximum zone ttl
+ */
+ dns_ttl_t maxttl;
+
+ /*
+ * Inline zone signing state.
+ */
+ dns_diff_t rss_diff;
+ isc_eventlist_t rss_events;
+ dns_dbversion_t *rss_newver;
+ dns_dbversion_t *rss_oldver;
+ dns_db_t *rss_db;
+ dns_zone_t *rss_raw;
+ isc_event_t *rss_event;
+ dns_update_state_t *rss_state;
};
typedef struct {
@@ -667,9 +685,8 @@ struct dns_asyncload {
* RFC 5011.
*/
unsigned int dns_zone_mkey_hour = HOUR;
-unsigned int dns_zone_mkey_day = (24 * HOUR);
-unsigned int dns_zone_mkey_month = (30 * DAY);
-
+unsigned int dns_zone_mkey_day = DAY;
+unsigned int dns_zone_mkey_month = MONTH;
#define SEND_BUFFER_SIZE 2048
@@ -968,6 +985,14 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) {
zone->secure = NULL;
zone->sourceserial = 0;
zone->sourceserialset = ISC_FALSE;
+ ISC_LIST_INIT(zone->rss_events);
+ zone->rss_db = NULL;
+ zone->rss_raw = NULL;
+ zone->rss_newver = NULL;
+ zone->rss_oldver = NULL;
+ zone->rss_event = NULL;
+ zone->rss_state = NULL;
+ zone->updatemethod = dns_updatemethod_increment;
zone->magic = ZONE_MAGIC;
@@ -1591,7 +1616,7 @@ dns_zone_rpz_enable_db(dns_zone_t *zone, dns_db_t *db) {
}
static isc_result_t
-zone_load(dns_zone_t *zone, unsigned int flags) {
+zone_load(dns_zone_t *zone, unsigned int flags, isc_boolean_t locked) {
isc_result_t result;
isc_time_t now;
isc_time_t loadtime, filetime;
@@ -1600,12 +1625,14 @@ zone_load(dns_zone_t *zone, unsigned int flags) {
REQUIRE(DNS_ZONE_VALID(zone));
- LOCK_ZONE(zone);
+ if (!locked)
+ LOCK_ZONE(zone);
hasraw = inline_secure(zone);
if (hasraw) {
- result = zone_load(zone->raw, flags);
+ result = zone_load(zone->raw, flags, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
- UNLOCK_ZONE(zone);
+ if (!locked)
+ UNLOCK_ZONE(zone);
return(result);
}
LOCK_ZONE(zone->raw);
@@ -1763,7 +1790,8 @@ zone_load(dns_zone_t *zone, unsigned int flags) {
cleanup:
if (hasraw)
UNLOCK_ZONE(zone->raw);
- UNLOCK_ZONE(zone);
+ if (!locked)
+ UNLOCK_ZONE(zone);
if (db != NULL)
dns_db_detach(&db);
return (result);
@@ -1771,12 +1799,12 @@ zone_load(dns_zone_t *zone, unsigned int flags) {
isc_result_t
dns_zone_load(dns_zone_t *zone) {
- return (zone_load(zone, 0));
+ return (zone_load(zone, 0, ISC_FALSE));
}
isc_result_t
dns_zone_loadnew(dns_zone_t *zone) {
- return (zone_load(zone, DNS_ZONELOADFLAG_NOSTAT));
+ return (zone_load(zone, DNS_ZONELOADFLAG_NOSTAT, ISC_FALSE));
}
static void
@@ -1784,6 +1812,7 @@ zone_asyncload(isc_task_t *task, isc_event_t *event) {
dns_asyncload_t *asl = event->ev_arg;
dns_zone_t *zone = asl->zone;
isc_result_t result = ISC_R_SUCCESS;
+ isc_boolean_t load_pending;
UNUSED(task);
@@ -1792,13 +1821,21 @@ zone_asyncload(isc_task_t *task, isc_event_t *event) {
if ((event->ev_attributes & ISC_EVENTATTR_CANCELED) != 0)
result = ISC_R_CANCELED;
isc_event_free(&event);
- if (result == ISC_R_CANCELED ||
- !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING))
- goto cleanup;
- zone_load(zone, 0);
+ if (result == ISC_R_CANCELED)
+ goto cleanup;
+ /* Make sure load is still pending */
LOCK_ZONE(zone);
+ load_pending = ISC_TF(DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING));
+
+ if (!load_pending) {
+ UNLOCK_ZONE(zone);
+ goto cleanup;
+ }
+
+ zone_load(zone, 0, ISC_TRUE);
+
DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_LOADPENDING);
UNLOCK_ZONE(zone);
@@ -1822,6 +1859,10 @@ dns_zone_asyncload(dns_zone_t *zone, dns_zt_zoneloaded_t done, void *arg) {
if (zone->zmgr == NULL)
return (ISC_R_FAILURE);
+ /* If we already have a load pending, stop now */
+ if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING))
+ return (ISC_R_ALREADYRUNNING);
+
asl = isc_mem_get(zone->mctx, sizeof (*asl));
if (asl == NULL)
CHECK(ISC_R_NOMEMORY);
@@ -1863,9 +1904,10 @@ dns_zone_loadandthaw(dns_zone_t *zone) {
isc_result_t result;
if (inline_raw(zone))
- result = zone_load(zone->secure, DNS_ZONELOADFLAG_THAW);
+ result = zone_load(zone->secure, DNS_ZONELOADFLAG_THAW,
+ ISC_FALSE);
else
- result = zone_load(zone, DNS_ZONELOADFLAG_THAW);
+ result = zone_load(zone, DNS_ZONELOADFLAG_THAW, ISC_FALSE);
switch (result) {
case DNS_R_CONTINUE:
@@ -4328,10 +4370,14 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime,
zone->type == dns_zone_stub ||
zone->type == dns_zone_key ||
(zone->type == dns_zone_redirect && zone->masters != NULL)) {
- if (zone->journal != NULL)
- zone_saveunique(zone, zone->journal, "jn-XXXXXXXX");
- if (zone->masterfile != NULL)
- zone_saveunique(zone, zone->masterfile, "db-XXXXXXXX");
+ if (result != ISC_R_NOMEMORY) {
+ if (zone->journal != NULL)
+ zone_saveunique(zone, zone->journal,
+ "jn-XXXXXXXX");
+ if (zone->masterfile != NULL)
+ zone_saveunique(zone, zone->masterfile,
+ "db-XXXXXXXX");
+ }
/* Mark the zone for immediate refresh. */
zone->refreshtime = now;
@@ -6073,8 +6119,14 @@ sign_a_node(dns_db_t *db, dns_name_t *name, dns_dbnode_t *node,
if (rdataset.type == dns_rdatatype_dnskey) {
if (!is_ksk && keyset_kskonly)
goto next_rdataset;
- } else if (is_ksk)
- goto next_rdataset;
+ } else if (is_ksk) {
+ /*
+ * CDS and CDNSKEY are signed with KSK (RFC 7344, 4.1).
+ */
+ if (rdataset.type != dns_rdatatype_cds &&
+ rdataset.type != dns_rdatatype_cdnskey)
+ goto next_rdataset;
+ }
if (*delegation &&
rdataset.type != dns_rdatatype_ds &&
rdataset.type != dns_rdatatype_nsec)
@@ -8999,7 +9051,8 @@ zone_maintenance(dns_zone_t *zone) {
break;
case dns_zone_master:
if (!isc_time_isepoch(&zone->refreshkeytime) &&
- isc_time_compare(&now, &zone->refreshkeytime) >= 0)
+ isc_time_compare(&now, &zone->refreshkeytime) >= 0 &&
+ zone->rss_event == NULL)
zone_rekey(zone);
default:
break;
@@ -9012,6 +9065,8 @@ zone_maintenance(dns_zone_t *zone) {
/*
* Do we need to sign/resign some RRsets?
*/
+ if (zone->rss_event != NULL)
+ break;
if (!isc_time_isepoch(&zone->signingtime) &&
isc_time_compare(&now, &zone->signingtime) >= 0)
zone_sign(zone);
@@ -9619,8 +9674,6 @@ notify_isqueued(dns_zone_t *zone, unsigned int flags, dns_name_t *name,
notify = ISC_LIST_NEXT(notify, link)) {
if (notify->request != NULL)
continue;
- if ((flags & DNS_NOTIFY_STARTUP) == 0)
- notify->flags &= ~DNS_NOTIFY_STARTUP;
if (name != NULL && dns_name_dynamic(&notify->ns) &&
dns_name_equal(name, &notify->ns))
goto requeue;
@@ -9636,12 +9689,15 @@ requeue:
* not a startup notify, re-enqueue on the normal notify
* ratelimiter.
*/
- if (notify->event != NULL && (flags & DNS_NOTIFY_STARTUP) == 0) {
+ if (notify->event != NULL && (flags & DNS_NOTIFY_STARTUP) == 0 &&
+ (notify->flags & DNS_NOTIFY_STARTUP) != 0) {
zmgr = notify->zone->zmgr;
result = isc_ratelimiter_dequeue(zmgr->startupnotifyrl,
notify->event);
if (result != ISC_R_SUCCESS)
return (ISC_TRUE);
+
+ notify->flags &= ~DNS_NOTIFY_STARTUP;
result = isc_ratelimiter_enqueue(notify->zone->zmgr->notifyrl,
notify->zone->task,
&notify->event);
@@ -9701,9 +9757,6 @@ static void
notify_destroy(dns_notify_t *notify, isc_boolean_t locked) {
isc_mem_t *mctx;
- /*
- * Caller holds zone lock.
- */
REQUIRE(DNS_NOTIFY_VALID(notify));
if (notify->zone != NULL) {
@@ -11695,7 +11748,8 @@ zone_settimer(dns_zone_t *zone, isc_time_t *now) {
case dns_zone_slave:
treat_as_slave:
- if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDNOTIFY))
+ if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDNOTIFY) ||
+ DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDSTARTUPNOTIFY))
next = zone->notifytime;
/* FALLTHROUGH */
@@ -11890,9 +11944,7 @@ notify_createmessage(dns_zone_t *zone, unsigned int flags,
goto soa_cleanup;
temprdatalist->rdclass = rdata.rdclass;
temprdatalist->type = rdata.type;
- temprdatalist->covers = 0;
temprdatalist->ttl = rdataset.ttl;
- ISC_LIST_INIT(temprdatalist->rdata);
ISC_LIST_APPEND(temprdatalist->rdata, temprdata, link);
dns_rdataset_init(temprdataset);
@@ -12113,10 +12165,10 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from,
return (ISC_R_SUCCESS);
}
zone->notifyfrom = *from;
- local = zone->masteraddr;
- remote = zone->sourceaddr;
+ remote = zone->masteraddr;
+ local = zone->sourceaddr;
UNLOCK_ZONE(zone);
- dns_zonemgr_unreachabledel(zone->zmgr, &local, &remote);
+ dns_zonemgr_unreachabledel(zone->zmgr, &remote, &local);
dns_zone_refresh(zone);
return (ISC_R_SUCCESS);
}
@@ -12472,6 +12524,13 @@ dns_zone_name(dns_zone_t *zone, char *buf, size_t length) {
zone_namerd_tostr(zone, buf, length);
}
+void
+dns_zone_nameonly(dns_zone_t *zone, char *buf, size_t length) {
+ REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(buf != NULL);
+ zone_name_tostr(zone, buf, length);
+}
+
static void
notify_log(dns_zone_t *zone, int level, const char *fmt, ...) {
va_list ap;
@@ -12921,61 +12980,74 @@ sync_secure_db(dns_zone_t *seczone, dns_zone_t *raw, dns_db_t *secdb,
static void
receive_secure_serial(isc_task_t *task, isc_event_t *event) {
static char me[] = "receive_secure_serial";
- isc_result_t result;
+ isc_result_t result = ISC_R_SUCCESS;
dns_journal_t *rjournal = NULL;
+ dns_journal_t *sjournal = NULL;
isc_uint32_t start, end;
- dns_zone_t *zone, *raw = NULL;
- dns_db_t *db = NULL;
- dns_dbversion_t *newver = NULL, *oldver = NULL;
- dns_diff_t diff;
+ dns_zone_t *zone;
dns_difftuple_t *tuple = NULL, *soatuple = NULL;
dns_update_log_t log = { update_log_cb, NULL };
isc_time_t timenow;
+ UNUSED(task);
+
zone = event->ev_arg;
end = ((struct secure_event *)event)->serial;
- isc_event_free(&event);
ENTER;
LOCK_ZONE(zone);
- dns_diff_init(zone->mctx, &diff);
+ /*
+ * If we are already processing a receive secure serial event
+ * for the zone, just queue the new one and exit.
+ */
+ if (zone->rss_event != NULL && zone->rss_event != event) {
+ ISC_LIST_APPEND(zone->rss_events, event, ev_link);
+ UNLOCK_ZONE(zone);
+ return;
+ }
- UNUSED(task);
+ nextevent:
+ if (zone->rss_event != NULL) {
+ INSIST(zone->rss_event == event);
+ UNLOCK_ZONE(zone);
+ } else {
+ zone->rss_event = event;
+ dns_diff_init(zone->mctx, &zone->rss_diff);
- ZONEDB_LOCK(&zone->dblock, isc_rwlocktype_read);
- if (zone->db != NULL)
- dns_db_attach(zone->db, &db);
- ZONEDB_UNLOCK(&zone->dblock, isc_rwlocktype_read);
+ /*
+ * zone->db may be NULL, if the load from disk failed.
+ */
+ result = ISC_R_SUCCESS;
+ ZONEDB_LOCK(&zone->dblock, isc_rwlocktype_read);
+ if (zone->db != NULL)
+ dns_db_attach(zone->db, &zone->rss_db);
+ else
+ result = ISC_R_FAILURE;
+ ZONEDB_UNLOCK(&zone->dblock, isc_rwlocktype_read);
- if (zone->raw != NULL)
- dns_zone_attach(zone->raw, &raw);
- UNLOCK_ZONE(zone);
+ if (result == ISC_R_SUCCESS && zone->raw != NULL)
+ dns_zone_attach(zone->raw, &zone->rss_raw);
+ else
+ result = ISC_R_FAILURE;
- /*
- * zone->db may be NULL if the load from disk failed.
- */
- if (db == NULL || raw == NULL) {
- result = ISC_R_FAILURE;
- goto failure;
- }
+ UNLOCK_ZONE(zone);
- /*
- * We first attempt to sync the raw zone to the secure zone
- * by using the raw zone's journal, applying all the deltas
- * from the latest source-serial of the secure zone up to
- * the current serial number of the raw zone.
- *
- * If that fails, then we'll fall back to a direct comparison
- * between raw and secure zones.
- */
- result = dns_journal_open(raw->mctx, raw->journal,
- DNS_JOURNAL_WRITE, &rjournal);
- if (result != ISC_R_SUCCESS)
- goto failure;
- else {
- dns_journal_t *sjournal = NULL;
+ CHECK(result);
+
+ /*
+ * We first attempt to sync the raw zone to the secure zone
+ * by using the raw zone's journal, applying all the deltas
+ * from the latest source-serial of the secure zone up to
+ * the current serial number of the raw zone.
+ *
+ * If that fails, then we'll fall back to a direct comparison
+ * between raw and secure zones.
+ */
+ CHECK(dns_journal_open(zone->rss_raw->mctx,
+ zone->rss_raw->journal,
+ DNS_JOURNAL_WRITE, &rjournal));
result = dns_journal_open(zone->mctx, zone->journal,
DNS_JOURNAL_READ, &sjournal);
@@ -12989,9 +13061,9 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) {
if (sjournal != NULL) {
isc_uint32_t serial;
/*
- * We read the secure journal first, if that exists
- * use its value provided it is greater that from the
- * raw journal.
+ * We read the secure journal first, if that
+ * exists use its value provided it is greater
+ * that from the raw journal.
*/
if (dns_journal_get_sourceserial(sjournal, &serial)) {
if (isc_serial_gt(serial, start))
@@ -12999,50 +13071,78 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) {
}
dns_journal_destroy(&sjournal);
}
- }
- dns_db_currentversion(db, &oldver);
- CHECK(dns_db_newversion(db, &newver));
+ dns_db_currentversion(zone->rss_db, &zone->rss_oldver);
+ CHECK(dns_db_newversion(zone->rss_db, &zone->rss_newver));
- /*
- * Try to apply diffs from the raw zone's journal to the secure
- * zone. If that fails, we recover by syncing up the databases
- * directly.
- */
- result = sync_secure_journal(zone, raw, rjournal, start, end,
- &soatuple, &diff);
- if (result == DNS_R_UNCHANGED)
- goto failure;
- else if (result != ISC_R_SUCCESS)
- CHECK(sync_secure_db(zone, raw, db, oldver, &soatuple, &diff));
-
- CHECK(dns_diff_apply(&diff, db, newver));
-
- if (soatuple != NULL) {
- isc_uint32_t oldserial, newserial, desired;
-
- CHECK(dns_db_createsoatuple(db, oldver, diff.mctx,
- DNS_DIFFOP_DEL, &tuple));
- oldserial = dns_soa_getserial(&tuple->rdata);
- newserial = desired = dns_soa_getserial(&soatuple->rdata);
- if (!isc_serial_gt(newserial, oldserial)) {
- newserial = oldserial + 1;
- if (newserial == 0)
- newserial++;
- dns_soa_setserial(newserial, &soatuple->rdata);
- }
- CHECK(do_one_tuple(&tuple, db, newver, &diff));
- CHECK(do_one_tuple(&soatuple, db, newver, &diff));
- dns_zone_log(zone, ISC_LOG_INFO, "serial %u (unsigned %u)",
- newserial, desired);
- } else
- CHECK(update_soa_serial(db, newver, &diff, zone->mctx,
- zone->updatemethod));
+ /*
+ * Try to apply diffs from the raw zone's journal to the secure
+ * zone. If that fails, we recover by syncing up the databases
+ * directly.
+ */
+ result = sync_secure_journal(zone, zone->rss_raw, rjournal,
+ start, end, &soatuple,
+ &zone->rss_diff);
+ if (result == DNS_R_UNCHANGED)
+ goto failure;
+ else if (result != ISC_R_SUCCESS)
+ CHECK(sync_secure_db(zone, zone->rss_raw, zone->rss_db,
+ zone->rss_oldver, &soatuple,
+ &zone->rss_diff));
+
+ CHECK(dns_diff_apply(&zone->rss_diff, zone->rss_db,
+ zone->rss_newver));
+
+ if (soatuple != NULL) {
+ isc_uint32_t oldserial, newserial, desired;
+
+ CHECK(dns_db_createsoatuple(zone->rss_db,
+ zone->rss_oldver,
+ zone->rss_diff.mctx,
+ DNS_DIFFOP_DEL, &tuple));
+ oldserial = dns_soa_getserial(&tuple->rdata);
+ newserial = desired =
+ dns_soa_getserial(&soatuple->rdata);
+ if (!isc_serial_gt(newserial, oldserial)) {
+ newserial = oldserial + 1;
+ if (newserial == 0)
+ newserial++;
+ dns_soa_setserial(newserial, &soatuple->rdata);
+ }
+ CHECK(do_one_tuple(&tuple, zone->rss_db,
+ zone->rss_newver, &zone->rss_diff));
+ CHECK(do_one_tuple(&soatuple, zone->rss_db,
+ zone->rss_newver, &zone->rss_diff));
+ dns_zone_log(zone, ISC_LOG_INFO,
+ "serial %u (unsigned %u)",
+ newserial, desired);
+ } else
+ CHECK(update_soa_serial(zone->rss_db, zone->rss_newver,
+ &zone->rss_diff, zone->mctx,
+ zone->updatemethod));
- CHECK(dns_update_signatures(&log, zone, db, oldver, newver,
- &diff, zone->sigvalidityinterval));
+ }
+ result = dns_update_signaturesinc(&log, zone, zone->rss_db,
+ zone->rss_oldver, zone->rss_newver,
+ &zone->rss_diff,
+ zone->sigvalidityinterval,
+ &zone->rss_state);
+ if (result == DNS_R_CONTINUE) {
+ if (rjournal != NULL)
+ dns_journal_destroy(&rjournal);
+ isc_task_send(task, &event);
+ fprintf(stderr, "looping on dns_update_signaturesinc\n");
+ return;
+ }
+ if (result != ISC_R_SUCCESS)
+ goto failure;
- CHECK(zone_journal(zone, &diff, &end, "receive_secure_serial"));
+ if (rjournal == NULL)
+ CHECK(dns_journal_open(zone->rss_raw->mctx,
+ zone->rss_raw->journal,
+ DNS_JOURNAL_WRITE, &rjournal));
+ CHECK(zone_journal(zone, &zone->rss_diff, &end,
+ "receive_secure_serial"));
dns_journal_set_sourceserial(rjournal, end);
dns_journal_commit(rjournal);
@@ -13058,12 +13158,15 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) {
zone_settimer(zone, &timenow);
UNLOCK_ZONE(zone);
- dns_db_closeversion(db, &oldver, ISC_FALSE);
- dns_db_closeversion(db, &newver, ISC_TRUE);
+ dns_db_closeversion(zone->rss_db, &zone->rss_oldver, ISC_FALSE);
+ dns_db_closeversion(zone->rss_db, &zone->rss_newver, ISC_TRUE);
failure:
- if (raw != NULL)
- dns_zone_detach(&raw);
+ isc_event_free(&zone->rss_event);
+ event = ISC_LIST_HEAD(zone->rss_events);
+
+ if (zone->rss_raw != NULL)
+ dns_zone_detach(&zone->rss_raw);
if (result != ISC_R_SUCCESS)
dns_zone_log(zone, ISC_LOG_ERROR, "receive_secure_serial: %s",
dns_result_totext(result));
@@ -13071,20 +13174,28 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) {
dns_difftuple_free(&tuple);
if (soatuple != NULL)
dns_difftuple_free(&soatuple);
- if (db != NULL) {
- if (oldver != NULL)
- dns_db_closeversion(db, &oldver, ISC_FALSE);
- if (newver != NULL)
- dns_db_closeversion(db, &newver, ISC_FALSE);
- dns_db_detach(&db);
+ if (zone->rss_db != NULL) {
+ if (zone->rss_oldver != NULL)
+ dns_db_closeversion(zone->rss_db, &zone->rss_oldver,
+ ISC_FALSE);
+ if (zone->rss_newver != NULL)
+ dns_db_closeversion(zone->rss_db, &zone->rss_newver,
+ ISC_FALSE);
+ dns_db_detach(&zone->rss_db);
}
+ INSIST(zone->rss_oldver == NULL);
+ INSIST(zone->rss_newver == NULL);
if (rjournal != NULL)
dns_journal_destroy(&rjournal);
- dns_diff_clear(&diff);
- dns_zone_idetach(&zone);
+ dns_diff_clear(&zone->rss_diff);
- INSIST(oldver == NULL);
- INSIST(newver == NULL);
+ if (event != NULL) {
+ LOCK_ZONE(zone);
+ INSIST(zone->irefs > 1);
+ zone->irefs--;
+ goto nextevent;
+ }
+ dns_zone_idetach(&zone);
}
static isc_result_t
@@ -13144,11 +13255,10 @@ checkandaddsoa(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
result = dns_rdata_fromstruct(&rdata, rdataset->rdclass,
dns_rdatatype_soa, &soa, &b);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
+ dns_rdatalist_init(&temprdatalist);
temprdatalist.rdclass = rdata.rdclass;
temprdatalist.type = rdata.type;
- temprdatalist.covers = 0;
temprdatalist.ttl = rdataset->ttl;
- ISC_LIST_INIT(temprdatalist.rdata);
ISC_LIST_APPEND(temprdatalist.rdata, &rdata, link);
dns_rdataset_init(&temprdataset);
@@ -15477,8 +15587,8 @@ dns_zonemgr_setserialqueryrate(dns_zonemgr_t *zmgr, unsigned int value) {
setrl(zmgr->refreshrl, &zmgr->serialqueryrate, value);
/* Seperately controlled in BIND 9.11.x */
- setrl(zmgr->notifyrl, &zmgr->notifyrate, 20);
- setrl(zmgr->startupnotifyrl, &zmgr->startupnotifyrate, 20);
+ setrl(zmgr->notifyrl, &zmgr->notifyrate, value);
+ setrl(zmgr->startupnotifyrl, &zmgr->startupnotifyrate, value);
/* XXXMPA seperate out once we have the code to support this. */
setrl(zmgr->startuprefreshrl, &zmgr->startupserialqueryrate, value);
@@ -16016,6 +16126,12 @@ dns_zone_setsignatures(dns_zone_t *zone, isc_uint32_t signatures) {
zone->signatures = signatures;
}
+isc_uint32_t
+dns_zone_getsignatures(dns_zone_t *zone) {
+ REQUIRE(DNS_ZONE_VALID(zone));
+ return (zone->signatures);
+}
+
void
dns_zone_setprivatetype(dns_zone_t *zone, dns_rdatatype_t type) {
REQUIRE(DNS_ZONE_VALID(zone));
@@ -16853,6 +16969,148 @@ dns_zone_nscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version,
return (result);
}
+isc_result_t
+dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) {
+ isc_result_t result;
+ dns_dbnode_t *node = NULL;
+ dns_rdataset_t dnskey, cds, cdnskey;
+ unsigned char buffer[DNS_DS_BUFFERSIZE];
+ unsigned char algorithms[256];
+ unsigned int i;
+
+ REQUIRE(DNS_ZONE_VALID(zone));
+
+ result = dns_db_getoriginnode(db, &node);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+
+ dns_rdataset_init(&cds);
+ dns_rdataset_init(&dnskey);
+ dns_rdataset_init(&cdnskey);
+
+ result = dns_db_findrdataset(db, node, version, dns_rdatatype_cds,
+ dns_rdatatype_none, 0, &cds, NULL);
+ if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND)
+ goto failure;
+
+ result = dns_db_findrdataset(db, node, version, dns_rdatatype_cdnskey,
+ dns_rdatatype_none, 0, &cdnskey, NULL);
+ if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND)
+ goto failure;
+
+ if (!dns_rdataset_isassociated(&cds) &&
+ !dns_rdataset_isassociated(&cdnskey)) {
+ result = ISC_R_SUCCESS;
+ goto failure;
+ }
+
+ result = dns_db_findrdataset(db, node, version, dns_rdatatype_dnskey,
+ dns_rdatatype_none, 0, &dnskey, NULL);
+ if (result == ISC_R_NOTFOUND) {
+ if (dns_rdataset_isassociated(&cds))
+ result = DNS_R_BADCDS;
+ else
+ result = DNS_R_BADCDNSKEY;
+ goto failure;
+ }
+ if (result != ISC_R_SUCCESS)
+ goto failure;
+
+ /*
+ * For each DNSSEC algorithm in the CDS RRset there must be
+ * a matching DNSKEY record.
+ */
+ if (dns_rdataset_isassociated(&cds)) {
+ memset(algorithms, 0, sizeof(algorithms));
+ for (result = dns_rdataset_first(&cds);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(&cds)) {
+ dns_rdata_t crdata = DNS_RDATA_INIT;
+ dns_rdata_cds_t structcds;
+
+ dns_rdataset_current(&cds, &crdata);
+ CHECK(dns_rdata_tostruct(&crdata, &structcds, NULL));
+ if (algorithms[structcds.algorithm] == 0)
+ algorithms[structcds.algorithm] = 1;
+ for (result = dns_rdataset_first(&dnskey);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(&dnskey)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdata_t dsrdata = DNS_RDATA_INIT;
+
+ dns_rdataset_current(&dnskey, &rdata);
+ CHECK(dns_ds_buildrdata(&zone->origin, &rdata,
+ structcds.digest_type,
+ buffer, &dsrdata));
+ if (crdata.length == dsrdata.length &&
+ memcmp(crdata.data, dsrdata.data,
+ dsrdata.length) == 0) {
+ algorithms[structcds.algorithm] = 2;
+ }
+ }
+ if (result != ISC_R_NOMORE)
+ goto failure;
+ }
+ for (i = 0; i < sizeof(algorithms); i++) {
+ if (algorithms[i] == 1) {
+ result = DNS_R_BADCDNSKEY;
+ goto failure;
+ }
+ }
+ }
+
+ /*
+ * For each DNSSEC algorithm in the CDNSKEY RRset there must be
+ * a matching DNSKEY record.
+ */
+ if (dns_rdataset_isassociated(&cdnskey)) {
+ memset(algorithms, 0, sizeof(algorithms));
+ for (result = dns_rdataset_first(&cdnskey);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(&cdnskey)) {
+ dns_rdata_t crdata = DNS_RDATA_INIT;
+ dns_rdata_cdnskey_t structcdnskey;
+
+ dns_rdataset_current(&cdnskey, &crdata);
+ CHECK(dns_rdata_tostruct(&crdata, &structcdnskey,
+ NULL));
+ if (algorithms[structcdnskey.algorithm] == 0)
+ algorithms[structcdnskey.algorithm] = 1;
+ for (result = dns_rdataset_first(&dnskey);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(&dnskey)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+
+ dns_rdataset_current(&dnskey, &rdata);
+ if (crdata.length == rdata.length &&
+ memcmp(crdata.data, rdata.data,
+ rdata.length) == 0) {
+ algorithms[structcdnskey.algorithm] = 2;
+ }
+ }
+ if (result != ISC_R_NOMORE)
+ goto failure;
+ }
+ for (i = 0; i < sizeof(algorithms); i++) {
+ if (algorithms[i] == 1) {
+ result = DNS_R_BADCDS;
+ goto failure;
+ }
+ }
+ }
+ result = ISC_R_SUCCESS;
+
+ failure:
+ if (dns_rdataset_isassociated(&cds))
+ dns_rdataset_disassociate(&cds);
+ if (dns_rdataset_isassociated(&dnskey))
+ dns_rdataset_disassociate(&dnskey);
+ if (dns_rdataset_isassociated(&cdnskey))
+ dns_rdataset_disassociate(&cdnskey);
+ dns_db_detachnode(db, &node);
+ return (result);
+}
+
void
dns_zone_setadded(dns_zone_t *zone, isc_boolean_t added) {
REQUIRE(DNS_ZONE_VALID(zone));
@@ -17034,7 +17292,7 @@ keydone(isc_task_t *task, isc_event_t *event) {
dns_dbnode_t *node = NULL;
dns_rdataset_t rdataset;
dns_diff_t diff;
- struct keydone *keydone = (struct keydone *)event;
+ struct keydone *kd = (struct keydone *)event;
dns_update_log_t log = { update_log_cb, NULL };
isc_boolean_t clear_pending = ISC_FALSE;
@@ -17086,7 +17344,7 @@ keydone(isc_task_t *task, isc_event_t *event) {
dns_rdataset_current(&rdataset, &rdata);
- if (keydone->all) {
+ if (kd->all) {
if (rdata.length == 5 && rdata.data[0] != 0 &&
rdata.data[3] == 0 && rdata.data[4] == 1)
found = ISC_TRUE;
@@ -17096,7 +17354,7 @@ keydone(isc_task_t *task, isc_event_t *event) {
clear_pending = ISC_TRUE;
}
} else if (rdata.length == 5 &&
- memcmp(rdata.data, keydone->data, 5) == 0)
+ memcmp(rdata.data, kd->data, 5) == 0)
found = ISC_TRUE;
if (found)
diff --git a/lib/export/isc/unix/include/isc/Makefile.in b/lib/export/isc/unix/include/isc/Makefile.in
index 7159c76865ca..ebbc97362f03 100644
--- a/lib/export/isc/unix/include/isc/Makefile.in
+++ b/lib/export/isc/unix/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012, 2015 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
@@ -19,7 +19,7 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
-HEADERS = dir.h int.h net.h netdb.h offset.h stdtime.h \
+HEADERS = dir.h int.h net.h netdb.h offset.h stat.h stdtime.h \
syslog.h time.h
SUBDIRS =
diff --git a/lib/export/samples/nsprobe.c b/lib/export/samples/nsprobe.c
index c29c9a679c71..9c2f6af28dcb 100644
--- a/lib/export/samples/nsprobe.c
+++ b/lib/export/samples/nsprobe.c
@@ -31,6 +31,7 @@
#include <isc/buffer.h>
#include <isc/lib.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/socket.h>
#include <isc/sockaddr.h>
#include <isc/string.h>
diff --git a/lib/export/samples/sample-async.c b/lib/export/samples/sample-async.c
index a70dd4741ede..05fd30d1db78 100644
--- a/lib/export/samples/sample-async.c
+++ b/lib/export/samples/sample-async.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2013, 2015 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
@@ -34,6 +34,7 @@
#include <isc/buffer.h>
#include <isc/lib.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/socket.h>
#include <isc/sockaddr.h>
#include <isc/task.h>
diff --git a/lib/export/samples/sample-gai.c b/lib/export/samples/sample-gai.c
index 243d07a2f971..b214d0858170 100644
--- a/lib/export/samples/sample-gai.c
+++ b/lib/export/samples/sample-gai.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2012, 2013, 2015 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
@@ -27,6 +27,8 @@
#include <string.h>
#include <stdio.h>
+#include <isc/print.h>
+
static void
do_gai(int family, char *hostname) {
struct addrinfo hints, *res, *res0;
diff --git a/lib/export/samples/sample-request.c b/lib/export/samples/sample-request.c
index e39c21e8e647..0f37edded79d 100644
--- a/lib/export/samples/sample-request.c
+++ b/lib/export/samples/sample-request.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2012-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2012-2015 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
@@ -35,6 +35,7 @@
#include <isc/buffer.h>
#include <isc/lib.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/sockaddr.h>
#include <isc/util.h>
diff --git a/lib/export/samples/sample-update.c b/lib/export/samples/sample-update.c
index acab0059067a..887337db2ef4 100644
--- a/lib/export/samples/sample-update.c
+++ b/lib/export/samples/sample-update.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2010, 2012-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2010, 2012-2015 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
@@ -37,6 +37,7 @@
#include <isc/lib.h>
#include <isc/mem.h>
#include <isc/parseint.h>
+#include <isc/print.h>
#include <isc/sockaddr.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -681,11 +682,8 @@ make_prereq(isc_mem_t *mctx, char *cmdline, isc_boolean_t ispositive,
rdatalist->rdclass = dns_rdataclass_any;
} else
rdatalist->rdclass = dns_rdataclass_none;
- rdatalist->covers = 0;
- rdatalist->ttl = 0;
rdata->rdclass = rdatalist->rdclass;
rdata->type = rdatatype;
- ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
ISC_LIST_APPEND(usedrdatalists, rdatalist, link);
diff --git a/lib/export/samples/sample.c b/lib/export/samples/sample.c
index 7de9a8f1e9da..3062d8bef62f 100644
--- a/lib/export/samples/sample.c
+++ b/lib/export/samples/sample.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2012-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2012-2015 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
@@ -35,6 +35,7 @@
#include <isc/buffer.h>
#include <isc/lib.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/sockaddr.h>
#include <isc/util.h>
diff --git a/lib/irs/api b/lib/irs/api
index c20ad07b828f..14fd6164e88c 100644
--- a/lib/irs/api
+++ b/lib/irs/api
@@ -5,5 +5,5 @@
# 9.9: 90-109
# 9.9-sub: 130-139
LIBINTERFACE = 91
-LIBREVISION = 1
+LIBREVISION = 3
LIBAGE = 0
diff --git a/lib/irs/getaddrinfo.c b/lib/irs/getaddrinfo.c
index f821635e984e..f61225c11f95 100644
--- a/lib/irs/getaddrinfo.c
+++ b/lib/irs/getaddrinfo.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2012-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2012-2015 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
@@ -138,6 +138,7 @@
#include <isc/sockaddr.h>
#include <isc/string.h>
#include <isc/util.h>
+#include <isc/mutex.h>
#include <dns/client.h>
#include <dns/fixedname.h>
@@ -530,6 +531,7 @@ typedef struct gai_statehead {
int ai_port;
isc_appctx_t *actx;
dns_client_t *dnsclient;
+ isc_mutex_t list_lock;
ISC_LIST(struct gai_resstate) resstates;
unsigned int activestates;
} gai_statehead_t;
@@ -857,6 +859,7 @@ process_answer(isc_task_t *task, isc_event_t *event) {
* and have any answer, we can stop now by canceling the
* others.
*/
+ LOCK(&resstate->head->list_lock);
if (resstate == ISC_LIST_HEAD(resstate->head->resstates)) {
if ((resstate->trans4 != NULL &&
resstate->trans4->ai_sentinel.ai_next != NULL) ||
@@ -888,6 +891,7 @@ process_answer(isc_task_t *task, isc_event_t *event) {
resstate, link);
}
}
+ UNLOCK(&resstate->head->list_lock);
}
}
@@ -928,11 +932,19 @@ resolve_name(int family, const char *hostname, int flags,
head.ai_port = port;
head.actx = actx;
head.dnsclient = client;
+ result = isc_mutex_init(&head.list_lock);
+ if (result != ISC_R_SUCCESS) {
+ return (EAI_FAIL);
+ }
+
ISC_LIST_INIT(head.resstates);
result = make_resstates(mctx, hostname, &head, conf);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS) {
+ DESTROYLOCK(&head.list_lock);
return (EAI_FAIL);
+ }
+ LOCK(&head.list_lock);
for (resstate = ISC_LIST_HEAD(head.resstates);
resstate != NULL; resstate = ISC_LIST_NEXT(resstate, link)) {
if (resstate->trans4 != NULL) {
@@ -966,6 +978,8 @@ resolve_name(int family, const char *hostname, int flags,
resstate->trans6->is_inprogress= ISC_FALSE;
}
}
+ UNLOCK(&head.list_lock);
+
if (!all_fail) {
/* Start all the events */
isc_app_ctxrun(actx);
@@ -1037,6 +1051,7 @@ resolve_name(int family, const char *hostname, int flags,
irs_context_destroy(&irsctx);
#endif
+ DESTROYLOCK(&head.list_lock);
return (error);
}
@@ -1123,10 +1138,8 @@ add_ipv4(const char *hostname, int flags, struct addrinfo **aip,
UNUSED(flags);
ai = ai_clone(*aip, AF_INET); /* don't use ai_clone() */
- if (ai == NULL) {
- _freeaddrinfo(*aip);
+ if (ai == NULL)
return (EAI_MEMORY);
- }
*aip = ai;
ai->ai_socktype = socktype;
@@ -1246,11 +1259,8 @@ ai_clone(struct addrinfo *oai, int family) {
ai = ai_alloc(family, ((family == AF_INET6) ?
sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)));
- if (ai == NULL) {
- if (oai != NULL)
- freeaddrinfo(oai);
+ if (ai == NULL)
return (NULL);
- }
if (oai == NULL)
return (ai);
diff --git a/lib/isc/api b/lib/isc/api
index 38bb8eb7d795..9a572b2d2e74 100644
--- a/lib/isc/api
+++ b/lib/isc/api
@@ -4,6 +4,6 @@
# 9.8: 80-89, 120-129
# 9.9: 90-109
# 9.9-sub: 130-139
-LIBINTERFACE = 104
-LIBREVISION = 2
+LIBINTERFACE = 106
+LIBREVISION = 0
LIBAGE = 0
diff --git a/lib/isc/assertions.c b/lib/isc/assertions.c
index 31c4fe7c9f27..6b6f52db1ac3 100644
--- a/lib/isc/assertions.c
+++ b/lib/isc/assertions.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1997-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -27,6 +27,7 @@
#include <isc/assertions.h>
#include <isc/backtrace.h>
#include <isc/msgs.h>
+#include <isc/print.h>
#include <isc/result.h>
/*
diff --git a/lib/isc/backtrace.c b/lib/isc/backtrace.c
index 2a510421474f..f7a293c0f3d4 100644
--- a/lib/isc/backtrace.c
+++ b/lib/isc/backtrace.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2013-2015 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
@@ -221,17 +221,17 @@ isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) {
#endif
isc_result_t
-isc_backtrace_getsymbolfromindex(int index, const void **addrp,
+isc_backtrace_getsymbolfromindex(int idx, const void **addrp,
const char **symbolp)
{
REQUIRE(addrp != NULL && *addrp == NULL);
REQUIRE(symbolp != NULL && *symbolp == NULL);
- if (index < 0 || index >= isc__backtrace_nsymbols)
+ if (idx < 0 || idx >= isc__backtrace_nsymbols)
return (ISC_R_RANGE);
- *addrp = isc__backtrace_symtable[index].addr;
- *symbolp = isc__backtrace_symtable[index].symbol;
+ *addrp = isc__backtrace_symtable[idx].addr;
+ *symbolp = isc__backtrace_symtable[idx].symbol;
return (ISC_R_SUCCESS);
}
diff --git a/lib/isc/commandline.c b/lib/isc/commandline.c
index 98546db48f38..416fba1927a6 100644
--- a/lib/isc/commandline.c
+++ b/lib/isc/commandline.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004, 2005, 2007, 2008, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004, 2005, 2007, 2008, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -65,6 +65,7 @@
#include <isc/commandline.h>
#include <isc/msgs.h>
+#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
diff --git a/lib/isc/entropy.c b/lib/isc/entropy.c
index da9e81fb3129..66c196e5f718 100644
--- a/lib/isc/entropy.c
+++ b/lib/isc/entropy.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2010, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -40,6 +40,7 @@
#include <isc/msgs.h>
#include <isc/mutex.h>
#include <isc/platform.h>
+#include <isc/print.h>
#include <isc/region.h>
#include <isc/sha1.h>
#include <isc/string.h>
@@ -316,7 +317,12 @@ entropypool_adddata(isc_entropy_t *ent, void *p, unsigned int len,
unsigned long addr;
isc_uint8_t *buf;
+ /* Silly MSVC in 64 bit mode complains here... */
+#ifdef _WIN64
+ addr = (unsigned long)((unsigned long long)p);
+#else
addr = (unsigned long)p;
+#endif
buf = p;
if ((addr & 0x03U) != 0U) {
diff --git a/lib/isc/error.c b/lib/isc/error.c
index 095100a7c943..b15881589eb4 100644
--- a/lib/isc/error.c
+++ b/lib/isc/error.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -26,6 +26,7 @@
#include <isc/error.h>
#include <isc/msgs.h>
+#include <isc/print.h>
/*% Default unexpected callback. */
static void
diff --git a/lib/isc/heap.c b/lib/isc/heap.c
index 9d4fd28adc3e..3dd23cf56b56 100644
--- a/lib/isc/heap.c
+++ b/lib/isc/heap.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2010-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2010-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1997-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -74,7 +74,7 @@ struct isc_heap {
isc_result_t
isc_heap_create(isc_mem_t *mctx, isc_heapcompare_t compare,
- isc_heapindex_t index, unsigned int size_increment,
+ isc_heapindex_t idx, unsigned int size_increment,
isc_heap_t **heapp)
{
isc_heap_t *heap;
@@ -96,7 +96,7 @@ isc_heap_create(isc_mem_t *mctx, isc_heapcompare_t compare,
heap->last = 0;
heap->array = NULL;
heap->compare = compare;
- heap->index = index;
+ heap->index = idx;
*heapp = heap;
@@ -203,14 +203,14 @@ isc_heap_insert(isc_heap_t *heap, void *elt) {
}
void
-isc_heap_delete(isc_heap_t *heap, unsigned int index) {
+isc_heap_delete(isc_heap_t *heap, unsigned int idx) {
void *elt;
isc_boolean_t less;
REQUIRE(VALID_HEAP(heap));
- REQUIRE(index >= 1 && index <= heap->last);
+ REQUIRE(idx >= 1 && idx <= heap->last);
- if (index == heap->last) {
+ if (idx == heap->last) {
heap->array[heap->last] = NULL;
heap->last--;
} else {
@@ -218,38 +218,38 @@ isc_heap_delete(isc_heap_t *heap, unsigned int index) {
heap->array[heap->last] = NULL;
heap->last--;
- less = heap->compare(elt, heap->array[index]);
- heap->array[index] = elt;
+ less = heap->compare(elt, heap->array[idx]);
+ heap->array[idx] = elt;
if (less)
- float_up(heap, index, heap->array[index]);
+ float_up(heap, idx, heap->array[idx]);
else
- sink_down(heap, index, heap->array[index]);
+ sink_down(heap, idx, heap->array[idx]);
}
}
void
-isc_heap_increased(isc_heap_t *heap, unsigned int index) {
+isc_heap_increased(isc_heap_t *heap, unsigned int idx) {
REQUIRE(VALID_HEAP(heap));
- REQUIRE(index >= 1 && index <= heap->last);
+ REQUIRE(idx >= 1 && idx <= heap->last);
- float_up(heap, index, heap->array[index]);
+ float_up(heap, idx, heap->array[idx]);
}
void
-isc_heap_decreased(isc_heap_t *heap, unsigned int index) {
+isc_heap_decreased(isc_heap_t *heap, unsigned int idx) {
REQUIRE(VALID_HEAP(heap));
- REQUIRE(index >= 1 && index <= heap->last);
+ REQUIRE(idx >= 1 && idx <= heap->last);
- sink_down(heap, index, heap->array[index]);
+ sink_down(heap, idx, heap->array[idx]);
}
void *
-isc_heap_element(isc_heap_t *heap, unsigned int index) {
+isc_heap_element(isc_heap_t *heap, unsigned int idx) {
REQUIRE(VALID_HEAP(heap));
- REQUIRE(index >= 1);
+ REQUIRE(idx >= 1);
- if (index <= heap->last)
- return (heap->array[index]);
+ if (idx <= heap->last)
+ return (heap->array[idx]);
return (NULL);
}
diff --git a/lib/isc/hmacmd5.c b/lib/isc/hmacmd5.c
index 9c10532c53c1..d27bfe42a786 100644
--- a/lib/isc/hmacmd5.c
+++ b/lib/isc/hmacmd5.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -159,5 +159,5 @@ isc_hmacmd5_verify2(isc_hmacmd5_t *ctx, unsigned char *digest, size_t len) {
REQUIRE(len <= ISC_MD5_DIGESTLENGTH);
isc_hmacmd5_sign(ctx, newdigest);
- return (isc_safe_memcmp(digest, newdigest, len));
+ return (isc_safe_memequal(digest, newdigest, len));
}
diff --git a/lib/isc/hmacsha.c b/lib/isc/hmacsha.c
index 1f72330d35ce..fa905e068569 100644
--- a/lib/isc/hmacsha.c
+++ b/lib/isc/hmacsha.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2007, 2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2005-2007, 2009, 2011-2015 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
@@ -604,7 +604,7 @@ isc_hmacsha1_verify(isc_hmacsha1_t *ctx, unsigned char *digest, size_t len) {
REQUIRE(len <= ISC_SHA1_DIGESTLENGTH);
isc_hmacsha1_sign(ctx, newdigest, ISC_SHA1_DIGESTLENGTH);
- return (isc_safe_memcmp(digest, newdigest, len));
+ return (isc_safe_memequal(digest, newdigest, len));
}
/*
@@ -617,7 +617,7 @@ isc_hmacsha224_verify(isc_hmacsha224_t *ctx, unsigned char *digest, size_t len)
REQUIRE(len <= ISC_SHA224_DIGESTLENGTH);
isc_hmacsha224_sign(ctx, newdigest, ISC_SHA224_DIGESTLENGTH);
- return (isc_safe_memcmp(digest, newdigest, len));
+ return (isc_safe_memequal(digest, newdigest, len));
}
/*
@@ -630,7 +630,7 @@ isc_hmacsha256_verify(isc_hmacsha256_t *ctx, unsigned char *digest, size_t len)
REQUIRE(len <= ISC_SHA256_DIGESTLENGTH);
isc_hmacsha256_sign(ctx, newdigest, ISC_SHA256_DIGESTLENGTH);
- return (isc_safe_memcmp(digest, newdigest, len));
+ return (isc_safe_memequal(digest, newdigest, len));
}
/*
@@ -643,7 +643,7 @@ isc_hmacsha384_verify(isc_hmacsha384_t *ctx, unsigned char *digest, size_t len)
REQUIRE(len <= ISC_SHA384_DIGESTLENGTH);
isc_hmacsha384_sign(ctx, newdigest, ISC_SHA384_DIGESTLENGTH);
- return (isc_safe_memcmp(digest, newdigest, len));
+ return (isc_safe_memequal(digest, newdigest, len));
}
/*
@@ -656,5 +656,5 @@ isc_hmacsha512_verify(isc_hmacsha512_t *ctx, unsigned char *digest, size_t len)
REQUIRE(len <= ISC_SHA512_DIGESTLENGTH);
isc_hmacsha512_sign(ctx, newdigest, ISC_SHA512_DIGESTLENGTH);
- return (isc_safe_memcmp(digest, newdigest, len));
+ return (isc_safe_memequal(digest, newdigest, len));
}
diff --git a/lib/isc/httpd.c b/lib/isc/httpd.c
index 0c159f069df8..241c1d53a8d5 100644
--- a/lib/isc/httpd.c
+++ b/lib/isc/httpd.c
@@ -23,6 +23,7 @@
#include <isc/buffer.h>
#include <isc/httpd.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/socket.h>
#include <isc/string.h>
#include <isc/task.h>
@@ -61,6 +62,7 @@
#define HTTPD_CLOSE 0x0001 /* Got a Connection: close header */
#define HTTPD_FOUNDHOST 0x0002 /* Got a Host: header */
+#define HTTPD_KEEPALIVE 0x0004 /* Got a Connection: Keep-Alive */
/*% http client */
struct isc_httpd {
@@ -236,39 +238,40 @@ isc_result_t
isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task,
isc_httpdclientok_t *client_ok,
isc_httpdondestroy_t *ondestroy, void *cb_arg,
- isc_timermgr_t *tmgr, isc_httpdmgr_t **httpdp)
+ isc_timermgr_t *tmgr, isc_httpdmgr_t **httpdmgrp)
{
isc_result_t result;
- isc_httpdmgr_t *httpd;
+ isc_httpdmgr_t *httpdmgr;
REQUIRE(mctx != NULL);
REQUIRE(sock != NULL);
REQUIRE(task != NULL);
REQUIRE(tmgr != NULL);
- REQUIRE(httpdp != NULL && *httpdp == NULL);
+ REQUIRE(httpdmgrp != NULL && *httpdmgrp == NULL);
- httpd = isc_mem_get(mctx, sizeof(isc_httpdmgr_t));
- if (httpd == NULL)
+ httpdmgr = isc_mem_get(mctx, sizeof(isc_httpdmgr_t));
+ if (httpdmgr == NULL)
return (ISC_R_NOMEMORY);
- result = isc_mutex_init(&httpd->lock);
+ result = isc_mutex_init(&httpdmgr->lock);
if (result != ISC_R_SUCCESS) {
- isc_mem_put(mctx, httpd, sizeof(isc_httpdmgr_t));
+ isc_mem_put(mctx, httpdmgr, sizeof(isc_httpdmgr_t));
return (result);
}
- httpd->mctx = NULL;
- isc_mem_attach(mctx, &httpd->mctx);
- httpd->sock = NULL;
- isc_socket_attach(sock, &httpd->sock);
- httpd->task = NULL;
- isc_task_attach(task, &httpd->task);
- httpd->timermgr = tmgr; /* XXXMLG no attach function? */
- httpd->client_ok = client_ok;
- httpd->ondestroy = ondestroy;
- httpd->cb_arg = cb_arg;
-
- ISC_LIST_INIT(httpd->running);
- ISC_LIST_INIT(httpd->urls);
+ httpdmgr->mctx = NULL;
+ isc_mem_attach(mctx, &httpdmgr->mctx);
+ httpdmgr->sock = NULL;
+ isc_socket_attach(sock, &httpdmgr->sock);
+ httpdmgr->task = NULL;
+ isc_task_attach(task, &httpdmgr->task);
+ httpdmgr->timermgr = tmgr; /* XXXMLG no attach function? */
+ httpdmgr->client_ok = client_ok;
+ httpdmgr->ondestroy = ondestroy;
+ httpdmgr->cb_arg = cb_arg;
+ httpdmgr->flags = 0;
+
+ ISC_LIST_INIT(httpdmgr->running);
+ ISC_LIST_INIT(httpdmgr->urls);
/* XXXMLG ignore errors on isc_socket_listen() */
result = isc_socket_listen(sock, SOMAXCONN);
@@ -281,22 +284,22 @@ isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task,
(void)isc_socket_filter(sock, "httpready");
- result = isc_socket_accept(sock, task, isc_httpd_accept, httpd);
+ result = isc_socket_accept(sock, task, isc_httpd_accept, httpdmgr);
if (result != ISC_R_SUCCESS)
goto cleanup;
- httpd->render_404 = render_404;
- httpd->render_500 = render_500;
+ httpdmgr->render_404 = render_404;
+ httpdmgr->render_500 = render_500;
- *httpdp = httpd;
+ *httpdmgrp = httpdmgr;
return (ISC_R_SUCCESS);
cleanup:
- isc_task_detach(&httpd->task);
- isc_socket_detach(&httpd->sock);
- isc_mem_detach(&httpd->mctx);
- (void)isc_mutex_destroy(&httpd->lock);
- isc_mem_put(mctx, httpd, sizeof(isc_httpdmgr_t));
+ isc_task_detach(&httpdmgr->task);
+ isc_socket_detach(&httpdmgr->sock);
+ isc_mem_detach(&httpdmgr->mctx);
+ (void)isc_mutex_destroy(&httpdmgr->lock);
+ isc_mem_put(mctx, httpdmgr, sizeof(isc_httpdmgr_t));
return (result);
}
@@ -481,6 +484,13 @@ process_request(isc_httpd_t *httpd, int length) {
if (strstr(s, "Host: ") != NULL)
httpd->flags |= HTTPD_FOUNDHOST;
+ if (strncmp(httpd->protocol, "HTTP/1.0", 8) == 0) {
+ if (strcasestr(s, "Connection: Keep-Alive") != NULL)
+ httpd->flags |= HTTPD_KEEPALIVE;
+ else
+ httpd->flags |= HTTPD_CLOSE;
+ }
+
/*
* Standards compliance hooks here.
*/
@@ -595,7 +605,7 @@ render_404(const char *url, isc_httpdurl_t *urlinfo,
const char **mimetype, isc_buffer_t *b,
isc_httpdfree_t **freecb, void **freecb_args)
{
- static char msg[] = "No such URL.";
+ static char msg[] = "No such URL.\r\n";
UNUSED(url);
UNUSED(urlinfo);
@@ -621,7 +631,7 @@ render_500(const char *url, isc_httpdurl_t *urlinfo,
const char **mimetype, isc_buffer_t *b,
isc_httpdfree_t **freecb, void **freecb_args)
{
- static char msg[] = "Internal server failure.";
+ static char msg[] = "Internal server failure.\r\n";
UNUSED(url);
UNUSED(urlinfo);
@@ -724,6 +734,8 @@ isc_httpd_recvdone(isc_task_t *task, isc_event_t *ev) {
}
isc_httpd_response(httpd);
+ if ((httpd->flags & HTTPD_KEEPALIVE) != 0)
+ isc_httpd_addheader(httpd, "Connection", "Keep-Alive");
isc_httpd_addheader(httpd, "Content-Type", httpd->mimetype);
isc_httpd_addheader(httpd, "Date", datebuf);
isc_httpd_addheader(httpd, "Expires", datebuf);
diff --git a/lib/isc/include/isc/app.h b/lib/isc/include/isc/app.h
index 53810859ce4e..7a2f68b0dc98 100644
--- a/lib/isc/include/isc/app.h
+++ b/lib/isc/include/isc/app.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -203,6 +203,16 @@ isc_app_run(void);
*\li ISC_R_RELOAD Reload has been requested.
*/
+isc_boolean_t
+isc_app_isrunning(void);
+/*!<
+ * \brief Return if the ISC library application is running.
+ *
+ * Returns:
+ *\li ISC_TRUE App is running.
+ *\li ISC_FALSE App is not running.
+ */
+
isc_result_t
isc_app_ctxshutdown(isc_appctx_t *ctx);
diff --git a/lib/isc/include/isc/mem.h b/lib/isc/include/isc/mem.h
index 320d0d83138b..45a4fa1312f9 100644
--- a/lib/isc/include/isc/mem.h
+++ b/lib/isc/include/isc/mem.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1997-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
#ifndef ISC_MEM_H
#define ISC_MEM_H 1
@@ -50,7 +48,14 @@ typedef void (*isc_memfree_t)(void *, void *);
/*%
* Define ISC_MEM_CHECKOVERRUN=1 to turn on checks for using memory outside
* the requested space. This will increase the size of each allocation.
+ *
+ * If we are performing a Coverity static analysis then ISC_MEM_CHECKOVERRUN
+ * can hide bugs that would otherwise discovered so force to zero.
*/
+#ifdef __COVERITY__
+#undef ISC_MEM_CHECKOVERRUN
+#define ISC_MEM_CHECKOVERRUN 0
+#endif
#ifndef ISC_MEM_CHECKOVERRUN
#define ISC_MEM_CHECKOVERRUN 1
#endif
@@ -60,7 +65,14 @@ typedef void (*isc_memfree_t)(void *, void *);
* with the byte string '0xbe'. This helps track down uninitialized pointers
* and the like. On freeing memory, the space is filled with '0xde' for
* the same reasons.
+ *
+ * If we are performing a Coverity static analysis then ISC_MEM_FILL
+ * can hide bugs that would otherwise discovered so force to zero.
*/
+#ifdef __COVERITY__
+#undef ISC_MEM_FILL
+#define ISC_MEM_FILL 0
+#endif
#ifndef ISC_MEM_FILL
#define ISC_MEM_FILL 1
#endif
@@ -75,6 +87,8 @@ typedef void (*isc_memfree_t)(void *, void *);
#endif
LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_debugging;
+LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_defaultflags;
+
/*@{*/
#define ISC_MEM_DEBUGTRACE 0x00000001U
#define ISC_MEM_DEBUGRECORD 0x00000002U
diff --git a/lib/isc/include/isc/namespace.h b/lib/isc/include/isc/namespace.h
index 4cfb305ca003..5696bc8e9a30 100644
--- a/lib/isc/include/isc/namespace.h
+++ b/lib/isc/include/isc/namespace.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009-2013, 2015 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
@@ -29,6 +29,7 @@
#define isc_app_ctxstart isc__app_ctxstart
#define isc_app_onrun isc__app_onrun
#define isc_app_run isc__app_run
+#define isc_app_isrunning isc__app_isrunning
#define isc_app_ctxrun isc__app_ctxrun
#define isc_app_shutdown isc__app_shutdown
#define isc_app_ctxfinish isc__app_ctxfinish
diff --git a/lib/isc/include/isc/platform.h.in b/lib/isc/include/isc/platform.h.in
index 69f81e0af11a..667a1454a4cd 100644
--- a/lib/isc/include/isc/platform.h.in
+++ b/lib/isc/include/isc/platform.h.in
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2010, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2010, 2013-2015 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,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: platform.h.in,v 1.56 2010/12/18 01:56:23 each Exp $ */
-
#ifndef ISC_PLATFORM_H
#define ISC_PLATFORM_H 1
@@ -172,6 +170,16 @@
@ISC_PLATFORM_NEEDSPRINTF@
/*! \brief
+ * If this system need a modern printf() that format size %z (size_t).
+ */
+@ISC_PLATFORM_NEEDPRINTF@
+
+/*! \brief
+ * If this system need a modern fprintf() that format size %z (size_t).
+ */
+@ISC_PLATFORM_NEEDFPRINTF@
+
+/*! \brief
* The printf format string modifier to use with isc_uint64_t values.
*/
@ISC_PLATFORM_QUADFORMAT@
diff --git a/lib/isc/include/isc/print.h b/lib/isc/include/isc/print.h
index 2b9169001fec..d7fca7442d57 100644
--- a/lib/isc/include/isc/print.h
+++ b/lib/isc/include/isc/print.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: print.h,v 1.26 2007/06/19 23:47:18 tbox Exp $ */
-
#ifndef ISC_PRINT_H
#define ISC_PRINT_H 1
@@ -47,6 +45,16 @@
#undef sprintf
#endif
+#if !defined(ISC_PLATFORM_NEEDFPRINTF) && defined(ISC__PRINT_SOURCE)
+#define ISC_PLATFORM_NEEDFPRINTF
+#undef fprintf
+#endif
+
+#if !defined(ISC_PLATFORM_NEEDPRINTF) && defined(ISC__PRINT_SOURCE)
+#define ISC_PLATFORM_NEEDPRINTF
+#undef printf
+#endif
+
/***
*** Macros
***/
@@ -60,10 +68,8 @@
#include <stdarg.h>
#include <stddef.h>
#endif
-#ifdef ISC_PLATFORM_NEEDSPRINTF
-#include <stdio.h>
-#endif
+#include <stdio.h>
ISC_LANG_BEGINDECLS
@@ -71,20 +77,37 @@ ISC_LANG_BEGINDECLS
int
isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap)
ISC_FORMAT_PRINTF(3, 0);
+#undef vsnprintf
#define vsnprintf isc_print_vsnprintf
int
isc_print_snprintf(char *str, size_t size, const char *format, ...)
ISC_FORMAT_PRINTF(3, 4);
+#undef snprintf
#define snprintf isc_print_snprintf
#endif /* ISC_PLATFORM_NEEDVSNPRINTF */
#ifdef ISC_PLATFORM_NEEDSPRINTF
int
isc_print_sprintf(char *str, const char *format, ...) ISC_FORMAT_PRINTF(2, 3);
+#undef sprintf
#define sprintf isc_print_sprintf
#endif
+#ifdef ISC_PLATFORM_NEEDPRINTF
+int
+isc_print_printf(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
+#undef printf
+#define printf isc_print_printf
+#endif
+
+#ifdef ISC_PLATFORM_NEEDFPRINTF
+int
+isc_print_fprintf(FILE * fp, const char *format, ...) ISC_FORMAT_PRINTF(2, 3);
+#undef fprintf
+#define fprintf isc_print_fprintf
+#endif
+
ISC_LANG_ENDDECLS
#endif /* ISC_PRINT_H */
diff --git a/lib/isc/include/isc/safe.h b/lib/isc/include/isc/safe.h
index 89d56def73fd..c6a303352551 100644
--- a/lib/isc/include/isc/safe.h
+++ b/lib/isc/include/isc/safe.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013, 2015 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
@@ -26,9 +26,17 @@
ISC_LANG_BEGINDECLS
isc_boolean_t
-isc_safe_memcmp(const void *s1, const void *s2, size_t n);
+isc_safe_memequal(const void *s1, const void *s2, size_t n);
/*%<
- * Clone of libc memcmp() safe to differential timing attacks.
+ * Returns ISC_TRUE iff. two blocks of memory are equal, otherwise
+ * ISC_FALSE.
+ *
+ */
+
+int
+isc_safe_memcompare(const void *b1, const void *b2, size_t len);
+/*%<
+ * Clone of libc memcmp() which is safe to differential timing attacks.
*/
ISC_LANG_ENDDECLS
diff --git a/lib/isc/include/isc/util.h b/lib/isc/include/isc/util.h
index 0a7799cd6a38..6baf786bdeab 100644
--- a/lib/isc/include/isc/util.h
+++ b/lib/isc/include/isc/util.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2010-2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2010-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -56,6 +56,8 @@
#define ISC_MAX(a, b) ((a) > (b) ? (a) : (b))
#define ISC_MIN(a, b) ((a) < (b) ? (a) : (b))
+#define ISC_CLAMP(v, x, y) ((v) < (x) ? (x) : ((v) > (y) ? (y) : (v)))
+
/*%
* Use this to remove the const qualifier of a variable to assign it to
* a non-const variable or pass it as a non-const function argument ...
diff --git a/lib/isc/lex.c b/lib/isc/lex.c
index aa3a6c9ffd59..ce1c5599412f 100644
--- a/lib/isc/lex.c
+++ b/lib/isc/lex.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -41,6 +41,7 @@ typedef struct inputsource {
isc_boolean_t is_file;
isc_boolean_t need_close;
isc_boolean_t at_eof;
+ isc_boolean_t last_was_eol;
isc_buffer_t * pushback;
unsigned int ignored;
void * input;
@@ -202,6 +203,7 @@ new_source(isc_lex_t *lex, isc_boolean_t is_file, isc_boolean_t need_close,
source->is_file = is_file;
source->need_close = need_close;
source->at_eof = ISC_FALSE;
+ source->last_was_eol = lex->last_was_eol;
source->input = input;
source->name = isc_mem_strdup(lex->mctx, name);
if (source->name == NULL) {
@@ -289,6 +291,7 @@ isc_lex_close(isc_lex_t *lex) {
return (ISC_R_NOMORE);
ISC_LIST_UNLINK(lex->sources, source, link);
+ lex->last_was_eol = source->last_was_eol;
if (source->is_file) {
if (source->need_close)
(void)fclose((FILE *)(source->input));
diff --git a/lib/isc/lib.c b/lib/isc/lib.c
index 0ab72420c2b9..45ae2f36605f 100644
--- a/lib/isc/lib.c
+++ b/lib/isc/lib.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -29,6 +29,7 @@
#include <isc/mem.h>
#include <isc/msgs.h>
#include <isc/once.h>
+#include <isc/print.h>
#include <isc/socket.h>
#include <isc/task.h>
#include <isc/timer.h>
diff --git a/lib/isc/mem.c b/lib/isc/mem.c
index 1962245c01c8..854425750bcd 100644
--- a/lib/isc/mem.c
+++ b/lib/isc/mem.c
@@ -43,6 +43,7 @@
#define ISC_MEM_DEBUGGING 0
#endif
LIBISC_EXTERNAL_DATA unsigned int isc_mem_debugging = ISC_MEM_DEBUGGING;
+LIBISC_EXTERNAL_DATA unsigned int isc_mem_defaultflags = ISC_MEMFLAG_DEFAULT;
/*
* Constants.
@@ -215,6 +216,8 @@ struct isc__mempool {
static void
print_active(isc__mem_t *ctx, FILE *out);
+#endif /* ISC_MEM_TRACKLINES */
+
/*%
* The following can be either static or public, depending on build environment.
*/
@@ -321,7 +324,6 @@ isc__mem_checkdestroyed(FILE *file);
ISC_MEMFUNC_SCOPE unsigned int
isc__mem_references(isc_mem_t *ctx0);
#endif
-#endif /* ISC_MEM_TRACKLINES */
static struct isc__memmethods {
isc_memmethods_t methods;
@@ -660,7 +662,7 @@ mem_getunlocked(isc__mem_t *ctx, size_t size) {
size_t new_size = quantize(size);
void *ret;
- if (size >= ctx->max_size || new_size >= ctx->max_size) {
+ if (new_size >= ctx->max_size) {
/*
* memget() was called on something beyond our upper limit.
*/
@@ -740,7 +742,7 @@ static inline void
mem_putunlocked(isc__mem_t *ctx, void *mem, size_t size) {
size_t new_size = quantize(size);
- if (size == ctx->max_size || new_size >= ctx->max_size) {
+ if (new_size >= ctx->max_size) {
/*
* memput() called on something beyond our upper limit.
*/
@@ -896,7 +898,7 @@ isc__mem_createx(size_t init_max_size, size_t target_size,
isc_mem_t **ctxp)
{
return (isc__mem_createx2(init_max_size, target_size, memalloc, memfree,
- arg, ctxp, ISC_MEMFLAG_DEFAULT));
+ arg, ctxp, isc_mem_defaultflags));
}
@@ -1038,7 +1040,7 @@ ISC_MEMFUNC_SCOPE isc_result_t
isc__mem_create(size_t init_max_size, size_t target_size, isc_mem_t **ctxp) {
return (isc__mem_createx2(init_max_size, target_size,
default_memalloc, default_memfree, NULL,
- ctxp, ISC_MEMFLAG_DEFAULT));
+ ctxp, isc_mem_defaultflags));
}
ISC_MEMFUNC_SCOPE isc_result_t
@@ -1092,11 +1094,17 @@ destroy(isc__mem_t *ctx) {
if (ctx->checkfree) {
for (i = 0; i <= ctx->max_size; i++) {
+ if (ctx->stats[i].gets != 0U) {
+ fprintf(stderr,
+ "Failing assertion due to probable "
+ "leaked memory in context %p (\"%s\") "
+ "(stats[%u].gets == %lu).\n",
+ ctx, ctx->name, i, ctx->stats[i].gets);
#if ISC_MEM_TRACKLINES
- if (ctx->stats[i].gets != 0U)
print_active(ctx, stderr);
#endif
- INSIST(ctx->stats[i].gets == 0U);
+ INSIST(ctx->stats[i].gets == 0U);
+ }
}
}
@@ -1286,13 +1294,10 @@ isc___mem_get(isc_mem_t *ctx0, size_t size FLARG) {
}
ADD_TRACE(ctx, ptr, size, file, line);
- if (ctx->hi_water != 0U && ctx->inuse > ctx->hi_water &&
- !ctx->is_overmem) {
+ if (ctx->hi_water != 0U && ctx->inuse > ctx->hi_water) {
ctx->is_overmem = ISC_TRUE;
- }
- if (ctx->hi_water != 0U && !ctx->hi_called &&
- ctx->inuse > ctx->hi_water) {
- call_water = ISC_TRUE;
+ if (!ctx->hi_called)
+ call_water = ISC_TRUE;
}
if (ctx->inuse > ctx->maxinuse) {
ctx->maxinuse = ctx->inuse;
@@ -1303,7 +1308,7 @@ isc___mem_get(isc_mem_t *ctx0, size_t size FLARG) {
}
MCTXUNLOCK(ctx, &ctx->lock);
- if (call_water)
+ if (call_water && (ctx->water != NULL))
(ctx->water)(ctx->water_arg, ISC_MEM_HIWATER);
return (ptr);
@@ -1347,18 +1352,15 @@ isc___mem_put(isc_mem_t *ctx0, void *ptr, size_t size FLARG) {
* when the context was pushed over hi_water but then had
* isc_mem_setwater() called with 0 for hi_water and lo_water.
*/
- if (ctx->is_overmem &&
- (ctx->inuse < ctx->lo_water || ctx->lo_water == 0U)) {
+ if ((ctx->inuse < ctx->lo_water) || (ctx->lo_water == 0U)) {
ctx->is_overmem = ISC_FALSE;
- }
- if (ctx->hi_called &&
- (ctx->inuse < ctx->lo_water || ctx->lo_water == 0U)) {
- if (ctx->water != NULL)
+ if (ctx->hi_called)
call_water = ISC_TRUE;
}
+
MCTXUNLOCK(ctx, &ctx->lock);
- if (call_water)
+ if (call_water && (ctx->water != NULL))
(ctx->water)(ctx->water_arg, ISC_MEM_LOWATER);
}
@@ -1411,8 +1413,8 @@ print_active(isc__mem_t *mctx, FILE *out) {
}
}
if (!found)
- fprintf(out, "%s", isc_msgcat_get(isc_msgcat, ISC_MSGSET_MEM,
- ISC_MSG_NONE, "\tNone.\n"));
+ fputs(isc_msgcat_get(isc_msgcat, ISC_MSGSET_MEM,
+ ISC_MSG_NONE, "\tNone.\n"), out);
}
}
#endif
@@ -1534,15 +1536,10 @@ isc___mem_allocate(isc_mem_t *ctx0, size_t size FLARG) {
REQUIRE(VALID_CONTEXT(ctx));
- if ((ctx->flags & ISC_MEMFLAG_INTERNAL) != 0) {
- MCTXLOCK(ctx, &ctx->lock);
- si = isc__mem_allocateunlocked((isc_mem_t *)ctx, size);
- } else {
- si = isc__mem_allocateunlocked((isc_mem_t *)ctx, size);
- MCTXLOCK(ctx, &ctx->lock);
- if (si != NULL)
- mem_getstats(ctx, si[-1].u.size);
- }
+ MCTXLOCK(ctx, &ctx->lock);
+ si = isc__mem_allocateunlocked((isc_mem_t *)ctx, size);
+ if (((ctx->flags & ISC_MEMFLAG_INTERNAL) == 0) && (si != NULL))
+ mem_getstats(ctx, si[-1].u.size);
#if ISC_MEM_TRACKLINES
ADD_TRACE(ctx, si, si[-1].u.size, file, line);
@@ -1767,7 +1764,6 @@ isc__mem_setwater(isc_mem_t *ctx0, isc_mem_water_t water, void *water_arg,
ctx->water_arg = NULL;
ctx->hi_water = 0;
ctx->lo_water = 0;
- ctx->hi_called = ISC_FALSE;
} else {
if (ctx->hi_called &&
(ctx->water != water || ctx->water_arg != water_arg ||
diff --git a/lib/isc/pool.c b/lib/isc/pool.c
index 509abcb418d4..fe25cb472d73 100644
--- a/lib/isc/pool.c
+++ b/lib/isc/pool.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013, 2015 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
@@ -70,7 +70,7 @@ alloc_pool(isc_mem_t *mctx, unsigned int count, isc_pool_t **poolp) {
isc_result_t
isc_pool_create(isc_mem_t *mctx, unsigned int count,
- isc_pooldeallocator_t free,
+ isc_pooldeallocator_t release,
isc_poolinitializer_t init, void *initarg,
isc_pool_t **poolp)
{
@@ -85,7 +85,7 @@ isc_pool_create(isc_mem_t *mctx, unsigned int count,
if (result != ISC_R_SUCCESS)
return (result);
- pool->free = free;
+ pool->free = release;
pool->init = init;
pool->initarg = initarg;
diff --git a/lib/isc/print.c b/lib/isc/print.c
index 06719e83a547..21b9096c1076 100644
--- a/lib/isc/print.c
+++ b/lib/isc/print.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2008, 2010, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008, 2010, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: print.c,v 1.37 2010/10/18 23:47:08 tbox Exp $ */
-
/*! \file */
#include <config.h>
@@ -24,6 +22,7 @@
#include <ctype.h>
#include <stdio.h> /* for sprintf() */
#include <string.h> /* for strlen() */
+#include <assert.h> /* for assert() */
#define ISC__PRINT_SOURCE /* Used to get the isc_print_* prototypes. */
@@ -34,14 +33,79 @@
#include <isc/stdlib.h>
#include <isc/util.h>
+/*
+ * We use the system's sprintf so we undef it here.
+ */
+#undef sprintf
+
+static int
+isc__print_printf(void (*emit)(char, void *), void *arg,
+ const char *format, va_list ap);
+
+static void
+file_emit(char c, void *arg) {
+ FILE *fp = arg;
+ int i = c & 0xff;
+
+ putc(i, fp);
+}
+
+#if 0
+static int
+isc_print_vfprintf(FILE *fp, const char *format, va_list ap) {
+ assert(fp != NULL);
+ assert(format != NULL);
+
+ return (isc__print_printf(file_emit, fp, format, ap));
+}
+#endif
+
+int
+isc_print_printf(const char *format, ...) {
+ va_list ap;
+ int n;
+
+ assert(format != NULL);
+
+ va_start(ap, format);
+ n = isc__print_printf(file_emit, stdout, format, ap);
+ va_end(ap);
+ return (n);
+}
+
+int
+isc_print_fprintf(FILE *fp, const char *format, ...) {
+ va_list ap;
+ int n;
+
+ assert(fp != NULL);
+ assert(format != NULL);
+
+ va_start(ap, format);
+ n = isc__print_printf(file_emit, fp, format, ap);
+ va_end(ap);
+ return (n);
+}
+
+static void
+nocheck_emit(char c, void *arg) {
+ struct { char *str; } *a = arg;
+
+ *(a->str)++ = c;
+}
+
int
isc_print_sprintf(char *str, const char *format, ...) {
+ struct { char *str; } arg;
+ int n;
va_list ap;
+ arg.str = str;
+
va_start(ap, format);
- vsprintf(str, format, ap);
+ n = isc__print_printf(nocheck_emit, &arg, format, ap);
va_end(ap);
- return (strlen(str));
+ return (n);
}
/*!
@@ -54,7 +118,7 @@ isc_print_snprintf(char *str, size_t size, const char *format, ...) {
int ret;
va_start(ap, format);
- ret = vsnprintf(str, size, format, ap);
+ ret = isc_print_vsnprintf(str, size, format, ap);
va_end(ap);
return (ret);
@@ -64,10 +128,40 @@ isc_print_snprintf(char *str, size_t size, const char *format, ...) {
* Return length of string that would have been written if not truncated.
*/
+static void
+string_emit(char c, void *arg) {
+ struct { char *str; size_t size; } *p = arg;
+
+ if (p->size > 0U) {
+ *(p->str)++ = c;
+ p->size--;
+ }
+}
+
int
isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
+ struct { char *str; size_t size; } arg;
+ int n;
+
+ assert(str != NULL);
+ assert(format != NULL);
+
+ arg.str = str;
+ arg.size = size;
+
+ n = isc__print_printf(string_emit, &arg, format, ap);
+ if (arg.size > 0U)
+ *arg.str = '\0';
+ return (n);
+}
+
+static int
+isc__print_printf(void (*emit)(char, void *), void *arg,
+ const char *format, va_list ap)
+{
int h;
int l;
+ int z;
int q;
int alt;
int zero;
@@ -83,7 +177,6 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
char buf[1024];
char c;
void *v;
- char *save = str;
const char *cp;
const char *head;
int count = 0;
@@ -91,22 +184,20 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
int zeropad;
int dot;
double dbl;
+ isc_boolean_t precision_set;
#ifdef HAVE_LONG_DOUBLE
long double ldbl;
#endif
char fmt[32];
- INSIST(str != NULL);
- INSIST(format != NULL);
+ assert(emit != NULL);
+ assert(arg != NULL);
+ assert(format != NULL);
while (*format != '\0') {
if (*format != '%') {
- if (size > 1) {
- *str++ = *format;
- size--;
- }
+ emit(*format++, arg);
count++;
- format++;
continue;
}
format++;
@@ -114,10 +205,11 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
/*
* Reset flags.
*/
- dot = neg = space = plus = left = zero = alt = h = l = q = 0;
+ dot = neg = space = plus = left = zero = alt = h = l = q = z = 0;
width = precision = 0;
head = "";
pad = zeropad = 0;
+ precision_set = ISC_FALSE;
do {
if (*format == '#') {
@@ -163,10 +255,12 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
dot = 1;
if (*format == '*') {
precision = va_arg(ap, int);
+ precision_set = ISC_TRUE;
format++;
} else if (isdigit((unsigned char)*format)) {
char *e;
precision = strtoul(format, &e, 10);
+ precision_set = ISC_TRUE;
format = e;
}
}
@@ -175,10 +269,7 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
case '\0':
continue;
case '%':
- if (size > 1) {
- *str++ = *format;
- size--;
- }
+ emit(*format, arg);
count++;
break;
case 'q':
@@ -197,6 +288,10 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
format++;
}
goto doint;
+ case 'z':
+ z = 1;
+ format++;
+ goto doint;
case 'n':
case 'i':
case 'd':
@@ -205,25 +300,30 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
case 'x':
case 'X':
doint:
- if (precision != 0)
+ if (precision != 0U)
zero = 0;
switch (*format) {
case 'n':
if (h) {
short int *p;
p = va_arg(ap, short *);
- REQUIRE(p != NULL);
- *p = str - save;
+ assert(p != NULL);
+ *p = count;
} else if (l) {
long int *p;
p = va_arg(ap, long *);
- REQUIRE(p != NULL);
- *p = str - save;
+ assert(p != NULL);
+ *p = count;
+ } else if (z) {
+ size_t *p;
+ p = va_arg(ap, size_t *);
+ assert(p != NULL);
+ *p = count;
} else {
int *p;
p = va_arg(ap, int *);
- REQUIRE(p != NULL);
- *p = str - save;
+ assert(p != NULL);
+ *p = count;
}
break;
case 'i':
@@ -232,6 +332,8 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpi = va_arg(ap, isc_int64_t);
else if (l)
tmpi = va_arg(ap, long int);
+ else if (z)
+ tmpi = va_arg(ap, ssize_t);
else
tmpi = va_arg(ap, int);
if (tmpi < 0) {
@@ -257,12 +359,14 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpui /= 1000000000;
mid = tmpui % 1000000000;
hi = tmpui / 1000000000;
- if (hi != 0)
+ if (hi != 0U) {
sprintf(buf, "%lu", hi);
- else
- buf[0] = '\0';
- sprintf(buf + strlen(buf), "%lu", mid);
- sprintf(buf + strlen(buf), "%lu", lo);
+ sprintf(buf + strlen(buf),
+ "%09lu", mid);
+ } else
+ sprintf(buf, "%lu", mid);
+ sprintf(buf + strlen(buf), "%09lu",
+ lo);
}
goto printint;
case 'o':
@@ -270,6 +374,8 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpui = va_arg(ap, isc_uint64_t);
else if (l)
tmpui = va_arg(ap, long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, int);
if (tmpui <= 0xffffffffU)
@@ -283,17 +389,17 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpui /= 010000000000;
mid = tmpui % 010000000000;
hi = tmpui / 010000000000;
- if (hi != 0) {
+ if (hi != 0U) {
sprintf(buf,
alt ? "%#lo" : "%lo",
hi);
sprintf(buf + strlen(buf),
- "%lo", mid);
+ "%09lo", mid);
} else
sprintf(buf,
alt ? "%#lo" : "%lo",
mid);
- sprintf(buf + strlen(buf), "%lo", lo);
+ sprintf(buf + strlen(buf), "%09lo", lo);
}
goto printint;
case 'u':
@@ -301,6 +407,8 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpui = va_arg(ap, isc_uint64_t);
else if (l)
tmpui = va_arg(ap, unsigned long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, unsigned int);
if (tmpui <= 0xffffffffU)
@@ -314,12 +422,14 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpui /= 1000000000;
mid = tmpui % 1000000000;
hi = tmpui / 1000000000;
- if (hi != 0)
+ if (hi != 0U) {
sprintf(buf, "%lu", hi);
- else
- buf[0] = '\0';
- sprintf(buf + strlen(buf), "%lu", mid);
- sprintf(buf + strlen(buf), "%lu", lo);
+ sprintf(buf + strlen(buf),
+ "%09lu", mid);
+ } else
+ sprintf(buf, "%lu", mid);
+ sprintf(buf + strlen(buf), "%09lu",
+ lo);
}
goto printint;
case 'x':
@@ -327,11 +437,13 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpui = va_arg(ap, isc_uint64_t);
else if (l)
tmpui = va_arg(ap, unsigned long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, unsigned int);
if (alt) {
head = "0x";
- if (precision > 2)
+ if (precision > 2U)
precision -= 2;
}
if (tmpui <= 0xffffffffU)
@@ -341,7 +453,7 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
unsigned long hi = tmpui>>32;
unsigned long lo = tmpui & 0xffffffff;
sprintf(buf, "%lx", hi);
- sprintf(buf + strlen(buf), "%lx", lo);
+ sprintf(buf + strlen(buf), "%08lx", lo);
}
goto printint;
case 'X':
@@ -349,11 +461,13 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpui = va_arg(ap, isc_uint64_t);
else if (l)
tmpui = va_arg(ap, unsigned long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, unsigned int);
if (alt) {
head = "0X";
- if (precision > 2)
+ if (precision > 2U)
precision -= 2;
}
if (tmpui <= 0xffffffffU)
@@ -363,17 +477,17 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
unsigned long hi = tmpui>>32;
unsigned long lo = tmpui & 0xffffffff;
sprintf(buf, "%lX", hi);
- sprintf(buf + strlen(buf), "%lX", lo);
+ sprintf(buf + strlen(buf), "%08lX", lo);
}
goto printint;
printint:
- if (precision != 0 || width != 0) {
+ if (precision_set || width != 0U) {
length = strlen(buf);
if (length < precision)
zeropad = precision - length;
else if (length < width && zero)
zeropad = width - length;
- if (width != 0) {
+ if (width != 0U) {
pad = width - length -
zeropad - strlen(head);
if (pad < 0)
@@ -383,30 +497,23 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
count += strlen(head) + strlen(buf) + pad +
zeropad;
if (!left) {
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
}
cp = head;
- while (*cp != '\0' && size > 1) {
- *str++ = *cp++;
- size--;
- }
- while (zeropad > 0 && size > 1) {
- *str++ = '0';
- size--;
+ while (*cp != '\0')
+ emit(*cp++, arg);
+ while (zeropad > 0) {
+ emit('0', arg);
zeropad--;
}
cp = buf;
- while (*cp != '\0' && size > 1) {
- *str++ = *cp++;
- size--;
- }
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (*cp != '\0')
+ emit(*cp++, arg);
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
break;
@@ -416,76 +523,63 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
break;
case 's':
cp = va_arg(ap, char *);
- REQUIRE(cp != NULL);
- if (precision != 0) {
+ if (precision_set) {
/*
* cp need not be NULL terminated.
*/
const char *tp;
unsigned long n;
+ if (precision != 0U)
+ assert(cp != NULL);
n = precision;
tp = cp;
- while (n != 0 && *tp != '\0')
+ while (n != 0U && *tp != '\0')
n--, tp++;
length = precision - n;
} else {
+ assert(cp != NULL);
length = strlen(cp);
}
- if (width != 0) {
+ if (width != 0U) {
pad = width - length;
if (pad < 0)
pad = 0;
}
count += pad + length;
if (!left)
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
- if (precision != 0)
- while (precision > 0 && *cp != '\0' &&
- size > 1) {
- *str++ = *cp++;
- size--;
+ if (precision_set)
+ while (precision > 0U && *cp != '\0') {
+ emit(*cp++, arg);
precision--;
}
else
- while (*cp != '\0' && size > 1) {
- *str++ = *cp++;
- size--;
- }
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (*cp != '\0')
+ emit(*cp++, arg);
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
break;
case 'c':
c = va_arg(ap, int);
- if (width > 0) {
+ if (width > 0U) {
count += width;
width--;
- if (left && size > 1) {
- *str++ = c;
- size--;
- }
- while (width-- > 0 && size > 1) {
- *str++ = ' ';
- size--;
- }
- if (!left && size > 1) {
- *str++ = c;
- size--;
- }
+ if (left)
+ emit(c, arg);
+ while (width-- > 0U)
+ emit(' ', arg);
+ if (!left)
+ emit(c, arg);
} else {
count++;
- if (size > 1) {
- *str++ = c;
- size--;
- }
+ emit(c, arg);
}
break;
case 'p':
@@ -494,57 +588,46 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
length = strlen(buf);
if (precision > length)
zeropad = precision - length;
- if (width > 0) {
+ if (width > 0U) {
pad = width - length - zeropad;
if (pad < 0)
pad = 0;
}
count += length + pad + zeropad;
if (!left)
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
cp = buf;
if (zeropad > 0 && buf[0] == '0' &&
(buf[1] == 'x' || buf[1] == 'X')) {
- if (size > 1) {
- *str++ = *cp++;
- size--;
- }
- if (size > 1) {
- *str++ = *cp++;
- size--;
- }
- while (zeropad > 0 && size > 1) {
- *str++ = '0';
- size--;
+ emit(*cp++, arg);
+ emit(*cp++, arg);
+ while (zeropad > 0) {
+ emit('0', arg);
zeropad--;
}
}
- while (*cp != '\0' && size > 1) {
- *str++ = *cp++;
- size--;
- }
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (*cp != '\0')
+ emit(*cp++, arg);
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
break;
case 'D': /*deprecated*/
- INSIST("use %ld instead of %D" == NULL);
+ assert("use %ld instead of %D" == NULL);
case 'O': /*deprecated*/
- INSIST("use %lo instead of %O" == NULL);
+ assert("use %lo instead of %O" == NULL);
case 'U': /*deprecated*/
- INSIST("use %lu instead of %U" == NULL);
+ assert("use %lu instead of %U" == NULL);
case 'L':
#ifdef HAVE_LONG_DOUBLE
l = 1;
#else
- INSIST("long doubles are not supported" == NULL);
+ assert("long doubles are not supported" == NULL);
#endif
/*FALLTHROUGH*/
case 'e':
@@ -564,7 +647,7 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
* if we cap the precision at 512 we will not
* overflow buf.
*/
- if (precision > 512)
+ if (precision > 512U)
precision = 512;
sprintf(fmt, "%%%s%s.%lu%s%c", alt ? "#" : "",
plus ? "+" : space ? " " : "",
@@ -586,26 +669,22 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
sprintf(buf, fmt, dbl);
}
length = strlen(buf);
- if (width > 0) {
+ if (width > 0U) {
pad = width - length;
if (pad < 0)
pad = 0;
}
count += length + pad;
if (!left)
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
cp = buf;
- while (*cp != ' ' && size > 1) {
- *str++ = *cp++;
- size--;
- }
- while (pad > 0 && size > 1) {
- *str++ = ' ';
- size--;
+ while (*cp != ' ')
+ emit(*cp++, arg);
+ while (pad > 0) {
+ emit(' ', arg);
pad--;
}
break;
@@ -618,7 +697,5 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
}
format++;
}
- if (size > 0)
- *str = '\0';
return (count);
}
diff --git a/lib/isc/pthreads/mutex.c b/lib/isc/pthreads/mutex.c
index c7e5795b6807..0ee37d28bbfe 100644
--- a/lib/isc/pthreads/mutex.c
+++ b/lib/isc/pthreads/mutex.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2008, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2008, 2011, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -28,6 +28,7 @@
#include <isc/mutex.h>
#include <isc/util.h>
+#include <isc/print.h>
#include <isc/strerror.h>
#if ISC_MUTEX_PROFILE
diff --git a/lib/isc/regex.c b/lib/isc/regex.c
index 2ee13653bdde..a1e76c759180 100644
--- a/lib/isc/regex.c
+++ b/lib/isc/regex.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013-2015 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
@@ -17,6 +17,7 @@
#include <config.h>
#include <isc/file.h>
+#include <isc/print.h>
#include <isc/regex.h>
#include <isc/string.h>
diff --git a/lib/isc/rwlock.c b/lib/isc/rwlock.c
index 9c84c258a28b..461d6e295a77 100644
--- a/lib/isc/rwlock.c
+++ b/lib/isc/rwlock.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2011, 2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -27,6 +27,7 @@
#include <isc/magic.h>
#include <isc/msgs.h>
#include <isc/platform.h>
+#include <isc/print.h>
#include <isc/rwlock.h>
#include <isc/util.h>
diff --git a/lib/isc/safe.c b/lib/isc/safe.c
index fd2768718872..8ac4a5b9193f 100644
--- a/lib/isc/safe.c
+++ b/lib/isc/safe.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2013, 2015 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
@@ -14,8 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
/*! \file */
#include <config.h>
@@ -28,7 +26,7 @@
#endif
isc_boolean_t
-isc_safe_memcmp(const void *s1, const void *s2, size_t n) {
+isc_safe_memequal(const void *s1, const void *s2, size_t n) {
isc_uint8_t acc = 0;
if (n != 0U) {
@@ -40,3 +38,30 @@ isc_safe_memcmp(const void *s1, const void *s2, size_t n) {
}
return (ISC_TF(acc == 0));
}
+
+
+int
+isc_safe_memcompare(const void *b1, const void *b2, size_t len) {
+ const unsigned char *p1 = b1, *p2 = b2;
+ size_t i;
+ int res = 0, done = 0;
+
+ for (i = 0; i < len; i++) {
+ /* lt is -1 if p1[i] < p2[i]; else 0. */
+ int lt = (p1[i] - p2[i]) >> CHAR_BIT;
+
+ /* gt is -1 if p1[i] > p2[i]; else 0. */
+ int gt = (p2[i] - p1[i]) >> CHAR_BIT;
+
+ /* cmp is 1 if p1[i] > p2[i]; -1 if p1[i] < p2[i]; else 0. */
+ int cmp = lt - gt;
+
+ /* set res = cmp if !done. */
+ res |= cmp & ~done;
+
+ /* set done if p1[i] != p2[i]. */
+ done |= lt | gt;
+ }
+
+ return (res);
+}
diff --git a/lib/isc/socket_api.c b/lib/isc/socket_api.c
index dca6c34fc37a..cfe2886f82d1 100644
--- a/lib/isc/socket_api.c
+++ b/lib/isc/socket_api.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2011, 2012, 2014, 2015 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
@@ -210,10 +210,10 @@ isc_socket_gettype(isc_socket_t *sock) {
}
void
-isc_socket_setname(isc_socket_t *socket, const char *name, void *tag) {
- REQUIRE(ISCAPI_SOCKET_VALID(socket));
+isc_socket_setname(isc_socket_t *sock, const char *name, void *tag) {
+ REQUIRE(ISCAPI_SOCKET_VALID(sock));
- UNUSED(socket); /* in case REQUIRE() is empty */
+ UNUSED(sock); /* in case REQUIRE() is empty */
UNUSED(name);
UNUSED(tag);
}
diff --git a/lib/isc/stats.c b/lib/isc/stats.c
index 89e34b378087..03d2a8a7d103 100644
--- a/lib/isc/stats.c
+++ b/lib/isc/stats.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2012, 2014, 2015 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
@@ -169,19 +169,22 @@ isc_stats_detach(isc_stats_t **statsp) {
LOCK(&stats->lock);
stats->references--;
- UNLOCK(&stats->lock);
if (stats->references == 0) {
isc_mem_put(stats->mctx, stats->copiedcounters,
sizeof(isc_stat_t) * stats->ncounters);
isc_mem_put(stats->mctx, stats->counters,
sizeof(isc_stat_t) * stats->ncounters);
+ UNLOCK(&stats->lock);
DESTROYLOCK(&stats->lock);
#ifdef ISC_RWLOCK_USEATOMIC
isc_rwlock_destroy(&stats->counterlock);
#endif
isc_mem_putanddetach(&stats->mctx, stats, sizeof(*stats));
+ return;
}
+
+ UNLOCK(&stats->lock);
}
int
diff --git a/lib/isc/task.c b/lib/isc/task.c
index 02d6e2abaf60..3503801e4517 100644
--- a/lib/isc/task.c
+++ b/lib/isc/task.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -34,6 +34,7 @@
#include <isc/mem.h>
#include <isc/msgs.h>
#include <isc/platform.h>
+#include <isc/print.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/thread.h>
@@ -156,6 +157,13 @@ struct isc__taskmgr {
isc_boolean_t pause_requested;
isc_boolean_t exclusive_requested;
isc_boolean_t exiting;
+
+ /*
+ * Multiple threads can read/write 'excl' at the same time, so we need
+ * to protect the access. We can't use 'lock' since isc_task_detach()
+ * will try to acquire it.
+ */
+ isc_mutex_t excl_lock;
isc__task_t *excl;
#ifdef USE_SHARED_MANAGER
unsigned int refs;
@@ -1307,6 +1315,7 @@ manager_free(isc__taskmgr_t *manager) {
isc_mem_free(manager->mctx, manager->threads);
#endif /* USE_WORKER_THREADS */
DESTROYLOCK(&manager->lock);
+ DESTROYLOCK(&manager->excl_lock);
manager->common.impmagic = 0;
manager->common.magic = 0;
mctx = manager->mctx;
@@ -1359,6 +1368,11 @@ isc__taskmgr_create(isc_mem_t *mctx, unsigned int workers,
result = isc_mutex_init(&manager->lock);
if (result != ISC_R_SUCCESS)
goto cleanup_mgr;
+ result = isc_mutex_init(&manager->excl_lock);
+ if (result != ISC_R_SUCCESS) {
+ DESTROYLOCK(&manager->lock);
+ goto cleanup_mgr;
+ }
#ifdef USE_WORKER_THREADS
manager->workers = 0;
@@ -1490,8 +1504,10 @@ isc__taskmgr_destroy(isc_taskmgr_t **managerp) {
/*
* Detach the exclusive task before acquiring the manager lock
*/
+ LOCK(&manager->excl_lock);
if (manager->excl != NULL)
isc__task_detach((isc_task_t **) &manager->excl);
+ UNLOCK(&manager->excl_lock);
/*
* Unlike elsewhere, we're going to hold this lock a long time.
@@ -1650,23 +1666,29 @@ isc__taskmgr_setexcltask(isc_taskmgr_t *mgr0, isc_task_t *task0) {
REQUIRE(VALID_MANAGER(mgr));
REQUIRE(VALID_TASK(task));
+ LOCK(&mgr->excl_lock);
if (mgr->excl != NULL)
isc__task_detach((isc_task_t **) &mgr->excl);
isc__task_attach(task0, (isc_task_t **) &mgr->excl);
+ UNLOCK(&mgr->excl_lock);
}
ISC_TASKFUNC_SCOPE isc_result_t
isc__taskmgr_excltask(isc_taskmgr_t *mgr0, isc_task_t **taskp) {
isc__taskmgr_t *mgr = (isc__taskmgr_t *) mgr0;
+ isc_result_t result = ISC_R_SUCCESS;
REQUIRE(VALID_MANAGER(mgr));
REQUIRE(taskp != NULL && *taskp == NULL);
- if (mgr->excl == NULL)
- return (ISC_R_NOTFOUND);
+ LOCK(&mgr->excl_lock);
+ if (mgr->excl != NULL)
+ isc__task_attach((isc_task_t *) mgr->excl, taskp);
+ else
+ result = ISC_R_NOTFOUND;
+ UNLOCK(&mgr->excl_lock);
- isc__task_attach((isc_task_t *) mgr->excl, taskp);
- return (ISC_R_SUCCESS);
+ return (result);
}
ISC_TASKFUNC_SCOPE isc_result_t
diff --git a/lib/isc/timer.c b/lib/isc/timer.c
index f48259dddbcc..773dacf74935 100644
--- a/lib/isc/timer.c
+++ b/lib/isc/timer.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -28,6 +28,7 @@
#include <isc/mem.h>
#include <isc/msgs.h>
#include <isc/platform.h>
+#include <isc/print.h>
#include <isc/task.h>
#include <isc/thread.h>
#include <isc/time.h>
diff --git a/lib/isc/unix/app.c b/lib/isc/unix/app.c
index aeebc31f9a43..141e9c21a94c 100644
--- a/lib/isc/unix/app.c
+++ b/lib/isc/unix/app.c
@@ -90,6 +90,7 @@ ISC_APPFUNC_SCOPE isc_result_t isc__app_onrun(isc_mem_t *mctx,
void *arg);
ISC_APPFUNC_SCOPE isc_result_t isc__app_ctxrun(isc_appctx_t *ctx);
ISC_APPFUNC_SCOPE isc_result_t isc__app_run(void);
+ISC_APPFUNC_SCOPE isc_boolean_t isc__app_isrunning(void);
ISC_APPFUNC_SCOPE isc_result_t isc__app_ctxshutdown(isc_appctx_t *ctx);
ISC_APPFUNC_SCOPE isc_result_t isc__app_shutdown(void);
ISC_APPFUNC_SCOPE isc_result_t isc__app_reload(void);
@@ -145,6 +146,7 @@ typedef struct isc__appctx {
} isc__appctx_t;
static isc__appctx_t isc_g_appctx;
+static isc_boolean_t is_running = ISC_FALSE;
static struct {
isc_appmethods_t methods;
@@ -154,7 +156,8 @@ static struct {
*/
#ifndef BIND9
void *run, *shutdown, *start, *onrun,
- *reload, *finish, *block, *unblock;
+ *reload, *finish, *block, *unblock,
+ *isrunning;
#endif
} appmethods = {
{
@@ -174,7 +177,7 @@ static struct {
(void *)isc__app_run, (void *)isc__app_shutdown,
(void *)isc__app_start, (void *)isc__app_onrun, (void *)isc__app_reload,
(void *)isc__app_finish, (void *)isc__app_block,
- (void *)isc__app_unblock
+ (void *)isc__app_unblock, (void *)isc__app_isrunning
#endif
};
@@ -701,7 +704,7 @@ isc__app_ctxrun(isc_appctx_t *ctx0) {
return (ISC_R_UNEXPECTED);
}
#endif
- result = sigsuspend(&sset);
+ (void)sigsuspend(&sset);
#endif /* HAVE_SIGWAIT */
if (ctx->want_reload) {
@@ -728,7 +731,18 @@ isc__app_ctxrun(isc_appctx_t *ctx0) {
ISC_APPFUNC_SCOPE isc_result_t
isc__app_run(void) {
- return (isc__app_ctxrun((isc_appctx_t *)&isc_g_appctx));
+ isc_result_t result;
+
+ is_running = ISC_TRUE;
+ result = isc__app_ctxrun((isc_appctx_t *)&isc_g_appctx);
+ is_running = ISC_FALSE;
+
+ return (result);
+}
+
+ISC_APPFUNC_SCOPE isc_boolean_t
+isc__app_isrunning(void) {
+ return (is_running);
}
ISC_APPFUNC_SCOPE isc_result_t
diff --git a/lib/isc/unix/file.c b/lib/isc/unix/file.c
index 1b7d563d875a..c2abd440e18c 100644
--- a/lib/isc/unix/file.c
+++ b/lib/isc/unix/file.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009, 2011-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -135,12 +135,12 @@ isc_file_mode(const char *file, mode_t *modep) {
}
isc_result_t
-isc_file_getmodtime(const char *file, isc_time_t *time) {
+isc_file_getmodtime(const char *file, isc_time_t *modtime) {
isc_result_t result;
struct stat stats;
REQUIRE(file != NULL);
- REQUIRE(time != NULL);
+ REQUIRE(modtime != NULL);
result = file_stats(file, &stats);
@@ -149,16 +149,16 @@ isc_file_getmodtime(const char *file, isc_time_t *time) {
* XXXDCL some operating systems provide nanoseconds, too,
* such as BSD/OS via st_mtimespec.
*/
- isc_time_set(time, stats.st_mtime, 0);
+ isc_time_set(modtime, stats.st_mtime, 0);
return (result);
}
isc_result_t
-isc_file_settime(const char *file, isc_time_t *time) {
+isc_file_settime(const char *file, isc_time_t *when) {
struct timeval times[2];
- REQUIRE(file != NULL && time != NULL);
+ REQUIRE(file != NULL && when != NULL);
/*
* tv_sec is at least a 32 bit quantity on all platforms we're
@@ -170,7 +170,7 @@ isc_file_settime(const char *file, isc_time_t *time) {
* * isc_time_seconds is changed to be > 32 bits but long is 32 bits
* and isc_time_seconds has at least 33 significant bits.
*/
- times[0].tv_sec = times[1].tv_sec = (long)isc_time_seconds(time);
+ times[0].tv_sec = times[1].tv_sec = (long)isc_time_seconds(when);
/*
* Here is the real check for the high bit being set.
@@ -186,7 +186,7 @@ isc_file_settime(const char *file, isc_time_t *time) {
* we can at least cast to signed so the IRIX compiler shuts up.
*/
times[0].tv_usec = times[1].tv_usec =
- (isc_int32_t)(isc_time_nanoseconds(time) / 1000);
+ (isc_int32_t)(isc_time_nanoseconds(when) / 1000);
if (utimes(file, times) < 0)
return (isc__errno2result(errno));
diff --git a/lib/isc/unix/ifiter_ioctl.c b/lib/isc/unix/ifiter_ioctl.c
index f0026c285b80..6b1ceda09e0a 100644
--- a/lib/isc/unix/ifiter_ioctl.c
+++ b/lib/isc/unix/ifiter_ioctl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -17,6 +17,8 @@
/* $Id: ifiter_ioctl.c,v 1.62 2009/01/18 23:48:14 tbox Exp $ */
+#include <isc/print.h>
+
/*! \file
* \brief
* Obtain the list of network interfaces using the SIOCGLIFCONF ioctl.
diff --git a/lib/isc/unix/ifiter_sysctl.c b/lib/isc/unix/ifiter_sysctl.c
index 102ecc1fee28..e4ca48a9aa4e 100644
--- a/lib/isc/unix/ifiter_sysctl.c
+++ b/lib/isc/unix/ifiter_sysctl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,6 +30,8 @@
#include <net/route.h>
#include <net/if_dl.h>
+#include <isc/print.h>
+
/* XXX what about Alpha? */
#ifdef sgi
#define ROUNDUP(a) ((a) > 0 ? \
diff --git a/lib/isc/unix/net.c b/lib/isc/unix/net.c
index e4de0489ec11..c811d1ba4194 100644
--- a/lib/isc/unix/net.c
+++ b/lib/isc/unix/net.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2008, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2008, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -414,12 +414,12 @@ getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) {
sysctlname_lowport = SYSCTL_V6PORTRANGE_LOW;
sysctlname_hiport = SYSCTL_V6PORTRANGE_HIGH;
}
- portlen = sizeof(portlen);
+ portlen = sizeof(port_low);
if (sysctlbyname(sysctlname_lowport, &port_low, &portlen,
NULL, 0) < 0) {
return (ISC_R_FAILURE);
}
- portlen = sizeof(portlen);
+ portlen = sizeof(port_high);
if (sysctlbyname(sysctlname_hiport, &port_high, &portlen,
NULL, 0) < 0) {
return (ISC_R_FAILURE);
@@ -453,12 +453,12 @@ getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) {
miblen = sizeof(mib_lo6) / sizeof(mib_lo6[0]);
}
- portlen = sizeof(portlen);
+ portlen = sizeof(port_low);
if (sysctl(mib_lo, miblen, &port_low, &portlen, NULL, 0) < 0) {
return (ISC_R_FAILURE);
}
- portlen = sizeof(portlen);
+ portlen = sizeof(port_high);
if (sysctl(mib_hi, miblen, &port_high, &portlen, NULL, 0) < 0) {
return (ISC_R_FAILURE);
}
@@ -477,11 +477,34 @@ getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) {
isc_result_t
isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) {
int result = ISC_R_FAILURE;
+#if !defined(USE_SYSCTL_PORTRANGE) && defined(__linux)
+ FILE *fp;
+#endif
REQUIRE(low != NULL && high != NULL);
#if defined(USE_SYSCTL_PORTRANGE)
result = getudpportrange_sysctl(af, low, high);
+#elif defined(__linux)
+
+ UNUSED(af);
+
+ /*
+ * Linux local ports are address family agnostic.
+ */
+ fp = fopen("/proc/sys/net/ipv4/ip_local_port_range", "r");
+ if (fp != NULL) {
+ int n;
+ unsigned int l, h;
+
+ n = fscanf(fp, "%u %u", &l, &h);
+ if (n == 2 && (l & ~0xffff) == 0 && (h & ~0xffff) == 0) {
+ *low = l;
+ *high = h;
+ result = ISC_R_SUCCESS;
+ }
+ fclose(fp);
+ }
#else
UNUSED(af);
#endif
diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c
index 110eafe50fd1..5e6320d821c6 100644
--- a/lib/isc/unix/socket.c
+++ b/lib/isc/unix/socket.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -5957,33 +5957,33 @@ isc__socketmgr_dispatch(isc_socketmgr_t *manager0, isc_socketwait_t *swait) {
#ifdef BIND9
void
isc__socket_setname(isc_socket_t *socket0, const char *name, void *tag) {
- isc__socket_t *socket = (isc__socket_t *)socket0;
+ isc__socket_t *sock = (isc__socket_t *)socket0;
/*
- * Name 'socket'.
+ * Name 'sock'.
*/
- REQUIRE(VALID_SOCKET(socket));
+ REQUIRE(VALID_SOCKET(sock));
- LOCK(&socket->lock);
- memset(socket->name, 0, sizeof(socket->name));
- strncpy(socket->name, name, sizeof(socket->name) - 1);
- socket->tag = tag;
- UNLOCK(&socket->lock);
+ LOCK(&sock->lock);
+ memset(sock->name, 0, sizeof(sock->name));
+ strncpy(sock->name, name, sizeof(sock->name) - 1);
+ sock->tag = tag;
+ UNLOCK(&sock->lock);
}
ISC_SOCKETFUNC_SCOPE const char *
isc__socket_getname(isc_socket_t *socket0) {
- isc__socket_t *socket = (isc__socket_t *)socket0;
+ isc__socket_t *sock = (isc__socket_t *)socket0;
- return (socket->name);
+ return (sock->name);
}
void *
isc__socket_gettag(isc_socket_t *socket0) {
- isc__socket_t *socket = (isc__socket_t *)socket0;
+ isc__socket_t *sock = (isc__socket_t *)socket0;
- return (socket->tag);
+ return (sock->tag);
}
#endif /* BIND9 */
@@ -5996,9 +5996,9 @@ isc__socket_register(void) {
ISC_SOCKETFUNC_SCOPE int
isc__socket_getfd(isc_socket_t *socket0) {
- isc__socket_t *socket = (isc__socket_t *)socket0;
+ isc__socket_t *sock = (isc__socket_t *)socket0;
- return ((short) socket->fd);
+ return ((short) sock->fd);
}
#if defined(HAVE_LIBXML2) && defined(BIND9)
diff --git a/lib/isccc/Makefile.in b/lib/isccc/Makefile.in
index 1a33be9163b2..843e510a6f06 100644
--- a/lib/isccc/Makefile.in
+++ b/lib/isccc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2011, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001, 2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -25,7 +25,7 @@ top_srcdir = @top_srcdir@
@BIND9_MAKE_INCLUDES@
-CINCLUDES = -I. ${DNS_INCLUDES} ${ISC_INCLUDES} ${ISCCC_INCLUDES}
+CINCLUDES = -I. ${DNS_INCLUDES} ${ISC_INCLUDES} ${ISCCC_INCLUDES} @ISC_OPENSSL_INC@
CDEFINES =
CWARNINGS =
diff --git a/lib/isccc/alist.c b/lib/isccc/alist.c
index 4f1743ed4972..cec8b5e55030 100644
--- a/lib/isccc/alist.c
+++ b/lib/isccc/alist.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004, 2005, 2007, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -40,6 +40,7 @@
#include <isccc/alist.h>
#include <isc/assertions.h>
+#include <isc/print.h>
#include <isccc/result.h>
#include <isccc/sexpr.h>
#include <isccc/util.h>
@@ -50,7 +51,7 @@
#define ALIST_TAG "*alist*"
#define MAX_INDENT 64
-static char spaces[MAX_INDENT + 1] =
+static char spaces[MAX_INDENT + 1] =
" ";
isccc_sexpr_t *
diff --git a/lib/isccc/api b/lib/isccc/api
index 864bdc90941c..a27437f4335b 100644
--- a/lib/isccc/api
+++ b/lib/isccc/api
@@ -5,5 +5,5 @@
# 9.9: 90-109
# 9.9-sub: 130-139
LIBINTERFACE = 90
-LIBREVISION = 6
+LIBREVISION = 7
LIBAGE = 0
diff --git a/lib/isccc/cc.c b/lib/isccc/cc.c
index 69e7f7cee0b7..30252336026d 100644
--- a/lib/isccc/cc.c
+++ b/lib/isccc/cc.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2007, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2007, 2012, 2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -160,7 +160,7 @@ table_towire(isccc_sexpr_t *alist, isccc_region_t *target)
isccc_sexpr_t *kv, *elt, *k, *v;
char *ks;
isc_result_t result;
- size_t len;
+ unsigned int len;
for (elt = isccc_alist_first(alist);
elt != NULL;
@@ -169,7 +169,7 @@ table_towire(isccc_sexpr_t *alist, isccc_region_t *target)
k = ISCCC_SEXPR_CAR(kv);
ks = isccc_sexpr_tostring(k);
v = ISCCC_SEXPR_CDR(kv);
- len = strlen(ks);
+ len = (unsigned int)strlen(ks);
INSIST(len <= 255U);
/*
* Emit the key name.
@@ -313,8 +313,8 @@ verify(isccc_sexpr_t *alist, unsigned char *data, unsigned int length,
/*
* Verify.
*/
- if (!isc_safe_memcmp((unsigned char *) isccc_sexpr_tostring(hmd5),
- digestb64, HMD5_LENGTH))
+ if (!isc_safe_memequal((unsigned char *) isccc_sexpr_tostring(hmd5),
+ digestb64, HMD5_LENGTH))
return (ISCCC_R_BADAUTH);
return (ISC_R_SUCCESS);
diff --git a/lib/isccc/sexpr.c b/lib/isccc/sexpr.c
index df11a9303175..9b7d5d7f3749 100644
--- a/lib/isccc/sexpr.c
+++ b/lib/isccc/sexpr.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004, 2005, 2007, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004, 2005, 2007, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -40,6 +40,7 @@
#include <string.h>
#include <isc/assertions.h>
+#include <isc/print.h>
#include <isccc/sexpr.h>
#include <isccc/util.h>
diff --git a/lib/isccfg/api b/lib/isccfg/api
index c3c9a03869ed..bb8c0f039480 100644
--- a/lib/isccfg/api
+++ b/lib/isccfg/api
@@ -4,6 +4,6 @@
# 9.8: 80-89, 120-129
# 9.9: 90-109
# 9.9-sub: 130-139
-LIBINTERFACE = 92
-LIBREVISION = 4
-LIBAGE = 2
+LIBINTERFACE = 93
+LIBREVISION = 0
+LIBAGE = 3
diff --git a/lib/isccfg/include/isccfg/cfg.h b/lib/isccfg/include/isccfg/cfg.h
index a99c7637bb85..123521779453 100644
--- a/lib/isccfg/include/isccfg/cfg.h
+++ b/lib/isccfg/include/isccfg/cfg.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2010, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2010, 2013-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -247,6 +247,18 @@ cfg_obj_asuint64(const cfg_obj_t *obj);
* \li A 64-bit unsigned integer.
*/
+isc_uint32_t
+cfg_obj_asfixedpoint(const cfg_obj_t *obj);
+/*%<
+ * Returns the value of a configuration object of fixed point number.
+ *
+ * Requires:
+ * \li 'obj' points to a valid configuration object of fixed point type.
+ *
+ * Returns:
+ * \li A 32-bit unsigned integer.
+ */
+
isc_boolean_t
cfg_obj_isstring(const cfg_obj_t *obj);
/*%<
diff --git a/lib/isccfg/include/isccfg/grammar.h b/lib/isccfg/include/isccfg/grammar.h
index ee76ff29ce7d..2196730c976e 100644
--- a/lib/isccfg/include/isccfg/grammar.h
+++ b/lib/isccfg/include/isccfg/grammar.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2011, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2011, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -255,6 +255,7 @@ LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_tuple;
LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_sockaddr;
LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_netprefix;
LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_void;
+LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_fixedpoint;
/*@}*/
/*@{*/
@@ -278,6 +279,7 @@ LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_netprefix;
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_void;
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_token;
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_unsupported;
+LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_fixedpoint;
/*@}*/
isc_result_t
@@ -438,6 +440,12 @@ void
cfg_doc_void(cfg_printer_t *pctx, const cfg_type_t *type);
isc_result_t
+cfg_parse_fixedpoint(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
+
+void
+cfg_print_fixedpoint(cfg_printer_t *pctx, const cfg_obj_t *obj);
+
+isc_result_t
cfg_parse_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
void
diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c
index 1c82f9bfd068..0787ec5e0ddc 100644
--- a/lib/isccfg/namedconf.c
+++ b/lib/isccfg/namedconf.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -105,6 +105,7 @@ static cfg_type_t cfg_type_optional_class;
static cfg_type_t cfg_type_optional_facility;
static cfg_type_t cfg_type_optional_keyref;
static cfg_type_t cfg_type_optional_port;
+static cfg_type_t cfg_type_optional_uint32;
static cfg_type_t cfg_type_options;
static cfg_type_t cfg_type_portiplist;
static cfg_type_t cfg_type_querysource4;
@@ -745,7 +746,10 @@ parse_serverid(cfg_parser_t *pctx, const cfg_type_t *type,
return (cfg_create_obj(pctx, &cfg_type_none, ret));
if (pctx->token.type == isc_tokentype_string &&
strcasecmp(TOKEN_STRING(pctx), "hostname") == 0) {
- return (cfg_create_obj(pctx, &cfg_type_hostname, ret));
+ result = cfg_create_obj(pctx, &cfg_type_hostname, ret);
+ if (result == ISC_R_SUCCESS)
+ (*ret)->value.boolean = ISC_TRUE;
+ return (result);
}
cfg_ungettoken(pctx);
return (cfg_parse_qstring(pctx, type, ret));
@@ -841,6 +845,58 @@ static cfg_type_t cfg_type_bracketed_portlist = {
&cfg_rep_list, &cfg_type_portrange
};
+#ifdef ENABLE_FETCHLIMIT
+/*%
+ * fetch-quota-params
+ */
+static cfg_tuplefielddef_t fetchquota_fields[] = {
+ { "frequency", &cfg_type_uint32, 0 },
+ { "low", &cfg_type_fixedpoint, 0 },
+ { "high", &cfg_type_fixedpoint, 0 },
+ { "discount", &cfg_type_fixedpoint, 0 },
+ { NULL, NULL, 0 }
+};
+
+static cfg_type_t cfg_type_fetchquota = {
+ "fetchquota", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple,
+ &cfg_rep_tuple, fetchquota_fields
+};
+
+/*%
+ * fetches-per-server or fetches-per-zone
+ */
+static const char *response_enums[] = { "drop", "fail", NULL };
+
+static isc_result_t
+parse_optional_response(cfg_parser_t *pctx, const cfg_type_t *type,
+ cfg_obj_t **ret)
+{
+ return (parse_enum_or_other(pctx, type, &cfg_type_void, ret));
+}
+
+static void
+doc_optional_response(cfg_printer_t *pctx, const cfg_type_t *type) {
+ UNUSED(type);
+ cfg_print_cstr(pctx, "[ ( drop | fail ) ]");
+}
+
+static cfg_type_t cfg_type_responsetype = {
+ "responsetype", parse_optional_response, cfg_print_ustring,
+ doc_optional_response, &cfg_rep_string, response_enums
+};
+
+static cfg_tuplefielddef_t fetchesper_fields[] = {
+ { "fetches", &cfg_type_uint32, 0 },
+ { "response", &cfg_type_responsetype, 0 },
+ { NULL, NULL, 0 }
+};
+
+static cfg_type_t cfg_type_fetchesper = {
+ "fetchesper", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple,
+ &cfg_rep_tuple, fetchesper_fields
+};
+#endif /* ENABLE_FETCHLIMIT */
+
/*%
* Clauses that can be found within the top level of the named.conf
* file only.
@@ -1029,7 +1085,7 @@ static cfg_type_t cfg_type_masterformat = {
* zone <string> [ policy (given|disabled|passthru|
* nxdomain|nodata|cname <domain> ) ]
* [ recursive-only yes|no ] [ max-policy-ttl number ] ;
- * } [ recursive-only yes|no ] [ max-policy-ttl number ] ;
+ * } [ recursive-only yes|no ] [ max-policy-ttl number ]
* [ break-dnssec yes|no ] [ min-ns-dots number ] ;
*/
@@ -1088,7 +1144,7 @@ cleanup:
}
/*
- * Parse a tuple consisting of any kind of required field followed
+ * Parse a tuple consisting of any kind of required field followed
* by 2 or more optional keyvalues that can be in any order.
*/
static isc_result_t
@@ -1280,8 +1336,7 @@ static cfg_type_t cfg_type_rrl = {
*/
static void
-print_lookaside(cfg_printer_t *pctx, const cfg_obj_t *obj)
-{
+print_lookaside(cfg_printer_t *pctx, const cfg_obj_t *obj) {
const cfg_obj_t *domain = obj->value.tuple[0];
if (domain->value.string.length == 4 &&
@@ -1384,6 +1439,11 @@ view_clauses[] = {
{ "empty-server", &cfg_type_astring, 0 },
{ "empty-zones-enable", &cfg_type_boolean, 0 },
{ "fetch-glue", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
+#ifdef ENABLE_FETCHLIMIT
+ { "fetch-quota-params", &cfg_type_fetchquota, 0 },
+ { "fetches-per-server", &cfg_type_fetchesper, 0 },
+ { "fetches-per-zone", &cfg_type_fetchesper, 0 },
+#endif /* ENABLE_FETCHLIMIT */
{ "ixfr-from-differences", &cfg_type_ixfrdifftype, 0 },
{ "lame-ttl", &cfg_type_uint32, 0 },
{ "max-acache-size", &cfg_type_sizenodefault, 0 },
@@ -1610,24 +1670,6 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bindkeys = {
&cfg_rep_map, bindkeys_clausesets
};
-/*% The new-zone-file syntax (for zones added by 'rndc addzone') */
-static cfg_clausedef_t
-newzones_clauses[] = {
- { "zone", &cfg_type_zone, CFG_CLAUSEFLAG_MULTI },
- { NULL, NULL, 0 }
-};
-
-static cfg_clausedef_t *
-newzones_clausesets[] = {
- newzones_clauses,
- NULL
-};
-
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_newzones = {
- "newzones", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody,
- &cfg_rep_map, newzones_clausesets
-};
-
/*% The "options" statement syntax. */
static cfg_clausedef_t *
@@ -1824,6 +1866,23 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_addzoneconf = {
&cfg_rep_map, addzoneconf_clausesets
};
+/*% The new-zone-file syntax (for zones added by 'rndc addzone') */
+static cfg_clausedef_t
+newzones_clauses[] = {
+ { "zone", &cfg_type_addzone, CFG_CLAUSEFLAG_MULTI },
+ { NULL, NULL, 0 }
+};
+
+static cfg_clausedef_t *
+newzones_clausesets[] = {
+ newzones_clauses,
+ NULL
+};
+
+LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_newzones = {
+ "newzones", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, newzones_clausesets
+};
static isc_result_t
parse_unitstring(char *str, isc_resourcevalue_t *valuep) {
diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c
index f14c5d6221f6..7c969961f4ca 100644
--- a/lib/isccfg/parser.c
+++ b/lib/isccfg/parser.c
@@ -15,12 +15,12 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
/*! \file */
#include <config.h>
+#include <stdlib.h>
+
#include <isc/buffer.h>
#include <isc/dir.h>
#include <isc/formatcheck.h>
@@ -122,6 +122,7 @@ cfg_rep_t cfg_rep_tuple = { "tuple", free_tuple };
cfg_rep_t cfg_rep_sockaddr = { "sockaddr", free_noop };
cfg_rep_t cfg_rep_netprefix = { "netprefix", free_noop };
cfg_rep_t cfg_rep_void = { "void", free_noop };
+cfg_rep_t cfg_rep_fixedpoint = { "fixedpoint", free_noop };
/*
* Configuration type definitions.
@@ -601,6 +602,79 @@ cfg_type_t cfg_type_void = {
"void", cfg_parse_void, cfg_print_void, cfg_doc_void, &cfg_rep_void,
NULL };
+/*
+ * Fixed point
+ */
+isc_result_t
+cfg_parse_fixedpoint(cfg_parser_t *pctx, const cfg_type_t *type,
+ cfg_obj_t **ret)
+{
+ isc_result_t result;
+ cfg_obj_t *obj = NULL;
+ size_t n1, n2, n3, l;
+ const char *p;
+
+ UNUSED(type);
+
+ CHECK(cfg_gettoken(pctx, 0));
+ if (pctx->token.type != isc_tokentype_string) {
+ cfg_parser_error(pctx, CFG_LOG_NEAR,
+ "expected fixed point number");
+ return (ISC_R_UNEXPECTEDTOKEN);
+ }
+
+
+ p = TOKEN_STRING(pctx);
+ l = strlen(p);
+ n1 = strspn(p, "0123456789");
+ n2 = strspn(p + n1, ".");
+ n3 = strspn(p + n1 + n2, "0123456789");
+
+ if ((n1 + n2 + n3 != l) || (n1 + n3 == 0) ||
+ n1 > 5 || n2 > 1 || n3 > 2) {
+ cfg_parser_error(pctx, CFG_LOG_NEAR,
+ "expected fixed point number");
+ return (ISC_R_UNEXPECTEDTOKEN);
+ }
+
+ CHECK(cfg_create_obj(pctx, &cfg_type_fixedpoint, &obj));
+
+ obj->value.uint32 = strtoul(p, NULL, 10) * 100;
+ switch (n3) {
+ case 2:
+ obj->value.uint32 += strtoul(p + n1 + n2, NULL, 10);
+ break;
+ case 1:
+ obj->value.uint32 += strtoul(p + n1 + n2, NULL, 10) * 10;
+ break;
+ }
+ *ret = obj;
+
+ cleanup:
+ return (result);
+}
+
+void
+cfg_print_fixedpoint(cfg_printer_t *pctx, const cfg_obj_t *obj) {
+ char buf[64];
+ int n;
+
+ n = snprintf(buf, sizeof(buf), "%u.%02u",
+ obj->value.uint32/100, obj->value.uint32%100);
+ INSIST(n > 0 && (size_t)n < sizeof(buf));
+ cfg_print_chars(pctx, buf, strlen(buf));
+}
+
+isc_uint32_t
+cfg_obj_asfixedpoint(const cfg_obj_t *obj) {
+ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_fixedpoint);
+ return (obj->value.uint32);
+}
+
+cfg_type_t cfg_type_fixedpoint = {
+ "fixedpoint", cfg_parse_fixedpoint, cfg_print_fixedpoint,
+ cfg_doc_terminal, &cfg_rep_fixedpoint, NULL
+};
/*
* uint32
@@ -1442,10 +1516,11 @@ parse_any_named_map(cfg_parser_t *pctx, cfg_type_t *nametype, const cfg_type_t *
CHECK(cfg_parse_obj(pctx, nametype, &idobj));
CHECK(cfg_parse_map(pctx, type, &mapobj));
mapobj->value.map.id = idobj;
- idobj = NULL;
*ret = mapobj;
+ return (result);
cleanup:
CLEANUP_OBJ(idobj);
+ CLEANUP_OBJ(mapobj);
return (result);
}
@@ -2332,9 +2407,10 @@ parser_complain(cfg_parser_t *pctx, isc_boolean_t is_warning,
current_file(pctx), pctx->line);
len = vsnprintf(message, sizeof(message), format, args);
+#define ELIPSIS " ... "
if (len >= sizeof(message))
- FATAL_ERROR(__FILE__, __LINE__,
- "error message would overflow");
+ strcpy(message + sizeof(message) - sizeof(ELIPSIS) - 1,
+ ELIPSIS);
if ((flags & (CFG_LOG_NEAR|CFG_LOG_BEFORE|CFG_LOG_NOPREP)) != 0) {
isc_region_t r;
diff --git a/lib/lwres/api b/lib/lwres/api
index db314129f3a3..14fd6164e88c 100644
--- a/lib/lwres/api
+++ b/lib/lwres/api
@@ -5,5 +5,5 @@
# 9.9: 90-109
# 9.9-sub: 130-139
LIBINTERFACE = 91
-LIBREVISION = 2
+LIBREVISION = 3
LIBAGE = 0
diff --git a/lib/lwres/herror.c b/lib/lwres/herror.c
index 0fe6097d07c1..6ded03463b3d 100644
--- a/lib/lwres/herror.c
+++ b/lib/lwres/herror.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004, 2005, 2007, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004, 2005, 2007, 2011, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -75,6 +75,8 @@ static const char rcsid[] =
#include <stdio.h>
+#include <isc/print.h>
+
#include <lwres/netdb.h>
#include <lwres/platform.h>
diff --git a/lib/lwres/man/lwres.html b/lib/lwres/man/lwres.html
index cb8a0776af48..1fd396135e86 100644
--- a/lib/lwres/man/lwres.html
+++ b/lib/lwres/man/lwres.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres &#8212; introduction to the lightweight resolver library</p>
@@ -32,7 +32,7 @@
<div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;lwres/lwres.h&gt;</pre></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543357"></a><h2>DESCRIPTION</h2>
+<a name="id2543360"></a><h2>DESCRIPTION</h2>
<p>
The BIND 9 lightweight resolver library is a simple, name service
independent stub resolver library. It provides hostname-to-address
@@ -47,7 +47,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543370"></a><h2>OVERVIEW</h2>
+<a name="id2543372"></a><h2>OVERVIEW</h2>
<p>
The lwresd library implements multiple name service APIs.
The standard
@@ -101,7 +101,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543434"></a><h2>CLIENT-SIDE LOW-LEVEL API CALL FLOW</h2>
+<a name="id2543436"></a><h2>CLIENT-SIDE LOW-LEVEL API CALL FLOW</h2>
<p>
When a client program wishes to make an lwres request using the
native low-level API, it typically performs the following
@@ -149,7 +149,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543582"></a><h2>SERVER-SIDE LOW-LEVEL API CALL FLOW</h2>
+<a name="id2543585"></a><h2>SERVER-SIDE LOW-LEVEL API CALL FLOW</h2>
<p>
When implementing the server side of the lightweight resolver
protocol using the lwres library, a sequence of actions like the
@@ -191,7 +191,7 @@
<p></p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543666"></a><h2>SEE ALSO</h2>
+<a name="id2543668"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres_gethostent</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres_getipnode</span>(3)</span>,
diff --git a/lib/lwres/man/lwres_buffer.html b/lib/lwres/man/lwres_buffer.html
index 4e7735ef8169..4d29441ca17a 100644
--- a/lib/lwres/man/lwres_buffer.html
+++ b/lib/lwres/man/lwres_buffer.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_buffer_init, lwres_buffer_invalidate, lwres_buffer_add, lwres_buffer_subtract, lwres_buffer_clear, lwres_buffer_first, lwres_buffer_forward, lwres_buffer_back, lwres_buffer_getuint8, lwres_buffer_putuint8, lwres_buffer_getuint16, lwres_buffer_putuint16, lwres_buffer_getuint32, lwres_buffer_putuint32, lwres_buffer_putmem, lwres_buffer_getmem &#8212; lightweight resolver buffer management</p>
@@ -262,7 +262,7 @@ void
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543901"></a><h2>DESCRIPTION</h2>
+<a name="id2543904"></a><h2>DESCRIPTION</h2>
<p>
These functions provide bounds checked access to a region of memory
where data is being read or written.
diff --git a/lib/lwres/man/lwres_config.html b/lib/lwres/man/lwres_config.html
index b3b81f7a8288..3fc8826342ed 100644
--- a/lib/lwres/man/lwres_config.html
+++ b/lib/lwres/man/lwres_config.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_conf_init, lwres_conf_clear, lwres_conf_parse, lwres_conf_print, lwres_conf_get &#8212; lightweight resolver configuration</p>
@@ -90,7 +90,7 @@ lwres_conf_t *
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543450"></a><h2>DESCRIPTION</h2>
+<a name="id2543452"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_conf_init()</code>
creates an empty
<span class="type">lwres_conf_t</span>
@@ -123,7 +123,7 @@ lwres_conf_t *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543517"></a><h2>RETURN VALUES</h2>
+<a name="id2543520"></a><h2>RETURN VALUES</h2>
<p><code class="function">lwres_conf_parse()</code>
returns <span class="errorcode">LWRES_R_SUCCESS</span>
if it successfully read and parsed
@@ -142,13 +142,13 @@ lwres_conf_t *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543555"></a><h2>SEE ALSO</h2>
+<a name="id2543557"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">stdio</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543580"></a><h2>FILES</h2>
+<a name="id2543582"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
diff --git a/lib/lwres/man/lwres_context.html b/lib/lwres/man/lwres_context.html
index ba6b858a4d32..6ca8be4fdc43 100644
--- a/lib/lwres/man/lwres_context.html
+++ b/lib/lwres/man/lwres_context.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_context_create, lwres_context_destroy, lwres_context_nextserial, lwres_context_initserial, lwres_context_freemem, lwres_context_allocmem, lwres_context_sendrecv &#8212; lightweight resolver context management</p>
@@ -172,7 +172,7 @@ void *
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543541"></a><h2>DESCRIPTION</h2>
+<a name="id2543543"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_context_create()</code>
creates a <span class="type">lwres_context_t</span> structure for use in
lightweight resolver operations. It holds a socket and other
@@ -258,7 +258,7 @@ void *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543729"></a><h2>RETURN VALUES</h2>
+<a name="id2543731"></a><h2>RETURN VALUES</h2>
<p><code class="function">lwres_context_create()</code>
returns <span class="errorcode">LWRES_R_NOMEMORY</span> if memory for
the <span class="type">struct lwres_context</span> could not be allocated,
@@ -283,7 +283,7 @@ void *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543779"></a><h2>SEE ALSO</h2>
+<a name="id2543781"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres_conf_init</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">malloc</span>(3)</span>,
diff --git a/lib/lwres/man/lwres_gabn.html b/lib/lwres/man/lwres_gabn.html
index a00f82d3acaa..dfc6c28038e2 100644
--- a/lib/lwres/man/lwres_gabn.html
+++ b/lib/lwres/man/lwres_gabn.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_gabnrequest_render, lwres_gabnresponse_render, lwres_gabnrequest_parse, lwres_gabnresponse_parse, lwres_gabnresponse_free, lwres_gabnrequest_free &#8212; lightweight resolver getaddrbyname message handling</p>
@@ -178,7 +178,7 @@ void
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543531"></a><h2>DESCRIPTION</h2>
+<a name="id2543533"></a><h2>DESCRIPTION</h2>
<p>
These are low-level routines for creating and parsing
lightweight resolver name-to-address lookup request and
@@ -278,7 +278,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543676"></a><h2>RETURN VALUES</h2>
+<a name="id2543678"></a><h2>RETURN VALUES</h2>
<p>
The getaddrbyname opcode functions
<code class="function">lwres_gabnrequest_render()</code>,
@@ -316,7 +316,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543742"></a><h2>SEE ALSO</h2>
+<a name="id2543745"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres_packet</span>(3)</span>
</p>
</div>
diff --git a/lib/lwres/man/lwres_gai_strerror.html b/lib/lwres/man/lwres_gai_strerror.html
index 85d228ec1544..615f9833913a 100644
--- a/lib/lwres/man/lwres_gai_strerror.html
+++ b/lib/lwres/man/lwres_gai_strerror.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_gai_strerror &#8212; print suitable error string</p>
@@ -42,7 +42,7 @@ char *
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543370"></a><h2>DESCRIPTION</h2>
+<a name="id2543372"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_gai_strerror()</code>
returns an error message corresponding to an error code returned by
<code class="function">getaddrinfo()</code>.
@@ -110,7 +110,7 @@ char *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543586"></a><h2>SEE ALSO</h2>
+<a name="id2543588"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">strerror</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres_getaddrinfo</span>(3)</span>,
diff --git a/lib/lwres/man/lwres_getaddrinfo.html b/lib/lwres/man/lwres_getaddrinfo.html
index b4845f56b440..ac9c3a8d9a91 100644
--- a/lib/lwres/man/lwres_getaddrinfo.html
+++ b/lib/lwres/man/lwres_getaddrinfo.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_getaddrinfo, lwres_freeaddrinfo &#8212; socket address structure to host and service name</p>
@@ -89,7 +89,7 @@ struct addrinfo {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543421"></a><h2>DESCRIPTION</h2>
+<a name="id2543424"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_getaddrinfo()</code>
is used to get a list of IP addresses and port numbers for host
<em class="parameter"><code>hostname</code></em> and service
@@ -283,7 +283,7 @@ struct addrinfo {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543799"></a><h2>RETURN VALUES</h2>
+<a name="id2543801"></a><h2>RETURN VALUES</h2>
<p><code class="function">lwres_getaddrinfo()</code>
returns zero on success or one of the error codes listed in
<span class="citerefentry"><span class="refentrytitle">gai_strerror</span>(3)</span>
@@ -294,7 +294,7 @@ struct addrinfo {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543836"></a><h2>SEE ALSO</h2>
+<a name="id2543838"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres_getaddrinfo</span>(3)</span>,
diff --git a/lib/lwres/man/lwres_gethostent.html b/lib/lwres/man/lwres_gethostent.html
index 3435f1c18078..bc81732ff7b9 100644
--- a/lib/lwres/man/lwres_gethostent.html
+++ b/lib/lwres/man/lwres_gethostent.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_gethostbyname, lwres_gethostbyname2, lwres_gethostbyaddr, lwres_gethostent, lwres_sethostent, lwres_endhostent, lwres_gethostbyname_r, lwres_gethostbyaddr_r, lwres_gethostent_r, lwres_sethostent_r, lwres_endhostent_r &#8212; lightweight resolver get network host entry</p>
@@ -228,7 +228,7 @@ void
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543618"></a><h2>DESCRIPTION</h2>
+<a name="id2543620"></a><h2>DESCRIPTION</h2>
<p>
These functions provide hostname-to-address and
address-to-hostname lookups by means of the lightweight resolver.
@@ -366,7 +366,7 @@ struct hostent {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543969"></a><h2>RETURN VALUES</h2>
+<a name="id2543971"></a><h2>RETURN VALUES</h2>
<p>
The functions
<code class="function">lwres_gethostbyname()</code>,
@@ -430,7 +430,7 @@ struct hostent {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544202"></a><h2>SEE ALSO</h2>
+<a name="id2544204"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">gethostent</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres_getipnode</span>(3)</span>,
@@ -439,7 +439,7 @@ struct hostent {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544236"></a><h2>BUGS</h2>
+<a name="id2544238"></a><h2>BUGS</h2>
<p><code class="function">lwres_gethostbyname()</code>,
<code class="function">lwres_gethostbyname2()</code>,
<code class="function">lwres_gethostbyaddr()</code>
diff --git a/lib/lwres/man/lwres_getipnode.html b/lib/lwres/man/lwres_getipnode.html
index 6fe0ec64750a..f3aeef3b306b 100644
--- a/lib/lwres/man/lwres_getipnode.html
+++ b/lib/lwres/man/lwres_getipnode.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_getipnodebyname, lwres_getipnodebyaddr, lwres_freehostent &#8212; lightweight resolver nodename / address translation API</p>
@@ -98,7 +98,7 @@ void
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543441"></a><h2>DESCRIPTION</h2>
+<a name="id2543443"></a><h2>DESCRIPTION</h2>
<p>
These functions perform thread safe, protocol independent
nodename-to-address and address-to-nodename
@@ -217,7 +217,7 @@ struct hostent {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543699"></a><h2>RETURN VALUES</h2>
+<a name="id2543701"></a><h2>RETURN VALUES</h2>
<p>
If an error occurs,
<code class="function">lwres_getipnodebyname()</code>
@@ -261,7 +261,7 @@ struct hostent {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543796"></a><h2>SEE ALSO</h2>
+<a name="id2543798"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">RFC2553</span></span>,
<span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
diff --git a/lib/lwres/man/lwres_getnameinfo.html b/lib/lwres/man/lwres_getnameinfo.html
index 6153e3b372c1..72efdfc20679 100644
--- a/lib/lwres/man/lwres_getnameinfo.html
+++ b/lib/lwres/man/lwres_getnameinfo.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_getnameinfo &#8212; lightweight resolver socket address structure to hostname and
@@ -82,7 +82,7 @@ int
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543402"></a><h2>DESCRIPTION</h2>
+<a name="id2543404"></a><h2>DESCRIPTION</h2>
<p>
This function is equivalent to the
<span class="citerefentry"><span class="refentrytitle">getnameinfo</span>(3)</span> function defined in RFC2133.
@@ -149,13 +149,13 @@ int
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543544"></a><h2>RETURN VALUES</h2>
+<a name="id2543546"></a><h2>RETURN VALUES</h2>
<p><code class="function">lwres_getnameinfo()</code>
returns 0 on success or a non-zero error code if an error occurs.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543556"></a><h2>SEE ALSO</h2>
+<a name="id2543558"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">RFC2133</span></span>,
<span class="citerefentry"><span class="refentrytitle">getservbyport</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
@@ -165,7 +165,7 @@ int
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543613"></a><h2>BUGS</h2>
+<a name="id2543616"></a><h2>BUGS</h2>
<p>
RFC2133 fails to define what the nonzero return values of
<span class="citerefentry"><span class="refentrytitle">getnameinfo</span>(3)</span>
diff --git a/lib/lwres/man/lwres_getrrsetbyname.html b/lib/lwres/man/lwres_getrrsetbyname.html
index ad56c485b10d..6865feae2307 100644
--- a/lib/lwres/man/lwres_getrrsetbyname.html
+++ b/lib/lwres/man/lwres_getrrsetbyname.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_getrrsetbyname, lwres_freerrset &#8212; retrieve DNS records</p>
@@ -102,7 +102,7 @@ struct rrsetinfo {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543424"></a><h2>DESCRIPTION</h2>
+<a name="id2543426"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_getrrsetbyname()</code>
gets a set of resource records associated with a
<em class="parameter"><code>hostname</code></em>, <em class="parameter"><code>class</code></em>,
@@ -150,7 +150,7 @@ struct rrsetinfo {
<p></p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543536"></a><h2>RETURN VALUES</h2>
+<a name="id2543538"></a><h2>RETURN VALUES</h2>
<p><code class="function">lwres_getrrsetbyname()</code>
returns zero on success, and one of the following error codes if
an error occurred:
@@ -184,7 +184,7 @@ struct rrsetinfo {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543636"></a><h2>SEE ALSO</h2>
+<a name="id2543638"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>.
</p>
</div>
diff --git a/lib/lwres/man/lwres_gnba.html b/lib/lwres/man/lwres_gnba.html
index f05c05b36d85..d6b7c27c745d 100644
--- a/lib/lwres/man/lwres_gnba.html
+++ b/lib/lwres/man/lwres_gnba.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_parse, lwres_gnbaresponse_parse, lwres_gnbaresponse_free, lwres_gnbarequest_free &#8212; lightweight resolver getnamebyaddress message handling</p>
@@ -183,7 +183,7 @@ void
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543534"></a><h2>DESCRIPTION</h2>
+<a name="id2543537"></a><h2>DESCRIPTION</h2>
<p>
These are low-level routines for creating and parsing
lightweight resolver address-to-name lookup request and
@@ -270,7 +270,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543674"></a><h2>RETURN VALUES</h2>
+<a name="id2543676"></a><h2>RETURN VALUES</h2>
<p>
The getnamebyaddr opcode functions
<code class="function">lwres_gnbarequest_render()</code>,
@@ -308,7 +308,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543740"></a><h2>SEE ALSO</h2>
+<a name="id2543742"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres_packet</span>(3)</span>.
</p>
</div>
diff --git a/lib/lwres/man/lwres_hstrerror.html b/lib/lwres/man/lwres_hstrerror.html
index 654e73f12d8e..39713fb413bb 100644
--- a/lib/lwres/man/lwres_hstrerror.html
+++ b/lib/lwres/man/lwres_hstrerror.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_herror, lwres_hstrerror &#8212; lightweight resolver error message generation</p>
@@ -50,7 +50,7 @@ const char *
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543388"></a><h2>DESCRIPTION</h2>
+<a name="id2543390"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_herror()</code>
prints the string <em class="parameter"><code>s</code></em> on
<span class="type">stderr</span> followed by the string generated by
@@ -84,7 +84,7 @@ const char *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543507"></a><h2>RETURN VALUES</h2>
+<a name="id2543509"></a><h2>RETURN VALUES</h2>
<p>
The string <span class="errorname">Unknown resolver error</span> is returned by
<code class="function">lwres_hstrerror()</code>
@@ -94,7 +94,7 @@ const char *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543527"></a><h2>SEE ALSO</h2>
+<a name="id2543529"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">herror</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>.
diff --git a/lib/lwres/man/lwres_inetntop.html b/lib/lwres/man/lwres_inetntop.html
index 99cad662b090..fb3264ceb4bb 100644
--- a/lib/lwres/man/lwres_inetntop.html
+++ b/lib/lwres/man/lwres_inetntop.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_net_ntop &#8212; lightweight resolver IP address presentation</p>
@@ -62,7 +62,7 @@ const char *
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543388"></a><h2>DESCRIPTION</h2>
+<a name="id2543390"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_net_ntop()</code>
converts an IP address of protocol family
<em class="parameter"><code>af</code></em> &#8212; IPv4 or IPv6 &#8212; at
@@ -80,7 +80,7 @@ const char *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543420"></a><h2>RETURN VALUES</h2>
+<a name="id2543422"></a><h2>RETURN VALUES</h2>
<p>
If successful, the function returns <em class="parameter"><code>dst</code></em>:
a pointer to a string containing the presentation format of the
@@ -93,7 +93,7 @@ const char *
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543453"></a><h2>SEE ALSO</h2>
+<a name="id2543456"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">RFC1884</span></span>,
<span class="citerefentry"><span class="refentrytitle">inet_ntop</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">errno</span>(3)</span>.
diff --git a/lib/lwres/man/lwres_noop.html b/lib/lwres/man/lwres_noop.html
index e1d499cff704..274a2c9038b0 100644
--- a/lib/lwres/man/lwres_noop.html
+++ b/lib/lwres/man/lwres_noop.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_nooprequest_render, lwres_noopresponse_render, lwres_nooprequest_parse, lwres_noopresponse_parse, lwres_noopresponse_free, lwres_nooprequest_free &#8212; lightweight resolver no-op message handling</p>
@@ -179,7 +179,7 @@ void
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543531"></a><h2>DESCRIPTION</h2>
+<a name="id2543533"></a><h2>DESCRIPTION</h2>
<p>
These are low-level routines for creating and parsing
lightweight resolver no-op request and response messages.
@@ -270,7 +270,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543682"></a><h2>RETURN VALUES</h2>
+<a name="id2543684"></a><h2>RETURN VALUES</h2>
<p>
The no-op opcode functions
<code class="function">lwres_nooprequest_render()</code>,
@@ -309,7 +309,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543748"></a><h2>SEE ALSO</h2>
+<a name="id2543750"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres_packet</span>(3)</span>
</p>
</div>
diff --git a/lib/lwres/man/lwres_packet.html b/lib/lwres/man/lwres_packet.html
index d0542daa72db..648417bd8f83 100644
--- a/lib/lwres/man/lwres_packet.html
+++ b/lib/lwres/man/lwres_packet.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_lwpacket_renderheader, lwres_lwpacket_parseheader &#8212; lightweight resolver packet handling functions</p>
@@ -66,7 +66,7 @@ lwres_result_t
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543399"></a><h2>DESCRIPTION</h2>
+<a name="id2543401"></a><h2>DESCRIPTION</h2>
<p>
These functions rely on a
<span class="type">struct lwres_lwpacket</span>
@@ -219,7 +219,7 @@ struct lwres_lwpacket {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543716"></a><h2>RETURN VALUES</h2>
+<a name="id2543718"></a><h2>RETURN VALUES</h2>
<p>
Successful calls to
<code class="function">lwres_lwpacket_renderheader()</code> and
diff --git a/lib/lwres/man/lwres_resutil.html b/lib/lwres/man/lwres_resutil.html
index 28e571b4aec0..c62a289d9692 100644
--- a/lib/lwres/man/lwres_resutil.html
+++ b/lib/lwres/man/lwres_resutil.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="id2476275"></a><div class="titlepage"></div>
+<a name="id2476282"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>lwres_string_parse, lwres_addr_parse, lwres_getaddrsbyname, lwres_getnamebyaddr &#8212; lightweight resolver utility functions</p>
@@ -134,7 +134,7 @@ lwres_result_t
</div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543476"></a><h2>DESCRIPTION</h2>
+<a name="id2543478"></a><h2>DESCRIPTION</h2>
<p><code class="function">lwres_string_parse()</code>
retrieves a DNS-encoded string starting the current pointer of
lightweight resolver buffer <em class="parameter"><code>b</code></em>: i.e.
@@ -210,7 +210,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543614"></a><h2>RETURN VALUES</h2>
+<a name="id2543617"></a><h2>RETURN VALUES</h2>
<p>
Successful calls to
<code class="function">lwres_string_parse()</code>
@@ -248,7 +248,7 @@ typedef struct {
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543686"></a><h2>SEE ALSO</h2>
+<a name="id2543688"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">lwres_buffer</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres_gabn</span>(3)</span>.
diff --git a/lib/lwres/print.c b/lib/lwres/print.c
index 4f44814bece7..6346c718c362 100644
--- a/lib/lwres/print.c
+++ b/lib/lwres/print.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2011, 2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -66,6 +66,7 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
int h;
int l;
int q;
+ int z;
int alt;
int zero;
int left;
@@ -110,7 +111,7 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
/*
* Reset flags.
*/
- dot = space = plus = left = zero = alt = h = l = q = 0;
+ dot = space = plus = left = zero = alt = h = l = q = z = 0;
width = precision = 0;
head = "";
length = pad = zeropad = 0;
@@ -194,6 +195,10 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
format++;
}
goto doint;
+ case 'z':
+ z = 1;
+ format++;
+ goto doint;
case 'n':
case 'i':
case 'd':
@@ -216,6 +221,11 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
p = va_arg(ap, long *);
REQUIRE(p != NULL);
*p = str - save;
+ } else if (z) {
+ size_t *p;
+ p = va_arg(ap, size_t *);
+ REQUIRE(p != NULL);
+ *p = str - save;
} else {
int *p;
p = va_arg(ap, int *);
@@ -229,6 +239,8 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
tmpi = va_arg(ap, long long int);
else if (l)
tmpi = va_arg(ap, long int);
+ else if (z)
+ tmpi = va_arg(ap, size_t);
else
tmpi = va_arg(ap, int);
if (tmpi < 0) {
@@ -252,6 +264,8 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
unsigned long long int);
else if (l)
tmpui = va_arg(ap, long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, int);
sprintf(buf,
@@ -265,6 +279,8 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
unsigned long long int);
else if (l)
tmpui = va_arg(ap, unsigned long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, unsigned int);
sprintf(buf, "%" LWRES_PRINT_QUADFORMAT "u",
@@ -276,6 +292,8 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
unsigned long long int);
else if (l)
tmpui = va_arg(ap, unsigned long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, unsigned int);
if (alt) {
@@ -292,6 +310,8 @@ lwres__print_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
unsigned long long int);
else if (l)
tmpui = va_arg(ap, unsigned long int);
+ else if (z)
+ tmpui = va_arg(ap, size_t);
else
tmpui = va_arg(ap, unsigned int);
if (alt) {
diff --git a/version b/version
index a96eb09eee10..db42a16d366d 100644
--- a/version
+++ b/version
@@ -5,7 +5,7 @@ PRODUCT=BIND
DESCRIPTION="(Extended Support Version)"
MAJORVER=9
MINORVER=9
-PATCHVER=7
-RELEASETYPE=-P
-RELEASEVER=2
+PATCHVER=8
+RELEASETYPE=
+RELEASEVER=
EXTENSIONS=