summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInternet Software Consortium, Inc <@isc.org>2012-10-29 07:27:43 -0600
committerInternet Software Consortium, Inc <@isc.org>2012-10-29 07:27:43 -0600
commit56b61b7cd52fdce3fd477a28c8dd55db76eba042 (patch)
tree5619c48ff3e920b87bc1c1a2de09ba68426c38bf
parentc450e7bf1c721a84ef09d825e79cf998159decc0 (diff)
downloadbind9-56b61b7cd52fdce3fd477a28c8dd55db76eba042.tar.gz
9.9.2
-rw-r--r--CHANGES137
-rw-r--r--Makefile.in2
-rw-r--r--README12
-rw-r--r--acconfig.h5
-rw-r--r--bin/Makefile.in4
-rw-r--r--bin/check/Makefile.in2
-rw-r--r--bin/check/check-tool.c5
-rw-r--r--bin/confgen/Makefile.in2
-rw-r--r--bin/confgen/unix/Makefile.in2
-rw-r--r--bin/dig/Makefile.in2
-rw-r--r--bin/dig/nslookup.c11
-rw-r--r--bin/dnssec/Makefile.in24
-rw-r--r--bin/dnssec/dnssec-dsfromkey.86
-rw-r--r--bin/dnssec/dnssec-dsfromkey.c7
-rw-r--r--bin/dnssec/dnssec-dsfromkey.docbook6
-rw-r--r--bin/dnssec/dnssec-dsfromkey.html19
-rw-r--r--bin/dnssec/dnssec-keyfromlabel.86
-rw-r--r--bin/dnssec/dnssec-keyfromlabel.c8
-rw-r--r--bin/dnssec/dnssec-keyfromlabel.docbook6
-rw-r--r--bin/dnssec/dnssec-keyfromlabel.html17
-rw-r--r--bin/dnssec/dnssec-keygen.817
-rw-r--r--bin/dnssec/dnssec-keygen.c34
-rw-r--r--bin/dnssec/dnssec-keygen.docbook22
-rw-r--r--bin/dnssec/dnssec-keygen.html31
-rw-r--r--bin/dnssec/dnssec-settime.c7
-rw-r--r--bin/dnssec/dnssec-signzone.c518
-rw-r--r--bin/dnssec/dnssec-verify.897
-rw-r--r--bin/dnssec/dnssec-verify.c325
-rw-r--r--bin/dnssec/dnssec-verify.docbook185
-rw-r--r--bin/dnssec/dnssec-verify.html118
-rw-r--r--bin/dnssec/dnssectool.c1260
-rw-r--r--bin/dnssec/dnssectool.h15
-rw-r--r--bin/named/Makefile.in2
-rwxr-xr-xbin/named/bindkeys.pl2
-rw-r--r--bin/named/builtin.c6
-rw-r--r--bin/named/client.c34
-rw-r--r--bin/named/config.c3
-rw-r--r--bin/named/controlconf.c6
-rwxr-xr-xbin/named/convertxsl.pl2
-rw-r--r--bin/named/query.c186
-rw-r--r--bin/named/server.c133
-rw-r--r--bin/named/statschannel.c37
-rw-r--r--bin/named/unix/Makefile.in2
-rw-r--r--bin/nsupdate/Makefile.in2
-rw-r--r--bin/nsupdate/nsupdate.c49
-rw-r--r--bin/pkcs11/Makefile.in2
-rw-r--r--bin/python/Makefile.in48
-rw-r--r--bin/python/dnssec-checkds.880
-rw-r--r--bin/python/dnssec-checkds.docbook145
-rw-r--r--bin/python/dnssec-checkds.html85
-rw-r--r--bin/python/dnssec-checkds.py.in274
-rw-r--r--bin/rndc/Makefile.in2
-rw-r--r--bin/tests/Makefile.in2
-rw-r--r--bin/tests/atomic/Makefile.in2
-rw-r--r--bin/tests/b8t.mk2
-rw-r--r--bin/tests/b9t.mk2
-rw-r--r--bin/tests/db/Makefile.in2
-rw-r--r--bin/tests/dnssec-signzone/run-test.sh2
-rw-r--r--bin/tests/dst/Makefile.in2
-rw-r--r--bin/tests/dst/t_dst.c42
-rw-r--r--bin/tests/hashes/Makefile.in2
-rw-r--r--bin/tests/headerdep_test.sh.in2
-rw-r--r--bin/tests/master/Makefile.in2
-rw-r--r--bin/tests/mem/Makefile.in2
-rw-r--r--bin/tests/names/Makefile.in2
-rw-r--r--bin/tests/names/t_names.c24
-rw-r--r--bin/tests/net/Makefile.in2
-rw-r--r--bin/tests/rbt/Makefile.in2
-rw-r--r--bin/tests/rbt_test.txt2
-rw-r--r--bin/tests/resolv.conf.sample2
-rw-r--r--bin/tests/resolver/Makefile.in2
-rw-r--r--bin/tests/resolver/t_resolver.c6
-rw-r--r--bin/tests/sockaddr/Makefile.in2
-rw-r--r--bin/tests/startperf/clean.sh2
-rw-r--r--bin/tests/startperf/makenames.pl2
-rw-r--r--bin/tests/startperf/mkzonefile.pl2
-rw-r--r--bin/tests/startperf/setup.sh2
-rw-r--r--bin/tests/system/Makefile.in4
-rw-r--r--bin/tests/system/acl/clean.sh2
-rw-r--r--bin/tests/system/acl/setup.sh2
-rw-r--r--bin/tests/system/acl/tests.sh2
-rw-r--r--bin/tests/system/addzone/clean.sh2
-rw-r--r--bin/tests/system/addzone/setup.sh2
-rw-r--r--bin/tests/system/addzone/tests.sh2
-rw-r--r--bin/tests/system/allow_query/clean.sh2
-rw-r--r--bin/tests/system/allow_query/setup.sh2
-rw-r--r--bin/tests/system/allow_query/tests.sh2
-rw-r--r--bin/tests/system/autosign/ns1/keygen.sh2
-rw-r--r--bin/tests/system/autosign/ns2/keygen.sh2
-rw-r--r--bin/tests/system/autosign/ns3/keygen.sh228
-rw-r--r--bin/tests/system/autosign/prereq.sh2
-rw-r--r--bin/tests/system/autosign/setup.sh2
-rw-r--r--bin/tests/system/builtin/tests.sh2
-rw-r--r--bin/tests/system/cacheclean/clean.sh2
-rw-r--r--bin/tests/system/checkconf/badtsig.conf22
-rw-r--r--bin/tests/system/checkconf/clean.sh4
-rw-r--r--bin/tests/system/checkconf/good.conf9
-rw-r--r--bin/tests/system/checkconf/tests.sh47
-rw-r--r--bin/tests/system/checkds/clean.sh17
-rwxr-xr-xbin/tests/system/checkds/dig.sh29
-rw-r--r--bin/tests/system/checkds/missing.example.dlv.example.dlv.db2
-rw-r--r--bin/tests/system/checkds/missing.example.dnskey.db3
-rw-r--r--bin/tests/system/checkds/missing.example.ds.db2
-rw-r--r--bin/tests/system/checkds/none.example.dlv.example.dlv.db0
-rw-r--r--bin/tests/system/checkds/none.example.dnskey.db3
-rw-r--r--bin/tests/system/checkds/none.example.ds.db0
-rw-r--r--bin/tests/system/checkds/ok.example.dlv.example.dlv.db2
-rw-r--r--bin/tests/system/checkds/ok.example.dnskey.db2
-rw-r--r--bin/tests/system/checkds/ok.example.ds.db2
-rw-r--r--bin/tests/system/checkds/setup.sh17
-rw-r--r--bin/tests/system/checkds/tests.sh175
-rw-r--r--bin/tests/system/checkds/wrong.example.dlv.example.dlv.db2
-rw-r--r--bin/tests/system/checkds/wrong.example.dnskey.db2
-rw-r--r--bin/tests/system/checkds/wrong.example.ds.db2
-rw-r--r--bin/tests/system/checknames/clean.sh2
-rw-r--r--bin/tests/system/checknames/setup.sh2
-rw-r--r--bin/tests/system/checknames/tests.sh2
-rw-r--r--bin/tests/system/checkzone/clean.sh2
-rw-r--r--bin/tests/system/checkzone/tests.sh2
-rw-r--r--bin/tests/system/cleanall.sh2
-rw-r--r--bin/tests/system/cleanpkcs11.sh4
-rw-r--r--bin/tests/system/conf.sh.in18
-rw-r--r--bin/tests/system/database/clean.sh2
-rw-r--r--bin/tests/system/database/setup.sh2
-rw-r--r--bin/tests/system/database/tests.sh2
-rw-r--r--bin/tests/system/dialup/setup.sh2
-rw-r--r--bin/tests/system/dialup/tests.sh2
-rw-r--r--bin/tests/system/digcomp.pl2
-rw-r--r--bin/tests/system/dlv/clean.sh2
-rwxr-xr-xbin/tests/system/dlv/ns1/sign.sh2
-rwxr-xr-xbin/tests/system/dlv/ns2/sign.sh2
-rwxr-xr-xbin/tests/system/dlv/ns3/sign.sh2
-rwxr-xr-xbin/tests/system/dlv/ns6/sign.sh2
-rw-r--r--bin/tests/system/dlv/setup.sh2
-rw-r--r--bin/tests/system/dlv/tests.sh2
-rw-r--r--bin/tests/system/dlvauto/clean.sh2
-rw-r--r--bin/tests/system/dlvauto/ns1/sign.sh2
-rw-r--r--bin/tests/system/dlvauto/setup.sh2
-rw-r--r--bin/tests/system/dlvauto/tests.sh2
-rw-r--r--bin/tests/system/dlz/clean.sh2
-rw-r--r--bin/tests/system/dlz/prereq.sh.in2
-rw-r--r--bin/tests/system/dlz/tests.sh2
-rw-r--r--bin/tests/system/dlzexternal/Makefile.in2
-rw-r--r--bin/tests/system/dlzexternal/prereq.sh2
-rw-r--r--bin/tests/system/dlzexternal/setup.sh2
-rw-r--r--bin/tests/system/dname/clean.sh2
-rw-r--r--bin/tests/system/dname/tests.sh2
-rw-r--r--bin/tests/system/dns64/clean.sh2
-rw-r--r--bin/tests/system/dns64/ns1/sign.sh2
-rw-r--r--bin/tests/system/dns64/setup.sh2
-rw-r--r--bin/tests/system/dnssec/clean.sh3
-rw-r--r--bin/tests/system/dnssec/dnssec_update_test.pl2
-rw-r--r--bin/tests/system/dnssec/ns1/sign.sh2
-rw-r--r--bin/tests/system/dnssec/ns2/example.db.in11
-rw-r--r--bin/tests/system/dnssec/ns2/sign.sh5
-rw-r--r--bin/tests/system/dnssec/ns3/expired.example.db.in6
-rw-r--r--bin/tests/system/dnssec/ns3/expiring.example.db.in4
-rw-r--r--bin/tests/system/dnssec/ns3/inline.example.db31
-rw-r--r--bin/tests/system/dnssec/ns3/lower.example.db.in26
-rw-r--r--bin/tests/system/dnssec/ns3/named.conf19
-rw-r--r--bin/tests/system/dnssec/ns3/sign.sh39
-rw-r--r--bin/tests/system/dnssec/ns3/upper.example.db.in26
-rw-r--r--bin/tests/system/dnssec/ns4/named3.conf51
-rw-r--r--bin/tests/system/dnssec/prereq.sh2
-rw-r--r--bin/tests/system/dnssec/setup.sh2
-rw-r--r--bin/tests/system/dnssec/tests.sh154
-rw-r--r--bin/tests/system/ecdsa/clean.sh25
-rw-r--r--bin/tests/system/ecdsa/ns1/named.conf42
-rw-r--r--bin/tests/system/ecdsa/ns1/root.db.in26
-rw-r--r--bin/tests/system/ecdsa/ns1/sign.sh47
-rw-r--r--bin/tests/system/ecdsa/ns2/named.conf42
-rw-r--r--bin/tests/system/ecdsa/prereq.sh.in24
-rw-r--r--bin/tests/system/ecdsa/setup.sh21
-rw-r--r--bin/tests/system/ecdsa/tests.sh42
-rw-r--r--bin/tests/system/filter-aaaa/Makefile.in2
-rw-r--r--bin/tests/system/filter-aaaa/clean.sh2
-rwxr-xr-xbin/tests/system/filter-aaaa/ns1/sign.sh2
-rwxr-xr-xbin/tests/system/filter-aaaa/ns4/sign.sh2
-rw-r--r--bin/tests/system/filter-aaaa/prereq.sh2
-rw-r--r--bin/tests/system/filter-aaaa/setup.sh2
-rw-r--r--bin/tests/system/forward/clean.sh2
-rw-r--r--bin/tests/system/forward/tests.sh2
-rw-r--r--bin/tests/system/glue/clean.sh2
-rw-r--r--bin/tests/system/glue/setup.sh2
-rw-r--r--bin/tests/system/glue/tests.sh2
-rw-r--r--bin/tests/system/gost/clean.sh3
-rw-r--r--bin/tests/system/gost/ns1/sign.sh4
-rw-r--r--bin/tests/system/gost/prereq.sh.in2
-rw-r--r--bin/tests/system/gost/setup.sh2
-rw-r--r--bin/tests/system/gost/tests.sh2
-rwxr-xr-xbin/tests/system/ifconfig.sh2
-rw-r--r--bin/tests/system/ixfr/prereq.sh2
-rw-r--r--bin/tests/system/limits/clean.sh2
-rw-r--r--bin/tests/system/limits/tests.sh2
-rw-r--r--bin/tests/system/logfileconfig/clean.sh2
-rw-r--r--bin/tests/system/logfileconfig/setup.sh2
-rw-r--r--bin/tests/system/logfileconfig/tests.sh2
-rw-r--r--bin/tests/system/lwresd/Makefile.in2
-rw-r--r--bin/tests/system/lwresd/lwresd1/resolv.conf2
-rw-r--r--bin/tests/system/lwresd/resolv.conf2
-rw-r--r--bin/tests/system/masterfile/clean.sh2
-rw-r--r--bin/tests/system/masterfile/tests.sh2
-rw-r--r--bin/tests/system/metadata/clean.sh3
-rw-r--r--bin/tests/system/metadata/prereq.sh2
-rw-r--r--bin/tests/system/metadata/setup.sh2
-rw-r--r--bin/tests/system/metadata/tests.sh16
-rw-r--r--bin/tests/system/notify/clean.sh2
-rw-r--r--bin/tests/system/notify/setup.sh2
-rw-r--r--bin/tests/system/notify/tests.sh2
-rw-r--r--bin/tests/system/nsupdate/commandlist15
-rw-r--r--bin/tests/system/nsupdate/ns3/sign.sh2
-rw-r--r--bin/tests/system/nsupdate/setup.sh2
-rw-r--r--bin/tests/system/nsupdate/tests.sh23
-rw-r--r--bin/tests/system/nsupdate/update_test.pl2
-rw-r--r--bin/tests/system/org.isc.bind.system2
-rw-r--r--bin/tests/system/packet.pl2
-rw-r--r--bin/tests/system/pending/clean.sh2
-rw-r--r--bin/tests/system/pending/ns1/sign.sh2
-rw-r--r--bin/tests/system/pending/ns2/sign.sh2
-rw-r--r--bin/tests/system/pending/prereq.sh2
-rw-r--r--bin/tests/system/pending/setup.sh2
-rw-r--r--bin/tests/system/pending/tests.sh2
-rw-r--r--bin/tests/system/pkcs11/clean.sh2
-rw-r--r--bin/tests/system/pkcs11/prereq.sh2
-rw-r--r--bin/tests/system/pkcs11/setup.sh2
-rw-r--r--bin/tests/system/pkcs11/tests.sh2
-rw-r--r--bin/tests/system/redirect/clean.sh2
-rw-r--r--bin/tests/system/redirect/ns1/sign.sh2
-rw-r--r--bin/tests/system/redirect/setup.sh2
-rw-r--r--bin/tests/system/redirect/tests.sh2
-rw-r--r--bin/tests/system/resolver/ans2/ans.pl2
-rw-r--r--bin/tests/system/resolver/ans3/ans.pl2
-rw-r--r--bin/tests/system/resolver/ns6/keygen.sh2
-rw-r--r--bin/tests/system/resolver/prereq.sh2
-rw-r--r--bin/tests/system/rndc/clean.sh2
-rw-r--r--bin/tests/system/rndc/ns2/named.conf9
-rw-r--r--bin/tests/system/rndc/ns2/secondkey.conf26
-rw-r--r--bin/tests/system/rndc/setup.sh2
-rw-r--r--bin/tests/system/rndc/tests.sh8
-rw-r--r--bin/tests/system/rpz/Makefile.in2
-rw-r--r--bin/tests/system/rpz/clean.sh10
-rw-r--r--bin/tests/system/rpz/ns1/root.db8
-rw-r--r--bin/tests/system/rpz/ns2/base-tld2s.db31
-rw-r--r--bin/tests/system/rpz/ns2/named.conf4
-rw-r--r--bin/tests/system/rpz/ns2/tld2.db13
-rw-r--r--bin/tests/system/rpz/ns3/base.db15
-rw-r--r--bin/tests/system/rpz/ns3/crash24
-rw-r--r--bin/tests/system/rpz/ns3/named.conf15
-rw-r--r--bin/tests/system/rpz/ns4/named.conf5
-rw-r--r--bin/tests/system/rpz/ns4/tld4.db6
-rw-r--r--bin/tests/system/rpz/ns5/hints19
-rw-r--r--bin/tests/system/rpz/ns5/named.conf51
-rw-r--r--bin/tests/system/rpz/qperf.sh27
-rw-r--r--bin/tests/system/rpz/rpz.c12
-rw-r--r--bin/tests/system/rpz/setup.sh96
-rw-r--r--bin/tests/system/rpz/test136
-rw-r--r--bin/tests/system/rpz/test217
-rw-r--r--bin/tests/system/rpz/test527
-rw-r--r--bin/tests/system/rpz/tests.sh273
-rw-r--r--bin/tests/system/rrsetorder/clean.sh2
-rw-r--r--bin/tests/system/rsabigexponent/Makefile.in55
-rw-r--r--bin/tests/system/rsabigexponent/bigkey.c250
-rw-r--r--bin/tests/system/rsabigexponent/clean.sh25
-rw-r--r--bin/tests/system/rsabigexponent/conf/bad01.conf21
-rw-r--r--bin/tests/system/rsabigexponent/conf/bad02.conf21
-rw-r--r--bin/tests/system/rsabigexponent/conf/bad03.conf21
-rw-r--r--bin/tests/system/rsabigexponent/conf/good01.conf21
-rw-r--r--bin/tests/system/rsabigexponent/conf/good02.conf21
-rw-r--r--bin/tests/system/rsabigexponent/conf/good03.conf21
-rw-r--r--bin/tests/system/rsabigexponent/ns1/named.conf42
-rw-r--r--bin/tests/system/rsabigexponent/ns1/root.db.in29
-rwxr-xr-xbin/tests/system/rsabigexponent/ns1/sign.sh50
-rw-r--r--bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.key2
-rw-r--r--bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.private10
-rw-r--r--bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.key2
-rw-r--r--bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.private10
-rw-r--r--bin/tests/system/rsabigexponent/ns2/dsset-example.in2
-rw-r--r--bin/tests/system/rsabigexponent/ns2/example.db.bad117
-rw-r--r--bin/tests/system/rsabigexponent/ns2/example.db.in28
-rw-r--r--bin/tests/system/rsabigexponent/ns2/named.conf46
-rwxr-xr-xbin/tests/system/rsabigexponent/ns2/sign.sh36
-rw-r--r--bin/tests/system/rsabigexponent/ns3/named.conf43
-rw-r--r--bin/tests/system/rsabigexponent/prereq.sh27
-rw-r--r--bin/tests/system/rsabigexponent/setup.sh23
-rw-r--r--bin/tests/system/rsabigexponent/tests.sh62
-rw-r--r--bin/tests/system/run.sh2
-rw-r--r--bin/tests/system/runall.sh2
-rw-r--r--bin/tests/system/send.pl2
-rw-r--r--bin/tests/system/setup.sh2
-rw-r--r--bin/tests/system/smartsign/clean.sh2
-rw-r--r--bin/tests/system/smartsign/prereq.sh2
-rw-r--r--bin/tests/system/smartsign/setup.sh2
-rw-r--r--bin/tests/system/sortlist/clean.sh2
-rw-r--r--bin/tests/system/sortlist/tests.sh2
-rw-r--r--bin/tests/system/start.sh2
-rwxr-xr-xbin/tests/system/staticstub/clean.sh2
-rwxr-xr-xbin/tests/system/staticstub/ns3/sign.sh2
-rwxr-xr-xbin/tests/system/staticstub/ns4/sign.sh2
-rwxr-xr-xbin/tests/system/staticstub/setup.sh2
-rwxr-xr-xbin/tests/system/staticstub/tests.sh4
-rw-r--r--bin/tests/system/stop.pl2
-rw-r--r--bin/tests/system/stop.sh2
-rw-r--r--bin/tests/system/stress/clean.sh2
-rw-r--r--bin/tests/system/stress/setup.pl2
-rw-r--r--bin/tests/system/stress/setup.sh2
-rw-r--r--bin/tests/system/stress/tests.sh2
-rw-r--r--bin/tests/system/stress/update.pl2
-rw-r--r--bin/tests/system/stub/clean.sh2
-rw-r--r--bin/tests/system/stub/tests.sh2
-rw-r--r--bin/tests/system/testsock.pl2
-rw-r--r--bin/tests/system/testsock6.pl2
-rw-r--r--bin/tests/system/tkey/Makefile.in2
-rw-r--r--bin/tests/system/tkey/clean.sh2
-rw-r--r--bin/tests/system/tkey/ns1/setup.sh2
-rw-r--r--bin/tests/system/tkey/prereq.sh2
-rw-r--r--bin/tests/system/tkey/setup.sh2
-rw-r--r--bin/tests/system/tkey/tests.sh2
-rw-r--r--bin/tests/system/tsig/clean.sh2
-rw-r--r--bin/tests/system/tsig/tests.sh2
-rw-r--r--bin/tests/system/tsiggss/Makefile.in2
-rw-r--r--bin/tests/system/tsiggss/authsock.pl2
-rw-r--r--bin/tests/system/tsiggss/prereq.sh2
-rw-r--r--bin/tests/system/tsiggss/setup.sh2
-rw-r--r--bin/tests/system/unknown/clean.sh2
-rw-r--r--bin/tests/system/unknown/ns1/example-in.db2
-rw-r--r--bin/tests/system/unknown/ns1/large.db16
-rw-r--r--bin/tests/system/unknown/ns2/named.conf3
-rw-r--r--bin/tests/system/unknown/ns3/named.conf3
-rw-r--r--bin/tests/system/unknown/ns3/sign.sh2
-rw-r--r--bin/tests/system/unknown/setup.sh2
-rw-r--r--bin/tests/system/unknown/tests.sh2
-rw-r--r--bin/tests/system/upforwd/ans4/ans.pl2
-rw-r--r--bin/tests/system/upforwd/clean.sh2
-rw-r--r--bin/tests/system/upforwd/setup.sh2
-rw-r--r--bin/tests/system/upforwd/tests.sh2
-rw-r--r--bin/tests/system/v6synth/clean.sh2
-rw-r--r--bin/tests/system/v6synth/tests.sh2
-rw-r--r--bin/tests/system/verify/clean.sh25
-rw-r--r--bin/tests/system/verify/setup.sh23
-rw-r--r--bin/tests/system/verify/tests.sh96
-rw-r--r--bin/tests/system/verify/zones/genzones.sh196
-rw-r--r--bin/tests/system/verify/zones/unsigned.db33
-rw-r--r--bin/tests/system/views/clean.sh2
-rw-r--r--bin/tests/system/views/setup.sh2
-rw-r--r--bin/tests/system/views/tests.sh2
-rw-r--r--bin/tests/system/xfer/prereq.sh2
-rw-r--r--bin/tests/system/xfer/setup.sh2
-rw-r--r--bin/tests/system/xferquota/clean.sh2
-rw-r--r--bin/tests/system/xferquota/setup.pl2
-rw-r--r--bin/tests/system/xferquota/setup.sh2
-rw-r--r--bin/tests/system/xferquota/tests.sh2
-rw-r--r--bin/tests/t_api.pl2
-rw-r--r--bin/tests/tasks/Makefile.in2
-rw-r--r--bin/tests/timers/Makefile.in2
-rw-r--r--bin/tests/virtual-time/Makefile.in2
-rw-r--r--bin/tests/virtual-time/autosign-ksk/clean.sh2
-rw-r--r--bin/tests/virtual-time/autosign-ksk/ns1/sign.sh2
-rw-r--r--bin/tests/virtual-time/autosign-ksk/ns1/wrap.sh2
-rw-r--r--bin/tests/virtual-time/autosign-ksk/setup.sh2
-rw-r--r--bin/tests/virtual-time/autosign-ksk/tests.sh2
-rw-r--r--bin/tests/virtual-time/autosign-zsk/clean.sh2
-rw-r--r--bin/tests/virtual-time/autosign-zsk/ns1/sign.sh2
-rw-r--r--bin/tests/virtual-time/autosign-zsk/ns1/wrap.sh2
-rw-r--r--bin/tests/virtual-time/autosign-zsk/setup.sh2
-rw-r--r--bin/tests/virtual-time/autosign-zsk/tests.sh2
-rw-r--r--bin/tests/virtual-time/cleanall.sh2
-rw-r--r--bin/tests/virtual-time/conf.sh.in2
-rw-r--r--bin/tests/virtual-time/run.sh2
-rw-r--r--bin/tests/virtual-time/runall.sh2
-rw-r--r--bin/tests/virtual-time/setup.sh2
-rw-r--r--bin/tests/virtual-time/slave/clean.sh2
-rw-r--r--bin/tests/virtual-time/slave/ns1/wrap.sh2
-rw-r--r--bin/tests/virtual-time/slave/setup.sh2
-rw-r--r--bin/tests/virtual-time/slave/tests.sh2
-rw-r--r--bin/tests/virtual-time/start.pl2
-rw-r--r--bin/tests/virtual-time/start.sh2
-rw-r--r--bin/tests/virtual-time/stop.pl2
-rw-r--r--bin/tests/virtual-time/stop.sh2
-rw-r--r--bin/tests/virtual-time/testsock.pl2
-rw-r--r--bin/tools/Makefile.in2
-rw-r--r--config.h.in10
-rwxr-xr-xconfigure284
-rw-r--r--configure.in111
-rw-r--r--contrib/check-secure-delegation.pl.in2
-rw-r--r--contrib/dlz/bin/dlzbdb/Makefile.in6
-rw-r--r--contrib/named-bootconf/named-bootconf.sh2
-rw-r--r--contrib/nanny/nanny.pl2
-rw-r--r--contrib/sdb/tcl/lookup.tcl2
-rw-r--r--contrib/zone-edit.sh.in2
-rw-r--r--doc/Makefile.in2
-rw-r--r--doc/arm/Bv9ARM-book.xml225
-rw-r--r--doc/arm/Bv9ARM.ch01.html12
-rw-r--r--doc/arm/Bv9ARM.ch03.html34
-rw-r--r--doc/arm/Bv9ARM.ch04.html164
-rw-r--r--doc/arm/Bv9ARM.ch05.html4
-rw-r--r--doc/arm/Bv9ARM.ch06.html338
-rw-r--r--doc/arm/Bv9ARM.ch07.html12
-rw-r--r--doc/arm/Bv9ARM.ch08.html16
-rw-r--r--doc/arm/Bv9ARM.ch09.html218
-rw-r--r--doc/arm/Bv9ARM.ch10.html3
-rw-r--r--doc/arm/Bv9ARM.html169
-rw-r--r--doc/arm/Bv9ARM.pdf16331
-rw-r--r--doc/arm/Makefile.in2
-rw-r--r--doc/arm/latex-fixup.pl2
-rw-r--r--doc/arm/man.arpaname.html6
-rw-r--r--doc/arm/man.ddns-confgen.html8
-rw-r--r--doc/arm/man.dig.html18
-rw-r--r--doc/arm/man.dnssec-dsfromkey.html17
-rw-r--r--doc/arm/man.dnssec-keyfromlabel.html15
-rw-r--r--doc/arm/man.dnssec-keygen.html29
-rw-r--r--doc/arm/man.dnssec-revoke.html8
-rw-r--r--doc/arm/man.dnssec-settime.html12
-rw-r--r--doc/arm/man.dnssec-signzone.html18
-rw-r--r--doc/arm/man.dnssec-verify.html156
-rw-r--r--doc/arm/man.genrandom.html8
-rw-r--r--doc/arm/man.host.html8
-rw-r--r--doc/arm/man.isc-hmac-fixup.html8
-rw-r--r--doc/arm/man.named-checkconf.html18
-rw-r--r--doc/arm/man.named-checkzone.html10
-rw-r--r--doc/arm/man.named-journalprint.html6
-rw-r--r--doc/arm/man.named.html14
-rw-r--r--doc/arm/man.nsec3hash.html8
-rw-r--r--doc/arm/man.nsupdate.html12
-rw-r--r--doc/arm/man.rndc-confgen.html10
-rw-r--r--doc/arm/man.rndc.conf.html10
-rw-r--r--doc/arm/man.rndc.html10
-rw-r--r--doc/doxygen/Makefile.in2
-rw-r--r--doc/doxygen/doxygen-input-filter.in2
-rw-r--r--doc/misc/Makefile.in2
-rw-r--r--doc/misc/format-options.pl2
-rw-r--r--doc/misc/options19
-rw-r--r--doc/misc/sort-options.pl2
-rw-r--r--doc/xsl/Makefile.in2
-rw-r--r--isc-config.sh.in2
-rw-r--r--lib/Makefile.in2
-rw-r--r--lib/bind9/Makefile.in2
-rw-r--r--lib/bind9/api2
-rw-r--r--lib/bind9/check.c83
-rw-r--r--lib/bind9/include/Makefile.in2
-rw-r--r--lib/bind9/include/bind9/Makefile.in2
-rw-r--r--lib/dns/Makefile.in7
-rw-r--r--lib/dns/adb.c46
-rw-r--r--lib/dns/api2
-rw-r--r--lib/dns/db.c13
-rw-r--r--lib/dns/dnssec.c126
-rw-r--r--lib/dns/ds.c35
-rw-r--r--lib/dns/dst_api.c73
-rw-r--r--lib/dns/dst_internal.h7
-rw-r--r--lib/dns/dst_openssl.h5
-rw-r--r--lib/dns/dst_parse.c63
-rw-r--r--lib/dns/dst_parse.h5
-rw-r--r--lib/dns/dst_result.c4
-rw-r--r--lib/dns/gssapi_link.c3
-rw-r--r--lib/dns/hmac_link.c8
-rw-r--r--lib/dns/include/Makefile.in2
-rw-r--r--lib/dns/include/dns/Makefile.in2
-rw-r--r--lib/dns/include/dns/db.h16
-rw-r--r--lib/dns/include/dns/dnssec.h20
-rw-r--r--lib/dns/include/dns/ds.h7
-rw-r--r--lib/dns/include/dns/iptable.h4
-rw-r--r--lib/dns/include/dns/keyvalues.h10
-rw-r--r--lib/dns/include/dns/log.h3
-rw-r--r--lib/dns/include/dns/nsec.h24
-rw-r--r--lib/dns/include/dns/private.h8
-rw-r--r--lib/dns/include/dns/rdata.h2
-rw-r--r--lib/dns/include/dns/rdataset.h22
-rw-r--r--lib/dns/include/dns/rpz.h13
-rw-r--r--lib/dns/include/dns/stats.h10
-rw-r--r--lib/dns/include/dns/view.h3
-rw-r--r--lib/dns/include/dns/zone.h2
-rw-r--r--lib/dns/include/dst/Makefile.in2
-rw-r--r--lib/dns/include/dst/dst.h20
-rw-r--r--lib/dns/include/dst/result.h6
-rw-r--r--lib/dns/log.c3
-rw-r--r--lib/dns/master.c47
-rw-r--r--lib/dns/masterdump.c12
-rw-r--r--lib/dns/nsec.c93
-rw-r--r--lib/dns/nsec3.c61
-rw-r--r--lib/dns/openssl_link.c40
-rw-r--r--lib/dns/openssldh_link.c19
-rw-r--r--lib/dns/openssldsa_link.c35
-rw-r--r--lib/dns/opensslecdsa_link.c597
-rw-r--r--lib/dns/opensslgost_link.c76
-rw-r--r--lib/dns/opensslrsa_link.c90
-rw-r--r--lib/dns/rbtdb.c39
-rw-r--r--lib/dns/rcode.c2
-rw-r--r--lib/dns/rdata.c15
-rw-r--r--lib/dns/rdata/generic/dlv_32769.c12
-rw-r--r--lib/dns/rdata/generic/ds_43.c12
-rw-r--r--lib/dns/rdataset.c28
-rw-r--r--lib/dns/resolver.c50
-rw-r--r--lib/dns/rpz.c133
-rw-r--r--lib/dns/spnego_asn1.pl2
-rw-r--r--lib/dns/tests/Makefile.in9
-rw-r--r--lib/dns/tests/rdataset_test.c131
-rw-r--r--lib/dns/tests/zt_test.c39
-rw-r--r--lib/dns/validator.c21
-rw-r--r--lib/dns/view.c3
-rw-r--r--lib/dns/win32/libdns.def5
-rw-r--r--lib/dns/zone.c109
-rw-r--r--lib/dns/zt.c47
-rw-r--r--lib/export/Makefile.in2
-rw-r--r--lib/export/dns/Makefile.in4
-rw-r--r--lib/export/dns/include/Makefile.in2
-rw-r--r--lib/export/dns/include/dns/Makefile.in2
-rw-r--r--lib/export/dns/include/dst/Makefile.in2
-rw-r--r--lib/export/irs/include/irs/Makefile.in2
-rw-r--r--lib/export/isc/Makefile.in2
-rw-r--r--lib/export/isc/include/isc/Makefile.in2
-rw-r--r--lib/export/isc/nls/Makefile.in2
-rw-r--r--lib/export/isc/nothreads/Makefile.in2
-rw-r--r--lib/export/isc/nothreads/include/isc/Makefile.in2
-rw-r--r--lib/export/isc/pthreads/Makefile.in2
-rw-r--r--lib/export/isc/pthreads/include/isc/Makefile.in2
-rw-r--r--lib/export/isc/unix/Makefile.in2
-rw-r--r--lib/export/isc/unix/include/isc/Makefile.in2
-rw-r--r--lib/export/isccfg/include/isccfg/Makefile.in2
-rw-r--r--lib/export/samples/Makefile-postinstall.in2
-rw-r--r--lib/export/samples/Makefile.in2
-rw-r--r--lib/irs/Makefile.in2
-rw-r--r--lib/irs/include/Makefile.in2
-rw-r--r--lib/irs/include/irs/Makefile.in2
-rw-r--r--lib/isc/alpha/Makefile.in2
-rw-r--r--lib/isc/alpha/include/Makefile.in2
-rw-r--r--lib/isc/alpha/include/isc/Makefile.in2
-rw-r--r--lib/isc/api4
-rw-r--r--lib/isc/ia64/Makefile.in2
-rw-r--r--lib/isc/ia64/include/Makefile.in2
-rw-r--r--lib/isc/ia64/include/isc/Makefile.in2
-rw-r--r--lib/isc/ia64/include/isc/atomic.h6
-rw-r--r--lib/isc/include/Makefile.in2
-rw-r--r--lib/isc/include/isc/file.h13
-rw-r--r--lib/isc/include/isc/heap.h4
-rw-r--r--lib/isc/include/isc/namespace.h2
-rw-r--r--lib/isc/include/isc/queue.h20
-rw-r--r--lib/isc/include/isc/task.h27
-rw-r--r--lib/isc/mem.c10
-rw-r--r--lib/isc/mips/Makefile.in2
-rw-r--r--lib/isc/mips/include/Makefile.in2
-rw-r--r--lib/isc/mips/include/isc/Makefile.in2
-rw-r--r--lib/isc/nls/Makefile.in2
-rw-r--r--lib/isc/noatomic/Makefile.in2
-rw-r--r--lib/isc/noatomic/include/Makefile.in2
-rw-r--r--lib/isc/noatomic/include/isc/Makefile.in2
-rw-r--r--lib/isc/nothreads/Makefile.in2
-rw-r--r--lib/isc/nothreads/include/Makefile.in2
-rw-r--r--lib/isc/nothreads/include/isc/Makefile.in2
-rw-r--r--lib/isc/powerpc/Makefile.in2
-rw-r--r--lib/isc/powerpc/include/Makefile.in2
-rw-r--r--lib/isc/powerpc/include/isc/Makefile.in2
-rw-r--r--lib/isc/pthreads/Makefile.in2
-rw-r--r--lib/isc/pthreads/condition.c11
-rw-r--r--lib/isc/pthreads/include/Makefile.in2
-rw-r--r--lib/isc/pthreads/include/isc/Makefile.in2
-rw-r--r--lib/isc/sparc64/Makefile.in2
-rw-r--r--lib/isc/sparc64/include/Makefile.in2
-rw-r--r--lib/isc/sparc64/include/isc/Makefile.in2
-rw-r--r--lib/isc/task.c45
-rw-r--r--lib/isc/task_api.c11
-rw-r--r--lib/isc/tests/isctest.c8
-rw-r--r--lib/isc/tests/queue_test.c12
-rw-r--r--lib/isc/unix/Makefile.in2
-rw-r--r--lib/isc/unix/file.c31
-rw-r--r--lib/isc/unix/include/Makefile.in2
-rw-r--r--lib/isc/unix/include/isc/Makefile.in2
-rw-r--r--lib/isc/win32/Makefile.in2
-rw-r--r--lib/isc/win32/file.c84
-rw-r--r--lib/isc/win32/include/Makefile.in2
-rw-r--r--lib/isc/win32/include/isc/Makefile.in2
-rw-r--r--lib/isc/win32/include/isc/stat.h7
-rw-r--r--lib/isc/win32/libisc.def6
-rw-r--r--lib/isc/x86_32/Makefile.in2
-rw-r--r--lib/isc/x86_32/include/Makefile.in2
-rw-r--r--lib/isc/x86_32/include/isc/Makefile.in2
-rw-r--r--lib/isc/x86_64/Makefile.in2
-rw-r--r--lib/isc/x86_64/include/Makefile.in2
-rw-r--r--lib/isc/x86_64/include/isc/Makefile.in2
-rw-r--r--lib/isccc/api2
-rw-r--r--lib/isccc/cc.c6
-rw-r--r--lib/isccc/include/Makefile.in2
-rw-r--r--lib/isccc/include/isccc/Makefile.in2
-rw-r--r--lib/isccfg/api2
-rw-r--r--lib/isccfg/include/Makefile.in2
-rw-r--r--lib/isccfg/include/isccfg/Makefile.in2
-rw-r--r--lib/isccfg/namedconf.c225
-rw-r--r--lib/lwres/Makefile.in2
-rw-r--r--lib/lwres/api2
-rw-r--r--lib/lwres/getaddrinfo.c8
-rw-r--r--lib/lwres/include/Makefile.in2
-rw-r--r--lib/lwres/include/lwres/Makefile.in2
-rw-r--r--lib/lwres/man/Makefile.in2
-rw-r--r--lib/lwres/unix/Makefile.in2
-rw-r--r--lib/lwres/unix/include/Makefile.in2
-rw-r--r--lib/lwres/unix/include/lwres/Makefile.in2
-rw-r--r--lib/lwres/win32/Makefile.in2
-rw-r--r--lib/lwres/win32/include/Makefile.in2
-rw-r--r--lib/lwres/win32/include/lwres/Makefile.in2
-rw-r--r--lib/tests/Makefile.in2
-rw-r--r--lib/tests/include/Makefile.in2
-rw-r--r--lib/tests/include/tests/Makefile.in2
-rw-r--r--make/Makefile.in2
-rw-r--r--make/includes.in2
-rw-r--r--make/rules.in9
-rw-r--r--version6
604 files changed, 18675 insertions, 10757 deletions
diff --git a/CHANGES b/CHANGES
index bd4eb0d2..11e48c03 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,18 +1,87 @@
- --- 9.9.1-P4 released ---
+ --- 9.9.2 released ---
3383. [security] A certain combination of records in the RBT could
cause named to hang while populating the additional
section of a response. [RT #31090]
- --- 9.9.1-P3 released ---
+3373. [bug] win32: open raw files in binary mode. [RT #30944]
3364. [security] Named could die on specially crafted record.
[RT #30416]
- --- 9.9.1-P2 released ---
+ --- 9.9.2rc1 released ---
+
+3370. [bug] Address use after free while shutting down. [RT #30241]
+
+3369. [bug] nsupdate terminated unexpectedly in interactive mode
+ if built with readline support. [RT #29550]
+
+3368. [bug] <dns/iptable.h>, <dns/private.h> and <dns/zone.h>
+ were not C++ safe.
+
+3367. [bug] dns_dnsseckey_create() result was not being checked.
+ [RT #30685]
+
+3366. [bug] Fixed Read-After-Write dependency violation for IA64
+ atomic operations. [RT #25181]
+
+3365. [bug] Removed spurious newlines from log messages in
+ zone.c [RT #30675]
+
+3363. [bug] Need to allow "forward" and "fowarders" options
+ in static-stub zones; this had been overlooked.
+ [RT #30482]
+
+3362. [bug] Setting some option values to 0 in named.conf
+ could trigger an assertion failure on startup.
+ [RT #27730]
+
+3361. [bug] "rndc signing -nsec3param" didn't work correctly
+ when salt was set to '-' (no salt). [RT #30099]
+
+3360. [bug] 'host -w' could die. [RT #18723]
+
+3359. [bug] An improperly-formed TSIG secret could cause a
+ memory leak. [RT #30607]
+
+3357. [port] Add support for libxml2-2.8.x [RT #30440]
+
+3356. [bug] Cap the TTL of signed RRsets when RRSIGs are
+ approaching their expiry, so they don't remain
+ in caches after expiry. [RT #26429]
+
+3355. [port] Use more portable awk in verify system test.
+
+3354. [func] Improve OpenSSL error logging. [RT #29932]
+
+ --- 9.9.2b1 released ---
+
+3353. [bug] Use a single task for task exclusive operations.
+ [RT #29872]
+
+3352. [bug] Ensure that learned server attributes timeout of the
+ adb cache. [RT #29856]
+
+3351. [bug] isc_mem_put and isc_mem_putanddetach didn't report
+ caller if either ISC_MEM_DEBUGSIZE or ISC_MEM_DEBUGCTX
+ memory debugging flags are set. [RT #30243]
+
+3350. [bug] Memory read overrun in isc___mem_reallocate if
+ ISC_MEM_DEBUGCTX memory debugging flag is set.
+ [RT #30240]
3349. [bug] Change #3345 was incomplete. [RT #30233]
+3348. [bug] Prevent RRSIG data from being cached if a negative
+ record matching the covering type exists at a higher
+ trust level. Such data already can't be retrieved from
+ the cache since change 3218 -- this prevents it
+ being inserted into the cache as well. [RT #26809]
+
+3347. [bug] dnssec-settime: Issue a warning when writing a new
+ private key file would cause a change in the
+ permissions of the existing file. [RT #27724]
+
3346. [security] Bad-cache data could be used before it was
initialized, causing an assert. [RT #30025]
@@ -20,15 +89,73 @@
or inserting the first item in an ISC_QUEUE.
[RT #29539]
+3344. [func] New "dnssec-checkds" command checks a zone to
+ determine which DS records should be published
+ in the parent zone, or which DLV records should be
+ published in a DLV zone, and queries the DNS to
+ ensure that it exists. (Note: This tool depends
+ on python; it will not be built or installed on
+ systems that do not have a python interpreter.)
+ [RT #28099]
+
3342. [bug] Change #3314 broke saving of stub zones to disk
resulting in excessive cpu usage in some cases.
[RT #29952]
- --- 9.9.1-P1 released ---
+3341. [func] New "dnssec-verify" command checks a signed zone
+ to ensure correctness of signatures and of NSEC/NSEC3
+ chains. [RT #23673]
+
+3339. [func] Allow the maximum supported rsa exponent size to be
+ specified: "max-rsa-exponent-size <value>;" [RT #29228]
+
+3338. [bug] Address race condition in units tests: asyncload_zone
+ and asyncload_zt. [RT #26100]
+
+3337. [bug] Change #3294 broke support for the multiple keys
+ in controls. [RT #29694]
+
+3335. [func] nslookup: return a nonzero exit code when unable
+ to get an answer. [RT #29492]
+
+3334. [bug] Hold a zone table reference while performing a
+ asyncronous load of a zone. [RT #28326]
+
+3333. [bug] Setting resolver-query-timeout too low can cause
+ named to not recover if it loses connectivity.
+ [RT #29623]
+
+3332. [bug] Re-use cached DS rrsets if possible. [RT #29446]
3331. [security] dns_rdataslab_fromrdataset could produce bad
rdataslabs. [RT #29644]
-
+
+3330. [func] Fix missing signatures on NOERROR results despite
+ RPZ rewriting. Also
+ - add optional "recursive-only yes|no" to the
+ response-policy statement
+ - add optional "max-policy-ttl" to the response-policy
+ statement to limit the false data that
+ "recursive-only no" can introduce into
+ resolvers' caches
+ - add a RPZ performance test to bin/tests/system/rpz
+ when queryperf is available.
+ - the encoding of PASSTHRU action to "rpz-passthru".
+ (The old encoding is still accepted.)
+ [RT #26172]
+
+
+3329. [bug] Handle RRSIG signer-name case consistently: We
+ generate RRSIG records with the signer-name in
+ lower case. We accept them with any case, but if
+ they fail to validate, we try again in lower case.
+ [RT #27451]
+
+3328. [bug] Fixed inconsistent data checking in dst_parse.c.
+ [RT #29401]
+
+3317. [func] Add ECDSA support (RFC 6605). [RT #21918]
+
--- 9.9.1 released ---
3318. [tuning] Reduce the amount of work performed while holding a
diff --git a/Makefile.in b/Makefile.in
index e15a5c38..287d72f1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/README b/README
index 3cacc469..b3aa8ff0 100644
--- a/README
+++ b/README
@@ -51,6 +51,11 @@ BIND 9
For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes
+BIND 9.9.2
+
+ BIND 9.9.2 is a maintenance release and patches the security
+ flaw described in CVE-2012-4244.
+
BIND 9.9.1
BIND 9.9.1 is a maintenance release.
@@ -178,7 +183,8 @@ Building
CFLAGS
C compiler flags. Defaults to include -g and/or -O2
- as supported by the compiler.
+ as supported by the compiler. Please include '-g'
+ if you need to set CFLAGS.
STD_CINCLUDES
System header file directories. Can be used to specify
@@ -295,6 +301,10 @@ Building
libraries. sh-utils-1.16 provides a "printf" which compiles
on SunOS 4.
+Known limitations
+
+ Linux requires kernel build 2.6.39 or later to get the
+ performance benefits from using multiple sockets.
Documentation
diff --git a/acconfig.h b/acconfig.h
index 736d1bcd..3d412d93 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -138,6 +138,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define if OpenSSL includes DSA support */
#undef HAVE_OPENSSL_DSA
+/* Define if OpenSSL includes ECDSA support */
+#undef HAVE_OPENSSL_ECDSA
+
/* Define to the length type used by the socket API (socklen_t, size_t, int). */
#undef ISC_SOCKADDR_LEN_T
diff --git a/bin/Makefile.in b/bin/Makefile.in
index e4805520..b5a5cc59 100644
--- a/bin/Makefile.in
+++ b/bin/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -20,7 +20,7 @@ VPATH = @srcdir@
top_srcdir = @top_srcdir@
SUBDIRS = named rndc dig dnssec tests tools nsupdate \
- check confgen @PKCS11_TOOLS@
+ check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@
TARGETS =
@BIND9_MAKE_RULES@
diff --git a/bin/check/Makefile.in b/bin/check/Makefile.in
index 403933b2..c1916056 100644
--- a/bin/check/Makefile.in
+++ b/bin/check/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/check/check-tool.c b/bin/check/check-tool.c
index 445c0cc0..5bbf1f0c 100644
--- a/bin/check/check-tool.c
+++ b/bin/check/check-tool.c
@@ -640,6 +640,9 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
{
isc_result_t result;
FILE *output = stdout;
+ const char *flags;
+
+ flags = (fileformat == dns_masterformat_text) ? "w+" : "wb+";
if (debug) {
if (filename != NULL && strcmp(filename, "-") != 0)
@@ -650,7 +653,7 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
}
if (filename != NULL && strcmp(filename, "-") != 0) {
- result = isc_stdio_open(filename, "w+", &output);
+ result = isc_stdio_open(filename, flags, &output);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not open output "
diff --git a/bin/confgen/Makefile.in b/bin/confgen/Makefile.in
index 64ddf760..8b3e5aa1 100644
--- a/bin/confgen/Makefile.in
+++ b/bin/confgen/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/confgen/unix/Makefile.in b/bin/confgen/unix/Makefile.in
index 924701e6..2ab6d922 100644
--- a/bin/confgen/unix/Makefile.in
+++ b/bin/confgen/unix/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/dig/Makefile.in b/bin/dig/Makefile.in
index 19dc61c4..2a3bc5d6 100644
--- a/bin/dig/Makefile.in
+++ b/bin/dig/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2005, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/dig/nslookup.c b/bin/dig/nslookup.c
index 2f56b852..3f5b82fd 100644
--- a/bin/dig/nslookup.c
+++ b/bin/dig/nslookup.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -65,6 +65,7 @@ static isc_boolean_t in_use = ISC_FALSE;
static char defclass[MXRD] = "IN";
static char deftype[MXRD] = "A";
static isc_event_t *global_event = NULL;
+static int query_error = 1, print_error = 0;
static char domainopt[DNS_NAME_MAXTEXT];
@@ -414,6 +415,9 @@ isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
char servtext[ISC_SOCKADDR_FORMATSIZE];
+ /* I've we've gotten this far, we've reached a server. */
+ query_error = 0;
+
debug("printmessage()");
isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext));
@@ -441,6 +445,9 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
(msg->rcode != dns_rcode_nxdomain) ? nametext :
query->lookup->textname, rcode_totext(msg->rcode));
debug("returning with rcode == 0");
+
+ /* the lookup failed */
+ print_error |= 1;
return (ISC_R_SUCCESS);
}
@@ -909,5 +916,5 @@ main(int argc, char **argv) {
destroy_libs();
isc_app_finish();
- return (0);
+ return (query_error | print_error);
}
diff --git a/bin/dnssec/Makefile.in b/bin/dnssec/Makefile.in
index 6bfd162d..4f8bceb9 100644
--- a/bin/dnssec/Makefile.in
+++ b/bin/dnssec/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2005, 2007-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.42 2009/12/05 23:31:40 each Exp $
+# $Id: Makefile.in,v 1.42.332.1 2011/03/16 06:37:51 each Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -44,19 +44,23 @@ NOSYMLIBS = ${DNSLIBS} ${ISCNOSYMLIBS} @LIBS@
# Alphabetically
TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@ \
dnssec-keyfromlabel@EXEEXT@ dnssec-dsfromkey@EXEEXT@ \
- dnssec-revoke@EXEEXT@ dnssec-settime@EXEEXT@
+ dnssec-revoke@EXEEXT@ dnssec-settime@EXEEXT@ \
+ dnssec-verify@EXEEXT@
OBJS = dnssectool.@O@
SRCS = dnssec-dsfromkey.c dnssec-keyfromlabel.c dnssec-keygen.c \
- dnssec-revoke.c dnssec-settime.c dnssec-signzone.c dnssectool.c
+ dnssec-revoke.c dnssec-settime.c dnssec-signzone.c \
+ dnssec-verify.c dnssectool.c
MANPAGES = dnssec-dsfromkey.8 dnssec-keyfromlabel.8 dnssec-keygen.8 \
- dnssec-revoke.8 dnssec-settime.8 dnssec-signzone.8
+ dnssec-revoke.8 dnssec-settime.8 dnssec-signzone.8 \
+ dnssec-verify.8
HTMLPAGES = dnssec-dsfromkey.html dnssec-keyfromlabel.html \
dnssec-keygen.html dnssec-revoke.html \
- dnssec-settime.html dnssec-signzone.html
+ dnssec-settime.html dnssec-signzone.html \
+ dnssec-verify.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
@@ -82,6 +86,14 @@ dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
export BASEOBJS="dnssec-signzone.@O@ ${OBJS}"; \
${FINALBUILDCMD}
+dnssec-verify.@O@: dnssec-verify.c
+ ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
+ -c ${srcdir}/dnssec-verify.c
+
+dnssec-verify@EXEEXT@: dnssec-verify.@O@ ${OBJS} ${DEPLIBS}
+ export BASEOBJS="dnssec-verify.@O@ ${OBJS}"; \
+ ${FINALBUILDCMD}
+
dnssec-revoke@EXEEXT@: dnssec-revoke.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dnssec-revoke.@O@ ${OBJS} ${LIBS}
diff --git a/bin/dnssec/dnssec-dsfromkey.8 b/bin/dnssec/dnssec-dsfromkey.8
index 87d53013..89d4228e 100644
--- a/bin/dnssec/dnssec-dsfromkey.8
+++ b/bin/dnssec/dnssec-dsfromkey.8
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2008-2012 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
@@ -55,7 +55,7 @@ Use SHA\-256 as the digest algorithm.
.RS 4
Select the digest algorithm. The value of
\fBalgorithm\fR
-must be one of SHA\-1 (SHA1), SHA\-256 (SHA256) or GOST. These values are case insensitive.
+must be one of SHA\-1 (SHA1), SHA\-256 (SHA256), GOST or SHA\-384 (SHA384). These values are case insensitive.
.RE
.PP
\-T \fITTL\fR
@@ -153,5 +153,5 @@ RFC 4509.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
-Copyright \(co 2008\-2011 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2008\-2012 Internet Systems Consortium, Inc. ("ISC")
.br
diff --git a/bin/dnssec/dnssec-dsfromkey.c b/bin/dnssec/dnssec-dsfromkey.c
index 3d6be290..b7a86755 100644
--- a/bin/dnssec/dnssec-dsfromkey.c
+++ b/bin/dnssec/dnssec-dsfromkey.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2008-2012 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
@@ -327,7 +327,7 @@ usage(void) {
fprintf(stderr, " -K <directory>: directory in which to find "
"key file or keyset file\n");
fprintf(stderr, " -a algorithm: digest algorithm "
- "(SHA-1, SHA-256 or GOST)\n");
+ "(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, " -l: add lookaside zone and print DLV records\n");
@@ -450,6 +450,9 @@ main(int argc, char **argv) {
else if (strcasecmp(algname, "GOST") == 0)
dtype = DNS_DSDIGEST_GOST;
#endif
+ else if (strcasecmp(algname, "SHA384") == 0 ||
+ strcasecmp(algname, "SHA-384") == 0)
+ dtype = DNS_DSDIGEST_SHA384;
else
fatal("unknown algorithm %s", algname);
}
diff --git a/bin/dnssec/dnssec-dsfromkey.docbook b/bin/dnssec/dnssec-dsfromkey.docbook
index a43eadc9..77c0994d 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-2011 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2008-2012 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
@@ -40,6 +40,7 @@
<year>2009</year>
<year>2010</year>
<year>2011</year>
+ <year>2012</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -110,7 +111,8 @@
<para>
Select the digest algorithm. The value of
<option>algorithm</option> must be one of SHA-1 (SHA1),
- SHA-256 (SHA256) or GOST. These values are case insensitive.
+ SHA-256 (SHA256), GOST or SHA-384 (SHA384).
+ These values are case insensitive.
</para>
</listitem>
</varlistentry>
diff --git a/bin/dnssec/dnssec-dsfromkey.html b/bin/dnssec/dnssec-dsfromkey.html
index a131cab7..50d4d780 100644
--- a/bin/dnssec/dnssec-dsfromkey.html
+++ b/bin/dnssec/dnssec-dsfromkey.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2008-2012 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,14 +32,14 @@
<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>
<div class="refsect1" lang="en">
-<a name="id2543485"></a><h2>DESCRIPTION</h2>
+<a name="id2543489"></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="id2543497"></a><h2>OPTIONS</h2>
+<a name="id2543500"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-1</span></dt>
<dd><p>
@@ -54,7 +54,8 @@
<dd><p>
Select the digest algorithm. The value of
<code class="option">algorithm</code> must be one of SHA-1 (SHA1),
- SHA-256 (SHA256) or GOST. These values are case insensitive.
+ SHA-256 (SHA256), GOST or SHA-384 (SHA384).
+ These values are case insensitive.
</p></dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt>
<dd><p>
@@ -115,7 +116,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543723"></a><h2>EXAMPLE</h2>
+<a name="id2543726"></a><h2>EXAMPLE</h2>
<p>
To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
@@ -130,7 +131,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543753"></a><h2>FILES</h2>
+<a name="id2543756"></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
@@ -144,13 +145,13 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543788"></a><h2>CAVEAT</h2>
+<a name="id2543792"></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="id2543798"></a><h2>SEE ALSO</h2>
+<a name="id2543801"></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>,
@@ -160,7 +161,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543837"></a><h2>AUTHOR</h2>
+<a name="id2543841"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/bin/dnssec/dnssec-keyfromlabel.8 b/bin/dnssec/dnssec-keyfromlabel.8
index 8894c224..0e1ea162 100644
--- a/bin/dnssec/dnssec-keyfromlabel.8
+++ b/bin/dnssec/dnssec-keyfromlabel.8
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2008-2012 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
@@ -47,7 +47,7 @@ of the key is specified on the command line. This must match the name of the zon
.RS 4
Selects the cryptographic algorithm. The value of
\fBalgorithm\fR
-must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. These values are case insensitive.
+must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 or ECDSAP384SHA384. These values are case insensitive.
.sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR
@@ -224,5 +224,5 @@ RFC 4034.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
-Copyright \(co 2008\-2011 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2008\-2012 Internet Systems Consortium, Inc. ("ISC")
.br
diff --git a/bin/dnssec/dnssec-keyfromlabel.c b/bin/dnssec/dnssec-keyfromlabel.c
index f5560173..be5323b0 100644
--- a/bin/dnssec/dnssec-keyfromlabel.c
+++ b/bin/dnssec/dnssec-keyfromlabel.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2007-2012 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
@@ -55,7 +55,8 @@ int verbose;
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 |"
" NSEC3DSA | NSEC3RSASHA1 |"
- " RSASHA256 | RSASHA512 | ECCGOST";
+ " RSASHA256 | RSASHA512 | ECCGOST |"
+ " ECDSAP256SHA256 | ECDSAP384SHA384";
ISC_PLATFORM_NORETURN_PRE static void
usage(void) ISC_PLATFORM_NORETURN_POST;
@@ -378,7 +379,8 @@ main(int argc, char **argv) {
if (use_nsec3 &&
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
alg != DST_ALG_RSASHA256 && alg != DST_ALG_RSASHA512 &&
- alg != DST_ALG_ECCGOST) {
+ alg != DST_ALG_ECCGOST &&
+ alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384) {
fatal("%s is incompatible with NSEC3; "
"do not use the -3 option", algname);
}
diff --git a/bin/dnssec/dnssec-keyfromlabel.docbook b/bin/dnssec/dnssec-keyfromlabel.docbook
index 8db438fb..0dd3c0ea 100644
--- a/bin/dnssec/dnssec-keyfromlabel.docbook
+++ b/bin/dnssec/dnssec-keyfromlabel.docbook
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- - Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2008-2012 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
@@ -40,6 +40,7 @@
<year>2009</year>
<year>2010</year>
<year>2011</year>
+ <year>2012</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -95,7 +96,8 @@
<para>
Selects the cryptographic algorithm. The value of
<option>algorithm</option> must be one of RSAMD5, RSASHA1,
- DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
+ DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 or ECDSAP384SHA384.
These values are case insensitive.
</para>
<para>
diff --git a/bin/dnssec/dnssec-keyfromlabel.html b/bin/dnssec/dnssec-keyfromlabel.html
index 0e1cb254..f0e2c5c3 100644
--- a/bin/dnssec/dnssec-keyfromlabel.html
+++ b/bin/dnssec/dnssec-keyfromlabel.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2008-2012 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
@@ -31,7 +31,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">-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">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543504"></a><h2>DESCRIPTION</h2>
+<a name="id2543507"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keyfromlabel</strong></span>
gets keys with the given label from a crypto hardware and builds
key files for DNSSEC (Secure DNS), as defined in RFC 2535
@@ -44,14 +44,15 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543522"></a><h2>OPTIONS</h2>
+<a name="id2543525"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
<p>
Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
- DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
+ DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 or ECDSAP384SHA384.
These values are case insensitive.
</p>
<p>
@@ -172,7 +173,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543977"></a><h2>TIMING OPTIONS</h2>
+<a name="id2543980"></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
@@ -219,7 +220,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543051"></a><h2>GENERATED KEY FILES</h2>
+<a name="id2543054"></a><h2>GENERATED KEY FILES</h2>
<p>
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
successfully,
@@ -258,7 +259,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543124"></a><h2>SEE ALSO</h2>
+<a name="id2543127"></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>,
@@ -266,7 +267,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543157"></a><h2>AUTHOR</h2>
+<a name="id2543160"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/bin/dnssec/dnssec-keygen.8 b/bin/dnssec/dnssec-keygen.8
index 9cfc05f8..90daddd1 100644
--- a/bin/dnssec/dnssec-keygen.8
+++ b/bin/dnssec/dnssec-keygen.8
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2004, 2005, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004, 2005, 2007-2012 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 @@
dnssec\-keygen \- DNSSEC key generation tool
.SH "SYNOPSIS"
.HP 14
-\fBdnssec\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-k\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {name}
+\fBdnssec\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-k\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {name}
.SH "DESCRIPTION"
.PP
\fBdnssec\-keygen\fR
@@ -48,7 +48,7 @@ of the key is specified on the command line. For DNSSEC keys, this must match th
.RS 4
Selects the cryptographic algorithm. For DNSSEC keys, the value of
\fBalgorithm\fR
-must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive.
+must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 or ECDSAP384SHA384. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive.
.sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR
@@ -63,7 +63,7 @@ Note 2: DH, HMAC\-MD5, and HMAC\-SHA1 through HMAC\-SHA512 automatically set the
.PP
\-b \fIkeysize\fR
.RS 4
-Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC keys must be between 1 and 512 bits.
+Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC keys must be between 1 and 512 bits. Elliptic curve algorithms don't need this parameter.
.sp
The key size does not need to be specified if using a default algorithm. The default key size is 1024 bits for zone signing keys (ZSK's) and 2048 bits for key signing keys (KSK's, generated with
\fB\-f KSK\fR). However, if an algorithm is explicitly specified with the
@@ -81,7 +81,7 @@ must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a
.PP
\-3
.RS 4
-Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms are NSEC3\-capable.
+Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default. Note that RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 and ECDSAP384SHA384 algorithms are NSEC3\-capable.
.RE
.PP
\-C
@@ -103,11 +103,6 @@ Indicates that the DNS record containing the key should have the specified class
Uses a crypto hardware (OpenSSL engine) for random number and, when supported, key generation. When compiled with PKCS#11 support it defaults to pkcs11; the empty name resets it to no engine.
.RE
.PP
-\-e
-.RS 4
-If generating an RSAMD5/RSASHA1 key, use a large exponent.
-.RE
-.PP
\-f \fIflag\fR
.RS 4
Set the specified flag in the flag field of the KEY/DNSKEY record. The only recognized flags are KSK (Key Signing Key) and REVOKE.
@@ -307,7 +302,7 @@ RFC 4034.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
-Copyright \(co 2004, 2005, 2007\-2011 Internet Systems Consortium, Inc. ("ISC")
+Copyright \(co 2004, 2005, 2007\-2012 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
diff --git a/bin/dnssec/dnssec-keygen.c b/bin/dnssec/dnssec-keygen.c
index b59047e3..086d6d73 100644
--- a/bin/dnssec/dnssec-keygen.c
+++ b/bin/dnssec/dnssec-keygen.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2012 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
@@ -85,6 +85,7 @@ usage(void) {
fprintf(stderr, " RSA | RSAMD5 | DSA | RSASHA1 | NSEC3RSASHA1"
" | NSEC3DSA |\n");
fprintf(stderr, " RSASHA256 | RSASHA512 | ECCGOST |\n");
+ fprintf(stderr, " ECDSAP256SHA256 | ECDSAP384SHA384 |\n");
fprintf(stderr, " DH | HMAC-MD5 | HMAC-SHA1 | HMAC-SHA224 | "
"HMAC-SHA256 | \n");
fprintf(stderr, " HMAC-SHA384 | HMAC-SHA512\n");
@@ -102,6 +103,8 @@ usage(void) {
fprintf(stderr, " NSEC3DSA:\t[512..1024] and divisible "
"by 64\n");
fprintf(stderr, " ECCGOST:\tignored\n");
+ fprintf(stderr, " ECDSAP256SHA256:\tignored\n");
+ fprintf(stderr, " ECDSAP384SHA384:\tignored\n");
fprintf(stderr, " HMAC-MD5:\t[1..512]\n");
fprintf(stderr, " HMAC-SHA1:\t[1..160]\n");
fprintf(stderr, " HMAC-SHA224:\t[1..224]\n");
@@ -121,7 +124,6 @@ usage(void) {
#else
fprintf(stderr, " -E <engine name>\n");
#endif
- fprintf(stderr, " -e: use large exponent (RSAMD5/RSASHA1 only)\n");
fprintf(stderr, " -f <keyflag>: KSK | REVOKE\n");
fprintf(stderr, " -g <generator>: use specified generator "
"(DH only)\n");
@@ -209,7 +211,7 @@ main(int argc, char **argv) {
isc_boolean_t conflict = ISC_FALSE, null_key = ISC_FALSE;
isc_boolean_t oldstyle = ISC_FALSE;
isc_mem_t *mctx = NULL;
- int ch, rsa_exp = 0, generator = 0, param = 0;
+ int ch, generator = 0, param = 0;
int protocol = -1, size = -1, signatory = 0;
isc_result_t ret;
isc_textregion_t r;
@@ -308,7 +310,9 @@ main(int argc, char **argv) {
engine = isc_commandline_argument;
break;
case 'e':
- rsa_exp = 1;
+ fprintf(stderr,
+ "phased-out option -e "
+ "(was 'use (RSA) large exponent)\n");
break;
case 'f':
c = (unsigned char)(isc_commandline_argument[0]);
@@ -557,7 +561,8 @@ main(int argc, char **argv) {
if (use_nsec3 &&
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
alg != DST_ALG_RSASHA256 && alg!= DST_ALG_RSASHA512 &&
- alg != DST_ALG_ECCGOST) {
+ alg != DST_ALG_ECCGOST &&
+ alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384) {
fatal("%s is incompatible with NSEC3; "
"do not use the -3 option", algname);
}
@@ -587,9 +592,11 @@ main(int argc, char **argv) {
size = 1024;
if (verbose > 0)
fprintf(stderr, "key size not "
- "specified; defaulting "
- "to %d\n", size);
- } else if (alg != DST_ALG_ECCGOST)
+ "specified; defaulting"
+ " to %d\n", size);
+ } else if (alg != DST_ALG_ECCGOST &&
+ alg != DST_ALG_ECDSA256 &&
+ alg != DST_ALG_ECDSA384)
fatal("key size not specified (-b option)");
}
@@ -718,6 +725,8 @@ main(int argc, char **argv) {
fatal("invalid DSS key size: %d", size);
break;
case DST_ALG_ECCGOST:
+ case DST_ALG_ECDSA256:
+ case DST_ALG_ECDSA384:
break;
case DST_ALG_HMACMD5:
options |= DST_TYPE_KEY;
@@ -781,12 +790,6 @@ main(int argc, char **argv) {
break;
}
- if (!(alg == DNS_KEYALG_RSAMD5 || alg == DNS_KEYALG_RSASHA1 ||
- alg == DNS_KEYALG_NSEC3RSASHA1 || alg == DNS_KEYALG_RSASHA256 ||
- alg == DNS_KEYALG_RSASHA512 || alg == DST_ALG_ECCGOST) &&
- rsa_exp != 0)
- fatal("specified RSA exponent for a non-RSA key");
-
if (alg != DNS_KEYALG_DH && generator != 0)
fatal("specified DH generator for a non-DH key");
@@ -846,7 +849,6 @@ main(int argc, char **argv) {
case DNS_KEYALG_NSEC3RSASHA1:
case DNS_KEYALG_RSASHA256:
case DNS_KEYALG_RSASHA512:
- param = rsa_exp;
show_progress = ISC_TRUE;
break;
@@ -857,6 +859,8 @@ main(int argc, char **argv) {
case DNS_KEYALG_DSA:
case DNS_KEYALG_NSEC3DSA:
case DST_ALG_ECCGOST:
+ case DST_ALG_ECDSA256:
+ case DST_ALG_ECDSA384:
show_progress = ISC_TRUE;
/* fall through */
diff --git a/bin/dnssec/dnssec-keygen.docbook b/bin/dnssec/dnssec-keygen.docbook
index f14ceb6d..bc50c022 100644
--- a/bin/dnssec/dnssec-keygen.docbook
+++ b/bin/dnssec/dnssec-keygen.docbook
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- - Copyright (C) 2004, 2005, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004, 2005, 2007-2012 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>2009</year>
<year>2010</year>
<year>2011</year>
+ <year>2012</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -67,7 +68,6 @@
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
- <arg><option>-e</option></arg>
<arg><option>-f <replaceable class="parameter">flag</replaceable></option></arg>
<arg><option>-G</option></arg>
<arg><option>-g <replaceable class="parameter">generator</replaceable></option></arg>
@@ -116,7 +116,8 @@
<para>
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
- DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
+ DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 or ECDSAP384SHA384.
For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@@ -150,7 +151,8 @@
between 512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC keys must be
- between 1 and 512 bits.
+ between 1 and 512 bits. Elliptic curve algorithms don't need
+ this parameter.
</para>
<para>
The key size does not need to be specified if using a default
@@ -186,7 +188,8 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
- default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms
+ default. Note that RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable.
</para>
</listitem>
@@ -230,15 +233,6 @@
</varlistentry>
<varlistentry>
- <term>-e</term>
- <listitem>
- <para>
- If generating an RSAMD5/RSASHA1 key, use a large exponent.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term>-f <replaceable class="parameter">flag</replaceable></term>
<listitem>
<para>
diff --git a/bin/dnssec/dnssec-keygen.html b/bin/dnssec/dnssec-keygen.html
index 0bcbd134..ecf512b1 100644
--- a/bin/dnssec/dnssec-keygen.html
+++ b/bin/dnssec/dnssec-keygen.html
@@ -1,5 +1,5 @@
<!--
- - Copyright (C) 2004, 2005, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2004, 2005, 2007-2012 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">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">-e</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">-z</code>] {name}</p></div>
+<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">-z</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2543591"></a><h2>DESCRIPTION</h2>
+<a name="id2543590"></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
@@ -46,14 +46,15 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2543609"></a><h2>OPTIONS</h2>
+<a name="id2543608"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
<p>
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
- DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
+ DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 or ECDSAP384SHA384.
For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@@ -84,7 +85,8 @@
between 512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC keys must be
- between 1 and 512 bits.
+ between 1 and 512 bits. Elliptic curve algorithms don't need
+ this parameter.
</p>
<p>
The key size does not need to be specified if using a default
@@ -111,7 +113,8 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
- default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms
+ default. Note that RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable.
</p></dd>
<dt><span class="term">-C</span></dt>
@@ -136,10 +139,6 @@
support it defaults to pkcs11; the empty name resets it to
no engine.
</p></dd>
-<dt><span class="term">-e</span></dt>
-<dd><p>
- If generating an RSAMD5/RSASHA1 key, use a large exponent.
- </p></dd>
<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
<dd><p>
Set the specified flag in the flag field of the KEY/DNSKEY record.
@@ -257,7 +256,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2544201"></a><h2>TIMING OPTIONS</h2>
+<a name="id2544187"></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
@@ -328,7 +327,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2544391"></a><h2>GENERATED KEYS</h2>
+<a name="id2544377"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully,
@@ -374,7 +373,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544473"></a><h2>EXAMPLE</h2>
+<a name="id2544459"></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
@@ -395,7 +394,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544585"></a><h2>SEE ALSO</h2>
+<a name="id2544571"></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>,
@@ -404,7 +403,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2544616"></a><h2>AUTHOR</h2>
+<a name="id2544602"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/bin/dnssec/dnssec-settime.c b/bin/dnssec/dnssec-settime.c
index aa31469f..eb483607 100644
--- a/bin/dnssec/dnssec-settime.c
+++ b/bin/dnssec/dnssec-settime.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009-2012 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
@@ -38,6 +38,7 @@
#include <dns/keyvalues.h>
#include <dns/result.h>
+#include <dns/log.h>
#include <dst/dst.h>
@@ -153,6 +154,7 @@ main(int argc, char **argv) {
isc_boolean_t force = ISC_FALSE;
isc_boolean_t epoch = ISC_FALSE;
isc_boolean_t changed = ISC_FALSE;
+ isc_log_t *log = NULL;
if (argc == 1)
usage();
@@ -161,6 +163,8 @@ main(int argc, char **argv) {
if (result != ISC_R_SUCCESS)
fatal("Out of memory");
+ setup_logging(verbose, mctx, &log);
+
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
@@ -593,6 +597,7 @@ main(int argc, char **argv) {
cleanup_entropy(&ectx);
if (verbose > 10)
isc_mem_stats(mctx, stdout);
+ cleanup_logging(&log);
isc_mem_free(mctx, directory);
isc_mem_destroy(&mctx);
diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c
index 8335195d..e208979b 100644
--- a/bin/dnssec/dnssec-signzone.c
+++ b/bin/dnssec/dnssec-signzone.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2012 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
@@ -189,10 +189,6 @@ static isc_boolean_t output_stdout = ISC_FALSE;
static void
sign(isc_task_t *task, isc_event_t *event);
-#define check_dns_dbiterator_current(result) \
- check_result((result == DNS_R_NEWORIGIN) ? ISC_R_SUCCESS : result, \
- "dns_dbiterator_current()")
-
static void
dumpnode(dns_name_t *name, dns_dbnode_t *node) {
dns_rdataset_t rds;
@@ -998,26 +994,6 @@ loadds(dns_name_t *name, isc_uint32_t ttl, dns_rdataset_t *dsset) {
}
static isc_boolean_t
-delegation(dns_name_t *name, dns_dbnode_t *node, isc_uint32_t *ttlp) {
- dns_rdataset_t nsset;
- isc_result_t result;
-
- if (dns_name_equal(name, gorigin))
- return (ISC_FALSE);
-
- dns_rdataset_init(&nsset);
- result = dns_db_findrdataset(gdb, node, gversion, dns_rdatatype_ns,
- 0, 0, &nsset, NULL);
- if (dns_rdataset_isassociated(&nsset)) {
- if (ttlp != NULL)
- *ttlp = nsset.ttl;
- dns_rdataset_disassociate(&nsset);
- }
-
- return (ISC_TF(result == ISC_R_SUCCESS));
-}
-
-static isc_boolean_t
secure(dns_name_t *name, dns_dbnode_t *node) {
dns_rdataset_t dsset;
isc_result_t result;
@@ -1052,7 +1028,7 @@ signname(dns_dbnode_t *node, dns_name_t *name) {
/*
* Determine if this is a delegation point.
*/
- if (delegation(name, node, NULL))
+ if (is_delegation(gdb, gversion, gorigin, name, node, NULL))
isdelegation = ISC_TRUE;
/*
@@ -1385,453 +1361,6 @@ postsign(void) {
dns_dbiterator_destroy(&gdbiter);
}
-static isc_boolean_t
-goodsig(dns_rdata_t *sigrdata, dns_name_t *name, dns_rdataset_t *keyrdataset,
- dns_rdataset_t *rdataset)
-{
- dns_rdata_dnskey_t key;
- dns_rdata_rrsig_t sig;
- dst_key_t *dstkey = NULL;
- isc_result_t result;
-
- dns_rdata_tostruct(sigrdata, &sig, NULL);
-
- for (result = dns_rdataset_first(keyrdataset);
- result == ISC_R_SUCCESS;
- result = dns_rdataset_next(keyrdataset)) {
- dns_rdata_t rdata = DNS_RDATA_INIT;
- dns_rdataset_current(keyrdataset, &rdata);
- dns_rdata_tostruct(&rdata, &key, NULL);
- result = dns_dnssec_keyfromrdata(gorigin, &rdata, mctx,
- &dstkey);
- if (result != ISC_R_SUCCESS)
- return (ISC_FALSE);
- if (sig.algorithm != key.algorithm ||
- sig.keyid != dst_key_id(dstkey) ||
- !dns_name_equal(&sig.signer, gorigin)) {
- dst_key_free(&dstkey);
- continue;
- }
- result = dns_dnssec_verify(name, rdataset, dstkey, ISC_FALSE,
- mctx, sigrdata);
- dst_key_free(&dstkey);
- if (result == ISC_R_SUCCESS)
- return(ISC_TRUE);
- }
- return (ISC_FALSE);
-}
-
-static void
-verifyset(dns_rdataset_t *rdataset, dns_name_t *name, dns_dbnode_t *node,
- dns_rdataset_t *keyrdataset, unsigned char *ksk_algorithms,
- unsigned char *bad_algorithms)
-{
- unsigned char set_algorithms[256];
- char namebuf[DNS_NAME_FORMATSIZE];
- char algbuf[80];
- char typebuf[80];
- dns_rdataset_t sigrdataset;
- dns_rdatasetiter_t *rdsiter = NULL;
- isc_result_t result;
- int i;
-
- dns_rdataset_init(&sigrdataset);
- result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
- check_result(result, "dns_db_allrdatasets()");
- for (result = dns_rdatasetiter_first(rdsiter);
- result == ISC_R_SUCCESS;
- result = dns_rdatasetiter_next(rdsiter)) {
- dns_rdatasetiter_current(rdsiter, &sigrdataset);
- if (sigrdataset.type == dns_rdatatype_rrsig &&
- sigrdataset.covers == rdataset->type)
- break;
- dns_rdataset_disassociate(&sigrdataset);
- }
- if (result != ISC_R_SUCCESS) {
- dns_name_format(name, namebuf, sizeof(namebuf));
- type_format(rdataset->type, typebuf, sizeof(typebuf));
- fprintf(stderr, "no signatures for %s/%s\n", namebuf, typebuf);
- for (i = 0; i < 256; i++)
- if (ksk_algorithms[i] != 0)
- bad_algorithms[i] = 1;
- return;
- }
-
- memset(set_algorithms, 0, sizeof(set_algorithms));
- for (result = dns_rdataset_first(&sigrdataset);
- result == ISC_R_SUCCESS;
- result = dns_rdataset_next(&sigrdataset)) {
- dns_rdata_t rdata = DNS_RDATA_INIT;
- dns_rdata_rrsig_t sig;
-
- dns_rdataset_current(&sigrdataset, &rdata);
- dns_rdata_tostruct(&rdata, &sig, NULL);
- if (rdataset->ttl != sig.originalttl) {
- dns_name_format(name, namebuf, sizeof(namebuf));
- type_format(rdataset->type, typebuf, sizeof(typebuf));
- fprintf(stderr, "TTL mismatch for %s %s keytag %u\n",
- namebuf, typebuf, sig.keyid);
- continue;
- }
- if ((set_algorithms[sig.algorithm] != 0) ||
- (ksk_algorithms[sig.algorithm] == 0))
- continue;
- if (goodsig(&rdata, name, keyrdataset, rdataset))
- set_algorithms[sig.algorithm] = 1;
- }
- dns_rdatasetiter_destroy(&rdsiter);
- if (memcmp(set_algorithms, ksk_algorithms, sizeof(set_algorithms))) {
- dns_name_format(name, namebuf, sizeof(namebuf));
- type_format(rdataset->type, typebuf, sizeof(typebuf));
- for (i = 0; i < 256; i++)
- if ((ksk_algorithms[i] != 0) &&
- (set_algorithms[i] == 0)) {
- dns_secalg_format(i, algbuf, sizeof(algbuf));
- fprintf(stderr, "Missing %s signature for "
- "%s %s\n", algbuf, namebuf, typebuf);
- bad_algorithms[i] = 1;
- }
- }
- dns_rdataset_disassociate(&sigrdataset);
-}
-
-static void
-verifynode(dns_name_t *name, dns_dbnode_t *node, isc_boolean_t delegation,
- dns_rdataset_t *keyrdataset, unsigned char *ksk_algorithms,
- unsigned char *bad_algorithms)
-{
- dns_rdataset_t rdataset;
- dns_rdatasetiter_t *rdsiter = NULL;
- isc_result_t result;
-
- result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
- check_result(result, "dns_db_allrdatasets()");
- result = dns_rdatasetiter_first(rdsiter);
- dns_rdataset_init(&rdataset);
- while (result == ISC_R_SUCCESS) {
- dns_rdatasetiter_current(rdsiter, &rdataset);
- if (rdataset.type != dns_rdatatype_rrsig &&
- rdataset.type != dns_rdatatype_dnskey &&
- (!delegation || rdataset.type == dns_rdatatype_ds ||
- rdataset.type == dns_rdatatype_nsec)) {
- verifyset(&rdataset, name, node, keyrdataset,
- ksk_algorithms, bad_algorithms);
- }
- dns_rdataset_disassociate(&rdataset);
- result = dns_rdatasetiter_next(rdsiter);
- }
- if (result != ISC_R_NOMORE)
- fatal("rdataset iteration failed: %s",
- isc_result_totext(result));
- dns_rdatasetiter_destroy(&rdsiter);
-}
-
-/*%
- * Verify that certain things are sane:
- *
- * The apex has a DNSKEY RRset with at least one KSK, and at least
- * one ZSK if the -x flag was not used.
- *
- * The DNSKEY record was signed with at least one of the KSKs in
- * the DNSKEY RRset.
- *
- * The rest of the zone was signed with at least one of the ZSKs
- * present in the DNSKEY RRset.
- */
-static void
-verifyzone(void) {
- char algbuf[80];
- dns_dbiterator_t *dbiter = NULL;
- dns_dbnode_t *node = NULL, *nextnode = NULL;
- dns_fixedname_t fname, fnextname, fzonecut;
- dns_name_t *name, *nextname, *zonecut;
- dns_rdata_dnskey_t dnskey;
- dns_rdata_t rdata = DNS_RDATA_INIT;
- dns_rdataset_t keyset, soaset;
- dns_rdataset_t keysigs, soasigs;
- int i;
- isc_boolean_t done = ISC_FALSE;
- isc_boolean_t first = ISC_TRUE;
- isc_boolean_t goodksk = ISC_FALSE;
- isc_result_t result;
- unsigned char revoked_ksk[256];
- unsigned char revoked_zsk[256];
- unsigned char standby_ksk[256];
- unsigned char standby_zsk[256];
- unsigned char ksk_algorithms[256];
- unsigned char zsk_algorithms[256];
- unsigned char bad_algorithms[256];
-
- if (disable_zone_check)
- return;
-
- result = dns_db_findnode(gdb, gorigin, ISC_FALSE, &node);
- if (result != ISC_R_SUCCESS)
- fatal("failed to find the zone's origin: %s",
- isc_result_totext(result));
-
- dns_rdataset_init(&keyset);
- dns_rdataset_init(&keysigs);
- dns_rdataset_init(&soaset);
- dns_rdataset_init(&soasigs);
-
- result = dns_db_findrdataset(gdb, node, gversion,
- dns_rdatatype_dnskey,
- 0, 0, &keyset, &keysigs);
- if (result != ISC_R_SUCCESS)
- fatal("Zone contains no DNSSEC keys\n");
-
- result = dns_db_findrdataset(gdb, node, gversion,
- dns_rdatatype_soa,
- 0, 0, &soaset, &soasigs);
- dns_db_detachnode(gdb, &node);
- if (result != ISC_R_SUCCESS)
- fatal("Zone contains no SOA record\n");
-
- if (!dns_rdataset_isassociated(&keysigs))
- fatal("DNSKEY is not signed (keys offline or inactive?)\n");
-
- if (!dns_rdataset_isassociated(&soasigs))
- fatal("SOA is not signed (keys offline or inactive?)\n");
-
- memset(revoked_ksk, 0, sizeof(revoked_ksk));
- memset(revoked_zsk, 0, sizeof(revoked_zsk));
- memset(standby_ksk, 0, sizeof(standby_ksk));
- memset(standby_zsk, 0, sizeof(standby_zsk));
- memset(ksk_algorithms, 0, sizeof(ksk_algorithms));
- memset(zsk_algorithms, 0, sizeof(zsk_algorithms));
- memset(bad_algorithms, 0, sizeof(bad_algorithms));
-
- /*
- * Check that the DNSKEY RR has at least one self signing KSK
- * and one ZSK per algorithm in it (or, if -x was used, one
- * self-signing KSK).
- */
- for (result = dns_rdataset_first(&keyset);
- result == ISC_R_SUCCESS;
- result = dns_rdataset_next(&keyset)) {
- dns_rdataset_current(&keyset, &rdata);
- result = dns_rdata_tostruct(&rdata, &dnskey, NULL);
- check_result(result, "dns_rdata_tostruct");
-
- if ((dnskey.flags & DNS_KEYOWNER_ZONE) == 0)
- ;
- else if ((dnskey.flags & DNS_KEYFLAG_REVOKE) != 0) {
- if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 &&
- !dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
- &keysigs, ISC_FALSE,
- mctx)) {
- char namebuf[DNS_NAME_FORMATSIZE];
- char buffer[1024];
- isc_buffer_t buf;
-
- dns_name_format(gorigin, namebuf,
- sizeof(namebuf));
- isc_buffer_init(&buf, buffer, sizeof(buffer));
- result = dns_rdata_totext(&rdata, NULL, &buf);
- check_result(result, "dns_rdata_totext");
- fatal("revoked KSK is not self signed:\n"
- "%s DNSKEY %.*s", namebuf,
- (int)isc_buffer_usedlength(&buf), buffer);
- }
- if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 &&
- revoked_ksk[dnskey.algorithm] != 255)
- revoked_ksk[dnskey.algorithm]++;
- else if ((dnskey.flags & DNS_KEYFLAG_KSK) == 0 &&
- revoked_zsk[dnskey.algorithm] != 255)
- revoked_zsk[dnskey.algorithm]++;
- } else if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0) {
- if (dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
- &keysigs, ISC_FALSE, mctx)) {
- if (ksk_algorithms[dnskey.algorithm] != 255)
- ksk_algorithms[dnskey.algorithm]++;
- goodksk = ISC_TRUE;
- } else {
- if (standby_ksk[dnskey.algorithm] != 255)
- standby_ksk[dnskey.algorithm]++;
- }
- } else if (dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
- &keysigs, ISC_FALSE,
- mctx)) {
- if (zsk_algorithms[dnskey.algorithm] != 255)
- zsk_algorithms[dnskey.algorithm]++;
- } else if (dns_dnssec_signs(&rdata, gorigin, &soaset,
- &soasigs, ISC_FALSE, mctx)) {
- if (zsk_algorithms[dnskey.algorithm] != 255)
- zsk_algorithms[dnskey.algorithm]++;
- } else {
- if (standby_zsk[dnskey.algorithm] != 255)
- standby_zsk[dnskey.algorithm]++;
- }
- dns_rdata_freestruct(&dnskey);
- dns_rdata_reset(&rdata);
- }
- dns_rdataset_disassociate(&keysigs);
- dns_rdataset_disassociate(&soaset);
- dns_rdataset_disassociate(&soasigs);
-
- if (!goodksk)
- fatal("No self-signed KSK DNSKEY found. Supply an active\n"
- "key with the KSK flag set, or use '-P'.");
-
- fprintf(stderr, "Verifying the zone using the following algorithms:");
- for (i = 0; i < 256; i++) {
- if (ksk_algorithms[i] != 0) {
- dns_secalg_format(i, algbuf, sizeof(algbuf));
- fprintf(stderr, " %s", algbuf);
- }
- }
- fprintf(stderr, ".\n");
-
- if (!ignore_kskflag && !keyset_kskonly) {
- for (i = 0; i < 256; i++) {
- /*
- * The counts should both be zero or both be non-zero.
- * Mark the algorithm as bad if this is not met.
- */
- if ((ksk_algorithms[i] != 0) ==
- (zsk_algorithms[i] != 0))
- continue;
- dns_secalg_format(i, algbuf, sizeof(algbuf));
- fprintf(stderr, "Missing %s for algorithm %s\n",
- (ksk_algorithms[i] != 0)
- ? "ZSK"
- : "self signing KSK",
- algbuf);
- bad_algorithms[i] = 1;
- }
- }
-
- /*
- * Check that all the other records were signed by keys that are
- * present in the DNSKEY RRSET.
- */
-
- dns_fixedname_init(&fname);
- name = dns_fixedname_name(&fname);
- dns_fixedname_init(&fnextname);
- nextname = dns_fixedname_name(&fnextname);
- dns_fixedname_init(&fzonecut);
- zonecut = NULL;
-
- result = dns_db_createiterator(gdb, DNS_DB_NONSEC3, &dbiter);
- check_result(result, "dns_db_createiterator()");
-
- result = dns_dbiterator_first(dbiter);
- check_result(result, "dns_dbiterator_first()");
-
- while (!done) {
- isc_boolean_t isdelegation = ISC_FALSE;
-
- result = dns_dbiterator_current(dbiter, &node, name);
- check_dns_dbiterator_current(result);
- if (!dns_name_issubdomain(name, gorigin)) {
- dns_db_detachnode(gdb, &node);
- result = dns_dbiterator_next(dbiter);
- if (result == ISC_R_NOMORE)
- done = ISC_TRUE;
- else
- check_result(result, "dns_dbiterator_next()");
- continue;
- }
- if (delegation(name, node, NULL)) {
- zonecut = dns_fixedname_name(&fzonecut);
- dns_name_copy(name, zonecut, NULL);
- isdelegation = ISC_TRUE;
- }
- verifynode(name, node, isdelegation, &keyset,
- ksk_algorithms, bad_algorithms);
- result = dns_dbiterator_next(dbiter);
- nextnode = NULL;
- while (result == ISC_R_SUCCESS) {
- result = dns_dbiterator_current(dbiter, &nextnode,
- nextname);
- check_dns_dbiterator_current(result);
- if (!dns_name_issubdomain(nextname, gorigin) ||
- (zonecut != NULL &&
- dns_name_issubdomain(nextname, zonecut)))
- {
- dns_db_detachnode(gdb, &nextnode);
- result = dns_dbiterator_next(dbiter);
- continue;
- }
- dns_db_detachnode(gdb, &nextnode);
- break;
- }
- if (result == ISC_R_NOMORE) {
- done = ISC_TRUE;
- } else if (result != ISC_R_SUCCESS)
- fatal("iterating through the database failed: %s",
- isc_result_totext(result));
- dns_db_detachnode(gdb, &node);
- }
-
- dns_dbiterator_destroy(&dbiter);
-
- result = dns_db_createiterator(gdb, DNS_DB_NSEC3ONLY, &dbiter);
- check_result(result, "dns_db_createiterator()");
-
- for (result = dns_dbiterator_first(dbiter);
- result == ISC_R_SUCCESS;
- result = dns_dbiterator_next(dbiter) ) {
- result = dns_dbiterator_current(dbiter, &node, name);
- check_dns_dbiterator_current(result);
- verifynode(name, node, ISC_FALSE, &keyset,
- ksk_algorithms, bad_algorithms);
- dns_db_detachnode(gdb, &node);
- }
- dns_dbiterator_destroy(&dbiter);
-
- dns_rdataset_disassociate(&keyset);
-
- /*
- * If we made it this far, we have what we consider a properly signed
- * zone. Set the good flag.
- */
- for (i = 0; i < 256; i++) {
- if (bad_algorithms[i] != 0) {
- if (first)
- fprintf(stderr, "The zone is not fully signed "
- "for the following algorithms:");
- dns_secalg_format(i, algbuf, sizeof(algbuf));
- fprintf(stderr, " %s", algbuf);
- first = ISC_FALSE;
- }
- }
- if (!first) {
- fprintf(stderr, ".\n");
- fatal("DNSSEC completeness test failed.");
- }
-
- if (goodksk || ignore_kskflag) {
- /*
- * Print the success summary.
- */
- fprintf(stderr, "Zone signing complete:\n");
- for (i = 0; i < 256; i++) {
- if ((ksk_algorithms[i] != 0) ||
- (standby_ksk[i] != 0) ||
- (revoked_zsk[i] != 0) ||
- (zsk_algorithms[i] != 0) ||
- (standby_zsk[i] != 0) ||
- (revoked_zsk[i] != 0)) {
- dns_secalg_format(i, algbuf, sizeof(algbuf));
- fprintf(stderr, "Algorithm: %s: KSKs: "
- "%u active, %u stand-by, %u revoked\n",
- algbuf, ksk_algorithms[i],
- standby_ksk[i], revoked_ksk[i]);
- fprintf(stderr, "%*sZSKs: "
- "%u active, %u %s, %u revoked\n",
- (int) strlen(algbuf) + 13, "",
- zsk_algorithms[i],
- standby_zsk[i],
- keyset_kskonly ? "present" : "stand-by",
- revoked_zsk[i]);
- }
- }
- }
-}
-
/*%
* Sign the apex of the zone.
* Note the origin may not be the first node if there are out of zone
@@ -1929,7 +1458,7 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
if (dns_name_issubdomain(name, gorigin) &&
(zonecut == NULL ||
!dns_name_issubdomain(name, zonecut))) {
- if (delegation(name, node, NULL)) {
+ if (is_delegation(gdb, gversion, gorigin, name, node, NULL)) {
dns_fixedname_init(&fzonecut);
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(name, zonecut, NULL);
@@ -2187,7 +1716,7 @@ nsecify(void) {
if (dns_name_equal(name, gorigin))
remove_records(node, dns_rdatatype_nsec3param);
- if (delegation(name, node, &nsttl)) {
+ if (is_delegation(gdb, gversion, gorigin, name, node, &nsttl)) {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(name, zonecut, NULL);
if (generateds)
@@ -2622,7 +2151,9 @@ nsec3ify(unsigned int hashalg, unsigned int iterations,
result = dns_dbiterator_next(dbiter);
continue;
}
- if (delegation(nextname, nextnode, &nsttl)) {
+ if (is_delegation(gdb, gversion, gorigin,
+ nextname, nextnode, &nsttl))
+ {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(nextname, zonecut, NULL);
if (generateds)
@@ -2750,7 +2281,9 @@ nsec3ify(unsigned int hashalg, unsigned int iterations,
result = dns_dbiterator_next(dbiter);
continue;
}
- if (delegation(nextname, nextnode, NULL)) {
+ if (is_delegation(gdb, gversion, gorigin,
+ nextname, nextnode, NULL))
+ {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(nextname, zonecut, NULL);
if (OPTOUT(nsec3flags) &&
@@ -3469,9 +3002,10 @@ main(int argc, char *argv[]) {
isc_boolean_t set_salt = ISC_FALSE;
isc_boolean_t set_optout = ISC_FALSE;
isc_boolean_t set_iter = ISC_FALSE;
+ isc_boolean_t nonsecify = ISC_FALSE;
#define CMDLINE_FLAGS \
- "3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:L:l:m:n:N:o:O:PpRr:s:ST:tuUv:X:xz"
+ "3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:L:l:m:n:N:o:O:PpRr:s:ST:tuUv:X:xzZ:"
/*
* Process memory debugging argument first.
@@ -3741,6 +3275,10 @@ main(int argc, char *argv[]) {
fprintf(stderr, "%s: unhandled option -%c\n",
program, isc_commandline_option);
exit(1);
+ case 'Z': /* Undocumented test options */
+ if (!strcmp(isc_commandline_argument, "nonsecify"))
+ nonsecify = ISC_TRUE;
+ break;
}
}
@@ -3991,11 +3529,13 @@ main(int argc, char *argv[]) {
remove_duplicates();
- if (IS_NSEC3)
- nsec3ify(dns_hash_sha1, nsec3iter, salt, salt_length,
- &hashlist);
- else
- nsecify();
+ if (!nonsecify) {
+ if (IS_NSEC3)
+ nsec3ify(dns_hash_sha1, nsec3iter, salt, salt_length,
+ &hashlist);
+ else
+ nsecify();
+ }
if (!nokeys) {
writeset("dsset-", dns_rdatatype_ds);
@@ -4019,7 +3559,10 @@ main(int argc, char *argv[]) {
result = isc_file_mktemplate(output, tempfile, tempfilelen);
check_result(result, "isc_file_mktemplate");
- result = isc_file_openunique(tempfile, &fp);
+ if (outputformat == dns_masterformat_text)
+ result = isc_file_openunique(tempfile, &fp);
+ else
+ result = isc_file_bopenunique(tempfile, &fp);
if (result != ISC_R_SUCCESS)
fatal("failed to open temporary output file: %s",
isc_result_totext(result));
@@ -4082,9 +3625,12 @@ main(int argc, char *argv[]) {
isc_mem_put(mctx, tasks, ntasks * sizeof(isc_task_t *));
postsign();
TIME_NOW(&sign_finish);
- verifyzone();
- if (outputformat == dns_masterformat_raw) {
+ if (!disable_zone_check)
+ verifyzone(gdb, gversion, gorigin, mctx,
+ ignore_kskflag, keyset_kskonly);
+
+ if (outputformat != dns_masterformat_text) {
dns_masterrawheader_t header;
dns_master_initrawheader(&header);
if (rawversion == 0U)
diff --git a/bin/dnssec/dnssec-verify.8 b/bin/dnssec/dnssec-verify.8
new file mode 100644
index 00000000..1de88fa0
--- /dev/null
+++ b/bin/dnssec/dnssec-verify.8
@@ -0,0 +1,97 @@
+.\" Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+.\"
+.\" Permission to use, copy, modify, and/or distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+.\" PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" $Id$
+.\"
+.hy 0
+.ad l
+.\" Title: dnssec\-verify
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
+.\" Date: April 12, 2012
+.\" Manual: BIND9
+.\" Source: BIND9
+.\"
+.TH "DNSSEC\-VERIFY" "8" "April 12, 2012" "BIND9" "BIND9"
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
+dnssec\-verify \- DNSSEC zone verification tool
+.SH "SYNOPSIS"
+.HP 14
+\fBdnssec\-verify\fR [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-x\fR] [\fB\-z\fR] {zonefile}
+.SH "DESCRIPTION"
+.PP
+\fBdnssec\-verify\fR
+verifies that a zone is fully signed for each algorithm found in the DNSKEY RRset for the zone, and that the NSEC / NSEC3 chains are complete.
+.SH "OPTIONS"
+.PP
+\-c \fIclass\fR
+.RS 4
+Specifies the DNS class of the zone.
+.RE
+.PP
+\-I \fIinput\-format\fR
+.RS 4
+The format of the input zone file. Possible formats are
+\fB"text"\fR
+(default) and
+\fB"raw"\fR. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be verified independently. The use of this option does not make much sense for non\-dynamic zones.
+.RE
+.PP
+\-o \fIorigin\fR
+.RS 4
+The zone origin. If not specified, the name of the zone file is assumed to be the origin.
+.RE
+.PP
+\-v \fIlevel\fR
+.RS 4
+Sets the debugging level.
+.RE
+.PP
+\-x
+.RS 4
+Only verify that the DNSKEY RRset is signed with key\-signing keys. Without this flag, it is assumed that the DNSKEY RRset will be signed by all active keys. When this flag is set, it will not be an error if the DNSKEY RRset is not signed by zone\-signing keys. This corresponds to the
+\fB\-x\fR
+option in
+\fBdnssec\-signzone\fR.
+.RE
+.PP
+\-z
+.RS 4
+Ignore the KSK flag on the keys when determining whether the zone if correctly signed. Without this flag it is assumed that there will be a non\-revoked, self\-signed DNSKEY with the KSK flag set for each algorithm and that RRsets other than DNSKEY RRset will be signed with a different DNSKEY without the KSK flag set.
+.sp
+With this flag set, we only require that for each algorithm, there will be at least one non\-revoked, self\-signed DNSKEY, regardless of the KSK flag state, and that other RRsets will be signed by a non\-revoked key for the same algorithm that includes the self\-signed key; the same key may be used for both purposes. This corresponds to the
+\fB\-z\fR
+option in
+\fBdnssec\-signzone\fR.
+.RE
+.PP
+zonefile
+.RS 4
+The file containing the zone to be signed.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBdnssec\-signzone\fR(8),
+BIND 9 Administrator Reference Manual,
+RFC 4033.
+.SH "AUTHOR"
+.PP
+Internet Systems Consortium
+.SH "COPYRIGHT"
+Copyright \(co 2012 Internet Systems Consortium, Inc. ("ISC")
+.br
diff --git a/bin/dnssec/dnssec-verify.c b/bin/dnssec/dnssec-verify.c
new file mode 100644
index 00000000..f4cf0a27
--- /dev/null
+++ b/bin/dnssec/dnssec-verify.c
@@ -0,0 +1,325 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id: dnssec-verify.c,v 1.1.2.1 2011/03/16 06:37:51 each Exp $ */
+
+/*! \file */
+
+#include <config.h>
+
+#include <stdlib.h>
+#include <time.h>
+
+#include <isc/app.h>
+#include <isc/base32.h>
+#include <isc/commandline.h>
+#include <isc/entropy.h>
+#include <isc/event.h>
+#include <isc/file.h>
+#include <isc/hash.h>
+#include <isc/hex.h>
+#include <isc/mem.h>
+#include <isc/mutex.h>
+#include <isc/os.h>
+#include <isc/print.h>
+#include <isc/random.h>
+#include <isc/rwlock.h>
+#include <isc/serial.h>
+#include <isc/stdio.h>
+#include <isc/stdlib.h>
+#include <isc/string.h>
+#include <isc/time.h>
+#include <isc/util.h>
+
+#include <dns/db.h>
+#include <dns/dbiterator.h>
+#include <dns/diff.h>
+#include <dns/dnssec.h>
+#include <dns/ds.h>
+#include <dns/fixedname.h>
+#include <dns/keyvalues.h>
+#include <dns/log.h>
+#include <dns/master.h>
+#include <dns/masterdump.h>
+#include <dns/nsec.h>
+#include <dns/nsec3.h>
+#include <dns/rdata.h>
+#include <dns/rdatalist.h>
+#include <dns/rdataset.h>
+#include <dns/rdataclass.h>
+#include <dns/rdatasetiter.h>
+#include <dns/rdatastruct.h>
+#include <dns/rdatatype.h>
+#include <dns/result.h>
+#include <dns/soa.h>
+#include <dns/time.h>
+
+#include <dst/dst.h>
+
+#include "dnssectool.h"
+
+const char *program = "dnssec-verify";
+int verbose;
+
+static isc_stdtime_t now;
+static isc_mem_t *mctx = NULL;
+static isc_entropy_t *ectx = NULL;
+static dns_masterformat_t inputformat = dns_masterformat_text;
+static dns_db_t *gdb; /* The database */
+static dns_dbversion_t *gversion; /* The database version */
+static dns_rdataclass_t gclass; /* The class */
+static dns_name_t *gorigin; /* The database origin */
+static isc_boolean_t ignore_kskflag = ISC_FALSE;
+static isc_boolean_t keyset_kskonly = ISC_FALSE;
+
+/*%
+ * Load the zone file from disk
+ */
+static void
+loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
+ isc_buffer_t b;
+ int len;
+ dns_fixedname_t fname;
+ dns_name_t *name;
+ isc_result_t result;
+
+ len = strlen(origin);
+ isc_buffer_init(&b, origin, len);
+ isc_buffer_add(&b, len);
+
+ dns_fixedname_init(&fname);
+ name = dns_fixedname_name(&fname);
+ result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ if (result != ISC_R_SUCCESS)
+ fatal("failed converting name '%s' to dns format: %s",
+ origin, isc_result_totext(result));
+
+ result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone,
+ rdclass, 0, NULL, db);
+ check_result(result, "dns_db_create()");
+
+ result = dns_db_load2(*db, file, inputformat);
+ if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
+ fatal("failed loading zone from '%s': %s",
+ file, isc_result_totext(result));
+}
+
+ISC_PLATFORM_NORETURN_PRE static void
+usage(void) ISC_PLATFORM_NORETURN_POST;
+
+static void
+usage(void) {
+ fprintf(stderr, "Usage:\n");
+ fprintf(stderr, "\t%s [options] zonefile [keys]\n", program);
+
+ fprintf(stderr, "\n");
+
+ fprintf(stderr, "Version: %s\n", VERSION);
+
+ fprintf(stderr, "Options: (default value in parenthesis) \n");
+ fprintf(stderr, "\t-v debuglevel (0)\n");
+ fprintf(stderr, "\t-o origin:\n");
+ fprintf(stderr, "\t\tzone origin (name of zonefile)\n");
+ fprintf(stderr, "\t-I format:\n");
+ fprintf(stderr, "\t\tfile format of input zonefile (text)\n");
+ fprintf(stderr, "\t-c class (IN)\n");
+ fprintf(stderr, "\t-E engine:\n");
+#ifdef USE_PKCS11
+ fprintf(stderr, "\t\tname of an OpenSSL engine to use "
+ "(default is \"pkcs11\")\n");
+#else
+ fprintf(stderr, "\t\tname of an OpenSSL engine to use\n");
+#endif
+ fprintf(stderr, "\t-x:\tDNSKEY record signed with KSKs only, "
+ "not ZSKs\n");
+ fprintf(stderr, "\t-z:\tAll records signed with KSKs\n");
+ exit(0);
+}
+
+int
+main(int argc, char *argv[]) {
+ char *origin = NULL, *file = NULL;
+ char *inputformatstr = NULL;
+ isc_result_t result;
+ isc_log_t *log = NULL;
+#ifdef USE_PKCS11
+ const char *engine = "pkcs11";
+#else
+ const char *engine = NULL;
+#endif
+ char *classname = NULL;
+ dns_rdataclass_t rdclass;
+ char ch, *endp;
+
+#define CMDLINE_FLAGS \
+ "m:o:I:c:E:v:xz"
+
+ /*
+ * Process memory debugging argument first.
+ */
+ while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
+ switch (ch) {
+ case 'm':
+ if (strcasecmp(isc_commandline_argument, "record") == 0)
+ isc_mem_debugging |= ISC_MEM_DEBUGRECORD;
+ if (strcasecmp(isc_commandline_argument, "trace") == 0)
+ isc_mem_debugging |= ISC_MEM_DEBUGTRACE;
+ if (strcasecmp(isc_commandline_argument, "usage") == 0)
+ isc_mem_debugging |= ISC_MEM_DEBUGUSAGE;
+ if (strcasecmp(isc_commandline_argument, "size") == 0)
+ isc_mem_debugging |= ISC_MEM_DEBUGSIZE;
+ if (strcasecmp(isc_commandline_argument, "mctx") == 0)
+ isc_mem_debugging |= ISC_MEM_DEBUGCTX;
+ break;
+ default:
+ break;
+ }
+ }
+ isc_commandline_reset = ISC_TRUE;
+ check_result(isc_app_start(), "isc_app_start");
+
+ result = isc_mem_create(0, 0, &mctx);
+ if (result != ISC_R_SUCCESS)
+ fatal("out of memory");
+
+ dns_result_register();
+
+ isc_commandline_errprint = ISC_FALSE;
+
+ while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
+ switch (ch) {
+ case 'c':
+ classname = isc_commandline_argument;
+ break;
+
+ case 'E':
+ engine = isc_commandline_argument;
+ break;
+
+ case 'h':
+ usage();
+ break;
+
+ case 'I':
+ inputformatstr = isc_commandline_argument;
+ break;
+
+ case 'm':
+ break;
+
+ case 'o':
+ origin = isc_commandline_argument;
+ break;
+
+ case 'v':
+ endp = NULL;
+ verbose = strtol(isc_commandline_argument, &endp, 0);
+ if (*endp != '\0')
+ fatal("verbose level must be numeric");
+ break;
+
+ case 'x':
+ keyset_kskonly = ISC_TRUE;
+ break;
+
+ case 'z':
+ ignore_kskflag = ISC_TRUE;
+ break;
+
+ case '?':
+ if (isc_commandline_option != '?')
+ fprintf(stderr, "%s: invalid argument -%c\n",
+ program, isc_commandline_option);
+ usage();
+ break;
+
+ default:
+ fprintf(stderr, "%s: unhandled option -%c\n",
+ program, isc_commandline_option);
+ exit(1);
+ }
+ }
+
+ if (ectx == NULL)
+ setup_entropy(mctx, NULL, &ectx);
+
+ result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
+ if (result != ISC_R_SUCCESS)
+ fatal("could not create hash context");
+
+ result = dst_lib_init2(mctx, ectx, engine, ISC_ENTROPY_BLOCKING);
+ if (result != ISC_R_SUCCESS)
+ fatal("could not initialize dst: %s",
+ isc_result_totext(result));
+
+ isc_stdtime_get(&now);
+
+ rdclass = strtoclass(classname);
+
+ setup_logging(verbose, mctx, &log);
+
+ argc -= isc_commandline_index;
+ argv += isc_commandline_index;
+
+ if (argc < 1)
+ usage();
+
+ file = argv[0];
+
+ argc -= 1;
+ argv += 1;
+
+ if (origin == NULL)
+ origin = file;
+
+ if (inputformatstr != NULL) {
+ if (strcasecmp(inputformatstr, "text") == 0)
+ inputformat = dns_masterformat_text;
+ else if (strcasecmp(inputformatstr, "raw") == 0)
+ inputformat = dns_masterformat_raw;
+ else
+ fatal("unknown file format: %s\n", inputformatstr);
+ }
+
+ gdb = NULL;
+ fprintf(stderr, "Loading zone '%s' from file '%s'\n", origin, file);
+ loadzone(file, origin, rdclass, &gdb);
+ gorigin = dns_db_origin(gdb);
+ gclass = dns_db_class(gdb);
+
+ gversion = NULL;
+ result = dns_db_newversion(gdb, &gversion);
+ check_result(result, "dns_db_newversion()");
+
+ verifyzone(gdb, gversion, gorigin, mctx,
+ ignore_kskflag, keyset_kskonly);
+
+ dns_db_closeversion(gdb, &gversion, ISC_FALSE);
+ dns_db_detach(&gdb);
+
+ cleanup_logging(&log);
+ dst_lib_destroy();
+ isc_hash_destroy();
+ cleanup_entropy(&ectx);
+ dns_name_destroy();
+ if (verbose > 10)
+ isc_mem_stats(mctx, stdout);
+ isc_mem_destroy(&mctx);
+
+ (void) isc_app_finish();
+
+ return (0);
+}
diff --git a/bin/dnssec/dnssec-verify.docbook b/bin/dnssec/dnssec-verify.docbook
new file mode 100644
index 00000000..0835df1d
--- /dev/null
+++ b/bin/dnssec/dnssec-verify.docbook
@@ -0,0 +1,185 @@
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ [<!ENTITY mdash "&#8212;">]>
+<!--
+ - Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and/or distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<!-- $Id: dnssec-verify.docbook,v 1.52 2011/12/22 07:32:40 each Exp $ -->
+<refentry id="man.dnssec-verify">
+ <refentryinfo>
+ <date>April 12, 2012</date>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle><application>dnssec-verify</application></refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo>BIND9</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname><application>dnssec-verify</application></refname>
+ <refpurpose>DNSSEC zone verification tool</refpurpose>
+ </refnamediv>
+
+ <docinfo>
+ <copyright>
+ <year>2012</year>
+ <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
+ </copyright>
+ </docinfo>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>dnssec-verify</command>
+ <arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
+ <arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
+ <arg><option>-I <replaceable class="parameter">input-format</replaceable></option></arg>
+ <arg><option>-o <replaceable class="parameter">origin</replaceable></option></arg>
+ <arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
+ <arg><option>-x</option></arg>
+ <arg><option>-z</option></arg>
+ <arg choice="req">zonefile</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>DESCRIPTION</title>
+ <para><command>dnssec-verify</command>
+ verifies that a zone is fully signed for each algorithm found
+ in the DNSKEY RRset for the zone, and that the NSEC / NSEC3
+ chains are complete.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-c <replaceable class="parameter">class</replaceable></term>
+ <listitem>
+ <para>
+ Specifies the DNS class of the zone.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-I <replaceable class="parameter">input-format</replaceable></term>
+ <listitem>
+ <para>
+ The format of the input zone file.
+ Possible formats are <command>"text"</command> (default)
+ and <command>"raw"</command>.
+ This option is primarily intended to be used for dynamic
+ signed zones so that the dumped zone file in a non-text
+ format containing updates can be verified independently.
+ The use of this option does not make much sense for
+ non-dynamic zones.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-o <replaceable class="parameter">origin</replaceable></term>
+ <listitem>
+ <para>
+ The zone origin. If not specified, the name of the zone file
+ is assumed to be the origin.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v <replaceable class="parameter">level</replaceable></term>
+ <listitem>
+ <para>
+ Sets the debugging level.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-x</term>
+ <listitem>
+ <para>
+ Only verify that the DNSKEY RRset is signed with key-signing
+ keys. Without this flag, it is assumed that the DNSKEY RRset
+ will be signed by all active keys. When this flag is set,
+ it will not be an error if the DNSKEY RRset is not signed
+ by zone-signing keys. This corresponds to the <option>-x</option>
+ option in <command>dnssec-signzone</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-z</term>
+ <listitem>
+ <para>
+ Ignore the KSK flag on the keys when determining whether
+ the zone if correctly signed. Without this flag it is
+ assumed that there will be a non-revoked, self-signed
+ DNSKEY with the KSK flag set for each algorithm and
+ that RRsets other than DNSKEY RRset will be signed with
+ a different DNSKEY without the KSK flag set.
+ </para>
+ <para>
+ With this flag set, we only require that for each algorithm,
+ there will be at least one non-revoked, self-signed DNSKEY,
+ regardless of the KSK flag state, and that other RRsets
+ will be signed by a non-revoked key for the same algorithm
+ that includes the self-signed key; the same key may be used
+ for both purposes. This corresponds to the <option>-z</option>
+ option in <command>dnssec-signzone</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>zonefile</term>
+ <listitem>
+ <para>
+ The file containing the zone to be signed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ <citetitle>BIND 9 Administrator Reference Manual</citetitle>,
+ <citetitle>RFC 4033</citetitle>.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>AUTHOR</title>
+ <para><corpauthor>Internet Systems Consortium</corpauthor>
+ </para>
+ </refsect1>
+
+</refentry><!--
+ - Local variables:
+ - mode: sgml
+ - End:
+-->
diff --git a/bin/dnssec/dnssec-verify.html b/bin/dnssec/dnssec-verify.html
new file mode 100644
index 00000000..c4d6a7dc
--- /dev/null
+++ b/bin/dnssec/dnssec-verify.html
@@ -0,0 +1,118 @@
+<!--
+ - Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and/or distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<!-- $Id$ -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>dnssec-verify</title>
+<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="man.dnssec-verify"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2>Name</h2>
+<p><span class="application">dnssec-verify</span> &#8212; DNSSEC zone verification tool</p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<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">-x</code>] [<code class="option">-z</code>] {zonefile}</p></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2543390"></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
+ chains are complete.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2543402"></a><h2>OPTIONS</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
+<dd><p>
+ Specifies the DNS class of the zone.
+ </p></dd>
+<dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
+<dd><p>
+ The format of the input zone file.
+ Possible formats are <span><strong class="command">"text"</strong></span> (default)
+ and <span><strong class="command">"raw"</strong></span>.
+ This option is primarily intended to be used for dynamic
+ signed zones so that the dumped zone file in a non-text
+ format containing updates can be verified independently.
+ The use of this option does not make much sense for
+ non-dynamic zones.
+ </p></dd>
+<dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
+<dd><p>
+ The zone origin. If not specified, the name of the zone file
+ is assumed to be the origin.
+ </p></dd>
+<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
+<dd><p>
+ Sets the debugging level.
+ </p></dd>
+<dt><span class="term">-x</span></dt>
+<dd><p>
+ Only verify that the DNSKEY RRset is signed with key-signing
+ keys. Without this flag, it is assumed that the DNSKEY RRset
+ will be signed by all active keys. When this flag is set,
+ it will not be an error if the DNSKEY RRset is not signed
+ by zone-signing keys. This corresponds to the <code class="option">-x</code>
+ option in <span><strong class="command">dnssec-signzone</strong></span>.
+ </p></dd>
+<dt><span class="term">-z</span></dt>
+<dd>
+<p>
+ Ignore the KSK flag on the keys when determining whether
+ the zone if correctly signed. Without this flag it is
+ assumed that there will be a non-revoked, self-signed
+ DNSKEY with the KSK flag set for each algorithm and
+ that RRsets other than DNSKEY RRset will be signed with
+ a different DNSKEY without the KSK flag set.
+ </p>
+<p>
+ With this flag set, we only require that for each algorithm,
+ there will be at least one non-revoked, self-signed DNSKEY,
+ regardless of the KSK flag state, and that other RRsets
+ will be signed by a non-revoked key for the same algorithm
+ that includes the self-signed key; the same key may be used
+ for both purposes. This corresponds to the <code class="option">-z</code>
+ option in <span><strong class="command">dnssec-signzone</strong></span>.
+ </p>
+</dd>
+<dt><span class="term">zonefile</span></dt>
+<dd><p>
+ The file containing the zone to be signed.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2543543"></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 4033</em>.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2543637"></a><h2>AUTHOR</h2>
+<p><span class="corpauthor">Internet Systems Consortium</span>
+ </p>
+</div>
+</div></body>
+</html>
diff --git a/bin/dnssec/dnssectool.c b/bin/dnssec/dnssectool.c
index b58e070b..6ab4e282 100644
--- a/bin/dnssec/dnssectool.c
+++ b/bin/dnssec/dnssectool.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009-2012 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
@@ -27,9 +27,11 @@
#include <stdlib.h>
+#include <isc/base32.h>
#include <isc/buffer.h>
#include <isc/dir.h>
#include <isc/entropy.h>
+#include <isc/heap.h>
#include <isc/list.h>
#include <isc/mem.h>
#include <isc/string.h>
@@ -37,12 +39,19 @@
#include <isc/util.h>
#include <isc/print.h>
+#include <dns/db.h>
+#include <dns/dbiterator.h>
#include <dns/dnssec.h>
+#include <dns/fixedname.h>
#include <dns/keyvalues.h>
#include <dns/log.h>
#include <dns/name.h>
+#include <dns/nsec.h>
+#include <dns/nsec3.h>
#include <dns/rdatastruct.h>
#include <dns/rdataclass.h>
+#include <dns/rdataset.h>
+#include <dns/rdatasetiter.h>
#include <dns/rdatatype.h>
#include <dns/result.h>
#include <dns/secalg.h>
@@ -50,6 +59,18 @@
#include "dnssectool.h"
+static isc_heap_t *expected_chains, *found_chains;
+
+struct nsec3_chain_fixed {
+ isc_uint8_t hash;
+ isc_uint8_t salt_length;
+ isc_uint8_t next_length;
+ isc_uint16_t iterations;
+ /* unsigned char salt[0]; */
+ /* unsigned char owner[0]; */
+ /* unsigned char next[0]; */
+};
+
extern int verbose;
extern const char *program;
@@ -467,3 +488,1240 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
return (conflict);
}
+
+isc_boolean_t
+is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
+ dns_name_t *name, dns_dbnode_t *node, isc_uint32_t *ttlp)
+{
+ dns_rdataset_t nsset;
+ isc_result_t result;
+
+ if (dns_name_equal(name, origin))
+ return (ISC_FALSE);
+
+ dns_rdataset_init(&nsset);
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_ns,
+ 0, 0, &nsset, NULL);
+ if (dns_rdataset_isassociated(&nsset)) {
+ if (ttlp != NULL)
+ *ttlp = nsset.ttl;
+ dns_rdataset_disassociate(&nsset);
+ }
+
+ return (ISC_TF(result == ISC_R_SUCCESS));
+}
+
+static isc_boolean_t
+goodsig(dns_name_t *origin, dns_rdata_t *sigrdata, dns_name_t *name,
+ dns_rdataset_t *keyrdataset, dns_rdataset_t *rdataset, isc_mem_t *mctx)
+{
+ dns_rdata_dnskey_t key;
+ dns_rdata_rrsig_t sig;
+ dst_key_t *dstkey = NULL;
+ isc_result_t result;
+
+ dns_rdata_tostruct(sigrdata, &sig, NULL);
+
+ for (result = dns_rdataset_first(keyrdataset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(keyrdataset)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdataset_current(keyrdataset, &rdata);
+ dns_rdata_tostruct(&rdata, &key, NULL);
+ result = dns_dnssec_keyfromrdata(origin, &rdata, mctx,
+ &dstkey);
+ if (result != ISC_R_SUCCESS)
+ return (ISC_FALSE);
+ if (sig.algorithm != key.algorithm ||
+ sig.keyid != dst_key_id(dstkey) ||
+ !dns_name_equal(&sig.signer, origin)) {
+ dst_key_free(&dstkey);
+ continue;
+ }
+ result = dns_dnssec_verify(name, rdataset, dstkey, ISC_FALSE,
+ mctx, sigrdata);
+ dst_key_free(&dstkey);
+ if (result == ISC_R_SUCCESS)
+ return(ISC_TRUE);
+ }
+ return (ISC_FALSE);
+}
+
+static isc_result_t
+verifynsec(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
+ dns_dbnode_t *node, dns_name_t *nextname)
+{
+ unsigned char buffer[DNS_NSEC_BUFFERSIZE];
+ char namebuf[DNS_NAME_FORMATSIZE];
+ char nextbuf[DNS_NAME_FORMATSIZE];
+ char found[DNS_NAME_FORMATSIZE];
+ dns_rdataset_t rdataset;
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdata_t tmprdata = DNS_RDATA_INIT;
+ dns_rdata_nsec_t nsec;
+ isc_result_t result;
+
+ dns_rdataset_init(&rdataset);
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec,
+ 0, 0, &rdataset, NULL);
+ if (result != ISC_R_SUCCESS) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ fprintf(stderr, "Missing NSEC record for %s\n", namebuf);
+ goto failure;
+ }
+
+ result = dns_rdataset_first(&rdataset);
+ check_result(result, "dns_rdataset_first()");
+
+ dns_rdataset_current(&rdataset, &rdata);
+ result = dns_rdata_tostruct(&rdata, &nsec, NULL);
+ check_result(result, "dns_rdata_tostruct()");
+ /* Check bit next name is consistent */
+ if (!dns_name_equal(&nsec.next, nextname)) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ dns_name_format(nextname, nextbuf, sizeof(nextbuf));
+ dns_name_format(&nsec.next, found, sizeof(found));
+ fprintf(stderr, "Bad record NSEC record for %s, next name "
+ "mismatch (expected:%s, found:%s)\n", namebuf,
+ nextbuf, found);
+ goto failure;
+ }
+ /* Check bit map is consistent */
+ result = dns_nsec_buildrdata(db, ver, node, nextname, buffer,
+ &tmprdata);
+ check_result(result, "dns_nsec_buildrdata()");
+ if (dns_rdata_compare(&rdata, &tmprdata) != 0) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ fprintf(stderr, "Bad record NSEC record for %s, bit map "
+ "mismatch\n", namebuf);
+ goto failure;
+ }
+ result = dns_rdataset_next(&rdataset);
+ if (result != ISC_R_NOMORE) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ fprintf(stderr, "Multipe NSEC records for %s\n", namebuf);
+ goto failure;
+
+ }
+ dns_rdataset_disassociate(&rdataset);
+ return (ISC_R_SUCCESS);
+ failure:
+ if (dns_rdataset_isassociated(&rdataset))
+ dns_rdataset_disassociate(&rdataset);
+ return (ISC_R_FAILURE);
+}
+
+static void
+check_no_rrsig(dns_db_t *db, dns_dbversion_t *ver, dns_rdataset_t *rdataset,
+ dns_name_t *name, dns_dbnode_t *node)
+{
+ char namebuf[DNS_NAME_FORMATSIZE];
+ char typebuf[80];
+ dns_rdataset_t sigrdataset;
+ dns_rdatasetiter_t *rdsiter = NULL;
+ isc_result_t result;
+
+ dns_rdataset_init(&sigrdataset);
+ result = dns_db_allrdatasets(db, node, ver, 0, &rdsiter);
+ check_result(result, "dns_db_allrdatasets()");
+ for (result = dns_rdatasetiter_first(rdsiter);
+ result == ISC_R_SUCCESS;
+ result = dns_rdatasetiter_next(rdsiter)) {
+ dns_rdatasetiter_current(rdsiter, &sigrdataset);
+ if (sigrdataset.type == dns_rdatatype_rrsig &&
+ sigrdataset.covers == rdataset->type)
+ break;
+ dns_rdataset_disassociate(&sigrdataset);
+ }
+ if (result == ISC_R_SUCCESS) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ type_format(rdataset->type, typebuf, sizeof(typebuf));
+ fprintf(stderr, "Warning: Found unexpected signatures for "
+ "%s/%s\n", namebuf, typebuf);
+ }
+ if (dns_rdataset_isassociated(&sigrdataset))
+ dns_rdataset_disassociate(&sigrdataset);
+ dns_rdatasetiter_destroy(&rdsiter);
+}
+
+static isc_boolean_t
+chain_compare(void *arg1, void *arg2) {
+ struct nsec3_chain_fixed *e1 = arg1, *e2 = arg2;
+ size_t len;
+
+ /*
+ * Do each element in turn to get a stable sort.
+ */
+ if (e1->hash < e2->hash)
+ return (ISC_TRUE);
+ if (e1->hash > e2->hash)
+ return (ISC_FALSE);
+ if (e1->iterations < e2->iterations)
+ return (ISC_TRUE);
+ if (e1->iterations > e2->iterations)
+ return (ISC_FALSE);
+ if (e1->salt_length < e2->salt_length)
+ return (ISC_TRUE);
+ if (e1->salt_length > e2->salt_length)
+ return (ISC_FALSE);
+ if (e1->next_length < e2->next_length)
+ return (ISC_TRUE);
+ if (e1->next_length > e2->next_length)
+ return (ISC_FALSE);
+ len = e1->salt_length + 2 * e1->next_length;
+ if (memcmp(e1 + 1, e2 + 1, len) < 0)
+ return (ISC_TRUE);
+ return (ISC_FALSE);
+}
+
+static isc_boolean_t
+chain_equal(struct nsec3_chain_fixed *e1, struct nsec3_chain_fixed *e2) {
+ size_t len;
+
+ if (e1->hash != e2->hash)
+ return (ISC_FALSE);
+ if (e1->iterations != e2->iterations)
+ return (ISC_FALSE);
+ if (e1->salt_length != e2->salt_length)
+ return (ISC_FALSE);
+ if (e1->next_length != e2->next_length)
+ return (ISC_FALSE);
+ len = e1->salt_length + 2 * e1->next_length;
+ if (memcmp(e1 + 1, e2 + 1, len) != 0)
+ return (ISC_FALSE);
+ return (ISC_TRUE);
+}
+
+static isc_result_t
+record_nsec3(const unsigned char *rawhash, const dns_rdata_nsec3_t *nsec3,
+ isc_mem_t *mctx, isc_heap_t *chains)
+{
+ struct nsec3_chain_fixed *element;
+ size_t len;
+ unsigned char *cp;
+ isc_result_t result;
+
+ len = sizeof(*element) + nsec3->next_length * 2 + nsec3->salt_length;
+
+ element = isc_mem_get(mctx, len);
+ if (element == NULL)
+ return (ISC_R_NOMEMORY);
+ memset(element, 0, len);
+ element->hash = nsec3->hash;
+ element->salt_length = nsec3->salt_length;
+ element->next_length = nsec3->next_length;
+ element->iterations = nsec3->iterations;
+ cp = (unsigned char *)(element + 1);
+ memcpy(cp, nsec3->salt, nsec3->salt_length);
+ cp += nsec3->salt_length;
+ memcpy(cp, rawhash, nsec3->next_length);
+ cp += nsec3->next_length;
+ memcpy(cp, nsec3->next, nsec3->next_length);
+ result = isc_heap_insert(chains, element);
+ if (result != ISC_R_SUCCESS) {
+ fprintf(stderr, "isc_heap_insert failed: %s\n",
+ isc_result_totext(result));
+ isc_mem_put(mctx, element, len);
+ }
+ return (result);
+}
+
+static isc_result_t
+match_nsec3(dns_name_t *name, isc_mem_t *mctx,
+ dns_rdata_nsec3param_t *nsec3param, dns_rdataset_t *rdataset,
+ unsigned char types[8192], unsigned int maxtype,
+ unsigned char *rawhash, size_t rhsize)
+{
+ unsigned char cbm[8244];
+ char namebuf[DNS_NAME_FORMATSIZE];
+ dns_rdata_nsec3_t nsec3;
+ isc_result_t result;
+ unsigned int len;
+
+ /*
+ * Find matching NSEC3 record.
+ */
+ for (result = dns_rdataset_first(rdataset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(rdataset)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdataset_current(rdataset, &rdata);
+ result = dns_rdata_tostruct(&rdata, &nsec3, NULL);
+ check_result(result, "dns_rdata_tostruct()");
+ if (nsec3.hash == nsec3param->hash &&
+ nsec3.next_length == rhsize &&
+ nsec3.iterations == nsec3param->iterations &&
+ nsec3.salt_length == nsec3param->salt_length &&
+ memcmp(nsec3.salt, nsec3param->salt,
+ nsec3param->salt_length) == 0)
+ break;
+ }
+ if (result != ISC_R_SUCCESS) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ fprintf(stderr, "Missing NSEC3 record for %s\n", namebuf);
+ return (result);
+ }
+
+ /*
+ * Check the type list.
+ */
+ len = dns_nsec_compressbitmap(cbm, types, maxtype);
+ if (nsec3.len != len || memcmp(cbm, nsec3.typebits, len) != 0) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ fprintf(stderr, "Bad record NSEC3 record for %s, bit map "
+ "mismatch\n", namebuf);
+ return (ISC_R_FAILURE);
+ }
+
+ /*
+ * Record chain.
+ */
+ result = record_nsec3(rawhash, &nsec3, mctx, expected_chains);
+ check_result(result, "record_nsec3()");
+
+ /*
+ * Make sure there is only one NSEC3 record with this set of
+ * parameters.
+ */
+ for (result = dns_rdataset_next(rdataset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(rdataset)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdataset_current(rdataset, &rdata);
+ result = dns_rdata_tostruct(&rdata, &nsec3, NULL);
+ check_result(result, "dns_rdata_tostruct()");
+ if (nsec3.hash == nsec3param->hash &&
+ nsec3.iterations == nsec3param->iterations &&
+ nsec3.salt_length == nsec3param->salt_length &&
+ memcmp(nsec3.salt, nsec3param->salt,
+ nsec3.salt_length) == 0) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ fprintf(stderr, "Multiple NSEC3 records with the "
+ "same parameter set for %s", namebuf);
+ result = DNS_R_DUPLICATE;
+ break;
+ }
+ }
+ if (result != ISC_R_NOMORE)
+ return (result);
+
+ result = ISC_R_SUCCESS;
+ return (result);
+}
+
+static isc_boolean_t
+innsec3params(dns_rdata_nsec3_t *nsec3, dns_rdataset_t *nsec3paramset) {
+ dns_rdata_nsec3param_t nsec3param;
+ isc_result_t result;
+
+ for (result = dns_rdataset_first(nsec3paramset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(nsec3paramset)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+
+ dns_rdataset_current(nsec3paramset, &rdata);
+ result = dns_rdata_tostruct(&rdata, &nsec3param, NULL);
+ if (nsec3param.flags == 0 &&
+ nsec3param.hash == nsec3->hash &&
+ nsec3param.iterations == nsec3->iterations &&
+ nsec3param.salt_length == nsec3->salt_length &&
+ memcmp(nsec3param.salt, nsec3->salt,
+ nsec3->salt_length) == 0)
+ return (ISC_TRUE);
+ }
+ return (ISC_FALSE);
+}
+
+static isc_result_t
+record_found(dns_db_t *db, dns_dbversion_t *ver, isc_mem_t *mctx,
+ dns_name_t *name, dns_dbnode_t *node,
+ dns_rdataset_t *nsec3paramset)
+{
+ unsigned char owner[NSEC3_MAX_HASH_LENGTH];
+ dns_rdata_nsec3_t nsec3;
+ dns_rdataset_t rdataset;
+ dns_label_t hashlabel;
+ isc_buffer_t b;
+ isc_result_t result;
+
+ if (nsec3paramset == NULL || !dns_rdataset_isassociated(nsec3paramset))
+ return (ISC_R_SUCCESS);
+
+ dns_rdataset_init(&rdataset);
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3,
+ 0, 0, &rdataset, NULL);
+ if (result != ISC_R_SUCCESS)
+ return (ISC_R_SUCCESS);
+
+ dns_name_getlabel(name, 0, &hashlabel);
+ isc_region_consume(&hashlabel, 1);
+ isc_buffer_init(&b, owner, sizeof(owner));
+ result = isc_base32hex_decoderegion(&hashlabel, &b);
+ if (result != ISC_R_SUCCESS)
+ goto cleanup;
+
+ for (result = dns_rdataset_first(&rdataset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(&rdataset)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdataset_current(&rdataset, &rdata);
+ result = dns_rdata_tostruct(&rdata, &nsec3, NULL);
+ check_result(result, "dns_rdata_tostruct()");
+ if (nsec3.next_length != isc_buffer_usedlength(&b))
+ continue;
+ /*
+ * We only care about NSEC3 records that match a NSEC3PARAM
+ * record.
+ */
+ if (!innsec3params(&nsec3, nsec3paramset))
+ continue;
+
+ /*
+ * Record chain.
+ */
+ result = record_nsec3(owner, &nsec3, mctx, found_chains);
+ check_result(result, "record_nsec3()");
+ }
+
+ cleanup:
+ dns_rdataset_disassociate(&rdataset);
+ return (ISC_R_SUCCESS);
+}
+
+static isc_result_t
+verifynsec3(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
+ isc_mem_t *mctx, dns_name_t *name, dns_rdata_t *rdata,
+ isc_boolean_t delegation, unsigned char types[8192],
+ unsigned int maxtype)
+{
+ char namebuf[DNS_NAME_FORMATSIZE];
+ char hashbuf[DNS_NAME_FORMATSIZE];
+ dns_rdataset_t rdataset;
+ dns_rdata_nsec3param_t nsec3param;
+ dns_fixedname_t fixed;
+ dns_name_t *hashname;
+ isc_result_t result;
+ dns_dbnode_t *node = NULL;
+ unsigned char rawhash[NSEC3_MAX_HASH_LENGTH];
+ size_t rhsize = sizeof(rawhash);
+
+ result = dns_rdata_tostruct(rdata, &nsec3param, NULL);
+ check_result(result, "dns_rdata_tostruct()");
+
+ if (nsec3param.flags != 0)
+ return (ISC_R_SUCCESS);
+
+ if (!dns_nsec3_supportedhash(nsec3param.hash))
+ return (ISC_R_SUCCESS);
+
+ dns_fixedname_init(&fixed);
+ result = dns_nsec3_hashname(&fixed, rawhash, &rhsize, name, origin,
+ nsec3param.hash, nsec3param.iterations,
+ nsec3param.salt, nsec3param.salt_length);
+ check_result(result, "dns_nsec3_hashname()");
+
+ /*
+ * We don't use dns_db_find() here as it works with the choosen
+ * nsec3 chain and we may also be called with uncommitted data
+ * from dnssec-signzone so the secure status of the zone may not
+ * be up to date.
+ */
+ dns_rdataset_init(&rdataset);
+ hashname = dns_fixedname_name(&fixed);
+ result = dns_db_findnsec3node(db, hashname, ISC_FALSE, &node);
+ if (result == ISC_R_SUCCESS)
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3,
+ 0, 0, &rdataset, NULL);
+ if (result != ISC_R_SUCCESS &&
+ (!delegation || dns_nsec_isset(types, dns_rdatatype_ds))) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ dns_name_format(hashname, hashbuf, sizeof(hashbuf));
+ fprintf(stderr, "Missing NSEC3 record for %s (%s)\n",
+ namebuf, hashbuf);
+ } else if (result == ISC_R_SUCCESS) {
+ result = match_nsec3(name, mctx, &nsec3param, &rdataset,
+ types, maxtype, rawhash, rhsize);
+ } else if (result == ISC_R_NOTFOUND && delegation)
+ result = ISC_R_SUCCESS;
+ if (dns_rdataset_isassociated(&rdataset))
+ dns_rdataset_disassociate(&rdataset);
+ if (node != NULL)
+ dns_db_detachnode(db, &node);
+
+ return (result);
+}
+
+static isc_result_t
+verifynsec3s(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
+ isc_mem_t *mctx, dns_name_t *name, dns_rdataset_t *nsec3paramset,
+ isc_boolean_t delegation, unsigned char types[8192],
+ unsigned int maxtype)
+{
+ isc_result_t result;
+
+ for (result = dns_rdataset_first(nsec3paramset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(nsec3paramset)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+
+ dns_rdataset_current(nsec3paramset, &rdata);
+ result = verifynsec3(db, ver, origin, mctx, name, &rdata,
+ delegation, types, maxtype);
+ if (result != ISC_R_SUCCESS)
+ break;
+ }
+ if (result == ISC_R_NOMORE)
+ result = ISC_R_SUCCESS;
+ return (result);
+}
+
+static void
+verifyset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
+ isc_mem_t *mctx, dns_rdataset_t *rdataset, dns_name_t *name,
+ dns_dbnode_t *node, dns_rdataset_t *keyrdataset,
+ unsigned char *act_algorithms, unsigned char *bad_algorithms)
+{
+ unsigned char set_algorithms[256];
+ char namebuf[DNS_NAME_FORMATSIZE];
+ char algbuf[80];
+ char typebuf[80];
+ dns_rdataset_t sigrdataset;
+ dns_rdatasetiter_t *rdsiter = NULL;
+ isc_result_t result;
+ int i;
+
+ dns_rdataset_init(&sigrdataset);
+ result = dns_db_allrdatasets(db, node, ver, 0, &rdsiter);
+ check_result(result, "dns_db_allrdatasets()");
+ for (result = dns_rdatasetiter_first(rdsiter);
+ result == ISC_R_SUCCESS;
+ result = dns_rdatasetiter_next(rdsiter)) {
+ dns_rdatasetiter_current(rdsiter, &sigrdataset);
+ if (sigrdataset.type == dns_rdatatype_rrsig &&
+ sigrdataset.covers == rdataset->type)
+ break;
+ dns_rdataset_disassociate(&sigrdataset);
+ }
+ if (result != ISC_R_SUCCESS) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ type_format(rdataset->type, typebuf, sizeof(typebuf));
+ fprintf(stderr, "No signatures for %s/%s\n", namebuf, typebuf);
+ for (i = 0; i < 256; i++)
+ if (act_algorithms[i] != 0)
+ bad_algorithms[i] = 1;
+ dns_rdatasetiter_destroy(&rdsiter);
+ return;
+ }
+
+ memset(set_algorithms, 0, sizeof(set_algorithms));
+ for (result = dns_rdataset_first(&sigrdataset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(&sigrdataset)) {
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdata_rrsig_t sig;
+
+ dns_rdataset_current(&sigrdataset, &rdata);
+ dns_rdata_tostruct(&rdata, &sig, NULL);
+ if (rdataset->ttl != sig.originalttl) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ type_format(rdataset->type, typebuf, sizeof(typebuf));
+ fprintf(stderr, "TTL mismatch for %s %s keytag %u\n",
+ namebuf, typebuf, sig.keyid);
+ continue;
+ }
+ if ((set_algorithms[sig.algorithm] != 0) ||
+ (act_algorithms[sig.algorithm] == 0))
+ continue;
+ if (goodsig(origin, &rdata, name, keyrdataset, rdataset, mctx))
+ set_algorithms[sig.algorithm] = 1;
+ }
+ dns_rdatasetiter_destroy(&rdsiter);
+ if (memcmp(set_algorithms, act_algorithms, sizeof(set_algorithms))) {
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ type_format(rdataset->type, typebuf, sizeof(typebuf));
+ for (i = 0; i < 256; i++)
+ if ((act_algorithms[i] != 0) &&
+ (set_algorithms[i] == 0)) {
+ dns_secalg_format(i, algbuf, sizeof(algbuf));
+ fprintf(stderr, "No correct %s signature for "
+ "%s %s\n", algbuf, namebuf, typebuf);
+ bad_algorithms[i] = 1;
+ }
+ }
+ dns_rdataset_disassociate(&sigrdataset);
+}
+
+static isc_result_t
+verifynode(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
+ isc_mem_t *mctx, dns_name_t *name, dns_dbnode_t *node,
+ isc_boolean_t delegation, dns_rdataset_t *keyrdataset,
+ unsigned char *act_algorithms, unsigned char *bad_algorithms,
+ dns_rdataset_t *nsecset, dns_rdataset_t *nsec3paramset,
+ dns_name_t *nextname)
+{
+ unsigned char types[8192];
+ unsigned int maxtype = 0;
+ dns_rdataset_t rdataset; dns_rdatasetiter_t *rdsiter = NULL;
+ isc_result_t result, tresult;
+
+ memset(types, 0, sizeof(types));
+ result = dns_db_allrdatasets(db, node, ver, 0, &rdsiter);
+ check_result(result, "dns_db_allrdatasets()");
+ result = dns_rdatasetiter_first(rdsiter);
+ dns_rdataset_init(&rdataset);
+ while (result == ISC_R_SUCCESS) {
+ dns_rdatasetiter_current(rdsiter, &rdataset);
+ /*
+ * If we are not at a delegation then everything should be
+ * signed. If we are at a delegation then only the DS set
+ * is signed. The NS set is not signed at a delegation but
+ * its existance is recorded in the bit map. Anything else
+ * other than NSEC and DS is not signed at a delegation.
+ */
+ if (rdataset.type != dns_rdatatype_rrsig &&
+ rdataset.type != dns_rdatatype_dnskey &&
+ (!delegation || rdataset.type == dns_rdatatype_ds ||
+ rdataset.type == dns_rdatatype_nsec)) {
+ verifyset(db, ver, origin, mctx, &rdataset,
+ name, node, keyrdataset,
+ act_algorithms, bad_algorithms);
+ dns_nsec_setbit(types, rdataset.type, 1);
+ if (rdataset.type > maxtype)
+ maxtype = rdataset.type;
+ } else if (rdataset.type != dns_rdatatype_rrsig &&
+ rdataset.type != dns_rdatatype_dnskey) {
+ if (rdataset.type == dns_rdatatype_ns)
+ dns_nsec_setbit(types, rdataset.type, 1);
+ check_no_rrsig(db, ver, &rdataset, name, node);
+ } else
+ dns_nsec_setbit(types, rdataset.type, 1);
+ dns_rdataset_disassociate(&rdataset);
+ result = dns_rdatasetiter_next(rdsiter);
+ }
+ if (result != ISC_R_NOMORE)
+ fatal("rdataset iteration failed: %s",
+ isc_result_totext(result));
+ dns_rdatasetiter_destroy(&rdsiter);
+
+ result = ISC_R_SUCCESS;
+
+ if (nsecset != NULL && dns_rdataset_isassociated(nsecset))
+ result = verifynsec(db, ver, name, node, nextname);
+
+ if (nsec3paramset != NULL && dns_rdataset_isassociated(nsec3paramset)) {
+ tresult = verifynsec3s(db, ver, origin, mctx, name,
+ nsec3paramset, delegation, types,
+ maxtype);
+ if (result == ISC_R_SUCCESS && tresult != ISC_R_SUCCESS)
+ result = tresult;
+ }
+ return (result);
+}
+
+static isc_boolean_t
+is_empty(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node) {
+ dns_rdatasetiter_t *rdsiter = NULL;
+ isc_result_t result;
+
+ result = dns_db_allrdatasets(db, node, ver, 0, &rdsiter);
+ check_result(result, "dns_db_allrdatasets()");
+ result = dns_rdatasetiter_first(rdsiter);
+ dns_rdatasetiter_destroy(&rdsiter);
+ if (result == ISC_R_NOMORE)
+ return (ISC_TRUE);
+ return (ISC_FALSE);
+}
+
+static void
+check_no_nsec(dns_name_t *name, dns_dbnode_t *node, dns_db_t *db,
+ dns_dbversion_t *ver)
+{
+ dns_rdataset_t rdataset;
+ isc_result_t result;
+
+ dns_rdataset_init(&rdataset);
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec,
+ 0, 0, &rdataset, NULL);
+ if (result != ISC_R_NOTFOUND) {
+ char namebuf[DNS_NAME_FORMATSIZE];
+ dns_name_format(name, namebuf, sizeof(namebuf));
+ fatal("unexpected NSEC RRset at %s\n", namebuf);
+ }
+
+ if (dns_rdataset_isassociated(&rdataset))
+ dns_rdataset_disassociate(&rdataset);
+}
+
+static isc_boolean_t
+newchain(const struct nsec3_chain_fixed *first,
+ const struct nsec3_chain_fixed *e)
+{
+ if (first->hash != e->hash ||
+ first->iterations != e->iterations ||
+ first->salt_length != e->salt_length ||
+ first->next_length != e->next_length ||
+ memcmp(first + 1, e + 1, first->salt_length) != 0)
+ return (ISC_TRUE);
+ return (ISC_FALSE);
+}
+
+static void
+free_element(isc_mem_t *mctx, struct nsec3_chain_fixed *e) {
+ size_t len;
+
+ len = sizeof(*e) + e->salt_length + 2 * e->next_length;
+ isc_mem_put(mctx, e, len);
+}
+
+static isc_boolean_t
+checknext(const struct nsec3_chain_fixed *first,
+ const struct nsec3_chain_fixed *e)
+{
+ char buf[512];
+ const unsigned char *d1 = (const unsigned char *)(first + 1);
+ const unsigned char *d2 = (const unsigned char *)(e + 1);
+ isc_buffer_t b;
+ isc_region_t sr;
+
+ d1 += first->salt_length + first->next_length;
+ d2 += e->salt_length;
+
+ if (memcmp(d1, d2, first->next_length) == 0)
+ return (ISC_TRUE);
+
+ DE_CONST(d1 - first->next_length, sr.base);
+ sr.length = first->next_length;
+ isc_buffer_init(&b, buf, sizeof(buf));
+ isc_base32hex_totext(&sr, 1, "", &b);
+ fprintf(stderr, "Break in NSEC3 chain at: %.*s\n",
+ (int) isc_buffer_usedlength(&b), buf);
+
+ DE_CONST(d1, sr.base);
+ sr.length = first->next_length;
+ isc_buffer_init(&b, buf, sizeof(buf));
+ isc_base32hex_totext(&sr, 1, "", &b);
+ fprintf(stderr, "Expected: %.*s\n", (int) isc_buffer_usedlength(&b),
+ buf);
+
+ DE_CONST(d2, sr.base);
+ sr.length = first->next_length;
+ isc_buffer_init(&b, buf, sizeof(buf));
+ isc_base32hex_totext(&sr, 1, "", &b);
+ fprintf(stderr, "Found: %.*s\n", (int) isc_buffer_usedlength(&b), buf);
+
+ return (ISC_FALSE);
+}
+
+#define EXPECTEDANDFOUND "Expected and found NSEC3 chains not equal\n"
+
+static isc_result_t
+verify_nsec3_chains(isc_mem_t *mctx) {
+ isc_result_t result = ISC_R_SUCCESS;
+ struct nsec3_chain_fixed *e, *f = NULL;
+ struct nsec3_chain_fixed *first = NULL, *prev = NULL;
+
+ while ((e = isc_heap_element(expected_chains, 1)) != NULL) {
+ isc_heap_delete(expected_chains, 1);
+ if (f == NULL)
+ f = isc_heap_element(found_chains, 1);
+ if (f != NULL) {
+ isc_heap_delete(found_chains, 1);
+
+ /*
+ * Check that they match.
+ */
+ if (chain_equal(e, f)) {
+ free_element(mctx, f);
+ f = NULL;
+ } else {
+ if (result == ISC_R_SUCCESS)
+ fprintf(stderr, EXPECTEDANDFOUND);
+ result = ISC_R_FAILURE;
+ /*
+ * Attempt to resync found_chain.
+ */
+ while (f != NULL && !chain_compare(e, f)) {
+ free_element(mctx, f);
+ f = isc_heap_element(found_chains, 1);
+ if (f != NULL)
+ isc_heap_delete(found_chains, 1);
+ if (f != NULL && chain_equal(e, f)) {
+ free_element(mctx, f);
+ f = NULL;
+ break;
+ }
+ }
+ }
+ } else if (result == ISC_R_SUCCESS) {
+ fprintf(stderr, EXPECTEDANDFOUND);
+ result = ISC_R_FAILURE;
+ }
+ if (first == NULL || newchain(first, e)) {
+ if (prev != NULL) {
+ if (!checknext(prev, first))
+ result = ISC_R_FAILURE;
+ if (prev != first)
+ free_element(mctx, prev);
+ }
+ if (first != NULL)
+ free_element(mctx, first);
+ prev = first = e;
+ continue;
+ }
+ if (!checknext(prev, e))
+ result = ISC_R_FAILURE;
+ if (prev != first)
+ free_element(mctx, prev);
+ prev = e;
+ }
+ if (prev != NULL) {
+ if (!checknext(prev, first))
+ result = ISC_R_FAILURE;
+ if (prev != first)
+ free_element(mctx, prev);
+ }
+ if (first != NULL)
+ free_element(mctx, first);
+ do {
+ if (f != NULL) {
+ if (result == ISC_R_SUCCESS) {
+ fprintf(stderr, EXPECTEDANDFOUND);
+ result = ISC_R_FAILURE;
+ }
+ free_element(mctx, f);
+ }
+ f = isc_heap_element(found_chains, 1);
+ if (f != NULL)
+ isc_heap_delete(found_chains, 1);
+ } while (f != NULL);
+
+ return (result);
+}
+
+static isc_result_t
+verifyemptynodes(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
+ isc_mem_t *mctx, dns_name_t *name, dns_name_t *nextname,
+ dns_rdataset_t *nsec3paramset)
+{
+ dns_namereln_t reln;
+ int order;
+ unsigned int labels, nlabels, i;
+ dns_name_t suffix;
+ isc_result_t result = ISC_R_SUCCESS, tresult;
+
+ reln = dns_name_fullcompare(name, nextname, &order, &labels);
+ if (order >= 0)
+ return (result);
+
+ nlabels = dns_name_countlabels(nextname);
+
+ if (reln == dns_namereln_commonancestor ||
+ reln == dns_namereln_contains) {
+ dns_name_init(&suffix, NULL);
+ for (i = labels + 1; i < nlabels; i++) {
+ dns_name_getlabelsequence(nextname, nlabels - i, i,
+ &suffix);
+ if (nsec3paramset != NULL &&
+ dns_rdataset_isassociated(nsec3paramset)) {
+ tresult = verifynsec3s(db, ver, origin, mctx,
+ &suffix, nsec3paramset,
+ ISC_FALSE, NULL, 0);
+ if (result == ISC_R_SUCCESS &&
+ tresult != ISC_R_SUCCESS)
+ result = tresult;
+ }
+ }
+ }
+ return (result);
+}
+
+/*%
+ * Verify that certain things are sane:
+ *
+ * The apex has a DNSKEY record with at least one KSK, and at least
+ * one ZSK if the -x flag was not used.
+ *
+ * The DNSKEY record was signed with at least one of the KSKs in this
+ * set.
+ *
+ * The rest of the zone was signed with at least one of the ZSKs
+ * present in the DNSKEY RRSET.
+ */
+void
+verifyzone(dns_db_t *db, dns_dbversion_t *ver,
+ dns_name_t *origin, isc_mem_t *mctx,
+ isc_boolean_t ignore_kskflag, isc_boolean_t keyset_kskonly)
+{
+ char algbuf[80];
+ dns_dbiterator_t *dbiter = NULL;
+ dns_dbnode_t *node = NULL, *nextnode = NULL;
+ dns_fixedname_t fname, fnextname, fzonecut;
+ dns_name_t *name, *nextname, *zonecut;
+ dns_rdata_dnskey_t dnskey;
+ dns_rdata_t rdata = DNS_RDATA_INIT;
+ dns_rdataset_t keyset, soaset;
+ dns_rdataset_t keysigs, soasigs;
+ dns_rdataset_t nsecset, nsecsigs;
+ dns_rdataset_t nsec3paramset, nsec3paramsigs;
+ int i;
+ isc_boolean_t done = ISC_FALSE;
+ isc_boolean_t first = ISC_TRUE;
+ isc_boolean_t goodksk = ISC_FALSE;
+ isc_boolean_t goodzsk = ISC_FALSE;
+ isc_result_t result, vresult = ISC_R_UNSET;
+ unsigned char revoked_ksk[256];
+ unsigned char revoked_zsk[256];
+ unsigned char standby_ksk[256];
+ unsigned char standby_zsk[256];
+ unsigned char ksk_algorithms[256];
+ unsigned char zsk_algorithms[256];
+ unsigned char bad_algorithms[256];
+ unsigned char act_algorithms[256];
+
+ result = isc_heap_create(mctx, chain_compare, NULL, 1024,
+ &expected_chains);
+ check_result(result, "isc_heap_create()");
+ result = isc_heap_create(mctx, chain_compare, NULL, 1024,
+ &found_chains);
+ check_result(result, "isc_heap_create()");
+
+ result = dns_db_findnode(db, origin, ISC_FALSE, &node);
+ if (result != ISC_R_SUCCESS)
+ fatal("failed to find the zone's origin: %s",
+ isc_result_totext(result));
+
+ dns_rdataset_init(&keyset);
+ dns_rdataset_init(&keysigs);
+ dns_rdataset_init(&soaset);
+ dns_rdataset_init(&soasigs);
+ dns_rdataset_init(&nsecset);
+ dns_rdataset_init(&nsecsigs);
+ dns_rdataset_init(&nsec3paramset);
+ dns_rdataset_init(&nsec3paramsigs);
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_dnskey,
+ 0, 0, &keyset, &keysigs);
+ if (result != ISC_R_SUCCESS)
+ fatal("Zone contains no DNSSEC keys\n");
+
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_soa,
+ 0, 0, &soaset, &soasigs);
+ if (result != ISC_R_SUCCESS)
+ fatal("Zone contains no SOA record\n");
+
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec,
+ 0, 0, &nsecset, &nsecsigs);
+ if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND)
+ fatal("NSEC lookup failed\n");
+
+ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param,
+ 0, 0, &nsec3paramset, &nsec3paramsigs);
+ if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND)
+ fatal("NSEC3PARAM lookup failed\n");
+
+ if (!dns_rdataset_isassociated(&keysigs))
+ fatal("DNSKEY is not signed (keys offline or inactive?)\n");
+
+ if (!dns_rdataset_isassociated(&soasigs))
+ fatal("SOA is not signed (keys offline or inactive?)\n");
+
+ if (dns_rdataset_isassociated(&nsecset) &&
+ !dns_rdataset_isassociated(&nsecsigs))
+ fatal("NSEC is not signed (keys offline or inactive?)\n");
+
+ if (dns_rdataset_isassociated(&nsec3paramset) &&
+ !dns_rdataset_isassociated(&nsec3paramsigs))
+ fatal("NSEC3PARAM is not signed (keys offline or inactive?)\n");
+
+ if (!dns_rdataset_isassociated(&nsecset) &&
+ !dns_rdataset_isassociated(&nsec3paramset))
+ fatal("No valid NSEC/NSEC3 chain for testing\n");
+
+ dns_db_detachnode(db, &node);
+
+ memset(revoked_ksk, 0, sizeof(revoked_ksk));
+ memset(revoked_zsk, 0, sizeof(revoked_zsk));
+ memset(standby_ksk, 0, sizeof(standby_ksk));
+ memset(standby_zsk, 0, sizeof(standby_zsk));
+ memset(ksk_algorithms, 0, sizeof(ksk_algorithms));
+ memset(zsk_algorithms, 0, sizeof(zsk_algorithms));
+ memset(bad_algorithms, 0, sizeof(bad_algorithms));
+ memset(act_algorithms, 0, sizeof(act_algorithms));
+
+ /*
+ * Check that the DNSKEY RR has at least one self signing KSK
+ * and one ZSK per algorithm in it (or, if -x was used, one
+ * self-signing KSK).
+ */
+ for (result = dns_rdataset_first(&keyset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(&keyset)) {
+ dns_rdataset_current(&keyset, &rdata);
+ result = dns_rdata_tostruct(&rdata, &dnskey, NULL);
+ check_result(result, "dns_rdata_tostruct");
+
+ if ((dnskey.flags & DNS_KEYOWNER_ZONE) == 0)
+ ;
+ else if ((dnskey.flags & DNS_KEYFLAG_REVOKE) != 0) {
+ if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 &&
+ !dns_dnssec_selfsigns(&rdata, origin, &keyset,
+ &keysigs, ISC_FALSE,
+ mctx)) {
+ char namebuf[DNS_NAME_FORMATSIZE];
+ char buffer[1024];
+ isc_buffer_t buf;
+
+ dns_name_format(origin, namebuf,
+ sizeof(namebuf));
+ isc_buffer_init(&buf, buffer, sizeof(buffer));
+ result = dns_rdata_totext(&rdata, NULL, &buf);
+ check_result(result, "dns_rdata_totext");
+ fatal("revoked KSK is not self signed:\n"
+ "%s DNSKEY %.*s", namebuf,
+ (int)isc_buffer_usedlength(&buf), buffer);
+ }
+ if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 &&
+ revoked_ksk[dnskey.algorithm] != 255)
+ revoked_ksk[dnskey.algorithm]++;
+ else if ((dnskey.flags & DNS_KEYFLAG_KSK) == 0 &&
+ revoked_zsk[dnskey.algorithm] != 255)
+ revoked_zsk[dnskey.algorithm]++;
+ } else if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0) {
+ if (dns_dnssec_selfsigns(&rdata, origin, &keyset,
+ &keysigs, ISC_FALSE, mctx)) {
+ if (ksk_algorithms[dnskey.algorithm] != 255)
+ ksk_algorithms[dnskey.algorithm]++;
+ goodksk = ISC_TRUE;
+ } else {
+ if (standby_ksk[dnskey.algorithm] != 255)
+ standby_ksk[dnskey.algorithm]++;
+ }
+ } else if (dns_dnssec_selfsigns(&rdata, origin, &keyset,
+ &keysigs, ISC_FALSE, mctx)) {
+ if (zsk_algorithms[dnskey.algorithm] != 255)
+ zsk_algorithms[dnskey.algorithm]++;
+ goodzsk = ISC_TRUE;
+ } else if (dns_dnssec_signs(&rdata, origin, &soaset,
+ &soasigs, ISC_FALSE, mctx)) {
+ if (zsk_algorithms[dnskey.algorithm] != 255)
+ zsk_algorithms[dnskey.algorithm]++;
+ } else {
+ if (standby_zsk[dnskey.algorithm] != 255)
+ standby_zsk[dnskey.algorithm]++;
+ }
+ dns_rdata_freestruct(&dnskey);
+ dns_rdata_reset(&rdata);
+ }
+ dns_rdataset_disassociate(&keysigs);
+ dns_rdataset_disassociate(&soaset);
+ dns_rdataset_disassociate(&soasigs);
+ if (dns_rdataset_isassociated(&nsecsigs))
+ dns_rdataset_disassociate(&nsecsigs);
+ if (dns_rdataset_isassociated(&nsec3paramsigs))
+ dns_rdataset_disassociate(&nsec3paramsigs);
+
+ if (ignore_kskflag ) {
+ if (!goodksk && !goodzsk)
+ fatal("No self-signed DNSKEY found.");
+ } else if (!goodksk)
+ fatal("No self-signed KSK DNSKEY found. Supply an active\n"
+ "key with the KSK flag set, or use '-P'.");
+
+ fprintf(stderr, "Verifying the zone using the following algorithms:");
+ for (i = 0; i < 256; i++) {
+ if (ignore_kskflag)
+ act_algorithms[i] = (ksk_algorithms[i] != 0 ||
+ zsk_algorithms[i] != 0) ? 1 : 0;
+ else
+ act_algorithms[i] = ksk_algorithms[i] != 0 ? 1 : 0;
+ if (act_algorithms[i] != 0) {
+ dns_secalg_format(i, algbuf, sizeof(algbuf));
+ fprintf(stderr, " %s", algbuf);
+ }
+ }
+ fprintf(stderr, ".\n");
+
+ if (!ignore_kskflag && !keyset_kskonly) {
+ for (i = 0; i < 256; i++) {
+ /*
+ * The counts should both be zero or both be non-zero.
+ * Mark the algorithm as bad if this is not met.
+ */
+ if ((ksk_algorithms[i] != 0) ==
+ (zsk_algorithms[i] != 0))
+ continue;
+ dns_secalg_format(i, algbuf, sizeof(algbuf));
+ fprintf(stderr, "Missing %s for algorithm %s\n",
+ (ksk_algorithms[i] != 0)
+ ? "ZSK"
+ : "self-signed KSK",
+ algbuf);
+ bad_algorithms[i] = 1;
+ }
+ }
+
+ /*
+ * Check that all the other records were signed by keys that are
+ * present in the DNSKEY RRSET.
+ */
+
+ dns_fixedname_init(&fname);
+ name = dns_fixedname_name(&fname);
+ dns_fixedname_init(&fnextname);
+ nextname = dns_fixedname_name(&fnextname);
+ dns_fixedname_init(&fzonecut);
+ zonecut = NULL;
+
+ result = dns_db_createiterator(db, DNS_DB_NONSEC3, &dbiter);
+ check_result(result, "dns_db_createiterator()");
+
+ result = dns_dbiterator_first(dbiter);
+ check_result(result, "dns_dbiterator_first()");
+
+ while (!done) {
+ isc_boolean_t isdelegation = ISC_FALSE;
+
+ result = dns_dbiterator_current(dbiter, &node, name);
+ check_dns_dbiterator_current(result);
+ if (!dns_name_issubdomain(name, origin)) {
+ check_no_nsec(name, node, db, ver);
+ dns_db_detachnode(db, &node);
+ result = dns_dbiterator_next(dbiter);
+ if (result == ISC_R_NOMORE)
+ done = ISC_TRUE;
+ else
+ check_result(result, "dns_dbiterator_next()");
+ continue;
+ }
+ if (is_delegation(db, ver, origin, name, node, NULL)) {
+ zonecut = dns_fixedname_name(&fzonecut);
+ dns_name_copy(name, zonecut, NULL);
+ isdelegation = ISC_TRUE;
+ }
+ nextnode = NULL;
+ result = dns_dbiterator_next(dbiter);
+ while (result == ISC_R_SUCCESS) {
+ result = dns_dbiterator_current(dbiter, &nextnode,
+ nextname);
+ check_dns_dbiterator_current(result);
+ if (!dns_name_issubdomain(nextname, origin) ||
+ (zonecut != NULL &&
+ dns_name_issubdomain(nextname, zonecut)))
+ {
+ check_no_nsec(nextname, nextnode, db, ver);
+ dns_db_detachnode(db, &nextnode);
+ result = dns_dbiterator_next(dbiter);
+ continue;
+ }
+ if (is_empty(db, ver, nextnode)) {
+ dns_db_detachnode(db, &nextnode);
+ result = dns_dbiterator_next(dbiter);
+ continue;
+ }
+ dns_db_detachnode(db, &nextnode);
+ break;
+ }
+ if (result == ISC_R_NOMORE) {
+ done = ISC_TRUE;
+ nextname = origin;
+ } else if (result != ISC_R_SUCCESS)
+ fatal("iterating through the database failed: %s",
+ isc_result_totext(result));
+ result = verifynode(db, ver, origin, mctx, name, node,
+ isdelegation, &keyset, act_algorithms,
+ bad_algorithms, &nsecset, &nsec3paramset,
+ nextname);
+ if (vresult == ISC_R_UNSET)
+ vresult = ISC_R_SUCCESS;
+ if (vresult == ISC_R_SUCCESS && result != ISC_R_SUCCESS)
+ vresult = result;
+ result = verifyemptynodes(db, ver, origin, mctx, name,
+ nextname, &nsec3paramset);
+ if (vresult == ISC_R_SUCCESS && result != ISC_R_SUCCESS)
+ vresult = result;
+ dns_db_detachnode(db, &node);
+ }
+
+ dns_dbiterator_destroy(&dbiter);
+
+ result = dns_db_createiterator(db, DNS_DB_NSEC3ONLY, &dbiter);
+ check_result(result, "dns_db_createiterator()");
+
+ for (result = dns_dbiterator_first(dbiter);
+ result == ISC_R_SUCCESS;
+ result = dns_dbiterator_next(dbiter) ) {
+ result = dns_dbiterator_current(dbiter, &node, name);
+ check_dns_dbiterator_current(result);
+ result = verifynode(db, ver, origin, mctx, name, node,
+ ISC_FALSE, &keyset, act_algorithms,
+ bad_algorithms, NULL, NULL, NULL);
+ check_result(result, "verifynode");
+ record_found(db, ver, mctx, name, node, &nsec3paramset);
+ dns_db_detachnode(db, &node);
+ }
+ dns_dbiterator_destroy(&dbiter);
+
+ dns_rdataset_disassociate(&keyset);
+ if (dns_rdataset_isassociated(&nsecset))
+ dns_rdataset_disassociate(&nsecset);
+ if (dns_rdataset_isassociated(&nsec3paramset))
+ dns_rdataset_disassociate(&nsec3paramset);
+
+ result = verify_nsec3_chains(mctx);
+ if (vresult == ISC_R_UNSET)
+ vresult = ISC_R_SUCCESS;
+ if (result != ISC_R_SUCCESS && vresult == ISC_R_SUCCESS)
+ vresult = result;
+ isc_heap_destroy(&expected_chains);
+ isc_heap_destroy(&found_chains);
+
+ /*
+ * If we made it this far, we have what we consider a properly signed
+ * zone. Set the good flag.
+ */
+ for (i = 0; i < 256; i++) {
+ if (bad_algorithms[i] != 0) {
+ if (first)
+ fprintf(stderr, "The zone is not fully signed "
+ "for the following algorithms:");
+ dns_secalg_format(i, algbuf, sizeof(algbuf));
+ fprintf(stderr, " %s", algbuf);
+ first = ISC_FALSE;
+ }
+ }
+ if (!first) {
+ fprintf(stderr, ".\n");
+ fatal("DNSSEC completeness test failed.");
+ }
+
+ if (vresult != ISC_R_SUCCESS)
+ fatal("DNSSEC completeness test failed (%s).",
+ dns_result_totext(vresult));
+
+ if (goodksk || ignore_kskflag) {
+ /*
+ * Print the success summary.
+ */
+ fprintf(stderr, "Zone fully signed:\n");
+ for (i = 0; i < 256; i++) {
+ if ((ksk_algorithms[i] != 0) ||
+ (standby_ksk[i] != 0) ||
+ (revoked_zsk[i] != 0) ||
+ (zsk_algorithms[i] != 0) ||
+ (standby_zsk[i] != 0) ||
+ (revoked_zsk[i] != 0)) {
+ dns_secalg_format(i, algbuf, sizeof(algbuf));
+ fprintf(stderr, "Algorithm: %s: KSKs: "
+ "%u active, %u stand-by, %u revoked\n",
+ algbuf, ksk_algorithms[i],
+ standby_ksk[i], revoked_ksk[i]);
+ fprintf(stderr, "%*sZSKs: "
+ "%u active, %u %s, %u revoked\n",
+ (int) strlen(algbuf) + 13, "",
+ zsk_algorithms[i],
+ standby_zsk[i],
+ keyset_kskonly ? "present" : "stand-by",
+ revoked_zsk[i]);
+ }
+ }
+ }
+}
diff --git a/bin/dnssec/dnssectool.h b/bin/dnssec/dnssectool.h
index 0e34163d..09b4fb10 100644
--- a/bin/dnssec/dnssectool.h
+++ b/bin/dnssec/dnssectool.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007-2012 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
@@ -25,6 +25,11 @@
#include <dns/rdatastruct.h>
#include <dst/dst.h>
+#define check_dns_dbiterator_current(result) \
+ check_result((result == DNS_R_NEWORIGIN) ? ISC_R_SUCCESS : result, \
+ "dns_dbiterator_current()")
+
+
typedef void (fatalcallback_t)(void);
ISC_PLATFORM_NORETURN_PRE void
@@ -81,4 +86,12 @@ isc_boolean_t
key_collision(dst_key_t *key, dns_name_t *name, const char *dir,
isc_mem_t *mctx, isc_boolean_t *exact);
+isc_boolean_t
+is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
+ dns_name_t *name, dns_dbnode_t *node, isc_uint32_t *ttlp);
+
+void
+verifyzone(dns_db_t *db, dns_dbversion_t *ver,
+ dns_name_t *origin, isc_mem_t *mctx,
+ isc_boolean_t ignore_kskflag, isc_boolean_t keyset_kskonly);
#endif /* DNSSEC_DNSSECTOOL_H */
diff --git a/bin/named/Makefile.in b/bin/named/Makefile.in
index c1e0be74..d2b07822 100644
--- a/bin/named/Makefile.in
+++ b/bin/named/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/named/bindkeys.pl b/bin/named/bindkeys.pl
index 981c02b3..937d78b9 100755
--- a/bin/named/bindkeys.pl
+++ b/bin/named/bindkeys.pl
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
#
-# Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009-2012 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
diff --git a/bin/named/builtin.c b/bin/named/builtin.c
index ceafe5d6..4604cb3c 100644
--- a/bin/named/builtin.c
+++ b/bin/named/builtin.c
@@ -99,9 +99,9 @@ static size_t
dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) {
size_t i, j = 0;
- for (i = 0; i < 4; i++) {
+ for (i = 0; i < 4U; i++) {
unsigned char c = v[start++];
- if (start == 7)
+ if (start == 7U)
start++;
if (c > 99) {
rdata[j++] = 3;
@@ -164,7 +164,7 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name,
i = (nlen % 4) == 2U ? 1 : 0;
j = nlen;
memset(v, 0, sizeof(v));
- while (j != 0) {
+ while (j != 0U) {
INSIST((i/2) < sizeof(v));
if (ndata[0] != 1)
return (ISC_R_NOTFOUND);
diff --git a/bin/named/client.c b/bin/named/client.c
index bb592009..e8654cb0 100644
--- a/bin/named/client.c
+++ b/bin/named/client.c
@@ -501,12 +501,14 @@ exit_check(ns_client_t *client) {
* the dying client inbetween.
*/
client->state = NS_CLIENTSTATE_INACTIVE;
- if (!ns_g_clienttest)
- ISC_QUEUE_PUSH(manager->inactive, client, ilink);
INSIST(client->recursionquota == NULL);
if (client->state == client->newstate) {
client->newstate = NS_CLIENTSTATE_MAX;
+ if (!ns_g_clienttest && manager != NULL &&
+ !manager->exiting)
+ ISC_QUEUE_PUSH(manager->inactive, client,
+ ilink);
if (client->needshutdown)
isc_task_shutdown(client->task);
return (ISC_TRUE);
@@ -526,6 +528,7 @@ exit_check(ns_client_t *client) {
REQUIRE(client->state == NS_CLIENTSTATE_INACTIVE);
INSIST(client->recursionquota == NULL);
+ INSIST(!ISC_QLINK_LINKED(client, ilink));
ns_query_free(client);
isc_mem_put(client->mctx, client->recvbuf, RECV_BUFFER_SIZE);
@@ -634,6 +637,9 @@ client_shutdown(isc_task_t *task, isc_event_t *event) {
client->shutdown_arg = NULL;
}
+ if (ISC_QLINK_LINKED(client, ilink))
+ ISC_QUEUE_UNLINK(client->manager->inactive, client, ilink);
+
client->newstate = NS_CLIENTSTATE_FREED;
client->needshutdown = ISC_FALSE;
(void)exit_check(client);
@@ -2120,6 +2126,8 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp) {
#ifdef ALLOW_FILTER_AAAA_ON_V4
client->filter_aaaa = dns_v4_aaaa_ok;
#endif
+ client->needshutdown = ns_g_clienttest;
+
ISC_EVENT_INIT(&client->ctlevent, sizeof(client->ctlevent), 0, NULL,
NS_EVENT_CLIENTCONTROL, client_start, client, client,
NULL, NULL);
@@ -2147,8 +2155,6 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp) {
if (result != ISC_R_SUCCESS)
goto cleanup_query;
- client->needshutdown = ns_g_clienttest;
-
CTRACE("create");
*clientp = client;
@@ -2514,9 +2520,10 @@ ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
void
ns_clientmgr_destroy(ns_clientmgr_t **managerp) {
+ isc_result_t result;
ns_clientmgr_t *manager;
ns_client_t *client;
- isc_boolean_t need_destroy = ISC_FALSE;
+ isc_boolean_t need_destroy = ISC_FALSE, unlock = ISC_FALSE;
REQUIRE(managerp != NULL);
manager = *managerp;
@@ -2524,11 +2531,16 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) {
MTRACE("destroy");
- LOCK(&manager->listlock);
+ /*
+ * Check for success because we may already be task-exclusive
+ * at this point. Only if we succeed at obtaining an exclusive
+ * lock now will we need to relinquish it later.
+ */
+ result = isc_task_beginexclusive(ns_g_server->task);
+ if (result == ISC_R_SUCCESS)
+ unlock = ISC_TRUE;
- LOCK(&manager->lock);
manager->exiting = ISC_TRUE;
- UNLOCK(&manager->lock);
for (client = ISC_LIST_HEAD(manager->clients);
client != NULL;
@@ -2538,7 +2550,8 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) {
if (ISC_LIST_EMPTY(manager->clients))
need_destroy = ISC_TRUE;
- UNLOCK(&manager->listlock);
+ if (unlock)
+ isc_task_endexclusive(ns_g_server->task);
if (need_destroy)
clientmgr_destroy(manager);
@@ -2555,6 +2568,9 @@ get_client(ns_clientmgr_t *manager, ns_interface_t *ifp,
ns_client_t *client;
MTRACE("get client");
+ if (manager != NULL && manager->exiting)
+ return (ISC_R_SHUTTINGDOWN);
+
/*
* Allocate a client. First try to get a recycled one;
* if that fails, make a new one.
diff --git a/bin/named/config.c b/bin/named/config.c
index b6894a64..e3c90064 100644
--- a/bin/named/config.c
+++ b/bin/named/config.c
@@ -73,6 +73,7 @@ options {\n\
listen-on {any;};\n\
listen-on-v6 {none;};\n\
match-mapped-addresses no;\n\
+ max-rsa-exponent-size 0; /* no limit */\n\
memstatistics-file \"named.memstats\";\n\
multiple-cnames no;\n\
# named-xfer <obsolete>;\n\
@@ -89,7 +90,7 @@ options {\n\
#endif
"\
recursive-clients 1000;\n\
- resolver-query-timeout 30;\n\
+ resolver-query-timeout 10;\n\
rrset-order { order random; };\n\
serial-queries 20;\n\
serial-query-rate 20;\n\
diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c
index f360d022..8a3d3b09 100644
--- a/bin/named/controlconf.c
+++ b/bin/named/controlconf.c
@@ -373,8 +373,10 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (result == ISC_R_SUCCESS)
break;
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
- log_invalid(&conn->ccmsg, result);
- goto cleanup;
+ if (result != ISCCC_R_BADAUTH) {
+ log_invalid(&conn->ccmsg, result);
+ goto cleanup;
+ }
}
if (key == NULL) {
diff --git a/bin/named/convertxsl.pl b/bin/named/convertxsl.pl
index 87550b3c..f3553685 100755
--- a/bin/named/convertxsl.pl
+++ b/bin/named/convertxsl.pl
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
#
-# Copyright (C) 2006-2008 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2006-2008, 2012 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
diff --git a/bin/named/query.c b/bin/named/query.c
index 291d7f60..cc706225 100644
--- a/bin/named/query.c
+++ b/bin/named/query.c
@@ -25,6 +25,7 @@
#include <isc/hex.h>
#include <isc/mem.h>
+#include <isc/serial.h>
#include <isc/stats.h>
#include <isc/util.h>
@@ -2796,13 +2797,14 @@ query_add_cname(ns_client_t *client, dns_name_t *qname, dns_name_t *tname,
*/
static void
mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name,
- isc_uint32_t ttl, dns_rdataset_t *rdataset,
+ dns_rdata_rrsig_t *rrsig, dns_rdataset_t *rdataset,
dns_rdataset_t *sigrdataset)
{
isc_result_t result;
dns_dbnode_t *node = NULL;
dns_clientinfomethods_t cm;
dns_clientinfo_t ci;
+ isc_stdtime_t now;
rdataset->trust = dns_trust_secure;
sigrdataset->trust = dns_trust_secure;
@@ -2815,17 +2817,10 @@ mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name,
result = dns_db_findnodeext(db, name, ISC_TRUE, &cm, &ci, &node);
if (result != ISC_R_SUCCESS)
return;
- /*
- * Bound the validated ttls then minimise.
- */
- if (sigrdataset->ttl > ttl)
- sigrdataset->ttl = ttl;
- if (rdataset->ttl > ttl)
- rdataset->ttl = ttl;
- if (rdataset->ttl > sigrdataset->ttl)
- rdataset->ttl = sigrdataset->ttl;
- else
- sigrdataset->ttl = rdataset->ttl;
+
+ isc_stdtime_get(&now);
+ dns_rdataset_trimttl(rdataset, sigrdataset, rrsig, now,
+ client->view->acceptexpired);
(void)dns_db_addrdataset(db, node, NULL, client->now, rdataset,
0, NULL);
@@ -2898,7 +2893,7 @@ get_key(ns_client_t *client, dns_db_t *db, dns_rdata_rrsig_t *rrsig,
static isc_boolean_t
verify(dst_key_t *key, dns_name_t *name, dns_rdataset_t *rdataset,
- dns_rdata_t *rdata, isc_mem_t *mctx, isc_boolean_t acceptexpired)
+ dns_rdata_t *rdata, ns_client_t *client)
{
isc_result_t result;
dns_fixedname_t fixed;
@@ -2907,9 +2902,10 @@ verify(dst_key_t *key, dns_name_t *name, dns_rdataset_t *rdataset,
dns_fixedname_init(&fixed);
again:
- result = dns_dnssec_verify2(name, rdataset, key, ignore, mctx,
+ result = dns_dnssec_verify3(name, rdataset, key, ignore,
+ client->view->maxbits, client->mctx,
rdata, NULL);
- if (result == DNS_R_SIGEXPIRED && acceptexpired) {
+ if (result == DNS_R_SIGEXPIRED && client->view->acceptexpired) {
ignore = ISC_TRUE;
goto again;
}
@@ -2952,12 +2948,10 @@ validate(ns_client_t *client, dns_db_t *db, dns_name_t *name,
do {
if (!get_key(client, db, &rrsig, &keyrdataset, &key))
break;
- if (verify(key, name, rdataset, &rdata, client->mctx,
- client->view->acceptexpired)) {
+ if (verify(key, name, rdataset, &rdata, client)) {
dst_key_free(&key);
dns_rdataset_disassociate(&keyrdataset);
- mark_secure(client, db, name,
- rrsig.originalttl,
+ mark_secure(client, db, name, &rrsig,
rdataset, sigrdataset);
return (ISC_TRUE);
}
@@ -3845,6 +3839,13 @@ rpz_clean(dns_zone_t **zonep, dns_db_t **dbp, dns_dbnode_t **nodep,
dns_rdataset_disassociate(*rdatasetp);
}
+static void
+rpz_match_clear(dns_rpz_st_t *st)
+{
+ rpz_clean(&st->m.zone, &st->m.db, &st->m.node, &st->m.rdataset);
+ st->m.version = NULL;
+}
+
static inline isc_result_t
rpz_ready(ns_client_t *client, dns_zone_t **zonep, dns_db_t **dbp,
dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp)
@@ -3864,10 +3865,9 @@ static void
rpz_st_clear(ns_client_t *client) {
dns_rpz_st_t *st = client->query.rpz_st;
- rpz_clean(&st->m.zone, &st->m.db, &st->m.node, NULL);
- st->m.version = NULL;
if (st->m.rdataset != NULL)
query_putrdataset(client, &st->m.rdataset);
+ rpz_match_clear(st);
rpz_clean(NULL, &st->r.db, NULL, NULL);
if (st->r.ns_rdataset != NULL)
@@ -4023,6 +4023,9 @@ rpz_rewrite_ip(ns_client_t *client, dns_rdataset_t *rdataset,
for (rpz = ISC_LIST_HEAD(client->view->rpz_zones);
rpz != NULL;
rpz = ISC_LIST_NEXT(rpz, link)) {
+ if (!RECURSIONOK(client) && rpz->recursive_only)
+ continue;
+
/*
* Do not check policy zones that cannot replace a policy
* already known to match.
@@ -4051,9 +4054,8 @@ rpz_rewrite_ip(ns_client_t *client, dns_rdataset_t *rdataset,
* hit, if any. Note the domain name and quality of the
* best hit.
*/
- (void)dns_db_rpz_findips(rpz, rpz_type, zone, db, version,
- rdataset, st,
- client->query.rpz_st->qname);
+ dns_db_rpz_findips(rpz, rpz_type, zone, db, version,
+ rdataset, st, client->query.rpz_st->qname);
rpz_clean(&zone, &db, NULL, NULL);
}
return (ISC_R_SUCCESS);
@@ -4158,8 +4160,8 @@ rpz_rewrite_rrsets(ns_client_t *client, dns_rpz_type_t rpz_type,
*/
static isc_result_t
rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
- dns_name_t *sname, dns_rpz_type_t rpz_type, dns_zone_t **zonep,
- dns_db_t **dbp, dns_dbversion_t **versionp,
+ dns_name_t *sname, dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
+ dns_zone_t **zonep, dns_db_t **dbp, dns_dbversion_t **versionp,
dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp,
dns_rpz_policy_t *policyp)
{
@@ -4204,7 +4206,7 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
if (result != ISC_R_SUCCESS) {
dns_db_detachnode(*dbp, nodep);
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, rpz_type,
- qnamef, "allrdatasets()", result);
+ qnamef, "allrdatasets() ", result);
*policyp = DNS_RPZ_POLICY_ERROR;
return (DNS_R_SERVFAIL);
}
@@ -4221,7 +4223,7 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
if (result != ISC_R_SUCCESS) {
if (result != ISC_R_NOMORE) {
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL,
- rpz_type, qnamef, "rdatasetiter",
+ rpz_type, qnamef, "rdatasetiter ",
result);
*policyp = DNS_RPZ_POLICY_ERROR;
return (DNS_R_SERVFAIL);
@@ -4249,7 +4251,7 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
if ((*rdatasetp)->type != dns_rdatatype_cname) {
policy = DNS_RPZ_POLICY_RECORD;
} else {
- policy = dns_rpz_decode_cname(*rdatasetp, sname);
+ policy = dns_rpz_decode_cname(rpz, *rdatasetp, sname);
if ((policy == DNS_RPZ_POLICY_RECORD ||
policy == DNS_RPZ_POLICY_WILDCNAME) &&
qtype != dns_rdatatype_cname &&
@@ -4320,6 +4322,9 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
for (rpz = ISC_LIST_HEAD(client->view->rpz_zones);
rpz != NULL;
rpz = ISC_LIST_NEXT(rpz, link)) {
+ if (!RECURSIONOK(client) && rpz->recursive_only)
+ continue;
+
/*
* Do not check policy zones that cannot replace a policy
* already known to match.
@@ -4365,11 +4370,11 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
}
/*
- * See if the policy record exists.
+ * See if the policy record exists and get its policy.
*/
- result = rpz_find(client, qtype, rpz_qname, qname, rpz_type,
- &zone, &db, &version, &node, rdatasetp,
- &policy);
+ result = rpz_find(client, qtype, rpz_qname, qname, rpz,
+ rpz_type, &zone, &db, &version, &node,
+ rdatasetp, &policy);
switch (result) {
case DNS_R_NXDOMAIN:
case DNS_R_EMPTYNAME:
@@ -4405,8 +4410,7 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
continue;
}
- rpz_clean(&st->m.zone, &st->m.db, &st->m.node,
- &st->m.rdataset);
+ rpz_match_clear(st);
st->m.rpz = rpz;
st->m.type = rpz_type;
st->m.prefix = 0;
@@ -4420,9 +4424,11 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
trdataset = st->m.rdataset;
st->m.rdataset = *rdatasetp;
*rdatasetp = trdataset;
- st->m.ttl = st->m.rdataset->ttl;
+ st->m.ttl = ISC_MIN(st->m.rdataset->ttl,
+ rpz->max_policy_ttl);
} else {
- st->m.ttl = DNS_RPZ_TTL_DEFAULT;
+ st->m.ttl = ISC_MIN(DNS_RPZ_TTL_DEFAULT,
+ rpz->max_policy_ttl);
}
st->m.node = node;
node = NULL;
@@ -4517,13 +4523,13 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, isc_result_t qresult,
case DNS_R_BROKENCHAIN:
rpz_log_fail(client, DNS_RPZ_DEBUG_LEVEL3, DNS_RPZ_TYPE_QNAME,
client->query.qname,
- "stop on qresult in rpz_rewrite()",
+ "stop on qresult in rpz_rewrite() ",
qresult);
return (ISC_R_SUCCESS);
default:
rpz_log_fail(client, DNS_RPZ_DEBUG_LEVEL1, DNS_RPZ_TYPE_QNAME,
client->query.qname,
- "stop on unrecognized qresult in rpz_rewrite()",
+ "stop on unrecognized qresult in rpz_rewrite() ",
qresult);
return (ISC_R_SUCCESS);
}
@@ -4702,10 +4708,11 @@ cleanup:
if (st->m.policy == DNS_RPZ_POLICY_MISS ||
st->m.policy == DNS_RPZ_POLICY_PASSTHRU ||
st->m.policy == DNS_RPZ_POLICY_ERROR) {
- if (st->m.policy == DNS_RPZ_POLICY_PASSTHRU)
+ if (st->m.policy == DNS_RPZ_POLICY_PASSTHRU &&
+ result != DNS_R_DELEGATION)
rpz_log_rewrite(client, "", st->m.policy, st->m.type,
st->qname);
- rpz_clean(&st->m.zone, &st->m.db, &st->m.node, &st->m.rdataset);
+ rpz_match_clear(st);
}
if (st->m.policy == DNS_RPZ_POLICY_ERROR) {
st->m.type = DNS_RPZ_TYPE_BAD;
@@ -4719,6 +4726,64 @@ cleanup:
}
/*
+ * See if response policy zone rewriting is allowed a lack of interest
+ * by the client in DNSSEC or a lack of signatures.
+ */
+static isc_boolean_t
+rpz_ck_dnssec(ns_client_t *client, isc_result_t result,
+ dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)
+{
+ dns_fixedname_t fixed;
+ dns_name_t *found;
+ dns_rdataset_t trdataset;
+ dns_rdatatype_t type;
+
+ if (client->view->rpz_break_dnssec)
+ return (ISC_TRUE);
+ /*
+ * sigrdataset == NULL if and only !WANTDNSSEC(client)
+ */
+ if (sigrdataset == NULL)
+ return (ISC_TRUE);
+ if (dns_rdataset_isassociated(sigrdataset))
+ return (ISC_FALSE);
+
+ /*
+ * We are happy to rewrite nothing.
+ */
+ if (rdataset == NULL || !dns_rdataset_isassociated(rdataset))
+ return (ISC_TRUE);
+ /*
+ * Do not rewrite if there is any sign of signatures.
+ */
+ if (rdataset->type == dns_rdatatype_nsec ||
+ rdataset->type == dns_rdatatype_nsec3 ||
+ rdataset->type == dns_rdatatype_rrsig)
+ return (ISC_FALSE);
+
+ /*
+ * Look for a signature in a negative cache rdataset.
+ */
+ if ((rdataset->attributes & DNS_RDATASETATTR_NEGATIVE) == 0)
+ return (ISC_TRUE);
+ dns_fixedname_init(&fixed);
+ found = dns_fixedname_name(&fixed);
+ dns_rdataset_init(&trdataset);
+ for (result = dns_rdataset_first(rdataset);
+ result == ISC_R_SUCCESS;
+ result = dns_rdataset_next(rdataset)) {
+ dns_ncache_current(rdataset, found, &trdataset);
+ type = trdataset.type;
+ dns_rdataset_disassociate(&trdataset);
+ if (type == dns_rdatatype_nsec ||
+ type == dns_rdatatype_nsec3 ||
+ type == dns_rdatatype_rrsig)
+ return (ISC_FALSE);
+ }
+ return (ISC_TRUE);
+}
+
+/*
* Add a CNAME to the query response, including translating foo.evil.com and
* *.evil.com CNAME *.example.com
* to
@@ -4762,7 +4827,8 @@ rpz_add_cname(ns_client_t *client, dns_rpz_st_t *st,
* Turn off DNSSEC because the results of a
* response policy zone cannot verify.
*/
- client->attributes &= ~NS_CLIENTATTR_WANTDNSSEC;
+ client->attributes &= ~(NS_CLIENTATTR_WANTDNSSEC |
+ DNS_MESSAGEFLAG_AD);
return (ISC_R_SUCCESS);
}
@@ -5681,9 +5747,9 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
CTRACE("query_find: resume");
if (!ISC_LIST_EMPTY(client->view->rpz_zones) &&
- RECURSIONOK(client) && !RECURSING(client) &&
- (!WANTDNSSEC(client) || sigrdataset == NULL ||
- !dns_rdataset_isassociated(sigrdataset)) &&
+ (RECURSIONOK(client) || !client->view->rpz_recursive_only) &&
+ rpz_ck_dnssec(client, result, rdataset, sigrdataset) &&
+ !RECURSING(client) &&
(client->query.rpz_st == NULL ||
(client->query.rpz_st->state & DNS_RPZ_REWRITTEN) == 0) &&
!dns_name_equal(client->query.qname, dns_rootname)) {
@@ -5757,10 +5823,22 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
break;
case DNS_RPZ_POLICY_RECORD:
result = rpz_st->m.result;
- if (type == dns_rdatatype_any &&
- result != DNS_R_CNAME &&
- dns_rdataset_isassociated(rdataset))
- dns_rdataset_disassociate(rdataset);
+ if (qtype == dns_rdatatype_any &&
+ result != DNS_R_CNAME) {
+ /*
+ * We will add all of the rdatasets of
+ * the node by iterating, setting the
+ * TTL then.
+ */
+ if (dns_rdataset_isassociated(rdataset))
+ dns_rdataset_disassociate(rdataset);
+ } else {
+ /*
+ * We will add this rdataset.
+ */
+ rdataset->ttl = ISC_MIN(rdataset->ttl,
+ rpz_st->m.ttl);
+ }
break;
case DNS_RPZ_POLICY_WILDCNAME:
result = dns_rdataset_first(rdataset);
@@ -5799,7 +5877,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
* Turn off DNSSEC because the results of a
* response policy zone cannot verify.
*/
- client->attributes &= ~NS_CLIENTATTR_WANTDNSSEC;
+ client->attributes &= ~(NS_CLIENTATTR_WANTDNSSEC |
+ DNS_MESSAGEFLAG_AD);
query_putrdataset(client, &sigrdataset);
is_zone = ISC_TRUE;
rpz_log_rewrite(client, "", rpz_st->m.policy,
@@ -6747,6 +6826,10 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
noqname = rdataset;
else
noqname = NULL;
+ rpz_st = client->query.rpz_st;
+ if (rpz_st != NULL)
+ rdataset->ttl = ISC_MIN(rdataset->ttl,
+ rpz_st->m.ttl);
query_addrrset(client,
fname != NULL ? &fname : &tname,
&rdataset, NULL,
@@ -7039,8 +7122,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
rpz_st = client->query.rpz_st;
if (rpz_st != NULL && (rpz_st->state & DNS_RPZ_RECURSING) == 0) {
- rpz_clean(&rpz_st->m.zone, &rpz_st->m.db, &rpz_st->m.node,
- &rpz_st->m.rdataset);
+ rpz_match_clear(rpz_st);
rpz_st->state &= ~DNS_RPZ_DONE_QNAME;
}
if (rdataset != NULL)
diff --git a/bin/named/server.c b/bin/named/server.c
index ddfb730f..4083ce89 100644
--- a/bin/named/server.c
+++ b/bin/named/server.c
@@ -1440,15 +1440,14 @@ cleanup:
}
static isc_result_t
-configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
- const cfg_obj_t *rpz_obj, *policy_obj;
+configure_rpz(dns_view_t *view, const cfg_listelt_t *element,
+ isc_boolean_t recursive_only_def, dns_ttl_t ttl_def)
+{
+ const cfg_obj_t *rpz_obj, *policy_obj, *obj;
const char *str;
- dns_fixedname_t fixed;
- dns_name_t *origin;
dns_rpz_zone_t *old, *new;
dns_zone_t *zone = NULL;
isc_result_t result;
- unsigned int l1, l2;
new = isc_mem_get(view->mctx, sizeof(*new));
if (new == NULL) {
@@ -1457,9 +1456,10 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
}
memset(new, 0, sizeof(*new));
- dns_name_init(&new->nsdname, NULL);
dns_name_init(&new->origin, NULL);
+ dns_name_init(&new->nsdname, NULL);
dns_name_init(&new->cname, NULL);
+ dns_name_init(&new->passthru, NULL);
ISC_LIST_INITANDAPPEND(view->rpz_zones, new, link);
rpz_obj = cfg_listelt_value(element);
@@ -1467,15 +1467,31 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
if (cfg_obj_isvoid(policy_obj)) {
new->policy = DNS_RPZ_POLICY_GIVEN;
} else {
- str = cfg_obj_asstring(policy_obj);
+ str = cfg_obj_asstring(cfg_tuple_get(policy_obj,
+ "policy name"));
new->policy = dns_rpz_str2policy(str);
INSIST(new->policy != DNS_RPZ_POLICY_ERROR);
}
- dns_fixedname_init(&fixed);
- origin = dns_fixedname_name(&fixed);
- str = cfg_obj_asstring(cfg_tuple_get(rpz_obj, "name"));
- result = dns_name_fromstring(origin, str, DNS_NAME_DOWNCASE, NULL);
+ obj = cfg_tuple_get(rpz_obj, "recursive-only");
+ if (cfg_obj_isvoid(obj)) {
+ new->recursive_only = recursive_only_def;
+ } else {
+ new->recursive_only = cfg_obj_asboolean(obj);
+ }
+ if (!new->recursive_only)
+ view->rpz_recursive_only = ISC_FALSE;
+
+ obj = cfg_tuple_get(rpz_obj, "max-policy-ttl");
+ if (cfg_obj_isuint32(obj)) {
+ new->max_policy_ttl = cfg_obj_asuint32(obj);
+ } else {
+ new->max_policy_ttl = ttl_def;
+ }
+
+ str = cfg_obj_asstring(cfg_tuple_get(rpz_obj, "zone name"));
+ result = dns_name_fromstring(&new->origin, str, DNS_NAME_DOWNCASE,
+ view->mctx);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"invalid zone '%s'", str);
@@ -1483,31 +1499,28 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
}
result = dns_name_fromstring2(&new->nsdname, DNS_RPZ_NSDNAME_ZONE,
- origin, DNS_NAME_DOWNCASE, view->mctx);
+ &new->origin, DNS_NAME_DOWNCASE,
+ view->mctx);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"invalid zone '%s'", str);
goto cleanup;
}
- /*
- * The origin is part of 'nsdname' so we don't need to keep it
- * seperately.
- */
- l1 = dns_name_countlabels(&new->nsdname);
- l2 = dns_name_countlabels(origin);
- dns_name_getlabelsequence(&new->nsdname, l1 - l2, l2, &new->origin);
+ result = dns_name_fromstring(&new->passthru, DNS_RPZ_PASSTHRU_ZONE,
+ DNS_NAME_DOWNCASE, view->mctx);
+ if (result != ISC_R_SUCCESS) {
+ cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
+ "invalid zone '%s'", str);
+ goto cleanup;
+ }
- /*
- * Are we configured to with the reponse policy zone?
- */
result = dns_view_findzone(view, &new->origin, &zone);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"unknown zone '%s'", str);
goto cleanup;
}
-
if (dns_zone_gettype(zone) != dns_zone_master &&
dns_zone_gettype(zone) != dns_zone_slave) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
@@ -1531,8 +1544,9 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
}
if (new->policy == DNS_RPZ_POLICY_CNAME) {
- str = cfg_obj_asstring(cfg_tuple_get(rpz_obj, "cname"));
- result = dns_name_fromstring(&new->cname, str, 0, view->mctx);
+ str = cfg_obj_asstring(cfg_tuple_get(policy_obj, "cname"));
+ result = dns_name_fromstring(&new->cname, str,
+ DNS_NAME_DOWNCASE, view->mctx);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"invalid cname '%s'", str);
@@ -1595,6 +1609,7 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
const char *cachename = NULL;
dns_order_t *order = NULL;
isc_uint32_t udpsize;
+ isc_uint32_t maxbits;
unsigned int resopts = 0;
dns_zone_t *zone = NULL;
isc_uint32_t max_clients_per_query;
@@ -2222,6 +2237,19 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
view->maxudp = udpsize;
/*
+ * Set the maximum rsa exponent bits.
+ */
+ obj = NULL;
+ result = ns_config_get(maps, "max-rsa-exponent-size", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ maxbits = cfg_obj_asuint32(obj);
+ if (maxbits != 0 && maxbits < 35)
+ maxbits = 35;
+ if (maxbits > 4096)
+ maxbits = 4096;
+ view->maxbits = maxbits;
+
+ /*
* Set supported DNSSEC algorithms.
*/
dns_resolver_reset_algorithms(view->resolver);
@@ -2858,19 +2886,39 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
* Make the list of response policy zone names for views that
* are used for real lookups and so care about hints.
*/
- zonelist = NULL;
- if (view->rdclass == dns_rdataclass_in && need_hints) {
- obj = NULL;
- result = ns_config_get(maps, "response-policy", &obj);
- if (result == ISC_R_SUCCESS)
- cfg_map_get(obj, "zone", &zonelist);
- }
+ obj = NULL;
+ if (view->rdclass == dns_rdataclass_in && need_hints &&
+ ns_config_get(maps, "response-policy", &obj) == ISC_R_SUCCESS) {
+ const cfg_obj_t *recursive_only_obj;
+ const cfg_obj_t *break_dnssec_obj, *ttl_obj;
+ isc_boolean_t recursive_only_def;
+ dns_ttl_t ttl_def;
+
+ recursive_only_obj = cfg_tuple_get(obj, "recursive-only");
+ if (!cfg_obj_isvoid(recursive_only_obj) &&
+ !cfg_obj_asboolean(recursive_only_obj))
+ recursive_only_def = ISC_FALSE;
+ else
+ recursive_only_def = ISC_TRUE;
- if (zonelist != NULL) {
- for (element = cfg_list_first(zonelist);
+ break_dnssec_obj = cfg_tuple_get(obj, "break-dnssec");
+ if (!cfg_obj_isvoid(break_dnssec_obj) &&
+ cfg_obj_asboolean(break_dnssec_obj))
+ view->rpz_break_dnssec = ISC_TRUE;
+ else
+ view->rpz_break_dnssec = ISC_FALSE;
+
+ ttl_obj = cfg_tuple_get(obj, "max-policy-ttl");
+ if (cfg_obj_isuint32(ttl_obj))
+ ttl_def = cfg_obj_asuint32(ttl_obj);
+ else
+ ttl_def = DNS_RPZ_MAX_TTL_DEFAULT;
+
+ for (element = cfg_list_first(cfg_tuple_get(obj, "zone list"));
element != NULL;
element = cfg_list_next(element)) {
- result = configure_rpz(view, element);
+ result = configure_rpz(view, element,
+ recursive_only_def, ttl_def);
if (result != ISC_R_SUCCESS)
goto cleanup;
dns_rpz_set_need(ISC_TRUE);
@@ -5536,11 +5584,13 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
/*
* Setup the server task, which is responsible for coordinating
- * startup and shutdown of the server.
+ * startup and shutdown of the server, as well as all exclusive
+ * tasks.
*/
CHECKFATAL(isc_task_create(ns_g_taskmgr, 0, &server->task),
"creating server task");
isc_task_setname(server->task, "server", server);
+ isc_taskmgr_setexcltask(ns_g_taskmgr, server->task);
CHECKFATAL(isc_task_onshutdown(server->task, shutdown_server, server),
"isc_task_onshutdown");
CHECKFATAL(isc_app_onrun(ns_g_mctx, server->task, run_server, server),
@@ -7941,7 +7991,6 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t *text) {
memcpy(keystr, ptr, sizeof(keystr));
} else if(strcasecmp(ptr, "-nsec3param") == 0) {
const char *hashstr, *flagstr, *iterstr;
- isc_buffer_t buf;
char nbuf[512];
chain = ISC_TRUE;
@@ -7969,9 +8018,13 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t *text) {
ptr = next_token(&args, " \t");
if (ptr == NULL)
return (ISC_R_UNEXPECTEDEND);
- isc_buffer_init(&buf, salt, sizeof(salt));
- CHECK(isc_hex_decodestring(ptr, &buf));
- saltlen = isc_buffer_usedlength(&buf);
+ if (strcmp(ptr, "-") != 0) {
+ isc_buffer_t buf;
+
+ isc_buffer_init(&buf, salt, sizeof(salt));
+ CHECK(isc_hex_decodestring(ptr, &buf));
+ saltlen = isc_buffer_usedlength(&buf);
+ }
}
} else
CHECK(DNS_R_SYNTAX);
diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c
index c87ef67e..d743cedb 100644
--- a/bin/named/statschannel.c
+++ b/bin/named/statschannel.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2008-2012 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
@@ -85,16 +85,19 @@ static const char *nsstats_desc[dns_nsstatscounter_max];
static const char *resstats_desc[dns_resstatscounter_max];
static const char *zonestats_desc[dns_zonestatscounter_max];
static const char *sockstats_desc[isc_sockstatscounter_max];
+static const char *dnssecstats_desc[dns_dnssecstats_max];
#ifdef HAVE_LIBXML2
static const char *nsstats_xmldesc[dns_nsstatscounter_max];
static const char *resstats_xmldesc[dns_resstatscounter_max];
static const char *zonestats_xmldesc[dns_zonestatscounter_max];
static const char *sockstats_xmldesc[isc_sockstatscounter_max];
+static const char *dnssecstats_xmldesc[dns_dnssecstats_max];
#else
#define nsstats_xmldesc NULL
#define resstats_xmldesc NULL
#define zonestats_xmldesc NULL
#define sockstats_xmldesc NULL
+#define dnssecstats_xmldesc NULL
#endif /* HAVE_LIBXML2 */
#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0)
@@ -108,6 +111,7 @@ static int nsstats_index[dns_nsstatscounter_max];
static int resstats_index[dns_resstatscounter_max];
static int zonestats_index[dns_zonestatscounter_max];
static int sockstats_index[isc_sockstatscounter_max];
+static int dnssecstats_index[dns_dnssecstats_max];
static inline void
set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs,
@@ -409,6 +413,33 @@ init_desc(void) {
"FDwatchRecvErr");
INSIST(i == isc_sockstatscounter_max);
+ /* Initialize DNSSEC statistics */
+ for (i = 0; i < dns_dnssecstats_max; i++)
+ dnssecstats_desc[i] = NULL;
+#ifdef HAVE_LIBXML2
+ for (i = 0; i < dns_dnssecstats_max; i++)
+ dnssecstats_xmldesc[i] = NULL;
+#endif
+
+#define SET_DNSSECSTATDESC(counterid, desc, xmldesc) \
+ do { \
+ set_desc(dns_dnssecstats_ ## counterid, \
+ dns_dnssecstats_max, \
+ desc, dnssecstats_desc,\
+ xmldesc, dnssecstats_xmldesc); \
+ dnssecstats_index[i++] = dns_dnssecstats_ ## counterid; \
+ } while (0)
+
+ i = 0;
+ SET_DNSSECSTATDESC(asis, "dnssec validation success with signer "
+ "\"as is\"", "DNSSECasis");
+ SET_DNSSECSTATDESC(downcase, "dnssec validation success with signer "
+ "lower cased", "DNSSECdowncase");
+ SET_DNSSECSTATDESC(wildcard, "dnssec validation of wildcard signature",
+ "DNSSECwild");
+ SET_DNSSECSTATDESC(fail, "dnssec validation failures", "DNSSECfail");
+ INSIST(i == dns_dnssecstats_max);
+
/* Sanity check */
for (i = 0; i < dns_nsstatscounter_max; i++)
INSIST(nsstats_desc[i] != NULL);
@@ -418,6 +449,8 @@ init_desc(void) {
INSIST(zonestats_desc[i] != NULL);
for (i = 0; i < isc_sockstatscounter_max; i++)
INSIST(sockstats_desc[i] != NULL);
+ for (i = 0; i < dns_dnssecstats_max; i++)
+ INSIST(dnssecstats_desc[i] != NULL);
#ifdef HAVE_LIBXML2
for (i = 0; i < dns_nsstatscounter_max; i++)
INSIST(nsstats_xmldesc[i] != NULL);
@@ -427,6 +460,8 @@ init_desc(void) {
INSIST(zonestats_xmldesc[i] != NULL);
for (i = 0; i < isc_sockstatscounter_max; i++)
INSIST(sockstats_xmldesc[i] != NULL);
+ for (i = 0; i < dns_dnssecstats_max; i++)
+ INSIST(dnssecstats_xmldesc[i] != NULL);
#endif
}
diff --git a/bin/named/unix/Makefile.in b/bin/named/unix/Makefile.in
index d2610e5c..17bb43e3 100644
--- a/bin/named/unix/Makefile.in
+++ b/bin/named/unix/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/nsupdate/Makefile.in b/bin/nsupdate/Makefile.in
index e86731be..f62ee348 100644
--- a/bin/nsupdate/Makefile.in
+++ b/bin/nsupdate/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2006-2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2006-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c
index ff8d2abf..ca367d50 100644
--- a/bin/nsupdate/nsupdate.c
+++ b/bin/nsupdate/nsupdate.c
@@ -1126,7 +1126,7 @@ parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) {
isc_buffer_t source;
word = nsu_strsep(cmdlinep, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read owner name\n");
return (STATUS_SYNTAX);
}
@@ -1229,7 +1229,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
*/
if (isrrset) {
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read class or type\n");
goto failure;
}
@@ -1245,7 +1245,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
* Now read the type.
*/
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read type\n");
goto failure;
}
@@ -1319,7 +1319,7 @@ evaluate_prereq(char *cmdline) {
ddebug("evaluate_prereq()");
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read operation code\n");
return (STATUS_SYNTAX);
}
@@ -1353,14 +1353,14 @@ evaluate_server(char *cmdline) {
}
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read server name\n");
return (STATUS_SYNTAX);
}
server = word;
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0)
+ if (word == NULL || *word == 0)
port = dnsport;
else {
char *endp;
@@ -1394,14 +1394,14 @@ evaluate_local(char *cmdline) {
struct in6_addr in6;
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read server name\n");
return (STATUS_SYNTAX);
}
local = word;
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0)
+ if (word == NULL || *word == 0)
port = 0;
else {
char *endp;
@@ -1450,7 +1450,7 @@ evaluate_key(char *cmdline) {
char *n;
namestr = nsu_strsep(&cmdline, " \t\r\n");
- if (*namestr == 0) {
+ if (namestr == NULL || *namestr == 0) {
fprintf(stderr, "could not read key name\n");
return (STATUS_SYNTAX);
}
@@ -1474,7 +1474,7 @@ evaluate_key(char *cmdline) {
}
secretstr = nsu_strsep(&cmdline, "\r\n");
- if (*secretstr == 0) {
+ if (secretstr == NULL || *secretstr == 0) {
fprintf(stderr, "could not read key secret\n");
return (STATUS_SYNTAX);
}
@@ -1515,7 +1515,7 @@ evaluate_zone(char *cmdline) {
isc_result_t result;
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read zone name\n");
return (STATUS_SYNTAX);
}
@@ -1541,7 +1541,7 @@ evaluate_realm(char *cmdline) {
char buf[1024];
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
if (realm != NULL)
isc_mem_free(mctx, realm);
realm = NULL;
@@ -1566,7 +1566,7 @@ evaluate_ttl(char *cmdline) {
isc_uint32_t ttl;
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not ttl\n");
return (STATUS_SYNTAX);
}
@@ -1600,7 +1600,7 @@ evaluate_class(char *cmdline) {
dns_rdataclass_t rdclass;
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read class name\n");
return (STATUS_SYNTAX);
}
@@ -1658,7 +1658,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
* If it's a delete, ignore a TTL if present (for compatibility).
*/
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
if (!isdelete) {
fprintf(stderr, "could not read owner ttl\n");
goto failure;
@@ -1699,7 +1699,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
*/
word = nsu_strsep(&cmdline, " \t\r\n");
parseclass:
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
if (isdelete) {
rdataclass = dns_rdataclass_any;
rdatatype = dns_rdatatype_any;
@@ -1723,7 +1723,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
* Now read the type.
*/
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
if (isdelete) {
rdataclass = dns_rdataclass_any;
rdatatype = dns_rdatatype_any;
@@ -1803,7 +1803,7 @@ evaluate_update(char *cmdline) {
ddebug("evaluate_update()");
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0) {
+ if (word == NULL || *word == 0) {
fprintf(stderr, "could not read operation code\n");
return (STATUS_SYNTAX);
}
@@ -1896,7 +1896,7 @@ do_next_command(char *cmdline) {
ddebug("do_next_command()");
word = nsu_strsep(&cmdline, " \t\r\n");
- if (*word == 0)
+ if (word == NULL || *word == 0)
return (STATUS_SEND);
if (word[0] == ';')
return (STATUS_MORE);
@@ -2017,8 +2017,17 @@ get_next_command(void) {
} else
cmdline = fgets(cmdlinebuf, MAXCMD, input);
isc_app_unblock();
- if (cmdline != NULL)
+
+ if (cmdline != NULL) {
+ char *tmp = cmdline;
+
+ /*
+ * Normalize input by removing any eol as readline()
+ * removes eol but fgets doesn't.
+ */
+ (void)nsu_strsep(&tmp, "\r\n");
result = do_next_command(cmdline);
+ }
#ifdef HAVE_READLINE
if (interactive)
free(cmdline);
diff --git a/bin/pkcs11/Makefile.in b/bin/pkcs11/Makefile.in
index a5bf5665..407d9774 100644
--- a/bin/pkcs11/Makefile.in
+++ b/bin/pkcs11/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/python/Makefile.in b/bin/python/Makefile.in
new file mode 100644
index 00000000..5b8b0412
--- /dev/null
+++ b/bin/python/Makefile.in
@@ -0,0 +1,48 @@
+# Copyright (C) 2012 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.
+
+srcdir = @srcdir@
+VPATH = @srcdir@
+top_srcdir = @top_srcdir@
+
+@BIND9_MAKE_INCLUDES@
+
+PYTHON = @PYTHON@
+
+TARGETS = dnssec-checkds
+SRCS = dnssec-checkds.py
+
+MANPAGES = dnssec-checkds.8
+HTMLPAGES = dnssec-checkds.html
+MANOBJS = ${MANPAGES} ${HTMLPAGES}
+
+@BIND9_MAKE_RULES@
+
+dnssec-checkds: ${srcdir}/dnssec-checkds.py
+
+doc man:: ${MANOBJS}
+
+docclean manclean maintainer-clean::
+ rm -f ${MANOBJS}
+
+installdirs:
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
+
+install:: ${TARGETS} installdirs
+ ${INSTALL_PROGRAM} dnssec-checkds@EXEEXT@ ${DESTDIR}${sbindir}
+ ${INSTALL_DATA} ${srcdir}/dnssec-checkds.8 ${DESTDIR}${mandir}/man8
+
+clean distclean::
+ rm -f ${TARGETS}
diff --git a/bin/python/dnssec-checkds.8 b/bin/python/dnssec-checkds.8
new file mode 100644
index 00000000..8a53a803
--- /dev/null
+++ b/bin/python/dnssec-checkds.8
@@ -0,0 +1,80 @@
+.\" Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+.\"
+.\" Permission to use, copy, modify, and/or distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+.\" PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" $Id$
+.\"
+.hy 0
+.ad l
+.\" Title: dnssec\-checkds
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
+.\" Date: April 11, 2012
+.\" Manual: BIND9
+.\" Source: BIND9
+.\"
+.TH "DNSSEC\-CHECKDS" "8" "April 11, 2012" "BIND9" "BIND9"
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
+dnssec\-dsfromkey \- DNSSEC DS RR generation tool
+.SH "SYNOPSIS"
+.HP 15
+\fBdnssec\-chedkcs\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone}
+.HP 17
+\fBdnssec\-dsfromkey\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone}
+.SH "DESCRIPTION"
+.PP
+\fBdnssec\-checkds\fR
+verifies the correctness of Delegation Signer (DS) or DNSSEC Lookaside Validation (DLV) resource records for keys in a specified zone.
+.SH "OPTIONS"
+.PP
+\-f \fIfile\fR
+.RS 4
+If a
+\fBfile\fR
+is specified, then the zone is read from that file to find the DNSKEY records. If not, then the DNSKEY records for the zone are looked up in the DNS.
+.RE
+.PP
+\-l \fIdomain\fR
+.RS 4
+Check for a DLV record in the specified lookaside domain, instead of checking for a DS record in the zone's parent. For example, to check for DLV records for "example.com" in ISC's DLV zone, use:
+\fBdnssec\-checkds \-l dlv.isc.org example.com\fR
+.RE
+.PP
+\-d \fIdig path\fR
+.RS 4
+Specifies a path to a
+\fBdig\fR
+binary. Used for testing.
+.RE
+.PP
+\-D \fIdsfromkey path\fR
+.RS 4
+Specifies a path to a
+\fBdnssec\-dsfromkey\fR
+binary. Used for testing.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBdnssec\-dsfromkey\fR(8),
+\fBdnssec\-keygen\fR(8),
+\fBdnssec\-signzone\fR(8),
+.SH "AUTHOR"
+.PP
+Internet Systems Consortium
+.SH "COPYRIGHT"
+Copyright \(co 2012 Internet Systems Consortium, Inc. ("ISC")
+.br
diff --git a/bin/python/dnssec-checkds.docbook b/bin/python/dnssec-checkds.docbook
new file mode 100644
index 00000000..bd62faed
--- /dev/null
+++ b/bin/python/dnssec-checkds.docbook
@@ -0,0 +1,145 @@
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ [<!ENTITY mdash "&#8212;">]>
+<!--
+ - Copyright (C) 2012 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.
+-->
+
+<refentry id="man.dnssec-dsfromkey">
+ <refentryinfo>
+ <date>April 11, 2012</date>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle><application>dnssec-checkds</application></refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo>BIND9</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname><application>dnssec-dsfromkey</application></refname>
+ <refpurpose>DNSSEC DS RR generation tool</refpurpose>
+ </refnamediv>
+
+ <docinfo>
+ <copyright>
+ <year>2012</year>
+ <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
+ </copyright>
+ </docinfo>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>dnssec-chedkcs</command>
+ <arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
+ <arg><option>-f <replaceable class="parameter">file</replaceable></option></arg>
+ <arg><option>-d <replaceable class="parameter">dig path</replaceable></option></arg>
+ <arg><option>-D <replaceable class="parameter">dsfromkey path</replaceable></option></arg>
+ <arg choice="req">zone</arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>dnssec-dsfromkey</command>
+ <arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
+ <arg><option>-f <replaceable class="parameter">file</replaceable></option></arg>
+ <arg><option>-d <replaceable class="parameter">dig path</replaceable></option></arg>
+ <arg><option>-D <replaceable class="parameter">dsfromkey path</replaceable></option></arg>
+ <arg choice="req">zone</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>DESCRIPTION</title>
+ <para><command>dnssec-checkds</command>
+ verifies the correctness of Delegation Signer (DS) or DNSSEC
+ Lookaside Validation (DLV) resource records for keys in a specified
+ zone.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-f <replaceable class="parameter">file</replaceable></term>
+ <listitem>
+ <para>
+ If a <option>file</option> is specified, then the zone is
+ read from that file to find the DNSKEY records. If not,
+ then the DNSKEY records for the zone are looked up in the DNS.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-l <replaceable class="parameter">domain</replaceable></term>
+ <listitem>
+ <para>
+ Check for a DLV record in the specified lookaside domain,
+ instead of checking for a DS record in the zone's parent.
+ For example, to check for DLV records for "example.com"
+ in ISC's DLV zone, use:
+ <command>dnssec-checkds -l dlv.isc.org example.com</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-d <replaceable class="parameter">dig path</replaceable></term>
+ <listitem>
+ <para>
+ Specifies a path to a <command>dig</command> binary. Used
+ for testing.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D <replaceable class="parameter">dsfromkey path</replaceable></term>
+ <listitem>
+ <para>
+ Specifies a path to a <command>dnssec-dsfromkey</command> binary.
+ Used for testing.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry>
+ <refentrytitle>dnssec-dsfromkey</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>AUTHOR</title>
+ <para><corpauthor>Internet Systems Consortium</corpauthor>
+ </para>
+ </refsect1>
+
+</refentry><!--
+ - Local variables:
+ - mode: sgml
+ - End:
+-->
diff --git a/bin/python/dnssec-checkds.html b/bin/python/dnssec-checkds.html
new file mode 100644
index 00000000..561cdbdb
--- /dev/null
+++ b/bin/python/dnssec-checkds.html
@@ -0,0 +1,85 @@
+<!--
+ - Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and/or distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<!-- $Id$ -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>dnssec-checkds</title>
+<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="man.dnssec-dsfromkey"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2>Name</h2>
+<p><span class="application">dnssec-dsfromkey</span> &#8212; DNSSEC DS RR generation tool</p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="cmdsynopsis"><p><code class="command">dnssec-chedkcs</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 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="id2543418"></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
+ zone.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2543430"></a><h2>OPTIONS</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
+<dd><p>
+ If a <code class="option">file</code> is specified, then the zone is
+ read from that file to find the DNSKEY records. If not,
+ then the DNSKEY records for the zone are looked up in the DNS.
+ </p></dd>
+<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
+<dd><p>
+ Check for a DLV record in the specified lookaside domain,
+ instead of checking for a DS record in the zone's parent.
+ For example, to check for DLV records for "example.com"
+ in ISC's DLV zone, use:
+ <span><strong class="command">dnssec-checkds -l dlv.isc.org example.com</strong></span>
+ </p></dd>
+<dt><span class="term">-d <em class="replaceable"><code>dig path</code></em></span></dt>
+<dd><p>
+ Specifies a path to a <span><strong class="command">dig</strong></span> binary. Used
+ for testing.
+ </p></dd>
+<dt><span class="term">-D <em class="replaceable"><code>dsfromkey path</code></em></span></dt>
+<dd><p>
+ Specifies a path to a <span><strong class="command">dnssec-dsfromkey</strong></span> binary.
+ Used for testing.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2543526"></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="id2543560"></a><h2>AUTHOR</h2>
+<p><span class="corpauthor">Internet Systems Consortium</span>
+ </p>
+</div>
+</div></body>
+</html>
diff --git a/bin/python/dnssec-checkds.py.in b/bin/python/dnssec-checkds.py.in
new file mode 100644
index 00000000..9f662f5b
--- /dev/null
+++ b/bin/python/dnssec-checkds.py.in
@@ -0,0 +1,274 @@
+#!@PYTHON@
+############################################################################
+# Copyright (C) 2012 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.
+############################################################################
+
+import argparse
+import pprint
+import os
+
+def shellquote(s):
+ return "'" + s.replace("'", "'\\''") + "'"
+
+############################################################################
+# DSRR class:
+# Delegation Signer (DS) resource record
+############################################################################
+class DSRR:
+ hashalgs = {1: 'SHA-1', 2: 'SHA-256', 3: 'GOST'}
+ rrname=''
+ rrclass='IN'
+ rrtype='DS'
+ keyid=None
+ keyalg=None
+ hashalg=None
+ digest=''
+ ttl=0
+
+ def __init__(self, rrtext):
+ if not rrtext:
+ return
+
+ fields = rrtext.split()
+ if len(fields) < 7:
+ return
+
+ self.rrname = fields[0].lower()
+ fields = fields[1:]
+ if fields[0].upper() in ['IN','CH','HS']:
+ self.rrclass = fields[0].upper()
+ fields = fields[1:]
+ else:
+ self.ttl = int(fields[0])
+ self.rrclass = fields[1].upper()
+ fields = fields[2:]
+
+ if fields[0].upper() != 'DS':
+ raise Exception
+
+ self.rrtype = 'DS'
+ self.keyid = int(fields[1])
+ self.keyalg = int(fields[2])
+ self.hashalg = int(fields[3])
+ self.digest = ''.join(fields[4:]).upper()
+
+ def __repr__(self):
+ return('%s %s %s %d %d %d %s' %
+ (self.rrname, self.rrclass, self.rrtype, self.keyid,
+ self.keyalg, self.hashalg, self.digest))
+
+ def __eq__(self, other):
+ return self.__repr__() == other.__repr__()
+
+############################################################################
+# DLVRR class:
+# DNSSEC Lookaside Validation (DLV) resource record
+############################################################################
+class DLVRR:
+ hashalgs = {1: 'SHA-1', 2: 'SHA-256', 3: 'GOST'}
+ parent=''
+ dlvname=''
+ rrname='IN'
+ rrclass='IN'
+ rrtype='DLV'
+ keyid=None
+ keyalg=None
+ hashalg=None
+ digest=''
+ ttl=0
+
+ def __init__(self, rrtext, dlvname):
+ if not rrtext:
+ return
+
+ fields = rrtext.split()
+ if len(fields) < 7:
+ return
+
+ self.dlvname = dlvname.lower()
+ parent = fields[0].lower().strip('.').split('.')
+ parent.reverse()
+ dlv = dlvname.split('.')
+ dlv.reverse()
+ while len(dlv) != 0 and len(parent) != 0 and parent[0] == dlv[0]:
+ parent = parent[1:]
+ dlv = dlv[1:]
+ if len(dlv) != 0:
+ raise Exception
+ parent.reverse()
+ self.parent = '.'.join(parent)
+ self.rrname = self.parent + '.' + self.dlvname + '.'
+
+ fields = fields[1:]
+ if fields[0].upper() in ['IN','CH','HS']:
+ self.rrclass = fields[0].upper()
+ fields = fields[1:]
+ else:
+ self.ttl = int(fields[0])
+ self.rrclass = fields[1].upper()
+ fields = fields[2:]
+
+ if fields[0].upper() != 'DLV':
+ raise Exception
+
+ self.rrtype = 'DLV'
+ self.keyid = int(fields[1])
+ self.keyalg = int(fields[2])
+ self.hashalg = int(fields[3])
+ self.digest = ''.join(fields[4:]).upper()
+
+ def __repr__(self):
+ return('%s %s %s %d %d %d %s' %
+ (self.rrname, self.rrclass, self.rrtype,
+ self.keyid, self.keyalg, self.hashalg, self.digest))
+
+ def __eq__(self, other):
+ return self.__repr__() == other.__repr__()
+
+############################################################################
+# checkds:
+# Fetch DS RRset for the given zone from the DNS; fetch DNSKEY
+# RRset from the masterfile if specified, or from DNS if not.
+# Generate a set of expected DS records from the DNSKEY RRset,
+# and report on congruency.
+############################################################################
+def checkds(zone, masterfile = None):
+ dslist=[]
+ fp=os.popen("%s +noall +answer -t ds -q %s" %
+ (shellquote(args.dig), shellquote(zone)))
+ for line in fp:
+ dslist.append(DSRR(line))
+ dslist = sorted(dslist, key=lambda ds: (ds.keyid, ds.keyalg, ds.hashalg))
+ fp.close()
+
+ dsklist=[]
+
+ if masterfile:
+ fp = os.popen("%s -f %s %s " %
+ (shellquote(args.dsfromkey), shellquote(masterfile),
+ shellquote(zone)))
+ else:
+ fp = os.popen("%s +noall +answer -t dnskey -q %s | %s -f - %s" %
+ (shellquote(args.dig), shellquote(zone),
+ shellquote(args.dsfromkey), shellquote(zone)))
+
+ for line in fp:
+ dsklist.append(DSRR(line))
+
+ fp.close()
+
+ found = False
+ for ds in dsklist:
+ if ds in dslist:
+ print ("DS for KSK %s/%03d/%05d (%s) found in parent" %
+ (ds.rrname.strip('.'), ds.keyalg,
+ ds.keyid, DSRR.hashalgs[ds.hashalg]))
+ found = True
+ else:
+ print ("No DS records found for KSK %s/%03d/%05d" %
+ (ds.rrname, ds.keyalg, ds.keyid))
+
+ return found
+
+############################################################################
+# checkdlv:
+# Fetch DLV RRset for the given zone from the DNS; fetch DNSKEY
+# RRset from the masterfile if specified, or from DNS if not.
+# Generate a set of expected DLV records from the DNSKEY RRset,
+# and report on congruency.
+############################################################################
+def checkdlv(zone, lookaside, masterfile = None):
+ dlvlist=[]
+ fp=os.popen("%s +noall +answer -t dlv -q %s" %
+ (shellquote(args.dig), shellquote(zone + '.' + lookaside)))
+ for line in fp:
+ dlvlist.append(DLVRR(line, lookaside))
+ dlvlist = sorted(dlvlist,
+ key=lambda dlv: (dlv.keyid, dlv.keyalg, dlv.hashalg))
+ fp.close()
+
+ #
+ # Fetch DNSKEY records from DNS and generate DLV records from them
+ #
+ dlvklist=[]
+ if masterfile:
+ fp = os.popen("%s -f %s -l %s %s " %
+ (args.dsfromkey, masterfile, lookaside, zone))
+ else:
+ fp = os.popen("%s +noall +answer -t dnskey %s | %s -f - -l %s %s"
+ % (shellquote(args.dig), shellquote(zone),
+ shellquote(args.dsfromkey), shellquote(lookaside),
+ shellquote(zone)))
+
+ for line in fp:
+ dlvklist.append(DLVRR(line, lookaside))
+
+ fp.close()
+
+ found = False
+ for dlv in dlvklist:
+ if dlv in dlvlist:
+ print ("DLV for KSK %s/%03d/%05d (%s) found in %s" %
+ (dlv.parent, dlv.keyalg, dlv.keyid,
+ DLVRR.hashalgs[dlv.hashalg], dlv.dlvname))
+ found = True
+ else:
+ print ("No DLV records found for KSK %s/%03d/%05d in %s" %
+ (dlv.parent, dlv.keyalg, dlv.keyid, dlv.dlvname))
+
+ return found
+
+
+############################################################################
+# parse_args:
+# Read command line arguments, set global 'args' structure
+############################################################################
+def parse_args():
+ global args
+ parser = argparse.ArgumentParser(description='checkds: checks DS coverage')
+
+ parser.add_argument('zone', type=str, help='zone to check')
+ parser.add_argument('-f', '--file', dest='masterfile', type=str,
+ help='zone master file')
+ parser.add_argument('-l', '--lookaside', dest='lookaside', type=str,
+ help='DLV lookaside zone')
+ parser.add_argument('-d', '--dig', dest='dig',
+ default='@prefix@/bin/dig', type=str,
+ help='path to \'dig\'')
+ parser.add_argument('-D', '--dsfromkey', dest='dsfromkey',
+ default='@prefix@/sbin/dnssec-dsfromkey', type=str,
+ help='path to \'dig\'')
+ parser.add_argument('-v', '--version', action='version', version='9.9.1')
+ args = parser.parse_args()
+
+ args.zone = args.zone.strip('.')
+ if args.lookaside:
+ lookaside = args.lookaside.strip('.')
+
+############################################################################
+# Main
+############################################################################
+def main():
+ parse_args()
+
+ if args.lookaside:
+ found = checkdlv(args.zone, args.lookaside, args.masterfile)
+ else:
+ found = checkds(args.zone, args.masterfile)
+
+ exit(0 if found else 1)
+
+if __name__ == "__main__":
+ main()
diff --git a/bin/rndc/Makefile.in b/bin/rndc/Makefile.in
index e67bad7e..f6100df9 100644
--- a/bin/rndc/Makefile.in
+++ b/bin/rndc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/Makefile.in b/bin/tests/Makefile.in
index e4cc3018..bc040a39 100644
--- a/bin/tests/Makefile.in
+++ b/bin/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/atomic/Makefile.in b/bin/tests/atomic/Makefile.in
index b7c00465..156747cf 100644
--- a/bin/tests/atomic/Makefile.in
+++ b/bin/tests/atomic/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/b8t.mk b/bin/tests/b8t.mk
index 55923dcd..6d418961 100644
--- a/bin/tests/b8t.mk
+++ b/bin/tests/b8t.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/b9t.mk b/bin/tests/b9t.mk
index 96f04fb2..cb6f8379 100644
--- a/bin/tests/b9t.mk
+++ b/bin/tests/b9t.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/db/Makefile.in b/bin/tests/db/Makefile.in
index 9a4170c9..0e8882fe 100644
--- a/bin/tests/db/Makefile.in
+++ b/bin/tests/db/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/dnssec-signzone/run-test.sh b/bin/tests/dnssec-signzone/run-test.sh
index 7c287c08..f3697373 100644
--- a/bin/tests/dnssec-signzone/run-test.sh
+++ b/bin/tests/dnssec-signzone/run-test.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/tests/dst/Makefile.in b/bin/tests/dst/Makefile.in
index 61a9a873..5d6a44d7 100644
--- a/bin/tests/dst/Makefile.in
+++ b/bin/tests/dst/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2006-2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2006-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/dst/t_dst.c b/bin/tests/dst/t_dst.c
index 5902ca9f..894f96f3 100644
--- a/bin/tests/dst/t_dst.c
+++ b/bin/tests/dst/t_dst.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -179,7 +179,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
if (p == NULL) {
t_info("getcwd failed %d\n", errno);
++*nprobs;
- return;
+ goto cleanup;
}
ret = dst_key_fromfile(name1, id1, alg, type, current, mctx, &key1);
@@ -187,7 +187,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_fromfile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
- return;
+ goto cleanup;
}
ret = dst_key_fromfile(name2, id2, alg, type, current, mctx, &key2);
@@ -195,7 +195,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_fromfile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
- return;
+ goto cleanup;
}
ret = isc_file_mktemplate("/tmp/", tmp, sizeof(tmp));
@@ -203,7 +203,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("isc_file_mktemplate failed %s\n",
isc_result_totext(ret));
++*nprobs;
- return;
+ goto cleanup;
}
ret = isc_dir_createunique(tmp);
@@ -211,7 +211,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("isc_dir_createunique failed %s\n",
isc_result_totext(ret));
++*nprobs;
- return;
+ goto cleanup;
}
ret = dst_key_tofile(key1, type, tmp);
@@ -219,7 +219,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_tofile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
- return;
+ goto cleanup;
}
ret = dst_key_tofile(key2, type, tmp);
@@ -227,7 +227,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_tofile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
- return;
+ goto cleanup;
}
cleandir(tmp);
@@ -238,7 +238,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_computesecret() returned: %s\n",
dst_result_totext(ret));
++*nfails;
- return;
+ goto cleanup;
}
isc_buffer_init(&b2, array2, sizeof(array2));
@@ -247,7 +247,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_computesecret() returned: %s\n",
dst_result_totext(ret));
++*nfails;
- return;
+ goto cleanup;
}
isc_buffer_usedregion(&b1, &r1);
@@ -256,11 +256,14 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
{
t_info("computed secrets don't match\n");
++*nfails;
- return;
+ goto cleanup;
}
- dst_key_free(&key1);
- dst_key_free(&key2);
+ cleanup:
+ if (key1 != NULL)
+ dst_key_free(&key1);
+ if (key2 != NULL)
+ dst_key_free(&key2);
}
static void
@@ -382,12 +385,14 @@ generate(int alg, isc_mem_t *mctx, int size, int *nfails) {
t_info("dst_key_generate(%d) returned: %s\n", alg,
dst_result_totext(ret));
++*nfails;
- return;
+ goto cleanup;
}
if (alg != DST_ALG_DH)
use(key, mctx, ISC_R_SUCCESS, nfails);
- dst_key_free(&key);
+ cleanup:
+ if (key != NULL)
+ dst_key_free(&key);
}
#define DBUFSIZ 25
@@ -839,14 +844,20 @@ t2_sigchk(char *datapath, char *sigpath, char *keyname,
if (isc_result != ISC_R_SUCCESS) {
t_info("dst_context_create returned %s\n",
isc_result_totext(isc_result));
+ (void) free(data);
+ dst_key_free(&key);
++*nfails;
+ return;
}
isc_result = dst_context_adddata(ctx, &datareg);
if (isc_result != ISC_R_SUCCESS) {
t_info("dst_context_adddata returned %s\n",
isc_result_totext(isc_result));
+ (void) free(data);
dst_context_destroy(&ctx);
+ dst_key_free(&key);
++*nfails;
+ return;
}
isc_result = dst_context_verify(ctx, &sigreg);
if ( ((exp_res == 0) && (isc_result != ISC_R_SUCCESS)) ||
@@ -855,7 +866,6 @@ t2_sigchk(char *datapath, char *sigpath, char *keyname,
t_info("dst_context_verify returned %s, expected %s\n",
isc_result_totext(isc_result),
expected_result);
- dst_context_destroy(&ctx);
++*nfails;
}
diff --git a/bin/tests/hashes/Makefile.in b/bin/tests/hashes/Makefile.in
index 77f2b4a3..f373e72b 100644
--- a/bin/tests/hashes/Makefile.in
+++ b/bin/tests/hashes/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/headerdep_test.sh.in b/bin/tests/headerdep_test.sh.in
index 3f951de7..00d5b785 100644
--- a/bin/tests/headerdep_test.sh.in
+++ b/bin/tests/headerdep_test.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/master/Makefile.in b/bin/tests/master/Makefile.in
index 411d9154..ef7fc368 100644
--- a/bin/tests/master/Makefile.in
+++ b/bin/tests/master/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/mem/Makefile.in b/bin/tests/mem/Makefile.in
index 6c916478..c29b23e1 100644
--- a/bin/tests/mem/Makefile.in
+++ b/bin/tests/mem/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2005, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/names/Makefile.in b/bin/tests/names/Makefile.in
index e02a7953..40e0a6b3 100644
--- a/bin/tests/names/Makefile.in
+++ b/bin/tests/names/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/names/t_names.c b/bin/tests/names/t_names.c
index b318d298..d3993c3f 100644
--- a/bin/tests/names/t_names.c
+++ b/bin/tests/names/t_names.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -121,20 +121,30 @@ chkdata(unsigned char *buf, size_t buflen, char *exp_data,
if (('0' <= *q) && (*q <= '9'))
*p = *q - '0';
- else if (('a' <= *q) && (*q <= 'z'))
+ else if (('a' <= *q) && (*q <= 'f'))
*p = *q - 'a' + 10;
- else if (('A' <= *q) && (*q <= 'Z'))
+ else if (('A' <= *q) && (*q <= 'F'))
*p = *q - 'A' + 10;
+ else {
+ t_info("malformed comparison data\n");
+ free(data);
+ return (-1);
+ }
++q;
*p <<= 4;
if (('0' <= *q) && (*q <= '9'))
*p |= ((*q - '0') & 0x0f);
- else if (('a' <= *q) && (*q <= 'z'))
+ else if (('a' <= *q) && (*q <= 'f'))
*p |= ((*q - 'a' + 10) & 0x0f);
- else if (('A' <= *q) && (*q <= 'Z'))
+ else if (('A' <= *q) && (*q <= 'F'))
*p |= ((*q - 'A' + 10) & 0x0f);
+ else {
+ t_info("malformed comparison data\n");
+ free(data);
+ return (-1);
+ }
++p;
++q;
++cnt;
@@ -203,9 +213,9 @@ getmsg(char *datafile_name, unsigned char *buf, int buflen, isc_buffer_t *pbuf)
}
if (('0' <= c) && (c <= '9'))
val = c - '0';
- else if (('a' <= c) && (c <= 'z'))
+ else if (('a' <= c) && (c <= 'f'))
val = c - 'a' + 10;
- else if (('A' <= c) && (c <= 'Z'))
+ else if (('A' <= c) && (c <= 'F'))
val = c - 'A'+ 10;
else {
(void)fclose(fp);
diff --git a/bin/tests/net/Makefile.in b/bin/tests/net/Makefile.in
index 9c9ec97a..9ce9d58e 100644
--- a/bin/tests/net/Makefile.in
+++ b/bin/tests/net/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/rbt/Makefile.in b/bin/tests/rbt/Makefile.in
index a23ab02e..f421c8da 100644
--- a/bin/tests/rbt/Makefile.in
+++ b/bin/tests/rbt/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/rbt_test.txt b/bin/tests/rbt_test.txt
index bf50b12d..0db5ecd6 100644
--- a/bin/tests/rbt_test.txt
+++ b/bin/tests/rbt_test.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/resolv.conf.sample b/bin/tests/resolv.conf.sample
index e9e349db..2d3cea5f 100644
--- a/bin/tests/resolv.conf.sample
+++ b/bin/tests/resolv.conf.sample
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/resolver/Makefile.in b/bin/tests/resolver/Makefile.in
index f3cfb4ac..6fc9cd6d 100644
--- a/bin/tests/resolver/Makefile.in
+++ b/bin/tests/resolver/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/resolver/t_resolver.c b/bin/tests/resolver/t_resolver.c
index c9d4635e..8c09e2aa 100644
--- a/bin/tests/resolver/t_resolver.c
+++ b/bin/tests/resolver/t_resolver.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 2012 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
@@ -154,11 +154,11 @@ test_dns_resolver_settimeout(void) {
t_info("The default timeout is %d second%s\n", default_timeout,
(default_timeout == 1 ? "" : "s"));
- dns_resolver_settimeout(resolver, default_timeout - 1);
+ dns_resolver_settimeout(resolver, default_timeout + 1);
timeout = dns_resolver_gettimeout(resolver);
t_info("The new timeout is %d second%s\n", timeout,
(timeout == 1 ? "" : "s"));
- test_result = (timeout == default_timeout - 1) ? T_PASS : T_FAIL;
+ test_result = (timeout == default_timeout + 1) ? T_PASS : T_FAIL;
destroy_resolver(&resolver);
teardown();
diff --git a/bin/tests/sockaddr/Makefile.in b/bin/tests/sockaddr/Makefile.in
index 42c75b53..9b0a3360 100644
--- a/bin/tests/sockaddr/Makefile.in
+++ b/bin/tests/sockaddr/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/startperf/clean.sh b/bin/tests/startperf/clean.sh
index e32e9a56..66845207 100644
--- a/bin/tests/startperf/clean.sh
+++ b/bin/tests/startperf/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/startperf/makenames.pl b/bin/tests/startperf/makenames.pl
index 867a075d..ee7a0bc5 100644
--- a/bin/tests/startperf/makenames.pl
+++ b/bin/tests/startperf/makenames.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/startperf/mkzonefile.pl b/bin/tests/startperf/mkzonefile.pl
index b76038fe..2bf06774 100644
--- a/bin/tests/startperf/mkzonefile.pl
+++ b/bin/tests/startperf/mkzonefile.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/startperf/setup.sh b/bin/tests/startperf/setup.sh
index 717e047d..bbf8259d 100644
--- a/bin/tests/startperf/setup.sh
+++ b/bin/tests/startperf/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/Makefile.in b/bin/tests/system/Makefile.in
index 8d465143..1f9f41fd 100644
--- a/bin/tests/system/Makefile.in
+++ b/bin/tests/system/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2008, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2008, 2010-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@
@BIND9_MAKE_INCLUDES@
-SUBDIRS = dlzexternal filter-aaaa lwresd rpz tkey tsiggss
+SUBDIRS = dlzexternal filter-aaaa lwresd rpz rsabigexponent tkey tsiggss
TARGETS =
@BIND9_MAKE_RULES@
diff --git a/bin/tests/system/acl/clean.sh b/bin/tests/system/acl/clean.sh
index 80ce5168..a791698a 100644
--- a/bin/tests/system/acl/clean.sh
+++ b/bin/tests/system/acl/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2008, 2012 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
diff --git a/bin/tests/system/acl/setup.sh b/bin/tests/system/acl/setup.sh
index 9cc07f17..f9611b5c 100644
--- a/bin/tests/system/acl/setup.sh
+++ b/bin/tests/system/acl/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2008, 2012 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
diff --git a/bin/tests/system/acl/tests.sh b/bin/tests/system/acl/tests.sh
index 8d2d5640..f74a5544 100644
--- a/bin/tests/system/acl/tests.sh
+++ b/bin/tests/system/acl/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2008, 2012 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
diff --git a/bin/tests/system/addzone/clean.sh b/bin/tests/system/addzone/clean.sh
index 4adfc92b..190fce77 100644
--- a/bin/tests/system/addzone/clean.sh
+++ b/bin/tests/system/addzone/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/addzone/setup.sh b/bin/tests/system/addzone/setup.sh
index cd096e4b..1a8eb320 100644
--- a/bin/tests/system/addzone/setup.sh
+++ b/bin/tests/system/addzone/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/addzone/tests.sh b/bin/tests/system/addzone/tests.sh
index d734a8fe..6b50f3eb 100644
--- a/bin/tests/system/addzone/tests.sh
+++ b/bin/tests/system/addzone/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/allow_query/clean.sh b/bin/tests/system/allow_query/clean.sh
index 55f7581d..ce4f1b96 100644
--- a/bin/tests/system/allow_query/clean.sh
+++ b/bin/tests/system/allow_query/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/allow_query/setup.sh b/bin/tests/system/allow_query/setup.sh
index 83d19455..00ae75f6 100644
--- a/bin/tests/system/allow_query/setup.sh
+++ b/bin/tests/system/allow_query/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/allow_query/tests.sh b/bin/tests/system/allow_query/tests.sh
index d8eeeba9..4121ec06 100644
--- a/bin/tests/system/allow_query/tests.sh
+++ b/bin/tests/system/allow_query/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/autosign/ns1/keygen.sh b/bin/tests/system/autosign/ns1/keygen.sh
index 6e2ec2e0..b2e5aa8a 100644
--- a/bin/tests/system/autosign/ns1/keygen.sh
+++ b/bin/tests/system/autosign/ns1/keygen.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009-2012 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
diff --git a/bin/tests/system/autosign/ns2/keygen.sh b/bin/tests/system/autosign/ns2/keygen.sh
index 85f2e764..98332b9c 100644
--- a/bin/tests/system/autosign/ns2/keygen.sh
+++ b/bin/tests/system/autosign/ns2/keygen.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009-2012 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
diff --git a/bin/tests/system/autosign/ns3/keygen.sh b/bin/tests/system/autosign/ns3/keygen.sh
index 30106f42..f3c83d97 100644
--- a/bin/tests/system/autosign/ns3/keygen.sh
+++ b/bin/tests/system/autosign/ns3/keygen.sh
@@ -21,256 +21,228 @@ SYSTEMTESTTOP=../..
RANDFILE=../random.data
-zone=secure.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+dumpit () {
+ echo "D:${debug}: dumping ${1}"
+ cat "${1}" | sed 's/^/D:/'
+}
+
+setup () {
+ echo "I:setting up zone: $1"
+ debug="$1"
+ zone="$1"
+ zonefile="${zone}.db"
+ infile="${zonefile}.in"
+ n=`expr ${n:-0} + 1`
+}
+
+setup secure.example
cp $infile $zonefile
-ksk=`$KEYGEN -3 -q -r $RANDFILE -fk $zone`
-$KEYGEN -3 -q -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -3 -q -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -3 -q -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# NSEC3/NSEC test zone
#
-zone=secure.nsec3.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup secure.nsec3.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# NSEC3/NSEC3 test zone
#
-zone=nsec3.nsec3.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup nsec3.nsec3.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# OPTOUT/NSEC3 test zone
#
-zone=optout.nsec3.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup optout.nsec3.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# A nsec3 zone (non-optout).
#
-zone=nsec3.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup nsec3.example
cat $infile dsset-*.${zone}. > $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# An NSEC3 zone, with NSEC3 parameters set prior to signing
#
-zone=autonsec3.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup autonsec3.example
cat $infile > $zonefile
-ksk=`$KEYGEN -G -q -3 -r $RANDFILE -fk $zone`
+ksk=`$KEYGEN -G -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
echo $ksk > ../autoksk.key
-zsk=`$KEYGEN -G -q -3 -r $RANDFILE $zone`
+zsk=`$KEYGEN -G -q -3 -r $RANDFILE $zone 2> kg.out` || dumpit kg.out
echo $zsk > ../autozsk.key
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# OPTOUT/NSEC test zone
#
-zone=secure.optout.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup secure.optout.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# OPTOUT/NSEC3 test zone
#
-zone=nsec3.optout.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup nsec3.optout.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# OPTOUT/OPTOUT test zone
#
-zone=optout.optout.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup optout.optout.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# A optout nsec3 zone.
#
-zone=optout.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup optout.example
cat $infile dsset-*.${zone}. > $zonefile
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# A RSASHA256 zone.
#
-zone=rsasha256.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup rsasha256.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -a RSASHA256 -b 2048 -r $RANDFILE -fk $zone`
-$KEYGEN -q -a RSASHA256 -b 1024 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -a RSASHA256 -b 2048 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -a RSASHA256 -b 1024 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# A RSASHA512 zone.
#
-zone=rsasha512.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup rsasha512.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -a RSASHA512 -b 2048 -r $RANDFILE -fk $zone`
-$KEYGEN -q -a RSASHA512 -b 1024 -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -a RSASHA512 -b 2048 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -a RSASHA512 -b 1024 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# NSEC-only zone.
#
-zone=nsec.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup nsec.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -r $RANDFILE -fk $zone`
-$KEYGEN -q -r $RANDFILE $zone > /dev/null
+ksk=`$KEYGEN -q -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
+$KEYGEN -q -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
$DSFROMKEY $ksk.key > dsset-${zone}.
#
# Signature refresh test zone. Signatures are set to expire long
# in the past; they should be updated by autosign.
#
-zone=oldsigs.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
+setup oldsigs.example
cp $infile $zonefile
-ksk=`$KEYGEN -q -r $RANDFILE -fk $zone`
-$KEYGEN -q -r $RANDFILE $zone > /dev/null
-$SIGNER -PS -s now-1y -e now-6mo -o $zone -f $zonefile $infile > /dev/null 2>&1
+$KEYGEN -q -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -q -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
+$SIGNER -PS -s now-1y -e now-6mo -o $zone -f $zonefile $infile > s.out 2>&1 || dumpit s.out
#
# NSEC3->NSEC transition test zone.
#
-zone=nsec3-to-nsec.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
-#cp $infile $zonefile
-ksk=`$KEYGEN -q -a RSASHA512 -b 2048 -r $RANDFILE -fk $zone`
-$KEYGEN -q -a RSASHA512 -b 1024 -r $RANDFILE $zone > /dev/null
-$SIGNER -S -3 beef -A -o $zone -f $zonefile $infile > /dev/null 2>&1
+setup nsec3-to-nsec.example
+$KEYGEN -q -a RSASHA512 -b 2048 -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -q -a RSASHA512 -b 1024 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
+$SIGNER -S -3 beef -A -o $zone -f $zonefile $infile > s.out 2>&1 || dumpit s.out
#
# secure-to-insecure transition test zone; used to test removal of
# keys via nsupdate
#
-zone=secure-to-insecure.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
-ksk=`$KEYGEN -q -r $RANDFILE -fk $zone`
-$KEYGEN -q -r $RANDFILE $zone > /dev/null
-$SIGNER -S -o $zone -f $zonefile $infile > /dev/null 2>&1
+setup secure-to-insecure.example
+$KEYGEN -q -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -q -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
+$SIGNER -S -o $zone -f $zonefile $infile > s.out 2>&1 || dumpit s.out
#
# another secure-to-insecure transition test zone; used to test
# removal of keys on schedule.
#
-zone=secure-to-insecure2.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
-ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
+setup secure-to-insecure2.example
+ksk=`$KEYGEN -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
echo $ksk > ../del1.key
-zsk=`$KEYGEN -q -3 -r $RANDFILE $zone`
+zsk=`$KEYGEN -q -3 -r $RANDFILE $zone 2> kg.out` || dumpit kg.out
echo $zsk > ../del2.key
-$SIGNER -S -3 beef -o $zone -f $zonefile $infile > /dev/null 2>&1
+$SIGNER -S -3 beef -o $zone -f $zonefile $infile > s.out 2>&1 || dumpit s.out
#
# Introducing a pre-published key test.
#
-zone=prepub.example
-zonefile="${zone}.db"
-$KEYGEN -3 -q -r $RANDFILE -fk $zone > /dev/null
-$KEYGEN -3 -q -r $RANDFILE $zone > /dev/null
-$SIGNER -S -3 beef -o $zone -f $zonefile $infile > /dev/null 2>&1
+setup prepub.example
+infile="secure-to-insecure2.example.db.in"
+$KEYGEN -3 -q -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -3 -q -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
+$SIGNER -S -3 beef -o $zone -f $zonefile $infile > s.out 2>&1 || dumpit s.out
#
# Key TTL tests.
#
# no default key TTL; DNSKEY should get SOA TTL
-zone=ttl1.example
-zonefile="${zone}.db"
-infile="${zonefile}.in"
-$KEYGEN -3 -q -r $RANDFILE -fk $zone > /dev/null
-$KEYGEN -3 -q -r $RANDFILE $zone > /dev/null
+setup ttl1.example
+$KEYGEN -3 -q -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -3 -q -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
cp $infile $zonefile
# default key TTL should be used
-zone=ttl2.example
-zonefile="${zone}.db"
-$KEYGEN -3 -q -r $RANDFILE -fk -L 60 $zone > /dev/null
-$KEYGEN -3 -q -r $RANDFILE -L 60 $zone > /dev/null
+setup ttl2.example
+$KEYGEN -3 -q -r $RANDFILE -fk -L 60 $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -3 -q -r $RANDFILE -L 60 $zone > kg.out 2>&1 || dumpit kg.out
cp $infile $zonefile
# mismatched key TTLs, should use shortest
-zone=ttl3.example
-zonefile="${zone}.db"
-$KEYGEN -3 -q -r $RANDFILE -fk -L 30 $zone > /dev/null
-$KEYGEN -3 -q -r $RANDFILE -L 60 $zone > /dev/null
+setup ttl3.example
+$KEYGEN -3 -q -r $RANDFILE -fk -L 30 $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -3 -q -r $RANDFILE -L 60 $zone > kg.out 2>&1 || dumpit kg.out
cp $infile $zonefile
# existing DNSKEY RRset, should retain TTL
-zone=ttl4.example
-zonefile="${zone}.db"
-$KEYGEN -3 -q -r $RANDFILE -L 30 -fk $zone > /dev/null
+setup ttl4.example
+$KEYGEN -3 -q -r $RANDFILE -L 30 -fk $zone > kg.out 2>&1 || dumpit kg.out
cat ${infile} K${zone}.+*.key > $zonefile
-$KEYGEN -3 -q -r $RANDFILE -L 180 $zone > /dev/null
+$KEYGEN -3 -q -r $RANDFILE -L 180 $zone > kg.out 2>&1 || dumpit kg.out
#
# A zone with a DNSKEY RRset that is published before it's activated
#
-zone=delay.example
-zonefile="${zone}.db"
-ksk=`$KEYGEN -G -q -3 -r $RANDFILE -fk $zone`
+setup delay.example
+ksk=`$KEYGEN -G -q -3 -r $RANDFILE -fk $zone 2> kg.out` || dumpit kg.out
echo $ksk > ../delayksk.key
-zsk=`$KEYGEN -G -q -3 -r $RANDFILE $zone`
+zsk=`$KEYGEN -G -q -3 -r $RANDFILE $zone 2> kg.out` || dumpit kg.out
echo $zsk > ../delayzsk.key
#
# A zone with signatures that are already expired, and the private ZSK
# is missing.
#
-zone=nozsk.example
-zonefile="${zone}.db"
-$KEYGEN -q -3 -r $RANDFILE -fk $zone > /dev/null
+setup nozsk.example
+$KEYGEN -q -3 -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
zsk=`$KEYGEN -q -3 -r $RANDFILE $zone`
-$SIGNER -S -P -s now-1mo -e now-1mi -o $zone -f $zonefile ${zonefile}.in > /dev/null 2>&1
+$SIGNER -S -P -s now-1mo -e now-1mi -o $zone -f $zonefile ${zonefile}.in > s.out 2>&1 || dumpit s.out
echo $zsk > ../missingzsk.key
rm -f ${zsk}.private
@@ -278,19 +250,17 @@ rm -f ${zsk}.private
# A zone with signatures that are already expired, and the private ZSK
# is inactive.
#
-zone=inaczsk.example
-zonefile="${zone}.db"
-$KEYGEN -q -3 -r $RANDFILE -fk $zone > /dev/null
+setup inaczsk.example
+$KEYGEN -q -3 -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
zsk=`$KEYGEN -q -3 -r $RANDFILE $zone`
-$SIGNER -S -P -s now-1mo -e now-1mi -o $zone -f $zonefile ${zonefile}.in > /dev/null 2>&1
+$SIGNER -S -P -s now-1mo -e now-1mi -o $zone -f $zonefile ${zonefile}.in > s.out 2>&1 || dumpit s.out
echo $zsk > ../inactivezsk.key
-$SETTIME -I now $zsk > /dev/null
+$SETTIME -I now $zsk > st.out 2>&1 || dumpit st.out
#
# A zone that is set to 'auto-dnssec maintain' during a recofnig
#
-zone=reconf.example
-zonefile="${zone}.db"
+setup reconf.example
cp secure.example.db.in $zonefile
-$KEYGEN -q -3 -r $RANDFILE -fk $zone > /dev/null
-$KEYGEN -q -3 -r $RANDFILE $zone > /dev/null
+$KEYGEN -q -3 -r $RANDFILE -fk $zone > kg.out 2>&1 || dumpit kg.out
+$KEYGEN -q -3 -r $RANDFILE $zone > kg.out 2>&1 || dumpit kg.out
diff --git a/bin/tests/system/autosign/prereq.sh b/bin/tests/system/autosign/prereq.sh
index 74250dbf..34cd4a1c 100644
--- a/bin/tests/system/autosign/prereq.sh
+++ b/bin/tests/system/autosign/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/bin/tests/system/autosign/setup.sh b/bin/tests/system/autosign/setup.sh
index 27afbdef..0f615d53 100644
--- a/bin/tests/system/autosign/setup.sh
+++ b/bin/tests/system/autosign/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/bin/tests/system/builtin/tests.sh b/bin/tests/system/builtin/tests.sh
index 053f88ac..ae5607f6 100644
--- a/bin/tests/system/builtin/tests.sh
+++ b/bin/tests/system/builtin/tests.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/cacheclean/clean.sh b/bin/tests/system/cacheclean/clean.sh
index 472a2bd5..7e0b9499 100644
--- a/bin/tests/system/cacheclean/clean.sh
+++ b/bin/tests/system/cacheclean/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/checkconf/badtsig.conf b/bin/tests/system/checkconf/badtsig.conf
new file mode 100644
index 00000000..9585b119
--- /dev/null
+++ b/bin/tests/system/checkconf/badtsig.conf
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+/* Bad secret */
+key "badtsig" {
+ algorithm hmac-md5;
+ secret "jEdD+BPKg==";
+};
+
diff --git a/bin/tests/system/checkconf/clean.sh b/bin/tests/system/checkconf/clean.sh
index b39a05ba..94f09d9b 100644
--- a/bin/tests/system/checkconf/clean.sh
+++ b/bin/tests/system/checkconf/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
@@ -16,4 +16,4 @@
# $Id: clean.sh,v 1.2 2011/05/07 05:55:17 each Exp $
-rm -f good.conf.in good.conf.out
+rm -f good.conf.in good.conf.out badzero.conf
diff --git a/bin/tests/system/checkconf/good.conf b/bin/tests/system/checkconf/good.conf
index 711da3e8..4ff0c1a7 100644
--- a/bin/tests/system/checkconf/good.conf
+++ b/bin/tests/system/checkconf/good.conf
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2005, 2007, 2010-2012 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
@@ -88,6 +88,13 @@ view "second" {
file "yyy";
update-policy local;
};
+ zone "example2" {
+ type static-stub;
+ forward only;
+ forwarders {
+ 10.53.0.4;
+ };
+ };
dnssec-lookaside "." trust-anchor "dlv.isc.org.";
dnssec-validation auto;
};
diff --git a/bin/tests/system/checkconf/tests.sh b/bin/tests/system/checkconf/tests.sh
index de088cb3..63052e3e 100644
--- a/bin/tests/system/checkconf/tests.sh
+++ b/bin/tests/system/checkconf/tests.sh
@@ -37,7 +37,13 @@ status=`expr $status + $ret`
echo "I: checking that named-checkconf handles a known bad config"
ret=0
$CHECKCONF bad.conf > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $? != 1 ]; then echo "I:failed"; ret=1; fi
+status=`expr $status + $ret`
+
+echo "I: checking that named-checkconf handles a known bad tsig secret"
+ret=0
+$CHECKCONF badtsig.conf > /dev/null 2>&1
+if [ $? != 1 ]; then echo "I:failed"; ret=1; fi
status=`expr $status + $ret`
echo "I: checking named-checkconf dnssec warnings"
@@ -51,5 +57,44 @@ $CHECKCONF dnssec.3 2>&1 | grep '.*' && ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
+echo "I: range checking fields that do not allow zero"
+ret=0
+for field in max-retry-time min-retry-time max-refresh-time min-refresh-time; do
+ cat > badzero.conf << EOF
+options {
+ $field 0;
+};
+EOF
+ $CHECKCONF badzero.conf > /dev/null 2>&1
+ [ $? -eq 1 ] || { echo "I: options $field failed" ; ret=1; }
+ cat > badzero.conf << EOF
+view dummy {
+ $field 0;
+};
+EOF
+ $CHECKCONF badzero.conf > /dev/null 2>&1
+ [ $? -eq 1 ] || { echo "I: view $field failed" ; ret=1; }
+ cat > badzero.conf << EOF
+options {
+ $field 0;
+};
+view dummy {
+};
+EOF
+ $CHECKCONF badzero.conf > /dev/null 2>&1
+ [ $? -eq 1 ] || { echo "I: options + view $field failed" ; ret=1; }
+ cat > badzero.conf << EOF
+zone dummy {
+ type slave;
+ masters { 0.0.0.0; };
+ $field 0;
+};
+EOF
+ $CHECKCONF badzero.conf > /dev/null 2>&1
+ [ $? -eq 1 ] || { echo "I: zone $field failed" ; ret=1; }
+done
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
echo "I:exit status: $status"
exit $status
diff --git a/bin/tests/system/checkds/clean.sh b/bin/tests/system/checkds/clean.sh
new file mode 100644
index 00000000..2c0d5a3e
--- /dev/null
+++ b/bin/tests/system/checkds/clean.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 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.
+
+rm -f checkds.*
diff --git a/bin/tests/system/checkds/dig.sh b/bin/tests/system/checkds/dig.sh
new file mode 100755
index 00000000..ef7553c8
--- /dev/null
+++ b/bin/tests/system/checkds/dig.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+############################################################################
+# Copyright (C) 2012 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 [ "$#" != 0 ]; do
+ case $1 in
+ +*) shift ;;
+ -t) shift ;;
+ DS|ds) ext=ds ; shift ;;
+ DLV|dlv) ext=dlv ; shift ;;
+ DNSKEY|dnskey) ext=dnskey ; shift ;;
+ *) file=$1 ; shift ;;
+ esac
+done
+
+cat ${file}.${ext}.db
diff --git a/bin/tests/system/checkds/missing.example.dlv.example.dlv.db b/bin/tests/system/checkds/missing.example.dlv.example.dlv.db
new file mode 100644
index 00000000..5dd94621
--- /dev/null
+++ b/bin/tests/system/checkds/missing.example.dlv.example.dlv.db
@@ -0,0 +1,2 @@
+missing.example.dlv.example. 3600 IN DLV 12892 5 1 9D4CD60491D372207FA584D2EE460CC51D7FF8A7
+missing.example.dlv.example. 3600 IN DLV 12892 5 2 EF59E5C70BC4153B7DB4C11F9C36B729577DA71474E0A5C9B8875173 6E583200
diff --git a/bin/tests/system/checkds/missing.example.dnskey.db b/bin/tests/system/checkds/missing.example.dnskey.db
new file mode 100644
index 00000000..e372130f
--- /dev/null
+++ b/bin/tests/system/checkds/missing.example.dnskey.db
@@ -0,0 +1,3 @@
+missing.example. 3600 IN DNSKEY 257 3 5 AwEAAc6Cz10GXEh5lxA9ujTY/QarTajcUOBwwBYIeldjRsgoouK/UioY FYgxEFL0O5JK6YCRUoGzl3EgLr5GvNyhIp1PZpOpHf7o/4MVOZTGJzm/ sHWP5B+KcYjQOxJiDb433iCmRM4DpHPUUoxw0QbZglzAzl5MfKBoyZud lH59DdT/50bkBg8iVu35EzuW0SYt31k70hxHBSb2wAGWeqxEPKJ1nQiI UcrWNDeem7byrqjPN9wyZhq0XkQ9qbcYxAkRNd8Y7P0FyR1YKJMc6SWZ Ru7muvxqTHgCtJVgxVz4qndCFKdYidiDeKe2/X/z5gf7pyYl3549O8JR tWdNKqutppk=
+missing.example. 3600 IN DNSKEY 257 3 5 BEAAAAOhHQDBrhQbtphgq2wQUpEQ5t4DtUHxoMVFu2hWLDMvoOMRXjG rhhCeFvAZih7yJHf8ZGfW6hd38hXG/xylYCO6Krpbdojwx8YMXLA5/kA +u50WIL8ZR1R6KTbsYVMf/Qx5RiNbPClw+vT+U8eXEJmO20jIS1ULgqy 347cBB1zMnnz/4LJpA0da9CbKj3A254T515sNIMcwsB8/2+2E63/zZrQ zBkj0BrN/9Bexjpiks3jRhZatEsXn3dTy47R09Uix5WcJt+xzqZ7+ysy LKOOedS39Z7SDmsn2eA0FKtQpwA6LXeG2w+jxmw3oA8lVUgEf/rzeC/b ByBNsO70aEFTd
+missing.example. 3600 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0=
diff --git a/bin/tests/system/checkds/missing.example.ds.db b/bin/tests/system/checkds/missing.example.ds.db
new file mode 100644
index 00000000..540ec0bd
--- /dev/null
+++ b/bin/tests/system/checkds/missing.example.ds.db
@@ -0,0 +1,2 @@
+missing.example. 3600 IN DS 12892 5 2 EF59E5C70BC4153B7DB4C11F9C36B729577DA71474E0A5C9B8875173 6E583200
+missing.example. 3600 IN DS 12892 5 1 9D4CD60491D372207FA584D2EE460CC51D7FF8A7
diff --git a/bin/tests/system/checkds/none.example.dlv.example.dlv.db b/bin/tests/system/checkds/none.example.dlv.example.dlv.db
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/bin/tests/system/checkds/none.example.dlv.example.dlv.db
diff --git a/bin/tests/system/checkds/none.example.dnskey.db b/bin/tests/system/checkds/none.example.dnskey.db
new file mode 100644
index 00000000..76ae905f
--- /dev/null
+++ b/bin/tests/system/checkds/none.example.dnskey.db
@@ -0,0 +1,3 @@
+none.example. 3600 IN DNSKEY 257 3 5 AwEAAc6Cz10GXEh5lxA9ujTY/QarTajcUOBwwBYIeldjRsgoouK/UioY FYgxEFL0O5JK6YCRUoGzl3EgLr5GvNyhIp1PZpOpHf7o/4MVOZTGJzm/ sHWP5B+KcYjQOxJiDb433iCmRM4DpHPUUoxw0QbZglzAzl5MfKBoyZud lH59DdT/50bkBg8iVu35EzuW0SYt31k70hxHBSb2wAGWeqxEPKJ1nQiI UcrWNDeem7byrqjPN9wyZhq0XkQ9qbcYxAkRNd8Y7P0FyR1YKJMc6SWZ Ru7muvxqTHgCtJVgxVz4qndCFKdYidiDeKe2/X/z5gf7pyYl3549O8JR tWdNKqutppk=
+none.example. 3600 IN DNSKEY 257 3 5 BEAAAAOhHQDBrhQbtphgq2wQUpEQ5t4DtUHxoMVFu2hWLDMvoOMRXjG rhhCeFvAZih7yJHf8ZGfW6hd38hXG/xylYCO6Krpbdojwx8YMXLA5/kA +u50WIL8ZR1R6KTbsYVMf/Qx5RiNbPClw+vT+U8eXEJmO20jIS1ULgqy 347cBB1zMnnz/4LJpA0da9CbKj3A254T515sNIMcwsB8/2+2E63/zZrQ zBkj0BrN/9Bexjpiks3jRhZatEsXn3dTy47R09Uix5WcJt+xzqZ7+ysy LKOOedS39Z7SDmsn2eA0FKtQpwA6LXeG2w+jxmw3oA8lVUgEf/rzeC/b ByBNsO70aEFTd
+none.example. 3600 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0=
diff --git a/bin/tests/system/checkds/none.example.ds.db b/bin/tests/system/checkds/none.example.ds.db
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/bin/tests/system/checkds/none.example.ds.db
diff --git a/bin/tests/system/checkds/ok.example.dlv.example.dlv.db b/bin/tests/system/checkds/ok.example.dlv.example.dlv.db
new file mode 100644
index 00000000..5896bcc7
--- /dev/null
+++ b/bin/tests/system/checkds/ok.example.dlv.example.dlv.db
@@ -0,0 +1,2 @@
+ok.example.dlv.example. 3600 IN DLV 12892 5 1 7AA4A3F416C2F2391FB7AB0D434F762CD62D1390
+ok.example.dlv.example. 3600 IN DLV 12892 5 2 26584835CA80C81C91999F31CFAF2A0E89D4FF1C8FAFD0DDB31A85C7 19277C13
diff --git a/bin/tests/system/checkds/ok.example.dnskey.db b/bin/tests/system/checkds/ok.example.dnskey.db
new file mode 100644
index 00000000..c767c8fc
--- /dev/null
+++ b/bin/tests/system/checkds/ok.example.dnskey.db
@@ -0,0 +1,2 @@
+ok.example. 625 IN DNSKEY 257 3 5 BEAAAAOhHQDBrhQbtphgq2wQUpEQ5t4DtUHxoMVFu2hWLDMvoOMRXjGr hhCeFvAZih7yJHf8ZGfW6hd38hXG/xylYCO6Krpbdojwx8YMXLA5/kA+ u50WIL8ZR1R6KTbsYVMf/Qx5RiNbPClw+vT+U8eXEJmO20jIS1ULgqy3 47cBB1zMnnz/4LJpA0da9CbKj3A254T515sNIMcwsB8/2+2E63/zZrQz Bkj0BrN/9Bexjpiks3jRhZatEsXn3dTy47R09Uix5WcJt+xzqZ7+ysyL KOOedS39Z7SDmsn2eA0FKtQpwA6LXeG2w+jxmw3oA8lVUgEf/rzeC/bB yBNsO70aEFTd
+ok.example. 625 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0=
diff --git a/bin/tests/system/checkds/ok.example.ds.db b/bin/tests/system/checkds/ok.example.ds.db
new file mode 100644
index 00000000..96b159bc
--- /dev/null
+++ b/bin/tests/system/checkds/ok.example.ds.db
@@ -0,0 +1,2 @@
+ok.example. 3600 IN DS 12892 5 2 26584835CA80C81C91999F31CFAF2A0E89D4FF1C8FAFD0DDB31A85C7 19277C13
+ok.example. 3600 IN DS 12892 5 1 7AA4A3F416C2F2391FB7AB0D434F762CD62D1390
diff --git a/bin/tests/system/checkds/setup.sh b/bin/tests/system/checkds/setup.sh
new file mode 100644
index 00000000..798d0883
--- /dev/null
+++ b/bin/tests/system/checkds/setup.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 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.
+
+sh clean.sh
diff --git a/bin/tests/system/checkds/tests.sh b/bin/tests/system/checkds/tests.sh
new file mode 100644
index 00000000..41a1b416
--- /dev/null
+++ b/bin/tests/system/checkds/tests.sh
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 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.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+DIG="./dig.sh"
+chmod +x $DIG
+
+CHECKDS="$CHECKDS -d $DIG -D $DSFROMKEY"
+
+status=0
+n=1
+
+echo "I:checking for correct DS, looking up key via 'dig' ($n)"
+ret=0
+$CHECKDS ok.example > checkds.out.$n 2>&1 || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for correct DS, obtaining key from file ($n)"
+ret=0
+$CHECKDS -f ok.example.dnskey.db ok.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for correct DLV, looking up key via 'dig' ($n)"
+ret=0
+$CHECKDS -l dlv.example ok.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for correct DLV, obtaining key from file ($n)"
+ret=0
+$CHECKDS -l dlv.example -f ok.example.dnskey.db ok.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for incorrect DS, lowronging up key via 'dig' ($n)"
+ret=0
+$CHECKDS wrong.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for incorrect DS, obtaining key from file ($n)"
+ret=0
+$CHECKDS -f wrong.example.dnskey.db wrong.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for incorrect DLV, lowronging up key via 'dig' ($n)"
+ret=0
+$CHECKDS -l dlv.example wrong.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for incorrect DLV, obtaining key from file ($n)"
+ret=0
+$CHECKDS -l dlv.example -f wrong.example.dnskey.db wrong.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+
+echo "I:checking for partially missing DS, looking up key via 'dig' ($n)"
+ret=0
+$CHECKDS missing.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for partially missing DS, obtaining key from file ($n)"
+ret=0
+$CHECKDS -f missing.example.dnskey.db missing.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for partially missing DLV, looking up key via 'dig' ($n)"
+ret=0
+$CHECKDS -l dlv.example missing.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for partially missing DLV, obtaining key from file ($n)"
+ret=0
+$CHECKDS -l dlv.example -f missing.example.dnskey.db missing.example > checkds.out.$n || ret=1
+grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
+grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for entirely missing DS, looking up key via 'dig' ($n)"
+ret=0
+$CHECKDS none.example > checkds.out.$n && ret=1
+grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for entirely missing DS, obtaining key from file ($n)"
+ret=0
+$CHECKDS -f none.example.dnskey.db none.example > checkds.out.$n && ret=1
+grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for entirely missing DLV, looking up key via 'dig' ($n)"
+ret=0
+$CHECKDS -l dlv.example none.example > checkds.out.$n && ret=1
+grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking for entirely missing DLV, obtaining key from file ($n)"
+ret=0
+$CHECKDS -l dlv.example -f none.example.dnskey.db none.example > checkds.out.$n && ret=1
+grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+if [ $status = 0 ]; then sh clean.sh; fi
+echo "I:exit status: $status"
+exit $status
diff --git a/bin/tests/system/checkds/wrong.example.dlv.example.dlv.db b/bin/tests/system/checkds/wrong.example.dlv.example.dlv.db
new file mode 100644
index 00000000..096969b4
--- /dev/null
+++ b/bin/tests/system/checkds/wrong.example.dlv.example.dlv.db
@@ -0,0 +1,2 @@
+wrong.example.dlv.example. 3600 IN DLV 1192 5 1 684BB5119673C9272A0A7582AF8576561B5D80EC
+wrong.example.dlv.example. 3600 IN DLV 1192 5 2 14E4A873360E512CD2E8C2C331C4472F5EDAB0736669901F4D42E976 3D7B1F5C
diff --git a/bin/tests/system/checkds/wrong.example.dnskey.db b/bin/tests/system/checkds/wrong.example.dnskey.db
new file mode 100644
index 00000000..cc5bfd6f
--- /dev/null
+++ b/bin/tests/system/checkds/wrong.example.dnskey.db
@@ -0,0 +1,2 @@
+wrong.example. 3600 IN DNSKEY 257 3 5 AwEAAc6Cz10GXEh5lxA9ujTY/QarTajcUOBwwBYIeldjRsgoouK/UioY FYgxEFL0O5JK6YCRUoGzl3EgLr5GvNyhIp1PZpOpHf7o/4MVOZTGJzm/ sHWP5B+KcYjQOxJiDb433iCmRM4DpHPUUoxw0QbZglzAzl5MfKBoyZud lH59DdT/50bkBg8iVu35EzuW0SYt31k70hxHBSb2wAGWeqxEPKJ1nQiI UcrWNDeem7byrqjPN9wyZhq0XkQ9qbcYxAkRNd8Y7P0FyR1YKJMc6SWZ Ru7muvxqTHgCtJVgxVz4qndCFKdYidiDeKe2/X/z5gf7pyYl3549O8JR tWdNKqutppk=
+wrong.example. 3600 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0=
diff --git a/bin/tests/system/checkds/wrong.example.ds.db b/bin/tests/system/checkds/wrong.example.ds.db
new file mode 100644
index 00000000..d7df6104
--- /dev/null
+++ b/bin/tests/system/checkds/wrong.example.ds.db
@@ -0,0 +1,2 @@
+wrong.example. 3600 IN DS 1192 5 1 684BB5119673C9272A0A7582AF8576561B5D80EC
+wrong.example. 3600 IN DS 1192 5 2 14E4A873360E512CD2E8C2C331C4472F5EDAB0736669901F4D42E976 3D7B1F5C
diff --git a/bin/tests/system/checknames/clean.sh b/bin/tests/system/checknames/clean.sh
index f0c46de9..43b6eacb 100644
--- a/bin/tests/system/checknames/clean.sh
+++ b/bin/tests/system/checknames/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 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
diff --git a/bin/tests/system/checknames/setup.sh b/bin/tests/system/checknames/setup.sh
index 0027ed34..de4e7d9c 100644
--- a/bin/tests/system/checknames/setup.sh
+++ b/bin/tests/system/checknames/setup.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 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
diff --git a/bin/tests/system/checknames/tests.sh b/bin/tests/system/checknames/tests.sh
index dffacd27..2a45159b 100644
--- a/bin/tests/system/checknames/tests.sh
+++ b/bin/tests/system/checknames/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 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
diff --git a/bin/tests/system/checkzone/clean.sh b/bin/tests/system/checkzone/clean.sh
index e970a8f4..c0efc60a 100644
--- a/bin/tests/system/checkzone/clean.sh
+++ b/bin/tests/system/checkzone/clean.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/checkzone/tests.sh b/bin/tests/system/checkzone/tests.sh
index e3a04a39..d7b7b8ea 100644
--- a/bin/tests/system/checkzone/tests.sh
+++ b/bin/tests/system/checkzone/tests.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/cleanall.sh b/bin/tests/system/cleanall.sh
index 9b6aa6f8..a5fef69e 100644
--- a/bin/tests/system/cleanall.sh
+++ b/bin/tests/system/cleanall.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/cleanpkcs11.sh b/bin/tests/system/cleanpkcs11.sh
index 2a06d7f0..e1cbc6fb 100644
--- a/bin/tests/system/cleanpkcs11.sh
+++ b/bin/tests/system/cleanpkcs11.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
@@ -18,4 +18,4 @@
if [ ! -x ../../pkcs11/pkcs11-destroy ]; then exit 1; fi
-../../pkcs11/pkcs11-destroy -s 0 -p 1234
+../../pkcs11/pkcs11-destroy -s ${SLOT:-0} -p 1234
diff --git a/bin/tests/system/conf.sh.in b/bin/tests/system/conf.sh.in
index 9e13baea..7ac387b7 100644
--- a/bin/tests/system/conf.sh.in
+++ b/bin/tests/system/conf.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -42,23 +42,25 @@ SIGNER=$TOP/bin/dnssec/dnssec-signzone
REVOKE=$TOP/bin/dnssec/dnssec-revoke
SETTIME=$TOP/bin/dnssec/dnssec-settime
DSFROMKEY=$TOP/bin/dnssec/dnssec-dsfromkey
+CHECKDS=$TOP/bin/python/dnssec-checkds
CHECKZONE=$TOP/bin/check/named-checkzone
CHECKCONF=$TOP/bin/check/named-checkconf
-PK11GEN="$TOP/bin/pkcs11/pkcs11-keygen -s 0 -p 1234"
-PK11LIST="$TOP/bin/pkcs11/pkcs11-list -s 0 -p 1234"
-PK11DEL="$TOP/bin/pkcs11/pkcs11-destroy -s 0 -p 1234"
+PK11GEN="$TOP/bin/pkcs11/pkcs11-keygen -s ${SLOT:-0} -p 1234"
+PK11LIST="$TOP/bin/pkcs11/pkcs11-list -s ${SLOT:-0} -p 1234"
+PK11DEL="$TOP/bin/pkcs11/pkcs11-destroy -s ${SLOT:-0} -p 1234"
JOURNALPRINT=$TOP/bin/tools/named-journalprint
+VERIFY=$TOP/bin/dnssec/dnssec-verify
# The "stress" test is not run by default since it creates enough
# load on the machine to make it unusable to other users.
# v6synth
SUBDIRS="acl allow_query addzone autosign builtin cacheclean checkconf
- checknames checkzone database dlv dlvauto dlz dlzexternal
- dname dns64 dnssec forward glue gost ixfr inline limits
+ @CHECKDS@ checknames checkzone database dlv dlvauto dlz dlzexternal
+ dname dns64 dnssec ecdsa forward glue gost ixfr inline limits
logfileconfig lwresd masterfile masterformat metadata notify
nsupdate pending pkcs11 redirect resolver rndc rpz rrsetorder
- sortlist smartsign staticstub stub tkey tsig tsiggss unknown
- upforwd views xfer xferquota zonechecks"
+ rsabigexponent sortlist smartsign staticstub stub tkey tsig
+ tsiggss unknown upforwd verify views xfer xferquota zonechecks"
# PERL will be an empty string if no perl interpreter was found.
PERL=@PERL@
diff --git a/bin/tests/system/database/clean.sh b/bin/tests/system/database/clean.sh
index de59e21d..d3e32dd5 100644
--- a/bin/tests/system/database/clean.sh
+++ b/bin/tests/system/database/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/database/setup.sh b/bin/tests/system/database/setup.sh
index f58fa2c3..1e6c912b 100644
--- a/bin/tests/system/database/setup.sh
+++ b/bin/tests/system/database/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/database/tests.sh b/bin/tests/system/database/tests.sh
index 99b94cb3..85406172 100644
--- a/bin/tests/system/database/tests.sh
+++ b/bin/tests/system/database/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dialup/setup.sh b/bin/tests/system/dialup/setup.sh
index 11ce0311..aedeb2a6 100644
--- a/bin/tests/system/dialup/setup.sh
+++ b/bin/tests/system/dialup/setup.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/dialup/tests.sh b/bin/tests/system/dialup/tests.sh
index e48369ff..40da0542 100644
--- a/bin/tests/system/dialup/tests.sh
+++ b/bin/tests/system/dialup/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/digcomp.pl b/bin/tests/system/digcomp.pl
index 87e64cb1..28ee067d 100644
--- a/bin/tests/system/digcomp.pl
+++ b/bin/tests/system/digcomp.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/dlv/clean.sh b/bin/tests/system/dlv/clean.sh
index 0bb4407e..2b10e49f 100644
--- a/bin/tests/system/dlv/clean.sh
+++ b/bin/tests/system/dlv/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010-2012 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
diff --git a/bin/tests/system/dlv/ns1/sign.sh b/bin/tests/system/dlv/ns1/sign.sh
index 540f7210..9854f5b7 100755
--- a/bin/tests/system/dlv/ns1/sign.sh
+++ b/bin/tests/system/dlv/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlv/ns2/sign.sh b/bin/tests/system/dlv/ns2/sign.sh
index 1bc7cbfb..edcc8f21 100755
--- a/bin/tests/system/dlv/ns2/sign.sh
+++ b/bin/tests/system/dlv/ns2/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlv/ns3/sign.sh b/bin/tests/system/dlv/ns3/sign.sh
index 41661eff..6bdc2f6c 100755
--- a/bin/tests/system/dlv/ns3/sign.sh
+++ b/bin/tests/system/dlv/ns3/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009-2012 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
diff --git a/bin/tests/system/dlv/ns6/sign.sh b/bin/tests/system/dlv/ns6/sign.sh
index 72c1367c..2bc133e5 100755
--- a/bin/tests/system/dlv/ns6/sign.sh
+++ b/bin/tests/system/dlv/ns6/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/dlv/setup.sh b/bin/tests/system/dlv/setup.sh
index 63fca11b..92ee8fca 100644
--- a/bin/tests/system/dlv/setup.sh
+++ b/bin/tests/system/dlv/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2011, 2012 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
diff --git a/bin/tests/system/dlv/tests.sh b/bin/tests/system/dlv/tests.sh
index 99dccaf0..e3ba6371 100644
--- a/bin/tests/system/dlv/tests.sh
+++ b/bin/tests/system/dlv/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010-2012 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
diff --git a/bin/tests/system/dlvauto/clean.sh b/bin/tests/system/dlvauto/clean.sh
index f04141af..dc3faa84 100644
--- a/bin/tests/system/dlvauto/clean.sh
+++ b/bin/tests/system/dlvauto/clean.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlvauto/ns1/sign.sh b/bin/tests/system/dlvauto/ns1/sign.sh
index 871d5701..4c7f4804 100644
--- a/bin/tests/system/dlvauto/ns1/sign.sh
+++ b/bin/tests/system/dlvauto/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlvauto/setup.sh b/bin/tests/system/dlvauto/setup.sh
index 7aaa25cd..6c9df26f 100644
--- a/bin/tests/system/dlvauto/setup.sh
+++ b/bin/tests/system/dlvauto/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlvauto/tests.sh b/bin/tests/system/dlvauto/tests.sh
index 908803b7..e9469793 100644
--- a/bin/tests/system/dlvauto/tests.sh
+++ b/bin/tests/system/dlvauto/tests.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlz/clean.sh b/bin/tests/system/dlz/clean.sh
index f7dbaad9..5b2160b1 100644
--- a/bin/tests/system/dlz/clean.sh
+++ b/bin/tests/system/dlz/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/dlz/prereq.sh.in b/bin/tests/system/dlz/prereq.sh.in
index 3e608985..1f3b0f93 100644
--- a/bin/tests/system/dlz/prereq.sh.in
+++ b/bin/tests/system/dlz/prereq.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlz/tests.sh b/bin/tests/system/dlz/tests.sh
index ce4fad0d..fd11048d 100644
--- a/bin/tests/system/dlz/tests.sh
+++ b/bin/tests/system/dlz/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/dlzexternal/Makefile.in b/bin/tests/system/dlzexternal/Makefile.in
index 9e01993b..52f7de1f 100644
--- a/bin/tests/system/dlzexternal/Makefile.in
+++ b/bin/tests/system/dlzexternal/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dlzexternal/prereq.sh b/bin/tests/system/dlzexternal/prereq.sh
index 2372980a..a8837a0a 100644
--- a/bin/tests/system/dlzexternal/prereq.sh
+++ b/bin/tests/system/dlzexternal/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/dlzexternal/setup.sh b/bin/tests/system/dlzexternal/setup.sh
index 2ae4b9e7..f4bf9d08 100644
--- a/bin/tests/system/dlzexternal/setup.sh
+++ b/bin/tests/system/dlzexternal/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/dname/clean.sh b/bin/tests/system/dname/clean.sh
index 5cbf1f45..9c1ba61d 100644
--- a/bin/tests/system/dname/clean.sh
+++ b/bin/tests/system/dname/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dname/tests.sh b/bin/tests/system/dname/tests.sh
index e24d0c3b..d22f54b6 100644
--- a/bin/tests/system/dname/tests.sh
+++ b/bin/tests/system/dname/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/dns64/clean.sh b/bin/tests/system/dns64/clean.sh
index a073dbce..a5bd33c6 100644
--- a/bin/tests/system/dns64/clean.sh
+++ b/bin/tests/system/dns64/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/dns64/ns1/sign.sh b/bin/tests/system/dns64/ns1/sign.sh
index 0b6056d0..620096cd 100644
--- a/bin/tests/system/dns64/ns1/sign.sh
+++ b/bin/tests/system/dns64/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/dns64/setup.sh b/bin/tests/system/dns64/setup.sh
index 9bf748ac..c15357cb 100644
--- a/bin/tests/system/dns64/setup.sh
+++ b/bin/tests/system/dns64/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/dnssec/clean.sh b/bin/tests/system/dnssec/clean.sh
index d16e6b7a..9761b914 100644
--- a/bin/tests/system/dnssec/clean.sh
+++ b/bin/tests/system/dnssec/clean.sh
@@ -60,5 +60,8 @@ rm -f signer/nsec3param.out
rm -f ns3/ttlpatch.example.db ns3/ttlpatch.example.db.signed
rm -f ns3/ttlpatch.example.db.patched
rm -f ns3/split-smart.example.db
+rm -f ns3/inline.example.db.signed
+rm -f ns3/lower.example.db ns3/upper.example.db ns3/upper.example.db.lower
rm -f nosign.before
rm -f signing.out*
+
diff --git a/bin/tests/system/dnssec/dnssec_update_test.pl b/bin/tests/system/dnssec/dnssec_update_test.pl
index 3579d3c5..e2ad9c99 100644
--- a/bin/tests/system/dnssec/dnssec_update_test.pl
+++ b/bin/tests/system/dnssec/dnssec_update_test.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/dnssec/ns1/sign.sh b/bin/tests/system/dnssec/ns1/sign.sh
index c61ed47c..96fc060b 100644
--- a/bin/tests/system/dnssec/ns1/sign.sh
+++ b/bin/tests/system/dnssec/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2004, 2006-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2006-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/dnssec/ns2/example.db.in b/bin/tests/system/dnssec/ns2/example.db.in
index 384c0b96..7be10442 100644
--- a/bin/tests/system/dnssec/ns2/example.db.in
+++ b/bin/tests/system/dnssec/ns2/example.db.in
@@ -1,4 +1,4 @@
-; Copyright (C) 2004, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) 2004, 2007-2012 Internet Systems Consortium, Inc. ("ISC")
; Copyright (C) 2000-2002 Internet Software Consortium.
;
; Permission to use, copy, modify, and/or distribute this software for any
@@ -138,3 +138,12 @@ ns.split-dnssec A 10.53.0.3
split-smart NS ns.split-smart
ns.split-smart A 10.53.0.3
+
+upper NS ns.upper
+ns.upper A 10.53.0.3
+
+LOWER NS NS.LOWER
+NS.LOWER A 10.53.0.3
+
+expiring NS ns.expiring
+ns.expiring A 10.53.0.3
diff --git a/bin/tests/system/dnssec/ns2/sign.sh b/bin/tests/system/dnssec/ns2/sign.sh
index 04a525b5..5b5d337a 100644
--- a/bin/tests/system/dnssec/ns2/sign.sh
+++ b/bin/tests/system/dnssec/ns2/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2004, 2006-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2006-2012 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,8 @@ zonefile=example.db
for subdomain in secure bogus dynamic keyless nsec3 optout nsec3-unknown \
optout-unknown multiple rsasha256 rsasha512 kskonly update-nsec3 \
auto-nsec auto-nsec3 secure.below-cname ttlpatch split-dnssec \
- split-smart expired
+ split-smart expired expiring upper lower
+
do
cp ../ns3/dsset-$subdomain.example. .
done
diff --git a/bin/tests/system/dnssec/ns3/expired.example.db.in b/bin/tests/system/dnssec/ns3/expired.example.db.in
index e639cf29..02ebc46e 100644
--- a/bin/tests/system/dnssec/ns3/expired.example.db.in
+++ b/bin/tests/system/dnssec/ns3/expired.example.db.in
@@ -1,4 +1,4 @@
-; Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) 2011, 2012 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
@@ -23,7 +23,9 @@ $TTL 300 ; 5 minutes
3600 ; minimum (1 hour)
)
NS ns
+ MX 10 mx
ns A 10.53.0.3
+mx A 10.0.0.30
a A 10.0.0.1
b A 10.0.0.2
@@ -43,3 +45,5 @@ ns.nosoa A 10.53.0.7
normalthenrrsig A 10.0.0.28
rrsigonly A 10.0.0.29
+
+
diff --git a/bin/tests/system/dnssec/ns3/expiring.example.db.in b/bin/tests/system/dnssec/ns3/expiring.example.db.in
index 7179e80b..95edff90 100644
--- a/bin/tests/system/dnssec/ns3/expiring.example.db.in
+++ b/bin/tests/system/dnssec/ns3/expiring.example.db.in
@@ -1,4 +1,4 @@
-; Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) 2011, 2012 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
@@ -23,7 +23,9 @@ $TTL 300 ; 5 minutes
3600 ; minimum (1 hour)
)
NS ns
+ MX 10 mx
ns A 10.53.0.3
+mx A 10.0.0.30
a A 10.0.0.1
b A 10.0.0.2
diff --git a/bin/tests/system/dnssec/ns3/inline.example.db b/bin/tests/system/dnssec/ns3/inline.example.db
new file mode 100644
index 00000000..16c278b1
--- /dev/null
+++ b/bin/tests/system/dnssec/ns3/inline.example.db
@@ -0,0 +1,31 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id: insecure.example.db,v 1.9 2007/06/19 23:47:02 tbox Exp $
+
+$TTL 300 ; 5 minutes
+@ IN SOA mname1. . (
+ 2000042407 ; serial
+ 20 ; refresh (20 seconds)
+ 20 ; retry (20 seconds)
+ 1814400 ; expire (3 weeks)
+ 3600 ; minimum (1 hour)
+ )
+ NS ns
+ns A 10.53.0.3
+
+a A 10.0.0.1
+b A 10.0.0.2
+d A 10.0.0.4
+z A 10.0.0.26
diff --git a/bin/tests/system/dnssec/ns3/lower.example.db.in b/bin/tests/system/dnssec/ns3/lower.example.db.in
new file mode 100644
index 00000000..d71026cb
--- /dev/null
+++ b/bin/tests/system/dnssec/ns3/lower.example.db.in
@@ -0,0 +1,26 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id: lower.example.db.in,v 1.1.2.1 2012/01/17 08:31:00 marka Exp $
+
+$TTL 300 ; 5 minutes
+@ IN SOA MNAME1. . (
+ 2012042407 ; serial
+ 20 ; refresh (20 seconds)
+ 20 ; retry (20 seconds)
+ 1814400 ; expire (3 weeks)
+ 3600 ; minimum (1 hour)
+ )
+@ NS NS
+NS A 10.53.0.3
diff --git a/bin/tests/system/dnssec/ns3/named.conf b/bin/tests/system/dnssec/ns3/named.conf
index 060edca4..a23c6f87 100644
--- a/bin/tests/system/dnssec/ns3/named.conf
+++ b/bin/tests/system/dnssec/ns3/named.conf
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2006-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -245,4 +245,21 @@ zone "nosign.example" {
file "nosign.example.db.signed";
};
+zone "upper.example" {
+ type master;
+ file "upper.example.db.signed";
+};
+
+zone "LOWER.EXAMPLE" {
+ type master;
+ file "lower.example.db.signed";
+};
+
+zone "inline.example" {
+ type master;
+ file "inline.example.db";
+ inline-signing yes;
+ auto-dnssec maintain;
+};
+
include "trusted.conf";
diff --git a/bin/tests/system/dnssec/ns3/sign.sh b/bin/tests/system/dnssec/ns3/sign.sh
index fdca3b00..728ab228 100644
--- a/bin/tests/system/dnssec/ns3/sign.sh
+++ b/bin/tests/system/dnssec/ns3/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2004, 2006-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2006-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -381,7 +381,36 @@ kskname=`$KEYGEN -q -r $RANDFILE $zone`
zskname=`$KEYGEN -q -r $RANDFILE -f KSK $zone`
cp $infile $zonefile
$SIGNER -S -r $RANDFILE -e now+1mi -o $zone $zonefile > /dev/null 2>&1
-rm -f ${zskname}.private ${kskname}.private
+mv -f ${zskname}.private ${zskname}.private.moved
+mv -f ${kskname}.private ${kskname}.private.moved
+
+#
+# A zone where the signer's name has been forced to uppercase.
+#
+zone="upper.example."
+infile="upper.example.db.in"
+zonefile="upper.example.db"
+lower="upper.example.db.lower"
+signedfile="upper.example.db.signed"
+kskname=`$KEYGEN -q -r $RANDFILE $zone`
+zskname=`$KEYGEN -q -r $RANDFILE -f KSK $zone`
+cp $infile $zonefile
+$SIGNER -P -S -r $RANDFILE -o $zone -f $lower $zonefile > /dev/null 2>&1
+$CHECKZONE -D upper.example $lower 2>&- | \
+ sed '/RRSIG/s/ upper.example. / UPPER.EXAMPLE. /' > $signedfile
+
+#
+# Check that the signer's name is in lower case when zone name is in
+# upper case.
+#
+zone="LOWER.EXAMPLE."
+infile="lower.example.db.in"
+zonefile="lower.example.db"
+signedfile="lower.example.db.signed"
+kskname=`$KEYGEN -q -r $RANDFILE $zone`
+zskname=`$KEYGEN -q -r $RANDFILE -f KSK $zone`
+cp $infile $zonefile
+$SIGNER -P -S -r $RANDFILE -o $zone $zonefile > /dev/null 2>&1
#
# Zone with signatures about to expire, and dynamic, but configured
@@ -400,3 +429,9 @@ $CHECKZONE -D nosign.example nosign.example.db.signed 2>&- | \
awk '$4 == "RRSIG" && $5 == "NS" {$2 = ""; print}' | \
sed 's/[ ][ ]*/ /g'> ../nosign.before
+#
+# An inline signing zone
+#
+zone=inline.example.
+kskname=`$KEYGEN -q -3 -r $RANDFILE -fk $zone`
+zskname=`$KEYGEN -q -3 -r $RANDFILE $zone`
diff --git a/bin/tests/system/dnssec/ns3/upper.example.db.in b/bin/tests/system/dnssec/ns3/upper.example.db.in
new file mode 100644
index 00000000..52202fb3
--- /dev/null
+++ b/bin/tests/system/dnssec/ns3/upper.example.db.in
@@ -0,0 +1,26 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id: upper.example.db.in,v 1.1.2.1 2012/01/17 08:31:00 marka Exp $
+
+$TTL 300 ; 5 minutes
+@ IN SOA mname1. . (
+ 2012042407 ; serial
+ 20 ; refresh (20 seconds)
+ 20 ; retry (20 seconds)
+ 1814400 ; expire (3 weeks)
+ 3600 ; minimum (1 hour)
+ )
+@ NS ns
+ns A 10.53.0.3
diff --git a/bin/tests/system/dnssec/ns4/named3.conf b/bin/tests/system/dnssec/ns4/named3.conf
new file mode 100644
index 00000000..2d407407
--- /dev/null
+++ b/bin/tests/system/dnssec/ns4/named3.conf
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id: named2.conf,v 1.3 2011/01/04 23:47:13 tbox Exp $ */
+
+// NS4
+
+controls { /* empty */ };
+
+options {
+ query-source address 10.53.0.4;
+ notify-source 10.53.0.4;
+ transfer-source 10.53.0.4;
+ port 5300;
+ pid-file "named.pid";
+ listen-on { 10.53.0.4; };
+ listen-on-v6 { none; };
+ recursion yes;
+ acache-enable yes;
+ dnssec-enable yes;
+ dnssec-validation auto;
+ bindkeys-file "managed.conf";
+ dnssec-accept-expired yes;
+};
+
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-md5;
+};
+
+controls {
+ inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+};
+
+zone "." {
+ type hint;
+ file "../../common/root.hint";
+};
diff --git a/bin/tests/system/dnssec/prereq.sh b/bin/tests/system/dnssec/prereq.sh
index e5cd5465..cb7c0c7c 100644
--- a/bin/tests/system/dnssec/prereq.sh
+++ b/bin/tests/system/dnssec/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2006, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2006, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/dnssec/setup.sh b/bin/tests/system/dnssec/setup.sh
index 506d9e79..42479296 100644
--- a/bin/tests/system/dnssec/setup.sh
+++ b/bin/tests/system/dnssec/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2004, 2007, 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/dnssec/tests.sh b/bin/tests/system/dnssec/tests.sh
index c34a583c..9b23023d 100644
--- a/bin/tests/system/dnssec/tests.sh
+++ b/bin/tests/system/dnssec/tests.sh
@@ -1481,7 +1481,42 @@ n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
+echo "I:check that 'rndc signing -nsec3param' works with salt ($n)"
+ret=0
+$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 ffff inline.example > /dev/null 2>&1 || ret=1
+$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+for i in 1 2 3 4 5 6 7 8 9 10 ; do
+ salt=`$DIG $DIGOPTS +nodnssec +short nsec3param inline.example. @10.53.0.3 | awk '{print $4}'`
+ if [ "$salt" = "FFFF" ]; then
+ break;
+ fi
+ echo "I:sleeping ...."
+ sleep 1
+done;
+[ "$salt" = "FFFF" ] || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:check that 'rndc signing -nsec3param' works without salt ($n)"
+ret=0
+$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 - inline.example > /dev/null 2>&1 || ret=1
+$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+for i in 1 2 3 4 5 6 7 8 9 10 ; do
+ salt=`$DIG $DIGOPTS +nodnssec +short nsec3param inline.example. @10.53.0.3 | awk '{print $4}'`
+ if [ "$salt" = "-" ]; then
+ break;
+ fi
+ echo "I:sleeping ...."
+ sleep 1
+done;
+[ "$salt" = "-" ] || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
echo "I:check rndc signing -list output ($n)"
+ret=0
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list dynamic.example 2>&1 > signing.out
grep "No signing records found" signing.out > /dev/null 2>&1 || {
ret=1
@@ -1655,5 +1690,124 @@ n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
+echo "I:testing legacy upper case signer name validation ($n)"
+ret=0
+$DIG +tcp +dnssec -p 5300 +noadd +noauth soa upper.example @10.53.0.4 \
+ > dig.out.ns4.test$n 2>&1
+grep 'flags:.* ad;' dig.out.ns4.test$n >/dev/null || ret=1
+grep 'RRSIG.*SOA.* UPPER\.EXAMPLE\. ' dig.out.ns4.test$n > /dev/null || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:testing that we lower case signer name ($n)"
+ret=0
+$DIG +tcp +dnssec -p 5300 +noadd +noauth soa LOWER.EXAMPLE @10.53.0.4 \
+ > dig.out.ns4.test$n 2>&1
+grep 'flags:.* ad;' dig.out.ns4.test$n >/dev/null || ret=1
+grep 'RRSIG.*SOA.* lower\.example\. ' dig.out.ns4.test$n > /dev/null || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:testing TTL is capped at RRSIG expiry time ($n)"
+ret=0
+$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze expiring.example 2>&1 | sed 's/^/I:ns3 /'
+(
+cd ns3
+RANDFILE=../random.data
+for file in K*.moved; do
+ mv $file `basename $file .moved`
+done
+$SIGNER -S -r $RANDFILE -N increment -e now+1mi -o expiring.example expiring.example.db > /dev/null 2>&1
+) || ret=1
+$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload expiring.example 2>&1 | sed 's/^/I:ns3 /'
+
+$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
+$DIG +noall +answer +dnssec +cd -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.1.$n
+$DIG +noall +answer +dnssec -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.2.$n
+ttls=`awk '{print $2}' dig.out.ns4.1.$n`
+ttls2=`awk '{print $2}' dig.out.ns4.2.$n`
+for ttl in $ttls; do
+ [ $ttl -eq 300 ] || ret=1
+done
+for ttl in $ttls2; do
+ [ $ttl -le 60 ] || ret=1
+done
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:testing TTL is capped at RRSIG expiry time for records in the additional section ($n)"
+ret=0
+$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
+$DIG +noall +additional +dnssec +cd -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
+$DIG +noall +additional +dnssec -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
+ttls=`awk '{print $2}' dig.out.ns4.1.$n`
+ttls2=`awk '{print $2}' dig.out.ns4.2.$n`
+for ttl in $ttls; do
+ [ $ttl -eq 300 ] || ret=1
+done
+for ttl in $ttls2; do
+ [ $ttl -le 60 ] || ret=1
+done
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+cp ns4/named3.conf ns4/named.conf
+$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig 2>&1 | sed 's/^/I:ns4 /'
+sleep 3
+
+echo "I:testing TTL of about to expire RRsets with dnssec-accept-expired yes; ($n)"
+ret=0
+$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
+$DIG +noall +answer +dnssec +cd -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.1.$n
+$DIG +noall +answer +dnssec -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.2.$n
+ttls=`awk '{print $2}' dig.out.ns4.1.$n`
+ttls2=`awk '{print $2}' dig.out.ns4.2.$n`
+for ttl in $ttls; do
+ [ $ttl -eq 300 ] || ret=1
+done
+for ttl in $ttls2; do
+ [ $ttl -le 120 -a $ttl -gt 60 ] || ret=1
+done
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:testing TTL of expired RRsets with dnssec-accept-expired yes; ($n)"
+ret=0
+$DIG +noall +answer +dnssec +cd -p 5300 expired.example soa @10.53.0.4 > dig.out.ns4.1.$n
+$DIG +noall +answer +dnssec -p 5300 expired.example soa @10.53.0.4 > dig.out.ns4.2.$n
+ttls=`awk '{print $2}' dig.out.ns4.1.$n`
+ttls2=`awk '{print $2}' dig.out.ns4.2.$n`
+for ttl in $ttls; do
+ [ $ttl -eq 300 ] || ret=1
+done
+for ttl in $ttls2; do
+ [ $ttl -le 120 -a $ttl -gt 60 ] || ret=1
+done
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:testing TTL is capped at RRSIG expiry time for records in the additional section with dnssec-accept-expired yes; ($n)"
+ret=0
+$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
+$DIG +noall +additional +dnssec +cd -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
+$DIG +noall +additional +dnssec -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
+ttls=`awk '{print $2}' dig.out.ns4.1.$n`
+ttls2=`awk '{print $2}' dig.out.ns4.2.$n`
+for ttl in $ttls; do
+ [ $ttl -eq 300 ] || ret=1
+done
+for ttl in $ttls2; do
+ [ $ttl -le 120 -a $ttl -gt 60 ] || ret=1
+done
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
echo "I:exit status: $status"
exit $status
diff --git a/bin/tests/system/ecdsa/clean.sh b/bin/tests/system/ecdsa/clean.sh
new file mode 100644
index 00000000..5a2a42ad
--- /dev/null
+++ b/bin/tests/system/ecdsa/clean.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+rm -f */K* */dsset-* */*.signed */trusted.conf
+rm -f ns1/root.db
+rm -f ns1/signer.err
+rm -f dig.out*
+rm -f random.data
+rm -f */named.run
+rm -f */named.memstats
diff --git a/bin/tests/system/ecdsa/ns1/named.conf b/bin/tests/system/ecdsa/ns1/named.conf
new file mode 100644
index 00000000..3a3442d9
--- /dev/null
+++ b/bin/tests/system/ecdsa/ns1/named.conf
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+// NS1
+
+controls { /* empty */ };
+
+options {
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port 5300;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
+ recursion no;
+ notify yes;
+ dnssec-enable yes;
+ dnssec-validation yes;
+};
+
+zone "." {
+ type master;
+ file "root.db.signed";
+};
+
+include "trusted.conf";
diff --git a/bin/tests/system/ecdsa/ns1/root.db.in b/bin/tests/system/ecdsa/ns1/root.db.in
new file mode 100644
index 00000000..270520c2
--- /dev/null
+++ b/bin/tests/system/ecdsa/ns1/root.db.in
@@ -0,0 +1,26 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id$
+
+$TTL 300
+. IN SOA fdupont.isc.org. a.root.servers.nil. (
+ 2012040600 ; serial
+ 600 ; refresh
+ 600 ; retry
+ 1200 ; expire
+ 600 ; minimum
+ )
+. NS a.root-servers.nil.
+a.root-servers.nil. A 10.53.0.1
diff --git a/bin/tests/system/ecdsa/ns1/sign.sh b/bin/tests/system/ecdsa/ns1/sign.sh
new file mode 100644
index 00000000..71b73900
--- /dev/null
+++ b/bin/tests/system/ecdsa/ns1/sign.sh
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+SYSTEMTESTTOP=../..
+. $SYSTEMTESTTOP/conf.sh
+
+RANDFILE=../random.data
+
+zone=.
+infile=root.db.in
+zonefile=root.db
+
+key1=`$KEYGEN -q -r $RANDFILE -a ECDSAP256SHA256 -n zone $zone`
+key2=`$KEYGEN -q -r $RANDFILE -a ECDSAP384SHA384 -n zone -f KSK $zone`
+$DSFROMKEY -a sha-384 $key2.key > dsset-384
+
+cat $infile $key1.key $key2.key > $zonefile
+
+$SIGNER -P -g -r $RANDFILE -o $zone $zonefile > /dev/null 2> signer.err || cat signer.err
+
+# Configure the resolving server with a trusted key.
+
+cat $key1.key | grep -v '^; ' | $PERL -n -e '
+local ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
+local $key = join("", @rest);
+print <<EOF
+trusted-keys {
+ "$dn" $flags $proto $alg "$key";
+};
+EOF
+' > trusted.conf
+cp trusted.conf ../ns2/trusted.conf
diff --git a/bin/tests/system/ecdsa/ns2/named.conf b/bin/tests/system/ecdsa/ns2/named.conf
new file mode 100644
index 00000000..b6274013
--- /dev/null
+++ b/bin/tests/system/ecdsa/ns2/named.conf
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+// NS2
+
+controls { /* empty */ };
+
+options {
+ query-source address 10.53.0.2;
+ notify-source 10.53.0.2;
+ transfer-source 10.53.0.2;
+ port 5300;
+ pid-file "named.pid";
+ listen-on { 10.53.0.2; };
+ listen-on-v6 { none; };
+ recursion yes;
+ notify yes;
+ dnssec-enable yes;
+ dnssec-validation yes;
+};
+
+zone "." {
+ type hint;
+ file "../../common/root.hint";
+};
+
+include "trusted.conf";
diff --git a/bin/tests/system/ecdsa/prereq.sh.in b/bin/tests/system/ecdsa/prereq.sh.in
new file mode 100644
index 00000000..434b53cd
--- /dev/null
+++ b/bin/tests/system/ecdsa/prereq.sh.in
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+OPENSSL_ECDSA="@OPENSSL_ECDSA@"
+if test -z "$OPENSSL_ECDSA"
+then
+ echo "I:This test requires a openssl version with ecdsa support." >&2
+ exit 255
+fi
diff --git a/bin/tests/system/ecdsa/setup.sh b/bin/tests/system/ecdsa/setup.sh
new file mode 100644
index 00000000..6ba0f72c
--- /dev/null
+++ b/bin/tests/system/ecdsa/setup.sh
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+../../../tools/genrandom 400 random.data
+
+cd ns1 && sh sign.sh
diff --git a/bin/tests/system/ecdsa/tests.sh b/bin/tests/system/ecdsa/tests.sh
new file mode 100644
index 00000000..e933e8da
--- /dev/null
+++ b/bin/tests/system/ecdsa/tests.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+status=0
+n=0
+
+rm -f dig.out.*
+
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
+
+# Check the example. domain
+
+echo "I:checking that positive validation works works ($n)"
+ret=0
+$DIG $DIGOPTS . @10.53.0.1 soa > dig.out.ns1.test$n || ret=1
+$DIG $DIGOPTS . @10.53.0.2 soa > dig.out.ns2.test$n || ret=1
+$PERL ../digcomp.pl dig.out.ns1.test$n dig.out.ns2.test$n || ret=1
+grep "flags:.*ad.*QUERY" dig.out.ns2.test$n > /dev/null || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:exit status: $status"
+exit $status
diff --git a/bin/tests/system/filter-aaaa/Makefile.in b/bin/tests/system/filter-aaaa/Makefile.in
index 28fe8ca3..3a03de5a 100644
--- a/bin/tests/system/filter-aaaa/Makefile.in
+++ b/bin/tests/system/filter-aaaa/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/filter-aaaa/clean.sh b/bin/tests/system/filter-aaaa/clean.sh
index 69fb7285..372d47c7 100644
--- a/bin/tests/system/filter-aaaa/clean.sh
+++ b/bin/tests/system/filter-aaaa/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/filter-aaaa/ns1/sign.sh b/bin/tests/system/filter-aaaa/ns1/sign.sh
index 930d6537..203e37eb 100755
--- a/bin/tests/system/filter-aaaa/ns1/sign.sh
+++ b/bin/tests/system/filter-aaaa/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/filter-aaaa/ns4/sign.sh b/bin/tests/system/filter-aaaa/ns4/sign.sh
index 62ed28ed..ff33b10a 100755
--- a/bin/tests/system/filter-aaaa/ns4/sign.sh
+++ b/bin/tests/system/filter-aaaa/ns4/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/filter-aaaa/prereq.sh b/bin/tests/system/filter-aaaa/prereq.sh
index b25b1516..486067de 100644
--- a/bin/tests/system/filter-aaaa/prereq.sh
+++ b/bin/tests/system/filter-aaaa/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/filter-aaaa/setup.sh b/bin/tests/system/filter-aaaa/setup.sh
index 3c0c9426..173d9909 100644
--- a/bin/tests/system/filter-aaaa/setup.sh
+++ b/bin/tests/system/filter-aaaa/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/forward/clean.sh b/bin/tests/system/forward/clean.sh
index b2277453..6b517db7 100644
--- a/bin/tests/system/forward/clean.sh
+++ b/bin/tests/system/forward/clean.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/forward/tests.sh b/bin/tests/system/forward/tests.sh
index 10bb24e2..e9f587ee 100644
--- a/bin/tests/system/forward/tests.sh
+++ b/bin/tests/system/forward/tests.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/glue/clean.sh b/bin/tests/system/glue/clean.sh
index a3bc740c..defe32bd 100644
--- a/bin/tests/system/glue/clean.sh
+++ b/bin/tests/system/glue/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/glue/setup.sh b/bin/tests/system/glue/setup.sh
index 2dbbe03c..4fa1aad0 100644
--- a/bin/tests/system/glue/setup.sh
+++ b/bin/tests/system/glue/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/glue/tests.sh b/bin/tests/system/glue/tests.sh
index 3ecf7016..32181ec9 100644
--- a/bin/tests/system/glue/tests.sh
+++ b/bin/tests/system/glue/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 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
diff --git a/bin/tests/system/gost/clean.sh b/bin/tests/system/gost/clean.sh
index ae56d12e..bf62b275 100644
--- a/bin/tests/system/gost/clean.sh
+++ b/bin/tests/system/gost/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
@@ -18,6 +18,7 @@
rm -f */K* */dsset-* */*.signed */trusted.conf
rm -f ns1/root.db
+rm -f ns1/signer.err
rm -f dig.out*
rm -f random.data
rm -f */named.run
diff --git a/bin/tests/system/gost/ns1/sign.sh b/bin/tests/system/gost/ns1/sign.sh
index 70fc4105..854258f0 100644
--- a/bin/tests/system/gost/ns1/sign.sh
+++ b/bin/tests/system/gost/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
@@ -31,7 +31,7 @@ $DSFROMKEY -a gost $key2.key > dsset-gost
cat $infile $key1.key $key2.key > $zonefile
-$SIGNER -P -g -r $RANDFILE -o $zone $zonefile > /dev/null
+$SIGNER -P -g -r $RANDFILE -o $zone $zonefile > /dev/null 2> signer.err || cat signer.err
# Configure the resolving server with a trusted key.
diff --git a/bin/tests/system/gost/prereq.sh.in b/bin/tests/system/gost/prereq.sh.in
index 9fcb7d64..98ec5077 100644
--- a/bin/tests/system/gost/prereq.sh.in
+++ b/bin/tests/system/gost/prereq.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/gost/setup.sh b/bin/tests/system/gost/setup.sh
index 0d62f5c2..bfa5f3eb 100644
--- a/bin/tests/system/gost/setup.sh
+++ b/bin/tests/system/gost/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/gost/tests.sh b/bin/tests/system/gost/tests.sh
index 8f1321e0..6fa0612a 100644
--- a/bin/tests/system/gost/tests.sh
+++ b/bin/tests/system/gost/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/ifconfig.sh b/bin/tests/system/ifconfig.sh
index dd204cb9..1e1069fc 100755
--- a/bin/tests/system/ifconfig.sh
+++ b/bin/tests/system/ifconfig.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/ixfr/prereq.sh b/bin/tests/system/ixfr/prereq.sh
index aaf349b2..7218ee64 100644
--- a/bin/tests/system/ixfr/prereq.sh
+++ b/bin/tests/system/ixfr/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/limits/clean.sh b/bin/tests/system/limits/clean.sh
index bf226076..f3a4545d 100644
--- a/bin/tests/system/limits/clean.sh
+++ b/bin/tests/system/limits/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/limits/tests.sh b/bin/tests/system/limits/tests.sh
index 6a9d8ca3..d5296ecf 100644
--- a/bin/tests/system/limits/tests.sh
+++ b/bin/tests/system/limits/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/logfileconfig/clean.sh b/bin/tests/system/logfileconfig/clean.sh
index ba2fedc1..0ceadbac 100644
--- a/bin/tests/system/logfileconfig/clean.sh
+++ b/bin/tests/system/logfileconfig/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/logfileconfig/setup.sh b/bin/tests/system/logfileconfig/setup.sh
index a375085f..7bd26840 100644
--- a/bin/tests/system/logfileconfig/setup.sh
+++ b/bin/tests/system/logfileconfig/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/logfileconfig/tests.sh b/bin/tests/system/logfileconfig/tests.sh
index 3c8586b1..240eb461 100644
--- a/bin/tests/system/logfileconfig/tests.sh
+++ b/bin/tests/system/logfileconfig/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/lwresd/Makefile.in b/bin/tests/system/lwresd/Makefile.in
index b45a46a6..8c9006f5 100644
--- a/bin/tests/system/lwresd/Makefile.in
+++ b/bin/tests/system/lwresd/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/lwresd/lwresd1/resolv.conf b/bin/tests/system/lwresd/lwresd1/resolv.conf
index 1aa88c95..d9a72ae0 100644
--- a/bin/tests/system/lwresd/lwresd1/resolv.conf
+++ b/bin/tests/system/lwresd/lwresd1/resolv.conf
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/lwresd/resolv.conf b/bin/tests/system/lwresd/resolv.conf
index 1aa88c95..d9a72ae0 100644
--- a/bin/tests/system/lwresd/resolv.conf
+++ b/bin/tests/system/lwresd/resolv.conf
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/masterfile/clean.sh b/bin/tests/system/masterfile/clean.sh
index 7facc553..332aa2ab 100644
--- a/bin/tests/system/masterfile/clean.sh
+++ b/bin/tests/system/masterfile/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/masterfile/tests.sh b/bin/tests/system/masterfile/tests.sh
index ee81a8dc..c4725a10 100644
--- a/bin/tests/system/masterfile/tests.sh
+++ b/bin/tests/system/masterfile/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/metadata/clean.sh b/bin/tests/system/metadata/clean.sh
index 72d4a319..3c33e9dc 100644
--- a/bin/tests/system/metadata/clean.sh
+++ b/bin/tests/system/metadata/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2011, 2012 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,3 +21,4 @@ rm -f zsk.key ksk.key parent.ksk.key parent.zsk.key
rm -f pending.key rolling.key standby.key inact.key
rm -f prerev.key postrev.key oldstyle.key
rm -f keys sigs
+rm -f tmp.out
diff --git a/bin/tests/system/metadata/prereq.sh b/bin/tests/system/metadata/prereq.sh
index ce608925..b7ce1ea8 100644
--- a/bin/tests/system/metadata/prereq.sh
+++ b/bin/tests/system/metadata/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/tests/system/metadata/setup.sh b/bin/tests/system/metadata/setup.sh
index 18ab279d..d5b76892 100644
--- a/bin/tests/system/metadata/setup.sh
+++ b/bin/tests/system/metadata/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2011, 2012 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
diff --git a/bin/tests/system/metadata/tests.sh b/bin/tests/system/metadata/tests.sh
index 92f7c331..b764060b 100644
--- a/bin/tests/system/metadata/tests.sh
+++ b/bin/tests/system/metadata/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2011, 2012 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
@@ -134,7 +134,7 @@ n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
-echo "I:checking update of an old-style key"
+echo "I:checking update of an old-style key ($n)"
ret=0
# printing metadata should not work with an old-style key
$SETTIME -pall `cat oldstyle.key` > /dev/null 2>&1 && ret=1
@@ -145,5 +145,17 @@ n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
+echo "I:checking warning about permissions change on key with dnssec-settime ($n)"
+ret=0
+# settime should print a warning about changing the permissions
+chmod 644 `cat oldstyle.key`.private
+$SETTIME -P none `cat oldstyle.key` > tmp.out 2>&1 || ret=1
+grep "warning" tmp.out > /dev/null 2>&1 || ret=1
+$SETTIME -P none `cat oldstyle.key` > tmp.out 2>&1 || ret=1
+grep "warning" tmp.out > /dev/null 2>&1 && ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
echo "I:exit status: $status"
exit $status
diff --git a/bin/tests/system/notify/clean.sh b/bin/tests/system/notify/clean.sh
index d114a5be..55569f36 100644
--- a/bin/tests/system/notify/clean.sh
+++ b/bin/tests/system/notify/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/notify/setup.sh b/bin/tests/system/notify/setup.sh
index eebcbf17..e989e4bb 100644
--- a/bin/tests/system/notify/setup.sh
+++ b/bin/tests/system/notify/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/notify/tests.sh b/bin/tests/system/notify/tests.sh
index 29e03697..256c852b 100644
--- a/bin/tests/system/notify/tests.sh
+++ b/bin/tests/system/notify/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/nsupdate/commandlist b/bin/tests/system/nsupdate/commandlist
new file mode 100644
index 00000000..41c8049a
--- /dev/null
+++ b/bin/tests/system/nsupdate/commandlist
@@ -0,0 +1,15 @@
+server 127.0.0.1
+server 127.0.0.1 port
+update
+update delete
+update delete dummy
+update delete dummy in
+update delete dummy in a
+update delete dummy in a 127.0.0.1
+update add
+update add domain
+update add domain 0
+update add domain 0 in
+update add domain 0 in a
+update add domain 0 a
+update add domain 0 a in
diff --git a/bin/tests/system/nsupdate/ns3/sign.sh b/bin/tests/system/nsupdate/ns3/sign.sh
index 994d6d8c..e0b947c5 100644
--- a/bin/tests/system/nsupdate/ns3/sign.sh
+++ b/bin/tests/system/nsupdate/ns3/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/nsupdate/setup.sh b/bin/tests/system/nsupdate/setup.sh
index 6f3af2f4..16c030c7 100644
--- a/bin/tests/system/nsupdate/setup.sh
+++ b/bin/tests/system/nsupdate/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/nsupdate/tests.sh b/bin/tests/system/nsupdate/tests.sh
index fafebb5b..48988a8c 100644
--- a/bin/tests/system/nsupdate/tests.sh
+++ b/bin/tests/system/nsupdate/tests.sh
@@ -461,5 +461,28 @@ if [ $ret -ne 0 ]; then
status=1
fi
+n=`expr $n + 1`
+ret=0
+echo "I:check command list ($n)"
+(
+while read cmd
+do
+ echo "$cmd" | $NSUPDATE > /dev/null 2>&1
+ if test $? -gt 1 ; then
+ echo "I: failed ($cmd)"
+ ret=1
+ fi
+ echo "$cmd " | $NSUPDATE > /dev/null 2>&1
+ if test $? -gt 1 ; then
+ echo "I: failed ($cmd)"
+ ret=1
+ fi
+done
+exit $ret
+) < commandlist || ret=1
+if [ $ret -ne 0 ]; then
+ status=1
+fi
+
echo "I:exit status: $status"
exit $status
diff --git a/bin/tests/system/nsupdate/update_test.pl b/bin/tests/system/nsupdate/update_test.pl
index ef41b007..4b542916 100644
--- a/bin/tests/system/nsupdate/update_test.pl
+++ b/bin/tests/system/nsupdate/update_test.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/org.isc.bind.system b/bin/tests/system/org.isc.bind.system
index f8419955..9d66b632 100644
--- a/bin/tests/system/org.isc.bind.system
+++ b/bin/tests/system/org.isc.bind.system
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/packet.pl b/bin/tests/system/packet.pl
index 22c5a6b4..02b3f95f 100644
--- a/bin/tests/system/packet.pl
+++ b/bin/tests/system/packet.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/pending/clean.sh b/bin/tests/system/pending/clean.sh
index b0c0f587..ec0bcc24 100644
--- a/bin/tests/system/pending/clean.sh
+++ b/bin/tests/system/pending/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/tests/system/pending/ns1/sign.sh b/bin/tests/system/pending/ns1/sign.sh
index fcb5e0c8..c14115b9 100644
--- a/bin/tests/system/pending/ns1/sign.sh
+++ b/bin/tests/system/pending/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/bin/tests/system/pending/ns2/sign.sh b/bin/tests/system/pending/ns2/sign.sh
index af42d386..e9c78167 100644
--- a/bin/tests/system/pending/ns2/sign.sh
+++ b/bin/tests/system/pending/ns2/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/bin/tests/system/pending/prereq.sh b/bin/tests/system/pending/prereq.sh
index b05b622e..0b6998e8 100644
--- a/bin/tests/system/pending/prereq.sh
+++ b/bin/tests/system/pending/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/tests/system/pending/setup.sh b/bin/tests/system/pending/setup.sh
index 5332d36d..aa44c060 100644
--- a/bin/tests/system/pending/setup.sh
+++ b/bin/tests/system/pending/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/bin/tests/system/pending/tests.sh b/bin/tests/system/pending/tests.sh
index baf973a5..614db4c8 100644
--- a/bin/tests/system/pending/tests.sh
+++ b/bin/tests/system/pending/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/bin/tests/system/pkcs11/clean.sh b/bin/tests/system/pkcs11/clean.sh
index fc0393a2..d7a557b5 100644
--- a/bin/tests/system/pkcs11/clean.sh
+++ b/bin/tests/system/pkcs11/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/pkcs11/prereq.sh b/bin/tests/system/pkcs11/prereq.sh
index 9ee2ec08..40fe5e06 100644
--- a/bin/tests/system/pkcs11/prereq.sh
+++ b/bin/tests/system/pkcs11/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/pkcs11/setup.sh b/bin/tests/system/pkcs11/setup.sh
index e93cf4f4..246b502d 100644
--- a/bin/tests/system/pkcs11/setup.sh
+++ b/bin/tests/system/pkcs11/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/pkcs11/tests.sh b/bin/tests/system/pkcs11/tests.sh
index 7e170965..4694afc5 100644
--- a/bin/tests/system/pkcs11/tests.sh
+++ b/bin/tests/system/pkcs11/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/redirect/clean.sh b/bin/tests/system/redirect/clean.sh
index 6a7d6652..f043095c 100644
--- a/bin/tests/system/redirect/clean.sh
+++ b/bin/tests/system/redirect/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/redirect/ns1/sign.sh b/bin/tests/system/redirect/ns1/sign.sh
index a66441cc..95fe7304 100644
--- a/bin/tests/system/redirect/ns1/sign.sh
+++ b/bin/tests/system/redirect/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/redirect/setup.sh b/bin/tests/system/redirect/setup.sh
index 0f832bfc..4a8927ad 100644
--- a/bin/tests/system/redirect/setup.sh
+++ b/bin/tests/system/redirect/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/redirect/tests.sh b/bin/tests/system/redirect/tests.sh
index 6fae4c42..5315a064 100644
--- a/bin/tests/system/redirect/tests.sh
+++ b/bin/tests/system/redirect/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/resolver/ans2/ans.pl b/bin/tests/system/resolver/ans2/ans.pl
index dc6f4275..f2e4ef00 100644
--- a/bin/tests/system/resolver/ans2/ans.pl
+++ b/bin/tests/system/resolver/ans2/ans.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/resolver/ans3/ans.pl b/bin/tests/system/resolver/ans3/ans.pl
index 966c3fc7..e8a6ba52 100644
--- a/bin/tests/system/resolver/ans3/ans.pl
+++ b/bin/tests/system/resolver/ans3/ans.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/resolver/ns6/keygen.sh b/bin/tests/system/resolver/ns6/keygen.sh
index fecf1e99..fed820b8 100644
--- a/bin/tests/system/resolver/ns6/keygen.sh
+++ b/bin/tests/system/resolver/ns6/keygen.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/resolver/prereq.sh b/bin/tests/system/resolver/prereq.sh
index c0dbb7b9..1070f85e 100644
--- a/bin/tests/system/resolver/prereq.sh
+++ b/bin/tests/system/resolver/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/rndc/clean.sh b/bin/tests/system/rndc/clean.sh
index c3096179..425f9946 100644
--- a/bin/tests/system/rndc/clean.sh
+++ b/bin/tests/system/rndc/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/rndc/ns2/named.conf b/bin/tests/system/rndc/ns2/named.conf
index fa2000aa..12d6f147 100644
--- a/bin/tests/system/rndc/ns2/named.conf
+++ b/bin/tests/system/rndc/ns2/named.conf
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 2012 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,8 +32,13 @@ key rndc_key {
algorithm hmac-md5;
};
+key secondkey {
+ secret "abcd1234abcd8765";
+ algorithm hmac-md5;
+};
+
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; secondkey; };
};
diff --git a/bin/tests/system/rndc/ns2/secondkey.conf b/bin/tests/system/rndc/ns2/secondkey.conf
new file mode 100644
index 00000000..99a876c0
--- /dev/null
+++ b/bin/tests/system/rndc/ns2/secondkey.conf
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id: rndc.conf,v 1.5 2007/06/19 23:47:01 tbox Exp $ */
+
+options {
+ default-key "secondkey";
+};
+
+key secondkey {
+ secret "abcd1234abcd8765";
+ algorithm hmac-md5;
+};
diff --git a/bin/tests/system/rndc/setup.sh b/bin/tests/system/rndc/setup.sh
index 8927e837..aed84af5 100644
--- a/bin/tests/system/rndc/setup.sh
+++ b/bin/tests/system/rndc/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/rndc/tests.sh b/bin/tests/system/rndc/tests.sh
index cfdce0ae..1d1f2c46 100644
--- a/bin/tests/system/rndc/tests.sh
+++ b/bin/tests/system/rndc/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
@@ -225,5 +225,11 @@ $DIGCMD frozen.nil. TXT | grep 'frozen addition' >/dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
+echo "I:test using second key"
+ret=0
+$RNDC -s 10.53.0.2 -p 9953 -c ns2/secondkey.conf status > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
echo "I:exit status: $status"
exit $status
diff --git a/bin/tests/system/rpz/Makefile.in b/bin/tests/system/rpz/Makefile.in
index 5d3f0c22..1fa844f1 100644
--- a/bin/tests/system/rpz/Makefile.in
+++ b/bin/tests/system/rpz/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/rpz/clean.sh b/bin/tests/system/rpz/clean.sh
index f95d11a8..82cfcb29 100644
--- a/bin/tests/system/rpz/clean.sh
+++ b/bin/tests/system/rpz/clean.sh
@@ -17,8 +17,8 @@
# Clean up after rpz tests.
-rm -f proto.* dig.out* nsupdate.tmp
-rm -f */named.memstats */named.run */named.rpz */session.key
-rm -f ns3/bl*.db */*.jnl */*.core */*.pid
-rm -f ns2/signed-tld2.db
-rm -f ns2/K*.private ns2/K*.key dsset-*
+rm -f proto.* dsset-* random.data trusted.conf dig.out* nsupdate.tmp ns*/*tmp
+rm -f ns*/*.key ns*/*.private ns2/tld2s.db
+rm -f ns3/bl*.db ns*/*switch ns5/requests ns5/example.db ns5/bl.db ns5/*.perf
+rm -f */named.memstats */named.run */named.rpz */session.key
+rm -f */*.jnl */*.core */*.pid
diff --git a/bin/tests/system/rpz/ns1/root.db b/bin/tests/system/rpz/ns1/root.db
index c691b6e4..c8d8671c 100644
--- a/bin/tests/system/rpz/ns1/root.db
+++ b/bin/tests/system/rpz/ns1/root.db
@@ -23,12 +23,9 @@ ns. A 10.53.0.1
; rewrite responses from this zone
tld2. NS ns.tld2.
ns.tld2. A 10.53.0.2
-ns2.tld2. A 10.53.0.2
-; rewrite responses from this zone unless dnssec requested
-signed-tld2. NS ns.signed-tld2.
-ns.signed-tld2. A 10.53.0.2
-ns2.signed-tld2. A 10.53.0.2
+; rewrite responses from this secure zone unless dnssec requested (DO=1)
+tld2s. NS ns.tld2.
; requests come from here
tld3. NS ns.tld3.
@@ -37,4 +34,3 @@ ns.tld3. A 10.53.0.3
; rewrite responses from this zone
tld4. NS ns.tld4.
ns.tld4. A 10.53.0.4
-ns2.tld4. A 10.53.0.4
diff --git a/bin/tests/system/rpz/ns2/base-tld2s.db b/bin/tests/system/rpz/ns2/base-tld2s.db
new file mode 100644
index 00000000..463f2cee
--- /dev/null
+++ b/bin/tests/system/rpz/ns2/base-tld2s.db
@@ -0,0 +1,31 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id: base-tld2s.db,v 1.1.2.1 2012/02/24 17:22:37 vjs Exp $
+
+
+; RPZ rewrite responses from this signed zone
+
+$TTL 120
+@ SOA tld2s. hostmaster.ns.tld2. ( 1 3600 1200 604800 60 )
+ NS ns
+ NS . ; check for RT 24985
+ns A 10.53.0.2
+
+
+a0-1 A 192.168.0.1
+a0-1-scname CNAME a0-1.tld2.
+
+a3-5 A 192.168.3.5
+
diff --git a/bin/tests/system/rpz/ns2/named.conf b/bin/tests/system/rpz/ns2/named.conf
index 32640f63..a2fcd825 100644
--- a/bin/tests/system/rpz/ns2/named.conf
+++ b/bin/tests/system/rpz/ns2/named.conf
@@ -31,6 +31,7 @@ options {
notify no;
};
+include "../trusted.conf";
zone "." { type hint; file "hints"; };
zone "tld2." {type master; file "tld2.db";};
@@ -40,4 +41,5 @@ zone "sub2.tld2." {type master; file "tld2.db";};
zone "subsub.sub2.tld2." {type master; file "tld2.db";};
zone "sub3.tld2." {type master; file "tld2.db";};
zone "subsub.sub3.tld2." {type master; file "tld2.db";};
-zone "signed-tld2." {type master; file "signed-tld2.db";};
+
+zone "tld2s." {type master; file "tld2s.db";};
diff --git a/bin/tests/system/rpz/ns2/tld2.db b/bin/tests/system/rpz/ns2/tld2.db
index 5f5550a9..932a1685 100644
--- a/bin/tests/system/rpz/ns2/tld2.db
+++ b/bin/tests/system/rpz/ns2/tld2.db
@@ -1,4 +1,4 @@
-; Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) 2011, 2012 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
@@ -12,7 +12,7 @@
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: tld2.db,v 1.4 2011/10/13 01:32:33 vjs Exp $
+; $Id: tld2.db,v 1.4.4.2 2012/02/24 17:22:37 vjs Exp $
; RPZ rewrite responses from this zone
@@ -20,10 +20,8 @@
$TTL 120
@ SOA tld2. hostmaster.ns.tld2. ( 1 3600 1200 604800 60 )
NS ns
- NS ns2
NS . ; check for RT 24985
ns A 10.53.0.2
-ns2 A 10.53.0.2
txt-only TXT "txt-only-tld2"
@@ -36,6 +34,8 @@ a12-cname CNAME a12
a0-1 A 192.168.0.1
AAAA 2001:2::1
TXT "a0-1 tld2 text"
+a0-1-scname CNAME a0-1.tld2s.
+
a3-1 A 192.168.3.1
AAAA 2001:2:3::1
@@ -115,3 +115,8 @@ a5-3 A 192.168.5.3
a5-4 A 192.168.5.4
TXT "a5-4 tld2 text"
+
+a6-1 A 192.168.6.1
+ TXT "a6-1 tld2 text"
+a6-2 A 192.168.6.2
+ TXT "a6-2 tld2 text"
diff --git a/bin/tests/system/rpz/ns3/base.db b/bin/tests/system/rpz/ns3/base.db
index 23bf71d0..18710f90 100644
--- a/bin/tests/system/rpz/ns3/base.db
+++ b/bin/tests/system/rpz/ns3/base.db
@@ -1,4 +1,4 @@
-; Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) 2011, 2012 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
@@ -12,14 +12,17 @@
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: base.db,v 1.6 2011/10/13 01:32:33 vjs Exp $
+; $Id: base.db,v 1.6.4.1 2011/10/15 23:03:38 vjs Exp $
; RPZ test
+; This basic file is copied to several zone files before being used.
+; Its contents are also changed with nsupdate
+
$TTL 120
@ SOA blx. hostmaster.ns.blx. ( 1 3600 1200 604800 60 )
- NS ns.tld.
+ NS ns
ns A 10.53.0.3
; Poke the radix tree a little.
@@ -34,6 +37,6 @@ ns A 10.53.0.3
; regression testing for some old crashes
-redirect IN A 127.0.0.1
-*.redirect IN A 127.0.0.1
-*.credirect IN CNAME google.com.
+redirect A 127.0.0.1
+*.redirect A 127.0.0.1
+*.credirect CNAME google.com.
diff --git a/bin/tests/system/rpz/ns3/crash2 b/bin/tests/system/rpz/ns3/crash2
index d042c3c7..cd613bce 100644
--- a/bin/tests/system/rpz/ns3/crash2
+++ b/bin/tests/system/rpz/ns3/crash2
@@ -21,8 +21,8 @@ $TTL 120
NS ns
ns A 10.53.0.3
-; #18 in test1, crashed new ASSERT() in rbtdb.c
-c1 A 172.16.1.1
+; #24 in test1, crashed new ASSERT() in rbtdb.c
+c1 A 172.16.1.24
; #16 in test2, crashed new ASSERT() in rbtdb.c
c2 A 172.16.1.16
diff --git a/bin/tests/system/rpz/ns3/named.conf b/bin/tests/system/rpz/ns3/named.conf
index 57244b87..0906e7b3 100644
--- a/bin/tests/system/rpz/ns3/named.conf
+++ b/bin/tests/system/rpz/ns3/named.conf
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 2012 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,10 @@
/* $Id: named.conf,v 1.5 2011/10/28 11:46:50 marka Exp $ */
+/*
+ * Main rpz test DNS server.
+ */
+
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
@@ -29,13 +33,13 @@ options {
notify no;
response-policy {
- zone "bl";
+ zone "bl" max-policy-ttl 100;
zone "bl-2";
- zone "bl-given" policy given;
+ zone "bl-given" policy given recursive-only yes;
zone "bl-passthru" policy passthru;
- zone "bl-no-op" policy no-op; # obsolete for passthru
+ zone "bl-no-op" policy no-op; # obsolete for passthru
zone "bl-disabled" policy disabled;
- zone "bl-nodata" policy nodata;
+ zone "bl-nodata" policy nodata recursive-only no;
zone "bl-nxdomain" policy nxdomain;
zone "bl-cname" policy cname txt-only.tld2.;
zone "bl-wildcname" policy cname *.tld4.;
@@ -63,6 +67,7 @@ logging {
};
+// include "../trusted.conf";
zone "." { type hint; file "hints"; };
zone "bl." {type master; file "bl.db";
diff --git a/bin/tests/system/rpz/ns4/named.conf b/bin/tests/system/rpz/ns4/named.conf
index 78644b12..6828e86e 100644
--- a/bin/tests/system/rpz/ns4/named.conf
+++ b/bin/tests/system/rpz/ns4/named.conf
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 2012 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,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2011/10/13 04:53:06 marka Exp $ */
+/* $Id: named.conf,v 1.2.6.1 2012/02/24 17:22:37 vjs Exp $ */
controls { /* empty */ };
@@ -30,6 +30,7 @@ options {
notify no;
};
+include "../trusted.conf";
zone "." { type hint; file "hints"; };
zone "tld4." {type master; file "tld4.db";};
diff --git a/bin/tests/system/rpz/ns4/tld4.db b/bin/tests/system/rpz/ns4/tld4.db
index 24999de9..810189a0 100644
--- a/bin/tests/system/rpz/ns4/tld4.db
+++ b/bin/tests/system/rpz/ns4/tld4.db
@@ -1,4 +1,4 @@
-; Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) 2011, 2012 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
@@ -12,16 +12,14 @@
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: tld4.db,v 1.2 2011/10/13 04:53:07 marka Exp $
+; $Id: tld4.db,v 1.2.6.1 2012/02/24 17:22:37 vjs Exp $
; RPZ rewrite responses from this zone
$TTL 120
@ SOA tld4. hostmaster.ns.tld4. ( 1 3600 1200 604800 60 )
NS ns
- NS ns2
ns A 10.53.0.4
-ns2 A 10.53.0.4
txt-only TXT "txt-only-tld4"
diff --git a/bin/tests/system/rpz/ns5/hints b/bin/tests/system/rpz/ns5/hints
new file mode 100644
index 00000000..ae0e569e
--- /dev/null
+++ b/bin/tests/system/rpz/ns5/hints
@@ -0,0 +1,19 @@
+; Copyright (C) 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id: hints,v 1.1.2.1 2011/10/15 23:00:04 vjs Exp $
+
+
+. 0 NS ns1.
+ns1. 0 A 10.53.0.1
diff --git a/bin/tests/system/rpz/ns5/named.conf b/bin/tests/system/rpz/ns5/named.conf
new file mode 100644
index 00000000..533dce82
--- /dev/null
+++ b/bin/tests/system/rpz/ns5/named.conf
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id: named.conf,v 1.1.2.2 2012/02/24 17:22:38 vjs Exp $ */
+
+
+/*
+ * Test rpz performance.
+ */
+
+options {
+ query-source address 10.53.0.5;
+ notify-source 10.53.0.5;
+ transfer-source 10.53.0.5;
+ port 5300;
+ pid-file "named.pid";
+ session-keyfile "session.key";
+ listen-on { 10.53.0.5; };
+ listen-on-v6 { none; };
+ notify no;
+
+ # Eventually turn rpz on.
+ include "rpz-switch";
+};
+
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-md5;
+};
+controls { inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; }; };
+
+
+include "../trusted.conf";
+zone "." {type hint; file "hints"; };
+
+zone "example.com." {type master; file "example.db"; };
+
+zone "bl." {type master; file "bl.db"; };
diff --git a/bin/tests/system/rpz/qperf.sh b/bin/tests/system/rpz/qperf.sh
new file mode 100644
index 00000000..a823f1b6
--- /dev/null
+++ b/bin/tests/system/rpz/qperf.sh
@@ -0,0 +1,27 @@
+#! /bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: qperf.sh,v 1.1.2.1 2011/10/15 23:03:37 vjs Exp $
+
+for QDIR in `echo "$PATH" | tr : ' '` ../../../../contrib/queryperf; do
+ QPERF=$QDIR/queryperf
+ if test -f $QPERF -a -x $QPERF; then
+ echo $QPERF
+ exit 0
+ fi
+done
+
+exit 0
diff --git a/bin/tests/system/rpz/rpz.c b/bin/tests/system/rpz/rpz.c
index f1dd3261..8a357ddb 100644
--- a/bin/tests/system/rpz/rpz.c
+++ b/bin/tests/system/rpz/rpz.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 2012 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,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rpz.c,v 1.3 2011/01/13 04:59:24 tbox Exp $ */
+/* $Id: rpz.c,v 1.3.226.1 2011/10/15 23:03:37 vjs Exp $ */
#include <config.h>
@@ -39,7 +39,7 @@ main(int argc, char **argv)
#else
return (1);
#endif
- }
+ }
if (!strcasecmp(argv[1], "nsdname")) {
#ifdef ENABLE_RPZ_NSDNAME
@@ -47,8 +47,8 @@ main(int argc, char **argv)
#else
return (1);
#endif
- }
+ }
- fputs(USAGE, stderr);
- return (1);
+ fputs(USAGE, stderr);
+ return (1);
}
diff --git a/bin/tests/system/rpz/setup.sh b/bin/tests/system/rpz/setup.sh
index d13c32b4..1bc879c7 100644
--- a/bin/tests/system/rpz/setup.sh
+++ b/bin/tests/system/rpz/setup.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
#
# Copyright (C) 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
#
@@ -16,16 +16,100 @@
# $Id: setup.sh,v 1.6 2012/01/07 23:46:53 tbox Exp $
+set -e
+
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-. ./clean.sh
-# NO-OP is an obsolete synonym for PASSHTRU
+QPERF=`sh qperf.sh`
+
+sh clean.sh
+
+# set up test policy zones. bl-2 is used to check competing zones.
+# bl-{given,disabled,passthru,no-data,nxdomain,cname,wildcard,garden}
+# are used to check policy overrides in named.conf.
+# NO-OP is an obsolete synonym for PASSHTRU
for NM in '' -2 -given -disabled -passthru -no-op -nodata -nxdomain -cname -wildcname -garden; do
sed -e "/SOA/s/blx/bl$NM/g" ns3/base.db >ns3/bl$NM.db
done
+# sign the root and a zone in ns2
../../../tools/genrandom 400 random.data
-$KEYGEN -Kns2 -q -r random.data -3 signed-tld2. > /dev/null 2>&1
-$KEYGEN -Kns2 -q -r random.data -3fk signed-tld2. > /dev/null 2>&1
-$SIGNER -S -Kns2 -o signed-tld2. -f ns2/signed-tld2.db ns2/tld2.db > /dev/null 2>&1
+
+# $1=directory, $2=domain name, $3=input zone file, $4=output file
+signzone () {
+ KEYNAME=`$KEYGEN -q -r random.data -b 512 -K $1 $2`
+ cat $1/$3 $1/$KEYNAME.key > $1/tmp
+ $SIGNER -Pp -K $1 -o $2 -f $1/$4 $1/tmp >/dev/null
+ sed -n -e 's/\(.*\) IN DNSKEY \([0-9]\{1,\} [0-9]\{1,\} [0-9]\{1,\}\) \(.*\)/trusted-keys {"\1" \2 "\3";};/p' $1/$KEYNAME.key >>trusted.conf
+ rm dsset-$2 $1/tmp
+}
+signzone ns2 tld2s. base-tld2s.db tld2s.db
+
+
+# Performance checks.
+# First with rpz off.
+cat <<EOF >ns5/rpz-switch
+response-policy {zone "bl";}
+ recursive-only no
+ max-policy-ttl 90
+ break-dnssec yes;
+EOF
+
+cat <<EOF >ns5/example.db
+\$TTL 120
+@ SOA . hostmaster.ns.example. ( 1 3600 1200 604800 60 )
+ NS ns
+ns A 10.53.0.5
+EOF
+
+cat <<EOF >ns5/bl.db
+\$TTL 120
+@ SOA . hostmaster.ns.blperf. ( 1 3600 1200 604800 60 )
+ NS ns
+ns A 10.53.0.5
+
+; used only in failure for "recursive-only no" in #8 test5
+a3-5.tld2 CNAME *.
+; for "break-dnssec" in #9 test5
+a3-5.tld2s CNAME *.
+; for "max-policy-ttl 90" in test5
+a3-17.tld2 500 A 17.17.17.17
+
+; dummy NSDNAME policies to trigger lookups
+ns-1.example.com.rpz-nsdname CNAME .
+ns-2.example.com.rpz-nsdname CNAME .
+ns-3.example.com.rpz-nsdname CNAME .
+ns-4.example.com.rpz-nsdname CNAME .
+ns-5.example.com.rpz-nsdname CNAME .
+EOF
+
+if test -n "$QPERF"; then
+ # do not build the full zones if we will not use them to avoid the long
+ # time otherwise required to shut down the server
+ $PERL -e 'for ($val = 1; $val <= 65535; ++$val) {
+ printf("host-%d-%d\tA 192.168.%d.%d\n",
+ $val/256, $val%256, $val/256, $val%256);
+ }' >>ns5/example.db
+
+ echo >>ns5/bl.db
+ echo "; rewrite some names" >>ns5/bl.db
+ $PERL -e 'for ($val = 2; $val <= 65535; $val += 69) {
+ printf("host-%d.sub%d.example.com\tCNAME\t.\n", $val/256, $val%256);
+ }' >>ns5/bl.db
+
+ echo >>ns5/bl.db
+ echo "; rewrite with some not entirely trivial patricia trees" >>ns5/bl.db
+ $PERL -e 'for ($val = 3; $val <= 65535; $val += 69) {
+ printf("32.%d.%d.168.192.rpz-ip \tCNAME\t.\n",
+ $val%256, $val/256);
+ printf("32.%d.%d.168.192.rpz-nsip\tCNAME\t.\n",
+ ($val+1)%256, ($val+1)/256);
+ }' >>ns5/bl.db
+fi
+
+# some psuedo-random queryperf requests
+$PERL -e 'for ($cnt = $val = 1; $cnt <= 2000; ++$cnt) {
+ printf("host-%d.sub%d.example.com A\n", $val%256, $val/256);
+ $val = ($val * 9 + 32771) % 65536;
+ }' >ns5/requests
diff --git a/bin/tests/system/rpz/test1 b/bin/tests/system/rpz/test1
index 27becfe5..aa885c3e 100644
--- a/bin/tests/system/rpz/test1
+++ b/bin/tests/system/rpz/test1
@@ -25,13 +25,13 @@ server 10.53.0.3 5300
; QNAME tests
; NXDOMAIN
+; 2, 20, 25
update add a0-1.tld2.bl. 300 CNAME .
-update add a0-1.signed-tld2.bl. 300 CNAME .
-;
; NODATA
+; 3, 21
update add a3-1.tld2.bl. 300 CNAME *.
; and no assert-botch
-; 5
+; 5, 22
update add a3-2.tld2.bl. 300 DNAME example.com.
;
; NXDOMAIN for a4-2-cname.tld2 via its target a4-2.tld2.
@@ -57,24 +57,32 @@ update add nxc2.sub1.tld2.bl. 300 CNAME a12-cname.tld2.
;
; prefer the first conflicting zone
; 13
-update add a4-4.tld2.bl. 300 A 127.0.0.1
+update add a4-4.tld2.bl. 300 A 127.4.4.1
+update add a6-1.tld2.bl. 300 CNAME a6-1.tld2.
+update add a6-2.tld2.bl. 300 A 127.6.2.1
+update add a6-1.tld2.bl. 300 A 127.6.1.1
+update add a6-2.tld2.bl. 300 CNAME a6-2.tld2.
send
-update add a4-4.tld2.bl-2. 300 A 127.0.0.2
+update add a4-4.tld2.bl-2. 300 A 127.4.4.2
send
-;
+
; wildcard CNAME
-; 14
+; 16
update add a3-6.tld2.bl. 300 CNAME *.tld4.
-; 15
+; 17
update add *.sub1.tld2.bl. 300 CNAME *.tld4.
-; CNAME chains
-; 16
+; CNAME chain
+; 18
update add a4-5.tld2.bl. 300 A 127.0.0.16
-; 17
+; stop at first hit in CNAME chain
+; 19
update add a4-6.tld2.bl. 300 CNAME .
update add a4-6-cname.tld2.bl. 300 A 127.0.0.17
-
-; 18
+;
+; assert in rbtdb.c
+; 24
update add c1.crash2.tld3.bl. 300 CNAME .
-
+; DO=1 without signatures, DO=0 with signatures are rewritten
+; 26 - 27
+update add a0-1.tld2s.bl. 300 CNAME .
send
diff --git a/bin/tests/system/rpz/test2 b/bin/tests/system/rpz/test2
index 3038260f..2a467af9 100644
--- a/bin/tests/system/rpz/test2
+++ b/bin/tests/system/rpz/test2
@@ -19,41 +19,54 @@
; single requests
; Separate update requests for distinct TLDs with blank lines or 'send'
; End the file with a blank line or 'send'
+; CNAME targets are absolute even without trailing "."
; IP tests
server 10.53.0.3 5300
; NODATA a3-1.tld2
+; 1
update add 32.1.3.168.192.rpz-ip.bl 300 CNAME *.
;
-; NXDOMAIN for 192.168.4.0/24, the network of a4-1.tld2
+; NXDOMAIN for 192.168.4.0/24, the network of a4-1.tld2 and a4-2.tld2
+; 4
update add 24.0.4.168.192.rpz-ip.bl 300 CNAME .
;
-; poke hole in NXDOMAIN CIDR block to leave a4-1.tld2 unchanged
+; old passthru in NXDOMAIN CIDR block to leave a4-1.tld2 unchanged
+; 3
update add 32.1.4.168.192.rpz-ip.bl 300 CNAME 32.1.4.168.192
;
; NODATA for a4-3.tld2
+; 8
update add 32.3.4.168.192.rpz-ip.bl 300 CNAME *.
;
; NXDOMAIN for IPv6 a3-1.tld2
+; 9
update add 128.1.zz.3.2.2001.rpz-ip.bl 300 CNAME .
;
; apply the policy with the lexically smallest address of 192.168.5.1
; to an RRset of more than one A RR
+; 11
update add 32.1.5.168.192.rpz-ip.bl 300 A 127.0.0.1
update add 32.2.5.168.192.rpz-ip.bl 300 A 127.0.0.2
;
; prefer first conflicting IP zone for a5-3.tld2
+; 12
update add 32.3.5.168.192.rpz-ip.bl 300 A 127.0.0.1
send
update add 32.3.5.168.192.rpz-ip.bl-2 300 A 127.0.0.2
send
; prefer QNAME to IP for a5-4.tld2
+; 13
update add 32.4.5.168.192.rpz-ip.bl 300 CNAME a12.tld2.
update add a5-4.tld2.bl 300 CNAME a14.tld4.
;
+; poke hole in NXDOMAIN CIDR block to leave a4-4.tld2 unchanged
+; 15
+update add 32.4.4.168.192.rpz-ip.bl 300 CNAME rpz-passthru.
+;
; assert in rbtdb.c
; 16
update add 32.16.1.16.172.rpz-ip.bl 300 CNAME .
diff --git a/bin/tests/system/rpz/test5 b/bin/tests/system/rpz/test5
index 481118e4..a6510d30 100644
--- a/bin/tests/system/rpz/test5
+++ b/bin/tests/system/rpz/test5
@@ -12,7 +12,7 @@
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: test5,v 1.5 2011/10/13 01:32:33 vjs Exp $
+; $Id: test5,v 1.5.4.1 2012/02/24 17:22:37 vjs Exp $
; Use comment lines instead of blank lines to combine update requests into
@@ -24,22 +24,37 @@
server 10.53.0.3 5300
+; 1
update add a3-1.tld2.bl-given. 300 A 127.0.0.1
send
+; 2
update add a3-2.tld2.bl-passthru. 300 A 127.0.0.2
send
+; 3
update add a3-3.tld2.bl-no-op. 300 A 127.0.0.3
send
+; 4
update add a3-4.tld2.bl-disabled. 300 A 127.0.0.4
send
+; 5 - 8
update add a3-5.tld2.bl-nodata. 300 A 127.0.0.5
+; 9 - 10
+update add a3-5.tld2s.bl-nodata. 300 A 127.0.0.9
send
-update add a3-6.tld2.bl-nxdomain. 300 A 127.0.0.6
+; 11
+update add a3-6.tld2.bl-nxdomain. 300 A 127.0.0.11
send
-update add a3-7.tld2.bl-cname. 300 A 127.0.0.7
+; 12
+update add a3-7.tld2.bl-cname. 300 A 127.0.0.12
send
-update add a3-8.tld2.bl-wildcname. 300 A 127.0.0.8
-update add *.sub9.tld2.bl-wildcname. 300 A 127.0.1.9
+; 13
+update add a3-8.tld2.bl-wildcname. 300 A 127.0.0.13
+; 14
+update add *.sub9.tld2.bl-wildcname. 300 A 127.0.1.14
send
-update add a3-10.tld2.bl-garden. 300 A 127.0.0.10
+; 15
+update add a3-15.tld2.bl-garden. 300 A 127.0.0.15
+send
+; 16
+update add a3-16.tld2.bl. 300 A 127.0.0.16
send
diff --git a/bin/tests/system/rpz/tests.sh b/bin/tests/system/rpz/tests.sh
index 6d841462..a669ed4c 100644
--- a/bin/tests/system/rpz/tests.sh
+++ b/bin/tests/system/rpz/tests.sh
@@ -19,12 +19,12 @@
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-ns1=10.53.0.1 # root, defining the other two
-ns2=10.53.0.2 # server whose answers are rewritten
-ns3=10.53.0.3 # resolve that does the rewriting
-ns4=10.53.0.4 # another server that is rewritten
-
-RNDCCMD="$RNDC -c ../common/rndc.conf -s $ns3 -p 9953"
+ns=10.53.0
+ns1=$ns.1 # root, defining the others
+ns2=$ns.2 # server whose answers are rewritten
+ns3=$ns.3 # resolve that does the rewriting
+ns4=$ns.4 # another server that is rewritten
+ns5=$ns.5 # check performance with this server
HAVE_CORE=
@@ -44,9 +44,16 @@ fi
trap 'exit 1' 1 2 15
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p 9953 -s"
+
digcmd () {
- #echo I:dig +noadd +noauth +nosearch +time=1 +tries=1 -p 5300 $* 1>&2
- $DIG +noadd +noauth +nosearch +time=1 +tries=1 -p 5300 $*
+ digcmd_args="+noadd +nosearch +time=1 +tries=1 -p 5300 $*"
+ expr "$digcmd_args" : '.*@' >/dev/null || \
+ digcmd_args="$digcmd_args @$ns3"
+ expr "$digcmd_args" : '.*+[no]*auth' >/dev/null || \
+ digcmd_args="+noauth $digcmd_args"
+ #echo I:dig $digcmd_args 1>&2
+ $DIG $digcmd_args
}
# set DIGNM=file name for dig output
@@ -77,20 +84,41 @@ load_db () {
}
restart () {
- $RNDCCMD stop >/dev/null 2>&1
- rm -f ns3/*.jnl
- for NM in ns3/bl*.db; do
- cp -f ns3/base.db $NM
- done
- (cd ..; $PERL start.pl --noclean --restart rpz ns3)
+ # try to ensure that the server really has stopped
+ # and won't mess with ns$1/name.pid
+ if test -z "$HAVE_CORE" -a -f ns$1/named.pid; then
+ $RNDCCMD $ns$1 halt >/dev/null 2>&1
+ if test -f ns$1/named.pid; then
+ sleep 1
+ PID=`cat ns$1/named.pid 2>/dev/null`
+ if test -n "$PID"; then
+ echo "I:killing ns$1 server $PID"
+ kill -9 $PID
+ fi
+ fi
+ fi
+ rm -f ns$1/*.jnl
+ if test -f ns$1/base.db; then
+ for NM in ns$1/bl*.db; do
+ cp -f ns$1/base.db $NM
+ done
+ fi
+ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns$1
load_db
}
+# $1=server and irrelevant args $2=error message
ckalive () {
- $RNDCCMD status >/dev/null 2>&1 && return 0
+ CKALIVE_NS=`expr "$1" : '.*@ns\([1-9]\).*'`
+ if test -z "$CKALIVE_NS"; then
+ CKALIVE_NS=3
+ fi
+ eval CKALIVE_IP=\$ns$CKALIVE_NS
+ $RNDCCMD $CKALIVE_IP status >/dev/null 2>&1 && return 0
HAVE_CORE=yes
- setret "$1"
- restart
+ setret "$2"
+ # restart the server to avoid stalling waiting for it to stop
+ restart $CKALIVE_NS
return 1
}
@@ -113,15 +141,29 @@ end_group () {
sed -e 's/[ ]add[ ]/ delete /' $TEST_FILE | $NSUPDATE
TEST_FILE=
fi
+ ckalive $ns3 "I:failed; ns3 server crashed and restarted"
+ if test "$status" -eq 0; then
+ # look for complaints from rpz.c
+ EMSGS=`grep -l 'invalid rpz' */*.run`
+ if test -n "$EMSGS"; then
+ setret "I:'invalid rpz' complaints in $EMSGS starting with:"
+ grep 'invalid rpz' */*.run | sed -e '4,$d' -e 's/^/I: /'
+ fi
+ # look for complaints from rpz.c and query.c
+ EMSGS=`grep -l 'rpz .*failed' */*.run`
+ if test -n "$EMSGS"; then
+ setret "I:'rpz failed' complaints in $EMSGS starting with:"
+ grep 'rpz .*failed' */*.run | sed -e '4,$d' -e 's/^/I: /'
+ fi
+ fi
status=`expr $status + $ret`
- ckalive "I:failed; server crashed"
GROUP_NM=
}
# $1=dig args $2=other dig output file
ckresult () {
- #ckalive "I:server crashed by 'dig $1'" || return 1
- if $PERL ../digcomp.pl $DIGNM $2 >/dev/null; then
+ #ckalive "$1" "I:server crashed by 'dig $1'" || return 1
+ if $PERL $SYSTEMTESTTOP/digcomp.pl $DIGNM $2 >/dev/null; then
rm -f ${DIGNM}*
return 0
fi
@@ -132,8 +174,8 @@ ckresult () {
# check only that the server does not crash
# $1=target domain $2=optional query type
nocrash () {
- digcmd $* @$ns3 >/dev/null
- ckalive "I:server crashed by 'dig $*'"
+ digcmd $* >/dev/null
+ ckalive "$*" "I:server crashed by 'dig $*'"
}
@@ -141,8 +183,10 @@ nocrash () {
# $1=target domain $2=optional query type
nxdomain () {
make_dignm
- digcmd +noauth $* @$ns3 \
- | sed -e 's/^[a-z].* IN CNAME /;xxx &/' >$DIGNM
+ digcmd $* \
+ | sed -e 's/^[a-z].* IN CNAME /;xxx &/' \
+ -e 's/^[a-z].* IN RRSIG /;xxx &/' \
+ >$DIGNM
ckresult "$*" proto.nxdomain
}
@@ -150,33 +194,37 @@ nxdomain () {
# $1=target domain $2=optional query type
nodata () {
make_dignm
- digcmd +noauth $* @$ns3 \
+ digcmd $* \
| sed -e 's/^[a-z].* IN CNAME /;xxx &/' >$DIGNM
ckresult "$*" proto.nodata
}
# check rewrite to an address
# modify the output so that it is easily compared, but save the original line
-# $1=IPv4 address, $2=target domain $3=optional query type
+# $1=IPv4 address $2=digcmd args $3=optional TTL
addr () {
ADDR=$1
- shift
- ADDR_ESC=`echo "$ADDR" | sed -e 's/\./\\\\./g'`
make_dignm
- digcmd +noauth $* @$ns3 >$DIGNM
- #ckalive "I:server crashed by 'dig $*'" || return
- if grep -i '^[a-z].* A '"$ADDR_ESC"'$' $DIGNM >/dev/null; then
- rm -f ${DIGNM}*
- return 0
+ digcmd $2 >$DIGNM
+ #ckalive "$2" "I:server crashed by 'dig $2'" || return 1
+ ADDR_ESC=`echo "$ADDR" | sed -e 's/\./\\\\./g'`
+ ADDR_TTL=`sed -n -e "s/^[-.a-z0-9]\{1,\} *\([0-9]*\) IN A\{1,4\} ${ADDR_ESC}\$/\1/p" $DIGNM`
+ if test -z "$ADDR_TTL"; then
+ setret "I:'dig $2' wrong; no address $ADDR record in $DIGNM"
+ return 1
+ fi
+ if test -n "$3" && test "$ADDR_TTL" -ne "$3"; then
+ setret "I:'dig $2' wrong; TTL=$ADDR_TTL instead of $3 in $DIGNM"
+ return 1
fi
- setret "I:'dig $*' wrong; no A $ADDR record in $DIGNM $2"
+ rm -f ${DIGNM}*
}
# check that a response is not rewritten
# $1=target domain $2=optional query type
nochange () {
make_dignm
- digcmd $* @$ns3 >$DIGNM
+ digcmd $* >$DIGNM
digcmd $* @$ns2 >${DIGNM}_OK
ckresult "$*" ${DIGNM}_OK && rm -f ${DIGNM}_OK
}
@@ -185,23 +233,23 @@ nochange () {
here () {
make_dignm
sed -e 's/^[ ]*//' >${DIGNM}_OK
- digcmd $* @$ns3 >$DIGNM
+ digcmd $* >$DIGNM
ckresult "$*" ${DIGNM}_OK
}
# make prototype files to check against rewritten results
-digcmd +noauth nonexistent @$ns2 >proto.nxdomain
-digcmd +noauth txt-only.tld2 @$ns2 >proto.nodata
+digcmd nonexistent @$ns2 >proto.nxdomain
+digcmd txt-only.tld2 @$ns2 >proto.nodata
status=0
start_group "QNAME rewrites" test1
-nochange .
-nxdomain a0-1.tld2
-nodata a3-1.tld2
-nodata a3-2.tld2
-nodata sub.a3-2.tld2 # 5 no crash on DNAME
+nochange . # 1 do not crash or rewrite root
+nxdomain a0-1.tld2 # 2
+nodata a3-1.tld2 # 3
+nodata a3-2.tld2 # 4 no crash on DNAME
+nodata sub.a3-2.tld2
nxdomain a4-2.tld2 # 6 rewrite based on CNAME target
nxdomain a4-2-cname.tld2 # 7
nodata a4-3-cname.tld2 # 8
@@ -209,32 +257,43 @@ addr 12.12.12.12 a4-1.sub1.tld2 # 9 A replacement
addr 12.12.12.12 a4-1.sub2.tld2 # 10 A replacement with wildcard
addr 12.12.12.12 nxc1.sub1.tld2 # 11 replace NXDOMAIN with CNAME
addr 12.12.12.12 nxc2.sub1.tld2 # 12 replace NXDOMAIN with CNAME chain
-addr 127.0.0.1 a4-4.tld2 # 13 prefer 1st conflicting QNAME zone
-addr 56.56.56.56 a3-6.tld2 # 14 wildcard CNAME
-addr 57.57.57.57 a3-7.sub1.tld2 # 15 wildcard CNAME
-addr 127.0.0.16 a4-5-cname3.tld2 # 16 CNAME chain
-addr 127.0.0.17 a4-6-cname3.tld2 # 17 stop short in CNAME chain
-nxdomain c1.crash2.tld3 # 18 assert in rbtdb.c
-nochange a0-1.tld2 +norecurse
-nxdomain a0-1.tld2 +dnssec
-nxdomain a0-1.signed-tld2
-nochange a0-1.signed-tld2 +dnssec
+addr 127.4.4.1 a4-4.tld2 # 13 prefer 1st conflicting QNAME zone
+nochange a6-1.tld2 # 14
+addr 127.6.2.1 a6-2.tld2 # 15
+addr 56.56.56.56 a3-6.tld2 # 16 wildcard CNAME
+addr 57.57.57.57 a3-7.sub1.tld2 # 17 wildcard CNAME
+addr 127.0.0.16 a4-5-cname3.tld2 # 18 CNAME chain
+addr 127.0.0.17 a4-6-cname3.tld2 # 19 stop short in CNAME chain
+nochange a0-1.tld2 +norecurse # 20 check that RD=1 is required
+nochange a3-1.tld2 +norecurse # 21
+nochange a3-2.tld2 +norecurse # 22
+nochange sub.a3-2.tld2 +norecurse # 23
+nxdomain c1.crash2.tld3 # 24 assert in rbtdb.c
+nxdomain a0-1.tld2 +dnssec # 25 simple DO=1 without signatures
+nxdomain a0-1.tld2s # 26 simple DO=0 with signatures
+nochange a0-1.tld2s +dnssec # 27 simple DO=1 with signatures
+nxdomain a0-1s-cname.tld2s +dnssec # 28 DNSSEC too early in CNAME chain
+nochange a0-1-scname.tld2 +dnssec # 29 DNSSEC on target in CNAME chain
+nochange a0-1.tld2s srv +auth +dnssec # 30 no write for +DNSSEC and no record
+nxdomain a0-1.tld2s srv # 31
end_group
start_group "IP rewrites" test2
-nodata a3-1.tld2
-nochange a3-2.tld2
-nochange a4-1.tld2
-nxdomain a4-2.tld2
-nochange a4-2.tld2 -taaaa
-nochange a4-2.tld2 -ttxt
-nxdomain a4-2.tld2 -tany
-nodata a4-3.tld2
-nxdomain a3-1.tld2 -tAAAA
-nochange a4-1-aaaa.tld2 -tAAAA
+nodata a3-1.tld2 # 1 NODATA
+nochange a3-2.tld2 # 2 no policy record so no change
+nochange a4-1.tld2 # 3 obsolete PASSTHRU record style
+nxdomain a4-2.tld2 # 4
+nochange a4-2.tld2 -taaaa # 5 no A => no policy rewrite
+nochange a4-2.tld2 -ttxt # 6 no A => no policy rewrite
+nxdomain a4-2.tld2 -tany # 7 no A => no policy rewrite
+nodata a4-3.tld2 # 8
+nxdomain a3-1.tld2 -taaaa # 9 IPv6 policy
+nochange a4-1-aaaa.tld2 -taaaa # 10
addr 127.0.0.1 a5-1-2.tld2 # 11 prefer smallest policy address
addr 127.0.0.1 a5-3.tld2 # 12 prefer first conflicting IP zone
addr 14.14.14.14 a5-4.tld2 # 13 prefer QNAME to IP
+nochange a5-4.tld2 +norecurse # 14 check that RD=1 is required
+nochange a4-4.tld2 # 15 PASSTHRU
nxdomain c2.crash2.tld3 # 16 assert in rbtdb.c
end_group
@@ -256,7 +315,7 @@ end_group
if ./rpz nsdname; then
start_group "NSDNAME rewrites" test3
nochange a3-1.tld2
- nochange a3-1.tld2 +dnssec # 2 this once caused problems
+ nochange a3-1.tld2 +dnssec # 2 this once caused problems
nxdomain a3-1.sub1.tld2 # 3 NXDOMAIN *.sub1.tld2 by NSDNAME
nxdomain a3-1.subsub.sub1.tld2
nxdomain a3-1.subsub.sub1.tld2 -tany
@@ -284,21 +343,29 @@ else
fi
# policies in ./test5 overridden by response-policy{} in ns3/named.conf
+# and in ns5/named.conf
start_group "policy overrides" test5
addr 127.0.0.1 a3-1.tld2 # 1 bl-given
nochange a3-2.tld2 # 2 bl-passthru
nochange a3-3.tld2 # 3 bl-no-op obsolete for passthru
nochange a3-4.tld2 # 4 bl-disabled
nodata a3-5.tld2 # 5 bl-nodata
-nxdomain a3-6.tld2 # 6 bl-nxdomain
-here +noauth a3-7.tld2 -tany <<'EOF' # 7 bl_cname
+nodata a3-5.tld2 +norecurse # 6 bl-nodata recursive-only no
+nodata a3-5.tld2 # 7 bl-nodata
+nodata a3-5.tld2 +norecurse @$ns5 # 8 bl-nodata recursive-only no
+nodata a3-5.tld2s @$ns5 # 9 bl-nodata
+nodata a3-5.tld2s +dnssec @$ns5 # 10 bl-nodata break-dnssec
+nxdomain a3-6.tld2 # 11 bl-nxdomain
+here a3-7.tld2 -tany <<'EOF'
;; status: NOERROR, x
- a3-7.tld2. 300 IN CNAME txt-only.tld2.
- txt-only.tld2. 120 IN TXT "txt-only-tld2"
+ a3-7.tld2. x IN CNAME txt-only.tld2.
+ txt-only.tld2. x IN TXT "txt-only-tld2"
EOF
-addr 58.58.58.58 a3-8.tld2 # 8 bl_wildcname
-addr 59.59.59.59 a3-9.sub9.tld2 # 9 bl_wildcname
-addr 12.12.12.12 a3-10.tld2 # 10 bl-garden
+addr 58.58.58.58 a3-8.tld2 # 13 bl_wildcname
+addr 59.59.59.59 a3-9.sub9.tld2 # 14 bl_wildcname
+addr 12.12.12.12 a3-15.tld2 # 15 bl-garden via CNAME to a12.tld2
+addr 127.0.0.16 a3-16.tld2 100 # 16 bl max-policy-ttl 100
+addr 17.17.17.17 "a3-17.tld2 @$ns5" 90 # 17 ns5 bl max-policy-ttl 90
end_group
# check that miscellaneous bugs are still absent
@@ -312,12 +379,68 @@ for Q in RRSIG SIG ANY 'ANY +dnssec'; do
done
end_group
-# restart the server to see if that creates a core file
+
+# superficial test for major performance bugs
+QPERF=`sh qperf.sh`
+if test -n "$QPERF"; then
+ perf () {
+ echo "I:checking performance $1"
+ # don't measure the costs of -d99
+ $RNDCCMD $ns5 notrace >/dev/null
+ $QPERF -1 -l2 -d ns5/requests -s $ns5 -p 5300 >ns5/$2.perf
+ ckalive $ns5 "I:failed; server #5 crashed"
+ }
+ trim () {
+ sed -n -e 's/.*Queries per second: *\([0-9]*\).*/\1/p' ns5/$1.perf
+ }
+
+ # Dry run to prime disk cache
+ # Otherwise a first test of either flavor is 25% low
+ perf 'to prime disk cache' rpz
+
+ # get queries/second with rpz
+ perf 'with rpz' rpz
+
+ # turn off rpz and measure queries/second again
+ # Don't wait for a clean stop. Clean stops of this server need seconds
+ # until the sockets are closed. 5 or 10 seconds after that, the
+ # server really stops and deletes named.pid.
+ echo "# rpz off" >ns5/rpz-switch
+ PID=`cat ns5/named.pid`
+ test -z "$PID" || kill -9 "$PID"
+ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns5
+ perf 'without rpz' norpz
+
+ # Don't wait for a clean stop. Clean stops of this server need seconds
+ # until the sockets are closed. 5 or 10 seconds after that, the
+ # server really stops and deletes named.pid.
+ echo "# rpz off" >ns5/rpz-switch
+ PID=`cat ns5/named.pid`
+ test -z "$PID" || kill -9 "$PID" && rm -f ns5/named.pid
+
+ NORPZ=`trim norpz`
+ RPZ=`trim rpz`
+ echo "I:$RPZ qps with RPZ versus $NORPZ qps without"
+
+ # fail if RPZ costs more than 100%
+ NORPZ2=`expr "$NORPZ" / 2`
+ if test "$RPZ" -le "$NORPZ2"; then
+ echo "I:rpz $RPZ qps too far below non-RPZ $NORPZ qps"
+ status=`expr $status + 1`
+ fi
+else
+ echo "I:performance not checked; queryperf not available"
+fi
+
+
+# restart the main test RPZ server to see if that creates a core file
if test -z "$HAVE_CORE"; then
- $RNDCCMD halt
- restart
- test -s ns3/named.core && setret "I:found stray core file; memory leak?"
+ $PERL $SYSTEMTESTTOP/stop.pl . ns3
+ restart 3
+ HAVE_CORE=`find ns* -name '*core*' -print`
+ test -z "$HAVE_CORE" || setret "I:found $HAVE_CORE; memory leak?"
fi
+
echo "I:exit status: $status"
exit $status
diff --git a/bin/tests/system/rrsetorder/clean.sh b/bin/tests/system/rrsetorder/clean.sh
index a337bd6d..7ddbdb11 100644
--- a/bin/tests/system/rrsetorder/clean.sh
+++ b/bin/tests/system/rrsetorder/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2006-2008, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2006-2008, 2011, 2012 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
diff --git a/bin/tests/system/rsabigexponent/Makefile.in b/bin/tests/system/rsabigexponent/Makefile.in
new file mode 100644
index 00000000..d32eb15a
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/Makefile.in
@@ -0,0 +1,55 @@
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+srcdir = @srcdir@
+VPATH = @srcdir@
+top_srcdir = @top_srcdir@
+
+@BIND9_VERSION@
+
+@BIND9_MAKE_INCLUDES@
+
+CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES} @DST_OPENSSL_INC@
+
+CDEFINES = @USE_OPENSSL@
+CWARNINGS =
+
+DNSLIBS = ../../../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
+ISCLIBS = ../../../../lib/isc/libisc.@A@
+
+DNSDEPLIBS = ../../../../lib/dns/libdns.@A@
+ISCDEPLIBS = ../../../../lib/isc/libisc.@A@
+
+DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
+
+LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
+
+TARGETS = bigkey@EXEEXT@
+
+OBJS = bigkey.@O@
+
+SRCS = bigkey.c
+
+@BIND9_MAKE_RULES@
+
+all: bigkey@EXEEXT@
+
+bigkey@EXEEXT@: ${OBJS} ${DEPLIBS}
+ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJS} ${LIBS}
+
+clean distclean::
+ rm -f ${TARGETS}
+
diff --git a/bin/tests/system/rsabigexponent/bigkey.c b/bin/tests/system/rsabigexponent/bigkey.c
new file mode 100644
index 00000000..0b8c17df
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/bigkey.c
@@ -0,0 +1,250 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+#ifdef OPENSSL
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <isc/buffer.h>
+#include <isc/entropy.h>
+#include <isc/mem.h>
+#include <isc/region.h>
+#include <isc/stdio.h>
+#include <isc/string.h>
+#include <isc/util.h>
+
+#define DST_KEY_INTERNAL
+
+#include <dns/dnssec.h>
+#include <dns/fixedname.h>
+#include <dns/keyvalues.h>
+#include <dns/log.h>
+#include <dns/name.h>
+#include <dns/rdataclass.h>
+#include <dns/result.h>
+#include <dns/secalg.h>
+
+#include <dst/dst.h>
+#include <dst/result.h>
+
+#include <openssl/opensslv.h>
+#if OPENSSL_VERSION_NUMBER <= 0x00908000L
+
+/*
+ * Use a fixed key file pair if OpenSSL doesn't support > 32 bit exponents.
+ */
+
+int
+main(int argc, char **argv) {
+ FILE *fp;
+
+ UNUSED(argc);
+ UNUSED(argv);
+
+ fp = fopen("Kexample.+005+10264.private", "w");
+ if (fp == NULL) {
+ perror("fopen(Kexample.+005+10264.private)");
+ exit(1);
+ }
+
+ fputs("Private-key-format: v1.3\n", fp);
+ fputs("Algorithm: 5 (RSASHA1)\n", fp);
+ fputs("Modulus: yhNbLRPA7VpLCXcgMvBwsfe7taVaTvLPY3AI+YolKwqD6"
+ "/3nLlCcz4kBOTOkQBf9bmO98WnKuOWoxuEOgudoDvQOzXNl9RJtt61"
+ "IRMscAlsVtTIfAjPLhcGy32l2s5VYWWVXx/qkcf+i/JC38YXIuVdiA"
+ "MtbgQV40ffM4lAbZ7M=\n", fp);
+ fputs("PublicExponent: AQAAAAAAAQ==\n", fp);
+ fputs("PrivateExponent: gfXvioazoFIJp3/H2kJncrRZaqjIf9+21CL1i"
+ "XecBOof03er8ym5AKopZQM8ie+qxvhDkIJ8YDrB7UbDxmFpPceHWYM"
+ "X0vDWQCIiEiKzRfCsBOjgJu6HS15G/oZDqDwKat+yegtzxhg48BCPq"
+ "zfHLXXUvBTA/HK/u8L1LwggqHk=\n", fp);
+ fputs("Prime1: 7xAPHsNnS0w7CoEnIQiu+SrmHsy86HKJOEm9FiQybRVCwf"
+ "h4ZRQl+Z9mUbb9skjPvkM6ZeuzXTFkOjdck2y1NQ==\n", fp);
+ fputs("Prime2: 2GRzzqyRR2gfITPug8Rddxt647/2DrAuKricX/AXyGcuHM"
+ "vTZ+v+mfgJn6TFqSn4SBF2zHJ876lWbQ+12aNORw==\n", fp);
+ fputs("Exponent1: PnGTwxiT59N/Rq/FSAwcwoAudiF/X3iK0X09j9Dl8cY"
+ "DYAJ0bhB9es1LIaSsgLSER2b1kHbCp+FQXGVHJeZ07Q==\n", fp);
+ fputs("Exponent2: Ui+zxA/zbnUSYnz+wdbrfBD2aTeKytZG4ASI3oPDZag"
+ "V9YC0eZRPjI82KQcFXoj1b/fV/HzT9/9rhU4mvCGjLw==\n", fp);
+ fputs("Coefficient: sdCL6AdOaCr9c+RO8NCA492MOT9w7K9d/HauC+fif"
+ "2iWN36dA+BCKaeldS/+6ZTnV2ZVyVFQTeLJM8hplxDBwQ==\n", fp);
+
+ if (fclose(fp) != 0) {
+ perror("fclose(Kexample.+005+10264.private)");
+ exit(1);
+ }
+
+ fp = fopen("Kexample.+005+10264.key", "w");
+ if (fp == NULL) {
+ perror("fopen(Kexample.+005+10264.key)");
+ exit(1);
+ }
+
+ fputs("; This is a zone-signing key, keyid 10264, for example.\n", fp);
+ fputs("example. IN DNSKEY 256 3 5 BwEAAAAAAAHKE1stE8DtWksJdyA"
+ "y8HCx97u1pVpO8s9jcAj5iiUrCoPr /ecuUJzPiQE5M6RAF/1uY73x"
+ "acq45ajG4Q6C52gO9A7Nc2X1Em23rUhE yxwCWxW1Mh8CM8uFwbLfaX"
+ "azlVhZZVfH+qRx/6L8kLfxhci5V2IAy1uB BXjR98ziUBtnsw==\n", fp);
+
+ if (fclose(fp) != 0) {
+ perror("close(Kexample.+005+10264.key)");
+ exit(1);
+ }
+
+ exit(0);
+}
+#else
+#include <openssl/err.h>
+#include <openssl/objects.h>
+#include <openssl/rsa.h>
+#include <openssl/bn.h>
+#include <openssl/evp.h>
+
+dst_key_t *key;
+dns_fixedname_t fname;
+dns_name_t *name;
+unsigned int bits = 1024U;
+isc_entropy_t *ectx;
+isc_entropysource_t *source;
+isc_mem_t *mctx;
+isc_log_t *log_;
+isc_logconfig_t *logconfig;
+int level = ISC_LOG_WARNING;
+isc_logdestination_t destination;
+char filename[255];
+isc_result_t result;
+isc_buffer_t buf;
+RSA *rsa;
+BIGNUM *e;
+EVP_PKEY *pkey;
+
+#define CHECK(op, msg) \
+do { result = (op); \
+ if (result != ISC_R_SUCCESS) { \
+ fprintf(stderr, \
+ "fatal error: %s returns %s at file %s line %d\n", \
+ msg, isc_result_totext(result), __FILE__, __LINE__); \
+ exit(1); \
+ } \
+} while (0)
+
+int
+main(int argc, char **argv) {
+ UNUSED(argc);
+ UNUSED(argv);
+
+ rsa = RSA_new();
+ e = BN_new();
+ pkey = EVP_PKEY_new();
+
+ if ((rsa == NULL) || (e == NULL) || (pkey == NULL) ||
+ !EVP_PKEY_set1_RSA(pkey, rsa)) {
+ fprintf(stderr, "fatal error: basic OpenSSL failure\n");
+ exit(1);
+ }
+
+ /* e = 0x1000000000001 */
+ BN_set_bit(e, 0);
+ BN_set_bit(e, 48);
+
+ if (RSA_generate_key_ex(rsa, bits, e, NULL)) {
+ BN_free(e);
+ RSA_free(rsa);
+ } else {
+ fprintf(stderr,
+ "fatal error: RSA_generate_key_ex() fails "
+ "at file %s line %d\n",
+ __FILE__, __LINE__);
+ exit(1);
+ }
+
+ dns_result_register();
+
+ CHECK(isc_mem_create(0, 0, &mctx), "isc_mem_create()");
+ CHECK(isc_entropy_create(mctx, &ectx), "isc_entropy_create()");
+ CHECK(isc_entropy_usebestsource(ectx, &source,
+ "random.data", ISC_ENTROPY_KEYBOARDNO),
+ "isc_entropy_usebestsource(\"random.data\")");
+ CHECK(dst_lib_init2(mctx, ectx, NULL, 0), "dst_lib_init2()");
+ CHECK(isc_log_create(mctx, &log_, &logconfig), "isc_log_create()");
+ isc_log_setcontext(log_);
+ dns_log_init(log_);
+ dns_log_setcontext(log_);
+ CHECK(isc_log_settag(logconfig, "bigkey"), "isc_log_settag()");
+ destination.file.stream = stderr;
+ destination.file.name = NULL;
+ destination.file.versions = ISC_LOG_ROLLNEVER;
+ destination.file.maximum_size = 0;
+ CHECK(isc_log_createchannel(logconfig, "stderr",
+ ISC_LOG_TOFILEDESC,
+ level,
+ &destination,
+ ISC_LOG_PRINTTAG | ISC_LOG_PRINTLEVEL),
+ "isc_log_createchannel()");
+ CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL),
+ "isc_log_usechannel()");
+ dns_fixedname_init(&fname);
+ name = dns_fixedname_name(&fname);
+ isc_buffer_init(&buf, "example.", strlen("example."));
+ isc_buffer_add(&buf, strlen("example."));
+ CHECK(dns_name_fromtext(name, &buf, dns_rootname, 0, NULL),
+ "dns_name_fromtext(\"example.\")");
+
+ CHECK(dst_key_buildinternal(name, DNS_KEYALG_RSASHA1,
+ bits, DNS_KEYOWNER_ZONE,
+ DNS_KEYPROTO_DNSSEC, dns_rdataclass_in,
+ pkey, mctx, &key),
+ "dst_key_buildinternal(...)");
+
+ CHECK(dst_key_tofile(key, DST_TYPE_PRIVATE | DST_TYPE_PUBLIC, NULL),
+ "dst_key_tofile()");
+ isc_buffer_init(&buf, filename, sizeof(filename) - 1);
+ isc_buffer_clear(&buf);
+ CHECK(dst_key_buildfilename(key, 0, NULL, &buf),
+ "dst_key_buildfilename()");
+ printf("%s\n", filename);
+ dst_key_free(&key);
+
+ isc_log_destroy(&log_);
+ isc_log_setcontext(NULL);
+ dns_log_setcontext(NULL);
+ if (source != NULL)
+ isc_entropy_destroysource(&source);
+ isc_entropy_detach(&ectx);
+ dst_lib_destroy();
+ dns_name_destroy();
+ isc_mem_destroy(&mctx);
+ return (0);
+}
+#endif
+
+#else /* OPENSSL */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main(int argc, char **argv) {
+ fprintf(stderr, "Compiled without OpenSSL\n");
+ exit(1);
+}
+
+#endif /* OPENSSL */
+/*! \file */
diff --git a/bin/tests/system/rsabigexponent/clean.sh b/bin/tests/system/rsabigexponent/clean.sh
new file mode 100644
index 00000000..0d84f755
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/clean.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+rm -f K* */K* */dsset-*. */*.signed */trusted.conf */tmp*
+rm -f random.data
+rm -f ns*/named.run
+rm -f ns*/named.memstats
+rm -f ns1/root.db
+rm -f ns2/signer.err
+rm -f dig.out.*
diff --git a/bin/tests/system/rsabigexponent/conf/bad01.conf b/bin/tests/system/rsabigexponent/conf/bad01.conf
new file mode 100644
index 00000000..942cc1cc
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/conf/bad01.conf
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+options {
+ max-rsa-exponent-size 1;
+};
diff --git a/bin/tests/system/rsabigexponent/conf/bad02.conf b/bin/tests/system/rsabigexponent/conf/bad02.conf
new file mode 100644
index 00000000..28716bae
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/conf/bad02.conf
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+options {
+ max-rsa-exponent-size 34;
+};
diff --git a/bin/tests/system/rsabigexponent/conf/bad03.conf b/bin/tests/system/rsabigexponent/conf/bad03.conf
new file mode 100644
index 00000000..1319e2a7
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/conf/bad03.conf
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+options {
+ max-rsa-exponent-size 4097;
+};
diff --git a/bin/tests/system/rsabigexponent/conf/good01.conf b/bin/tests/system/rsabigexponent/conf/good01.conf
new file mode 100644
index 00000000..4d8bd171
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/conf/good01.conf
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+options {
+ max-rsa-exponent-size 0;
+};
diff --git a/bin/tests/system/rsabigexponent/conf/good02.conf b/bin/tests/system/rsabigexponent/conf/good02.conf
new file mode 100644
index 00000000..2a9a717b
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/conf/good02.conf
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+options {
+ max-rsa-exponent-size 35;
+};
diff --git a/bin/tests/system/rsabigexponent/conf/good03.conf b/bin/tests/system/rsabigexponent/conf/good03.conf
new file mode 100644
index 00000000..1acf3aa1
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/conf/good03.conf
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+options {
+ max-rsa-exponent-size 4096;
+};
diff --git a/bin/tests/system/rsabigexponent/ns1/named.conf b/bin/tests/system/rsabigexponent/ns1/named.conf
new file mode 100644
index 00000000..3a3442d9
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns1/named.conf
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+// NS1
+
+controls { /* empty */ };
+
+options {
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port 5300;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
+ recursion no;
+ notify yes;
+ dnssec-enable yes;
+ dnssec-validation yes;
+};
+
+zone "." {
+ type master;
+ file "root.db.signed";
+};
+
+include "trusted.conf";
diff --git a/bin/tests/system/rsabigexponent/ns1/root.db.in b/bin/tests/system/rsabigexponent/ns1/root.db.in
new file mode 100644
index 00000000..bfd93baa
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns1/root.db.in
@@ -0,0 +1,29 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id$
+
+$TTL 300
+. IN SOA gson.nominum.com. a.root.servers.nil. (
+ 2012050600 ; serial
+ 3600 ; refresh
+ 1200 ; retry
+ 604800 ; expire
+ 60 ; minimum
+ )
+@ NS a.root-servers.nil.
+a.root-servers.nil. A 10.53.0.1
+;
+example. NS ns2.example.
+ns2.example. A 10.53.0.2
diff --git a/bin/tests/system/rsabigexponent/ns1/sign.sh b/bin/tests/system/rsabigexponent/ns1/sign.sh
new file mode 100755
index 00000000..7e0854f1
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns1/sign.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+SYSTEMTESTTOP=../..
+. $SYSTEMTESTTOP/conf.sh
+
+RANDFILE=../random.data
+
+zone=.
+infile=root.db.in
+zonefile=root.db
+
+cp ../ns2/dsset-example.in dsset-example.
+
+keyname=`$KEYGEN -q -r $RANDFILE -a RSASHA1 -b 1024 -n zone $zone`
+
+cat $infile $keyname.key > $zonefile
+
+$SIGNER -P -g -r $RANDFILE -o $zone $zonefile > /dev/null
+
+# Configure the resolving server with a trusted key.
+cat $keyname.key | grep -v '^; ' | $PERL -n -e '
+local ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
+local $key = join("", @rest);
+print <<EOF
+trusted-keys {
+ "$dn" $flags $proto $alg "$key";
+};
+EOF
+' > trusted.conf
+
+cp trusted.conf ../ns2/trusted.conf
+cp trusted.conf ../ns3/trusted.conf
+
+cd ../ns2 && sh -e ./sign.sh
diff --git a/bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.key b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.key
new file mode 100644
index 00000000..1030c21e
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.key
@@ -0,0 +1,2 @@
+; This is a key-signing key, keyid 5896, for example.
+example. IN DNSKEY 257 3 5 AwEAAaLNbgMfH/XUwZC9DBVG4OpYVUVyCyZEBqhk3k6WziIAY+2f7MN3 L9CoZR9GqfqM+/c6g8gfkIaZZ2YP/YUUaN73xH/nxtHYkrP5Rqe/dw7q ONnsVwvf3HJ8HvURG3wjaOrPoe207+HpNTNhe/sT2usKhokSU8yKB0DK lnrKQvp9vScsIB/RsIxOXWmYgOMkSXtpI3lQ07l1i2Tv6UnecD9s8ruk fl/gPbRBketLYACrqpb2j/1f7ciQv+rz1GnN9ma8XK1Yw8173/hrVL1S /ZqTGczwdeA3AVyiHThOZ15EPhSuL7jaJusHOi43Aa8ZfCMCeimT73F5 epktGomAxFU=
diff --git a/bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.private b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.private
new file mode 100644
index 00000000..dbac3062
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+05896.private
@@ -0,0 +1,10 @@
+Private-key-format: v1.3
+Algorithm: 5 (RSASHA1)
+Modulus: os1uAx8f9dTBkL0MFUbg6lhVRXILJkQGqGTeTpbOIgBj7Z/sw3cv0KhlH0ap+oz79zqDyB+QhplnZg/9hRRo3vfEf+fG0diSs/lGp793Duo42exXC9/ccnwe9REbfCNo6s+h7bTv4ek1M2F7+xPa6wqGiRJTzIoHQMqWespC+n29JywgH9GwjE5daZiA4yRJe2kjeVDTuXWLZO/pSd5wP2zyu6R+X+A9tEGR60tgAKuqlvaP/V/tyJC/6vPUac32ZrxcrVjDzXvf+GtUvVL9mpMZzPB14DcBXKIdOE5nXkQ+FK4vuNom6wc6LjcBrxl8IwJ6KZPvcXl6mS0aiYDEVQ==
+PublicExponent: AQAB
+PrivateExponent: K9juX1LbtccmlwgDoBtl6lf+J2UO0bCSpnn8UehV/lxijZZ8Gy0XqLgh/Cl5EG02U6Dj61ts/oOEkL2Px272y86pktVm/A+7e1ORDw8HTvIQe8kmrKEPa5o4cEK6R1X2JP/lGfOYhBzeYkdIMBhp5tH/6B0Sis1GJNIrc0jUf0g+JvOH/j1SpLoKoDpHUwOWnAt92AZsYhyJgeDXgw+xTBcOVvRfmh3Zmoi6x58lmQsU3loloqQ2V2V3xw1qEhTwBtFiguqeUV/FZl+RerT+lld7v2KkuxchyxlCCavgq6bZSUpn3TxcmnK6pj42oTy11hG9PHvIS8VNpGLr0p6mpQ==
+Prime1: 2KZlb2BXJHEJJv2iuJoddNuDlDStG77cA7FR84Dsarbc5rHj1BjwOPDec235LQOzNAAVMTh3B8/8kcAkx/U0F2FPfgAS/ZK2dOBKcJFU4bmUQDsLMXJn67Pf7d1HeDYfVPSFp1Ib/G91dXuo11+nRZJRfKUW19aFYXybSLVmifM=
+Prime2: wF9HHnv17f1L3VLBJ+qndiPcp/l24fVk5xWrbZlivK+WFrZkHFbmN+WRIkjKbe1mBf4z2fMp1JZKt8wViJVG9Bkk2wSCQA74MrejPFlD9AEMC/TrV7F/l89DryG9YeLAk6td38opGiAmRHzSdrjstUF+iv7IAW+fghPQ3O4ogpc=
+Exponent1: Nmtlo1phyUeTcvXW/+PGbmoNXRb2PLfucAcEfNPvjsasKk6Y2dgBz2vBlOEU7Be31eIHcLusOowl9z56fre7A/xviUjffE50AluslyYKWkDRWmj6YMtKC0y9fPROVYXSzPY29FaNrRUaPg531NG0JKeiTFrzp/e8vUYdg1/9h70=
+Exponent2: r5+MNwlmaQJBG2psivuQLKvqy7NU1E8K8mj3G1TYLniCpnOXC8RN4yQDDvCzVg5QgRIk1kpHmxwmVIvN8OaPY1P9MLJ6Eu9Xqj26meLIxd+a1uOfY2zZloeTPDSqR84Sj/338tIGGiLVrNrj7Z1ABO4pD84wXBdC4SckHD6U3zs=
+Coefficient: c1jE021ke1G/1+C/mqhVtXF9/+ivfw9Ae6na3PofQREs3wiBJH7kpbLmTqc1ovXrHA3BbD1CfWUBhrFK/n5MvsU59VGmz5mD+HGsHC1eoaS4JCG5EWFUP8MStiv+JJGyfuK8MUGsEXQorfQmzGXhe5N2S+4dEYDfksSVd9Wg9d0=
diff --git a/bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.key b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.key
new file mode 100644
index 00000000..53432675
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.key
@@ -0,0 +1,2 @@
+; This is a zone-signing key, keyid 51829, for example.
+example. IN DNSKEY 256 3 5 BwEAAAAAAAGfDKVFak/2o446xOsi39QnfZmRidaRyg3LaCxDBM6kVqCH QKI3a2lEf4FWVSbp+dYjGavsqWJ/Z7poMRy9JJol2bMLhtsZhESK5EYR aR/2dLw5H10SR+wb/qRVVYovWlk67sql7XYc3x5cjc4XaMVziBBrQMiW qkQS2oGQLwKCLw==
diff --git a/bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.private b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.private
new file mode 100644
index 00000000..35acd10f
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/Xexample.+005+51829.private
@@ -0,0 +1,10 @@
+Private-key-format: v1.3
+Algorithm: 5 (RSASHA1)
+Modulus: nwylRWpP9qOOOsTrIt/UJ32ZkYnWkcoNy2gsQwTOpFagh0CiN2tpRH+BVlUm6fnWIxmr7Klif2e6aDEcvSSaJdmzC4bbGYREiuRGEWkf9nS8OR9dEkfsG/6kVVWKL1pZOu7Kpe12HN8eXI3OF2jFc4gQa0DIlqpEEtqBkC8Cgi8=
+PublicExponent: AQAAAAAAAQ==
+PrivateExponent: Aidz1Ah0WnUxdjZQ5J2bkXXOvP7ZhxtrmNvaQkQpEOjc5EW0mh+8f6rmp19CZHVwjk1nRfTgSnPk/y+xsyfroBRf5RH+6bjvB3mk+uSor6+xibdTy+HlEyd5YPdGzHmqFUe7pcL25kO0QSqdEVjvBP9SCgscDBhrTHURYsPxudE=
+Prime1: 0nuP62sq8a1OyjGqmsqhf6XrpwRXSKYVjdJEdRzogi/fnU/AWDZdc2W8JOC1nxdbfVC68b8G+Vc+5GOsuUw56Q==
+Prime2: wXG1f8INIsNLGtEhAuqw320onFrqBEgs+EkEZeUxHP5hUkchoUSnqTZrfRUA+UuOD2sI0NtA3OYCXaihgWu0Vw==
+Exponent1: QooxjUxTEcn9N5ehnpK0VD3gKwoW3C2NIv/2GeKVpL+ZcsD6iMzmHou/WVOAt0oz+RdWDLxpEzakwUhslPN6+Q==
+Exponent2: PP9JlJFaGEs3ckmvj53NXKz0fkbjtIOJvWwnkT7WrVpTgaUISjuSxLOfUDrrFC9JGAIAmoWDrI76QrTanbLiyw==
+Coefficient: u4jEvCVMxzmDBCjw8MLuTZtuBqs0ScAT7NkceBrjhdpCV1DtzVGJgbwI2GEHqEcSlcVAQCM92vPz76lL4Q94zw==
diff --git a/bin/tests/system/rsabigexponent/ns2/dsset-example.in b/bin/tests/system/rsabigexponent/ns2/dsset-example.in
new file mode 100644
index 00000000..06bc89aa
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/dsset-example.in
@@ -0,0 +1,2 @@
+example. IN DS 5896 5 1 07766192DA7BDE32F6DC719B9F5A3476686F8758
+example. IN DS 5896 5 2 CFBFD9C06EA15B0A984566573A18ACEC234FDC9C09103C0C53E75989 088A8FB4
diff --git a/bin/tests/system/rsabigexponent/ns2/example.db.bad b/bin/tests/system/rsabigexponent/ns2/example.db.bad
new file mode 100644
index 00000000..ce601368
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/example.db.bad
@@ -0,0 +1,117 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id$
+
+example. 300 IN SOA mname1. . (
+ 2012050601 ; serial
+ 3600 ; refresh (1 hour)
+ 600 ; retry (10 minutes)
+ 604800 ; expire (1 week)
+ 3600 ; minimum (1 hour)
+ )
+ 300 RRSIG SOA 5 1 300 (
+ 20361231235959 20000101000000 51829 example.
+ HW8O/KHJEObWSYtQD14+3MRtD6rasy/AeIAo
+ 1HmtELxeUoMvVcQzm7z1RoeV6S7+r/SrUjAz
+ PwtlE4TpyTEj9sfTr4mJhU0DwrNW6dN6qHCw
+ vB3nuURVOKzU8V26PdFcjJB+/HnJT2LyLUqr
+ KAzHwU1tAXkgx0FOwfyOs2rxooo= )
+ 300 NS ns2.example.
+ 300 RRSIG NS 5 1 300 (
+ 20361231235959 20000101000000 51829 example.
+ EO8/KzfhppvhD2b0hGCdEN8/WTNexK6zkC1Z
+ oW3vu0cFVvac+wrV9Vox90lHI0jTce/R+bvT
+ T9RbpZiZcBKLVyBuHIdFPOdc3ogHMPwaPNkD
+ pvVvLfV6auHCvINiVw+jWinBpTjqoROH/yTC
+ 03BQ41vewKsz3fYZ03XUr2xga5Q= )
+ 3600 NSEC a.example. NS SOA RRSIG NSEC DNSKEY
+ 3600 RRSIG NSEC 5 1 3600 (
+ 20361231235959 20000101000000 51829 example.
+ FiUyrwO7MV9Lhg6yu0XN/hLZPOiDg/NqIIUc
+ HfA9Yix90Z9G/yzn8NBC92Yp5EPiI4HiE24T
+ t1p4YwHe6n/IJA4KZUIpCxEY5xhQL/mVMeuj
+ dlFA2LaiDwbOh//42zdocaeGPrcV+u6OmXoU
+ xkQIuWeJ1QCaD5FXJdN6zELZsnw= )
+ 300 DNSKEY 256 3 5 (
+ BwEAAAAAAAGfDKVFak/2o446xOsi39QnfZmR
+ idaRyg3LaCxDBM6kVqCHQKI3a2lEf4FWVSbp
+ +dYjGavsqWJ/Z7poMRy9JJol2bMLhtsZhESK
+ 5EYRaR/2dLw5H10SR+wb/qRVVYovWlk67sql
+ 7XYc3x5cjc4XaMVziBBrQMiWqkQS2oGQLwKC
+ Lw==
+ ) ; ZSK; alg = RSASHA1; key id = 51829
+ 300 DNSKEY 257 3 5 (
+ AwEAAaLNbgMfH/XUwZC9DBVG4OpYVUVyCyZE
+ Bqhk3k6WziIAY+2f7MN3L9CoZR9GqfqM+/c6
+ g8gfkIaZZ2YP/YUUaN73xH/nxtHYkrP5Rqe/
+ dw7qONnsVwvf3HJ8HvURG3wjaOrPoe207+Hp
+ NTNhe/sT2usKhokSU8yKB0DKlnrKQvp9vScs
+ IB/RsIxOXWmYgOMkSXtpI3lQ07l1i2Tv6Une
+ cD9s8rukfl/gPbRBketLYACrqpb2j/1f7ciQ
+ v+rz1GnN9ma8XK1Yw8173/hrVL1S/ZqTGczw
+ deA3AVyiHThOZ15EPhSuL7jaJusHOi43Aa8Z
+ fCMCeimT73F5epktGomAxFU=
+ ) ; KSK; alg = RSASHA1; key id = 5896
+ 300 RRSIG DNSKEY 5 1 300 (
+ 20361231235959 20000101000000 5896 example.
+ b07impYEH+uW8iPCVE0QXqYSs6Yyu7Nb8q1f
+ rXv+NgE5wbsIvdo4PDdSfScP41WgVKdLPipH
+ gaTyk4CKAuGSvIBMzlc3yib03zdvzBDgn3Yi
+ lONpl2yH47vhvn5iXYcVV4kbuYE9+SFVoVO8
+ m6xvihm1D17m8emivnG6DuJSpJJM09v0toSd
+ 3yGI3bgUtki85ehOPU0ZkvA20InVgP5kKUgw
+ /M4vP4VkcwenNO7koMZOorI02KFOH3vvZSI4
+ hzuwJVaQZ35IBBVmSSMAD+0LTBk6sMPSpcmP
+ Pff75NLhU+4+UflWie6mzWIvm3ovcG3fveq0
+ W4G3TCriTIKSjY3Jqg== )
+ 300 RRSIG DNSKEY 5 1 300 (
+ 20361231235959 20000101000000 51829 example.
+ a7WU2WcHEpDfM5NBUzN7t4WXEwldn1EM/HkH
+ XEo9NnZhFV16414qbuwWMlUsc5MTii+T4OFZ
+ p2+XHj9M8glM1d98o+EDSYT7LdrrE7AqdtSO
+ gcXdeY6WRI9R5wkLP3cP6kADp5WIOcQ78IPb
+ pRJ4jhxqMPFV3cqCWH/Lp8JPghY= )
+a.example. 300 IN A 10.0.0.1
+ 300 RRSIG A 5 2 300 (
+ 20361231235959 20000101000000 51829 example.
+ h4WyY0hUkZobUbt2xWC4lJLEbGvzxGczH/mN
+ WHZBpgg+1tuoTAdVbt6a2TfQcJV/iPQGAHte
+ Vu/U6tD8KzP08krlqrcefwvR5LDAQygWRdjt
+ Rx105w9F0GiL6kpDH6S9T8xCw3aF5Rl1lu/u
+ 8eiUzDIMIBTijhXmM96Nde18RdA= )
+ 3600 NSEC ns2.example. A RRSIG NSEC
+ 3600 RRSIG NSEC 5 2 3600 (
+ 20361231235959 20000101000000 51829 example.
+ LbzeWbk9r119I95TVCebEPfnCCk9zBRq4nAR
+ swliQVQ84bCjwVJfakvlD4mgilSPtypxpyXC
+ DQaiOQWOz9LFzro5u71VuSS5fY7U4elp/lq6
+ 5BJB6o/dmk5xASAHHbOO6e5dcoQ5vRxcnJaE
+ 0vE1jGppo2FiQzkVi7Zbrghoolg= )
+ns2.example. 300 IN A 10.53.0.2
+ 300 RRSIG A 5 2 300 (
+ 20361231235959 20000101000000 51829 example.
+ Jfp3xzrym5GksbZ+a2rjOXzV/Ct+eX2DCo8a
+ lSbriEhuK9OR3WUnXoDqp1X/d7adNL2lI9c+
+ B3UVL+EOCyvNxt9kECcN8KgQdXKExZEQUwnN
+ UB51QESM9pW6akavhXJu98sjnhtpdTwrtKbg
+ nMJkfYe5Mw3e/8RFY+wpEq/8cHw= )
+ 3600 NSEC example. A RRSIG NSEC
+ 3600 RRSIG NSEC 5 2 3600 (
+ 20361231235959 20000101000000 51829 example.
+ Wxkz4nY5rty6O90QhFZguyqbaz9njnJKUs7m
+ qYF9u7dDk8vUf3yS97fw3e0N13X5zGZa7hTr
+ +65U4NKEOqYDBbvWaXSVFxrzVfSVXqY6l4jX
+ kWjA6q4q5TTgcjOUJ0MfvcjtgxcaKUiPGmPJ
+ RWdOV7t9YMWnf7QAbPI55QN9sfY= )
diff --git a/bin/tests/system/rsabigexponent/ns2/example.db.in b/bin/tests/system/rsabigexponent/ns2/example.db.in
new file mode 100644
index 00000000..f69c23e6
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/example.db.in
@@ -0,0 +1,28 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id$
+
+$TTL 300 ; 5 minutes
+@ IN SOA mname1. . (
+ 2012050601 ; serial
+ 3600 ; refresh
+ 600 ; retry
+ 604800 ; expire
+ 3600 ; minimum
+ )
+ NS ns2
+ns2 A 10.53.0.2
+
+a A 10.0.0.1
diff --git a/bin/tests/system/rsabigexponent/ns2/named.conf b/bin/tests/system/rsabigexponent/ns2/named.conf
new file mode 100644
index 00000000..cae5da06
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/named.conf
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+// NS2
+
+controls { /* empty */ };
+
+options {
+ query-source address 10.53.0.2;
+ notify-source 10.53.0.2;
+ transfer-source 10.53.0.2;
+ port 5300;
+ pid-file "named.pid";
+ listen-on { 10.53.0.2; };
+ listen-on-v6 { none; };
+ recursion no;
+ notify yes;
+ dnssec-enable yes;
+};
+
+zone "." {
+ type hint;
+ file "../../common/root.hint";
+};
+
+zone "example" {
+ type master;
+ file "example.db.bad";
+};
+
+include "trusted.conf";
diff --git a/bin/tests/system/rsabigexponent/ns2/sign.sh b/bin/tests/system/rsabigexponent/ns2/sign.sh
new file mode 100755
index 00000000..e177b93f
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns2/sign.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: sign.sh,v 1.3 2011/05/26 23:47:28 tbox Exp $
+
+SYSTEMTESTTOP=../..
+. $SYSTEMTESTTOP/conf.sh
+
+RANDFILE=../random.data
+
+zone=example.
+infile=example.db.in
+outfile=example.db.bad
+
+for i in Xexample.+005+51829.key Xexample.+005+51829.private \
+ Xexample.+005+05896.key Xexample.+005+05896.private
+do
+ cp $i `echo $i | sed s/X/K/`
+done
+
+$SIGNER -r $RANDFILE -g -s 20000101000000 -e 20361231235959 -o $zone \
+ $infile Kexample.+005+51829 Kexample.+005+51829 \
+ > /dev/null 2> signer.err
diff --git a/bin/tests/system/rsabigexponent/ns3/named.conf b/bin/tests/system/rsabigexponent/ns3/named.conf
new file mode 100644
index 00000000..e8e589c0
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/ns3/named.conf
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+// NS3
+
+controls { /* empty */ };
+
+options {
+ query-source address 10.53.0.3;
+ notify-source 10.53.0.3;
+ transfer-source 10.53.0.3;
+ port 5300;
+ pid-file "named.pid";
+ listen-on { 10.53.0.3; };
+ listen-on-v6 { none; };
+ recursion yes;
+ notify yes;
+ dnssec-enable yes;
+ dnssec-validation yes;
+ max-rsa-exponent-size 35;
+};
+
+zone "." {
+ type hint;
+ file "../../common/root.hint";
+};
+
+include "trusted.conf";
diff --git a/bin/tests/system/rsabigexponent/prereq.sh b/bin/tests/system/rsabigexponent/prereq.sh
new file mode 100644
index 00000000..8edbf1df
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/prereq.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+../../../tools/genrandom 400 random.data
+
+if ./bigkey > /dev/null 2>&1
+then
+ rm -f Kexample.*
+else
+ echo "I:This test requires that --with-openssl was used." >&2
+ exit 1
+fi
diff --git a/bin/tests/system/rsabigexponent/setup.sh b/bin/tests/system/rsabigexponent/setup.sh
new file mode 100644
index 00000000..bf24be6c
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/setup.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+sh clean.sh
+
+../../../tools/genrandom 400 random.data
+
+cd ns1 && sh -e sign.sh
diff --git a/bin/tests/system/rsabigexponent/tests.sh b/bin/tests/system/rsabigexponent/tests.sh
new file mode 100644
index 00000000..ef7d18c7
--- /dev/null
+++ b/bin/tests/system/rsabigexponent/tests.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+status=0
+
+rm -f dig.out.*
+
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
+
+for f in conf/good*.conf
+do
+ echo "I:checking '$f'"
+ ret=0
+ $CHECKCONF $f > /dev/null || ret=1
+ if [ $ret != 0 ]; then echo "I:failed"; fi
+ status=`expr $status + $ret`
+done
+
+for f in conf/bad*.conf
+do
+ echo "I:checking '$f'"
+ ret=0
+ $CHECKCONF $f > /dev/null && ret=1
+ if [ $ret != 0 ]; then echo "I:failed"; fi
+ status=`expr $status + $ret`
+done
+
+echo "I:checking that RSA big exponent keys can't be loaded"
+ret=0
+grep "out of range" ns2/signer.err > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:checking that RSA big exponent signature can't validate"
+ret=0
+$DIG $DIGOPTS a.example @10.53.0.2 > dig.out.ns2 || ret=1
+$DIG $DIGOPTS a.example @10.53.0.3 > dig.out.ns3 || ret=1
+grep "status: NOERROR" dig.out.ns2 > /dev/null || ret=1
+grep "status: SERVFAIL" dig.out.ns3 > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:exit status: $status"
+exit $status
diff --git a/bin/tests/system/run.sh b/bin/tests/system/run.sh
index 4b79eafc..cd0cf85a 100644
--- a/bin/tests/system/run.sh
+++ b/bin/tests/system/run.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/runall.sh b/bin/tests/system/runall.sh
index cbe35c4b..f39f7a73 100644
--- a/bin/tests/system/runall.sh
+++ b/bin/tests/system/runall.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/send.pl b/bin/tests/system/send.pl
index 204ee27d..3938a12c 100644
--- a/bin/tests/system/send.pl
+++ b/bin/tests/system/send.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/setup.sh b/bin/tests/system/setup.sh
index 8418e2ea..9d97c60e 100644
--- a/bin/tests/system/setup.sh
+++ b/bin/tests/system/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/smartsign/clean.sh b/bin/tests/system/smartsign/clean.sh
index 8d51ed99..407a6eb0 100644
--- a/bin/tests/system/smartsign/clean.sh
+++ b/bin/tests/system/smartsign/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/smartsign/prereq.sh b/bin/tests/system/smartsign/prereq.sh
index 055b5180..e47b7693 100644
--- a/bin/tests/system/smartsign/prereq.sh
+++ b/bin/tests/system/smartsign/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/smartsign/setup.sh b/bin/tests/system/smartsign/setup.sh
index ddbc9909..a25d3716 100644
--- a/bin/tests/system/smartsign/setup.sh
+++ b/bin/tests/system/smartsign/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/sortlist/clean.sh b/bin/tests/system/sortlist/clean.sh
index df5d8121..512e3cbe 100644
--- a/bin/tests/system/sortlist/clean.sh
+++ b/bin/tests/system/sortlist/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/sortlist/tests.sh b/bin/tests/system/sortlist/tests.sh
index 06f175a0..c878dcaf 100644
--- a/bin/tests/system/sortlist/tests.sh
+++ b/bin/tests/system/sortlist/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/start.sh b/bin/tests/system/start.sh
index 7c128db8..a5136aa3 100644
--- a/bin/tests/system/start.sh
+++ b/bin/tests/system/start.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/staticstub/clean.sh b/bin/tests/system/staticstub/clean.sh
index d1c2e579..8490c676 100755
--- a/bin/tests/system/staticstub/clean.sh
+++ b/bin/tests/system/staticstub/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/staticstub/ns3/sign.sh b/bin/tests/system/staticstub/ns3/sign.sh
index 513f7687..f5b16c6e 100755
--- a/bin/tests/system/staticstub/ns3/sign.sh
+++ b/bin/tests/system/staticstub/ns3/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/staticstub/ns4/sign.sh b/bin/tests/system/staticstub/ns4/sign.sh
index 3ee48218..464d917d 100755
--- a/bin/tests/system/staticstub/ns4/sign.sh
+++ b/bin/tests/system/staticstub/ns4/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/staticstub/setup.sh b/bin/tests/system/staticstub/setup.sh
index 6c93ea48..4c5a55cd 100755
--- a/bin/tests/system/staticstub/setup.sh
+++ b/bin/tests/system/staticstub/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/staticstub/tests.sh b/bin/tests/system/staticstub/tests.sh
index 7b2b3fb3..3a4895e2 100755
--- a/bin/tests/system/staticstub/tests.sh
+++ b/bin/tests/system/staticstub/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
@@ -157,7 +157,7 @@ n=`expr $n + 1`
# Note: for a short term workaround we use ::1, assuming it's configured and
# usable for our tests. We should eventually use the test ULA and available
# checks introduced in change 2916.
-if $PERL ../testsock6.pl ::1
+if $PERL ../testsock6.pl ::1 2> /dev/null
then
echo "I:checking IPv6 static-stub address ($n)"
ret=0
diff --git a/bin/tests/system/stop.pl b/bin/tests/system/stop.pl
index 3d4b8049..e61868f1 100644
--- a/bin/tests/system/stop.pl
+++ b/bin/tests/system/stop.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stop.sh b/bin/tests/system/stop.sh
index 5eb6cddc..9c921929 100644
--- a/bin/tests/system/stop.sh
+++ b/bin/tests/system/stop.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stress/clean.sh b/bin/tests/system/stress/clean.sh
index 1a3fa608..83711505 100644
--- a/bin/tests/system/stress/clean.sh
+++ b/bin/tests/system/stress/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stress/setup.pl b/bin/tests/system/stress/setup.pl
index 5ae09284..3cbe23bb 100644
--- a/bin/tests/system/stress/setup.pl
+++ b/bin/tests/system/stress/setup.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stress/setup.sh b/bin/tests/system/stress/setup.sh
index 27379986..68694a18 100644
--- a/bin/tests/system/stress/setup.sh
+++ b/bin/tests/system/stress/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stress/tests.sh b/bin/tests/system/stress/tests.sh
index 1c5e75e0..4b8ff6af 100644
--- a/bin/tests/system/stress/tests.sh
+++ b/bin/tests/system/stress/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stress/update.pl b/bin/tests/system/stress/update.pl
index 6a4a6fbc..3acfbe1d 100644
--- a/bin/tests/system/stress/update.pl
+++ b/bin/tests/system/stress/update.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stub/clean.sh b/bin/tests/system/stub/clean.sh
index dadd7659..6278ba12 100644
--- a/bin/tests/system/stub/clean.sh
+++ b/bin/tests/system/stub/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/stub/tests.sh b/bin/tests/system/stub/tests.sh
index ec589c2c..72d81a5e 100644
--- a/bin/tests/system/stub/tests.sh
+++ b/bin/tests/system/stub/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/testsock.pl b/bin/tests/system/testsock.pl
index b8a86774..9f971b22 100644
--- a/bin/tests/system/testsock.pl
+++ b/bin/tests/system/testsock.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2010-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/testsock6.pl b/bin/tests/system/testsock6.pl
index 35f63e62..ccd4939e 100644
--- a/bin/tests/system/testsock6.pl
+++ b/bin/tests/system/testsock6.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/system/tkey/Makefile.in b/bin/tests/system/tkey/Makefile.in
index d8672c7b..899d1b9b 100644
--- a/bin/tests/system/tkey/Makefile.in
+++ b/bin/tests/system/tkey/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001, 2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/tkey/clean.sh b/bin/tests/system/tkey/clean.sh
index 732557ea..2ddd9c41 100644
--- a/bin/tests/system/tkey/clean.sh
+++ b/bin/tests/system/tkey/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/tkey/ns1/setup.sh b/bin/tests/system/tkey/ns1/setup.sh
index fef0e71f..7a6e7501 100644
--- a/bin/tests/system/tkey/ns1/setup.sh
+++ b/bin/tests/system/tkey/ns1/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/tkey/prereq.sh b/bin/tests/system/tkey/prereq.sh
index 54321e7e..fca4a27f 100644
--- a/bin/tests/system/tkey/prereq.sh
+++ b/bin/tests/system/tkey/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2006, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2006, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/tkey/setup.sh b/bin/tests/system/tkey/setup.sh
index 6311bc9e..4a9ac56f 100644
--- a/bin/tests/system/tkey/setup.sh
+++ b/bin/tests/system/tkey/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/tkey/tests.sh b/bin/tests/system/tkey/tests.sh
index c445aa90..1a51658e 100644
--- a/bin/tests/system/tkey/tests.sh
+++ b/bin/tests/system/tkey/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/tsig/clean.sh b/bin/tests/system/tsig/clean.sh
index 47e7172b..eaae896c 100644
--- a/bin/tests/system/tsig/clean.sh
+++ b/bin/tests/system/tsig/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2005-2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2005-2007, 2012 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
diff --git a/bin/tests/system/tsig/tests.sh b/bin/tests/system/tsig/tests.sh
index f661e70d..ff535094 100644
--- a/bin/tests/system/tsig/tests.sh
+++ b/bin/tests/system/tsig/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2005-2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2005-2007, 2011, 2012 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
diff --git a/bin/tests/system/tsiggss/Makefile.in b/bin/tests/system/tsiggss/Makefile.in
index 81aea2c2..b5124ab1 100644
--- a/bin/tests/system/tsiggss/Makefile.in
+++ b/bin/tests/system/tsiggss/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/tsiggss/authsock.pl b/bin/tests/system/tsiggss/authsock.pl
index 33828115..377efa03 100644
--- a/bin/tests/system/tsiggss/authsock.pl
+++ b/bin/tests/system/tsiggss/authsock.pl
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/tsiggss/prereq.sh b/bin/tests/system/tsiggss/prereq.sh
index 3c3a1bdc..c2d3278c 100644
--- a/bin/tests/system/tsiggss/prereq.sh
+++ b/bin/tests/system/tsiggss/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/tsiggss/setup.sh b/bin/tests/system/tsiggss/setup.sh
index 8e9d20d9..00222bad 100644
--- a/bin/tests/system/tsiggss/setup.sh
+++ b/bin/tests/system/tsiggss/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010-2012 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
diff --git a/bin/tests/system/unknown/clean.sh b/bin/tests/system/unknown/clean.sh
index 58226662..22be4cbc 100644
--- a/bin/tests/system/unknown/clean.sh
+++ b/bin/tests/system/unknown/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/unknown/ns1/example-in.db b/bin/tests/system/unknown/ns1/example-in.db
index aefc7c22..c8485d36 100644
--- a/bin/tests/system/unknown/ns1/example-in.db
+++ b/bin/tests/system/unknown/ns1/example-in.db
@@ -1,4 +1,4 @@
-; Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
; Copyright (C) 2000, 2001 Internet Software Consortium.
;
; Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/unknown/ns1/large.db b/bin/tests/system/unknown/ns1/large.db
index 33a7b18c..7323e85c 100644
--- a/bin/tests/system/unknown/ns1/large.db
+++ b/bin/tests/system/unknown/ns1/large.db
@@ -1,3 +1,19 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id$
+
large IN TYPE45234 \# 48000 ( 45841674994e4f5e4ba43aada754d631
dfb7e12155e7f10c551032b3e56ed5ba
5136c15cda201e7e5e54fb60a99388b6
diff --git a/bin/tests/system/unknown/ns2/named.conf b/bin/tests/system/unknown/ns2/named.conf
index e46bc890..a2e86712 100644
--- a/bin/tests/system/unknown/ns2/named.conf
+++ b/bin/tests/system/unknown/ns2/named.conf
@@ -1,6 +1,5 @@
/*
- * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000, 2001 Internet Software Consortium.
+ * Copyright (C) 2012 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
diff --git a/bin/tests/system/unknown/ns3/named.conf b/bin/tests/system/unknown/ns3/named.conf
index e77d9e40..248aebae 100644
--- a/bin/tests/system/unknown/ns3/named.conf
+++ b/bin/tests/system/unknown/ns3/named.conf
@@ -1,6 +1,5 @@
/*
- * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000, 2001 Internet Software Consortium.
+ * Copyright (C) 2012 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
diff --git a/bin/tests/system/unknown/ns3/sign.sh b/bin/tests/system/unknown/ns3/sign.sh
index f4451ed8..6a0135e9 100644
--- a/bin/tests/system/unknown/ns3/sign.sh
+++ b/bin/tests/system/unknown/ns3/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2012 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
diff --git a/bin/tests/system/unknown/setup.sh b/bin/tests/system/unknown/setup.sh
index 76de5963..921e6ed5 100644
--- a/bin/tests/system/unknown/setup.sh
+++ b/bin/tests/system/unknown/setup.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2012 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
diff --git a/bin/tests/system/unknown/tests.sh b/bin/tests/system/unknown/tests.sh
index 6201d64c..14bb8539 100644
--- a/bin/tests/system/unknown/tests.sh
+++ b/bin/tests/system/unknown/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/upforwd/ans4/ans.pl b/bin/tests/system/upforwd/ans4/ans.pl
index c000a52c..af0e8978 100644
--- a/bin/tests/system/upforwd/ans4/ans.pl
+++ b/bin/tests/system/upforwd/ans4/ans.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/upforwd/clean.sh b/bin/tests/system/upforwd/clean.sh
index 013a00cd..45179ac3 100644
--- a/bin/tests/system/upforwd/clean.sh
+++ b/bin/tests/system/upforwd/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/upforwd/setup.sh b/bin/tests/system/upforwd/setup.sh
index 1ae5996c..bdd2e0e8 100644
--- a/bin/tests/system/upforwd/setup.sh
+++ b/bin/tests/system/upforwd/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/upforwd/tests.sh b/bin/tests/system/upforwd/tests.sh
index 093d86ad..9e019d68 100644
--- a/bin/tests/system/upforwd/tests.sh
+++ b/bin/tests/system/upforwd/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/v6synth/clean.sh b/bin/tests/system/v6synth/clean.sh
index 5f9157bf..206b94bc 100644
--- a/bin/tests/system/v6synth/clean.sh
+++ b/bin/tests/system/v6synth/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/v6synth/tests.sh b/bin/tests/system/v6synth/tests.sh
index 8cc67f95..c5731e19 100644
--- a/bin/tests/system/v6synth/tests.sh
+++ b/bin/tests/system/v6synth/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/verify/clean.sh b/bin/tests/system/verify/clean.sh
new file mode 100644
index 00000000..509fc650
--- /dev/null
+++ b/bin/tests/system/verify/clean.sh
@@ -0,0 +1,25 @@
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+rm -f zones/*.good
+rm -f zones/*.good.tmp
+rm -f zones/*.bad
+rm -f zones/*.bad.tmp
+rm -f zones/*.out*
+rm -f zones/dsset-*
+rm -f zones/K*
+rm -f random.data
+rm -f verify.out*
diff --git a/bin/tests/system/verify/setup.sh b/bin/tests/system/verify/setup.sh
new file mode 100644
index 00000000..4d652861
--- /dev/null
+++ b/bin/tests/system/verify/setup.sh
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+#
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: setup.sh,v 1.20 2011/02/15 22:02:36 marka Exp $
+
+sh clean.sh
+
+../../../tools/genrandom 400 random.data
+
+(cd zones && sh genzones.sh)
diff --git a/bin/tests/system/verify/tests.sh b/bin/tests/system/verify/tests.sh
new file mode 100644
index 00000000..b6ea42cf
--- /dev/null
+++ b/bin/tests/system/verify/tests.sh
@@ -0,0 +1,96 @@
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+failed () {
+ cat verify.out.$n | sed 's/^/D:/';
+ echo "I:failed";
+ status=1;
+}
+
+n=0
+status=0
+
+for file in zones/*.good
+do
+ n=`expr $n + 1`
+ zone=`expr "$file" : 'zones/\(.*\).good'`
+ echo "I:checking supposedly good zone: $zone ($n)"
+ ret=0
+ case $zone in
+ zsk-only.*) only=-z;;
+ ksk-only.*) only=-z;;
+ *) only=;;
+ esac
+ $VERIFY ${only} -o $zone $file > verify.out.$n 2>&1 || ret=1
+ [ $ret = 0 ] || failed
+done
+
+for file in zones/*.bad
+do
+ n=`expr $n + 1`
+ zone=`expr "$file" : 'zones/\(.*\).bad'`
+ echo "I:checking supposedly bad zone: $zone ($n)"
+ ret=0
+ dumpit=0
+ case $zone in
+ zsk-only.*) only=-z;;
+ ksk-only.*) only=-z;;
+ *) only=;;
+ esac
+ expect1= expect2=
+ case $zone in
+ *.dnskeyonly)
+ expect1="DNSKEY is not signed"
+ ;;
+ *.expired)
+ expect1="signature has expired"
+ expect2="No self-signed .*DNSKEY found"
+ ;;
+ *.ksk-expired)
+ expect1="signature has expired"
+ expect2="No self-signed .*DNSKEY found"
+ ;;
+ *.out-of-zone-nsec|*.below-bottom-of-zone-nsec)
+ expect1="unexpected NSEC RRset at"
+ ;;
+ *.nsec.broken-chain)
+ expect1="Bad record NSEC record for.*, next name mismatch"
+ ;;
+ *.bad-bitmap)
+ expect1="bit map mismatch"
+ ;;
+ *.missing-empty)
+ expect1="Missing NSEC3 record for";
+ ;;
+ unsigned)
+ expect1="Zone contains no DNSSEC keys"
+ ;;
+ *.extra-nsec3)
+ expect1="Expected and found NSEC3 chains not equal";
+ ;;
+ *)
+ dumpit=1
+ ;;
+ esac
+ $VERIFY ${only} -o $zone $file > verify.out.$n 2>&1 && ret=1
+ grep "${expect1:-.}" verify.out.$n > /dev/null || ret=1
+ grep "${expect2:-.}" verify.out.$n > /dev/null || ret=1
+ [ $ret = 0 ] || failed
+ [ $dumpit = 1 ] && cat verify.out.$n
+done
+exit $status
diff --git a/bin/tests/system/verify/zones/genzones.sh b/bin/tests/system/verify/zones/genzones.sh
new file mode 100644
index 00000000..d2fde9a4
--- /dev/null
+++ b/bin/tests/system/verify/zones/genzones.sh
@@ -0,0 +1,196 @@
+# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id$
+
+SYSTEMTESTTOP=../..
+. $SYSTEMTESTTOP/conf.sh
+
+RANDFILE=../random.data
+
+dumpit () {
+ echo "D:${debug}: dumping ${1}"
+ cat "${1}" | sed 's/^/D:/'
+}
+setup () {
+ echo "I:setting up $2 zone: $1"
+ debug="$1"
+ zone="$1"
+ file="$1.$2"
+ n=`expr ${n:-0} + 1`
+}
+
+# A unsigned zone should fail validation.
+setup unsigned bad
+cp unsigned.db unsigned.bad
+
+# A set of nsec zones.
+setup zsk-only.nsec good
+$KEYGEN -r $RANDFILE ${zone}> kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -SP -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk-only.nsec good
+$KEYGEN -r $RANDFILE -fK ${zone} > kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -SPz -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk+zsk.nsec good
+$KEYGEN -r $RANDFILE ${zone} > kg1.out$n 2>&1 || dumpit kg1.out$n
+$KEYGEN -r $RANDFILE -fK ${zone} > kg2.out$n 2>&1 || dumpit kg2.out$n
+$SIGNER -SPx -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+# A set of nsec3 zones.
+setup zsk-only.nsec3 good
+$KEYGEN -3 -r $RANDFILE ${zone}> kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -3 - -SP -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk-only.nsec3 good
+$KEYGEN -3 -r $RANDFILE -fK ${zone} > kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -3 - -SPz -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk+zsk.nsec3 good
+$KEYGEN -3 -r $RANDFILE ${zone} > kg1.out$n 2>&1 || dumpit kg1.out$n
+$KEYGEN -3 -r $RANDFILE -fK ${zone} > kg2.out$n 2>&1 || dumpit kg2.out$n
+$SIGNER -3 - -SPx -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk+zsk.outout good
+$KEYGEN -3 -r $RANDFILE ${zone} > kg1.out$n 2>&1 || dumpit kg1.out$n
+$KEYGEN -3 -r $RANDFILE -fK ${zone} > kg2.out$n 2>&1 || dumpit kg2.out$n
+$SIGNER -3 - -A -SPx -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+# A set of zones with only DNSKEY records.
+setup zsk-only.dnskeyonly bad
+key1=`$KEYGEN -r $RANDFILE ${zone} 2>kg.out` || dumpit kg.out$n
+cat unsigned.db $key1.key > ${file}
+
+setup ksk-only.dnskeyonly bad
+key1=`$KEYGEN -r $RANDFILE -fK ${zone} 2>kg.out` || dumpit kg.out$n
+cat unsigned.db $key1.key > ${file}
+
+setup ksk+zsk.dnskeyonly bad
+key1=`$KEYGEN -r $RANDFILE ${zone} 2>kg.out` || dumpit kg.out$n
+key2=`$KEYGEN -r $RANDFILE -fK ${zone} 2>kg.out` || dumpit kg.out$n
+cat unsigned.db $key1.key $key2.key > ${file}
+
+# A set of zones with expired records
+s="-s -2678400"
+setup zsk-only.nsec.expired bad
+$KEYGEN -r $RANDFILE ${zone}> kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -SP ${s} -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk-only.nsec.expired bad
+$KEYGEN -r $RANDFILE -fK ${zone} > kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -SPz ${s} -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk+zsk.nsec.expired bad
+$KEYGEN -r $RANDFILE ${zone} > kg1.out$n 2>&1 || dumpit kg1.out$n
+$KEYGEN -r $RANDFILE -fK ${zone} > kg2.out$n 2>&1 || dumpit kg2.out$n
+$SIGNER -SP ${s} -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup zsk-only.nsec3.expired bad
+$KEYGEN -3 -r $RANDFILE ${zone}> kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -3 - ${s} -SP -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk-only.nsec3.expired bad
+$KEYGEN -3 -r $RANDFILE -fK ${zone} > kg.out$n 2>&1 || dumpit kg.out$n
+$SIGNER -3 - ${s} -SPz -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+setup ksk+zsk.nsec3.expired bad
+$KEYGEN -3 -r $RANDFILE ${zone} > kg1.out$n 2>&1 || dumpit kg1.out$n
+$KEYGEN -3 -r $RANDFILE -fK ${zone} > kg2.out$n 2>&1 || dumpit kg2.out$n
+$SIGNER -3 - ${s} -SPx -o ${zone} -f ${file} unsigned.db > s.out$n 2>&1 || dumpit s.out$n
+
+# ksk expired
+setup ksk+zsk.nsec.ksk-expired bad
+zsk=`$KEYGEN -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -Px -o ${zone} -f ${file} ${file} $zsk > s.out$n 2>&1 || dumpit s.out$n
+$SIGNER ${s} -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+now=`date -u +%Y%m%d%H%M%S`
+exp=`awk '$4 == "RRSIG" && $5 == "DNSKEY" { print $9;}' ${file}`
+[ "${exp:-40001231246060}" -lt ${now:-0} ] || dumpit $file
+
+setup ksk+zsk.nsec3.ksk-expired bad
+zsk=`$KEYGEN -3 -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -3 -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -3 - -Px -o ${zone} -f ${file} ${file} $zsk > s.out$n 2>&1 || dumpit s.out$n
+$SIGNER -3 - ${s} -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+now=`date -u +%Y%m%d%H%M%S`
+exp=`awk '$4 == "RRSIG" && $5 == "DNSKEY" { print $9;}' ${file}`
+[ "${exp:-40001231246060}" -lt ${now:-0} ] || dumpit $file
+
+# broken nsec chain
+setup ksk+zsk.nsec.broken-chain bad
+zsk=`$KEYGEN -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+awk '$4 == "NSEC" { $5 = "'$zone'."; print } { print }' ${file} > ${file}.tmp
+$SIGNER -Px -Z nonsecify -o ${zone} -f ${file} ${file}.tmp $zsk > s.out$n 2>&1 || dumpit s.out$n
+
+# bad nsec bitmap
+setup ksk+zsk.nsec.bad-bitmap bad
+zsk=`$KEYGEN -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+awk '$4 == "NSEC" && /SOA/ { $6=""; print } { print }' ${file} > ${file}.tmp
+$SIGNER -Px -Z nonsecify -o ${zone} -f ${file} ${file}.tmp $zsk > s.out$n 2>&1 || dumpit s.out$n
+
+# extra NSEC record out side of zone
+setup ksk+zsk.nsec.out-of-zone-nsec bad
+zsk=`$KEYGEN -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+echo "out-of-zone. 3600 IN NSEC ${zone}. A" >> ${file}
+$SIGNER -Px -Z nonsecify -O full -o ${zone} -f ${file} ${file} $zsk > s.out$n 2>&1 || dumpit s.out$n
+
+# extra NSEC record below bottom of one
+setup ksk+zsk.nsec.below-bottom-of-zone-nsec bad
+zsk=`$KEYGEN -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+echo "ns.sub.${zone}. 3600 IN NSEC ${zone}. A AAAA" >> ${file}
+$SIGNER -Px -Z nonsecify -O full -o ${zone} -f ${file}.tmp ${file} $zsk > s.out$n 2>&1 || dumpit s.out$n
+# dnssec-signzone signs any node with a NSEC record.
+awk '$1 ~ /^ns.sub/ && $4 == "RRSIG" && $5 != "NSEC" { next; } { print; }' ${file}.tmp > ${file}
+
+# missing NSEC3 record at empty node
+setup ksk+zsk.nsec3.missing-empty bad
+zsk=`$KEYGEN -3 -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -3 -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -3 - -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+awk '$4 == "NSEC3" && NF == 9 { next; } { print; }' ${file} > ${file}.tmp
+$SIGNER -3 - -Px -Z nonsecify -O full -o ${zone} -f ${file} ${file}.tmp $zsk > s.out$n 2>&1 || dumpit s.out$n
+
+# extra NSEC3 record
+setup ksk+zsk.nsec3.extra-nsec3 bad
+zsk=`$KEYGEN -3 -r $RANDFILE ${zone} 2> kg1.out$n` || dumpit kg1.out$n
+ksk=`$KEYGEN -3 -r $RANDFILE -fK ${zone} 2> kg2.out$n` || dumpit kg2.out$n
+cat unsigned.db $ksk.key $zsk.key > $file
+$SIGNER -3 - -P -O full -o ${zone} -f ${file} ${file} $ksk > s.out$n 2>&1 || dumpit s.out$n
+awk '
+BEGIN {
+ ZONE="'${zone}'.";
+}
+$4 == "NSEC3" && NF == 9 {
+ $1 = "H9P7U7TR2U91D0V0LJS9L1GIDNP90U3H." ZONE;
+ $9 = "H9P7U7TR2U91D0V0LJS9L1GIDNP90U3I";
+ print;
+}' ${file} >> ${file}
+$SIGNER -3 - -Px -Z nonsecify -O full -o ${zone} -f ${file} ${file} $zsk > s.out$n 2>&1 || dumpit s.out$n
diff --git a/bin/tests/system/verify/zones/unsigned.db b/bin/tests/system/verify/zones/unsigned.db
new file mode 100644
index 00000000..b76e6023
--- /dev/null
+++ b/bin/tests/system/verify/zones/unsigned.db
@@ -0,0 +1,33 @@
+; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+;
+; Permission to use, copy, modify, and/or distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+; PERFORMANCE OF THIS SOFTWARE.
+
+; $Id$
+
+$TTL 3600
+@ SOA . . 0 0 0 2419200 3600 ; 28 day expire
+@ NS .
+data A 1.2.3.4
+dname DNAME data
+longttl 2419200 A 1.2.3.4
+sub.dname TXT sub.dname
+sub.empty TXT sub.empty
+sub NS ns.sub
+ns.sub A 1.2.3.4
+ns.sub AAAA 2002::1.2.3.4
+other.sub TXT other.sub
+secure NS secure
+secure DS 1312 50 100 96EEB2FFD9B00CD4694E78278B5EFDAB0A80446567B69F634DA078F0
+secure A 1.2.3.4
+secure AAAA 2002::1.2.3.4
+out-of-zone. A 1.2.3.4
diff --git a/bin/tests/system/views/clean.sh b/bin/tests/system/views/clean.sh
index 1eebccf1..091fe31f 100644
--- a/bin/tests/system/views/clean.sh
+++ b/bin/tests/system/views/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/views/setup.sh b/bin/tests/system/views/setup.sh
index c572a874..42079474 100644
--- a/bin/tests/system/views/setup.sh
+++ b/bin/tests/system/views/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/views/tests.sh b/bin/tests/system/views/tests.sh
index b6fb552e..71674c9a 100644
--- a/bin/tests/system/views/tests.sh
+++ b/bin/tests/system/views/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/xfer/prereq.sh b/bin/tests/system/xfer/prereq.sh
index 053550e0..c8a1f808 100644
--- a/bin/tests/system/xfer/prereq.sh
+++ b/bin/tests/system/xfer/prereq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2011, 2012 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
diff --git a/bin/tests/system/xfer/setup.sh b/bin/tests/system/xfer/setup.sh
index 8a9be856..b9a97b44 100644
--- a/bin/tests/system/xfer/setup.sh
+++ b/bin/tests/system/xfer/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001, 2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/xferquota/clean.sh b/bin/tests/system/xferquota/clean.sh
index 9ca88306..2938a487 100644
--- a/bin/tests/system/xferquota/clean.sh
+++ b/bin/tests/system/xferquota/clean.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/xferquota/setup.pl b/bin/tests/system/xferquota/setup.pl
index 45b9d2b8..9e81fcd1 100644
--- a/bin/tests/system/xferquota/setup.pl
+++ b/bin/tests/system/xferquota/setup.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/xferquota/setup.sh b/bin/tests/system/xferquota/setup.sh
index d45cc883..528b7d39 100644
--- a/bin/tests/system/xferquota/setup.sh
+++ b/bin/tests/system/xferquota/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/system/xferquota/tests.sh b/bin/tests/system/xferquota/tests.sh
index 9d077e55..b5e03368 100644
--- a/bin/tests/system/xferquota/tests.sh
+++ b/bin/tests/system/xferquota/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/t_api.pl b/bin/tests/t_api.pl
index daf0161b..9bc47aed 100644
--- a/bin/tests/t_api.pl
+++ b/bin/tests/t_api.pl
@@ -1,6 +1,6 @@
#!/usr/local/bin/perl
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/tasks/Makefile.in b/bin/tests/tasks/Makefile.in
index 4aadc3a9..f7eb4a9c 100644
--- a/bin/tests/tasks/Makefile.in
+++ b/bin/tests/tasks/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/timers/Makefile.in b/bin/tests/timers/Makefile.in
index 6498ca78..6864b1d3 100644
--- a/bin/tests/timers/Makefile.in
+++ b/bin/tests/timers/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/bin/tests/virtual-time/Makefile.in b/bin/tests/virtual-time/Makefile.in
index 5fe6c2e2..022ec086 100644
--- a/bin/tests/virtual-time/Makefile.in
+++ b/bin/tests/virtual-time/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-ksk/clean.sh b/bin/tests/virtual-time/autosign-ksk/clean.sh
index c468aee9..fe2c3e91 100644
--- a/bin/tests/virtual-time/autosign-ksk/clean.sh
+++ b/bin/tests/virtual-time/autosign-ksk/clean.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-ksk/ns1/sign.sh b/bin/tests/virtual-time/autosign-ksk/ns1/sign.sh
index 2fdb0358..d9a0cce2 100644
--- a/bin/tests/virtual-time/autosign-ksk/ns1/sign.sh
+++ b/bin/tests/virtual-time/autosign-ksk/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-ksk/ns1/wrap.sh b/bin/tests/virtual-time/autosign-ksk/ns1/wrap.sh
index bdc68cae..10837764 100644
--- a/bin/tests/virtual-time/autosign-ksk/ns1/wrap.sh
+++ b/bin/tests/virtual-time/autosign-ksk/ns1/wrap.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-ksk/setup.sh b/bin/tests/virtual-time/autosign-ksk/setup.sh
index edc199a8..e3fcaffa 100644
--- a/bin/tests/virtual-time/autosign-ksk/setup.sh
+++ b/bin/tests/virtual-time/autosign-ksk/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-ksk/tests.sh b/bin/tests/virtual-time/autosign-ksk/tests.sh
index fd34fab7..c5487478 100644
--- a/bin/tests/virtual-time/autosign-ksk/tests.sh
+++ b/bin/tests/virtual-time/autosign-ksk/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-zsk/clean.sh b/bin/tests/virtual-time/autosign-zsk/clean.sh
index c468aee9..fe2c3e91 100644
--- a/bin/tests/virtual-time/autosign-zsk/clean.sh
+++ b/bin/tests/virtual-time/autosign-zsk/clean.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-zsk/ns1/sign.sh b/bin/tests/virtual-time/autosign-zsk/ns1/sign.sh
index 591fcb62..7ead28d4 100644
--- a/bin/tests/virtual-time/autosign-zsk/ns1/sign.sh
+++ b/bin/tests/virtual-time/autosign-zsk/ns1/sign.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-zsk/ns1/wrap.sh b/bin/tests/virtual-time/autosign-zsk/ns1/wrap.sh
index bdc68cae..10837764 100644
--- a/bin/tests/virtual-time/autosign-zsk/ns1/wrap.sh
+++ b/bin/tests/virtual-time/autosign-zsk/ns1/wrap.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-zsk/setup.sh b/bin/tests/virtual-time/autosign-zsk/setup.sh
index edc199a8..e3fcaffa 100644
--- a/bin/tests/virtual-time/autosign-zsk/setup.sh
+++ b/bin/tests/virtual-time/autosign-zsk/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/autosign-zsk/tests.sh b/bin/tests/virtual-time/autosign-zsk/tests.sh
index 81b030f5..c4cd28b1 100644
--- a/bin/tests/virtual-time/autosign-zsk/tests.sh
+++ b/bin/tests/virtual-time/autosign-zsk/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/cleanall.sh b/bin/tests/virtual-time/cleanall.sh
index 4a3f463f..b73588b9 100644
--- a/bin/tests/virtual-time/cleanall.sh
+++ b/bin/tests/virtual-time/cleanall.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/conf.sh.in b/bin/tests/virtual-time/conf.sh.in
index 15ee0a3e..7377c4e5 100644
--- a/bin/tests/virtual-time/conf.sh.in
+++ b/bin/tests/virtual-time/conf.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/run.sh b/bin/tests/virtual-time/run.sh
index 5581e313..cdfe0fdf 100644
--- a/bin/tests/virtual-time/run.sh
+++ b/bin/tests/virtual-time/run.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/runall.sh b/bin/tests/virtual-time/runall.sh
index 6e476f5d..71ad46af 100644
--- a/bin/tests/virtual-time/runall.sh
+++ b/bin/tests/virtual-time/runall.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/setup.sh b/bin/tests/virtual-time/setup.sh
index ab29381c..0f8a5200 100644
--- a/bin/tests/virtual-time/setup.sh
+++ b/bin/tests/virtual-time/setup.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/slave/clean.sh b/bin/tests/virtual-time/slave/clean.sh
index b2e663c1..076f14cc 100644
--- a/bin/tests/virtual-time/slave/clean.sh
+++ b/bin/tests/virtual-time/slave/clean.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/slave/ns1/wrap.sh b/bin/tests/virtual-time/slave/ns1/wrap.sh
index 9652484e..9bb16baa 100644
--- a/bin/tests/virtual-time/slave/ns1/wrap.sh
+++ b/bin/tests/virtual-time/slave/ns1/wrap.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/slave/setup.sh b/bin/tests/virtual-time/slave/setup.sh
index 1f8d47a9..c07c3b8e 100644
--- a/bin/tests/virtual-time/slave/setup.sh
+++ b/bin/tests/virtual-time/slave/setup.sh
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/slave/tests.sh b/bin/tests/virtual-time/slave/tests.sh
index 768c54fa..d797be50 100644
--- a/bin/tests/virtual-time/slave/tests.sh
+++ b/bin/tests/virtual-time/slave/tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/start.pl b/bin/tests/virtual-time/start.pl
index ea8e6fdb..967d5b0f 100644
--- a/bin/tests/virtual-time/start.pl
+++ b/bin/tests/virtual-time/start.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/start.sh b/bin/tests/virtual-time/start.sh
index fe702c7b..580809f3 100644
--- a/bin/tests/virtual-time/start.sh
+++ b/bin/tests/virtual-time/start.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/stop.pl b/bin/tests/virtual-time/stop.pl
index b65c7d39..7d583e6e 100644
--- a/bin/tests/virtual-time/stop.pl
+++ b/bin/tests/virtual-time/stop.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/stop.sh b/bin/tests/virtual-time/stop.sh
index f9a342dc..ffe7c1ee 100644
--- a/bin/tests/virtual-time/stop.sh
+++ b/bin/tests/virtual-time/stop.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tests/virtual-time/testsock.pl b/bin/tests/virtual-time/testsock.pl
index bb7e43dc..99b2037e 100644
--- a/bin/tests/virtual-time/testsock.pl
+++ b/bin/tests/virtual-time/testsock.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/bin/tools/Makefile.in b/bin/tools/Makefile.in
index a77376b2..a3960051 100644
--- a/bin/tools/Makefile.in
+++ b/bin/tools/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/config.h.in b/config.h.in
index 293d6197..f4462621 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,6 +1,6 @@
/* config.h.in. Generated from configure.in by autoheader. */
/*
- * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -16,7 +16,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
+/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
/*! \file */
@@ -138,6 +138,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define if OpenSSL includes DSA support */
#undef HAVE_OPENSSL_DSA
+/* Define if OpenSSL includes ECDSA support */
+#undef HAVE_OPENSSL_ECDSA
+
/* Define to the length type used by the socket API (socklen_t, size_t, int). */
#undef ISC_SOCKADDR_LEN_T
@@ -202,6 +205,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define to 1 if you have the `EVP_sha256' function. */
#undef HAVE_EVP_SHA256
+/* Define to 1 if you have the `EVP_sha384' function. */
+#undef HAVE_EVP_SHA384
+
/* Define to 1 if you have the `EVP_sha512' function. */
#undef HAVE_EVP_SHA512
diff --git a/configure b/configure
index bd4d7030..c8aa88d9 100755
--- a/configure
+++ b/configure
@@ -14,7 +14,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
#
-# $Id$
+# $Id: COPYRIGHT,v 1.19 2012/01/03 23:46:59 tbox Exp $
#
# Portions of this code release fall under one or more of the
# following Copyright notices. Please see individual source
@@ -1431,6 +1431,7 @@ USE_PKCS11
ISC_OPENSSL_INC
ISC_PLATFORM_OPENSSLHASH
OPENSSL_GOST
+OPENSSL_ECDSA
OPENSSLLINKSRCS
OPENSSLLINKOBJS
DST_OPENSSL_INC
@@ -1445,6 +1446,9 @@ ISC_PLATFORM_NORETURN_POST
ISC_PLATFORM_NORETURN_PRE
ISC_PLATFORM_HAVELONGLONG
ISC_SOCKADDR_LEN_T
+PYTHON_TOOLS
+CHECKDS
+PYTHON
PERL
ETAGS
LN
@@ -1550,6 +1554,7 @@ with_pic
with_tags
enable_libbind
enable_developer
+with_python
enable_kqueue
enable_epoll
enable_devpoll
@@ -2268,6 +2273,7 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-tags[=TAGS] include additional configurations [automatic]
+ --with-python=PATH Specify path to python interpreter
--with-openssl=PATH Build with OpenSSL yes|no|path.
(Required for DNSSEC)
@@ -5171,7 +5177,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 5174 "configure"' > conftest.$ac_ext
+ echo '#line 5180 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7465,11 +7471,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7468: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7474: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7472: \$? = $ac_status" >&5
+ echo "$as_me:7478: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7755,11 +7761,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7758: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7764: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7762: \$? = $ac_status" >&5
+ echo "$as_me:7768: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7859,11 +7865,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7862: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7868: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7866: \$? = $ac_status" >&5
+ echo "$as_me:7872: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -9884,7 +9890,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9887 "configure"
+#line 9893 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9984,7 +9990,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9987 "configure"
+#line 9993 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12329,11 +12335,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12332: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12338: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12336: \$? = $ac_status" >&5
+ echo "$as_me:12342: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12433,11 +12439,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12436: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12442: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12440: \$? = $ac_status" >&5
+ echo "$as_me:12446: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14016,11 +14022,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14019: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14025: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14023: \$? = $ac_status" >&5
+ echo "$as_me:14029: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14120,11 +14126,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14123: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14129: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14127: \$? = $ac_status" >&5
+ echo "$as_me:14133: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16285,11 +16291,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16288: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16294: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16292: \$? = $ac_status" >&5
+ echo "$as_me:16298: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16575,11 +16581,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16578: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16584: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16582: \$? = $ac_status" >&5
+ echo "$as_me:16588: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16679,11 +16685,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16682: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16688: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16686: \$? = $ac_status" >&5
+ echo "$as_me:16692: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -19634,6 +19640,168 @@ done
#
+# Python is also optional; it is used by the tools in bin/python.
+# If python is unavailable, we simply don't build those.
+#
+
+# Check whether --with-python was given.
+if test "${with_python+set}" = set; then :
+ withval=$with_python; use_python="$withval"
+else
+ use_python="unspec"
+fi
+
+
+case "$use_python" in
+ no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+ ;;
+ unspec|yes|*)
+ case "$use_python" in
+ unspec|yes|'')
+ for ac_prog in python
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PYTHON+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PYTHON in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PYTHON=$ac_cv_path_PYTHON
+if test -n "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$PYTHON" && break
+done
+
+ ;;
+ *)
+ for ac_prog in $use_python
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PYTHON+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PYTHON in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PYTHON=$ac_cv_path_PYTHON
+if test -n "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$PYTHON" && break
+done
+
+ ;;
+ esac
+ if test "X$PYTHON" == "X"
+ then
+ case "$use_python" in
+ unspec)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+ ;;
+ yes|*)
+ as_fn_error $? "missing python" "$LINENO" 5
+ ;;
+ esac
+ break
+ fi
+ testscript='try: import argparse
+except: exit(1)'
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking python module 'argparse'" >&5
+$as_echo_n "checking python module 'argparse'... " >&6; }
+ if $PYTHON -c "$testscript"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found, using $PYTHON" >&5
+$as_echo "found, using $PYTHON" >&6; }
+ else
+ case "$use_python" in
+ unspec)
+ PYTHON=""
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found, python disabled" >&5
+$as_echo "not found, python disabled" >&6; }
+ ;;
+ yes)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no found" >&5
+$as_echo "no found" >&6; }
+ as_fn_error $? "python 'argparse' module not supported" "$LINENO" 5
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+PYTHON_TOOLS=''
+CHECKDS=''
+if test "X$PYTHON" != "X"; then
+ PYTHON_TOOLS=python
+ CHECKDS=checkds
+fi
+
+
+
+#
# Special processing of paths depending on whether --prefix,
# --sysconfdir or --localstatedir arguments were given. What's
# desired is some compatibility with the way previous versions
@@ -21369,6 +21537,7 @@ then
fi
done
fi
+OPENSSL_ECDSA=""
OPENSSL_GOST=""
case "$use_openssl" in
no)
@@ -21594,7 +21763,8 @@ $as_echo "yes" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- for ac_func in EVP_sha256 EVP_sha512
+
+ for ac_func in EVP_sha256 EVP_sha384 EVP_sha512
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -21607,6 +21777,58 @@ fi
done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL ECDSA support" >&5
+$as_echo_n "checking for OpenSSL ECDSA support... " >&6; }
+ have_ecdsa=""
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <openssl/ecdsa.h>
+#include <openssl/objects.h>
+int main() {
+ EC_KEY *ec256, *ec384;
+
+#if !defined(HAVE_EVP_SHA256) || !defined(HAVE_EVP_SHA384)
+ return (1);
+#endif
+ ec256 = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
+ ec384 = EC_KEY_new_by_curve_name(NID_secp384r1);
+ if (ec256 == NULL || ec384 == NULL)
+ return (2);
+ return (0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_ecdsa="yes"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_ecdsa="no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ case $have_ecdsa in
+ yes)
+ OPENSSL_ECDSA="yes"
+ $as_echo "#define HAVE_OPENSSL_ECDSA 1" >>confdefs.h
+
+ ;;
+ *)
+ ;;
+ esac
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL GOST support" >&5
$as_echo_n "checking for OpenSSL GOST support... " >&6; }
have_gost=""
@@ -21704,6 +21926,8 @@ esac
+
+
DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS"
#
@@ -23021,7 +23245,7 @@ case "$use_libxml2" in
;;
auto|yes)
case X`(xml2-config --version) 2>/dev/null` in
- X2.[67].*)
+ X2.[678].*)
libxml2_libs=`xml2-config --libs`
libxml2_cflags=`xml2-config --cflags`
;;
@@ -26338,7 +26562,7 @@ case "$docbook_path" in
auto)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: auto" >&5
$as_echo "auto" >&6; }
- docbook_xsl_trees="/usr/pkg/share/xsl/docbook /usr/local/share/xsl/docbook /usr/share/xsl/docbook"
+ docbook_xsl_trees="/usr/pkg/share/xsl/docbook /usr/local/share/xsl/docbook /usr/share/xsl/docbook /opt/local/share/xsl/docbook-xsl/"
;;
*)
docbook_xsl_trees="$withval"
@@ -27798,7 +28022,7 @@ ac_config_commands="$ac_config_commands chmod"
# elsewhere if there's a good reason for doing so.
#
-ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/rndc/Makefile bin/tests/Makefile bin/tests/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/hashes/Makefile bin/tests/headerdep_test.sh bin/tests/master/Makefile bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/net/Makefile bin/tests/rbt/Makefile bin/tests/resolver/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/named.conf bin/tests/system/filter-aaaa/Makefile bin/tests/system/gost/prereq.sh bin/tests/system/lwresd/Makefile bin/tests/system/rpz/Makefile bin/tests/system/tkey/Makefile bin/tests/system/tsiggss/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/check-secure-delegation.pl contrib/zone-edit.sh doc/Makefile doc/arm/Makefile doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-docbook-latex.xsl doc/xsl/isc-manpage.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/export/Makefile lib/export/dns/Makefile lib/export/dns/include/Makefile lib/export/dns/include/dns/Makefile lib/export/dns/include/dst/Makefile lib/export/irs/Makefile lib/export/irs/include/Makefile lib/export/irs/include/irs/Makefile lib/export/isc/$thread_dir/Makefile lib/export/isc/$thread_dir/include/Makefile lib/export/isc/$thread_dir/include/isc/Makefile lib/export/isc/Makefile lib/export/isc/include/Makefile lib/export/isc/include/isc/Makefile lib/export/isc/nls/Makefile lib/export/isc/unix/Makefile lib/export/isc/unix/include/Makefile lib/export/isc/unix/include/isc/Makefile lib/export/isccfg/Makefile lib/export/isccfg/include/Makefile lib/export/isccfg/include/isccfg/Makefile lib/export/samples/Makefile lib/export/samples/Makefile-postinstall lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile unit/Makefile unit/unittest.sh"
+ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile bin/python/dnssec-checkds.py bin/rndc/Makefile bin/tests/Makefile bin/tests/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/hashes/Makefile bin/tests/headerdep_test.sh bin/tests/master/Makefile bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/net/Makefile bin/tests/rbt/Makefile bin/tests/resolver/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/named.conf bin/tests/system/ecdsa/prereq.sh bin/tests/system/filter-aaaa/Makefile bin/tests/system/gost/prereq.sh bin/tests/system/lwresd/Makefile bin/tests/system/rpz/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/system/tsiggss/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/check-secure-delegation.pl contrib/zone-edit.sh doc/Makefile doc/arm/Makefile doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-docbook-latex.xsl doc/xsl/isc-manpage.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/export/Makefile lib/export/dns/Makefile lib/export/dns/include/Makefile lib/export/dns/include/dns/Makefile lib/export/dns/include/dst/Makefile lib/export/irs/Makefile lib/export/irs/include/Makefile lib/export/irs/include/irs/Makefile lib/export/isc/$thread_dir/Makefile lib/export/isc/$thread_dir/include/Makefile lib/export/isc/$thread_dir/include/isc/Makefile lib/export/isc/Makefile lib/export/isc/include/Makefile lib/export/isc/include/isc/Makefile lib/export/isc/nls/Makefile lib/export/isc/unix/Makefile lib/export/isc/unix/include/Makefile lib/export/isc/unix/include/isc/Makefile lib/export/isccfg/Makefile lib/export/isccfg/include/Makefile lib/export/isccfg/include/isccfg/Makefile lib/export/samples/Makefile lib/export/samples/Makefile-postinstall lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile unit/Makefile unit/unittest.sh"
#
@@ -28525,6 +28749,8 @@ do
"bin/named/unix/Makefile") CONFIG_FILES="$CONFIG_FILES bin/named/unix/Makefile" ;;
"bin/nsupdate/Makefile") CONFIG_FILES="$CONFIG_FILES bin/nsupdate/Makefile" ;;
"bin/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES bin/pkcs11/Makefile" ;;
+ "bin/python/Makefile") CONFIG_FILES="$CONFIG_FILES bin/python/Makefile" ;;
+ "bin/python/dnssec-checkds.py") CONFIG_FILES="$CONFIG_FILES bin/python/dnssec-checkds.py" ;;
"bin/rndc/Makefile") CONFIG_FILES="$CONFIG_FILES bin/rndc/Makefile" ;;
"bin/tests/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/Makefile" ;;
"bin/tests/atomic/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/atomic/Makefile" ;;
@@ -28544,10 +28770,12 @@ do
"bin/tests/system/dlz/prereq.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dlz/prereq.sh" ;;
"bin/tests/system/dlzexternal/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dlzexternal/Makefile" ;;
"bin/tests/system/dlzexternal/ns1/named.conf") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dlzexternal/ns1/named.conf" ;;
+ "bin/tests/system/ecdsa/prereq.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/ecdsa/prereq.sh" ;;
"bin/tests/system/filter-aaaa/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/filter-aaaa/Makefile" ;;
"bin/tests/system/gost/prereq.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/gost/prereq.sh" ;;
"bin/tests/system/lwresd/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/lwresd/Makefile" ;;
"bin/tests/system/rpz/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/rpz/Makefile" ;;
+ "bin/tests/system/rsabigexponent/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/rsabigexponent/Makefile" ;;
"bin/tests/system/tkey/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/tkey/Makefile" ;;
"bin/tests/system/tsiggss/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/tsiggss/Makefile" ;;
"bin/tests/tasks/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/tasks/Makefile" ;;
diff --git a/configure.in b/configure.in
index 2c3f1f22..9dafa486 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -137,6 +137,69 @@ AC_PATH_PROGS(PERL, perl5 perl)
AC_SUBST(PERL)
#
+# Python is also optional; it is used by the tools in bin/python.
+# If python is unavailable, we simply don't build those.
+#
+AC_ARG_WITH(python,
+[ --with-python=PATH Specify path to python interpreter],
+ use_python="$withval", use_python="unspec")
+
+case "$use_python" in
+ no)
+ AC_MSG_RESULT(disabled)
+ ;;
+ unspec|yes|*)
+ case "$use_python" in
+ unspec|yes|'')
+ AC_PATH_PROGS(PYTHON, python)
+ ;;
+ *)
+ AC_PATH_PROGS(PYTHON, $use_python)
+ ;;
+ esac
+ if test "X$PYTHON" == "X"
+ then
+ case "$use_python" in
+ unspec)
+ AC_MSG_RESULT(disabled)
+ ;;
+ yes|*)
+ AC_MSG_ERROR([missing python])
+ ;;
+ esac
+ break
+ fi
+ testscript='try: import argparse
+except: exit(1)'
+ AC_MSG_CHECKING([python module 'argparse'])
+ if $PYTHON -c "$testscript"; then
+ AC_MSG_RESULT([found, using $PYTHON])
+ else
+ case "$use_python" in
+ unspec)
+ PYTHON=""
+ AC_SUBST(CHECKDS)
+ AC_MSG_RESULT([not found, python disabled])
+ ;;
+ yes)
+ AC_MSG_RESULT([no found])
+ AC_MSG_ERROR([python 'argparse' module not supported])
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+PYTHON_TOOLS=''
+CHECKDS=''
+if test "X$PYTHON" != "X"; then
+ PYTHON_TOOLS=python
+ CHECKDS=checkds
+fi
+AC_SUBST(CHECKDS)
+AC_SUBST(PYTHON_TOOLS)
+
+#
# Special processing of paths depending on whether --prefix,
# --sysconfdir or --localstatedir arguments were given. What's
# desired is some compatibility with the way previous versions
@@ -543,6 +606,7 @@ then
fi
done
fi
+OPENSSL_ECDSA=""
OPENSSL_GOST=""
case "$use_openssl" in
no)
@@ -698,7 +762,40 @@ esac
else
AC_MSG_RESULT(no)
fi
- AC_CHECK_FUNCS(EVP_sha256 EVP_sha512)
+
+ AC_CHECK_FUNCS(EVP_sha256 EVP_sha384 EVP_sha512)
+
+ AC_MSG_CHECKING(for OpenSSL ECDSA support)
+ have_ecdsa=""
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <openssl/ecdsa.h>
+#include <openssl/objects.h>
+int main() {
+ EC_KEY *ec256, *ec384;
+
+#if !defined(HAVE_EVP_SHA256) || !defined(HAVE_EVP_SHA384)
+ return (1);
+#endif
+ ec256 = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
+ ec384 = EC_KEY_new_by_curve_name(NID_secp384r1);
+ if (ec256 == NULL || ec384 == NULL)
+ return (2);
+ return (0);
+}
+],
+ [AC_MSG_RESULT(yes)
+ have_ecdsa="yes"],
+ [AC_MSG_RESULT(no)
+ have_ecdsa="no"])
+ case $have_ecdsa in
+ yes)
+ OPENSSL_ECDSA="yes"
+ AC_DEFINE(HAVE_OPENSSL_ECDSA)
+ ;;
+ *)
+ ;;
+ esac
AC_MSG_CHECKING(for OpenSSL GOST support)
have_gost=""
@@ -772,7 +869,9 @@ AC_SUBST(USE_OPENSSL)
AC_SUBST(DST_OPENSSL_INC)
AC_SUBST(OPENSSLLINKOBJS)
AC_SUBST(OPENSSLLINKSRCS)
+AC_SUBST(OPENSSL_ECDSA)
AC_SUBST(OPENSSL_GOST)
+
DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS"
#
@@ -1222,7 +1321,7 @@ case "$use_libxml2" in
;;
auto|yes)
case X`(xml2-config --version) 2>/dev/null` in
- X2.[[67]].*)
+ X2.[[678]].*)
libxml2_libs=`xml2-config --libs`
libxml2_cflags=`xml2-config --cflags`
;;
@@ -2981,7 +3080,7 @@ AC_ARG_WITH(docbook-xsl,
case "$docbook_path" in
auto)
AC_MSG_RESULT(auto)
- docbook_xsl_trees="/usr/pkg/share/xsl/docbook /usr/local/share/xsl/docbook /usr/share/xsl/docbook"
+ docbook_xsl_trees="/usr/pkg/share/xsl/docbook /usr/local/share/xsl/docbook /usr/share/xsl/docbook /opt/local/share/xsl/docbook-xsl/"
;;
*)
docbook_xsl_trees="$withval"
@@ -3465,6 +3564,8 @@ AC_CONFIG_FILES([
bin/named/unix/Makefile
bin/nsupdate/Makefile
bin/pkcs11/Makefile
+ bin/python/Makefile
+ bin/python/dnssec-checkds.py
bin/rndc/Makefile
bin/tests/Makefile
bin/tests/atomic/Makefile
@@ -3484,10 +3585,12 @@ AC_CONFIG_FILES([
bin/tests/system/dlz/prereq.sh
bin/tests/system/dlzexternal/Makefile
bin/tests/system/dlzexternal/ns1/named.conf
+ bin/tests/system/ecdsa/prereq.sh
bin/tests/system/filter-aaaa/Makefile
bin/tests/system/gost/prereq.sh
bin/tests/system/lwresd/Makefile
bin/tests/system/rpz/Makefile
+ bin/tests/system/rsabigexponent/Makefile
bin/tests/system/tkey/Makefile
bin/tests/system/tsiggss/Makefile
bin/tests/tasks/Makefile
diff --git a/contrib/check-secure-delegation.pl.in b/contrib/check-secure-delegation.pl.in
index 87c868ae..edbf2cf6 100644
--- a/contrib/check-secure-delegation.pl.in
+++ b/contrib/check-secure-delegation.pl.in
@@ -1,6 +1,6 @@
#!@PERL@
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/contrib/dlz/bin/dlzbdb/Makefile.in b/contrib/dlz/bin/dlzbdb/Makefile.in
index 67244c98..8a4f8c4c 100644
--- a/contrib/dlz/bin/dlzbdb/Makefile.in
+++ b/contrib/dlz/bin/dlzbdb/Makefile.in
@@ -51,11 +51,11 @@ SRCS = dlzbdb.c
@BIND9_MAKE_RULES@
dlzbdb.@O@: dlzbdb.c
- ${LIBTOOL} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
+ ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
-c ${srcdir}/dlzbdb.c
dlzbdb: dlzbdb.@O@ ${DEPLIBS}
- ${LIBTOOL} ${PURIFY} ${CC} ${CFLAGS} -o $@ dlzbdb.@O@ ${LIBS}
+ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} -o $@ dlzbdb.@O@ ${LIBS}
doc man:: ${MANOBJS}
@@ -70,4 +70,4 @@ installdirs:
# $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: dlzbdb installdirs
- ${LIBTOOL} ${INSTALL_PROGRAM} dlzbdb ${DESTDIR}${sbindir}
+ ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} dlzbdb ${DESTDIR}${sbindir}
diff --git a/contrib/named-bootconf/named-bootconf.sh b/contrib/named-bootconf/named-bootconf.sh
index 029e35bd..cb2aeec9 100644
--- a/contrib/named-bootconf/named-bootconf.sh
+++ b/contrib/named-bootconf/named-bootconf.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Portions Copyright (C) 2004, 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Portions Copyright (C) 2004, 2006, 2007, 2012 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
diff --git a/contrib/nanny/nanny.pl b/contrib/nanny/nanny.pl
index 16ecf1f9..815c2925 100644
--- a/contrib/nanny/nanny.pl
+++ b/contrib/nanny/nanny.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/contrib/sdb/tcl/lookup.tcl b/contrib/sdb/tcl/lookup.tcl
index 83a8e2a4..9d2b2c3e 100644
--- a/contrib/sdb/tcl/lookup.tcl
+++ b/contrib/sdb/tcl/lookup.tcl
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/contrib/zone-edit.sh.in b/contrib/zone-edit.sh.in
index 10fdeec2..3a178918 100644
--- a/contrib/zone-edit.sh.in
+++ b/contrib/zone-edit.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2010, 2012 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
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 14d35bc2..29074b53 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml
index e8a0497a..67977a9c 100644
--- a/doc/arm/Bv9ARM-book.xml
+++ b/doc/arm/Bv9ARM-book.xml
@@ -1625,11 +1625,31 @@ zone "eng.example.com" {
<command>inline-signing</command> zones.
Parameters are specified in the same format as
an NSEC3PARAM resource record: hash algorithm,
- flags, iterations, salt. For example, to set 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</command>.
+ 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 hexidecimal, 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 &lt;zone&gt;</command>.
+ To set the opt-out flag, 15 iterations, and no
+ salt, use:
+ <command>rndc signing -nsec3param 1 1 15 - &lt;zone&gt;</command>.
+ </para>
+ <para>
<command>rndc signing -nsec3param none</command>
removes an existing NSEC3 chain and replaces it
with NSEC.
@@ -5294,6 +5314,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<optional> preferred-glue ( <replaceable>A</replaceable> | <replaceable>AAAA</replaceable> | <replaceable>NONE</replaceable> ); </optional>
<optional> edns-udp-size <replaceable>number</replaceable>; </optional>
<optional> max-udp-size <replaceable>number</replaceable>; </optional>
+ <optional> max-rsa-exponent-size <replaceable>number</replaceable>; </optional>
<optional> root-delegation-only <optional> exclude { <replaceable>namelist</replaceable> } </optional> ; </optional>
<optional> querylog <replaceable>yes_or_no</replaceable> ; </optional>
<optional> disable-algorithms <replaceable>domain</replaceable> { <replaceable>algorithm</replaceable>;
@@ -5313,7 +5334,11 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<optional> resolver-query-timeout <replaceable>number</replaceable> ; </optional>
<optional> deny-answer-addresses { <replaceable>address_match_list</replaceable> } <optional> except-from { <replaceable>namelist</replaceable> } </optional>;</optional>
<optional> deny-answer-aliases { <replaceable>namelist</replaceable> } <optional> except-from { <replaceable>namelist</replaceable> } </optional>;</optional>
- <optional> response-policy { <replaceable>zone_name</replaceable> <optional> policy given | disabled | passthru | nxdomain | nodata | cname <replaceable>domain</replaceable> </optional> ; } ; </optional>
+ <optional> response-policy { <replaceable>zone_name</replaceable>
+ <optional> policy given | disabled | passthru | nxdomain | nodata | cname <replaceable>domain</replaceable> </optional>
+ <optional> recursive-only <replaceable>yes_or_no</replaceable> </optional> <optional> max-policy-ttl <replaceable>number</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>
};
</programlisting>
@@ -7437,8 +7462,8 @@ options {
<listitem>
<para>
The amount of time the resolver will spend attempting
- to resolve a recursive query before failing. The
- default is <literal>10</literal> and the maximum is
+ to resolve a recursive query before failing. The default
+ and minimum is <literal>10</literal> and the maximum is
<literal>30</literal>. Setting it to <literal>0</literal>
will result in the default being used.
</para>
@@ -8979,6 +9004,18 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><command>max-rsa-exponent-size</command></term>
+ <listitem>
+ <para>
+ The maximum RSA exponent size, in bits, that will
+ be accepted when validating. Valid values are 35
+ to 4096 bits. The default zero (0) is also accepted
+ and is equivalent to 4096.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</sect3>
@@ -9446,17 +9483,15 @@ deny-answer-aliases { "example.net"; };
<sect3>
<title>Response Policy Zone (RPZ) Rewriting</title>
<para>
- <acronym>BIND</acronym> 9 includes an intentionally limited
- mechanism to modify DNS responses for recursive requests
- somewhat similar to email anti-spam DNS blacklists.
+ <acronym>BIND</acronym> 9 includes a limited
+ mechanism to modify DNS responses for requests
+ analogous to email anti-spam DNS blacklists.
Responses can be changed to deny the existence of domains(NXDOMAIN),
deny the existence of IP addresses for domains (NODATA),
or contain other IP addresses or data.
</para>
<para>
- The actions encoded in a response policy zone (RPZ) are applied
- only to queries that ask for recursion (RD=1).
Response policy zones are named in the
<command>response-policy</command> option for the view or among the
global options if there is no response-policy option for the view.
@@ -9467,22 +9502,21 @@ deny-answer-aliases { "example.net"; };
</para>
<para>
- There are four kinds of RPZ records, QNAME, IP, NSIP,
+ Four policy triggers are encoded in RPZ records, QNAME, IP, NSIP,
and NSDNAME.
- QNAME records are applied to query names of requests and targets
+ QNAME RPZ records triggered by query names of requests and targets
of CNAME records resolved to generate the response.
The owner name of a QNAME RPZ record is the query name relativized
to the RPZ.
</para>
<para>
- The second kind of RPZ record, an IP policy record,
- is triggered by addresses in A and AAAA records
- for the ANSWER sections of responses.
- IP policy records have owner names that are
- subdomains of <userinput>rpz-ip</userinput> relativized to the
- RPZ origin name and encode an IP address or address block.
- IPv4 addresses are encoded as
+ The second kind of RPZ trigger is an IP address in an A and AAAA
+ record in the ANSWER section of a response.
+ IP address triggers are encoded in records that have owner names
+ that are subdomains of <userinput>rpz-ip</userinput> relativized
+ to the RPZ origin name and encode an IP address or address block.
+ IPv4 trigger addresses are represented as
<userinput>prefixlength.B4.B3.B2.B1.rpz-ip</userinput>.
The prefix length must be between 1 and 32.
All four bytes, B4, B3, B2, and B1, must be present.
@@ -9501,43 +9535,45 @@ deny-answer-aliases { "example.net"; };
</para>
<para>
- NSDNAME policy records match names of authoritative servers
- for the query name, a parent of the query name, a CNAME,
- or a parent of a CNAME.
+ NSDNAME triggers match names of authoritative servers
+ for the query name, a parent of the query name, a CNAME for
+ query name, or a parent of a CNAME.
They are encoded as subdomains of
<userinput>rpz-nsdomain</userinput> relativized
to the RPZ origin name.
</para>
<para>
- NSIP policy records match IP addresses in A and AAAA RRsets
- for domains that can be checked against NSDNAME policy records.
- The are encoded like IP policies except as subdomains of
+ NSIP triggers match IP addresses in A and
+ AAAA RRsets for domains that can be checked against NSDNAME
+ policy records.
+ NSIP triggers are encoded like IP triggers except as subdomains of
<userinput>rpz-nsip</userinput>.
</para>
<para>
The query response is checked against all RPZs, so
- two or more policy records can apply to a single response.
- Because DNS responses can be rewritten according by at most a
- single policy record, a single policy (other than
- <command>DISABLED</command> policies) must be chosen.
- Policies are chosen in the following order:
+ two or more policy records can be triggered by a response.
+ Because DNS responses can be rewritten according to at most one
+ policy record, a single record encoding an action (other than
+ <command>DISABLED</command> actions) must be chosen.
+ Triggers or the records that encode them are chosen in
+ the following order:
<itemizedlist>
- <listitem>Among applicable zones, use the RPZ that appears first
- in the response-policy option.
+ <listitem>Choose the triggered record in the zone that appears
+ first in the response-policy option.
</listitem>
- <listitem>Prefer QNAME to IP to NSDNAME to NSIP policy records
- in a single RPZ
+ <listitem>Prefer QNAME to IP to NSDNAME to NSIP triggers
+ in a single zone.
</listitem>
- <listitem>Among applicable NSDNAME policy records, prefer the
- policy record that matches the lexically smallest name
+ <listitem>Among NSDNAME triggers, prefer the
+ trigger that matches the smallest name under the DNSSEC ordering.
</listitem>
- <listitem>Among IP or NSIP policy records, prefer the record
+ <listitem>Among IP or NSIP triggers, prefer the trigger
with the longest prefix.
</listitem>
- <listitem>Among records with the same prefex length,
- prefer the IP or NSIP policy record that matches
+ <listitem>Among triggers with the same prefex length,
+ prefer the IP or NSIP trigger that matches
the smallest IP address.
</listitem>
</itemizedlist>
@@ -9545,8 +9581,8 @@ deny-answer-aliases { "example.net"; };
<para>
When the processing of a response is restarted to resolve
- DNAME or CNAME records and an applicable policy record set has
- not been found,
+ DNAME or CNAME records and a policy record set has
+ not been triggered,
all RPZs are again consulted for the DNAME or CNAME names
and addresses.
</para>
@@ -9563,55 +9599,56 @@ deny-answer-aliases { "example.net"; };
</para>
<para>
- RPZ record sets are special CNAME records or one or more
- of any types of DNS record except DNAME or DNSSEC.
- Except when a policy record is a CNAME, there can be more
- more than one record and more than one type
- in a set of policy records.
- Except for three kinds of CNAME records that are illegal except
- in policy zones, the records in a set are used in the response as if
- their owner name were the query name. They are copied to the
- response as dictated by their types.
+ RPZ record sets are sets of any types of DNS record except
+ DNAME or DNSSEC that encode actions or responses to queries.
<itemizedlist>
- <listitem>A CNAME whose target is the root domain (.)
- specifies the <command>NXDOMAIN</command> policy,
- which generates an NXDOMAIN response.
+ <listitem>The <command>NXDOMAIN</command> response is encoded
+ by a CNAME whose target is the root domain (.)
</listitem>
<listitem>A CNAME whose target is the wildcard top-level
- domain (*.) specifies the <command>NODATA</command> policy,
+ domain (*.) specifies the <command>NODATA</command> action,
which rewrites the response to NODATA or ANCOUNT=1.
</listitem>
- <listitem>A CNAME whose target is a wildcard hostname such
- as *.example.com is used normally after the astrisk (*)
+ <listitem>The <command>Local Data</command> action is
+ represented by a set ordinary DNS records that are used
+ to answer queries. Queries for record types not the
+ set are answered with NODATA.
+
+ A special form of local data is a CNAME whose target is a
+ wildcard such as *.example.com.
+ It is used as if were an ordinary CNAME after the astrisk (*)
has been replaced with the query name.
- These records are usually resolved with ordinary CNAMEs
- outside the policy zones. They can be useful for logging.
+ The purpose for this special form is query logging in the
+ walled garden's authority DNS server.
</listitem>
<listitem>The <command>PASSTHRU</command> policy is specified
- by a CNAME whose target is the variable part of its own
- owner name. It causes the response to not be rewritten
+ by a CNAME whose target is <command>rpz_passthru.</command>
+ It causes the response to not be rewritten
and is most often used to "poke holes" in policies for
CIDR blocks.
+ (A CNAME whose target is the variable part of its owner name
+ is an obsolete specification of the PASSTHRU policy.)
</listitem>
</itemizedlist>
</para>
<para>
- The policies specified in individual records
- in an RPZ can be overridden with a <command>policy</command> clause
- in the <command>response-policy</command> option.
+ The actions specified in an RPZ can be overridden with a
+ <command>policy</command> clause in the
+ <command>response-policy</command> option.
An organization using an RPZ provided by another organization might
use this mechanism to redirect domains to its own walled garden.
<itemizedlist>
- <listitem><command>GIVEN</command> says "do not override."
+ <listitem><command>GIVEN</command> says "do not override but
+ perform the action specified in the zone."
</listitem>
<listitem><command>DISABLED</command> causes policy records to do
nothing but log what they might have done.
The response to the DNS query will be written according to
- any matching policy records that are not disabled.
- Policy zones overridden with <command>DISABLED</command> should
- appear first, because they will often not be logged
- if a higher precedence policy is found first.
+ any triggered policy records that are not disabled.
+ Disabled policy zones should appear first,
+ because they will often not be logged
+ if a higher precedence trigger is found first.
</listitem>
<listitem><command>PASSTHRU</command> causes all policy records
to act as if they were CNAME records with targets the variable
@@ -9631,6 +9668,37 @@ deny-answer-aliases { "example.net"; };
</para>
<para>
+ By default, the actions encoded in an RPZ are applied
+ only to queries that ask for recursion (RD=1).
+ That default can be changed for a single RPZ or all RPZs in a view
+ with a <command>recursive-only no</command> clause.
+ This feature is useful for serving the same zone files
+ both inside and outside an RFC 1918 cloud and using RPZ to
+ delete answers that would otherwise contain RFC 1918 values
+ on the externally visible name server or view.
+ </para>
+
+ <para>
+ Also by default, RPZ actions are applied only to DNS requests that
+ either do not request DNSSEC metadata (DO=0) or when no DNSSEC
+ records are available for request name in the original zone (not
+ the response policy zone).
+ This default can be changed for all RPZs in a view with a
+ <command>break-dnssec yes</command> clause.
+ In that case, RPZ actions are applied regardless of DNSSEC.
+ The name of the clause option reflects the fact that results
+ rewritten by RPZ actions cannot verify.
+ </para>
+
+ <para>
+ The TTL of a record modified by RPZ policies is set from the
+ TTL of the relevant record in policy zone. It is then limited
+ to a maximum value.
+ The <command>max-policy-ttl</command> clause changes that
+ maximum from its default of 5.
+ </para>
+
+ <para>
For example, you might use this option statement
</para>
<programlisting> response-policy { zone "badlist"; };</programlisting>
@@ -9652,7 +9720,7 @@ bad.domain.com A 10.0.0.1 ; redirect to a walled garden
AAAA 2001:2::1
; do not rewrite (PASSTHRU) OK.DOMAIN.COM
-ok.domain.com CNAME ok.domain.com.
+ok.domain.com CNAME rpz-passthru.
bzone.domain.com CNAME garden.example.com.
@@ -9662,7 +9730,7 @@ bzone.domain.com CNAME garden.example.com.
; IP policy records that rewrite all answers for 127/8 except 127.0.0.1
8.0.0.0.127.rpz-ip CNAME .
-32.1.0.0.127.rpz-ip CNAME 32.1.0.0.127. ; PASSTHRU for 127.0.0.1
+32.1.0.0.127.rpz-ip CNAME rpz-passthru.
; NSDNAME and NSIP policy records
ns.domain.com.rpz-nsdname CNAME .
@@ -10321,7 +10389,7 @@ view "external" {
<optional> max-retry-time <replaceable>number</replaceable> ; </optional>
<optional> key-directory <replaceable>path_name</replaceable>; </optional>
<optional> auto-dnssec <constant>allow</constant>|<constant>maintain</constant>|<constant>off</constant>; </optional>
- <optional> inline-signing <replacable>yes_or_no</replacable>; </optional>
+ <optional> inline-signing <replaceable>yes_or_no</replaceable>; </optional>
<optional> zero-no-soa-ttl <replaceable>yes_or_no</replaceable> ; </optional>
<optional> serial-update-method <constant>increment</constant>|<constant>unixtime</constant>; </optional>
};
@@ -11785,7 +11853,7 @@ example.com. NS ns2.example.net.
(machine$@REALM) for machine in REALM and
and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
- is specified in the <replacable>identity</replacable>
+ is specified in the <replaceable>identity</replaceable>
field.
</para>
</entry>
@@ -11802,7 +11870,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
to be matched is specified in the
- <replacable>identity</replacable> field.
+ <replaceable>identity</replaceable> field.
</para>
</entry>
</row>
@@ -11817,7 +11885,7 @@ example.com. NS ns2.example.net.
(host/machine@REALM) for machine in REALM and
and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
- is specified in the <replacable>identity</replacable>
+ is specified in the <replaceable>identity</replaceable>
field.
</para>
</entry>
@@ -11834,7 +11902,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
to be matched is specified in the
- <replacable>identity</replacable> field.
+ <replaceable>identity</replaceable> field.
</para>
</entry>
</row>
@@ -16774,6 +16842,7 @@ zone "example.com" {
<xi:include href="../../bin/dnssec/dnssec-revoke.docbook"/>
<xi:include href="../../bin/dnssec/dnssec-settime.docbook"/>
<xi:include href="../../bin/dnssec/dnssec-signzone.docbook"/>
+ <xi:include href="../../bin/dnssec/dnssec-verify.docbook"/>
<xi:include href="../../bin/check/named-checkconf.docbook"/>
<xi:include href="../../bin/check/named-checkzone.docbook"/>
<xi:include href="../../bin/named/named.docbook"/>
diff --git a/doc/arm/Bv9ARM.ch01.html b/doc/arm/Bv9ARM.ch01.html
index 6251fd3e..0554f0b4 100644
--- a/doc/arm/Bv9ARM.ch01.html
+++ b/doc/arm/Bv9ARM.ch01.html
@@ -48,10 +48,10 @@
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564375">Scope of Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564398">Organization of This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564538">Conventions Used in This Document</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564788">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564720">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564809">DNS Fundamentals</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564843">Domains and Domain Names</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564741">DNS Fundamentals</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564775">Domains and Domain Names</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567180">Zones</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567257">Authoritative Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567430">Caching Name Servers</a></span></dt>
@@ -243,7 +243,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2564788"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
+<a name="id2564720"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
<p>
The purpose of this document is to explain the installation
and upkeep of the <acronym class="acronym">BIND</acronym> (Berkeley Internet
@@ -253,7 +253,7 @@
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2564809"></a>DNS Fundamentals</h3></div></div></div>
+<a name="id2564741"></a>DNS Fundamentals</h3></div></div></div>
<p>
The Domain Name System (DNS) is a hierarchical, distributed
database. It stores information for mapping Internet host names to
@@ -275,7 +275,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2564843"></a>Domains and Domain Names</h3></div></div></div>
+<a name="id2564775"></a>Domains and Domain Names</h3></div></div></div>
<p>
The data stored in the DNS is identified by <span class="emphasis"><em>domain names</em></span> that are organized as a tree according to
organizational or administrative boundaries. Each node of the tree,
diff --git a/doc/arm/Bv9ARM.ch03.html b/doc/arm/Bv9ARM.ch03.html
index 0909ffa9..4aa67c5f 100644
--- a/doc/arm/Bv9ARM.ch03.html
+++ b/doc/arm/Bv9ARM.ch03.html
@@ -54,7 +54,7 @@
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568369">Name Server Operations</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568374">Tools for Use With the Name Server Daemon</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570632">Signals</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570597">Signals</a></span></dt>
</dl></dd>
</dl>
</div>
@@ -806,11 +806,31 @@ zone "eng.example.com" {
<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, salt. For example, to set 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</strong></span>.
+ 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 hexidecimal, 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 &lt;zone&gt;</strong></span>.
+ To set the opt-out flag, 15 iterations, and no
+ salt, use:
+ <span><strong class="command">rndc signing -nsec3param 1 1 15 - &lt;zone&gt;</strong></span>.
+ </p>
+<p>
<span><strong class="command">rndc signing -nsec3param none</strong></span>
removes an existing NSEC3 chain and replaces it
with NSEC.
@@ -968,7 +988,7 @@ controls {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2570632"></a>Signals</h3></div></div></div>
+<a name="id2570597"></a>Signals</h3></div></div></div>
<p>
Certain UNIX signals cause the name server to take specific
actions, as described in the following table. These signals can
diff --git a/doc/arm/Bv9ARM.ch04.html b/doc/arm/Bv9ARM.ch04.html
index a4435458..a6f299a1 100644
--- a/doc/arm/Bv9ARM.ch04.html
+++ b/doc/arm/Bv9ARM.ch04.html
@@ -49,59 +49,59 @@
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2563971">Split DNS</a></span></dt>
-<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563989">Example split DNS setup</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571172">Split DNS</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571190">Example split DNS setup</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571726">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571800">Copying the Shared Secret to Both Machines</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572016">Informing the Servers of the Key's Existence</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572052">Instructing the Server to Use the Key</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572109">TSIG Key Based Access Control</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572158">Errors</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571760">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571833">Copying the Shared Secret to Both Machines</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571844">Informing the Servers of the Key's Existence</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571880">Instructing the Server to Use the Key</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571938">TSIG Key Based Access Control</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571987">Errors</a></span></dt>
</dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572172">TKEY</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572290">SIG(0)</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572001">TKEY</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572186">SIG(0)</a></span></dt>
<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#id2572358">Generating Keys</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572437">Signing the Zone</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572586">Configuring Servers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572254">Generating Keys</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572402">Signing the Zone</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572483">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#id2608779">Converting from insecure to secure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563488">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563524">Fully automatic zone signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563696">Private-type records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563733">DNSKEY rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563746">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563779">Automatic key rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563805">NSEC3PARAM rollovers via UPDATE</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563815">Converting from NSEC to NSEC3</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571129">Converting from NSEC3 to NSEC</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571142">Converting from secure to insecure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571179">Periodic re-signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571189">NSEC3 and OPTOUT</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608825">Converting from insecure to secure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608862">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563570">Fully automatic zone signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563673">Private-type records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563710">DNSKEY rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563723">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563893">Automatic key rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563920">NSEC3PARAM rollovers via UPDATE</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563929">Converting from NSEC to NSEC3</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563939">Converting from NSEC3 to NSEC</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563952">Converting from secure to insecure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578393">Periodic re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578403">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#id2609042">Validating Resolver</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609064">Authoritative Server</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578572">Validating Resolver</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578595">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#id2611352">Prerequisites</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609124">Building BIND 9 with PKCS#11</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611433">PKCS #11 Tools</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611464">Using the HSM</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636034">Specifying the engine on the command line</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636080">Running named with automatic zone re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611534">Prerequisites</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609443">Building BIND 9 with PKCS#11</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636055">PKCS #11 Tools</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636086">Using the HSM</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636284">Specifying the engine on the command line</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636330">Running named with automatic zone re-signing</a></span></dt>
</dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572806">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572702">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2573004">Address Lookups Using AAAA Records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2573026">Address to Name Lookups Using Nibble Format</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572764">Address Lookups Using AAAA Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572990">Address to Name Lookups Using Nibble Format</a></span></dt>
</dl></dd>
</dl>
</div>
@@ -256,7 +256,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2563971"></a>Split DNS</h2></div></div></div>
+<a name="id2571172"></a>Split DNS</h2></div></div></div>
<p>
Setting up different views, or visibility, of the DNS space to
internal and external resolvers is usually referred to as a
@@ -286,7 +286,7 @@
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2563989"></a>Example split DNS setup</h3></div></div></div>
+<a name="id2571190"></a>Example split DNS setup</h3></div></div></div>
<p>
Let's say a company named <span class="emphasis"><em>Example, Inc.</em></span>
(<code class="literal">example.com</code>)
@@ -543,7 +543,7 @@ nameserver 172.16.72.4
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2571726"></a>Generate Shared Keys for Each Pair of Hosts</h3></div></div></div>
+<a name="id2571760"></a>Generate Shared Keys for Each Pair of Hosts</h3></div></div></div>
<p>
A shared secret is generated to be shared between <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host2</em></span>.
An arbitrary key name is chosen: "host1-host2.". The key name must
@@ -551,7 +551,7 @@ nameserver 172.16.72.4
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2571744"></a>Automatic Generation</h4></div></div></div>
+<a name="id2571777"></a>Automatic Generation</h4></div></div></div>
<p>
The following command will generate a 128-bit (16 byte) HMAC-SHA256
key as described above. Longer keys are better, but shorter keys
@@ -575,7 +575,7 @@ nameserver 172.16.72.4
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2571782"></a>Manual Generation</h4></div></div></div>
+<a name="id2571815"></a>Manual Generation</h4></div></div></div>
<p>
The shared secret is simply a random sequence of bits, encoded
in base-64. Most ASCII strings are valid base-64 strings (assuming
@@ -590,7 +590,7 @@ nameserver 172.16.72.4
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2571800"></a>Copying the Shared Secret to Both Machines</h3></div></div></div>
+<a name="id2571833"></a>Copying the Shared Secret to Both Machines</h3></div></div></div>
<p>
This is beyond the scope of DNS. A secure transport mechanism
should be used. This could be secure FTP, ssh, telephone, etc.
@@ -598,7 +598,7 @@ nameserver 172.16.72.4
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2572016"></a>Informing the Servers of the Key's Existence</h3></div></div></div>
+<a name="id2571844"></a>Informing the Servers of the Key's Existence</h3></div></div></div>
<p>
Imagine <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host 2</em></span>
are
@@ -625,7 +625,7 @@ key host1-host2. {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2572052"></a>Instructing the Server to Use the Key</h3></div></div></div>
+<a name="id2571880"></a>Instructing the Server to Use the Key</h3></div></div></div>
<p>
Since keys are shared between two hosts only, the server must
be told when keys are to be used. The following is added to the <code class="filename">named.conf</code> file
@@ -657,7 +657,7 @@ server 10.1.2.3 {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2572109"></a>TSIG Key Based Access Control</h3></div></div></div>
+<a name="id2571938"></a>TSIG Key Based Access Control</h3></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> allows IP addresses and ranges
to be specified in ACL
@@ -684,7 +684,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2572158"></a>Errors</h3></div></div></div>
+<a name="id2571987"></a>Errors</h3></div></div></div>
<p>
The processing of TSIG signed messages can result in
several errors. If a signed message is sent to a non-TSIG aware
@@ -710,7 +710,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2572172"></a>TKEY</h2></div></div></div>
+<a name="id2572001"></a>TKEY</h2></div></div></div>
<p><span><strong class="command">TKEY</strong></span>
is a mechanism for automatically generating a shared secret
between two hosts. There are several "modes" of
@@ -746,7 +746,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2572290"></a>SIG(0)</h2></div></div></div>
+<a name="id2572186"></a>SIG(0)</h2></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> 9 partially supports DNSSEC SIG(0)
transaction signatures as specified in RFC 2535 and RFC 2931.
@@ -807,7 +807,7 @@ allow-update { key host1-host2. ;};
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2572358"></a>Generating Keys</h3></div></div></div>
+<a name="id2572254"></a>Generating Keys</h3></div></div></div>
<p>
The <span><strong class="command">dnssec-keygen</strong></span> program is used to
generate keys.
@@ -863,7 +863,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2572437"></a>Signing the Zone</h3></div></div></div>
+<a name="id2572402"></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.
@@ -905,7 +905,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2572586"></a>Configuring Servers</h3></div></div></div>
+<a name="id2572483"></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,
@@ -1065,7 +1065,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="id2608779"></a>Converting from insecure to secure</h3></div></div></div></div>
+<a name="id2608825"></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>
@@ -1091,7 +1091,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="id2563488"></a>Dynamic DNS update method</h3></div></div></div></div>
+<a name="id2608862"></a>Dynamic DNS update method</h3></div></div></div></div>
<p>To insert the keys via dynamic update:</p>
<pre class="screen">
% nsupdate
@@ -1127,7 +1127,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="id2563524"></a>Fully automatic zone signing</h3></div></div></div></div>
+<a name="id2563570"></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>.
@@ -1183,7 +1183,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="id2563696"></a>Private-type records</h3></div></div></div></div>
+<a name="id2563673"></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
@@ -1224,12 +1224,12 @@ options {
<p>
</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2563733"></a>DNSKEY rollovers</h3></div></div></div></div>
+<a name="id2563710"></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="id2563746"></a>Dynamic DNS update method</h3></div></div></div></div>
+<a name="id2563723"></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
@@ -1251,7 +1251,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="id2563779"></a>Automatic key rollovers</h3></div></div></div></div>
+<a name="id2563893"></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
@@ -1266,27 +1266,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="id2563805"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div></div>
+<a name="id2563920"></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="id2563815"></a>Converting from NSEC to NSEC3</h3></div></div></div></div>
+<a name="id2563929"></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="id2571129"></a>Converting from NSEC3 to NSEC</h3></div></div></div></div>
+<a name="id2563939"></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="id2571142"></a>Converting from secure to insecure</h3></div></div></div></div>
+<a name="id2563952"></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,
@@ -1301,14 +1301,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="id2571179"></a>Periodic re-signing</h3></div></div></div></div>
+<a name="id2578393"></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="id2571189"></a>NSEC3 and OPTOUT</h3></div></div></div></div>
+<a name="id2578403"></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
@@ -1330,7 +1330,7 @@ options {
configuration files.</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2609042"></a>Validating Resolver</h3></div></div></div>
+<a name="id2578572"></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
@@ -1341,7 +1341,7 @@ options {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2609064"></a>Authoritative Server</h3></div></div></div>
+<a name="id2578595"></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"
@@ -1415,7 +1415,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="id2611352"></a>Prerequisites</h3></div></div></div>
+<a name="id2611534"></a>Prerequisites</h3></div></div></div>
<p>See the HSM vendor documentation for information about
installing, initializing, testing and troubleshooting the
HSM.</p>
@@ -1492,7 +1492,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="id2571444"></a>Building OpenSSL for the AEP Keyper on Linux</h4></div></div></div>
+<a name="id2609036"></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
@@ -1524,7 +1524,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="id2608377"></a>Building OpenSSL for the SCA 6000 on Solaris</h4></div></div></div>
+<a name="id2609106"></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
@@ -1546,7 +1546,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="id2608904"></a>Building OpenSSL for SoftHSM</h4></div></div></div>
+<a name="id2609155"></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
@@ -1606,12 +1606,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="id2609124"></a>Building BIND 9 with PKCS#11</h3></div></div></div>
+<a name="id2609443"></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="id2609132"></a>Configuring BIND 9 for Linux with the AEP Keyper</h4></div></div></div>
+<a name="id2609451"></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
@@ -1627,7 +1627,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="id2609233"></a>Configuring BIND 9 for Solaris with the SCA 6000</h4></div></div></div>
+<a name="id2609483"></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">
@@ -1645,7 +1645,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="id2609269"></a>Configuring BIND 9 for SoftHSM</h4></div></div></div>
+<a name="id2636007"></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 \
@@ -1662,7 +1662,7 @@ $ <strong class="userinput"><code>./configure --enable-threads \
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2611433"></a>PKCS #11 Tools</h3></div></div></div>
+<a name="id2636055"></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
@@ -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="id2611464"></a>Using the HSM</h3></div></div></div>
+<a name="id2636086"></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">
@@ -1768,7 +1768,7 @@ example.net.signed
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2636034"></a>Specifying the engine on the command line</h3></div></div></div>
+<a name="id2636284"></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
@@ -1789,7 +1789,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="id2636080"></a>Running named with automatic zone re-signing</h3></div></div></div>
+<a name="id2636330"></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
@@ -1825,7 +1825,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="id2572806"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
+<a name="id2572702"></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
@@ -1863,7 +1863,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="id2573004"></a>Address Lookups Using AAAA Records</h3></div></div></div>
+<a name="id2572764"></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
@@ -1882,7 +1882,7 @@ host 3600 IN AAAA 2001:db8::1
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2573026"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
+<a name="id2572990"></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
diff --git a/doc/arm/Bv9ARM.ch05.html b/doc/arm/Bv9ARM.ch05.html
index 7887e6c1..e173ace6 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#id2573059">The Lightweight Resolver Library</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2573024">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="id2573059"></a>The Lightweight Resolver Library</h2></div></div></div>
+<a name="id2573024"></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
diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html
index e5cad759..886eb05b 100644
--- a/doc/arm/Bv9ARM.ch06.html
+++ b/doc/arm/Bv9ARM.ch06.html
@@ -48,58 +48,58 @@
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574469">Comment Syntax</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574502">Comment Syntax</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575197"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575162"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575387"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575352"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575747"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575764"><span><strong class="command">include</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575712"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575729"><span><strong class="command">include</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575787"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575811"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575970"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576164"><span><strong class="command">logging</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575752"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575776"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575866"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576060"><span><strong class="command">logging</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578122"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578264"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578328"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578372"><span><strong class="command">masters</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578087"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578161"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578225"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2564001"><span><strong class="command">masters</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578393"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2564022"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590138"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590313"><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#id2590278"><span><strong class="command">trusted-keys</strong></span> Statement Definition
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590453"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590325"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590500"><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#id2590750"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590994"><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#id2592430"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592674"><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#id2595996">Zone File</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2596103">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#id2598227">Discussion of MX Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598333">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#id2598842">Inverse Mapping in IPv4</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598969">Other Zone File Directives</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599174"><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#id2598949">Inverse Mapping in IPv4</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599144">Other Zone File Directives</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599349"><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>
@@ -477,7 +477,7 @@
<a name="address_match_lists"></a>Address Match Lists</h3></div></div></div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2574304"></a>Syntax</h4></div></div></div>
+<a name="id2574268"></a>Syntax</h4></div></div></div>
<pre class="programlisting"><code class="varname">address_match_list</code> = address_match_list_element ;
[<span class="optional"> address_match_list_element; ... </span>]
<code class="varname">address_match_list_element</code> = [<span class="optional"> ! </span>] (ip_address [<span class="optional">/length</span>] |
@@ -486,7 +486,7 @@
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2574331"></a>Definition and Usage</h4></div></div></div>
+<a name="id2574296"></a>Definition and Usage</h4></div></div></div>
<p>
Address match lists are primarily used to determine access
control for various server operations. They are also used in
@@ -570,7 +570,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2574469"></a>Comment Syntax</h3></div></div></div>
+<a name="id2574502"></a>Comment Syntax</h3></div></div></div>
<p>
The <acronym class="acronym">BIND</acronym> 9 comment syntax allows for
comments to appear
@@ -580,7 +580,7 @@
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2574552"></a>Syntax</h4></div></div></div>
+<a name="id2574517"></a>Syntax</h4></div></div></div>
<p>
</p>
<pre class="programlisting">/* This is a <acronym class="acronym">BIND</acronym> comment as in C */</pre>
@@ -596,7 +596,7 @@
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2574582"></a>Definition and Usage</h4></div></div></div>
+<a name="id2574547"></a>Definition and Usage</h4></div></div></div>
<p>
Comments may appear anywhere that whitespace may appear in
a <acronym class="acronym">BIND</acronym> configuration file.
@@ -850,7 +850,7 @@
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2575197"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2575162"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">acl</strong></span> acl-name {
address_match_list
};
@@ -932,7 +932,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2575387"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2575352"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">controls</strong></span> {
[ inet ( ip_addr | * ) [ port ip_port ]
allow { <em class="replaceable"><code> address_match_list </code></em> }
@@ -1056,12 +1056,12 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2575747"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2575712"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">include</strong></span> <em class="replaceable"><code>filename</code></em>;</pre>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2575764"></a><span><strong class="command">include</strong></span> Statement Definition and
+<a name="id2575729"></a><span><strong class="command">include</strong></span> Statement Definition and
Usage</h3></div></div></div>
<p>
The <span><strong class="command">include</strong></span> statement inserts the
@@ -1076,7 +1076,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2575787"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2575752"></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>;
@@ -1085,7 +1085,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2575811"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div>
+<a name="id2575776"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div>
<p>
The <span><strong class="command">key</strong></span> statement defines a shared
secret key for use with TSIG (see <a href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called &#8220;TSIG&#8221;</a>)
@@ -1132,7 +1132,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2575970"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2575866"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">logging</strong></span> {
[ <span><strong class="command">channel</strong></span> <em class="replaceable"><code>channel_name</code></em> {
( <span><strong class="command">file</strong></span> <em class="replaceable"><code>path_name</code></em>
@@ -1156,7 +1156,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2576164"></a><span><strong class="command">logging</strong></span> Statement Definition and
+<a name="id2576060"></a><span><strong class="command">logging</strong></span> Statement Definition and
Usage</h3></div></div></div>
<p>
The <span><strong class="command">logging</strong></span> statement configures a
@@ -1190,7 +1190,7 @@
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2576216"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div>
+<a name="id2576113"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div>
<p>
All log output goes to one or more <span class="emphasis"><em>channels</em></span>;
you can make as many of them as you want.
@@ -1774,7 +1774,7 @@ category notify { null; };
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2577671"></a>The <span><strong class="command">query-errors</strong></span> Category</h4></div></div></div>
+<a name="id2577568"></a>The <span><strong class="command">query-errors</strong></span> Category</h4></div></div></div>
<p>
The <span><strong class="command">query-errors</strong></span> category is
specifically intended for debugging purposes: To identify
@@ -2002,7 +2002,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="id2578122"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2578087"></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:
@@ -2018,7 +2018,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="id2578264"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
+<a name="id2578161"></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
@@ -2069,7 +2069,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="id2578328"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2578225"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting">
<span><strong class="command">masters</strong></span> <em class="replaceable"><code>name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> |
<em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] };
@@ -2077,7 +2077,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="id2578372"></a><span><strong class="command">masters</strong></span> Statement Definition and
+<a name="id2564001"></a><span><strong class="command">masters</strong></span> Statement Definition and
Usage</h3></div></div></div>
<p><span><strong class="command">masters</strong></span>
lists allow for a common set of masters to be easily used by
@@ -2087,7 +2087,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="id2578393"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2564022"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
<p>
This is the grammar of the <span><strong class="command">options</strong></span>
statement in the <code class="filename">named.conf</code> file:
@@ -2270,6 +2270,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[<span class="optional"> preferred-glue ( <em class="replaceable"><code>A</code></em> | <em class="replaceable"><code>AAAA</code></em> | <em class="replaceable"><code>NONE</code></em> ); </span>]
[<span class="optional"> edns-udp-size <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> max-udp-size <em class="replaceable"><code>number</code></em>; </span>]
+ [<span class="optional"> max-rsa-exponent-size <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> root-delegation-only [<span class="optional"> exclude { <em class="replaceable"><code>namelist</code></em> } </span>] ; </span>]
[<span class="optional"> querylog <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
[<span class="optional"> disable-algorithms <em class="replaceable"><code>domain</code></em> { <em class="replaceable"><code>algorithm</code></em>;
@@ -2289,7 +2290,11 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[<span class="optional"> resolver-query-timeout <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> deny-answer-addresses { <em class="replaceable"><code>address_match_list</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>]
[<span class="optional"> deny-answer-aliases { <em class="replaceable"><code>namelist</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>]
- [<span class="optional"> response-policy { <em class="replaceable"><code>zone_name</code></em> [<span class="optional"> policy given | disabled | passthru | nxdomain | nodata | cname <em class="replaceable"><code>domain</code></em> </span>] ; } ; </span>]
+ [<span class="optional"> response-policy { <em class="replaceable"><code>zone_name</code></em>
+ [<span class="optional"> policy given | disabled | passthru | nxdomain | nodata | cname <em class="replaceable"><code>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"> 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>]
};
</pre>
</div>
@@ -3724,7 +3729,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2584057"></a>Forwarding</h4></div></div></div>
+<a name="id2584197"></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
@@ -3768,7 +3773,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2584184"></a>Dual-stack Servers</h4></div></div></div>
+<a name="id2584392"></a>Dual-stack Servers</h4></div></div></div>
<p>
Dual-stack servers are used as servers of last resort to work
around
@@ -3970,8 +3975,8 @@ options {
<dt><span class="term"><span><strong class="command">resolver-query-timeout</strong></span></span></dt>
<dd><p>
The amount of time the resolver will spend attempting
- to resolve a recursive query before failing. The
- default is <code class="literal">10</code> and the maximum is
+ to resolve a recursive query before failing. The default
+ and minimum is <code class="literal">10</code> and the maximum is
<code class="literal">30</code>. Setting it to <code class="literal">0</code>
will result in the default being used.
</p></dd>
@@ -3979,7 +3984,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2584736"></a>Interfaces</h4></div></div></div>
+<a name="id2585012"></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
@@ -4447,7 +4452,7 @@ avoid-v6-udp-ports {};
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2585884"></a>UDP Port Lists</h4></div></div></div>
+<a name="id2586229"></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>,
@@ -4489,7 +4494,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="id2586081"></a>Operating System Resource Limits</h4></div></div></div>
+<a name="id2586289"></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
@@ -4651,7 +4656,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="id2586640"></a>Periodic Task Intervals</h4></div></div></div>
+<a name="id2586711"></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>
@@ -5239,6 +5244,13 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
zones is controlled by <span><strong class="command">serial-query-rate</strong></span>.
</p>
</dd>
+<dt><span class="term"><span><strong class="command">max-rsa-exponent-size</strong></span></span></dt>
+<dd><p>
+ The maximum RSA exponent size, in bits, that will
+ be accepted when validating. Valid values are 35
+ to 4096 bits. The default zero (0) is also accepted
+ and is equivalent to 4096.
+ </p></dd>
</dl></div>
</div>
<div class="sect3" lang="en">
@@ -5509,7 +5521,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="id2588641"></a>Content Filtering</h4></div></div></div>
+<a name="id2588794"></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
@@ -5632,18 +5644,16 @@ deny-answer-aliases { "example.net"; };
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2588832"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div>
+<a name="id2588985"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div>
<p>
- <acronym class="acronym">BIND</acronym> 9 includes an intentionally limited
- mechanism to modify DNS responses for recursive requests
- somewhat similar to email anti-spam DNS blacklists.
+ <acronym class="acronym">BIND</acronym> 9 includes a limited
+ mechanism to modify DNS responses for requests
+ analogous to email anti-spam DNS blacklists.
Responses can be changed to deny the existence of domains(NXDOMAIN),
deny the existence of IP addresses for domains (NODATA),
or contain other IP addresses or data.
</p>
<p>
- The actions encoded in a response policy zone (RPZ) are applied
- only to queries that ask for recursion (RD=1).
Response policy zones are named in the
<span><strong class="command">response-policy</strong></span> option for the view or among the
global options if there is no response-policy option for the view.
@@ -5653,21 +5663,20 @@ deny-answer-aliases { "example.net"; };
<span><strong class="command">allow-query { localhost; };</strong></span>.
</p>
<p>
- There are four kinds of RPZ records, QNAME, IP, NSIP,
+ Four policy triggers are encoded in RPZ records, QNAME, IP, NSIP,
and NSDNAME.
- QNAME records are applied to query names of requests and targets
+ QNAME RPZ records triggered by query names of requests and targets
of CNAME records resolved to generate the response.
The owner name of a QNAME RPZ record is the query name relativized
to the RPZ.
</p>
<p>
- The second kind of RPZ record, an IP policy record,
- is triggered by addresses in A and AAAA records
- for the ANSWER sections of responses.
- IP policy records have owner names that are
- subdomains of <strong class="userinput"><code>rpz-ip</code></strong> relativized to the
- RPZ origin name and encode an IP address or address block.
- IPv4 addresses are encoded as
+ The second kind of RPZ trigger is an IP address in an A and AAAA
+ record in the ANSWER section of a response.
+ IP address triggers are encoded in records that have owner names
+ that are subdomains of <strong class="userinput"><code>rpz-ip</code></strong> relativized
+ to the RPZ origin name and encode an IP address or address block.
+ IPv4 trigger addresses are represented as
<strong class="userinput"><code>prefixlength.B4.B3.B2.B1.rpz-ip</code></strong>.
The prefix length must be between 1 and 32.
All four bytes, B4, B3, B2, and B1, must be present.
@@ -5685,42 +5694,44 @@ deny-answer-aliases { "example.net"; };
The prefix length must be between 1 and 128.
</p>
<p>
- NSDNAME policy records match names of authoritative servers
- for the query name, a parent of the query name, a CNAME,
- or a parent of a CNAME.
+ NSDNAME triggers match names of authoritative servers
+ for the query name, a parent of the query name, a CNAME for
+ query name, or a parent of a CNAME.
They are encoded as subdomains of
<strong class="userinput"><code>rpz-nsdomain</code></strong> relativized
to the RPZ origin name.
</p>
<p>
- NSIP policy records match IP addresses in A and AAAA RRsets
- for domains that can be checked against NSDNAME policy records.
- The are encoded like IP policies except as subdomains of
+ NSIP triggers match IP addresses in A and
+ AAAA RRsets for domains that can be checked against NSDNAME
+ policy records.
+ NSIP triggers are encoded like IP triggers except as subdomains of
<strong class="userinput"><code>rpz-nsip</code></strong>.
</p>
<p>
The query response is checked against all RPZs, so
- two or more policy records can apply to a single response.
- Because DNS responses can be rewritten according by at most a
- single policy record, a single policy (other than
- <span><strong class="command">DISABLED</strong></span> policies) must be chosen.
- Policies are chosen in the following order:
+ two or more policy records can be triggered by a response.
+ Because DNS responses can be rewritten according to at most one
+ policy record, a single record encoding an action (other than
+ <span><strong class="command">DISABLED</strong></span> actions) must be chosen.
+ Triggers or the records that encode them are chosen in
+ the following order:
</p>
<div class="itemizedlist"><ul type="disc">
-<li>Among applicable zones, use the RPZ that appears first
- in the response-policy option.
+<li>Choose the triggered record in the zone that appears
+ first in the response-policy option.
</li>
-<li>Prefer QNAME to IP to NSDNAME to NSIP policy records
- in a single RPZ
+<li>Prefer QNAME to IP to NSDNAME to NSIP triggers
+ in a single zone.
</li>
-<li>Among applicable NSDNAME policy records, prefer the
- policy record that matches the lexically smallest name
+<li>Among NSDNAME triggers, prefer the
+ trigger that matches the smallest name under the DNSSEC ordering.
</li>
-<li>Among IP or NSIP policy records, prefer the record
+<li>Among IP or NSIP triggers, prefer the trigger
with the longest prefix.
</li>
-<li>Among records with the same prefex length,
- prefer the IP or NSIP policy record that matches
+<li>Among triggers with the same prefex length,
+ prefer the IP or NSIP trigger that matches
the smallest IP address.
</li>
</ul></div>
@@ -5728,8 +5739,8 @@ deny-answer-aliases { "example.net"; };
</p>
<p>
When the processing of a response is restarted to resolve
- DNAME or CNAME records and an applicable policy record set has
- not been found,
+ DNAME or CNAME records and a policy record set has
+ not been triggered,
all RPZs are again consulted for the DNAME or CNAME names
and addresses.
</p>
@@ -5744,59 +5755,60 @@ deny-answer-aliases { "example.net"; };
on the "configure" command line.
</p>
<p>
- RPZ record sets are special CNAME records or one or more
- of any types of DNS record except DNAME or DNSSEC.
- Except when a policy record is a CNAME, there can be more
- more than one record and more than one type
- in a set of policy records.
- Except for three kinds of CNAME records that are illegal except
- in policy zones, the records in a set are used in the response as if
- their owner name were the query name. They are copied to the
- response as dictated by their types.
+ RPZ record sets are sets of any types of DNS record except
+ DNAME or DNSSEC that encode actions or responses to queries.
</p>
<div class="itemizedlist"><ul type="disc">
-<li>A CNAME whose target is the root domain (.)
- specifies the <span><strong class="command">NXDOMAIN</strong></span> policy,
- which generates an NXDOMAIN response.
+<li>The <span><strong class="command">NXDOMAIN</strong></span> response is encoded
+ by a CNAME whose target is the root domain (.)
</li>
<li>A CNAME whose target is the wildcard top-level
- domain (*.) specifies the <span><strong class="command">NODATA</strong></span> policy,
+ domain (*.) specifies the <span><strong class="command">NODATA</strong></span> action,
which rewrites the response to NODATA or ANCOUNT=1.
</li>
-<li>A CNAME whose target is a wildcard hostname such
- as *.example.com is used normally after the astrisk (*)
+<li>The <span><strong class="command">Local Data</strong></span> action is
+ represented by a set ordinary DNS records that are used
+ to answer queries. Queries for record types not the
+ set are answered with NODATA.
+
+ A special form of local data is a CNAME whose target is a
+ wildcard such as *.example.com.
+ It is used as if were an ordinary CNAME after the astrisk (*)
has been replaced with the query name.
- These records are usually resolved with ordinary CNAMEs
- outside the policy zones. They can be useful for logging.
+ The purpose for this special form is query logging in the
+ walled garden's authority DNS server.
</li>
<li>The <span><strong class="command">PASSTHRU</strong></span> policy is specified
- by a CNAME whose target is the variable part of its own
- owner name. It causes the response to not be rewritten
+ by a CNAME whose target is <span><strong class="command">rpz_passthru.</strong></span>
+ It causes the response to not be rewritten
and is most often used to "poke holes" in policies for
CIDR blocks.
+ (A CNAME whose target is the variable part of its owner name
+ is an obsolete specification of the PASSTHRU policy.)
</li>
</ul></div>
<p>
</p>
<p>
- The policies specified in individual records
- in an RPZ can be overridden with a <span><strong class="command">policy</strong></span> clause
- in the <span><strong class="command">response-policy</strong></span> option.
+ The actions specified in an RPZ can be overridden with a
+ <span><strong class="command">policy</strong></span> clause in the
+ <span><strong class="command">response-policy</strong></span> option.
An organization using an RPZ provided by another organization might
use this mechanism to redirect domains to its own walled garden.
</p>
<div class="itemizedlist"><ul type="disc">
<li>
-<span><strong class="command">GIVEN</strong></span> says "do not override."
+<span><strong class="command">GIVEN</strong></span> says "do not override but
+ perform the action specified in the zone."
</li>
<li>
<span><strong class="command">DISABLED</strong></span> causes policy records to do
nothing but log what they might have done.
The response to the DNS query will be written according to
- any matching policy records that are not disabled.
- Policy zones overridden with <span><strong class="command">DISABLED</strong></span> should
- appear first, because they will often not be logged
- if a higher precedence policy is found first.
+ any triggered policy records that are not disabled.
+ Disabled policy zones should appear first,
+ because they will often not be logged
+ if a higher precedence trigger is found first.
</li>
<li>
<span><strong class="command">PASSTHRU</strong></span> causes all policy records
@@ -5820,6 +5832,34 @@ deny-answer-aliases { "example.net"; };
<p>
</p>
<p>
+ By default, the actions encoded in an RPZ are applied
+ only to queries that ask for recursion (RD=1).
+ That default can be changed for a single RPZ or all RPZs in a view
+ with a <span><strong class="command">recursive-only no</strong></span> clause.
+ This feature is useful for serving the same zone files
+ both inside and outside an RFC 1918 cloud and using RPZ to
+ delete answers that would otherwise contain RFC 1918 values
+ on the externally visible name server or view.
+ </p>
+<p>
+ Also by default, RPZ actions are applied only to DNS requests that
+ either do not request DNSSEC metadata (DO=0) or when no DNSSEC
+ records are available for request name in the original zone (not
+ the response policy zone).
+ This default can be changed for all RPZs in a view with a
+ <span><strong class="command">break-dnssec yes</strong></span> clause.
+ In that case, RPZ actions are applied regardless of DNSSEC.
+ The name of the clause option reflects the fact that results
+ rewritten by RPZ actions cannot verify.
+ </p>
+<p>
+ The TTL of a record modified by RPZ policies is set from the
+ TTL of the relevant record in policy zone. It is then limited
+ to a maximum value.
+ The <span><strong class="command">max-policy-ttl</strong></span> clause changes that
+ maximum from its default of 5.
+ </p>
+<p>
For example, you might use this option statement
</p>
<pre class="programlisting"> response-policy { zone "badlist"; };</pre>
@@ -5841,7 +5881,7 @@ bad.domain.com A 10.0.0.1 ; redirect to a walled garden
AAAA 2001:2::1
; do not rewrite (PASSTHRU) OK.DOMAIN.COM
-ok.domain.com CNAME ok.domain.com.
+ok.domain.com CNAME rpz-passthru.
bzone.domain.com CNAME garden.example.com.
@@ -5851,7 +5891,7 @@ bzone.domain.com CNAME garden.example.com.
; IP policy records that rewrite all answers for 127/8 except 127.0.0.1
8.0.0.0.127.rpz-ip CNAME .
-32.1.0.0.127.rpz-ip CNAME 32.1.0.0.127. ; PASSTHRU for 127.0.0.1
+32.1.0.0.127.rpz-ip CNAME rpz-passthru.
; NSDNAME and NSIP policy records
ns.domain.com.rpz-nsdname CNAME .
@@ -6068,7 +6108,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2590138"></a><span><strong class="command">statistics-channels</strong></span> Statement Definition and
+<a name="id2590313"></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
@@ -6128,7 +6168,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2590278"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
+<a name="id2590453"></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
@@ -6168,7 +6208,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2590325"></a><span><strong class="command">managed-keys</strong></span> Statement Grammar</h3></div></div></div>
+<a name="id2590500"></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>string</code></em> initial-key <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ;
[<span class="optional"> <em class="replaceable"><code>string</code></em> initial-key <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional">...</span>]</span>]
@@ -6303,7 +6343,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2590750"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
+<a name="id2590994"></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
@@ -6471,7 +6511,7 @@ view "external" {
[<span class="optional"> max-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> key-directory <em class="replaceable"><code>path_name</code></em>; </span>]
[<span class="optional"> auto-dnssec <code class="constant">allow</code>|<code class="constant">maintain</code>|<code class="constant">off</code>; </span>]
- [<span class="optional"> inline-signing <font color="red">&lt;replacable&gt;yes_or_no&lt;/replacable&gt;</font>; </span>]
+ [<span class="optional"> inline-signing <em class="replaceable"><code>yes_or_no</code></em>; </span>]
[<span class="optional"> zero-no-soa-ttl <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
[<span class="optional"> serial-update-method <code class="constant">increment</code>|<code class="constant">unixtime</code>; </span>]
};
@@ -6604,10 +6644,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="id2592430"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
+<a name="id2592674"></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="id2592438"></a>Zone Types</h4></div></div></div>
+<a name="id2592681"></a>Zone Types</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -6887,7 +6927,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="id2593015"></a>Class</h4></div></div></div>
+<a name="id2593258"></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>),
@@ -6909,7 +6949,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="id2593116"></a>Zone Options</h4></div></div></div>
+<a name="id2593291"></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>
@@ -7659,7 +7699,7 @@ example.com. NS ns2.example.net.
(machine$@REALM) for machine in REALM and
and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
- is specified in the <font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font>
+ is specified in the <em class="replaceable"><code>identity</code></em>
field.
</p>
</td>
@@ -7677,7 +7717,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
to be matched is specified in the
- <font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font> field.
+ <em class="replaceable"><code>identity</code></em> field.
</p>
</td>
</tr>
@@ -7693,7 +7733,7 @@ example.com. NS ns2.example.net.
(host/machine@REALM) for machine in REALM and
and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched
- is specified in the <font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font>
+ is specified in the <em class="replaceable"><code>identity</code></em>
field.
</p>
</td>
@@ -7711,7 +7751,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM
to be matched is specified in the
- <font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font> field.
+ <em class="replaceable"><code>identity</code></em> field.
</p>
</td>
</tr>
@@ -7820,7 +7860,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="id2595996"></a>Zone File</h2></div></div></div>
+<a name="id2596103"></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>
@@ -7833,7 +7873,7 @@ example.com. NS ns2.example.net.
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2596014"></a>Resource Records</h4></div></div></div>
+<a name="id2596258"></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
@@ -8570,7 +8610,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2597638"></a>Textual expression of RRs</h4></div></div></div>
+<a name="id2597745"></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
@@ -8773,7 +8813,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2598227"></a>Discussion of MX Records</h3></div></div></div>
+<a name="id2598333"></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
@@ -9029,7 +9069,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2598842"></a>Inverse Mapping in IPv4</h3></div></div></div>
+<a name="id2598949"></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
@@ -9090,7 +9130,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2598969"></a>Other Zone File Directives</h3></div></div></div>
+<a name="id2599144"></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
@@ -9105,7 +9145,7 @@ example.com. NS ns2.example.net.
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2598992"></a>The <span><strong class="command">@</strong></span> (at-sign)</h4></div></div></div>
+<a name="id2599166"></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.
@@ -9116,7 +9156,7 @@ example.com. NS ns2.example.net.
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2599008"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
+<a name="id2599182"></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>
@@ -9145,7 +9185,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="id2599068"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
+<a name="id2599243"></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>
@@ -9181,7 +9221,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="id2599138"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
+<a name="id2599313"></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>
@@ -9200,7 +9240,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="id2599174"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
+<a name="id2599349"></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>
@@ -9624,7 +9664,7 @@ HOST-127.EXAMPLE. MX 0 .
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2600264"></a>Name Server Statistics Counters</h4></div></div></div>
+<a name="id2600371"></a>Name Server Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -10181,7 +10221,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2601805"></a>Zone Maintenance Statistics Counters</h4></div></div></div>
+<a name="id2601912"></a>Zone Maintenance Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -10335,7 +10375,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2602257"></a>Resolver Statistics Counters</h4></div></div></div>
+<a name="id2602363"></a>Resolver Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -10718,7 +10758,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2603278"></a>Socket I/O Statistics Counters</h4></div></div></div>
+<a name="id2603385"></a>Socket I/O Statistics Counters</h4></div></div></div>
<p>
Socket I/O statistics counters are defined per socket
types, which are
@@ -10873,7 +10913,7 @@ HOST-127.EXAMPLE. MX 0 .
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2603788"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div>
+<a name="id2603827"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div>
<p>
Most statistics counters that were available
in <span><strong class="command">BIND</strong></span> 8 are also supported in
diff --git a/doc/arm/Bv9ARM.ch07.html b/doc/arm/Bv9ARM.ch07.html
index 9503ee8b..a0b7379b 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#id2603962"><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#id2604001"><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#id2604043">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604103">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604082">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604141">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>
@@ -121,7 +121,7 @@ zone "example.com" {
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2603962"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span>
+<a name="id2604001"></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>
@@ -147,7 +147,7 @@ zone "example.com" {
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2604043"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div>
+<a name="id2604082"></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
@@ -175,7 +175,7 @@ zone "example.com" {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2604103"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
+<a name="id2604141"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
<p>
Prior to running the <span><strong class="command">named</strong></span> daemon,
use
diff --git a/doc/arm/Bv9ARM.ch08.html b/doc/arm/Bv9ARM.ch08.html
index 72735097..82e07c57 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#id2604183">Common Problems</a></span></dt>
-<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2604188">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#id2604200">Incrementing and Changing the Serial Number</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2604217">Where Can I Get Help?</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2604358">Common Problems</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2604363">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#id2604375">Incrementing and Changing the Serial Number</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2604392">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="id2604183"></a>Common Problems</h2></div></div></div>
+<a name="id2604358"></a>Common Problems</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2604188"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
+<a name="id2604363"></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="id2604200"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
+<a name="id2604375"></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="id2604217"></a>Where Can I Get Help?</h2></div></div></div>
+<a name="id2604392"></a>Where Can I Get Help?</h2></div></div></div>
<p>
The Internet Systems Consortium
(<acronym class="acronym">ISC</acronym>) offers a wide range
diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html
index 5a00d565..2f9dda50 100644
--- a/doc/arm/Bv9ARM.ch09.html
+++ b/doc/arm/Bv9ARM.ch09.html
@@ -45,31 +45,31 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
-<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604279">Acknowledgments</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604454">Acknowledgments</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604656">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604694">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607867">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607974">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bind9.library">BIND 9 DNS Library Support</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610481">Prerequisite</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610490">Compilation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610515">Installation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609317">Known Defects/Restrictions</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609394">The dns.conf File</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609420">Sample Applications</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610666">Library References</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609571">Prerequisite</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609580">Compilation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609605">Installation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609636">Known Defects/Restrictions</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609713">The dns.conf File</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609739">Sample Applications</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610644">Library References</a></span></dt>
</dl></dd>
</dl>
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2604279"></a>Acknowledgments</h2></div></div></div>
+<a name="id2604454"></a>Acknowledgments</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="historical_dns_information"></a>A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym>
@@ -172,7 +172,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id2604656"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div>
+<a name="id2604694"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="ipv6addresses"></a>IPv6 addresses (AAAA)</h3></div></div></div>
@@ -260,17 +260,17 @@
</p>
<div class="bibliography">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2604775"></a>Bibliography</h4></div></div></div>
+<a name="id2605018"></a>Bibliography</h4></div></div></div>
<div class="bibliodiv">
<h3 class="title">Standards</h3>
<div class="biblioentry">
-<a name="id2604922"></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="id2605029"></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="id2604946"></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="id2605052"></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="id2604969"></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="id2605076"></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>
@@ -278,42 +278,42 @@
<h3 class="title">
<a name="proposed_standards"></a>Proposed Standards</h3>
<div class="biblioentry">
-<a name="id2605005"></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="id2605112"></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="id2605032"></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="id2605139"></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="id2605058"></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="id2605164"></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="id2605082"></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="id2605189"></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="id2605106"></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="id2605212"></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="id2605161"></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="id2605268"></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="id2605188"></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="id2605294"></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="id2605214"></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="id2605321"></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="id2605276"></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="id2605383"></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="id2605306"></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="id2605413"></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="id2605336"></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="id2605443"></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="id2605363"></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="id2605469"></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>
@@ -322,19 +322,19 @@
<h3 class="title">
<acronym class="acronym">DNS</acronym> Security Proposed Standards</h3>
<div class="biblioentry">
-<a name="id2605445"></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="id2605552"></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="id2605472"></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="id2605578"></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="id2605508"></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="id2605614"></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="id2605573"></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="id2605680"></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="id2605638"></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="id2605745"></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>
@@ -342,146 +342,146 @@
<h3 class="title">Other Important RFCs About <acronym class="acronym">DNS</acronym>
Implementation</h3>
<div class="biblioentry">
-<a name="id2605712"></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="id2605818"></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="id2605737"></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="id2605844"></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="id2605805"></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="id2605912"></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="id2605841"></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="id2605947"></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="id2605886"></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="id2605993"></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="id2605944"></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="id2606051"></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="id2605981"></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="id2606088"></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="id2606017"></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="id2606123"></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="id2606071"></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="id2606178"></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="id2606109"></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="id2606216"></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="id2606135"></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="id2606242"></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="id2606161"></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="id2606267"></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="id2606187"></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="id2606294"></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="id2606214"></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="id2606321"></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="id2606253"></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="id2606360"></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="id2606283"></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="id2606390"></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="id2606313"></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="id2606420"></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="id2606356"></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="id2606462"></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="id2606389"></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="id2606496"></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="id2606416"></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="id2606522"></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="id2606439"></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="id2606546"></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="id2606497"></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="id2606603"></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="id2606529"></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="id2606635"></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="id2606554"></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="id2606661"></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="id2606577"></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="id2606683"></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="id2606600"></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="id2606707"></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="id2606646"></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="id2606753"></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="id2606669"></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="id2606776"></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="id2606727"></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="id2606834"></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="id2606750"></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="id2606857"></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="id2606777"></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="id2606884"></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="id2606804"></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="id2606910"></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="id2606840"></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="id2606947"></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="id2606886"></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="id2606993"></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="id2606918"></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="id2607025"></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="id2606964"></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="id2607070"></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="id2606999"></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="id2607174"></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>
@@ -497,47 +497,47 @@
</p>
</div>
<div class="biblioentry">
-<a name="id2607044"></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="id2607219"></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="id2607066"></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="id2607241"></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="id2607092"></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="id2607267"></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="id2607186"></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="id2607292"></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="id2607209"></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="id2607316"></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="id2607255"></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="id2607362"></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="id2607278"></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="id2607385"></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="id2607305"></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="id2607412"></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="id2607331"></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="id2607437"></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="id2607374"></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="id2607481"></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="id2607432"></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="id2607539"></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="id2607459"></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="id2607565"></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>
@@ -551,39 +551,39 @@
</p>
</div>
<div class="biblioentry">
-<a name="id2607507"></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="id2607613"></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="id2607546"></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="id2607653"></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="id2607573"></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="id2607680"></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="id2607603"></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="id2607709"></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="id2607628"></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="id2607735"></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="id2607655"></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="id2607762"></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="id2607691"></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="id2607798"></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="id2607728"></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="id2607834"></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="id2607754"></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="id2607861"></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="id2607781"></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="id2607888"></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="id2607826"></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="id2607932"></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>
@@ -604,14 +604,14 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2607867"></a>Other Documents About <acronym class="acronym">BIND</acronym>
+<a name="id2607974"></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="id2607877"></a>Bibliography</h4></div></div></div>
+<a name="id2607984"></a>Bibliography</h4></div></div></div>
<div class="biblioentry">
-<a name="id2607879"></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="id2607986"></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>
@@ -648,7 +648,7 @@
</ul></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2610481"></a>Prerequisite</h3></div></div></div>
+<a name="id2609571"></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
@@ -657,7 +657,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2610490"></a>Compilation</h3></div></div></div>
+<a name="id2609580"></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>
@@ -672,7 +672,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2610515"></a>Installation</h3></div></div></div>
+<a name="id2609605"></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>
@@ -694,7 +694,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="id2609317"></a>Known Defects/Restrictions</h3></div></div></div>
+<a name="id2609636"></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
@@ -734,7 +734,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2609394"></a>The dns.conf File</h3></div></div></div>
+<a name="id2609713"></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
@@ -752,14 +752,14 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2609420"></a>Sample Applications</h3></div></div></div>
+<a name="id2609739"></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="id2609429"></a>sample: a simple stub resolver utility</h4></div></div></div>
+<a name="id2609748"></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
@@ -823,7 +823,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2609520"></a>sample-async: a simple stub resolver, working asynchronously</h4></div></div></div>
+<a name="id2609838"></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
@@ -864,7 +864,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2609573"></a>sample-request: a simple DNS transaction client</h4></div></div></div>
+<a name="id2609892"></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
@@ -905,7 +905,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2609637"></a>sample-gai: getaddrinfo() and getnameinfo() test code</h4></div></div></div>
+<a name="id2609956"></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
@@ -922,7 +922,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="id2609652"></a>sample-update: a simple dynamic update client program</h4></div></div></div>
+<a name="id2609971"></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
@@ -1017,7 +1017,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="id2610534"></a>nsprobe: domain/name server checker in terms of RFC 4074</h4></div></div></div>
+<a name="id2610580"></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
@@ -1074,7 +1074,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="id2610666"></a>Library References</h3></div></div></div>
+<a name="id2610644"></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
diff --git a/doc/arm/Bv9ARM.ch10.html b/doc/arm/Bv9ARM.ch10.html
index 1484ecf4..0a29a00b 100644
--- a/doc/arm/Bv9ARM.ch10.html
+++ b/doc/arm/Bv9ARM.ch10.html
@@ -73,6 +73,9 @@
<span class="refentrytitle"><a href="man.dnssec-signzone.html"><span class="application">dnssec-signzone</span></a></span><span class="refpurpose"> &#8212; DNSSEC zone signing tool</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="man.dnssec-verify.html"><span class="application">dnssec-verify</span></a></span><span class="refpurpose"> &#8212; DNSSEC zone verification tool</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="man.named-checkconf.html"><span class="application">named-checkconf</span></a></span><span class="refpurpose"> &#8212; named configuration file syntax checking tool</span>
</dt>
<dt>
diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html
index 5fbb51bf..8fd6f06f 100644
--- a/doc/arm/Bv9ARM.html
+++ b/doc/arm/Bv9ARM.html
@@ -54,10 +54,10 @@
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564375">Scope of Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564398">Organization of This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564538">Conventions Used in This Document</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564788">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564720">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564809">DNS Fundamentals</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564843">Domains and Domain Names</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564741">DNS Fundamentals</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564775">Domains and Domain Names</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567180">Zones</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567257">Authoritative Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567430">Caching Name Servers</a></span></dt>
@@ -83,7 +83,7 @@
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568369">Name Server Operations</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568374">Tools for Use With the Name Server Daemon</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570632">Signals</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570597">Signals</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch04.html">4. Advanced DNS Features</a></span></dt>
@@ -92,64 +92,64 @@
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2563971">Split DNS</a></span></dt>
-<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563989">Example split DNS setup</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571172">Split DNS</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571190">Example split DNS setup</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571726">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571800">Copying the Shared Secret to Both Machines</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572016">Informing the Servers of the Key's Existence</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572052">Instructing the Server to Use the Key</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572109">TSIG Key Based Access Control</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572158">Errors</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571760">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571833">Copying the Shared Secret to Both Machines</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571844">Informing the Servers of the Key's Existence</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571880">Instructing the Server to Use the Key</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571938">TSIG Key Based Access Control</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571987">Errors</a></span></dt>
</dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572172">TKEY</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572290">SIG(0)</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572001">TKEY</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572186">SIG(0)</a></span></dt>
<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#id2572358">Generating Keys</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572437">Signing the Zone</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572586">Configuring Servers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572254">Generating Keys</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572402">Signing the Zone</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572483">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#id2608779">Converting from insecure to secure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563488">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563524">Fully automatic zone signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563696">Private-type records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563733">DNSKEY rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563746">Dynamic DNS update method</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563779">Automatic key rollovers</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563805">NSEC3PARAM rollovers via UPDATE</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563815">Converting from NSEC to NSEC3</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571129">Converting from NSEC3 to NSEC</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571142">Converting from secure to insecure</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571179">Periodic re-signing</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571189">NSEC3 and OPTOUT</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608825">Converting from insecure to secure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608862">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563570">Fully automatic zone signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563673">Private-type records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563710">DNSKEY rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563723">Dynamic DNS update method</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563893">Automatic key rollovers</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563920">NSEC3PARAM rollovers via UPDATE</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563929">Converting from NSEC to NSEC3</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563939">Converting from NSEC3 to NSEC</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563952">Converting from secure to insecure</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578393">Periodic re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578403">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#id2609042">Validating Resolver</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609064">Authoritative Server</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578572">Validating Resolver</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2578595">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#id2611352">Prerequisites</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609124">Building BIND 9 with PKCS#11</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611433">PKCS #11 Tools</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611464">Using the HSM</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636034">Specifying the engine on the command line</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636080">Running named with automatic zone re-signing</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611534">Prerequisites</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609443">Building BIND 9 with PKCS#11</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636055">PKCS #11 Tools</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636086">Using the HSM</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636284">Specifying the engine on the command line</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2636330">Running named with automatic zone re-signing</a></span></dt>
</dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572806">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572702">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2573004">Address Lookups Using AAAA Records</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2573026">Address to Name Lookups Using Nibble Format</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572764">Address Lookups Using AAAA Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572990">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#id2573059">The Lightweight Resolver Library</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2573024">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>
@@ -157,58 +157,58 @@
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574469">Comment Syntax</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574502">Comment Syntax</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575197"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575162"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575387"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575352"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575747"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575764"><span><strong class="command">include</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575712"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575729"><span><strong class="command">include</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575787"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575811"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575970"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576164"><span><strong class="command">logging</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575752"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575776"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575866"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576060"><span><strong class="command">logging</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578122"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578264"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578328"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578372"><span><strong class="command">masters</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578087"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578161"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578225"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2564001"><span><strong class="command">masters</strong></span> Statement Definition and
Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2578393"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2564022"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590138"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590313"><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#id2590278"><span><strong class="command">trusted-keys</strong></span> Statement Definition
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590453"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590325"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590500"><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#id2590750"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590994"><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#id2592430"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592674"><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#id2595996">Zone File</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2596103">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#id2598227">Discussion of MX Records</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598333">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#id2598842">Inverse Mapping in IPv4</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598969">Other Zone File Directives</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599174"><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#id2598949">Inverse Mapping in IPv4</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599144">Other Zone File Directives</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599349"><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>
@@ -217,41 +217,41 @@
<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#id2603962"><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#id2604001"><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#id2604043">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604103">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604082">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2604141">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#id2604183">Common Problems</a></span></dt>
-<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2604188">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#id2604200">Incrementing and Changing the Serial Number</a></span></dt>
-<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2604217">Where Can I Get Help?</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2604358">Common Problems</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2604363">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#id2604375">Incrementing and Changing the Serial Number</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2604392">Where Can I Get Help?</a></span></dt>
</dl></dd>
<dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Appendices</a></span></dt>
<dd><dl>
-<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604279">Acknowledgments</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604454">Acknowledgments</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
-<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604656">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
+<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2604694">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607867">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607974">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bind9.library">BIND 9 DNS Library Support</a></span></dt>
<dd><dl>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610481">Prerequisite</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610490">Compilation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610515">Installation</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609317">Known Defects/Restrictions</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609394">The dns.conf File</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609420">Sample Applications</a></span></dt>
-<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610666">Library References</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609571">Prerequisite</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609580">Compilation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609605">Installation</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609636">Known Defects/Restrictions</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609713">The dns.conf File</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609739">Sample Applications</a></span></dt>
+<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2610644">Library References</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="reference"><a href="Bv9ARM.ch10.html">I. Manual pages</a></span></dt>
@@ -281,6 +281,9 @@
<span class="refentrytitle"><a href="man.dnssec-signzone.html"><span class="application">dnssec-signzone</span></a></span><span class="refpurpose"> &#8212; DNSSEC zone signing tool</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="man.dnssec-verify.html"><span class="application">dnssec-verify</span></a></span><span class="refpurpose"> &#8212; DNSSEC zone verification tool</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="man.named-checkconf.html"><span class="application">named-checkconf</span></a></span><span class="refpurpose"> &#8212; named configuration file syntax checking tool</span>
</dt>
<dt>
diff --git a/doc/arm/Bv9ARM.pdf b/doc/arm/Bv9ARM.pdf
index e0d809be..2af54282 100644
--- a/doc/arm/Bv9ARM.pdf
+++ b/doc/arm/Bv9ARM.pdf
@@ -1311,84 +1311,90 @@ endobj
<< /S /GoTo /D (section.B.9) >>
endobj
880 0 obj
-(B.9 named-checkconf)
+(B.9 dnssec-verify)
endobj
881 0 obj
<< /S /GoTo /D (section.B.10) >>
endobj
884 0 obj
-(B.10 named-checkzone)
+(B.10 named-checkconf)
endobj
885 0 obj
<< /S /GoTo /D (section.B.11) >>
endobj
888 0 obj
-(B.11 named)
+(B.11 named-checkzone)
endobj
889 0 obj
<< /S /GoTo /D (section.B.12) >>
endobj
892 0 obj
-(B.12 named-journalprint)
+(B.12 named)
endobj
893 0 obj
<< /S /GoTo /D (section.B.13) >>
endobj
896 0 obj
-(B.13 nsupdate)
+(B.13 named-journalprint)
endobj
897 0 obj
<< /S /GoTo /D (section.B.14) >>
endobj
900 0 obj
-(B.14 rndc)
+(B.14 nsupdate)
endobj
901 0 obj
<< /S /GoTo /D (section.B.15) >>
endobj
904 0 obj
-(B.15 rndc.conf)
+(B.15 rndc)
endobj
905 0 obj
<< /S /GoTo /D (section.B.16) >>
endobj
908 0 obj
-(B.16 rndc-confgen)
+(B.16 rndc.conf)
endobj
909 0 obj
<< /S /GoTo /D (section.B.17) >>
endobj
912 0 obj
-(B.17 ddns-confgen)
+(B.17 rndc-confgen)
endobj
913 0 obj
<< /S /GoTo /D (section.B.18) >>
endobj
916 0 obj
-(B.18 arpaname)
+(B.18 ddns-confgen)
endobj
917 0 obj
<< /S /GoTo /D (section.B.19) >>
endobj
920 0 obj
-(B.19 genrandom)
+(B.19 arpaname)
endobj
921 0 obj
<< /S /GoTo /D (section.B.20) >>
endobj
924 0 obj
-(B.20 isc-hmac-fixup)
+(B.20 genrandom)
endobj
925 0 obj
<< /S /GoTo /D (section.B.21) >>
endobj
928 0 obj
-(B.21 nsec3hash)
+(B.21 isc-hmac-fixup)
endobj
929 0 obj
-<< /S /GoTo /D [930 0 R /FitH ] >>
+<< /S /GoTo /D (section.B.22) >>
endobj
-933 0 obj <<
+932 0 obj
+(B.22 nsec3hash)
+endobj
+933 0 obj
+<< /S /GoTo /D [934 0 R /FitH ] >>
+endobj
+937 0 obj <<
/Length 240
/Filter /FlateDecode
>>
@@ -1396,32 +1402,32 @@ stream
xÚ•OKA Åïó)rl›N2Éü9ZªRA¡27ñ°´[)¸[ºÖïïlWË‚^$0ïý˜y[Š *Z—BTK
ÛÖXx+Þ½¡oFÔ¡Šsåð‡[ LÁ+T\@1M±_8±Eo=C¥BÈÌ~À—Ù,C yÄŠƒÂ•Ë»—Ùrý´š——ì,ãf׺Ãǹ¯ÏÇ~”ž›}Ó7ݶ™¿æ a$/¾äKc¼\óXwŸõûà›Û| §â1'p®äðqH'`Ô ð3‹zšüßÚ±y±n VG³1°™ž07l(%tî[þM^Xúendstream
endobj
-930 0 obj <<
+934 0 obj <<
/Type /Page
-/Contents 933 0 R
-/Resources 932 0 R
+/Contents 937 0 R
+/Resources 936 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 939 0 R
+/Parent 943 0 R
>> endobj
-931 0 obj <<
+935 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (./isc-logo.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 940 0 R
+/PTEX.InfoDict 944 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 612.00000000 792.00000000]
/PieceInfo <<
-/Illustrator 941 0 R
+/Illustrator 945 0 R
>>
/Resources <<
/ColorSpace <<
-/CS0 942 0 R
+/CS0 946 0 R
>>/Properties <<
-/MC0 943 0 R
+/MC0 947 0 R
>>/ExtGState <<
-/GS0 944 0 R
+/GS0 948 0 R
>>>>
/Length 843
/Filter /FlateDecode
@@ -1437,7 +1443,7 @@ BqÕ•l9uš
!=§ ¨Œø†vGc £I#/'~<1‚ÀÔRPy±´ýl1½Ͷw1 чd }¡þa
Ë9b :žÎÞF" ‹>64”~0IGD˜Ë Ø°$ÙtMâ¯%Z½Gð¾¥Úñ§aÑÌ‘ I¼ ý—/øýzü+À
endobj
-940 0 obj
+944 0 obj
<<
/CreationDate (D:20100303120319-08'00')
/Creator (Adobe Illustrator CS3)
@@ -1446,24 +1452,24 @@ endobj
/Title (ISC_logo_only_RGB)
>>
endobj
-941 0 obj
+945 0 obj
<<
-/Private 945 0 R
+/Private 949 0 R
/LastModified (D:20100412113400-07'00')
>>
endobj
-942 0 obj
-[/ICCBased 946 0 R]
+946 0 obj
+[/ICCBased 950 0 R]
endobj
-943 0 obj
+947 0 obj
<<
-/Intent 947 0 R
-/Usage 948 0 R
+/Intent 951 0 R
+/Usage 952 0 R
/Name (Layer 1)
/Type /OCG
>>
endobj
-944 0 obj
+948 0 obj
<<
/OPM 1
/BM /Normal
@@ -1477,22 +1483,22 @@ endobj
/SA true
>>
endobj
-945 0 obj
+949 0 obj
<<
/RoundtripVersion 13
/ContainerVersion 11
/CreatorVersion 13
-/AIMetaData 949 0 R
-/AIPrivateData1 950 0 R
-/AIPrivateData2 951 0 R
-/AIPrivateData3 952 0 R
-/AIPrivateData4 953 0 R
-/AIPrivateData5 954 0 R
+/AIMetaData 953 0 R
+/AIPrivateData1 954 0 R
+/AIPrivateData2 955 0 R
+/AIPrivateData3 956 0 R
+/AIPrivateData4 957 0 R
+/AIPrivateData5 958 0 R
/NumBlock 5
/RoundtripStreamType 1
>>
endobj
-946 0 obj
+950 0 obj
<<
/Length 281
/Filter /FlateDecode
@@ -1503,10 +1509,10 @@ H‰b``2ptqre``ÈÍ+)
rwRˆˆŒR`?ÏÀÆÀÌ
ò‹KRS€j!îAˆBPˆi
endobj
-947 0 obj
+951 0 obj
[/View/Design]
endobj
-948 0 obj
+952 0 obj
<<
/CreatorInfo <<
/Subtype /Artwork
@@ -1514,21 +1520,21 @@ endobj
>>
>>
endobj
-949 0 obj
+953 0 obj
<<
/Length 981
>>
stream
%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 13.0 %%AI8_CreatorVersion: 13.0.2 %%For: (Brian Reid) () %%Title: (ISC_logo_only_RGB.ai) %%CreationDate: 4/12/10 11:34 AM %%BoundingBox: 247 367 366 413 %%HiResBoundingBox: 247.0869 367.5654 365.0859 412.583 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 9.0 %AI12_BuildNumber: 434 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0.658824 0.8 (ISC logo blue) %%+ 0.372549 0.376471 0.384314 (PANTONE 425 U) %%+ 0 0 0 ([Registration]) %AI3_TemplateBox: 306.5 395.5 306.5 395.5 %AI3_TileBox: 18 33.1201 594 786.96 %AI3_DocumentPreview: None %AI5_ArtSize: 612 792 %AI5_RulerUnits: 3 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 0 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -381 793 0.92 1268 743 26 0 0 117 75 0 0 1 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:0 0 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream
endobj
-950 0 obj
+954 0 obj
<<
/Length 11082
>>
stream
%%BoundingBox: 247 367 366 413 %%HiResBoundingBox: 247.0869 367.5654 365.0859 412.583 %AI7_Thumbnail: 128 52 8 %%BeginData: 10932 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD1F52285252A8FD04FFFD05A8FFFFFFA87DFD4F52285252522852 %525228525252285252522852525228525252285252522852277DA8FFFFA8 %7D7D525227FD04527DA8FFFFA85252275252522852525228525252285252 %522852525228525252285252522852525228525252285252522852525228 %52525228525252285252522852525228525252285252522852525228FD21 %52A8FFFF7D7D525227FD0752275252A8FFFF7DFD215227FD2A522E522752 %2E5227522E5227522E5227522E5227522E5227522E5227527DFFFFA85252 %27522E5227522E5227522E5227522752A8FF7D5227522E5227522E522752 %2E5227522E5227522E5227522E5227522E522752277D7D7D275227522E52 %27522E5227522E5227522E5227522E5227522E5227522E5227522E522752 %2E5227FD1A52277DA8FFA87D2EFD11522E527DFFA853FD1D52A8FFFFFF7D %28FD285228525252285252522852525228525252285252522852277DFFFF %7D522752525228525252285252522852525228525252275252FFA8522752 %285252522852525228525252285252522852525228525252277DFFA852A8 %FF5227525252285252522852525228525252285252522852525228525252 %285252522852525228FD1852277DFFFFFD1B52FFA8FD1A527DFFA8275252 %FF7DFD265227522E5227522E5227522E5227522E5227522E522752277DFF %FF525227522E5227522E5227522E5227522E5227522E5227522E52275252 %FFA852275227522E5227522E5227522E5227522E5227522E522752A8A827 %522E527DA9275227522E5227522E5227522E5227522E5227522E52275227 %5227522E5227522E5227522EFD17527DFFA8FD1E527DFFA8FD17527DFFFD %0452287DFFFD155228FD075228FD08522852525228525252285252522852 %5252285252522852527D2752525228525252285252522852525228525252 %2852525228525252285252527DFF7D522852525228525252285252522852 %525228FD0452FF7D5228FD0452FF52522852525228525252285252522752 %2752527DA1A8A8FFCACFA8CAA17D5252275228FD3C52A8FFFD145228A8FF %53FD0652FFA82EFD0C527D7DCAFD04FFAFAF85AF85AFAFFFFFFFA87DFD05 %522E5227522E5227522E5227522E5227522E5227522E5227522E5227522E %5227522E5227522E5227522E5227522E5227522E5227522E5227522752A8 %FF275227522E5227522E5227522E5227522E522752FFA827522E5227522E %FF7D522E5227522E522752275252A8FFFFAFAF603CFD041413FD04143C60 %AFFFFF535227FD3A52277DFFA827FD11527DFFFD0852A8FFFD0952A8CFFF %FFAF3C3D1414141A141A141A141A141A14141461AFFFA8FD045228525252 %285252522852525228525252285252522852525228525252285252522852 %5252285252522852525228525252285252522852525227A8FF5227525252 %2852525228525252285252522EFFA85227525252285228A87D5252522852 %27527DFFFFAF603CFD07141A1414141A1414141AFD041460FFA8FD3D52FF %A8FD10527DFF7DFD0F527DFFFFA9611414141A141A141A141A141A141A14 %1A141A141A141A14143CFFA827522E5227522E5227522E5227522E522752 %2E5227522E5227522E5227522E5227522E5227522E5227522E5227522E52 %27522E5227522E5227522E527DFF525227522E5227522E5227522E522752 %A8FF27522E5227522E5227522852275252A8FFFF3C1413FD191436FFFD3C %5259FFA828FD0E52FF7DFD0D527DFFFF8B1414141A141A141A141A141A14 %1A141A141A141A141A141A141A141A141460285252522852525228525252 %285252522852525228525252275227522752275227525252285252522852 %52522852525228525252285252522852525227A8FF7D2752525228525252 %2852525227A8FF52275252522852525228522752A8FFA93CFD05141A1414 %141A1414141A1414141A1414141A1414141A1414141A1414FD1552285252 %7D527D597D527DFD065227FD1852FFA8FD0D52FFFFFD0A52277DFFFF601A %141A141A141A141A141A141A141A141A141A141A141A141A141A141A141A %141A142E5227522E5227522E5227522E5227522752527D7DA8A8FD09FFA8 %FFA8A87D532852275227522E5227522E5227522E5227522E5227522E527D %FF525227522E5227522E52275252FF7D522E5227522E522752277DFFFF36 %FD2314FD0E527D7DFD07FFA8A87DA87DA87DFD04A8FD05FFA87DFD15527D %FFA827FD0A52A8FF7DFD0952A8FFAF1414141A141A141A141A141A141A14 %1A141A141A141A141A141A141A141A141A141A141A145252285252522852 %525227527DA8FFFFFFA87D7D52522752275227522752275227522752527D %A8FFFFFFA87E52522752525228525252285252522852525227A8FF522752 %5252285252522752FFA8275252522852525227A8FF85FD05141A1414141A %1414141A1414141A1414141A1414141A1414141A1414141A1414141AFD07 %52275253A8FFFFFFA8FD045227FD0F522EFD04527D7DFFFFFFA87DFD1052 %7DFF7DFD0A52FF7DFD0852A8FF8B1414141A141A141A141A141A141A141A %141A141A141A141A141A141A141A141A141A141A141A1427522E52275227 %7DA8FFFFA85252275227522E5227522E5227522E5227522E5227522E5227 %522E52275227527DFFFFFF7D52275227522E5227522E5227522752A8A827 %5227522E52275227A8FF5227522752525227A8FF6113FD2714FD0652A8FF %FF7D7D28FD22527DA8FFFF7DFD0C5227A8FF7DFD0852A8FFFD06522EA8FF %61141A141A141A141A141A141A141A141A141A141A141A141A141A141A14 %1A141A141A141A141A141A14285227527DFFFF7D52522752285252522852 %525228525252285252522852525228525252285252522852525228522752 %52FFFFA8525228522852525228FD0452FF7D5228525252285252FF7D5252 %52285227A8FF611414141A1414141A1414141A1414141A1414141A141414 %1A1414141A1414141A1414141A1414141A141452277DFFFFA87D28FD2952 %287DFFFF7EFD0B52A8FFFD065227A8FF7D2752525227A8FF8B141A141A14 %1A141A141A141A141A141A141A141A141A141A141A141A141A141A141A14 %1A141A141A141A1428A8FFFF525227522E5227522E5227522E5227522E52 %27522E5227522E5227522E5227522E5227522E5227522E5227522E522752 %7DFFA87D275227522E522752277EFF52275227522852A8FF52522752277D %FF8BFD121413FD0F1413FD0914FFFFA8FD3352FFFFA8FD0952FF7DFD0652 %FFA8FD04527DFFAF141A141A141A141A141A141A141A141A141A14613C3C %141A141A141A141A141A141A143D3C3C141A141A141A14FF7D2752525228 %525252285252522852525228525252285252522852525228525252285252 %522852525228525252285252522852525227A8FFA8FD045228525252A8A8 %27522852277DFF7D27522752A8FFFD051461A9AF848B1414141A141436AF %AFFFFFFFAFAF36FD04141A14141461A9FFAFFFAFAF601A1414141A7D2EFD %3552277DFFFFFD0752A8FFFD05527DFFFD04527DFF3C14141A141484FFFF %FFAF1A141A141A85FD09FF841A141A141A14AFFD08FF841A141A1427522E %5227522E5227522E5227522E5227522E5227522E5227522E5227522E5227 %522E5227522E5227522E5227522E5227522E5227522E52277DA8FF52522E %5227527DFF52522E5227FFA852275252FF60FD061485FFFFFFAFFD041460 %FD0BFF36FD0414AFFD0AFF60141414FD3A5253FFFF7DFD04527DFFA85252 %527DFFA8285252FFAF1A141A141A141A84FFFFFFAF3D141A14FD05FF603D %60FD04FFAF141A1461FD04FFA96136AFFD04FF141A142852525228525252 %285252522852525228525252285252522852525228525252285252522852 %52522852525228525252285252522852525228522752A8FF5252285252FF %A8FD0452FF7D5227A8FF3C141AFD051485FFFFFFAF14141460FD04FF3614 %141460FFFFFFA91A141484FFFFFFA91A141414FD04FF611414FD3D52A8FF %FD0452A8FF525228A8FF7D277DFF8B141A141A141A141A85FFFFFFAF1A14 %1A60FD04FF3C141A1461FD04FF141A14FD04FF8B141A141AAFFFFFFF601A %142E5227522E5227522E5227522E5227522E5227522E5227522E5227522E %5227522E5227522E5227522E5227522E5227522E5227522E5227522E5227 %522752A8FF5252277DFF7D2752A8FF2752A8FFFD08141385FFFFFFAF1414 %1361FD04FF36FD04148584856014133CFD04FF60FD0414FD04FF851314FD %3D52287DFFFF525252FF7D5252FFA8527DFF3C1A141A141A141A141A85FF %FFFFAF1A141A60FD04FFAF141A141A141A141A141A3CFD04FF61141A141A %3C616061361A145252285252522852525228525252285252522852525228 %525252285252522852525228525252285252522852525228525252275252 %522752525228525252277DFF7E2752FFA82753FF7E27FFA914141A141414 %1A1414148BFFFFFFAF1414143CAFFD04FFAFFD091461FD04FF3614141AFD %07141AFD2B522852285227FD075227FD075227A8FF7D27FFA8527DFF7D7D %FF3D141A141A141A141A141484FFFFFFA91A141A1485FD06FF603C141A14 %1A14143CFD04FF61141A141A141A141A141A1427522E5227522E5227522E %5227522E5227522E5227522E5227522E5227522E5227522E522752275227 %FD04527D7DA8A8FFA8FFA8FFA8A87D7D52522752275227FFA8527DFF277D %FF52A8AF13FD0A1485FFFFFFAFFD0414138BFD06FFA860FD05143CFD04FF %36FD0B14FD2852A8A8FD07FFA8FFA8FFA8FD06FFA87D5227527DFF7D7DFF %7DA8FF7DFF3C1A141A141A141A141A141A84FFFFFFAF3D141A141A148BFD %07FF8B141A141A3CFD04FF61141A141A141A141A141A1428525252285252 %522852525228525252285252522852525228525252285252522752275252 %A8A8FFFFFFA8A87D7DFD065227FD04527D7DA8FFFFA87D2752A8FF52FF7D %A8A8CAA914141A1414141A1414141A1485FFFFFFAFFD071460A8FD06FF8B %1414143CFD04FF36FD04141A1414141A1414FD2252A8FD04FF7D7D525228 %5227FD0B52275252527DFFFFFF5253FFA8A8A8FFA8FF61141A141A141A14 %1A141A141A85FFFFFFAF1A141A141A141A141A60FD06FF85141A3CFD04FF %61141A141A141A141A141A142E5227522E5227522E5227522E5227522E52 %27522E5227522E5227522752277DA8FFFFA859522752275227522E522752 %2E5227522E5227522E5227522752277DA8FF7DA8FFFFA8FFFFAFFD0C1413 %85FFFFFFAFFD061413FD0414AFFD04FFA9141360FD04FF36FD051413FD05 %14FD1D527DFFFFFF7D7DFD1E52A8FFA8FD05FF601A141A141A141A141A14 %1A141A85FFFFFFAF1A141A143D363D141A141A14FD05FF3C1A3CFD04FF61 %141A141A60AF85AF601A1452522852525228525252285252522852525228 %52525228525252277DFFFFA87D2E52275252522852525228525252285252 %52285252522852525228525252285228527DFD06FF3C141A1414141A1414 %141A1414148BFFFFFFAF141414AFFFFFAF8BFD04143CFD04FF3C143CFD04 %FF60FD04148BFFFFFFAF1414FD1752285259FFFFA9525227FD2352A8FD04 %FFAF141A141A141A141A141A141A141484FFFFFFA91A141484FFFFFFA91A %141A1461FD04FF3C1414FD04FF8B141A141AA9FFFFFF85141427522E5227 %522E5227522E5227522E5227522E52275227527DFFA87D27522E5227522E %5227522E5227522E5227522E5227522E5227522E5227522E5227522E5227 %522752A8FFFFFF60FD0E1485FFFFFFAF14141485FD04FFFD041436FD04FF %3C141484FFFFFFA8FD0414FD04FF611414FD16527DFFFF7D5228FD275227 %A8FFFFFF3D141A141A141A141A141A141A141A84FFFFFFAF3D141460FD04 %FFAF363C3CFD05FF141A1461FD04FF853C148BFD04FF3C1A142752275227 %52275227522752275227522752275227A8FFA82852275227522752275227 %522752275227522752275227522752275227522752275227522752275227 %52275252FFFFAFFD0F1485FFFFFFAFFD0414A8FD05FFAFFD05FF36FD0414 %AFFD0AFF841414147D527D527D527D527D527D527D527D527D527D52A8FF %FF527D527D527D527D527D527D527D527D527D527D527D527D527D527D52 %7D527D527D527D527D527D527D527D527DA8FF853C363D3C3C363D3C3C36 %3D3C3C363D85FFFFFFAF3D363D3685FD0AFFAF3C363D3C3C60FD0AFF6136 %3D3CFD16FFA8FD49FFAFFD11FFAFFD09FFAFFFFFFF %%EndData endstream
endobj
-951 0 obj
+955 0 obj
<<
/Length 65536
>>
@@ -1802,7 +1808,7 @@ sÓ ·ÓíÑ·OÒ„ŸuMÊ’ÏyÒÁQÊ—*V€)-z=¦Hèªmƈœ~ÅñÓ×z…Sý[t¸c&4 ŽªªAj^råº;ņÜ(cçç
Dx^QÜ×}Ì
˜ØyY‰Ÿ‹© ¨zŽ…N¬V¥%™­‚¨™@“£=HU˜ü¢³l0¼Tq_PIÐ/u,dÆö¶fý"íŒØ¾MMæu [endstream
endobj
-952 0 obj
+956 0 obj
<<
/Length 65536
>>
@@ -2044,7 +2050,7 @@ qlÞ¯­ò×âô`>
¶“¬ûVG=# [ül&wJ΂fkíY”&{öñß1øÀ ÛÄ%'DSì
 F?؆Fß®U E2,„Ò -[‰Ðð~Eô׈bˆ¨<Þë‹uAhÜš:®—Ú[ɬëxÏ*}ñ
endobj
-953 0 obj
+957 0 obj
<<
/Length 65536
>>
@@ -2267,7 +2273,7 @@ uALŽk‹Š=ŽÉÀÇš?éì•ëðå0ƒ¨Ua¦7S“«ÙŽ®&éÀ­Ó˜çÈî¹m(‚4„Ћz35Ãùd2pnSø׸®÷—fSµNP™š
]×g1ͼ‘ôAÚF¥5³ò(ª®Í
endobj
-954 0 obj
+958 0 obj
<<
/Length 53114
>>
@@ -2464,18 +2470,18 @@ Y‘φ㧻Ç'ÇÕpV— ´Š›·§/ óü8
œ;ø# ñ<Ý°'€å‰íö Ð"W€­
Ö^IYïc­
endobj
-934 0 obj <<
-/D [930 0 R /XYZ 85.0394 794.5015 null]
+938 0 obj <<
+/D [934 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-935 0 obj <<
-/D [930 0 R /XYZ 85.0394 769.5949 null]
+939 0 obj <<
+/D [934 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-932 0 obj <<
-/Font << /F21 938 0 R >>
-/XObject << /Im1 931 0 R >>
+936 0 obj <<
+/Font << /F21 942 0 R >>
+/XObject << /Im1 935 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-957 0 obj <<
+961 0 obj <<
/Length 1065
/Filter /FlateDecode
>>
@@ -2486,21 +2492,21 @@ xÚÅV]ªH}Ÿ_Á㘌m@Cl\À;ÙìÝFq$™#Ì5óïoA7 j&û¶ñ¡«écÕ©SÕDÃð#šÁTh¦Ð‘‰¡m>
ܹïÍÝÀq‡‘ÂÆsÍÞÔ"ÃrËfŒFÌ„|Ãu|R9¶#/î¤×ÉIxŘîã~[tûô”µÞø‚‘¡ˆ+7‚ÎYÚ}>³ï¶ÌÍUB GD˜H¼’o¯’<¾@ß^%”DLKt>k¢÷^×]“&¥°Ýê/ ¬ÀûôŽ”—JžßY¥úž#“˜W
EÙö\êüuòjp99é{Í!OºoPvÓ§¶tÏj÷tHl_UÇ?&“óù\+ŒòrƒŠ†ÔÛäæÖV\f ú ûŸŸ·¿—~endstream
endobj
-956 0 obj <<
+960 0 obj <<
/Type /Page
-/Contents 957 0 R
-/Resources 955 0 R
+/Contents 961 0 R
+/Resources 959 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 939 0 R
+/Parent 943 0 R
>> endobj
-958 0 obj <<
-/D [956 0 R /XYZ 56.6929 794.5015 null]
+962 0 obj <<
+/D [960 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-955 0 obj <<
-/Font << /F22 961 0 R /F14 964 0 R >>
+959 0 obj <<
+/Font << /F22 965 0 R /F14 968 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-967 0 obj <<
+971 0 obj <<
/Length 2886
/Filter /FlateDecode
>>
@@ -2510,378 +2516,378 @@ x6$a»N9pšÛCcÓ®³ŒhÉ\HŸE.õ]y<çö°þ4ü|U/6+›Íã¹2ù±?l¾žå™Éÿß$5>Ó;²}Ž`¸+äîù?CO$
êœqNLžYç<'\_³È¾já6Vü„×›êªè†ˆâ¶3ŒØ»*䉘øL&c 1L R&‘00LPç#&,#LQ0á“~$q7“¢ºŠ/ös¡å³¤bŸ±d€!†TÁ!†ê|ÄÚ)¢â"à ¯«^lÊŸõ¬æŒ.>ãÉ8C '¨(‚S$ 'ÔyÀIåœäJ†r¥/X:œN6íMÝ,[;ã¹/wÊ•²¹/›þž”íc]²–Š4DØREL" AwΔ$Y–å3e(1JuÉP™Xžo–«¢y~y[Øâµ±9|¯†¨d
€!F¡ Fê|¤@’©L
¸£àⶸ<(nöçNñ9.|ê’¹
-¿Z×U½n— ÷Ð̈ƒ2fûHBÎ’
-‹µÁPá_ù™óœ˜ØûÆ»Õõ Î…~‰‰&Áº"15s_êb["_ø3yoÿ>ªendstream
+¿Z×U½n— ÷Ð̈ƒ2fûHBÎ’
+‹µÁPá_ù™óœ˜ØûÆ»Õõ Î…~‰‰&Áº"15s_êb["_ø3yoÿgTªendstream
endobj
-966 0 obj <<
+970 0 obj <<
/Type /Page
-/Contents 967 0 R
-/Resources 965 0 R
+/Contents 971 0 R
+/Resources 969 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 939 0 R
-/Annots [ 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R ]
+/Parent 943 0 R
+/Annots [ 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R ]
>> endobj
-970 0 obj <<
+974 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 688.709 539.579 697.4212]
/Subtype /Link
/A << /S /GoTo /D (chapter.1) >>
>> endobj
-971 0 obj <<
+975 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 676.5858 539.579 685.5919]
/Subtype /Link
/A << /S /GoTo /D (section.1.1) >>
>> endobj
-972 0 obj <<
+976 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 664.4876 539.579 673.4937]
/Subtype /Link
/A << /S /GoTo /D (section.1.2) >>
>> endobj
-973 0 obj <<
+977 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 652.3894 539.579 661.3954]
/Subtype /Link
/A << /S /GoTo /D (section.1.3) >>
>> endobj
-974 0 obj <<
+978 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 640.2911 539.579 649.1477]
/Subtype /Link
/A << /S /GoTo /D (section.1.4) >>
>> endobj
-975 0 obj <<
+979 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 628.1929 539.579 637.0495]
/Subtype /Link
/A << /S /GoTo /D (subsection.1.4.1) >>
>> endobj
-976 0 obj <<
+980 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 616.0946 539.579 624.9512]
/Subtype /Link
/A << /S /GoTo /D (subsection.1.4.2) >>
>> endobj
-977 0 obj <<
+981 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 603.9964 539.579 612.853]
/Subtype /Link
/A << /S /GoTo /D (subsection.1.4.3) >>
>> endobj
-978 0 obj <<
+982 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 591.7985 539.579 600.7547]
/Subtype /Link
/A << /S /GoTo /D (subsection.1.4.4) >>
>> endobj
-979 0 obj <<
+983 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 579.7002 539.579 588.6565]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.1.4.4.1) >>
>> endobj
-980 0 obj <<
+984 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 567.6019 539.579 576.5582]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.1.4.4.2) >>
>> endobj
-981 0 obj <<
+985 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 555.5037 539.579 564.46]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.1.4.4.3) >>
>> endobj
-982 0 obj <<
+986 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 543.5051 539.579 552.5112]
/Subtype /Link
/A << /S /GoTo /D (subsection.1.4.5) >>
>> endobj
-983 0 obj <<
+987 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 531.4069 539.579 540.413]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.1.4.5.1) >>
>> endobj
-984 0 obj <<
+988 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 519.3086 539.579 528.3147]
/Subtype /Link
/A << /S /GoTo /D (subsection.1.4.6) >>
>> endobj
-985 0 obj <<
+989 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 496.5559 539.579 505.288]
/Subtype /Link
/A << /S /GoTo /D (chapter.2) >>
>> endobj
-986 0 obj <<
+990 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 484.4775 539.579 493.4338]
/Subtype /Link
/A << /S /GoTo /D (section.2.1) >>
>> endobj
-987 0 obj <<
+991 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 472.3792 539.579 481.3355]
/Subtype /Link
/A << /S /GoTo /D (section.2.2) >>
>> endobj
-988 0 obj <<
+992 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 460.281 539.579 469.2373]
/Subtype /Link
/A << /S /GoTo /D (section.2.3) >>
>> endobj
-989 0 obj <<
+993 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 448.1827 539.579 457.139]
/Subtype /Link
/A << /S /GoTo /D (section.2.4) >>
>> endobj
-990 0 obj <<
+994 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 436.0845 539.579 445.0408]
/Subtype /Link
/A << /S /GoTo /D (section.2.5) >>
>> endobj
-991 0 obj <<
+995 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 413.5759 539.579 422.1635]
/Subtype /Link
/A << /S /GoTo /D (chapter.3) >>
>> endobj
-992 0 obj <<
+996 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 401.4527 539.579 410.3093]
/Subtype /Link
/A << /S /GoTo /D (section.3.1) >>
>> endobj
-993 0 obj <<
+997 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 389.3544 539.579 398.2111]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.1.1) >>
>> endobj
-994 0 obj <<
+998 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 377.2562 539.579 386.1128]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.1.2) >>
>> endobj
-995 0 obj <<
+999 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 365.0583 539.579 374.0146]
/Subtype /Link
/A << /S /GoTo /D (section.3.2) >>
>> endobj
-996 0 obj <<
+1000 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 352.96 539.579 361.9163]
/Subtype /Link
/A << /S /GoTo /D (section.3.3) >>
>> endobj
-997 0 obj <<
+1001 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 340.8618 539.579 349.818]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.3.1) >>
>> endobj
-998 0 obj <<
+1002 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 328.7635 539.579 337.7198]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.3.3.1.1) >>
>> endobj
-999 0 obj <<
+1003 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [532.6051 316.6653 539.579 325.6216]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.3.3.1.2) >>
>> endobj
-1000 0 obj <<
+1004 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 304.567 539.579 313.6728]
+/Rect [527.6238 304.6667 539.579 313.6728]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.3.2) >>
>> endobj
-1001 0 obj <<
+1005 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 281.9139 539.579 290.7706]
/Subtype /Link
/A << /S /GoTo /D (chapter.4) >>
>> endobj
-1002 0 obj <<
+1006 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 269.8356 539.579 278.9413]
/Subtype /Link
/A << /S /GoTo /D (section.4.1) >>
>> endobj
-1003 0 obj <<
+1007 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 257.7373 539.579 266.8431]
/Subtype /Link
/A << /S /GoTo /D (section.4.2) >>
>> endobj
-1004 0 obj <<
+1008 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 245.6391 539.579 254.7448]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.2.1) >>
>> endobj
-1005 0 obj <<
+1009 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 233.5408 539.579 242.6465]
/Subtype /Link
/A << /S /GoTo /D (section.4.3) >>
>> endobj
-1006 0 obj <<
+1010 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 221.4426 539.579 230.5483]
/Subtype /Link
/A << /S /GoTo /D (section.4.4) >>
>> endobj
-1007 0 obj <<
+1011 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 209.444 539.579 218.4501]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.4.1) >>
>> endobj
-1008 0 obj <<
+1012 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 197.2461 539.579 206.3518]
/Subtype /Link
/A << /S /GoTo /D (section.4.5) >>
>> endobj
-1009 0 obj <<
+1013 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 185.1478 539.579 194.1041]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.5.1) >>
>> endobj
-1010 0 obj <<
+1014 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 173.0496 539.579 182.0058]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.5.1.1) >>
>> endobj
-1011 0 obj <<
+1015 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 160.9513 539.579 169.9076]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.5.1.2) >>
>> endobj
-1012 0 obj <<
+1016 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 148.8531 539.579 157.8094]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.5.2) >>
>> endobj
-1013 0 obj <<
+1017 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 136.7548 539.579 145.7111]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.5.3) >>
>> endobj
-1014 0 obj <<
+1018 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 124.7562 539.579 133.7623]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.5.4) >>
>> endobj
-1015 0 obj <<
+1019 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 112.658 539.579 121.6641]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.5.5) >>
>> endobj
-1016 0 obj <<
+1020 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 100.5597 539.579 109.5658]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.5.6) >>
>> endobj
-1017 0 obj <<
+1021 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 88.4615 539.579 97.4676]
/Subtype /Link
/A << /S /GoTo /D (section.4.6) >>
>> endobj
-1018 0 obj <<
+1022 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 76.3632 539.579 85.2199]
/Subtype /Link
/A << /S /GoTo /D (section.4.7) >>
>> endobj
-1019 0 obj <<
+1023 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 64.265 539.579 73.1216]
/Subtype /Link
/A << /S /GoTo /D (section.4.8) >>
>> endobj
-968 0 obj <<
-/D [966 0 R /XYZ 85.0394 794.5015 null]
+972 0 obj <<
+/D [970 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-969 0 obj <<
-/D [966 0 R /XYZ 85.0394 711.9273 null]
+973 0 obj <<
+/D [970 0 R /XYZ 85.0394 711.9273 null]
>> endobj
-965 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R >>
+969 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1022 0 obj <<
+1026 0 obj <<
/Length 3275
/Filter /FlateDecode
>>
@@ -2905,1380 +2911,1391 @@ Y¨–¦+9^-ÃH1^V>”x©MhI´Ú÷"[ˆ@³A†"X&
ÏlÁÛº"â}ûÓú)F íì~Ô Qtf£‚ )T°\*‰8(THïq¸àÞ2c¼jaÙוO%¦2lH€²!J*Ú{ ŠÓa–Ó,!ªAÙו] KÙ CŠ¬‚ê^Y›Šƒb€ôó[n%3Eœ°ˆûÍo¿[Œ¦ÓQuöÈÊýôv Èh6.ÈÂ+Fá’ˆƒÂ…ôÞ´!Üp¦Ã´°õˆµuÂFræ\¡‚ƒj¯ÑŤÙgcÒLðÐóÔû –£eÙ¶1‘.+ö_FÖæ<›'dHñ„5UÝëÄRqP<‘Þ'å™VÂFžÄ—àéîZæ<|ãä6›dHqƒµ£¸IÄAqCzn¤e:ΆªµÇwas1Ÿ-ÕúÔ]v¤g—⎱H»ÇùÅ%ø4)Φ§µ£àARììA¡C¹r„fÊú¶‚©/†Î=Zh-)ˆ@.³A†$X+Õ½5… é8á’)eÛʤïäd<»˜¬.Ë&†YÏïêvO«Q†gム)|°„>‰8(|Hï€OÁ™â&Òc¾=w2_û¢þg^±™Ì†¤µ£A:©îE±‰ (B(× Î3锌€Ø;©¾±9Ñø†
ä¼ch‘ÒíOúBÊsIBvIXP‚¤DI¤køÕ!ˤíPã¾Iw3ºx|S(HmöϵvÔ¯!ábAP¿MD¹Ž¿À¤h'OþN`&ó««jY¢6wÆë»Îã|ë_Èõ™kV“àüŸ
endobj
-1021 0 obj <<
+1025 0 obj <<
/Type /Page
-/Contents 1022 0 R
-/Resources 1020 0 R
+/Contents 1026 0 R
+/Resources 1024 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 939 0 R
-/Annots [ 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R ]
+/Parent 943 0 R
+/Annots [ 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R ]
>> endobj
-1027 0 obj <<
+1031 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 758.5763 511.2325 767.4329]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.8.1) >>
>> endobj
-1028 0 obj <<
+1032 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 746.445 511.2325 755.4012]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.8.2) >>
>> endobj
-1029 0 obj <<
+1033 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 734.4133 511.2325 743.3696]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.8.3) >>
>> endobj
-1030 0 obj <<
+1034 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 722.3816 511.2325 731.3379]
/Subtype /Link
/A << /S /GoTo /D (section.4.9) >>
>> endobj
-1031 0 obj <<
+1035 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 710.3499 511.2325 719.3062]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.1) >>
>> endobj
-1032 0 obj <<
+1036 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 698.3182 511.2325 707.2745]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.2) >>
>> endobj
-1033 0 obj <<
+1037 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 686.2866 511.2325 695.2428]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.3) >>
>> endobj
-1034 0 obj <<
+1038 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 674.3546 511.2325 683.2112]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.4) >>
>> endobj
-1035 0 obj <<
+1039 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 662.3229 511.2325 671.1795]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.5) >>
>> endobj
-1036 0 obj <<
+1040 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 650.2912 511.2325 659.1478]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.6) >>
>> endobj
-1037 0 obj <<
+1041 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 638.2595 511.2325 647.1161]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.7) >>
>> endobj
-1038 0 obj <<
+1042 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 626.1282 511.2325 635.0845]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.8) >>
>> endobj
-1039 0 obj <<
+1043 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 614.0965 511.2325 623.0528]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.9) >>
>> endobj
-1040 0 obj <<
+1044 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 602.0648 511.2325 611.0211]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.10) >>
>> endobj
-1041 0 obj <<
+1045 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 590.0331 511.2325 598.9894]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.11) >>
>> endobj
-1042 0 obj <<
+1046 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 578.0015 511.2325 586.9578]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.12) >>
>> endobj
-1043 0 obj <<
+1047 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 565.9698 511.2325 574.9261]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.9.13) >>
>> endobj
-1044 0 obj <<
+1048 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 553.9381 511.2325 562.8944]
/Subtype /Link
/A << /S /GoTo /D (section.4.10) >>
>> endobj
-1045 0 obj <<
+1049 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 541.9064 511.2325 550.8627]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.10.1) >>
>> endobj
-1046 0 obj <<
+1050 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 529.8748 511.2325 538.831]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.10.2) >>
>> endobj
-1047 0 obj <<
+1051 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 517.8431 511.2325 526.7994]
/Subtype /Link
/A << /S /GoTo /D (section.4.11) >>
>> endobj
-1048 0 obj <<
+1052 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 505.8114 511.2325 514.7677]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.11.1) >>
>> endobj
-1049 0 obj <<
+1053 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 493.7797 511.2325 502.8855]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.11.1.1) >>
>> endobj
-1050 0 obj <<
+1054 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 481.7481 511.2325 490.8538]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.11.1.2) >>
>> endobj
-1051 0 obj <<
+1055 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 469.7164 511.2325 478.6727]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.11.1.3) >>
>> endobj
-1052 0 obj <<
+1056 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 457.6847 511.2325 466.641]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.11.2) >>
>> endobj
-1053 0 obj <<
+1057 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 445.653 511.2325 454.6093]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.11.2.1) >>
>> endobj
-1054 0 obj <<
+1058 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 433.6213 511.2325 442.5776]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.11.2.2) >>
>> endobj
-1055 0 obj <<
+1059 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 421.5897 511.2325 430.5459]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.4.11.2.3) >>
>> endobj
-1056 0 obj <<
+1060 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 409.558 511.2325 418.5143]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.11.3) >>
>> endobj
-1057 0 obj <<
+1061 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 397.5263 511.2325 406.6321]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.11.4) >>
>> endobj
-1058 0 obj <<
+1062 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 385.4946 511.2325 394.4509]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.11.5) >>
>> endobj
-1059 0 obj <<
+1063 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 373.4629 511.2325 382.4192]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.11.6) >>
>> endobj
-1060 0 obj <<
+1064 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 361.4313 511.2325 370.3876]
/Subtype /Link
/A << /S /GoTo /D (section.4.12) >>
>> endobj
-1061 0 obj <<
+1065 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 349.3996 511.2325 358.3559]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.12.1) >>
>> endobj
-1062 0 obj <<
+1066 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 337.3679 511.2325 346.3242]
/Subtype /Link
/A << /S /GoTo /D (subsection.4.12.2) >>
>> endobj
-1063 0 obj <<
+1067 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 315.0477 511.2325 323.7798]
/Subtype /Link
/A << /S /GoTo /D (chapter.5) >>
>> endobj
-1064 0 obj <<
+1068 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 303.0359 511.2325 311.9922]
/Subtype /Link
/A << /S /GoTo /D (section.5.1) >>
>> endobj
-1065 0 obj <<
+1069 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 291.0042 511.2325 299.9605]
/Subtype /Link
/A << /S /GoTo /D (section.5.2) >>
>> endobj
-1066 0 obj <<
+1070 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 268.684 511.2325 277.4161]
/Subtype /Link
/A << /S /GoTo /D (chapter.6) >>
>> endobj
-1067 0 obj <<
+1071 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 256.6722 511.2325 265.6285]
/Subtype /Link
/A << /S /GoTo /D (section.6.1) >>
>> endobj
-1068 0 obj <<
+1072 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 244.6405 511.2325 253.7462]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.1.1) >>
>> endobj
-1069 0 obj <<
+1073 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 232.6088 511.2325 241.7146]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.1.1.1) >>
>> endobj
-1070 0 obj <<
+1074 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 220.6768 511.2325 229.6829]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.1.1.2) >>
>> endobj
-1071 0 obj <<
+1075 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 208.6451 511.2325 217.6512]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.1.2) >>
>> endobj
-1072 0 obj <<
+1076 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 196.6134 511.2325 205.6195]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.1.2.1) >>
>> endobj
-1073 0 obj <<
+1077 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 184.5818 511.2325 193.5878]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.1.2.2) >>
>> endobj
-1074 0 obj <<
+1078 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 172.5501 511.2325 181.5562]
/Subtype /Link
/A << /S /GoTo /D (section.6.2) >>
>> endobj
-1075 0 obj <<
+1079 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 160.4187 511.2325 169.5245]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.1) >>
>> endobj
-1076 0 obj <<
+1080 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 148.3871 511.2325 157.4928]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.2) >>
>> endobj
-1077 0 obj <<
+1081 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 136.3554 511.2325 145.4611]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.3) >>
>> endobj
-1078 0 obj <<
+1082 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 124.4234 511.2325 133.4295]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.4) >>
>> endobj
-1079 0 obj <<
+1083 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 112.3917 511.2325 121.3978]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.5) >>
>> endobj
-1080 0 obj <<
+1084 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 100.2604 511.2325 109.3661]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.6) >>
>> endobj
-1081 0 obj <<
+1085 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 88.2287 511.2325 97.3344]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.7) >>
>> endobj
-1082 0 obj <<
+1086 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 76.197 511.2325 85.3027]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.8) >>
>> endobj
-1083 0 obj <<
+1087 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [499.2773 64.1653 511.2325 73.2711]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.9) >>
>> endobj
-1023 0 obj <<
-/D [1021 0 R /XYZ 56.6929 794.5015 null]
+1027 0 obj <<
+/D [1025 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1020 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R >>
+1024 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1086 0 obj <<
-/Length 3431
+1090 0 obj <<
+/Length 3426
/Filter /FlateDecode
>>
stream
xÚíKSIÇï|
-ö
-~3Ýû¸÷c|Cð¿kÓÜQÂe¹É|ÎÁ'aœëŒN9¢ë¢ ÷¡¶Ä_ÎÀå‚k©ô>Ú˦ó³³É쬿¾­0Dh§ûë>®F«æ¢™­†\ÑýÃæJùl²šÌgÝoF³Óîŧåè¬9:föÉÁPQz?ÿHçþ»kB+n‰æ”¥\ÞPfq6è^C­‚ÝÞÔêæû·É•úFAû\)¨w¦$1Ƹ‘†hÍ$ …°ÿÕ¡û'çMM eÒô0ŒÏG³Y3ÍAc‰T*\÷á|1Zz|D÷ÊÂpROHo5<ÀƒʇÁ“‰ƒõžàŠhG„‡WÀã’³ùâ[†I‰¶×á‘Ô>xî¥å é­†bð@ù¤-Ó‰ƒõžàá‚æ»
- ™80ŽPï‘#a½ eí«­Û…ÂSÌh-/ÐáeC1[.0äâ@xÁ½'^Œ&Jƒ¥ÛŽ‹ç`²\MÆËa[…ܦ|«ˆTÖmiƒ$7;p°9$±šd‡$²å²B& Ìu¢CK¢¨?qzxloZ”û i(b²UÍ0Ä@€j`$dâÀP@½'÷aðTbâÛÏ·¯WËUs:ü­ùVºù·ÛÆ)VîìX$æ´š`ˆ5ÈÉăzOÄ´wGQ,¬8¿Sb¶7\‰G6ø)¬b€@‰lyÓm. Ô{¤ £Õ>r›óê3/em‰PBliR´”»×–„dV£ 1T X*™80TPï •vÿ-u©Æå¢r‹Ù 5¾õI«FbH@Q0$2q`H ÞT#À wøöcè_&Í×ÜR¤ÿ@Fmi5”O`%µSHw5LÀƒ ÊiË‹k¹80˜Pï&î81Ú¤º ×wÓövE;½;7iŠi­…"ÐlȆ@“‹÷ž ±”N ñíEÛv‰= 5nÛ]0”µOxy'¦»&`ˆÁåtåµÝ\L¨÷“Xp¶Û;ai{dÛ^+dµ™d‡4så%£L/˜ë¸È•&V)Pš³áÆר}»lÖ‡ÄSÝVd#¤°`ˆÑ%ÂðÈÄñzO€HéÛ
-É! ýÍ2^MGë¬ädó`Lh5.ÀÃ
-æÊ A¹80\Pï Á‰cB@\Äõö$ÞeGðçf$ê2WÍ0ĸ€Ê`\dâÀ¸@½'.8%Nr¹èo§qøm6ºÇž>]žúqØ2i{©ÔÎÉ.ˆnç“11·•½·BÃœì×ß¿M<£Èp4¦;êÞù—ÖCÁ©%ΰ0õ-£MÁëÉ´]‡SîÑw!rø 2TC 1È ÌŒ–·´åÁ CÝÇ9s†PoX+Ú,ãtcàÚÂ6ÿ\:_{ÜŒçÝ¡˜åµÙ̿Λ~‚³š‡ùMŸ·'°¨dÛ 3R+84DßÈ8&x.DpÜ}ìMXû\îl|-¹Ø®­ìI .‚^!aÕ<
-Ú›?.ÃÝwbí"6 ÇëùŒÞÕ~ æ©`ˆa
-I& Ô}®2?6¡R%Hâôå6÷÷øgf±Î¿<\ÐÑ­†ËÉÙ¬;¦¥{îžbÖ«¡†TPUªL T¨ûõ“!4€ŠW@õ·÷Çoß¼}—{8¡!‚Å›Æl4TC÷€Èú³vB=CB«y†/P0”—L /¨ûÈ‹u„kn
-|¥žÔp8d¸–`‡°õÃØÉD={ó ÎCg݃_¾}wfJíS¿®„þX5³¶Tó?ft•í UawäßÞ½;:~Ñ–úNrM’„R!óÈé{*ø”èUK@2C
+æ
+Ñʼn‘„óé·ZÝU• Õ)j×0 GØw*Sùÿ©YÕÕl@ý6°ŠPáäÀ8Iej0¾Ø¡ƒ3ÿovX{Í0\4„W½<ÙùÇkaŽ8Íõàäx/K¨µlprúëî«·G'G'ï÷~?ùqçà$¾)t̨¨ßñÏ_§ƒSïÿÇJ„³jðÅÿ@ sŽ.v¤DI!Âo¦;ïw~‰oþwmšû JX¢,7™OÂ9ø$ŒsbñÑ)G´àbýQ4á>Ôúƒø˸\0b-•ÞG}Ùt~v6™µ×Á·†ít{ÝûÕhU]T³ÕÞ+º»_ýF)ŸMV“ù¬ùÍhvÚ¼ø°U{CÇÌ.Ù*JïçéÜÿbwMhÅ-Ñœ²”ËÊ,ÎÍ‹c¨U°BÛZÝ|ÿ:¹R߈#hŸ‹#õΔ$Æ70Ò­™¤¶ç¿:t÷ä¼Ê@£)¡Lš†ñùh6«¦9h,‘J…ëÞ/FKÏ‚è^Y¸NÊà é-†bð@ù0x2q`ð Þ<Bí¨‚ððx|Cr6_|ËÐ#)Ñö:<’ÚϽ´<!½Åð
+¤y‰ø£¥¦—“ÉbN€!Æ TJÑ~N2q`œ ÞÓX†1b¤o "'lóXæË¢ÊQÁýHÆ–ɼYŒ..F‹úý°Û™ïÒõÒò]L0Äh‚z*ÖOS&Œ&Ô{¤I;×4?‘&~74mK涧¯Šy-¥"ÔttS¼—š\5¸÷D5ÄRЉÐ\Œ–«*Û5ÕÓ)Ù7ŠyèÐ÷¨Mq1?ÉÈÑs3 ÌubÇ(b…f yWðÜf.î+½„\S 1L V'™80PPï‰-ˆÕŠ'RÔFRæ—µØYR´‡“™ ÍŒeìi53!ÇÅCŒ ¨!FP&Œ Ô{"Hy8œu?}WÝ¢­1òQ·5!—Ť
+F˜çIdžÃbB€!FÔȨ~B2q`„ Þ#!Òy, ˜h ¹Å^Á¥9Ný˜1·Æ% õ¿¸±Ä%¬Ú.¸úȉ¹-%"ät´CÈÉŃ{OäXIeú“ 9ÇÇ˪P¼mV8|Ó 'íó¼"f®˜ `ˆq•1ýUË\¨÷Ä…áDˆN‚©ØåÐÝ«YC‚©ÃùÛºŸÎbV’†
+ #åf(˜ëĉïH„¦ºÓ (/¯&ÓÕpÒ.”/Áte2û4_\ŒÒÖˆ¿æ³ºîßñQn ŽY(ÖbÃ,ÛþÚS.LbÔ{ÒXZ"¬ëÔ˜Éi|pq¹jKÖEõC(AÝKw’TŒ
+§õö”b:ŠÅ†˜Ø0ݶ“\.LlÔ{›K"¥é\#v½z·¸½ößývH(„xÊcÁ±b€!ÆTã!Æê=ñÀ8‘Fww?µEÈãjy9Ÿ-«°1ŒAмú*züî£ÿ‡…jå—Ť©LK&|ç>~±¸À¦×ö×sq`â¢ÞãŽXI)QTâ’Ù¸#¶ÊeŠÔ³¡7Þ¹ÁÍ6Ïz9
+™.æbA%mÿî§\G¨÷È‘°Þ@HP‚²wÄÑæÕÖmCá)f´”hˆðÒQ á% î=ñb4Q (Ýf\<“åj2^Ûcr›ò­"RY·¡ ’ÜlÁÍ!‰Å„$;  ‘í/+d‚ÀðÀ\':´$Êú§÷Çæ¦E¹¿‘†^ B¶Š9
+†²ö /ïÄtà 1˜ œ®ÿį\L¨÷“Xpo;·wÂÒæÈ(¶=½VÈj12É#hæú÷#g‚ÀxÁ\ÇÕ@®4±JÒœ c\»AíÛeµ¾ I<ÕMa½l„à 1: D™80>Pï )}[!9¤=,ãÕt´¾ƒõ‘œ‘ñ@6Æ„ã 1\ `®!(† ê=á"8qLˆ‹¸ÞžÄSvnF¢n!sÅ\
+^O¦õ:œr¾ yÃ×
+ Á;ÇÏ‚Ž»½ «ŸKÃM‚¯%›µµ‚=©ÁEÐ+$¬˜`ˆñ
+™,åØ!˜@0J2Q  ¾ÓC+ áŽ9Àˆ,aÄO¦rûJ4±Òõða”zRÃááRv€ÂÔÑþµ™(°gb¾ÁÃyˆà,¢£ÛqðËãý0SªŸúu} |ðuUÍêRÍ?ý ˜ÑÝU4f´'T…Ý‘?¼98:8~Q—úNrM’„R!óÈé{*øô!Ð&ª”€d†
endobj
-1085 0 obj <<
+1089 0 obj <<
/Type /Page
-/Contents 1086 0 R
-/Resources 1084 0 R
+/Contents 1090 0 R
+/Resources 1088 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 939 0 R
-/Annots [ 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R ]
+/Parent 943 0 R
+/Annots [ 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R ]
>> endobj
-1088 0 obj <<
+1092 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 758.4766 539.579 767.5824]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.10) >>
>> endobj
-1089 0 obj <<
+1093 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 746.5057 539.579 755.6115]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.10.1) >>
>> endobj
-1090 0 obj <<
+1094 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 734.5349 539.579 743.6406]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.10.2) >>
>> endobj
-1091 0 obj <<
+1095 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 722.564 539.579 731.5203]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.10.3) >>
>> endobj
-1092 0 obj <<
+1096 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 710.5931 539.579 719.6988]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.11) >>
>> endobj
-1093 0 obj <<
+1097 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 698.6222 539.579 707.5785]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.12) >>
>> endobj
-1094 0 obj <<
+1098 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 686.6513 539.579 695.6076]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.13) >>
>> endobj
-1095 0 obj <<
+1099 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 674.6804 539.579 683.6367]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.14) >>
>> endobj
-1096 0 obj <<
+1100 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 662.7096 539.579 671.6658]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.15) >>
>> endobj
-1097 0 obj <<
+1101 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 650.7387 539.579 659.695]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.16) >>
>> endobj
-1098 0 obj <<
+1102 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 638.7678 539.579 647.7241]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.1) >>
>> endobj
-1099 0 obj <<
+1103 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 626.7969 539.579 635.7532]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.2) >>
>> endobj
-1100 0 obj <<
+1104 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 614.826 539.579 623.7823]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.3) >>
>> endobj
-1101 0 obj <<
+1105 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 602.8551 539.579 611.8114]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.4) >>
>> endobj
-1102 0 obj <<
+1106 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 590.8843 539.579 599.8405]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.5) >>
>> endobj
-1103 0 obj <<
+1107 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 578.9134 539.579 587.8696]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.6) >>
>> endobj
-1104 0 obj <<
+1108 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 566.9425 539.579 575.8988]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.7) >>
>> endobj
-1105 0 obj <<
+1109 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 555.0713 539.579 563.9279]
+/Rect [527.6238 554.9716 539.579 563.9279]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.8) >>
>> endobj
-1106 0 obj <<
+1110 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 543.0007 539.579 551.957]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.9) >>
>> endobj
-1107 0 obj <<
+1111 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 531.0298 539.579 539.9861]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.10) >>
>> endobj
-1108 0 obj <<
+1112 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 519.1586 539.579 528.1647]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.11) >>
>> endobj
-1109 0 obj <<
+1113 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 507.0881 539.579 516.0443]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.12) >>
>> endobj
-1110 0 obj <<
+1114 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 495.1172 539.579 504.0735]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.13) >>
>> endobj
-1111 0 obj <<
+1115 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 483.1463 539.579 492.1026]
+/Rect [527.6238 483.2459 539.579 492.1026]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.14) >>
>> endobj
-1112 0 obj <<
+1116 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 471.2751 539.579 480.1317]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.15) >>
>> endobj
-1113 0 obj <<
+1117 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 459.2045 539.579 468.1608]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.16) >>
>> endobj
-1114 0 obj <<
+1118 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 447.2336 539.579 456.1899]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.17) >>
>> endobj
-1115 0 obj <<
+1119 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 435.2628 539.579 444.3685]
+/Rect [527.6238 435.2628 539.579 444.219]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.18) >>
>> endobj
-1116 0 obj <<
+1120 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 423.2919 539.579 432.2481]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.19) >>
>> endobj
-1117 0 obj <<
+1121 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 411.321 539.579 420.2773]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.16.20) >>
>> endobj
-1118 0 obj <<
+1122 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 399.3501 539.579 408.3064]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.17) >>
>> endobj
-1119 0 obj <<
+1123 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 387.3792 539.579 396.3355]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.18) >>
>> endobj
-1120 0 obj <<
+1124 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 375.4083 539.579 384.3646]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.19) >>
>> endobj
-1121 0 obj <<
+1125 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 363.4374 539.579 372.3937]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.20) >>
>> endobj
-1122 0 obj <<
+1126 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 351.4666 539.579 360.4228]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.21) >>
>> endobj
-1123 0 obj <<
+1127 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 339.4957 539.579 348.452]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.22) >>
>> endobj
-1124 0 obj <<
+1128 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 327.5248 539.579 336.4811]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.23) >>
>> endobj
-1125 0 obj <<
+1129 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 315.5539 539.579 324.5102]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.24) >>
>> endobj
-1126 0 obj <<
+1130 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 303.583 539.579 312.5393]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.25) >>
>> endobj
-1127 0 obj <<
+1131 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 291.6121 539.579 300.5684]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.26) >>
>> endobj
-1128 0 obj <<
+1132 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 279.6413 539.579 288.5975]
+/Rect [527.6238 279.6413 539.579 288.747]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.27) >>
>> endobj
-1129 0 obj <<
+1133 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 267.6704 539.579 276.6267]
+/Rect [527.6238 267.6704 539.579 276.7761]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.2.28) >>
>> endobj
-1130 0 obj <<
+1134 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [527.6238 255.6995 539.579 264.6558]
+/Rect [527.6238 255.6995 539.579 264.8052]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.28.1) >>
>> endobj
-1131 0 obj <<
+1135 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 243.7286 539.579 252.6849]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.28.2) >>
>> endobj
-1132 0 obj <<
+1136 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [527.6238 231.7577 539.579 240.714]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.28.3) >>
>> endobj
-1133 0 obj <<
+1137 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 219.7868 539.579 228.8926]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.2.28.4) >>
>> endobj
-1134 0 obj <<
+1138 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 207.8159 539.579 216.9217]
/Subtype /Link
/A << /S /GoTo /D (section.6.3) >>
>> endobj
-1135 0 obj <<
+1139 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 195.845 539.579 204.9508]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.1) >>
>> endobj
-1136 0 obj <<
+1140 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 183.8742 539.579 192.9799]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.1.1) >>
>> endobj
-1137 0 obj <<
+1141 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 171.9033 539.579 181.009]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.1.2) >>
>> endobj
-1138 0 obj <<
+1142 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 159.9324 539.579 169.0381]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.2) >>
>> endobj
-1139 0 obj <<
+1143 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 147.9615 539.579 157.0673]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.3) >>
>> endobj
-1140 0 obj <<
+1144 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 135.9906 539.579 145.0964]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.4) >>
>> endobj
-1141 0 obj <<
+1145 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 124.0197 539.579 133.1255]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.5) >>
>> endobj
-1142 0 obj <<
+1146 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 112.0489 539.579 121.1546]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.5.1) >>
>> endobj
-1143 0 obj <<
+1147 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 100.078 539.579 109.1837]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.5.2) >>
>> endobj
-1144 0 obj <<
+1148 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 88.1071 539.579 97.2128]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.5.3) >>
>> endobj
-1145 0 obj <<
+1149 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 76.1362 539.579 85.242]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.3.5.4) >>
>> endobj
-1146 0 obj <<
+1150 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 64.1653 539.579 73.2711]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.6) >>
>> endobj
-1087 0 obj <<
-/D [1085 0 R /XYZ 85.0394 794.5015 null]
+1091 0 obj <<
+/D [1089 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1084 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R >>
+1088 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1149 0 obj <<
-/Length 3424
+1153 0 obj <<
+/Length 3432
/Filter /FlateDecode
>>
stream
xÚí[sÛ6Çßý)ô¶öÌ
-Á• vvl§é¦—´k»³3Ûí-Ñ2'éŠR<ÙO¿ @Gxj$iÇj¦cÙâá9:ÿq#ÅFÔþc#•‘Ìp3ÒFE™MGt4³ï}}ÄÜ1cÐuvuôâ•Ð#CLƳÑÕÍH*E¸Úœ,'4ÏÙèjúóñùo®¾zsuyòËÕ7G_]…³BÏŒŠî”¿ýü Mm
-ç¶ý2É\=¿]6Í*Rg…$TrwTQO#gb†¥¥;æ²\­«iìL¹ Iú’ý ¦?5±^Ódb!F,d†±l˜ØH ±¨{7Ùc»w„i­<°a²§›øÛGN1Ke.K“AxíðPsØWõ»ª/ õ¢¬m×SdâùTÇA¬|擱†VPY«H V¨{‡•2œP£¶Xq‡ÕOmUÏúËè*J˜ÎHn|ulk%š†šöj]OºN‹UE?g¤BÖS‘‚†R;ªbHÅAÂÝûk«Ê)¡LHÇ”p]µ—ïëbQMz¦~º›«òaïV«ìЋãsšL 0Ĉš¡ÄDÁˆÙs)eG´ã~¬º]0ÆŽ—Íúz^¶·öúÕ¤Áüø3<v° ÁÎNdŒ / ÃóaùØsmAR¡ËGìœ7‹EW<»Fóc¡¶¹YtÃy)c›ôFåӜܨ€!Ö¨ Œ(<‘@0ˆP÷þÊ.„B3ÏPè0¾^ýÅ ˜ëÆM/Þ7Ë·¶uý½ÿí¶¹ï_L
-ÛëþÇ)å³õ<Wº›µ?ÃmN{ïú³ØŠÎò?‚AÁ}N’†˜à0ç¨à‘@0ÁQ÷¡jpÛ›gÊ+Î]Õx]Ozɺ>}èÔu#Õ~Ö䶨g;}=¿XùÝKoÖ‹ën±Á:yB¥`Ÿ¦d€!”… ê>@@ aB8|ßëß·%l¶çö×~áŸåüζZ)בG¡ä’LÒÖ H‰r´†ÑCß±™Ì3b»nùÆ÷©-㜟ÞÝ•õ´š”ÃSÎÁì±½0h€ôÂvÂa|xMžÉÁ¾ÛXS’Ziò~¢û´»~jmÓ0y[7÷ór:ëêi·ÈÊÍ¡ï•ÜtBrSÛ4DÏŽx(2‘@0tP÷®ï%3N$Ë9;¦kB}•=[Vå+¸U»j–na§¹yp~ùæòÁÕº_Ê(ûrŠhHV2 À#Š’ #uŠˆ¢D™9x_D¾.ëré»WAå‹òÆ]¦ÃÎœ×õÍfÃøfÒ,3_fÅ$Ãç.™ `ˆ‘µa|xßG,Œ Ô½¯›åÀð5âõï2×è§Óž†¶-[?SôÔþg²n_.$!É
-I$ Ô}(<#LSO‰èËÇYu=¯šÙ²¸»}¿#\$.׳Yٮʩ/+ÅÔðzfçÏ£o2—Ì0ĸ€Ê \DÁ¸@ÝûâÁdw•òXøâqQþº¶Ê÷ºÛ+‡ß±p}UÊÅ«ó¶ç!Ï…Ÿ²d€!Æ”å!ÆêÞó@9¡4ÛòÀÝŤÛîUûÑýËeqÓQ` ? NƒŒÏj22ÀCªÆøð¢K, Ô½CFäöO\Ê€Œè‘ùauë7¿l&kP8N¯Ãto? QŒ?>FÈU*ÐaG „X ¸{ßÇZ“\rO‚t}Œ‡›Ã0å»êzYø1ëåúî®YZ,2f“^OŸÑd^€!Æ T å%Æ êÞŽLQáqñ}~EÒ `]WmÕ-ðkv˜û
+Á• vvl§é¦—´k»³3Ûí-Ñ2'éŠR<ÙO¿ @Gxj$iÇj¦cÙâá9:ÿq#ÅFÔþc#•‘Ìp3ÒFE™MGt4³ï}}ÄÜ1cÐuvuôâ•Ð#CLƳÑÕÍH*E¸Úœ,'4ÏÙèjúóñùo®¾zsuyòËÕ7G_]…³BÏŒŠî”¿ýü Mm
+ç¶ý2É\=¿]6Í*Rg…$TrwTQO#gb†¥¥;æ²\­«iìL¹ Iú’ý ¦?5±^Ódb!F,d†±|˜ØH ±¨{7Ùc»w„i­<°a²§›øÛGN1Ke.K“AxíðPsØWõ»ª/ õ¢¬m×SdâùTÇA¬|擱†VPY«H V¨{‡•2œP£¶Xq‡ÕOmUÏúËè*J˜ÎHn|ulk%š†šöj]OºN‹UE?g¤BÖS‘‚†R;ªbHÅAÂÝûk«Ê)¡LHÇ”p]µ—ïëbQMz¦~º›«òaïV«ìЋãsšL 0Ĉš¡ÄDÁˆÙs)eG´ã~¬º]0ÆŽ—Íúz^¶·öúÕ¤Áüø3<v° ÁÎNdŒ/ðÀóaùØsmAR¡ËGìœ7‹EW<»Fóc¡¶¹YtÃy)c›ôFåӜܨ€!Ö¨ Œ(<‘@0ˆP÷þÊ.„B3ÏPè0¾^ýÅ ˜ëÆM/Þ7Ë·¶uý½ÿí¶¹ï_L
+ÛëþÇ)å³õ<Wº›µ?ÃmN{ïú³ØŠÎò?‚AÁ}N’†˜à0ç¨à‘@0ÁQ÷¡jpÛ›gÊ+Î]Õx]Ozɺ>}èÔu#Õ~Ö䶨g;}=¿XùÝKoÖ‹ën±Á:yB¥`Ÿ¦d€!”… ê>@@ aB8|ßëß·%l¶çö×~áŸåüζZ)בG¡ä’LÒÖ H‰r´†ÑCß±™Ì3b»nùÆ÷©-㜟ÞÝ•õ´š”ÃSÎÁì±½0h€ôÂvÂa|xžÉÁ¾ÛXS’Ziò~¢û´»~jmÓ0y[7÷ór:ëêi·ÈÊÍ¡ï•ÜtBrSÛ4DÏŽx(2‘@0tP÷®ï%3N$Ë9;¦kB}•=[Vå+¸U»j–na§¹yp~ùæòÁÕº_Ê(ûrŠhHV2 À#Š’ #uŠˆ¢D™9x_D¾.ëré»WAå‹òÆ]¦ÃÎœ×õÍfÃøfÒ,3_fÅ$Ãç.™ `ˆ‘µa|x3@,Œ Ô½¯›åÀð5âõï2×è§Óž†¶-[?SôÔþg²n_.$!É
+I$ Ô}(<#LSO‰èËÇYu=¯šÙ²¸»}¿#\$.׳Yٮʩ/+ÅÔðzfçÏ£o2—Ì0ĸ€Ê \DÁ¸@ÝûâÁdw•òXøâqQþº¶Ê÷ºÛ+‡ß±p}UÊÅ«ó¶ç!Ï…Ÿ²d€!Æ”å!ÆêÞó@9¡4ÛòÀÝŤÛîUûÑýËeqÓQ` ? NƒŒÏj22ÀCªÆøð¢K, Ô½CFäöO\Ê€Œè‘ùauë7¿l&kP8N¯Ãto? QŒ?>FÈU*ÐaG „X ¸{ßÇZ“\rO‚t}Œ‡›Ã0å»êzYø1ëåúî®YZ,2f“^OŸÑd^€!Æ T å%Æ êÞŽLQáqñ}~EÒ `]WmÕ-ðkv˜û
yà&ŸÚdn€!Æ ”å&Æ êÞs#Qöoá;¹íª˜{p¾ØÝÞ?>ÅÉü
˜&Rp(P=á
-Óº%“¦¾OÈr}((2>«ÉÈ
-u¿Jp’+ …ÊœPuëÒ{íeš6‹¢ª_ÔáéP-x:Ô䶜¼õ¿TµoZËE»»“íâÕyÿBR-ÓïïÔÉd€!¦LÃ[Æb`:¡îÝhƒsJ´V:¨¤ûÑÆβËÎV1›tMÕa£iœŸÎdV€!Æ
-” e%ÆÊžûØFmfr¹è—Ϻíâøû¢^û½…wÅ Ù¯¬»_ ûµw¢bbø);ð|H.öÝÆÖ1m'‘0éãt¶Y–æxZ;ŒOnN(è‘Úò !ÒòvôF)‹‚цº´iI¨2ž6ÞÓvÛtÝK¥¸ýñ¸yA’q†nPp&†{Ù±@0ÜP÷·Œ£µp¸ WÜê¶-'ãi{Ó÷ÞoKÛAy~ éƒ1ò‰NÆbA!™ÄÁ0BÝŒ¤!¹Q#¹ƒ‘…Çs4/®Ëù^ðŸÀŽÏn2;ÀcªÇäðÓX ;¨ûÀŽÐ$÷7$žmÖÍvØ™•Ý¾ ©×µOD“Ïw2MÀ£ êÉäðØb`4¡îM\-Ü“5Î6Kj[šú¡í»æm·öªØ¨OD”Ïy2QÀ#
-jj‹Ê0Q‘@0¢P÷(&H&'JïÕ–«UÕMe
-Ô§ÃÉ'<'`ˆáEqŠ‚ᄺ8QFTææqFò]œªYý¿ÍÕ¥>$Ÿêd€!”’)¤ß  uïAÊ ‘¹ò™ž£n^}:ÞÌ£÷›2Å
+Óº%“¦¾OÈr}((2>«ÉÈ
+DcÔ÷V✖g@b¾#ñ¸hßדd¡µ<þëÎ6L·ú×ìÖm¥lÖíü}·/‹¤8î#$‹³µÃÄ bbxÃR$
+LÌ÷VœÌt‰3@±«ŽŸ˜°]»aÂ$×jYÔm1ñc
+z<™W›{¢ RÃòŸ0Y<`ˆ©3ˆÊ Óu¿PiB9ƒÊ]gEå„›•«nq¼ªošn5«_ÉÚÙ'c¨‹E¹Ä*,Mš©] õû+ç?Z²rÀS¦U.¦ê~«œ”į}jW¹õænŸáV7…·­Á­A¾Ñu¯ïúZ8[‹“±ÞY¶üT[ƒÃ'I
+bBÁL11ül X ˜P¨û­P‚“\i(T愪[—Þk/Ó´YUý¢O‡jÁÓ¡&·åä­ÿ¥ª}ÓZ.ÚÝl¯Îû’j™~× Nþƒ$ë 1`¢˜Þ2 Ó uïFœS¢µÒA%Ý6v–]v¶ŠÙ¤kªMã¬øt&³ 1V \(+‘@0VöÜÇ6j3“ÎE¿„|ÖmçÇßõÚï-¼+fÈ~í`ýØýÚÐ
+Éäð †ê>`$ ÉòÉŒ,<ž£yq]Οøó‚ÿv|v“Ù†;P=&‡÷˜ÆÁØAÝv„&¹¿!ñl³n¶ÃάìömHu¸®}"š|¾“i†MPO&‡ŸÀ £ uhâŠhឬq¶YRÛÒÔmß5o»µWÅD}"¢|Γ‰†QPS¦†—gb`D¡îQLLO”Þ!ª-W«ª›Ê:¨O‡“Ox2NÀÃ
+ÊÒ㎂ᄺ8QFTææqFò]œªYý¿ÍÕ¥>$Ÿêd€!”’©á9ºX H¨{RnˆÌ•çÈìpô®\V7Ýœn.³Ÿ”)ŸõT¤€BÔ”©á ø‘(žPßá[¥4‘ÔwÂí¶J›ãn™f:Þ,Ëô{×2Åì|ðw„ô)Nþ†`†}?ÈV>¦†·>}7â8<ñX¿ÎbÃö°qW3u(9þ¤Ø>ÅÉω fØSb·ò±l¸c½Â6á{ÇÜŽúóè³rìÿŒ¥øÇíâöÛ!¥&"úN+® á”êQ÷ÍWnLZ½Cî/ØBÿ?9ãÔendstream
endobj
-1148 0 obj <<
+1152 0 obj <<
/Type /Page
-/Contents 1149 0 R
-/Resources 1147 0 R
+/Contents 1153 0 R
+/Resources 1151 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 939 0 R
-/Annots [ 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R ]
+/Parent 943 0 R
+/Annots [ 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R ]
>> endobj
-1151 0 obj <<
+1155 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 758.4766 511.2325 767.5824]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.3.7) >>
>> endobj
-1152 0 obj <<
+1156 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 746.3946 511.2325 755.5003]
+/Rect [494.296 746.4943 511.2325 755.5003]
/Subtype /Link
/A << /S /GoTo /D (section.6.4) >>
>> endobj
-1153 0 obj <<
+1157 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 734.3125 511.2325 743.4183]
+/Rect [494.296 734.4122 511.2325 743.4183]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.0.1) >>
>> endobj
-1154 0 obj <<
+1158 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 722.3302 511.2325 731.3362]
/Subtype /Link
/A << /S /GoTo /D (subsection.6.4.1) >>
>> endobj
-1155 0 obj <<
+1159 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 710.2481 511.2325 719.2542]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.1) >>
>> endobj
-1156 0 obj <<
+1160 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 698.1661 511.2325 707.1721]
+/Rect [494.296 698.0664 511.2325 707.1721]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.2) >>
>> endobj
-1157 0 obj <<
+1161 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 686.084 511.2325 695.0901]
+/Rect [494.296 685.9843 511.2325 695.0901]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.3) >>
>> endobj
-1158 0 obj <<
+1162 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 673.9023 511.2325 683.008]
+/Rect [494.296 674.002 511.2325 683.008]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.4) >>
>> endobj
-1162 0 obj <<
+1166 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 661.9199 511.2325 670.926]
+/Rect [494.296 661.8203 511.2325 670.926]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.6.4.1.5) >>
>> endobj
-1163 0 obj <<
+1167 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 639.2482 511.2325 648.1048]
+/Rect [494.296 639.3926 511.2325 648.1048]
/Subtype /Link
/A << /S /GoTo /D (chapter.7) >>
>> endobj
-1164 0 obj <<
+1168 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 627.186 511.2325 636.2917]
+/Rect [494.296 627.2856 511.2325 636.2917]
/Subtype /Link
/A << /S /GoTo /D (section.7.1) >>
>> endobj
-1165 0 obj <<
+1169 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 615.1039 511.2325 624.2097]
/Subtype /Link
/A << /S /GoTo /D (section.7.2) >>
>> endobj
-1166 0 obj <<
+1170 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 603.0219 511.2325 612.1276]
/Subtype /Link
/A << /S /GoTo /D (subsection.7.2.1) >>
>> endobj
-1167 0 obj <<
+1171 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 590.9398 511.2325 600.0456]
/Subtype /Link
/A << /S /GoTo /D (subsection.7.2.2) >>
>> endobj
-1168 0 obj <<
+1172 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 578.8578 511.2325 587.9635]
/Subtype /Link
/A << /S /GoTo /D (section.7.3) >>
>> endobj
-1169 0 obj <<
+1173 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 556.2857 511.2325 565.1423]
+/Rect [494.296 556.4302 511.2325 565.1423]
/Subtype /Link
/A << /S /GoTo /D (chapter.8) >>
>> endobj
-1170 0 obj <<
+1174 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 544.2235 511.2325 553.3293]
+/Rect [494.296 544.3232 511.2325 553.3293]
/Subtype /Link
/A << /S /GoTo /D (section.8.1) >>
>> endobj
-1171 0 obj <<
+1175 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 532.1415 511.2325 541.2472]
+/Rect [494.296 532.2411 511.2325 541.2472]
/Subtype /Link
/A << /S /GoTo /D (subsection.8.1.1) >>
>> endobj
-1172 0 obj <<
+1176 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 520.0594 511.2325 529.1652]
+/Rect [494.296 520.1591 511.2325 529.1652]
/Subtype /Link
/A << /S /GoTo /D (section.8.2) >>
>> endobj
-1173 0 obj <<
+1177 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 507.9774 511.2325 517.0831]
+/Rect [494.296 508.077 511.2325 517.0831]
/Subtype /Link
/A << /S /GoTo /D (section.8.3) >>
>> endobj
-1174 0 obj <<
+1178 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 485.5497 511.2325 494.2619]
+/Rect [494.296 485.4053 511.2325 494.2619]
/Subtype /Link
/A << /S /GoTo /D (appendix.A) >>
>> endobj
-1175 0 obj <<
+1179 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 473.4428 511.2325 482.4488]
+/Rect [494.296 473.3431 511.2325 482.4488]
/Subtype /Link
/A << /S /GoTo /D (section.A.1) >>
>> endobj
-1176 0 obj <<
+1180 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 461.3607 511.2325 470.3668]
+/Rect [494.296 461.2611 511.2325 470.3668]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.1.1) >>
>> endobj
-1177 0 obj <<
+1181 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 449.2787 511.2325 458.2847]
/Subtype /Link
/A << /S /GoTo /D (section.A.2) >>
>> endobj
-1178 0 obj <<
+1182 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 437.1966 511.2325 446.2027]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.2.1) >>
>> endobj
-1179 0 obj <<
+1183 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 425.1146 511.2325 434.1207]
/Subtype /Link
/A << /S /GoTo /D (section.A.3) >>
>> endobj
-1180 0 obj <<
+1184 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 413.0325 511.2325 422.0386]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.3.1) >>
>> endobj
-1181 0 obj <<
+1185 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 400.8508 511.2325 409.9566]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.3.2) >>
>> endobj
-1182 0 obj <<
+1186 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 388.7688 511.2325 397.8745]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.3.3) >>
>> endobj
-1183 0 obj <<
+1187 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 376.6867 511.2325 385.7925]
/Subtype /Link
/A << /S /GoTo /D (section.A.4) >>
>> endobj
-1184 0 obj <<
+1188 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 364.7043 511.2325 373.7104]
+/Rect [494.296 364.6047 511.2325 373.7104]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.4.1) >>
>> endobj
-1185 0 obj <<
+1189 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 352.6223 511.2325 361.6284]
+/Rect [494.296 352.5226 511.2325 361.6284]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.4.2) >>
>> endobj
-1186 0 obj <<
+1190 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 340.5402 511.2325 349.5463]
+/Rect [494.296 340.4406 511.2325 349.5463]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.4.3) >>
>> endobj
-1187 0 obj <<
+1191 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 328.4582 511.2325 337.4643]
+/Rect [494.296 328.3585 511.2325 337.4643]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.4.4) >>
>> endobj
-1188 0 obj <<
+1192 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 316.2765 511.2325 325.3822]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.4.5) >>
>> endobj
-1189 0 obj <<
+1193 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 304.1944 511.2325 313.3002]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.4.6) >>
>> endobj
-1190 0 obj <<
+1194 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 292.1124 511.2325 301.2181]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.A.4.6.1) >>
>> endobj
-1191 0 obj <<
+1195 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 280.0303 511.2325 289.1361]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.A.4.6.2) >>
>> endobj
-1192 0 obj <<
+1196 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 267.9483 511.2325 277.054]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.A.4.6.3) >>
>> endobj
-1193 0 obj <<
+1197 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 255.8662 511.2325 264.972]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.A.4.6.4) >>
>> endobj
-1194 0 obj <<
+1198 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 243.7842 511.2325 252.8899]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.A.4.6.5) >>
>> endobj
-1195 0 obj <<
+1199 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 231.7021 511.2325 240.8079]
/Subtype /Link
/A << /S /GoTo /D (subsubsection.A.4.6.6) >>
>> endobj
-1196 0 obj <<
+1200 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 219.6201 511.2325 228.7258]
/Subtype /Link
/A << /S /GoTo /D (subsection.A.4.7) >>
>> endobj
-1197 0 obj <<
+1201 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 197.048 511.2325 205.9046]
/Subtype /Link
/A << /S /GoTo /D (appendix.B) >>
>> endobj
-1198 0 obj <<
+1202 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 184.9858 511.2325 194.0916]
/Subtype /Link
/A << /S /GoTo /D (section.B.1) >>
>> endobj
-1199 0 obj <<
+1203 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 172.9038 511.2325 182.0095]
+/Rect [494.296 173.0034 511.2325 182.0095]
/Subtype /Link
/A << /S /GoTo /D (section.B.2) >>
>> endobj
-1200 0 obj <<
+1204 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 160.8217 511.2325 169.9275]
+/Rect [494.296 160.9214 511.2325 169.9275]
/Subtype /Link
/A << /S /GoTo /D (section.B.3) >>
>> endobj
-1201 0 obj <<
+1205 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 148.8393 511.2325 157.8454]
/Subtype /Link
/A << /S /GoTo /D (section.B.4) >>
>> endobj
-1202 0 obj <<
+1206 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.296 136.6576 511.2325 145.7634]
+/Rect [494.296 136.7573 511.2325 145.7634]
/Subtype /Link
/A << /S /GoTo /D (section.B.5) >>
>> endobj
-1203 0 obj <<
+1207 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 124.5756 511.2325 133.6813]
/Subtype /Link
/A << /S /GoTo /D (section.B.6) >>
>> endobj
-1204 0 obj <<
+1208 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 112.4935 511.2325 121.5993]
/Subtype /Link
/A << /S /GoTo /D (section.B.7) >>
>> endobj
-1205 0 obj <<
+1209 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 100.4115 511.2325 109.5172]
/Subtype /Link
/A << /S /GoTo /D (section.B.8) >>
>> endobj
-1206 0 obj <<
+1210 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 88.3294 511.2325 97.4352]
/Subtype /Link
/A << /S /GoTo /D (section.B.9) >>
>> endobj
-1207 0 obj <<
+1211 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 76.2474 511.2325 85.3531]
/Subtype /Link
/A << /S /GoTo /D (section.B.10) >>
>> endobj
-1208 0 obj <<
+1212 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [494.296 64.1653 511.2325 73.2711]
/Subtype /Link
/A << /S /GoTo /D (section.B.11) >>
>> endobj
-1150 0 obj <<
-/D [1148 0 R /XYZ 56.6929 794.5015 null]
+1154 0 obj <<
+/D [1152 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1147 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F39 1161 0 R /F21 938 0 R >>
+1151 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F39 1165 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1211 0 obj <<
-/Length 764
+1215 0 obj <<
+/Length 800
/Filter /FlateDecode
>>
stream
-xÚíÙÍOÛ0
-Áø é¡‰Ò<¾å³Þ,ëêyæ6G‹æè®Þâå0˜WˆñŠ JôóJ‚ñBÓ^\ÍÀz^¢ãµjê©;ó¿Ó:´·¼ùŽ öbÞ⎃2ýÞ…`ÞÐôÁ›+C+e¼7Ù¦?½eŒXmŠvPK‘LÍ]7òÕ¬
-ÚÉôvähô }§;Œ1‡±P¶ßa¢Ì!š>8 @y‡jwÞ+Zl÷³fRpàã9î°¨ü¶Fb¨â¶‚†~T‰B0ThzJ¹#•ð¨t‡ª®›õ•QzÔtMa¿‡jŠM¯ú ºÿÊ?U¢ O4M,…pãh:MÕjYµ7“‚©ñJ옟€¡ƒyE¯¸Á û¯üS…`¼Ðô—–Ä
-n,mÇË£VUS/æíÇŸ}–ßúÁ°¢@ VÜZвV¢ š>ÀRœXKý-%£¬Çõ´x˜WÓâ;¥ìÏfé|YEH”ßóÁ¢¢@LTÜSTT¢Lš>ˆ’ŒP.ýM#ÿ l6åÕúaRXÎÇSÕQ`ù­ +
-Ä`Å­­úa%
-Ùƒžß
-QÔÅ%á»_ VJxÿ»¯5„&Ü–^.§Æ1W:ç’´sµ‹ýÕ»Ôí ¨ò¿ã|ì–endstream
+xÚíÙÍOÛ0
+¿pÞ‹rQ(-™VRÆW‹«âKšýõ54·-ÓNØÌJ„@+ñáÒ…©¬öÌH!_WrÊ@L*%ýI[/æͤr^Ÿ°I¥9·?”÷›ì/ ZÈ°÷Îîš°×ÑÕ]¹¹øŠ{ã*¸ßãýù»&ƒ‘{…D4¹B(bdúDLYf¬…HL"bÕ÷§—U[?.WísxݘÓp>qƒóAÜ@0¦ŸO¦Š™>ñ‘šY>òQ[>ë—eS?ÏÃæX5Rþˆ§SlÀ`^(â… ÆöóÊBñ"Ó'^¡ kŒ‹¼ô†×ªmfá
+Ü{§õÞ cG{C”7Üq°Ðï-SåLŸ¼0`¢·×Óôù4VæAu)ºAE6{jo7#ßÌj Ki·#G£u;5Ø!
+¤b `E¿ÃL!”C2}thÂ…ÓFE‡vwîU¶»y;©$ÈñŒ;(ª´íCQá@Õ›¶‚U½¨r…¨èô •³ÌsHw“nƒªiÚõ•3vÔt Mq¿kB”&ÜO°ýŸüs…PšÈôI“ÕÌ+“nýFS½ZÖÝÍã¤fü$vÌwÀÔ€Á¼P Å 7lÿ'ÿ\!/2}âe$óžÇKÁ7¼ÂµªÛæiѽý™Ñ×Q`Å­ R°pkIX™B(XdúK Æ¥Ž·”6°Ö³ê~QϪoœ‹ß/ËàËÃ(ê@¢âž…)Q¸§`]¿¨L!”(2}¥8ãŽÇ›FÿK¿žÏä}½¾ŸT^Êñ¨:
+¬¸õƒa¡@
+n-Xß+SȬôˆ¨2\1£lö)Qø浆&µ{r¦,“Ήür%wáà4¶”šusu‹ýÙ»Ôí Tùvnaendstream
endobj
-1210 0 obj <<
+1214 0 obj <<
/Type /Page
-/Contents 1211 0 R
-/Resources 1209 0 R
+/Contents 1215 0 R
+/Resources 1213 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1226 0 R
-/Annots [ 1213 0 R 1214 0 R 1215 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R ]
+/Parent 1231 0 R
+/Annots [ 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R ]
>> endobj
-1213 0 obj <<
+1217 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 758.4766 539.579 767.5824]
/Subtype /Link
/A << /S /GoTo /D (section.B.12) >>
>> endobj
-1214 0 obj <<
+1218 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 746.5215 539.579 755.6272]
/Subtype /Link
/A << /S /GoTo /D (section.B.13) >>
>> endobj
-1215 0 obj <<
+1219 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 734.5663 539.579 743.672]
/Subtype /Link
/A << /S /GoTo /D (section.B.14) >>
>> endobj
-1219 0 obj <<
+1220 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 722.6111 539.579 731.7169]
+/Rect [522.6425 722.7108 539.579 731.7169]
/Subtype /Link
/A << /S /GoTo /D (section.B.15) >>
>> endobj
-1220 0 obj <<
+1224 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 710.7556 539.579 719.7617]
/Subtype /Link
/A << /S /GoTo /D (section.B.16) >>
>> endobj
-1221 0 obj <<
+1225 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 698.7008 539.579 707.8065]
+/Rect [522.6425 698.8005 539.579 707.8065]
/Subtype /Link
/A << /S /GoTo /D (section.B.17) >>
>> endobj
-1222 0 obj <<
+1226 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 686.8453 539.579 695.8514]
+/Rect [522.6425 686.7456 539.579 695.8514]
/Subtype /Link
/A << /S /GoTo /D (section.B.18) >>
>> endobj
-1223 0 obj <<
+1227 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 674.7905 539.579 683.8962]
+/Rect [522.6425 674.8901 539.579 683.8962]
/Subtype /Link
/A << /S /GoTo /D (section.B.19) >>
>> endobj
-1224 0 obj <<
+1228 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [522.6425 662.8353 539.579 671.941]
+/Rect [522.6425 662.935 539.579 671.941]
/Subtype /Link
/A << /S /GoTo /D (section.B.20) >>
>> endobj
-1225 0 obj <<
+1229 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [522.6425 650.8801 539.579 659.9859]
/Subtype /Link
/A << /S /GoTo /D (section.B.21) >>
>> endobj
-1212 0 obj <<
-/D [1210 0 R /XYZ 85.0394 794.5015 null]
+1230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [522.6425 638.925 539.579 648.0307]
+/Subtype /Link
+/A << /S /GoTo /D (section.B.22) >>
>> endobj
-1209 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R >>
+1216 0 obj <<
+/D [1214 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+1213 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1229 0 obj <<
+1234 0 obj <<
/Length 2174
/Filter /FlateDecode
>>
@@ -4294,48 +4311,48 @@ FŠüäuܹê;´¡’<ÕY®§6<ÁG‰ÐB
–Q£­¢+O(Ÿèº³ß…Ù¤
µ¾€Ð5༚ºÜ¸c3Í¡vÃH-Ôø·¿‹ß
endobj
-1228 0 obj <<
+1233 0 obj <<
/Type /Page
-/Contents 1229 0 R
-/Resources 1227 0 R
+/Contents 1234 0 R
+/Resources 1232 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1226 0 R
+/Parent 1231 0 R
>> endobj
6 0 obj <<
-/D [1228 0 R /XYZ 85.0394 769.5949 null]
+/D [1233 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1230 0 obj <<
-/D [1228 0 R /XYZ 85.0394 582.8476 null]
+1235 0 obj <<
+/D [1233 0 R /XYZ 85.0394 582.8476 null]
>> endobj
10 0 obj <<
-/D [1228 0 R /XYZ 85.0394 512.9824 null]
+/D [1233 0 R /XYZ 85.0394 512.9824 null]
>> endobj
-1231 0 obj <<
-/D [1228 0 R /XYZ 85.0394 474.7837 null]
+1236 0 obj <<
+/D [1233 0 R /XYZ 85.0394 474.7837 null]
>> endobj
14 0 obj <<
-/D [1228 0 R /XYZ 85.0394 399.5462 null]
+/D [1233 0 R /XYZ 85.0394 399.5462 null]
>> endobj
-1232 0 obj <<
-/D [1228 0 R /XYZ 85.0394 363.8828 null]
+1237 0 obj <<
+/D [1233 0 R /XYZ 85.0394 363.8828 null]
>> endobj
18 0 obj <<
-/D [1228 0 R /XYZ 85.0394 223.0066 null]
+/D [1233 0 R /XYZ 85.0394 223.0066 null]
>> endobj
-1233 0 obj <<
-/D [1228 0 R /XYZ 85.0394 190.9009 null]
+1238 0 obj <<
+/D [1233 0 R /XYZ 85.0394 190.9009 null]
>> endobj
-1234 0 obj <<
-/D [1228 0 R /XYZ 85.0394 170.4169 null]
+1239 0 obj <<
+/D [1233 0 R /XYZ 85.0394 170.4169 null]
>> endobj
-1235 0 obj <<
-/D [1228 0 R /XYZ 85.0394 158.4617 null]
+1240 0 obj <<
+/D [1233 0 R /XYZ 85.0394 158.4617 null]
>> endobj
-1227 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F48 1238 0 R >>
+1232 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1241 0 obj <<
+1246 0 obj <<
/Length 3187
/Filter /FlateDecode
>>
@@ -4353,63 +4370,63 @@ H•²/hÊ
®£fw"®höx׺©;°Çn|>”°ÃÓ¶PˇýjÎÖzýÁ”rþ!È£+Œ­$üE™ Bö‘Q™…­Ê"ôãÇœ/Áò±r=?5M[ô°ÌÏ[€Ì°u¸Âz ÆmÜo<)¶ó=P¿+{’‘OíRzwdîØPÖ6ôV`0ÐhõðlÓã>§¦|êv=£lÁá“xý1‡š[ÚÍ„C9ßšÞ4â¦Å7ɵkù ’ß ÿe¬ˆ¦¯¸Çÿ¤ùâãý×þ{Ôñ¿Ä T0iª_ð‡)¶ˆÌ€
@Ÿ!þêó4Ï©Êendstream
endobj
-1240 0 obj <<
+1245 0 obj <<
/Type /Page
-/Contents 1241 0 R
-/Resources 1239 0 R
+/Contents 1246 0 R
+/Resources 1244 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1226 0 R
-/Annots [ 1247 0 R 1248 0 R ]
+/Parent 1231 0 R
+/Annots [ 1252 0 R 1253 0 R ]
>> endobj
-1247 0 obj <<
+1252 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [272.8897 207.1951 329.1084 219.2548]
/Subtype /Link
/A << /S /GoTo /D (types_of_resource_records_and_when_to_use_them) >>
>> endobj
-1248 0 obj <<
+1253 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [190.6691 179.6723 249.6573 189.0819]
/Subtype /Link
/A << /S /GoTo /D (rfcs) >>
>> endobj
-1242 0 obj <<
-/D [1240 0 R /XYZ 56.6929 756.8229 null]
+1247 0 obj <<
+/D [1245 0 R /XYZ 56.6929 756.8229 null]
>> endobj
-1243 0 obj <<
-/D [1240 0 R /XYZ 56.6929 744.8677 null]
+1248 0 obj <<
+/D [1245 0 R /XYZ 56.6929 744.8677 null]
>> endobj
22 0 obj <<
-/D [1240 0 R /XYZ 56.6929 651.295 null]
+/D [1245 0 R /XYZ 56.6929 651.295 null]
>> endobj
-1244 0 obj <<
-/D [1240 0 R /XYZ 56.6929 612.4036 null]
+1249 0 obj <<
+/D [1245 0 R /XYZ 56.6929 612.4036 null]
>> endobj
26 0 obj <<
-/D [1240 0 R /XYZ 56.6929 555.4285 null]
+/D [1245 0 R /XYZ 56.6929 555.4285 null]
>> endobj
-1245 0 obj <<
-/D [1240 0 R /XYZ 56.6929 530.6703 null]
+1250 0 obj <<
+/D [1245 0 R /XYZ 56.6929 530.6703 null]
>> endobj
30 0 obj <<
-/D [1240 0 R /XYZ 56.6929 416.0112 null]
+/D [1245 0 R /XYZ 56.6929 416.0112 null]
>> endobj
-1246 0 obj <<
-/D [1240 0 R /XYZ 56.6929 391.253 null]
+1251 0 obj <<
+/D [1245 0 R /XYZ 56.6929 391.253 null]
>> endobj
34 0 obj <<
-/D [1240 0 R /XYZ 56.6929 164.815 null]
+/D [1245 0 R /XYZ 56.6929 164.815 null]
>> endobj
-1249 0 obj <<
-/D [1240 0 R /XYZ 56.6929 137.4068 null]
+1254 0 obj <<
+/D [1245 0 R /XYZ 56.6929 137.4068 null]
>> endobj
-1239 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F21 938 0 R >>
+1244 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1254 0 obj <<
+1259 0 obj <<
/Length 3415
/Filter /FlateDecode
>>
@@ -4429,60 +4446,60 @@ txÕÁ(1Âùãqt0úØÇ‘C×µLm›§:ÂÄ$è’y¦
·o¾Àbº¦úž&\Õ=¯d‚Ó÷aŠKѨðÀæ@pð
–þvA•c«ÇøÀ†û,¤ÆAg€hCõoœ€}¼ew8ýš*çÐð‡#çô/œÿn1]/‚0Péú\í8 °ef´>+sŒBOD‡+^ .ùRéØ{
endobj
-1253 0 obj <<
+1258 0 obj <<
/Type /Page
-/Contents 1254 0 R
-/Resources 1252 0 R
+/Contents 1259 0 R
+/Resources 1257 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1226 0 R
-/Annots [ 1257 0 R 1258 0 R ]
+/Parent 1231 0 R
+/Annots [ 1262 0 R 1263 0 R ]
>> endobj
-1257 0 obj <<
+1262 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [519.8432 463.1122 539.579 475.1718]
/Subtype /Link
/A << /S /GoTo /D (diagnostic_tools) >>
>> endobj
-1258 0 obj <<
+1263 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [84.0431 451.8246 133.308 463.2167]
/Subtype /Link
/A << /S /GoTo /D (diagnostic_tools) >>
>> endobj
-1255 0 obj <<
-/D [1253 0 R /XYZ 85.0394 794.5015 null]
+1260 0 obj <<
+/D [1258 0 R /XYZ 85.0394 794.5015 null]
>> endobj
38 0 obj <<
-/D [1253 0 R /XYZ 85.0394 570.5252 null]
+/D [1258 0 R /XYZ 85.0394 570.5252 null]
>> endobj
-1256 0 obj <<
-/D [1253 0 R /XYZ 85.0394 541.3751 null]
+1261 0 obj <<
+/D [1258 0 R /XYZ 85.0394 541.3751 null]
>> endobj
42 0 obj <<
-/D [1253 0 R /XYZ 85.0394 434.1868 null]
+/D [1258 0 R /XYZ 85.0394 434.1868 null]
>> endobj
-1259 0 obj <<
-/D [1253 0 R /XYZ 85.0394 406.5769 null]
+1264 0 obj <<
+/D [1258 0 R /XYZ 85.0394 406.5769 null]
>> endobj
46 0 obj <<
-/D [1253 0 R /XYZ 85.0394 301.1559 null]
+/D [1258 0 R /XYZ 85.0394 301.1559 null]
>> endobj
-1260 0 obj <<
-/D [1253 0 R /XYZ 85.0394 276.6843 null]
+1265 0 obj <<
+/D [1258 0 R /XYZ 85.0394 276.6843 null]
>> endobj
50 0 obj <<
-/D [1253 0 R /XYZ 85.0394 200.1512 null]
+/D [1258 0 R /XYZ 85.0394 200.1512 null]
>> endobj
-1261 0 obj <<
-/D [1253 0 R /XYZ 85.0394 175.6796 null]
+1266 0 obj <<
+/D [1258 0 R /XYZ 85.0394 175.6796 null]
>> endobj
-1252 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F21 938 0 R >>
+1257 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1265 0 obj <<
+1270 0 obj <<
/Length 2457
/Filter /FlateDecode
>>
@@ -4501,39 +4518,39 @@ S¦…€Äüœºã2±öŠ 41ÑÍ–,÷úBäí]¨u›«˜úDOâ‚ÙLë–3žatÙ±º÷5vxnïH‘šªmÝóìAߌå
M­
 ZãŠÜƒ[æž.ÇñS!L%:P–ô˜¥Hé!”·i"®"!G­š¼ü…3Ãø(M¶æÒ?/ÕºðõwÕNïÉzê-çÕÃÿ­@úÂ?Dþ ÇD÷ÿï2ýý¥Ê2¹ü—ŠÌ OÕÈŠ%ºaÜÿ?sËùy;:»endstream
endobj
-1264 0 obj <<
+1269 0 obj <<
/Type /Page
-/Contents 1265 0 R
-/Resources 1263 0 R
+/Contents 1270 0 R
+/Resources 1268 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1226 0 R
+/Parent 1231 0 R
>> endobj
-1266 0 obj <<
-/D [1264 0 R /XYZ 56.6929 794.5015 null]
+1271 0 obj <<
+/D [1269 0 R /XYZ 56.6929 794.5015 null]
>> endobj
54 0 obj <<
-/D [1264 0 R /XYZ 56.6929 717.7272 null]
+/D [1269 0 R /XYZ 56.6929 717.7272 null]
>> endobj
-1267 0 obj <<
-/D [1264 0 R /XYZ 56.6929 690.4227 null]
+1272 0 obj <<
+/D [1269 0 R /XYZ 56.6929 690.4227 null]
>> endobj
58 0 obj <<
-/D [1264 0 R /XYZ 56.6929 550.0786 null]
+/D [1269 0 R /XYZ 56.6929 550.0786 null]
>> endobj
-1268 0 obj <<
-/D [1264 0 R /XYZ 56.6929 525.2967 null]
+1273 0 obj <<
+/D [1269 0 R /XYZ 56.6929 525.2967 null]
>> endobj
62 0 obj <<
-/D [1264 0 R /XYZ 56.6929 393.0502 null]
+/D [1269 0 R /XYZ 56.6929 393.0502 null]
>> endobj
-1269 0 obj <<
-/D [1264 0 R /XYZ 56.6929 363.1913 null]
+1274 0 obj <<
+/D [1269 0 R /XYZ 56.6929 363.1913 null]
>> endobj
-1263 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F39 1161 0 R >>
+1268 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1272 0 obj <<
+1277 0 obj <<
/Length 2097
/Filter /FlateDecode
>>
@@ -4549,66 +4566,66 @@ hZã|jY/ýE‰áÝN6“dy 8xp]7b~{é0h”~’e±½„3×rÓ,Ã,*r¸2Ư{ë³½ŸØøÎê±×꛼cµ¬Ë"
Ìk
âþî^̲EÑÅk˜èP<sgÕ1B ÚÖP!žÅj˜K±dx ’;mêá6¨BÐ ¾I½Ÿp
endobj
-1271 0 obj <<
+1276 0 obj <<
/Type /Page
-/Contents 1272 0 R
-/Resources 1270 0 R
+/Contents 1277 0 R
+/Resources 1275 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1226 0 R
-/Annots [ 1278 0 R 1279 0 R ]
+/Parent 1231 0 R
+/Annots [ 1283 0 R 1284 0 R ]
>> endobj
-1278 0 obj <<
+1283 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [519.8432 268.1131 539.579 280.1727]
/Subtype /Link
/A << /S /GoTo /D (acache) >>
>> endobj
-1279 0 obj <<
+1284 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [84.0431 256.1579 143.5361 268.2175]
/Subtype /Link
/A << /S /GoTo /D (acache) >>
>> endobj
-1273 0 obj <<
-/D [1271 0 R /XYZ 85.0394 794.5015 null]
+1278 0 obj <<
+/D [1276 0 R /XYZ 85.0394 794.5015 null]
>> endobj
66 0 obj <<
-/D [1271 0 R /XYZ 85.0394 769.5949 null]
+/D [1276 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1274 0 obj <<
-/D [1271 0 R /XYZ 85.0394 574.3444 null]
+1279 0 obj <<
+/D [1276 0 R /XYZ 85.0394 574.3444 null]
>> endobj
70 0 obj <<
-/D [1271 0 R /XYZ 85.0394 574.3444 null]
+/D [1276 0 R /XYZ 85.0394 574.3444 null]
>> endobj
-1275 0 obj <<
-/D [1271 0 R /XYZ 85.0394 540.5052 null]
+1280 0 obj <<
+/D [1276 0 R /XYZ 85.0394 540.5052 null]
>> endobj
74 0 obj <<
-/D [1271 0 R /XYZ 85.0394 447.7637 null]
+/D [1276 0 R /XYZ 85.0394 447.7637 null]
>> endobj
-1276 0 obj <<
-/D [1271 0 R /XYZ 85.0394 410.3389 null]
+1281 0 obj <<
+/D [1276 0 R /XYZ 85.0394 410.3389 null]
>> endobj
78 0 obj <<
-/D [1271 0 R /XYZ 85.0394 348.7624 null]
+/D [1276 0 R /XYZ 85.0394 348.7624 null]
>> endobj
-1277 0 obj <<
-/D [1271 0 R /XYZ 85.0394 311.223 null]
+1282 0 obj <<
+/D [1276 0 R /XYZ 85.0394 311.223 null]
>> endobj
82 0 obj <<
-/D [1271 0 R /XYZ 85.0394 189.9853 null]
+/D [1276 0 R /XYZ 85.0394 189.9853 null]
>> endobj
-1280 0 obj <<
-/D [1271 0 R /XYZ 85.0394 156.0037 null]
+1285 0 obj <<
+/D [1276 0 R /XYZ 85.0394 156.0037 null]
>> endobj
-1270 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R >>
+1275 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1284 0 obj <<
+1289 0 obj <<
/Length 591
/Filter /FlateDecode
>>
@@ -4616,27 +4633,27 @@ stream
xÚ¥TKs›0¾ó+t3AÕtt’:3Nƒû˜4Ç()SŒ\ÀIóï+!°Iâž: ³«}|ì~Ú…
ÕºÕõ«3uEó»$hô®ËZ«¤iëâa׺BÿÚ*Æ‘]…#;`ÞþÒþ{ã¿¡0FLzX¦ñÐS‘ŒÙ¾(Klô¡ða3?VþP%6endstream
endobj
-1283 0 obj <<
+1288 0 obj <<
/Type /Page
-/Contents 1284 0 R
-/Resources 1282 0 R
+/Contents 1289 0 R
+/Resources 1287 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1287 0 R
+/Parent 1292 0 R
>> endobj
-1285 0 obj <<
-/D [1283 0 R /XYZ 56.6929 794.5015 null]
+1290 0 obj <<
+/D [1288 0 R /XYZ 56.6929 794.5015 null]
>> endobj
86 0 obj <<
-/D [1283 0 R /XYZ 56.6929 769.5949 null]
+/D [1288 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-1286 0 obj <<
-/D [1283 0 R /XYZ 56.6929 744.7247 null]
+1291 0 obj <<
+/D [1288 0 R /XYZ 56.6929 744.7247 null]
>> endobj
-1282 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R >>
+1287 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1290 0 obj <<
+1295 0 obj <<
/Length 1159
/Filter /FlateDecode
>>
@@ -4649,45 +4666,45 @@ JxI1|«ÄR{}Ö8!S8ÆM§,ývrö‹çf¨qdü)G%§ÀÚÉ®×r›6H–¬Ú‹½‹…¿ðÃJNXV„ÐO^nóëÅ¿_æ’£
Ó–ÿ¼\g¥» ÜE
¾qÂôrœº=ȘZ\ ö\FØÿxd²ó‘ód¦·$4%9‡‹{¦úÃ9šfؼ!¼‚¦ÿH ËI)xáõ8kØ;ߥo…­<©»çÃ¥ÛŽ›­>L/‰ÁÌ ²”Š,`îö$àžÇV”ðl×ØæÚ,˜Lá5]Ö·[öhLs&¾Ñ¡0ÌC/—U5U}hõö5¡æ^uº…®û]}á¦×=}»ž^êáý-Rb_ósoù _dð!AK"8YXù½±é_Á£µ
endobj
-1289 0 obj <<
+1294 0 obj <<
/Type /Page
-/Contents 1290 0 R
-/Resources 1288 0 R
+/Contents 1295 0 R
+/Resources 1293 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1287 0 R
+/Parent 1292 0 R
>> endobj
-1291 0 obj <<
-/D [1289 0 R /XYZ 85.0394 794.5015 null]
+1296 0 obj <<
+/D [1294 0 R /XYZ 85.0394 794.5015 null]
>> endobj
90 0 obj <<
-/D [1289 0 R /XYZ 85.0394 769.5949 null]
+/D [1294 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1292 0 obj <<
-/D [1289 0 R /XYZ 85.0394 575.896 null]
+1297 0 obj <<
+/D [1294 0 R /XYZ 85.0394 575.896 null]
>> endobj
94 0 obj <<
-/D [1289 0 R /XYZ 85.0394 529.2011 null]
+/D [1294 0 R /XYZ 85.0394 529.2011 null]
>> endobj
-1293 0 obj <<
-/D [1289 0 R /XYZ 85.0394 492.9468 null]
+1298 0 obj <<
+/D [1294 0 R /XYZ 85.0394 492.9468 null]
>> endobj
98 0 obj <<
-/D [1289 0 R /XYZ 85.0394 492.9468 null]
+/D [1294 0 R /XYZ 85.0394 492.9468 null]
>> endobj
-1294 0 obj <<
-/D [1289 0 R /XYZ 85.0394 466.0581 null]
+1299 0 obj <<
+/D [1294 0 R /XYZ 85.0394 466.0581 null]
>> endobj
102 0 obj <<
-/D [1289 0 R /XYZ 85.0394 201.2466 null]
+/D [1294 0 R /XYZ 85.0394 201.2466 null]
>> endobj
-1295 0 obj <<
-/D [1289 0 R /XYZ 85.0394 170.5419 null]
+1300 0 obj <<
+/D [1294 0 R /XYZ 85.0394 170.5419 null]
>> endobj
-1288 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1293 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1298 0 obj <<
+1303 0 obj <<
/Length 1768
/Filter /FlateDecode
>>
@@ -4701,41 +4718,41 @@ tèErÆ)LÌ ìÔ)ÂpÉ!è©n½ˆ4ï8Ky^ëéMšezºÈsk¿²å‘µΔk1…éÔ‹T©¦ô0j }z¬¬Ó%ÿn¿ô¡ô1µ
ÊTˆiivíÚÔ«×eΓ=5’´Š£.mÃU;GÝ©ÔE^à9"–JØCàxy¥™Zÿqdkà“µ› jÝ
Na>¤¯xÁã/jY»—|‘´7ŠÂ-Ý M¤³•PQŽŠ2Q£ýëq€:Ž¦­Ö÷£J\„¥r8.ù ¬ "~AªíŪNAÕ1̃`àùFŒ!Mr¡äå‡~-zP©Ä¢VÊKu¦}?N[êÃFÓ=¦SYl‹3¼îb¿§ ”Cˆ¹Ê[öOÂ]Có¬ûœ„èéÌEc½â°õbz|í/×<ÇG,„i¸Ï(ôY«•P=x¢ºù7Û£û_`#~›endstream
endobj
-1297 0 obj <<
+1302 0 obj <<
/Type /Page
-/Contents 1298 0 R
-/Resources 1296 0 R
+/Contents 1303 0 R
+/Resources 1301 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1287 0 R
-/Annots [ 1303 0 R ]
+/Parent 1292 0 R
+/Annots [ 1308 0 R ]
>> endobj
-1303 0 obj <<
+1308 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [55.6967 61.5153 126.3509 73.5749]
/Subtype /Link
/A << /S /GoTo /D (rrset_ordering) >>
>> endobj
-1299 0 obj <<
-/D [1297 0 R /XYZ 56.6929 794.5015 null]
+1304 0 obj <<
+/D [1302 0 R /XYZ 56.6929 794.5015 null]
>> endobj
106 0 obj <<
-/D [1297 0 R /XYZ 56.6929 372.6686 null]
+/D [1302 0 R /XYZ 56.6929 372.6686 null]
>> endobj
-1300 0 obj <<
-/D [1297 0 R /XYZ 56.6929 334.1957 null]
+1305 0 obj <<
+/D [1302 0 R /XYZ 56.6929 334.1957 null]
>> endobj
-1301 0 obj <<
-/D [1297 0 R /XYZ 56.6929 266.1213 null]
+1306 0 obj <<
+/D [1302 0 R /XYZ 56.6929 266.1213 null]
>> endobj
-1302 0 obj <<
-/D [1297 0 R /XYZ 56.6929 254.1661 null]
+1307 0 obj <<
+/D [1302 0 R /XYZ 56.6929 254.1661 null]
>> endobj
-1296 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R >>
+1301 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1307 0 obj <<
+1312 0 obj <<
/Length 2693
/Filter /FlateDecode
>>
@@ -4756,45 +4773,45 @@ v‚_Ñ&-Ë÷–Ðùs’LŒ“é¨úc­º¯ç½¿ªîzWnBˇ¢—ålÊOøQ‚x# £cÇl»„“¬ðܯb¼ocàÁ
p¬xJ´§¹=vrB þ²¡ðÙ£,ˆ†—
N8çŒd¬`—·Àvÿ¤?í.îü›¾ü2õÃ%0'üµµQ†Ìè‘2ÂÒTúÄ„íû&·×ˆã<dÏÄŸ¼÷?²œÿ¿Gd„çùÌ9#×çŒ,ñJiõ‹©âþ^.5ÿ+Lendstream
endobj
-1306 0 obj <<
+1311 0 obj <<
/Type /Page
-/Contents 1307 0 R
-/Resources 1305 0 R
+/Contents 1312 0 R
+/Resources 1310 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1287 0 R
+/Parent 1292 0 R
>> endobj
-1308 0 obj <<
-/D [1306 0 R /XYZ 85.0394 794.5015 null]
+1313 0 obj <<
+/D [1311 0 R /XYZ 85.0394 794.5015 null]
>> endobj
110 0 obj <<
-/D [1306 0 R /XYZ 85.0394 769.5949 null]
+/D [1311 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1309 0 obj <<
-/D [1306 0 R /XYZ 85.0394 744.949 null]
+1314 0 obj <<
+/D [1311 0 R /XYZ 85.0394 744.949 null]
>> endobj
114 0 obj <<
-/D [1306 0 R /XYZ 85.0394 744.949 null]
+/D [1311 0 R /XYZ 85.0394 744.949 null]
>> endobj
-1310 0 obj <<
-/D [1306 0 R /XYZ 85.0394 721.0357 null]
+1315 0 obj <<
+/D [1311 0 R /XYZ 85.0394 721.0357 null]
>> endobj
118 0 obj <<
-/D [1306 0 R /XYZ 85.0394 672.3079 null]
+/D [1311 0 R /XYZ 85.0394 672.3079 null]
>> endobj
-1262 0 obj <<
-/D [1306 0 R /XYZ 85.0394 647.0603 null]
+1267 0 obj <<
+/D [1311 0 R /XYZ 85.0394 647.0603 null]
>> endobj
122 0 obj <<
-/D [1306 0 R /XYZ 85.0394 136.5325 null]
+/D [1311 0 R /XYZ 85.0394 136.5325 null]
>> endobj
-1314 0 obj <<
-/D [1306 0 R /XYZ 85.0394 113.5963 null]
+1319 0 obj <<
+/D [1311 0 R /XYZ 85.0394 113.5963 null]
>> endobj
-1305 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R >>
+1310 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1317 0 obj <<
+1322 0 obj <<
/Length 3556
/Filter /FlateDecode
>>
@@ -4812,50 +4829,50 @@ r¹Lœ±‰ÕŒM8*ƒÉªû:¢ÿÀ¹ÆÀ$$ë
?¡ñ¡9êb‹÷5KSv–Õ­%lŸêµ“Ê‚„„úÛ3'e€ñUi}q&Ë—þf€Ï÷ô•
}U·fÃSÕû–æxÚ`°Àn¿ã8Ü[<´~‡Ûêž~^7ý#©,cíwœÛ'Tr‚¦+ïwôÍ/ô;‚eèwS,úõCú‘÷Cz¼4kÓ^HAÀD/¤ÇÝyÖ/#׃öþ68†ÌðËe@Œ«Ȳ‹ùžMÕ~4ÞÓ‚-¦<ÄBÑZC]ê‹RØï÷:Åž}å°4ì·TÅ–…%Ó_·e‡>7QË—ýkþ8Éq' ¿â±ÄÌ&öÿT`âúŸ "—ø;_ü¿Vý¿ éËJM}oÌ´¥
endobj
-1316 0 obj <<
+1321 0 obj <<
/Type /Page
-/Contents 1317 0 R
-/Resources 1315 0 R
+/Contents 1322 0 R
+/Resources 1320 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1287 0 R
-/Annots [ 1322 0 R 1323 0 R 1324 0 R 1325 0 R ]
+/Parent 1292 0 R
+/Annots [ 1327 0 R 1328 0 R 1329 0 R 1330 0 R ]
>> endobj
-1322 0 obj <<
+1327 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [219.3839 342.7466 281.1025 354.8062]
/Subtype /Link
/A << /S /GoTo /D (options) >>
>> endobj
-1323 0 obj <<
+1328 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [401.2123 288.8914 470.1877 300.951]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
-1324 0 obj <<
+1329 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [243.8464 235.0361 306.1963 247.0958]
/Subtype /Link
/A << /S /GoTo /D (options) >>
>> endobj
-1325 0 obj <<
+1330 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [368.2917 181.1809 436.8984 193.2405]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
-1318 0 obj <<
-/D [1316 0 R /XYZ 56.6929 794.5015 null]
+1323 0 obj <<
+/D [1321 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1315 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F41 1218 0 R /F53 1313 0 R /F22 961 0 R /F14 964 0 R /F48 1238 0 R /F55 1321 0 R >>
+1320 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F41 1223 0 R /F53 1318 0 R /F22 965 0 R /F14 968 0 R /F48 1243 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1330 0 obj <<
+1335 0 obj <<
/Length 3160
/Filter /FlateDecode
>>
@@ -4876,136 +4893,138 @@ R37µ1k˜Õl‹âeï^:®üU@óà~‰§yf‚—¬þëÔj0DJÇØè†R‘zZ7!õ@7E(ˆc™ÔýSsRc@À¥RŸ£±HC¾¹/
/'¥TpmkOÔ–”?ŸÒ¶‰¬™h"‘EÎæYÉÀ½!e¸fƒÙŒ :*ëh§ª‚X뢱‘Ÿ$_dkê’­qÈ6#²y‰Zª±Dýd’'X–}‘ÈÖ„L\ICm ßàçíæÉléé©
ïÑäCà(üšã{d3Žï¨ˆÑ¢ùÇŸe sü!ßç€N{îsÞ%ûЙAß9~AÉ¢tÈ–ï­ƒ# 98
endobj
-1329 0 obj <<
+1334 0 obj <<
/Type /Page
-/Contents 1330 0 R
-/Resources 1328 0 R
+/Contents 1335 0 R
+/Resources 1333 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1287 0 R
+/Parent 1292 0 R
>> endobj
-1331 0 obj <<
-/D [1329 0 R /XYZ 85.0394 794.5015 null]
+1336 0 obj <<
+/D [1334 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1328 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F48 1238 0 R /F55 1321 0 R /F14 964 0 R /F41 1218 0 R >>
+1333 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F48 1243 0 R /F55 1326 0 R /F14 968 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1334 0 obj <<
-/Length 3939
+1339 0 obj <<
+/Length 3791
/Filter /FlateDecode
>>
stream
-xÚÝ[ÝoÜÆ×_!r|kîÉeòäØNâ´±][mQ$~ ŽÔ‘y9ò¤(Mÿ÷Îìì.wy¼“¾• p¹îÇ|þf–â— üòË4cY!ŠË¼P,Mxz¹º»H.×ðì» ni–ŽhR}s}ñü[™_¬ÈDvy}Œ¥Y¢5¿¼®~ZH&ÙŒ,Þ¾øñõÕR¤ÉâãëWiºø;\Ìý»÷¯?¼¸ÊÕâúÍ»·¯–yR¨ÅËï_¼¿vOñòÝÛoß|÷·qœ«O×?\¼¾ö»wʉ[øõâ§OÉeþá"a²ÐéåÜ$Œ…¸¼»P©d©’Òõl/>^üÕ<5¯Îq³Œk`¡d"ãr–(ÏF@Cq&T"<{•Ø«9K‹"½ôTÈÞ~(‡C?Ý+ç9SYÊ/ÃæõTÇ LÌ…`Je*žùUÓï¶å#p?n¦ÝÝâU.†MmÖûûzr)
-íÛn°†M9¸–íjw7@m† ¡Äâ÷®­íèM»Ú*wçßjÚ¡Þ·å9ËçÁò¥ÊYž'¸m\÷MÓVÏ_~o Ã}.e†:RÖ°"MIƒqrÒ±²­¨AÓB£ªoËÃv˜™µ0B¢ì¤ìù›·33
-P¬D9¢ l‚†§lnýŒû+®®»§kÛ nit­Ûm›Uc{Í+]w4êªkN±>И›*SÉ L¹yq^oCªÓzë©p¯ûzuØ÷M»>R]™‚9åúüÔžêxîXug&u¸ÛM¹mzË¥Îrü×C½oê~F´<±t¡­ØÚò®®f„ ¦¯´’–ÊI ¶MLo‡íc %ÏZD{Z$™~&ù" ¨ÎˆÄQá
-ïËmS•CÓ*eI²ø©kÿèno?Ù;ÚašFŽ!e©(Üï›úˆcDÍ
-v¨LFÔŸ¦YÂ
-‘óó;ôTÇ[ŒM+KY‘hïñu[ÞlAä¼
-Q°JÄ‹WÄð‡|QÒe ¾¢¥f,5+4è®Pã– ÉÝ‘ñ@#‚ˆ
-™LXá3lÊãl´í™ÓKÉË ^ÑO;¢:„Lg9+WÙÕH;XZÞ¦˜”qŽÙ¶Ù7óÖš…ËÔûòn·s½iʲ<q.+ŠÚß±Z& ε9¯ƒ»°~‚¶0©Eñ=òø2gJûÔ­þͬÁÝÌÜ1(ºu+/™¯f&忘5bПfbB„ömµ¢2€c¹ ×k:¾ü]‡Ç%¹+{Ö×tsk‚.¶¾^eÕÍ–àß_9!ìZÂ%#˜´5Ç 7ûrõK=LÓ¾¾k–«nÛY}*Ézí¬œæ4ÚÒA|8 $ea²€\ì, ©NIOe*õöÿHF Ç¢Pò<7=Õ1;ã@
-X®¯yÏä÷¹Ñf ág°»æôµ+èJ07pæ‘àx uFÐZ© zб9
-˜5ÁjÏ&@Ï® ›VC'MRÖ:äXûV–>
-äâ°™‹iÂT¡RÖ†µÆe` S˜0÷¥P“àÆ
-&
-7Qæœ.‰½³WœrÎŒAaó¬8ƒgfBÅç¯t´HX&³lzÄ7›šŠ”q퓇Ñ÷ÓÏ¢ ºxG8 ñ\@£˜ª¼Æ}Oe Ýa«ë*Çï ã"Ù Œ#3u! 1ÖÛ <ѱÒN*¨$ÆîUMÈ4`Z-hP·2lbÖ|¬@èÄORàq‹ç¡Ò€Ì9¯©MUͺJŒ’8dã¹””.@I;Œƒ•’Î[$¸í7åxÒŠCÕ2™üHf–ïfÀ±²„ƇÃÕ˜<~0BÇ`;vT˜»o*û†[‘ &¡'…y»ìvn¿V¶RÑÂÕLQO¦¶0nܲ²iôŽåTxoÛ­ü .q“êÄ1,Ž‰B…&2£äòoh3ëRcÁÚM?SÌÕ9“©¯á<¯‡ÕsœíÔ9$7™Î„?g!MÇÃw•Å~ëÆx?Ux[†ŸbšÌºvø*=tû/š¢è¬T1r,>&2_0ùòûrŽa\1¥|1€Î:Ý×L·ãà'j·j<ÖÂvü­¥Brh«g3Â4G :K¦ÉÕ ©J¦ráIHL&Ü~†­m×ýB­ÙcAÈ'ÓÌ' £H(Îæ‡y’»j ¢að0›]Åñ$•XÝ°@í±Gu©š¹”$xòè*F¦@
-Ζ¥0u-z²__RãCPsÄË‘ú¸
-6§ýˆŸ:cϘ`êèó<ˆ— —Y°ŽãóÍÙé§#y2÷Ù¿þËÙOáÏjÛý/ãJÀÒ¤Ö'>¨¹Æ“<é… çâhå<aÅÌÒÿ‹jw¢endstream
+xÚÝZmoä¶þî_a²¼<‘"%*)
+\ï.É¥ÍÝ5ç¶(’*¯d¯]i³ÒÚç4ýïá©ÕÚW(ŠÚDQ#¾ÌË3ÏPËÏøçç*cY!Šó¼L%\¯¶gÉù-<ûúŒ[™¥Z†R¿¿:{öUšŸ¬ÈDv~uŒ¥Y¢5?¿ª~X¤,e0B²xóü»WK¡’ÅûWß_(µø \ÌýÛw¯¾~‘ËÅÕë·oÞ_,ó¤‹ß<wå$žãÅÛ7_½þúÏã8®¾={uåwî”')náç³>$çløÛ³„¥…Vç÷p“0^â|{&UÊ”LS׳9{ö'?`ðÔ¼:§9xÌ2®A…‚iUÌÊäŠhHÎ2)FíJhWs¦ŠB{)Ôn?”áŸn•óœÉLñópÄ£y½ÔñÄBs!˜”™Œg~Ùô»Mù
+÷º¯W‡}ß´·G®›*ˆ¦\?>µ—:ž;v] ±™ƒE£É_¶»‰!7MoµÔYÿ|¨÷MÝϘ–'šºÐÖlm¹­«ãBäK-S+å,Û&¥·Ãæ!°’×-¢=m’ vRäÙ& ¤1‰“ÂÞ•›¦*‡¦WÊ’dñC×þÚÝÜ|°w´C¥"`PL‰Âmñ®©ïI˜1FâѬ‡Z$¹•þ0Ý ÈVˆœ?¾C/u¼Å8´2ÅŠDËx¯Úòz&çèxOתéÇΗoÞ¿õ‚Ú£B n%„[3þPp¦Sí
+¾* oª8%^Ãæu7¬­hV°÷‡ùdC½VaV­`ÑÍŠn®þðêo¸Že[ßvCSá‹'½Miˆú'½-”:ím^Ê{[Uoj‡
+Qû36’’¥iêǤ[æ0e
+Ér!òǕ᥎µã…
+щêS°z¦õ¸î½Ô±ò'@Å –f‘öŸWe½’.ęӤXܯ$ ØiÖaM½¯û ½8´msÁí­EQ!4ãˆ~ä¯Ö³³¶½Ý f™¥ƒ?jXœs†z€†•ò€þÝÝCÔÝ/©b:† ‡ÎlÝŽèž™ £é €{¢Ð1K5Àu ­‹G©™Öù+² (à¯Ü>T:Šb2ɲS^pÄ ÀËt¬(+õÞt–ÙÕ«#Ü„vÎf›¹cüÐ1ê<Ç<ÖÚnc’PÎVMyˆ–%ãã¡þ8¸7L- }÷Ýac¦-÷Áx|m4
+R€Ù¹Ò^óš‰`Y"4s¬_ò1•§ÒïÜvÜ ö¿†k_ÞÕð°²½ö)†IZ,ðͼÐQÈÈ\a¹°.ûõÌ6cÌ`í/s$!Çb.ѵD¨«‘çN3€E¯‘qêxÔœ <!+¶`‹«ýÃnèn÷ånŸ¸aÀ!€r¡' é¶në½K:ÊzÚe=m,I-ÃÃG#[J•.þº®Û9>$,Ïô'Ô£EÆÃÝád†rë¼ ð :³bû¾1lZ!Š|±éÊÊí­i &
+ô9’ˆ q)µZ¼m‘ ˆ…;3
+Âånà¨Ré4Î/1vûæx†/qP¼kÊ9òÈA탅«}ó”e’ñÂsµ×NP=#‰±Qât[ƒ«ïNE‚L˜âyþD$RD‚“2ä°¹m ;4‡™ˆÔ¤#$ÓüÕö¬65DúL©€ž Æ2¿©ž•›[Pü°ÞÎÇA‚Üu<<á"¦Ôp궯Wé®Ü—Í:犦”¥²pv0/€â÷sÁ—)–«t²ˆÖ£±%ßš«ÐrùœPè§\ýOàD®rµ†zÂלԱ³ÅEN’âS Õ©fÊtÚóA$4Ò]Õ¸¦9È裡Ývw5ÝÛZCúÓgl{‡57xŠBÍ7ŠkRëHc$,·´°'uvó…Ú†gâµ½íì'˜i5âV’JUbMÙ¬§{tÊþ€†xWÚ^¿^óÊž®–ûþ70hJÍÕºlÚžÜï7ÎÐù3ÓßÒ•Šn™9À¥G3K·YY£¦k«Ü~ÓѸ+jXö×ÑñϪ&1û!ÆÖl=‰ºwÒ‘ Ìà¨N1Bœ[âI¡UÆrß&U\„õÙ”[2øÄëYNËõ§ß35~®G¾ÙBúìn@9}íŽvS7
+-´²)Ä´ðeZ“fœ%¼ˆKpSþëÑØŽ§üZp¬ee=ô†&)s@×?äÑ/°³Z° Õ)yH˜|‹Oé#Â2K“Åë–ºêÆ|c7r«²¯Ý«DÌ@
+>ù±‹ mŽvz{méj¶ùÏ£žC.üþùwÔ}œKÇ^ç×_2f4¦£Í—ôKXtZÞöö®㸤Ÿ÷¤Æ÷úr38!»,_%MÒ:(8¦û"J8œss’(íGÝTHýЪjP&úáö®Ü¬ŒñlÐî°5æ¶éçÎ9 öyÒÌçŽqC¶k—F ÞY¥ÃÊ)=Â,ï¿y¾äø3¹TŒ§ìñÉ P>žþßl@ã³ÇëPhét‚Ê[DV^(¼ô
endobj
-1333 0 obj <<
+1338 0 obj <<
/Type /Page
-/Contents 1334 0 R
-/Resources 1332 0 R
+/Contents 1339 0 R
+/Resources 1337 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1337 0 R
-/Annots [ 1336 0 R ]
->> endobj
-1336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [91.7912 64.1653 148.0099 73.3807]
-/Subtype /Link
-/A << /S /GoTo /D (controls_statement_definition_and_usage) >>
+/Parent 1344 0 R
>> endobj
-1335 0 obj <<
-/D [1333 0 R /XYZ 56.6929 794.5015 null]
+1340 0 obj <<
+/D [1338 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1332 0 obj <<
-/Font << /F37 1026 0 R /F48 1238 0 R /F22 961 0 R /F21 938 0 R /F55 1321 0 R /F53 1313 0 R /F41 1218 0 R >>
+1337 0 obj <<
+/Font << /F37 1030 0 R /F48 1243 0 R /F22 965 0 R /F21 942 0 R /F55 1326 0 R /F53 1318 0 R /F41 1223 0 R /F11 1343 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1341 0 obj <<
-/Length 3214
+1347 0 obj <<
+/Length 3478
/Filter /FlateDecode
>>
stream
-xÚ­koÛÈñ»…ôƒ D̾¹Û|ʉÏwhîš8¹æ(h‰–ˆP¤+Rqâþ{göER^Ùê]¡\.gggç=³¢3?:Ó2#܈YnD& •³åöŒÌÖðíâŒz˜E
-¯x÷öòâãûW繘_]þðî|‘#`åÓkøñÍ°îÃùoWß½¹Š§Ÿ”ŽGø×Ù/¿‘Ù
-üÝɸÑrv/$£Æ°ÙöLHžIÁy˜©Ï>œý="}µKSœ“\gR³<Á:ÆF¬£ÆBÍri2Å·¬»Ú”ç ®Äü¦Ým‹Ç|ÞÞ¸¹>|\¶Í¯„°õ~WôUÛ8(œ©=@Õ¹gWm«ºØùå­ì7±@ÄÀ±oÑÅ$P-(ž)jŠm¹Ê`G;9žçR{Ðç€Õ°ùõÞ£¯a÷¾\Mwo›ú>q¿Cœ³§"ãT™Ù‚ÒÌHÉ,º®/úr[6}ˆ™Êíù cz•Î Ô¶·È.A*Ç-h¤ô!™Q‘Kð¥¼Oà *S$ÏOEÒ•»¯å.E ɘ1¬hV LÔd€Î:˜ªYÖûU™Â¥2ÃDÁÀ30
-Õ•È>>ú†ïbzAõܼ³J£¢ëÚe N6 ­™áSÙXUdZÁ— ®Ö92®s_Pàöé@sÏÿõ®ê7~´©– ÷nr  ^¶eÑxôéuØ~ã!Wp^A3 „líü
-øoцì‚1
-VᛶëÝý"ŽjšY­œ˜º°Æ¾®÷^¢8Ì°xëá½:RîžB»sØ8{WÕµ]{8pÌ}±´^_«O]›ðì‹pº‰®/Rz ¼žè/Z„ - B°£½ýZ­ìÞðÅAH‰aj»u'†ÙºjÊ”ì¨æ8wvš†%šˆGŠ°§ b‘µxøT¸×/Öµà»?@Õûµc1=÷NTY+ŦZcWæhDÐØsÃëõ½{)ÍŽó1ŽD“q‘?ð)f 
-”ëí&Ï$ãaïî¶\ZOVúS8–ÁÀ.wS­{:—œ’šáQîšÕ2eC PðCaßM»¯=§@Y›ré7³ª
-O§ª`©7)"Õ”çž8pÅNñÈ|]}-7lýÓKŸŒ5ŽXóp;ÂÃI=ÄvuBì¦*zö©´0ZŠŒ °:#òÇc„0ê)ÕªáAó¨†{-ÜÃé9 \¨ôžž21š¡Â&¨UeRŸ [CƒÞm¬$pó=È é«%$¤ÍÚÍÙŸR¢<#,Ú„Í/Ó|6&j/Fwbæ—½?lwnïß^qrd¤˜êÍ€)ˆ|åȪñ•º,”’#©¤&!Š>%’œ„HìnMÂí‚šœÈÿ=ŸÆCêk ºóißFO]ÒæqWÃ(°^RnÚºnïl¢» ;ÃÙ"nêÞ‘pï9Ñ`zGBÇô|»·Q’§|0S¸Ç×¢®Vn¸j·…µG€r¨Œc¬k÷ë›®zÚ”¥_äò2Ä·ì÷E•Äx—MUîœ7_nPæ/'zº½-!8ttýΩ),®«/å4tô+c"Áf‘Mù•Œ‹NÊA¹3EÀPàÎ e'¬Z§‹ÎEĸ£´å„4*¸ Á†QcŸÂ’ᬠ&Lô²…{ NH™S…´?3è¿ŸôgÄ0šðg°KwÑßµnæ±DP)S¢^·;ð7ÛĦ"‡Ê/ÕÑj‹ËXbQS¦B*Sà ì¹ñӦº ön,\‰õÜ•zP·3¡æ·Å®³™žP!¿ƒQ±\–·½7÷nÕVH—ŒˆP^ u˜m
-_á—À4‘Ï—ûK<›¾ö˜]U>Áç7KTG§XÆf[,Û•LËC³XsxÕ±Gù»óÂ
-`3«×8°~ ða‘Xyu£šˆÇûG Œ…,kb¹G*”95#·¦4=ÂPX5T
-ïl®ý„OÒq¿väŸnî
-ÑNÓ$”–Oäð }΃úÌ–O¡>ð ÈÛ¼+zr¨4¹4Ӣ畇.¶·µ_¹­šj‹©¸ßì ÂdhbOܺ:kV3I±‰ím`´R%bðÏøöK­…ËÍÔ.†ôÁB> ÑëÙËTf8¤³0=ùþlÉßß_3Ù\^|Ú_óOMñú›í5¿\þðMÿù'±þÜ|"—tóóÅÇõÏ[syñf½b¿}ï·óÍ´àtJçïIzB{ñø)YªhÁ±aUOF_¦"ý¸IÁˆ¥žÊä>ŽÊ­#°‹šA¼NäÞÜlSÀap¢uŒ¡èB§JD»ˆ/Ê~ùÉ;V\i’bC{1ß Ú_ z¥
-)[`Ç@j%§éÀ_ÑNB; Ö*z–u[¤jß…_0±§Ðœ™4QÂdãaKB¹ïN5¡ ãÝϸä»f0Š}Çr*‘Vd„†Ðº)[mMz¼IÝbžÐ_0¶MìÕÜ•±õo»s=ß7MÌÚ|½Aü€}Pב¬Cb;ýy ¯Žv¹]:ØPÈS§}…³Î‰å8ƒã™Á+Æ·b5Ê¡´ËÌL^º÷ßÝÃÝšŒà3s`ÞÜréƒO8ÝÚb«úk¥÷ŽwÔ'ÁWß-%“Ðr}—²D¨v‹u]ª*Æ+>•ƒõ1„òOWÅãbŒÒUÅcâ86ì"Ô©EqˆnLfJÚ„‘5¾ZiŽ]LJ Láã`¼@Ï´.›ôE Ëc÷Í7××»bëvð…¡Q¨©_˦
-µ|óÅÞØYˆ"%!‰5îîíA©,—<@Æ€ ÝØ>*ìpßîííŽAõ¡ó•û\Ô]lå*¨~é鬪î¶.îÃF¼ÀðÅhwÛ6+_q>(öèràd´ÕD®3ÅMªœš\£
-ûùÿ'&róœä+ÿ"ûsJh/ö©†xËY¦}&tøÇ42{RQOýÜðï@ì­kÍÒzÀ‰rÝ3ð­ˆ Aùþ†ÿËy¨éÿH;²endstream
+xÚ­ksã¶ñ»…&Óò̉Á›dóéîz¹:^Ò;ç2yt:4EKœ£HG¤Îñtòß»‹@R‚l§íèƒðX,‹}ƒ|ÁàÇ™N˜ÌÕ"ÍU¢׋rwÁ˜{{ÁÌÊ­¦P¯®/¾üZ¦‹<É0‹ëÛ ®,aYÆ×럗¯ÿúò»ë7ï/WB³¥L.WÚ°å»—C#`JëåGñúÛw__½ýþýËËT-¯¯¾}w¹JY®`åÓk¿ýî͸îÃå?¯¿¹xsN1=)gðëÅÏÿd‹5ø› –È<Ó‹{è°„ç¹Xì.”–‰VRú‘æâÃÅ?Âɬ]㜖Y¢3‘FX'ø„u\ò$32[¤:OŒÒònß®ËËl½ìëM[·ê¬Ú¾*å]±/v4Ðvm…ǤbŠT‰D±T)Û%Ï–Õ®û\õ´¬hé¿ú­î‡€ý݇7¯%5ËmQ·vM Âr×¥GSô_ÛE‚-VܨD
+- •%Ê
+{=Åp Òz“°Q1Ð, 74Ž$áhAÝ~[¸9TUIýáâ<!¬h†
+Oä}mµ›qà_ßQ«éºOÔªÛ'R0¸†›“+ýT=Än”%)K3ý Ó %‘߃ÚTh*N·0à¤òRÓ?ô(.ëzÁoD’¦šûã=!_WÈËÖZ»WÕR‹ì4^]½û Éô£y:gßÍ¡nP6ÐV!V13¬dZà8.X1a•òô ¸m”’E;Ã'Í`jøäÁYjÜ|SµÕž (ß<Ðÿþ2[ZëÅNEƒ (ÍÒÉþ+äåÙ«WE„¸aNÎ-¢Ã#Kûr_ßÀþĵT&¹Ðù\-Ib¦ñ.Sæ còDÉÌ §¦ÉýfA÷×àWÓäÚgÊv‚÷ÿP•£Ö›õ =©N¤a|FÏI€ ž¢âR᜴æsÅç>ÚZoi¬‰Þ¡ãœ×- ~òÔ…”—
+°®þûzW7ÅÞ-ï<Žt·1[¦A…÷JÓ»j}Î"CÜú•‹¼’¹ ã‹èØ\úd÷®EŸLG<ì´€m”Ü™¨~
+S Uô}WÖè*íÝ8t&r9×dòT™™5YŠŒëiÆFDøO ©c‡›u[ۺ܀>ÐàHtvUÑ:ôéß>rhiyî€ììøÚFX
+l„U¡³gÜmν
+åìL( é(c†?u%)c‘+±»ÅRbÐÃ<eúÇÓx蜻œ
+Ñ’÷*`\MQÚtsFš-= HÍØ#b B)CœhÏ:+,Ôõ¦è’\½*nÏr´ßOÚ3– ±g°…»hÎï;y,ÐTF…P h6ÝìÍ.²©J!ó Ju6Û’:¤‡˜ÔT1—* !FýDnü°­}YΙ•ÖµÉrÏŒR¤¬g–wž·‘ž2>¾ƒVQ–ÕÝàÚí5‚Ø*MÁˆòé•2ÇѦrÎxæ ¨tYöx¶Cã0SV>Ãç6û/5c»+ÊÕn­ã÷‘‰s8уk÷Oç…&~@ÃDê()›æœ“È  ¿›¢¯VÆ!­Ú²s*ù‡À}¬Ö; ÞýÚ½Ÿi•9÷Ža!Ïrî4Ç´ü‘|#7RGB²1ïÉR4LúÓ8Æ=Nžso<‡ð9Íåã*š%Y®eœ"—µ´¸ƒ¥Ê*“þù=ᬰҀª”?3/ ÈL¨K[Ç%øÔq ç¸à—`.UÃÊ °e«Ë2¦jøÀ)äÙ-ÃâGúŒ 0KÇwÀfV®±aí6Mà!Âb!ó:kF3¦¯­06MçèL¦€wÎó‰Y3?ÃX3f
+ãìÏ´äÊfÐ
+…Ç r÷-Ðú½:Þú’×#«­NO7ÁW÷&&e lÛP¬¹?¸Ðlú€I³s&°J%ÉÆGv¡Ôÿ “a—Û¥£ù@u&Û@çp¤9¤p2Éñ §#³b%ŠPÚ?Ë M¾¢þïôGÏ&¸QÍÌ©[
+>}´ Ï׶àÆêÁÛ^èåJ°ëÊ¥lZ®Çžä9¤;B„Ä.–ãŸIAû Måÿ!+WŒ”OI“éb½Î=7%ö¾Mh|þÏæªø>ˆd~îYRgÀ©coëÑg‘†Ú›+­oì§f¸ƒK sƒbú¹jkŸ¹ÁœK…èÓ€(b×£±^c¦µ½³(“¤Zªã/ `#úhvxèömÇ~]×kš¶_ˆ¸B®Ü÷ø‹‰uÝß5ök)û¢ž/\*ÚßuíúÌg
+ø‚š ¨‘(<KŒÌcÉÔìè§!WWâ®V
+#„! ÛÏ(äåcD,zé>Bª?ãwiœszp‹}/)u‚9F>>`!äøŸ¿¥?1ÅI–‰øW ’J‚Qx".)]ž’þ]Mïþendstream
endobj
-1340 0 obj <<
+1346 0 obj <<
/Type /Page
-/Contents 1341 0 R
-/Resources 1339 0 R
+/Contents 1347 0 R
+/Resources 1345 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1337 0 R
->> endobj
-1342 0 obj <<
-/D [1340 0 R /XYZ 85.0394 794.5015 null]
+/Parent 1344 0 R
+/Annots [ 1349 0 R ]
>> endobj
-126 0 obj <<
-/D [1340 0 R /XYZ 85.0394 149.8567 null]
->> endobj
-1343 0 obj <<
-/D [1340 0 R /XYZ 85.0394 122.5522 null]
+1349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [120.1376 668.2829 176.3563 677.4983]
+/Subtype /Link
+/A << /S /GoTo /D (controls_statement_definition_and_usage) >>
>> endobj
-1344 0 obj <<
-/D [1340 0 R /XYZ 85.0394 93.0348 null]
+1348 0 obj <<
+/D [1346 0 R /XYZ 85.0394 794.5015 null]
>> endobj
1345 0 obj <<
-/D [1340 0 R /XYZ 85.0394 81.0797 null]
->> endobj
-1339 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R /F48 1238 0 R >>
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1348 0 obj <<
-/Length 488
+1353 0 obj <<
+/Length 905
/Filter /FlateDecode
>>
stream
-xÚÍUMsÚ0½ûWèh¼Õj%­t$ ¡d&·—LLp?f’´ IÛŸßccÀ-™–Éd|ÐJZ=½§}–PiùP9>š¨8Zpº¹K´ú$sÃ×9y”·³NŠäÍ)±Š½ñªøØÂ
- C@U̯R‚Lt:î²Ü8N—™séiVýÉÅಗ±M‹Ñd<ÍrÖѦý·½‹¢Î8ŒÑŸŒOGÃ÷œìº8KE£¢­5-%|O®®µš‹à³DÅàÔOéhÀºK¬#p–¨¹M¦É»°5»ZÚurÖcÊÉBýŸ³-­ºÐ½­V9"Dçþ‚U­Ó‚µëÛPyð`Y
-k<36…5Ø*l4Àƒb‡`¼Ô|YØéh(å9ß=fäì©6äÿ±l ;hšM9hÑnóìÏžå¢2Éãç²
-åÃòa=øµjonËÙ}>}«ÚÙý¼
-Ê__aWª Âã•R$`Í¢tã©sËkô9 Cö€Ç(@ÄÚa£qñgƒµðŽf°=ŽÝÛ|{Mçk±J±5£W¹a ¶ïν;ÔŽrcçžx©:‰Ý4­:ö¹û潓›B0Ýn0À2Jê³ÄZºíÞ³ƒ ù&«Eý7ô¢˜endstream
+xÚÍWKoÛF¾óWðHåvߣk8ŽDvcº(æ@“k‡0E¦¢ÜÔÿ¾C-—ZYtl¤Bè ]ržß~3œ%1†‰…DÒP+ÑÀDÄå*Âñ¼;È(“y¡,”ú%~~ÃTl‘TÆùm`K#¬5‰óêcÂC)XÀÉòäýYšQ“«³©Éoð·Ý_\ž}8IOòÅÅò*Í6<9}{r™{‰—mœ^,ß,ίwvÒOù»è,Ÿ²3%˜ )ü}ü„ã
+~aÄŒñWØ`DŒ¡ñ*â‚!ÁóOšè*úu2¼ÝªÎ"G0¢LÒè(  Ó cD¬„A’Q¶…î±{p¹•EëëT'íè“z¥ƒÛAqÝVeVvíí³bT
+*†$f|TÚtN´··xøâþGUúã
+iitàÝÛÇÀ!ÄûøcÚØÑl[¹EÛW]Uß>ÎxÓ
+aCÅh¤-V¶BCz3þ$ETJ/ZŒ–‹¦Aj„ #¤3Ž b
+ðΘ@„`5q–¦ÁxVßµEÓϸÂqF92²”NízSÔ[¼Ir½\üîVý¨
+ùÐ[÷|óy\ 錢vý—]¯;§±)îýÛ/¶¬
+R¸xãßÚÖ¦íâ­¿C– )×þpî릙•h$öŒ)»Õ
+˜‚žV³–ˆ¢b©(âP_¯¨f¶-|¡÷«ùû´|h߈Àéa°5.½Æ¾©Ì§”I‰¡UH½k!ˆ†"¥•Ž¥äPÌ‘ïjqþöúò)HD¤¤`qhñß9™œ‰rÿ%"Ciì…y:ð¿ßQd$§=žšÐ:%:±E5Ó a`«ïè¾ã8ëMWTOB©
+(ˆ¢·tã`!æˆ@2ÃÂ
+€Ü}>þW“c2˜kD£/0X¤À‡g0|íß?OáÀäÑ(|æ<…Ã8_Má²±¾UN_RO@ûw½yžcGËô‡ãØQ»$|±Õ03}›cÌ ¦%ñ[,óç)X<Å¢œ§Xæ@±£eú£PŒÀcE$Ìd0,ªýqü`,‡Qò‡K@&`~ÐÚð¹éÇ/vÆ×ÞvW(˜œ™ÖÏ´ª4 HPúp>`ËÑðƒ«Œ¿Ux± ø
endobj
-1347 0 obj <<
+1352 0 obj <<
/Type /Page
-/Contents 1348 0 R
-/Resources 1346 0 R
+/Contents 1353 0 R
+/Resources 1351 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1337 0 R
+/Parent 1344 0 R
>> endobj
-1349 0 obj <<
-/D [1347 0 R /XYZ 56.6929 794.5015 null]
+1354 0 obj <<
+/D [1352 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1346 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R >>
+126 0 obj <<
+/D [1352 0 R /XYZ 56.6929 741.6375 null]
+>> endobj
+1355 0 obj <<
+/D [1352 0 R /XYZ 56.6929 714.333 null]
+>> endobj
+1356 0 obj <<
+/D [1352 0 R /XYZ 56.6929 684.8157 null]
+>> endobj
+1357 0 obj <<
+/D [1352 0 R /XYZ 56.6929 672.8605 null]
+>> endobj
+1351 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1353 0 obj <<
+1361 0 obj <<
/Length 2407
/Filter /FlateDecode
>>
@@ -5024,29 +5043,29 @@ SDôçÃÃ@x´»'¡w˜+ "1f¼ù¤È,Üì£ù™0Ž–ïé3€>5áwâ„K¤`Á.ä›&‘¿——0*«í* {ÿvÖœ¦º
΄£Màõ¿|ŒÜHÖôA-08×I@t98ÔÌÁˆÏùMã혽B†·Ã³å `æp„²Þ"°q—o—^ÇãsÇM´^„ |UÀ1øXžÆÛŒØ<âr“ü–«üû¦GŒ—¼{÷Ö-m»ðhŽ|€Jä¹ùç_4’ÏŸï>~xEë·°•z…)AÃK,¹pÝ׶½ÿ¬&TdÍ9³à¤Õ‚w:|d…êäÛ£dZK&œÈªVŸ±*Œ£_KSÐ=5m8#<ÌÁ,–JÍ#D±”îI—€-`ñcóÝÓ|Ä—×Ç:—üK³›”Œ üs
ý1àÖº@TÿyÀp.ª…aGØ…~æII¨L>óznvFš¥Â¦ˆBE D¨3SÏ>º^÷µµ^endstream
endobj
-1352 0 obj <<
+1360 0 obj <<
/Type /Page
-/Contents 1353 0 R
-/Resources 1351 0 R
+/Contents 1361 0 R
+/Resources 1359 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1337 0 R
-/Annots [ 1357 0 R 1358 0 R 1366 0 R ]
+/Parent 1344 0 R
+/Annots [ 1365 0 R 1366 0 R 1374 0 R ]
>> endobj
-1350 0 obj <<
+1358 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (/usr/local/share/db2latex/xsl/figures/note.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 1367 0 R
+/PTEX.InfoDict 1375 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 27.00000000 27.00000000]
/Resources <<
/ProcSet [ /PDF ]
/ExtGState <<
-/R4 1368 0 R
+/R4 1376 0 R
>>>>
-/Length 1369 0 R
+/Length 1377 0 R
/Filter /FlateDecode
>>
stream
@@ -5059,12 +5078,12 @@ qª„Ñ«ò^ÿï>‹«>÷— .13×…Óƒ!¶3¢SËAÕ”ih¥Å¨Š^…(€<Îm䦽ªšÛÆlLÊâ³ò7Ù
n*Œ1½÷¨¾x¥Æˆpîâ‹&XîÃœ§³±è\íD¤ßä0}#XŒûž˜‹¸À>#^V°¡|2Îi‰9ÊÎr)`˜¢Xh¡Ò& „hb—H°Œe"Ãê
þrÓGçX5¾ûû8‡´ÕªOª«t–Ô³$Ây°‰—BÒ›ÀÄ5©/¨vp÷o`kA“ôr ±ñœÓ4N.4Žæ
endobj
-1367 0 obj
+1375 0 obj
<<
/Producer (AFPL Ghostscript 6.50)
>>
endobj
-1368 0 obj
+1376 0 obj
<<
/Type /ExtGState
/Name /R4
@@ -5074,57 +5093,57 @@ endobj
/SA true
>>
endobj
-1369 0 obj
+1377 0 obj
1049
endobj
-1357 0 obj <<
+1365 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [470.3398 467.2776 539.579 479.3373]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-1358 0 obj <<
+1366 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [316.7164 455.3224 385.3363 467.3821]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-1366 0 obj <<
+1374 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [304.6433 163.6578 373.3153 175.7175]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
-1354 0 obj <<
-/D [1352 0 R /XYZ 85.0394 794.5015 null]
+1362 0 obj <<
+/D [1360 0 R /XYZ 85.0394 794.5015 null]
>> endobj
130 0 obj <<
-/D [1352 0 R /XYZ 85.0394 769.5949 null]
+/D [1360 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1355 0 obj <<
-/D [1352 0 R /XYZ 85.0394 576.3463 null]
+1363 0 obj <<
+/D [1360 0 R /XYZ 85.0394 576.3463 null]
>> endobj
134 0 obj <<
-/D [1352 0 R /XYZ 85.0394 576.3463 null]
+/D [1360 0 R /XYZ 85.0394 576.3463 null]
>> endobj
-1356 0 obj <<
-/D [1352 0 R /XYZ 85.0394 533.5444 null]
+1364 0 obj <<
+/D [1360 0 R /XYZ 85.0394 533.5444 null]
>> endobj
138 0 obj <<
-/D [1352 0 R /XYZ 85.0394 299.6823 null]
+/D [1360 0 R /XYZ 85.0394 299.6823 null]
>> endobj
-1365 0 obj <<
-/D [1352 0 R /XYZ 85.0394 263.0631 null]
+1373 0 obj <<
+/D [1360 0 R /XYZ 85.0394 263.0631 null]
>> endobj
-1351 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F62 1361 0 R /F63 1364 0 R /F48 1238 0 R /F41 1218 0 R >>
-/XObject << /Im2 1350 0 R >>
+1359 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F62 1369 0 R /F63 1372 0 R /F48 1243 0 R /F41 1223 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1374 0 obj <<
+1382 0 obj <<
/Length 3579
/Filter /FlateDecode
>>
@@ -5142,54 +5161,54 @@ j=§’úq’IÇ¥kn5 . '·JíË4¶°AmÞò\y0SS•:5×R*ô5ãOÀ!O ´ .–d¬‡Ò, üÔïÖ ¡¢ ¥hÆc
´Úl8 <ëfXžŒ (Ñq–zxûȦÐOžüö^þ‡9žï Ä'“’G³¡ÄÝ?õ‘³ŽÞj¶š %&êÀ*½ñâ Wð]Gjä]$’cä„D"é€ FoŸH¬a™ú™®¼Àè™2i+ê‚ó1/=Ó’ Ü|ꊞW°Òâ“I¿| À)%í6N”+qì­xfß¹¥(wF$Œà ÃpbrÁÃÁÄ'¸M¾
Gg\ªà 8"À`xbílgC‹›d¬.â)h¨Ký©§¢cDߣɑb ÃЯ¿Tš*%„$¼Âî`ªˆ ™qÄgylþ;
endobj
-1373 0 obj <<
+1381 0 obj <<
/Type /Page
-/Contents 1374 0 R
-/Resources 1372 0 R
+/Contents 1382 0 R
+/Resources 1380 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1337 0 R
-/Annots [ 1378 0 R 1379 0 R ]
+/Parent 1344 0 R
+/Annots [ 1386 0 R 1387 0 R ]
>> endobj
-1378 0 obj <<
+1386 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [464.1993 393.2115 511.2325 405.2711]
/Subtype /Link
/A << /S /GoTo /D (proposed_standards) >>
>> endobj
-1379 0 obj <<
+1387 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [55.6967 382.2725 105.4 393.3159]
/Subtype /Link
/A << /S /GoTo /D (proposed_standards) >>
>> endobj
-1375 0 obj <<
-/D [1373 0 R /XYZ 56.6929 794.5015 null]
+1383 0 obj <<
+/D [1381 0 R /XYZ 56.6929 794.5015 null]
>> endobj
142 0 obj <<
-/D [1373 0 R /XYZ 56.6929 769.5949 null]
+/D [1381 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-1376 0 obj <<
-/D [1373 0 R /XYZ 56.6929 749.4437 null]
+1384 0 obj <<
+/D [1381 0 R /XYZ 56.6929 749.4437 null]
>> endobj
146 0 obj <<
-/D [1373 0 R /XYZ 56.6929 458.7525 null]
+/D [1381 0 R /XYZ 56.6929 458.7525 null]
>> endobj
-1377 0 obj <<
-/D [1373 0 R /XYZ 56.6929 425.4132 null]
+1385 0 obj <<
+/D [1381 0 R /XYZ 56.6929 425.4132 null]
>> endobj
150 0 obj <<
-/D [1373 0 R /XYZ 56.6929 270.5184 null]
+/D [1381 0 R /XYZ 56.6929 270.5184 null]
>> endobj
-1380 0 obj <<
-/D [1373 0 R /XYZ 56.6929 234.9696 null]
+1388 0 obj <<
+/D [1381 0 R /XYZ 56.6929 234.9696 null]
>> endobj
-1372 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F55 1321 0 R /F48 1238 0 R /F39 1161 0 R >>
+1380 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F55 1326 0 R /F48 1243 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1384 0 obj <<
+1392 0 obj <<
/Length 3172
/Filter /FlateDecode
>>
@@ -5206,35 +5225,35 @@ xÚå]sãÆíÝ¿Bo¡3'v¿¹LŸ®9§¹Lr¹äÜ6Ó$3¥%Þ™=™TDÚ:ç×Xì’KŠ’ìfúÔуö°
CEÕ0´2ÂE¥ϦD1ÑÎÊNSí¡ÉNÒv+3&û-¤thÊYÈ6ÙÈ[NÚã3õˆÔ©6Lž¯ñefõj.õÌ‚NgÆ5þ1 J“f"³g4AÐ`€:¯ÁST# NÉÎk0&û¿Ôà™~ ÏŒ}Fùü”# ÌÇ-Æ㊧Q÷œ"#¨Š PçyŠj¤È)ÙyEÆdŸ®Èw>B8*+µ<øIYÅPÇeÕC•ÕIªƒ¬ÈÎÊjDöjè)MjÇðÞox8Ž”£igc¡ÜKùдΘ1ãóë!G>*ÿcYÛ“B 7?¿1gtAÐQ€:¯£ST#MÉÎë(&ûÿZ¸Â¯¡Ä™êb¨ Pç5xŠj¤Á)Ùy ÆdÏß2Ð(}’t^‹Z¤áeOÒ¢yvTù/µ¸XJ ˜³<Ÿ\ö²ÿD!SÔïË”ÿNKEݘôµ4þ+®SVŸ…Îb¦ü—|n¸÷Kÿv¯Âp´.ÛÕ®º¡¯3€ÔMó€_A=’¼iº2 *º0
L…ÿ1NÌÑlyÙó¨G¯‰ÿ<©EFoc§wòæPdNŠ-Z|lîwçAQÙQ†Î_[–S“V «¤]púÒô1'mî>,hðcdÜ=ü2~àиñ¢ ÞÅ_ÁÉ”pã>3sp¿Ð9¦¸¢WÄÒ²Tkk¦oâð4©ßÇ‚?QÀqâw¬3|³þÕ?ü¹ìàØÔoÖŠy HfR+ò,0…g<tjýwµ‡¬ÿíp~endstream
endobj
-1383 0 obj <<
+1391 0 obj <<
/Type /Page
-/Contents 1384 0 R
-/Resources 1382 0 R
+/Contents 1392 0 R
+/Resources 1390 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1337 0 R
-/Annots [ 1387 0 R ]
+/Parent 1344 0 R
+/Annots [ 1395 0 R ]
>> endobj
-1387 0 obj <<
+1395 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [417.8476 110.3446 466.5943 122.4042]
/Subtype /Link
/A << /S /GoTo /D (sample_configuration) >>
>> endobj
-1385 0 obj <<
-/D [1383 0 R /XYZ 85.0394 794.5015 null]
+1393 0 obj <<
+/D [1391 0 R /XYZ 85.0394 794.5015 null]
>> endobj
154 0 obj <<
-/D [1383 0 R /XYZ 85.0394 769.5949 null]
+/D [1391 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1386 0 obj <<
-/D [1383 0 R /XYZ 85.0394 749.3028 null]
+1394 0 obj <<
+/D [1391 0 R /XYZ 85.0394 749.3028 null]
>> endobj
-1382 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F14 964 0 R >>
+1390 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R /F14 968 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1390 0 obj <<
+1398 0 obj <<
/Length 735
/Filter /FlateDecode
>>
@@ -5244,21 +5263,21 @@ xÚÅWMs›0½ó+˜œà Y€a|r§m¦“IcÚKšÅrÊ Gïɯ@ ܤNÓÉL‚–§ÝÕ{om›Hü`Óõ ÀtvÍ
Ư/t-lvWo{‡ Ý‚Zr*4ÐÂ'ºzªë"ÊÖ)“ÏQšæ7 äѪX2.c?‹V¹¢€‰%Ö‘ ÛºÑr%¶õÄÓÈYQò$.åêòŠñ»M_qÌ
-k²l úðÌ´“g.û‹F8‹¯x!>÷d[z!¼§Â@ëcýè4Í„Y” ÷B ]­:^#öŠ¤d²Û:Œól¯mGµ©s€ònÝ©¥¥v™¨†ö²Q¿ÈV9¹2ÏÔ$‰ <*“kÖ(–§We£@åÚ§meg@ûšÀ-Vy[ãm™ž­úÏZ-Š4RÜõ]u® /uy抺ԟLQŒú5´ã"=6ôeD·Òü_Æo¤ð¶Áï °Êù^7½M…É»ÍÒî³óêÑéÍÀKˆÅ» À¯d÷ÿ MÞMÝ5šº°ºûj.½¨cç+öÓÎRß'Íí™Ö홌}èø"ɦ©ªsì÷:Wwñ~ë¿ÈUendstream
endobj
-1389 0 obj <<
+1397 0 obj <<
/Type /Page
-/Contents 1390 0 R
-/Resources 1388 0 R
+/Contents 1398 0 R
+/Resources 1396 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1392 0 R
+/Parent 1400 0 R
>> endobj
-1391 0 obj <<
-/D [1389 0 R /XYZ 56.6929 794.5015 null]
+1399 0 obj <<
+/D [1397 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1388 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R >>
+1396 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1395 0 obj <<
+1403 0 obj <<
/Length 1364
/Filter /FlateDecode
>>
@@ -5270,27 +5289,27 @@ R/JýÄŠïÛ@‰2/ü@ƒrý¥—]#jŠø‹Ø­P}Õ6ÄØ´ª&?AFÉîNvDçmó1ý‚±|ò‰Iæ¸ï± ü@c";1cóª!
ÑKL æ—Ä£´ïéãÓ©
ñ¦lÌ.Ù´C]çÚ¦§‚7nœ¿\ê}Ÿ¤fß'Ùƒzä’£4>U¹„J9$iè‰}óÆ5 ÃÆž9ò'+eÆF z{ãq’W°»Š8ƒê&' €n¿ëÛu'vre‚íÙD¾-Dv¸ºüò“ôá &^¦¾ýµ°ØKý,B˜yvêùáíú­ëÿ¨6Eendstream
endobj
-1394 0 obj <<
+1402 0 obj <<
/Type /Page
-/Contents 1395 0 R
-/Resources 1393 0 R
+/Contents 1403 0 R
+/Resources 1401 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1392 0 R
+/Parent 1400 0 R
>> endobj
-1396 0 obj <<
-/D [1394 0 R /XYZ 85.0394 794.5015 null]
+1404 0 obj <<
+/D [1402 0 R /XYZ 85.0394 794.5015 null]
>> endobj
158 0 obj <<
-/D [1394 0 R /XYZ 85.0394 223.4026 null]
+/D [1402 0 R /XYZ 85.0394 223.4026 null]
>> endobj
-1397 0 obj <<
-/D [1394 0 R /XYZ 85.0394 185.2496 null]
+1405 0 obj <<
+/D [1402 0 R /XYZ 85.0394 185.2496 null]
>> endobj
-1393 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R >>
+1401 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1400 0 obj <<
+1408 0 obj <<
/Length 2265
/Filter /FlateDecode
>>
@@ -5302,51 +5321,51 @@ Nƽ“š2:Š`
€u¾}¤1¡
/ ‚3ÉÝýsÑÿdiÙendstream
endobj
-1399 0 obj <<
+1407 0 obj <<
/Type /Page
-/Contents 1400 0 R
-/Resources 1398 0 R
+/Contents 1408 0 R
+/Resources 1406 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1392 0 R
+/Parent 1400 0 R
>> endobj
-1401 0 obj <<
-/D [1399 0 R /XYZ 56.6929 794.5015 null]
+1409 0 obj <<
+/D [1407 0 R /XYZ 56.6929 794.5015 null]
>> endobj
162 0 obj <<
-/D [1399 0 R /XYZ 56.6929 726.8027 null]
+/D [1407 0 R /XYZ 56.6929 726.8027 null]
>> endobj
-1402 0 obj <<
-/D [1399 0 R /XYZ 56.6929 697.6944 null]
+1410 0 obj <<
+/D [1407 0 R /XYZ 56.6929 697.6944 null]
>> endobj
166 0 obj <<
-/D [1399 0 R /XYZ 56.6929 648.8841 null]
+/D [1407 0 R /XYZ 56.6929 648.8841 null]
>> endobj
-1403 0 obj <<
-/D [1399 0 R /XYZ 56.6929 624.769 null]
+1411 0 obj <<
+/D [1407 0 R /XYZ 56.6929 624.769 null]
>> endobj
170 0 obj <<
-/D [1399 0 R /XYZ 56.6929 472.4047 null]
+/D [1407 0 R /XYZ 56.6929 472.4047 null]
>> endobj
-1404 0 obj <<
-/D [1399 0 R /XYZ 56.6929 448.2896 null]
+1412 0 obj <<
+/D [1407 0 R /XYZ 56.6929 448.2896 null]
>> endobj
174 0 obj <<
-/D [1399 0 R /XYZ 56.6929 356.0575 null]
+/D [1407 0 R /XYZ 56.6929 356.0575 null]
>> endobj
-1405 0 obj <<
-/D [1399 0 R /XYZ 56.6929 324.2991 null]
+1413 0 obj <<
+/D [1407 0 R /XYZ 56.6929 324.2991 null]
>> endobj
178 0 obj <<
-/D [1399 0 R /XYZ 56.6929 275.4888 null]
+/D [1407 0 R /XYZ 56.6929 275.4888 null]
>> endobj
-1406 0 obj <<
-/D [1399 0 R /XYZ 56.6929 246.3805 null]
+1414 0 obj <<
+/D [1407 0 R /XYZ 56.6929 246.3805 null]
>> endobj
-1398 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F39 1161 0 R /F48 1238 0 R >>
+1406 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F39 1165 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1409 0 obj <<
+1417 0 obj <<
/Length 2935
/Filter /FlateDecode
>>
@@ -5367,53 +5386,53 @@ u?ðÉÉ“L†‡ÚÙÈ(ÃÃѾaÄG8|3ô{.ºc¢xzá¡^>A_¯¸Á»{Ê=˜oj$¼›
ò-?ÎCño _iòvËõT‚du¹|Hyž¿ª1¾ð¤ Ká$î´ô‘…»‚H½R”hcð|æB±­=„” Wào8¦Í9}‚Aìie:l5œÑJ"eò£Ðú™›g 1O•Ñ/žÝ©tôÎç'ù‘‘ÉŽŒLîo*ÔØ»ù¤eø{”Ljeñðflðe]åÉø
Ÿˆ_–œœž/Ëâ÷âñÌCysI/6ÝÑW‰}wüɶ¬6Uï?J„@>Žù콟㿇­ ™+Šü¥n÷ì UôÜ¿ ,$ÐÖN½G¨!Mÿ¿ÿypø«…K#›eÏ<lÀýŠ2“§ž)„Òèc·¿(œ²þ?G°±endstream
endobj
-1408 0 obj <<
+1416 0 obj <<
/Type /Page
-/Contents 1409 0 R
-/Resources 1407 0 R
+/Contents 1417 0 R
+/Resources 1415 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1392 0 R
-/Annots [ 1413 0 R ]
+/Parent 1400 0 R
+/Annots [ 1421 0 R ]
>> endobj
-1413 0 obj <<
+1421 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [101.3082 379.428 169.9802 391.3282]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
-1410 0 obj <<
-/D [1408 0 R /XYZ 85.0394 794.5015 null]
+1418 0 obj <<
+/D [1416 0 R /XYZ 85.0394 794.5015 null]
>> endobj
182 0 obj <<
-/D [1408 0 R /XYZ 85.0394 769.5949 null]
+/D [1416 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1411 0 obj <<
-/D [1408 0 R /XYZ 85.0394 749.2913 null]
+1419 0 obj <<
+/D [1416 0 R /XYZ 85.0394 749.2913 null]
>> endobj
186 0 obj <<
-/D [1408 0 R /XYZ 85.0394 546.785 null]
+/D [1416 0 R /XYZ 85.0394 546.785 null]
>> endobj
-1412 0 obj <<
-/D [1408 0 R /XYZ 85.0394 519.0032 null]
+1420 0 obj <<
+/D [1416 0 R /XYZ 85.0394 519.0032 null]
>> endobj
190 0 obj <<
-/D [1408 0 R /XYZ 85.0394 364.477 null]
+/D [1416 0 R /XYZ 85.0394 364.477 null]
>> endobj
-1414 0 obj <<
-/D [1408 0 R /XYZ 85.0394 339.5007 null]
+1422 0 obj <<
+/D [1416 0 R /XYZ 85.0394 339.5007 null]
>> endobj
194 0 obj <<
-/D [1408 0 R /XYZ 85.0394 175.6792 null]
+/D [1416 0 R /XYZ 85.0394 175.6792 null]
>> endobj
-1415 0 obj <<
-/D [1408 0 R /XYZ 85.0394 143.0963 null]
+1423 0 obj <<
+/D [1416 0 R /XYZ 85.0394 143.0963 null]
>> endobj
-1407 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F39 1161 0 R /F14 964 0 R >>
+1415 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F39 1165 0 R /F14 968 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1418 0 obj <<
+1426 0 obj <<
/Length 3227
/Filter /FlateDecode
>>
@@ -5432,39 +5451,39 @@ vDw’§Eá£ÐÕ&â,
/\øŽó8«úÁjÜ(,ÿñÃ=½•8 «þXÒЙv¦òsð \}6 óiÁ@È»Ÿ¾û¥ü%Èã;VÅ —A.T¥föµ4ó$N井¯™QqfÂWCd
<Å^Ÿ"ßX=³°ŸDáS¢“+(}€¦þº7ILç©ð¯¿`yZÐ÷+/a´~¨EJG:š3&<¯§væa´üP„ÁNr9M|zvÜÎî!}Ì3-%Üeàñ³3×>e~æfC‚™Šd¹Õt0øè?ü¶ÏŸ,|(þ̯;”Žñ'+¿Å!}þ¿ùqúÉKšÇʹþ£™›85° å>µÉg”ûŸˆ<'ý¿w€=endstream
endobj
-1417 0 obj <<
+1425 0 obj <<
/Type /Page
-/Contents 1418 0 R
-/Resources 1416 0 R
+/Contents 1426 0 R
+/Resources 1424 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1392 0 R
+/Parent 1400 0 R
>> endobj
-1419 0 obj <<
-/D [1417 0 R /XYZ 56.6929 794.5015 null]
+1427 0 obj <<
+/D [1425 0 R /XYZ 56.6929 794.5015 null]
>> endobj
198 0 obj <<
-/D [1417 0 R /XYZ 56.6929 678.9507 null]
+/D [1425 0 R /XYZ 56.6929 678.9507 null]
>> endobj
-1420 0 obj <<
-/D [1417 0 R /XYZ 56.6929 644.5195 null]
+1428 0 obj <<
+/D [1425 0 R /XYZ 56.6929 644.5195 null]
>> endobj
202 0 obj <<
-/D [1417 0 R /XYZ 56.6929 514.5361 null]
+/D [1425 0 R /XYZ 56.6929 514.5361 null]
>> endobj
-1421 0 obj <<
-/D [1417 0 R /XYZ 56.6929 481.3387 null]
+1429 0 obj <<
+/D [1425 0 R /XYZ 56.6929 481.3387 null]
>> endobj
206 0 obj <<
-/D [1417 0 R /XYZ 56.6929 279.5586 null]
+/D [1425 0 R /XYZ 56.6929 279.5586 null]
>> endobj
-1422 0 obj <<
-/D [1417 0 R /XYZ 56.6929 251.1623 null]
+1430 0 obj <<
+/D [1425 0 R /XYZ 56.6929 251.1623 null]
>> endobj
-1416 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F39 1161 0 R /F41 1218 0 R /F48 1238 0 R >>
+1424 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F39 1165 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1425 0 obj <<
+1433 0 obj <<
/Length 3255
/Filter /FlateDecode
>>
@@ -5481,33 +5500,33 @@ dlVÕïóU9†ãÂ3ê
¢èêuÏ$º¾Zrôô“‹‘ÛÚ–GÁbB„½žþ0séÄaeø¨(üTŽ=þ(W>€²Úí”hKæ½ý·VvU_º… /Ú21NÅÝP¶fèi²‘æŶ‹U O~šœXŠ0;탆þ[Œ˜É±•%…ŠŽÁ8zjÛtÿ¯=&JEÊ“¨ò…ÂFXŠiºH#M¬?Ú '›ÑÄ­-ºí7üdžض³ôÌvÆ;‚á{¨©<- >Ÿ⪩†*¯öÂ8¥ž<>{÷ñ‡è±û×ßTs½þúO×ß²ûîû§vírHû››õ7zUß.¿Êïïžû‘Žþ÷gæO?Ò· ÿï¿ÿUBÐYÎÿ{Hc54©#
™êSÊý‘ÎIÿݳÊZendstream
endobj
-1424 0 obj <<
+1432 0 obj <<
/Type /Page
-/Contents 1425 0 R
-/Resources 1423 0 R
+/Contents 1433 0 R
+/Resources 1431 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1392 0 R
+/Parent 1400 0 R
>> endobj
-1426 0 obj <<
-/D [1424 0 R /XYZ 85.0394 794.5015 null]
+1434 0 obj <<
+/D [1432 0 R /XYZ 85.0394 794.5015 null]
>> endobj
210 0 obj <<
-/D [1424 0 R /XYZ 85.0394 671.4386 null]
+/D [1432 0 R /XYZ 85.0394 671.4386 null]
>> endobj
-1427 0 obj <<
-/D [1424 0 R /XYZ 85.0394 641.1061 null]
+1435 0 obj <<
+/D [1432 0 R /XYZ 85.0394 641.1061 null]
>> endobj
214 0 obj <<
-/D [1424 0 R /XYZ 85.0394 444.8166 null]
+/D [1432 0 R /XYZ 85.0394 444.8166 null]
>> endobj
-1428 0 obj <<
-/D [1424 0 R /XYZ 85.0394 417.1342 null]
+1436 0 obj <<
+/D [1432 0 R /XYZ 85.0394 417.1342 null]
>> endobj
-1423 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F48 1238 0 R >>
+1431 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1431 0 obj <<
+1439 0 obj <<
/Length 1913
/Filter /FlateDecode
>>
@@ -5519,22 +5538,22 @@ xÚ­W[“ªH~ï_aÌËê:B](.qbPlñ.
8îcbE裋ё•G”
iÇ!€D.÷upsõÎ)1„§#.e¤#0l)ð;ÇÆ –uú•›_Cu T„b ¹3¥mj€“$œ3½¬ï®~Á}ƒmïPI‰¨C¥ŸžŠk¯šïNñèe §ÊEíC‘†FÌG§Ám>©!A*GëÛ¯X>ym²sûw›ªn¤À¿Y9ÕŸìþ1ßq*”óÙ$'YñCSRA¤|Ë+Úƒ1GÊí0ßß[ôFà@ùä¯Î]ÓGί_@ÄQtÊ·^à<<P…”£ õ_Œ~9Ž—$Jbé%~.«nùK$ž¦Õ÷çÒÏåüK¢òôò#Òk¢þøâäéý„€tw|æ9·ø"ñãÁy[¿Öõíû=ú›·;ÿ°Âû‚žL\"m>NTà=àts…ÿ
endobj
-1430 0 obj <<
+1438 0 obj <<
/Type /Page
-/Contents 1431 0 R
-/Resources 1429 0 R
+/Contents 1439 0 R
+/Resources 1437 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1433 0 R
+/Parent 1441 0 R
>> endobj
-1432 0 obj <<
-/D [1430 0 R /XYZ 56.6929 794.5015 null]
+1440 0 obj <<
+/D [1438 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1429 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F62 1361 0 R >>
-/XObject << /Im2 1350 0 R >>
+1437 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F62 1369 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1436 0 obj <<
+1444 0 obj <<
/Length 2465
/Filter /FlateDecode
>>
@@ -5552,40 +5571,40 @@ BB'TÅÄû÷‡ZÓ¬ñ@À–Û¢Ù0® ÔÊʃTcavlr ׳¶ØåhkÂFSœ|(ÊßµZ„wÒôŸòÛ©Ëߊ
cT‘öí/.v“;8¢[#‰'¤Ñum:ùÄ_4SÞ5ö¦É¸|~ààu“®˜;¹Þ­/½jª¾*˜Mǽ!-¢¡ÔÝ_¶4éÐÐD¶?u[Òág
&‚©~þïfirÜØ Y-ÜdÅ*òkHè´æSÙd2(þFq×t,ì„›ýƒHú¾&@¿O=€‚yð×…‰ŸÂÁŸý#Æx«
endobj
-1435 0 obj <<
+1443 0 obj <<
/Type /Page
-/Contents 1436 0 R
-/Resources 1434 0 R
+/Contents 1444 0 R
+/Resources 1442 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1433 0 R
+/Parent 1441 0 R
>> endobj
-1437 0 obj <<
-/D [1435 0 R /XYZ 85.0394 794.5015 null]
+1445 0 obj <<
+/D [1443 0 R /XYZ 85.0394 794.5015 null]
>> endobj
218 0 obj <<
-/D [1435 0 R /XYZ 85.0394 486.5796 null]
+/D [1443 0 R /XYZ 85.0394 486.5796 null]
>> endobj
-1441 0 obj <<
-/D [1435 0 R /XYZ 85.0394 454.3582 null]
+1449 0 obj <<
+/D [1443 0 R /XYZ 85.0394 454.3582 null]
>> endobj
222 0 obj <<
-/D [1435 0 R /XYZ 85.0394 412.0822 null]
+/D [1443 0 R /XYZ 85.0394 412.0822 null]
>> endobj
-1442 0 obj <<
-/D [1435 0 R /XYZ 85.0394 381.7503 null]
+1450 0 obj <<
+/D [1443 0 R /XYZ 85.0394 381.7503 null]
>> endobj
226 0 obj <<
-/D [1435 0 R /XYZ 85.0394 150.1125 null]
+/D [1443 0 R /XYZ 85.0394 150.1125 null]
>> endobj
-1443 0 obj <<
-/D [1435 0 R /XYZ 85.0394 122.4306 null]
+1451 0 obj <<
+/D [1443 0 R /XYZ 85.0394 122.4306 null]
>> endobj
-1434 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F62 1361 0 R /F65 1440 0 R /F21 938 0 R /F41 1218 0 R >>
-/XObject << /Im2 1350 0 R >>
+1442 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F62 1369 0 R /F65 1448 0 R /F21 942 0 R /F41 1223 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1446 0 obj <<
+1454 0 obj <<
/Length 3336
/Filter /FlateDecode
>>
@@ -5602,42 +5621,42 @@ $ˆDÑ2ˆ¨"THz\ØýK(;(§…Ál}8Z’aÃÖÓ¶Úpƒ–.€ÒXðÜ+CQ<€EÓéÔè¦ …xÓˆƒç6NRû1VÎÈŸ
ç3úd, ù«À¥'8¿=ìÇ÷cÅÕó
|*=„CÎcm "Ƚ›™û€™˜š¤Ý&íBjsÙ¾ó2Nð(Í |¥w÷q>À<åxl²2êsîH“„(³køº?eÛý–p¦4…§ôhŽÕWzàµãk!û+_Œ×ÚAØO.LG˜…‘ ÓÆÜ5yŽUZ媑ãI%ÿ(§Džb*Û€6{O`ã¦È øÝÊÝÕàÊÁ±9a|¡29è8K—µ…'¼ì襢úÙ±˜’uÒ· }Q—§wsák…v<²NÁ‚ ÎÓÄt‚D˧¥c¿ Ð’1ͽˆ²í¥ÙhÅÜ»1íªLM«‡Ê~ã!`„TíE㹨¡#uãÈù¸
endobj
-1445 0 obj <<
+1453 0 obj <<
/Type /Page
-/Contents 1446 0 R
-/Resources 1444 0 R
+/Contents 1454 0 R
+/Resources 1452 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1433 0 R
-/Annots [ 1452 0 R 1453 0 R ]
+/Parent 1441 0 R
+/Annots [ 1457 0 R 1458 0 R ]
>> endobj
-1452 0 obj <<
+1457 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [411.5778 302.2913 489.9929 314.351]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-keygen) >>
>> endobj
-1453 0 obj <<
+1458 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [55.6967 291.0037 134.1116 302.3958]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-settime) >>
>> endobj
-1447 0 obj <<
-/D [1445 0 R /XYZ 56.6929 794.5015 null]
+1455 0 obj <<
+/D [1453 0 R /XYZ 56.6929 794.5015 null]
>> endobj
230 0 obj <<
-/D [1445 0 R /XYZ 56.6929 436.3593 null]
+/D [1453 0 R /XYZ 56.6929 436.3593 null]
>> endobj
-1448 0 obj <<
-/D [1445 0 R /XYZ 56.6929 405.7905 null]
+1456 0 obj <<
+/D [1453 0 R /XYZ 56.6929 405.7905 null]
>> endobj
-1444 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R /F11 1451 0 R >>
+1452 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R /F11 1343 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1458 0 obj <<
+1463 0 obj <<
/Length 2453
/Filter /FlateDecode
>>
@@ -5652,45 +5671,45 @@ JzÊ$ðžê³‹Ÿ†#iË×dpʽ.)_Ä‘b•}°F‹ü4ŽŸ(Iúøó„pÐ=I¥f,Œ¥a¾måínfî;q©©Ĕ綇
û½·##Ö9LÛ„Ô—ÖS5ù~,ˆ>"†âÔ”ÂMß+‡ª{B’[jœäeŒñ~‰’Š‹w_òÌr #d²bûDôµÒÐCDk:õêLž}Íé]¦£¦ª÷8 ^1]qô>òâ±WéxÛ#—b“ѸAD
ªvpùŽ2þû‰
endobj
-1457 0 obj <<
+1462 0 obj <<
/Type /Page
-/Contents 1458 0 R
-/Resources 1456 0 R
+/Contents 1463 0 R
+/Resources 1461 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1433 0 R
+/Parent 1441 0 R
>> endobj
-1459 0 obj <<
-/D [1457 0 R /XYZ 85.0394 794.5015 null]
+1464 0 obj <<
+/D [1462 0 R /XYZ 85.0394 794.5015 null]
>> endobj
234 0 obj <<
-/D [1457 0 R /XYZ 85.0394 769.5949 null]
+/D [1462 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1460 0 obj <<
-/D [1457 0 R /XYZ 85.0394 749.2278 null]
+1465 0 obj <<
+/D [1462 0 R /XYZ 85.0394 749.2278 null]
>> endobj
238 0 obj <<
-/D [1457 0 R /XYZ 85.0394 398.6362 null]
+/D [1462 0 R /XYZ 85.0394 398.6362 null]
>> endobj
-1461 0 obj <<
-/D [1457 0 R /XYZ 85.0394 370.8109 null]
+1466 0 obj <<
+/D [1462 0 R /XYZ 85.0394 370.8109 null]
>> endobj
242 0 obj <<
-/D [1457 0 R /XYZ 85.0394 321.6035 null]
+/D [1462 0 R /XYZ 85.0394 321.6035 null]
>> endobj
-1462 0 obj <<
-/D [1457 0 R /XYZ 85.0394 293.6228 null]
+1467 0 obj <<
+/D [1462 0 R /XYZ 85.0394 293.6228 null]
>> endobj
246 0 obj <<
-/D [1457 0 R /XYZ 85.0394 120.47 null]
+/D [1462 0 R /XYZ 85.0394 120.47 null]
>> endobj
-1463 0 obj <<
-/D [1457 0 R /XYZ 85.0394 92.4893 null]
+1468 0 obj <<
+/D [1462 0 R /XYZ 85.0394 92.4893 null]
>> endobj
-1456 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1461 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1466 0 obj <<
+1471 0 obj <<
/Length 2247
/Filter /FlateDecode
>>
@@ -5706,57 +5725,57 @@ BŸM >pxJPÄS<±)í—GÒ¼02;éÁlˆ{:fimÓ?гS’µÓønš€¦!Þf—–£‚×<|È‹Üλ -L–a–iÅ™£
눔$À‚’`Q—‹o$„R±#‡òXóvÙfSsøÎë¦Ãêñ㎞X úNÏ9¯Fæ‚uú^ƒ7ªB FõÌ*ŽI¸fs;¢ îìQÄ (-4Ôj(ä^ß©ïí­ñxapoèì‹]Íï¡OcOQâô#PäXÒu
¶áãÍúã§õHz]Àp2D«ö…ïKw<, ¿@hñ#UJ§äØ 9n E)»…ý¼ËcH,4}¾Ù\Œœ,i¯7Ýœ'@ñõƒ;©Æò2z±åg¼X£—ì3xʶmÑ#^KB‘¨¸[êÇ|uKiç³ÖS¨Ù¾¦àÃóêŽ`ðEóY¦ã+±cÂÅ7Ö#‡-`ÒVg€;Ñi}B'h-E¤UØOåƒùJgÙs†öÔËÎPR‹H*ý=wø°?:od%½J*V?9ˆ¸v_à÷H÷ö2°I’M$ƒUYö¥Ú¦ÈÌ“ÉNéžøíU–â#݇Aß—¸©)~ØÖT°ó™©²½%$‰} ¨ˆ‹QÄï}+EÛÊÙ=[ÊVgn àV]%ËÚÕHÙ[ Šº´€®ñéÇÐñÒÿ:øçÄÈ¿²)=û?ö¿#Ž;qìÿ½áE±ðcPÂF¡ý^<°ÜýY24ý–æÆendstream
endobj
-1465 0 obj <<
+1470 0 obj <<
/Type /Page
-/Contents 1466 0 R
-/Resources 1464 0 R
+/Contents 1471 0 R
+/Resources 1469 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1433 0 R
+/Parent 1441 0 R
>> endobj
-1467 0 obj <<
-/D [1465 0 R /XYZ 56.6929 794.5015 null]
+1472 0 obj <<
+/D [1470 0 R /XYZ 56.6929 794.5015 null]
>> endobj
250 0 obj <<
-/D [1465 0 R /XYZ 56.6929 687.5192 null]
+/D [1470 0 R /XYZ 56.6929 687.5192 null]
>> endobj
-1468 0 obj <<
-/D [1465 0 R /XYZ 56.6929 659.2346 null]
+1473 0 obj <<
+/D [1470 0 R /XYZ 56.6929 659.2346 null]
>> endobj
254 0 obj <<
-/D [1465 0 R /XYZ 56.6929 590.6286 null]
+/D [1470 0 R /XYZ 56.6929 590.6286 null]
>> endobj
-1469 0 obj <<
-/D [1465 0 R /XYZ 56.6929 559.3791 null]
+1474 0 obj <<
+/D [1470 0 R /XYZ 56.6929 559.3791 null]
>> endobj
258 0 obj <<
-/D [1465 0 R /XYZ 56.6929 493.738 null]
+/D [1470 0 R /XYZ 56.6929 493.738 null]
>> endobj
-1470 0 obj <<
-/D [1465 0 R /XYZ 56.6929 462.4885 null]
+1475 0 obj <<
+/D [1470 0 R /XYZ 56.6929 462.4885 null]
>> endobj
262 0 obj <<
-/D [1465 0 R /XYZ 56.6929 408.8026 null]
+/D [1470 0 R /XYZ 56.6929 408.8026 null]
>> endobj
-1471 0 obj <<
-/D [1465 0 R /XYZ 56.6929 377.553 null]
+1476 0 obj <<
+/D [1470 0 R /XYZ 56.6929 377.553 null]
>> endobj
266 0 obj <<
-/D [1465 0 R /XYZ 56.6929 258.7201 null]
+/D [1470 0 R /XYZ 56.6929 258.7201 null]
>> endobj
-1472 0 obj <<
-/D [1465 0 R /XYZ 56.6929 227.4706 null]
+1477 0 obj <<
+/D [1470 0 R /XYZ 56.6929 227.4706 null]
>> endobj
270 0 obj <<
-/D [1465 0 R /XYZ 56.6929 161.8295 null]
+/D [1470 0 R /XYZ 56.6929 161.8295 null]
>> endobj
-1473 0 obj <<
-/D [1465 0 R /XYZ 56.6929 133.5449 null]
+1478 0 obj <<
+/D [1470 0 R /XYZ 56.6929 133.5449 null]
>> endobj
-1464 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F48 1238 0 R /F41 1218 0 R >>
+1469 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F48 1243 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1476 0 obj <<
+1481 0 obj <<
/Length 3154
/Filter /FlateDecode
>>
@@ -5781,47 +5800,47 @@ Zµ¼‚Ì^õØ Mè?ºŽç+ £c×nÓj'£¢7^A8aQƒ PÞd
üB¢‡9#PÊa3@m RæÏÝJæIÜ™• åû}™(q¶È(ïFB
†O¨´.9·¡Lzâg'ðnºh$õ©P%,£•u™-¡A_6á¸{èENÏL¼8+û’ˆÒÍ¿oN¥PýR_/6"?‡='Šë’å²òp5q¸avèrÃþÁc
endobj
-1475 0 obj <<
+1480 0 obj <<
/Type /Page
-/Contents 1476 0 R
-/Resources 1474 0 R
+/Contents 1481 0 R
+/Resources 1479 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1433 0 R
-/Annots [ 1480 0 R ]
+/Parent 1441 0 R
+/Annots [ 1485 0 R ]
>> endobj
-1480 0 obj <<
+1485 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [408.1244 623.7385 469.3244 635.7981]
/Subtype /Link
/A << /S /GoTo /D (managed-keys) >>
>> endobj
-1477 0 obj <<
-/D [1475 0 R /XYZ 85.0394 794.5015 null]
+1482 0 obj <<
+/D [1480 0 R /XYZ 85.0394 794.5015 null]
>> endobj
274 0 obj <<
-/D [1475 0 R /XYZ 85.0394 769.5949 null]
+/D [1480 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1478 0 obj <<
-/D [1475 0 R /XYZ 85.0394 744.1913 null]
+1483 0 obj <<
+/D [1480 0 R /XYZ 85.0394 744.1913 null]
>> endobj
278 0 obj <<
-/D [1475 0 R /XYZ 85.0394 684.3648 null]
+/D [1480 0 R /XYZ 85.0394 684.3648 null]
>> endobj
-1479 0 obj <<
-/D [1475 0 R /XYZ 85.0394 655.3895 null]
+1484 0 obj <<
+/D [1480 0 R /XYZ 85.0394 655.3895 null]
>> endobj
282 0 obj <<
-/D [1475 0 R /XYZ 85.0394 606.8822 null]
+/D [1480 0 R /XYZ 85.0394 606.8822 null]
>> endobj
-1481 0 obj <<
-/D [1475 0 R /XYZ 85.0394 580.8718 null]
+1486 0 obj <<
+/D [1480 0 R /XYZ 85.0394 580.8718 null]
>> endobj
-1474 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1479 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1485 0 obj <<
+1490 0 obj <<
/Length 2889
/Filter /FlateDecode
>>
@@ -5835,34 +5854,34 @@ xÚ¥]oÛ8ò=¿ÂÀPˆQÔgï)›f¯Ùîµ¹:½Ãa»´Lۺʒ+ÉqÝ_3œ¡$;Jv"@4‡œá|ÒbâÁŸ˜„‘¥~:‰ÓÀ
Ä.§¦PÂ,jŒ¥Z¾åè3±²ÕTz˜YCò{ ¤™CŽ!]â‹{]MEèðƒ‹y ¥‰ýn©LE‹HÓãÞ¼µÀrÖNó§¢J“øi¦÷.\[ó&µ}(4rbQInæ$”æˆN9…^o¿]`¾@‚œñ­]adFÇGÑæÅç5¢û(+›á 4ë$1̘ø3”<PŸ'îDøKLšLñc.†Î¦P—Ïú_Œ~,
i×"]ò#RKX²C$\ð¶`=ÒД,8[ªÏY'{¶ÔÃ¥ÖXGü!çzbW(ûпؔœ’nOKîm
endobj
-1484 0 obj <<
+1489 0 obj <<
/Type /Page
-/Contents 1485 0 R
-/Resources 1483 0 R
+/Contents 1490 0 R
+/Resources 1488 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1489 0 R
+/Parent 1494 0 R
>> endobj
-1486 0 obj <<
-/D [1484 0 R /XYZ 56.6929 794.5015 null]
+1491 0 obj <<
+/D [1489 0 R /XYZ 56.6929 794.5015 null]
>> endobj
286 0 obj <<
-/D [1484 0 R /XYZ 56.6929 769.5949 null]
+/D [1489 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-1487 0 obj <<
-/D [1484 0 R /XYZ 56.6929 744.5025 null]
+1492 0 obj <<
+/D [1489 0 R /XYZ 56.6929 744.5025 null]
>> endobj
290 0 obj <<
-/D [1484 0 R /XYZ 56.6929 659.1833 null]
+/D [1489 0 R /XYZ 56.6929 659.1833 null]
>> endobj
-1488 0 obj <<
-/D [1484 0 R /XYZ 56.6929 628.6281 null]
+1493 0 obj <<
+/D [1489 0 R /XYZ 56.6929 628.6281 null]
>> endobj
-1483 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F14 964 0 R /F62 1361 0 R /F41 1218 0 R >>
-/XObject << /Im2 1350 0 R >>
+1488 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F14 968 0 R /F62 1369 0 R /F41 1223 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1492 0 obj <<
+1497 0 obj <<
/Length 2097
/Filter /FlateDecode
>>
@@ -5879,34 +5898,34 @@ Hqh0 ;Ïx(ìö?ËfÆA Ñ
ÚÝL3Am£X¨»› í²±ËÚÌ Ù£o/Â4}åVKkbYá
Ø?Z¾ëAÁ=P3GkÛn3<@i_‹µ«‹¬iUçßÌz1«l¦‡ñ¨4t‡0ìöšUæ®83×ânƒþFØé›Ñºv]ß‹º¾jP’²þ-hØYcÀ¼<%Ñël<ÿÏedýán‘ß\ÉÆ>½ :1öµ”v߸¾ùÛìá«‚Œ!Ç%|<u‘„§±Û”6J<ûŽÒ}Ä}¾õÿã}Ó{endstream
endobj
-1491 0 obj <<
+1496 0 obj <<
/Type /Page
-/Contents 1492 0 R
-/Resources 1490 0 R
+/Contents 1497 0 R
+/Resources 1495 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1489 0 R
+/Parent 1494 0 R
>> endobj
-1493 0 obj <<
-/D [1491 0 R /XYZ 85.0394 794.5015 null]
+1498 0 obj <<
+/D [1496 0 R /XYZ 85.0394 794.5015 null]
>> endobj
294 0 obj <<
-/D [1491 0 R /XYZ 85.0394 491.3865 null]
+/D [1496 0 R /XYZ 85.0394 491.3865 null]
>> endobj
-1494 0 obj <<
-/D [1491 0 R /XYZ 85.0394 466.1094 null]
+1499 0 obj <<
+/D [1496 0 R /XYZ 85.0394 466.1094 null]
>> endobj
298 0 obj <<
-/D [1491 0 R /XYZ 85.0394 166.668 null]
+/D [1496 0 R /XYZ 85.0394 166.668 null]
>> endobj
-1495 0 obj <<
-/D [1491 0 R /XYZ 85.0394 141.3909 null]
+1500 0 obj <<
+/D [1496 0 R /XYZ 85.0394 141.3909 null]
>> endobj
-1490 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F62 1361 0 R /F21 938 0 R >>
-/XObject << /Im2 1350 0 R >>
+1495 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F62 1369 0 R /F21 942 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1498 0 obj <<
+1503 0 obj <<
/Length 2160
/Filter /FlateDecode
>>
@@ -5928,27 +5947,27 @@ màHÙ@æ:ò¤Ûw¸”Ũi
Wò+ÍÝkóתÿ
ú*sendstream
endobj
-1497 0 obj <<
+1502 0 obj <<
/Type /Page
-/Contents 1498 0 R
-/Resources 1496 0 R
+/Contents 1503 0 R
+/Resources 1501 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1489 0 R
+/Parent 1494 0 R
>> endobj
-1499 0 obj <<
-/D [1497 0 R /XYZ 56.6929 794.5015 null]
+1504 0 obj <<
+/D [1502 0 R /XYZ 56.6929 794.5015 null]
>> endobj
302 0 obj <<
-/D [1497 0 R /XYZ 56.6929 655.8524 null]
+/D [1502 0 R /XYZ 56.6929 655.8524 null]
>> endobj
-1500 0 obj <<
-/D [1497 0 R /XYZ 56.6929 630.3608 null]
+1505 0 obj <<
+/D [1502 0 R /XYZ 56.6929 630.3608 null]
>> endobj
-1496 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R >>
+1501 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1503 0 obj <<
+1508 0 obj <<
/Length 1877
/Filter /FlateDecode
>>
@@ -5968,51 +5987,51 @@ bqÙÅÿ`Ï\mÓ}Q¿ˆóÙuÀ,ö·ÃžÿKàµq÷)Ýg›×i¹Š‚Ï‹¿˜{±àƒ!ô_†
!M£v…´*4ïUÓäV„2Üò¦'s~{µ09Õ½ ‡Ü÷âˆÃýSßIÿsî¾'“$¾ »-G·Ë’®¹g[À!)O’õ£ÁíÍíD
6ð?VUÅ„Ô(&<¶‡U^1%bYTE™n‰¦7©xgFB£E™®‚;RÚ䆨q¨°¯ˆDRÌÍ¥Ÿ £Ûfšûï!JžÛI/‘ør¡g“|éÀÜV„¬N•?ÑÞÈÄâÛ@ØP-¦‚‘”ººÄðG*YDmÅ
endobj
-1502 0 obj <<
+1507 0 obj <<
/Type /Page
-/Contents 1503 0 R
-/Resources 1501 0 R
+/Contents 1508 0 R
+/Resources 1506 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1489 0 R
+/Parent 1494 0 R
>> endobj
-1504 0 obj <<
-/D [1502 0 R /XYZ 85.0394 794.5015 null]
+1509 0 obj <<
+/D [1507 0 R /XYZ 85.0394 794.5015 null]
>> endobj
306 0 obj <<
-/D [1502 0 R /XYZ 85.0394 769.5949 null]
+/D [1507 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1505 0 obj <<
-/D [1502 0 R /XYZ 85.0394 749.1709 null]
+1510 0 obj <<
+/D [1507 0 R /XYZ 85.0394 749.1709 null]
>> endobj
310 0 obj <<
-/D [1502 0 R /XYZ 85.0394 714.4776 null]
+/D [1507 0 R /XYZ 85.0394 714.4776 null]
>> endobj
-1506 0 obj <<
-/D [1502 0 R /XYZ 85.0394 688.8412 null]
+1511 0 obj <<
+/D [1507 0 R /XYZ 85.0394 688.8412 null]
>> endobj
314 0 obj <<
-/D [1502 0 R /XYZ 85.0394 535.7123 null]
+/D [1507 0 R /XYZ 85.0394 535.7123 null]
>> endobj
-1507 0 obj <<
-/D [1502 0 R /XYZ 85.0394 507.2665 null]
+1512 0 obj <<
+/D [1507 0 R /XYZ 85.0394 507.2665 null]
>> endobj
318 0 obj <<
-/D [1502 0 R /XYZ 85.0394 332.8138 null]
+/D [1507 0 R /XYZ 85.0394 332.8138 null]
>> endobj
-1508 0 obj <<
-/D [1502 0 R /XYZ 85.0394 307.1774 null]
+1513 0 obj <<
+/D [1507 0 R /XYZ 85.0394 307.1774 null]
>> endobj
322 0 obj <<
-/D [1502 0 R /XYZ 85.0394 163.8619 null]
+/D [1507 0 R /XYZ 85.0394 163.8619 null]
>> endobj
-1509 0 obj <<
-/D [1502 0 R /XYZ 85.0394 138.0002 null]
+1514 0 obj <<
+/D [1507 0 R /XYZ 85.0394 138.0002 null]
>> endobj
-1501 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1506 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1512 0 obj <<
+1517 0 obj <<
/Length 2117
/Filter /FlateDecode
>>
@@ -6024,27 +6043,27 @@ xÚ­XmoÛHþž_aàXùP)šÑ{€ý6î5›^ëMÜ]m±­q¬‹,ù,Ù©{¸ÿ~ä#˶úìÁÄáÌpHùc1pá'A脉L
î‘rÑsBᇈDý çROÝÓ„F]¬ ÔTK¢ËÍrª˜êh¨®J¬¹ÏöeéÔ j­ÉeºTY%žë$‰ò*‡,à® ŽBÌo'ŽL½&ÒÂ8wMyƒ0/«GæÞ¦ ¯ ZIYBðfMTΛ)m\í
¿Ï¯ß\•L=Hí`z¸Xb™ QÞ…m]k ºu[Ös×›&/òNúVVé2)=m,vCžÐyŽ“œç0iòÜç<‡I~ó¥Ë6,bÏÑNæiôD¥8§YJ+Óúh+ìÐU£ÚŠÀ ë1 e©ÏZ´SªæI
endobj
-1511 0 obj <<
+1516 0 obj <<
/Type /Page
-/Contents 1512 0 R
-/Resources 1510 0 R
+/Contents 1517 0 R
+/Resources 1515 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1489 0 R
+/Parent 1494 0 R
>> endobj
-1513 0 obj <<
-/D [1511 0 R /XYZ 56.6929 794.5015 null]
+1518 0 obj <<
+/D [1516 0 R /XYZ 56.6929 794.5015 null]
>> endobj
326 0 obj <<
-/D [1511 0 R /XYZ 56.6929 725.1329 null]
+/D [1516 0 R /XYZ 56.6929 725.1329 null]
>> endobj
-1514 0 obj <<
-/D [1511 0 R /XYZ 56.6929 694.9784 null]
+1519 0 obj <<
+/D [1516 0 R /XYZ 56.6929 694.9784 null]
>> endobj
-1510 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1515 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1518 0 obj <<
+1523 0 obj <<
/Length 2294
/Filter /FlateDecode
>>
@@ -6058,33 +6077,33 @@ J#ó¢V7ôù~C¢yQÑTäT˜ÅÓmÃä\TìO6ƒ(
ÂqgUÑRú-IFÎá©!65Dò¤6_ögQžÔjÚ¢ ”ÑËöÊ”‘§SÖ²LQɪÆ^½Ú4GŠ5`å
Òë?IQ¡8aX¯Šîí’ðéÙ¨ªÏ^Úbõ¥aë!¦ë°4X¹ëžNÆÓ¥gá øÈÓ·Ýaÿû¡ýô ¸"2 ñ,$m.P´F¡›¥wny÷"iú
endobj
-1517 0 obj <<
+1522 0 obj <<
/Type /Page
-/Contents 1518 0 R
-/Resources 1516 0 R
+/Contents 1523 0 R
+/Resources 1521 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1489 0 R
+/Parent 1494 0 R
>> endobj
-1519 0 obj <<
-/D [1517 0 R /XYZ 85.0394 794.5015 null]
+1524 0 obj <<
+/D [1522 0 R /XYZ 85.0394 794.5015 null]
>> endobj
330 0 obj <<
-/D [1517 0 R /XYZ 85.0394 519.9229 null]
+/D [1522 0 R /XYZ 85.0394 519.9229 null]
>> endobj
-1520 0 obj <<
-/D [1517 0 R /XYZ 85.0394 488.8874 null]
+1525 0 obj <<
+/D [1522 0 R /XYZ 85.0394 488.8874 null]
>> endobj
334 0 obj <<
-/D [1517 0 R /XYZ 85.0394 326.6298 null]
+/D [1522 0 R /XYZ 85.0394 326.6298 null]
>> endobj
-1521 0 obj <<
-/D [1517 0 R /XYZ 85.0394 298.4037 null]
+1526 0 obj <<
+/D [1522 0 R /XYZ 85.0394 298.4037 null]
>> endobj
-1516 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R /F11 1451 0 R >>
+1521 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R /F11 1343 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1524 0 obj <<
+1529 0 obj <<
/Length 2424
/Filter /FlateDecode
>>
@@ -6100,15 +6119,15 @@ lÝì페A ²îŒèyÏÉ‘ç0ÀW+»õyæ€y³ƒíÖn;èÑÈ<å;:ôÏMŸN“ð<Jx” XxPn™~ÚÒÔ(UŒœìÊPœ!
­€EâØ¡îÕíµ§ðá„Ãkˆa =ÃqvöNm÷xá€øŸƒ™
…ÈñÝÿÄ8|pÔ1SXRÍ–:ðÄRGõJ¹†y¦¹
endobj
-1523 0 obj <<
+1528 0 obj <<
/Type /Page
-/Contents 1524 0 R
-/Resources 1522 0 R
+/Contents 1529 0 R
+/Resources 1527 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1530 0 R
-/Annots [ 1527 0 R ]
+/Parent 1535 0 R
+/Annots [ 1532 0 R ]
>> endobj
-1515 0 obj <<
+1520 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
@@ -6128,40 +6147,40 @@ xÚm”In1 EOPw¨u€$ÅIg0²Êľÿ6¤¤êV5 oʯÅésÀóή¯ƒÖ×O²Î Ž¢‘ÿ¨#h8Çùø:„5?ù
6\>RgÈbÏWÖ¹j[†›
WŒÏ¢®{6;»²þFÃÇñ÷ø]š¨)Õ/Ô¬Mu;pk;Ì©Ëdh<åE–ñ¬AÏw³ð¬±±Nê¦ó¡Ä½t•‹ùD„™Â²]°Ä(‡;„ ·åŽ°Š­r²ÂÙÄLûˆ T¥Í¡誋ŠŽt’¹w_ =Î]ˆ‹=¦uSä÷—ä"ï±yl±‡µÃ-ËkHsŠöreOÚ³êvg›<7ºt,‡Ýe—;ãÒèЭ/I…B÷&ê(ýê³ö󻉨YÙ¹Ç,çkRÔšÚ'^ m" ^˜h±ÎW9AVªy­Â©/fýÆ"•œãûFy-Sng \Çdª¼˜©Æ¥†Í}B©•µŒÎ$âw1.¶&Øíþ²C¶O–ÃVç X×9g¹E{îÇ< •ãóP)!ÍZÜÅŸLÞª~ÑÔ'¯UâXLµüc“ÅXsЖõÚ¯½˜Ó’~òBL–§èªÆ¹O¦ºNZ_[Èü.øšŠû*]3QôçÇñ!Ö-žendstream
endobj
-1527 0 obj <<
+1532 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [349.4919 431.1147 408.4801 441.8991]
/Subtype /Link
/A << /S /GoTo /D (ipv6addresses) >>
>> endobj
-1525 0 obj <<
-/D [1523 0 R /XYZ 56.6929 794.5015 null]
+1530 0 obj <<
+/D [1528 0 R /XYZ 56.6929 794.5015 null]
>> endobj
338 0 obj <<
-/D [1523 0 R /XYZ 56.6929 640.7425 null]
+/D [1528 0 R /XYZ 56.6929 640.7425 null]
>> endobj
-1526 0 obj <<
-/D [1523 0 R /XYZ 56.6929 609.2714 null]
+1531 0 obj <<
+/D [1528 0 R /XYZ 56.6929 609.2714 null]
>> endobj
342 0 obj <<
-/D [1523 0 R /XYZ 56.6929 416.9256 null]
+/D [1528 0 R /XYZ 56.6929 416.9256 null]
>> endobj
-1528 0 obj <<
-/D [1523 0 R /XYZ 56.6929 388.3459 null]
+1533 0 obj <<
+/D [1528 0 R /XYZ 56.6929 388.3459 null]
>> endobj
346 0 obj <<
-/D [1523 0 R /XYZ 56.6929 261.2322 null]
+/D [1528 0 R /XYZ 56.6929 261.2322 null]
>> endobj
-1529 0 obj <<
-/D [1523 0 R /XYZ 56.6929 232.6525 null]
+1534 0 obj <<
+/D [1528 0 R /XYZ 56.6929 232.6525 null]
>> endobj
-1522 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F62 1361 0 R /F21 938 0 R /F39 1161 0 R /F41 1218 0 R >>
-/XObject << /Im3 1515 0 R >>
+1527 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F62 1369 0 R /F21 942 0 R /F39 1165 0 R /F41 1223 0 R >>
+/XObject << /Im3 1520 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1534 0 obj <<
+1539 0 obj <<
/Length 1913
/Filter /FlateDecode
>>
@@ -6173,59 +6192,59 @@ xÚXQÛ8~ï¯È£h\K²-û±½Ù[tqW,º³O×{Ple"Ô¶²‘=¹ù÷GŠ’gœn ¦)Š¢Hê#e¶ÉàÇ6U‘f¢Î7²ÎÓ"cÅ
¯“Ä `ÄЖœè•
Hg‘…žEÎJŸ°ÕËûkŽ½.{²úöúâ-Tšz§mØÀ"'©3V‡+úJZ•ø?Õ“²Û¦t¾¦¿  ,çóýÃì(êTÊ¢ºîUÞýò4KŒ_E‘â÷Ƶ¯Qd{‘¡O‹“‘ä
endobj
-1533 0 obj <<
+1538 0 obj <<
/Type /Page
-/Contents 1534 0 R
-/Resources 1532 0 R
+/Contents 1539 0 R
+/Resources 1537 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1530 0 R
+/Parent 1535 0 R
>> endobj
-1535 0 obj <<
-/D [1533 0 R /XYZ 85.0394 794.5015 null]
+1540 0 obj <<
+/D [1538 0 R /XYZ 85.0394 794.5015 null]
>> endobj
350 0 obj <<
-/D [1533 0 R /XYZ 85.0394 769.5949 null]
+/D [1538 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1536 0 obj <<
-/D [1533 0 R /XYZ 85.0394 576.7004 null]
+1541 0 obj <<
+/D [1538 0 R /XYZ 85.0394 576.7004 null]
>> endobj
354 0 obj <<
-/D [1533 0 R /XYZ 85.0394 576.7004 null]
+/D [1538 0 R /XYZ 85.0394 576.7004 null]
>> endobj
-1537 0 obj <<
-/D [1533 0 R /XYZ 85.0394 544.8207 null]
+1542 0 obj <<
+/D [1538 0 R /XYZ 85.0394 544.8207 null]
>> endobj
358 0 obj <<
-/D [1533 0 R /XYZ 85.0394 403.9445 null]
+/D [1538 0 R /XYZ 85.0394 403.9445 null]
>> endobj
-1538 0 obj <<
-/D [1533 0 R /XYZ 85.0394 368.2811 null]
+1543 0 obj <<
+/D [1538 0 R /XYZ 85.0394 368.2811 null]
>> endobj
-1532 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1537 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1541 0 obj <<
+1546 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-1540 0 obj <<
+1545 0 obj <<
/Type /Page
-/Contents 1541 0 R
-/Resources 1539 0 R
+/Contents 1546 0 R
+/Resources 1544 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1530 0 R
+/Parent 1535 0 R
>> endobj
-1542 0 obj <<
-/D [1540 0 R /XYZ 56.6929 794.5015 null]
+1547 0 obj <<
+/D [1545 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1539 0 obj <<
+1544 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-1545 0 obj <<
+1550 0 obj <<
/Length 3198
/Filter /FlateDecode
>>
@@ -6238,47 +6257,47 @@ q@ÏÉÉ
ÖgM± q^Pב"Ü*ïJ¬}9ÊôÅ9u•½Ma®¨«„¬ÖbP„sÉ dKFè±2dw£CF:ñPïBFã!¤C‘Ÿ·(9˜p@Ê@èë‹òˆq6F™‰xT¨âTD_ZÈœW¡¸8öõëýGz<i=Ô°…¼¦BNƒñø¸ˆ=º†s/ÞÎß0^pw$Vóz]®®;¼¿‡ä‚6žq)^i·¥‘ºé«' Ìaüs¹Ú…ÞðøÉþð…`¤1ô¦«6å¶ì ÞÆÚ×åüÜ/Rü‹ý‘êb:ÅÅ#¡.³©k @;“‚®*kÌÌkå7V°
*3ëÛk
endobj
-1544 0 obj <<
+1549 0 obj <<
/Type /Page
-/Contents 1545 0 R
-/Resources 1543 0 R
+/Contents 1550 0 R
+/Resources 1548 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1530 0 R
-/Annots [ 1551 0 R ]
+/Parent 1535 0 R
+/Annots [ 1556 0 R ]
>> endobj
-1551 0 obj <<
+1556 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [356.2946 363.7923 412.5133 376.6291]
/Subtype /Link
/A << /S /GoTo /D (address_match_lists) >>
>> endobj
-1546 0 obj <<
-/D [1544 0 R /XYZ 85.0394 794.5015 null]
+1551 0 obj <<
+/D [1549 0 R /XYZ 85.0394 794.5015 null]
>> endobj
362 0 obj <<
-/D [1544 0 R /XYZ 85.0394 769.5949 null]
+/D [1549 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1547 0 obj <<
-/D [1544 0 R /XYZ 85.0394 576.7004 null]
+1552 0 obj <<
+/D [1549 0 R /XYZ 85.0394 576.7004 null]
>> endobj
366 0 obj <<
-/D [1544 0 R /XYZ 85.0394 479.565 null]
+/D [1549 0 R /XYZ 85.0394 479.565 null]
>> endobj
-1548 0 obj <<
-/D [1544 0 R /XYZ 85.0394 441.8891 null]
+1553 0 obj <<
+/D [1549 0 R /XYZ 85.0394 441.8891 null]
>> endobj
-1549 0 obj <<
-/D [1544 0 R /XYZ 85.0394 424.9629 null]
+1554 0 obj <<
+/D [1549 0 R /XYZ 85.0394 424.9629 null]
>> endobj
-1550 0 obj <<
-/D [1544 0 R /XYZ 85.0394 413.0077 null]
+1555 0 obj <<
+/D [1549 0 R /XYZ 85.0394 413.0077 null]
>> endobj
-1543 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1548 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1555 0 obj <<
+1560 0 obj <<
/Length 4062
/Filter /FlateDecode
>>
@@ -6312,33 +6331,33 @@ s–Ö*hîžm­™â‰µ

›¬s짼h "”IŒ)%F*<zé“'â¡jÿÿÍ”àxÒ‡BvÉ
endobj
-1554 0 obj <<
+1559 0 obj <<
/Type /Page
-/Contents 1555 0 R
-/Resources 1553 0 R
+/Contents 1560 0 R
+/Resources 1558 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1530 0 R
+/Parent 1535 0 R
>> endobj
-1556 0 obj <<
-/D [1554 0 R /XYZ 56.6929 794.5015 null]
+1561 0 obj <<
+/D [1559 0 R /XYZ 56.6929 794.5015 null]
>> endobj
370 0 obj <<
-/D [1554 0 R /XYZ 56.6929 165.9801 null]
+/D [1559 0 R /XYZ 56.6929 165.9801 null]
>> endobj
-1552 0 obj <<
-/D [1554 0 R /XYZ 56.6929 136.242 null]
+1557 0 obj <<
+/D [1559 0 R /XYZ 56.6929 136.242 null]
>> endobj
374 0 obj <<
-/D [1554 0 R /XYZ 56.6929 136.242 null]
+/D [1559 0 R /XYZ 56.6929 136.242 null]
>> endobj
-1557 0 obj <<
-/D [1554 0 R /XYZ 56.6929 106.2766 null]
+1562 0 obj <<
+/D [1559 0 R /XYZ 56.6929 106.2766 null]
>> endobj
-1553 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R /F48 1238 0 R >>
+1558 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1560 0 obj <<
+1565 0 obj <<
/Length 3065
/Filter /FlateDecode
>>
@@ -6354,39 +6373,39 @@ xÚ¥ZÝsÛ6÷_¡>En,˜ø ^ŸR×iÝi“\âÎ=4”–`‹cŠTHÊŽ§wÿûíb’’(¹£
¬_²Õº°n–Ô§X;‘LjÉRÓaXΓçB}ƒY™š~E•qùÍX|ë$Œ¤Ï\tc©ÕƒZN‰
覷=èv/P>ÂQl­'æ^r) \œùòåË3ŠKU=ú”¸´Eq¾¶u÷”ú„ËÍïe‚€=éýƒqï!C§Pü°Sœ;bH›4†.¦•¤ÿ(|í:‚bƒŽkw_á(B™QAû‚µÎŸ\oà.©¼ ÁÒ¡ÈÁÁÝ9½2ú¹ÿˆ¥L
endobj
-1559 0 obj <<
+1564 0 obj <<
/Type /Page
-/Contents 1560 0 R
-/Resources 1558 0 R
+/Contents 1565 0 R
+/Resources 1563 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1530 0 R
+/Parent 1535 0 R
>> endobj
-1561 0 obj <<
-/D [1559 0 R /XYZ 85.0394 794.5015 null]
+1566 0 obj <<
+/D [1564 0 R /XYZ 85.0394 794.5015 null]
>> endobj
378 0 obj <<
-/D [1559 0 R /XYZ 85.0394 730.0812 null]
+/D [1564 0 R /XYZ 85.0394 730.0812 null]
>> endobj
-1562 0 obj <<
-/D [1559 0 R /XYZ 85.0394 700.9798 null]
+1567 0 obj <<
+/D [1564 0 R /XYZ 85.0394 700.9798 null]
>> endobj
382 0 obj <<
-/D [1559 0 R /XYZ 85.0394 216.5924 null]
+/D [1564 0 R /XYZ 85.0394 216.5924 null]
>> endobj
-1563 0 obj <<
-/D [1559 0 R /XYZ 85.0394 187.7778 null]
+1568 0 obj <<
+/D [1564 0 R /XYZ 85.0394 187.7778 null]
>> endobj
386 0 obj <<
-/D [1559 0 R /XYZ 85.0394 127.6814 null]
+/D [1564 0 R /XYZ 85.0394 127.6814 null]
>> endobj
-1564 0 obj <<
-/D [1559 0 R /XYZ 85.0394 101.3894 null]
+1569 0 obj <<
+/D [1564 0 R /XYZ 85.0394 101.3894 null]
>> endobj
-1558 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R /F14 964 0 R /F39 1161 0 R >>
+1563 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R /F14 968 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1567 0 obj <<
+1572 0 obj <<
/Length 2310
/Filter /FlateDecode
>>
@@ -6398,40 +6417,40 @@ LHE(ãÍã{¦˜…“«µš¼«á‰ï•ïÜClùÖœdC¶ïŽùøÿÌD
Œ[†,Šñ6ËËãgÛ¸¸¤þ¥q¤QjÜ%ć*[›š V®~ ¥l¹$4tµùÊÈ ·K°Yìv¥)Hrk‘å9AǦÑØRñVŽéh×4­Û•ÞvSsè€ãsqÏŽ×ñ%Š(î z9Jwâ‘AQ”<#2òqh›†M5µ«Ÿ‘[^Z›hºVnÇaZXAŽ ËfØù»Õw-ËoúLþ°û-RŽÅ‡Ë£¶Õ2!*”ÕŽ€vmQíÃL1}\‚w^Çî¿P‚ DC!¢§%˜@ôLÛä
ós.ÔÓ‹c–Šš¿è‡g¹Õlt^ w Ã"nË ¯Àݬ»ü“÷Áê·D¶î„o¶ ‡’7ï²×î²›õhøß¿{éÏ®éBÔâÃÕåã²òøð:Æ`[‰â È*bI”¨±ßßøäYÕé¯}}öÄ ­Dú…˜gñq‚¨!.dU JN÷³ …òHÿ’ Q>endstream
endobj
-1566 0 obj <<
+1571 0 obj <<
/Type /Page
-/Contents 1567 0 R
-/Resources 1565 0 R
+/Contents 1572 0 R
+/Resources 1570 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1573 0 R
+/Parent 1578 0 R
>> endobj
-1568 0 obj <<
-/D [1566 0 R /XYZ 56.6929 794.5015 null]
+1573 0 obj <<
+/D [1571 0 R /XYZ 56.6929 794.5015 null]
>> endobj
390 0 obj <<
-/D [1566 0 R /XYZ 56.6929 730.9277 null]
+/D [1571 0 R /XYZ 56.6929 730.9277 null]
>> endobj
-1569 0 obj <<
-/D [1566 0 R /XYZ 56.6929 704.9004 null]
+1574 0 obj <<
+/D [1571 0 R /XYZ 56.6929 704.9004 null]
>> endobj
394 0 obj <<
-/D [1566 0 R /XYZ 56.6929 236.9993 null]
+/D [1571 0 R /XYZ 56.6929 236.9993 null]
>> endobj
-1570 0 obj <<
-/D [1566 0 R /XYZ 56.6929 205.1553 null]
+1575 0 obj <<
+/D [1571 0 R /XYZ 56.6929 205.1553 null]
>> endobj
-1571 0 obj <<
-/D [1566 0 R /XYZ 56.6929 146.386 null]
+1576 0 obj <<
+/D [1571 0 R /XYZ 56.6929 146.386 null]
>> endobj
-1572 0 obj <<
-/D [1566 0 R /XYZ 56.6929 134.4308 null]
+1577 0 obj <<
+/D [1571 0 R /XYZ 56.6929 134.4308 null]
>> endobj
-1565 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R /F62 1361 0 R >>
-/XObject << /Im3 1515 0 R >>
+1570 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R /F62 1369 0 R >>
+/XObject << /Im3 1520 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1576 0 obj <<
+1581 0 obj <<
/Length 2419
/Filter /FlateDecode
>>
@@ -6449,45 +6468,45 @@ b%C{1rŠ
-ez»„t˨ޘ®Ìšúù¦cVúÀ á}IᎠQýÈ¿hS7ÖÙË‘§íøzž»\ê&xÓ8šfÈzs÷#gÁ ã»|!þPy(3IÓ&˪ÁÆ="…¯à.ù$¬Hð³ö( †u“ ¶Yäå£ß*XÏ¥¸ L}¦ÿRŠ¬&³f^cß;±£; `38=´¶œÞ£.6¾*q¬^yøÃQJ ¤I}?ø¤§I `²+Kv›:êænc°®xXô^wqZÙ¡dßl™ÿÝhÿð(!Û—!ØË]uÊè˺#¢H
:nÑž[Û»¯»b›[û’:÷øÀ‚¹Ü®¸r`€Ä˜}ŸQæ2­ àç¬zÅOûÏLbS] $B ä¿Áßn^ZØÁÆ4¼m¸lê¹n9ÝGœ7¬Á–ÿÉi÷Ÿ½wùΑ›¥ „DK¥Õ_Â2í 8ЫÃ.÷Õ²éxo:Ÿ·þ°uÇ=–mO1NéP Š E.|— ëÝa‘ëA‰Ú—AkÐ!xñ~Búˆþ¹Jv‰Oe}…Žb¯çþãËæ¿‚@w˜o+s¡Ü™¤xr•Á#•áz@ôÿþ¬Žendstream
endobj
-1575 0 obj <<
+1580 0 obj <<
/Type /Page
-/Contents 1576 0 R
-/Resources 1574 0 R
+/Contents 1581 0 R
+/Resources 1579 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1573 0 R
+/Parent 1578 0 R
>> endobj
-1577 0 obj <<
-/D [1575 0 R /XYZ 85.0394 794.5015 null]
+1582 0 obj <<
+/D [1580 0 R /XYZ 85.0394 794.5015 null]
>> endobj
398 0 obj <<
-/D [1575 0 R /XYZ 85.0394 513.3136 null]
+/D [1580 0 R /XYZ 85.0394 513.3136 null]
>> endobj
-1578 0 obj <<
-/D [1575 0 R /XYZ 85.0394 488.974 null]
+1583 0 obj <<
+/D [1580 0 R /XYZ 85.0394 488.974 null]
>> endobj
402 0 obj <<
-/D [1575 0 R /XYZ 85.0394 420.2055 null]
+/D [1580 0 R /XYZ 85.0394 420.2055 null]
>> endobj
-1579 0 obj <<
-/D [1575 0 R /XYZ 85.0394 390.0916 null]
+1584 0 obj <<
+/D [1580 0 R /XYZ 85.0394 390.0916 null]
>> endobj
-1580 0 obj <<
-/D [1575 0 R /XYZ 85.0394 312.7536 null]
+1585 0 obj <<
+/D [1580 0 R /XYZ 85.0394 312.7536 null]
>> endobj
-1581 0 obj <<
-/D [1575 0 R /XYZ 85.0394 300.7984 null]
+1586 0 obj <<
+/D [1580 0 R /XYZ 85.0394 300.7984 null]
>> endobj
406 0 obj <<
-/D [1575 0 R /XYZ 85.0394 159.3 null]
+/D [1580 0 R /XYZ 85.0394 159.3 null]
>> endobj
-1582 0 obj <<
-/D [1575 0 R /XYZ 85.0394 131.3824 null]
+1587 0 obj <<
+/D [1580 0 R /XYZ 85.0394 131.3824 null]
>> endobj
-1574 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1579 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1585 0 obj <<
+1590 0 obj <<
/Length 4330
/Filter /FlateDecode
>>
@@ -6511,48 +6530,48 @@ epc .ѯs±“YGþóêpŒÕr:q#"OÎr'tå-½ý"„JÈVÆr°‹ç¬¨Î€õ|bE‘¢£ ­i=k·ÕÀÑ ©„zÂ+ ?l
9ѽ1W·.ýU¥Q^^‡«ltsiçÛ×þzÖ`šX°ÏxÀíQºº¢¶ª;Ïòxš!ºÄ¢W‘ƒpÇ€~1\Má™$¿ »à…Kq˜x•Ò/Lå6I“«“4ý­€ûdè»"ÃÞ¿N©+Žåã8èð?aR‹ÌXéÊ™T~oñ?b´ÿ@"›ýªJþCÌw»¤
kþï%A\uWo*´>¯O¦—u†ÿ•HL²Èüÿ£Õ†xB…8‘i5EAƒ Láj”:â<üGÖ1ëÿnI”endstream
endobj
-1584 0 obj <<
+1589 0 obj <<
/Type /Page
-/Contents 1585 0 R
-/Resources 1583 0 R
+/Contents 1590 0 R
+/Resources 1588 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1573 0 R
-/Annots [ 1587 0 R 1588 0 R ]
+/Parent 1578 0 R
+/Annots [ 1592 0 R 1593 0 R ]
>> endobj
-1587 0 obj <<
+1592 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [55.6967 387.5149 256.3816 399.5745]
/Subtype /Link
/A << /S /GoTo /D (rndc) >>
>> endobj
-1588 0 obj <<
+1593 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [268.5158 387.5149 332.4306 399.5745]
/Subtype /Link
/A << /S /GoTo /D (admin_tools) >>
>> endobj
-1586 0 obj <<
-/D [1584 0 R /XYZ 56.6929 794.5015 null]
+1591 0 obj <<
+/D [1589 0 R /XYZ 56.6929 794.5015 null]
>> endobj
410 0 obj <<
-/D [1584 0 R /XYZ 56.6929 692.9565 null]
+/D [1589 0 R /XYZ 56.6929 692.9565 null]
>> endobj
-1338 0 obj <<
-/D [1584 0 R /XYZ 56.6929 660.5438 null]
+1350 0 obj <<
+/D [1589 0 R /XYZ 56.6929 660.5438 null]
>> endobj
414 0 obj <<
-/D [1584 0 R /XYZ 56.6929 112.3379 null]
+/D [1589 0 R /XYZ 56.6929 112.3379 null]
>> endobj
-1589 0 obj <<
-/D [1584 0 R /XYZ 56.6929 85.6994 null]
+1594 0 obj <<
+/D [1589 0 R /XYZ 56.6929 85.6994 null]
>> endobj
-1583 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F14 964 0 R >>
+1588 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R /F48 1243 0 R /F14 968 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1593 0 obj <<
+1598 0 obj <<
/Length 2372
/Filter /FlateDecode
>>
@@ -6567,67 +6586,67 @@ gRLöõ„ÝáÉC)’g~.™‘ R‹ë„zÎÍË\D€úQQy($-ËåßÍ®Á2x{Œ{ Çöˆ‘ÃU?–3ü‚¼Š:åN)"B®Ni
q„Ìc–!l4+׬‘¢oT¸oFˆ'|7búz EF ˜öÉ],m“¨Ü–ˆTmË`aÁUÔr¢óþùêÈæ.~Áúçƒq\Á ™, c߉WÙaìÛÖ Ø½!OdFÙ1ÔÇLðC 4ѶbD‰®6´"ÈÍG¢Vy,ê3ö.B–`‰ `ΠryoÈêCŠÓ%lK0fz0fQ€f+b%µ„-«Y¼Ù˜: n¡ö7á×}?¸¿•Óvr Ú.æmµï·¸£m¡èÛbm_Jú…ÄœIc‚(Äm f"ÊøÖ¦Xì[CEýôä-úiŒaïhìûaLA½jÛóCa?#Fß0 ¾bÁ6 à÷<í$E¤Ç¼ðèë¤]áî£}8.Ô „„G{ZÇZøül«"/sw—!ôe.õ{úMþo3 Ç w³rùS›]ªÂ_}oz7º]mf6›9¾þèä+Š½C>ؼ Æ–aín¯¨ÔöžÓ¤) N­Çj{I6UoÝé5ì4Ý”=Ûš‘,yõX¶eæaë y®|§u9BÝÁõçéPÄ¡ÆÇÇ]ƒÇ´Íà«^ÜñÒÉVÕ§ï)÷fJlJ©Í;w8EeÞ¢þ|Ïc¹»Ñ)Odæß
­ù|ƒAЊËXuLYÎÃIï·ÿ“sÊú_—0‰Äendstream
endobj
-1592 0 obj <<
+1597 0 obj <<
/Type /Page
-/Contents 1593 0 R
-/Resources 1591 0 R
+/Contents 1598 0 R
+/Resources 1596 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1573 0 R
-/Annots [ 1598 0 R 1599 0 R 1600 0 R ]
+/Parent 1578 0 R
+/Annots [ 1603 0 R 1604 0 R 1605 0 R ]
>> endobj
-1598 0 obj <<
+1603 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [406.6264 524.1437 456.8481 536.2033]
/Subtype /Link
/A << /S /GoTo /D (tsig) >>
>> endobj
-1599 0 obj <<
+1604 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [140.5805 512.856 196.7992 524.2481]
/Subtype /Link
/A << /S /GoTo /D (controls_statement_definition_and_usage) >>
>> endobj
-1600 0 obj <<
+1605 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [103.6195 470.0794 159.8382 482.1391]
/Subtype /Link
/A << /S /GoTo /D (controls_statement_definition_and_usage) >>
>> endobj
-1594 0 obj <<
-/D [1592 0 R /XYZ 85.0394 794.5015 null]
+1599 0 obj <<
+/D [1597 0 R /XYZ 85.0394 794.5015 null]
>> endobj
418 0 obj <<
-/D [1592 0 R /XYZ 85.0394 769.5949 null]
+/D [1597 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1595 0 obj <<
-/D [1592 0 R /XYZ 85.0394 749.3189 null]
+1600 0 obj <<
+/D [1597 0 R /XYZ 85.0394 749.3189 null]
>> endobj
422 0 obj <<
-/D [1592 0 R /XYZ 85.0394 679.8163 null]
+/D [1597 0 R /XYZ 85.0394 679.8163 null]
>> endobj
-1596 0 obj <<
-/D [1592 0 R /XYZ 85.0394 652.1211 null]
+1601 0 obj <<
+/D [1597 0 R /XYZ 85.0394 652.1211 null]
>> endobj
426 0 obj <<
-/D [1592 0 R /XYZ 85.0394 573.4726 null]
+/D [1597 0 R /XYZ 85.0394 573.4726 null]
>> endobj
-1597 0 obj <<
-/D [1592 0 R /XYZ 85.0394 542.9681 null]
+1602 0 obj <<
+/D [1597 0 R /XYZ 85.0394 542.9681 null]
>> endobj
430 0 obj <<
-/D [1592 0 R /XYZ 85.0394 335.1831 null]
+/D [1597 0 R /XYZ 85.0394 335.1831 null]
>> endobj
-1601 0 obj <<
-/D [1592 0 R /XYZ 85.0394 307.4879 null]
+1606 0 obj <<
+/D [1597 0 R /XYZ 85.0394 307.4879 null]
>> endobj
-1591 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R >>
+1596 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1604 0 obj <<
+1609 0 obj <<
/Length 3489
/Filter /FlateDecode
>>
@@ -6652,33 +6671,33 @@ vk^)úåDa%“…KåãVYH13ø ŠmG+4ÝtÝM9”\k
ü“Ål7·5Ú'}Á¯"´ú‚HcÀÀž¢í¶dÚ¼Œ~?Ú×í°¤jç=U}ô#Í›ª s—QqÏùw2Eš<\{ðõl$a@Z)ĉ+&9¹b’ók$0L’Óë#Ép2
kî²Úc¯0¹¿C8_Pø;v! ¹(Éï3S|µŒ@x"BÉ_– IJ,Ç÷xc$†âÖ•Æ'Ëý н.ô' &
endobj
-1603 0 obj <<
+1608 0 obj <<
/Type /Page
-/Contents 1604 0 R
-/Resources 1602 0 R
+/Contents 1609 0 R
+/Resources 1607 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1573 0 R
+/Parent 1578 0 R
>> endobj
-1605 0 obj <<
-/D [1603 0 R /XYZ 56.6929 794.5015 null]
+1610 0 obj <<
+/D [1608 0 R /XYZ 56.6929 794.5015 null]
>> endobj
434 0 obj <<
-/D [1603 0 R /XYZ 56.6929 769.5949 null]
+/D [1608 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-1606 0 obj <<
-/D [1603 0 R /XYZ 56.6929 749.2381 null]
+1611 0 obj <<
+/D [1608 0 R /XYZ 56.6929 749.2381 null]
>> endobj
438 0 obj <<
-/D [1603 0 R /XYZ 56.6929 540.3599 null]
+/D [1608 0 R /XYZ 56.6929 540.3599 null]
>> endobj
-1607 0 obj <<
-/D [1603 0 R /XYZ 56.6929 517.4049 null]
+1612 0 obj <<
+/D [1608 0 R /XYZ 56.6929 517.4049 null]
>> endobj
-1602 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F39 1161 0 R >>
+1607 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1610 0 obj <<
+1615 0 obj <<
/Length 3318
/Filter /FlateDecode
>>
@@ -6693,29 +6712,29 @@ Sÿ&t«&b_­À’‰ÌG)MœJH•œÃBÇe^0CÉóèXè ùÂlÂd 0—AÎÚ¢#h-Jʯ‚£Î4^Ñ0FBï¹*YC g’×±
ˆü"Š¤{'BEc„LåEiÇ3¢å Y=ˆ&Òñü¹D6u;iÖXûÖŽp5ów/ÖÂÙÁg¸:sNjYR0ß×Iµ|à†ÀË¢9¡\ˆy˜° õB^î|­ÝáØ¡æ•œ¤àå/Pú«—öP,Ë5Wgùh ¡yIýÞ@FÕœRjþö¢Fdôp¸ ïCi"= åò7wÎolƒ8óÇ«6‡]jw]b˜ÁE_­ëú«÷¡
au–z¢³(½¤¼ÿµÕSÒÿ:[)Žendstream
endobj
-1609 0 obj <<
+1614 0 obj <<
/Type /Page
-/Contents 1610 0 R
-/Resources 1608 0 R
+/Contents 1615 0 R
+/Resources 1613 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1573 0 R
-/Annots [ 1612 0 R ]
+/Parent 1578 0 R
+/Annots [ 1617 0 R ]
>> endobj
-1612 0 obj <<
+1617 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [173.6261 273.4719 242.2981 282.8815]
/Subtype /Link
/A << /S /GoTo /D (the_category_phrase) >>
>> endobj
-1611 0 obj <<
-/D [1609 0 R /XYZ 85.0394 794.5015 null]
+1616 0 obj <<
+/D [1614 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1608 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1613 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1616 0 obj <<
+1621 0 obj <<
/Length 2400
/Filter /FlateDecode
>>
@@ -6731,33 +6750,33 @@ kü"YS•Í· <Ê&À=b¿*MÈ*£P˜TJ–`yœÒ[ˆP!GrUí÷.áG‘—î& ^Ôæ_ïL¿ÇÆ®oÚq4Á‡Ë“±~žÎ
ª÷ .k}ü “sgó'í—<œ_÷§^G4ΞÅÄñÛ+‡ôÍð8‚¿yõ5§î!±×õæû ¯ò½šª†ç.;ÁÁ™O ðôÜ=4­³ªŸzºfKeÁ“Þ bœ–£æ<5LzÇD/µHÂ~šÃŒ‡ìB׎çæ)Ïù ±'2ÄŸ[/±< S½] ’À¹AÆ4 rb=Eáé4r5ÈŠAÔ×vü 0Bè§,/²».†ŒºÄpm(,î
;Ízm×c?Ú¾@´€Ú6âÁÃOB¤3Ç"ÔÐÚ?ãéê–H‚äì¥ñÿ;åÁ^ju¬õãй
endobj
-1615 0 obj <<
+1620 0 obj <<
/Type /Page
-/Contents 1616 0 R
-/Resources 1614 0 R
+/Contents 1621 0 R
+/Resources 1619 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1620 0 R
+/Parent 1625 0 R
>> endobj
-1617 0 obj <<
-/D [1615 0 R /XYZ 56.6929 794.5015 null]
+1622 0 obj <<
+/D [1620 0 R /XYZ 56.6929 794.5015 null]
>> endobj
442 0 obj <<
-/D [1615 0 R /XYZ 56.6929 520.4669 null]
->> endobj
-1613 0 obj <<
-/D [1615 0 R /XYZ 56.6929 495.6849 null]
+/D [1620 0 R /XYZ 56.6929 520.4669 null]
>> endobj
1618 0 obj <<
-/D [1615 0 R /XYZ 56.6929 178.7136 null]
+/D [1620 0 R /XYZ 56.6929 495.6849 null]
>> endobj
-1619 0 obj <<
-/D [1615 0 R /XYZ 56.6929 166.7584 null]
+1623 0 obj <<
+/D [1620 0 R /XYZ 56.6929 178.7136 null]
>> endobj
-1614 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R >>
+1624 0 obj <<
+/D [1620 0 R /XYZ 56.6929 166.7584 null]
+>> endobj
+1619 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1623 0 obj <<
+1628 0 obj <<
/Length 2566
/Filter /FlateDecode
>>
@@ -6773,21 +6792,21 @@ jИ6¶=`œp½šfšl Î.o‡¤‹Ü;¨Ä5ïÚ üñïÇzd£Á(gNϺL¨€3L›¸" ~vþ‰
CcÝÜØ`™>Ôãø~~±íw¾LæŸíÉÄ–‹´ÄÛµlŸýÙC…ú½ÕCe¯6¬uÓböRViÞÜìBËîiØš´Üš´pðA]Ó-±?Bo·–ë÷O—^×Ïì!Ø$À@Æè‚8ü‹øR+ÿ‘>==±äK´Zg ›+„ãÝéDHN>ÿù]¯í¢¯®éyTúánڧ箔ïÞ‘|½îK”Ó‰è‰G²î :$Ñ„$ÚóÁ=°X§©<m— ¦7ø²Ž6¶äQêigX². +J§Ñd}ƒ±ò‰¬ÒsG Û mœŽýDžS©°ñœ¶l= œaÙvò•Ê‡óÁÊŠÔZOÔ ¡›Õý G%Fæú¾D¦Ô'… hXµWXMóf4-6S²×Ú<LDwÚP"!mŠÙœû^þµ¥5¯dJß”ê*(ùºˆQž`J{[;@¦[l†9ØUŽß¿¨E÷xUk‹[&]ÓØ’3H˜­: Æúu^¦°Z€š‡(Íjêx˜w7÷RR(÷†Ò3%C `>Yxœ–k¼òNÐ\G¢x`Ò6£P+ÁѹZŽ`þ9©ÊÖ…ïzüöZÊ«"®3â¦/¼è.ņáÍW¢êb—hw>º˜Ð¯ÌJßñw"Åðßp(wT\K×”;Æ9l}þw¾éè&‹³»«÷//Ü¿îÓkWæ·:'J3ãë¯ÑV3â ´@ ™Álá8´2TLXÌ2ðÛ2ßa_õÁ:yЊ3ø¯AU€ Gé¢í-l8^¥å|÷£8Æ)Ÿ[…¨óª ‹”ýãâÁ´Qúx¢çÅc²%è¡°÷‡ø¤ßH`)¤œ´œJíP4ÆrAO
Q=±¸ZåΗ.ÇÊâzÓ~{Øýô|ØhºÚx†¿­Ñ(àŒÂ G©¦…SLœdÉÂêsRäÙð]ÎEÛóF5¶ƒèz¢ ±üP,JjÙF¼@5JËè1¡’Ím ¿€&æta®ðêëÿ^Ü|<»²?y ìï¤ö›ï™A'”Ò;]'ôÙÞ±QÛö§ûJ`vÒGèz®
endobj
-1622 0 obj <<
+1627 0 obj <<
/Type /Page
-/Contents 1623 0 R
-/Resources 1621 0 R
+/Contents 1628 0 R
+/Resources 1626 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1620 0 R
+/Parent 1625 0 R
>> endobj
-1624 0 obj <<
-/D [1622 0 R /XYZ 85.0394 794.5015 null]
+1629 0 obj <<
+/D [1627 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1621 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1626 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1627 0 obj <<
+1632 0 obj <<
/Length 2959
/Filter /FlateDecode
>>
@@ -6809,33 +6828,33 @@ G‹@8I¤Ø ©ßÔ Õ ö>wæP˜†í6kŠ¼möÅ0neLÅЦ>œ í­=S×LÛ5–t_f…¥ýéî=ygð0°íR?…‹Ñþ´6J½
;tŒê›­4ß·Ña×ÇŠ!Êxð§’Êv¹Ö[üoÃÒd9g@@Bm{äd‡ìyPXv2p[“‘úÏ4¾û6Ϥ›„qÈ…šém¹•ÕNjp“ÏF|VJG*Õl­<S­K¨µrÆSÍßæs7T0^¨ïÖØYk °¼ÁÌ£|§q Æ!_cBP–ÎL´kpké’({Η˜¥s¯³
Ðû\•¸[“A表8 ø‰ìûéæªt ¡«gÑ– 5§awYåb‡ÂœÇìÙ|Ußù´ ™IñHnŠ§z¥2ù¿y´eÄUàhñÀùèª?׎ý ’ò›ö¿­™†Ô}¢AÖG9õqì4Âb oï I¯KPíoZ–È©™&YM·Ûe‡âwWQÕ ‡±—E<Z×7Ý£¾ §àòCý÷[=ÃÏ衯v*ñ§çTÏýT ÿ¬²ýðÓïö*ñ¡Æ ‡¦ÏXóúæŒ|ä…ßül.?”qO5:úÿ<{aEendstream
endobj
-1626 0 obj <<
+1631 0 obj <<
/Type /Page
-/Contents 1627 0 R
-/Resources 1625 0 R
+/Contents 1632 0 R
+/Resources 1630 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1620 0 R
+/Parent 1625 0 R
>> endobj
-1628 0 obj <<
-/D [1626 0 R /XYZ 56.6929 794.5015 null]
+1633 0 obj <<
+/D [1631 0 R /XYZ 56.6929 794.5015 null]
>> endobj
446 0 obj <<
-/D [1626 0 R /XYZ 56.6929 474.28 null]
+/D [1631 0 R /XYZ 56.6929 474.28 null]
>> endobj
-1629 0 obj <<
-/D [1626 0 R /XYZ 56.6929 446.6886 null]
+1634 0 obj <<
+/D [1631 0 R /XYZ 56.6929 446.6886 null]
>> endobj
-1630 0 obj <<
-/D [1626 0 R /XYZ 56.6929 81.8965 null]
+1635 0 obj <<
+/D [1631 0 R /XYZ 56.6929 81.8965 null]
>> endobj
-1631 0 obj <<
-/D [1626 0 R /XYZ 56.6929 69.9414 null]
+1636 0 obj <<
+/D [1631 0 R /XYZ 56.6929 69.9414 null]
>> endobj
-1625 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1630 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1634 0 obj <<
+1639 0 obj <<
/Length 2586
/Filter /FlateDecode
>>
@@ -6847,27 +6866,27 @@ HïM9]™ÑLç*¹7N£ð­Žúø dý÷ ýp‘º|ĆŠ¡I™\éÝ¥÷~0-=Ð_å·’šu2?.];©žÐê–º<O¨ßT
IFÕ]qû¶#_¤:fš‰EÄ„ËbÚó +(¹iªq.gÙ_ûb©„òYĪmíþ<ñÂøßN•Biß1“k¢˜åU# MpM¾øìòb×¹^”˺Ácçõ~vÜ#Á"µñfzýml\Ø¿åöèÿüº®|ë~¦³‡û<{XCŸñ`;syï¬*K—è£[Û¦,ä3•w­¥]?=üôÊyïÑ“²öB¢Ú¡=§ï?9áizþAÃC{öÿuÖfÒ¨ä±ìO"šdÃ/
÷eÄæÊ TÜ&–QÏÒÿ Z†Tendstream
endobj
-1633 0 obj <<
+1638 0 obj <<
/Type /Page
-/Contents 1634 0 R
-/Resources 1632 0 R
+/Contents 1639 0 R
+/Resources 1637 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1620 0 R
+/Parent 1625 0 R
>> endobj
-1635 0 obj <<
-/D [1633 0 R /XYZ 85.0394 794.5015 null]
+1640 0 obj <<
+/D [1638 0 R /XYZ 85.0394 794.5015 null]
>> endobj
450 0 obj <<
-/D [1633 0 R /XYZ 85.0394 189.8991 null]
+/D [1638 0 R /XYZ 85.0394 189.8991 null]
>> endobj
-1636 0 obj <<
-/D [1633 0 R /XYZ 85.0394 163.5217 null]
+1641 0 obj <<
+/D [1638 0 R /XYZ 85.0394 163.5217 null]
>> endobj
-1632 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R >>
+1637 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1639 0 obj <<
+1644 0 obj <<
/Length 2051
/Filter /FlateDecode
>>
@@ -6881,60 +6900,60 @@ xÚ¥]Sä6ò_1¦*£•dùëò´Ù… ©„ä€<Š¶fÆLl„»Ü¿nµì±g lQ5n·ZýÝ­– b„,Ld²ˆÅ.‚
mß!Sˆ¦ØêÔ ïüØÃBÚ„ÆÔ–6É N¯m]µ†ˆ @ ~A/Ž šLÛ5§±·K)R¶(z®Ž¨µB¥®*k'ÖeK8MªnJí¸“1€„ižû­]º±Lö%8É2¹d"íqÅ…ËU5䪚æªïõè}vú>wG,,gf¥¡M y¡~V…­„†»6ˆÚÿXÕ£:à ŽuŠ; tE+¦¡^Ú ‚gŒîš|½vÒ²w´[(¡’!½nÒÍLø‚I¥ÔL¨ØÚ…O¨åüQÞf®J¬+g$Ï0ôÅ׉v'Ãá¼8œ L—~hlq1HÔÕŒ€$`¡ýÈŸ'ÞEGº»sì1ÏŒ³RӃ΄êUš£Hôó¬.5t×à69ØH­Ï û²Ýš*ëÛœõÛÐ ÝåŽÎ6¹ë…Xï;a!äÈÜ*«»Ù¹"bIœˆ¯”û2¦<)¼ð$Rá›$Ë$¿ï8øþ£ˆÃXk#`ëÊò„¶Î&ÛÁ
i¾ÕÅ[ùôsˆ …ßcI¶Ÿy÷ûÌ·N¿%lò/WyaÞï‰lWnß¾u¢>Þëm"üÍö¹OèÐbñ»÷ÌWE>4å¯þ¼¾ÿßÌ~Ëùï“2‚V§š}¾Ã«þþ°}Hendstream
endobj
-1638 0 obj <<
+1643 0 obj <<
/Type /Page
-/Contents 1639 0 R
-/Resources 1637 0 R
+/Contents 1644 0 R
+/Resources 1642 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1620 0 R
-/Annots [ 1642 0 R 1643 0 R ]
+/Parent 1625 0 R
+/Annots [ 1647 0 R 1648 0 R ]
>> endobj
-1642 0 obj <<
+1647 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [491.4967 682.6714 511.2325 694.731]
/Subtype /Link
/A << /S /GoTo /D (lwresd) >>
>> endobj
-1643 0 obj <<
+1648 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [55.6967 670.7162 89.457 682.7759]
/Subtype /Link
/A << /S /GoTo /D (lwresd) >>
>> endobj
-1640 0 obj <<
-/D [1638 0 R /XYZ 56.6929 794.5015 null]
+1645 0 obj <<
+/D [1643 0 R /XYZ 56.6929 794.5015 null]
>> endobj
454 0 obj <<
-/D [1638 0 R /XYZ 56.6929 731.9325 null]
+/D [1643 0 R /XYZ 56.6929 731.9325 null]
>> endobj
-1641 0 obj <<
-/D [1638 0 R /XYZ 56.6929 701.4683 null]
+1646 0 obj <<
+/D [1643 0 R /XYZ 56.6929 701.4683 null]
>> endobj
458 0 obj <<
-/D [1638 0 R /XYZ 56.6929 475.6865 null]
+/D [1643 0 R /XYZ 56.6929 475.6865 null]
>> endobj
-1644 0 obj <<
-/D [1638 0 R /XYZ 56.6929 450.9966 null]
+1649 0 obj <<
+/D [1643 0 R /XYZ 56.6929 450.9966 null]
>> endobj
462 0 obj <<
-/D [1638 0 R /XYZ 56.6929 381.4304 null]
+/D [1643 0 R /XYZ 56.6929 381.4304 null]
>> endobj
-1645 0 obj <<
-/D [1638 0 R /XYZ 56.6929 350.9662 null]
+1650 0 obj <<
+/D [1643 0 R /XYZ 56.6929 350.9662 null]
>> endobj
466 0 obj <<
-/D [1638 0 R /XYZ 56.6929 305.6252 null]
+/D [1643 0 R /XYZ 56.6929 305.6252 null]
>> endobj
-1646 0 obj <<
-/D [1638 0 R /XYZ 56.6929 277.9066 null]
+1651 0 obj <<
+/D [1643 0 R /XYZ 56.6929 277.9066 null]
>> endobj
-1637 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R >>
+1642 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1649 0 obj <<
+1654 0 obj <<
/Length 1107
/Filter /FlateDecode
>>
@@ -6945,21 +6964,21 @@ xÚ½X]s£6}÷¯à1~åÃØ0}ʦNšn¶uݧ4ã‘AØš‰•Dlïvÿ{…ü‘ÁØ»“É
iÂ%RªÔªþŽß©òÑ°”›N-ÎÒ©d Í”‚˜4 xAG§Ø¼}È(ÊRµ!†ŒG¼.ÜzGÇdý[a…Õz=§^hµ+¡…ú­Ð¡w+Ùê~á'rüíÇŽyD'çDýÈèÐÝ«æ|(ZéNµQúö¶ÀïíájV•õSp–@ÕQÏ.‹s›Ò¨Ak-|7Lç&(·ý+ÆPÍÍA#_?lÉ!qYN¯»×_M‹
÷úJd©j;Ìݱ3'×3óƒ¢#'DVµÝ^|µ;¬ŒL×÷ê¨ÉqjGM®54}'•AåÄ=w?òêàê0ôÿÀ$dÝendstream
endobj
-1648 0 obj <<
+1653 0 obj <<
/Type /Page
-/Contents 1649 0 R
-/Resources 1647 0 R
+/Contents 1654 0 R
+/Resources 1652 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1620 0 R
+/Parent 1625 0 R
>> endobj
-1650 0 obj <<
-/D [1648 0 R /XYZ 85.0394 794.5015 null]
+1655 0 obj <<
+/D [1653 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1647 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R >>
+1652 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1653 0 obj <<
+1658 0 obj <<
/Length 1220
/Filter /FlateDecode
>>
@@ -6974,3041 +6993,3089 @@ eHµ£"°Ú¸šö›ÝÍ_y0™Ë
¡³¥g‡YÖŽksyóÀײÍú©íx±—Æø_f
ÔŠý¯òŒl옶óm÷´4—Òm1®Jïãöz¶GÈFŽýkÌü HAºÇ·²Þt+¬sœ^å6Üá’òTñâãíuº+‹m³ò2˜±Êe0³l8cHN*u’{Ì‹«å}ê?
endobj
-1652 0 obj <<
+1657 0 obj <<
/Type /Page
-/Contents 1653 0 R
-/Resources 1651 0 R
+/Contents 1658 0 R
+/Resources 1656 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1655 0 R
+/Parent 1660 0 R
>> endobj
-1654 0 obj <<
-/D [1652 0 R /XYZ 56.6929 794.5015 null]
+1659 0 obj <<
+/D [1657 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1651 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R >>
+1656 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1658 0 obj <<
-/Length 1074
+1663 0 obj <<
+/Length 1073
/Filter /FlateDecode
>>
stream
-xÚ­X[“¢8}÷Wð¨a 7¡æÉéµ{Ú±g]÷©×²Ò5µ@˜$8Ú3óß7Ü”v€n-+&ä;ù®'!PÑä*Ž¥j†k*c×T- ZŠ4e+Ÿ= `1”“@uÖÇåà·{c¬¸ªk붲ÜT°Us¨,ý§áÝ“/ËébtKÚêX¶6ü8›ÿž¸ys÷8¿Ÿ=ü³˜ŒÆæp9{œçËéýt1ßMG
-]WWÂiªeF9 þüu¬<ÍD›ügŽj9ú¸Á&¬8jŽêšîX[®jº‘yðilMzF‰¶€D³=
-òá( Ÿ1ûwV©¹rM
-w­ûžl >ñ‰86¦Bᨼ³ªùçW¸ò—UID}̯1Û¤i%m‘HX{¨WÇ÷ I¥‚wŒPÂe¥6ÅBGÌ×”­#ÚzݘÑ=ñ1ZH3ü5Á\´—®é.XJTˆKÎékDæ<¼‘ÜAž¹Þ^k"Øñ­z¼ "–´WÐy¼N;-4—¬H¡
-À†Ñ DìúÆã+£¾` E¾Äðñž”#±[G¨ôN'"ãä—uû‚¯©ùvhäŽBÇØÅ6R’F—²Ù@Ò!@òhöf>ü¯fi^ú‘7ϲ^þ~$õN°…õ•õÚí„-ljØ…Þ³/{IJvÈ¡„OåtCuÓÓW“´•d×O›‹ø¦1y7ãðÁ ¿O6'çdÞ*ÀZXÆ°—0NöXfJpìžk×IÓ, Ãu2îÖÑ(KÀå_rÔ¹6™BÀ£‘@žè"˜æfLá6HðeñLjE3‘ŸÚÀüq>íT=Xê ?®PG§ÓWOÑô4 Y/À[”ri%ü7’4õ_%5k§Ë¦ÊÝœåÙ»/Wû„£ç
+xÚ­XË’Ú8Ýó^6 yüÆ®¬H‡î!5¡3 ³êP”Ú ¿"É:É¿Ïõ lpÛŠ2–uîó\Yª¤ÀW•lSVtÇFŽ!›ŠjJn0P¤ <{¨ÅTNBÕYïƒ?ô‘äÈŽ¥YÒb]Á²eŶUiá=ßÝÿ9þ¼˜Ì‡H3•;K"ÓRîÞOgò'¿Ü?ͦÿÎÇÑq·˜>Íòáùäa2ŸÌî'C¤Ú¦
+òZð†ÀÃô¯Iþïq>þôi<.“ÅÑ–ª½ª¢§†|</ɳ?YwlSú7Š¬:Ž&ÃÔeÓÐõrÄü3øûXyš‰6ùÏÔmÙ´µQƒ µâ@U±eÇpFÒÈtdK×ỗÏCd)ÊëÒpƒh(Ûa?“à…°wùÍ25ÖDª*;¦©Uå·3ñB°è ‰­±K:
+˜8Íí
+U³‹1NŠ˜GX -Yñ˜¸ù}aàóÕ§²,—~¨^~^³ÅÇABtõf€÷(t±»m)¬ž w­ûžnŸzTS¡pT~³¬ùçW¸ð˪$Œ<Â/1Û¤i%½b‘°öPo*$1éб(¼c„•º_ _ElF­×Y´£^#F iF¾&„‹öÒ5ÝK‰ÊesÄcàœ¾FdÎ#kà ôŒ
+qéNDÆé+)ëö•\RóõÐ@Ç@Žcâ¡¢”¤Ñ¥lÖÔ:D>(
+ÑÎȇ¿(¦Òè¥ùåêå?ä…°¨{”P[X_Y¯]'la¨azO?ï,CíÐ} ŸÊiºì¤»¯&iק$,É®Ÿ6gñMcòÛŒ#{×O<òÛðx²>:'óVÖÂ2FÜ„qº#)þ¡{®]&M³4j ×Ѹk[£,‡_rÔ©6™BÈB]ÑE0Í5ÂáÆOÈyñŒkE3†Om`ö4›tªz¢Ä‹+ÔÑi÷uƒ(ã‘}…P,-1êÉ;
+`NŸlpÊÇ•º’èi *é]Û¡¶Ðvì
endobj
-1657 0 obj <<
+1662 0 obj <<
/Type /Page
-/Contents 1658 0 R
-/Resources 1656 0 R
+/Contents 1663 0 R
+/Resources 1661 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1655 0 R
+/Parent 1660 0 R
>> endobj
-1659 0 obj <<
-/D [1657 0 R /XYZ 85.0394 794.5015 null]
+1664 0 obj <<
+/D [1662 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1656 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R >>
+1661 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1662 0 obj <<
-/Length 2686
+1667 0 obj <<
+/Length 2554
/Filter /FlateDecode
>>
stream
-xÚ½]sÛ¸ñÝ¿Âs/¡gŽ@$qy²svê›»¤õùÚ‡\&CIÅ E*eGióß»‹(R¢¤ítô€åb±X,ö§~âT¦,U‘:ÍTÂ$òt¾>á§w0÷êD8šÐ…Cª‹Û“çWqvª˜J£ôôv9à•3žçâôvñ6HYÄ΀^¾y}uýê›ó³, n¯ß¼> #Ƀ«ë_/ zusþÛoç7g¡È¥^þåü¯·—74•:ׯ&Œ¢á¦7—W—7—¯_^ž½»ýåäò¶?Ëð¼‚Çx'oßñÓû—Îb•ËÓøàL(®O3™Ä±ÇT'¿Ÿü­g8˜µK'õ'8‹â4šP`"
-Ì9K9°Ê¤biÅVoÏ”óà³n›°nBÓa×UἘ¯4Mí´yß´ïë†>_Ððû‡B0%e4dÖjÓT÷º ?nu» »r­›mGsõv=Óí7³Zèzµy
-‡T6èÔæ3RO…B]‡sAþ`s!")D<½{O5±ýð2@Bð‡4ï^UÍê>Oƒ5h§ÜTš¾îKí'¬‚a4«¢7’œŒ ±e}ç¹d… ¡„d0´ Ö\Ò:Æ­
-»AfoÎbš‡zÈÈÞf,!á¦jlèž;P r0Ý£E*˜a¦Ct¹¤qp@øòpUÜ;d·r€±¡f£É}Ðëá£7Â˦% îéIEw·ÖV'ÒÅ7N§í¼‘@lð@8ád#ŒŠ<jñ…âöÏa3H`ãRØÃ!f­×M»sËI† NcL9«º\oì&ͽcøÔiè*ôI0ªÌK]£b¬[í¼[€vó¤O¬ç‘ZÈø©XuR
-iˆO:Í¥K°o.“Qx‚}•¢àc©R™†Pèþˆ1=/ñ6hÃDYOÉ‘€¯'àÄÄÛšò±
-À@¸ðÂtgÅ5wÍÔUÏÎö™q&qiÙH
-|…¥\ÔÆèyXÌí³±þ´)ÛÉÚ\)&sù½lAÄrQøû€eÎYQø –aa<NÇŽ³.>Q`Àÿ&ø¦Ðgñ8y‚oi©ï3]ý$¿ú6ž~?bgÊÏS‰.Í´ñ{ùú·á‰F7Á'-¿õÁ_(S¬áð¡šè}}¦@>˳×MgK‹Äûða=’8—üÌ!|A¨Q 1q«°$Þ·ük¹5äÈ@Bõ.Ò»£ÒÚ¬zàvû£ Ç\”.Ö bÔâ} ß‹…õú°ŠO¨Š—û7¾} &Yä
-7@î ·[Á-[
-ãÍôàï&ŽÞ²…,§ÃE8uÂzAzVÜH ê&åªÒm뾧6Vh`ø’¡Åô¼§\Û†€Ë
+xÚ½]sÛ6òÝ¿BÓ—Ê3!€?š';µsé´ÉëÞ=¤ž $A'©”çîþûíbˆ¤hûÒû=`¹X,‹ý„øŒÁÏd&¹Ègi‡’q9[nOØìæÞœpK8¢ Ou~}òò2Jgy˜'"™]¯{¼²eŸ]¯>Ì“P„§ÀÍ_¿wùöÍoWg§i<¿~ûþÝi $›_¾ýù‚ 7Wg¿ürvuðLòùë?ýùú⊦Ëãüí» “ÓðÓ«‹Ë‹«‹w¯/No®:¹¸ög韗³òùäà ›­àØ?°0Ê39»‡ò<³íI,£PÆQä0åɯ'ñ {³fé¤þ8 E”ˆ Ƽ§ÀŒ… V©ÌÃ$‘Qà‡Ó alþU7uPÕA[« ëJB>èöcÝ|¬jú|Eà v8s)Ål‚¥ZnôeÖè¶.ït|Þëæ!芭®÷ÍUûíB7O±â}V+]=ªjï›Z­€s«[šú; ûq«ºåæcY´v£Ò`ùè/K½ë‚uSo«+µÕGkn^=uºHe¡ÆM²üÞÕU«ƒ]]ˇ»¯u¥?"O³^DaŽ6=¥ßþâÛâNWþõhÕ¢Ô«r§Ú¶Û4û²ú²ª·ª.¯ê•êÔ
+¥ºg“ãhsÎظäOïî©&¶ï_HþÄÃýÏʲ¾GÝgÉ| Ú)v¥¦¯»B» £`ÛòF’‘‘!¶¨nÝ"›äÄ@½€T†–š ºC˘ 2¤ææ ¦¾¯úŒÌmFêd|™–;Psr0í£‰|¾À
+ÑÅšÆÞáËÀº³ÈncÖd„ê&÷A¯G„Ëp¯ë†€ÊÓ“Š ^ÙCß´ò
+Ž>XãpÂÊF4YÚ×>â•Å¢öO9aSwH`âR˜Ã!f«·uó`—“ )œ¦m‹EiÑÅvg6©ï,ÃçO£×H‚QeYè
+cÜêÁ¹H`G1Oºtzn'2[„>Ë¡LM˜‹Ñc§YºÌˆÉxž`ß<§àa‰W¶5¡ÐýÓîô²ÀC˜  E5%G ¾ƒocÊÇ@nâbõZ´J.LˆFþ÷›Âx–0Æͦ þ¦)VX"Aç|AÄ1äã,Þ€MIÇâŠ<Lešÿ›jƒTÏýÑúWdi(SäÓ7%£aÖ…ÖÃÅü鸱0Ët4
+E!D¾ü°3
+éÊÚñ-&!>yyó@vBÀ}:ã¶
+<ãHŒÅÈÚ¯÷b§êtú²Ÿî
+në.
+ÇÚÕg9ÈÇÄ°Ô~Ww¦´ˆë‘غ4àá
+:@ Á€‰]…%ñ¾µ Á¿Öû–H¨þÁEúá¨ô6«êù£™ÆþhÂ1W…5½Øµ¸¯á½XX¯÷«ø˜ªxyxã;”ðAœ
+[¸òP¸E°ØnØRn¶¢;ñˆpôðŽ)d(‚ÇþhdˆÿŽN¼‘2_müÇÂþ¡†š-Ê21ýØ*Ò,Œ3`b…Â[Éñë²ý·öXô
endobj
-1661 0 obj <<
+1666 0 obj <<
/Type /Page
-/Contents 1662 0 R
-/Resources 1660 0 R
+/Contents 1667 0 R
+/Resources 1665 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1655 0 R
+/Parent 1660 0 R
>> endobj
-1663 0 obj <<
-/D [1661 0 R /XYZ 56.6929 794.5015 null]
+1668 0 obj <<
+/D [1666 0 R /XYZ 56.6929 794.5015 null]
>> endobj
470 0 obj <<
-/D [1661 0 R /XYZ 56.6929 670.4118 null]
+/D [1666 0 R /XYZ 56.6929 612.8238 null]
>> endobj
-1326 0 obj <<
-/D [1661 0 R /XYZ 56.6929 638.8546 null]
+1331 0 obj <<
+/D [1666 0 R /XYZ 56.6929 582.6371 null]
>> endobj
-1660 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R /F53 1313 0 R >>
+1665 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1666 0 obj <<
-/Length 3874
+1671 0 obj <<
+/Length 3806
/Filter /FlateDecode
>>
stream
-xÚ¥]sã6î=¿"oUæÖ )’9÷´ÙmÚ붷ñÍÍMÛ™“m%Ö¬-¥–¼Ùܯ?€ õeÉÙ»Nfb
- @
-–Ã8aÖh*Âý÷„ d"YÂyê—Ǧ
-Äq( àò5å„IHä±1y
-@ÔíìyNŒ¡Á} ë­
-î5¶z°SðÀ.µ:DÎ.yÝÓØßâXy)š~¼¤Áo…xRØë©8Ûe—²MøPئÚC<!gžSnBƒ„Ýj’hyeã¨"ÎŽµg1ØÒ«‰ØÃÆLË8ÌÔ;-×Ì]$ô%7ËÄ•RÛ0ÍþX{ýËvuE­U+ø®â¾³„¿½î»íalO'Q˜ þŸhÀ¬Ë— õú…rYiÞá¤Vv€†¥2 ™êyÂç”ðÀÅ+ÄŒ‡”ÉÀ ^óÔ];{|tôÆ…ÖÚGÅ:Í#úò<4]ÑL§xP Þú$ÒöÅh=äeŽqì†FtIÖ@@2ŽA{xPˆå7ÿš*©¤L@^й $àk~¸Ÿ*Ôve‡ª¸Þ®¾é\ÿ”q玦¡#ž ÀSJ½À’e<ML›õ­·Yùà|%O\ºŽôöÙ35ª‘kNC±Ñæ)"8 „nòºhåêð] -¬/‚ ç‚<2úkŸìÇV¸Átæ5¬Þ¾çLÇédá2nŸAËmsHû±1ØfkèˆÀÑ­ÕTU@$š eCÆö"áÞŽï œ?!éi¦j get(+üe‚´¬LûŽiÖûŒ*`W‹ŽŸCÝáU¨8p&©‘O!ÃN`2é¤$“®k %™z)A‡—´f¤yë\Qà]Še›¥Æ¦xÀôlºŠb“¶Š2-!0 ûÿIH'Ö%­È¼¿Ã‚•­³šŠä:ÉžRq¦„œ<œ 'ˆÇ ‰’®Þm}½Û„Òuü@*ù]M àÔ ¼¢øÍATý¶ƒ2|bµ8ÿZ@ôCEppiÇU7•vÅgŸÜöÖóì ý8¤Ã:5ñ·\IÇ̬=O]H/Úý)'ܾ0L i;Êa˽‡˜(`›L´ãìþh ¹6Ãhkuî’Ûè¹:bÌ{•E€ú8 á]„áz|_²CBjâî7/`r<òKºQ„¼õXîòÚm©_Jéƒa&NF÷ÂßCnÿ·P!Ùûw6VècÍ -Vg®[_Ñ?­ä©ó¤Òéø´Ž'‡´—¡êûŽ®”\¶¼ø>ßíöΚÂA€(¾œ
- Õó¨fÜ&*–‚ „…耠}lj½E¸ú6Åm€CgG¨µEï¶ö$a p 7|†s#À™mœ ˆÑOÔÚ8XR¢Ì7&¦ó–81IÍtwÂŽi´ñµ€xm‡–“ ôìªÌ_ï5aŠp™è¸<ݽ¡¢‚V{IMg½„ŒÆÆfä­Ú EŒ–ËQ¹¼»LÐ3×x©yë‡Ñi@Ù'ƒÉ€±^á/øò^€ßbŽ}9ÖôÛ¹qŽy«ƒ³/1J¾`u=¬3V°\ ’­·ù¢»ì>¿IY21ýüÆcM>¿S%æé>UÐû) ûœØ xm7ÉU2z{ó®%@`–³Ò©bâ…+¾g^rÇÇýã¬Ø,3ÉYªå„êP`ŠÈ.CÖ¯ï'§Z[>è€{B ò_m2püY†U>¤£ìZEY7‡+×”ìô6þ·®ˆÔL´€ƒÔØD m/†½)W›ÕtÀwWOÁ>ïÇIðð=Nßô5 bêRÜùaÓþÃxk%^A6,0ñþŸŽwÚý)2 ¯ì>ɵhA Ù¤À
-c,‹¥xáê!Í«K@r·vÅfNG Î¥JÏn‘N)Sl ¦“ (/§/LÉ¡¦ï쪙r¨i«îζñ׸¾J¿v<nß…[]Ì8Szuˆ·¹9{.Þ‘ë^_Ò%óÄ{Žp[…¸Ï
-'®g
-¥¤Ó1çNHmât‚õÿ±Öó"endstream
+xÚ¥]“Û¶ñý~Ž…7=Áø Hbúd;gçšÆimu:$3¥(êıD*"åóõ×w €GéÜfô p±
+7òûÕ/¿ñë5lû/Wœ)“éëGøàL#¯÷W±VLÇJyÈîêÓÕßă^;tŽZeLg2a ”
+í8¹Nµa‰’Ê2ð1?Þˆ,Z—Çöf¡ ºmÞaKDE^Èb”Ýéè¾×Õ!›’:êŽÀyÝ>ºiD´iŽ~¾’m¾w­ßOeÛUM}{³ˆeµÛüXÕtšÍ-Ø”nÚºéç°ñ…Ìh-í.öùg&3X¥¬[×D
+ð¿hN»55Ë/eM­•C‚µ÷›ÓÎ=æ<ºïZµø/¢|½¯êªíŽy‡³¥*úÎõÐÖÛCS·ÕªÚU7"Ꞩ«kÜbu{"4OGý+çòá³Áîçö1ålûFy«júŸa=‚¿Tå£Ã\7ôœ²"?YŽØÑíñ&‹N»¾=VÝ–Z9ýáiع×~x±-Ù3AçŒkÐÁ”k&yšÎ+¶CZ ±H.Åœb{,âı,€éOÓ•…ÔÌ­./°fÖé„â̤I2^|i…Pêè±9~&Ñ„ É2¦èà°‘2 m6ôßù1myüdž‰Š£×µC­›z‘¯Úfwêî!ï¶5èJ·Œí)暊Œ"dWZñYH¼ãÉXŠ«ÝPãØJ¹ŠUÔ~ÔÊ[ú§½ì`Þ/%Aì¶\s[9´~Ó¸c!„Ýh"ñ1ÊM~Úu´Ð®)<¥ÐEF
+þìÈ
+ih}Y‚€þI`etsª <¸|WÙ”> 0ÑêTí:ª;G³c $cv¯Äó ÅeÖƒÄðŒJ€¹bI¿ày†XçU"`Ùȃԇ¶ÍZ¥._=ST0•èhX3DŒ¬H„Š“ äuDýøñ¦–#ƶyµm+ðokJ¤>üI¢÷Ÿ>-–Ÿîß»~Ô¢OÑàK0_³£]ø• ¯$ò°¶ìhNŒP ÙC‡˜€Ýã‰EÙq®p•«Rl ùˆ Hf)„F‹Y\‡rc Ö@£•>(IÇl8 |·k­Y «Ë Ë¢À û¼+¶ä÷0!" ÄÓuQYnM/œ“Hu”r¡pÒ9œLeÀAÈqY0‡Xç3`M³8ÖN…Ʀñ dx¤2F¢ 1F*¥ÓaES`™3"«øø5=q„ÑÑØåÂÂ×-i<å¶í’lç' (ºª°IB(4¡ÀjË¢¥Ë™€§»«ñ©­P
+±‚ëª6ãê¼·ÛÅÐlcûPù“ôEþçpÞäCPkä‹&€uÁä{¬À¾žGãj™‚dõ…µ=ÒÌÚ#;gL(9YœÔ ¢6G€m燃uÓk`kk:c¤èŠôд¥3¢»&ÀðÆ¿]ÉZe]b4»¦}ª5b’’dˆ{±Xþx÷¯¹ÂJÊd½ÑÀ\å·àÆ e>6cU.v•­rAR7ô5Öûh:¡ ¼ªH2Œ§Ir¿b›×ÖbòÄ&í¸Þ>¢Fs¤åÀÊ)6B¶"¼É@èºl«ÀW‹o#ia\)LXCäÑj»”_aã@Ü5ìÞ•¿çLËt¶ü y·K eÙ'ÿسÉÈQ`‡»nÖj®6 ÍDl|ÞâÏ"áN›7ΈŸúts•àsœi_\øÓÌÐ2*š§³6hR»Y¤à|~öÕ‡[_wàLeÂŒíšK$ýI`Ji¹¤’¾kÄ%•:.A‡ã´Îp VäÁÄ!®Àd˶üJuõ€IÚ|-Å$¡–2Ï!P óÿqH'Ʀ®H¼»É‚yK¥ržÉ¡*æ,jâXiaËÙÅ%ƒhÀ勞zWõÎ|» ¡¤[iŒâá·ÒMxQ ÜŒŠMð‰5ãòk1•ÂÁ¤VýT&ÚUŸ]ŠëÉmÈ»ô‘%ô GBÚ.´J¾å-„d&Ã
+ôÜKˆE˜q1œrÆî‹Œi¡L¿²?rg!fÂ
+8¦Lzé¸x>Ú@\®³qL;{UÈMôÔœ0æƒú"@]4†ð>ΰ=.–‚Ž/ù±ò5÷Ñw×0%:þšî!{=Õ»²ucêޖR‘±LöW}¤ÅßIxjÿ·€A‚&Y¬. C¬óCÀêÕuëêúÏëyñå¥=ÒÌÒòy5O×^úÚï÷t±dsæÅån··Ú䢸¢*€VO“ÊqHW óÑAGï.Lê¢[å¦è pÈw´~µPú([
endobj
-1665 0 obj <<
+1670 0 obj <<
/Type /Page
-/Contents 1666 0 R
-/Resources 1664 0 R
+/Contents 1671 0 R
+/Resources 1669 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1655 0 R
+/Parent 1660 0 R
>> endobj
-1667 0 obj <<
-/D [1665 0 R /XYZ 85.0394 794.5015 null]
+1672 0 obj <<
+/D [1670 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1664 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F39 1161 0 R /F48 1238 0 R >>
+1669 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F39 1165 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1670 0 obj <<
-/Length 3702
+1675 0 obj <<
+/Length 3701
/Filter /FlateDecode
>>
stream
-xÚ½Z_sÛ¸÷§ÐÛÉ3'š Hœ>ù'u{q®¶¯ÓÎÝ=P"lqN"’²ã~úîbHQòCgêLFÀb ,±?ì?PÌBø'fI¤Y”ÍTI(’Ùj{Ξaìó…`ž…cZø\?=^\}’j–Y¥³Ç'o.„Z‹ÙcñÛ< ¢àfç¾Þ}ºýüëýõ¥Šç·_ï.QÎ?Ýþ|C­Ï÷×_¾\ß_.„NÄüÃ_¯y¼¹§¡”çøéöî#Q2ú91éýͧ›û›»7—<þíâæ±ÿ}E(ñE¾]üöG8+àµÿv2ÓÉì:a ²,šm/âDI,¥£l..þÑOèÚG'÷O„A$Óhb£ÈÛ@-‚$Ë’™J² •‘´øÚ”]g*x¯,šçUáoØsó½l»²z&r]j¼–› µ–Li.…ž›mýb
-ØÌX&ó»ºã±nw¸S ð䉒8ˆ•Œà-P’
-g'®hÀ¤!KLeËÒÏŸæíµ¶K?^.dÁ,Ý€ã÷0Œ6¦Ê·†ða•Ù"Òaª$™-„²$‰ìÝÚЫ<Ѽ†4n×…_š¦ZmêÖ<\ÑoQï—~äÛ6  Ž "%D:SBQ
-ŸV)1-|.Ò¨˜:Ž ß 1«}Ó‚Îôîc0‡!Àå¬=ׄ¾zD›§U2”áqm7!™ïòn›O½ú‰~»õ¥˜3…d:7ZÓ¼€l»ØowíhüÛÞÀ Miú¼£V~ÐZ2‡ nÕmÞˆD}Þ!"½®ÿ1œ2­2‡21eÕvÍ¥žïWSwW;uÓoË¿¯%¼Ù1ÐE¨§c¸©Šñ÷ªšÀ}š‰’1?gJŠp~û4‚a»3«·Ðà°²­…yÊ÷›®Ç¯]"È%ál‰L¹z*‚s2i0©Ô½L' ª8Ð:}Ú>×ih÷\¸bÛåÚ£U{Û2H­Î‹ÐsMÈ0À¶ÐA‡b(„Ŷ cÛØClË1Šll÷DläÌw;S-ô¯ÆOÔôkÁiÙG8ô™
-þmkbÝ{úó7u!áPÇáÈäeJB´zÁ­€ë8`1ŠXć,íÓ,Jkø õX”©<Å8)²OÉ“fTÊ94¾¸¯&ûMŸýCKcž%`‰J¶]ݼ]
-!Ük¡zÉ?¤àäÈ€WØæ|¦ê§Ñ‰;˜²ƒÃ(L»jÊ¥ç(F"ððð> 2ð͈ElžgÔ¸÷ÀÛó/üŽÁ{</Êÿ
-íy—Ÿ]½g:^~Â!ªÁúä•ôý¡"›Ôœº=~€d] üB@Õ4eÁtnžå¾Üt v ³µ -ù'`ÃWåõ,Êë˜Ç–o†A
-´ì¡ðOßĹ“ Á TyðI:HyÂÙ“#3fFèáÑ)Êvµo[FŸÀ—?BÓ, ]´WTmkV‹M]ÿ™·¸ . 69‹Fpp7ö¿h.Æ“¾ä›²Èía˜˜5
- 0uCA+raº¼Ü´ÖÇ쌅sÆÑ‘3Î4D¾3' †£qâœëG$Q®*C‹mºÕB:°Š>_©@…:}ÏO')¤OQöÎaó¹NŸ¶žËúi³jêº;}Ü
-‘lUˆ«B¤tî R!Žõ*D²§B†ó^bAâ}b…ЕC»¤;yØYoóÕ¢]çô' õ9‡äO\ÅbÀ
-*³VM÷GIj)ª§H=æID„†,t¦PÐȶHð&""Ðá8ù5N:¿y±òQ¬Z Ë“í$ÀdZEò<À|®Ó
--ŒŽû’“
-í š±W=^*lMbÄ°w5såFi?q¬¶'–Ø­óÊÉ9F¾<ò3‘¥qžÎÕÏ\‰}Uo·ûª\ÙØ°¯±“•çM½ÌyJØúÓÓ ‰!Ü;pë —ÍÉ
- 
-`Ñ.2¼‰ ˜`Å} ˜ð‚âø»dƽ½Ë²ÇÑÏIP1šÓ7ãÉpø»kÊmÞ”&WÆnV‹8l€‚n>°QOëlz‡ù €¹ý‘ó˜½ÍzÀŽç-ý>þýæßÔ‚ãTµ¹ o­·uÁ% –”+êôÙEr¥Þ«|® 3ÿ§®ð®¬~ƇÊrîxbËŽx1hk–[*
-q
-‡%o hK›X#"\‘ÏFl¶ÿD[¹¥^ŸâINñb¶:yA=_‘ìá’‹ñvù’q¿¹—µ®#ô¶Ø_âÛ¾lÈ„Ö¼²ðÏ°Åæ%·¸ö¡\ÙKyqh¯ó–F—xùçXÍ÷un+—hѽr“iPGE
-ån•ðl#ðY§NÍÉz…ã:'v Ÿ+:·S©$H±K X{„X,7Åñ(xíƒõaÏH¯~%(c'`ÀCt?…îÙ¡QÑ:´¬ý|-[ƒûfÎ'Œ¯Ì!~Ò?…Óvg\Ä
-t<ÌG¨•ÿi¯N¡i¬;z‚ÑU¼®$Fw!¿H¦Ã×.«²+á]Õjéyßx™Ë¦ÎùâÃ]šüIˆ9WÓíwlÍË­sU1¼CsÊ ¸éÛý²…½·—:ö>Õ2ᢧïÝ#‘2y/Žö¹N;žË†9y2McŠÅ3"ñÈ Dx#ϯßsM0ôÉ4J`ÏŽ>ªCgî@j9ß”|K
+xÚ½]sÛ¸ñÝ¿Âo'ÏD0$8}ò%NêëÅIc_§»{ DÚæœDêHÊŽû뻋 ðCrg:Ód‹%°Øï]ŸGð—Ÿ«„%™ÈÎÓ,f*âê|½=‹ÎaîÓ·8K‡´ ±~¼?»ü(ÓóŒe‰HÎ4‹´æç÷ů‹„ v+D‹÷_n?Þ|úåÛÕE/îo¾Ü^,…Šo~¾¦Ñ§oWŸ?_}»Xr­øâý_¯¾Þ_£©Ä®ñãÍí‚dôsdÑoׯ¿]ß¾¿¾øýþ§³ë{–ð¼<’x?Ï~ý=:/àØ?ELfZ¿ÀCÄx–‰óíY¬$S±”²9»;û»_0˜5¯Îñ/Vš)'ÀIɤäÙ<—9K9¤4æŒ'Yâ¹,ø—ryWËߢHlÊñuÆ´Öò<\t²µCšÙZ[Ï4N¶¾*/–R¦‹]Þ?ÕùÖ<éEó@ÐÞM[ò̤veû\¶4~i«¾ì¡ê;»h{Áa±uÙYÀÍ‹Q£J¤bqc7ª›Þ®¹+×îVï
+ KÎY¦”0“Ïy{ÙîëK<tAÿ3­:`—)‹uÛUò$É,ç`ðÕ*<`Õlß•V¯4cyòØæ[‹Ó?å=ͽäuoa Aº²¶ïwÕco:?mŽæI³G#«5Z-Ú ½Ø×uU?âs¼ ㌘'æñâùþðŠ¨Ä¯<‰YŠŒ‹Æúj«›ºœá[™J¸¶/U—¯6¨"øŠ%1FUs‚®âóa£xñ›©Ûr:ûRm6]•Ä!&y:’<ªj_Ö€š‰EŽü¥Á+ø¢ü^u=± Àx43°«Ãhe!Få¶yÍ&Jµ¸mz;gd:e¤P1‹Séy„qB±$Ò"¡*éçòõ¥1[‰ÙN€A<AY[<#ñCG,Aù² £<к%ya³/üÒò0(ëõ¦1úl¦kú-šýjc_ùs èØÄm[ߘ$‚e’óÓ4Ä:î@=ž -×û¶™q£œ§,Šqš5CÂÀ`žNÕã„R'Å'£Ö
+þ‚/,Ì+­r† ¼Ešq±ßîºÑüŸûVh«ÒOä=òƒÔÔAu¿y%=[èå ôŸœ#D>fC¨ê®7¾cÝ;q£C"qÓog_*8ٌLjRÆã$³:ÜÖÅšð½¨æ†b*•Ÿ•<2b †Ãah{²úç#„Õßi„àl‹g©3@ãöOÑÁ5I¤ö4Sm1¥ôš}@:¡Ø ·ëú¼Gg´îŽ*¶„Цӓû{¤)µæš%qÄP”‹â0?€'“DV;àcŒ=Ð瀙ïvÊ:;áÏeßhèר¥Ai`ˆTØß®!Ô}7´ P²(ŽÔ06’&Ê„ˆèf$C–¬²,ˆöÏš<^¢<ßæ)Æå—4uÈSyD ãòWž ´ð= ä4iêBº]ÜÄî&=“!”ÿÐÑ\à,E•õ}Ó¾^pÎݱP¼ˆ rä lskMÍÃÈÖNì*Š²[·Õ*#}òmøs®2P÷8MQi²}<§Á·@u=þ2|aª»Óu‘þ;8pÕÔ®‰Ô
+‰©s3˜
+’‹²Ï«Mg‚qlƒ1wÁXL‚1wB„Á˜qƒ˜ŽByýß”ke¿¾D­fFÐSòÓ”¥‘NÞŠÓ
+׌xú†ÅX',Îa™P]®Û¦é[èÏNïïföj³ ÜdoqÚ[L•<BI,
+|‘—Õ±h
+r?Ÿ^;c–¥èwçzcJ±˜§bHâo‘Š0FŽ»™œAb­ ÃF;ÒòäÏ¡/Cü©ÚMV¤~RpÓÅšÅõ5„^.MÕßa½AÇt5$%"3j3Ax¥ühÚå-Ô?ûMÞœDa΀ÆPw©Æ8ΧƒâÀñŸ4j¹k6ÕzN\˜ ù ‰G¹…"á§:Ô= ¨¾é¹iÖùœ†JÉ¢,rªÓì\r–’1 yÀ¤¤ »öšjª5|¶ž¯š}ï´+/ʼßÓk TŒu¨Ð+ù†C °N8T‡5r¨Æ“õ ¢WÊ!ÿ=I€Çš¡`ØvÑFœI 0ŸIòn8°±>£
+!ÔS…qä
+¤t8Oq æGJ篣D«!åj •¡mÇ,J˜Šã7Ò!Ö sX憤iûñ¦©bÀ~zS‡4³é¨Œ37µ½:½øåÃ×Ëû÷_éÁ£tQï·+jǹ;¼H=:,§Í  RB Û7*«gÓ;FÉϼZúáöŽ^µåw߬›Ý«Í†¢\£‡Ñ±o<qð ÉHÅ‚D<µ­%½€p„:
+ÐíÀ³•¶ëy¬¥9Ì@\¾aõÁé(} ƒÄ-sÙ§¢Û/·×Èžãj†7*qö–šX'ÔÌa›oš,~S>;[6˜â•MEL€×?M…Çš!cÜÖ\$C:î/0khkº2 uðEm•amú)71W£†„`e¹ÿùCGèÈâ¾ÙxS>—ûzƒ9mg£§võ¼áúñ¤O)”£|\­™?N"s§S»PÝÊïë;°òF›a>BdHÝ2|¸£ò°*íõ½/(ñ¡ü¦8¹´_ÙÙm^”Û¼P »y)½ï33¯öæßsÒ~…@ì„‘ÏeR¹¸³¹ÓÈ™ü…nš ̧#Ðá{xèm.b/³Eî°L4×È·Ò…™Ô^xÀïDê ¾‡¤€“fJÛÚ\ ÃÁÃïn?ü¥&·ÿüðåóÕÍíÔ#t¡‰û;у#y{õùúˆÀN$Þņa(ïG…Hà‰°ÅŽ}²+ÃïlgŒþYÁüÏŸó¾u†ÌGj}ĺAl,Ö°ˆ%
+Y¨ôÔ­¡¯HÄ éÿóBendstream
endobj
-1669 0 obj <<
+1674 0 obj <<
/Type /Page
-/Contents 1670 0 R
-/Resources 1668 0 R
+/Contents 1675 0 R
+/Resources 1673 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1655 0 R
-/Annots [ 1672 0 R 1673 0 R ]
+/Parent 1660 0 R
+/Annots [ 1677 0 R 1678 0 R ]
>> endobj
-1672 0 obj <<
+1677 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.5592 649.8203 286.2499 659.2299]
+/Rect [222.5592 595.4921 286.2499 604.9017]
/Subtype /Link
/A << /S /GoTo /D (statsfile) >>
>> endobj
-1673 0 obj <<
+1678 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [80.6033 496.1408 149.9876 508.2004]
+/Rect [80.6033 441.8126 149.9876 453.8723]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
-1671 0 obj <<
-/D [1669 0 R /XYZ 56.6929 794.5015 null]
+1676 0 obj <<
+/D [1674 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1668 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F48 1238 0 R >>
+1673 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1677 0 obj <<
-/Length 3656
+1682 0 obj <<
+/Length 3625
/Filter /FlateDecode
>>
stream
-xÚ¥]sã¶ñÝ¿ÂÓ'zæ„@‚¹NgÛ—:¹ó]m_ÛL’J‚,6©ˆ”}N§ÿ½»ØEÊ”í´w3ÖX,‹ý&Õ±„ÿê85B†Ytœd‘0R™ãÙêHßÁÜwGŠq&iÒÇúööèíû09ÎDëøøvÑ£•
-™¦êøvþSpö×ÓÏ·×'md‹“‰‰eðíåÕ9dôsöéêýåw_®OO’(¸½ütEÃ×ï/®/®Î.N&*5
-Ök¦p`ÁûË}w}úñãéõÉ/·ß]ÜvgéŸWÉòÛÑO¿Èã9ûû#)Â,5Çð …Ê2}¼:ŠL(L†~¤<º9ú[G°7ë–ŽÉÏ„©0©NF¨uO€JÅljÉDêÐ ð÷º²'“PfA½_%ƒªnA
-Qš·KKCù¶]Ö›¢}$ÌÆÎÚ¢®è¡h§lj±_óUQÙ9·µ_ÄÄŠ ´K»9Qi`‡tì}1·ÕÌz¤¼e:KÊ«æÁ2¯°n
-Õ»4x²«µSï(„k™ûu?K#«š`’Ö¬v¿sFp꿤d¸8_YX¥h¸¨ÓhRéäT
-§®ÊÇ}¡8A:ÈAà·­Ý0^û¸ÞžS*N¯~<QJ£Â»ªžDIÐÔ+†n?œ;%ˆwZŠÃD€ïÅdÅ«áÏZGçø÷ Oøá$ÓÁß»ÁÔ ~¹Á¿¼g5ßaürsñå#B(K¦{»$%M‚²h˜'?‚LŽÔ~]æÛÕÒIáíûHõ" ‡àW£„ ¬^ãÙ€`,eðoG.JDªe24ÄM]·“0&$\d¿ÎÊíÜz
-îçOsû§w –÷¸m:pµmìvåÿóÎí<Ýš&G
-i š8Fé–‘&},
-j$ÂvX¸å¼hòii'yy‡!`¹jöYP‰)pú, i„…AŒJŒHÒ4òpN<ÀUÇlK:ƒfmgÅÏRjô›8s~ussqF“=vݪûujS[Ö/QDkFíƒäàã¶l‹ ÝMlDA
--£Îž^qs (ˆŠ3^€ñ*ñŽ#‘»«z³ÊK‚;×|Ÿ'an™74QÚEKC_í#Ím«vs’¬ìœwD$ºÑP ÃM®ÔãOòj¶$™êΪ5[uˆVm«9 ‘õÅxå€0”¸Ðú9§Ø=¦2ã›ê
-›&biâ õ
-ÊÞ`‰ž²_ÐÜ‘ÂîÌvC*TµLˆé× VV™‰0Ü+Õˆ3ñ´¶´yÃtà\qœRÔòù
-|j,CyÚOã÷ 1÷M]WÏPG–‚QÄå(ŠöU;‘D1·ñ8 I';jìJ~‹ãæX´+hq’´GbºÝŒ¿…{zí˜÷ù¸Õn\arÈs¦`K©÷÷äôö« 5¿ñÎ~•WùÝaz4C>éxs9Jß
-ÿh_‡4qºã»Ü”ˆGFÄ2ÜKwž'VèDàW2iÙk£9F:¸liÖ%–€_T­o±ÂhËT¦L•C4âW43««m«™ï+ŸÜ”Æ}x¹ íx‘CI»âS˜dg¤Jû%u&”IºwPHEaKÿűgº×Ïàãˆ? iàꯜ§¸—bëòy\ÿI€«%û&ç9mWžAú NvꉃRći/ó{Æ+mu×.›áw
-¡f_I¤ ˜˜Ï:·¿eñ~9[û¬éúý/‘Fñ~:Ÿx» ¹e@­_çmn[\~ŽÅéõgÌÇO÷¿¡ ŠÐÔÁBëóîKjwö?ré §ÿ±JÖ5øN-¯ ÆÈ^9/Ç:2ÚgZÒ{Ò†@ê›6XÏîc•9í„D®&§ççׇ m›·y¬ð+–âwwn ~vuúñ¢#&±Ç³3‰‰ûŠd3x  »o~ÄÓeÂD±éÛØ,¸…€1F1q4èžhîžà¯÷{‰Œ"ºKAû¯…øe µs†S|óËllÿ?î’^þ_ &j˜pòï ÿ‘ÐàscÛ6ïl0o÷*ÉûÂ>ô– ÎCA¦xoË6è*šáNu5ü‰\ùd¨ÝΗ@¼oÆlð€ËÔ‘0‰~…ÇL£.Ù®×õ¦å¦Ÿkˆ…þ¤?Ž4åc&Ý«â$‡UÛŒ§ÐÊt­ÎÓ³ƒÐB¹ûîŒ÷æj§<Õ½¯Ê`&_àù÷ÓGšq-~GBú”î}Á°K\&äîír±wOÓf·Ytã®'ß<ó"Aá7I¨;s{|÷â‹ qèËÐü.r$/’ÝëˆÿûóËÝ·©Q"Â4Õã V(c‘jHĘ)dÜdûœwßi>eý¿ÊŸïÖendstream
+xÚ¥]sܶñ]¿BÓ'jÆGA€I§3Kv•Ä²+Ém3I¨;JÇšG^Ž<ÉJ§ÿ½»Ø?N<YiíÝX,‹ý&å±€ÿòØêP¨4>6ij!õñb}$Žï`îÝ‘dœ™Gš ±¾»>zýV™ã4L“(9¾¾в¡°V_/Þüuþñúìòdi$áÉL'"øîüâ”FRúyóáâíù»O—ó×ç.høòìíÙåÙÅ›³“™´ZÂúˆ)XðöüÇ3‚Þ]Îß¿Ÿ_žüzýýÑÙuw–áy¥Pxߎ~þU/áØ߉P¥V?ÀƒešFÇë£X«PÇJù‘òèêèoÁÁ¬[:%?­l¨md&EJpœ†‰Š”àùíÉLÁ‰3ü‘Á2/ó»¬-ꊆëª|$è÷ºÊ jòí}¾%ü¬lêÁh3 &‚Ū(—„ׯ.Zþmh¦ªy +²G&°©›¦¸)yI[{æÚ|».€ˆÎ>“2LµŽÜAVy»B¶"¥ƒ¬ò¿Íƒ[ÔkäÁÛ퉴A½¦'XFÀððøL‡GˆØwcÛ½E|H
+¤„®>Ìiìâ
+à„‘N/®~8ûiꎩ|Q»ßeÃëhLmò/4ìY3VÑnoŸ×Y |VwôDKšM]5L¸]e-Í-êªÍŠªñã9¡$Óû4Lpʧ,ü:ÂÎÚ|9>)Ym†hÚà•S
+–( ž¨ç9è°&X©XÅ™2ɘ‡›#9í«‰‹Œu˜
+ $²¼"Œ#ãl(Ú`rÓÐ>tG
+¤R–¾³ÂƉdœ8H½x„ÒWX¥[ö 7¥°A³Û’
+U-búõ-k«HC¥Ì^„vœA”§µež5<€qΕ$–»ÛiÜû+Ÿ ÙÜóA&Ó”:ØØwy €%“x¦ö$iÆêeº ˜FÆ¤Þ ½ñÌ×*¤j2è~‘Éo/ëѪm7Í7¯_?<<àé¢Y„d•w¯›ºÜ¹Êûõ²¼'v丄’¡Òóóçýò 2 û4ÑÇ
+ß(ËåM>öÐOK†nål¸Ô• #žî€Œüe*u MlM§¹¤ÆÐ{“‘'Ãäâe…T\ ä÷¤b2ö”‹ë†PŠ©{•²U¡ôKî5 ÓH]?R¥.$lx[ï*Œb½QÁàXó4füznü"n½ÞdkÈmE£‰$
+ž(‚$÷kþP„iª’±<ãkê=»ÌËGê|õ@¿-uŒŒ¦X
+w'‘Õ!8ÝÃiþ ‘_ûÈ×ÔRpªc>®¹¾yVuÉÒ0ù]ÆÓ]o³—iÖü"’·l6}"¹
+ëÙ¦ÏëpÓ§Ã$k¬`oòÀ»íÓÎ5aGæy6:¬ >F9jÜãã
+5ìÕ02ÁªÈ·Ô`[
+m$¿^—ȉC»]»Ž}ÇR%v"Ÿ çPžöÔø]H½S×ÙÓÔ•¥`sEŠ
+U­o³ÂhËTn˜*‡hįhfQWÿÚU ß%–>¹Ã–ゾì‚\†v<Ë
+M¤]‰ÁÆôV@ª´_S§¡Ô¦{•£©(L`ퟠ8ìþÛè>WIbþ€¤«¿pžâ^ŒmÊçqýg®˜šœçdºeùò_ð²7ž:hEr˜ø*»g¼2¯îÚU3þXAEìLbáË€Nð¼s\)ï—1±O›.ß¾á%BG“ÌÏ—ËïÂÁ#w ¨›à+½mËóI8¿üˆù|ÿ‹
+«ÝøïX_.Ñç'®ç9üÔe(á'+éð=Ôèk´½‚z#{ýT£â>Ó‚Þ–6RŸ\÷Ø`?ý'+KÚ ‰\Ì槧—‡ íš·y¬ð[–âwwn þæbþþl"ue«tˆŸ%NxMѵ+ÿï¯ûOCc*k£i÷«DÚÜ43…’Ôé>çÝg’OYÿ/œuÕðendstream
endobj
-1676 0 obj <<
+1681 0 obj <<
/Type /Page
-/Contents 1677 0 R
-/Resources 1675 0 R
+/Contents 1682 0 R
+/Resources 1680 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1655 0 R
-/Annots [ 1679 0 R ]
+/Parent 1660 0 R
+/Annots [ 1684 0 R ]
>> endobj
-1679 0 obj <<
+1684 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [278.4002 357.6318 280.3928 369.6915]
+/Rect [278.4002 306.133 280.3928 318.1926]
/Subtype/Link/A<</Type/Action/S/URI/URI()>>
>> endobj
-1678 0 obj <<
-/D [1676 0 R /XYZ 85.0394 794.5015 null]
+1683 0 obj <<
+/D [1681 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1675 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R /F48 1238 0 R /F11 1451 0 R >>
+1680 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R /F48 1243 0 R /F11 1343 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1682 0 obj <<
-/Length 3403
+1687 0 obj <<
+/Length 3321
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿B÷y&BðA€€óä$NÏÖé9¾éÍ´} )*âE"]‘²£ÞÜ¿],@‘e·sÎL,–Àb¿wI1áðOL´aÆI7I]Â4z’¯Ïøä ¬}w&Î,"ÍúXïîÎÞ|TéÄ1g¤™Ü-z{YÆ­“»ù/SÃ$;‡øôý§›×ßýóöò<M¦wןnÎgRóéÇë®hôÝíå?^ޞτÕbúþï—?Ý]ÝÒ’ {¼»¾ù@G?'6½½úxu{uóþêü·»ïϮôï+¸Â‹ü~öËo|2‡kÆ™rVOž`™pNNÖg‰VL'JEÈêìóÙ?º {«þÑQþ Τ2r„RöhÓÎéIª3J*ÏÀ«,_â-
-‡’,qt œ×… VáÀ my#â½&‡*XF«ñ&ŒÀj7°¼#]Xíž\tG¨¡/ëë1up)KOÿŒ:¨ÄEÏydéáȪƪ”fÜp34V4cžSO-XšHÝ9è2éÿ6îÍÔÑççèÀqûlÕ }òŽéù+{ó0x8xîúJ¼“m²rå¢bv
-~ÖÉ[ãrOgi ÷yí¦ïvÄË™1 #ð%ç‚wðÃ@‡ä{¯`"QÇ|«
-ž¦Ñ±mŠ|»iÊÇbVW«Ý'Œe)71•ÞÁËÀáDt¡,“FDcÙá°C11vç`ã.&‰i³«PÔñÈàæaÁSêaK`&x¯¢¢é‚ÂŒ¾Áß × úû¶Ø”*œ¶ÚK³c¬ròÀ¿v*ç#w3rËD±D˜hVU=®F0:ÐÚy‚i±UzZRÀyc¢ î7Eöu [SäcbÌ&iOJ|œ—Æ¥”0%­}^J)ãJ¤„ûE_Žg쥄Óy`„²AÁà¸xô#î(ì¾ß*¨=°Œ#Æc¶*çY‹þØßêí*fn•¦z(±<Ûz¿ SU¥E2?_½'PØŽ0Ìà·¶t8*¨F\i—^ådLq J°4h¾´ã<•Fb¡>« ³6<ý•küF•`s´$zTXúð©O‡t¤ÓH`õY¦)Óö0«Íëu—»¢!t™ ÅÖy?»ôY÷¼*¥ºŸ¯¿ ¡¬>Ì’}ÈγûU1_wèáÁ¾ÚèNmúñ˜ô‡>0¼”Y‰1Sq–(ò¡60N^ä K“ÿÐàoìÛ0„âDûF˜HðFÈ0ÿïÛèJcz½¯”<‚I.>~tï..Þ8OÁ'ˆ¬ÿœC"Sa´èQã³ùƒ³úÏÄÑ{äoáVo_ÚA ò“þ}²Ãà ø»àðçÿÛ¯ŒyÆ¢üŸ%”ÙèµéùA ‹f’Hô‰òTÅKH³>¼b¤cÐa kœmÐiÌÖ5¥g}„æ jähè°Fˆ˜1øñ4áTx'¢tt"JïŒ#ŒŒW…
- Ú°²Ït`>k[„]#† ,ð^×ÚeÕbÖ{ìs€±B[ãC '£Ÿ?¨\S¡*A²vÅÈyPYBªf»ãš¼ÅñaPÃI–¦Bu"ð
-YÛ¦‹Û».ÎSÁ‘ùf­•­øöPnBŽåKjñ©Âd¦´ Õ½L ÆÞ9ÀoÇ7Yù?¡í²­Ù¦ˆr:t€Š¥ÎÆ‚•Çê“Êã˜\¼¬;Út ;@©'À²ò*᯹¹Úqª„´ÝoÛØþÁû Bq¾,æÛUl’xÅ)ª¬Êc§#´7ŽtˆªOÙ`Â6ÑÏçÃY¸dZ”>3ôcÜZ8ëpA<CEkÆZ'B£¬~‘’9Ù5<‰¸5Qþop¢4ï¼'¡&`F?áAdˆûäsOAíÅ@vp<TThH›ÅA7¼‘Ï·“^ƒAbo,§þf^ª€²­²G¨*( Æ…ÑA@öâÜKÜà€£L¯ÿ „g—´óÃ*«(dâ1Ë’t‡È [z=j/‚)ÕµŠo¿÷ý%y”b§=sÙWàpbÐœÀ™ÐÌeN™P&=hTF_
-Jg{Î^Ú$8>«c8Ça,Úp ¢ÎÓ÷Î,µuý6ÛûuÙ¶Ex´¿[€äŽ£Ç2€æ»¬ZQ°ßÌ%k#ùn4”®&Ù±!°~XkÈìÁz|¤‰¢ ÷Ž#7ÀS8eU÷^K¡M@Â=}W׫" îò“\s*s–ðDfñ|æÜÇ:9wX!tÕO3pR3äÚÑùèF¸ç è°F(¤Íþ­RCbÿcبãL
-¥^jP8%ûŠjE(3•¦LÁ‡úž:¼ÀÎô|N.†-ýnÎ-Xq[úwð8êΈ;é•êZhÕ<ïvôz7Òž¹»$>Aa
-I×öy5îcVã+8šå¬ú:ÿ‡J Ijâùã;¬‘ó‡J,XÂe2$`T‰äŠߟÓaÛÓaÙé0·±±sØ}ÔL&iTŒËËñ«6"¢ÜãëGÅC ß®ž²]SAŠou+Üüëç/¯oh¶ÚM zz~Ãý†ü{SŸ:†Ó(¼B#S{Ð' Ïj!ÎÛ-%Û~¢¬7@°
+xÚ¥]sÛ6òÝ¿Â÷Ty¦BðA€óä$NÎÆé9¾¹›iû@KTÌ«Dª"eG½¹ÿ~»ØEJ´Þ93!>Àb¿w!u*áŸ:µ©H½ö§™O„•ÊžÎV'òô Ì}8Q 3@Ó>Ô›Û“WïMvê…Ouzz»èíå„tNÞΞ¤B‹3ØANÞ~º~õáï7gY2¹½út}6ÕVNÞ_ýxI­7?^ÜœM•³jòö¯?Ý^ÞÐTÊ{¼¹º~G#ž>OlzsùþòæòúíåÙ¯·?œ\ÞvwéßWIƒùýäç_åé®ýÉÆ;{ú)”÷útu’X#lbLYž|>ù[·ao6,¥Ÿ’B›TP«Ö{{šY/R£M à¼jÒdÚ›‡bƒ·5º·&Å­M
+!p^ͦ¿¯ò€bj†6œÕU›ÏÚ±‘&™bèY^IS?¹+è»mŠ9µÚš¾Íº˜•‹Þ3\•¯¸U/¦ø2¡‡FD(tõf¿P<ª$‰Î€†J o­ØýQWE²a”œÜÞMAìÏ7gÊM¸Óm›ß-ãTK_BeñH­Wô©×mYW u–ÅC±|ဪnÇNª+†¥Ïºk¦kZú‹”ú+ÍÜåM —ÀkJ¸ž†‚„âõ.óÙý?5Q¦³>?Gø¨½p‰a f»^×›n{O§ÆÄ«æË‘3|*Lû±,Ë¢‚Õǧ#”• Ã]¼ý‘Nhï‘ÐxƼh‹Íª>ÑÌã} —
+SqWÂ)’gòvŬEaÃé»Í´÷eÃáŒðÆ™¡DÌKÚgÖ–3îjqÀ¨y UÌ¿§~Ù/òí²eÞƒ|‡û&®¯Ki
+Ä7ºS¸Ýë1Újª£Š`„½‰]ý&alf_ⱩÎÜ“µÌ“µtÏ2Y‹L§qù*_¯‹ù½P‰Ó}ãÄc<¢)–@p>—ŒãW?=$ŒÌ|N|iš¢¡É½A'Ø€»ãþb´KeÇhr,eu È³zÃG¬ëj^V_hø‚= hç‹òð§ÅA[+’̹ÿAtæ…q^ÅáºÞ¬òårw¦”š€x0‚ï®?÷§&I'uõ]KM Ð•"±zaˆºóz•#ypˆÌ0¶X%a¾~Dó†c`>yhC«ºSCè]ÀͳRÑì¼y £>AÚ7Eg¸zZx
+vR× c…~ a–ãq|ô‚é³,›– ãÈxÊ MR@E¤CÉ·&*ŽM˜$8FÊ/³`Nå‚&PÎÕdGÔŽ|Ã
+VVc¬©<°Ý¨iúœxZ%²DÛÎ@¿F¾Ôš{mÓ~ä…ÛçËõ;%ëˆ#={…ÃAýa,5uÂ2¸WÚäå2Å°âžwb;Úd­qº'³4…û
+¢’8›DªþÕ£qÈøHÔ.…̲è46Ål»i ¦™ÖÕr7¶;‘ÉÔ3x ¼f
+'ª£ðàã„NU $wÅX€§(Jí+Q6î|’š4»
+Yd3Ó0vÄëUTÔ]»ÑÑ6„›á<þ¾-6eˆë­³›a×æ ‘ ž»¹ebDaß ªÇÅZfè ÁµËÓÞY¤OÓÈ©»M‘ÿ6…ˆ­)fc|R–g=6i%‰MØgS"ŒîbŒ'Ø” iì€M¸_4æxÆžMØe×-drÛî„°Ñ“ßQr¿Ë=Ð=´#ÄC¾,çyKÑ4Œ?ÖÛe Ý4p*ƒ0và>fù6·ª¢ùùò- ñvä¡¿
+® ´ t—Œö° áüÁY}AŽ>¢·ä/|«×/í J‹>Ú¼øü|çþÂû™ñm!ÐX”_ãZ™\›®@ë%2Y”JOM0”Jž(iдu\ъ嶊9¦qº]£Ñ˜®jŠÏú((+Efý 8tP#H Ô y–È,‚16c÷FÚqŒ”×pŠ…-ÏìCè€ÍÚ¼ËbD”Ú+å»L»¬Z {mVY«o%£“ÓçÊ× §%ˆÖn]Œœ©%ÄjûľiG‹‡Äi‘eJe"–hÐ àme4ÐÓÒ“É)Áܬ®0€ú²íòœC0Ì°p¾ƒ¿œÑ8±Ÿ·GÛÚGrHˆæÎ%€§µ¡^K“›/§Ô¸éID?í/8–ˆã}ñÚŸ±h
+ì÷]Ì]ùaëPT£“ý6Ô9ÄDÜ·-$-8´eˆ5INÚt*2“ú¡tçÁy?©Bá¡Ø ßÙ}^} é,tŽÓV«ÕÞï58ôðȼeùgÐEÜ•</4X{Á$c1sÆ—¢*6p‡àôa4¸ïq$FLý#е r:ùí]çç)ãÈC5ŽæJ+¾®Ë ÇX!§?•™€uuÌQÛ‹´ Œ|;ºÈzÌþÝU«zº)"Ÿ  ™ïŠ(<Î>)<^X%Õ˲cS™ e0 „V‡‚H„knF®v*!nwÛ6Ö[Ÿ+žÝóí2VI‚àU^Íb©ƒëG2Dé ±§l0`›²ègÝ0YùdR”!2 mÜZyqÂ'
+´f¬v¢ð]ÁÙÉ©…×Îȉ[æÿ*ð û(Ô4˜ÓçÀàiÂ>†ØSQ}‘ÑfÃCI……°Y%C­kâí¤WaÐXËÃK
+±³žºìSp8‘%‡)ÃÕ<æL(“DÀ-¡s=c¯]†ÏÙèα“6l«s‚ Å3GuÝ°ÍönU¶á» ý5oIÄwl=”<4ßåՊЈb„giö¯?F0*J—“ìŠXX­—Å
+"{Оà©F¼(Ƚ—H “‰$Íö×*àÚÜ“7u½,r6—Ÿø‰ð‰Èß*A;³ç#ç>ÔÓ‘sÅ®«~œ‚‘š†‡Ï£°,J•jƒAØž}Œ¢ëÃJZóRÂÝT§8Í4–"…àN,>-? `iz>'lÃó-~7g´¸-Ãã,GÙ{ø–^™®†VÍgÝŽAîFÊ3ÀwŸÄä0Ø_mÄaü,X*¥úGQÖ(«ߠjµ|c…Ï¿7(üô<x’V»¼HÃqö…j× hú”KÌÚSû‚÷ žãņæ~Z}åÒÿ¡CЖh¥ž?¾ƒ9(ÄJ$R'CF…ØC¬ØÑý9v=Ö K ;‡åG+ôþ÷ã5V›ªr‡ïFr O—ùŽÛ”â³nE×ÿ|÷éãÅÕ5õö/ MÑ0‚TÓ .èËñ¹ë~‰Á§ñ/-”Й;pdY„À³vKÁvè+ë ¬@5éÅ=ÑË+ÌïåÕ¹qyUNcÔ”~»À¾ŽÔVßQ’¡Åltä‚bàÍðχ å¢)½.AWoy®æð·.ì
+ß+Ìh+;Êÿß¿“Úÿˆ "Èäô¸¾‚àáo$LD*xbyl¡øUǨÿC¥½åendstream
endobj
-1681 0 obj <<
+1686 0 obj <<
/Type /Page
-/Contents 1682 0 R
-/Resources 1680 0 R
+/Contents 1687 0 R
+/Resources 1685 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1685 0 R
-/Annots [ 1684 0 R ]
+/Parent 1690 0 R
+/Annots [ 1689 0 R ]
>> endobj
-1684 0 obj <<
+1689 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.7896 405.8617 476.0457 417.9213]
+/Rect [406.7896 338.9496 476.0457 351.0092]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
-1683 0 obj <<
-/D [1681 0 R /XYZ 56.6929 794.5015 null]
+1688 0 obj <<
+/D [1686 0 R /XYZ 56.6929 794.5015 null]
>> endobj
474 0 obj <<
-/D [1681 0 R /XYZ 56.6929 269.7565 null]
+/D [1686 0 R /XYZ 56.6929 199.5597 null]
>> endobj
-1370 0 obj <<
-/D [1681 0 R /XYZ 56.6929 244.2549 null]
+1378 0 obj <<
+/D [1686 0 R /XYZ 56.6929 172.9475 null]
>> endobj
-1680 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F48 1238 0 R /F41 1218 0 R >>
+1685 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F48 1243 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1688 0 obj <<
-/Length 3421
+1693 0 obj <<
+/Length 3456
/Filter /FlateDecode
>>
stream
-xÚÍ]sã¶ñÝ¿Âo•gŽ ñA|¼$öÕ™Æig:i’Z¤,ö$R)ûÜ_ß]ì‚%JrÓ›éÇøû]ˆËþÄ¥‰ÃHeú2ÍtG"¾œ¯/¢Ë'x÷áB0Nàë뇋¯nTz™…Y"“ˇ…7— #cÄåCñë웿¾ÿûÃõýU ãh–„WAœD³¯oï¾¥‘Œßüpwsûáçû÷W©ž=ÜþpGÃ÷×7×÷×wß\_Âľ—<ÑnnÿvMЇû÷ßÿþþê÷‡ï.®ú½øû‘ÂüqñëïÑeÛþî"
-UfâËø…"ËäåúBÇ*ŒµRnduñÓÅý„Þ[ûéÿtlÂXêä2ˆeh"9Íä(Œb`Zj&Y60YŠ)&;,drQå«Ýf¯Bè0©¼ôg<X·ÇšXXz ‘…w8Zùv«~u£Oc˜ YŒ×²%”ñli˜)içÈLD³nYÖ é,C†¢hÖ–Ûçr˃Û+afeÞµô._­èÅ¿›ºtc- U ú ½ÒHN_ÓpÑTõÓð1ãnóº]”[ž"ŸÛ/šÖMMÃÈë ©ƒ¢\çu[» T:fÈÌ0‹cé %Pq<[UõGؤ2rö²¬æKç5%>“Ù#­¸{ZvôÂ}ÿøJO q(¿E‘œÓ7Ͷzªê¼³BœM²æ/–UK³ìlÄ0{è_-ó–&+*;=0Á2«îìþ"·12é’qæ(%4pjÞØ
-"†º†žÄ];òºaÙ
-Ö<B i;2ÃT)t_Ö‘¤ö%.<!¦,L´Éx‚ÁUî­£À5kðj„ÖlºªÅ‘™M£XÐ#¬,‹a Ÿí¦œW¸÷² ª&Ônš:Qn‘çª|™ DÆšLìéÈ䦌2Šq¬€&&‚hDN?Ûìl öÖ¾#99ZÙ#!ùó¼å¡Má³y&_0ã!Lés_¶Ua°¯@O«æ±7ŸôfHuúy¨ÄŒåÁÒÊJɱô!ƒÙ‡
-©¢óŒ²aÂJ )M’³¾BÅ©v8àÄ‚£óé,”qoœÎÛf°Š6ÆÙ›éíM&.@ÀbÈrž9>D/W<Á>Ûn÷8|…!7‰Ù
-r¬‚G_é¹k™ ½”A¤i(}Þ22ÐYíR —uÃÄ$„p×-½ãx Z•?•&§V‡sžé8Zc£2I˜f*óm“·-ø)[‹C©úÌÆQ¨£ž.-º`ØÑEo(‹ÖÑ~ºg_’ÿÖC‡ƒ„Ô+1!°Oí¾ ã¸Á[ø?;ÜÈÁÎ¥¿#‘ÒˆcŽ4„HÃA6sø†OkíÚÎH<:úqo˜øã…–ÑsSè¦OþÞdnAÿÑhÓžá½ã¸ãœòˆ¹q“¹¬ô„’èP)•Ž•§ý×®å(STmþ¸r ˜Ÿ¸pÇl ªvAj­3ˆÆÈ·ÔHT
-ù¨ˆ³qäÏ}åñ‚îQ
-è»æbЉb<UÐo*Ð& 5ž¦‹I0†ø‰,äí ¨)lÒ¦ãÓœV‘P¤HjÒ,‘ªô
-á `/†Ä]BþŒ5¦ÀDpö…<ñTÓ ô(û’gãË g˜¤p\ÌÔ‰b[¦ÃtHêz \ãϦ¹å‘ñy¹õyíGq’&ç¸~WÄZžÎÆ ›Ð®“ ó(ù’Õ ¤DH}ŽaZá„g2€³vÊ=B¾d~É4LâTžã—¡ÔÊœ ëGö&÷åò%¤ˆC8ÀŠsü‚Ó©4&õÓé?϶“véô¹ø64}þä'!`dX–®'£ÆÒA£GYN+ÊÖU–ê#)P0pÄǘ/³ iÊþø‡Ãý´Ý/€€9)î{'Ë ÎHp>[,”À¦¡Ž|ÓºÞ$Ò¡Š:Ý€ó±Ž7àz,[È?–A…gŽƒ¼M(Š2É“‹÷X«“!pDZ¯~‹§yHƒ¸­jôÌàÙ#ÓÜýÁw}AÞ–5ž
-zÑVëÝŠÛGÒ%«yl›UiåÃßÞýD
-rÙ_®„Ø`òé‰gŸUˆ–8:0Õ%xð Ó¸CŒ7•Ô˜H.Oɶ‹6pZ´ÒqÉ:$+ز›/ƒ§Õ®<”k_&æäÂ=ÒáÊ#©ªlÎÛu3¨ŒfÙaDZt°ž™(Rf–d&Ëþh£\ùÂÛ]DÑ‘ôÝE¬\¯ažïZ«;°WÝR¯Lg¸¦dfyוëMçš ­Èe&t0j¯iJ´`ãIÍÎóѨk7¶ã^EQõ_^RÉ ®µaw£©Ûn{ef»9ë{æö
-¥ûó ™ì»aÂ$Óâ|?Vž µØpŽtr残u\Çz,[œËa«"˜¯*ìe¸e8}e˜
-œ$ Çš `´Ù8ÝfbL·ßÒ¤÷Ì¿ä<X]‰Y .Š5©³åf_oV¶kKÝ8À_’A#„q[GÜI°(nΧºéý<Â"¯ûŸgØ4föp•j’îé4Œ„í”{N‰KîCMÔ¶·_”\a®yÐïf1¥lyjÝ'hÂÙS±Ä€Óú —ƒRïrP$©Õ¾xÝ#¹{i\=x“ãE¦ÕÊeÒ:4^…Óß|×-ƒúSÑà͆ r!¸Š0ÊöLwšl ÎGövwªçbév1—*2&RbŠY²}Ò5°?veä
-â[™Ç²ÇDsÆ(=¬F鰬ܛ¶ ð‚AÕvÕüÐ(5˜‘Iôiz¬
-ÆF ¢HÒtL‚Í€báEG›ÇÂ%Á
-îþŠ™·‹´° Küô™Ò^
-¾K¥É#Àyn¬™ëºç:°h º¦ !*ƒ|×…n)'(Ä–~äô°· AÀo÷¤®n¹ŠX"E{׳ˆ-@Um é#
-ctŸ‘¯ü)ˆ+¼@ÍèáDÉ åôp´¡0€„Z
-]ž-M¾õæñp-B¼kÔzKɱ‘X ¢ðDTÉ63e:Aú
+xÚÍ]sã¶ñÝ¿Bo‘gL_ÁÇKâ»:Ó8ãL&“ä)‹=‰TEÊŽûë» ,ø!QÒ%m§7zà
+X
+8i*g›++k¥BËúê‡«ï» ½nè”ütlY,µ™EJ3k`ŽI)sÆcZ”Ä)3JªNÊRLI9`¡”ó"[¯ëEÖQ]EÅïe{ȸ01³2NgÃÙhè°&ˆ"D™å‰Sñ¸*/ýzÛ–uåá×Ì5Šù¾)rßTRW¯Ö£´×b^{°¨²§uá{«bñ±¬žý¿e½óÀ¦ØÔ»7¾.²aqšÅ
+Ú°45úüòÖÄú#UˆAI’Œ ø írW¶(‡4z`ci³àï€6÷?l;‚+ò+çÒíªçͶX”Øà:ŸÞ©IHn™EŠù± "šÎÒo%‹SmiPÖúœ ‰9¨Öà`Qy±ÌöëÖSU6~:ÜO)AÊt¬aU=±´ÐLk06¿ô¾Z )ÐÑÆ^^-ó/HO k,–æ÷úWo6¾®ËªÛßëª\¬3kBgÛ­rÌž+Í%ÑüV4S|%,U2!œ“Úo’˜¥ÚˆóÚ?Ä:­ý–ó†e¶ÞoÔÄ
+ðYg×í°&ñ(RP6pø£•ï–2³Ì tYbA o`„ÛEØ'ˆ9´Ÿv¼Ø½;jôº‘µïƒà;þUWEhk|S¹ôÿa¢7ß’ùѾ9¯s ƒ w—UͲØÑÙ¨›0µoFYcÌÉ §hÎÇ*!19°
+›DŒù=/g¡„I{õD@S[û¯—®kyÛäìS à¿®°Æ¢8Íäö}<n“•U ±P}CS\ô]•ôu
+À*Ûn‹ŠæDÛÇÕ²1/~“šU½sæ/ç¸Ìî%[ßø¿µ[¡Ä6å~Ñr´ìÌ~Ud»ö Ô3
+3M9_Ål¬ƒm§’óU½-–ûõúÍÿÍ÷;
+þ2¸6$ˆ€ðé¼™ßí°–p‚Á?Í~»¥¨Þxãž!E•I¢¸¯7!Þ/)$˜ÕÁd"˜€ 7ÃáÒÅ)x@g<NyWiK’à¦ciÞÀ·Î" >(Q
+ݹ^ŸŽSÛ ›¶!èô®ò`%™ÕiLh]þ“Z`ÚEqðk'bhz*ü÷ N[hÈMy±6*,òR¯”È2utd’)«¬"·AÁáÅ𠟘°·æÆïS 5E Ÿ‚"2Òúoýâ}AD‚‡0¥ †z´+ó£ òy]?u&0$2ièäöC;ÞÚ}Áq¯”ï>„"p°”P!@> çç,º
+ôÜšwž;Eÿµ_#1m±|~vÔÚH
+ÆÅÒMáj¿y
+¨.g÷Ó9_9í(ó ’âýJýR’§7>{r˜àuÀ—NráÅ‚ „ƒÄº~íŽ7ÊÐb®­ö_~¹DóÓi×û#PÝpd¤€U±©;¾„ä1ƒ¶—âÐG5E;ö€~Ë›ŽŒ‰
+«hkƒ½ÙÎÞ¤ 
+
+-î$ ߦÝ?õ£0䚘 p4g0@„½º î`€o~Þ¯3õ«”º§ *‡_ûo>1TÜOM©ñ’Ö\‘&›dæ½+ïƒ?>œPW.’DÇdÿˆ$è•8MN
+)$Óð祚q4¡ø}[ö'{X§¤õ²</É6põÚÑ£¡=Òv,zɱÒ5}àÚüYßIj ïáä…ÞE¦C•§—õà²^…†¹*!ÇÊ©õÍ÷ t2ˆ$aÒèË–‘‚ÎvÇÜuÃÄ~sB®vŽà hUö\@˜œZ3e»ίN±QYÃ’T™±Ü¶YӀߙ²µ˜IÕe6BÍ;º´èéÒ¼£Ë÷ø,ZóÃtÏuzÿ­û4=R§ÄxŠWÃ⸠Á;ŠÃŽ9â\9é1ØHCøˆ4l¤`³€1tZ£Z”›ÑËèäàÎ0ñÏ+,ù sSÚ²ØvÉß'™[Ô 1=0¼›¾|v,Ü8fÖ¦!+=£$š)¥’±’à´ÿØ7eò²ÁÊasœ¸IÆUîFb=*V ÜpH­µRÌ
+_ßÁsLÎ0ƒù|Eˆ¤
+ðäÞ‚GIôŽ`ÙÛ€åö¶h«èy½/Ž·–ÃPcϯÝaM,>ÚZ…תCN/LŒíw‹9¡ö‹šFyE€f<@v²†gOmU¨a Œ ç'rH8ჯ‹ŒÞ¶ÀTzKµ:K…%;ÏÚ¶ØlÛaµÉú©Ödp3éX'<-xû@'¥zï€Å¨5Ü96ã ‹¼Ì«/^ùº#@TpÃ+ŽºjÚݵï¤õià€Psž gËÚŒ®zºš2ÞŠ,éFhDæ¦.ØTå°(Ô»Â×®$Ü”9]¸†‡6ä³ð|(/²ƒ·8G/Ê& ß0`‚…:o0C¬ÓÓaù#Wûf¹[y¼)oVû6¯_«CJ$„©ezž”k‚–Q à†I@ó“¿ÓQŠJb
+RÑlSt÷:Ð/_ß•ï ßFV”/þžú~¸ûðxûðíG &}WM3å5­€anˆåT=ú{ð+«ÞÂ{*_=¼àÀ'EÍ']¬Ž,¬’
+¥»có™=9tÂ2“jqùRV^
+¸B HØ.êØ
+6â謮ðFE&¤ÿ“m¡ endstream
endobj
-1687 0 obj <<
+1692 0 obj <<
/Type /Page
-/Contents 1688 0 R
-/Resources 1686 0 R
+/Contents 1693 0 R
+/Resources 1691 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1685 0 R
+/Parent 1690 0 R
>> endobj
-1689 0 obj <<
-/D [1687 0 R /XYZ 85.0394 794.5015 null]
+1694 0 obj <<
+/D [1692 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1690 0 obj <<
-/D [1687 0 R /XYZ 85.0394 511.7419 null]
+1695 0 obj <<
+/D [1692 0 R /XYZ 85.0394 445.9885 null]
>> endobj
-1691 0 obj <<
-/D [1687 0 R /XYZ 85.0394 499.7867 null]
+1696 0 obj <<
+/D [1692 0 R /XYZ 85.0394 434.0333 null]
>> endobj
-1686 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F39 1161 0 R >>
+1691 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1694 0 obj <<
-/Length 3774
+1699 0 obj <<
+/Length 3691
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ¸ñÝ¿BoGÏœxø8}Ê%ÎÕ7Ó:îL;×{ )Úæ„"‘ŠÏýõ]`ˆ_’“ÞxÆåîb±ß ]ø£+©R•±l¥3‘JBåªØ^Õ#¬ýrA=Ì:
-šË“â)o€Ë0µ1«œy)S¦„X)n#)q .îW8¸z”
-slèÅ×BŒ–Á‘A\´KþÀ`d}“]îŸâ’=ê
-¬qƒ•ß]„´GûƒÇî榮Ê$e$Í7cOà¢ðE¹³œpáñ ¸
- «‘¥{äÀ©2lR—ÛŽîKüíveq´bŸgÙ…eۂЗ2yqñd!¼ÉTr©N_naç )ÁY¤ðüTO8,òÎóSõø iú~>¦;ÇÍ"’M<éXµpëVþ&;-.¥Ó¨<‘Eëµ™J®{|ù¹=Ôú’Ë':‡¹,¬Oß¿à£Ë+a¹?ìÿʃ=ú¿Œ‰®‰.
-â3›¸ËSúÚ±Ï(ð¡ò9?î# ›ý;Å<–Ìó
-“WŸ…Ó8¦§®óáƒYŽ §A+dl
-“PÊÆíÌÂö1­YœôQ‚‹”q&Ïû¨!Ôi¡\y[‡}gí„rÕaú<å
-¿5J©5z–¹ŒÖ-Œ¶…œmÃÒ1Þá…*$;wjÛŒ­SuXöŽ^¨u¾yÁ•Ïë' ¹ò¬zGCy‚ÙóÔ˜¼™ñÜú”
-|i~%ÅÉĔƜ›ó!hu:E(g#ãĬû—]Içi²N Uü<ùµ@dß DŸi5fàS°N´/Bܨ]p#
-j_õJ„²Ý#“ù£§³]娔¨±_„Ý/&#v„]*=o¨ÛWóº L?W¶-=@¬}g‰¨É»¡Á¥R*t¶Ð«tÌñ>É5²­Gï¾ÿ^‡J(Jh¬5þŸ{ð¦ÒÞÁqBR¡Hö-·¸Ü¸Ki³|‹ ö§iªˆ’§qá{pùaxcŒj¸³^:5Rˆ¡ÖEÉBLÐ)¤–lÅì€ûîçÍ@R êã’GËýx¹V4¹ƒÿ,™]o0r Jæêû w³ú²‚è#²Œ#Ð`ìöz”›øézËVïZØÑj¸)x=Äì6¥Æ¦ÄSÅ¡2e6ŸMé¦õiøË%#Iéªí®v½ƒr’áûëe³£*ƒ¤13«¡pÿÜyq¿Ê¸‰ãþŸÓ&È»Rc¬!1‘r!Åyï RJG]ò%DÁe¬«Íz׶õÌ7Ȉ–«!Ú¹o Psê<Y"¨Ýèˆüñš8ödÐÜqî¾kë²_Š, 6!Õ¤8û¨#ÞÕa%Õör CæÃëw~nCØüå4ˆædÔ¢š§ÚèW
-§!Ôés‰P¡¯·¶M1(îªb~' AÀ(ªÏ3¡8›L ØÚˆƒ”ËüÞ*T÷ÙàkŠ,~M¥EÑÖ5fA$ìÚ%;ö“<{CÝÄ›f¸Ž;â°ý“CScVcÑ„¾já;xó e@¸ÎµŠ‹X`ÑÚ5Î ]óV1¼ºcö+ûÆ:\á±ä>ï\4W<¹Á)GõáåDÃ\
-p~š z·Ã3vØWIcÏ·ò|-·dÁehNå«ýa¨Xè´ùŠŸs¬•PþÚ v±%¹ˆ!íašëï Ä+Ûèß>me—ÇP‘Œ„C…o£ÃÀ5Ï)(Ba;À®s³'/*´€Xï˜öͦ8â_ÒaH߈RtxûBb·ÞóI0°±õÀv‡p [p¹ 7qTø»{Ç‹4ê/ÒðÕÅö:5à,©šÜÜD±¬=Þ…²⬒ÙØAÎrû‘O|C©fìµ â
-p6ôóâ
-§NMy™iY:Ï ׷:®ìŸä[Á_agŠu&HŸg
-·ª3H<Sîó}6·’2H*Xÿ~£¸endstream
+xÚ­]sÛ¸ñÝ¿BoGÏœxø9}Ê%NêNã´ŽûÐ^ï¦(‹ŠTD*>÷×w P$EÉ—^'ã–»‹Å~ƒ|Áà_h›T¤ ›ªX3®ùöŠ-ž`íÃ÷0Ë
+èì·e]x›¢Û{zÈè§Ûgu›åÝ5zV«æ ¹9hIñ8ÕZ8ƈÅ£/Å®£ÑºÙÓà¶Îð‹m§QÑä¿ÇbÑÃuÊ"¤¸6@[q̆
+‚É
+^åñœMÏÉÀ¼xƒÛîܻͷ`b?Ø{p;۬΃¥®'þ¼Ÿáà~ÂʪXg‡ªó$ÚÅ 3¦åÿÃ줈mjÓWÌn
+·G³~“}ó3AùöîÍÇ2™6›Ê©¹ IÜ }+›*óû€i§O0Múïî>ÓLÛ•e‡³
+2ÅÜ[ŽÕÇål’É(ßd50ƒ sŒ\§I³Ö˜Ý*8>8?–ºl˜÷O Ü}J€__˜q*'x‘¯Ï…Ïð7¨P¦Ü&¨Ú"?ÑŒêN±ùÜ[™„â²1806ˆŽ¸äŒQÖËݦ_ÂÓié¡*ÁWQúÝõx´?xìNa`nêª(#,N•œx5‹Ë]:.¥òxa\
+ê‰Iíßw›‡ß¬~’ké¡ßü„ÒinÌÆ;˪¶YÄäðÐë(­½%R Š½÷÷KPHƒ‹€0p!EL,ä’ÌW‘(°¥KÔNé[-Õ1U”2uîË ÷*†ÚÕe|8íõDøb §úÓIÔ
+ L—O™K¢´A”—YADÕ}¹äs¹y!)8õï©•|V7á÷(%)û<X“köÚ%˜x'ÆÚõ0«Ð`°FpÕ³tf’ã#U†BJãRa hôXÐo»+ò£û< æm‹ƒþ
+ÛóââÉLxÓ±–2Rλ )%EOáySææØgq£²£_HÖ÷{ð1í%n Tw©'[<m埤çÅelÜ+OÏ"zma¨c/?7‡jEC_x%‰Ã\äèÓ÷/ôèòJXîûÚ¿²Æ£_ûeJtq:$º
+TÁcòê3·ƒ>=¶1³ªš4DƦ0 Õ¡lì¡YàEšÅY% D.yîÖ$ø¨!ÔyÕC¹ò¶Èûí„r
+Õö2å
+}½%6Å ¸+óÓka‰áö2=Ô ccÓq‚¶6äàLeÀ2¿·€
+Õ}:ø¦"í¿©€Ò"oªŠ²  »vÉÞ"S’‡7ÔuÓL×q'Ø?9Ôe5ˆ&ôUs×Ø¡›g(Âuv¨U\Ä‹¶Ib&]Ll“AWw¿UpŸ¤…+<=f­‹æFF/4娮_Î4̵çgÅ w;<c‡`6Œ%ò¾ç[z¾æ[²à2,Á¯õ‡¡báÓæ+}Ô±4Êøk3ØYˆ‘ä| †´GXi¿3/°Ñ y´y ”]ÃU4W¾×<ç 9v€]眫óVA¬êï˜öõ*?âŸÓaðÆðáí ë»åðžOº€ÖÛ=Àl ÀåZ<ÜÄqåïîiÜ_¤q‘F¯Î¶×ysò!Û›^,Kw¦ìƒ8kt:v'¹ýȧ@¾¡”xC&í~8@/à3že‚st7LÄ‚¨gÍ
endobj
-1693 0 obj <<
+1698 0 obj <<
/Type /Page
-/Contents 1694 0 R
-/Resources 1692 0 R
+/Contents 1699 0 R
+/Resources 1697 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1685 0 R
-/Annots [ 1696 0 R 1697 0 R 1698 0 R 1699 0 R 1700 0 R ]
+/Parent 1690 0 R
+/Annots [ 1701 0 R 1702 0 R ]
>> endobj
-1696 0 obj <<
+1701 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.2681 635.4049 203.5396 647.4645]
+/Rect [154.2681 562.8038 203.5396 574.8634]
/Subtype /Link
/A << /S /GoTo /D (notify) >>
>> endobj
-1697 0 obj <<
+1702 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.4479 136.7465 244.1386 146.176]
+/Rect [180.4479 64.1455 244.1386 73.5749]
/Subtype /Link
/A << /S /GoTo /D (statsfile) >>
>> endobj
-1698 0 obj <<
+1700 0 obj <<
+/D [1698 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+1697 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F39 1165 0 R /F22 965 0 R /F48 1243 0 R /F62 1369 0 R >>
+/XObject << /Im2 1358 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1705 0 obj <<
+/Length 3881
+/Filter /FlateDecode
+>>
+stream
+xÚ­]sã6î=¿"ÎÌZI}én¶ÍÍ5í%é\gÚ>(6kV–\IN6÷ë @Z²egç®ÙÙ!‚$
+ùëâ÷?ãË%°ý‹8RF§—¯ðGÂy¹¹HR¥‰RR]<\ü+,8uS§ä—¤:Je’]ÎÓ$’©È¦¥Gq
+R›çIÉĘ e)¦¤ì±PÊ»ÎÎ˯«ö]!L¤V—Ã5vXÇ[+3ØZÈ$Ò¹ÉÆ{?®Ëîj®r3k¶}ÙÔÔ°§®©lo‘2àD–32R"Ë\63ùìvót<{kv´@mí’z}Cí²ìŠ§ÊÒÇíoŸïÇÃ5Û¢íËÅ®*ZZ°³WbÖ¾XþlZBë,ºWóDøâeûµ£dçpd ) ¥È¤)iuY¯švS»¨n¾åyg–ƒ¸ˆÓmÛ¼”Ëýˆ%… 5( !{™ââe}x¾ÔXÇqz™KÁ‡Æƒ£Áöù’:÷ƒ“øóáR²! Çë"-v±'mQèC‚hxë=Gúæ‘Þ!âh-V%b ÅEÕ5GD˜,Ò:Óß*•€ÿAGëI%‰Ô!5I¢¢,çEâ‘Þ¡àh-É¡“cO’½&ÍÕyw3Ä:ínÖ”\Žg¢À!žÝ=`Ml?dX$ ˆ¬a´8}47×YÚnÑ–[iVvhò(– µÿÁmÔü—0#FÏi™Ç‡åãu¿Õö2¥bxV“Æç±Þ#ãhµóº–¥Q&Œ~G×XgtÍcᎭýkg»þ„®éH¤Îî°&¶뚊D"ÆÛÿ=ªvÈÄ¡ªá†±9­j1A–Œù<§jÿŽ×ýfUË"‘ËwŽ=`½GÆÑjçUMA¥å{nm€uFÕ<îØ·¶èç‹öJèÙ¼èæݶXØ#¿ uš'#`MÐ1Ò¹LF:Ë̘J©d"öáú¯!Û[bÏe 5ô45˜ a»)¾X†8ýMbÎxèx®ésQ´mY<ó ëw-oòGœÆH™‹dx‚ª8NXƒë ƒH"ŽÜÛÄ(È-SŸì'˜®uÑ‹9edJgMéqBÖC¸yÆ|æù¬+6–@¯Åuœ
+,O‚¤‘eÑXÈfÊýpõx¶jªªy «¼»þéÆﻜr;ŸO œaYwQÀ2‘ò¡êßn%$» ì9¹@Û³|…ÈàAÍñ£³=c7dL4 âcGRÅ‚Íé äqlqR z³Ç0E‹.íªØU=…·7šŽëa(å7‚”LÞ“uR"ìÎû\ž¶"ÅØðøŽƒ’0"’ù¡ßÞ+x-ã·Š4ä8Rnj Ï»°!Ž—µ ;ÁØg<}8j„ËUiG7g1ÊX0¸Úq[½üµ¬x';V Á"†ˆV9
+¡$ÄhHK(šÀ)
+V8šæ|¢q×Rª¾«!©/[¼Uú€QQͺš¸ ÊÀ%!ÄñÀ~hi‰Ç·°-ã4”byßAã-M[ôÀ&¯êN‚Öd,dŒ‰hx‰’廪@S1ÁPW9'!³½P3 ÿ`O<êâ1óئY–x¾–¿ŸÞa‡>¹÷# UG¯à.Ül‡iE–Í®«®Aí„ì©xiJÎ2„j$ù'hø^5í”®ñÙi9Vn-¼’Áë+Àº­».DànKmÈw5º!̘X1pÉžZ"
+¶MוîrÁöëÖÖ¹£:"C?=•¹5Cóêšê…íí•R:ì5»Šƒ¹3Ž×²³Áô\»% À«Še¸GÿC³gcŸtØŸQ«˜‚ýZl¶Náe †±B¨F·ˆƒì±[t_:ê­¼BehMíO¿Q˪ÝxÀµV~«uÓõì܇‰ƒT*ʵñ7À«¦‰˜¨hÑl&½6Q–)Ÿe2åNsq'Ü÷˜¤}çñØÌddIªÒñ™íSËädù‚Lgq<1µ›¢¬éµí'HJDiœéA^èè—³o’«ÊI;öL¸3eµé0æŠH®yñÏ®á~±YŠ^B\Í}XÑÏÂI³(Oã4o°V¼?6F‘C{ Á
+±b÷ŒŽB8úÆË? uÓS§ sxd¨T€>1¢Ðð`û}“cÚ3rÆ]#3¹Ïbd¦B¾2Ê…sI–ÆåA3¥ Pè'"e~Ìèhvv°ú>ÓD8{gåêù€k RX»î C÷*Éq`ä,`€Ýh¦øâ òþ,Êä„ȹì–²÷åfI\uø€=é||Æ­Ô #„}F¨ŒÞÖNUðËÑ]Ʊ§Ûà˜ìœ˜Ç¡ý«ŽJ)Ž"”&ªqêf©ÙKi_Yî€ùëjóm,ʔܺÌ(uu€µÝ„¡c¥qåxÙ}N+°ð æµD…çÕÝm¸µ‹rõÆú:± tópå¸Øµ¥|°È䦩Žr8ø±áò¢pÂÆ-éØ´l €}…äÀ†¤Qxy>ö{óÖ°UóÌŽˆE[S¶
+­?eTSfHÙ kšK”ìðN$8¡ãdÚ—5#,ürT
+ îGŠp_Òíì™âÖE
+=5Ý)ŠdO¤à
+ÀE zÎT¡é½XÇ PŠÈ±Î Ïâ5•¿èÃÖñ~>¦=Y(ÞCøcš¶ö+õã¸bý6 n²ªGïnQi羕Œ ~gŽè‡<˜ZL\vÛ×"d!$¦W¶m‹Šn;h%mñhMÃÛ†j?œÆ qÇ£+ZÑUx5—•
+¢™K¨»å¨R÷ôíVñ;¾ö‡.ê~’ÏÊza0½ÉIViIòÈ°ÊÊ
+ætÏ5M2³Ðã‚sl¼œbr®Ø®Š²¢1qk2?6¯öÅ¿ ND“GY¢|’!x95<ÞøåÌåCè^ñZ-(¼OînØ_šõ R.ÏBøß‘=zcØùk·}é—šz[ƒ`ÑìZ(MN¿­iI%Þù™Â
+endobj
+1704 0 obj <<
+/Type /Page
+/Contents 1705 0 R
+/Resources 1703 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 1690 0 R
+/Annots [ 1707 0 R 1708 0 R 1709 0 R 1710 0 R ]
+>> endobj
+1707 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.4578 91.8382 326.6578 103.8979]
+/Rect [293.8042 724.4891 355.0043 736.5487]
/Subtype /Link
/A << /S /GoTo /D (server_statement_definition_and_usage) >>
>> endobj
-1699 0 obj <<
+1708 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.5441 91.8382 416.2908 103.8979]
+/Rect [395.8905 724.4891 444.6373 736.5487]
/Subtype /Link
/A << /S /GoTo /D (incremental_zone_transfers) >>
>> endobj
-1700 0 obj <<
+1709 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.9692 61.5153 342.1692 73.5749]
+/Rect [309.3157 693.1516 370.5157 705.2113]
/Subtype /Link
/A << /S /GoTo /D (server_statement_definition_and_usage) >>
>> endobj
-1695 0 obj <<
-/D [1693 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-1692 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F62 1361 0 R /F39 1161 0 R >>
-/XObject << /Im2 1350 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1704 0 obj <<
-/Length 3894
-/Filter /FlateDecode
->>
-stream
-xÚ­]sã6î=¿"ÎÌZI‘’ÓÝl›ÎmÚKҹδ}Pl:Ö¬,¹’7÷ë @Z²e·7wÉ)$Ä-®cø×™Žb•'×ižD:úz±¹Š¯_aì»+Á8s4b}û|õÍg•^çQn¤¹~^ ÖÊ¢8ËÄõóò×ÙÇïoz¾{¼™KÏLt3×&ž}{ÿð‰ 95|ø|ÿÝÏ·7i2{¾ÿñÀwŸïï>ÞÝÌE¦Ì—¼Â™ ŸïÿqG½ïo¿|¹}¼ùýù‡«»çÀË_+dä«_¯—ÀöWq¤òL_ïá#ŽDžËëÍU¢U¤¥<¤ºzºúgXp0ê¦NÉ/ÑY¤eb®ç:‰²4>#å8Š5Hmžª<2J!K1%dFB·öíúyùçª=fX¨,:7׃UO¶H§{ËÁÞ"Q‘HÄhï'kIàýš;KÛ-ÚrÛ—MM€f…Dñ‘§Q,“ öŸâàhc­##✑Ëú˜IÀMFLÒXûzMÇ»ý2»'«¿‹g¨";¡Æ˜H¤R\y@ú Ž×B¢­fÕIã42)P|Y¿XÌcáŽ}k‹~¾hoD6›ݼÛ {¢j:²L›Ëd¬ :FÊfd”“ y^—È>³Ækô÷w]b/F%q65Ð˨éj7ÅW˧¹0§³í›mèx®ésQ´mY¼ò ëw-oò[¬ãߤLHuE2<@™D*ŽÖÝzâ*$Qž 0¥þ
-Œ†VŒ€ûÀ~‚éZm±˜ã$ЩÌDqšŒE”k-éèl‹ÂI 󙦳®ØXí‹wê8ÂPAŸt¾®Û´4Ò/ -aY4½
-é°×ì*væîrìËΆ«çÚ-Ý€·’ÎJsÔ?ôþÇמ/û‘Á&š>£VAŠÌ›­SxÃÅX!4C³ˆƒl±[t_;ê­šÌ
-ZSûåjYµ¯¸ÖÊoµnºžû0pJEi–§l¸WM1QÑ¢ÙLú ²C£|”É”;ÍÅ]œ8pßSZöÇc0W‘%Zéñ™BËälú‚L›8ž‰˜ÚMQVôÚö¤ %"›l:úå ‚´MQUNÚ±gÂ)«MG€1W DGrˈ¿xv äðð‹¯Õ±èA%dêÝêˆ~Ž6Qªsy®Nñ†êu8¾Œ"! †öHƒâŒ*´{[U(ˆBPôµnö5Ã웳¹
-'QªÔe­ÀÄ3˜}‰
-Ï«àJyí]”«wÖ׉] ›†bãb×vòÁ"“›ê,JáàÇ…6nIÇ° e2Ì ¾H
-/=
-ˆ×g˜ÃVÍ+CØ#mMÑ|lÀü¯vR™ž.I#É¢LŸL§œëÊ3§!ÒHáíc±€x²¢èX¯lâ¯!tHd‰äèz02Ú­g¤Ú/G3á‹ ŠLw“Ò
-££ü¸ÖEV]óu·Å;¤!PC}A(é ö(fÅAĤ¬À!²$ã/0VºÀ*BŠÌH*yõ]Ç@`˜èÂæ!‡ÙP BëOEvS×¢Ö4(ÙaM$¡Ó`Ú§5#,ür”
- ê#E¨—t;{!¹už†\OM5E‘ˆœ8TÏ™*¼zoÖq"²ï£óhÁ³xMå }èÂ:ÞÏû´ É{pLÓÖþI=Ç8®X¿¨[NY2´ÞhUæÌ·’ñ
-¼™ ¨»e¯R÷ôíVñŽ;>÷‡.ê~’ΞÊza0ý•“¬Ò’äa0ËÊ
-’Cƒ}2ÔÊ›•j! p¹ öœô¡_SœŒ)f3§FU e9ô/ZUuΪÎÃü¿k ê ˜p× Ìˆst”…b>©0ɇijpP#8òÈB¡Âçݶ!·’qî•ûL ¡ F3]qï>ÿüt÷)"8?½àĵOÍ2¾‡:gÏ8eÌê÷Qºç°a;Ó‘Baw$ûCfdRæ=⻃¹uÁVÓ™¼jîå&i†òl!XB¼Ÿ)ñ¶C¬ó…à€E¹E¿XÏ7Åvk—sLj€
-Ê–GåÞ8ŽL–ä—éX„Œ ‰"6#JîWFtx·š./B,+9Ì:)Ôq®!#7íýOo 󉀆Q†¹|Ž”“xüBï;A U%¥Ò }RBFyH_IÁÚy%½CÁ8ŠW˜ô¡îÖ„ ùeOǤ{<Ü•ÃóCÆÏ”ÚU.Iñ–»)lnå¾i¿:©;eç8RPóÕ¶µ­üÅ- ›k:ÔúÜÖ«EÏ äü’ÆDxðÕ,ÓÇh‘Ÿ?þämv]SÅ%¹`;âLGÈ”9?Ñ‚×\q‘³çsIÏàç‚6#¢XO°×5‹¯˜ÉôôÉUåò>§WS†çpH®ø–dÚ‡oqFL/©?R+ÝÃ1T+ž‚1ÝkM“òÙ
-èqÎ9νœb2®Ø®Š²¢1qk2ß7{ûæ_P'¼IžF&Q>ÈF¼œôo\ŠpñšW,«…÷ÁÝÀ û¢Y*åâ!ºJĘ²eöe·Cé—šz[ƒ`ÑìZHMο­áo
-Êÿr@É(ϵ+
-pª¨…ž#¼hîðÙ[®Ù'.&>z¼á÷k÷˜¸ÙðkF2«èÝ=é¾'=$ƒª‡[»¡vm«íÑnÎØ”r†/$‰·Þ¹/E€ÅfFFVƒ}Sl¨¾§i
-}–ŽÍ :¡ýôðD8‹ª÷㻺"ÿ˜ÕRÑ>èýQF–ñxEâu´ÿ½»¾¶Ÿ,Ï°½Óü†§}`¬e¨šn6¾¦@Oö‹,¹\ÍÍ´'m0F28Êï‰a³SMT"{b.Öz˜ô˜ç¶8µ‘Ë"üšàüÅ?1šZGRÈdªãC‚wÿCƒ®?9 Âïðâ0QpRY”f©¿"X=›ºGX•J}¹³Ã_ÍlXKÐÊòÎø^Öºe¢¼VÍ ÕBŽ÷NÀÅ¡Øõ÷“ê(I>ºÖÑá‡EJ™|\ešŒs| ÿ]ÔˆCéX1wg°Cw†úNy½J)%(@€oö»Jo!¯8}2ÀI’ªäœt&ÈMà˜™ŒÉ¥Çr¤lEm ÿ8v Y6–ɧ»‡¦¼^T»¥/ ê<Še~T9<Ý}ć´t†aGѳEþdn|œ ýñ¥î}ƒz'O"/äOð±´•¥KøXJøâ7¿tÄ g)½[ƒA/;2‰¸üv[<÷‰Ñs_á_χ+—=Cfw(|?‰¯û¯Òþ8w½ÇÁØüÏ¿>ü@îžÊ2yþ÷¤ž3…‚1ê˜r ¶Cg2 ý?ÿ¸Ï“endstream
-endobj
-1703 0 obj <<
-/Type /Page
-/Contents 1704 0 R
-/Resources 1702 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1685 0 R
-/Annots [ 1706 0 R ]
->> endobj
-1706 0 obj <<
+1710 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.9683 735.8254 367.1684 747.885]
+/Rect [305.9683 661.8142 367.1684 673.8738]
/Subtype /Link
/A << /S /GoTo /D (server_statement_definition_and_usage) >>
>> endobj
-1705 0 obj <<
-/D [1703 0 R /XYZ 85.0394 794.5015 null]
+1706 0 obj <<
+/D [1704 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1702 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F14 964 0 R /F48 1238 0 R /F41 1218 0 R >>
+1703 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F39 1165 0 R /F22 965 0 R /F14 968 0 R /F48 1243 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1709 0 obj <<
-/Length 3804
+1714 0 obj <<
+/Length 3727
/Filter /FlateDecode
>>
stream
-xÚ­]sÛ6òÝ¿Âo'ÏD,$ñè¦N/Kҳݻδ} %Êâ…"]’²ãþúÛÅ.ø%Hj®ÏDÀb ,û ˆËþÄ¥ŽƒØHs™˜(СЗ«ÝExùcß_ÆY:¤åëÛû‹oÞ©äÒ&–ñåýf4W„i*.ï׿,â@W0C¸xûéã»÷ßÿt{}•D‹û÷Ÿ>^-¥ïÞÿã†Zßß^øp}{µ©‹·¿þñþæ–†bžãÛ÷¿#ˆ¡Ÿ#“ÞÞ¼»¹½ùøöæê·û.nîû½Œ÷+B…ùýâ—ßÂË5lû‡‹0P&Õ—/Ð aŒ¼Ü]DZ:RÊAÊ‹»‹öŽFí§^þ‰0*–J9b`*mŒ¾L´ b%•eàû îá›wQ:Â4AbD³#ÆC“gŸ—ëªmóáNfMD(Á¸o®–JšE·Í¯Ä¢‚ŽP‹køG­æJ¤‹|UÛßuKÀŒ ÔYçeÞåkìÈEþœó/[×b2l»àò*{(ó5œadÒÅ5CÛýãcÞâd@óå7/aÏK!£µ¤­½ÂyÆÂÒ ¹¨²]þ›Àp~ÝeŸóv‚(x+íS]µîÓº£¡ç¼)6¯WBˆOõ¯²}›ÏÖúîãÝÝÍ[>Ùùê®^Õ%AÜâë¼-+d ~³î¬:»£pº˹È úÑ$0&Iíè=mFÇ‹]¾ÚfUÑî°««¬"xÞ U^ïÛò•€Žl@¬î† mÞÀy¾®¦qÚ>
-?°çd‘(=¶˜Yµ/y3fèëôf`åiÕc`üX{”;8 À›
-_jô¡³ö;|BZŽ±Èß OÀÔcá^‹/KÓrÓÔ»å t6y“W«¼S#´ Â$R§Éé±<ôŒ#¡“ Ô:žôo>”Y"MøœâŠW¢m6¡Ad\˜b »Ò iŽÒi¯9,ëÌ
-!Þ\m©Å6I6âá¬z´¡@ÉEìÊ gWt6òµ3Ô4°®_ª¶#ú³¯ƒgÎ3¡ŸD˜úEµ"äXHK$ öb9?§‘HÌL¿±ߢ%TšÜ
-…Ð;\CÅ,h8ìfm¹[Óïƒ[S‹,(|‹N~ý
-‘w±¢œ¬ÅÐY¥.FhýÔ‘ç…vëX/@”–¾ƒz)Öý©RŒŽ~ùx!cøò”ÛÀ]…˘6–µ$jñöÇŸx†Š!»|W7¯Ô†P±Ýï˜,Ï:‘3–Á ­àÅÔ¬+Pð…L08;¦NRKÒAlô:ˆzC¿ýðA@‹¢9i•“*òkjГ+HQü§Ff ¿ëת±]³²IÒÉjì@ò«#"XsãÙ'ŵ†'0´!³h‹?ì@ÊÖ S=¡
-”‰ã‘??œJ@X !4%òžÀ d¨ø‰ ©ðö¸MÊÇ
- ².-uJH˜Jn¿l k×MBÙ°o`ˆT M<ó÷_ÍØ$Hñ¸Ówé9fÑgFr7£'5ö'tœß202v ÖÝ"Hcc·…5*‹eÍ÷8úmŸ0¡~F „ELí„¿³¬³&öð®_]’»Éöew4LŽDD:’§Ãä1Öñ0¹Ç²LƒU‹åÀºIT,4iÀÉÕ{,Ïò“¨X†’*™®ßWŸÚm½/¹üóÀ5$²¶Ð Â¶^ë=álmHhëV¸‡§Òõì^ZB"ŠmÀ…?lözCË¡Ô•­×|Ž­+ƒQcÍ_,]¸TiÈHÌ
-S3ã„”'Y¯¶`¬m¡Çˆ#eÈò…8:™ %S2éëë(ÑO‚¾µßö$Z:æj I¹u‚ Ä#5˜å‰³'‰-ˆ™û`¿{°|v=EÒ lÛóʼn¯-«8
-´ ÓÓª<Æ:®Ê=–@[2^’=Ðeо4æôò=–gý©.ë ÕJN ¸©8hIGE_h·û'ˆ:ê•ÏüÂÙF¡‘çÎ6o®’žÃË’³Ÿ*–¬ÔEg©ÓÔÙ!ÆàžµQ]Í  8+„iØ;¦‡|Ëq|J%?ˇ ÿ2ÅëÚa *’™‘2Pjª/AT‰Éu¾Fš#`wÚG §8‘žg 2½<#Î#¬âì°Fâüœ•Å:³¹Ç\¤U ~]èÓ$ôX&Û€Ë!ìwB„i¥’^¤±=¢ÊöýR KÇBXæR­±øXw¹gJŒ¿’Ä ÖÆÏfŽ“@÷S
-4p(7xU$‘‘S™<R´
-!6ÇQžLɱKô©ä+m¼P®ø~Cc¤ÄÐðÒ Â0€Bœ·Är¸«ƒ¸u°H0óøø°o}ü®‹Ö]±}EiÄaä(Êö&©ƒ7¥†&Ò~•!ÊÅ4Öƃ3Æ…É0O¤bNÛ •ó`´7Øéš«t±o»eV­¶¶ˆjpž‡  …†(;®ùk.­A‹–Nmi”èÄ2A$6Æø„NBÆ_ixí¾˜?tI¨Yê1ÑÃ8"áw`2jñ°ïœÑã[ ½ë¡V#’U{È>^©·ª+¬…=î)ªX”/’hÒjÓG.]³ÇëÚåçüÕLj8 ÂXŸÌV Ò6ÀQôÓc=R³ÇC>«ûì¥í ÇÒÖÿ Á¢R‹¯9Ï£îC‚+‚øÁœvc¬ãî£ÇÙFJÖ—ù—§¢!ë;­ûC¤éi2z,“-ÇÀ—8SB®-hUÅÂ’ÑKŽ
-xçu,M-!ñ#
-g½™¡L&ƺê#ÖS=\¤'U½2¹§G
-Jž³×hã Q;s_;Æ:.ù=–ÍÔñú~‰ÂЩCY¼Çò¬î©CÍ–wï<LoŸÂè6G±Å@ŸP׫ŽG¬ñ…¡Õ6k²_§†E\„ÇFûZuÙµ—2øQÞtYÁË®ëµa€8BÔTãòS4•ÊþÂ&º®k©Ë~Só
-°';¼PüdÂ,…î.3C…Oäâ7 JÂ@C¨ô'ÊíBšdVµMœ2%#w‰ÐÂçkÒ4Q_ÛÙdEés”:ˆŒ%r
-æö“Ù@b’ä|½Ù¨ÞÅý?(ɚʟœÈHz(·‹Ð ‘–…ÂHm´ô>U=ÿ_²ìÖð :¿†:ôVƒd Ñ‘9{~è1åöµ¨3Z0˜-ç f'‹aQh°UÕ÷(L ”™„³àguÆ5Tó'cüðÑf%Õ’•+EKhm`ÛºíXÁq„kÒ
-d¹(ù!¤5<ÅðôÇ>‘l˜ÛXç¸ x·ïÞΉ¿tÕnR‹T
-^”'ßÕëbé»°$w7uU4 4„
-«Žœ@Ûuh<’ˆìm⮚P¿TÖÌ̙Ƅï¶á÷ú ñ[Ü$b«  ?àðÙUœ
-{KƒX\%Á2“Y2ìÑ;’'ÌÙm™hG6ˆµV/n¿£wÖøß5¬ƒ‡ßwo¨q÷éš[~æ"ŽÝ^i½øu÷£RM·Nø ][&1îÒÃ΄Ÿ¥ž§êÈÃo¶N)Ÿ#û„á/?
-^ÌG ƒé‘›%ÈÍ È‡I˜(û^>:Œ`øõø!éÿßö!Ïendstream
+xÚ¥Mwã¶ñî_á[å÷"„
+K˜F€žko¼“]Wmíý«çtãtŠäñ†¿Þzÿá:¹oB"òí‚@éTMi×)É-v“[S,”Ãcüçª6óÎÜðÉoäñ&1p-²ÅúMðˆ
+›f:+‚æ`gÓ•.à€î’zZH7\Åé4öv›Ò®ì?ÅŸ 48‚Øïl)v;lHeDà\Ì\,ˆS$àNqÒÄL壧‘’ˆ<häA¯#oDê›ò‰''7$bØÉ$C×°y†cƃ4inB"ׂHæ>ŽáXÂFè<5C céG>¨©žjÐ*êar$VÖºlV‡’:î§O_ üƒ }G9uS¢¬b¸±Õ_-‚ÂsŽ;’œ Ôt® ®Û0Jd!ãþÖÇlŻþ-Ñk˜®RHz«-Al“´e#ž¢.Û:@/Ù£”]9¢ááìê2”m7 ¬»ç¶ˆþrÇëà™óLè'±ÏMmȘSdG$ ±<ÚÉT$¢¦ÿ;´„:#·B!´N×І ‡ý¬=7;úÞó0ø·5AdAá·èä×/y×+ÁÉ\þ¦ #Ao¨=
+=Vž)C/˜ô êäy¨?F¬Ð2L‚¾uÜöä™ò"ÌÕ “r눘幷'¹+ˆÕ¥ÿÁawïøp7GÓ „ÝùâÄî*‰ÐÊ–ó°˜I–s{òŒqeäŽ'“hò×7˜©ßàê°÷ÇáѶìY3ï¶ÕLû‚žžž&: ä>¯_WÉp]uF•U‘
+iuY•§XçU9`9t%ã%Ð]í+ri//°"ëÏu9¿ªÕœ€Û–ƒ–bRô¸?<B,0P#~g›&V½v¶‰°Vçã…`
+ÉÙ/|IéVªx•¡‹¢÷œYý×Õ,Üå]Â" Žé¾Úr_PÉÏñaÃ_¦˜î…BU$3£”
+csTÇù¢gX(.Ÿªaˆ\ðNNEm0 >é¬çH•öN®©\ðÉ û7ÅW¥O‡¦­Bim,=›ðÔkÊÕçþ¼Ô‰‰.ô+R;Áº µ Ä«÷LÁŽ¶¹0Ya//ì‘" ÏÎ3Q¤`Ig+·l›*¥ƒò3m‰&êÇ».Û1aŸTøÁªìCuÿ9ÜxåqXDJäë'§‹$ÍÕ~p‰„ü>‰ž[ÙB¤&Ty¦Œ<~Âg!°­ùj`Ü0bÉ.”$ÓÉQ¸Ã/þ¾ oðÚ£×xžaÙ”a“
+>nÙï|w,… ¸ÝÎns„2›ëªXOp’žBeòO;δzÍ^ç9˜BóJ´?A:/÷É¥éxw¿DIèÏ¡.¯N—Ž” ækû6/Íg…}t£ÙV`ŸÍ°¯W8³ C«m¹/W|‘špT”rùþ¥Ê?hÔ]ÇàªýPÖ¼ìºÛ Ä¢¦žÒy în!`¢‹ºž°ì·ðCJsüÖnìòw÷Ø3¹øÕÆ¿f4þ‘{@]xoc¦ÞÆ@DFo‡+ÿJ€}˜¿J=£Ö™À·Ï‘ãM‚ úËO¬Ç÷çiæ¥8Sß
endobj
-1708 0 obj <<
+1713 0 obj <<
/Type /Page
-/Contents 1709 0 R
-/Resources 1707 0 R
+/Contents 1714 0 R
+/Resources 1712 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1685 0 R
+/Parent 1690 0 R
>> endobj
-1710 0 obj <<
-/D [1708 0 R /XYZ 56.6929 794.5015 null]
+1715 0 obj <<
+/D [1713 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1707 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F48 1238 0 R /F21 938 0 R >>
+1712 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F48 1243 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1713 0 obj <<
-/Length 3410
+1718 0 obj <<
+/Length 3464
/Filter /FlateDecode
>>
stream
-xÚÅZÝsÛ6÷_áGy&äA€wOnâ´n'gû¾ÚëmQ'éˆT÷¯¿]ì%JN¦9ûËÅX`û@â4qjTœÈ";ÕE«D¨ÓûõIrú
-¥ÈJb
-æN
-§r¿¬î?Fóíc´AÁlv4y ÄÉQ¼Ô„#¤h€oŠP •xJœER›Ùºìz
-ª ¬®ÅU‚q×"Z@=]Ή‡X jÐÓŠXå;j²ÎO"lw B»q¨
-ü‹¬žå³G* i’éQí—q]н¢¶rÕµD¹’=ó!˜n>–Íyض ¢úÐm2€;X„'óŽÌaK'Œü32õ•½`ÉPê°%½”-ÙªM5mÔµeÔ÷«ýÂÜ¿æ¸^jBƒ±-!Hh)Æ*°-…«Bû-lr ¶–
-pJÔÇêy¬ø¼¢C'ÞÕ¥©ŽUó­¥ÝG†ñÈöc#Ѳݮ8jÝU~+Çœ'ŠÔ¸ ¬šjŽac4Þ2_ß\~ÏeÍÂÝ&–>º gŒŠÎib¿÷6P‘ :¦}OQ´nÊM `Ñ÷]wá'Pn<4v@©$jÜE÷¤öŒÃÞ¼¢›³A੆`»åvZ^ hy åPÀg*xóàoïà…V@ò=…•]v:¬š¾nåvÎp¶
-)`k{a
-;Š\©¯ˆ×&ˆ×Æ"gˆÙl½µç¤0à]EÏ’Ç]U¥kêŸZn»§‚Û]”R|Â
-úÊ3µ—)ØBC>FnÇiâ¬3‚´ÓÛe2ÊÆå4 œk#m]û¯g‘Ÿ$ôÄs:i͉EK èX9lúÅ5=ÚÃl¨ `Ó"ÅS
-o1Õ S>PJ s+^ºš ¥—R^*p?x`6ZÊûÝzªHciòÔðRzŒ|ïÂs½£ïãlØ ¨¢‚ûÖüÀ%6t¥ü=ÜTY¸{",c‘ú˜^†Aó®µIR²ß[M¦ü>—±Á;âo*ÓRéÓ( &núy@VÄfçö–Ó·VA{3ªQ œßµûù””4×Èò»ýÂâÛùÎ šªAûå ½ú¼4åuÛ^ö;£s$Š2ù„ƒþ2*ÊÒÂeHÕKT`øBC\!A,‚
-Œ>²Ävþ€'È».ûM0ì•@Yã 6±ìž>”¡blbJwÛ~'\øÙ/œ­vAS¿/wQÄ=‡Lìæ§3iŠK…3)|}™ò€§.\æúŠŠY?Ntšé7œ*äi¬ð÷/ß°«´ 4y,ðçYþMnŸæþw^~©«~|”šø«4O_®ÓÀÍ&oæ!ć~ #ã/'blâ‡üÃ?›~SœáO“ÌͯLrw…vJáDsµ«¹ÿ}í¾êÿc|‘endstream
+xÚÅZÝsÛ8Ï_áGg&≤(QwOÙ4ífw›öœÜÝÞ~<¨¶œhjK©%×›ýë @}زÓÎvæš™Š!~
+cU2¢@¥z
+”!´£x’˜TÄZi§Àm=ä°¦$œf›si§y:Љš¾®6¸<DöIB˜!Ž`füzÕMîÙúsi-¤Jfû³*óš&iÝlrºÈ—ÙvÕµ¨G¦²V¨ÈHc™«‘‰¤Q*ýDNtyDt¥E’&žµ^eŸó‘•©Ží7”|—mʱ‰40©ÉÝ$YYïò|€<¤FM)Ej Ÿ¹æyñ9_*—ŽT­é†F™7»jó‘^~ M8"²TJcSg“×OUY)(rPTÌÃɽé:ý˜#ú‰0Z{eµ5E*´N; 9](“«CÔ…àµÖuÞ»ÉcJ±ÓíÊÙ,ÖÓ¥S'WùC¶"ÚcU7e¶&Š^}
+Ÿš,Š„jW‚—;kÎQ—ô¼¼ ®KøG·r$½ý™ ÕÊ=5€=¶rzÓW¶ª+þ°C³‘Ùދ<Ð Æxá°éIìµf:{EÁÿ»$.
+¶ôW(ºŽõû³kóV†Mu’‚ { ØjcŸ#szà€ãz™Q,±gÉ,ùc [ø|u{ww}Eó}
+/ªKgˆÊãÒ¤ËSßS"D ¸U{YZ;6FC†¹ÂÌo ¶!÷[ð»ì¹æWÏBöŽåšDñÝ‘߶Mû!<·%äìuCiœòŽþŠ‰²ÎšùcQ>xѪMÑ<®iLe0É_ Ð(Ý` féRÌþÈLøšñ69opiiÚíÎÐévçv„œºÐ
+7¥Ø·|LxÍõe…¿¶Ã’ †ô‚:eÁ»Ç
+4)E€¾=[C×
+1î:DKȪ³Ñ Ôêät,NøšºœóÃÓƒû=ˆÐn*€£ûJúd¨n£ƒ'{†l rbÜÆvôÀ¡—-jÙßÿ´VÓ _Q³·ç+"ø’š]ðÄš‘ðˆ_ŒN@Ťö²cëa…pctˆü¢æO ×Ky<Àdv¤Új½DG26&Ù„5„®$êa]Ué2Wè.Ê€Í
+äþØ.èsÖrµô Æ–~þjÛÕ²&é 3•¶õh²™ˆPJ¿ãÇ‹ÀÍèF=ŒF •éEÌ°ÓˆµJ(žñ9b;ìäõC·_.?ä«jGÔ¦zbÆ%xqÐê”ÊžR §S
+~ØSŠCnjE*uzXbútÆ%¶æUY@òrÎ'-­Ç@û˜#‹ùkŠÔ2ôyà—›%RDV~E¤?^ÃPuì<¾ ¯=®áÕsõsû`îªúƒê76‚zõäü-׈
+Rx‘˜TŸUŸë8¨Z®Î`õæóIT™Ó´\#Œ ÊE8‚* û× 
+ )û¨Š-£*N=ª€äQ•h* ÒI¶¢
+>ë6!è<„VìÏsºn‚ÎXù
+ê* šfu˜Øƒû§Òž å‘`hK‰–CØ–Òg¡ÍŠȇ%€šm›G¬)³¦øŒÊ—x5÷оùÏèæ­&’óQ`¼{wI„OÛ|C÷ @¥àl<àýýODq•ô×r@À(·7"U‰<•Û“[w«ðWQþX¾½ëóKâÄ©†â–Ž% W•ðü“†«¯OxdYÊ|›”GEè~ö…Š²ÏuxžkxÁ<›?îQX
+ÌË|Žáb4^²ÏînÞpZ³ôwŠYݺ3FCç4¢­½{7ïï(Še¶) 
+~Èé™ñ¼«<ó]Í®â¾9%ØáVh ¯<Soï2{hʧÀWœVDéþag(`z²lD»†õ{4¼kcÛ¹ößσ?Lhˆæe†¦3'6(ZZÿ¥~×/¾ëÉfÛžØ
endobj
-1712 0 obj <<
+1717 0 obj <<
/Type /Page
-/Contents 1713 0 R
-/Resources 1711 0 R
+/Contents 1718 0 R
+/Resources 1716 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1685 0 R
+/Parent 1690 0 R
>> endobj
-1714 0 obj <<
-/D [1712 0 R /XYZ 85.0394 794.5015 null]
+1719 0 obj <<
+/D [1717 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1711 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1716 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1717 0 obj <<
-/Length 3445
+1722 0 obj <<
+/Length 3725
/Filter /FlateDecode
>>
stream
-xÚ¥Z_sÛ6÷§Ð[å™%¦OnâäÜ»º9Ç›NÛš„,N(R);¾O»X€")ÊîÌM&&¸X
-ˆ§ (QEùÏÆÖ—+¡“eFÿ6µ¥VÙÒ3oê?¢ˆ?ö—±^Ú‚¨Ïe·Ay'û“œ §Ï]³¢íÒ°m›…ÿ?ø±#£„Ii”[v^
-û­l»²~<Îó_½Ü"÷M6b»¬È:8®5,ˆ+kÖÒaÝnExù#J"ÜÁÄŒ8OY¬@¯©HXÊcƒöAûÇ5îÕó¯†N êtÞqÃömiøOe8¢é†Kœ˜vÏõ†$"RL*iÆ’duq²,‡IñwUÑó¿%ÀɼU´¶ƒ¶gu!#Δsó×tÑs½!Êél(
-® QYòdy¿±3ŽË j:õ¾7PÞ×À¹Ult°QÊÃè5U‹f’›ÄOÚ캲Áhqp4çÝ‘XvK¤5¹÷_[ç/Ô׬© ÃHÖ•9½M€ãtþݾƒ—"—_¼êÐÙ÷­´Û·#vªŽ^ Ê9¹åPB)f$D\EsÑJB3 7&-IÉE@ÏÈ“7Ía‡€"&ÜïZ8ËíaK/³Â`XR‡•âY ãšE “ƒË¢K¸¿~ ùÛ[ëKÍ´‰‚iÄRΩb5KšwÞ¢ ?À{Ê)ºŽòqc÷Ôû9Ø¡†LÄR¡ã±Û²²uçâ6 Ÿ’¹-Ø xðZÁaJ%¯§ñ!×ù4Þs¡(ÝþeÕå»ÕÞ®÷¶Ýœdob딿.@Ï5#ÁÈÜ Â¥ÕX„ûKJ@}Ã$&z¥xw¹¨Ó84|‚¾Cë’ïߦæ=ìûõƒ'€;îKÛÒË:++ð&óåGLoH#‡c4òf»g}(«²{¹Œãx‰Æ—*'y´šøGï”x¬ÁGg “±
-öbÛ3N)…ö<çM”™K¼a®WL"p"~~ØÛ`Ÿ²¦ö)´ãL§J¼.JÏ5#ËÚ¥L'© sUUÍ3FDãÀ–ÅKm]š7h9ÃînŸÕT)HL¨ÙR¯Ûˆ³©Á(xú-†àDï/™exîBË>Ö6â ™€|™LÉ¡&N—#ð¥Ëü4Ge 9!`5\z€n²m |¸ýòÏëߨMå{˜RÎ}pS¢½]‚cÐû¬É‰(fZëêfÎäbL·¢79·ÌÍš„€4çElæ,«×ÿûýSxã0é×é]K€%ˆfɹ‚^8Ë»;'63÷ôÉ
-t3WYŽ]>T8^ÒIäg•âИ`ð>ËKï9£Q^sÐò6êÏ)¸ù-b{*Æ‘Ôç <ÒÇÌ ä~ºÚ~ëü
-PVÍèwâ-ól1W
-(k•€ŠgE-¿*^%¦fé PI Р0Œ­?
-ü«á€™ïF'ó:§8éò:}Lç 2ÏT c˜Œ Jç?ý~¸Þãd¶þútZ ÏFÅl $| ôáU+(¤ò¯´‡/e¿Y º«Cˆ¹¬¥÷¬¿f}@$kìěЫÌ!¾·Í¾£*A’ås³ÿ:œ¿9Ðg¨¦]EÔÄ[¿Š+HE¨©{f¡PƒÉŠƒïÌ­UÕkÅy3ÚÛa·s2@¶-»M@¼7ŸŸäØž¢‚‡L 2 w?×d+ëóÈ8Ž3&1¯§Ë!×ù|Ùs9\Öãª=ý(q
-Ãb!^!0͈0¾"E£•r,Ã(s
-™x½`áª' º‚
-oõÆY¹œýÈ$hÑpW:®¿/õ¤/Á±¤k¨7ñGæ¦vÆîÌ\žSœ%±œ\ÒºÛw4w±f]"§ÚÕãP£ü¾<N5¡s ¢ XŽ®‡¾€¼°Ÿ~
-TW'%£ëT“Ô©éý¢z
-ÏÖÃuJðWN›/2RsÎÊûÍ ºãt‰
-ÏMæ¾ÆF)ÝÈêp÷ ¯fÏßÒ [bé¬ÉƒÌ¨GÂ<¬?½aƒzÉ®ÖçíqšKÆ“8 ñ5¨Æú‡žÖ'²ÜïåPWxþt&‹µ‘“è-Ĺg3º£êÇU¼m¸â´uHœ-žTqÆËóf»íkèª 7áÃ,{œ Ý\¦Ò(|@£[17h%gÔ!ÁÿµàǺ1;÷ó,‘0üMÕŒ G‹`ÿ÷O·Ž¿k¸ ´æg~”’j@Ñ0‰Êe'u#Æ…â3¢ÿH§çendstream
+xÚ¥]sã6î=¿Âoç̬Y‰_’¦Oén¶—öºÝ˦sÓkû Xr¢‰,¹–œlî×@€´$+Ionv6¦A
+›Él‘dZ˜(6‹õö,ZÜÁÜ÷g1ã¬<ÒjˆõÝÍÙ7U²ÈDf¥]Ül´R¥i¼¸)~[Z!Å9Pˆ–ïþôñêû_®/ν¼¹úùÓùJšhùñê—4úþú⧟.®ÏWqjâåû¿_|¾¹¼¦)Ë4¾»úô }¼@ôúòãåõå§÷—çÜüpvyö2Üo)ÜÈŸg¿ý-
+Øög‘PYjOð%q–ÉÅöL%ŒVÊCê³/gÿ ³néœþ´I…‘Ú.VJ‹øÏk9IRb2a•TAË2žÓ²ÇB-Mוë|<”Ï«‡î¡mêçéÞc«E¤2»28#`ÍÈ!rÄ6H6’ã_÷e' ì²¿¯:™e»ë«–¡yS T“-e‰0‰öHâ°+ò¾\­ïËõî„ñ‡¬S%bib^ïÏãtYƒÛ¶¿'¶]Ù³$-‘ÐC–V‰T¦ “x.»6q"2%SÆy‡Ô²¥S¬c€šîª»¦jîp1n&Ò4‹ÌéVª!1Ëß#õ÷9
+¦ZuH/O•Fý}Iƒ¿üHè·UOØŠýŠºæy^pèÊ‚i´¼
+»ÈE“îÀaÀ ðKF¼yÿ™˜÷pî—
+jŸª¡ñii'Eš@Yûª(kF–qi—ˆÔ$v,ÌE]·O3WÜIèž›|ëÂ(ÀØ`ä ¦û}Þ@P¥ p2¡vK³n#ܨ‡UðÉ[ô3€‰Þ_‰Rà¹CûŽ+¥/ñ« ò¥™$’CC˜Ô=ª4YÞºÂ/ã¨KªœšcK‰—`šl
+,A 4KÉ'´½R…ûºûÉÉ
+GËÃo~w“âøØ]çÜÕ=•u}¼åtÈW®œ·¼SðZí.\:‚¡Ø
+÷§B‚ºk üì?¯»– M¹.».ß?3m“¢Fü Ñþ|žÉåÅõÅO4éO†ƒýžH9sçó-š‚os•õjÅÑ:‡MÑ\ÃTœ3’søÌêvÏ)c×6y›¥ÃTCC—‚šÛyûUO$‹†VgW‚o­]k‚
+Yž•ÌF·|Üe ÷=˜.¸¹ÏécsèC8: u™w¥ðõ÷Ô@>µ½«—4²ä\uÆ‘7¸> AÔ‡!h¦I†ùšd %ºÑ™šm’£c“<Û#CQE>P ˆŒ¯¢ír·¯s¿êU|¼PóI
+p4)®ò5Ztu[ãzQ!íïÏ@­8 &5xÈòš=g´Š5#¶Q>K„àæ·XÛS3Ž /ðHïr'€¹¦üÚ3h«fô;ñÈye1×@A‘ê“Û¨>ß÷\NNèB‰&TAåKS(ÄÂûH ÎWp8FOù¾à†~Â$“FHkÍñâgã9·"ǃÃÛäk*¡Æ:gK»å%têξe:>}Kvk–5¾c(œX¹zª
+6‘u¾öB´ÍÈÞ7xãáV@{Wʎ%7 j±lØ `=çÚ×±XÔîZ󡣡“Ze* }l\T(ž˜+>%ÙÒ€’`@aG·¼
+µD¸QÉâe€Ñéd[æøª³9Ô4ãòYæ[A
+¯N‡É
+º+×ê‰:ƒð>÷âøõFx
+ æóQ|ºöÑRèDËqœÏ˾®`qjâ7|}€õŠ¯{¬¯£iL;ùÈ
+¡¿¿Æ;`Í0w“1̢ǹ Zvo±ÞœÀá®> /
+.Þ»€Ó
+=¼Æáá5f›ÉâIÙ6¢4¿&fƒ{RÉÑ`Ä™¢ƒQÌÀö óÝPŸ°ò·yèÞjlïætAÍ ²ÈNÞ8§I ¢'8àžLî(çêq„¶Ÿ>v%IX´®0&yG/ûŠ‹‡À´&½§Áà®noó:ÌžÈGá¹ãUíì[µ Ê•Hûª(œƒC,sâ`wF9¤a§n˜s/áØðåÏXa!ü+v–íà¤@¤ö ;(i«õÞ³á;m¸#,ŠŠîažg+WÎmH;Ô‡Y=qAs-=rY=SqGÁIþ„äÌmH"pŸ&8¹Ò .o|4žyV–Qÿþ~[‚0X)A3ÂoÁ¾p Æ`/\_øJ¥®ßù‚æäÒ
+AgàœqéØóÖë‘Ç_ ̼ÐuNEex·Æ&òÏT ,:‚X9¤úŠæ±Þã„Z¸D6B
+‚4ÄRå;!=ì„wBy½‚vjý@{øµö›mÑp¡»@Ä…˜Ñ:ú~/„_¸‚r$ïè„k蚀uîêå_‘»vßÓ 5"fùÔî†ôÛ=–@Oí²)‚ 3Þ2×–*ßYCšßúv ˆï…»«:hÅy3ÚÛa·s2Jí²êï}Ý{õùQí Ö{Ȥ`†žimA¶ªy¹>N°,ûFÊ ½òƒ6Fr¥Y8ÃUw<÷QâT™ˆ•z•¿Ç9å?¾#Õ"†?#F9SiÃÁÆËwO
endobj
-1716 0 obj <<
+1721 0 obj <<
/Type /Page
-/Contents 1717 0 R
-/Resources 1715 0 R
+/Contents 1722 0 R
+/Resources 1720 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1724 0 R
-/Annots [ 1719 0 R 1720 0 R 1722 0 R ]
+/Parent 1729 0 R
+/Annots [ 1724 0 R 1725 0 R 1727 0 R ]
>> endobj
-1719 0 obj <<
+1724 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.1733 731.9163 304.5885 743.9759]
+/Rect [226.1733 647.7874 304.5885 659.8471]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-keygen) >>
>> endobj
-1720 0 obj <<
+1725 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.208 731.9163 403.623 743.9759]
+/Rect [325.208 647.7874 403.623 659.8471]
/Subtype /Link
/A << /S /GoTo /D (man.dnssec-settime) >>
>> endobj
-1722 0 obj <<
+1727 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [339.2005 220.4734 400.4005 232.3736]
+/Rect [339.2005 174.8193 400.4005 186.7195]
/Subtype /Link
/A << /S /GoTo /D (zone_statement_grammar) >>
>> endobj
-1718 0 obj <<
-/D [1716 0 R /XYZ 56.6929 794.5015 null]
+1723 0 obj <<
+/D [1721 0 R /XYZ 56.6929 794.5015 null]
>> endobj
478 0 obj <<
-/D [1716 0 R /XYZ 56.6929 471.141 null]
+/D [1721 0 R /XYZ 56.6929 407.676 null]
>> endobj
-1721 0 obj <<
-/D [1716 0 R /XYZ 56.6929 438.6197 null]
+1726 0 obj <<
+/D [1721 0 R /XYZ 56.6929 379.9387 null]
>> endobj
482 0 obj <<
-/D [1716 0 R /XYZ 56.6929 198.1284 null]
+/D [1721 0 R /XYZ 56.6929 160.1112 null]
>> endobj
-1723 0 obj <<
-/D [1716 0 R /XYZ 56.6929 170.5486 null]
+1728 0 obj <<
+/D [1721 0 R /XYZ 56.6929 137.3154 null]
>> endobj
-1715 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1720 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1728 0 obj <<
-/Length 2602
+1733 0 obj <<
+/Length 2691
/Filter /FlateDecode
>>
stream
-xÚÕZ_sܸ ÷§Ð[×3‘ŽÿIÍ=å'õMϹÚîÓÝ=(»²­ÉZJVë¸î§/@\I«]»Mn¦ÌD ü
-æÏ®W¿-Þüõõ¯×g—§¹ÐlaŠÓ\¶øéüâ-QJz¼ùpñîüý?._ŸZµ¸>ÿpAä˳wg—goÎNsî4‡ïEpàƒwç;£ÑûË׿üòúòôëŸOήÓ^†ûåLâF¾œüöËV°íŸOX!K§³Gxa/K‘ÝŸ(- ­¤Œ”õÉÕÉß“ÀÁ¬ÿtÎ~ZºB;ag (øœuY)¤7 î™›B c‹×ËeÝ÷Áj]»ÝtkÜ#HI,Ë‚Ò¥—‘>Rb±íðÉÛ»š}½ùZoh¼¬Zšý&7§Ü-ê~»i–ÛzE´UOC¾èÚ 4
-;ÿ•&ªÕ*|–ínFœ<Hþò
-áq¸(
-öŒ´%·Ñ`”}š-ðY@8¤M³B“ãëö”/fÕ´¢°¦ŒÛï>ãy„ož1™c§ª–«çA&ëÚõîëªü»yXã;§x÷ëÑÃ; ÑhQÞ ‘@Ú>·¬(¥cÒ«€~=œÜTë-½4ýE>ûhèv™&9?ŒïZ‘÷z$Zú }t0‡¨ó_+¹(ÆÊaèè³úžŸ×ø‰\;·‡l³™ÁðyÇÕñÅ×Ìêc Òœƒ/?F¡ W&Â0K(ô
-aTuØ"BçYWM[mžhêíÅMQNÇQêB'Fpì2ÙŒv…àF Ñ@D4 ¨s€-ŒóqÔùâŽy„HðPÏyŒpd©òˆP
-p› ÖF
-& Ï=œ‘À  ’sÏÔÉk¼9Õ|#'ÓÞD6”¼Ÿ“"׌£œ„U3f¬Á8'É]N‚áº[VÒ›‡ÈH]¢$ø¼¥ñ$!…ˆ$$èìÌâšÊg‰Uë§(´ r>w}N@©AkÃ̤¤i>®±°–
-q˜ _°{Â'd ¨ïëM[­ó›jéÛP¢‘ÿãÖ«¦ÈW¿ ¬ÿ¤ù °qVŒ+PÕT÷Õ›í]÷À¼­1¢ªM‹ªOm÷˜¾J À+ØVëøÑö±Û|ŠeÖèÀæJ
-ˆe(yŸÉ÷rð\¶ße{ž²=ÙžƒÒ_èb¡ÝÒÜLR=åëRa”Ù±¾ÄjÖ} ˆ³£“øÓk€xm²ÿ¾¯ÌUR#‚Áà³
-PPÁ²â¹*@*^8¦äw­&3K7‰ß¹
-Š>RH¦€ ö÷«€?9ñ‡“ÿ÷‰_h–„ð=šø×8ÈTS×2®Ð¥|6›û#׌£Üoe¡­±c%F¹_Êt+†ÃÐâ0õ£þ%ö£RÒ ñ¶Þ†Ù¶¬7á»]¯ot[¿]¼À×±n†¡8(
-§,'ËQ(ᨹIëúB,+o›~6%ImÕKu§™zÉÒ8‹‡v¼¿,Ô1àÛL©qñ²Û70h°ás—‡
-âŠñ¡ÀKkÂÀßß)“| Hñþnzc }A´c uÁÜb¦ŒÐu¸nkÊqý y!,Ÿ2'RgšÍ^WÂØÉ(Ý—ÃPfõ?ÂW¥¤wŒ“9Å@y!Ò",Àé£&ÔŠ«B81ñaTüàµwa³G¯Å†\‡Á(qÍ‚Ñ\/`­ñÇ‘£Z$®5Fxà«Tõ#=ƽ³©¤ƒn!ö"l¿YêE`î¶Á{R$%(BòàÚ¦(I9B‘( •]0IeLŽÊ.*×@i«&­È\‹N)ËÚ§½²ìÕÜžäWÌM½sÆ•(œM±Tµ«9g/hF¾Ž¾='aÅü°»* ú‰òwpq×Èu
+xÚÕZ_sÛ8ϧÐÛ93•–ÿIÍ>eÛ´—Ût/Í=íîƒb˱&¶”ZNs¹O
+ëñ 8Ú5à_òQ
+iÔ ‚â ‰Ô¦€(Ú¶S‰9·y
+\Æ™~$v6…óã:3BA(2¨ ˜ zÝ;/m°VÆ,Ó¸K:°€±|v ÿ‹Ùåe@¨ÚA h1píäsÂ!»å¹$¦í÷º·øáj#’w ì(éo*
+N{’ý®Œì;%ô¹c°¾Q™°Bwa|ÎõŒ\»†ÙK:/æç@Dß6ƒ²3Çþ5F¶÷!ë°UC!ôðD¿ àc]¯Ð„‡®9ë1‡ZÌËs AÖg©Ü‚GÁ–zg÷mÞ HÌ¡ÜK÷Íø·ù*´È¾L±±Èdzœ·ìäÖÇ“QÇ5ݔ꽇iï"éK>ÌG‘kBA>ŠŽ3Ô`˜ä>¹næþÒ@Ú~©Y”tþ;¢GÉF(ˆ^2‚ÏÌn©t–X±>D¡UóØ´)¤fØ›Q9SACÿ+ê$…u'
+@^—PŶŠÕCÝ<w³:ð÷
+ÖÅ:NÚ=7Û‡Xb l*ý£^y¦r©xâÈ}  Ç
endobj
-1727 0 obj <<
+1732 0 obj <<
/Type /Page
-/Contents 1728 0 R
-/Resources 1726 0 R
+/Contents 1733 0 R
+/Resources 1731 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1724 0 R
-/Annots [ 1731 0 R ]
+/Parent 1729 0 R
+/Annots [ 1736 0 R ]
>> endobj
-1731 0 obj <<
+1736 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.4431 727.7808 539.579 739.8404]
+/Rect [483.4431 678.2985 539.579 690.3582]
/Subtype /Link
/A << /S /GoTo /D (address_match_lists) >>
>> endobj
-1729 0 obj <<
-/D [1727 0 R /XYZ 85.0394 794.5015 null]
+1734 0 obj <<
+/D [1732 0 R /XYZ 85.0394 794.5015 null]
>> endobj
486 0 obj <<
-/D [1727 0 R /XYZ 85.0394 769.5949 null]
+/D [1732 0 R /XYZ 85.0394 726.0224 null]
>> endobj
-1730 0 obj <<
-/D [1727 0 R /XYZ 85.0394 751.4533 null]
+1735 0 obj <<
+/D [1732 0 R /XYZ 85.0394 701.4185 null]
>> endobj
-1726 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F63 1364 0 R /F62 1361 0 R >>
-/XObject << /Im2 1350 0 R >>
+1731 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F63 1372 0 R /F62 1369 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1734 0 obj <<
-/Length 3385
+1739 0 obj <<
+/Length 3202
/Filter /FlateDecode
>>
stream
-xÚ­Ërã6òî¯ÐžV®!xƒ¨œ&;ñÖf2ñxkI”DX‘HHÙÑní¿o €¤DÉ“JìƒÀF³Ñhôd
-ÿl¢4Ñ–Û‰±’(ÊÔd±½¡“O0÷Ý 8³ˆ4ëc}ótóÕ½0K¬æzò´êÑÊÍ26yZþ<Õ„“[ @§ï~|ÿðÝ¿ßÞ9}zøñýíŒ+:½ø玾{|ûÃoog,Slúîû·žîqJß<¼ÿ!.}¼»¿{¼{ÿîîöקÜÜ=¥½ô÷˨pù|óó¯t²„mÿã†a35yJ˜µ|²½‘J%…ˆÍÍÇ›ŸÁÞ¬uL~ReDq©'3!IëK™Ã e‰\$)s6&åˆå¤œo6õËì°[æmqºeÆ ¡TËIŸîÙê kdyÞ[žqFlfÌpý»bQþB)/8
-ìó¡hZ·UPò¿‡·>øÑáŽòå_i´„2þVM±8àÜ×jŠs]É1L×7`Ö)Nî?MpðØךˆ?ë¿0¢5gt½Ö‹¶ô[n §ÜpÁ‰Ì@ÅúÄÏ47a½Âã³ÆYNŸÔ XY´y¹#<õÁ, •ÄX-^±ÝÖÛX§¶;v^òýÒ)ÊéÑF2
-.ë*# k„“ÁMLÖßÖ¹k‘̆ьaØ™±{Hf h;¢3cwfì¼àgS½×6ùs°W«Ë8j··lw\áŧóŸQpŽ¯¥g¦Ec‚Ap`DÎP™ñÞÁÏtŽ
-
-#mÜ>:i¦/¥wN2C!dWìÒ¶XºýS;}ºµ|Z#NQåóMÀKKKÓ,P~ƒÈS”ÕqLN–¦@
-ô5å†} ®rm^£d¿~U´.=€œá#²å% >盃S7®A ö8YW#¬3a /õǎظ\'nŽi„.'ZK3$ÛÛÞU £:¼R†-šÈóˆ‹úP6ï0-‹ ‚d„K6úBmËçâ;t0²²Z¸³µÑ2@BÌØÕUSÎËMÙ½# $
-t·Á05H$¨åæ: k„‰AŠ 5É29dâii²šÖ»pB0~É=Pƒz¶ÉyåƒI”# ÐæaÐlëÚ;ÜC,#)=H¯Õô-ü¼:@4þæÕòäïý´"<“rèü~á\Våü²ÉçŦqP|FÚf:/«|ìã¸8™Ùé÷átž‰gÌyØ‹¼éÈÛA¿I£Üòë¢Büeî¼X€CZ¾ó í:fôé
-¤|óPn¹‘?EOò®]>û2’ê¬Ù¯(|–ȱ¸u€ÀA½y."»X8I’Y}åÜÇ[ÆØ4(ÕOqEwÚ½¸ŠÊÔgycÄ …c_ç»+–1R´uXïé’†ž—DÌAk¢ê²Ñ»&m¬ñ.©ª D3­_QÕÖUX>o
-gžÕÕìYŽQp4Òö
-TÏÁn·)}ïõ꣖(È€b ªŽ#kB6oE*Ï/ªƒ‹lÚ²ëÚÐCº¬ ÉWdh†(oj³¶Üõ¡=S
-©Ö™¸ÊHB:çd°e ¬H«¬x¹ºöM¾u=
-¨ßî Ò
-Û¾=Áâ÷| \¼1¤Y&ˆ¢*‹|Ëv|Ó?Ü@yN ɧWº'o¢ôÜ*g9 ö7¾ª@ž¾búÚ%
-uúL,Wºa¸‘Ýe‰­z
-úEå ~Vþa= \é ¤ƒUtý‹„s#Œ3©AððáYFñDBR›Õ¸«ôÁžŸÆ;*|’<ÛíìYÝ{AºË„t_B'4ax©!CmûM«c
-á”Ù‡—²¨¸ŽÕBøðÉ\ÈT]¡ë©¾nt›Ñ9Ç«%¯Ñ@%–uüü
-]!€æ·.©*_Ùåûð=š«,‘ü´aÚÔ‹ß¼ËY°gpà9öp3o8JÖŒC_/‚–
-z½‰E‘A!1ˆ­Â‚ë@®ÞÀ(š<6G×Çë<Ð)ªúð)ðõöÃCÀ<ì¼¹§ ÁÏÆMdtú ÔÆɾx“ï0<?î·E¼E]¹¯4„z±
+xÚ­Z_sã6ϧð=3³fÅÿÔôiÛfÛtÚm›ÍÍ=´}my­©-¥–œÔwsßý@‚¤(Yvvç.yB$þ
+N2jÄ,ýL†È5!K„ B“<ÏõPŠOåªú-ËXÙÞ.8Óó—mµÚÚ¦šïšU±Cj±^n©™—m‹Œj¾*jß·Z•O‘É-é¹Äî?å¡*[‹‘Íï7ÈX7v·Q€õ 5ﶥÕÄl¡Yf—HI.%s¯ËMqÜuˆ™ªÅg×àÓé›#I,ÉK‚/ îð‰o¤K$g ô;­©"Z^2º‡„ë
+W‡ãÓºèÊ3 PM²L‰ë³G®‰é@` N£õpþXfX¦çÛ¦í<µ@ù+s¹F&·@lË}Õaû›S]ì«2|óþRq‘-R7Í©û¢íJßþWS;Ä°\͘«1ìTŽpÐð¾.ëRú)¼qkhöØ…
+JǾ“äß· •epÕÖšló?øÑ@Ë*@l¾yƒÃZÊ¢n½°è)€X{±½7w½¥°´ê†éœÊäP9aùèdÆ•sN ’€òT`¤}¹¶ëÏòùãmÎæ ò”u±Üy¾8µÐ©baä7ÈìÎÝÍiJO9%T‚²×À ë@^>ta^µE}
+šýòUÕÚø
+—KÊÐQ;ÎÚ]µ/›cw† P«R†_—%rM3X·iD®†Ò8íÚ"N±·•
+¨á”ŒR® Ȇµ‡‹¹NÏ,ù8$ ‘hôIãÊïàÁª§Ý¤yB*
+·«:\/
+!ŒÉÅgã4p¥z7f`TÁi¤W çFxö«—ûŸŸEPOp!$bµ½l@üqºæ’ƒOg«]<«©›1ˆ…)ƒúŒ¯óø2ͯ=„Ï~BEjsòÄm¨ ¥^LE „XCø¥ —HA¬æÜ]:VÔ*Ïãµk¢U nðjÐþΊ(­ÍЂ«zÕìc¸5ø©Q[Ö]ðx‘¯F¨B ÿÓÖ’Ï=Î{ÓwS?›ã’ØߺM¤/YŒoÿçŸÔõ¿7¥3ýmˆ€À&åbMsžf„qÅ&Dÿ/Þ¯1¼endstream
endobj
-1733 0 obj <<
+1738 0 obj <<
/Type /Page
-/Contents 1734 0 R
-/Resources 1732 0 R
+/Contents 1739 0 R
+/Resources 1737 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1724 0 R
-/Annots [ 1736 0 R 1737 0 R ]
+/Parent 1729 0 R
+/Annots [ 1741 0 R 1742 0 R ]
>> endobj
-1736 0 obj <<
+1741 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.7318 733.1915 233.4785 743.9759]
+/Rect [184.7318 690.3107 233.4785 701.0951]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_security) >>
>> endobj
-1737 0 obj <<
+1742 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.8158 610.2892 418.5625 622.3488]
+/Rect [369.8158 567.4084 418.5625 579.4681]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update_security) >>
>> endobj
-1735 0 obj <<
-/D [1733 0 R /XYZ 56.6929 794.5015 null]
+1740 0 obj <<
+/D [1738 0 R /XYZ 56.6929 794.5015 null]
>> endobj
490 0 obj <<
-/D [1733 0 R /XYZ 56.6929 355.3526 null]
+/D [1738 0 R /XYZ 56.6929 312.4718 null]
>> endobj
-1738 0 obj <<
-/D [1733 0 R /XYZ 56.6929 331.517 null]
+1743 0 obj <<
+/D [1738 0 R /XYZ 56.6929 288.6362 null]
>> endobj
-1732 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F41 1218 0 R >>
+1737 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F48 1243 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1742 0 obj <<
-/Length 3221
+1747 0 obj <<
+/Length 3398
/Filter /FlateDecode
>>
stream
-xÚµZKsãƾëW0'S©%Œyá±{Rl­#W,¯7rUR¶ 9QK4’VRùïéžîp¤•Jé€QÏ«§§_÷PLbø“ÌD±Êõ$Íudba&‹íU<y„¾o®™ùA³þ¨¿<\}ù^¥“<Ê™LV½µ²(Î21yXþ4ýê¯7n?^Ϥ‰§It=3I<ýËÝý×DÉéóÕ÷÷ïï¾ùñãÍuª§wßßùãíûÛ·÷_Ý^ÏDfÌ—¼Â3Þßýí–Zß|¼ù׿<|{uûÐ¥^+<ȯW?ýO–pìo¯âHå™™œàŸ8y.'Û+mTd´Rž²¹úûÕÝ‚½^75$?£²Èd2 PÊ
-Ôý7´´îó1ËÓHi• UmÀÏ,‰ãé¿éSTOï¨õŸw¡k¼œHÆ…-!•,ö'Çâírž½}û¥’ïÂ;ŒDû)]B~áTn6pÖØLmUÌ7¨±fÅbå¬IŠÕi%Ј3¤E§xH
-„Çú“s¬€sðÞ.—Ot¤ÒüÅC‰`[>ZzÚ”Ìð^B짂@š½Šý„G±„]ü%âÎ PœŠï)hZæýŸ“@k÷«báœô@tW u 2“C³^ÚUÁ/
-œM
-uV ‘ÉàugDÊûÕó
-Àò²¶MõEKŸªú4[T͉Ʊ¦9ýûëÁ6hFè¨S𚼋” «8¥&dTŽ9MH
-‚†ª5¨ŽâáųJ¦ÒHg¢ç‚.WÊ£TÃ#þb-Šµñœa-À
-÷eóÉ…:Pb5u ¾ÎÇ%Ý·eÛ’&qaçHà°»Ô3ôº@À]BÎ/N së<êÝýÍ×__$†&Î!GéDƒ…‚3Ó¯I e”gYN gÝŠ³þ’”õõÙ3BFÂÝyg—ñÜÿ3 TŒI®Ó³TGRšl ( ] ä
-ÈvÏJá²:ê܃U×[°ƒ,”²Xø§:lç–WX9íðÃx&¾Ù¢®Ð<Î ‚uípÿ]
-0Ç ¸!â•*ðè€ DñL{/Žu¹üœ sÀxZ{ɇ¥‰“<.ÛÉ ¬*—Ê ¡Ç‹+RéAý
-#Jž8·-„P„Î-î‰Ê45ùªp
-DÀÎ-
-°T”É<õL¹—¢ü¢^íStÉú§Î¿endstream
+xÚ­ËrãÆñ®¯PN¦RKóÂc÷$¯µŽ\±¼V䪤l QK4JVRù÷ôk@
+EÞÛ1ùÄF&Í_<$âIœOH‚›Ñ”1†ØO„4{û‰`‰ƒ„]ü%âä& äâg
+^æ“c–€$Ç-Ï@$ä”ÛfPfzl×Ëò®€ðÎ6
+þ÷×}ÙJ™bRGi-‚E¨Œ€Ìâ’†³ „JØéùhCR€ú82º7o¢4o›ýnQ<ïÑÇiS¯:x)‰TR&qccÄ40KÌÆíž=˜D†ªóíÄ¥œK ‚€»¬…TÃ☤Ά óÀ8•çÄ/>¤ƒÇ2<åP6a撚¤éØûE|ASµª{sÜS˜ÚRÙL œÐ1¥<J­s‚ñ×kQlç ƒhv¸«ÚOí `53ÊÓàK^.
+œÃú?Û¥è ιe4dÎ)9wý¾Tò\ý+Ô¢Ðlz©’XàâHk—Mbdz£9gU%›ywêËð)G*Jsó’š@8‹ó>…ë‰ÉSßJ!€²š4Ê݃FPYÇ“;0éfÃ[(C¹Œ…êýæ¶
+w¤MVJÂ7_45:ûý¡$ {_Ž÷ßVà-¶ß
+­Z
+fk™Ý¬„©Î›ø¢î†˜NÏ`ê i€ŒKED©=JÌ \d²Ä09°óýr;ÇCN!‹# %ÓÀ¢ïüuaíîyKI@,ÁÂ93Ü/™‹Øtey2¤/±rŽµuSVŒV䆙£µ¯QLõàb½_R#
+'9fÀpËÀIR¢¸ Ø1:â™õ
+^<4Õòs‚̱{h½äÃÒ‰ÄIžŽÉöò«Êµ™4û^X™Òz\Ixî®z(×^y'Y7.KMÊu& ‡° 2¥N©×EýüJœ½( •GÆ¥6@ïÙHélj%pl)߆ºØB6‰vã*hÄ=Wï‡Pzª CsÜâNsð|§þº}ƒSçQ–¥y`v¦¡nÀ¹1W©‰Z ‚’8fÏšÈ&ZöqÏqç^âÎ=Ã;p7ÍãT®"MO(“:0yœÊÔïrL ¤ƒÐiÕ×(â|^O“û›8Ö£b2àä’¡S}¶T1P»õo F€übU.>á0á¦uæ|ÏÕšè0ß·}aŠ£Z#΄ yÇÔ9<TKòpÆQj|ó£¹ß› »Dã¨Öˆ*o¡Ê
+çs4±ÍǦß<Öc¿üö¥†Ž ›×°©# 51!Þò(qθ›¡Gæõh¾Ü>ºj:ð×7$Ò3ø ¶ï‹®8ó½ÐìÜñM`íþQ顨‚ZnýÄð5Ç‚{¡(mQÀ/û]ÕµÌÒ³¾Ö•-šÄÎwa¹úwéç¶e½”½¹ûšÍŠ]Õì¸-æ! ‚M– Õ¡­šÝîéÝ-Ÿ=Ê‹Ú}Yƒ7à.
+Cûu«fïwâ Âo¿ÝUàçHÇÀ£Òï)
endobj
-1741 0 obj <<
+1746 0 obj <<
/Type /Page
-/Contents 1742 0 R
-/Resources 1740 0 R
+/Contents 1747 0 R
+/Resources 1745 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1724 0 R
+/Parent 1729 0 R
>> endobj
-1743 0 obj <<
-/D [1741 0 R /XYZ 85.0394 794.5015 null]
+1748 0 obj <<
+/D [1746 0 R /XYZ 85.0394 794.5015 null]
>> endobj
494 0 obj <<
-/D [1741 0 R /XYZ 85.0394 503.9183 null]
+/D [1746 0 R /XYZ 85.0394 473.991 null]
>> endobj
-1744 0 obj <<
-/D [1741 0 R /XYZ 85.0394 475.3477 null]
+1749 0 obj <<
+/D [1746 0 R /XYZ 85.0394 446.3538 null]
>> endobj
-1740 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1745 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1747 0 obj <<
-/Length 2403
+1752 0 obj <<
+/Length 2411
/Filter /FlateDecode
>>
stream
-xÚÍ]sã¶ñÝ¿Bo¥gN¾I6OÎ}u¦ñ]|ÊC›æ– ‹s©I»¾Nÿ{v± MÊ”/©ýÐñŒ±»‹Å~BbÆáOÌŒe6•é,N53\˜Ùr{Âg·°öþDœy‡4bý°8ùîBų”¥VÚÙb= •0ž$b¶XýY&Ù)PàÑÛW—ï¹>;u´¸üpu:—†G—?'èýõÙO?]ŸÎEbDôöogç×´d.¯ÞÑLJâ×çç×çWoÏO[üxr¾èÏ2<¯à
-òåä×ßølÇþñ„3•&fvœ‰4•³í‰6Š­T7Sœ|:ù¹'8Xõ['õ'8“ÊÊ J9¥@“2«¤ò
-\liåÖY[45}UkX†3%1 ”h ‰ì®ÊWó;=oW»ù®Ú Ú2dž
-3¤~«Uzœíã@+€ÝŽ1©ÇªU(¿¤Ž‡éƒDEÉTŒ×-9T] U]Wƒg,T'hdœ%»òçT"ZÀ=)3&e<Ó±…zOû:söe&×iªi
-¹´úù‚\òê˜ðƆ”²+ΣVehA§BˆÈßô™ÓÏF2fk½)k£MV°uËMVæõ6|cy…ã®È|H«
-eãh-óS!³ÉGS_½(©—ÂR 
-’÷(pÙ9ùÌ“F ÂVªÁÙŸãÜ#=e=êW!Ʋ~ç°
-/}’” JÆÑmQÝ@S觊¼nòW«—2$EÿbU×´?(ITú7-„jè/É~d¸rÚK;Æ,P»2 \}X\^üƒà-pÈn]
-pˆ42=¨¿ï7®tw>ë[ÿ6© ~¯ƒxš]V»‚ÈEg©¼·xê?q íÔ­Þ`’O‚ûø2 §&¿ÈƒTÏ
-¨7·"Œnÿˆß_§«OS^@¢/+?®À"!;˜Ð3+c¢+vôrÀèʺíÕŠó¤m€àä¾@ØŸÝ„&”%¬ÝçEAЗ6_~FO¡í%ª(߆=^0³{%ÿAÇgS]Åï„þ郛ß4ô©û‡Gž[ð¯¬0ŽEœ¸Ï‘B.[n&%+µê²ÕØ·ü€L‘˜þÇ…Gƒ&ôzªÑ,ûðj«CŠ Rwö9Ú”s5’Y“ÆãëížÁ«€äž@¸°²ƒá÷—€º¦Ñ( yJEg½
-Ú¥¯Å§Ë÷}v,;ÂäjÝc ÃDаIHôm¤°š2Úî Þ»z
-ßo•î~€i’}€<ÖmA0ú}Ø wD1?0õg:`µ]æ»"ºËÝý´¹^–O“Oxvÿ¦åO†1ðM—¦º-{·Uç–þýbãÔ]Pï±ÄªÎp·8×dú‡ð­tÚUNgBr ·ÌÃÝúWíÕÑ4eþ„8‘Px_@¿ø—ÊÁƒH$GR®L'@$…‹ùÓ,~Ò|*úïÉ}U~endstream
+xÚµ]sã¶ñÝ¿Bo¥f"ß$›'çξ:ÓØWŸòЦy )ÈæEêDÊ®¯ÓÿÞ],H‘6åKjw<c®€Åb±Øoˆ‡?13–ÙT¦³8ÕÌpafùæ„ÏnaîÉ8‹i1Äúqyòý¹Šg)K­´³åz@+a<IÄl¹ú5²L²9PàÑ»«Ëó‹¿\ŸÎc-/®.ç ixt~ñ×3‚>\Ÿþüóéõ|!#¢w9ý¸<»¦)hüxqùžFRú!z}v~v}vùîlþÛò§“³e–áyWx/'¿þÆg+8öO'œ©41³øÁ™HS9Ûœh£˜ÑJu#åɧ“¿õ³~é¤ügRY9!@)§hRf•T^€EYΊÇÑ:+Êï
+¡Ö˜ P–Å—½Û="GÀV]N0“rp]q:[Ø£&Všý Ð`Fcž˜ðÊßfŸßÑÜn´ÞШ—Åw'Ñ;õ²[H¥˜4J?µ
+k;µÚMÐ[h !É&v¬CÂ`R´cÈŽ ý‡àƒo]yÑv~$”Ý”®yâ3Iu.Žt·øÚ¹Ñ €ªýæÆíö,¾
+ ag`îLH‰‡„´bQ8á°Ç:nÅCÈÖ‰—yè±&˜#'±8VfÌÅ’¬ÓG–`(æn,åQé›2 îéeé ±ŽK§Çêµ¥—Ì!6Œäc$Óz¸rR>Ö#ù˜˜i0Ó1¯•J˜âêÚ3ÄzA>Ö„|öÛUÖ:ˆ(nwŸ=W¤Ô2a’äevz¬ ~†‚’\0¡¹3ô¿
+ª;7,MÁgüž<VHÀ5z:Ç ¡ßj•§Eë8Ð
+`·bLêP/h)!oÑñP"½s¯³1ܤN%‹mBªs9pqÆBv‚JÆ™Q²K® ›ÑþËèY‚4y,ã™Ö äР—°õìËL0®ÓTÒ
+<ˆ}q TâE‡¹„\¹[6
+=1ÔÚ<ÉhüvÊ¢qd=WÜ—øã¦nïúåýG É)ä, Ì‰ÑOr–å;À“‰îxƒ|b |0’'5 “{Œ I—g
+µö-hÅ`ý±´à¤ÝŠcnDQ-’~Ã`F{È·t#
+œµÄåoîF†”»e8“Œ9þTû4UP *0A Ú¦\À+ÚÑȪvß'ðPÓÙqmh&Äi(Ùq”2ZÚ¡s^ø£wøn¢lê-þ3þsm°Òc2¼ä×éÍÿÑBÞ&ÐÆP X¡ÿÈIÊc"%¨¶Mô7,œp–ê·´.,±F¿½… )·¨ÐX°ùOΑCÎʦžˆ €i”ŠÃéZ¨nš5zxç£çËaª,¥û
+®ïÒŒ#tÊTÒ‘SƒZó±…«.6·áõ¾NcÞÞ6ÆJ(lš¾œ ðÒÚð¤ï ËbLd8þQW¡]úž¤¿!(3§»F`’Z+êQ«HYÝe —ßeUÑlÂoß …ï¶Ì¼Gз--öGób.Àc¶Yëhè«gÅ#õ\øŸäg n&
+µÕ­ðá!I‚ù\ ï –;P9œ~ ÜÜŠ0ºõ£ýþvºü4e ÄzNÏ+ÐKˆ&ÎʘèΕÛ
endobj
-1746 0 obj <<
+1751 0 obj <<
/Type /Page
-/Contents 1747 0 R
-/Resources 1745 0 R
+/Contents 1752 0 R
+/Resources 1750 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1724 0 R
+/Parent 1729 0 R
>> endobj
-1748 0 obj <<
-/D [1746 0 R /XYZ 56.6929 794.5015 null]
+1753 0 obj <<
+/D [1751 0 R /XYZ 56.6929 794.5015 null]
>> endobj
498 0 obj <<
-/D [1746 0 R /XYZ 56.6929 223.2735 null]
+/D [1751 0 R /XYZ 56.6929 197.6053 null]
>> endobj
-1371 0 obj <<
-/D [1746 0 R /XYZ 56.6929 199.7072 null]
+1379 0 obj <<
+/D [1751 0 R /XYZ 56.6929 174.7834 null]
>> endobj
-1745 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F62 1361 0 R /F63 1364 0 R >>
-/XObject << /Im2 1350 0 R >>
+1750 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F62 1369 0 R /F63 1372 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1751 0 obj <<
-/Length 3599
+1756 0 obj <<
+/Length 3504
/Filter /FlateDecode
>>
stream
-xÚÝ[ÝsÛ¸÷_¡·Ê3‹~
-›&™Ùlµ»³{ûîJ2ÍÂ-bªoî®þøV3›Ø\å³»M4—I„1rv·þyþæO¯?ÜÝ|¼^¨LÌóäz‘åbþÍí»o©ÇÒÏ›÷ïÞÞ~÷ãÇ××E:¿»}ÿŽº?Þ¼½ùxóîÍÍõBšLÂûŠg8óÂÛÛ?ßP뻯øáõÇë_﾿º¹ {‰÷+…Æüýêç_Ål ÛþþJ$Úšlö"‘ÖªÙî*Ít’¥ZûžíÕ§«¿„ £Q÷ê”ü2m’̨bB€JE”Úi>+2›äZi'ÀÛ lHèyÙà^à ½¡$N§`$-·]»hÚ¾Þ<3m<{&UÉ´Ûºëi⺣ßûúsÕpÿ–Kæ&1*3<Í?Ú¦šXKé$—°"êú²¯vUÓ¿‚i¥š×nåtþTo¯å|Kíçj¿¯×­Ü?TkK-¥ŒŸ·}ìë¶aö/oÞÈP6f(AÒÙB8¡ÙBÊÄf™rT?=8yØi9è"‘Y‹Á‘ž€ËÓ1ô–;øí*îèÛ‰%BÑûÓnÚ‰U€hy¼5ˆ…éf½ýÀûY¯÷×ÒÌ«®«xewä6¢½ß¶Ër;y6‘iž½ t*‘E– A³ÃÑoƒÀø
-0ZÛá!,+ÒçŽd­wïïnßþ•Ú;ØAyïö
-ÚÎFÁï„‚[ô®³QBm”ðð–³QÂÁˉ„–'X®!À`’ÿ;…9•0ò QTLu`žÊEæÕ¾.·‹¿ªýóbÂ:VIˆ…ø÷" j‚‡°ò Ò2¡L|Ú–ŸQjZ!?ŸÉ8é`R ûØl×õªÜnŸiÌqLƒ»²ëÁ‚îè}…i…ûŘÕYB @Ýqõ†:Ø4ÒÚuÉ 6‡ÝçqØ‚dFëq`õ@<;_‘¼w(KU>¿)WÔß|Ë3 Íå Ð*野Ÿ»v _ÈŸeÙP…ê8Ý6¬H»¼^éü<[SõOíþ7zX–Íú©^÷”ñ‰¡VÜ][5GÑ€£ßÖ;—ŸB@ A_àÚŽ üŒD »Xcz«¤¯n
-Ž9ì&È5gtðDZcæ°dOf{»¥ø
-­Oï_s—;µ Ûøê<n ¦<,ŒÔ]w¨ÖÌA?u\6KŒ‘Å×W®„Ž’uš?ÚKçóo É(ª i1ïZ>µ¸:¬^LÉûäð$’–}IJí¼ë`Ã…¯:…¯±šs:ßõ ©`–tzÙ'ÄTç}B  OnìÒ¦þâúj‚C
-Ö#$@ÏQw¡7è. 8ÝUNMV‡=¼;p7 {z‡C ™TäF|ÅË
-‰¿.ð_pa]x¡( ©{ à \ÜÄ1Ì>°Š\d,M·ô³ni=ãÊRŽœý[ö×ó»ÆqØõÀì’ÑpDF›pbÚÌ1?½oZ¶GW1Q~C„ÚLÅÑJÍøhÙ{Ü6 m%¹-®Ê¼•¯/co•²ú»cT©…„¸°gLÇq»ç BÙù@Ô…&«þ¡#rnB…I2É×YÄ"-ÌH gLŠÎ±`ÿ‹7(žÈ‰&N`6í~Wž¦/YŠï™‹¢S†&Å&üð€‡¿¹(OÚ,ÎVðq…~K§S‡{é©¥ÆÂFØï&Ò®ºWS^L‰±ÁØ4ÕÖ‚÷'ÊÇÀ¯ ѪʔB$FX¯˜/ñ|“Ú
- “§\ð ðBü G¹&ÿ9¾Íx&&:0I!e6´ngÏK牒!Ú È^»m¡å¦¾}÷‰z8L ^Öa/Û?H,±±ªâÞYÇ5½âEOcë©=©,O€ÿô…È°I*ÃMÅc¹úy/;ZÑeâ)å
-Ô.…J§¼+YŒx勉äßǶëêå–I!nnyœ~XFÉ$F‚/E=„¸Rû0¿æÕwí1«( LÅw™QóUÒó¥K‘9~©m\¾ ­îðøØîûjÍN
-˜ =Ñ x®IÙ*^\©”óEìw‡ |üƒ=ÖÑc&ù‰©j,¢±4±IFmóTòi`‚
-Éá´ªkkÁV¤61Ÿ¿™PŠ)ñk0¿&@+è%¦Jýr\.t$U7€òÃ_†QH„~¨WBw톻~ºÎ2Àк}âѦ
-+¿Ö¦¦á•]Évþ²ï’×_Éù«¹’~yö£=…WËÎç†Ëç
-ÌÞ‰g›€HdžOß=OÅ
-Ì x4y9舩ÎG*m7uÇ” H-/®¨&–D©J2pyƒåúP­C!–VT[Áß:\ý¨põ£†W?*å[^l¹K¦Ü."Á %$¥œc Õ±z U’ëbë (Zø"‹kzIå”F§éRLßÏ»¹½2,Ò"…8œ”¹*â&¢¡ó‘†øc<ýÐ ÃïT"Ý@Ž»ÇÊ¥OÐ<<Fß`ˆç3éÄ}Õ¬¸Ó¾ÈÖš.ýF» ”Î38Qðý=D}x-VŒ¬"Y6—Û³^ÕÇíV£Ë÷m[®‡* ­ü­{÷ 1Ñî¼þ@Ìbuú…»‡˜ê‚þxª¡à§îR A¤0——TëÈ$²²!NƒRåàøà5(UÂöµáfŸH…°©’“
-á€S!l,™2V!$=£BüýL"‹|äú)ÁpgèM:U’Ü¢u}çÁŸ^ü¾r7!îü7ãóçº,Vž¨
-|.´a}ñjcxqªÁ:Ó\‡ª^¤ÂgP(sð{y]FaLu…jˆBïÇšÓ’„¾…±ùe.ÕÃ;
-™…°C>¸öß÷Àñ˜Ë!)ŽæøvAnÉÜ#}´#‹ØµdÊì Þ߳ќ-20Àj™DµFK!
-\lÅÆîË$ÅŸ éAø‰ý-ÿ–4<?Ý«~º&çÄá'v ?SÈitøØï¨N§ ƒ×ÉÓP#y|Ø“p‘· ­6½¤ºÿ§Ù ÿ±H×ØDi©/›Èˆè¼…ôD'æã«Ó;ÜL%V¥—9D—YY‘X‘½ˆ‡1Ž@^…ñU—PÊqwCÇ } ~´Œ¿Ýd2¾fs‰¿lmš®®À˜|øœRëîÍj€7ÕŠ¾ ¥
-k¨ø¡6åKN›ª§“!åæÑaA†ëNÁòg–󪨶5°¯ZC Ìe*4š¡LïÆuxæ Â2‘€^M•æù^)çJ_ Ã3Ï]Ìüöõ`&þjX¢+üW¦>Ÿ¸æƒÎ¨êׄ—}õÁÏ·~cU¯hüð¸¥Á|]+Cß~ #;õ!»Îüú|¿"D*ÿöGîÇÿ
+xÚÝË’ã¶ñ>_¡[4U‚_¨œÖö¬3®x×Ù”+~(‰3b™"Ç¢´ãÉקÝ€@ŠÒÌƇT¹t4€F¿»5“ðS³"ÒØd–ÛD¤R¥³ÕöJÎ`ì›+Å0 ´ˆ¡¾¼»úë[“Ϭ°™Îfw÷ÑZ…E¡fwëŸæ_ýýÍ÷w7®:•óL\/ÒLο¼}÷5õXúûêý»··ßüëÛë<™ßݾGÝnÞÞ|¸y÷ÕÍõB©‚ùšW83áíí?n¨õ͇7ß}÷æÃõ/wß^ÝÜ…³ÄçUÒàA~»úé9[ñ¿½’ÂØ"=Á‡ÊZ=Û^%©ibŒïi®>^ý3,º©SôKM!ÒBçÔ:" ’ÐN²YžZ‘mW塯àL:Ÿï7Üh»}}ÿLímÕ÷åCÕ3HGÿK†ì뇶Zÿ >Lók[•íö¸?4Ô~ÚT<ÚWíºnŽ›þ,¥oµ=4ûú±á…>ÕÕS/ìpö…R¦©v¹m‰3M¹ª¨ÙÝÓõûcS¯ê=}•ëõîZs8XÕÁ­Ÿ²£ÿmG0ôÕ–Ûj›EUDQ­¬(2äŽCa[öûj×3`Lz“ “،ᚺß÷´2Q
+KÞ
+(µ¦óÁg.´ÒÎi…”)Ï$ÍæMáƒì×¼MÙôÝ‚yyŠRª„Î ¡D ;ÂÿCýÉñ »ø¿œØ2+Dˆò2ÿABžî¥È”ödê÷å¾ÚV퉯ôÜ1F&󧺹Vó†>ºOÕnW¯+ÚEótoe¤Ðºðëvûºkýˇ/rD(#Ä„7…2…uöÉ­¦pX¥ILzžü)ˆ,c@³࿯¸”átËB#é=ÛnbÀZž@@o#ÖsXõö{>O¬Œ;jûÐt˲™d‚*ÉÒ× *OÓ¡ÐÁêÀú&Œ™ƒ™7Æz&½÷jÒ­ õîýÝíÛ³Ö|Ý{eÞoJFÆ€‰7JÎï6¼Ôºº/ÁÆÐGÝû)<Zm÷ÏÔdt¡õ³LeÛQ› Cv‚mتDI<Îx%N|…D!S³,7¢*›ö ´ˆ¡È´« ß Èý¾Øïʶ¿¯{ûz[-êvŒˆJ[%—1 P¨ D”ÇʼârÛ.»C»Ò «¶<z=~šùÚÖùnºöp'Ð šJjÕ=µ¶eûL3·u{ØWÜMÒ„­¥ß§Úmë  e3U •»ý[¿J2”–,l~K/šš›î°ë‰ãÃå€õö°¥Oes¨†+ë‚·-Ÿ£UiF;^–&°‰ø¤¤)‚º MjRšêu3-MXÂÌ^Æ$@M 2”&%”75Àå(M*H“J“Béø•$ Ú¨­øÿèpï¼½£^´vn’,$K¥Žèà–H¸à›…K±p©‘pºNð?
+WvN¶ÔQ¶þo¢•‚×´¹º,YÐyÁò@ç­TwØŸV‘ð3ÙE<Ð)"C±²"I@übLÞö,V:SÞ‡C++üŒ~7ˆÙ)íìµjžBÒäZ±ðÁ^ZK¿U,J‚9iÿ¤v*M@R/KSuAœ<Ôy;5)O'¸ŒJ€šÀe(Q™Èò|„ÌQ¤Œô"e¤X*©Ž–
+ÚÎRÁÿ„¥‚‰ÎRI/[4×Y*©†–Jzñ–³TÒ‰—# X&r°_CƒEþ$ÖJB¬™Èä‹ .˜‡r±zµ«ËfñÛ¡Ú=/v@¬ÁÊ -±_D!@Mà0¬,…D â©›òRÍhÄç'L
+t?šÝº^•MóLcc¤L•º£ùš²nøÇ(ÖYB
+ý%ð‚G¨è øðRG&BzÉ"îñôRùlP:©÷]«®] Êbïèlpp 9 F1s'm›–GAˆª/x“cÆ\sŠg¸TeŠ9ì¸'«Ý4_UƒóZß¿á.Ç´{6ñê<ž –<òFê¾?TkÆ`?Å-›B¬òÏcW¦¥‰²wZ?:Kïr‰JOÈ“ùtX_cJ‚´:Q½˜£—q™í˜ÔI:vËn¿ñžƒíNuö §±–s~ߟu Æja¬}Á%ÄPç]B€97öI–þâþj?
+â´ªC¶"±1‰™ÿ~dB)&ïˆÁþA´‚^b¾ÔÓ?GçÒDTuH?üg1
+ÙÐwõŠé¾»ç®®ÓdhÝ=ñE)Þm3=£lÉÁ#BbâôÀÎ<³É˧W/¢ß\æ±Éí…^ɪϵ©I˜²-Ÿ‡Wí|ż®Zÿ€c ~HÀ«í)L-{Ÿ .Ÿ_‚h0w&x'^m‚
+ea/éJN_Û»µ½2,’<hœ”¹*ÄM(D-Òd# ñl<}âs£H7ãþ±rI4Ñsì
+´gˆ€Ó DE™8~x J4=ŒÂ¾.\O੶"BpR!p*„%CÆ*„ gTˆŸÕ•g#×ÿcxzL:Փܨ…§Ruë_s­ÜuHüÂëÈ.Îbý‰Já‘Áçr=±ºp¿1¼’8Õ`“H±Ã;«W©ð9)Ô˜­g/ä1Ô)ôPC)ô~¬=-LAè›6»ŒE€š@cxQ¡DžK;ă Ðñ¥|+º\RòhÎñƒ¯ÔàªÌ}Ò[ɲˆ]K†<‘½ÁüÍÙ"¬ÇqYTq´ÀŸg½ìl;Wæ°ô$ZìÑÁB»ë ËG¶±PÙ£PÙ3B¥“B©P»ÕS6[Ø<Ï"¯`䫼PËžx…¡XŒ§œ\‘"'<ªó¬Ì|w>ŠïœÏP\Ç7JOø E5| ½:ú |4ê|Þ
+ì Ž¼öŸÂ7ƒïm©Ø; P׎°‰™ˆÄD‡JÄÄSŽnƒ^KDp±i»§Jšß$™Aø‰ýÿ—4<?ÝT
+?]“>qø‰]gÂÏrÞ
endobj
-1750 0 obj <<
+1755 0 obj <<
/Type /Page
-/Contents 1751 0 R
-/Resources 1749 0 R
+/Contents 1756 0 R
+/Resources 1754 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1724 0 R
+/Parent 1729 0 R
>> endobj
-1752 0 obj <<
-/D [1750 0 R /XYZ 85.0394 794.5015 null]
+1757 0 obj <<
+/D [1755 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1749 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1754 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1755 0 obj <<
-/Length 2735
+1760 0 obj <<
+/Length 2706
/Filter /FlateDecode
>>
stream
-xÚÕZÝoÛ8Ï_á·s€šËo‘Ù6íe±›öR÷á°ÝÅ–¡¶åZrr¹¿þf8¤-Ù²“¢îª9‡?ÎW,þ‰±Ìzé™×Ìpa“ÅÜÁ܇3yF‰iÔæúu|öË{• <óVÚÁxÖ’åwN ÆÓ?‡–IvøðíÇë÷W¾Ü\œgz8¾úx}>’†ß_ý~IÔ‡›‹?þ¸¸9 gÄðíß/>/ohÊF¿^]¿£O#Bo.ß_Þ\^¿½<ÿküÛÙåx»—ö~W¸‘ïgþÅSØöogœ)ïÌà^8ÞËÁâLÅŒV*ÌÏ>Ÿýc+°5>íµŸàL*+{ (eË€N0ã½dÆ3«¤
-¬‹æ lJºaÙàS§Å,ßÌ›šÞšŠž9=ꧺ)DOªe³>nXÍçÅ”Æòù¦ òñ¾œÜG²œÏ‰ÚÔ›|>¢—ÛÈÙÜG"ŸNƒÀ¢Ž«W3|*à8ÂèrÙëY>‰ß|•ROæU=³
-š(–SØb|_ÖÄÓQ ™›$3_­Š|M£å2®seue+”ý·U„C­CQÂ2#¬ÍQa0Nõ8jÖù²žëÈß>D›1Í¥ŽìÕª)«¸ô¬
-üƒ‘rŠyáU×dd¥†ÿ®–Bû—Ë;lÀ¾qQÒ|Š¨PvXΈaûêU1)¿r. 4šâ:-Ì59 ¤X6ô `,N =6à’Yi➶›5FuµYOŠ;d€y.dü÷ÈÐ`MÜeý&$“ÌI¼ dr·<Ga†“-(lÀ#T`…r:-–ñ=ÎçôºŠº=”ÅcdXCš!ãÌm^$!ùDLår2ßLƒåq8ïÜcù£ŒK›±;‚ˆ ~Äù.&Ëæ‘‹>­ÿhtÆ2әÎW–Ž/KÚVë9°ª³&)ìÓ+‡gÞF¦Ûy5ùFºµu ¸„ÞÝfÓÀA™lß''·g£‚ ^à”• 1Æõ;ep28ú ´>*‹¾ã +’é‹®¨QÒnd¹bÎXÕöÝÛ³ç1™99°à
-ã]¸B e‘£¢çm|ˆb… ¸íjPßW›ù4ÒEC–‡p·ÛÎ^MX'<£°< ˜F"áºk!™4&yY¨ÄÖÕ*& °+,0µ¤Ëê(ü°‚gCIM¤ƒ±˜«b7«jI×o»TçúÝ¥<3
--»‘)(Þ™ÀQf<kE&ºšÃÉÊl¯Ép"KØWÃ0Ž|AdJèP
-aa¸gPØâ:ÂÄEkÊÙÓ1ÜÁføs«'¦gVŽÉÃÍ=½ü~YP5VDkN @ä¢\†Š›ëÔëU
-òj’Ïi´“ƒÃT«—Š¹ƒp±œVjdRkß¿¼ûDß@ýÞDfê"ãìmc3âÀ¨½®æ&X¾S¸Åg]PÛ ^_½ÿ'.@ü®¨á–X«RÏ&º=_䤞/N¥ž/СçkSIËÌó‡D뼡™ö·}!z ¹M@9xûuŠ¡Ê5RɽÆú_ˆÕÚØn65™ç¼OJijJÂ3¨‰­Ñ¾(jh+l§ûLPèÑÅxH4TºQ´VøˉHƃåZ½ßðz¿Hõ7…†äÙÛ$ô0´Ú¹vÛe‡¶/±í ŽWÇ/ Nò˜Ë˜w|¯”º¹X»íÞÃ3 ú€×ns70¬»3ÔÆObÛ7$€Oôlµ}C®ØÒ3ðFÛ—Û‚{n¾Aþ¶µkÞ¿­TKÚÈ®5^Ô›}A÷E½â×îñJe˜Åšêõz¼æ{¼nçÝ´²§z•ÑCM(^³zä$ÜÄ«W¯mÉ'ªWá9Ô+ÜÿôxåOôxÛ§ü¿ÞãÕ§ó¡àºúgÒ˜Ätà³z{»œ9ð-Á=ÝAâ9\½,¸êNÕYþ÷ò[ÑÛÁƒDlj—úU0«T¢ÛÁ Á$tiW+Àã.; Ï2ÒŠTÑ,›./öo£¨]žYH‹V0iætà7Û=Ë wœsÊ•PÞ'È•ˆúªÇ:!\®×±†µÎƒm¦«fV}Gy³u~»ýžšü¼K)IþP•ÓçdŽ5ªðB™AKûCZžý‘C—Ó{úž–î Ói…V¬ÂñªðG`|`}Ž”¡ß(Àœ«Ži†5aï§Á­á-"
-êô€£µÆ,}¾U • +®†Ÿ‹ƒDk…ÙŸÀæ” Þž¦Öw1TÜ´îð–{´c?¼Ãû2Ch(&1܃Zéö°‹?yÙI?p#ÛŸÎÏëõ5|~ú—:»Ÿ1錖ý[†hYaÍÏPn9“G÷¹ZªÿŸ«úÒendstream
+xÚÝ]oÛ8ò=¿Bo§
+xþöãåû‹Ÿ¯ÎNί/>^žN¤áùû‹_Ï úpuöÛogW§áÈßþýìÓõù-ÙHãç‹Ëw4SÐã ¢WçïϯÎ/ßžŸþyýËÉùõî,ýó
+®ð üñ'Ïfpì_N8S…7Ù= 8E!³å‰6Š­TšYœü~òÁÞjxuL~Úxf¤¶ÙDiæaÿq) æ„
+f•T;)K1&å„…Rî6åªW›SáóIÛl7ÓjÿäBÂÝ9g³>ù&vXÏp!dÁŒyðªì½ê@ŽÎ;Øß™U]µYÖ«ª…›S<¿¿­§·.ši¹@Päål¨VmB« ‚nªøl¶«aw M]|ºÓ]¿ýDÀ´Y­ªiW7«Yƒ Ï„ò!V#WÛ¶BZÆ-xΫ.ðà¿âW㉉¹øJ½J¼˜"¿yˆ˜·mµ¹º‚N+¥ó‹ŽÊE÷Èdð.ÈwšÆq< lÓЛp0><PIüؼYãáËÅâÆ‘¶Ë?¿ûD3ëfÓ½¡¹$—Ï›Í
+î!ÌÖ«¸Ïm¤5¤­ößÚh¾}ËWÂ2#lí„ÓÜOv–hîÖ1Í¥Žè¤~´êT°Aå+D¡†¢ !+ì !”½úJ“Èwh|¨Êæõœv/Õ-M´ëjZá\V(4ÅuZXë@—Õª£W@Çâ21".™•&žéÅnOr!ã;dO°AI~L’Wyâ$óÒÊ¡æßlñ…ɧ%JPØ 8Ñ€GÙÔ³YµŠã¸^Òpy»««ûˆ°!„´B"Æ•›² š„à!Õ«éb; ’ÇérT) lÈ`\Ú¤WuÂ@\õÅP'îëî5cüøÕhÇœáIÌáć;C³Ò%n›ÍØÕ[“˜ ò¥Ã]a#Ò ¬oÄ[ŸÇ
+“Y-˜4ÀÕ ’åCÎåÇ“p2Ò\?I‹Þã@+‚é!©Iâò1LŠÇdD³»«yæ“⪕À™.ˆè²'Dx_IsfÔÎA|<X‘_ÙdoÞ²2·Ì€ÃðÞ9Ü:û+=Ò¸€ÔƒÃYe&~ºXÊì]'Êú‡Š„'}ÊáPV²ÙŽV™) óF™Àòïͽ*˜F°[ä’& A*â,êjC3³¦ŠøêÐn×k´M ªgª®#Óƒ9kœ%›¢Àᓳ‡Áü’œèW÷B å@³ˆé©äù7ü‡Ž˜:ÐAm &}á³þ-ÿ˜â(Ð[@Î=yL•L­'„ÂeŽ)Ô±£yµQ.­x&¯Þa=áÈ&wö µVžialÖßá0µNX#Œ ”L+„2rI[.#TŽEg8¤æßå†!@{¯S>þ†ˆWÿšVëŽàÑE‚mä€"/ ”@P[R‚Ç!o¢PmBn,ÝŠáP?Ùg.n‡säÚ‡R’nò’‚HPÌaa‡sÀÃðÆ4Ó…ô}&Î0;‡ÌT›U²*g¯$,öóycî‚O²s@§° 3‹ÒØYÄZ\<h?³ÖùïÀV¥Wæe½h#Óà´FB+$=…NŽjƒ J:†k¨§}¡ô^
+÷ÒÌH9£"Ý:*8¾'#£†[/÷¯Áã[­Šïppé§"£rŠIk‹g"£C·ž›×ŒŒª€×µ5¯û”DF õ4äm:°Œ¥œâ<ÀPÓli0kð)bÐãXËcùˆé=
+üÀóÿ1úWendstream
endobj
-1754 0 obj <<
+1759 0 obj <<
/Type /Page
-/Contents 1755 0 R
-/Resources 1753 0 R
+/Contents 1760 0 R
+/Resources 1758 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1759 0 R
-/Annots [ 1758 0 R ]
->> endobj
-1758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.7768 61.5153 511.2325 73.5749]
-/Subtype /Link
-/A << /S /GoTo /D (query_address) >>
+/Parent 1762 0 R
>> endobj
-1756 0 obj <<
-/D [1754 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-502 0 obj <<
-/D [1754 0 R /XYZ 56.6929 117.3409 null]
->> endobj
-1757 0 obj <<
-/D [1754 0 R /XYZ 56.6929 95.0296 null]
+1761 0 obj <<
+/D [1759 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1753 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F62 1361 0 R /F63 1364 0 R >>
-/XObject << /Im2 1350 0 R >>
+1758 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F62 1369 0 R /F63 1372 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1762 0 obj <<
-/Length 3352
+1765 0 obj <<
+/Length 3147
/Filter /FlateDecode
>>
stream
-xÚ¥ËrÛFò®¯àm©ªÁ¼ë““ØY§;k)µ‡l IX“
-òûÕ¯¿¥³5û‡«4Q™7³'˜¤‰È29Û^i££•ŠÍÕÍÕ?» «áÕ)ùå㥛 ”S4Yb•TA€ù²>´t¦‡ú‰íCAƒü1/7ùrÃÓ]½o^Ù_ ?gøºh‹ý¶¬Š5ˆO S½§•âs¾ÝmŠ¯höT¶Gîêͦ~*«{š®êêßi*ïû¼-ë
-Åûõ[-‡Hg ™%ÞûÀý¡)vqXïÌœMÓùé±Ï«û‚†J:ëihQæÿ÷
-)àžB$™1¤Sùc]®Ïo«Sø{uB ˜I 0ˆÄÑMÄC¸,ü廟An²°’b^ßèÝÏ– Û¢iòû¢!xST-ÁïÂUÔ[¦3–p Ò>í tª|[¬'ØQ ¬ÞF¬§r³!Ë‚(”Íëª3®1ðÐ_#ƒXš¿_/4XËÑÚšÖU_Ù/¤HíŒw (dÁºRÓSÓK¤~ÕšMþ/\p2! ¼f—dJúá5ëÁ5ŸŠÆg‰Ö>ŠÉNHÙ'Þ)qNµçܶš_Yå `™Š p™JTë5A¡
-Ž dCÙ6Å+¾Þ‡ây¼9p|ÁQFZCWS?–ëb#=çË|õé‰vXǨ¿Ý.ËMÙ>9øèÕwuÓ”Ë /7%¤åÝóQ6Á^
-¡Iã¡ø~BœS§†!i-™&9y•È+ç ˆs‚\
-÷î²hI"uÊiᥞ ‹Ê-ÓhMÁÃÁ¶,šäƒSÓQC~„Ô+æϗÏm1¥‡€ «Syä™*¾Ä ¦´KpÍLÑ%€ÓmB¸Vfð.M›+OQ d10ØæŸËíaK“aºÓm}¨Ú)–¥‰·Ú0ëâ.?lÚéÌ2óÞô~±9¢ÏB#XΣ§œÑÊŠS uUn¬|èQbÆÕéìÐDS Ë9—.M›ïÛ®T¹)Š£— $­öep›˜Ô!XHŒrñhMùGq\ *¨Ý¼órfR“ µÝŸ(%
-ÌOƒ‹nÇÅpKªô†Ì)cá~\O8°:;qER&:51w$‰N‘A~nS7:-îïg4ø8¨F;ü Gªq²/Ò¿)V½àm"Ž¹ÑÊ%RèlÄÍIEÜa½ÀÃénÈCÂJ¦/œ1ãªÜ¸R£Ê¦]œ•È›¢Ð>ŠÀ´så0>uø&¹ÎHaOƒ6Ò¤\Œ(°f”c-Dƒ&8|=¿©#^ÏÀD¡Kì`nà!««¿¡ûòèvœ§¼ {á(8rx†È„xÁÍù˜Íùãw©™¨xƒÃêGD|Åà6©@E…#N¨öôT
-!¤lšCðì8ЛF‡Š)Gt.0,Ùø1L$']ÈÞŒGåRh‘Ó:‘C¬SÓ‹M–+D«z_Ly!ø5ùåk‚ô(BJ‹½¢#ڷѯõ®>$Pw£Œ+æb£ÎÎa»cGyÛûGòöQ®§= §ÞÛÆ0¢•`¼ó÷’ªÄ@Ð~á^Xî%bÎò6Ÿ¾0}DºH¹Ãš =¾—¤™0cÚ$ÏL î&sin&K—ŒZlk¬¬pÜÆ÷;WöâUÐsÌ¿”ìéô÷“É{S 7.s_~o¨˜@(Y·9†™8o›pecWd}
-âÊ3Í—“ß2&oÜC½ãîJ=n‘R<kV´1ƒzú²Y ±Î›U‡ƒJù™>g-6õýbÒĬ€T4Í.³ÑaMð1îEÚÄY
-c䆿NKòJ)«ÍÑg®|ÇÍ7LjQÕ]̆`Ð}ƒ
-é4àî0oöŠ»j awøZ½YMËÀ}^5ù*&¥Ž>ÑÐ;ŽqÂe&Œ–¼œÚz na"ÀDDÞe[?v-ñ/ˆà"u‰&ûÓÙ—ê{D*6æºL‚>ö†…]HŠJ5r&;ªX„Ï,ôi±)›³^ùD:+.;ÒyŸ‘ð$uÓ. gjˤÜ,ÀZO½F–©äE:¤SF>Ãá/Ë´ñðc}ôÖÍ=ꙓl…ô}h)¾å’žx0ZíOG+²ïKÚÐQ¥iùÓ#<?AK¨*_·d<x6ÞŽ?á[þvÿ§#@¬—L‚¿Š›$ügýË?¾ë™¨8ês}W(Ì?ˆa¦ðpNsÞýJï”õÿm¬Uõendstream
+xÚ¥]sã¶ñÝ¿Âo•g"–ø ôž.ÉÝõ2ÉÝÕvžÒ<Pm³‘HE¤ìS:ýïÝÅ.HP¢ìx2ÁÅ»Xì7%.Sø—6KRåôeît’¥"»\n.ÒË{˜ûp!gæ1Ö··¯òK—8#Íåí]´—MRkÅåíê—Ùwÿ|ûåöÝõÕ\féÌ$Wó̤³o?~úž Žß}þôþ㇟¯ß^åzvûñó'_¿{ÿîúݧïÞ]ͬͅ—¼Ã™ï?þøŽF®ßþôÓÛë«_o¸xwÛŸ%>¯Hä÷‹_~M/Wpì.ÒD9›]>ÁKšçäåæBg*É´R²¾¸¹øW¿a4ë—NÉ/S6ɬÌ'(Å”
+Þ¨mö»+agË’0"wayÏÀ¦lÛâ¾lÁ–Tªf7eyl&:¥Î\æô:уÂÒäîþ’ב†÷øóxix,êÓ}QX7岫šš˜c}7Ç,õFSxÎÔže¤7µÔ&*7æ/mÑìÙ¦š't% ŠÇ¢Z‹5¿㌗<ÃWeWî6U]®Pº\’?Ì”_‹Ív]~CoOU÷pDá®Y¯›§ª¾§×eSÿ;Måý~WxéxÅÕ±®ƒ¹+ÞgÚŒæÜÅé±+êû’†JæÆÒÐd™ÊÞÐøo‚!5–çì'ÞVƒGJßœÈÌ$" "qt|åH¼Ž*ÙËWIámAdJ
+Lð¶¬;‚ßù›h6~Aä XÖ)¶òºØ”« v„k%Ò@£D
+UMïM]Ž™ó·èyná^,í?®æâËѺ†æáàÎ}C®DŠ4ÑyfÆw€B¬* =5-"íóž&#Qáù N&¤×ìÀP´}…[wàÖmÍ´÷6±¹2¯ô¾°mˆËÝ@*È ¦2¸º”$†-™Û#Þú)Î%2³ö¥kV H+ðÙ«§³|hš–¬¨y ÐÊ[;
+t…ayS¯™²¿Ši'îOd‹6MŒìó°3 š„ÉÿBr§”æ«y¸ŠãR&VʱŸ™2s8žaëfëU›öíƒ6¾°Ø÷õªðz ïèEÈвmË7|½åa¼9ð ø‚£Œlƒ®¦y¬Vå*zN Åò·'Úa‚þf ¸¨ÖUw8rðÁ«o›¶­kžn+È*(a“‰m_ø„ÕLûL8€¼Éh-ã’ÃqÉñy[b
+ò’›CÛ•.ÐJ´êe
+‘M5yÅ}]Bûß>pŠÌj¸¿µ!ë-îyÖçÚËnŠúÀø4ŒYá{§Âë)€À ¤ÑkdŠ²1Ìu—Å:äÎÅz– 9¾`',7{z(yG® PÎᘤ'‰:&ÚÚJ“>œˆ šD&C<&Ä)0•ÉU2‘Ö‚i’“ÇQUƒ¼
+~qNKe¢r,I¤¹Êµ°ROEå–i°&ïá`Û¾^—":5ÕçGH½fîî«ûbqèÊ)= j˜Ê#ÏTó%N0¥ó$®™)ºpº­×P° kéµõ ¸â¢
+ d10Ø_«Í~C/q¶¯›f_wS,K# ˜Õ3°*ïŠýº›Î,µÙàÛ#ú,4‚<z*­ª9åÐ:ÉŒÊÇ>=JÈ8°¸ ýA05?]påÒvÅ®ë+¬Ç‹ $-wÕ–‹3
+@Ž7?)ˆ{¬x8Ý yHXéÀôEžeãªÜ¸R£Â^û8+!·e C×Þ•ÃøÔuâJrÂŽ] I¹Q`Í(ÇZˆÔÜг›&à Lxobs ™XSÿ Ý—…Do¿å<à­ß GÞ‘ÃÓG&ÄónΆlÎFŽ?O³Ùçš7Ø/xDôÀiH B*PSáˆ/T{Z*…RµíÞ{vGô&Ž³¯™ñrçÊÃDrÒ…ì-³ ê&KRëìt?˜‘æ1Öùvfå£U³+§<„üš|r5Az!¥Á®ìíÛà×Wï¨?ÊÞ»QÆr±Qcg¿Ù²£¼ü#yû ×Ó†SkÍ‹áACÑJ0Þù{QØn~ñ^"¬gî%`yΊ®˜¾ìØAD~–r5Az|/y’:‘i“<ˆî^(æÒØߌK=—ŒZn¬¬pÜ…õ½+ð{ñ,è9æ_Jt†{ƒ—É{Cþr—¿þÞ€BÞÈúÍ1È$·æ(±ñgÉ lìK
+J˜ù6 ão¨¿Cߪ‚96BØ êû„š=¶é l«ZÔ'P-꺞.‚¼ò
+Ì{ýK– YiÎ jNêúÅ[_¡ÁhÙÔpmä;꼇bæu<˜ìRáNƬ\A¡Býò\Õœatë¿Àž½Vá,èìK×c¿ÖË{£®Xþ6nd‰ÃO Ï’î±&h.nÔeƉO§½+ˆAÏ&ã¯p®¨¦K¦¼úõy"~I°Cíùª<ñ¸‰¢Á-dÆèÐÔqSO¤ÜÕ»‰xmO rTÒ?yÙ¨Ï*Õ8åœÇ¨ Ö…Ž
+E!({ÔRƒ 0˜rqŽÀ2|æÀÑÐÔ•hM}WdEÓUÝ•»âÊÞ‡©H9y»àÂèwWšq‹”BàY³².‘J¨ç­*B:oT)D”ê+}Ëš¯›ûù¤}yhêžå¡G:eb܆4In
+RÅ¡Ìž=WgÂqÊúÿ4¡¶vendstream
endobj
-1761 0 obj <<
+1764 0 obj <<
/Type /Page
-/Contents 1762 0 R
-/Resources 1760 0 R
+/Contents 1765 0 R
+/Resources 1763 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1759 0 R
-/Annots [ 1765 0 R 1767 0 R ]
+/Parent 1762 0 R
+/Annots [ 1768 0 R 1770 0 R ]
>> endobj
-1765 0 obj <<
+1768 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.4645 501.3235 438.2112 513.3831]
+/Rect [471.1233 716.5032 539.579 728.5628]
/Subtype /Link
-/A << /S /GoTo /D (configuration_file_elements) >>
+/A << /S /GoTo /D (query_address) >>
>> endobj
-1767 0 obj <<
+1770 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.4723 127.2687 432.5882 139.3283]
+/Rect [389.4645 436.3192 438.2112 448.3788]
/Subtype /Link
-/A << /S /GoTo /D (journal) >>
+/A << /S /GoTo /D (configuration_file_elements) >>
>> endobj
-1763 0 obj <<
-/D [1761 0 R /XYZ 85.0394 794.5015 null]
+1766 0 obj <<
+/D [1764 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+502 0 obj <<
+/D [1764 0 R /XYZ 85.0394 769.5949 null]
+>> endobj
+1767 0 obj <<
+/D [1764 0 R /XYZ 85.0394 751.6696 null]
>> endobj
506 0 obj <<
-/D [1761 0 R /XYZ 85.0394 581.0594 null]
+/D [1764 0 R /XYZ 85.0394 520.134 null]
>> endobj
-1764 0 obj <<
-/D [1761 0 R /XYZ 85.0394 556.2775 null]
+1769 0 obj <<
+/D [1764 0 R /XYZ 85.0394 492.9252 null]
>> endobj
510 0 obj <<
-/D [1761 0 R /XYZ 85.0394 254.8253 null]
+/D [1764 0 R /XYZ 85.0394 176.8701 null]
>> endobj
-1766 0 obj <<
-/D [1761 0 R /XYZ 85.0394 232.5141 null]
+1771 0 obj <<
+/D [1764 0 R /XYZ 85.0394 152.132 null]
>> endobj
-1760 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R >>
+1763 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1770 0 obj <<
-/Length 3413
+1774 0 obj <<
+/Length 3541
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿Âo'ÏT,¾H‚NÎé¹Ó¦9ǽ>´} HHæ˜"U‘Š£þúÛÅ )QÊÍÜdb.€åb±ØoŠß2øÇoã$J2‘ݦ™ŠbÆãÛb{Ãn7°öà w8K´c½{¾ùþƒLo³(KDrû¼ÑÒÓšß>—¿/’HDw@-ÞÿòñÃã¿>ÝߥjñüøËÇ»¥ˆÙâÃãOýðtÿóÏ÷OwK®c¾xÿ¯ûOÏO´”8ï?þ“f2z\ úôðááéáãû‡»?Ÿ¼yxgŸ—3‰ùëæ÷?Ùm Çþñ†E2Óñí XijLÜnoT,£XIégê›Ï7ÿG«öÕ9ù©XG±P HRDl=/e¥œRª8  ¤ àŒ”=JyoŠÃ¾«¾˜eQW¦é»ÓssÉ#©{LüŒ…€5ÃñÀeÉDª)Ï/†¤¿Í¿VÛÃ|Ѷ+³§…vMÏ–ë>oL{èkÇõ‚ê¶}=ì:ôD›/:³ÿâɽUuMÐÎì×íÞíØ6xz¨ŠÒDj8²8–É•yÉkdCsbG³…“è˜bÒ¦K³ÎM­¬H¿ÿ øDY¤3®@zH›3Æk"-!£Œ3dw‹w¦È!â&/^É¡ÙŒ¹£ex£#(§Åu^íibUõãSñÅÖlÛýñŽs¾øgt Od¤’¡ë³"–°}k™(QÊ’§–N FãתnWÇÞt@UÊØ¿—.¾äõÁ“XÓ®‘@&bÓ:Rœ%N"³Ê{"Ã4t ZOo´»¾‚ÃØ­¶ù‘özÉ¿¸Ýû–fVn\š‚äšw¦t‡r¢ 8¨DÆS%yi»¾ó:Ö¿8}¬¶Uï[„ùgÈIGqÆåukc]¶ö€eoªØ]´s&£”%âúækf÷‰3%:§Û“dÉÈÎaì`«‚ð<±s˜ Ê ðóûOn²mSà•:¬þ%ï=d÷J»‡Ig÷
-§¬ª
-äÛ滺
-T ãÄêOˆ«,RŠyÍÌÝ7c-âgèàj±³Ò~©JC4n·$@ÉÁãÓa¯LH¸òC¿i)BIoÈ
-K6MÄ7‰‡WCö
-kIâãH„P5(-r¼OÔÔÕMÚÙtÁ4ö¶8FŒOF[„i¬ø‹—
-nº1'•»7ºÃn×îÝ`Ûå $÷¾ô¹8VXš Þ
-Ií ƒ›Nƒ›>Îéæ®íª¾¢BP’ð‘ W.*"䶅uñó;šŸ
-²ÈgÛ{Ê»W>b}
-î®»d§’cw$ã×ítŒuÙN²YÔ”),+ǹ¡*8ãWYX3<ˆ“–+W’O™xv*, ¹Ù!ŒAl°ÉL¶«®­ &XT’Å'Rš/U{èêÐ:µ
-C&‰ð[{¨K‡ºÈm2“2„ÞXÉäD%( ´”FÖ«d3YLŽ²¦Ø;
-
-m¦Ž(6Ðó™̻^dšLTaÆÊ)Û Cìœ):}˜~ˆl‹âpݹw,Òo|c]¶Ä€…<†õKô$¯ó°f˜˜Z"ƒ¸¢õ” WGd£–Ë ˜-¨’y—ñÃôP™¿f8­aÞMÐ¥è& ÁU滼óB8oà9΢›””ÅS<e‘ŒÓ©³â™mLÛ'š>B2H+>þHƳð‰tü:ê7>I¿é÷ˆ®ïÕmÔo\±ú
+xÚ¥]“Û¶ñý~ŽU71ø" >Ú®:“8îùÒ<¤y $èŽ5Eª"åóå×w»
+bñæ—ïÞÿðëý«»Ü,Þÿòán©R±x÷þ§·ýpÿêçŸ_Ýß-¥MåâÍß^}|x{OKÓxýþÃ_i¦ Ç¢÷oß½½ûáÍÛ»?~¼yûÏ2>¯òï›ßÿ·8ö7"Ñ…MoŸa YêvwcR¤Fë0Sß|ºù{$8Zõ¯ÎÉϤ6I•Én—Ú$öŸ—²Lr))O‹$ÓJG)+9'倅RÞ•_—ÿj‡¦¬—]õ§;=¶Ô:iv;&}Æ@@ša@®WçzÊÁ'×wwp>±(é,U»ãŽž'mÛ®\?ÄŒÓàŸB¨Ú8;;Œ66‘
+„2æ“·ÜÎñ¿q°sºt°u_µ qd@›å)?FèD™4½.݈õ .Ω!
+‰6`Åâ·'ÇÜôOî²I8º’IfR0])“"M•'Vî÷‡;i-\ƒ[SyN´èön]! ·á ¸»ï
+i§šM1ƒƒgbƒRÖ’>N+AãÏUÝ®^z×U­Óð^¾øRÖÇ@bKS¸F™ˆÍZðÂ"c‰Ì*ï‰ ó<±©
+~»Ýs`––1îõT~áÝѸqfÅã[“\Ë­ÖŠE¡2HS3}bäèDº cýë#‡
+RñA¸­=- „ä’‚híc¬ËÖ±üM­÷írˆ\dêúækf÷‰ ›d6O§Û“ÙÈÎaí`¯‚ð<±s˜‰Ê ðÛ<Ù6‹ILôOe ¿W>Ø=L²ÝT®×ÞqÓ]æX|LoòÈ 2•¤Ö¤ƒ-Ϩ¡Ì“B+MùÒͧ"1FØoÜüëÊÍ,2/‡Í²kןݼ›/Òëû3ÎÌö§.¾ÐRO÷÷â„*Þ¶‘tÛ8x„!%\ª}ß:š $îé5_àêTz)vý¦jNó…ë×à/­È8óò[;·a Ÿ+G$WÕ#»þ4ÑúÔÁ¹¦=>¢1CñßhP=Ò*œòª@ÔdX÷š süö\»nÖŸ©¤(òàšr7›QB‘e””ŒUCnâ¼Âù¶ùn†®Èbà8±úÓâ¡ ["Ü’é>;o)p0C7 ®¾TG4nw\>H°%ä4xú+S®üØ?¶¡t0d
+ö¸ÈÙ4¢S6 f†(“ð23U õÙ…eÕaT>¯ó N
+‘å ¤6Efã÷S™%RÞ-±±¸øµU»©Öd‘¾÷TvŸiøëSpwÝ%;UPÀäÒ×ítŒuÙN#²¹®)SXV̹¡8ãWYˆX3<¨“–«4ZN™x`V‹Èxvc|r“íªkk‡ •lñ‘”æKÕ»:¶N}§BãI"üÜë C]ÄÆÌdCojt6Ut(-¥‘kïUŠ™¬
+&GYS
+3VNÙbǦÈú0ýÙ®×Çë–h‹Da_ýª!Ž.Ûa@òŸ¥CúŠBÈòô*霃©
+)ÖNXà
+¢5[ÉÀìššEpf9\5ùgÂŒ' 5̸ º×¤ö©)Bw^çM¦ö,®iMù;µ¾s‘è4Ÿ*@4(Yø–´¢Aás ¤ wôrãÏc²ˆGǯ£fã“4¡‘fè†.-ÐFÍƯ٠f#y¯Ùà™|(‚Ä”ûy'‡Œ”oÇÜrQEÐ`?IÝ„èÊ
endobj
-1769 0 obj <<
+1773 0 obj <<
/Type /Page
-/Contents 1770 0 R
-/Resources 1768 0 R
+/Contents 1774 0 R
+/Resources 1772 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1759 0 R
+/Parent 1762 0 R
+/Annots [ 1776 0 R ]
>> endobj
-1771 0 obj <<
-/D [1769 0 R /XYZ 56.6929 794.5015 null]
+1776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.1258 755.8266 404.2417 767.8862]
+/Subtype /Link
+/A << /S /GoTo /D (journal) >>
+>> endobj
+1775 0 obj <<
+/D [1773 0 R /XYZ 56.6929 794.5015 null]
>> endobj
514 0 obj <<
-/D [1769 0 R /XYZ 56.6929 372.197 null]
+/D [1773 0 R /XYZ 56.6929 282.0597 null]
>> endobj
-1772 0 obj <<
-/D [1769 0 R /XYZ 56.6929 346.9751 null]
+1777 0 obj <<
+/D [1773 0 R /XYZ 56.6929 254.912 null]
>> endobj
-1768 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F48 1238 0 R >>
+1772 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1775 0 obj <<
-/Length 3072
+1780 0 obj <<
+/Length 2594
/Filter /FlateDecode
>>
stream
-xÚ­]sÛ6òÝ¿B÷tòL„à›àäÉMÖ7mÒs|smh‰¶9¡HG¤âx:÷ßo P DÙéÄ㱉ÝÅb±Ø/XÌ8üˆ™3Œ«\ϲ\3Ã…™-×'|v s?ˆ
-“Y¦¬pQ_‚¿i›ESÞÞþ"y¤ –úM5Ô$iðºè"ZÛ
-+0€<°¼éi - …97pay×nz¿nJ%Ù: “àÓþ¡,©Â*A+’e‚}„èÊ´™ŸÑøNô
-Eó&éÃÞ»‘.Ne*Ë„ÔÙ7¥ä¦õ“¹œ7—CŒ½bHÕ!Íd™Íä‘\.ç Ò1Sò`ãÔK¤r@S ` œã 6/–ÉE‹”òD"'3Æ3 @é
-ùmA–ÀB
-Jσë¾o›ÎP2„3u|ÿ‘ú!³Ãæºx¤É% Ñò0êÍ ®ÁÈTpŽ£Ú­o,G£ËÖW!¢Í¼¼ì¼÷P7ífíÓVœ-þ½ ƒÙùD®ã2e {×`I0IÙ-¶bv‹íàqX¢,{!ôßnê“ÉÍèGLÌÂG³zîW§fœó± V6«"QØ9'†};Þ ÷s½EzòŒ²¤F?™¾Â†11-Ýl€E» „÷TÆp&…˜Ha‘|Õì_C°)Œ ;“R0‘ ÐošÛÜët™ô"ø"…V6qBûT‘—å2à$^½ÏšIíƨg9¤d*$sTZÖÕ ¦¨­5©ζ«
-S>xGô˜Ýxø6ÄWËÞßg?ÔüÁ¹¼Ý†À Ùãùü¿¾Jæ åáˆupbðbPn˜NSÁW‘·ÀšpDœ¸Ø´!—a:è¿÷åM"ÅÏTbÎÆH;Û[t2äê8×Z0íáŸõ’SA“(ÑÉT]DõòqQM?o«
-Ü`ùõ¾®–U?Áä“@Ÿ¶ÂiH¿”c#˜Ì…ýþÊy¤¸HINTÎ]Ær‰¹p;j@$j‰3ùË19P|†I ^@d¨Å)“Çlˆƒ¤×ÅëJõ <+zRÂðeCýCKX0Ç·¢ÌP쇀h=6¾h¿Š3†‡ZÎù
-דôBÎ/~#-FBø­÷b½—Æ2,ø~frDóß`ò¯{ go¡å8Øòû2TŸ5X˜îzª6íKSb Øgš¼
-9_)k^À_Š‹”ä”ÃÐ`G!·ÀŽû´ äê´zA&#Åç˜ÌÀ™eJŒ™<¦’š||f¤ÐÃŸØ }Kz3‚–·~؈GØÄ4Ò«¡ U|ø.ïÊå§PL§™å¢Œõ붨šXNèwU†$ÙÆ -­ø§È#Ö
- ¹mú*Ät}‹ǨÒßn›ÕDíò½dèø‚”¥åÞóƒ¦wåF`ïŠ
+xÚ­YKoÜ8¾ûWhO+‘§ÈÉ“83Ì8»Ž{˜™ƒÜͶ…¨%GRÇ1ûß·ŠEª©nÙI pD‹Åbñc=Ø<bðG…N™,U”—*ÕŒëhµ=aÑ-Œý|ÂOâ™’ë§ë“—oe•i™‰,ºÞ²Š”®×į9û×õùÕi"4‹³ô4Ñ‹º¸|C”’>¯ß]¾½øù?Wg§¹Š¯/Þ]ùêüíùÕùåëóÓ„šÃ|á$<1áíÅoçÔúùêì÷ßÏ®NÿºþõäüzÚK¸_Î$näãɱh Ûþõ„¥²,tô
+avM=Œ¦M@[b ·L¼ çi©µ°SV]û'câv×WcmÍ_ÐÙVíšuÓPk»{jÑJÖjØEûà7Ü7öÇ»j¤Ö]õÉPë¶k]«z¨O9çqz –2 ØÎy–æ¥\¾/Ž' ˜è´ùÒuqL¸ça„½c½«ð§ª9T€gæeÏk01«0\7•çs.«-7+â0½kOša?w¦Ç‘ÇÝt··Ð60ïq¼ÔpMDáPñÄv´,xÊ2é‘´­ÛÝhðªñõ[}m6Õ®qz„NµÈs(rEµ;úŒÁdÉMFʶú\ow[ê€;G÷3DAßuõè(xm“‚9¤bÔɾØ8`³±£/s n;ܽa瘾qZaè½E–‹Të’/Û®¹Xöe á’f,Ëž–EóÈrMš¡D%^»$c Ž@Ì\ÞtÍ\§™Py”Ó“¢È ƒ t¦8yÇTK¡ Þ&¯áŸ™„J¡‹(ƒ/A:,}Œ
+g@|ê±)ÀçCXˆ|clˆ@²ù¸«¸•
+2Œ‡;ÓzfCœÞ "qu×uƒq"*ú´Ö_âèž“ÛëŽ4 ÖDÚP˜Ý³… WNÑ Q¬<tclIú
+ƒ‚æ.@¡¾à
+&~ ’^â—”T2Í2#3%-<Ï’çi.÷§ÑÚ”0§$Ë!rmôcøÍ÷Øîͪ®êì³­Dç<>¯À0v
+f®€i}9ôèSÊ
+Íó*èÃþ‡"—^§D.SÎò¯{ž‚p]–Z=[Ò ®¿±@À™Äô (OUEÐrIW²4çTtEž•?¢¢™Šƒj Vš+Qþ°‚Î NBÉ õœÈSÑ€z²)>Èn
+±ð‘#-§çŠyBœ$Ä…äž±ów+§¸Šß¶û!5bx^ß›.áH¿¡F| sT±"ÿÂk¾l)å³QúÑ_êr—}ð{?UÏ”yऊ]¿ïÚÁR¨(‘Šºo.ßSßUxØÜV4¸‚i´<>Ñnˆ¸7SÃ9Îèv¶±šQWý®šˆ~óêʾ.צë·ô £Õ·È[¬+QÏRùeÌèž±”rïk8HU.¶|•‹mqT¢j{®Øõ-õ)ˆ”:ù~&Vã³QÛÕ©éÇlNk(ÛµŒvÇIT·/Pg!Âá~nv(A½a 5–Ÿ«aÃ…Ö¾<í{Ð#éz'ø
+†N|^ c„¢íÞý¾qß×pT˜bä™ÿϱ~²¤<Þ t§pŽÍ€±±Oæ“GNÚçrаqš­ñBS*â×"vr焹„þp)̲¡ùCW™¼Xº»  `©ì=„FhØH+{‡ ±ÆEm©R»!›Äãt_åXþÎåX«ÑÞgKò¿ÅPò…ê±2þ¯}-³HòtÄÊ1øz³z®b2˜
+KÂ^7§ºpœ¸p±iCEN/äð½7=ºDÊ¡é©A™Ï¶óƒU
+ºDA¦üTkŸÂÃôã®v¼NÒd5²@¸Ê—_ù¨¢§4ÖWiÆ—n¨æ>•CJ*)ùÒÝf‘·æwÿü¹ß*OeQˆ'œËÒB”ù¤n5ׇºO?”.(ÿϳ‹endstream
endobj
-1774 0 obj <<
+1779 0 obj <<
/Type /Page
-/Contents 1775 0 R
-/Resources 1773 0 R
+/Contents 1780 0 R
+/Resources 1778 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1759 0 R
-/Annots [ 1779 0 R 1780 0 R ]
+/Parent 1762 0 R
+/Annots [ 1784 0 R ]
>> endobj
-1779 0 obj <<
+1784 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.0197 217.3669 315.2448 229.4266]
+/Rect [242.0197 109.336 315.2448 121.3956]
/Subtype /Link
/A << /S /GoTo /D (rrset_ordering) >>
>> endobj
-1780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.0484 139.4411 311.8142 151.5008]
-/Subtype /Link
-/A << /S /GoTo /D (topology) >>
->> endobj
-1776 0 obj <<
-/D [1774 0 R /XYZ 85.0394 794.5015 null]
+1781 0 obj <<
+/D [1779 0 R /XYZ 85.0394 794.5015 null]
>> endobj
518 0 obj <<
-/D [1774 0 R /XYZ 85.0394 676.5153 null]
+/D [1779 0 R /XYZ 85.0394 578.0515 null]
>> endobj
-1777 0 obj <<
-/D [1774 0 R /XYZ 85.0394 652.4057 null]
+1782 0 obj <<
+/D [1779 0 R /XYZ 85.0394 552.7977 null]
>> endobj
522 0 obj <<
-/D [1774 0 R /XYZ 85.0394 284.6926 null]
+/D [1779 0 R /XYZ 85.0394 178.5847 null]
>> endobj
-1778 0 obj <<
-/D [1774 0 R /XYZ 85.0394 263.0537 null]
+1783 0 obj <<
+/D [1779 0 R /XYZ 85.0394 155.8016 null]
>> endobj
-1773 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F62 1361 0 R /F21 938 0 R /F41 1218 0 R /F63 1364 0 R >>
-/XObject << /Im2 1350 0 R >>
+1778 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F62 1369 0 R /F41 1223 0 R /F63 1372 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1783 0 obj <<
-/Length 2399
+1787 0 obj <<
+/Length 2457
/Filter /FlateDecode
>>
stream
-xÚÅZQoã6~ϯ0úäÖŒHŠÕ}J÷’mŠ6Ûz]Û}Pl:*K®¤$,î¿ßCÊ”L;¹fÃ" 9g>g†ÔÒIÿèD$$ÉX6I³˜ˆˆŠÉrsMnaîý µ<3Ç4ó¹~Xœœ]òt’‘,aÉd±ödIII'‹Õ§iB9 Ñô݇ëË«÷¿ÏÏOÓxº¸úp}:c"š^^ý|½÷óó_~9ŸŸÎ¨túîÇó_sœJ¬Œ®®ÿ‰” ›Bç—ó‹ëw§Ÿ?\,z[|{iĵ!|úMV`öO'ᙓGD„f›lNbÁ‰ˆ9w”òäãÉo½@oÖü4ˆã
-gÚ|c{¹ã…)@Ö¥ÞºTJ’Æ€FdVÌW«Fµí:&#"eæ©÷ðɤ”aèf½Ä™/qñõc’™‚˜0›¼[Þ•ä”3ñí”ì%>£$§‚PNùPɲh;‹¸¿Ó4§aÒ^Tv—{Ã"Q润«·uYß>DÆà‡2Î,cÛ?h_чÆÓ‹°B嘆¸Z©T©<#"•ñdF)É„`FFïm Nžö6–P𤶸­´«ijŽÍ
-¬Ì«¥²Äj…¼Æ <Ê8iÛZi¶–ƒNíô¶®Zû›Ç¢»1mŠªØÜoBkVð¦~PnõÚ Ba"nÔmQUEu‹Ãzm?ïkDzIö8•FÒ•Þ5)íqƒÎº.ËúÑHä2ª/ùf[ª7§³˜q
-rÙÁj6´
-ÑPÙH¢²‘ —š@38é ìð‹qÊj[Èhbýóu§ìvwy‡¼
-üuGUHt"™ «6ÃÞÏØÅp`¼?°7U [Ç©„iÍ9Ðôö®~¬°{ò”2¦5j- ¬‚o!øô·Þ1ä˜Àí9&Œrl¬‡A¯¶«¢ó„š!Kœ¹\¤Î'¡çfÆ5¢ª»c—¸‡z
-·A÷b»ÚM+ì ÷Ã5¹UŒ7D ßáp§Z"£%Çæs$Z´€€z»£
-·zlWÏŒ£YÄXAœvjPôÓ´!˜™3°㳬bÕÄ¢Á†væÅ?Á0 vvû‰l=ÛºéLrœ%Q4ýj”bœdº(¨vv†,W—Ø<tÇ„ì`f¹ß.~¼¸ÆÞºhÜšëÂv´¥É^ ×C°ª ¹ÀWO­Á[ψQ*õYµ¸·‡íõÏÍÛ#Ëú®üvHâ;Òö[“ñã”HCÇ¡vÀ,Ë\'nÝ}7\‰Žñ½o-†„¾±BK`£1íØȸ#XéK¸ùQÙÿWàØaàØ8z¸#^ñœ?âæ/Ø”WGÿ&pü0pü9àØ <ŽÿOÀñCÀÑǾ‘Ç‘xd«ã´m0`¤Ë»>¶e¤¼¯¿èðKgEбprt‘%ŠVÿ‰•õЖ×8Àä§{·ƒ±g¯Åm]å7ŽïFÝå…©ÁŒDÛéÜ6§è.&kݳ÷$µØ5ÙÚQJÊ.%.ztÉÅ™œ^éD‚·¨AÚbS”yƒD]¼˜o$åa„ozxÉ‚N±(×\·€âžO’iL2òÅj1÷j}ý3¼óyôW-«¯l]®à2épÔ]W"ö
-‡ê(0å ñ†s{¶—1„VS¼jCýú5M|3ô,ša$ÖØîn^0ðËYÔ"༶ød’÷{/î=rlF.
-=Þê·ÄX8,Ü9ÜÇ$³7{O¨,!Ä„Æ—šÇjœln'Ø™{¯Û=ÿÌÿÁþëö¾\­ÇG”…»kºcÈ÷tÊR’I8¬þ{ïì=×sšìIÓšûƒfIìÂ[f&Ï«ô ‰@–E´÷U_qX)‘25ÞÈ,yõs´8ó%î¿FC#I
-–õlfÓ·jp ÆH wš
-›VJœÊÝísKÆ2¬ýÞF\ØÓ,Ã\ð Ëw³àþB IDíB=—¥œ¤\#ûòÕˆõg¾HÙ@9
-Û™jgèÙLŦn
-˜ [@æüÄ1 ¬Î
-é.ÄšTœÒ©íêó\èSªVoô“~â^ µVëòŽýIŒ^p}KR·Aç×ÿ‡†$‹Å¡rÒ*ö¨´UýZfò n™¯›< [ÊIÌú¤vL·ä¸n~íšèO%„Kš söPÝÁ— ^]=pÑñ†ÏÚ{qW‚£ôŸRÿúP–qw†Œ‰(o;p“öOèS›Ž´wòˆ§¡K1üªT·¹­Ýòò^õAº ('%ɸàÏû$¤À4ëË+[ª~è[:tý<‘áÏBüêïì»ÿ„ëí“,œÚY*I,AˆUJëŸ&{š»òûªÿ=endstream
+xÚÅZÝoÜ6÷_±2ÐeÄOQÈSš³[­Óº¾§¶ò®l ÑJîJŽýßo†Cj)­vm\|8‡äp8üq8ZóE
+ÿøBfr‘/²\1r½XmNÒÅÌýpÂ=Ï20-c®ï¯OÞœËl‘³Ü³¸¾dY–ZË×ë?Ã; iòþÃåùÅÿ¾zwš©äúâÃåéRè49¿øùŒ¨®ÞýòË»«Ó%·š'ï|÷ëõÙM/ãû‹ËÑHNÍ¡WgçgWg—ïÏNÿºþéäìz8K|^žJ<Èß'ü•.ÖpìŸNR&s«OÐIÏs±Øœ(-™VR†‘úä÷“ßѬ[:‹O™FÌ
+ã7â
+6;Ñ££’îJ¸q¯ÆzdmÒ“ºEO
+ "¼µ–ÉoƒaÿÄ0;2LèÔx “Ü¡é¤;ã #4gîc8®ÔY°I ¢ƒ¹~K¨"95yMwˆS>MÑÙX¬K5tˆˆzzN¨‹­zz!T |fÔß¡¥ó)ZzôŒwG 3ë†F¼bù°»ò»‡ji†EO¤é
+›\¸¯_ƚʒ®ÚTu±¥A÷ÙBåôHyèQÁMO¾”bI®+·`$üzkÅröÙkqåú¸Œj¾Hƒ¡dAYCf3c6>ùËŽH†qÈP$dGÅ'—ÞÀ U8Òl”ùNÆZ‰² ìÆùkfâcà,ÃIl©ÝU^ЉÓYÒbæº|ò)¬îÞ
+º{*¨™˜
endobj
-1782 0 obj <<
+1786 0 obj <<
/Type /Page
-/Contents 1783 0 R
-/Resources 1781 0 R
+/Contents 1787 0 R
+/Resources 1785 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1759 0 R
-/Annots [ 1785 0 R ]
+/Parent 1762 0 R
+/Annots [ 1789 0 R ]
>> endobj
-1785 0 obj <<
+1789 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.3322 146.0218 398.9856 158.0814]
+/Rect [209.702 743.8714 283.4678 755.9311]
/Subtype /Link
-/A << /S /GoTo /D (the_sortlist_statement) >>
->> endobj
-1784 0 obj <<
-/D [1782 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-526 0 obj <<
-/D [1782 0 R /XYZ 56.6929 217.1183 null]
+/A << /S /GoTo /D (topology) >>
>> endobj
-1304 0 obj <<
-/D [1782 0 R /XYZ 56.6929 189.2257 null]
+1788 0 obj <<
+/D [1786 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1781 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F53 1313 0 R >>
+1785 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1788 0 obj <<
-/Length 2754
+1792 0 obj <<
+/Length 2907
/Filter /FlateDecode
>>
stream
-xÚÅZÝsÛ6÷_¡é5!ÄI\ŸœÄι“:w¶î^š>ÐmsJ‘ŠHÅq:÷¿ß.à—('®çæÚi `±Øýío‘òYÿòY¢Y(šÅF1r=[mNÂÙŒ½?áNfá…}©7Ë“×ç2žf"Í–·½µ& Ÿ-׿oÿ~úåÙÕ|!tDl¾ÐQ¼¹¸|G=†>o?^ž_¼ÿ×Õé<VÁòâã%u_Ÿ]]¾=›/x¢9Ìn…#Î/>œQëýÕ鯿ž^Í_þrr¶lÏÒ?/%äóÉo¿‡³5û—“I“èÙü7FÌ6'JK¦•”¾§8¹>ùg»`oÔN²Ÿ
-9ãBËÙB*–D°Æl+UÂâ0mû×fyMÂÙBHfx¨Žk@óBXË5i†-µà2fJÇèR³XpÓz…à=¯àJ²DJ=‹5g"A·ø†âk¶ÆëyÑ“43Zã6(w•­ªÝœ'Áº†{UaÚ_þ൛ý®„¥ìp^Ò·¹w"nv¶kû
-ar«ðñ*að­*3Ô-È9*(Úc{™7‹£HÌú¦y™¹ñb%D•ßŸ?cI¯ññ„MAßä{7(b&µTöè»´\W›g^ îÛ~Œ.P» „o]m¼ mdÛÝmBØ?aöÞy^f£Îì*f‰ãg,ég5{ƒ©TÄ¿gv®qò¸ÕãªÈWÿ3³§ôq»tÂÕ¾\/¨uãe/c·>Òã=´rÆ"XU%ÆÎÝžTYÓèCÞÜSËEž > ¡à¿(+Ó›"[8ÜXìvuÖàIUÛ&¯JZ:m†ªPZU›m^à¢â:Ÿó`“½Â_
-÷*]¿ÝU0GÞäiA½í9óòŽ†«Û‘üÕ¨C}yQPç&mV÷Sf¡ihÁÒ5êm¶ÊñlãûhE¿µ²ßÃœ¾W½ÌS;çï’Ûÿ#mñÈ0 1  ¦LdúYö ÛÊ0‚Ó˜â "(Ô³_b‚®D
-çvʤþ"^bý'5¦Ðgeø°â‚£ÕÑ* ‘àòò9´ÔÏ¥ˆ¶4”äG}¬mƒb,d1‡’PÉŠ
-N4ëÊ/¼è¯lõFXƒÓ
-"5¨!ùànEñ¨+j4TŒöÆ´w(Ú@©ÞP›JyL„Ö»Ëëë³·Ô†æëÔ×Í:¸Mó•ãµ[«{"Sä€kç.K¤ ÝXî'ÐJp¶|1´­q+G'½5:—o™™¿œÊèÔuø@À ¬gnV~{ÀùZãѺšáµŸ™–“j±£(˜)–ßA©žÔ(奬¡Ò¯‹Òžt«
-
-cžÞ¿•šP`€U|”Cý3Ð`97€Hø¡]ø®÷+ûÚ¡‚2kªÝ4ØìÒ¶.ZÑ8E–Àd¾¢¹–þ`Ï6ÛAUYqe__„ño(ºC1X¡nªÎa¬ÌîÀS¿8É´¬²]ËÈš ‡‰ð©}àwæ?ž%,â-lX_2€"wM-ë,ð%ïFJzvˆ}ŽíƒWRLá<Š<hQ-,ìËVíúÜ9èG^¶ã~/o?¨È!¶×¾nñŠŽë@5nAõÐNk‡å?b£…èìsˆ‡†E@^<†Ópˆï7ÊhOL»¨ ©y_íw2Žãh
-VjÏÒÜ#0JW4ÆAöu•ÊÄAììåêõغ0¡2—iî€ïº§^a_-›ÂUŒ€Î HÄcs•éº}ð¸u
-u3™$bÚÚ¿$qJ¡âq<Ö\Ë„éDĪÿÛ@Bíendstream
+xÚÅ]sã¶ñÝ¿BsOr'Âá›Dòä\ìÔ™Ä×úÔét.y %Úæ„"‘:Ÿ“éï EÙ¾:NæBX,vû ³…ÿØ,U„
+#g‰‘DQ¦f«Í ÝÁÚ÷'ÌÃ,Ð"†úvyòöB$3CŒæz¶¼p¥„¦)›-×çïþzö·åùõé‚+:×ät¡4{yõÎü¼{uqùý?®ÏN9_^¾¿Âéëó‹óëó«wç§ –*û¹ÇpdÃÅåç8úþú짟ήOYþpr¾ìx‰ùeTXF~;ùø ­íN(&U³øA 3†Ï6'R ¢¤a¦<ùpò÷a´ê¶NÉO‰”¨”'älJ€Ê-¸p´<3M˜P
+2¹nòy|¿[绢º³L*¡¢³—ÄH&’ÞçìÑj¾Ù—m±-sûKÏw§,ç«Ú}× ‚d8C´û]•¯q¹¨p%ó³ªyÈw~­ÅµMöˆ7;Éo÷%ε5~Wuõ3¥ünŸ×Þç¸êiBÌz^ßúÍ÷GHX®#F)î¸Þ–ÙÊQ-P펕Òc€)ÄÐlëªÉA­MçKXCaÆ÷Â#\éð[´»ÜÀ¢¶ÂŸ¼¢D%ÜxئÍÚ|“W-¹Íw›¢mžÿ¬-ê
+!Ÿðí¨ìä`/Úí;
+%‰NÔ,a”$)uf„k»»®#» à‹Ínpø«%âC¾ò—âüÚ $¹&B¨t@ÑýwPÏrˆÍRBð>…%4¼0KˆàMìâY5%wmýHâÅÙ)jL8ãìDNR™¤/ñ„œ˜4M§ýà¢Ã¸ˆQ:9Æ ÜµìvW¾ÍWjÁ9‘T»+¼unÍý‘ÕB?}[—eýÐ|âÒ JC;iá1WeÖ4xñAš@Taþ j 1É!ªY‰%àXØÓ«%0.b”Nb☄¸Èþ`Kc•mò)‰
+cæãc‚*’a<ZÚÊü.+qø)+÷yç¤wÄ¥)`Pây¥„˜˜.¹ò‰ê×®Z$D*ë1­ {Qš/dJšŒÒüÿnW ÄfáÞ5¥
+ÄE9;^¥ )$3M¡0ÑþZ¬þ|†€y(Q­09D‰^jI£Z@²q-
+j{R‡÷ÑþÞÁ>ër"­z¦öÊß·’þA‹iCDÂP댲¸¦=¨mÕ¾Í MB¡Ô¶¡·„pWsQïPÊùçl³-1’¿½lØÉbH¿%n¾,4¥ó?܇dpó>7µP—WøuEŽáÓ0;zs_7-ñ”Ðà78…Îñ›)-‹ Ðœ¿ñiÒ043ݲ§ö¶,Œ×l­ç«lßä¡çöw¿°-ãÚv‰K­°…æx´£³£]>ݵñ¼ìÐ
+Ébjï3ßÇ»Ï>yT}Z9¸U¼HXHÝÆ"œ`Ó(¨ëº Þ©XÖ<~šý­¥Öy ë9fû†>O†(Ïø(OÎʇìѻߛg=ïaÎõ¸ÎJŸ¼ÖàvSí±/óô±‹?âÉ#%wž<nϦÌÒ@í._Ü’ÔÖöFíµÀÁv›gŽ–¾¾xœ`®ª}¥÷
+Q)p7˜Œ¼'hT;r¹pHYä¯ T­TòÀ46º¿}T5_…cùzé¿<© nÊ¿F±•ý’AÅn”<Z¤[/aÇ(Dt1¶;"hÂc_ÛØ% KX'¸dN±r¿Š4C bUH”àA3Þƒÿbó%üŸÏÏÇ’œ’ÙŒÙ>x¤Úe{³ßfŒPiŒ@ hìxíeà&Þ^nøì»8šELÄ‹³cJóAß0±]0 á
+¸RÃ:×|õ~9Õ£•T§'±{‘r^h¯‰mÚaV³<Ö9<Lì˜Ä¤Ýù×N5:é e\1ê3—¢Ú·yƒG»H]­GYÂ&û\lö›¨Gø9IB¸-ð(–NÓ£Á XDŽ8$'<§)H †Y×AYÝ+«ÜÄwÚ‹ñÒÝXx„¶@(ÕÛøYVŸ£ï®>|8‡c`°Xwï¼j~›¥/ÇýspÔ!“¨€ëþU:^+Âļ‹©’¤níÓÉ ^å»Ì,\ŽϽÉüD0[£ŠÐÇ-nr¾NxQ3ºûS…€l¢ ;³j’,rÌKYH4{ÚIE@Oü…rRÊ>/*Ç椣…‘ܘ'ï€O¸)êÉ ô‰_žðE¶…¡¼á®÷+×çó*oêݯ¸Øî²®"Zá:Ú·a|…{]âcg¶ùêAˆ‡+×wá&tOTï¿
+殧Õø9Ïþ(ªn=œä%ª"8ì)m Ä!¦ôΞm¿ô¯‹úD@Ú·¡c°kÂx¢¬p“dLy÷gH‡¤ÿ¯Søendstream
endobj
-1787 0 obj <<
+1791 0 obj <<
/Type /Page
-/Contents 1788 0 R
-/Resources 1786 0 R
+/Contents 1792 0 R
+/Resources 1790 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1759 0 R
+/Parent 1762 0 R
+/Annots [ 1794 0 R ]
>> endobj
-1789 0 obj <<
-/D [1787 0 R /XYZ 85.0394 794.5015 null]
+1794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.6787 706.9749 427.332 719.0345]
+/Subtype /Link
+/A << /S /GoTo /D (the_sortlist_statement) >>
>> endobj
-1790 0 obj <<
-/D [1787 0 R /XYZ 85.0394 769.5949 null]
+1793 0 obj <<
+/D [1791 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1791 0 obj <<
-/D [1787 0 R /XYZ 85.0394 769.5949 null]
+526 0 obj <<
+/D [1791 0 R /XYZ 85.0394 769.5949 null]
+>> endobj
+1309 0 obj <<
+/D [1791 0 R /XYZ 85.0394 749.9737 null]
+>> endobj
+1795 0 obj <<
+/D [1791 0 R /XYZ 85.0394 624.285 null]
+>> endobj
+1796 0 obj <<
+/D [1791 0 R /XYZ 85.0394 612.3298 null]
>> endobj
530 0 obj <<
-/D [1787 0 R /XYZ 85.0394 343.0471 null]
+/D [1791 0 R /XYZ 85.0394 204.3723 null]
>> endobj
-1792 0 obj <<
-/D [1787 0 R /XYZ 85.0394 316.7826 null]
+1797 0 obj <<
+/D [1791 0 R /XYZ 85.0394 179.2767 null]
>> endobj
-1786 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F62 1361 0 R /F63 1364 0 R /F48 1238 0 R >>
-/XObject << /Im2 1350 0 R >>
+1790 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F53 1318 0 R /F41 1223 0 R /F62 1369 0 R /F63 1372 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1795 0 obj <<
-/Length 3406
+1800 0 obj <<
+/Length 3249
/Filter /FlateDecode
>>
stream
-xÚ½ZÝsã¶÷_¡·Ê3Ÿ$ñx¹ó¥N›»Ôv:ÓIò@I”ÅžD*"iï¯ïX€")Ú×if:ž1ÅXì.ö â3†?>Óqaf‰Q‘f\ÏVû+6{ÄØWÜã,Ò¢õýÃÕ›2™™ÈÄ"ž=lzk¥KS>{Xÿ:#]c6÷éã‡Û~¹{{¨ùÃí§× ¡ÙüÃíßo¨õÃÝÛŸ~z{w½à©æów}ûóÃÍ Å~ïo?¾'ˆ¡Ï ‹ÞÝ|¸¹»ùøîæú÷‡¯nº³ôÏË™´ùãê×ßÙlcÿxÅ"iR=;¡Ã"nŒ˜í¯”–‘VRÈîêþêÝ‚½Q7uŠJ¤Q,ã­4küÛÊÔq1Þ–A<Ò‰á/¯EóÖòMš1^j‘lŒž-âDE “¢¯3Î#£µ°òM“H$)–‘2bñ~´ vˆ&Ò±â³HK¡°¸Åøt½ˆùüÿÅüBiˆbã°†§vãÙ31eŒ$œ^ÛôÌxs»³÷Î3ëɯ»è-ìN‹žÂr!!%g±Ñ‘‘ÊБªJ”¤óbØåû¼lòµ”ôõZˆ–‰Æ'R±‰DjÒYŸ™N>Œ ”uqÖ±?§= a¢4Mp£ˆLd:}íy”pƒ‰
-•̜õ‚O\ûË2±.OÙ®XÍó¢
-gÏ…„ª6¿¢oUúiVºÔê_x‡¨XµG‚—ÍxÓ°v²Äne™¸¹{Wì r+èdûªuk¢íƒïjW­>S³þœŸ®˜¿È#Ò•¾:qD>ZzUy1
-‘D‘\°/.DB×åRá
-[@òÁCëeÓÞa9­+ÊÅ1ß `Ø.lˆü±ß$Øa7ÇçKÜ
-)?Ù.@ü)Ðê•Œs¶D…hgÙ6 ·f´æ ”@Y: Ëçn5öH;! ȯ{.~˜y½Ëž<^š[z½˜4¢EYÔ`KSë“7MÈúàòò§‚˜âxÆÊ˦~ÍíÈXžUMÆ*Ô,œl“…­{äø±Š¾Ž‡úÑåZæên20ÛéܵS‚‡›8æO^8¼ˆYä‰VÎö*+Õž
-*N8°&mTbþ¸«–N»|¨+YÚùaÕcˆíœeŽ+TP“ô X‹ërlP7í’@Îúíý0®É.Û¦ŽÕ¥ü¾Á.¹5Hü{Ü
-µz躇•CWU°
-þ’rX¦$8¤Uòm¬«'Ö4˜ '¼¢_•òàNÇöyÊA²H Å»*#£m¨€ ^î¡S¸F<ÏØÖOmÁ‘£ˆ°63b´wºZG‰§ZÖ*ŸDåùggæ¦ÈRq”0¥'ﻕ±ÿ4‘Ri`”f¾øØ»ùD@‚Tð\:°ÑN ‹‹C¬Å3ñh7ê؃ŠÑA_té¼JU*^wé}¬—]z‡åîøº¬íú€Ðãëeª&„%ܼ¾}‡5±ÿð£ZŠ!÷yãžvB•l KÛ”u¡ƒœ™Z¿¼ÿ™ËvcoåÆ™'û`©w#.Ó°ÏþÉÍ—fñZôþŽçéô€{—­>w”ùà./žìCS^¥lyuT‡ü§5ƒÞzÉžwS¬gá0 ¹ †£ £
-JB«Ý<ô«¶©‹uNh>øhC
-¸qWñPŒòŒ×ðûeã\»Ý|ýï¶n€–¯IËÜe¤ºÏ§òkòÁÉnrG«MdYx
-ˆ°ÒUðšÁ«¢}†,š"<9 ïÔŽðuÄg
-´¯ÇØ„‘Ž5`®{´¥Ç_4– o§,«×Ǽ\U-dî@ê‚öéaXÝùÒ= PÐiÆeé•Éü~Ÿíüˉ·˜h‘n»Å¿†Å½Ðü|Á=Áœk&L@þÅÕNCúÛ†ä7¼X=¼ûùš 3Qtô®Ç†+RNyÖÕ-ÿôÀοSI$Ó—Ü‘HR[‘({À$½tÀ,¶¤pIú
+xÚ½]sÛ6òÝ¿BoGÏ” >IàÑMœœ{­sg»7sÓö¢`‹ŠTHÊŽúëo(R¢ì›fæ’X,‹Å~‚¢ ÿéB¦Iª™^dZ$’P¹(6dñsŸ.¨Ç‰R<ÆúñáâÝGž-t¢S–.G´TB”¢‹‡ÕoQš°ä(èýçÛ7Ÿ~½»ºÌDôpóùö2f’Do~¾ÆÞ§»«_~¹º»Œ©’4zÿ÷«>\ßáTêiüxsû!›3Dï®?^ß]ß¾¿¾üã᧋ë‡á,ãóRÂíA¾^üöY¬àØ?]„k%/0 Õš-6BòD
+Τº¸¿ø×@p4ë–ÎÊ’„ñ”ͱ‘
+yÞî‰N,
+g½™*ôt,ÓõGÞxõdWu´kƒ(Ko„L$\a^f >ÙZ,%á¸ddœÖ#‡ð¦&òJ%3å › 5"œ(NˆÔ)áUú¿ä\¹´HÍçÄúÑDf0q–®#@ËwÊ)©8pKN•j1ÖšA‚}³„eŠ-¤†ü„*”êíH2…¬ÀÉ+‘œ /Ï—qJ£øË¢“KAT€,g!x{%Üi_4!BkŽH£¾;ëAðîfÃ8Ñb|(O8Sv‡J§á†Cî$øBÚ¬ˆPt·NË2PâͶ2îNo- ÆÖg–ÐÓ'· •0¥Õb,Ïï»"²O5$ ñ!oü>Š™N”Ê KgHó7œ™—‘e™xÝ™ X.Ã+ŸbˆWåªì÷±óþ0:ql"‹ Ùb¼Á©c X3|LnSBŽ ‰ð„û­)Êß a.òe!Ȳƒo ómÙXnæ@r±ƒ8é<Ž_Ö¦F”·÷÷×ï
+¯ó€Øá|¾ë›MÞ—1:¨Œ$ŠÌ'¡§€@m£7QÑ“©MëHÚxèZl<etZÄûehWû:ß”vÛð mx==Rðg!4‡sÕ N¶OÞ¼îF—0àÇ㧗pJ3¸Â…\ÇŽHØ17œC…•Ê 3'zÞàà„–eÀgn°»Ïü g¾m}X‚ ÀtjƒÂp¿ÄÇ0+wÏw³µgÈýj,a|ÄÍ“©”Óã´®²¹ ¡!!µÝn¬’°n^°S5õö–æ± ¼Ø±ãu}Œ²ØóÓÇJçvtEbØâô ]6¹Lyt󈳮<
+üÅs©2½‚œË,¤U§Ϲ ›ÃìÒcmŽhî 0Iß ì`¾«òÎ Jð®¨Ï0p»]Qþ®´]Ðy„AÌ«œMù‚ÉK¬Ç õ/=n*80ùÓÍù§+0•as Þ
+JÔÞäm‡Æ˜²„rÛ¢$<MÉ¡^œÜ4D:©F™0cS½FPYÛ,= }ái':l¡ò­,ÑQ8θ/ð-~ƒ-б·‹½±Á;ÔÀE±k^÷Ç›r°“õ v+KdFü‹BUnÊá]"ß4»Ú'¾Š(ª¦øâ_%¾˜—KÍ¢³2:}  &yxâ9—
+&6` %äjݸRÑ¡xPÑýç+„\>Ž‘/¨í¥PK H>Q
+Îò‰©D}…B¼Öç\ø²òE…#›‡çÞŠz¨óý µÇsÞ–ÍοÙkõ$]Ák;Áë£ÎB<?[”By›ÎùëyÜë|7`…kô×ÍÊœ§Mž±×Y°fx˜ºž
+Éì„ —Ä=ZAÐѱ‡ £lúîþùÅE ¶K¿Ö|ƒ\©v¦
+ Èö'<tK ̈Ü~ùŒª
+Ü{8“Ää‡íÌ*…‚@Lâßý ÌXÉ¿J^'ösíðÔacqìî¨ò‚ l›ÖÞ~^äp(IØÑçÅ|?ýxЊ!yìÌxj¬V
+Nml'|«„Xñ7_×2¥¸:þ®±4ëü¹tÅç‘ógТj<†Ìíà96Þê9~s„òÇ~Ü{,ákÀú :Å:¯ŸŒÿ¶æ6jÇõÃb¨@ó²r>ú}›×Ý£ÿNJdôk·sµ–+Œ¹8õ4x&ÜVëQÙ¯=S:|ˆ?ôFOÚ…NûDÙÎr×#,XÍÍÉSVé
+oÝ4. §/‡áW"3ž:T÷PÍédÈã¿û‡N‡_‰,áJ±3 2e“˜²¢ÊÔiŒñ¿ˆ:eý¿RÞ¡,endstream
endobj
-1794 0 obj <<
+1799 0 obj <<
/Type /Page
-/Contents 1795 0 R
-/Resources 1793 0 R
+/Contents 1800 0 R
+/Resources 1798 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1798 0 R
-/Annots [ 1797 0 R ]
+/Parent 1803 0 R
+/Annots [ 1802 0 R ]
>> endobj
-1797 0 obj <<
+1802 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.8324 633.77 335.1613 645.8296]
+/Rect [286.8324 490.0166 335.1613 502.0762]
/Subtype /Link
/A << /S /GoTo /D (dynamic_update) >>
>> endobj
-1796 0 obj <<
-/D [1794 0 R /XYZ 56.6929 794.5015 null]
+1801 0 obj <<
+/D [1799 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1793 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F62 1361 0 R /F21 938 0 R /F41 1218 0 R >>
-/XObject << /Im2 1350 0 R >>
+1798 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F48 1243 0 R /F62 1369 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1801 0 obj <<
-/Length 4019
+1806 0 obj <<
+/Length 3880
/Filter /FlateDecode
>>
stream
-xÚ¥Zmsܶþ®_¡§ƒ‚ §Î8Žœ(Ó8©­tÚIó:R:Ö<ò|$-+¿¾»ØŽäñ$g:Öø@` ,ûòì‚òRÀ?y™šHè,¾´Y!Íåfw!.`ìû É4kO´S}{{ñÍ[m/³(KTry{?š+DšÊËÛâ·Õ›^ÿr{ýþj­ŒX%ÑÕÚ$bõíÍ»ï¨'£Ÿ7?¿{{óý¯ï__Ùxu{óó;ê~ýöúýõ»7×Wk™ ï+žáÌ ooþ~M­ïß¿þé§×ï¯~¿ýñâú6ìe¼_)4näÓÅo¿‹Ë¶ýã…ˆt–šËGx‘Ì2u¹»ˆŽL¬µï©/>\ü#L8u¯.É/6idTœ\®Š2“êe)‹HÚÚƧTAÊJ.IÙS¡”wù—õPì×]õG9ß²Œ“8°—ãyOVT Ë«ÑòÒÈ(ž­þ¡ì»«µNŪߖØÈPu?ÃŽž¯¿{÷H~ýîjìÊ®ËJzðŒÏ6«¹1ðˆ 5ù®,˜lÌ”Ž#›*ÉTU]ó¬eSÐúÈLCÍ»§¾ì@¬«^ej•×UAôŸóz(;\àr­RÅÖ„C3´Õüp%Ó2Ä+#6̪o©#YB­ÿ#x6÷Ü}W%“o+î>äÍOÆ\CëŽÉºª.›¾~¢Þ¼øïÐõe3Kà>1zu»åw‹ò>êžܲԤeŒã+rÛ~;d4ƒ4«¡òšš´Ã¼kz¾oÔèʾ¯š‡…c’ÊF©å‹Ú8;­œˆÁ±“ÌžÓOÓ6ëãv Ãošn;Ò„WJ¦!ÂIšî±<ÌÈöyÇg*38S¨é™ö[·åvxØ‚ïzuGÏËŸñ0…"©<æuÝQ¿Í{&¯ÛÍGjÞò‡h©{sŸo>:ãÀÁ¼)¾AYNÞ‰‰y웧*‡Ä|:}y˜ž§ßJÞÿsº‰ ¯îZ
-8n!ö†ß¦(÷`%À3u´÷ôë,yñ¹<ôUç¶ÏÄÀ¦¬>3ÁÝp]÷åžQõtD e`P|ìeÑt/(‰´“λ#uŽ¤JÀOIŒ2™w@N3™s¿9T
-‰Ž¥Óç™T \L¢B’F‰
-ðüfŠÆî ,žøl¡#­÷Âå—~Á
-•Ž2„IDôŠL0VI$ÍŒ=Ïã¶Ú€ûÔ1Gø¥ÓŽ!pôàúÈ<ËQÀò({úÝç(ßWº ã˦Ü÷DH‘].©‰šÒ1mÕP߈æa"cSâáI¡Ø}¼:ä ‚’6Ê´J™ã38ë·inìY†Ô$½wã–÷ÂÒZF©Êä §d#mïYéŸöÕ‚Ö=–_À$]trƒ-ýÞ1ñCÙ”‡œ‡-D&Ûžƒf& aÜA³5ûh
-Nç‚ 2„ž~ŸÚ uîBú’T3ð•Âx v{]; °¬íi’fcÚÎÛNyX2K;
-´Tc£3É*ßïMCyEcÏH 3Q’*õ¬÷RÓ¥&ï?Ñ2âô»Ð5¯N=¥¡#Äsèu®î,;ÒjúÏóÃL@DKÞñrG§Eò±¹ :vëUº¦(mW]NÊ›’ô©³.?—5õæLÞh¦ !²r{Î?Ê8J´Ê¾ÂÊá·ºi\á€(a \‡„ëôÑxÝUûrÇÞ$Åì¬{ŽŸµŠ-º>;Õ¬3PqÆeêB =f#2g”–P!
-+ ùõÐÓèÆå"ÐpV ¿-
-ÅÚ™+œáC3ìî8ׇl 8H +žè4ßÌ'æá£Ôº:˜§ð]¶; – “C#ož¨ñ
-¥.· Uð w6…ïÇäes<“I`šÝ–!!´iRðC2êÚºBŽDKqŠ -ÔÖÊ1" f<‘srðKš.rÁ¯çÐlò91é6ª0Ä+÷ùÇ’ÙugøëÚúsy¦"çD%ÝBN–jusO]ì{¥·òQNŽ¶˜Sö#G.'²%,Š¦™¦ÓälYéâlV7ÇÀ4‡]éWËù¬+ÞHÅ<e^³EH±\µ” Ü¥Æ6–wYbû¶ñž* y”e….fº¼ýQÿÄöt8z‡­æÓÉÛÑÑëp^¸º_ñ¾'/‘Ì-yöW‹Õ„¢YÆœÆB
-‰Ð¹÷£>üí]˜[ e¾ÍXFæ*|iЬ?#^)¢ D5ºVùZKcEc$ãX¥$ãXY'cìÉ@°W=•ŽeŒ~‚¦¥÷‡½vݵÊ›\Ü¢÷ó†H«Ý¾u—Žx©pb4Ô,<–ñ›^€nÓL«9K0U xE$éó0uLu¦*rg}uÿ´.Ê::½wÅÓËô󫪅å'›(@8]Ÿ‚²é8~¡¹¤\±J×.7Kñj±,Ë0Ôäç`N¡åì†ioÔÇwµP4…îœ~Ðy£ûM³1C%ÀCå‹°{¬K†pBù»$Dš†1žùEƒ x³ÊÜ›ÛÁ9TÊk|Üz÷óíÍÛsîpÜȱt!…»÷5Ç0­Ëo§7gÀYOÆS×ÏÖ%5Äbk‡v
-õX­ç6ì™û(‚x BSø„Làïj xK¬¾ªº_ûT/àa—þQz2=Úâ)/ v…æ9¾0Nsá:•îÛÏUQòw
-‚ú¾+‡¢]÷í~íJ>ë¢Å°¸X€WQb¬qwUS,à••Þ 9–Î×…°ÔÎöͯþ°0#z…4d9.YÂÛðÑœpâ~ÏX®
-EÜ^~è©åd…Ãô8<Q5Eë³÷jÞåÉÌFKëÏ_«…Ï„Æô§žìdÖÉ¥š’™ÓbeNý©Ž²X¨ ; þ”©^àât¶Q: <8/¿£<ujÕ Û4yá*•ÊgȾæ ÓRÒƒ)*ù,Ž‡´Gcœ‡d#_
-\ó,Â[çXT"â$8ž›wK8ü…½æþ%,LêäÓ`Œ*á2<Ôí]îÓiîMËY¡-¸š AmGÝàDY¬°.!¼ð
-%pÀíãY+kh±FŽ+¸96¸FŽk‘(3‡k:n:룊⹬úžÚ÷¥+g¾b s4”€eto†¿EÕåwõdf®Ó@~­í,Îo*‡®œÝO!áýä]‰ß*djåÈíŠî=ÍjKŸß &½pþ*Æ“I_r5ðO¨<°SÀ™ŸhÑ“oÕ8¤€ý9ß²–_öuµ©ønÖ¿gÈç@Ï9µ\«ÄD/T'óŒ'”2 ƒ!ªCØØlC ÷z\ˆYB‚x¡ª´x¡`9¦:•“[ XµmNœ@–T¨øù…ÕÂÊSkÕ 9m§K3æJî¡÷½Á±í +Ðæk÷öÐóÛUN þñMŽætE“…Û6Èù „¯KÄOt&jZü˜T˜P}pë'
+xÚ¥Zmoã6þž_á°Vù"ê8°Ýf{[\Ó^6=àÐöƒbщneÉkÉÉfýÍp†”äÈ·
+1¤›36ÞŠÊé.Ô²àíÈÉÀA "ðâmMDÛ´8½ÉáÒ6 ØC…‚.©Ñm~m³npâ–ª]EëŒ(Ps¾pÓƒ­öCëHŸ_.?n '] `“ %Òl7ùW?9Ÿ”h’Žî
+Ôõ¤µætÇ~YÛ®Hšqè¸àd ¿·ï~½”*_žÄ1“ë(W&9ccªÓ8¨<,Ÿ†±$ŠM–ž_=PÍ,?…1 ®Ätu1 R, †B«¼=l©N'‚$t]¡°Yº³ÇÊÈÒ7«øÆBÆ|NÞ²8JŸ‹Î×Íj›’ÖGf*ò…^¥BŽñ
+éwÈúe*ŠÓÔœ0:‰é†èÄM„B1,Q ëŹC1lfÃ"s ¥;& [ Â~%†Ñû‚ÁÇ
+|,Ò2†kÒhi<~aqŒ_Xwø……3ø¥Ò(KAyĬ6à &5#üÂÙ ú™à6øíHCÛ‘& qö ¤S8 ãׄÌ!•;SðÅ£X'êÑÆø…Þο”ˆ_â~9rÂ",Žñ GHÂN_“1±÷êô”x˜~@, #ÖŒ…:_ 0Pä>AkømJ»ƒ[<OmAFcwê#W;£ìÙÏè[¦é·ú8à-Ü ÁÁÕ9’*IÇàû‘“÷{#á¢L*xC†1Å"ÜuYõUÛõ`ÚiÒ}ᶋ:±ž®D†f
+°ä†aüI4ˆs_áfžGƒ1Õi4TtÿÀPì‘ÃÚ®àúnÉš€B¢£Déì<j†‹ ($% ÐÁ wv]!΂ÌXx5—™?WFåÃ߯m3¡ì|ňξ
+@ÓIDô†?•Dà-Läé¡Z£÷3èÀ/v ¸Ñƒå#+Vr,Gx2(;öÅÀ(ß7ˆ\™s¹v=A¡«‹GKEÔ”ŽiÑ{ö/ÌÃ!c3á)áÍI*2Yîáj_<ÍJ¦Q®•Ïz <ƒ­~_‘æÆž5Pp`hOEÒ{ן’ÝžYZË(S¹|å”R0„‰7¬ƒ‡‹ôÏ»j ˜õLUû®$WØÙÒïßÛÆî îN8˜ìá”gfò€âÎ3[±‰ÎãH£o8‘íºÝî@ îjϘ{Déà´5'¥ZF•ò°ÝyÎ^2”¥Q‹W=E
+Ÿ²ä8ÝJ°ë“˜ëÞ3“îñc ÎnÑØöÀæ‚…FÝtƒ¡P4ÏT¸‡¡ Iœá)†”JNl¾û¦!)÷·¹WÀ(ž?£õ{ó|Qø¿®9s4i¡Tðóï§æLG~Ab{ëž/9övw>aC,¢XÇj
+Åš eÐFÉøç|YRh·ãäBv”b}œ†%Bg¯#€IBVÄç#`¥ÌÊ®§ÃÑÊ×*õ‡Æú\5å;²!¯‘±NAïú3ŒáAG@()¼‹!rg}¦äþßù8gĭë’ÃËžÓ')†ÇdnCê1¸× d2 \C±{`_Ê4'  5=¸ŽÄ‹âôJ¨¬ôä! F<‘³nðKŠ.é~¼šC±)Ž‰I}°P….^¹/>Yf×Eà¯këG{"ç$%ÝBN”jùaCMlt¥¿ä£Ä›m *þRÔ#G‰-'²9'of–Mƒ²y‹ó£t9®
+äSæ`ª39U†Ñu3¦4hÖ_¯Q¢½¦|«Œ¥ˆ1“1’q¬2’q¬R'clɼ_¯z*Ë«~‚¦¥ñ‡6ݵ”9©E㋆H«í®uoŽx.ab4
+&Òq€ßÇáuÉ8’&ã/»2|Q쟬 ]MÉŸ¤>n„}0ðÞ¨Ÿhù“BSh.è·ûV 3䨄¯`iœé&”BBGÓ°K7|(6ë6ø'wpð
+ÙöÎœò÷ŒZ׿Ü~xÿŽ†m»+]ˆÜ6>Ó¦uaíô¹lô U}6©‰ÓÔx¿¿Ì(jº¶+ÇîŒR›H[ýšRƒÒ¹HÏëôˆè´J{¢ð]_W¬ì@HÉü—àÒf&ÉÏòˆ^21QìâW© t¼ù8‚ÊÍÇ·XH—ž9jF1ó/8MwUßqkBŠœ’FøK>¿;?ì'„ùñK€¢ç46Äù`cŽÞŠáâ`jLæ“O
+Ì}^ŒßÛêÙXZ,ü$ÿ÷§ÇÃwÙqé,S'^çD‚o#©g
+™OócÎÃ7Ê/Yÿμ˜endstream
endobj
-1800 0 obj <<
+1805 0 obj <<
/Type /Page
-/Contents 1801 0 R
-/Resources 1799 0 R
+/Contents 1806 0 R
+/Resources 1804 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1798 0 R
-/Annots [ 1803 0 R 1805 0 R ]
+/Parent 1803 0 R
+/Annots [ 1808 0 R ]
>> endobj
-1803 0 obj <<
+1808 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2799 641.7836 410.176 653.8433]
+/Rect [353.2799 491.604 410.176 503.6636]
/Subtype /Link
/A << /S /GoTo /D (zonefile_format) >>
>> endobj
-1805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [84.0431 193.3347 144.9365 205.3944]
-/Subtype /Link
-/A << /S /GoTo /D (view_statement_grammar) >>
->> endobj
-1802 0 obj <<
-/D [1800 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-534 0 obj <<
-/D [1800 0 R /XYZ 85.0394 261.5013 null]
+1807 0 obj <<
+/D [1805 0 R /XYZ 85.0394 794.5015 null]
>> endobj
1804 0 obj <<
-/D [1800 0 R /XYZ 85.0394 238.9605 null]
->> endobj
-1799 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F11 1451 0 R >>
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F11 1343 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1810 0 obj <<
-/Length 2395
+1812 0 obj <<
+/Length 3038
/Filter /FlateDecode
>>
stream
-xÚ¥šÛr㸆ïýº‹\5Â'’H®¼c{¢­Œ<k+©­ìì-Ñ6kdR+Rã(OŸ !G•Úš"
-†¨í`H0×Ô™kNa)”£v€vÑOY•ùßL'wN™RÓg]ÔÙãfHϸâ$Q| ¾EâU^×8^Øœ-6<q¡Ð {¸Y)I('I$I"ÒäÄæB£™k…{‹ú§µÒ£Ã¹Ö#œ롺Š‰¢4 «[#º;q4¢$UüXwešLç×øllƒ–_ªýfåv¨ù¶Ú5X{ÉK÷Í*/¾ã4CS†®*”¯óvÿ~"f[ôZ<̯Í!‚½,‡KJéôƒÞPÉ´ÚYÏíŠ38ÕŠËãÇN3ªh»ÎT™uÖ íkw•p—&…Ð!©Ý‰ókòpsÿ/ˆ|ï÷Ÿ”°ˆ±4–oEó‚Ž›Ã6÷ìq¡I%‰1_þ¶ô¸„c Ðäº[m²ºöøc‰ÞáÜC€¾{ðxä ‰Yjqº\âD}Ò­]Òopº¨‰@ºÅF œíX&Tw¾ðzÑ‚G¬KúÙÇ%]3qIµwýÌðáD¢£·6éJ‰ZÇæÙG"´ï"‘®b$Ò¥>‰x$ Båñ™„°’œG‚À¦}ŽÚ>ÃÀ£ÛZJeΙ.ô£L$ ’QØL©ÝKžAÚꨂ} ±ÇnÛÍ»¬²}íÛ·3žrÂâ˜ÏŒö¾öm81HØ=Üî%¦ÚµÊ–V81^7g5¶šûU7éûU7™Ü¿¶úû5înݾΟ²ý¦ñÝ7‚!•ðNà{&é Wö¾Ó8 òÚ <z³x2¡C¤Ý©ôùƒƒQÓÏ sÑåo4&4#Eí‹M3+J¼¹n^·Í‹ÿÝÚ# Û›IÅ1ýE»ˆ3.ùô¥])¦uÕ.
-4=vÞu-GïÚä¿­÷¶U¯ÄÃݶg¥q¶xÀ§¹ªö¹6U¹9èŃåŠY»\µÌÐ+O:ÀÔš—¬1£Ä‹è(»±S¾{5Ù ¤9>16´î×ز©VÖLâÈu«Mž Ø§\Pé.>(—Us켆0‡¥6#xyBülò]™71~0X&¨éÀÙšÞ¸žt ôÑ·ãªÈà°2μŒ‹nÌоªðRåíIkÓI(ê#So³Un:à<4û]‰ï¿]ß}¾š/°†oëmUÖØ#®Ï>ZñH
-b@ûüË÷KíÆ4CêÙ°A7gã‚Ü(Ïe¾Öêƒ^ éz*ÊoŸƒùúà[©.6ž ´©ªíc¶ú†µãaé†vêÜ,ºïº/¿•Õ[ù®'é¤á•¦n<bŒ›‹I—²¦Ñ±+íN„ç:‡sõZ”9V Å3Ѧ™Ì\º¦ˆqµAõl}À†ü?EÝÔXnWBû2uH.Šï¦£žwܦ6‚0¼¡QXÊ7Œ`뙎q¾©ulº/u)Þ.Ó7˜IwÝ5ó
-íᇢ~xWÅ9ð<U$rÞµ: ßYÁE;øw¢^ø#Qø.? ^œ%cðŽU
-À[«Qøh?õû¢ð™z<HH™Çà«
-íᇢ~xW”—á1°)ƒw¬ðÖj>$ÚÃEýð®(;/Ãc‘""†ïÚ0¼c€·V£ð!Ñ~(ê‡wEÙyU”‘ŒÀ»V§á;«1ø hÿNÔ $ÊÏËðh‰`j Þ±
-À[«Qøh?õû¢ü¼ JI¥tÞ±
-À[«Qøh?õû¢4†C¯Î ç áŠÑ;Vzk5Jí釢~zWôÇÅ¡ðÈ9ÆíX¸­Õ(wH´çŠú¹]Q
-aÿ‡É#J¸ùÇ1
-p£Qì€bO=PôC;ŠLBJ«æN9á\…±{›ÓÔÆf : ×1ä¼ÈŽ#ÑYg;–„³‘ÞÛœ&66cĹŽx ç%vähA" Ðé¿VáÏ¥àŸùáþÿþ³4ç×>ˆ>izâzbIŠÙ˜”FJ£÷‡dþ~íýÐÿ†.„endstream
+xÚ­Z[së¶~÷¯Ð[噈ŕ—æÉ9öIÕi|R[ídšä–(›šTDÊŽû뻋H¦Èãi''C`¹ÜÅì~X@æ ÿñ…ƒ0É"JT ׋íó[<»ï/¸ÕY9¥•¯õÝæâÏŸe´H‚$áb³÷lÅ‹c¾Øì~^†.Á[~úrûyýý?ï®.#µÜ¬¿Ü^®„fËÏë¿ßPëû»«~¸º»\ñXó姿^ý¸¹¹£W¡µñÝúöš$ =ν»ù|swsûéæò×Íß.n6-/gü~ñó¯l±Ø»`Lb½x… x’ˆÅó…Ò2ÐJJ').î/þÑôÞšOGç³@ÈPŒL àc¨“ ”B¶ÈCøóÂLÁ)/šU^Ð:;¾dGjçå¾:>§M^Ù—ÿ©Ê¬Æ
+4OdêôøD_¤$/OÏÎ[µ'ÙC {4~£p*w  Ppðœ‰Ö ¾1ƒ—ÑòPg§]µjªÃªÈ^²bµ«žS°dà+š¹A¨£L¡…‡¼ÜL’ˆqi•ÌÀ º#]ߢH`}#«
+ûå~Ä bAÇNk[¤uQ \€Ú¢pe¼LÍ´9t鱡–™*|M]oÆ ÷’g¯ôú¦YegãBR2"½;>.¨q7šùž>® \§…ï³­ Ež˜(z8Îu ÷†ó.}Z­™Q¼·†Ã€‰à4œ9|š©YE™2ŠÃ™e­˜ eµ^Ÿòí™ÍkzÖ,VÚÀ Á–{
+þgzg¢»lŸžŠ†:´jíá«sC,Ä®õ¾¾ ¾ˆ”°*߶Ž)œ 9Íót.Óò‹ê!-L†­¤ŽƒHòÈe1yK5 à9àÒÖÔ©Of
+’h™Ž™3Ä"vé–Eõºúý”ßFž%kuwy(«†éáP¼‘/šJ5”=Ø4ÙI¤¼\ïIöV¨±Ï²¢ý‚l”Y¶³"ëi—×éCѳl¦„‡Àþ2
+ûäcüÁLÊ0^žL
++e í$I¥—À¾LÄÒ¨CIþ;ø®Mé‘õ
+W&ž£0¹(±¤€–ßÈé.û…1Qæå#ÉÓ’žÙ‡"ßæ õÜwš8$çÂr%BDq¢ûÓ3Á„7f<mh¿‚]cû„ô‡ˆjl‹<+XÖ!•ñ â<\„JBÈäÌÖKJ+_ëüÎÛj™yËŽ5ØÀoÂ¥gÜZ¯þ<$° ËHö½šÝXDqëÞt'm³ÛOÕ©ØQ›²úPá6a¾ÎSjØ%œi’ñm–és6²OŠHZJGˆv<Á™ý2ÂʆiÇ‹yód½¼ƶL¥)ÇR›Ÿ6cLMé,~C‰¨ÔBj‡géRáF/æ=
+BÑnÌ@0.[A£ejì Çã³qoiÚÓ‚zí’a§­o mÈ|ç,Øu„ªF2\Þ²m¾ÃœÙš˜†â!,…õ$4‚
+I *©û,n Î&™­ò¶Y]2@™ Ílx@C'ÏÎ' †h‡ÒTN' ¯u>[-딕.6{eƒR* g<·Z#®{Q†s«¢oJÃ0ìaz·yˆm—‡Àë½<„w”‡Ð°—‡Ð4íÛ<—‡1T&vñÝ€Î%b ÅOØOCt2ž†P\C>ÅZöê«ò¾Õç‹)˜|Áä‡SLn(IâÐå^Mrܣ͓Î+þÒ ˜Îík ÛÉö)/=]Úï|÷uè}´-c«Š­Xõóg_ÁQ¦TEf7Êñ(³Æ Ëo[y‚ÆþTšZ²ÄÆ|p8æÏ© 윎‡ÊT2Êr4mm¥b—…$ÎíÓ”-ðŠˆ²ö ©+JÉÎÈ¡ cÆñhfêŸð„šp›Ö uh^ЋÉ-jl›ìÏoN¿~…±þ€.\GjµÄÕÔÁAl‰XèAŒ“d¸oǶD:vôÞ2Õ°‰ ˜bQøÿ‡ï Âfa¨føÎÓšà;§åUØ0ÂU¾{Wv„A¡&Ÿôî”F¼‹aIXÏ;Ee-××ôlœ å:l;®‹\cÜe¥ÿf›å/4Í JéqK«
+­{ÏêÚÄ/¥N‚ t{¿¾¶IbNÎ9RVïÕÑY6+.X 9(A-Ýò„îxb×gèùSsÇ ëëàþæî_7wc‡ ‹öK4|®ä‘p<m«ò¯£X4w¶º‰0¿ŽbÃŽbÑä†æ€u „Ò–ð M· „Ç@4Û!Ô¬* ûìhˆ› ¢jxv¼„=ËKØ4d Ï”õÞ:&ÂNËDÆ°}vLDú-a—˜[©p†‰TÙÏI •è<)8u1>¤#óÍxPFEaäŠÉÈe¤Åô(‡`j7ΑA:(œ;B‘´a[ôÉ6=Õgj@ Áû3ƒÖÇê©€ƒ”‹a ‰²ÇãD:´Êß½AœÖ$µû+ŠÌi5qcŒî¯æ£nsµ»jk÷‘ýF 8¡%jtGN¬
+Nÿ‰K¢|ô ¬4ÖÛgªs!€:TÜfå˜=H\Æ¡ü€ ,ìßG£·Á7χæšÿþº»ß[³ˆ+©åòÉ,Vî¢DÞå"ô2²Ž*¸÷_®Hž–ÖØí==íF@—N;ë *‹7\<X®P°öúÔ»;OèìÍIß]˜QÒF4RÝ”xÿLÕ ”=‰ŒùIŠjëÔ4¥®xJB¯äJ¼"Úö>ª3^ÍQ‹.’´»c
+—ë²ÉŽeÖüÉÚ!"p,©!1Aµ¶¡ÛåÅÇ]&¶95…”^]&U;fo+ÚT¥l/Æ ‰)SÒmf? yhNÇ’Þßþtý凫õ-õèm}¨Êš>K*ßfÇV’)€I
+xQoWcër*Rsà5Ûwg
+Šo7hWš£Œ3zÓÃ
+ûÊ~’îvvÄuû®»u…»ÏŸH ûYl½·2L+£
+‚òõ/!µL`Ú!uØH€éæ.hÀŽòXf;L(<“1í[ÊËß6óõÍXÀµ¥°µ­¢ªéö7{9×
+ÌÔùUt÷é©ü­¬^Ëw_­ë8Úþ^h Iiw&l¥MƒäCŠðÜeXÏ怇ÝÜ\+Sg
+Ÿº°‡ bMöÊf÷F‚ì¼Æ&¶ÍR -Û‡ê"±âÄSœ:
+´EyNa-_‰Âv+$¹±xñtÚ#È.ƒïh~3³õ®?¥v E¼ƒw¢D“9]zfÝ`!›ßÝÒ¸‹V(ª²Áì{G
+Dñð°¯\D3RâkßjÍŸtÚ‚çt|Ï)Ì?ƒ1Tø3à=­ ðNkü”ÓüÐé8xß©` Îå xOk¼Óš?å´?t:Þw
+Ǻ—q
endobj
-1809 0 obj <<
+1811 0 obj <<
/Type /Page
-/Contents 1810 0 R
-/Resources 1808 0 R
+/Contents 1812 0 R
+/Resources 1810 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1798 0 R
->> endobj
-1811 0 obj <<
-/D [1809 0 R /XYZ 56.6929 794.5015 null]
+/Parent 1803 0 R
+/Annots [ 1815 0 R ]
>> endobj
-538 0 obj <<
-/D [1809 0 R /XYZ 56.6929 630.4083 null]
+1815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [55.6967 706.497 116.59 718.5566]
+/Subtype /Link
+/A << /S /GoTo /D (view_statement_grammar) >>
>> endobj
-1812 0 obj <<
-/D [1809 0 R /XYZ 56.6929 602.8709 null]
+1813 0 obj <<
+/D [1811 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1808 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F14 964 0 R >>
-/ProcSet [ /PDF /Text ]
+534 0 obj <<
+/D [1811 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-1815 0 obj <<
-/Length 2674
-/Filter /FlateDecode
->>
-stream
-xÚ½]sÛ6òÝ¿BÓ—R3B Þ=9±s§ur²;÷Ðô– ˜3©ˆ”]÷×ß. A‰¢’ËÌMçNËÅûý„Ã'!üÇ'J²Pdñ$Íb&C.'‹ÍE8ùk.¸¥™9¢™OõîáâíH'Ë’(™<¬¼³ •â“‡åÁû]~z¸žOg‘ ƒ„Mg2 ƒw·wW„ÉèçýÇ»›Û¿Ï/§i<Ü~¼#ôüúæz~}÷þz:ãJrØÙNl¸¹ýõš óËß~»œOÿ|øåâú¡ÕÅ×—‡ùzñÇŸád jÿr2‘)9yñ,‹&›‹X
-&c!f}qñïö@oÕl²_K31S œ1ne™±DD¢µ2=+g
-v{7»¼ºš³Ëù§i—'ís°SrÆ
-»âTç;û‘Š¿%^8†Þú-"ym¡—¢y"h“—¯}݃ØN˜Gm4 Š¥ö9ÈS:åj—×Ínª‚ý¢Ù·–rÈK;4}_PæmqEI¿ptíöl§<ȺÆøJEp_ž$ö7­À:n{n¡:_ìL/Š|= Ä‹öå+µ^×À3ª¾rÔ£=ÚPYêíºzuQi²#âS^–&¡úa…}µqUåvKþ’[œ—Óü]§ÌKVvªDÆÔ—(VßôòÁ#–e2~ù
-€,¢ç…sש
-všœ3 ¶ùN— aáš1-ÏÓŠy¬
-VS@Qèd]œ¨àï©©ÝÚ’µ ¨L&žF˜Öi1_¯ p¥ˆÜ~ZØ—K½#ð(Ì)ZI•ô÷*Ê À앾úZ !r7­"ÊU
-r
-±/ÖÍÌ$ÕzOâšHct2à¥hÍUöíRo,T¹›ÄP…( J‡0}À”CÔ¯ë>ýRë­3tQv'`§u+ŸïÎq–²D$bâ‡ÒE'F›Ì’l2ë9,wÌ yU\˜.6âB 7ì0èK…UŸ§Lå½Lògç–
-oˆ J†G{3Å¡×öÏ=nÜÕ
-Ÿê´S´TS,ª²ÁnàÈ+2EçØ·Tü{^!Á±ÃCZ¯ÀD^ ÇIdÐÖl€¶fSq뻄e³b|à¸dÜ¢[êÜ©µRÝä s‹2çàþQsð¸ÅçÂÿïs! ìžz½kÝÀ£qGÕ¹Ñy†Y{­|!M`¸ŽãqZª!z¾ 8SJ¦})®ËnsSToF˵ÜE¹k$Ô‹w¯®Ý\åûuÓYßâs¿-$=GŒFLI‘œ1¶G5blGubÒ;2¶dQ ujT†–j@ˆ¾±CPžõ¥¸j +p&XÏÅroš øng|ÞÙ7ŒÉ¾€óìkž J{Œ÷zÀÛIÜì®ANð0£ÀOŸ4ŽÃ†Gjœf)ˆ›Ê¬ß?õßàú6 @±m§÷b£©Ã?¸îQHÄŒ Aý1þÕ”'Œ«éŒ‡0d_.—>+äÖ¿îõ¢!ñ/±ùâ çºã!z ˜„{7 ªˆ%Ωíq"Ž¡ÆÙãpqÇ™ :Áβ®ˆd¾ ª+ÀÈ)aûöÜl%‚š•¦™%³ç›‘*‰KQ6zgŲ’ЂRUl¶4_=[UGaïmUÖv :±åÑ™}ã1 Cèä{ &Ï…¦¦Ù<Ò¨öÝ€ÉÐ;2ü‡2$¬¡íÀ=ÚÛPag>ܱ°·aV²&І³mt=ôã*Gè´FdnÏìÌbØ=U»f¶Ø7C}¼éD£ÔÖ
-leó”I:³ÂÒFãh^ÔÛ…)Äö¦½WGûâæýË›pémÔ«ˆ¥{M#'ZçÍáS@Û.]ÝÝ»W:'P;ÂÛ€}i,Ü!æµ—šL?Ešy‘绎€[^VæÕÐôôƒëOøøE0ù}šú=:œjî¿?‡2Ô-ô¶9Ø:Ÿ×º±LlÃa߸„ Ü~b`ìù•hsˆÉ¹èešÐz]½€Ü,¤Á㾡›VBWì‹ìaH#†BÚE,>ëb„})éM(/›õë”sØÇÛ[Ë«°À0ä6Åb¿Îw@wâµEH†ÿîc  …í³Æÿ”îõ$† D©_aÂT”¥N(ó§5~(¹ŠI¥¢ÿ=µ—áendstream
-endobj
1814 0 obj <<
-/Type /Page
-/Contents 1815 0 R
-/Resources 1813 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1798 0 R
+/D [1811 0 R /XYZ 56.6929 752.2918 null]
>> endobj
-1816 0 obj <<
-/D [1814 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-542 0 obj <<
-/D [1814 0 R /XYZ 85.0394 172.192 null]
+538 0 obj <<
+/D [1811 0 R /XYZ 56.6929 436.1631 null]
>> endobj
-1281 0 obj <<
-/D [1814 0 R /XYZ 85.0394 146.9642 null]
+1816 0 obj <<
+/D [1811 0 R /XYZ 56.6929 408.2731 null]
>> endobj
-1813 0 obj <<
-/Font << /F37 1026 0 R /F14 964 0 R /F22 961 0 R /F41 1218 0 R /F62 1361 0 R /F21 938 0 R >>
-/XObject << /Im2 1350 0 R >>
+1810 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F14 968 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1819 0 obj <<
-/Length 3877
+1820 0 obj <<
+/Length 2260
/Filter /FlateDecode
>>
stream
-xÚ­ZKsÛF¾ëWè¶T•8‹y¨œGN”²¬¬lI IXƒ
-k“0¤€KÑ©øƒæóz ‡_ä <ƒ–“¦ þ¤0r¾YÓ`Ï$h
-©ð{d#Öª˜ˆ…_Š;üÚY“óHåÏÙ.´ÌÃ.°¼¼.¾},
-'ïÂ’÷uYÖÛn½‚WË×n–Ë,øÀàëU¼ BÂ]f­ÇHì˜óW`®#©ã¿g®ÅQ-ÁXKwn#YmêN„½4hÚEQ¯‰z»Q£8§¿»Tl+#_Þ¾5²ÿ
-él
-@Nòg¦lÈÏlbsF?{:UHœBëÔ¬XyÛµ§"ßzscø€²¿e¶Z•ñ\ek€
-žÇ S \o—9‘îý˜Ù‰EªÕ
-T#b .KDV@…«áIì¿–€)ç
-ŽiåA¸™Í‘^oŒO¡Eši8jÀ†=:Â'Tý+C2yW|Ê·E“_Òœâpn0^Pd %­aTÆ+îUd¿ðá0¬ƒ :Aø‘áÌ “b”°Ú™dRT—>ëñŒ"$.D Ž0üî,Çœb‡Þü9÷w¦/ò©{ìÙýhfü˜ ˆr1¯—ì+3 ÆD;põ1 ­cçTCöüó‚æ©î9írDצaÈ û¹ÝnŸ
--erò¨xaÔ×”önÅWŽj
-¦-cÄGÑD"ÒøÂÐw˜KÊbÞoÊo‚Ý“…Ø
-¢M Û¨(‰¿\׊Óþ’#ÊŒI$„CÝ0‡‹ñç åSͦ(²•l‹‡Šo‹ð=‘Œ„uæÀ-xh—ø4þ|B-KPJÿ¥V<ë†aæYÂQ |Άc _.™¿èë t½E‡ëOíµ(š9ƒ °¢?ÊAe–Ÿ€ô]UxªƒW¾×·øÆßbbûêæ¿’©Oz¦c—Gy¿Þƒå¼,à\'^ ý¡Ü€)Ô@ÊVÑA3~)a†À¤åùàI)åRœœšÁþ¬m³ù§æ’$Ü ¢_z{õó²ª?xÿ¢¤ÝèÃOÊI0yŒåòì¾ɨÞEYÐÄÐ9JzŸˆ´íæL?…ï<0G—Qú
-”î1¿¡Ù¯wó3×ûI1ÿM 
-mšLvõfM¥zèÈÛm½þÄ­Ý&c±{
+xÚ½Z]oÛ8}ϯæed fù!JäîSÚ8]vÒnêyšÎƒjË
+v™üTAY@}ï@aí#”HzsX9âd3}rI‰B¤#Ôˆv
+‹cEêû´Ãò1-}½rÁIFiH9B(÷¨°ò1V¤¼O;¬Ó28ï^­ÁU)ÍT@;Bh÷¨°ö1V¤½O;¬Ór ¦T¿Z¿Ô)IDÐQçõ·¨ þQÖNÿ í þ#ZNèE«^fŠj@?Bè÷¨°þ1V¤¿O;¬Ó¾O$lùp·µ)XgFÀ„±À£ÂŒ±" ú´Ã`ZÆ$§âõ$6B¦jÄ
+;0ÆŠèÓ;€i¹„ûúïÕ>ÀµQSò¡F|ð¨°c¬È‡>í°˜–’Ÿû7ÿ”†=ƒ»f–êÀ9FxæQaÏÆX‘g}ÚaÏ0-û?x–À5iÀ3Œ:ïY‹
+z6ÊÚyvB;èÙ­"ïÈ9xøë<€CZR0îBxàQaÆX‘}Úa0í ¹5z_§N(‘QÐŽP#Ú=*¬}ŒiïÓkÇ´ŠÌ.Q/<f!õ5¢Þ£ÂêÇX‘ú>í°zL«/SÏ$<œ&·+5¢Þ£ÂêÇX‘ú>í°zL{}‘zwU±€zŒ:¯¾EÕ²vêOhÕѾ;«>šrè—¦)0Àƒ¸3{Ü^&SÎdüw]{&q¾›0¶|_ù×û–,äðà
+~”ų6Åbã:¨V¶¬®6®û|»µ!´­»¦{‡[Ûªå&ß»¢ù±ÁM¹7ü+‹(F,Û¥$2¢¥´ž¸!—ÕC±+MO"×M›úÑVÖÛCYW{[U®m!¨l­€âΨ«j[¸ê†¥~xPᇥûm±,¿PÊ=wc£%°ÎFálé‚ÊxaæÏñÔ?ŠÝ®\õ4Úi´ÝHŠTÀ—M¹?¸âµýDc…oÍ
+/Í„4µ+[àså™»¬£Ù?ÔO‡É7“¯^,íCþÑÙ
+èsï
+|þx®£ñ $:­i'dbÇ`‚§})•rÏ+[²ÝåËC¹,ì·ÃCéšÀ:-òûbVªù¬Ì„›àkƒwyk
+–ùÞEÏåáÁFyõb£ïO0l?˜¯E£À"Vfç4•Õz—ﻉŠŸ–‡§vÂ2ûÒΘe¿Ø¼‚ Ê WVVöºÞû6Û ‹óe±7ë+ñçÚ–ÛãFkpÇ7Ï]´Ï—»f/Ë|30ˆç¯*ŠU“¦zhÕ~uKeUl7õ‹_•ÍîhâC^U͆Š—•qôÅ­«:wMòçÜ•¡= ·:g#T9äÜÉyFÊõ«~ócœh-“áßü@½Dfö<î˶£Ð— }‹ã®º³™%‚(~üB¢M 8œ)ɘbœæ½»}>¸C;†LaïiŽS"‡‘7ˆ°Vì¾°bâYßè3a04–Áæ"ì—Ñ÷ž6­…¡¸ÑÚyм?òè¦Eå;žâžQéÑÉ3B'L)8ú©}Ͳhæ:Sñ®°É©ãm¾+ªƒ-…i6ÛRücÂᲫâõŠìÒÑÝ:Qñß“æì.¬ÝÁ
+v·ã\µ7ÁÒÝ>Ñ÷M{U½ƒÉôÿ«k`õ™È-ˆü ÷—Õéåæ;ËÏR6žt>%<¨Ëˆe]ÌUà$%4á<ÀÝ‚NÉB&„Ó{›f÷±ù`¶?œ¦ØÅÎ0•´ ab¿U¹ý0é%„©j¢«êÂTÚK•êž¹ ô ‘À£˜OH|žŠäxË»,!¾pXØæ—%€Œ—ÄüÐÀÐö2ðÓ²„Þ†dD˜‡ŠÁÙ4…]Tg~PÍ )Ö¹ŠHų¡ÿÇô»endstream
endobj
-1818 0 obj <<
+1819 0 obj <<
/Type /Page
-/Contents 1819 0 R
-/Resources 1817 0 R
+/Contents 1820 0 R
+/Resources 1818 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1798 0 R
->> endobj
-1820 0 obj <<
-/D [1818 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-546 0 obj <<
-/D [1818 0 R /XYZ 56.6929 364.9053 null]
+/Parent 1803 0 R
>> endobj
1821 0 obj <<
-/D [1818 0 R /XYZ 56.6929 335.1548 null]
+/D [1819 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1817 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1818 0 obj <<
+/Font << /F37 1030 0 R /F14 968 0 R /F22 965 0 R /F41 1223 0 R /F62 1369 0 R /F21 942 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1824 0 obj <<
-/Length 3482
+/Length 3612
/Filter /FlateDecode
>>
stream
-xÚ¥Ûrã¶õÝ_áÉKè™M¼f›vì];uÚõn¼î´“¤IS¤"RÖ:þ{Ï $ÑM¦M&!p
-†WÜÞýõ†Gß=\}øpõpñÏÇïÏn^\~U ‘‘_Î~úgp>¶¿? |gñù&¯ò<<_E±öãHk ©Ï>Ÿý0 tVéè˜übùq¦# Ã1ƹŸèP“
-ü­) óvÃŽ±bÖ Ïf¦‰u<)¦í¶ç!›ÂȤ:Ÿt6Q©Ÿ*ó#g„ú–Pë4\¬ÖµAB¯š3,‡ím-œ<Ÿµ«¢jxÜ+T8ÃH0ù``8•cÍlÀ(7:V‹Hs„ÝÛÎt .䎻OÏ‚‰}Êüá—1cT dž\†Ñ–sò«KR·6e59’ؼÝ;'L7™·­M÷ «(:¶%G3Ó¼LŠ¦Û™Í¤˜Í6èÀCÞ¿øãö–AÿæùRšu?™oÚÕÁ‰¯Q~e¼cúàöº*Žï~Ó‘á^ Ñ0åp7_løKa€TÆj#ÎjÓwçÏÎLy0å(¸ëìÖJб-ÐaŽK8 á­Œ¶ëCRØ Ò&“èäþV¨Fëh„Tã[!”í
-×ÞŒIòÈyd8úµxÙûûÏb>fólÄ+w2­Á !ývÓÜ­Û¦ìuõd¬íU¿Ç¾,9.>+òêоԸZ]d¨
-˜Æq쪺æÑT Õ¢‘ˆ;ó‡ 9~D5‡© (áá0ñ–òðR-ÑÔÝvà¸í¼ã54tüü©Í¢ê+ˆu¢&œ#Cð`0FÛÞívy¸7ù}0FÔŒ… ¹DÁcIÊÍ݈PiâFÔ“rQ(ýMƒ\êÇm=ü¶Ž?ÔV»0"íÂk•uO”‡¡×±¡ã‚èIcÖc¡jJr<ú ñê½õZ\L£Ë«c?Lu& ÞM
-}Ò´½«u®ùp¡h܈É㶱hŒ9²¶a“ªB­ ”ËÞyQöƒ›·ÒqHXf¹c'¢)ž¶E’%‡EÃÞBÊ­\W\"2\rÅ‹óU±^sœ‰eÍÖÑ8B|ÖYñ¸ïî¯d$´Þ`«&„Ù«coÎŒ¬„¥P@Ãõu W ¢9Ÿ+ÈA:òîú1ælµ“d`êýV–äì
-žD<±Ý¬ÛŽªÄT{ݶ\
-þŽÉyúfº],@W¨ã$ö®:AÈú”xeWAã)·Ÿ² SdÉJ t$ûô¼ƒ}VˆèœãLɦ`Í
-ú¤g@‚UD¹½
-„~%1…¤Ø•‹{¦|¹†Q%‚e¥‡Þ¶©ùI`Ü¢¡i <Ã4(è»­ v/‹g5r­ÀRd»­JkqTòÀ¥{dÃã⽨mf’yo;ÆÍÐdÚä¨~4ß¾Û3kKÛ?()<Á²ŠM_•[°o’/@z: ©œŒ­`°+(žÄ"tøn;AdÓ8f-îc!Z¹™ÊÈ>=p¬ÂÊ,ø÷2£\aðèFkÆcLQä¨&íô¹j·× § ”Þ ûÒF„é·‘GŽaˆožÁJÉ~->¾ÊθúˆHƒ€UjÈI10Òîˆ÷v-U{qnë>±ls›õb[øä.ï(&x·ÕÞ™aƒ<Íä¶Ì:¤ŽÀXõÁpÌ*/?¬(ˆÈă<ñ¨¥e*æ9jÙ–ô=*Pñ ‚R2¢søv«à4Ö”ßÝÀ§PÉKÊm#Pì÷>ýÈM=›Ý07Z³CEœˆô¹g€{âgYogÔ†üì‰_N¤ƒàƺZUTÑãúʔЄUÝŠ§TÅÁžU;£‡„q·Çéx9É~­Ünº
-£ÍôËÖt}7*h°Ÿç´óÒªÂT5 31#|KR°f¸o5éÖÅŠWØHðᤆUWp˜UÕþÞB\g¥ç’Ê
-éÀFl~ïØ:ÆÆË!b
-`×ÖÏÆ¢jù6n„è…DÙ«_MéçÏD2
-á7‰Wߣ(=Íš+@¬£HWqpòÊî¾ÌïnVRqà —jÊ¿çê×WŸná¢ÿ–ñ¢ÎŒMŠ¡DyféÌŽéDCÉR®Óœ34lÚgÊWg°b±3—»§rî8Ëgdhz7Æ…%ò
-þ»¬ÇÈ­å5W÷ŸÿŽcù½„â0sЃ‚<4Ôô>kC†Ð#
-¾FA/µhèGÀ’=„øáà+3¤¡’Ôzì/|à?‘Íÿý÷Dû?¶ŠR_gY8þ§B:Hü,ÌSKê$ÓÇ”xtJú
+xÚ­ËrãFîî¯ðm媨·ß$ÎÄ“8•™d=Nåä@K´Í]ŠTDÊåë4Ð|È”=©ì¸jØ~¡ñZê\Ÿ:w^øLgçIf…“ʯ6gòüƾ=S<g'-dz¾¾=û÷{“œg"óÚŸßÞöJ…LSu~»þuá…°ƒ\¼ûñãûëo¾¹¼HìâöúÇKíäâýõWÔúöæòDz‹¥JZ¼ûîò§Û«ò¼Ç×׿!HFŸ›Þ\½¿º¹úøîêâ÷ÛïÏ®nû»Œï«¤Á‹üqöëïò| ×þþL
+“¥îü:R¨,Óç›3ëŒpÖ˜©Î>ý§ßp4–ÎÑϺT8m=PÒ©™§²‰R0)±JØ$Õ=•µš£rœ…T.6Ûî°ü³©‹vYÔù]U_\YÀÁ%£us8ô³fÐ#$ÞÚ
+±ã,¼&_i9ý%±½H3«^Ç¡Ÿ5ƒÄ”ØJ¤‰³S,¾é kÔ¢¬×åS¹Þçõ#}¡ÙÓWZ¢/ÀFô5nQã | /N¢Öa­YÜ>–-èE³í.àȦ¦î*¯iÁ] ÜF
+8!@7sŽì@»-VåoRêbMìÛ
+ìøŠýߤ“ÅçU±íŽ–ÞÜ´ELJ¢¬‹!ÀÊ€Ë;âݱ MäÊô6$Ø\”²‚ÀwEÕ<* $‹»}GlVTGˆÖæX¥B*5·¨au°¼°cW.”R‹`ÓÝâšÏ"Ë!ßuåj_å;˜7¹q§¸Çïñ&™Ô.žYñ]”#€eÈW]K€¼eHÍý}:ZvyÜÇ äh8Æþ$•ZR¨
+Ìh[”Ì‹,§è¥vG±Lï`(ÔeCš!í8)ë `àøiûÉ°uÞå³Âù#nÄð©lö-u0p[?²çqxŽHÊH‘Ym¾À i#õØ Á–¬‰Ð*ùK¼úc_²Y"èf|%¶š!ºDý¾‡Má‘oƒ^ÀlÍ—ëi±TÞ• ÌÑÄí[Œž ˆ(ÑB{&®q/| MµÓ÷nÅE· àZôÞ³kÄш?Á¡´{ˆ¸I(=ùÍ0)\>ìÑ_>,
+šèY y_èoÊšôÓŽü? ÑN}Dâ(b"Ø4`
+QŸÛÇ/ÓÉEì88ùåÂÉï—sŽ»Ùw³*’Ĥ7Õz¹ÄçÊGÿ·:¬ªr5·–uLÌìÆ‚ÌÈÀ÷(fBPla‚ÆÄáËqØ‹ƒ¼ÓsQUS­W²ÏCÂ`0QØà(ëÐïÉy^ªDš©£=ÄMHzmß5ÏFcŠ„”Àù¶± ¹± ÁFšŸƒõwQ0`Ê‘4¸>p <VîÚnسàìÐqäs¢€ˆ•mt"9+-=æÙ8G!£T'F:3‹6ß:Â9³1 Í,™Pøþ/d Ø
+ÒûïW«¢9p\6v;-L°ª¸¬«¢mùÐû >¶7ÇqôÍ(o·ƒ%Ëf‡’øRf-XÛeXVѠ‡ò7*¡G¡câ ˆ}öÕš w¼Š, ‹1fñ8„ÄðNQúŠ‹˜“Ø ´J¢8O¥ ûƒ:à¬Ã–å8Þe"ÇèW« ò€~[˜ÈC ÞR/§O»ÉI£’E½ßÜ‘ñ¥%&ô<DÖª„…/åaï¼-x&Šò— ­Šx
+gãÍŸKˆf$Ï:ŠU+Æ0“Ä=Æ0Ty[=Ά“·qËû¦‚¬´ß/–rŽk÷›M}`ô‹Í6&^'Ê3Ž̵T&ù{æúd½×`A0Qo×dzN×{ûY³qΤԫ¥
+ˆ˜ë‡eÈ@àV/øíÁ—~~ÒK<&N´0&uDˆ¾:*"º¯~ê˜Âl¨„³ºœ†Œ #ïÊàk4Xß;0k Â&WNáûÃÍÏ´x4'¯0lxÜPz²Ì¤€ ê(\@˜e´H¥–6ç©ú‚ûZ¤ZÅ•àSö]x¸Ð;( ž`:ðA@è%õ§k®ïi”t $’E[ÂЇp¿lÖá…YWÎ1M†B95ÂÌ ´z«Õ>ø¹ÓÒ
+™´Ú½!®£Y¯Èkœu"O˜Ú¥L$ W¯#ÐÏšÁ`ÂcE"³#(lfTð‚N¾iö¡bmr¥fÈ–¡M>¤òБÛ4TMƒï¾å 9B61B6½6
+céñÖ¬Š](|Ï%[‡m„Ä“‚%IT°„B}ü’($Éð‚–øqþŸf‹OñŘz|¶ƒ†ÆÄÇ‚V,=þ—êIxÓ‹ªD0‚¿dœø°Kø‡‘7­ˆUiŠ¥yUy„,ŒÓÄÙ,I¼¦èIêÅõOO–ZáD‚xjð ¤èAâeÔ/h<€¨gœ–NÇ`
+wÛy
+«Œ €—§ Á×ýì”
endobj
1823 0 obj <<
/Type /Page
/Contents 1824 0 R
/Resources 1822 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1798 0 R
-/Annots [ 1826 0 R ]
->> endobj
-1826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [91.7919 734.3362 93.7844 743.9759]
-/Subtype/Link/A<</Type/Action/S/URI/URI()>>
+/Parent 1803 0 R
>> endobj
1825 0 obj <<
-/D [1823 0 R /XYZ 85.0394 794.5015 null]
+/D [1823 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-550 0 obj <<
-/D [1823 0 R /XYZ 85.0394 317.2431 null]
+542 0 obj <<
+/D [1823 0 R /XYZ 56.6929 680.9 null]
>> endobj
-1827 0 obj <<
-/D [1823 0 R /XYZ 85.0394 291.7515 null]
+1286 0 obj <<
+/D [1823 0 R /XYZ 56.6929 655.7929 null]
+>> endobj
+546 0 obj <<
+/D [1823 0 R /XYZ 56.6929 180.3132 null]
+>> endobj
+1826 0 obj <<
+/D [1823 0 R /XYZ 56.6929 152.5561 null]
>> endobj
1822 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F11 1451 0 R /F41 1218 0 R /F21 938 0 R /F14 964 0 R /F48 1238 0 R >>
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1830 0 obj <<
-/Length 3778
+1829 0 obj <<
+/Length 3324
/Filter /FlateDecode
>>
stream
-xÚ¥Ùrã6òÝ_áG95BH‚gªöAc{&ÞÊxÛYom&´DI¬¡DE¤|Ì×o_ AŠ’jkí² 6h /t7èž;ðëž¡
-/9_ŽœOWgÎùú>Ÿ¹‚36HcëããÙÏŸttž¨$ôÂóǹ5W¬œ8vÏgŽBå© ˜Á]~½ýtóùûÉEäo¾Þ^Œ½À}ºùíš[Ÿï'_¾Lî/Æn¸£Ë_'w×÷ÜÊon¯’ðãÀ¤÷ן®ï¯o/¯/þzüçÙõc³{¿®£q#Ÿýù—s>ƒmÿóÌQ:‰ƒóWxq”›$ÞùêÌ´
-|­ ¤8{8û½™ÐꥡƒüsåéÐ` ç 10HT¨=M ¬—î)ÝܽøÜJg³í…²ª€<ó5>ãÑÍíxruuáŽÔäþî"ñF%=w/áÞ$™™†ü’­§å,›Ù?æåv•ÖÜ®òU^ÀHz©Kyò¢ãQU§ëÏ;CY
-–Ó׶Ó÷äTÑ£j÷<+Wi¾®ši÷UVÇ®Š]8³XÑË®+6 ºã½³q^J\Ïd"o>Ss¦Àá~÷n€„¹h 2ê€ZÜÜ¡jëF'<×Û× DÀ~3¦JB[ŠMc ž|& øáÖý}•Õ2€”-Z/éð4]3ˆÔËlú=“9ÓŽtPÆ“™ÝA»·»¾9Z"wl‘ƒYæßL 0Óæ!8­KÄYÖUç€zD¾Š|'ê¨Çà1ìG*öDéØ÷<„®oDR'mHûº1>ß—­WôÒÜIG±oq_ WiLŠBA³ð8Ò!„5%ƒêWiÅòª4ÜChãg ½ïg|.Ùl
-A¬eÊ”{*p™Å #°7ƒBÔîèc6Mw•ÄhW·Ø;ˆ̱VAãYç¼Z™pnjVK‘a¿K—„w«’shb?Y-µ[‹z»'•ôÆ D¶Öâ‘T‚•o½§Æu¸–~ÄŽJàëÇÕÍÃäão×WŠ*ôL4gÔX¼ÁSgº,!c¹ëè}ÇbÛÆý4Îi^Eù*ìDEìȶ¿ÊD‚0P~©ÈáÌËÆ¢Äl¡ÝjäB¾Zsá–¿9nÔ'Á|.åG‰¤}¢þ‚@]¢“Ui¶Ž
-ŸOSŽ>àýÁìA[4xÈ©‹_ä ²t[åp¼­‘Ø×mýÛ:Un0U™ïC å{Ñ æ[XG˜o°N2ÿÑ–ù}¢ÃÌ·‰Þ1æÆ‚~oOsˆ·nÞ;GH ìxÿáC¥+‰T΂Æ9°D±B8ø8Û-¬#l7X'Ù~ŒhËö>Ña¶ÛDÎCŽØÑyxoÙ / 3“°ÏL<tœØÄÉ,@̉—Ù©¡‘ŒZÃÛ²ÇÙ,«€hà”© Ù,2c[H’›ŸD°Ï?.7ë°Ü¬Sr;J´‘ÛÑA¹uˆZ¾Êè{¹ý,àC'¹™·çV6„Î0Jøºh“-îÛ™ÒA¯åG±J|?9! ëˆ ÖI1#ÚŠ¡OtX 6Q#†&õŸvóvaYdX 
-uÔNáçÙ¿s^)%…Ždìñ$\¬Llù)âŽ,qï­†abhXNh Mf>iYF¥¬œBÂ[ÏW‰†ÝèöIJ¦š ÞP9…‘a
-ÿëhßèx$µm_Q x“Ms,”c1M8'-N :©oÚ„ž s†¦ëwÔïòò8tÎ N»÷qgS"ÑƇØ Ù•öq¦‡ëKźx-#±C4 Z)?6è¡ŒYù{”FšgF´…BQV-
- ¯ì
-ƃˆÁU7˜§^2²Pùž¯Mda&6ªÆÃH{è§öfr8Û ~G®´/ÎÙ­RQØäÂ:2%d?ªµ£S~S´oBw×µZôÞ¤m=Œ/ uÞ æ[n–¯ëLšä¨õÚªŽ,Y›J¬©8¾PÊM~°ºÛ `¬Bã,Ÿ‚ƒ7Ÿß›¹‰¼ÑTFÍ^ì«ØñNDÍ6ÖᨹÁ:5%ÚDÍ{D£æщUÓçæ+–¥¸B_3»dAÐE!`à&Kù»,¥[Êô4‹pŠ«dÚ ÙÅ¢_Ϭ)ö‹r^èª<¾œ5·ÿ¾úúers;p¾„pºønl—åÞ/\×É•Æë2§<Zd  ðJ.Z½@E¡ïõ#ÉØ É=%:¬¯<ØÚ …°°Ž(„Á:©Lj¶
-Ñ':¬6QT'lšF!œ «NÈ
-á˜âæÅlš6çv•›q‘½dÏÐèt¡Žü¤ÌÝa_Iœà€’hO+_7–·_¯&x}ûHw¸Ã7^èøêâ¢*¬‘⊇ªçXð6eÜ#N¦©}áªð[ü7éV&·—_ÿ¸}ü‡{X¥`‹A(ØXGTÊ`T©cD[•êV)›èOUר”£RµU
-ß)ú©ˆ¯]…B ­åT ñÖˆ®_Nç<RÙ[ºÚ™šRXsBÐ#½rÄAkŸ‚ãhH¶C'Ÿ€¿¨a°¾ïüNÚ+^)¹Ô¬qN‰ î==öI¯3mÜÜ9LN¼
-ðÄ«2{–NF[Ç6`ìªlD·98$à3î6ôCªæÊ&5G.IÈ绺Êgýòº]Æ¢àcï„žOj®C€ãó]an5¶¦XµXäëÅApA‘œøŽÌÆ:l
-†*„ÄO®ÛhN±!•ŸS7x–/Ù–üÛl–I—©7 
- Ã!lD77좒ûš«]ù¡`M S8òÉ+ ¥áƒ~¬0º(ìÕ¶½ º}’Q täc1wwã  £Ä&ç·H×ùS%èŽë¡Ø4÷íÌ1
-âGÿïïÕíûA¥ãø@ŠéE10‰,
-™ï[ù°}éÿp_ endstream
+xÚ­ksÛ¸ñ»…ç¾=c1|KãKìÔ׋“:n§sI¨)R'R–ÝNÿ{÷Š”¨ä:wãI
+œÍ…Ÿ:z‘S;+uÓ0¼žc:íR3à'Ï ÊVoxÔè¶5Õ„z©ó½yÔ;ÓèKÞc÷æ¥Éo•¯h^• ÆítV¯rSõÏ,ŽÐ)ê ÓÚ¬ëjgãM€8&¾ïfJÄۿ늈ˆ#Ú+@"~O"Qàª0Ž`.Ÿéêe’WÍNê Ñ©Ù×—$ˆäʾž,bßÙ™²Ä0W· Ê×ëòå5ög^oxV?ç«uiéÓOºâÅ$.˜ÿ)"Zsá;¥v‹z…ž#aÁÚf­ ƒÇÓýÁb?fs⇉ |Cñüün„±ð{É+¢Áv ¼$7K¼ˆVîv;WøD@?b×ÝÕûkî>??Ÿí Qò­·ÛME<ÃSœ¾p›WÜv‚H &½y¢[‚¾Ünײ]‚ÛiªèÔ[ÒCµW£óAâ¦qhÕ!ŸÍ6øpLƒ¯”FÑyœ¤nê{ñ¯± ›¥i:n&ᤑ^ý€8_¥néþ`$r•·ÅòˆÄW
+¼ÄPºÈüIé*«ÌÕl„Q?sCßOO3š†.
+â÷cT~‰Ñ4v“øP××=7Ï#¬‚ß q‘°Ê¦…žÿ$Š<p–ÑÐ`®t^«™oË×Ö䌩AN8ˬ<ê—£wÔùqÚÇnŠªü›ß™Å8é£yg©ï‚Aö'ÓÎÆô?r£HÙ;>¶—)uÕ–b|Í¢ªY~b@Apèftànᵆ©n›½o4CVðó… ÐÏí—ýK¨ d¶•%m-íR
+½Œ4 Æ6zDG™eUÀU-„UBŠºjù2ʉ
+žðÞ ¾Û2F J7<ŠÂ‡¦ÎK½Ýp¯ÞY:t»«7µôVCÎ8¯±1²ŠlŒ ÚcÑ#”Ñ#”Ð#ˆYÆ <
+U?¿\ø¾—À»Ì˲ޑ
+ž¼ÒÀS{õ é;´ Ýò:ŒÓ(-éM0‡$lª¼dhUÏ%Å^'4€”uÑ-³·B—¹œC¨¾n>Lú¹•ØaŒM8 ¢ŸyB&>,ÕÀÝs"¸
+ çéº98vP÷AÀi[œ²Lãø¢GñýÁ¥|ÀkQèÇÃnì,Áæá¡¡˜Óþ²a,‹QÏžCEÇ6ç¦Ô Óˆlí™MØÇÑ €;}„>êön·»È‚½Êï­1¢&k,ÈíÈ Jj(ÃÏêGUi¡ô‹
+߯¢õãº|¹tfÐâC\+· =º]h{Eà €ÌŽ'äžBt{,ÔÐÆ£Ðû‚xýöZ\Çš0Pntų¾8fHÅn„õY[êd(¨ZAÚy\Ì0Us“Ð âÐ=…£j|W·1¢@0Êz…kÔ™v»[ç 'l ’M÷ëÊ¢Ñ}Ë µ5›†¾'eÆÌ™çEÛ=SÝuz$,;µÜñ#¢!î¶QÒ°"ʯ….g4t¥ ,<e\ ‡¼8^åë5Û%s6Æâ³/Q²?XGÌ3¤„S \Ð¥gIÔ­œ93²B–Bgž0¿® e¤ˆhÎí“Ѭ€h¤#ç¶cΆ;1älE»• ‹3~
+C.>È™pŸ§bÐKö"ÁÔ™œ«7ô8®%á&úÐÏÇ;T M.÷–R@ÅT5D“a}ʸlµmñzÇnLùÂéà‘[i¹P5ÂÙ”Ä:…„? ™‚²7;c×Hìß_ͤ#ˆÓ•„ã*˜)¹dµÐ mL˪©œe½ÓO½{åÞ! È_¸3ô3pÏ€£ˆb‹ŸZ†óz}öäpr$°¢Ó˜±RÆžEQô\Þb ~†^E(¥*JUôu~ÕÚÀ8qìÊãGKuy~K5·K]®¹× GÝ+­dØ`¢ŒÂ
+0ÎÑP5:žaðD….ì5Û>¼[½ÌŸTÉq6KíÚVã(äI‚ž²ŠŸâð0xÏKë™dÜÚ”qÓe™Öõ®~Ôß¾Ù3©€µ¥Í| <A³òMkŠ-è7—š±j÷Èõ(ùVª¬ ³ËÉž(:´ÛFY7î˧î Ñ~ßSiY·/·ùŽ$fÁß«”|u„Æ£1EQï*aPOŸL½m8f8v —ü9kJEŒÝo%+R„&¾Â-é¯ÅÇGÙGVW6öˆz.Ûy½MÍÕǬ«Cf"ÛÌz=eŸ¬Ï;Š)Œ³Ì°@j3™Í³ƒ ©a Vc!>è¶Ùˈž¸“'nµ´LE=G5Û’>¢£*bW¥Ë#âÃdÖÄß÷ƒtàc ¸¤–òC] ¾û?pVG?<Ñ»iå;ÂqÐÄøÑ2¥ó8k@'“qÁy¹iq¹xB³2ümÝ”. å2`îš•ø¾Z¼h=£R¸Aîô“Á*Åt;÷ËV7­=T­^€¼yȘQ·}Ð)SÚByk&£Ú´ÎW\/–ûœi Æ¿ô’ƪ“¨˜ [ažJå™cÛª"QEEuŸ®ZÍýL"€£•• >1ËöîþùöÃû«Û;¼›ËªÏÕC
endobj
-1829 0 obj <<
+1828 0 obj <<
/Type /Page
-/Contents 1830 0 R
-/Resources 1828 0 R
+/Contents 1829 0 R
+/Resources 1827 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1832 0 R
+/Parent 1803 0 R
+/Annots [ 1831 0 R ]
>> endobj
1831 0 obj <<
-/D [1829 0 R /XYZ 56.6929 794.5015 null]
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [91.7919 555.7978 93.7844 565.4375]
+/Subtype/Link/A<</Type/Action/S/URI/URI()>>
>> endobj
-1828 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F48 1238 0 R /F21 938 0 R /F14 964 0 R >>
+1830 0 obj <<
+/D [1828 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+550 0 obj <<
+/D [1828 0 R /XYZ 85.0394 131.8581 null]
+>> endobj
+1832 0 obj <<
+/D [1828 0 R /XYZ 85.0394 105.5518 null]
+>> endobj
+1827 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F11 1343 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1835 0 obj <<
-/Length 1873
+/Length 3824
/Filter /FlateDecode
>>
stream
-xÚ¥X[sÚ8~çW0;û@vjU’ïíËÒ„´é&:³³i¦ã`ž‚íÚ¦¹ìö¿ïÑÍÈ`HÓ†™XÖå\>}çɤ‹áGº‹°:]?t‹‰Û®:¸;‡±·¢æXz’eÎz3é¼<µýnˆBzÝÉÌ ¤;‰¯{Çïú—“ÁÕ‘E]ÜóБåz¸÷ælx"{Bù8 OÏÞ~¼êùNor6Êî«Áéàj0<Y$p ¬§Jž§gçÙz{Õ¿¸è_ÝLÞw“ÚÓ_‚mîÈ×Îõ îÆàöûFv¸Ý;xÁˆ„!í®:Žk#×±mݳìŒ;jƨXÚ†ŸkÈ ¨ß ¥€CÛñº¾"Ϧ¶
- e]‹Ú.²=×íZ„ Ðu©Ð“f•Ü¾[&ŸËl>g±l'3ùŒäc‘̬í¼8"AM
-ŲL1
-„$ŠIÙ]ªI•F+QgÜ›(Ã5Ó²ŠM«z­lHËË<KKÕ3“sWšÒI:—Íé"Jç<¤÷pÏâø>ösÏœµŸ{õ¬'¹wPë†{;j[¹×P;üûdtÑ?¶ðγQHÂ`‡wXóªÀå?& n`E:Ü+s6Mfj—j…›L°r?ÞA~øD¨“ ­&= ö•Ö[:Û¡6tG'ý£ö&ü_¿obc·*rg«…@^cEúhdÖ}`–‡Ñ4f€SÏzÏCZ @·Õ¶#jª­“îÅÙ*JÒTyYuè±Ø¬Ké•ÍXÕÙÈL£PÒ(u¦<k™ÖòÎVeH&KŽ vø–…¾+#ö4SIÝG«|É^È·‡l-+(¾ÊºµNwÕB—Ù,¯’,UqYE[±´’°9&Þ”?œÂ”jO¨.Tµ4Pƽ僟xdë·Û(^&eõÛkùþýu˶X[
-¤o‘>l –rÊÜ“”ÉÕC®FVQY±BY:K–zì¹å
-P&»³¾®Y¡OAÇëïÏ÷ÔŒç]Wù LÙõ7=ü}29—ªÉ;Áܬ¬ÂéÜ`x<êËyç£ãþù»Ñx‚ä;çdl­æRtBS^ùÐ' ça%}¡ž®³q,tÓˆÐM9ÕÈKÆp &ЦbIn=[Â#ZáøAÆ5ošL+x„ðè¡òj»"ÝH3µŒIÆ£V;‚„™r2u Ù¹”7ÔÙB#¢"7}IïeÜ"õHÙÖ¨DD8Ô`^Èû”/›zg¸Ó²UiGUÔíÐZ´À7$ˆŠ»
-Ç–Uå1ä%|¯kôƒcXµbÒß±Á"¡¨'ÈiجoâqúÊ ‚ÿ~éÙ((Xœâä%pUÛÉÇÄ S„™GE¬n­„é÷´‘WôÕ+ò4câLï¥í¹+’Šmp©ØŒþBrkÐñè¢m¿³/M¼­nŒ×Œ1­»å!ÝÜÓ`KˆÄÃŒ¾-I¶égæ{´«À„wíª«=·‘ÞVIZôÙ^“¤pŒ°bERç°¸}μ„ËhÀ/£g—{sƒë¨¢à‹FZByV“g™
-|Bý—l²û)Ë«º[¾…"RÑ
-¡ph‚%+¾é»â¸>6ȯOE´ZÁUµµ¶R8cG’SËà $ùç(Ž‹ë—yÁfÉý’¥7úðÃÝÚTxùk9ã6›¯ÓXù9+>ë¥6㦠µ8/²op°’ûYñ Ä”Q08¯”Õse4ì`qZþÊZkçV™<ê*½^ÝjhÀƒUtÿl ª"~VGüO®¶ ÆV:±ð’¢Ž)³dB‘ïÿi£Ó«‘h6•G+=äôöP6ØeUˆ¯†€ëý#¡ÅÑïÏ÷´ÌÖÅÔ(žIîˆ
-hèk£D)p·-¯?.ïšþ?H‹åwendstream
+xÚ¥Ërã6òî¯ð‘N°ßLjòcf'•ñLl§¼µ™h‰–XC‘Š(ÙãùúíH¢¤Cì² n »Ñ/PŸ»ð«ÏÃHE©—žÇi BW‡ç³Õ™{¾€±gZ`&hbC]>œý뽟§*¼èüáÙ•(7IôùÃüO'Ržº
+ß7=åÙýÙï-Bk”¦ŽòO»Êó#o„ž7ÆÀ0U‘ïùÄÀ»¼Y×U“_L|×sÖuYÌÞ¸ý£®ò›¾“m.tâL•­ò97‹ŠŸÛeŽœ
+Üz‚4ÏA‚‘Š£
+,\Y”1„®f^ó9”íô6?Ð._´Ë=ðF1Ò [ãÂã1Vm¿ÕG¿¯ñØõP½€;Ëçc+
+Fô}D7Épxaè$üxµ¼]ØZ) ŒžÖâ¹#ÿ>Ë×Ò~]¢¥Â‰3tȳ8™÷ƒCÅz„Œí‹áE˜Tf3|BÎ-öÂTÐFâ?~¨±h=V:0N1«²²^Ô;¡ ºÆ"Ocåºñ@áçõî©”PkV—œcBû«º?ÿ ÿ5lj/@ÿà
+²ŒÆÂK=&kÐÓŠó æ}<¬çøVdÇ
+iú{gµjሒ‡®òµ>úÊ$“‘ÐϤ â N;£¥”ÒN;˜Æ7£;Ðd€¸g½€‡ ÷’q¨)?8úÀwN %uj³FÁ´–“DšklQ=©`Ç2Ÿ}#ƒˆ+Xàœí˜ÙëŽgUÎ<óc¸ãÅfÛ0nmfvá uáŒPÕƒºy¦×›é·V“°HŸ­1ØÿO4FJ3ê°=_¥XâìU0LçH&éw)½ôR.î)$Zê¸ñ˜pŸ_(>…–ÌÈ•A Ws×öUœ6„Ϊ “Ž?–ûC'+°øû• z3ÑÚéÔ?J\ç2Ÿe;ÚØ+ªÞù±ßl¸‹‰ÇB¼…yK¹Íe(›ÍÚ’à‚¡(È')2€¬jâôp[ûŽ‡Z ü \6£
+c¥øL<\`²ÍÛ¬nÖ‹fýÀ…lë5(vźo
+ìnô/‰ÚÛ¢Ö99ù}ÄÈ•¦zPšä
+_v!„r§áªy5éƒm÷Ï'Q¢ü
endobj
1834 0 obj <<
/Type /Page
/Contents 1835 0 R
/Resources 1833 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1832 0 R
+/Parent 1837 0 R
>> endobj
1836 0 obj <<
-/D [1834 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-554 0 obj <<
-/D [1834 0 R /XYZ 85.0394 229.8452 null]
->> endobj
-1837 0 obj <<
-/D [1834 0 R /XYZ 85.0394 202.6332 null]
+/D [1834 0 R /XYZ 56.6929 794.5015 null]
>> endobj
1833 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F14 964 0 R /F41 1218 0 R >>
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F14 968 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1840 0 obj <<
-/Length 3578
+/Length 3225
/Filter /FlateDecode
>>
stream
-xÚµ]sÛ6òÝ¿ÂòMÄ_0}J›¤—›kÚKÝ›»I3Z¢l^$R);îÜý÷ÛÅ.øeÊNÚéèÀXì.ö8Oá'ÎM–d^úsëubRaÎW»³ôüƾ;<g'-‡³¾¹<ûꕲç>ñ™ÌÎ/7\.Iç—ëw‹,‘É`HßþðæÕëï~~ûüÂêÅåëÞ\,¥I¯^ÿý%µ¾{ûüû½X
-gÄâÛ¿>ÿñòå[ÊÇ7¯ß¼ ˆ§Ï ¤o_¾zùöå›o_^¼¿üÛÙËËŽ—!¿"UÈȯgïÞ§çk`ûogi¢¼3çwÐIá½<ßi££•ŠíÙOgÿèFÃÒYù‰4‘*“3Ôb @—&Y
-¨¬ñI¦¤
-|w±ÌÒtÑòªÙ‡eS«by›ü—Ô¤å>û¯×‚üy>Þ&2KaO‘X­LÀõ—0domv>€A‹ßíëCKÍrÿ;ï©÷5}Þ K™*àÈ‚J‘xcäÔªnËÍ=:¤R?¤2³‰²Rÿ9T
-«Xû$O Ó™DÁîL¦>A¦þdz‘H'm$T ýõXƲ䤱hšžðn£)õRŠDØ4›r”̬”#yÚ'ZùlVŽ=‡#z0 P€•X-N’ N0U;ŸHaô,)CIu'úåÂRƒž9ê¥úó„%þ aÉÏ–´‰ÐNÎ
-ëØË 0Ü|¹¯ë-Áï‹æC}øPÕ#\éiwë—Øb WÇÝUq˜G!Aqܯó¶(«¶8ÜæÛ“¸–R%^¤5øß×8øÕ+):1O…}µK²ÌöáH81)`k`›â@ã§vÞUKÝÅ/i*«²-ëŠ yµ¦ÆÏM~]ðVrà½a'i’Lë,ìtyStôô“ÐâÀÓ0‡ xˆKB
-D¾ë‚šõ†WššQ­j¤iY¥*Õ‹ªí=Rjìê¦ì¼"46 ªmBí|¿ß–ïAø¯óð]oƒOÁÅ@ØŒ–Ó® 35ÍÊVVtæ£è‰„·™ç3Gù¯“U]mfÔò IOMØõ€Û°F:h¹D aSCÙŠ~J &5V̨¡U‹U^Q£^­Žjæ<FŒƒÊ´õž Ûâ¶ØòüÍh`ª+<‡ëã!g{ B¶<¡fôeÕ”kƜϰ¥„I„QŽ ¾-‹»9ãÒ‰3îW¨3Ö“vŸÀ¿TÎ'.µÏsz›B÷PzÆ"Ïmü`Ï-êª pà
-s1„õ©
-Ø˪߅( ì8O€ïõ¶¾Bk°°´¡Î˜íGFàY¸~RàÉü$ÉÙ©æ#:‰/úñ¬R;£ÜÌå$Û&ñ½Nt ·“ä™Ø-I'z·„ƒ, ÝÂF,}ï–p^àÊQ1sÙ¨¥óQyœš7­šµ:8VúÉ…ù i³±›Å†¬mǃ¤Í&:"„ÛLø`ša^ïQÑ2]Æ–™±¶†•í³¡|`,j+ŒÖ›ž†Ï
-¨e´ž>6—™Ú
-ØKvßsBNäÕXLD—4Q‡eF: N‡Öé0 D–”„à8eGÉ’S·ÓVpÁrñº%è.¿çYÛ¦f¤Ly5™‘•I)ŒQeB
-/Ñ•žÄ0ðäjadPN눆×<Lj†óŽ{º¬ÂÑ1³°üØÖ;(âÀ4©òÖ‹ ùyh]åA˜ƒ}ŸŠ„š—Qˆ›:
-à¶î\.H•¿Ç _·¨Š 
- >Êiª‹§.$Q¼ïtZyq§8ÙÄYWu¸T{ìÐ&ÝF=48)w¼YÍ£æA§¤äC°¥ã~ŸòæÍ‘Æ’)"_åTG"ãÔTz-Çr‰¿WÇëëûÉõæê77±¾Š~fUnqÜ·<€åû5bZ,œ~ôÖ_–?8-b *ÖUsâVEwúØU4áz­Ï°‚ïËá¸
-‚
-J3‰|é:tú£À¤ãËÖÓílí‰i©ú jŒX~: 2 ä>yuˆå§ìLiy\ï—MùÛÜ¥8äAD“tAÙ`‡‚1Öh¶“-€~~ñ#ÏB´¡Åw˜h4É× ª¶¤ûè_ÝÏ‘ '¡2ã†×ªs¥=jU—òÑÎð@Á%n—@ÉÐѩɓݨ°~|˜
-×ÌÎ1ÆÈ7®à䜜ÖÇÝÁJI&*%¿´€L!l¢š(u&Šƒ¤¹Ž/\
+xÚ¥koÛFò»…Pprqbw—ïN±Ämb§¶z8´é‡µDYD(R%);Ρÿýfvfù(é .ggwfçµ3CÉ‘€¿rùŽpcoÆžã éæë31z„¹·g’q&iÒÅz=;ûîŽb'T0š-;{EŽˆ"9š-~_¼›~œ]ÝO”/Æs>ñ1~}}sI˜·7o®ßþr7=½ñìúö†ÀwWo®î®n.®Î'2ò%¬W¼Ão®ß_ÑèíÝôÇéÝùï³Ï®fÍYºç•ÂŃüqöÛïb´€cÿx&7ŽüÑ3¼GƱ­Ï<ßu|Ïu-$;»?û¹Ù°3k–ÉÏw#ÇT8 @¥:”Æ^0
+ýØ \å’
+¨ªì *VÛ#ÊGÈôþ~öîîÆín (‚@2ò¦ÈÒ9ÈÕ•Ñ>Š? ¡P#x`M¶[`iü¼2¶‚КÔö˜ÔÍnŒ*Ïñ"9Q/7_weèÁiåËž O9²EÑ°OšäÝåÍs•H7î |£«ª^•[g@”^Œ‘&âÃ\óÁçz[%,ÊšÔ57“NÊ°ï1ä³Õ¦ÈE<® zæEMƒž Ôgð‚=A:_ÐÀ(žë¢âUŲÁfý½?6ÅgÞxUdI… x•äš6†‘&¼³ 8¸¸¾¼cƲbþ¹rúÀú†/¦.ü6ÆùÖVXg×VpŠ‚‹oã”?~Òeª2~Û貦…Å’Ô¼¢xÎ)pú& u·ó@@ŒôPÁ!kžmÌ{®ë´°(Ë–ƒÐöñ”i}ÊÄv)åØ1qÙ¨Ì;ï‚ŘPÔ¸ìD¡ûÌ‘òžÓs2œ51±øy÷ñWÂœ[ÈïS@Ð+ÓÅ"a8ÄyÚ+^>äu~è„ á¾ÏïÛ³+é
+ŸÑær—9ių³¿— §lH)Ù 'é„žyWÅÅB†ΪåIÕÿÔh NNf£óôk£; NKÈ 
+ßqÃÀêÄ^JùM†¡TÀ¾1'o[0‚±˜4ªƒwôKrh
+ù#AžWšA Þ×:*
+9^¤'DÚÅ:,Òë¤HRmEºGvP¤=²Mˆœ­Õ1Pÿ{ê?³å6˜ž°km扴 Z¼¾L)ísñÛpKý
+¾/87º)aá§1%÷­¹·Ž<Í*8«'·nãŽK{nÄ"pãÒˆÛ8«yiœÐÈê\ó¾¦ Â)Z¾[Õ¼ IGIJÃ
+û…O:ÍÚ¶ãÒîÛcµÛjôÈ¿C¯í\P†¤ b“ ¹Æ³h—Ì#twÛÁ
+ræs™fvÁ¿Û9„íâyÂMH³S4¾ÿó¿>g·æÛ?(ål§ì›Á_Œ{"aùnÈ‘þ~>‘nÓ÷·SÂ{{1}ÿîö~æÐ;FÔÅdýX:lIΧð”¼ûŠŸ>ϹbAµj¾½IÏuð£R/Òb–"UŸ0Åe‹MÂñ 6Kñg*ýpص²c P´#¸wÉÊÒv€i‡Y¶ÀÄ>2ýÔ#óqÀM(+‘ᯪù*í~I¹Öp­*QÔÀ^Œ0>KÛég@Uy VokO5[ùÆÒQæ§.P=x®o–}k¦|'Ã`Ô‘×áâör:›îñ0‘qè¨À˜f‡°ù#žgÊ Iáà_¦µJüàfZt'©FÔô°ŸÑp W>~7=h0Sø>€¼5ùJ½z%O[Ì¢°ú¯-?x7'­|äNlk·?9¤çâöþ‹Ï});š.7_'½_' µe\ßÁŸ0 ´GàËüÿþ¥T§¿:n©á´@¹æD*-SxÈÈßå¼ùIÕ>ëÿÙº“endstream
endobj
1839 0 obj <<
/Type /Page
/Contents 1840 0 R
/Resources 1838 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1832 0 R
+/Parent 1837 0 R
>> endobj
1841 0 obj <<
-/D [1839 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-558 0 obj <<
-/D [1839 0 R /XYZ 56.6929 611.8175 null]
->> endobj
-1701 0 obj <<
-/D [1839 0 R /XYZ 56.6929 581.0004 null]
+/D [1839 0 R /XYZ 85.0394 794.5015 null]
>> endobj
1838 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R >>
+/Font << /F37 1030 0 R /F22 965 0 R /F14 968 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
1844 0 obj <<
-/Length 3547
+/Length 2022
/Filter /FlateDecode
>>
stream
-xÚÅZÝsÛ6÷_¡·“o"ñ 4Oiš¤î\ÓœãÎ=´-Ñ6'©ŠTRß]ÿ÷ÛÅHQv|éÌ„Ïv±ûÃî‚l–ÃͬÊráäÌ8™©œ©Ùrs–Ïn¡ïÍ cqÐ"õõÕÙß^ 3s™Ó\Ï®nZ6Ë­e³«ÕOó—ß¾xwõêò|ÁU>×ÙùBé|þõÅÛo¨ÅÑßËÞ¾¾xóãå‹s#çW?¼¥æËW¯_]¾zûòÕù‚YÅ`>NLx}ñ÷WTzsùâûï_\žÿrõÝÙ««ž—”_– dä·³Ÿ~Ég+`û»³<ΪÙ'¨äsŽÏ6gR‰LI!bËúìýÙ?z‚I¯Ÿ:%?%l¦,7älJ€ÊeZpáØ튺½)w-²x2AòL  ›û‘U ¬›|¾oË–ؼk¨e]mªŽŠÝ]I…z¿¹.w4®¹¡¶eS/÷»Ý9³ó²ªúºÙ×+ªü«©Ë@ºß–ï¸ñ“šÍh‘v[.«ŸóœÇµåî#¬
-‡)`ÄÅ ò5[DVŒeN)î9ª›Àt*%&2í L?"!rF.×H†´Ã‹J ö÷ŒZhëê ³ttŠå²ñ ¯ªú6Ìkó÷ÌyžçÆ{^lKOfQOmßÈŒË<Nj¶]ÕÔIK(–åÎn1“9¡ÉÖ®¦×½U<ÊëCy?µG½Ô|$*!ݼZ*ŒZj)&±"“‡½Â"cÃã DJ>3Üe‡~†éñÌYk§ oÑS\¤$­Š j Øaeo,« )0žÙÃ1­JäºFÕE¶¯ïéú„µÍ¬P#Œ…œ.ò¨mWtå„û -Ax òëÁ“cé”–FÅ)–¨ÔЖ`¯ ¦l~OŠ*ŠÐìˆãç\åWï/Þ<Ÿ
-c:sNë™=2VY!uîngT¸L¬¿H'Ì‚<¢‹Ûx_Æ­[3…;ÚVcb°™#0ƒÛÁ˜V£Õ?Ý•~zÞëÞŠ±ÙŸþ#
-`°pÓt%à—áùüŸ³Hfü¶/ÛŽ=hjÝ=¸
-œb\È$ =£“µp°Fè!@âšÊÖ„†¶º­‹nèB“ªÖkêô
-ÿ·e]î@WTÝ·$åÂÆ`ê1LîÊq€„:4ÛmY¯â TÌf@ÒÍ7eÛ·%ˆO 3á™Ë‡ê:`AµÙU·0Ô£mrݤ˜ž¶â
-×wuQS'é
-À¬Ótõi N¤6C5C*2˜dUê  Ðzñ&o1¡I‡) ì² CV+’YhzÝ„Žë@Íß$tW¥`r(tº7rÜ6‘«k¾ýSÕÝ…vožÐ4
-¸#jÄ/¶ éÊcºM½¾Ÿ8N±VV?éÈý¬®,q[œÂ‚jèŽæ|þ¼¾u± l¡O(ÉÇÓ|Ï ZˆÃõ-œ{‚-®$ì‹«'kœÈœ‰Âø ~^ÓÖ Ü,¯É„ˆÄqp·ú²*»¢Z·Ï"x–#x]•írWmé÷¸|3 Zà¯alõT#5J>j¤ÊˆÿÁH9‘tU½
-À…^] /‹
-‹¶ƒµ„s;íçæ˜N .øS 7õ4}SÌ
-š==1¼„±~0 ŒaNÒÁ€pŠwX„Ž
-s‚htXÔi‡ŠÉ%?U¥‡:.v]Ƭ8Ó¹9ÓÿG∿F}¾†)8WÍ>×~ür=«èÈå M…a¯Pèú{2þÚtç –c ÒA\ØvÕ²],.×!6{ó+!!Â.¿ŠL™‚ÈÄ줖}^戠†•þíÏÄ›5·C¸ÿ‰FT5f±„—жýÕ‚¯ü‡H0‘)#1™‘)è>þkè"¢I%-pvX£¦žö¡òK0%wb¨2aª#704'+ ýuStË»_×Æܾã@öyJ>Ÿ${à;˲çÃíxq™¡¸þx>uØ@[š,7æpÊ<â)C9»êàcѵ…ñžPÑÑñŸt}Œ:IÝw3áxÂM`¤§ûÐb9øÒ
- ‹m…I`¬rr…а}§ÏdL„ñ½^Á¾Ã]3þ.𮺽‹_5Ðf1žƒI³')ÞŒÒ$ƒ§¨$2ZòÕ
-P «Û½Øî*ˆ£×|‘’\¬S¹]À2ù´ è·²v"ŒO¤óˆ~9ž™>È8¥^.Z+£ß"ðôc¼¢'v%7Ló nû©\32SÚ²£\3g! Ùíöà¬þCœ/J2)²ËàÛù@ùPaðzÃañ³Ý‡Êéø秾€ñ³å‰‡å¼—Ê}øt\Bxn-Ÿ~¡¹Î,`QÜ2m^ÅûϨ·þ_2¯Ò7endstream
+xÚµYKsÛ8¾ûWè(o-<I°æäI쬧6άã9y\)š„dÖP$‡¤üÚÿ¾Ý
+F©¦°±Ò×lþÃ<µ}ŒÙOÛ5y¹ ¸Þ?B¹ñ1ú×7ã´ÕºIÍÆÓ¼–vôÚÜÅDpHÑ.wËÝÜ­f[ôï×uÕtîÂÎÍ„}ÁÖÉðÊŠ8;ƒûpÛÔð¥©ÃùpÀ1óͦr*àÌâIH˪ËO‡FDD\þ=V²H˜û¦oƒ9>³å3¿wÝcF¸æÑäºC"kÆXú´Ñ´íîÖôi{ÛzÎ4œ
+€N¾¥qÍjágY›ZÇÖ‹J+´mÉÞäüsY<¹1ꫪív4§NÌ (ªH`‡¸vR×En¼'neøÍ
+›Sp26±QœVˆ™Êñ÷Á–—µ8\µã(Œýš#þ\2ÊÅDxÀ Šžµ¿BÚˆ×x ¡Ù«aã}^¾†¯ý›ÃHÌÓ¤t*M×k&~Ì9!ÓUµ£æÞž1bIU‰ë°\7‰ßo@DJá*/>‡ËRæ%'n ¦SB{ƒïsó0µ¹$ÑJ¿ð
+c&Š]tï‘M#9Žåýz"ÊÅz*BŸ;¸Fbø(µ#[O°r3¹v’©CKöB}‹ÛLÅ Òî ÐÕÝU­W±ÞS+Gò1¬—ŽË¥B 'ÏTÕ[a_Ñ(¢ÙNuXÙŒ%(D‰÷ÍîÑ|YV›]+#jWÀ²9†û² ªÆÎ6ä€+Ù>QÉS«ð cͧð,r¾¡’‘o»º˜„ÒMòïÕ5äÌ“Ý D –±1Ù™E².ºvóÊ°µë-„RÍŸªµkdyëÒ£í¹ç!C‹1¶³?öû\ˆmL¯ø]æ÷öÊ…íjíçß&™Wt "Æp lþ8óÎ}/Å¿ `ó!Çç&lù#äÞî»X7wÍTå€%ƒKÇŠú …„jw/£6ÝYŠ‡Çu ˜X÷™x1¹¥4Q°¯ýú8'W‘…aÏ•·’àÜfCþ“B†@Kìäî`S’»9%Rá=z.™8)À±PõÚúc ó\f:<-ç«ÜíK =Ü‹ºíØ}/"=/ªk1¤mJXj pCÝáVí
+ÿ*i»-&Ö¯3°¸enkP[a±Jm%b” ¸dSqîy™ú … ±öÐpþló&¶úë1ö:Rzúg€èíi£`‡þÈ+Áb—x€^$÷Iœú9öU©u£6ädùt…b:¯s*+ MáÌîl(³§BC’.žÇkÞu|Ï“¿Pßé'èéPÿðß›ÿJ$ÜÛµæÃKÿøà‹4‘„x£ì;pøÂòþƒ—¦ÿhO—Qendstream
endobj
1843 0 obj <<
/Type /Page
/Contents 1844 0 R
/Resources 1842 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1832 0 R
-/Annots [ 1846 0 R 1847 0 R ]
+/Parent 1837 0 R
+>> endobj
+1845 0 obj <<
+/D [1843 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+554 0 obj <<
+/D [1843 0 R /XYZ 56.6929 585.633 null]
>> endobj
1846 0 obj <<
+/D [1843 0 R /XYZ 56.6929 556.3561 null]
+>> endobj
+558 0 obj <<
+/D [1843 0 R /XYZ 56.6929 255.5941 null]
+>> endobj
+1711 0 obj <<
+/D [1843 0 R /XYZ 56.6929 223.3523 null]
+>> endobj
+1842 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1849 0 obj <<
+/Length 3988
+/Filter /FlateDecode
+>>
+stream
+xÚÅ;]s㸑ïþ~”¯F >¬<MvgöœÊN63Nî®6[[”DÛÌH¤V¤ìuîòßÓn€¢ü‘<\ùA@h4ý Z^
+ø“—Î$Bçé¥ÍÓÄi.×» qycß]Hž³ “–ÃY¿»¹øÍGm/ó$ÏTvys;Àå᜼¼Ùü¸øæ?ßÿpóáóÕR±È’«¥ÉÄâwן¾%HN?ßüñÓÇëïþüùý•M7×üDàÏ>~øüáÓ7®–Ò ëc8³àãõ>Pë»Ïï¿ÿþýç«Ÿn~ñá&žex^)4ä—‹—8öï/D¢sg.¡#™çêrw‘˜Të
+¨—HÂåR¥y"U¼„ýsc”ß½ª×Œ°¬»b gM•¤³: «;jÀ¡‘Î<c:
+)pà@ƒÌ ¹€óÑÁUPoep‚uWÕw4ÏŸ
+&<w[<”8ÍåAx\1O/­šH ± ®5¹síïMí%/˱YÜ’¶íx¤Ù,²&ØX°ÍäL3ÌÛmGpÔL—±ff,­~e÷nÈ Ò
+£ÍmOÃé­iÀTi÷êks™9‘VÀÒê¹”J
+ÖÙ>‹ ža_f¡dú¬õi’§:h]dL@eæÉ}ñ’”€h!ª$^Òò¸Ù/ÛêïåÌv@R,š„ Úú
+È [ÚÚ§õ°®ó<‰“ÅÃÈk9”#H/³ˆ›ø3w„¥Ì5˜¿InõòQ Ãà³x‘‡p×D­I¤µØAXW Íè6RȈM¦EgÔ^Ï‚šXÐSŸr…úÇzttM³aøÁ¹Tœñ÷—üÊ0
+ôaú¾èÖ÷¡"ÈGÙ;̨ƒÕ`Ì/ð—pb "ÉÄ€Ìgyºø4¦ÞÑÃÀÚû^h´ûr]Ý>Q‡Sgl’¾PÛûq"lhx‹‚‘½D>‚öËækYü„§|QK÷KÀ»»4“PÇU£K'cÊÎâz6]ǦxÛfV%Â)=tK¾Â‚^Ès ŤÄr“V陃ºó‹cçÁFDJQðÖ§ûY š¦#??§
+Ú&:üo»¢óTÚÂû6²E¹€¨Ü›âÇWå$mœ1I"ûzë))ØL­ÜP'­ÕCË^ ÛjçË6Ä_Ш»½/H.b\¯‡>EXU¯š£×&+bXŽËÀbTl2â?.g~0ƒDRI>ʈUõÜSŒÓ¥\:‘Š3ìÑZ¸iñ}à±Ç‚8ŠOφ³Kë`’£·÷¬6çKA>ÙWx"ÍË=‹ó¬”Ù4QiT¼ ¨ºÉDä¹|e*+
+üúZ>©7‘©i½!…´g¢@<j RÌiªNÒžVØdúΨ XÑ)„4‚i' ò~ÅK£JrçÜü;ã2b\QÒ#â8–­ÖZö;{e™ ¨¤J\M›O]{Ó‘²éHÏUÁµ8m& ˜2Y mrS³&_ý>ÌxRcl‘¯À­QpðÙǧ)ú ¯ ¦rñÄo^Ó‹\MJ2 ß|¹þîÝôV¤Ì „̲K á—ÈXHƒ‡»Kj|<ÜÆùËá‚Ó‡ÛS¼HÆ—2î,øUsBMf)õˆ˜“·ã0é%
+¦¸˜’vçÄÝe‹®ØRÌŽ`á-£bÌÙ/«Äâ¿‘õŽ<®àG6Í“´´îžÝn1ldG¯dþf\¬…`œ¬Ád“Oö4˜VÞÕEwŒÕK† ~ïʺ<€ n¨{l‰ &T`Ê1!9R
+f3B™÷aé2Óvñ~.?¿SúmuWÕÅài¨w7¯¨3ŽŒ8=óÄÉ¿+ŽõÇv|Ëwu[=…ý2äÖMfË¿ï·ÿï ”K‰»C±ÛAnè;èyÃ蜫Ë›™ìÛm!OÞ˜+äªÍcKmoD°±;n»j¿å)ˆ“- 쬱òþ„pŸDà0ÊÄ`*5ÐkÑ(óÛW$XYëä$Ì„[æ"gŸo­KHìç"BLÖsÅÈAµÊÝK¯5lÖy¼Ë‡l5DÔã»éÃMjú¤@¥áY ×?<¤âŃ2^2LþpÊfÃY!ã¤)ãÉ >u¹Â
+ôäSò" ½0ÃŒ^¤!Ñ&T¯Ò±Á“×z|`’öhËÊmÿe
+.ì#mˆïȄ΋1Þô¯O
+çr“dÆeoºòe\5¢¦·ì¿¬?©¨o[åPž§ð}ݯ·áÎÔäã•M>n€µgŽ¥ ä•F™7Kœ ÌxÅy>é¶OÔ)~Ô’:g&σeWTÛö]0žÓ·ûMÙ®U¨¾1ÿ¼+!.“ø)Ù[•ÔšôE%5Vÿ Jª¤¨éûaÔÆ+QN[ˆ!dp°åó1Pœ¿.8@NñŽb úüOIì I„O™V#’N"¡8ë%BN° Ë…ø(†ßżÖúJ¿ëÀÀ¿ÒLï²êe»3´ÆùË´Y’ £ÞnqM°¸ÙY‹k^iq} m™^k!«HÍ4síˆ •mø®2ë4~8ÿåŸWC›Ÿµ·ÆH»mJ† –òiÏ" †Éægí­5‰Ê㇠/^²ND,p¢=¢dÌ‹NÅļÄjl¥¤˜±ºÃG¨"¼¼Ó½=ûžÌkÏY]ˆ§€oæmòfâËî:2{þð"K„–ê5oP
+ËCñ›Rÿû¬:åBdϪ 4iÌ_‡ÏžÎêè[£6éP¹ñEÍ,ïVnùK
+£[ñKÚä§ µIóG,8°â ƒøÅyÊÍ\ü¢3’ŠžOmÈ£
+®Àæ<ÏòX—9A˜ÁNÿëïÕú¤Pù#ͨj¬b +. ÛÿìÁwþPH›b1ƒ¾òAÿÁCt̓*ZàjÞ…> bÜ}ç'V%HÊõ,>! §©‚´4ôç>”üLßú0ÚßÑO¾%89w’$Ãùsÿi
+endobj
+1848 0 obj <<
+/Type /Page
+/Contents 1849 0 R
+/Resources 1847 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 1837 0 R
+/Annots [ 1851 0 R 1852 0 R ]
+>> endobj
+1851 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [116.0003 713.9801 166.1092 726.0398]
+/Rect [116.0003 349.0486 166.1092 361.1082]
/Subtype /Link
/A << /S /GoTo /D (tsig) >>
>> endobj
-1847 0 obj <<
+1852 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.2874 606.3768 467.9594 618.4364]
+/Rect [399.2874 241.3765 467.9594 253.4361]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
-1845 0 obj <<
-/D [1843 0 R /XYZ 85.0394 794.5015 null]
+1850 0 obj <<
+/D [1848 0 R /XYZ 85.0394 794.5015 null]
>> endobj
562 0 obj <<
-/D [1843 0 R /XYZ 85.0394 508.4868 null]
->> endobj
-1848 0 obj <<
-/D [1843 0 R /XYZ 85.0394 484.1422 null]
->> endobj
-566 0 obj <<
-/D [1843 0 R /XYZ 85.0394 391.452 null]
->> endobj
-1849 0 obj <<
-/D [1843 0 R /XYZ 85.0394 361.3331 null]
+/D [1848 0 R /XYZ 85.0394 143.337 null]
>> endobj
-570 0 obj <<
-/D [1843 0 R /XYZ 85.0394 119.3418 null]
->> endobj
-1850 0 obj <<
-/D [1843 0 R /XYZ 85.0394 92.0323 null]
+1853 0 obj <<
+/D [1848 0 R /XYZ 85.0394 118.9419 null]
>> endobj
-1842 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1847 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1853 0 obj <<
-/Length 3265
+1856 0 obj <<
+/Length 3195
/Filter /FlateDecode
>>
stream
-xÚµZKsã6¾ûWè¶tÕˆCIdNÎÄžu“]ÛÙª­É(¶XÇ"RVœ­ýïÛnð!q2Jv·t`Fãë.ø… û±z‘èÈWA¨ëê"X<Á»w!YºAËñ¨¯.^ßÈd¡}‹xñð8â•úAš†‹‡üƒû¿÷öÇ÷7·ï~º»ºL"ïáöÇ÷—K¡ïæöûk¢ÞÝ]ýðÃÕÝå2LUè½ýëÕß®ïèUÌ<¾¾}ÿ õhz|†éÝõÍõÝõû·×—¾½¸~è÷2ÞoHÜÈ/>‹¶ýíEàKªÅj-ÕE¤¤¯")]Oyqñ÷žáè­:«¿0ð…ŒÅŒ£p¤À4ðã
-+· c–¶·ÚPXÓ+¢L[Ù½2ëlßj>•x˜~.ƒÊ°E›Aª™gÇ|¶É]ŸÌs+íë¶xÙýéÆèÌ~¬×8¯6>XéØÞd-õ¬ žv­›Ïï‰U•óD—Q³Û]¦ž½ÑÔF†az¨ „õ èˆpVG¼²nÊ<Ò
-,NY\£Þ¶)Ÿñ-äu
-v£´00¤fYЉ!MÀw‚ÙÊOtŸ Ú) Ö f%î¹ü敺†žæWXžHúDSòÒ´¼'« x6Y>yEîY'rzsí>aB{mF–ˆghᄄŠ2Û•/ô–@:> X¡@õÚz^; 8Y‘ž­œ4Mûkj'
-8=H£ê"_Ö’TXbçVOÊ'³=ò)ΣpÔ…G»ï èŠ5`MŸë¸Ëßì»Þ™ä#ƒI<’ª#owš‚4[ž=‰2 ™g±'îê~¿ÝBù
-“vE­„)æ׬×ÇÝ„BØŸÑÃfŒ¡‡‘ 6AOKLí5â"Y7G1UHÇŒ)j×{8Ζ‚4Ü°4”Çá°fh÷ÏÍ'œ‰øm¹ÁQzê eÄ]\¯RÅ
- @=U#Ž;l
- õ$!ÆLš2¸YaÛJ0ck2ˆü$ŠÔÙ%¬TE3¡«•ªÙ»¥W†WƘÉèp
-Âû:[a
-íK|ع¾íK¯Š¡å:MgÀB¨Ñ±PµOMQ
-<êùfßí‡r–§q¢¥.B!‚•ÖÞˆ¿¥T-K[¾°³ÁcÒG#ËÑÚ†-TÀ SŠÔY×KiC¼Ï†Í¿ì "Po¾µƒTx‹ÁÚ/{²8÷i&Jf#ˆ$ò…gƒE(Ò¹ópPÛ­Év-5Z*½á4`d
-‘p_bû£ù(îjÈ&Œ© …OåÔj©k‚ÃÂ2̇?>ÆD‚mcýt"(˜Ò‚Ø[)­9LIÑ<Fäs?ø±ìOÞNI„ Í¥ÑØ_´,âaï²öh[ŒÔÐÅ‘&…%±ô™ù_wi1|à>´”ggIrÀ¥Qb Ý$xÚ›¤ÃÉGFìw‰ƒTŽ$‰ú»«]:X5Ï4%²ïÓCÀÐãŒ3Š® t’¨tdr,Ì*9èéC<'ÆGµŠ>®WÏÂsN¯‘ò!¿:V£(ÒsiŒ¦š
-<ÙaÅîûíe蹃}#õ$~ýXõ¾2G‹†°=-Ü ¯èš‘#é/®JŽÞî’{
-–«Ë>î¢À"‹&cÕ0Šk·sj ás„ÿêÑjzwñÃÊFx“rècwvÝÝð^„áQÐ…Ÿ}:SgT•ÂofdGkÓÒ…¹?,Iåã¿ŒfþŸô%ÇÿúÏLÃ?½¢±ë3ô ØC
-LX(ÔMzòç’þ_O§¢ÿšŒ>endstream
+xÚµÛvÛ6òÝ_¡·Ê{,–¸š''qR·Û4k»{Ò<P-á„"U’²ãݳÿ¾Ì€‰¾tÓ=zàà6 æ±Y?6‹â Ö\Ï-ƒ(dÑ,Ûž„³5Œ½?a4gá'-†³^ßœ|ÿN$3è˜Ç³›Û.„J±ÙÍêÓ<xp
+Âù›_?¼»|ÿÛÕùi"ç7—¿~8]ð(œ¿»üûBï¯ÎùåüêtÁTÄæo~<ÿxsq…C1áx}ùá-öhü<‚ôêâÝÅÕŇ7§Ÿo~:¹¸éÎ2</ …=È'Ÿ>‡³û§“0ZE³{h„Ӛ϶'2A$…ð=ÅÉõÉ?:„ƒQ·t’, ¸ˆù%›b`¤ƒXpáøŸWö ß¿ãlÆX £ˆÛ©ál!“ dIÔq™‡À¹0 çM›¶¦iMÖ,²MZ–yÑ W®a ßæe‹Í·ùïaÈKÓšªÄž´\!ð[“®sÚ—(„m¹ ´dÒm{³É;âúIL‰ÉÝœ)jŽ«8Ö¡‚ñù*ÏŠ´>ejž7Ø“UÛí¾4YŠ´ ÆæýQ턶Âï2Çï¾ÉW8où€=ÍC{ œ®¶¦"ëtai›£@EJ
+¬„PÑüÒî•Ä„ï½édÇÎn7i‹Y€4~£à §Þ™ÂJŒmÝ›vƒPa–_·-¥Üi¥_‚²ëXDÇâ¢ÕŽþ„jHpÉÙ±jp# Tݦ(°Ërh×:âa ¿ËKšzKßGpi Wc
+ê²'­ö„/záÔuZ?œ2Ð{:¢ë„±´|ÀÙtC´Óx„žªÛÔÄ
+^`ÌîÐg ©ƒ0c‡èNøK¼‡™JMû¬E‡q1DéÒˆ2Áé„õ;[
+­8f*gA¨½ÕwÆâå,H`­bâQÈÜu’¨¿ŽÆgX £$`qœŒY®Võ#,^S­ª1¿ß˜lC’ãQ(Õê;‰{â¬Òsß¾üx'±”À÷Ä9œQkÀèI=¢ 1œž'òQÆrƒ¾€W‰4Ú¿¯ÂÅ
+w E$û³NxóÁ6ghÒ!ëlü±¬Æ Iò¸dÌdáq+j–|³¬vC”ÇÂÊ„¢F»iOKk±Ð3ÒÊeâ}Ô?Ly( œPT
+Ji!Ænð’¢È’ÂN
+ålÀIçÀöžÎQáx.ʺuV
+´û
+‘Œ
+‘m½‡À`µø’?LW ß×év›ÖÁÂA¡qŒ)ÜÿvWfSúv`îkçàì´r¿]æõÓðpþ«)yþt<ïÏãuŸOA|þLyÀí/¯öò—2ùÿXæ•qŎȘˆé4P¬¢©"V8_!…®@Í·®¯/Þ ÜäÙ¾6í¶Pu«Öå¼!Í4GÖdµYb²f‹®Gᨇ’J¸€$ãnýÖëWƒê}71\€l\§;ÄkzÝÙ# FêˆuÈ£5G/ݬçh8Âæ$Hʹg©¯DÂóPÇåÏoÁ:~c AÖ]—‹ÃùýÆá=
+ë§yÚŽÑ…®èl'ø›tåéøIbó»´0«Áâ’&‘¯¶%ì‰S÷×}˜’­
+û†‚&¯Ÿ¢…˜öîe¼‘ô^Ó]­`Vê_r(Ù/WÕdªÇ!©Äé”)ê×äƒÎ¹ÛM$s2ã
+&w%Ý>Kì«<ßú0 KæùW­;§®©:Tà{
+ôT%­I¨\Ò0Úºç4¨^!é¾^þ=@ò~¾ø§bb=æËÕU“·‡Òß³ô;/ï$Án:‚Qá°žòÈ«ã#q@uÉØ ¸Æâ‰w^.4UÂ…$"Ð;x„¹mW›Ü•%X’4ÛtkŒ£Šh9ÿ_`.*/vÛ`ú y$Róƒ:ûxš®í~BF£GPêJ‹µue›­kK²bÜ;
+Ÿ1îw~;ŸDZî”Á„D$rÏ‹$Äá¾4€Iz/jŒ¤W=é :Új‡@‘ß¹b€Óõ^v% ãaÚ
+ ¥ –qÏ2îYÆ{–ñ1fSBàeÈLs¬/ZDM¶§F’Å‚
endobj
-1852 0 obj <<
+1855 0 obj <<
/Type /Page
-/Contents 1853 0 R
-/Resources 1851 0 R
+/Contents 1856 0 R
+/Resources 1854 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1832 0 R
-/Annots [ 1856 0 R ]
+/Parent 1837 0 R
+/Annots [ 1861 0 R ]
>> endobj
-1856 0 obj <<
+1861 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.8521 670.5036 481.8988 682.5632]
+/Rect [432.8521 306.8241 481.8988 318.8838]
/Subtype /Link
/A << /S /GoTo /D (DNSSEC) >>
>> endobj
-1854 0 obj <<
-/D [1852 0 R /XYZ 56.6929 794.5015 null]
+1857 0 obj <<
+/D [1855 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+566 0 obj <<
+/D [1855 0 R /XYZ 56.6929 732.54 null]
+>> endobj
+1858 0 obj <<
+/D [1855 0 R /XYZ 56.6929 702.4262 null]
+>> endobj
+570 0 obj <<
+/D [1855 0 R /XYZ 56.6929 460.5115 null]
+>> endobj
+1859 0 obj <<
+/D [1855 0 R /XYZ 56.6929 433.207 null]
>> endobj
574 0 obj <<
-/D [1852 0 R /XYZ 56.6929 719.8738 null]
+/D [1855 0 R /XYZ 56.6929 355.4965 null]
>> endobj
-1855 0 obj <<
-/D [1852 0 R /XYZ 56.6929 689.3447 null]
+1860 0 obj <<
+/D [1855 0 R /XYZ 56.6929 325.3826 null]
>> endobj
578 0 obj <<
-/D [1852 0 R /XYZ 56.6929 484.1038 null]
+/D [1855 0 R /XYZ 56.6929 121.9834 null]
>> endobj
-1857 0 obj <<
-/D [1852 0 R /XYZ 56.6929 453.7341 null]
+1862 0 obj <<
+/D [1855 0 R /XYZ 56.6929 92.0289 null]
+>> endobj
+1854 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1865 0 obj <<
+/Length 3765
+/Filter /FlateDecode
+>>
+stream
+xÚ¥ZKs䶾ëWè–QÕ ñIÞ•9ö:‘ä¤Rë=P3”D‹CŽ‡ÍÊUùïéF7øµ+ojÄ4ñh4úñuƒòXÀOÛ$ÚÅÇ©‹£DÈäxµ9Çwðîû#É}–¡ÓrØë»ë£oÎuzì"g”9¾¾Ìe#a­<¾^X¼ýÛé?®Ï.O–* ,#ß]¼GG·?¿?¿øþ—ËÓ“4^\_üüžÈ—gçg—gïßž,¥M$ŒW<à Î/~<£Ö÷—§?ýtzyòñú‡£³ën/ÃýJ¡q#¿}ø(Ž×°íŽD¤MŽðGDÒ9u¼9Š%±ÖR]ý³›pðÖ“_¢m”X•Î0–Ja#»ô8M\d´Ò^‚N–FˆEÓîŠêŽÚEU´EV.ò'"TûÍM¾û|{8Á·ôøEÑÇ(£ã¥Ò‘C‰,¥Œ\’(¿ö¿Å—ßœ+yÜ‘oaSËŽX¤tÄx**†#0å&«²»|¬5tWmÖ曼jéï»üW!n ®ˆ’UkjüÒÀP^P äë)¥±‰ýz×÷yÇÕ@x.Š“úb—Ï'462±ˆ¹s|lX³(‹‡¹Li™HÔîöMûò
+‰‰b:î̯ië9
+&u‹wﯮÎÞR»ÉWû]Ñ>á?»ØH»¨ë¶m×.õ;öÝÖÅ-¾ºÍ}¼Zå4 à)Ûû¬a}©àôllãñé~YJ:AÍöW×MNχ|ËGºßÒ³­é¹yòÑîÛz“µÅ*+˧)¥¼8í}½çñEÕæ»G8€N%nIž÷ž§£]7uùˆJ”z›ï²¶Þ¡ˆH‘Û°éH ðPÈýÕ~»­›VE²¸…K CòOÙf[²—ž§gôø£®ò¹øKCAN˦¸«¼1‡Œ»¬êÍ–y/š|Í{ Ç×~'Ý̾Uªœ¹¹ÏB·ÚoEŒ‹vÿX?àÈXó¬Ð Û2[ñZÈ J½¦u‹S¤ª‰±ßá¾XÝS“˜NR—ë~6ß(*æ`F×´ˆÁTãä•vâ"›Äfj‰ÌU½Kßät¸Ú€uNÉÚWÙM‰Üjé•ŸYY"zê=š¶XòÐʪ'j”uu—ï¾EÙ«EÑ1,Í _Ë3Ðã
+â[’,þuŽZxzñãpT³­«†\ÕëO"ÕñCëÌ÷ªƒ¨ö¬ú{øS¾Þü?”d (‰u?üù±) þß9ýÊcƒ@íù±ÛžpZå‡à4‚BRÐq
+&?92Ö‹[ôJ-îëCŽ{±2…f” #¶ì é_Y4´Sh£šâsNM¥‘‘HµyuÀ¢Óéá~ý2°d¶î9äegxecÇæŠôËó·^Y@´©•c}øU©V®ÖË›'lÃíÈ&±á¯¶¼*xUhy9À3[?f2¢9q¤ÐMšò«l“¯gä
+È 1aážÙbÉè’Ùp`½+îŠ*+û$a¢$j,ï~•‰.Žc&„ƒ’¹Nm?³I£3Ù$Ìî#<ÉÙ`Ë ÝÀQﲪ èÍ¢÷=:Œ¾{l9˜xèŸ!f-.Z"ÖÌʦîmUCüù#çe9Ü/W:«±[$® {p•²
+yy Üä(z$dN×p€W«<kxª}Cцr¸"O›’óÂÀù*œ§#mxÖ  ×MñOc—)À† ã¿©+¤•Feh{ïÂoI€Fê(L9ô1§sF #­÷J—
+ð ¢,Ô>¿Þ B+¯VD)
+™j^IYgÆ@öŠ›²âÓóп5uð@j4"ÜîÓS‹ <me€°€&*oÃÙ˜u|»É®é= b†¹mÒ ŒÛµùlÀüU$Âã0aIÂÂq¦‰H "]$½(øLG D#@.!³¬™óO¢4Ñ!‡€]Æ6 aæßäYżÌÜ4…f¿:þ8¤3Êóoö^¯`QV;"g¶}êdBJ@ì¬q*‹·P¤ ½D8”óù¾Ýwš’çT¢Ÿhˆ²Éž¨ÐßëMÄo)U`ÍJ¦š…/ühˆ˜À׎gôºÑ¼¡y ^¤Õ \zˆ÷"lþ}_Påy=˜ñ
+o¬ý¾'ãH¥ãtA¤q¤´zµ³ÊΟ‚ƒÚnól×ПvUf»¡;µó
+N¨¯ÌGqW}6ÉÎزW68e»Ø2Èô¹&©,¬­ø2¸0P¤˜ÑÖ>~
+}ÙWZ§&„ Í¥ÑH/fñpϯ²f²-öÔ@b¤I°ÄèHh;‰¿w95|>œÖ¯Î’tï—‰Lî- žÞ’d:»»Ø3zHœ‡¦OÌQg».¤ƒ›ú‘†È>û~~Mg TüÜÎ3¦‰¨œ€…Y$'”âi“BNh&µŠ×'Œgá9'×8‰ ¿z½[ãØÍ¥1Žj*ð䀅±Ù‹öD.ÂÁs®Ý?ÈÈ$i@Ž5›ÌdQ Ûs*tú+™RŒÝ¼*z¿K¦ÌW›=äL"` È¢ÎX4ìÅ]Ø9ýéásŒÕJ—Œe H-»ñoTŽy즰ëòü-5!åtm2,äTU¥€À
+š#×EUІºd%õS¨Dú„9VcÌŠ¯¨¬Ü—NÕØ4ðͺƥpO&ä×8Ó-½mj~SpÐ –gP-†kdQbF…øÆ9Æ72j¡1^_råVêÎK%Bÿ‰¤ÄŠàk 榪[j…øÅjzªR‡ª
+RZ= j8ovÛúô›¼&LB­ûPó¢œ+À³ìáÊÎð`"¥:†±%yA™bÅâÕÆoñ^ÔÌÝÈ×ÎV5—–+jðRÏta ™¬´ xÐ:eI­›|pÑÖAßÔ 7–†X^ RÛKl§þ~¯yN( Œ’Ò-SÇ®@d
+}C1–XiˆN~[¾
+”]Ѷ~{ð\@M­Œ¿Õû¿ªÁ?$ô7sµƒ$”L怿—tô[UÎI[AJ¯œÔrŒ¯å<1¡–¡…¿¡Áª('™î·±æW=*u¹ OžTÇWßBi®övå:ʶnšâ¦ë‡±ø@ì¬ÑÑ™”ëi®¯§­ø&…KÔÃR[ï:• W*££c;Så$½åØf1WÛû¯-üŸz6JÍÎê¡­=©H‡Ÿ™Ä*Y\!üT.ý\ö ´„ÓxÅš5±@C⌂24»Cè/EGk‡@Üó‚®›<TÙ’H;1¹m5…X:3þ†>WéB½[äŸ
+:ðÊiØ¡ Ÿö„Õf°þxm
+'÷ý W1YyÈ> 44\¾®$d<úm kä—ŽTDÎééú
+:D‰ÔÙé>ÞÜÊ—¾6Àˆ®J·®PÄeY×:¯çŠfBŸì®§ë-ßÁ^àð¤
+endobj
+1864 0 obj <<
+/Type /Page
+/Contents 1865 0 R
+/Resources 1863 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 1837 0 R
+>> endobj
+1866 0 obj <<
+/D [1864 0 R /XYZ 85.0394 794.5015 null]
>> endobj
582 0 obj <<
-/D [1852 0 R /XYZ 56.6929 375.0298 null]
+/D [1864 0 R /XYZ 85.0394 712.8662 null]
>> endobj
-1482 0 obj <<
-/D [1852 0 R /XYZ 56.6929 344.5007 null]
+1487 0 obj <<
+/D [1864 0 R /XYZ 85.0394 677.9474 null]
>> endobj
-1851 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R >>
+1863 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1860 0 obj <<
-/Length 3647
+1869 0 obj <<
+/Length 2919
/Filter /FlateDecode
>>
stream
-xÚ­Z_sܶקÐ[O3>”
-gò$`þj‚1`¿(Œã¡Ïà$³|Öð–Wu¿¸­™Ï>JåÕ›·;ÿµ//}Ý#ÙÓ¹Vp¾R—§s)Ei`y¤¸lˆßE¿†(ëf«ÐÑmè-PÅƯ]Ë­j[BF
-=«Ú%õÝUëfYõÈ ¾"ƒøÜû¦½9"$† ¿­ ʬf" ¬4ôóƒÔªRQ|
-s ç'äfA¿´Îy°ï·MÝö`+Ú泋ˤ,„µReB¬‚ÅDIà ’ ÍÆÓ3l:ˆ ^|sÓÖËgôZ{4gïÃn¡Uù4–ו£VÝŽÑ£­ï©‘t_ÂÖC D_ÁôZ„me°ìF¹°×é@µÂ媞ZÛ®i¹ÙµÀ¸ÖnvŒ×wõnBþRÂÉÜ<eI eN«±%1õ†—ó5*
-q3uÔ…Êšâ+O¶j”:>i^ìcñ1.ÖÑsS}¬™¶VÖ™ -kÃåë—08×3ðR[lôص©@„u[µ‹š:nñTqHµ&ÊÕ’‡^רø©i›¾ÕùÏ?…ÓÆFP22 ü²ìp)Ü“µduÒŠ¾úŽ¿cG³Ù‚bFe»¡à³éî‚쥆CkÈË’ü)öо 1^:Ð4ñ9}^ÒfàÓµ=mš¥Ë¢¯m˜›¶ë©Aëè ½U­¿¯wþ9î”\!ö’àe’3nb¿­Ã!Ìéx8ÜåãÓ…Å¢9]?$y*hDk<œï»äçƒy·Gs‹¡^‘‹4`îŸzj=Ô,ˆ{2¨iŒ™Ÿ5¤[­úzÇM^ˆP+ˆR— ¢ d!j N[I!Mq ‹r@½šä
- A=ƒ›§r¤ª_ðþ‡³ëZ Ž:+ˆyøGͪö"8X×Ô•$…HRØ%…Ö®-‚,_ÿ²‡ÊRJDZ)Ðëuóq4H%Œ,£‚ô»½ï×&cE®‹2­ 4)lY¨#Ý$Ê3'
-)‹±¿}d%YɃ’GGÓF8+ŽxDÉÃôÝ–Oöšç¯¦à¦ îò߆6|t¼4"áèè˜Ü5€L
-v±èr€yV–2й¸ÎFs„cܳ9¶=u`¸ª7 ÜÐSõM€#ªÈ3†/lHЊêÁT¸wäœÑÃqiùž˜À¦b"Àµ!­XGV«õ:jz~lø:ðSâºi§ŒCfRXé¢~Aôµ Âÿ XQÇ£ÕÔQ„ z ¡ž‹Û
-챦.lœ•ñål¿Å°¹ä…^ðtJh°Uµ4°";:ÂÄä8Mx
-¯M:‚H2ôê Ç¢pÒa°E™åa,V’•9
-GÆËK—/6y( ÉU?¦Êu˜íëÝe×–‹R£¯Þ¼¥ä«~!_iV¸üjT—Ê1~åX9(Å%QoëA]""ƒû[Æ/ W*@ À =»èÇ·ÕBÈ~]í"Yð¹$h¯"¡D OËùíºaZ´#ì«ûýÖÇâ ­}?¥¯·Õ‘1ûõŒ«P\#Û¯ûf»N™.ŠÓOVÆΫÅíÈ×™'4Æ•ËòsÑRhƒ.SE”òè%ÕÇVÀÚR2Ö–ŠD€=¨~[-¸Ÿ«êRÅ$Hr=ž+’*Tëøýu@ÕØÅʬ™½` ÁË/{”’ÑHDƒ9¢
-—Crò‡ñ˜(>Á#øCáðôFL>¦k¦ir kñpBãQ]$
-ÀÕ~…®Ñò#L6Yš”eªb’Âá/
-mft…°  _Wôœ®K•N8¥Í“¹KžJQ ˆz¢ÛðF µ§®Ÿ”*°•SÇ´¢ŽX82TnHC|·¦ÛJ\¬=l&^tmOwδUº Pñ²Ì<òã˜ø㫉R
-ˆY'Ïÿ…LNQd‡+Èøƒ†|±ÁÄY)ÇYÁ¿»€ÜñQÈã3}¨Yg(´ 7“)8 ýt²)­Í'’M ËrÎtT挬.,¹À"UøqDp³Y>ÐÕ,[ÎtÒÕ,¬ì™;Àmyñ»JHm·K
-2ˆoh Ð!„€ó3¹<ª‰cbbe¼I²…{ høþ⧖[’.+ì0ŸÃ^ä2üðǹ£¼—½Þan+ˆ;3NŸ ãw‘—”Óä’+k–ÁáNT]êOæ¸|· ¶•cï¡°}TÐÀ.°‹£Ï‡cüòƒ/DcºL¿Kw¸û­xìw—b¹ÖS¿’ÌR­æwÿ&óðƒÕ¼p"júç–:³Xª."S(0Wsž~¼ù9ëÿ Ã.Iendstream
+xÚ­ZYsÛF~ׯ`ùe¡*ž׬Ÿ”DN”Š•¬£ìV­ãrAäÐB™”¢ÝÚÿ¾ÝÓ=8¨¡©Í¦ø€ž===__Ê™€Ÿœ¥Yœef¹IâTÈt¶Øœ‰Ù'ûöLòœ¹Ÿ4ÏúêæìÕÏLl2•ÍnV#^E,ŠBÎn–ï£,Vñ9pÑ×?^¿¹úö—wçyÝ\ýx}>W©ˆÞ\ýpIÔ·ï.Þ¾½xw>—E*£¯¿»øéæò eÌã««ëo¨ÇÐãÓw—o.ß]^}yþáæû³Ë›~/ãýJ¡q#¿½ÿ fKØö÷g"Ö¦Hgб4FÍ6gIªã4ÑÚ÷¬Ï~>û[Ïp4ê^ êOŠXéL¨äLÊؤ©šh05q¦•î5¨RЊ"º¯ìmñç®ììÆÖ+oWn6å÷ûêM"GÇ"f0!NÓ"wìˆCƼ>ÖåÆâK3ÆE–¦³y/L~¿X—mûæÿÛÍÓ›²[ÜÍë
+$iý<÷(—ËmÛnÆÇuÕvÔÿŸ×S>rÄgiÛ®ªË®jê?Æl,ÔÎ.ö»¶º·ó¦^?ÒüGÛ~lv놚Á·ßÔÓlQ–×ÔÇñ‡ìü¿šÚ~lý±¾3*˜ä?ÄðOŠ8É(=²SøÆþ*„ª+˜zÊzIÄ/mùÉòBê84nîl/Í0IšX)ƒ`îáó”“Jâ¬(
+žÔŽ%Ë¢ª¥gImó`w«ý[y´²ew.£ýî\‘¥¾fE3½¹gdîYÔÝ•Ìsm»)Wd÷vkw÷vǃuûÐÓôøæúg"~ÛÛÝ#‘Ëj…˯¬“bN–èØÈÜLÏ6…XRy-íÖÖ˪þDM§ux>Ü5D¸mól?Ã$ð`Úè誛nË]W-öërçÙî[KÊzÕìxúf»ví—k·ëŠyÑŽ°Ïvû-3~¨º»fß…
+|EõŽ¨ô]·¼¹®üJ6!Gd£yM²®Ïö±=’u¦‰‡ßÃ]Ö çD[§¢æ¾Z¢Ad:Bp`cwe]µjºü
+ÇÉr Ç‡o¤Ý9Ã`k×váûüD—ÁQfP®^ÐTÎQ‘_’öŒÔ- 3²ž:ȹßÝéÒ&€^Á}:þ3ÂÌëGåÔPÖ-‘œRç"¢* û`¼Ä¸ Ræ¶ãW¤ã sô¶àXõõ QêÕO-ëì†Eìr¤\-RW˜Ì•N£Æ­¹t=6Wôì‚…‹)âFO.Iž¦¡-ñ­øÙVŸjw`p¨uýªTŽTâò:èèó> GÊ¢VP·v<¥mÖ÷·X=lÆ1^4ugïú­:mABk!ìƒÞd…Üõc\@ͺ÷ü_(ãTîUæ«-UüäL€j¨o¡¢•rRü³qi;¤L}ûÚ$nuð2BÁQèÓ…¦Ì²$Ph[V3,ÆXdtnÉÅ\fuëÊANû¨ŠÄïXèª"9‚.zž%ù q1kÌ|8+(¾z¤5XACß—&N¡ã‚>BºÛ¤EûÌW?@´®ôÅ¡š)éЄ=C-‡½(e‹Ñ*ˆiÍËNoXGF˲+‰ û2® ãøî"')ÃìzOàÖ4Îß.Pìï%Ö·/ÃÂ*€þ®.×H\f`˜ÅÁðpŒWÂ,—ÊxIBÅ¿ R9TÓ¾-kw) ùB{ã‚Ž-_LaƒU€dU¸N²X¦‰·<Ï$¼gq¡•
+Ý¡hBuB5!žs-‰êM ç…D,8/ruÚ ¤}úÕËáN'ñçàv[ûÌ'ƒ$Bâv»u6hŒ·F îœÒ€ E è ™Êyœ {AªðF }£°¤yôžÞçù ó>¼.¸³\ï-‘3w‡÷rt‰p8¯Ý›9_¨ú’ÞÄ¿p¼9T»Ã5 ‹•ø“4.# '=8ýÄ}'*º
+ÌÊ–û‡shÀª  §s+~zì*™Œ‡¯®§Ó``¿±Kæ{Ýt¼ºq—&n±zî_¿„Þì]ú‚R@&R†m‚],¸ö°ˆHväm5y
+7tXʸYßÙ±*¯özœ³ «IRÛ=nÑÚOd¸Ì×=²œCï[.:‹¨™!³úcûükà^v­cQ$éÄOß _øDÿÅøsðSé«W4åÆÙRí]³_/‰æz Iü„âÏ›ZµíšÝçQàxÖgl)b÷{U¼>üä¬ð¡Ðé~Úñ­6vÊ“×îî«7ºæ@È€TžéD. ¥q¨ŠâÕÐò§îI“ã’–¼PƒHéìðœ×\±Ðw<ÄÈŒá…(~ JOi›‹õž>–Ž¾çÛvÊzbÈuáãø¾IrC`4Ö㥅¥‚EXUëæs/W¼¼}ñúäçüÐN`:þK$ð÷Ñùÿ¿ÿŒ2üS'Éc¨ñÕð?“éÇ°ò˜°P(¹O$÷ÿZy*úEÀ`–endstream
endobj
-1859 0 obj <<
+1868 0 obj <<
/Type /Page
-/Contents 1860 0 R
-/Resources 1858 0 R
+/Contents 1869 0 R
+/Resources 1867 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1832 0 R
+/Parent 1872 0 R
>> endobj
-1861 0 obj <<
-/D [1859 0 R /XYZ 85.0394 794.5015 null]
+1870 0 obj <<
+/D [1868 0 R /XYZ 56.6929 794.5015 null]
>> endobj
586 0 obj <<
-/D [1859 0 R /XYZ 85.0394 452.7705 null]
+/D [1868 0 R /XYZ 56.6929 769.5949 null]
>> endobj
-1807 0 obj <<
-/D [1859 0 R /XYZ 85.0394 426.6554 null]
+1817 0 obj <<
+/D [1868 0 R /XYZ 56.6929 752.2115 null]
>> endobj
590 0 obj <<
-/D [1859 0 R /XYZ 85.0394 294.4314 null]
+/D [1868 0 R /XYZ 56.6929 622.2614 null]
>> endobj
-1862 0 obj <<
-/D [1859 0 R /XYZ 85.0394 262.7015 null]
+1871 0 obj <<
+/D [1868 0 R /XYZ 56.6929 591.5303 null]
>> endobj
-1858 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F39 1161 0 R /F48 1238 0 R >>
+1867 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F41 1223 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1865 0 obj <<
-/Length 1845
+1875 0 obj <<
+/Length 1241
/Filter /FlateDecode
>>
stream
-xÚ­XKsÛ6¾ëWhr’gJ
-ÁæçË‹ED89
-À0!‘Ï}à;YÜk§üE¹Âg{«ìFÕfeÑàâ&Û¨ɬØ2‚ÿ … ´° ", "°MËwBqhŽáÃò5­lÕZ-ÊN¥U"ó¦DêÚšÕ5j‰Ô]ÖÞ:cä”)¡ ±ˆ}«b“©» ;x@¢Pìšñ,d±ì-ôËsÏ"ø ÈcŒ$aÈÍ‹²ªr d’,ÊÂQw·3 ê&ª)óMVÜàÖŸª3ÕXNpESÉ÷Œ½ _@ra¼ø£V”[¯©Tš}¤”§vSæB2³ÂMìÀ!Ÿ1Ý>ôŒŽ=ÚÞˆÄAüxpcƒ‰Ð&µ*pqJÚ‰¥ZÉ.oµÛ_AhÛi¸ø«,²lS˜+@ÜʉÀ…ñÔòöh9Ý™}wÚ[Ê/±†=–G<w>Ä–ò…äðÁ¦µ¸±Üò“e®0sRµTEj÷ʪÔÒIÅB {ñ¹n RURïzAlî F÷
-OrµQ9îéy<`b=Ä]-uõâ)"tyËÝdK›K‰ñ˜ÄÐÞÇ}^WŸ 8_áYɺEÊÜ„Îb¼ff¼O:ÌBØQ)öu sè@Iò”ÑA“DL }—™:Ê \­°Ü*˜y
-8 ]džëG5D s°Ø¶§>Ëu•»º²‡¶‘ÞWºÚm«…hY~8ý`÷TÛUV®–¢mÁ{"…›†¾t=t®[àhüm~~¼Á(YàV ÿM‚·±ÙEy/ ™«ºù \ÿmÀòC"¢0gØË—ÈrnŠOSÍmÙåK¤M¯D²ÔÕ„“«Bµweýi0:ÂÍë¶ÖÆ™bð_Âü^ŠCÜøçÐ
-öØHá徯»PÕú“ìÄ·XÚWôþò»ý,®Û‚|ú£.á+@ˆ5J{Ж»OÄMÿÅ”3ýendstream
+xÚ­X[oÛ6}÷¯ò £‹uCžÒÌéR,içzO^`(•p•D•¤í¸õþû(‘”%[Iì40 ‘yx¾;)Ë0ÅÏ2šN82üp]Ór8˜Æƒx÷q`©9@OíY¦ƒ³+Ç7Bz¶gLÓV
+­Žy|¡d‰µY¤ù0Nq̵î¶ö"éV‹ŠV”—‚1É_RëR¨1)x„ \<(Ä"S–)÷Žu/ŠcľÏÔºGÂöä•Ž±Å>i±é8” ðÃ.7¾.‘v&”{Þ'@Š³p -“û¹ìà[mß;Þl·^ž]Ù–Ñ §Õæ#_Ę/mTe ÛéÃlTXe‡¯<â(öWÉ‚FyQ‰× ÉÊä.´×ÙQTÕšQ®º³8‹»ëhL¹JG¢ƒ46kb“¬À÷¢ën|$‰p/6¯#hžaÆ›h©Ÿw‡aíÞoƒµöa9
+–"úÎle"¬õn ”D„ŠRlFb6}äܹœ;§ íÉ3áÝ1êaˆ¤ŠÓ®%q9¯$Q˜%¡¼¯:jé#½À³{E:§~êšq
+B‘³:¾¤‰˜?½®‡à
+gIQ•z×ˆÍ WIüÀõ¸àèb¾Þ8XªGÙ¢l·ç¤äM=9€È6iVuDgúÊ´R-)¡">¶šå"ính´:Ê@ÿ’ŶfÍå ¨õ€áZ Ñš³ҨÐUcÈJ†ªÖmRL?J
+…ƒh÷¤ñþáÓ/~J)¸ØÛLZ¯N)ÉA‚S‘^Qëø{Å·­=ž—à;E‘(Œƒ
+éˆÐØñ \Ÿ^ÀŽNŽ²Ê»jŒ<´Ü«Xä÷º裺nœˆ°! þëHçG!u$kWŠ½lô™± óΠ }°=@Zn”Ek}tçË„‹À `$:Þ+Å‘õZï«é¹ö‘.«Ø1‘…ôu J#¸µB~SXžß×\ ú#Ç­a~«_¹0ô}Ïho³ÏkùB•UËw ã¾Î,½6MoŸ¦¸%:bwEsô ÍÑi†´ë«j­ª3/`âè,Î[8foM ?€e”áDTغÖÒ¥.0mKÏdçî(\ñ¯.Fâ°•èù\ðõ}ê.ßs‰7›KÆ/2Ø~O7'ìæk€m·®ŽéÁÀ}Mª’4´v™7ßö©ÿ^Uª¤endstream
endobj
-1864 0 obj <<
+1874 0 obj <<
/Type /Page
-/Contents 1865 0 R
-/Resources 1863 0 R
+/Contents 1875 0 R
+/Resources 1873 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1867 0 R
+/Parent 1872 0 R
>> endobj
-1866 0 obj <<
-/D [1864 0 R /XYZ 56.6929 794.5015 null]
+1876 0 obj <<
+/D [1874 0 R /XYZ 85.0394 794.5015 null]
>> endobj
594 0 obj <<
-/D [1864 0 R /XYZ 56.6929 217.9621 null]
+/D [1874 0 R /XYZ 85.0394 540.8995 null]
>> endobj
-1725 0 obj <<
-/D [1864 0 R /XYZ 56.6929 190.7072 null]
+1730 0 obj <<
+/D [1874 0 R /XYZ 85.0394 513.5566 null]
>> endobj
-1863 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1873 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1870 0 obj <<
-/Length 1211
+1879 0 obj <<
+/Length 1198
/Filter /FlateDecode
>>
stream
-xÚ­Xßs£6~÷_ÁcÜ©ˆæžr©sÍM/wuݧÔãQ@8j
-ËHŽkC×±íz$ü5øsØx[N=e?×ö¡ë[Þ :¨a@dú0pÏðÜ
-ï*A¶h¸W¶Lï ï壒ãL(é°aKùv$IÓ^H-Í2&i|š|¶º!ë<¡!•­Aú ‘ÎBë¥@D\M$dY$ú"HÃý½2_Þ?’ͱ™^ê÷tÙJ:¡X(${¡¹Óùm €F´=KzŽí–0¿”¯\xžk4Æ÷ìó_hé
-ÊØ“Giç*ºÃ 1« ²bêIØ}܈?‘?Ûb3@3}V…^A¡Dˆ¹ª‡Ã‡y¢Ø«{ñ¦AUåÃß„‰^Àõ©àÝD­‹w†­Ü¤*¥w~ûÖ¨õáëQ<ö‘;OVÔ¿O¡íº³U1©RB«(Ü}º/¦š‚L”¼ûŠ«OåSÁ$ G
-GœÌƒÝ¥Q•¥Š2Œfº.+”ôæ5á÷W '‚µ‚ðÅÊãÇñ.%¬hø϶}D+ë×…ò¬éO,rJÉ]µ©:³ý¾·Ìs§y'wàpmt|{P0œx§ûŒ §îƒl%¬mŸº½Qÿjµ7ßí/ÒU@û¾µ»²¬Æ5mŽ o^-T¡e€%ß]*‹þ? A*endstream
+xÚåX]s£6}÷¯àÑîŒT$¾'OÙÔI³ÓÍn]÷Éõxˆ„+ÉIœzÿ{ü‘€“>u< BBGç^{¹ÒtùCšeCÛÞæx&´tdiA:е;9v5@Õ; ~ 4ßú4ü|i8š=ÛÚ4j`¹Pw]¤MÃÙІŽ$‚>¼øzsy}õçä|ä˜Ãéõ×›À–>¼¼þm¬ZW“ó/_Î'#€\ /~=ÿ6OÔ]a|º¾ùEõxêvt2¾OÆ7ãÑ|úy0žnliÚ‹t£0äû`6×µPšýy CÃs-íI>èyÖÒiÐ2 £îI ~ß
+ãƹv\hº¤"Uæá=æõ)Ø>õ®²gQendstream
endobj
-1869 0 obj <<
+1878 0 obj <<
/Type /Page
-/Contents 1870 0 R
-/Resources 1868 0 R
+/Contents 1879 0 R
+/Resources 1877 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1867 0 R
+/Parent 1872 0 R
>> endobj
-1871 0 obj <<
-/D [1869 0 R /XYZ 85.0394 794.5015 null]
+1880 0 obj <<
+/D [1878 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1868 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R >>
+1877 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1874 0 obj <<
-/Length 1124
+1883 0 obj <<
+/Length 1066
/Filter /FlateDecode
>>
stream
-xÚÍX[sâ6~çWø:#Eß4û”MIš.ÛRú”fÇ–w}[I4!Ëþ÷ÊÀ$&ØÐm; cY²>}çÓ9Ò‘°ô– mF˜á0Z[†Ÿ q¯Û®¸þ¬?ͯÞÏg—Ô1d6±YØÀr!r]lÌ‚›¡ i4¼ø4¹¼¾ú}z>rÌáìúÓdˆ…†—×?«ÒÕôüãÇóé`×Â˟Ι§U“]c¼¿žüXÕ°ê±t:¾OÇ“‹ñèvöa0žmliÚ‹- ù2¸¹EF Íþ0@2×2õ ‚˜1b$Ó¢Ð2)]×ăß¿n
-©ÉØa–‡ã`Tß!0øÄi—ç,å@*Oéý<òå±ÙDà)ïèì*ÑùŒà¡àò¡ÜrŽÞKia¢Äòˆ’G_ˆ]S±Š@µ;!Ï\d -·3 T|
-.×âšN®ê1ÖÍEmá4[÷™§ÞÚÐ?ö¤ÜäŽåBÔ«–yÝãAç³ïÚ´Ø—"¿áƒ<æ÷Ú‘³´‘=ôWÎàþgPØ$·Q«.é*ô¢xݧ™à-GŸòqvV='Y˜×I󄧊°Ugܪ³yªÎø…ÎR-îÞÏ‹ãì|Yp±ÜÉü‹¥ŠK9×ÇXÿ¡‘õë dSÏÈ)°øŸ˜ 7<'òâEÞ,ϳ¼p¤îGûþ_Þ9œpêÇÿí©ÿß:ä¶ÝqQ}ô¤´íFJÿkv'ßm/MÞ¸.Ù\mÒ¸Ú"Ž MWƒÔ¤
-UyÅ|}Qöšúß–\Y¥endstream
+xÚÍX[sÚ8~çWø1ìŒ],Ëš<¥Y’¥³¥»,}¢ ã€H<56µDSZòßW¾à 5á–ìd2–%ŸïœóéHú¶ùÃ–Ë ¢Â¶¸°!C˜Y“y Yfì®…óoÀæ#PýêÝ uyK¹% pˆc f,"×ÅÖ`:¼¸ùãú¯A§ß„¡ ¶sÐÅ»nï÷¬Gd›½Ûîݧþu›ÛƒîÇ^ÖÝïÜvúÞM§ °Ë°±'9ƒÛu׿þðáºß Þ·:ƒ"—j¾Ñ$‘¯­áYS“öû‚T¸Ìz2/b!ˆ5oÙŒBfSºé Zÿ´þ.
+¹PØ‚[œ èPBS‡mà t±Tx:öB5“1PÑ2žÈlp%Õ8ŠÇat•½’¼s€1Œ‘*Pi¶ª™F ù {ìM§qÖ³N°Ã!åÄÌ<†Ü¦,…ù-bPpάJ¿Á™ñpÅ:kú‹qò2ÊÞjÑÌ)¤¶û£ßœj Î¯šy¥Æ¨½¨cUúT`HÒùËÅÕ@D¡J{ÚWÚŸ¨­ùh€kž•©§½{Oå¢tì‡ÏýÄrKõ´?ÏAÂåü^Æ/Ô™{ßOiˆDÇ«3 Ò8Ž…¨§² ´æžÒ£ã'䇌#F¦= u°
+E²§ÔО¯6>6ÃIoR4eùŒCo“èpxJåUø35m„Õ«Enñè‡úª‰‹™4VÓ 5(ù`
+9
+A«S™›<ÊÉä¤ÊUûäÅázæùÁÚ£X–‹°@L——Ù³å ³;_r.C-§°‘gÜȳ}.Ïx‹g¥—÷/‘çAô¾.e¼Ú fýf«’Jçžž<Ž³KdýÏ0YÁ43r,~ z¡r|/X.ªíq´H
+ép„“k¯–Ú®¢?`×I6‹Ä̢ذZ2£åw½Ž½§£1 †Ñi‰’dµžù±ÒûppŽŒUmú‡Å©U…ûN3am©=L‹Úãàg™fͬR—ëzÀé¡Í´1'[Žœ4ÑóEæEb£ÂØ¡I¹1Y°Ãwy2ËŸš’ðÓ²(9ÍŽ
endobj
-1873 0 obj <<
+1882 0 obj <<
/Type /Page
-/Contents 1874 0 R
-/Resources 1872 0 R
+/Contents 1883 0 R
+/Resources 1881 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1867 0 R
+/Parent 1872 0 R
>> endobj
-1875 0 obj <<
-/D [1873 0 R /XYZ 56.6929 794.5015 null]
+1884 0 obj <<
+/D [1882 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1872 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R >>
+1881 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1878 0 obj <<
-/Length 1177
+1887 0 obj <<
+/Length 1951
/Filter /FlateDecode
>>
stream
-xÚÅX[sÚ8~çWxú;#U˲&OiJ²élÓ-¥/K3Œ‘xÖØÔ¡ìfÿ{%Ë6Æ1 éìäc]¾sô‹t‚¤ÿ°ã3ˆ¨p.\ÈfÎtÑAΞ»êàb (úªwÃÎÛKÊ…G<g8¯aùù>v†³Q÷â÷ó?‡ýA†ºìæ¡î»ë›÷vDØŸ‹O7—×W_ç=îv‡×Ÿnìð Ùôo.ú=€}†õ~R ìÙpyýGßJWƒóϽÛá‡NX¥~^Œ¨9È÷Îè93}ì©ð™³Öb!ˆ³è¸ŒBæRZŽD/Ï`m6ßÚÆ£>d>á-º¸F ñ\H=O8œ èQBsGË$U=à!Ô —cóqkN¥¡ÆP0F첿åƮҭ•¾!†­tfFÂbî¿bÈ‚Ìt1' P»fü
-6†aM›æqKíë¼åšxÍŸÐ̃”bÞÖb£*µ^ÝÐoÿÛáj·û>©¢cÇÝ:  Ow¨î›©­/‚>!£ìü‹U5Ó_endstream
+xÚ¥XÝ“Û6÷_áé“<3üÐçäi“îæ¶sÙö6îË¥;;´E¯u'K®H¯ã^û¿H²ìhïšfü ø$ͦ~lš¤$-x1ÍŠ˜$”%ÓÕvB§O0÷~¼Ì<͇Ro“×7"›¤Hy:]¬ºrBóœMå§(%œÌ@Þýxwsûþçû«YG‹ÛïfsžÐèæöï×H½¿¿úðáê~6gy¢w»úiq}S©×ñööî{äøyAéýõÍõýõÝ»ëÙÃâ‡Éõ¢ßËp¿Œ
+»‘_'Ÿè´„mÿ0¡Dy2=À€V|ºÄ‰ I,DàÔ““ô
+³néhü%\¤|$€1 `RTpáøÇ»P4炌Ǝû[Û¨Ù<¥ÔQÜúá§U-µ~ÀÁÜÒ°nÎ)’óbŽ;¿bÝvÙ•½”âNêÓ™~¡ m›úøûºê´Cþü<ü=ªÓÁ?ô?ÕîQ–eçy»¶3=ßÎÌB‚=÷ùcÜ<š/U­ž¤©Úfn7€Ì£Òm÷Ø´#»˜_„ŽfD\dä;òÝŸÍ¿ÈE§ÊªS+3šŒuU{1mºªy
+¿¼á­ÔFuvÝB¿•æ”A£>›ß;yøªüɺnó_÷ª;ž%ЦMiýV›ÇºÒf,)-š_ï˘^dýͨ/làËëΦ½®µu
+’òSCã94)êÃŽóÑH£¶ª18ü^ýB)o*k9²)‘øYË'ÕÛ9U¿@LŠ˜Å;„yKÿì--f v§ôeoËIÓ Z’ÈIœÆéŸjnÚW‘œ÷¶¿´(x1Hä‹öqUž +ÎUÍÃŽæ’@›ٸA¿Œ%´H]üû>Î| Å$cE¬ØbcÃ
+Õª{yGo$4(ž‘ı×åèU»;"Õ®QÈ¥4~TýœGŠÕé€
+'ÓPo½#i°Ò‡X}ðÑs>F ­ßöä J6È–µnÇŽ9¨Ã¹€ÐÚãF#iº/Xí,™÷™r|kKƒ¡èíy¥ZË}m^aöM%¹îÈvá
+ |BÞXh€É.ðqË°réWÙ<©Ø€®Ø)±À]Ççp·>º ˆˆc‹}'ÞIËhöÛ¥‹p—jÝãÌÎ9‡íæȲ\„c!èô !1)‚ÖÉ6(+Ç‚¶SnݼïäI-¥v¡
+ç‡ò÷
+NIœÀÍú, ¾’¡/Ãánð|µ£ªq(‰Ÿ¾"­(œ1PÁ#ÞǜЌ'½÷¯ÿ÷òŒ@—I½øa£üùò¥fÁ@qŸhãp¿/½Œ gWv¾ïí ;aF€°;ìzî¡E¢žAá!±«¿á2  ,tˆ}䮌>´AY p‡³Çá†úÕ¼ÕcˆZª ·ÿg÷4·”†§zíéjßc»÷‰½¯vû¶¤iÌ–ï˜ËÐ\¬>p%¼GÊÊ7>Ó‚9-¸Ê}é…1¼»Ûs ¶OâÌ%&…7äiì7: ñùæÿ÷N~Ân¼œÃ(ƒ7wJDB@&¦ˆ¿øû1üÄÎÿÓˆpAendstream
endobj
-1877 0 obj <<
+1886 0 obj <<
/Type /Page
-/Contents 1878 0 R
-/Resources 1876 0 R
+/Contents 1887 0 R
+/Resources 1885 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1867 0 R
+/Parent 1872 0 R
>> endobj
-1879 0 obj <<
-/D [1877 0 R /XYZ 85.0394 794.5015 null]
+1888 0 obj <<
+/D [1886 0 R /XYZ 56.6929 794.5015 null]
>> endobj
598 0 obj <<
-/D [1877 0 R /XYZ 85.0394 182.554 null]
+/D [1886 0 R /XYZ 56.6929 505.3435 null]
>> endobj
-1880 0 obj <<
-/D [1877 0 R /XYZ 85.0394 152.4401 null]
+1889 0 obj <<
+/D [1886 0 R /XYZ 56.6929 475.2297 null]
>> endobj
602 0 obj <<
-/D [1877 0 R /XYZ 85.0394 152.4401 null]
+/D [1886 0 R /XYZ 56.6929 475.2297 null]
>> endobj
-1881 0 obj <<
-/D [1877 0 R /XYZ 85.0394 128.0287 null]
->> endobj
-1882 0 obj <<
-/D [1877 0 R /XYZ 85.0394 128.0287 null]
+1890 0 obj <<
+/D [1886 0 R /XYZ 56.6929 450.8183 null]
>> endobj
-1883 0 obj <<
-/D [1877 0 R /XYZ 85.0394 116.0736 null]
+1891 0 obj <<
+/D [1886 0 R /XYZ 56.6929 450.8183 null]
>> endobj
-1876 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R >>
-/ProcSet [ /PDF /Text ]
+1892 0 obj <<
+/D [1886 0 R /XYZ 56.6929 438.8631 null]
>> endobj
-1886 0 obj <<
-/Length 2618
-/Filter /FlateDecode
->>
-stream
-xÚ¥ËrÛFò®¯àª²ày
-®ýÓ…Šm‘§‹xQ±.
-³Ø^$©ÓÄZi.¾\ü'0œ¬ÒÖ9ý%&SW
-%/¸m0ÇÖcâ€æãrŸås9—„Óæ'Õq^$¾E¨¾Ñ1¸åL7á GKs㻎úy3ð)»¦\V¾~TÒW')tS'ö–H†¼ Å}àúŠouK‰ ’!"‘j DðŒô‰‰UfÒ ýû¾@žÅeœ¿l*©/¯9[ Œ“äÈx†›þ¤q T´Í*;5ÝGr$ÈNl
-ª$ˆznFaÖNÎ,=g
-ø· ™ã[!˜ÒU{Ʋ}ª[^”îø…wø˜¼|&ð_^`ušpáMå°C@Ѥ™˜¶y2D̶þ†!ˆàÐÁ7< )12âWåà3q0á¡£×uuÑ¡V(ºqÞ̶
-£UXùÏTc wN\óð!ù ‚Ae†Ó +ÿ¸áDQ¡P"´){ØL3öÿTÉñ^é$æy’¢‘ÓÊå {|Ï ÒÉGÀ³1§”'2ªÐœÂÊëïd’¨¨²P¥“Šwì@Cíë%ÿªàˆˆä;¥*Ü)U¯îôOÕQå¡:ª\ª#
-º%Ðp}D(ø¾Ð= geزÛ×_¥µ€-Œ8û?ùeìgS5ów.z¸ý¨ óˤì
-¶^$“9÷Ê+‰Ï…þÀ¹àŽ“Óëò}f­âº½B!âr¿+gjxac¨Ú~„ös,̺´d +õAFÞjß– S‰JÝä9MÃ=/‡±ÚvÚМښ¢åø™Ý˜9ùVÃ>¿9wMç™ïœ‘ð·áDlÒ$¶N빟€àOnôÝ?8K`àÏs†²Óù=Ëã$&6‘j²H^ý
-endobj
1885 0 obj <<
-/Type /Page
-/Contents 1886 0 R
-/Resources 1884 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1867 0 R
->> endobj
-1887 0 obj <<
-/D [1885 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-1884 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R >>
+/Font << /F37 1030 0 R /F41 1223 0 R /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1890 0 obj <<
-/Length 3312
+1895 0 obj <<
+/Length 3273
/Filter /FlateDecode
>>
stream
-xÚµÛrÛÆõ]_ÁGhÆ„±»X\ÚéƒbËŽ21•Jò4Ó$ ’hA€!@Éê×÷ÜIpêÔ­=š={öìíÜÏ‚jÀ5I¬˜4œÄièÛ@ÙÉbsLV0öñJ ÍÔM‡Tß=]½ý`âI꧑Ž&OËÁZ‰$‰š<å¿x﾿ùééöázªmàEþõÔF÷ÝÝì=cRnÞÝÏ>Ü}üüps‡ÞÓÝýŒÑ·nngïn¯§*±
-ækYá„w?Þ2ôñáæÓ§›‡ëßž~¸º}êï2¼¯
- ^ä÷«_~ &9\û‡«À7ib'/Ð |•¦z²¹
-­ñmhŒÃTWWíŒÒÔ1þ…:ñm”¤ãØ·¹¸/ïÀ¾j«üÀÂàñ¾S¥?P&šL­Šü4Ô¦—J¨RQ°¹ ÃdÛÔ ¡XÚ.ëÊÅ´íösdÑÛZ% ”‘I`#¤½Ž&áÑ@ï_M]ðPÙ2¦-7e•íÙ5ŒÌÜtžöóŒ÷Rvk!^ jÙTUóRÖ+Æ_¦x>8 \ØO­Õt¤E±íʦnÿt=5Iêf§ýÒ©—gnœr¸TΟUÕ+÷MýkèÕ~w­¯Èß yêí2XmÇS»uV3q·Ëêvô(Ëb' \ƒ ­·¤^³Á^ˆ—Gä&k;\á¶Ø=»?ƒ+í½¬‹š)y‘Å~×ÂŘOŽm],Š¶Ív¯L¹ld¥ìø<lp¿ï‹ÜŽß1´ÉºÅºhùVÙ½<™yÂf(ÐV͵òÓ Ê´³Gxók`ƒ:Û|e UÆ£>ƒY3°ªö… òœWnÛ¢…éŠÑ$Cì¬^²W™½o ™^<#‰nÉm^./ ‹V¯;öÙ¾[7»9ñ\0ª¬¿À/’!Zn°0÷ÇxþwR;kQ;«Sš†˜sŽáès™ñ0rš ðÈh­õS¥Å
-ŽK$&\Gý R/ëºb³íPÅtï£ O› e?Ø«›®\¾2ÅýÖªà–-¢ç‚á]þQ,PF¤%‚Ƙ'qf,šÜ9í%·³û'Ì©o>?}ïÝê6cïv’@8_.ÁÛsßX±&¤«Ñ—;'J¨UQ`쎼ùÈ!XÉá´Î·#|ìÛ %‰@7rËtÉ›SñО V_csÈ«¿1Yàb§
-¡ ¢ä,ÚO¹X€ß÷Ccí…
- „Å'6€"$†‚ò f÷’íò‘X
-‡….v‘ LgIS"ïn)¨f,W7`qï¯á$¹q/~âN„¶iNò_Ö+#¥ ¶[‰2 9ñ¤*‰[ ¯ Ve+DËQá©HíW\û)”pBêCŒ|Ã^½£±Ì¥ Vb~¤Lz¬o§ÆlÂx qŠS€É9F
-#É~ȉ·<V„
-”s¯0<;8ŠQd×vypr×¹E¥õÆ&6uõŠ²81ÐÏ%%Œ0 Já6{3¦Ió=™[$rCˆÜ´{*± ÷"•×-w²Ö!e…U…Ü®$[A ©uAéÏ`vãÅöXP–x"N’%ÁÇúï_Hw†IÄ7f&‡t'VRÕXR&\Nuà°q^Lu LF°±xDQJZcšy®¬QâÇ¡vîê] e|Y—]ɵ©bi!Àá_jȦlM²fB‘5-!-‰–«^ÚÂ/›°PÆÔH:õ\N5šyÿõ[¹ç9
-ÂôÉ›¶ájŒ B’- ×í I;ü
-˜Õ’—¸}MñÅÉSæ¢{1Z>V!À;1¼ÎäU˜ÏWmå#ôÞÏoßñƒ¯0› ¸\æ`ôþþ/Jr÷Œw´Ùìç阥²O:ôÀ×Ç/ÚrEÏè’#ÈP-ùb»Ÿ·]Ùí=äñÅÅ´8½Kö?´­ÿ‘ý§Pý…ýŠ<Ã\ö
- ÐRiŸB0»År •oTVKj®½¢–Ú²Nëb ŒœîFH¬)ö²§ì¿Pí2Ðýk¨Ý~ðþ>æpn HÁðmÓ_Qåzïî?½á¡Ù-=øQ/ðî>¢ú<vC%TˆËb¤dêhW úø]>ãk^ÎH¬Ö›}7^™qÝV|ÙVå‚ÐÃÄsõ`¹bl‘Ñú¨Lúox¯Œo‹…#Núú3F_2b<ŸœŸ¸24b•š¡óD4K¡¼)„¤ÆàLsø1A”2ŽÑáÁΔ©Š/Ä{Å«%À¯*w¦)Ÿ(çbɸKÙ›°nUdƒ"°GŽ:bý•:‚ZãÒbvkâ+°=ßØWô^glpj¦wD¨ä±é?‹ã¤ã÷+·ãéóÕQÅrz‘Ç¢pßeŸA€­ûz{ê¥t¢ÀK Õ©Jbô
+xÚ¥ÙrÛFò]_ÁG¨Ê„ƒ»OŠ-%Nmä]YyÙ$#±†
+­U–Z²ÆpŒÕQƒzÀ1âÏ*ùX¦ÙÍ0ó÷Ž%B+70Àbš8¢è§2û{Ù›§uxÎ$\Ûò¸„8råe90ž…yHytF3ˆk‡~JªY(ÒIÄ[ñf‡±oÿ«‚""’ïdU¸“Ugwú³è¨Šäè
+º%Ðp|D(è¾Ð=5{e˜²Ù6/’ZÀ”z|í·¿óËn˜O§ ¸~–Ew’2)øå ì
+¦o<H"ƒç©0V_òƒ, *±s:ß'‡‚ ¿éæxˆØm7n"†—i Q;‘N©UV°ÀRˆŽßI@©Ä|B"So;×2•°”=K3Q@
+&5‡¿ÙqBs,k²–`¸ð†k•I
+N°éütžg¼T”“ˆW‚ZömÛ¿r
+(›èèuEo_Jì¶9K¤Ä“㳫+°|™<Q’*#ÞMy±?võVn(ª^`µ9V+
+p+wÈ Ï2Ç¥g(ж=” ži¥šp2Ù“9•UhÕ!‚XKïv©€ +B0=a4É0Á
+ñGfsˆB¨¦°AtK~B†sIXû` .`Âk4ðwí8dÂÇYpÿgÑ•yþoR;›*Q;‹¥üÀ˜sŽáèKãxX¼à‘ÑZ—‰ïû0½Gþpñ5aµàE¬12 ™{¾°ÖqB]¢Ó…¥²²ElT™ŸTV$²ó ÓŠ<ee1±=àTÏÆɬš{ª“´¿æÔQꀘuQE
+Mƶ[T26X<1<ÇDwBq léÌì+ðL$„“αÄJ²¤ÁC²NrÛÌ”'Þ”¡YÔ{—Óھ¸àI!ÎHHî@ëFŽß0/¸ej‘8Oµ{j›ŠadÒ¤uÞSRåÈ‹Ek‡‚¼eCÉŒ“¢ÄuL
+ phUVü‹†)+€º/yéË ,>ÓÆ‚kæ,¨ß¾ºíb"äyœ+¸qHü)£_Á=ðù<€H”5ðeª†
+=(5¸I€ïTº›3=`äÁš¤ñˆ£Ô×/T¢y]ìjúNlÁ±|ƒr×›‰à˜CÉh²ÃDåüî:ó=*7}qà È:’,ß6Sùð­€êEæ^æoZÄY^ø¼®rr|`Ï(wÉ"7±¾-c½—‹Ÿ³å:ÎK›Ÿvè&€ó¢(ö9â{ß
+5ÅêU¾eb“—æ$iãTßpÚ-­
+“€bæeÌyØÁQŒ"Ûaäȃ“ÇžÈSQTZoj"~¸ÁYœè—†ÒE˜…­B÷nJ“žv#We¹!Dn+ɤÙdþ«m&}{‚Búà‘²Âs‹Ün%WA ©òåù`v“Q>©cŽx"N’¥ï|èÿ¥vça
+ñy þÌ
+AÈK
+4¢˜ú1
+üóO_ö¿ 2yœ…iбv*ü&]æÜp-ä^iÏØ!Ú:Pýâl{ãendstream
endobj
-1889 0 obj <<
+1894 0 obj <<
/Type /Page
-/Contents 1890 0 R
-/Resources 1888 0 R
+/Contents 1895 0 R
+/Resources 1893 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1867 0 R
-/Annots [ 1892 0 R ]
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.2146 145.3358 375.7455 158.0731]
-/Subtype /Link
-/A << /S /GoTo /D (root_delegation_only) >>
+/Parent 1872 0 R
>> endobj
-1891 0 obj <<
-/D [1889 0 R /XYZ 85.0394 794.5015 null]
+1896 0 obj <<
+/D [1894 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1888 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R >>
+1893 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1896 0 obj <<
-/Length 3121
+1899 0 obj <<
+/Length 3094
/Filter /FlateDecode
>>
stream
-xÚµ[Isã6¾ûWè¹*B°ÄÑé¸;N¥ÝÛ9Ì$9Ðm+-‘ŠHµãùõóŠ›@wÅS]]‚ÀoLJåÉlFᛩ„$†›™6’(ÊÔl¹=£³GxöáŒyÌ"€mÔ÷wgß½zfˆIx2»{hÉJ MS6»[ý6O'ç Îß}º~õá×›‹s-çwWŸ®Ï\Ñùû«Ÿ/]ëÃÍÅÇ7ç –*6÷ãÅ/w—7îQâe|uýƒë1îã„ЛË÷—7—×ï.Ïÿ¸ûéìò®ñ¥í/£ùëì·?èlnÿtF‰0©š=ÃJ˜1|¶=“J%…=›³Û³5[Oí«£ñc”p‘ð‘
-) k›!{\G•ï¿¬—¹‡[—Ë­ûöñêî/ò÷àO 츀(NoÁçWu×€Cô×%~ªyõ”¹hº¡Q)1ÆÈ02.åtLCŽf÷ål„z¿.•ë¯^ª:ßVîÉ*«³{ 4pSP6¯Ë'ÿºG€5{÷”·]€ïök¤–—œ+÷NUºÏ²
-ã×ðÑ}T/EY¼l{”s\pTZ„÷;Œº€éú”#<U8pØóUþ%ß”»m^Ôî‰ÕŸïž²²‚ù„Ú«z¾¸vïí\˜êrYnÜ£¥¾¬Æ‘µ’
-u³:¶ë¤ M1ÃH&çÿ æžà9°sßöö,—a~´âvïgX+õ¸Žçuýtœ…ÃøÈê4„–¢Oc 8:MÚˆxX[Ö‚AfNÓ$™-„ Bé´Ø…OìÞM°è“ÍÉÕ`ébD3ȉ*Å¥&9µÔ8Т:½Ò4(4(Ô¿€ñ_?¼ô•3H·LBvŒjoP#ê;ÌÆ1è騿Íó^^\åÕr¿Þù‰ìâ0¼FÊe«¾=͘0D*Ãœ)ú~—ׂuüt÷3׸iyÜà'<Êu./Î!XBdß$¡Ð|bàÔ„!Cih9I6E‰‰™ [ ![@Çé¯C¾á'THWÞ F´w¹ü`‰èªK²5Nô¹
-Ñì<Ƹ&M˜îøåšÇOx<”ûz®IC´d<ú5aÈPZœkPZ‹ ®µP®To˜å`OˆÑi×ß F ènKa~%”u-xsºy?zÊ5'Z'ÉIÆ ˜3FÂ~©íC„q ~Âé¡Ü×3NÃY‡OE¿AM2eœ4”(¦uœqmÔiÆ5¨ãHÕû¬¨òýqöp
-ŒêoP#t‡»‹¤oÁ[2®íGOyÞk#N3ŽR¢•4WcŒ ø §‡r_ϸDC2’"ý5eÈ@Zœq  TÊ&×BEPÇ‘:ì`œTTšÈ¸ö5¢¾Ë7Èp)8ÚÑÿÏøf:|;zÑg')•ìôŠ
-Ûv8ÉtÃ[Q~Âå¡Ü¯Ø½AFJÁæhìÔ„!Ciq¶ @8¡ÄÙÖBEØP¨ÑÐbWnÖË‘ý,ûZ™¸ú5¢¿K7 32yÇ€Ûæ@×=öþι¼]owOB£ƒ¿0°ßµ†#Ê}÷0Ææþ‰ÜCXÓaé—‡bI,à'\Ê¥‡´2Ð ™7ã5eÈ@ZœV|1q&h"¤ò þÜ_Àÿ9Û¯ÖÅã€]šA "jEšÑá–N`
-ÄütV“”€«¶Çö5ð¸ï©¯Ni21p–e&: hŠ¾¬(ñ„¦¸ÝqæµQ§©× ÜhUå©›ª`o Ë]TyƒÑÞlJÚ?xýι™oó¬
-¶yUex M½Øpþ šZÿ\ŸëAgV¾ç°sŸè&b3ôƽî›ueï-±íŠ)Ø›o{ó‹/a!Âß ºWí…y[Èn¿ÞfîÂ
-¼!¹÷N†Á èÚmð6ñâW¿øŽÕÊCUå•{¯sŠ{:¤‡WÉñЙý9 SXÉpÏWù©ž_xóÊ}íZ¶ä„û¼gË9›ç+ƒb¬Wjñ—µRÎs`Þˆ¹RjŒz•µ&CC¶mÅÈiÀB—
-Õ^áËp1 ]^¤íô<«Ü÷’´›øêœÆŽp—nÅ ,Ú Ä[õ‡ì°©]¯\ЩqLºp!1¸D™¤‘»Û«
-¬Õ þhµ¦~îõ7ÊHÖ‹‡l½ÛÃÞÀ°Ö¢rÚt®á€ÈCF¯6Ù—±»¼¿åJ½å!±À–~ì– Â%ïY~ukuaÚñÔ–#Ó+aã «­¡^ù0>h Q´ñödc¿k€´×¯Ó9bƒ;q®k£"Y( Žihûw_±1°¸Ð4®8€FwøB%V[XWóÛÜ‚¶íïï}IdzúÆ«"dÇÇØTÀO¸;”{êøÆW’ºæaoP† ¥EOp /L™‰Oušc ê8FpY-á¤=V㑰鋪 õý
-H¹èê›[ƒ¡Ã
-3©ŽTx †ø£ž¶Ñ
-ÇO8=”ûz¾éŽyBăߠ¦ H‹óM)·ØÄùÖBEøPÇ‘Âßü<Úl Ó‚ª¸þ
- ëx­ñxü„ÏC¹¯ç[ÂHªÕÄØ7¨ C†Ò¢|³áØ5ñk°è4ÛÈîó=°U™-êz3Loœ(©DT{ªï’MÅÝÑÿ6\ñ¢Ï¶¸‚E²›„™ÀUÛÑhróð¸Ë©_‘Ú(Ñ 3ÑÀ7  +ú²¢<K`­âYíˆ9Í2iU]Fø\}°Lh"ÕÝ`Ê»?•åD*ÚÑþ6 è˜=åpÂzG~#!à<:­-:pÔÝžÄW³Ëa0!ðµ /iœZ¡g}1º-„ÿþ:ãÿ¡Æñ¯X¤†ý{ÊO,¸¿LAˆ7
- 7ÉpRø¿èšþ?t­êhendstream
+xÚµZKsã6¾ûWè¹jÄàI‡=8ÏŒS9±Úìfr %ÊfV"’²ãüúíFƒ)RÔdg¶\.6F£ ˆ|ÂàOt„V؉±*ÐŒëÉbsÆ&Ð÷þŒ{žYÍ4ks}wöí;i&6°¡'÷«–¬(`QÄ'÷Ë_§a ‚sÀ¦—7ów×ï¾½87jz}3?Ÿ ͦ﮸"êýíÅÇ·ç3i>½üpñãýÕ-u…^Æw×ó·ÔbéqDèíÕ»«Û«ùåÕùo÷ߟ]Ý7¶´íåL¢!œýú›,ÁìïÏX m¤'/ðÂn­˜lΔ–VRÖ-ë³»³Ÿ­^7tÈJD-Pà!¹9>-MÁ`ZOÉ&E<CDhÁÁ¡šˆ(ÞŠ,° fb´ B)¤ ÉSšUè—oß Ñb£À(“#ÓýS®ä|šfi•Ækz)“Šˆ|…O1-Îy4Ísߚś¤f,ž“¢ô"ü³Ü&‹ôc"YRîL³GSË'!”ÓϽý•g ¶¨.(6ã<°Z §á?Ÿ’ Ùì´"]­ŸÕÓU\T%Ñ»í „ž¦•o(“ò`lÛë|TsäôDų%ÑñÐgý€¢Va8 'C퀖M^VD9±É"Éüû:­{œÛaPkbhõnÊ»V‹Ôfz½òý9=ëÀï¤5ŠnFÿHŠ<»‘bºÊ êY¬ãÒ3]ÏßA&à°ÚR ½‹…Gæ›mºN–³4£†e²ŠwëjØe`š gøÜŒo º$ä*°8Trz‰Ú%¥ zDVOqFÔõÜŠŸjAïàóa—®+Tn@¯jIÙÅÏxZT¤‚(”᤽&¿h•+&¡;Ôx©ÿë¥ XSZFÇÒ‹€VR‚ ,ã”6Šd™Éb(uD ²ªQ>uüHÁzN— Í$"
+4ÑOqI首ÎcØôv~wwu‰´®“]îžK?æÓìíÍ?8<9µ¸ÄÙ™lþË`Ä)È´P½[¶y†¦bKê—p™>f.~@W´‘
+ÐP”DÖèáA §¤˜„< ¸aÒgÁuò£Sf9®ž>p9ñ<²MAþöKž]¤Ü¶
+Ï$[åMVºÞM çp:×ÛzµóÂÜnˆÂ³UøÏ£énQQŽ܉q)ãXÆÂ’s> 1X•äÇ7Ô5¿ºÇøº76½¹}( ¨ï"{¥fÊYÔ»KE­©—^ïàé3Lá,†Æ—´zÊwƒûÛ”™&n×é«© …ÔšnÚ­{·ø^ÿ¤… ñæ)Òê•ÚKÈdž9ò8Ææ‡d¨¨HóØ-U¹ W1·²=±™"‹Ô2O<K†Û³³Ýb¸Ä(cŸS(›Wò§ó='iCe
+¸ÒÑþtÉ-­ÒoJ¢éƒÔ&~%"ß"b Xòïža•cýD9
+Z}oLwDq™…¹å°‹È´ž•²kŸy\êž»ŸA$ìÖVðÐg¨6vB ž4u ‡» ®ï¾,Ž¶0µ¨¬JŠ,ª±• "ÁÌ^ C™BÁ椬ÐÝTP:`Án“,ñDÈY³!ï !(¼Zå.&%wÒ£²ˆˆç¸ô}›øw¿±¸JhU'›2iå#¨ ߇yÀd ™®½ehš/ –6`VFuL‘ÃÂ/õOÄ‹/
+ÒT&z¬*6õ. xdL¾tl%^xûx}ÿé.¿S&‡† ,c¼}‚úþºê*@ÅŒ+Js*f˧¸U}Ì4œ£¬U‘i«†°*pás\¤¹+o¯P1oJêYÆUü€ŽlJ(&Ê–÷n¸ç
+êeÓG²c·­Ù·EŠÐò’éÆ”9=ó LT’ûkhùOòúâkòÓ{臻¡ …ëuñè+ì×,Ï^7#,”fõx(ëÄ\dþT/"CBÁ†øœ¬óí†nL ÇÍÏ˧8/a=Ⴖ?\ÌiÜ–ÜTå‹|M]‹výã$eÄJ«6éÒ…a˜aWÓÓñz0DÄLEþ¾ ÅÆÙPµU—2Ýëwܨžö«°ï¨4«]{ùáâf(
+·HŠmÆ
+·šÿ„Å}¹dòbo⃪W¹i´8ø†ë„"}iƒ•[6 \è°q°µ¸FÀVs ÜÏt±&&•Ÿ¼á˜½‹5Àewú¯ ¶£—LPPȦòš XÈMÇÎQ¬yþ÷å~>Ö” ŒâbÜõ × EúÒƱµ´âüÖZ\#X«¹Âg£ÜDXEãó7\
+tËRX_!ã] ¾:ܼ“†G'aÍXõRÛ†Ä5ü'ŒîËý|Ä„â”÷®SŠô¤"ÊŒ
+xc÷{.ó²!_‹¹{iæ?IsÔþ“)„?GÔ_G¹¡îÚ¼-d[¤›¸÷QcR‚Sä`­
endobj
-1895 0 obj <<
+1898 0 obj <<
/Type /Page
-/Contents 1896 0 R
-/Resources 1894 0 R
+/Contents 1899 0 R
+/Resources 1897 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1913 0 R
-/Annots [ 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R ]
->> endobj
-1900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.2769 576.5908 352.9489 588.6504]
-/Subtype /Link
-/A << /S /GoTo /D (access_control) >>
+/Parent 1911 0 R
+/Annots [ 1901 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R ]
>> endobj
1901 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.0654 546.6312 350.7374 558.6908]
+/Rect [251.8681 527.9012 347.399 540.6384]
/Subtype /Link
-/A << /S /GoTo /D (access_control) >>
->> endobj
-1902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.9531 516.6716 380.6251 528.7313]
-/Subtype /Link
-/A << /S /GoTo /D (access_control) >>
->> endobj
-1903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.7586 486.712 368.4306 498.7717]
-/Subtype /Link
-/A << /S /GoTo /D (access_control) >>
+/A << /S /GoTo /D (root_delegation_only) >>
>> endobj
1904 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.0084 456.7525 360.6804 468.8121]
+/Rect [284.2769 283.6598 352.9489 295.7195]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
1905 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.7921 426.7929 399.4641 438.8525]
+/Rect [282.0654 253.6328 350.7374 265.6924]
/Subtype /Link
-/A << /S /GoTo /D (dynamic_update_policies) >>
+/A << /S /GoTo /D (access_control) >>
>> endobj
1906 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.5962 396.8333 470.2682 408.8929]
+/Rect [311.9531 223.6057 380.6251 235.6654]
/Subtype /Link
/A << /S /GoTo /D (access_control) >>
>> endobj
1907 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.6971 211.3132 326.3691 223.3728]
+/Rect [299.7586 193.5787 368.4306 205.6383]
/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
+/A << /S /GoTo /D (access_control) >>
>> endobj
1908 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.7975 181.3536 379.4695 193.4133]
+/Rect [292.0084 163.5516 360.6804 175.6112]
/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
+/A << /S /GoTo /D (access_control) >>
>> endobj
1909 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.6055 151.394 377.2775 163.4537]
+/Rect [330.7921 133.5246 399.4641 145.5842]
/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
+/A << /S /GoTo /D (dynamic_update_policies) >>
>> endobj
1910 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.1999 121.4345 362.8719 133.4941]
-/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.0862 91.4749 371.7582 103.5345]
+/Rect [401.5962 103.4975 470.2682 115.5571]
/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
->> endobj
-1912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.9347 61.5153 401.6067 73.5749]
-/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
+/A << /S /GoTo /D (access_control) >>
>> endobj
-1897 0 obj <<
-/D [1895 0 R /XYZ 56.6929 794.5015 null]
+1900 0 obj <<
+/D [1898 0 R /XYZ 56.6929 794.5015 null]
>> endobj
606 0 obj <<
-/D [1895 0 R /XYZ 56.6929 769.5949 null]
+/D [1898 0 R /XYZ 56.6929 485.332 null]
>> endobj
-1898 0 obj <<
-/D [1895 0 R /XYZ 56.6929 752.4108 null]
+1902 0 obj <<
+/D [1898 0 R /XYZ 56.6929 460.007 null]
>> endobj
610 0 obj <<
-/D [1895 0 R /XYZ 56.6929 632.5933 null]
+/D [1898 0 R /XYZ 56.6929 339.8289 null]
>> endobj
-1899 0 obj <<
-/D [1895 0 R /XYZ 56.6929 607.7857 null]
+1903 0 obj <<
+/D [1898 0 R /XYZ 56.6929 314.9222 null]
>> endobj
-1894 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+1897 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1916 0 obj <<
-/Length 3094
+1915 0 obj <<
+/Length 3306
/Filter /FlateDecode
>>
stream
-xÚµ[[oã6~ϯ0úR¨¹"Åëã´ÍtSlgv3)v¶Š-'jdɵäIÓ_¿‡WëJMÑ)Kä'žsÈçB)x•À?¼’ %©¢+¡(b f«íá*Y=BßwWØa6´é¢¾¾¿úÇÛT¬RœðÕý¾3–D‰”xu¿ûiýÍ?ßüûþæîzCX²æèzÃx²þúöÝ·¶EÙŸoÞ¿{{ûÝwo®]ßß¾g›ïnÞÞÜݼûææzƒ%Ãð<q#Ì<ðöö_7öê»»7?üðæîú—ûï¯nîƒ-]{q’jC~»úé—dµ³¿¿JPª$[½ÀM‚°Rdu¸¢,EŒ¦©o)¯>\ý' Øé5NÍe1BùjÃ’TðéYNPÂ`Ö6‚bÄYªÂ,<5Ë¥gyW5M¾Ýœ»¬Í7‡z— ÇBÁ¯º£t¨ %HG ,),±hñ!Ïíä·Oîb—7ÛSql‹º² õ^+60I ”*A…y[
-(Žùö‘¢š›J‰$¬g®í<=®ìÅ]Çð€_0|<®5|{1Q“ó¡B”¦àTÅç? Ô¦Õ@#¶;J Œ‘ ]à]áGuÖ
-~žó×Ísó\WåëˆzŠ Tò5jBõ€-)EþõTŸzcs†:$
-ÉT¤³ô£˜!Š5M:¶Dèð ÆÇ¡Â#•$A‰ñEð %5†cEÙÇ% $WqöuQóì (-±=½nÚíqsÊ÷§¼yñŽON!DE¨ zkÎJ!ôõ4ø<´›°c œ Éæ½]ŠA7"{–ƼÇ/Ø<÷“é–‚‰-I|òjI‘ÑhqÆ1 ^:]ðw]T„qeDÖfY3Ž®„" yO\r@MˆîQ€{á˜ôe8æÛbÿz½I©ã[šªuûzÌmÍümm[êÜä;{µ¯OÒ´õ©¨»ÃÅuå†Ðê´K&ë{/¶i/ì벬_z#Œþ)Ì`¥Ág(Æðh>‡>&…L$ñIøãÐ˵֞ˆuѸߪÍOGÓ“·Æ4"×™ëÌìOY4­½2s€—§¢Í›c¶Í7»¼,…{T¬½”F[L‰³:~Nròã tÙåU[l´àBÞÎNbÔ×ç Q¹
-¸¸,”i†…ü
-ÆKÔ:«v¶-«^íEs~hòßÎ ÆÞ-ÎÚooŽYcÖØtô
-={F³®]Aá\Bf^²W{ÑhâêØ:_Y}æE²n†‰@A(ì{!S#Ô,¡|ì>;—­½"ò@þØñ—KàD8ò|qzh¿˜ ˜Þf°ê+=^êkY}y×½®²¶øèÄÕæêÓ«½µ³°Û<”ÙöyÓÚ[¯©³ é…`AaÆ뙬auîåÔ­¥dCXIÞŸö6{v“Ô[ÐÉÙzÓk68]Ìʳ
-üý¹tq}oÛ]Tg¡Z 4¶)³?V“­º´š„ÜDj6ý8v
- ‰£HÇ£ Sð)á!²Ù‚V§%”ã>*m:¦Y®wbÒ.ä×次—Cþqɽ«Ý /LN-Mš9•ùÛyböHcž–4AœÑ…„¼‹ŠÐÒ£L¦úûÞh³™;ÅÄÅÔ„üáyO×Wà¿×Š˜´
-½]{†¾O¿Š}Ùª(L˜`]“£Äsð¸ñ£Qÿñ$°ˆ®€ÇÄuŽ´ð‰J ^úÀËcbŸwŒ=Òlõ¹Ø¨Z& Kcf$²ÿz]hò®ÌÏï‹æÃeM`Í8Ÿ¹5{"˜ì{µîÑQ3‡cþ‰×ê0‹,>ÓUa8Ò4“ü©.Cúûý iðßüå?¸ü ïè’ÅŽ$QÂ+¥W£-ÇR‰˜$bBõÿ\‘¡‰endstream
+xÚ­[Ysã6~÷¯påeåª!âxœ$žY§63Yó°•ä–(›eŠTHzå×oã/žŠkjJ ÐìøÐh°Ûø2øR¦(¡Š]
+ÅPšàôr³¿H.`ìÃv4kO´îS}wñÝ{*.RœðË»]—D‰”øònûÛꇿûåîúöjMÒdÅÑÕ:åÉêû›?Úe~øôñý͇_oß] ¶º»ùôÑvß^¿¿¾½þøÃõÕËÃûÄq8óÂû›ÿ\ÛÖ‡Ûw?ÿüîö껟.®ï‚-}{qBµ!^üöGr¹³ºHU2½|‡a¥Èåþ‚¥¥ŒRßS^|¾øo`Ø5¯ÎÍ_J%J%3HHoqmÆ/Eª§„š Ügm—7¿')¾ZSFV»º±î1× ºú»®rÛu(Ÿ[Ûʪ£mÜüâ:¶Ûæ
+ËUÞ¶ykßkù¦ø=IH¾µ4/E÷¨' ÔÂ=µ'ˆ¤\‚1Z¡¬lëuUwÅîèˆû60´L8Z½ZR¬Þ9õ꦳­}æÔ»Ï{º\á•Sø^®)Æ(Å0Ykh¨4%†¥QrM[åÙfN]K¬Tú*mSŒ¸J°§=Í‘•ÐÕú7]µyµu=zÒu—ci:÷ðBö·vľÄV™}´FëŽ^n<›¬rÔ–![mó]ö\v¶·ÞÙN
+˜X÷±Ï³ª¨vÏ¥}6»N7ÚîùÞ¶ô¶kõòàdug €ÎÓ*ÂCÑÚßÎæûCw´Í²h;4ñN JRpœ\Q„9›wÆŽfÝ#²®ÏøbO¤Û<曧u•\Ç‚1£ˆK—ˆ¦¢^ŒIÄE2”}÷X¯£Võ¡+jXcê&H÷ð¶¶G£E÷¸}Ø5Ŧs#ÖÝ)0#k²M§·’îÌ╣ɪ­¥iU—ýe;õ^2ïåM—Nò¶ÞÛ6 ر
+UÎõH$`ÿ ÷™õÄ@H¹ñS¥y @ìwµøñãgÛpêªõt¶k“È·¶ggºê½}²&B£Ê»—ºy2g´àÒÝ\úáKÖAͦ6œ¶€YÇ«6–$C|»£BÀt9ðç\­ÞûÓ=&̶anÛ8Ûg6;œ£XRGfö„`´ö'­Eâ¶ßH”"údåŽÇ.+ÊA8ELáÞÁr^u"H‰÷m™}ÉgŽUo¨ùKÖTs‚("ŒŒ4¿9±5²´çqУŽ$5Ä^±?”ù>¯:ã:CšY4áñ®÷±¨º9}0¬×y7SÄU*üP*âˆ<ÕÉíÿš¸!"a>‰KT3¢ˆ¡à„äCÙŸó|ä•·y»i
+ç–ˆõ3K-PB˜‚úŒ# q&ÃyS$Rè)‘#í`ópi·=sý‚¹S¾ÖÜÍÉ0?cŽðX%
+q†ÀŠÆç=P-(2åfqe)5‰‚x!Š²>Õy”ªÓ½åv“5Û ÖR†i\~ šQ`èœR5xK¬õí Ú Iyq”ÁÕ…%d`jq~Áè)ßW#Ž%IØÄñÙT ŠL¹ÅÇõYboÄõ¨"ˆóT§•¯›?4EwœB¨.4QÕŒCÈI}K”CÞrCƘÓ樀»,}#b˜óô VOù~æâDˆøôªE¦Ü☃@IJÁ0×£Š`ÎS–ª-îKûMâzŽƒ#0*>PÍÈ"#F”*ðϧˆë™1’Í)’J©óx#ú; ZÛ§_°yÊ÷õ§ªJfѹ÷DKjŒyÅÁØ$’-n}ªØ<•‰óFß´×m­»®œ:¸V ˸jFƒ!ÜR$ÅCÞn3†Œ'e4âß쩦Fý›£_0zÊ÷+ð¦À'KŸý@µ¤È„[rLèd!ŠëS‡\ ÒŸÛ¬Ë×Ö?<µOÌû•˜/h¨fT`N$H(1ÒámÕ9KFâáîG¸`çQ§?ÅŠ¾z ¨óô fOù¾þT…Û˜J¹ŠÏ ZPdÊ-Ž:FQ"Ô—²>UužJKÜVm›oÖnÉöõ6ŸàNèýÁtT3J p'J¤iñ6¸›·e¤
+6¡«.o6Ue² ”ÈUæ3û£“—¶eæ^‹.oÙ&_oó²ØîU±òRtª.ÒÎbÐ)´Æóé²Í«®X»L­Ó{1 l^U¹
+hœÊtÃB~«³çÊæuŸ)‹Ðöù¾Íÿ|1ö9héè¬ýöáµfÍÀ€àáY§d¼u\7|Ÿs.¿3žub³‘æ7³?/™Ë‡þÆùÊzì3O’SŸêóB%âú{¶MÊšÚܯ=À!ÑñcÏ_B,ŸÃú¦¹ï¾™Ë,)ýqÂ{áo5?ê‹}€³ú×^µ¶]e]ñʼn/ªõ>ß×ÍÑ>ÚYØ®ïË .J}ôš:ËLY„pie2ؤ†¬Î½ŸW3©:9*è²'7IƒÍ–=Ž?Ùò JÙêKV>ÛÜ+=AEêVÂÊíP±³½Ùv[hŸ•¶¿ïPØjÛÀD4ŽÛ£ÎUšîû\WBè¾²¨žl˜iœÔ¶×9,¶jóÞ×uP&_ŒWŸëý,ÆÚL'B¼Ð“í¹ݦ|Þzºj›¸
+í«îŸOG´m£2.nÂÒÐÇôýqP0qöä!úû›¾GOž>Õù“'POYÀ"&çfàU‰Ë T3‚çøh©«Â’ß(´úO¾XB8Ë?òbL6ûºÇòž~ÁØ)ß×Ç6D œª…YT ŠL¹Ec}ORŠ‰8ÂúTç¨Ì
+åeþië׳·¸”#%U\¾'š‘?
+/Ý9ýºÿ›S¾Z«¦®»õB çˆK.M ¨fôú‡1·ø¶„«’°‹ãÛ²GÙ–žÊÔÕÍË\=€. UTp š‘<¼qèïi”E2¸¡4Ôšs}gûÝ©ž†Ûƒ µ]™ý±ú›hÕ… ÌUÂéÏ̦Ÿ)‰‚K¹H¸àÎ|†)±ðåC&ʱ2Mm¨“T,ëú N «wm}ñÀBaÆãá6Ìv¦„Žè2«æh®8pó ÉÄ8=h >ä]^©jÛ™Uí‹ t¼)¸¾Š”óS€¡TÍ_?ffÁ”rûYx©ŸK'?Ó×2§“í©êf¯£:Ýå§ÃØVÛ> (‘œ /kFåÛ³@¸ªò…+wè<ü=QýzrÇ@§a™br=ÍTî°ðJÍð÷ÿjïPØÝ„tÙ#D  \õ\ï£kØË¥n™*h•—õ½™eèiׯìYƒ…{Ñøp ±å¼Ð1,zÖ•¥Èì£;Y‚L{{œ5u>Ü×ö|É$£‚RJx8Ó\Ñ1?ŒãqÑq(éó¦Y”÷N£mˆ¬C%rˆÿ>EÝÕv4¦N•&Àœ‹ùCÙ³þ˜ÎýÍM‘þC‡\À·ÇÿñßSœþØ„ D¥<ã_©®øë´WJÏ£cÍÃ^LUÿ?Cwendstream
endobj
-1915 0 obj <<
+1914 0 obj <<
/Type /Page
-/Contents 1916 0 R
-/Resources 1914 0 R
+/Contents 1915 0 R
+/Resources 1913 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1913 0 R
-/Annots [ 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1927 0 R 1928 0 R ]
+/Parent 1911 0 R
+/Annots [ 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1927 0 R ]
+>> endobj
+1917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.0435 622.8901 354.7155 634.9497]
+/Subtype /Link
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
1918 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.8612 737.8483 449.0612 749.9079]
+/Rect [339.144 592.2874 407.816 604.347]
/Subtype /Link
-/A << /S /GoTo /D (options) >>
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
1919 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.4213 707.9148 483.0933 719.9744]
+/Rect [336.952 561.6846 405.624 573.7443]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
1920 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.3165 677.9813 398.9885 690.0409]
+/Rect [322.5463 531.0819 391.2183 543.1415]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
1921 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.4835 522.3818 328.1555 534.4414]
+/Rect [331.4327 500.4792 400.1047 512.5388]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
1922 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.152 462.6742 267.6829 474.4748]
+/Rect [361.2812 469.8764 429.9532 481.9361]
/Subtype /Link
-/A << /S /GoTo /D (root_delegation_only) >>
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
1923 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.4539 211.1828 426.1073 223.2424]
+/Rect [387.8612 439.2737 449.0612 451.3333]
/Subtype /Link
-/A << /S /GoTo /D (server_resource_limits) >>
+/A << /S /GoTo /D (options) >>
>> endobj
1924 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.5019 181.2493 456.1739 193.3089]
+/Rect [414.4213 408.6709 483.0933 420.7306]
/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
1925 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.9629 151.3158 450.6349 163.3754]
+/Rect [330.3165 378.0682 398.9885 390.1278]
/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
1926 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.5803 121.3823 467.2523 133.4419]
+/Rect [259.4835 219.7917 328.1555 231.8514]
/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
1927 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.0412 91.4488 461.7132 103.5084]
-/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
->> endobj
-1928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.0796 61.5153 323.7516 73.5749]
+/Rect [172.152 158.7457 267.6829 170.5463]
/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
+/A << /S /GoTo /D (root_delegation_only) >>
>> endobj
-1917 0 obj <<
-/D [1915 0 R /XYZ 85.0394 794.5015 null]
+1916 0 obj <<
+/D [1914 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1914 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F41 1218 0 R >>
+1913 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1931 0 obj <<
-/Length 2875
+1930 0 obj <<
+/Length 3119
/Filter /FlateDecode
>>
stream
-xÚÅZÝsÛ6÷_¡Gy&Bñ ²onêôܹ&=Ç÷Ôö–h›ItE)®ï¯¿],
-cVô–/ªœÛ \mû†Ê öÔ9Ý1”w3jܶLNògLÎK&/Æ!Ê…eÂôuRÆ°LerÚùIêŒ&ÃÙP6
-€|>­E’Q£ƒe™3 YGÛ5sf曲ØBÖ{8 ²¸ÿ0àw` áq¸§Ÿw ehaçw£«õ n×°iÔáÓôÜüJW´—â¾)Ã30Q] Ñ„¤²€ò&@å.Šš§ú°ÆMÖŽ צÜâªÚÒ¶C-µ<ìšêsÙîjêõ! úÈZ#H“•>/æó+ÚFáró¼¥f0SÛö ÞÐJuÚ!¡……g·-Öë×nÆ$‚¸¬·ßÇCÊÞmìÏå_Ôzÿ1œžÂ©ë¥Ú?™¦©—U±ð¸>„§¯èø¯à_œ„BÀ+Á”irñ;¹™—›ç5¿äàÛìÕóß¡„¶¬7xKâè
-?ÑMZïöGºÞèox\*«ÇU",b«ÚV{ÌcáÓO¡
-m3;H¡“8EF¨ú­8}3R3'«28سsÓU¹-uº*'©^ø\Çe gz›Ok¤FTè’A G"“]¨"+Ë;YÙèTd‰ÙÂNREÆ^ºr3¸P©Â¬Èسª7æFì‹áay]Þ#¡ kØ6‘¹>Ö µl^,cÃãÛÍ‹Ãþ©ÞU¨­BŠóù¿\6]Ï0‰ÈUÊÐu…fDp泩jW÷Ï>%àô5]‘€xõV‹± í²iéP5¬V0àæ*¾—
-³ú06F‰´­(i ïÉ\)Mô™'#r~‡9!mŠOe¯ÂÍá’ň§öÐÓ V¿•¹†Ì šv½9,—`?
-Š°dÕ¼ÛE: +Þe'ÛrR'ælÄ7vÐÕñíºté"’f"üy ¼Š“Âñ!,s\ÂçBÇ®MÑ@µÂ—ÞƒT>b
-ÑViûÿäçÂBM§7_DÐ{ÞüB’~|ZžÒm%˜V¹jÓméÄncçñí¡]À=Ñmlùr•æt;b½@i¢Û^ü) ws¼é¸ Iç]½‹Ë&®-™ÕÃq’‘è8¾òr=®-óŒ*“‹\›á—›æÚølˆÚ<½_sžhãÕm”!¢Íó£H[ŸD¯½l—Plt·b{o{'­&‚#­VZžŽ<$v¤;RÝ×3ai*gÚ—¶ÔòôeDõQÊÿ;7œ^š·^?lêö+Žú„DŠÑ&¾ðhksò@ LîãY[êô IyLU‹ÏźZUû×…¸œ
-´cZ 7­F’Ñ£s*0’i(ß=þÞ7´<fÎSÖô?´
-uQþŒÝÃy¿uÜ2Lvz’ÔM†³M/iK¿‹9»–ÐiØE¡þVÅ|#Ð3r>j?¡DjÑе\)ÛQãÛã®kL_®˜3§±ç4Ër«ÚæNA/ŠO>˜õ+€§-3ƉIÿ'¡i5sMÿ|À0%řϯIfâó+Éôwiÿú\óg™†ƒÝÄÚIf°x÷#˜³.%Z«{¤Eú_ Àr-&œäÌfpd8Z0…±(=ipίø5T.™Ò<Ÿrz’™Ö¡7Ó8¼,`ƒðz#«Á_à™û‡€Ç_I)ƒâk½tÝ`’ *žgÃÀà@—¬QýÄ÷D'endstream
+xÚµZ[sÛ6~÷¯ÐÛÊ3J
+βlDÓòŒŠ/oÿwsǨjY¨ˆ…ÐP=ÕñÙRƒQÍŽtÅF?Ôº©ÛÃþR/ëÃð2›ÐøN_ZóçLÃŽ‡W+`·+뢪ŸèçÏBÄhÙW7q—@±L%@äÈÈÈxßj­§èýµÞÐ}¤,“BÛŒu8­¦4'Þ¨cº]¿7µ­‘%l©6”N™Œ‡ÌG Az¡rØîVÖ‹Ñ\ ã$$ÛC†Â{~âŠi¡ºÒ}¤ åyMå±.šõq[ÖŒã.G¨W¶<å> <”<ZÞzÚsÐlÞ¯ è¤x|ƵTÀ»e8ci:«3¦3X‚rhBn×±¼5dð¾Ü«Í¦y«µ -–Eù˜7jµŠý£¥Ÿ4÷–¢€5ì…ö‡’ÊæS¹ßWEQÖàî8J–÷϶§7jÕÚÇ]/2{NÆKux¶ÉF2‘fY?ÙÌE,ŸÄ.^§cRH–á‚6ŒIÊ ea)sÿ\Yò¹
+– åR &¼‰±2XiR§i»É?•Sö$Œ¥ˆ>mç©Ìx.MÏP¹ƒ
+PÙ¡ÈÎÏ+ËšU[ý>NR²(9£€M(ÐKvMüÒÓàCYgQ¶ë}ÕÉZÇNÎR‰XûùÛ1ŸjØ™ÀvŽ€D20U„
+*Ø'¼orˆ‚Æüñ¸sL‡*ÅVxÉEx<êŒ"ãÑ úDYtæm¢‹
+0С&ç¬*6“ „UAó( kâQªôY(Xšá4tuù›XرhÈBÉT¤Å< “˜).ÒžÑ!:üóÇãþ r&2-8uF‘ñhaiaêÎð
+pЂæÓFs<Œ³ <Ä!TBzxÐX‘‡UùÜÑäïLƒÖž‰wìŒÃkÃ,S˜!õl1ÐÁÃÖFýãü“ðBea.xPX‹ÑXAòÅ°f.ϼÄtQóôó¨ù„1É?É$<VÅ£&téç@ͤŒÊü5
+fÁ8MÁ,c¶e`)NÀi¼gtp%&øëG£þ 
+Ø;@ägÁ£Îè1-LB¨4Îΰƒ
+СPbÝðëØðE:fRië@b»–j|ƒï‰ý2t;)?œeØm)•ÌrKˆ”¥ÞÈåñgl;û¦1R)‹Yé,ìs:§Èh´0½$ì‹¥’gèÕAèåP§Zå&,É„K÷¨ ñýa)KÒ˜÷噕uhÅ@4&TÜÃ̲ "…§iÜ34Ä6‡?còxÜY¶%ã-fï° :ߣÎh2-L·PÙ¹)]T€nÕ™¨C³j›|Ì·˜é(–añ5!¿Ï·Œ¥:Iû
+|Q¾ÌȆ—I  œ
+¿>¯ó“Hsè¶zªó•ý³,–ºÿúp<f :ÇÃòÛw>\¿¥:Žat¤‡…¾<— AöJµœ£›&/ÜstÓléWQµñ+uäØ 1³}
+þ¹A(Œ2W´}¿q9ÊÏùv·Áàøö‘îyàѧíaëfK'¡¯ìý”1µºÛ+¹½™üºäKO1l£åkdÖx&X„Û*ûtm‡_¾.ô×_s!ã©É¥€|êˆTã] —FçÂrx‚ïXJ»„CÓüf0U ’Óž‚\ì&Êj¥ËPžæ÷Ðklâœ/ ¡e¾:“Ô…-ª¡ –½ž ÚŸ¼¢âäõ?ö”áÖÆÓ2pâ€k÷Ïe ‘©t1K[…¢¥F¿µÁ]—áoº…5L%§1 È?ÙGðf€ê{À½…?›nØ× ;‰NÚMÚ•f $øZ¯1â(ÆP˜ s¿Ö`ÝZUBj©%§SÝ+UMÁ
+ÆÒËË ^aa£C
+ŠŽRhw—IØÖ\ï]Yêı}ì+—‘úœ™]•9—ŒÃê^•»¨ùUÙ£áOt½:ã©¡ÊÂxÔ„
+ýí lŽ¸}hE–*ê­ÈR9r@GoEÆ·"+˜IZ‘±•ÊÈÐ
+Zª¤½î†-E³Í17b› ÙnÛd<b—á¦ëtÈõÜpM/óµ«~§Ëüxxnöjk¢ºÜx懥åf:0 z\FÒçhuºBÕ1X›l*»«û'“pø†JÜ€õŠÕÍû»¡èk¼b(<»Ñîƒ=êRL}z•LıG•eaG5a ”‹¡:QÒé>¹B$Îgf3"–÷˜,h›,¼²´Ç$ ¼áf¶öÐ2V3•ø]T 5ØQ×k°gvù‘W"‹œÏ±º=š=66¶ò`Q9íñÁq š`æÖFlØWO®ÓÞØêÀúÎ,r,ˆ%^ªÊ­Èª}3•zé­XFýÝI]lêĜ܉ìUWlpê˜ú#•9}FFvgÂÍûx…×+æ$ÂäB„c“½Â Ê(•Ï\™– Ã{ÎÉþÛ ûËשOwÍã”I­g¾ÀˆTU`«:9ÓãÔ ¹Aâ7Ÿ‘êÿå./ˆendstream
endobj
-1930 0 obj <<
+1929 0 obj <<
/Type /Page
-/Contents 1931 0 R
-/Resources 1929 0 R
+/Contents 1930 0 R
+/Resources 1928 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1913 0 R
-/Annots [ 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R ]
+/Parent 1911 0 R
+/Annots [ 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R 1939 0 R ]
+>> endobj
+1932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.1075 612.162 397.7608 624.2217]
+/Subtype /Link
+/A << /S /GoTo /D (server_resource_limits) >>
>> endobj
1933 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.1811 736.3425 356.8344 748.4021]
+/Rect [359.1555 582.2234 427.8275 594.2831]
/Subtype /Link
-/A << /S /GoTo /D (tuning) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1934 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.6042 704.9032 356.2762 716.9628]
+/Rect [353.6164 552.2849 422.2884 564.3445]
/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1935 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.879 155.8332 426.5323 167.8928]
+/Rect [370.2338 522.3463 438.9058 534.406]
/Subtype /Link
-/A << /S /GoTo /D (tuning) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1936 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.0699 124.3939 407.7232 136.4535]
+/Rect [364.6948 492.4078 433.3668 504.4674]
/Subtype /Link
-/A << /S /GoTo /D (tuning) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1937 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.9 92.9546 447.5533 105.0142]
+/Rect [226.7331 462.4692 295.4051 474.5288]
/Subtype /Link
-/A << /S /GoTo /D (tuning) >>
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
1938 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.6839 61.5153 393.3372 73.5749]
+/Rect [283.1811 432.5306 356.8344 444.5903]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-1932 0 obj <<
-/D [1930 0 R /XYZ 56.6929 794.5015 null]
+1939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.6042 402.5921 356.2762 414.6517]
+/Subtype /Link
+/A << /S /GoTo /D (boolean_options) >>
>> endobj
-1929 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F41 1218 0 R >>
+1931 0 obj <<
+/D [1929 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+1928 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1941 0 obj <<
-/Length 3362
+1942 0 obj <<
+/Length 3123
/Filter /FlateDecode
>>
stream
-xÚµ[[“Û¶~ß_¡·hg*”¸É“ã¬Sw§µ7ÓN“<p%îŠD:"µÎö×÷àºIÛ‰3ž‚àáÁ¹|8PÆ«þá•â¨ š­¤fˆ˜¯¶Ç«bõ
-¯nw?®_ÿåÕßooÞ_o/Ö]o¸(Ö_¿}÷›ÑîòúûwoÞ~ûÃûW×’­oß~ÿÎM¿¿ysóþæÝë›ë VÃûÄs¸ð›·»q£oß¿úî»WﯾýëÕÍmÔe¨/.¨Qä׫.V;Pû¯W¢ZñÕ'¸)Öš¬ŽWŒSÄ¥aæpõáê‘áà©}uÎ~Œ+Ä « cƒY+¨à`µdQ*t´2ÁsVTÆÊý©lºûêtÕzÓµçÓ¶kŽ9Aš0¼²Ÿ©f¤ )0—H|$ƇªrÖï÷~°«ºí©þØ×mã&Ú{#ØH'-QA˜2ÊŒ$`p ¸wêf¬/…˜¦<Ñ×=<=¬Üàý@óH¿ ù”¯Ó|û¬£)HŽEb¸_Ҽт^F
-4»Ç”Ķ¤` ÀPe€¨.øjó(&Ø` AäˆT3‚$Ø“IFG’üaØóúŒ„P L3ð`„æ‰Ê9øúå§|_?Z ÅtÞ hAŒ ¯,ü å:¿!ÕeøE*³byè7/‰}B"ÅU^Ž@4#GŠ>O5Mù<è˨3†G´
-‡D€ÏS¶LÔWÊœ‡e¦R&zH’hš­”=ý‚ÎS¾j–iê5ç0TæM©–ĘpËg"`o ¹€¶UmÊî¿sßnvM×UÛ Ö`§ÊBªüâ‘jfõkŒ"¡4N—ÿ7ì8زBÖ¶m~*
-òpv[wçfïÛ“ìžšòXoÝÍ7ï>˜‡(óäfÊC׺ѹ«Ü ßמur‘™mà ‡ö“>–§§ºyp×xm6çnÒÍ· ó§ÒïXöF*ƒêÃÍk7ø‡z®)ªcÕôš).Ö·ûjœ’HÕïÝ¿ýØv]ÃUWõ=ˆÙ}9³÷
-“ÄÑœN¼
-¢S§íWs§Æ
- óíÀmÃÕéX÷{T°#o3˜¹«ÜõüqWöÖC†u³óT{ÿØ…Q3º?Oî©SlÓÕMxóÓ¾jÀÔ'w_žœÑƒpiVêºsó1BmÛã1¦’4*Á«"Ö §fçeq䜳*CŠà`£ Àn.ù0Hv¦d*ž7î8«bÅ(Ïø† ©›þ¾š=À‚0Qàç2g{8ï¬öð¢Óž
-¥™f>ixªI•ˆH‰SI<Гe¡€£œà—š"Ò/ 0á;0… HÇê¢-8hR2ž·E¤ZeÊ͈bÖE› 2»"j.n-Ò$É„(¤V2 ðÆ¥Áþo9D˜ã¢ßm ­›Yžbh(â7¼vsÅ.$ ‚fvˆ‡¶Ü¹‘‹ÖfäŠööèîú ¿ËHûH ¹¥¶¥™}hƒøPç•ÙÁ §i
-9Ýw<;je}ªû½A|1…¾õ°c¢37Pn=VsQ ˆ•’°‘7„U5¢‘GÀšbñ2H¬_âEù <Â⇠ç="Fˆq¥„­ºÙ(†ºôǽŸÌ`ì'3ç’-µ£wl.í¡Cs_›Ð9ñ¥Y·Ûíùä†uã…ÕïϽ/À ˆCwåò‰%õ×][y~¦¯2©&BÔNlÖÀïf­¡Ž€œ„16+çjmºÖ/¯7LBíå´ $–"t½7­ /FªÆ=5&5…«a²¯ë SežºÞϺ“7W/V©:ñ“íÅçÚ"Fw±8sø6nq3V[›ìËæ!T,PaÕíΧb£¶?ös«<8&»CÕu±Ór+î«~ûé¬DCߥñ¤ÂI7LÚ|™ˆ÷|`ìׂݰó±”jŽ+ô\,Ò‚®Û_Ü„AÝé±ôF w•±u,r÷4·ßÍnPqOúÔdßDÆ3µ¦ˆÑø±%vëºdÌeZxÝ>·³÷åùÐ'Uu|¦‚„’° Á¾iùæ<dŽE欬Z KĹގP† ;Zèí†T—{»He7"`­<l\µ¾’jßî¦„ĘŸå¥ˆT3b¤„ÒŒe*‡oòÌYí´É3³v«ØƒæÐä™Ûä™mòÌÀ¶vîdºö ÛÁ©´‰oæ
-.`;xnÑ«T¨°_ôÓH†¦ÛÜl‘Ñöž9=r†÷‡Oçã]u
-»dôʇï_%Ê—Ë(Æ¡|ÿy í¨KµP[ûZ À ³Ï`†'ó§®X
-”›¶an5øó;ûwÿ' çÿ!Å$¢PÊ\¼H™3"/”\ëéAšB\9#úÿ
+xÚµ[]sÛ6}÷¯Ð[噊âkû”&N7Öí:Þ—mú@K”Í®Dº"eÇýõ{0AB 3u&“\œ \
+t¾â/¿ÿpùÎÕh÷ñö—Ë÷~øÏÕ›s™-¯?ür骯.Þ_\]\¾½8_Å ´§… Þøé•~¸zóóÏo®Î¿þñìâÚû2ô—`fùóì·ßñbnÿx†ÓŠ/á#¢5]ìÏ2ÎÏëkvgÏþí ÞÚ¦±ñãL!®¨Œ ¥ƒ$Ê™XH®‘`”Ù\çx$ôò¦0ŸjÙÜëòƴظeå^´w…qŒ’À(F\‚1lÍ5Åá¡8œµ\Uù¾hºC‚"E1éÔ÷mYWÿ€.$[Þ[×ç'J³ªAÅç|¿+PU´¦Æñ
+ÍC"‹b¿6E³>”÷Ïb½ÄN-¦™êCç)wF4C”é>àBlyÌDdJdà±{y¸]¸ÂÕÀwŸñ}j×ù¾~öÒ ‰@„9™ƒ /OÏ‚GÍ0™Z3LN J)=#À*!ÀÕÏü¯`ŸZUõÆívø„@L1‘¦àQø$ALd:$ñ÷ħ⛸2ê_Á¨3ß""<8(f„†Þ¦„×ãgüžÚýá1˜8ɲô xÔ “©µ´ð(F”ó¹È7@%„ףƳe>óöxˆ¨OÁ°h%Ó<<*B$PŸ&ˆªÇ뾸7“+CòtàËà5ÍhèoB?ãùÔîèOš“&ë’sàQsL&Ö’úË4܃á“ÖßuZ5ž±ö龘(îÌDc‘fàQ
+Á´ÃiHRx}éõŽŒz—‰Œ$¢^¦Á¢}ME½?ãõÔî¨ä!”ÌÒãïQ3L¦ÖÒª€Rj&ê Q Õõ(û•Ã!¯šmw»lêãaEšf3$<*Â"‡Û!æ#¯£¼ÎŒÅýJ pR|L LC@:’_Ÿñ|j÷”ød,
+ÉÒ3ЃfhLl¥…Ç0Êx6ðzÔ‰¹Z=ˆØaO
+:Ãã"DƇ=™±“¯¦½ÎŸñ‰/C”°„üLd6ס¡/É_‡Ÿq~j÷åòƒ
+$'¡ÍИØJËÏ|·KÉ\Ü òëQ¦Ç|×®^û„DŠ«4áªÂY_³Èë¨/áÎX~1¬YB~pq„.'å×ág¼ŸÚýù1„3,Ó³àQ3D¦Ö’
+d°]p%gàuZ•˜²XT -ÒTzP„Jøe ½$„ÿ€ËWa< j8§f2¡CÁ  ‰Îè°ÇÏ ÀÔîËu;¦„Åžžš!2µ–ÖaFžÍDÂ!*¡Ãez<6Åê¥ÑЈG˜±K‘ñ¨›ñåWdJ„t^ç«—§&w`Øvò¬¥Öã3·`‹Ÿ‚©Ý—‹QšÃÉŒ_‚;Ô‘‰µ´ h—â¹ 8@%ÄØ£LUÝ–Û§SòË`»÷¨HÿáEοS!׉„7"?@¦N?JàŽ‚Yài*øõøŸ§v_¬7¸*À¶©Uzð=jŽÈÄZRoÔüD`nËI½ Q§õæQ“‰Šm½\#Š1O3ð¨…É—.Š¨ÃW\|Ë5ߺp¢Òߺd‚ÎÎ}ëbð3nOí¾<Êòà*=þ5Cdj-­:ˆŠ³™(7D%T×£Lû²ZŠí¡hîVm¹/º_ê÷ùçhµE·‡§)¶¯œ.V`À©J»àQÆG&Í2:aeKt'[Sdk*")tɱ¢±ÔFÚãg(Ní3dN~±Ç…É‚›Ir°<j†ÉÔZZc#Mñ\d ëQvyÞºSÏöPïW›rkà$TTëدp§p'JÒñ¨ŸðŽÁQ†iÈÇÊ… îäÂDÊż‰F9‚ ‚ƒIŸ¬5ëÖôšI–ºf(8˜
+Ny6Má²nýÌä­›šx¢ÝŠqàLLÀ¦¡¼`J`—
+ö-%i7#û¼iáx>8ãÇEë2¬F–ˆŒ¿C6»ü!vØbÎ<þp¿¾«ËuŸ®‘2`íjòr—ßìúŒŒv´=ÿå3;vÅC±C6ãÄú&È`ÓM®ï!êôúö(ãÇÿŠ'ëª><ÅNÊv®“Ý{T¤ÿñIYcxxcËÄñI™Áä™8)SwHxš<)wøŸ§vOœY¦[¯ù†ÉôÐ{Ô‰µänBÌIK+6£¶*¡¶e×ß±­W›ªiŠõDk°R%–*ݹGEz´–1$”&a÷ÿ…g’6!dER:¡Ö¦¶™Âæ©Ê÷åÚ=¼3Ù‚Œsˆ2O®&ß5µ+M•)¸LXSê3ammÝ7ØÕ®øžlö¤±¸;'K³ø÷è”n~ 2?00CÌ ÞÞdÿ9Ý
endobj
-1940 0 obj <<
+1941 0 obj <<
/Type /Page
-/Contents 1941 0 R
-/Resources 1939 0 R
+/Contents 1942 0 R
+/Resources 1940 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1913 0 R
-/Annots [ 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R 1955 0 R ]
->> endobj
-1943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.4973 737.5313 404.1693 749.5909]
-/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/Parent 1911 0 R
+/Annots [ 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R 1955 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R ]
>> endobj
1944 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.1733 707.2808 431.8453 719.3404]
+/Rect [381.2254 576.3168 454.8788 588.3764]
/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/A << /S /GoTo /D (tuning) >>
>> endobj
1945 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.365 677.0302 434.037 689.0899]
+/Rect [362.4163 546.3833 436.0696 558.4429]
/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/A << /S /GoTo /D (tuning) >>
>> endobj
1946 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.041 646.7797 461.713 658.8394]
+/Rect [402.2465 516.4498 475.8998 528.5094]
/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/A << /S /GoTo /D (tuning) >>
>> endobj
1947 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.9837 616.5292 471.6557 628.5889]
+/Rect [348.0303 486.5163 421.6837 498.5759]
/Subtype /Link
-/A << /S /GoTo /D (zone_transfers) >>
+/A << /S /GoTo /D (tuning) >>
>> endobj
1948 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.374 586.2787 389.046 598.3384]
+/Rect [335.4973 456.5828 404.1693 468.6424]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1949 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.05 556.0282 416.722 568.0879]
+/Rect [363.1733 426.6493 431.8453 438.7089]
/Subtype /Link
/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1950 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.512 525.7777 561.5676 537.8373]
+/Rect [365.365 396.7158 434.037 408.7754]
/Subtype /Link
-/A << /S /GoTo /D (tuning) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1951 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.3443 495.5272 467.1586 507.5868]
+/Rect [393.041 366.7823 461.713 378.8419]
/Subtype /Link
-/A << /S /GoTo /D (boolean_options) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1952 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.49 453.3215 382.69 465.3812]
+/Rect [402.9837 336.8488 471.6557 348.9084]
/Subtype /Link
-/A << /S /GoTo /D (options) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1953 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.6499 350.6148 436.0651 362.6745]
+/Rect [320.374 306.9153 389.046 318.9749]
/Subtype /Link
-/A << /S /GoTo /D (man.dnssec-keygen) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1954 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [455.3558 350.6148 533.7708 362.6745]
+/Rect [348.05 276.9818 416.722 289.0414]
/Subtype /Link
-/A << /S /GoTo /D (man.dnssec-settime) >>
+/A << /S /GoTo /D (zone_transfers) >>
>> endobj
1955 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.0267 61.5153 385.6987 73.5749]
+/Rect [488.512 247.0483 561.5676 259.1079]
+/Subtype /Link
+/A << /S /GoTo /D (tuning) >>
+>> endobj
+1956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.3443 217.1148 467.1586 229.1744]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-1942 0 obj <<
-/D [1940 0 R /XYZ 85.0394 794.5015 null]
+1957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.49 175.2261 382.69 187.2858]
+/Subtype /Link
+/A << /S /GoTo /D (options) >>
>> endobj
-1939 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F55 1321 0 R /F41 1218 0 R >>
+1958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.6499 73.4705 436.0651 85.5301]
+/Subtype /Link
+/A << /S /GoTo /D (man.dnssec-keygen) >>
+>> endobj
+1959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [455.3558 73.4705 533.7708 85.5301]
+/Subtype /Link
+/A << /S /GoTo /D (man.dnssec-settime) >>
+>> endobj
+1943 0 obj <<
+/D [1941 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+1940 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F48 1243 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1958 0 obj <<
-/Length 3449
+1962 0 obj <<
+/Length 3530
/Filter /FlateDecode
>>
stream
-xÚ­]sã¶ñݿ“—Ê3Ž ì½Ô¹ø.N_j;“é$y EZb"u"eÇiûß»‹]€¤DùÜiçÆGX,vûMÉÓ
-<MuåcAë¢[5yK/ (ö¹ÜfuWžÉY½¤‰EUuÇP¤h0Ø–ËUÇs ´)¶èÀh2÷|ÁËÎòÕÁä y‘R¤J‘tþhê✰hjt‹ËÝöLšY‘Óìýs¯ñ‡2—(@8ÍΪªyšÓérLÀö‚8tÀu>…1‘·C0„j¾Á»yžÂ¨
-u11–5ÚÎ…t¦©h¢ë ÍO+È#윷=‹ˆÒVäpQaÍ.hc[ð>”>·gf¶«ŠþŠÀ¥™ñ•HqªfíÜF±(‘Ö"?'yZîP„)²Å
-G±CÌÓe·²´Ã‚Sœox./ê²à¹^ZZ| (€® šq½ qï›qXå©{>Ÿ¤”O¹$ëq´fä8@äÚ ‘Ãl $veT¢æ§áìêH§`лDxñZ ˆÍç]Ñv´d¶ÙÒ!néÙ–K{ó¸ã×@½b‚@câYé&êEµË Þèe ÷œ.ÝßÝíÕ6‘-=aà?9eP8¾g2,€ç±±ùeK>£_dlo÷>méðRkÔÆ £»±
-AO÷Œ/èMYÛp"!;Nô±è #0¼X¿ÞLu,]ÒýÝ? ïݺ–6jìÁ´®žiz]duY/v½“®â‚Mü q[µIäìçUQ“­Im >)sè'Xƒ\¥õjÎÒH% Ýv
-“¼‡;›õz:Ý C¬3"sŒPЧ4€Ô;ˆÆ"¬šEV½`ðIê2kÓÙ­%´´6 R*S ÏJVšËðbš4VÜð`G„÷Ž‰C;å ´a;Mĸ—OÐY;rîÐ`] †›úC9DÀNä (þT<3˜uƒ0ØTÙÂÑÝMÒO½ŽsÎ|£PÄFʱy6%9Ç“äxŠÂŒèpz¨>”.îHÎäæ‘ŒlÔüú™¦óâ!ÛUÖ³©°‡&âh\²hã‘‚h(dèäÍc¶}³ÝÕo¬Œß°p’6Q<+%b¨øyïyO©•Ea½8–„å1’.W¤%ËÎü
-ºjÕnžCo4o…‡Êì¥ì‘dÕ²Ù‚9¬éÕaúö‡‹wóÛo/B•`Ò&³û]çqØš†Yµ+x‡vˆ~àÿï«b*…b<Z¶E©”ó²,Ã9PÍ·1á ´PX)8A¢ŒEjäJ+lj[ XÍ+JÁø'ˆuŠÆTô&H9C{¤ÄtÊ•‚@‰Iâ½Z“s­¸Z¢±uuMND+r"ðäè È%Ñ°}†\cm“D—±À,ß
-Œ² ùðf³-9+¥Ùv'„¡ìÙôg¹;1cš¼õ NwŒ-neÙ'™q¬|!¼AcÃ4NÎlžl³¥ µaÛ‚¢™ÿ©Ýß\ë¶ã§²ªhtÏHmµ3<Û9šØ³£
-«¬^òTMz}ÉyÄ ŽTšÖª.Úv·¦ B°ŸÕ«-=}€ÏʈÀ`Ô%˜3é’-¥ÿ<áêö’€q,œ'P,þ“¶`£aO ½ÛÌvwO/ ª·4ú÷Ûé¶Vˆ¼¯´¹t,Zckœ;­Ûa'`^Mœ "(Óò\çíaaPµãNƒenմݹk$ä}mÓú[[3Îöð*ûàÉ÷:hIð/‰aJŸ\»YÂ\R`+&›l•—Á–¼æÊOE¯Gîv(kŒŒwù/z@YÇ×MÕ ŽúZßP/»çMAo¿ô“4úm4€­[ø¢\R» IÜ'Iß"ÀZ‹ *ß"H°QU>–U±¤ªJ™ÙÇzÁ[3zô%6l]e¼¯Ý-°
-Ð].²)|”hNö½]¹†<¬=À¤Ä
-嬮\J‰—œÆ¤e0¨z>춬Æôí‚íÓôÔÕØà‰!¦_Ðì ›N9“7.aò +P;â„9uµÉ„O£ÖñºVGl†½
-“ÙÂùÚŒ.Ö8¤íc!å`bRØ«ìß‘7WÞ£žÂ¡9³.[˵"¦ZŠ=2&b²ÕqÝ ÂJ_ FÚ< æœg*}GW±´¶vÔ°×5”ow‹Í¼-ª‡)Ÿ(EJß²žÄ…ߨ”Iº&>ŠL‹ËK‚\5OÅ#1Á 9Ò uqg®1Ûó…­dYCBb'®¾¡W™(»ß]í Eáw¼áåA6ÊMi¾¹]Û îðŦÕKs7¥ÛéP5Í@ X—3ê5Ù8Ìdô
-I¾ð²pFÁéÀ5~ ®øKÁ9í㸎dŒÍetÈÃÞWoƒóG ¾cI&X½å4Â(ˆdQzfgèÓAêÃ'Žá8ÛѲk'mß_þFÅï.•Â7ë†ñˆ{Ìóì&ìS
-ö.ˆñá.+Ñ ïìäk5*aÁ‡ìRBA¾Û6£8œÕŲéJÈÐígBU8ºçâûÃííõ‹+iן!h
-ì©Îé+îà‹ÚØsõufV­|0[gØ".܇²ª©—¾Ç~ê)ëX&~áìþçŸö¿‘Œ!3æÈOeB¸$Øœ8¢Pr2²ˆHsHû
+xÚ­Ñrã6î=_á·sfb­(‘Õ}J·»ÛÜ\Ó^’ÎÝ\·²Å$š•%×’“¦7÷ï -ɲ“›ëd2¢`@
+矮þö‘FŸo.øáòæ|!´óß_þt÷ñ†~J˜Æ·W×ß$£Ç¢7?}¼ùxýáãù¯w=ûxçeéË+Âùíì—_ÃYbÿõ, âL«Ù3¼„Ȳh¶>“*”Œc©ÎnÏþî ö~µS'õ' Š“hBQÔS Ê25KU$q[vdJ“ùMÍ£ç²{¤Q^U8Hç_ÍKK î1ïøÇí¹Ðsž“¯ºòɨXUôV‰¢4’À+®·­‹M©š¼°tí¥zs’$Èb‘ðä¬Î׆‰÷ERa R‘1â*ßµ¦à!A¬cGiÄâ8H¥ÔŒÕ5{6i´W½½Y#‘Ù".²PƳ…A¦T´Wl¬"œFÒצiË®Ù2,¯ ´«GSìªñœu^ÖH_¯øódꮥ1²ˆÏfµÚmiXÖü“[ý~×íhá
+ð²Å ¨)ÆL%!¸«ÓL8¤ &‚…Hâ!ÿ{xBS£A<p„)jÅ „ÚrE/ß]ßÒ`¿Ð
+ƒŸ¯¯þ‰#‰ãêP)AN:·¨Žq;pbɈyE;Ÿ/xà÷Ž0‘T^Ó¨aˆùmçHÚœ†º©ÓŽŽ¹:àócéle•·Î0º¡´åzS½¸‰lžG,ðhh‡T<ˆA»'#{éx`wHö¼®«²6 ̳ÐÝÇ=Œ²Ó‹{¤ÃÕÖÙDa°ú9,XR¤î¨{1SI‡H!KôÞÒc­8–Ç*CÖº¬(µÔó/Q$—»õ†~¢,U»,UƒÕÓ~ ¡8eØŸ1iB`N¯èý¼Ü3æPT†ôv5N·)$
+V
+W™!Ò׶\îSN)Pø )JJgX°º;z¦A… ){,BH¬œÓ, äçe³ÛŽòÀ²Å½9Ÿ]GGjT÷IïécweÏXµ\¬ó¶£„zà=BÁA
+RÁÓ¦ÖÃ:ajËn’ÝLz+³€¤qM§ÔÀâbDi*O3á±&¸æ‰•N‡lüI7-ÌaÛ(LÕqÃÃzUI4ž ' Ïã¿"ù!Ý£†§Æ<£Q˜Æ§÷Àc½ÂÉ!µÓÆ©@)ýZœëa0>‡Õ«¥á·5 ([ËšÆ&œN¡p;ÉŠÇšàexΧ uš ™ùsLð¤Hý(SRyÔe(±7”ú„!züWä?¤ûæ(SLËb}z#<ÖkŒPóv8R2äÀsŒýž6Ï¥zÈf¤H±DBIîêság.ªqüSS•«r2éƒô"‚„ðe)rÇ\&¶cv·Ù4[ìPF²Áç†Ày‘¦Î±IL
+© aS'eÐŒl7Ævé}–Js ‡qkm’ŸöýmòA‘
+笫*·Ýž8LçÏÍökKCÊ{aÐb{Ÿ~ÅîrƱ9x˜Ì7$f£ü §Òüfsix¢E4¼êèiÍŠÑ@5 qY5è8€ ”=|îò®Ë¶õþN¥ø¾…ã¼~™êþ Û¾É^hL·‘þpè¸qdW *&‘z»•„‰ŽGû"²Œ6ý"úqUþBMߨ±¬©É—¡‡tTUhžl+"Är<ïæ}ÏÒï“´‹a»feñü’&r§Ï63ìs{µ\eö[!M·È–$™š·fU"¯¶^B›éU‡ˆÃ-¥L: .m'ÞþàLá Ã
+S—†a{ChéGj"¶íHÄö:D(î7Ó°Æ %¯Ï­«©d#Nš2q ñT÷‰´»².Ñò³kzûß/Þj‘ùmgÚŽ~6ÛüÁnééÊiœñ%T¡»D Œ1PØ–P¯ª]ax¢×-Ļ.—în¯>³‹p‘
+¨à¹k/Bn~ 6wœá‰äÕC³wXÓ«£ôý—·ß_F*Á¤ ïí*DÃÖ 0´·><ÃvH¾ÿ—•™J0Ø–mq„*öw~V‡ àšwc"@¤ÂJÁ)ò¤Ä &HùˆI‡¯yC)(i‚Z§¿TØ» å í‘ZÓ)W
+':‘£Z“óTqµDc"jºŸ‰ì‡=ôäÓAQH¢aû¹ÆÚ&‰.c¨ûÆLÍó Åðf³-9+¤ÙvfD_ ÐÚt»èVÌ™'ï=HÓ-c‹ÇÙ„qKåûô­Ž¼CcÃ,NÌmžl³¥0ãïO
endobj
-1957 0 obj <<
+1961 0 obj <<
/Type /Page
-/Contents 1958 0 R
-/Resources 1956 0 R
+/Contents 1962 0 R
+/Resources 1960 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1913 0 R
-/Annots [ 1960 0 R 1961 0 R ]
+/Parent 1911 0 R
+/Annots [ 1964 0 R 1965 0 R 1966 0 R ]
>> endobj
-1960 0 obj <<
+1964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.6803 484.3495 357.3523 496.4092]
+/Subtype /Link
+/A << /S /GoTo /D (boolean_options) >>
+>> endobj
+1965 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.5503 736.8562 402.2036 748.9158]
+/Rect [328.5503 453.0511 402.2036 465.1107]
/Subtype /Link
/A << /S /GoTo /D (tuning) >>
>> endobj
-1961 0 obj <<
+1966 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.748 705.9305 472.42 717.9902]
+/Rect [403.748 421.7526 472.42 433.8122]
/Subtype /Link
/A << /S /GoTo /D (boolean_options) >>
>> endobj
-1959 0 obj <<
-/D [1957 0 R /XYZ 56.6929 794.5015 null]
+1963 0 obj <<
+/D [1961 0 R /XYZ 56.6929 794.5015 null]
>> endobj
614 0 obj <<
-/D [1957 0 R /XYZ 56.6929 689.3081 null]
+/D [1961 0 R /XYZ 56.6929 404.2557 null]
>> endobj
-1327 0 obj <<
-/D [1957 0 R /XYZ 56.6929 663.0018 null]
+1332 0 obj <<
+/D [1961 0 R /XYZ 56.6929 377.4017 null]
>> endobj
-1956 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R /F48 1238 0 R >>
+1960 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F55 1326 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1964 0 obj <<
-/Length 2974
+1969 0 obj <<
+/Length 3372
/Filter /FlateDecode
>>
stream
-xÚÝZKsǾóWà˜FóžÙœBK”BǦš)–ÀRÜÀÂØ¥håק{zv1 .2)Ç•bçÝ3Óóõ+FþÄÈÆU¦G.ÓÌpaFÓÅ }€±·'"Ι´“&é¬o®O^¾Qn”±ÌJ;º¾Mhyƽ£ëÙûñ«¿½»>¿:HÃÇ–NŒåão.._SOFÅ«.ß\¼ýçÕÙ©Óãë‹.©ûêüÍùÕùå«óÓ‰ðFÀz)ìXðæâ»sª½½:ûþû³«ÓŸ¯¿=9¿îî’ÞWp…ùåäýÏ|4ƒk{™ʼ=@ƒ3‘er´8ÑF1£•j{æ'?žü£#˜Œ†¥Cü3Ê3ã¥` ”C 4³JªÀÀë»/ñòQÉTÇpÎ2_ÍçUœØ£©3愲qâ¿8—Å|ìÌøø.¯©"•Ÿòù}Qÿ…¨h‘žL3)•N¶ØJ*– ÞNz1@/¯ÚC×÷7³j‘—ËRÀT@‘:–ÔC9ŸMóõlèþŽyÉÝч*æ·Ïp5 ×:Ž`^wóŽ"„—{úÅ>®oÌdÇís{¢dZ:;šÁ2cd˜º¨w‘<æž™ªwº=€ðŠYoå±ôð`{¨9ÁÜñ‡k¦«×<âJ¶©ôo„©ÿTËâ8ˆu˜/g¥fJùöøůM±^æó÷lµÛÖªB9¦Í¥à&;J¯*í™ãnK¯þ¶UíAøhB¢ºç´Ž­XmWôIMºKMÏ€¥Y§´{<Z1¯”9i`î÷©HÇY&U ãó_ói3YäÍôît¢œq_ä˦œÖ`å¬ç ûËšFÖ§~|?/¨Vqäá®XbM›»8ÞnŽìHÅõ¦(—÷«YÞ3jà&¡œ¸; 4›*–H+ÓjÙÀŒ8»ºÝ ?6P6–Vû&Ã2ÝY±hœ¡Kƒ]t„?y‡§=-‚H‹òUÐbá¸JÕ¸pÁ´›rÈö1Cà uÀF l$°ŸNÿC­HA Æ-ÙœŠp¢ÉŠÂ1#¢v©Ö;
-0_q»+W*$ãžû#´ˆm%ã06„}âžõª˜_"ÄM*€êñ{gàr‹Éœu‚ôþ<øä&cÜht^8‰%AÊð<jã¼nŠuY„>„GŽÊ4¯‹ÝŠ9UyÏå'|…¸YƒÊu?ôh‡I+)$Z£fÛóé²qÛÙ=Ø hxÐ7ÊYbðé2kºtI² ’zºÄ­«ÛÝ„ðÈÿ/Õ$2Ó9ó:fpnŠ^ÖgT’7ø§X´BsÀå!¨€<k)²C©ô!¬(ž:f<:SPvXÁÆ0VÀu0FÄJ—ÝÂJ °‚µj9ÿ7MPF†Pq¤f™3ª¯Ç÷€µ @:Ì”ä ž )  3_’ߣ~7R”3`yµ:„à† IûÕŠO³³ÞÁûå‹ØŸSñÓ©Á8vV=Ô4e‘OïÊeA£«u¹œ–+Lšauÿ"̼…EúëÕùÙwß“9€p|‹Ù7ËÕ†*ö¢‘ÀÎ0™ºBà}]ÜÆÁ>ëàK
-’:JtÄÙü|¾ áÄÍmº»£`#Zn¬¬Ú9“!‹¿µ ú›NË>QÊ·÷Q*†dʑǧZGyF ®Pöì59 µÓ“~O;¯æù³#?§‰MðBëýËÁI³)Ÿðm™ñÏ*3Â0%ý!C¬ Þsʸ£~pû_ ŽØ!8˜ÿ
-‚£$OÐ
-½P¶@ƒj̘…ôu+’ò17˜&$0Òf‰À`‹Bl¨tG½•­´`=±
-ªÝ”ì'"ü˜‡}ŸÊœ*ׯÞQ%X
-Íœ±pâ0Òó%–”óöbç7UÎ2«¿(ÖoWl¡´;ÞÄŠ¾“ ëîy;’’3­Œ…”†•ô;Ìe‚OcÑ
-ñZ,ìA|bY¯*Êmè„î'IÃJ
+xÚÍZ[sÛ¸~÷¯ðìôAîX\\ °O›ÝuÒì%iwv:»û@K´Å†"“Š“N|ÏÁ P¦,gÎt<árp
+ËxQˆÓõ‰Ò2ÓJÊÐÒœ¼=ù{d˜ôº¡SòÓÒfÚ
+3!@!¦¨‹,—B:^®*ÚÑ¢[¯Ëv‰;‚q<—묰æBú¶ßn–åàÍOŸÎKÎsX+ è«vÙu:òöŒÛYõ~[õƒï:úmºEÙ¬º~8§:.Êúú¦ ´«jíyöu{=aÕ÷u×Rå]õéŒs>Ëp¥§sÎaóši(™¬ÂºE¾†±·aav¶m<§eõc¢­`ׇåuï|©~W…™ëþ/$ •JŽÎE‘Yk
+7ËoL³³yÎØìæ¶l*þ‡~–Uû‰J@Å©TCãP¾½-×ÕðiSQí×]#•~µ#a:îÑÞÂ.ÊÅ
+v’çÉî¡âVÙS¹Cñä×YW¾ms[¨›ê¦êáÚHmg¯Û…ZÒÏN¢¼©hèªôãúíb×Û¦ùäéÊa±ª–£±~)ˆ²©nËŽ˜Ö½;W†'›Z ·¡z½®–5€ÍM` ÚŠ›ÀZÚ 4º½,©L(ƒBÛÑïõöçä3Oì—Ó{rÂ/Uªåºn«%HA‰|öl4€*uOSï6
+w«ª¥í
+ˆq@âÄ–h$²QÆÓ+›@›¬U³<§¾HD A‚„Iì7±ßÔ\·ÔX.Û󅾻zXMp!|&œüR¼bÙ퉴w¼±~”v+Lo´‡³»Ü›jQ;î^-Ôí1•ü"²8wrå_uˆY$eáN Û‚rª©°¤Þëî–®’–ÉUâ\gVm7,6ó¾j®§Ô"ϤàÆNó™5:äC§23™@kA”«î®ú@›à$\o?€Ø ¨Ët_@Ù{’u¹Ù8ý‰½_Óφ¨PvIg
+i2)y>>¼E×"§¨h×Û~HÎpïP 9˜Ë)l)4må’ˆvHvwZJªÞÕÍre.ª-Î
+·ëuÚ‰s‡*Ý/c|]F“\ïu]¾}ùb<?4 ÚgN«O\k4OsÉ
+0dgPBCˆËBdúw¤Hä-(– ŠŠ”Ë/NŸ`_I?—?^ü“JÕÇŪloüP§‰qŠ+Tpngû+€ßͧôlûU¹»¸ÐÊ‚É>tË¥J1€5þÆî[•²õÃ{?
+f½¨é D[SŸÃ¶÷‡nâ=F¸¹§o츞yHÚseh³ç•?E㨬°QM¶Æ9Âá™yüâ³s §ƒ¬G@>aõï®­±˜×šPÎ
+B-–_}ªÛ¶lî3îÐ^&’C̦´Q§JCPÉEñ˜\¤T63Ììå"ÿب°L5y-tp4Ž/_ #ƬæqSs%lV0DÈtŽ„È•„˜”£Ràª)%Ò‘`ü !Ž/>–‹aî#Xi$Ü÷u‰±
+“ï»VWUÌ_Rp²}7/ÐíN“¤Ã.mÛUr¨©m»o¡L,v†úÍ
+wÀ5xÂyj.0Qmê\˜Ôµo XœÀŽWV!3B¦Ô‘yH½¡Zç.Y*\R³ñº¸ªË·`Ò!ðDYL¦êq€•!Ÿ!­Øaoü Å3Ž¯\$2ZÊ|Ó5õb*ÔÈóÌy
+¯6²œB<„ûµ‡\\ø¬EºÕÃxLúiàÙ7®âKWÁ üÓJÁ£
+u@AåEÞ¹yT
+©Bî;Ws-Å‹@W6¦¶_<.‹{Ö[ûõ×7mçŸgν’/Tf‘óÂW[w9Á®§Û«ñ ~C8„trMï6ù¡ü=Wàëø1É‘Ü"J~_0¹V;ÁŒƒ÷"ã,¦6à ,øb÷ø)Æé=¸|”ƺëj‹t½mÆ
+üø¦éàáÓ$!÷
+ÿƒ< k•:õðBfÒj{$Õ:6ç#§Î*“F=ØhŸ8P ÞI|Œ9”'§n÷l¢$£$äc?uw=1çåÿÇôÅ""Ç¿3º0»´Ïa¨¤gðœbá($D¾G âžé´>–LŸÂŠd©cƼ3¿+X™Æ
+„sZ«£X)`³{Xq<V°ÔµÍ'?i‚×3…$UV-÷¶ƒ5F 3GJr_
+)  ›ýx–aÄA¤àDZÚÇ€¢ Í>kLáĦÙYkàøÊw•o/égô~ˆ$ñ{“°Šª]Χl¡ô§oÞ\<ûéçðå&}*¹ãŠ­h#°ÑS“ ü±-ÀkœLñ}¨n+É•KêH™gÉ'v'^ hŽKÁŠ7ÜXŒß9šÉ¹÷¦AwÓpúPKJöÀ#¯Drø¤Ù}ïˆw[áwd®‘ËIsÀÜ“øç~hpøº$8|´c™9Þ e§¾Ó†¿‹'¾ûdœ{i­˜þà[2|L*8†tÀ‹ÄÇßHü€<Ð%«ÿ/ã0å&endstream
endobj
-1963 0 obj <<
+1968 0 obj <<
/Type /Page
-/Contents 1964 0 R
-/Resources 1962 0 R
+/Contents 1969 0 R
+/Resources 1967 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1913 0 R
+/Parent 1911 0 R
>> endobj
-1965 0 obj <<
-/D [1963 0 R /XYZ 85.0394 794.5015 null]
+1970 0 obj <<
+/D [1968 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-1966 0 obj <<
-/D [1963 0 R /XYZ 85.0394 746.113 null]
+1971 0 obj <<
+/D [1968 0 R /XYZ 85.0394 465.1666 null]
>> endobj
-1967 0 obj <<
-/D [1963 0 R /XYZ 85.0394 734.1579 null]
+1972 0 obj <<
+/D [1968 0 R /XYZ 85.0394 453.2114 null]
>> endobj
-1962 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F53 1313 0 R /F41 1218 0 R /F21 938 0 R /F62 1361 0 R >>
-/XObject << /Im2 1350 0 R >>
+1967 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F53 1318 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1970 0 obj <<
-/Length 2662
+1975 0 obj <<
+/Length 1619
/Filter /FlateDecode
>>
stream
-xÚ¥YYsÛ8~÷¯à#Ue!8³OGÎzfWÉÊNíÎõ@“°Å
-IÙÑ¿ßn4HQ63IÆå*³Ñ¸úøºÑ€„ÇáOx:da"/J¦¹Ð^VqïúÞ 7f9 ZNGýx{öæJE^Â’P†Þíýd­˜ñ8Þmþ›2Å°÷}¿^-–Rsÿêú_@ hé_þóâÃíjC¡úãõú-qú\¾__]¿û¸¹XD{ý~MìÍêjµY­/W‹?n:[ÝŽ"OÕ\¡¼ŸÎ~ûƒ{9h÷Óg*‰µ÷ ÎD’H¯: ´b:Pjà”g7gÿœôÚ©sf
-¸`Bjå-E¨YÄCùå}iû:R¨„I®õ³}—‚'LÀ?oʘE‰V£ñ11¾šqäE:a¡’ŠŒß7Á²3å=ÚçÍ•”“ g‰T(Ž¼(Ëæi±TZøýÖ ÁílbíÚ…ˆ}ó;çò³ÔИ;Cíý.O{Gߨ/­ĸ½ü@DÖÔµÉú¢©Q Øz)K´–V†{»KSÁØ vbÉ °jÓ?5íŸÄnZb~aVÖ´$t·k꼨¨ÿúÃc@Ò|9'DîfuÌɾ-:
-rÍË-TÀ$€Ø²)6Èͽiiyʶ–—'j
-m÷ÓÖÀˆ–˜0¡iÍ¡’@BtHŸxlÐç¡x45‘Ãá2M†©ë-d[yjª¦fsAp‹²:ñ+ªÔ@¡’"/kªj_C˜õö¤@ÖSÑoiP?̤ՉFscg·3Ùr.xZb
-$žôÅ¥¬ÁªG;p®™‹ÜÔ}Ñfü¡!SH)Ü@»~™Ÿ/–"$$nqß´UÚêá÷i[d[$%ÊMn1à'§FúBŽ6>ÁfÀ’X 8(ÈF?̨¡4ƒÌ<è±KÁ~/u «àC~Æý@ b3+š%W_YÃ,͈ÔYiŶ•‡e£e›RóãúúKgÈ q<«
-š*EPBtMö§é¡<H¸'h~¹w¥FÝC’†P÷A¥ ‰¬vÖZÖ¬v²…ÍP§ ÑÔ˜ØíºûÝ®i{ŠÄçhªL¶M뢫ì(æð½1Ÿö¦Ãâ"T\د݈cœ`kD2Щ3»mt RÚo1rOÖ8Z‰Ï›CÌã‚´²OÚ´rM
-­“’æ¾Á`ƒšâf ˆHˆÂSã|h›¾ÉÐ-äÜǺÈúõ¾ºC=F_DÞzÓ“ÃOW$…ÆJsLTÓæ¦=':¯“ÇmSX¿XÒybÎP¥©P÷yqHâ¿Øú¥ïÉ
-ï”lƒx™Ó³?ìÌw®õ³9¼NÉŸW¿Õ7‡*çÆ/¬ûwœ:»×ŒpýÖ`´åƒÃ1•áw—bà y–…‚ú˜wíaÂõfHáx­Ø•…験â4´g²Ën•Ó{¸§.I1¸ûi¹w$åu46†‘/Ië‡oöçÈ ðšØƒ†.(ßTF ÍéÓf¬/þ½±´ƒ"[çx¤£:Øì·x.eˆÀÓ{<¨‘1–8ÝÍ«7m‡Xé*(gA 2›«å°éî6Õ¥.+÷{Yxë.DIìMkÅWÖŸÇ¢öÛ+oœñèÙcÈß›5^·B(ü âîpJ†ÓG”)pGrXÁh¥bæÒÓ«áËG'e³•Í×î,‚ª’ˆ,íl,gÎL ³X 9©ˆçJ ¸®ògõ-Zí;çU ©ûÃI-{™æ°ü´OË#ØðXœ›¸#Õ­ËD3(ìáR,"–@éL*A”KŽ`¤/¦BD—Çùæ3pVØs Û„£þÁo }ãUpÞf[ãzÈp§Û˜Ï™ÙõÄÞln®ß½¾qÄÍû‹‘µºt Õ9ÍF–š/Ì ÷Ý61”ç)JžÐÓ2Nc;Ô&ƒ ÇXËÊ=½ò`Ö[ë_¨ì² H›À ùGMãÄi
-Üþ(¨)°*8²Î,u>ù®Î–*Ä¡cHil!…<«°(É䘪ñ•‰‡þºé]ŸK0
-b·-û)äžÊ
-¦è‚Ì*͇© qrSša9ROÅ.¹g.Ýv®·ƒj­ ÃÏnI…öÌyÊüÙ[”ÅKrG(bÐm œHùXѹ [šm‡«[ÑõcÉw* Û|ÂÆÛ«˜
-Bû‚A™žÄ™p± üÚÔn÷«¢4ǩǧ$œÊY‰x|Ÿnò‰šVûÊl\ãZ c>è[;Iÿ».«Ãõãð8gm5“K@ ÷*¨«§x¸YÂ<áÛGRwú%YõÁ”qçÞ6›'´®Ò' Ð¿¹º$¶à*p‹ä¦ËÚâÎtÔãyñæ[Ø‘k/î½o›¤8®œ¹Ñ›‰ƒpÆÕfCŒøüD”îcWB¦Ã½…tÀVB9, ¯p}ûÎäŒnO7Ô†¸$-LØíïÊb¸Ça•¾¤2ƒÊŸ¸ òðƃüÚ<Ñ›Ûj›>ºåïÌ ]¾]²™{•ü]T»ÒT0xÀ÷ÇÇÀx»¾a#
+xÚÍXKsÛ6¾ëWðÐu Œ' ܪØrª´V\E’(‰Ž8‘HE¤íúßwEÆ¢ãx¢Ìd4#,‹÷÷í.È
+?¨˜Ä†› 1’(ÊT°Ühð Ú^˜·‰£¨kõj>8»I`ˆ‰yÌo:ciBµfÁ|õ>Œ 'C†ço§—“×ÿÌFÃD†óÉÛé0⊆—“¿Æ(½ž®®F³aÄ´báù£ëùx†M±ãÕdzƒÅƒÎÆ—ãÙxz>~œ¿Œç‡½t÷˨°ù2xÿ‘+Øö›%ÂhÜC…f ¶©QRˆF³¼ü}°ÓêºöŸ¤Œ0®Di8Ž$VOO‹SP˜Ö‹Ê$QúѬ£†0øƒ;¡špÞ^‰d+aL©“ abÁ…»’mU·‹U¹MóžÏÙ%ç> %† »k<_çÕ0Ò‰÷CÞn2[áa~μ>Åâß¡Ra^¬Êû
+M¶ér¶îöy±Ìw髨¢Û4²³Ã<cÄ(ÅÝ„®Óo¿ÏÆ£¿®ÀŒ #ÁYxSî­@ÛQ­ÖïJgŒbZ¬ÐpYwÙ¾®¼ee]öÍé%û!Óa–n¶€¢Ø„éfSÞçÅ'¬Õë …Ãœ¶Äòv·Jk¯;œnõõdȈòÆbTO
+‚ÉghàweE7‹JÂEÖô­—ël…J{AVYí²eþRŽ :Äë}¼Y»wë
+Àʘð†nºÍŠ<æ™T ‘Ì
+-9¹ ó! =欉eR|`°¾Á æÆŽQ Co±¥e“­96u:xm‰åí®×74KúÉ3O0hÈ"RÔ“ÇõmÈ{ò@Ù%OÏÁZOcK?y8€Ý€[?5yº°<-{Ì)Ù£´&q"Ä3ì‘ÒwØóÂ(ô“)Ä>…L-s8YæpΦí¸_#hî#0Â`Ô]EwŒzv× MŒ{ù¤$E>YƒCˆE>YÕ"Ãzçžé04ÑÇ¡‰>çD“Äyr>uz*>1a§ê%îÐåIF鉌ýmF) “P©1¬/wߎFHÀÓ$-–$Æzä´Fõ:½ËPZdY­Üêîò…ùù5
+.$X#Ç «¹_çË5Šþ†€XC¯ÔÁÍBBX$ïvˆo¨Ü ·XC´Cn”y§õÁlreºZ!r«
+yá¸ÐöÛioL]\ÌÈhv=4<!(Ý~¬0¹Ž»MÒ„EºÍª]ºÌ<°ö[(;ÁÚxUÙGÿ…oÅÓ?†+ƒW‚d°'xLó]¯Î%``ÒûJ$ðòç÷˜6=£´Y^$•´á‰P
+¨;-ÀÔpû4b äMÆm~ÚÁ'¤RÌR¢oèþvÙ@ÿ<<z¿1ÃÀ52$Á¬2øÀ)Icštd·Õöœâl²åÁE 
+º{Âa£Î¸nCq—FœÛh¬© „Ϥ¶/Sá<ìÇ¢ Ügu¾ý€M»²ªòÅÞ$6lYŦ-«]YÞ<‘£W%‰F–Y¡pç%8n¦Âcg( ø)''¸g‹(
+énµOÛC!Oàv¨%Qš›¸ÌŸè‡íèpª<æÏ$6R¶ìxî{G]Êùa¡˜O†íwèªú3ÒþóF%Ú¸° õæÅiåŶ¥Å*j¬
endobj
-1969 0 obj <<
+1974 0 obj <<
/Type /Page
-/Contents 1970 0 R
-/Resources 1968 0 R
+/Contents 1975 0 R
+/Resources 1973 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1974 0 R
->> endobj
-1971 0 obj <<
-/D [1969 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-618 0 obj <<
-/D [1969 0 R /XYZ 56.6929 247.636 null]
->> endobj
-1972 0 obj <<
-/D [1969 0 R /XYZ 56.6929 215.5303 null]
->> endobj
-622 0 obj <<
-/D [1969 0 R /XYZ 56.6929 215.5303 null]
+/Parent 1977 0 R
>> endobj
-1250 0 obj <<
-/D [1969 0 R /XYZ 56.6929 185.6746 null]
->> endobj
-626 0 obj <<
-/D [1969 0 R /XYZ 56.6929 129.296 null]
+1976 0 obj <<
+/D [1974 0 R /XYZ 56.6929 794.5015 null]
>> endobj
1973 0 obj <<
-/D [1969 0 R /XYZ 56.6929 106.9848 null]
->> endobj
-1968 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F62 1361 0 R /F21 938 0 R /F53 1313 0 R >>
-/XObject << /Im2 1350 0 R >>
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F53 1318 0 R /F62 1369 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1977 0 obj <<
-/Length 3190
+1980 0 obj <<
+/Length 2898
/Filter /FlateDecode
>>
stream
-xÚÍ]sÛ6òÝ¿BôLÄÃ'AÜ=9þHܦŽÏvfî®í-ѧ©©8鯿],H‘¶)&geêf¦\.°ß» ù„Á?>‰uȤUcU¨דÙò€MîaìÝ÷4Ó†hÚ¥z{sð·3i&6´‘ˆ&7wµâÅ1ŸÜÌ Žß]Þœ^N…fANuÄ‚·ç'„±ô8þxqvþîÓÕÑ¡QÁÍùÇ B_ž^^ŸN¹TZÀÒ/ñŸ§Dtvþáôð÷›ŸNoÚ-wÅ™Äýþ÷à×ßÙd§û逅ÒÆzò
-ËcÐPZ)b7x³ðJ5+—«²H gyðîìg«£WiUnÖ‡<fiƒ™•áU1q/éß‘K*m@Ú<AÌ¿ÉI‡†™Gèÿ›Õl¤c›ƒ; y Öò`3£¿Ô´=ÔÔ0û$Â(±”  t€ƒCD¦—EcÓE²D~ÆÖlE1/—IVôÆzX¤ÄáÆ‹4rð%ó‚»+7Å<|¢üàiMjtöû2 ·%·ÉTÈÐî -O–lf ²52 J®ã¶F]„6š¼í×ð$R‘Ž}6
-ÒbVγ´:àÑô6«iàs’oR½?ç¦Ñ¥¦U3Ôи¥‘ÆÙEwˆ„2uFKäïdžCã–T—/cëVRàbÁÌw,ÙÌ–”dalõ˜€‡ ¥2Ä’›› (m™WzüÌ–éâ%¦yöÙ#³MÃl£AÙCÂÜ,œ¾ÊÉ+ŸºA&ô*…—8 ²¢NïÙ!]1,¯M‘9'( ý><+W1w¡_1[:ód«u¶LÖYþ•^7Uê n=†D^•9Är?Ì¹è§ ä­á¨8)âÁ,™¹ci †x%<¿
- S[.ÆìÊ.©S
- ±¯ª Jæso½8µ°ÁyA#d–
-‰>dhIîQ]åT)'<I91ðcX9;R™&ýÐTX  ­¹K9•#]Ÿ¼ã1 >”³¦‹ª¥u
-)ÙÑmR¥„¦v§Ó^ÁŸpP[ŽïжÇ.‚C
-4,…Îñ^³‹…°gÙh™­x*˽‹½„QkɃ£¾a³žþ&ÏÚ>òc¾oÝ0”烞Xr±‹ÍýïËÿ63Zeí›!©ÔÒ×}ǧW‡PÑ߸úïË|^õʬyvŸÕ¥k*ñÀ,Ò‘ ìn¸+ðJe˜»m¿â®ž4“ì±8'­ï;î^ýr
-lŠ$qýúŠ¶¶3®»,²™ã2à}ßÔø†`œkÇÖPž%ÎÁĪÇw É< ªô {Ù°uOøŠke ¥v,×–†…‘¿F8y|~*Îlœ÷á‡|§ êºãm ãî«+•ñ°Èf a‰K‚fyd~†_ Òðr–%5- ³z1,†ºÍlPÔߘ,*ÃøÙu˜²ß†k´Ï†«Ä[‘ŠàXŒ"Á‰7" J•®òdF &Ôàc¨•m¶
-!ÿ,‹­¿™kúˆ+brGiÐeÂ~ÃÈ^ã¹Ð6T±Ë– ¦†L@PtҺƺU螤¸õ6­Iµ ­Ÿ Q4BD”¢ë… å…ØÎÒ­F!>#0²Áž`_$½[^qI!À¼µfLzš‡œ[ÊÆÞ]~ù©ŠÛëÞmi×wÝçåm“î®Ê*Ãò¯ùDe³Âb ‰C{Éä­ñÃÇã,íìõ'¸("ühe„¥Ò†<R¤vïÏ/Î>Oy,'¸Üx¦p|ù‰
-î÷–9 3Ôc $‡£êÈPùó¿ Ìã` ÀõÛâ&ÁÉ~™AåF_ýèæë^·ÍƒØgõÚ´]Ùï
-É.ÕÚ–^B²Òèó'„zCfبÿ…B2Ò†BÈÚÀ!y ÎwÁi¶!P ã5a³â®t×&²Ç` qê.bÏL@ðØDž´ï”ùÛÙø+¾æ‹âP0=æL-Š r%¿€®kËŸè:Æ0|HÈ%²œ FÙét½¹ðÆ mÇÞ Ù,Ó~š°¢w;BŸ¿Ÿ£ïŠbÞ~ÍÓ•a^>8›‹ýg©1~lVCÒã¯Úà>¨p*€£_éI›…it•¨æ YŽqüùæÈ='
-”S2j²H0')-Çm+ÿ©päÉÇëÍyx²ÎÞÿL±ñendstream
+xÚÅZKsÜ6¾ëWÌ‘ªò xñ•=9Š”(IÉÞѤvó:P$¤a… É‘¬üúíFR¢,;>lé@ Ñ
+ýCKæÖt´ü°3ž–—}Ù6Ôkoiøag€£#"L‡@!<-j -ÁÒ–ÇÅ­ ä}îÊ{ÓPó°/²ÁP¥°\nlÔ황ۆÙø|‡-ʪÃ4¨A¨¶€6x!JŠ´¼­ëCSæÙP6wDz(‡1 ~&­NmT7ö{“¯çûQà”¿s.A­ëXª lè‹KY=ƒ—õ ®“rí­Q¦ÊáqÁ !„…”Â1Ú ªâÍé:Ñ‚¤Ä=nÛ®Îjãùðû°+ó6%
+Nv 8P<WÒïRjÚwæœè¸B¹m«6Ϫ¯Ž¡B–DaèØöèïù$œ#šûüa*ÐYºS‘K
+Ò!KãqÒK+§Lˆ(òZû„NãÐVìÁºhèƒÔŒº?_]þwíô¢R–@èÏôR´u†6Ô: ú6ÿÓ ÆR®À!?;t$y3T§Bˆ
+-Í;Ö·-&
+kÛt–XRTeš;<û²8$ñG¶~n{RÀuy×LOÙªj ö®Ë&C‡²ýÐ~b^AÖ_’ñ“Øž½wí¡Ë×ÊŠ¢3}ÿ™’mÐ_–Î9<îÍg®õ£yü²Cþxþ µ†öOã¼Ê™ñ…uÿ‰Q÷ZÐ
+¿*0x~µ>bß×À4ΉyüLÿ³Y^ð0‚ðšÀM¦ üW<b‰LŸè8ª“7ÏÛW
+:„E•$ \º»P%5ò¬·±èïœ –
+$ÖY᧶D)Leürt<•¸äž»tÛ»ÑÐZI—ŸÝ’€Ž,YÊ)|Üœ¹$wtE º©+ز|çK·²FÈ7Ðí6acõ*4Sr#"Çj²‚¢àˆ˜:…Âá׶q»_”•9Nõ§°SgQ,Æ©L¸ÉSO ébµ¯Æ× ÞÆIúŸ/V}úsï&À][/äCBŽ\=-ࡲ„y"ȱTAçN¢ "­ÞŒiä¸i©àhP»*L‚[ê×4¾¹8#2ZÚ-R˜>ïÊÓÓUî¶òmÈÙ‘j ÷­o»tp\9wÜ›‰ãj³!c'>½¥{ÆØWépo!c+¡œ/ ­tc‡ÞŒª§kjCT’&ì7Uéë8±׎ d FV<HoÌ-±Ù¸­vÙ½[þÆx¨övÉf Ïz{—õ¾250{ÿöy| Œo¯®Ùè
+³? êYA#Àx©g2=y÷\¯H¢aHÓb.‰»tfÛª®x~ª*Fþ×x¶î‹ªÐOe
+y 
+”UÅÈõŠ$ÏWCI\¡¥d2„3+!¶þj²ª,ÿèdS¼ãÓäx±Lp™»Æ¾~zÄñÇ¡¡Ž¹þÕš“ØüôÚç¥Áp'"|Á"ã/8v)%ò‡ÆÇ4%N(%â£)ž–€ît| ŸcŠÍÆ¿xP}hŠ—¦ò~™Žoô~ÿY¿Œ¹ÿ—ÕÊSúýãµÊiÅÓ—@…Á[T_¦É‹Ø- D´¾±ï,0࣠éò10«ÊÞy»4òظ˜‘Qè <Qä_³ëìiàÌ‹šXj¢‚/SëÑR:†œÊ£ÏX’f|ä'ÌH2žèWýŸ ªÈÕ5ÛŸð 1åÎçcPgY›5\—"XWå½#Z]Ç^×q¾ÎˆB•’Ž/.@öÄŒºJ:ƒ©X~g£ùš—ÍuhJ›Tüö`­¦°7¿öõKǶïÊ:ëJûºÝCoãÌP‘l½³€}à¨8)‚jà´¡&!C¸r¾€dUˆI ‡ÝýÅ4âAÕZ$YJ‹øujܘ%Èb·-<à¸m§9Ç?Rö»öPsPR”}ž9€ú§žxË—9 æœÅ2Âì±(„Koáæä«W3þ§þ³Àñ&@ •$ò\Ä5\Á©À>q-ûöËŸA P%,LdìÙ&²ÿÎökendstream
endobj
-1976 0 obj <<
+1979 0 obj <<
/Type /Page
-/Contents 1977 0 R
-/Resources 1975 0 R
+/Contents 1980 0 R
+/Resources 1978 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1974 0 R
-/Annots [ 1979 0 R 1980 0 R ]
+/Parent 1977 0 R
+/Annots [ 1984 0 R 1985 0 R ]
>> endobj
-1979 0 obj <<
+1984 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.1654 743.8714 414.8187 755.9311]
+/Rect [341.1654 175.0606 414.8187 187.1202]
/Subtype /Link
/A << /S /GoTo /D (the_sortlist_statement) >>
>> endobj
-1980 0 obj <<
+1985 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.6742 743.8714 508.3275 755.9311]
+/Rect [434.6742 175.0606 508.3275 187.1202]
/Subtype /Link
/A << /S /GoTo /D (rrset_ordering) >>
>> endobj
-1978 0 obj <<
-/D [1976 0 R /XYZ 85.0394 794.5015 null]
->> endobj
1981 0 obj <<
-/D [1976 0 R /XYZ 85.0394 726.9349 null]
+/D [1979 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+618 0 obj <<
+/D [1979 0 R /XYZ 85.0394 385.3709 null]
>> endobj
1982 0 obj <<
-/D [1976 0 R /XYZ 85.0394 714.9798 null]
+/D [1979 0 R /XYZ 85.0394 353.2653 null]
+>> endobj
+622 0 obj <<
+/D [1979 0 R /XYZ 85.0394 353.2653 null]
+>> endobj
+1255 0 obj <<
+/D [1979 0 R /XYZ 85.0394 323.4096 null]
+>> endobj
+626 0 obj <<
+/D [1979 0 R /XYZ 85.0394 266.7517 null]
>> endobj
1983 0 obj <<
-/D [1976 0 R /XYZ 85.0394 534.8553 null]
+/D [1979 0 R /XYZ 85.0394 244.4404 null]
>> endobj
-1984 0 obj <<
-/D [1976 0 R /XYZ 85.0394 522.9001 null]
+1986 0 obj <<
+/D [1979 0 R /XYZ 85.0394 158.1241 null]
>> endobj
-1975 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F39 1161 0 R >>
+1987 0 obj <<
+/D [1979 0 R /XYZ 85.0394 146.1689 null]
+>> endobj
+1978 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1987 0 obj <<
-/Length 2766
+1990 0 obj <<
+/Length 2922
/Filter /FlateDecode
>>
stream
-xÚíZßSãF~ç¯ð[䪵2¿gt÷DXØ%—°œqî¶.Ƀ°V­±K†pýuOdÙ‹-ö0U<¤¨B­ÑŒ<óu÷7Ý­á=¼§Ml‘ôl¢b͸îïŽXïž}8â¡Ï î4h÷úatôý™´½$NŒ0½ÑMë].fÎñÞhòkdb÷á ,úϧ‹Óþ@hÿ—J‹èäãñåètHLèúÃùÅ{jIèròéâìüÃ/Ãã¾UÑèüÓ5OÏN‡§'§ýßG?Žš)·—Å™Äùþqôëï¬7ÕýxÄb™8Ý{€ó$½»#¥e¬•”uËìèêèŸÍ [OýЧ`RŒÇ\hÙH+­ÝŸ`ð³Aä<N´ÞþÕgIÌá@KbJÛz!ZÐs®cålÏê$6RHý À*&Yt‘Þe„Yºª¦Å2¯évQäó*["®
-µ/è¦Ìæa€·Zz5]ý¤›Ó òùm`X`[× ì¯v[pÛ4^fnk v26Î|‹SÔ#vZ°vXÊýl 8WÂ’Æ‚%¨TþeÂo΄•hLL©Qˆ“üß}“-Kj¸ñ¿UÜÁOjZ,¬•ø–p ³»‡Ù•OÍ
-á)‹Æ³œ
-[Á65jùaš§»i X:êc<_¡aã]þæ>Ígéõ,Üâ\ðº*ŸËøš^Cx¨rk¿)Û©GìV4øœí5$2QŠ°ý<‚äQqô«\B,ájýRŠ×M®§Þ5ú~Ä, y®G¸¥¿¸þÙáJ¢j®WJÝ`£·ÛDFàM·ù׌­¤©¿Ó ýöb–ŽëA×t¥ ¼æ‰Ÿnú™>Yû>ŸiYãË,|›Õ!ÙQ93kÜ~§Q‰‰ wçû62Á\V*Õ”ü …E
-T ›WݸH—IÅMèæÉJ·H&£F©\€þ°°Ê~Ÿ v;Î~íOÅÚk?¯½Â†óåÆt¤b
-¢rË¡rùv-°Ïè’B¡û|‚ž*œîÒÅœ,Ü]gÕC–Íé†`Á A‚§>ÇŠ±Ð6™ÿ.³2Þwº‡Ð{·nZ‹~˺‘2Útì9
-¦`KIÆðÒëFDçsàÅ»G
-+¢úº€H¶ðû<ܬÐÓTµ€0’ªV´ªÖF§\úq{'¿zNgÏä:ÎÝ>eµP8¬²Ëu I¥»¸N¨Ø9K\7^€]è.:)æÅ_@íðO9•ùí<­Võ6ˆM“´J^Î6ëHøˆb áñÝ©¡ýYx{1‡ÂÈÒý->W؉9ä:€*ë¿\âÄÚ~ô¥Fè$,°XUÙ š­n§XˆÓÑ5Æ&>T¦®á™hZ”UI"Eb(aD„Wù^)•±S–‡¡€í¦²INzc %1¦›d$…¸#4Õ*êúG›<9pµc®=ÏY×ìnì›öµ½îØÆüez|]Ó‚
-ÕáŽÒhèÏ­GÅ;£vIÒrF‹imˆÕQÞòDlª=e
-&m(X‡›`r§'6¦äz+À”œL|È›|DM K¼ƒ{ÉC©
-¼× îÆý6¿Ï‚Çd6ÍH\‡PÏ)‘ÃOìV]“7½
-àVçd H“„w¤ºa_ëè_˜
- „ò”
-tB¤
+xÚÍZÝsÛ¸÷_¡Gz&Âá`ûäØrâkNq%g¦íÝ=Ðms"‹®HÛqÿúîbA‰’-1©•©“c øÛïDÃÑ3–ÙT¦=—jf¸0½Éíï]û"Žé7ƒúíQï/~9U®—²ÔJÛ»¸j­å÷^ô.¦¿'–)v+ðä_Ÿ‡ƒÃ¾4<9=û”PÚÈäøãÑùÅ`D/lúþlxB=)5ÇŸ‡§g¾ŒŽN.Î>©{48ŒÃãÁ៿ .–[n–à
+÷ûïƒßÿä½)|ݯœ©Ô›Þ#<p&ÒTön´QÌh¥šžÙÁøàïË[oÃÔ—`Ò\0!À8ÓBlÿUú¿I©XŠû\ÿѾà)ðךñ”¯—²…¼†iïzΤÌ*©ò“YVU‡}«´NŽæ
+Ù‚âuð*í™Iíõ›û䘄‘žËŽ)Ãœi
+ö VU[ä£1`Öiæ×þÀaDúªœÍÊÇb~Õ‡dA“œ¶–ñ¸e;ó‘ÓZû1@ØHaã¨F)Á$ÓhgGÕ_6Yº”t‹F‡;ýÿb
+N¶½ÀÚî±woqc|]')èÉÛ_PH@ ½*ïçSÄ’§ÉàÛ]¾
+ÃÇ|öD#ƒ¶a
+Osšƒ2¶ ¡¿º¿¬é9§!,L),\ üHz–ßÊU³sÇ]ªcйÈâ§q41YšÅq°ŸY3"Ú2´SzŸUôŽ~¡±QÐ1Áç…8´Iûë¦ÈmåÿŒˆ.á–ÖÉÂݛ׉âϵK’C©;„[YÆáË¢pÿ6ø'p[¥<×e r0ôN๻¿œ¢¿æOÑ5·ì ¾ˆ‚½šU×ómøêüO9_Y›þvûÔaˆ¸Ú‘´@د Ù«+W©…8Su¤Ø3¡L4DcÌV¥Yã“H£†ˆÔ$7YuCê¶hXˆ]…áÝšËБ…ËYfÉB¤‘…[ Ó[_û6*ûM%öäBðìò€òž»H¢?œöiíxéª Ãu=+/›8÷®¬
+Lú"®ãû»ÜÍb†Û˨ŠŸ>ï@´µÕ7Ù*Ë™“^t ê,“6¥3‡gÃÓÏ
+Äñù"¨ÌjƒŒÀŠ¿
+H
+:$‚G,€2:j‹3¼ â _⶿ô ‡¸
+¼„®#[V”*“ÚðÝgçãÁqð&Ò)œÓ™ØÄ´Õš1ºÍë›2š•ù‚­›£^+UùÊZ-»oÁV-B¡ ŸÑ2½¢p¬¹ÜŬ
+o™Yà&Rîºì‘ôLC˜NÌŸ û†‡Amt'X° B“‘T4X©§¡r­:˜c(žŎзŹËïpî»KMí/ÝC~B-Z:1VÇ ªâšåÉš½„Ö£0¥‚Ö`Ó¸p¤ƒ ïZ.ŸÉ…·f…È ‰˜çk’/U3¼˜oç¨ãu1ÞˆÖåþ+=ÐöB&4¥ž`@i
+<ø õ’eº‘
+Øm8Ú_÷†²6í’q ã¥p‘ ƒãPòM@®b¡]ÆÌôîy@ Y1]¢¤˜0-ð 4Ž `‘âÔ˜
+öçÈb-ï¡Áýáf°'£^3ê“ËQ" ¦íó\f\¥¬‰È¿U½¹Þ á?–ñÅR¬ŽDëÛà鑾 ¨ÑˆZº¤[Þ# ý­l–:‚ÔÒÒÔ†Mõ_òË›‰?r.¶³¤Ù׉#æ ¬Ç;ÕL*ºp±yO“÷:Mø÷Þ_Ýž‡ )ï·¤³Ò“-ºl\‹J`úÙÅvÁqÓ²ÖÚûzÜendstream
endobj
-1986 0 obj <<
+1989 0 obj <<
/Type /Page
-/Contents 1987 0 R
-/Resources 1985 0 R
+/Contents 1990 0 R
+/Resources 1988 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1974 0 R
+/Parent 1977 0 R
>> endobj
-1988 0 obj <<
-/D [1986 0 R /XYZ 56.6929 794.5015 null]
+1991 0 obj <<
+/D [1989 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-1989 0 obj <<
-/D [1986 0 R /XYZ 56.6929 133.9784 null]
+1992 0 obj <<
+/D [1989 0 R /XYZ 56.6929 671.961 null]
>> endobj
-1990 0 obj <<
-/D [1986 0 R /XYZ 56.6929 122.0233 null]
+1993 0 obj <<
+/D [1989 0 R /XYZ 56.6929 660.0058 null]
>> endobj
-1985 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R >>
+1988 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-1993 0 obj <<
-/Length 3138
+1996 0 obj <<
+/Length 2985
/Filter /FlateDecode
>>
stream
-xÚÍZÝsÛ6÷_¡·“g"ñÁÜ=¥ŽÝ¨“º=G½Ë\ÛJ¤%6©Š”÷¯¿]ì‚¢d*NÚô¦“™X
-©B=šDJè(Rç·¥-Ø–›:I†'»Â©caÂU¯•:Ôê•ê©^-­ÃQZi¥î_¿½œD2ŠÇ¯ó¦¨³ ¯ÄŒÓ
-¾q2.ªûz»NÛ¢fB“oŠEN,ÈËz“gÔ?Ò÷Ûéìo 5¿ß^Êd\ÿ’/ZTÿ(6†!
--±¡œ/ÛU^¥h3•Œ§íåD+5.üêñ®AöHik¢4«ÔqÍyb_DOçõŽ™<¤Û¢Þ1§æ±™8!‚ãíÛ|Ý—di›ÎÓ&o^P¿Ù-VÔJyH³õ£K:Ûnã ›mQµ0ÎKªŒ¹Ôô­+qê‚|0F'è[îyƒ6‰ÐY£ÉÁ Ÿsk\ñ‰[ÿ¾U^Y¡cp2ðÄÇáð$,t‰DÙ|80"
-“3>ìc6J"«0rœ­œ+€†÷U¾¥f•®™HŽƒ÷m^1i½)‹EÑ‚Ý´NÆÛ×µ«”'¡WÕ’:žˆ^nÓ’z›tÛzæ~9ïzw'¨qS3çüC
-Ûæ¼ç:­‡œ‘äÆÄH#gJB·ï¶JËò‘Q8jµ 9ÍÃͺJ›Q˜Œw‹vG›Ž¯_ñÒÞΛtr*«Ù‹¸X¥EE3ïî˜ œXÞS§ª³¼CiœEG¬‘S¬2xáW9U6Dê¢;$4~
-õÁe˜½ÊÓ -FaÐ>nœÀFeÚ4ÜžÍÞÀ¨¤yûUá¢ÙPnAÒ¢®š¢·h©OJ  h/žçEŠ@ñh
-¦–t^žœ“êùÆ<
-w÷Š*þ÷’å §u“Õ6žšS£ÊóŒiè\GclÉšLº`ê<'­b"˛Ŷ˜ç™èÄ‹…Õ*éÅ H³ÎS²„ŽCrᘠ =¢ |y™QÇ…Œ¦<»Xóô²X-]&†ïªÞóXM»PaA
-Úû‹”çΙÍû|Ã\Šêh§EºXåà_Q†]y1h×duî¦HpLÇ‚x³ÁøAš«%HÚµ«z[´P>rÂ"@- ÿVWyóOðl ´–ǘyZ6Ì
-5‘êx ”úñ|Ç{ÏýƤ]oÃ{6åŠÍ Ç›S“—=r¨d9.Ö8Ñ@'1øåÌÓÈn–M…1Ü4ŲrÂÕIbÍGšAžƒ0€4èr•åì€K6¢Ös%—ßíõ$P貨ÒÖ¥ƒbå?«¢L (ƒ ‘(uC-çؘçô%€-4~Qàuñ[î,PºXŸ±(Páó‰[wÛPcCÔU1/Úfˆ'FÉ–JË¢-ržé"¾S—–óAÜä[Lª•f·\æ #Š~jå Ï@jxòªÞ• |æ<L
-üf–=O‘N³Ý‚ÀEìD²ZÆy=6,LoÐö<
-Ÿ¹ÑØ®&Aû!-w¹'—e½ï2s—Ãió“üò³Š)l¹Òùr„£¢B¤@6áôˆkÎsµ:¢„…„EºÝî8ÃZüòX½žcà2ÙqAêö‘·iQ±~aÅœ²zz!I4bHã3únzHPÍcæ®ô£æ¨óëê³Ã=„¿³cDþ“RfSðÆö±ujBvÜ{»žØâÕí['.€MÙ› ¼ÖBJ¾¥â½R
-×Ì @óRJ
-¶&–¶ç)ðÁý+jº¸d;,RæD*‹Êåah¤D¶[®h
-`ð_ß^߽ݴÓ×u+El4h´·÷;j|ðÏÑP‰$ÐrXCÊX¡ŒÂÃÀ&‰%·}ª’—ï:…œ×Go§/ªùEõ‘˜ä9‡ a´¡_ŽÂý`²Š-ªH%Â
-HWÌaË¿°Ÿ%«’çüÄD¸€®—`PAøô¸ÿ…u ÈÝqôœshg5T ŽB@^ß5@RP‹ŠÏ«¥·á_8d$¸x¢Âç\C)FV»†}^ =ö_H Ÿñ#åŸPêdBµ±ös¤” ‘0ÃÿH)c-¸·ðghLÙZ HX¥<D¯¤O –ûñÚC-ìðOY8•ß=™½
- fGS0ÇóÕë¾"äø '¤BÑÎj¤·ÙÒÈçÔ„/ï²âp›I
+xÚíZÝsã¶÷_¡·P3'ŸØ>9>ûÎÉÏ••ö¦I(‰¶ØH¤*Rö¹}w± D)úðž©:ž1‹»Øv¢ã ã*Ñ›hf¸0Ñì„wî î݉mzM£^»Õƒ“ï/”í$,‰eÜܶÆrŒ;':ƒñ/ÑÙûÓëÁy¿Û“†G1ëöLÌ£.¯Þ'¡ÏÙ§«‹Ëw?÷O»VGƒËOWÄîŸ_œ÷ϯÎλ=¡´‘0€
+CüóÓÕ95º¸üpÞýmðãÉù`5åö²W8ߟüòïŒau?žp¦g:PàL$‰ìÌN´QÌh¥Îôäæäo«[µ¾ë.1i.˜FuzBÀ .vû—~ƒÃïÒ)»xûgaÙ–icAö±ÓL mW²—²%{¡sJ™Ž5 ‹•T^øW7çgªÛÓJ»èç*w{Hå}ß^Ý@ý0¯¨X—ô­²ÑrÑ.ʦM‡q>Jë,´›¤5Qý~èú×¢ÒUѱš%ÆàüÒϦ|(²ÌFŠ¨HgRÒO9)}FÙ¢N‰'W­´ª³Å}:%þ¸ £”5Ù—¼ª·ÇÃyðÍü§,p&†yŽ‰h­ J´6 ú}úÖó Wil”’Tˆ?§B•¡Ãm¹h†¦¯ŸTosdyq‡“ä~°Ÿª€ç·8öm¶¨ˆqë«œQéª+"hLZ.Jñœð ¼‡ Vdö–ËY¶€þ ç² ÞpYáw‡UѬ\­¸£r6_Öi íÓ©ß&Ð$û2ÏŠ*¿Ïvýœô2,ýVñSΈUjqc Mz"Ôòh4ÍIÆž™†aP\Œ¼ÍªÑ"f¡c^ìyÿâŒÐÂcØ6\hÀ ƒõµìy† ÆÀ `§'K×_1$õP° æLs­Ž`Al Kt,ÖXpÝMdtÚ?ýØ…1â†ñ&&Äð›M§òz"]Ö“r‘ã&¸¬•"~˜ä£É~,Û52š€ÁWD¯LÌîÓ|š§¡ˆsÁï²B›QbCóXkð§ÆuÝâó³Ö5€¯µækp¿é±_ל³X:sL×F‘yé~À)©…
+Ö.!¤p†‰‡"Åï&äSë};B <ä#AÔÿ!ÿ©/Ý@¾Ö2è™~ç&*{ºË \3rIS¥ýö|šŽšNÃGú^yu†avH`eÒO´ð`YMk;>o‹o#¤zI„46fV8yÄjL"™4Iâu=è£o©’èÍK¿ ©@î‘]à Ö0çé¢&ª¼ Í<>1.g)yZ:ìj¤ª9(]XÐöÛ¬·ßrëÖ~@GíÅ¿²}ƒS –ʷb˜ƒNbÒÑg8¹`‡F×äÝçc´Uél4Kçs0³PfõC–T ¹á¤$ƒŸá à7 ¯²ŠíWÍQ±: œÖª_V9/k@Ò1—ØcÇŽÑši•`ú×^92º,
+‘5Nëä+87mcùÒ x¯ i®ô¡·VóRB¼t±ù=6=ö
+]Ç ÄûâXDÐÅbá¿ú]e£š‰ƒ=X.ë¬WOÊ–wàPIe¢!:(Þ_PÁÇ@bRVuE$¹cH¡[„_ïùV):ãÔ(ËCWðÂö«bœ“bGèM)tìÆQÁùA7MC¬
+€Z.~U›PÙsi®mÏY·:ᶜ¡çd[èÏSä·ÝJc3H 1ˆ5ŠÄâÍѸ$i™£Å
+h9æeZž2¼Ý ‘îw€îòû,ØL¾Ó”ȵõ¯ßí×][(¯8ÀP±
+æAí¼O¿Òª¤3m”í„×WppR±¨ýi ¬ûtšom‘ºY
+m /xÜIn˜Ç\LÉC•ryÕíÅx]´Rü%^3€0¯õϼԡõ ²h3Z –D³‚Øð@oC
+ãì>›–sJ”8º¤µ~Kú Èªü 3®{7á)lÙÓzFºèÒ?‘ôG6;9þR8Õd}SíoÄÛa+Ô7a+Ôݧ‹¼\†‘ªÇjg†¶Îfá8Àìâ0­VìÞÌfÑÔÞ…Tö¼aøðÇ?dÚÈÖUá-ìÁýÛk¥·—Ú\¯Æ¡ˆV?Ñ¡Ü2kqØ£pxî µv(ðiTx~¡ÂS3¢hAåm5›OóQ^û<®‹i¸á¦‡e¡n)-…†‰Ú½[ üa)\‡ûÁ7yÙϵ.Ê0rö%…ŸÍÂoÎÒâq×N¤y£ý†èÞïªðö +qrDÕdµó@ ÜIJ>DöÐÀEËQ“D¯V„þ“еõËxiÿ†žh„‹cMÏ–¨¥ƒ¼’îQ¡(ÇÞ×B{ìxšA3ÀXˆî{´ðP¤–^”±Ö™nRº@`î዇h=ÉRŸM¤
+Ãñ NX+r=|Àĵ q vÏÃ/ð*¶ªý,“P Aê“~zÍX$íŸñ`ÄÿXkÏS\…)C%v½œå£yˆ§¾Ó]¿UÖª}@×xŠ0«®6Ûs7ÊIÛ4kÍý¿ZX—pendstream
endobj
-1992 0 obj <<
+1995 0 obj <<
/Type /Page
-/Contents 1993 0 R
-/Resources 1991 0 R
+/Contents 1996 0 R
+/Resources 1994 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1974 0 R
->> endobj
-1994 0 obj <<
-/D [1992 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-630 0 obj <<
-/D [1992 0 R /XYZ 85.0394 513.3136 null]
->> endobj
-1995 0 obj <<
-/D [1992 0 R /XYZ 85.0394 488.6113 null]
->> endobj
-1996 0 obj <<
-/D [1992 0 R /XYZ 85.0394 303.0671 null]
+/Parent 1977 0 R
>> endobj
1997 0 obj <<
-/D [1992 0 R /XYZ 85.0394 291.112 null]
+/D [1995 0 R /XYZ 85.0394 794.5015 null]
>> endobj
1998 0 obj <<
-/D [1992 0 R /XYZ 85.0394 122.9426 null]
+/D [1995 0 R /XYZ 85.0394 229.6198 null]
>> endobj
1999 0 obj <<
-/D [1992 0 R /XYZ 85.0394 110.9875 null]
+/D [1995 0 R /XYZ 85.0394 217.6646 null]
>> endobj
-1991 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+1994 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
2002 0 obj <<
-/Length 2942
+/Length 3016
/Filter /FlateDecode
>>
stream
-xÚÍ]sÛ8î=¿Â÷ ÌÔ\~éëÞ²m²—6ÝK³3Ûîƒ,+±feÉ'ÉMs¿þ
-»mZ”×VR±ÊÀJÒ-ññ£xûúƒxwy#ÎßüJø{Œ%FDI¤ý³“å+j5·¼>}–å-rq[3uOà¼ÊºN0u5SJ¤a¨‘< ‡"Q)ˆÊ„B) ê¤Aw¤”Á›²Ë·]W6õþ’ï>²vyÓ.» Þ%·"µÊ:¢g é`Yty[.Š%vM-šÏl̤À³ÎÊšà]Ñ~.ZžÓõ m‰Æʤ»ÎzÇŽgŒ— sË‚AÈ/Âø|š­kä4'êËÎñ¡XÀãÙ÷«@°GÜÕ @ØUÞÔ=ðŒ‡n”;øl²¶/óm•µÜ/ \›N|ðÝÛ‚›ºh¶x^Fz*wå炽`°]gk¦õI†’#’ÌĶÛfUõpª”rcÂ`A¤arìºÏ`¿{["g‚BT&X5]+(ð6Á
-‚w%ÚB×cO@…À}C€~UÖÈ OiOðúšºÈ'ö3ÿ剧
-°íà˜çFFÁ¥s.)ßK0Ì{rÎûÃábÇ-…èšù
-Ë>,aÿK%OÏÁ'KJ‚¤Ý¬ÙÍì­Ÿ€—aÂÞ‡»µ{þÒgðnéNòSÎhà8|ø¦©—e}‡ü¦š·‘Ø€„Žx=0XmOÝ쎮Â-·bœÛŒZ6Xdù<¯á¯'Y_˜FEŒÜ9LJCÓ¼«dðË B8…Ω#ôe3y”΃S[eŸqI‚?([tMµí ê­‹¬†=Î'­c§} ø5nꊽ‹¼/ý¢nãˆôZjºû} 5r8ˆÁ ¯ïŽðؼ¦6ÉƦ5wÆmöÞÐbÀ¦³”в=„xºùÊùDmèëmnÑÙ^è[ ¿,Y#ùræ鲧ØŤ£ØÅ@H+mì¯õ¶ë'"o¤L#F¢3Äe2’èÄèa”¨t×5y™õî6ÙÇ|çø†wýG`-}Ïà/hF À0þêìÝùþ•@z†ÁëÖEˆè6ò²xt?$ŽÁ ·BD¦íLštnhy1\ä·tJÃÊ]·(|»%£ØÓñŒEÉã-âjõР¯SÁGȼ8ÙèQ¬1+䣱_´äÓ[Ìp!ã–p<ì) *EåÁoyW7;Õ± ó—5\Û™sâp“°×H½#‚)‰ìi Èë¤<
-£ôE9 NE«x?üßfy>F›:ÊÍ“@‹›~Æ>©¹ßÓÜơЖô9ã^*ƒ2´ÉÌBŽ'‰qÒd9‰¼Y£{1µ]^aÜ*é  ‘JžÎcÉ®JìM9/Þ" U:³òu»C9ªSâ¿@`ä6
-§2@ÙÎl‰â4'±Cñ¤^<ƉG¿P>´rô˲)B>üŒ|B+’89"=Ààe»M{÷„pFË~ÇÂ1©0s?cmV‹TóEõØ~ üß™\Ài§RÿÕqÿŽE¤caõŒ„ŒX :0!¸ôž‘>."Z\}Kíê|ÿK .‘6Ä:¡ñ~Áñ‰Z¢IAêÒª§k‰ +‘ÆŠî…wh=JµV>@
-„†¯O‡N˜ð!áa¿£/93r @íC„NY`^_»€px:A˜ˆÃ½—¦£¾nq؆wrrçääØÉIÞ ;Œâ èU>¥#Ù~+ xyâóWܤ*…¸;ÖRËj¢^˜ø(™cùžáG±ÐqDZvæ*ð)? Òk Æï"ÍCàŸŸØÄRCa"ˆæ«Q„ij¶w«dEG³¼TñeS•yé‚!„ªªŽRD·8åy5‘?ÜWjeäTZ9g’Ä>ËÇ~59þÔeâ7.röléॿ¨ÙýªÈböžèé£Ó â09òL¹íÉèëJ
-U’ǼÿGÛ÷'endstream
+xÚÍ]sÛ6òÝ¿BôŒÍ
+¼›Û·
+¸Y—Ymç¨$²« ²£ÞÈ»¿K䯬
+j˜–z3mÖ<¼2kÓ²©é¹jvÜ×Ð*¡—Õ„™Ï©g<vÁd>”¦bꃕò,_•`Sqª`Ž ZÕmRø:Š¤ÝdÑ”vˆðêÆ ¼l³©ž×5Œê»U³5]֙ǒºŠ¬Ë"ï¦.Û¿Ÿ_†
+p÷1ñ¬j™J¢ dÓw0<Þ¢çµna’®Óá«rÅjÞ¦©LnïÍöpsäˆDE‡–5I
+Ö*àHošU¥•—µ­YÖ–9ÀZNt¸§‘kS›¶Ûf¬fQ¨Ã…Ú­Jbú€Œrrtiê¬+[Ëšôþµ2U9¥¤„N
+äº%Èšhøì[ä!T>‘áµù£tr”߶4XÎèñ±Û Ë°!ìÊ,L×NÑ!o4í6«LgÕ‚(ë‘ð¼­»r[—“¸)· ÆuV£*)½¶_.˶£y?AeË#ЄZ¼jzër
+l<ª” F=mJoãâò
+„É4ŽfÚ=#pµ4LDbõmy4q]—ë¦6y;¥¡¢D¿¯‡½h­sÄ.Ç®ŒÅÂ`HÄœæÁ·—d¨ã‡fû¸z Þâw;ÜG((4bÞß;¼!töØÇT
+ËUsPŸ€³µ\B£‰â2„¶¡B'\÷"±Í½½@£0í0Å#Y•ºW…ãQ¼õÖŽJö‹Ð® ]ÃVD2DjÕÎVÎcX« äà
+öÇhá¸Ôö£@‡°ywB‘ðöÝ­ýæg<ôQiàýðþü2Q‰„ú 0PƒÿóúîzþʆI4Œ0œ€DGkÿµý äÀ÷fö%%”D~”DjZBR~ªcØL¢} m%ô\$¯Þ9-ÑJ_±<€ÝXâS'¾ brãC‹Àjì¢U¢QF2õµ,ÉÓ’¡5åW.™H€ÿFŸ2”(òe$b+˜A°ˆ zA{â_±”ö“@§Ÿ²PùRÇôŠ}àPä-8©Èä´TF ~Åb‘‰ŸDaü)ËP‡rOZ†óuZD>ù‚BØ_Áü?R€@¨B­g(ü 9¼ zv'Á³•s€Æ’$/ß ÉTõP.]¤²![ÉŠD¬²Gî¢SÒg¥v ¥6v+“¯h(Ÿ{2):VtŠz"¾\Ø @ÕýzAÅŠÏ$éè•/Ü$5Íaž¯¼|—bíQ-dßzFõ¼Z×Õ‚\ Ýþt‚0žäáI@vTR)Iûja<Š?&ùBõñÛÕAå·¯ò˜›Ö|¶æÊBzEGövÍѾãe–¯Žßž‰§Sg “/¸ïè
+wà”p×*
+fŸŒÿŸûUÓþË®ÂVšÊé8$¡äµi‘™Buˆ ~Æ:}ÿ¤&xÿ/Wqfendstream
endobj
2001 0 obj <<
/Type /Page
/Contents 2002 0 R
/Resources 2000 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1974 0 R
+/Parent 1977 0 R
>> endobj
2003 0 obj <<
/D [2001 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-634 0 obj <<
-/D [2001 0 R /XYZ 56.6929 723.7047 null]
+630 0 obj <<
+/D [2001 0 R /XYZ 56.6929 622.0858 null]
>> endobj
2004 0 obj <<
-/D [2001 0 R /XYZ 56.6929 699.3651 null]
+/D [2001 0 R /XYZ 56.6929 597.3835 null]
>> endobj
2005 0 obj <<
-/D [2001 0 R /XYZ 56.6929 499.5106 null]
+/D [2001 0 R /XYZ 56.6929 411.8393 null]
>> endobj
2006 0 obj <<
-/D [2001 0 R /XYZ 56.6929 487.5554 null]
->> endobj
-638 0 obj <<
-/D [2001 0 R /XYZ 56.6929 352.0214 null]
+/D [2001 0 R /XYZ 56.6929 399.8842 null]
>> endobj
2007 0 obj <<
-/D [2001 0 R /XYZ 56.6929 324.7169 null]
+/D [2001 0 R /XYZ 56.6929 231.7148 null]
>> endobj
2008 0 obj <<
-/D [2001 0 R /XYZ 56.6929 283.2444 null]
+/D [2001 0 R /XYZ 56.6929 219.7596 null]
+>> endobj
+634 0 obj <<
+/D [2001 0 R /XYZ 56.6929 131.5008 null]
>> endobj
2009 0 obj <<
-/D [2001 0 R /XYZ 56.6929 271.2892 null]
+/D [2001 0 R /XYZ 56.6929 107.0349 null]
>> endobj
2000 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R /F39 1161 0 R >>
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
2012 0 obj <<
-/Length 2486
+/Length 3209
/Filter /FlateDecode
>>
stream
-xÚÅYÝoã6Ï_¡‡{Šå‡(REqhšuö\l>.ë6‡n÷A±•X€,y-9Ùô¯¿!‡”%[Ùlo X1Cr83œßÐ, ðZ*Ò8PiL$e2X¬Ohð
-R’&< æ÷=^šP­Y0_~Ïþuz=ŸÞL".i˜I$þ<»|ƒ”?gW—ç³·¿ÞœNTÎgW—H¾™žOo¦—gÓIÄD,90ŽÅïW—S\t>{7|œÿr2w"÷ÕbTy?|øHƒ%h÷Ë %"Õ2x‚?(aiʃõI,‘±žRž¼?ùwÇ°7k·Ž™I
-M¤æjÄNœŒ‘TJ>0”LI"¸°†2ªÅ '¥4œUù¶ÉQ¿‹l³)ªü£¨ð;»~ŒÒÀš÷®€I³Øò¼É‘Ò°ÊÖf¤Óp;a:Ì›ºÜµE]áìTÒv•µ¸¢h¾›D1—a»Íª¦ÌÜ:˜¹·›ë5îš]#5[.Ó'Ú'Ì¡Àš!µhÜòŪ
-Ë©Ý°¬×YaõQaV)t^Ïop€Š,jû]6àoŠÓpZµÛ"opnN¬xŽp ‚œƒlqb-ó!§2Ïš6jëh]7­QÀ¸ÊìtÅpjŠ‡ªøƒR¾È*¸+®yèÍíépm<eN‡l‰+ÊüÞ®öZ e[<¬ZÐ,¦*œ¯Ìµ*~ªeYo6uS´9’÷ÙIÏË­áSöŒãæÛóŠÜ±îÌ`æwÍ.+Ëg·{[´‘ÕüàzÛ¼2’r ’îŒ_
-ˆÌl—1žTvà,OE»BrV!9pOîüËL0v‰p ê]¹Ä‰Uö踺“À‹M]-1G]<w^ß4¢’€3$&r¸‚û+‘Ús’*lVN: :通!Á:¯ùÛ‡öÎ9N]W>­êÆM/³6C¢ñ¬ÜŸ‚2(wÁa¬ý€ââs¯ziïZ¬¢c
-j<ʤ{ëŒ1¤Šp½+ÛbSº ¨ "‰Å=~Q*ØÃ&,ôç­2·r]wÎf×£W€ ~¥ÑǸ–HÂóz‹´üs¶Iœ`žc¹r©ùƒ[Mõú#’0æ8,HŒAZ–*’X•&úkJ’HQT”¤ÿm—¤§Ê‹à>
-¼ÜÐﲊ:¥¢DH¢c–t/f½ìË8#B$"%ÈhÅ\ÝÌÞΠÒK&h8 ˆ.÷m(©&<IxÐ?íÛ40¶€Uöîûw… ¢u"_3
-W$V#2‘V`c—òœ3¸¯kÒó6ò²qz§þ]ÆÙƒžÿ‡Ë²”­
-zXÆ»°¬ª¡½SoqìX‚<´¶7
-Ô' ¨´¹ò¢-<b7€‹•½';‹[oÎÏ
-ˆ;5¯Œ¨È?GœP7™W˜Ë¾¯Ë²~²'ñ Ìšr›e÷Ø·¬[ãd$h
-Þ í×0Ù~!3‚<ö¾Úä6%ó±Âº·>.y÷NÂ<,‚ÑS%…¹rÀ-ˆ3eέ¬ñ›UÏ8ØUŸ
+xÚÍËrãÆñ®¯àÁ¨ÊDæ |“m­C—W»‘•*Wl Q†
+Á[ Æ¹Œ<Ë{Òâl[ì?Ð.±Œ-7Më9Ú{ v³­Î¥”ÑhÕ #ö8ÂÞésd© ¬§üÄe'vš9¢Ý5õª¬ïð¼™âk8Ñ®ƒÃÔ¾£n~WxÙv(¶ìsj™è6_þ›×5ü (ëâ#ã¨è wø&~ª?4ßßH½ïY—Ð;µ¾j¦x²n›rÑ&ÿ€[ª ˜ø†òÛ¶©]A½m‘×pg‚ùM©”†á¤¼'
+ðí©‰âˆj !p´YØß?+À±xMñ+ ›R,lÖ…Ú8O-æ lzI±†åÁâë.7^!úц¾AæÆ€^ölxll݆mII‘ó™^ÈÀ¤fSf"&EƒWØZ†@"KˆÞ·É‰À`m’ž°tÛ6Ë2ï¼)e fƒßd¤½ŠÇ~V\PÓÓ¾ðÃ’ˆ'Ц_]¼½Ûâ3h´‡5"Eµ±,‹GÆ!õ|ãwHHT“£¨B“Þ %/UQ¹¦AÏ4Ì|Ðõ›Â÷¶ñ&2Ižp°Ä=¾"îV÷ úz|Ì›“Œ> 5<
+éhì{Òé{tw<"í·àZÖ™ð̃ßò®nŽ¬c€ç5ØìÜ+q°$¬5² ˆ`Éc$#¤!Ò:¯‡^õf'fÒŸ¢æU ±ÃO‚l‚q`l×”u7ØjB Ý>sÐÅìåv+>æÛ]U|sêòei,-¤!UŸäó©,¶©LÇ>ßÿ·*œcð~Ož€Ö ÀÅÍ°bŒjî4·. V½?iä@üÁÁzf3¥K<5™Nñ²Ù¢†Ñàµ-À­ÖJ
+²,y‰-„‰“àPRy÷\áTG—9&X•²4©,ÛBh„œµõÔ„Qû-}I¡)ËÎ
+EÝ㟩„<mÿ,êX„Ó9Š~8ÿ'ð£:Ú‚ò/w/ Ë@ãqI:ãbdÿs
+´@¢à¯•¼ `cÝ4Ï×Äe{¾eþ\GݤLbо¥IÒ©ŸŠÙ‹¯÷©?@<þB{í¯7ò$0ŽÒàUÎÀwC\Þé£g ?Ud°ÁÙÿSU'ýendstream
endobj
2011 0 obj <<
/Type /Page
/Contents 2012 0 R
/Resources 2010 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 1974 0 R
+/Parent 1977 0 R
>> endobj
2013 0 obj <<
/D [2011 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-642 0 obj <<
-/D [2011 0 R /XYZ 85.0394 769.5949 null]
->> endobj
2014 0 obj <<
-/D [2011 0 R /XYZ 85.0394 749.4437 null]
+/D [2011 0 R /XYZ 85.0394 613.3608 null]
>> endobj
2015 0 obj <<
-/D [2011 0 R /XYZ 85.0394 660.1505 null]
+/D [2011 0 R /XYZ 85.0394 601.4057 null]
>> endobj
-2016 0 obj <<
-/D [2011 0 R /XYZ 85.0394 648.1953 null]
+638 0 obj <<
+/D [2011 0 R /XYZ 85.0394 465.8716 null]
>> endobj
-646 0 obj <<
-/D [2011 0 R /XYZ 85.0394 449.4639 null]
+2016 0 obj <<
+/D [2011 0 R /XYZ 85.0394 438.5672 null]
>> endobj
2017 0 obj <<
-/D [2011 0 R /XYZ 85.0394 424.0768 null]
->> endobj
-650 0 obj <<
-/D [2011 0 R /XYZ 85.0394 352.0618 null]
+/D [2011 0 R /XYZ 85.0394 397.0946 null]
>> endobj
2018 0 obj <<
-/D [2011 0 R /XYZ 85.0394 323.4047 null]
+/D [2011 0 R /XYZ 85.0394 385.1395 null]
>> endobj
-654 0 obj <<
-/D [2011 0 R /XYZ 85.0394 272.2519 null]
+642 0 obj <<
+/D [2011 0 R /XYZ 85.0394 216.4249 null]
>> endobj
2019 0 obj <<
-/D [2011 0 R /XYZ 85.0394 246.3845 null]
+/D [2011 0 R /XYZ 85.0394 186.4354 null]
+>> endobj
+2020 0 obj <<
+/D [2011 0 R /XYZ 85.0394 97.1422 null]
+>> endobj
+2021 0 obj <<
+/D [2011 0 R /XYZ 85.0394 85.1871 null]
>> endobj
2010 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F62 1361 0 R /F63 1364 0 R /F11 1451 0 R /F53 1313 0 R >>
-/XObject << /Im2 1350 0 R >>
+/Font << /F37 1030 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2022 0 obj <<
-/Length 2114
+2024 0 obj <<
+/Length 2116
/Filter /FlateDecode
>>
stream
-xÚµÛnã¶ò=_!Ž Ô\Þ%õ鸉“ºÈ:{·(Îv›ŽØRbÉ›æï;ä¶+Ù¤‹"@8‡3ù‘f…?)MtÊÓ(N%Q”©h¾9¡ÑÌ]ž0O3Dƒ&Õϳ“"ŽR’j®£Ù²Á+!4IX4[|îi"H8ÐÞÿ¯'£þ€+Ú»_Ä„T¼wöËðÓl4Å íIOΓâpv=¹_þ6öcÙ›¯'ˆžŽ.FÓÑälÔÿ2ûõd4Û‹ÜT‹Qaå}8ùü…F Ðî×JDš¨è>(aiʣ͉T‚()DÀ¬OnNþ·gؘuK;ÍÄ(áBó;qÖe'•-¸ØÛIf¡”öf+ƒžŽ'gW¿{Ãç[3¯ó¯Æê \yƒ+\A;~7OEýõ“'ln/Pi ,Ý~G¨DSNE¨Ì.óµ)²M×Ö
-ŒÂ˜ô„Ÿ;X ˆÃ–å6¿Ë‹> Y¢U û‚:w±K ã*ötór³1EÝÁO2’Ƚ_,I0B%£K Ø:u“S“-`?‘ô²Âqï~ÛgI¯œ›ªÂ™Ú
-
-2 'ã`tW¼@¦-!ÝÌ¢Üdܹ£ƒæ«Ùz*g‘Ÿ R!O@>!v•ùýî·y¹=^Ú‘o4#qÜoÚ1ùFÊàWe17-¶àQL“’sÛ£šŽ´Ê¼1o)B=34mWÐ"?…X|K‘`œ¤©’ÝERp*ç:}™®£À˃aE›Õ¡æ*© J°äPKx´WiNDÌ4Œ@Æ,&M§SR”õNJ”à!I_÷šõfðŸ÷Žª'ð¤1dHn g˜è!²i3MÒ4`§êÁña¼áÑy
-E ßAƒ±SI7Ý
-v™O…ºU×'ZB~<ø-Wmx~Ke!m \ I©z·}IÁÊ.µ«i“…+[Z<®,æqelÞB$š
-å ð@½× TŸàÚÚ;öáÖù1«\Þw—Õ<4£¿jSTO~‚ÄÃmáéåh2‚»)˜t6ú÷"¢µË±3kèÞ©¾q6ëUÕÕmq’PþÖàèŽ0“Tð佶uVuIÄSW¢´fÏo¤ rd®Ÿî½‚ÛN%œ7Äÿ¿þÏ
-îT)´a©÷köÒyµÓ'±Ò¢éß\¹[
-!דÀÔ‘ì$"v9­}bÈÈ÷÷¥½A9Ž»[>pÙ\ w¬Ê÷RA‘V]˜µ¹Ël£²ÏqÕ|›ß¾’ãXìsЙ¥5>QÀ ôŸÃóó)N?Yc¿°éx´xžýµu !%ÂMº N|‡¤«ø´éÏ®cŽÀq˜Üàx3šþ>šž’Ñß®FocÅxŒà)g“áG?yJhw‚mjJ‡=E¸ÔbùÄ7€oZàËZ±Wµz#þ*#ö£†iî›Ç‡ÈßÈ”¿)JJH·<~«
-žò…ýŽO]PØF£J—û°çxW°¾ÿÄó1ôÓî€àø,Øg³D÷&eà‡µß-øO…,î–+¿ÁjϲÊžÖ9âA˜‡°[ 9\ròâÎm£|‡(<ûÇ|½î:º[_-‡ûûý³Ù*¼ì»”­Î=“žÎ ÷ÒÜ ù¢içV¾øgqýËõÍlàƒ{¼—CgvúÏù؃´ãGòÃ÷&Š®·#èФ€Ö ãç
+xÚµXÝsÛ6×_Á‡{ fJßnn:u9§N,÷µ¾i’Z¢mÎP¤"RqÜ¿þ_)ÓqziÇ3æ
+X,v±»¿]€DþH$$’šê(Õ LD´ÞNpts¯'Äó$)ésý´š|ÁÒH#-©ŒV·=Y
+a¥H´Ú¼‹%bh
+püûÕb6M¨ÀñÅü P„qAãóŸý²š-Ý„ô¬?ͯ܈vŸó«ÅÅüõ¯Ë³iÊãÕüjᆗ³‹Ùr¶8ŸM?¬~žÌVÊ}³fFß“wp´ë~ž`Ä´ÑüÀˆhM£í„ †g,Œ”“·“ÿt{³véØ1QFP*X”0ŽlßgzÊLYcÃÍÕZ~•Ž„"­×G‰b°3œü³²Ü: ²<V E].9E\rÙ¹œÒˆ¤… Æç’"–¥„ÁASn}¾0î°œ ɉa$ óØr\MIâü§ñçLœÒ4’RAl)n¶Ž>Fa®5sL=ÚÚz<;ðý|K£W5XõŒ
+‚“¾dk”¤½8†ð.Ø_¥(å0e4^ÝçÎ*Éz¬àD,H°êWËùë¹·~ ’CD,=_YTy3M˜ÆqQ¹o â-‘OŽ?gÛ]X²½Ÿº5SõÞýØíë)ñ§bSTwnh]W­[Þz¡õ—„ƒ–piL£¤s)¨WWå#ð¿§4u”AqìÇ7µûVuë‰|7MºNEXžív¹c„8CIÐÅL®ÛCV:úÐdw¹1òŸslû¸›;
+„–¡GDú6øæ<–’sžôs>ð é­
+8”¦“œti—P¥âË Žzïh/Jéø¢Þo­Gaô!kQTE[d¥‰ós“¿Ç˜VÖOvÖ-]^œ»¨ÂQYåyî(7‡›&ÿxÈ«6H»ÉóÊQùç6¯6ùÆÄ,ÄÈõ½Ñj$&]´€Ý ƒÓèL
+Hòr\ßÛ°cÔAPÌùFœ£€(³›¼tsfƒHf¸ÿÙ]ü ¦y¹1¶2Ö²8kvùÞ%
+ñ¦ÚB˜vå‡Ä…«'Ä×j;8Sã<gí¾YõèˆCõz¸ÂBÊÆ­8©DÈôk,À—‘èV†œ%>=‰ÍÝ}Ó:L ¦ @Á‰ÎìFÂW7‹`nÂ7î›ÙiÐØ뢫7$p6 ƒÜ1ÚHF¿ "\DEÊ"©Êû 0"HLú"G@B¤
+Ñ#kó˜8àÉÿSÜÜóææù¥_ΖÐY¸}±4v=dm^ÜŒo!•ïïFÂ…@¬
+ÎÕWQTg~›_°µÍ/øýp¬)fÖ]Y¼zEe!bD/;µa²ðÂw5,1Іe<¿»Z†°ê@óy7A—Ç™ölA|“\ñÄæµI§Ï\C;e{8Ò;ò€lE{?Z4Á‹ŒÒ? iÐœÂk¸ôBÏ^›jþP4ù ¿TÀû)ÿ³:ãÍÊßåXšBË…Õ0F(p<ci®<D×'˜é*оßÊñ|Ê÷žËžÈQŽrÒ8™0øèFï3¿ßn_ØëÙÉÒ¼‘¥©øŠ[0à ç!®êjÄšÇ&i
endobj
-2021 0 obj <<
+2023 0 obj <<
/Type /Page
-/Contents 2022 0 R
-/Resources 2020 0 R
+/Contents 2024 0 R
+/Resources 2022 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2027 0 R
+/Parent 2030 0 R
>> endobj
-2023 0 obj <<
-/D [2021 0 R /XYZ 56.6929 794.5015 null]
+2025 0 obj <<
+/D [2023 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-658 0 obj <<
-/D [2021 0 R /XYZ 56.6929 769.5949 null]
+646 0 obj <<
+/D [2023 0 R /XYZ 56.6929 617.17 null]
>> endobj
-2024 0 obj <<
-/D [2021 0 R /XYZ 56.6929 750.9871 null]
+2026 0 obj <<
+/D [2023 0 R /XYZ 56.6929 591.42 null]
>> endobj
-662 0 obj <<
-/D [2021 0 R /XYZ 56.6929 522.5618 null]
+650 0 obj <<
+/D [2023 0 R /XYZ 56.6929 518.3317 null]
>> endobj
-2025 0 obj <<
-/D [2021 0 R /XYZ 56.6929 498.7164 null]
+2027 0 obj <<
+/D [2023 0 R /XYZ 56.6929 489.3118 null]
>> endobj
-666 0 obj <<
-/D [2021 0 R /XYZ 56.6929 412.0682 null]
+654 0 obj <<
+/D [2023 0 R /XYZ 56.6929 437.3327 null]
>> endobj
-2026 0 obj <<
-/D [2021 0 R /XYZ 56.6929 383.338 null]
+2028 0 obj <<
+/D [2023 0 R /XYZ 56.6929 411.1024 null]
>> endobj
-2020 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F53 1313 0 R /F41 1218 0 R /F62 1361 0 R /F63 1364 0 R >>
-/XObject << /Im2 1350 0 R >>
+658 0 obj <<
+/D [2023 0 R /XYZ 56.6929 208.889 null]
+>> endobj
+2029 0 obj <<
+/D [2023 0 R /XYZ 56.6929 179.8493 null]
+>> endobj
+2022 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F62 1369 0 R /F63 1372 0 R /F21 942 0 R /F11 1343 0 R /F41 1223 0 R /F53 1318 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2030 0 obj <<
-/Length 3334
+2033 0 obj <<
+/Length 1853
/Filter /FlateDecode
>>
stream
-xÚåÉrÛ8öî¯Ð!UCWYll$ȹ¹3vÚ]i§'ñTuM:J¤lVS¤Z¤ì8_?ïá\dHv&éšÃ”
-©Ó¯€Ùo9(kŠ±0Ò‰~FÖ¢4
-•J öÕ]ûBA“œyÑ.·å¢h{NÒxóP[«³µ\í­Úžò$(Úfg:Ë‚¦itÙ˜6·!û±]ØEKZ•uEîµ[çõ#.TA[Ö·•Ó1ö•VÚ¢ôʃt>XC ~gË›ªÊ¶îm cÜ~=®MÕÒÇCÙÝ•5õקgsZGÂÂöӜLjNd×´Ý0! !OÔßTÙ²È %æBˆ0åJLÅzÚ©«ÖAÙÛ¬3:Ã÷Yµ+P³SÜœ¦"hhüÖ( t2ÚõŠ¾¿ ´f×mv¨"‰‚ÇfGÓuQä4ßYx 0Ù¦6?%Î'ýœ1S–2»–#R¼#6‹lùG[eímåj¼•ƒ"ÆŽòµ8ˆzÂ¥]€E¥AÞ†`"5É0¾L²Éi´) úå£ 8Ò”1uT`GdYgDfÓ•MU•ý6*í
-¤¹y@þ˜ÑGÃ1Jñ)ÖM^¢y/¶-äá®\ÞaôöÎx'3Lª­ŒU±\óß+#¦Íš¶ôËz„xI­¥ñ"E•Ûcʼ»£.Zrµ^d-Š­†÷¸ä)†{¦z¤*i BÛÑ5òÝÒà P-p.ó°—k²˜;aYyIžJlDU¬:‚¸Ø‚JZ•ëu‘—`°*{"Ðni®L
-r4¡90ǶP…¨4ŒxtL"t(1àYë3E< åÆ„
- ]’q·``üÇ3ýgÈ¢OŸ<S8;Žœ ¾}vH¦ƒKc²€(Åçl½©Š3Ï•â(„Ø)z+õR¬À=ŸÉ³ÜgÒPÊ#L8Ðî–å"뮸ž²¼‘éPr“$ŒÚ‘æ$Ns ³ÜmI´ëŽŒRBðN¿ÃzÛ]e7dvAFM^,ËuVчq_fΣr_
-ºÒ|“å¹±ïhöj+bn£LæÔ»˜JÅ!s
-»Ú¸ZfÂQêöª‹kúÛÑYóH“Å*§¹‡1dÜZ êÊψ’aLÅ÷4°Yv† R<Rƒ§NŒωQÉtz"dipÒ;\&‡NШŸ±“°Ï^$U¯À ¡–½žýæ‹5Àб>¾[¡†!ֻ͆x½¶¦LÚ çëra¸x„Bd¦Ãá>‡›bðÉ_ŽÀµÏ­‡í§/õê+:ÔÐÄßzO Ÿ m,Ojü2Xž¤q•=ÂÁ7â·ÆÔŃAC.+Óo¶³NÖØóÛ#2¿Ê¦¦”Ë.~?#tSù\´*°¨CkLúðê¦#¢d‹¶©v]aõM@jŸr>µ+K‚#Û6OàÎ@zB¾{õæêÚ‡&X^.ÄøB
-Ì`êb*›„í³bàH;ÿàg ¸p¥¤3ÇT ¡ ¦ž\n‘O¥¼
-+×Y·¼£A L_°âìñý˜qw¦ílkÇGŠó&·#ø^rëHõrnÇa¹…P/IEôœÜ
-*ÚÐîqóüû…©Ù"½ |*]„Plt•oCoŸbü»RŒAOBïŠZ‘PôâAö<f 3=OÒ¢«øP¤4b6ú8ÄjvôÏ]Ó{ŠÐstÑïEÏá%øñ†‡‘düÅ6ÇŒŸ¤Ÿ<MKò$ À› ‘žV|`™ð<M‹<²2î¯Ú‚á±îÓ•7×ïM äæÂWŸ‡K‚æ¥5ÂÅ'##iãÃáÅ箨1¶µóuîk^!š¶½fµL´2äTn±»¾Ðƒ¡Ú+ÛÇâLÖÙü(@ È#ç< •°æ}¸OBMÞ¸¿¿H éuãî2±Vx÷Bš×oÏ?|˜$£¨¦wÆ=È8Ô¨wx!ü'„>s†Öy^Ž¹,b—1Ÿž8…q¬¢Qþײ èË<NIæò¿}‚š)àÏŽJ=ŽŽ¦äXˆÃ©ÝLôi÷`f}z3:Ѧ’ö*Û
+xÚµX[oã¶~÷¯Š
+õ}î}üÄ£X÷k3•g&úœ‰<—Ѳ§bF+ÕÌ,zw½í
+ÉòÜèn±<JrŤLó·±h¬@6;¡öQL­˜åû(J Árc$†1çÌ
+ˆž5È–RGèaÏ™3“jŒ‚3£$hî9nûI*â ü—ñ«x
+O• MBYƒMBA_ëMÞ¯ëG¢ÖsA½eØ;y,Û”Ôð;\3µªjŠÛÖÍ»ì 3×W<þ\äz~èòºD÷H›ÅóÍzI”O&$0™~ ²LˆåŠz»q}1spD;ØËzѹe©‚´h×ê·•?6PQ²oaßÖœ;Š±bßPDDZ
+ÔiÓ¡<¸g2íz“)ËtÞ”ÛÌÍ‹í¢NêzÑ!9͘Ժ)ªh
+ÛšÀ0]/—X'¯À™V Ð'ª
+ØȬ…ã
+(–+™‘y
+MæœÊ‰ #}LúJx隯\Æk¢oÐ{žú“Æà hbj{_¹ç­/füÞôE»éÚ³Š&¿”XjHmW3‡íq…uãåMn*¨9 þ;Š.ek)JÓX¬1¥z@±z¹À)´Õ™Jµ¥™
+[Í*Öi~è³}¨¼N¡n¼Ž-aÛ&Á'ö2ùð „Tp¶ìd¶NʤÁK Ñ„àé.µÓØû‹Îû¢òmßßX Ñ5ü«v«
+ÚÉÐwDb,„«áh×!pédø·WD“Ÿ‡R^'sª窩ŸVlU‡F²ŒËS‹£»Âš(6…áÅuaåLHc›B[U—F2gYfóv™½€1 rÖè\}
+n: Ôo¨ÿ¤ü_*Q<g
+Tymß
+Øa’ÌšTµ\Â)WùܪÆÖ ÓxJ%YÔŽæ *·)]Øä Fâ¬Ö[OL¼îˆî/K~ójñ•¨Y9G–¹Ï}øžûþÔWLúf y¶+K(œN~|tÕ~ÒX}pHÿWWÁË Ýݦ(L¥)]R|†3è3]¤¯D?¸êx}ÕâtåêŠ('¥W~ÂEš|Þ–DȱВŸžÖ›: nï‰x'u{óg·©Â]ª1äÀú™[¸‡/*»&WM7åý‘&'lhBçXL W…pÿ\\ŒÙ`ü9hð!$º³‡´½__]ã.…žÈÞ&$káX×5+Dûî‰$â'Fw4Þ Ç¿ÇgløÇàý‡›áiPð òŒ†óÑà}X<c¼»Ã¶-jÎŒâç‚îÍø A<â :œÐ].è°J¼a•ø_äQ÷ˆc@-×߉á“'‚ÊÓ@Édƺ À÷Ýi&Î7äuœ«áA1W»²—ôVÀ¡ò÷3K5ƒ°¼šñþ_ôÐMei<Z7xtøû ßW ¬ð¶| wU9 ¼>÷Ê<onFìðÈ)W^Œ Wì†#À)‹.wÞ‡SžžšžoÁÐ5v×”MPÈ î"å°Ë„*y¢¦?…ž‚Ï»Î
+iûù _üuýËíÝ$ Å=h²WÂÕì¬+­NÃÁ@âø§‘}w¬QdßÐ(¨ÉxÙ­ˆŒ¬rgŽèrK÷ÆFýFû7wÊã"e—»7ž,R©Nßx\äÑ.Bnƒ±‡L_;2ãô½]Ú´úBÀµÝXYxð[•ò*Wð·ܾñK%R.2xðKx«ò¬ë§J¾{Å|ó£û´e*ËdûWÅÖ½˜k¦<•à‚X¾ióü¥;ŒÊ˜É ý[K÷ÿ
endobj
-2029 0 obj <<
+2032 0 obj <<
/Type /Page
-/Contents 2030 0 R
-/Resources 2028 0 R
+/Contents 2033 0 R
+/Resources 2031 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2027 0 R
+/Parent 2030 0 R
+>> endobj
+2034 0 obj <<
+/D [2032 0 R /XYZ 85.0394 794.5015 null]
+>> endobj
+662 0 obj <<
+/D [2032 0 R /XYZ 85.0394 655.4043 null]
+>> endobj
+2035 0 obj <<
+/D [2032 0 R /XYZ 85.0394 633.1281 null]
+>> endobj
+666 0 obj <<
+/D [2032 0 R /XYZ 85.0394 552.1893 null]
+>> endobj
+2036 0 obj <<
+/D [2032 0 R /XYZ 85.0394 525.0283 null]
+>> endobj
+2037 0 obj <<
+/D [2032 0 R /XYZ 85.0394 90.0274 null]
+>> endobj
+2038 0 obj <<
+/D [2032 0 R /XYZ 85.0394 78.0723 null]
>> endobj
2031 0 obj <<
-/D [2029 0 R /XYZ 85.0394 794.5015 null]
+/Font << /F37 1030 0 R /F22 965 0 R /F62 1369 0 R /F63 1372 0 R /F21 942 0 R /F53 1318 0 R /F41 1223 0 R >>
+/XObject << /Im2 1358 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
-2032 0 obj <<
-/D [2029 0 R /XYZ 85.0394 652.0358 null]
+2041 0 obj <<
+/Length 3601
+/Filter /FlateDecode
+>>
+stream
+xÚÝËrÛÈñ®¯àÁUªDì¼€rÓ:’£-GNl¥*¯ ’(ƒ
+·ûí‚ù2Ž‚Ù ˜ÏãX̶*~ ¤t3ÅŇ‹´
+,ŠcÏ í¡ÎÒ+
+
+»!± jÒl™o“‚Æ}™o*÷5#”æ»$M}‡„¡U[rc2§¾ØÅD*î]£oyLò"Y™]m\-3Á(u[ÕÅ5-vtVÀ¦ ¤I5Z—žNp#„´H‹N]ù±C2Œ¨øH«ec"õÉ#5HpìĨš81ðO„„"ö6 ½Éetêú: û2i‚¤jtcBÇ…¯e«gÿšŠ5ÀÐnNPÃðևݎx½¶¦LÚ¿—ùÂpñ …¸
+ås,¡àû’qWŽ?Bþ[ S+­-¦¹§¼°&da?6]êBŒ!†ùŠÆyCã'ú …††ö=BlC;#4"ó©ì§gYL.ìRfršÍÀÁÜÐÁ§4_à[b3»Ä‚Êv l6ž˜ƒI·1ëØW8ô= òrYÒ¬Ñß@¤®=ŠbÃÉÏRÞ²Úî’&_äEÞ˜ W¹{ÂÇ,Ù¹IFa‰Áp=3p­ý(nù«©xŠKÓÿN¦ð„º! Õæ®ë2ÿJ‘u@$„6/ÓÜ|ù°8TÃû,á&àC9µô0²¥È+GºÑÈž.Vô‹
+ÐHŸcîg FS|³Vña’mDϘ$[}0|›Í›j^ävÆ„-ŠuKÖY‰ù‰1êYeÂÆ£d;¹³u $í‘©;’|Âså(,k™ãí&Ûç³O6µš(ˆœD<<¼ìKÊ¥]µ¿Œ¼C‘Õþ·ì%dÊS](0€±‹¡mú5Öˆ~íTfšÀ1¥¤ã&{W#OÎ6K‡ò
+ŸŠ"N$Ï:c0)é}úYe¹ÿ «È×±>_”Sj¬¢³,:'êp2#í~3gd¼ÿ­/ã0?!ã\»Â2,·µSX¹Mšå†&H»¼¯Xiž°Ö-Ì8:Ó6¶µó=Å9+·üÿNn{ñ³äÖÑþå ÝŽ“r+C?Rã•[Å|a5ö¸ûö£…)Õ"± jÊ]`Ï«‡ÈÝmL.þ3É‚E:<O.ašTd‘õ<d3½‰L¤Vñ®2i$¬«îqÐì쇪u"þ¡fÏŸEÍîî¿{}û±7; ¯ Í—(²|F¼ÿXøìÑPh`AŠ>—J$Ä01ñ¶
+v`ZÃ<]©ëÂCݦ(onîoÞ›ºÇÃÍTMBBî--Jsk
+KzæÑÆ„ÝÓlö¥ÉJŒgí÷2u!‚5¬AÛ^µ…5 )•X쮯ôDh#õÂö± “46'Š øÒ;Î…ÀªÙៈš´rq}‹H )uåpéW+»£`¦½Çë·×> ’‡^<Óúã0)ÔP»o}9çŒ1ï:Móþ!·¹»Ø­¹Ø”šá“/ಗóZ̃”d.çÔ|þ¨¼ãèhŠ?Ž…8ÛÍDŸz3iSšÞ‰6}´‡P©ˆ~Øî†ëˆŸØ#~N† ¦ÐÉIE> »„)zþ@„«„3æ3Õ>£ì“§)GÌQZº’ @µ™Íˆzy>=N@²Ô•û¹SbÑLzììpµ¨ÞÀ'Ô,ò2Ùûëmø ®G¾}N³ÅRÀ¬À{‰ø“ d0he+Mš¤5¹/›C[ÃÄï­jµ!=~X]ðŽ£m²ÿ ”°sù–pªŸ§E•¤ÝlîJl¨§T7+”P³ÛCÆ„1&öûǬ}†aí"k ×è›P'î=K …CKˆœ¸>/ÌdŽ¤Ã
+åx!‹«ƒ“—±É¸òVÄr`x3]ê¿jß°j”α
+ÖÅÅ¿ã"'f&ÂYyX»sá­‰3B¤± 
+ú&Ú7JƒV¯¡ïæ 0N˜G¶Pžz cüO“n.kÐ*âмSØq,$|Á"·‡<‰­PÃOø‡’‰g!L Úö ÐXŵ{ÕEÃjïEv:mŽcB‰h”šT`Ì Œñg«ÆåmöIY¯zy‚iŸè0T¨,Ž­Rƒ®º%‡Ø›Øw*nË“èå Sî4¦:å…¾QÞn‘3ØoÕúøt_SD•tû¶ÚŪªD)㒤̳¯íÀfŠx„9ëtå#ÈN¶'…¥ŠºNa->ÄqÊ{'üsEøÊÙ«‰÷”4ˆþfh È2«k¢ ‡„ ¹zS¨Â©½µ©-‡¶Æ¬µÖæ†Ô#®/¹õÒN¸/„œ£—©¦•—Ž"ma§*Û-›mLggݲ)Å„ðY1ñ”ä2RÒJô:ÉKß=F~H=ôP×E7_cáVòÎ%~Kþ­ÀlŸG
+1— àŸgB‡Rsö uÎÀ(„b÷ÿ
+endobj
+2040 0 obj <<
+/Type /Page
+/Contents 2041 0 R
+/Resources 2039 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2030 0 R
>> endobj
-2033 0 obj <<
-/D [2029 0 R /XYZ 85.0394 640.0806 null]
+2042 0 obj <<
+/D [2040 0 R /XYZ 56.6929 794.5015 null]
>> endobj
670 0 obj <<
-/D [2029 0 R /XYZ 85.0394 217.1748 null]
+/D [2040 0 R /XYZ 56.6929 306.3415 null]
>> endobj
-1806 0 obj <<
-/D [2029 0 R /XYZ 85.0394 192.112 null]
+1809 0 obj <<
+/D [2040 0 R /XYZ 56.6929 275.1221 null]
>> endobj
-2028 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F21 938 0 R /F22 961 0 R /F14 964 0 R >>
+2039 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F14 968 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2036 0 obj <<
-/Length 2961
+2045 0 obj <<
+/Length 2796
/Filter /FlateDecode
>>
stream
-xÚÝZKsã6¾ûWhore„àA‚äÞ’OÖ©ŠØNÕÖ&9@l±†"’²Çóë· ”DË“Œ©)—L ñj4¾n4€bk¦3™M’,b1ñd±>ã“(ûáLø:³Pi6¬õýÝÙ·ïU2ÉX¦¥žÜÝúJOS1¹[þ6Õ,bçП~yõ.;ŸÉ˜OoïΓhúþ»»¼½»|{{>˲TNßþ统ï.n¨–4$Šoþöúêýå¿Þø®¯ˆ|sñþâæâêíÅùw?ž]ÜuNRp…ÜÿyöÛ|²„¹þxÆ™ÊÒxòÎD–ÉÉú,Š‹#¥¥8»=û¥ëpPꚎ
-Mp&•–#R“rLjqÆ´’ÊI­]Ù’&5·ô]T壭[»¤l[ùïÊ—ÏóÒÔÏ”¾¯êµ§>÷Õ@(0´ -2ŲˆK`-ÍÚ.g‹j½É û©*C“!·0•L¨Ø·€ºkSz–̃ÉK†m&3™¦,3‘°LÉÔUÿ®hWÕöau>SJô<ECž´di¦„ 6O#LH’呯ƒ³5-õ¹mlÓ÷î¥mŸªúeæÏ­'Wõ¹H§K[SÖÍÂ%«|éû0®Îb•·vÑn]ÆΖvcË¥-ýˆKÓ_»ÈÊÍ? IÓL–űtŒ®]#ÉiSÑ·]OÉ÷Á¯šš†òëíbE©MU·f^XÊ…òMÕ49Pß`6ÚëŠë|mê¼x¦¬ý¸™8 áèž‹¹ï„çKò²É—6ðh‰¥àáÙÏˇÂ-,Ÿ"i{óÜ´v z«µž^„•NwD­37,’˜Ñ ‘èáwÎea‰š—¾á(`$Y,Ä«ˆÑ<RûˆN«šY›v‡—^ÞHœ›Å‡íÆÏç¾çLjYX0n °–€TA&Lˆ8ÚÅ õÁ´§Ô^×÷4<ˆdTý›Lx ÙíÖ”¡á6ôi
-D+åÒ* öû|&8ßµßؾióE3"kŽêÏt’‘)óÖ[ g½5@ÌD ¿†¨EÕ6T€rEJÓ÷îèyI S29᪬¾·Æ‚äܬ]ÃÖÖ÷f
-ïq±±
-ˆW\Oï¨$+bòÂkëNEÊçå¢Ø.CÝ¢¯µ¨¶å9pH¼ª,˜ H=YZÊÑÑP_ðë%R"Ü0á[LnmM ê}¿õÈÉý>4Ø„ßx{ ©CíáR9€cg’Üh\ˆß¬ È:~Üž‘8~îï¥36T7€iíCUçŸBï
-v꣮ µãЕO†»]ÍÂŒfq³,‰¢q¯DCë4Á‰ °®š¬ûe «Úýsk›¶Ù—™â ‹5¼á_Æt×å+\+ xZ;l„’lZn×s‡Ô„Œ8Òò~N{wuKÅO?AW„ÆcddzÆmÐ ëŸß^¿»8„OaN™8¡8, p/zÿókA¥‚ZÇúTF “<Q#¨üekëÜå`€“ò(Ó=(‡\;PªDu Ä´ó,àÛƒsú)¹ŒÛÃ0á€7bÀoüé©}ÞØ#`<™þ1`T1Kuÿ……/1Êbqñ%Y`”þõ¶}¨>ŒÃ¾ŒçŒÇ™îÁ8äÚu`Ä4‚Ñ}»)ÁQ±#90bâc©)Õ¸CP,“é=9ok_ce‰ìœ¶]8${µ*À­ÃÓ>³Á?y2lø›àŽ<æöé<“Ó—õàt+ðåvSžÉä¸D©fZÁþ†KrE‡E<+Øú1¬Çî¹a\%cÊ>ç¿S‰ X…Ó½vÎ8yâ˜3sÐ
-JlµÒC¿a ©þÀ‚' hr–'“Â× ËH³$UÙ+°Ô’) ;Êÿî‚¡èl†-M¹°ŸÍÁ€'ÃæÑIôØÎb›z›:@ðÁ_2uÒÝ­h:€ÛÙ>ò¨ÀŠºÓ•?V5ÛàèOùÔ ³­MÙÜG}2Ù}͇àplÉ^C´JlYt?s6ÇÏñ`Œ“ùGùîA<d|âHGG: J·• ±s¶îÔ?âo
-’¾Dn•¿RÄý¸(L¸CÂÚà« ¦~ç1ÿüÔÔߌï«nʉڕ†›ZHú¸C-|ñ×)ݳ# /,_J—Ú˜,ËllœmaÜ :ñ‡å/ƒâDOɼ¡¢eõTúú‘æ–òNΣ†"_Iš|»rÝIº¤Ä¯)ð HIÑ icuM¤Œ®þ{ss{q‡I”›Êœ{N§ _±ƒ©¸dBêW®H•€úÚ?wßV‹Ößx_~{ýÙ»òp¨S¹–ÇÙï,Ó.ÿÃ]9º–Q–t»2tϪH'“RÔßœÚGІ#¾áé&ÿÏ
-÷/Åð]TEÞ†yxbÞWÎ<arúðŽ?¤ÈNCâi•»ã÷/ï®é`Ø•ñãt¥fÛ®ª:oŸÇ èÆ?,àSj…èdcÖ{ŠÔ 2­}uzÂ'¶{D¥çät¨1‹£ÐäÙŽõB¨>ý ‰[zcý
-  gÛ]¡ÛÖ}À…ˆ¦D¦vïÒ÷ÝTá6fa\„ÄÎcØ^þ׳ gÁuÞv¡'´æÖöÞl‹vdïé_ó:Ç'ô«ô@˜YlkÊ–-Æ+( #<UT†¶”¾é*ÿ~‹UÝû­¼ßö…!dçi}ýHN¯K_’7¡?th²) Ñ„{R§” s“¶ë“”NýÛ²w®d(@éfc9¨vF±:Øj<VÔ?:`¿ŸÈÌwzˆSP”õ±:%Ö|ØÖÝK:8>Š€IÅþ c"üƒ.Æ^4ô¥•YW­u±$&á䌱'>ÎAh¦b½ ÀÇÜ ü8¹«@^¬LYÚ‚
-Ÿ(è)/‰ ŠYöñP¾›1eMc–$RÚX‡“Ò¢;¶vÖ"%`­2z =(í–* ›×XûRèlLéÔy'TV?L(q3i7¬ÿòVÐÕr[7=b‡Ø9ØR³}n„pŒvØ9غZ¯pqØ›³‡ÎÑ?\½ÀQº­YAmÅûð@ØC}ˆI÷Ø»gBßç£G¯/B/&Ú E ¡p!aß.£ª† »‡<Üs;ÌfáS€ƒý&$?ØÌmÏÊ}óÍ7ãÓx×ØUAÜd‰J²4‹²èäX÷ƒðrú§CžÝâ)ž|¼Å ©ñ…þkè³,„­~-ó°•>¾ç6‡ 5ëÍ:¤À!«ÙvGla|—ÕX†Lî®1ù£)·. +‹7cn¡ÈîgÞâ1">tAáû¨c¨
-íâwîÎ~ôLäãCà´LGÒ7¹Ü”A»á"‘¿Þ„‚¥mu>·!ff^=ZF“»8xîòáoCüË ³àŽ`œéˆšÂÏËò‹ÃY{³ƒ^Dš¾p—!Ð÷ Òž)·†‚°_yÿ?\²«endstream
+xÚÝZÝsÛ6÷_¡{“§ƒ ïžòa÷œ™Ú­íÎÜ\ÛJ‚-N(R);Î_»X€%ZNÍ\&“q-‹Åâ·‹Å1øÇGi1™Å#ÅQÂx2š-OØèê~<áŽgâ™&!×ÛÛ“×çR²(SBnïYiÄÒ”nç¿ßýûÍÏ·gק‘°±ŠN'‰bã·—ÑçÝÕåùÅ¿^¿9Õñøöâê’È×gçg×g—ïÎN'Y–
+h\Û›[läZÞÜ^¼»9ýãöÃÉÙm7€pœIÔþÏ“ßþ`£9Œõà ‹d–&£GøÁ"žeb´<‰%±”žRžÜœüÒ jmÓ!£%2’Tè« >âq$c%zfK2š$Öl0ÒÓ g¬?Ò6o‹¦-f ŽäˆÀúl4i¤t&­
+`Lo©&çyQæÓr‘~Õ¬ÜÌ=oYsÍêMu
+’®@hyK¥GcG>Ü[QÑ×YR"Ý°àZ niòª¨îï6%Mµ–ô<å}Ij0ÈÚs‡S§2V5ôÕUóE8 0ÐaÔ飣L`Q2)ðô¬3ÔU×AÞšûz]|öÒµ×Æ »«Ë²~„q:Ùf†ršhÀa³$)-£T}™»òH3Õ÷Ö¿ÕÈ«€î$£ì`¸ v D¹¢oÑ5qÙ¨Ü5Îô6„œ‰Hʘ”J¢8㱇‹jV/;ƒ]›?7¦i›]{I =pžÂ¾NçNä ZËXD"MûZzt6®6Ë©©N)Îhë…~Hðëýå U2ÝølÆW1ùlAæ¸úùÝÕû³=ô$RGB%êˆÖ@¨H¦Õh²øÿGLÆGĤH"³ôLÆ<â)Òö0ùËƬ s
+37$S nê²9̧£¡^~r‰¤_çW> y(Ìãi&ÆÏ{Áñ&à ÈGLXHÙKN¤,R,£\í2_ºüêƬülô7 Ãþ°íêX‘ù öÞzÚz‚eÓoʽñW>‡ b¤¥
+Ó…>HiÛé¶(¸§€&y,|Ç€ŒY{Sñ"ãg™µþëÊ!Ò SåÕÌ|9,ƒ†Ëƒƒè€¢LÕ¦òø»§-Ýœ`©ôø³92Øý¶™ EÐÀ5DO»™r»¨fã“ÛÜQ>w¶l×yÕÜà|4Ó}Çi‹a§’¼„g – Š&×~Müb}-Ó8¨wáPﱊÇ*ñ±+*»„ ±K6v‹?€^@,àò/5·'R J)ˆàS
+üµŸRL|0.L†÷ßÍ,Žfðoø©ŒTªþʈ|‹g€ Åœ%‡VŒ´ð§·iºèóþ­;ƒ¸n̈°“¯S{‹üÊ{ä÷§;K¶9v¦(Çš‚¥­¨2±É3~)yÆ*<iŠÞ?WÙÔZ3f¤© Ïëî„ «Ð9n 3kÐÜÏó6Ÿæ l!a¾ØøU•îè æÓ¬Ìý¹–ùú#•~g ûüÇ©iÑ zíý+õ'²PÈéc÷°ðűã1cšŽ‹–Hx0Ù¸Z:T„Ò*_CP\Û6en7ÌÚRº“¤X»S±h¨êcU?VŽ¿&ÒÔÐokçÁá/ ¾]Xq‚#ñ›— J¼ë@Њj›_þçúúæì‹h¹cotŽçßo^)3qÆ_8 aFT,é\ñ¦ž}4î`ûâõÕ/ÇaWÇÊ(«ß¥žúárœ…eœén9†ŠÊ´µuo S@)sôÞ¡ãÐð…)áñÆþm@Q€k¥Æ3:✫ðömïN2¥¶š“§Q’ûþ|ùK8™ÀÖ4ÖtPó
+l?f›5ý¬Úò IÐÃcMux-K¥ðæVº[Zdµ·´2¸¥ÝV:HÊÞ2&ù±_U®¦h¼|×µo²*s¢á}ë'× ]0źùf¹²–R©»Av©~gL”®Ü¬Ì¬@qgãé“kEÙ×ô9ìû5WûÛLœÐ}œ&Y¤dæ[Ìê
+9ï7ëî¾Òž–°¯¢+1ÐÄ_Ûƒu対–ukÊ'b";SêBW‘„`Þóã‡"²8Ñw ÏyU™’*­Ó»4nÐ1,lxô±g'fÈY!jj-TÐÆ,mf†ýØÑ¡Z½¹H XA3‡ŠîYj»éLòcž{×!´ˆ2hƒ¡êÖ÷#*\=c ùŸ_
+:.»tÓUµÆ"`eÚÕ†Çq$b•õÔÙ[:®´Ø—fã¡Mó÷gopL'˜ D|û†$‚%Ô½#énôov"èy1pLùb
+{hˆÅyµÉ×OÄÌ_ EJžiæ^Çœ.b¼fA㻧+î¥KN,´ˆÃo›íì>‘‰Ý#SPÝú+N`¼ÍRyý7!±;Ô„Š¹ifëbjüØiý`"ÜÙÞåE»&ôÀ£ƒŠØ_¼IqøzGgôHë@o®è=p€*k^ø¢Â j,¤Ý
+ÎË]ÓsÏ6%¬?`v
+ùû®y˜È)íQ
+ì‹üÁ-'‚¡rs ]Z´ªn‰êÓ@¥håQÚ/»N³Äh z.×BïM{m¤Ð.ða!×!i”øí|IAÖrtH¤îXæn±§˜Ù³UA)’[¯L¯ øgÕ“™’ÛXD ŒUú×Nj>Aœ*É…†V^HèñäÀBNöW¿¶Ü.ܘ‡§Ï­˜’Å‘”÷JÙ0ÈùþÆؽËÜ×ýŸz\endstream
endobj
-2035 0 obj <<
+2044 0 obj <<
/Type /Page
-/Contents 2036 0 R
-/Resources 2034 0 R
+/Contents 2045 0 R
+/Resources 2043 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2027 0 R
-/Annots [ 2041 0 R ]
+/Parent 2030 0 R
+/Annots [ 2050 0 R ]
>> endobj
-2041 0 obj <<
+2050 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [55.6967 179.2302 116.8967 190.6223]
+/Rect [84.0431 269.7901 145.2431 281.1822]
/Subtype /Link
/A << /S /GoTo /D (statschannels) >>
>> endobj
-2037 0 obj <<
-/D [2035 0 R /XYZ 56.6929 794.5015 null]
+2046 0 obj <<
+/D [2044 0 R /XYZ 85.0394 794.5015 null]
>> endobj
674 0 obj <<
-/D [2035 0 R /XYZ 56.6929 686.6711 null]
+/D [2044 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2038 0 obj <<
-/D [2035 0 R /XYZ 56.6929 654.5655 null]
+2047 0 obj <<
+/D [2044 0 R /XYZ 85.0394 748.5408 null]
>> endobj
-2039 0 obj <<
-/D [2035 0 R /XYZ 56.6929 592.2384 null]
+2048 0 obj <<
+/D [2044 0 R /XYZ 85.0394 686.2137 null]
>> endobj
-2040 0 obj <<
-/D [2035 0 R /XYZ 56.6929 580.2832 null]
+2049 0 obj <<
+/D [2044 0 R /XYZ 85.0394 674.2585 null]
>> endobj
678 0 obj <<
-/D [2035 0 R /XYZ 56.6929 165.8291 null]
+/D [2044 0 R /XYZ 85.0394 255.5751 null]
>> endobj
-1674 0 obj <<
-/D [2035 0 R /XYZ 56.6929 142.8503 null]
+1679 0 obj <<
+/D [2044 0 R /XYZ 85.0394 232.5802 null]
>> endobj
-2034 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F48 1238 0 R >>
+2043 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2044 0 obj <<
-/Length 2826
+2053 0 obj <<
+/Length 2917
/Filter /FlateDecode
>>
stream
-xÚÍ[[sÛ¶~÷¯Ð#5pp'ÙóäÄvêNk'²Ò“9Mh‰¶Ù¡(W¤ìøüú³‹)J–B_”Œ&3¸\,oß.Zô8ü½È0®bÝ cÍ ¦7žðÞ5Ü{ ¼Î V´µÞŽþu¢Â^Ìb+motÕ²1E¢7šü¼ûåðÃèxØHÃËúcyðöôìˆ$1ý¼;?;9}ÿixØu0:=?#ñðøäxx|öî¸?ˆãHBݲàû^Œ°“ïy1:}wÑÿkôëÁñ¨™@{’‚+ý?þÅ{˜ë¯œ©82½{¸àLıìM´QÌh¥jI~pqð±1غëºnͨˆ™H†P“bj&fVIåPûé'šÛY2Mý,Óù]:÷í*©²²ÊÆ%]ƒ6ÌìÊ–]ÞˆÅJFÎâq2¾me:®²Y6ÏŠL•tkvE¿yV¤åhK¤MGЭ’¬ÈŠkº®nRo±=gtQTn°pó.É^ïj–ç³ûtBZ—$Íê§Wé×j‘ät1IËñ<»àÌÜ\‹‘n.8|ˆe´mÁZ
-¦±‰™“,¹K²<¹Ì½ŠV點Ôj—󾈂ô.«úBˆ
-QfCú7Mœ\
-ôk2½ÍÓŸ}À‹íÿEÊpór9rˆ8</Üð8T@]±ŽáB4hÏ=A&·î ÈF¢?œ?~Æ»:x6.L©Y¬…n9NI\€D±[`(©0vi%‚r1&óì^yÅ˪¬®£ V”Ó¢,&Á­óíì<‡ ÁC Uh©£)Ý“ƒ…U=R×›KÓéäéU5•8 ÃËÓ‚î¸Ø_¯*‚ä²YI•’—ÓËYNÊ…#Bl¹ÑQÏ$5Ý@€éX ¦¥W'#¥RØx‡–¡RQÛ|Â2ŒAâqšx*IÆã´,±Ám˜5û—ÑèIV,ÁñMRiŽŒ¤"
-T›g×7=§å"È—×Ù]êGB ².º$JsôJßmÉqc= †›Ìñ=ÜDG¡v’—3’ÔÌ…7‹5S+Sƒkâ*RÂÕu¹¨Ü#l«kæu'³ñb
-LâÇp;+Ëì2 ›DVØ¡Ì—MSœÎ&>p좌"ÎÀÆeZ¹l„m
-€d’\f9ð=®t
-ɦP›f“‰CM†Í¢ÁvúÕgihÃ|îÓÔÝ°ˆéõ«ûY»£Kà°Z³Š¤uØP§ZsNˆ”·³bB™Ý‰ëŽ¼O5ˆôÙ­¦wl8vÙàŽˆHpoH]Ñor{›CÖ¸ô¹ì1‘+4ë+HG³ Ñ>­"jÓo»Œ9T¦= 5—‘&zR!¨ÓV®Ö/êT¡…ÕÖçS?¦|³î±jj@óèêÑÒRS—Ç-<c@ÐX¨Zà ’‹.<¹ZKçGï³Z®¤–Á±Š[SkHt‘V¶×~öë&ƒ¨q &!lYüÍBý‘ɺÇ|4ÔÖ– >®À|¬a’KŠºaúÏ"-«;ÝGtu0ü¸!•‹(†ÊŠwîúœ~ uíiÆY(/§°'@q$‚3`˜ŸûƒÐDž,P(m¸EXR» ¬¯3xÀüüÖ~"ÛCö;:KšWiÁd,ÂWÙç¹Êþ W‰ºªaWŽÚ9ëÅ`ou¸
-Šrùb\u<)JÞí aã„Ì×
-ñÅØ.Šrq{;›WTÉØÔ‚L[RùtÀ[“Ù-àbg€+
-ÄWŠ@*¸8,ʧð
-t ØÝÞ"¨$)u‚´yÜÀòÔÝê
-ËU½Ö_ÛC¾N¯‹ÏïÇ"²ÌjÛÁ¾´%$’:äqú¤Jêãã-Tòô†Æ >Þï¶Ã}+À­Áï+9‹PöTt³#&èÆ÷l–x„ÜaÅ\œ%»„»yðRÜ[sÚ×3Ré.ŒDÇ^AXË”” —SاΓü9d®õÔ(qdÞÜñFd…ÇM¬jÔú nbô™ßSoæÄéÈ?ÄùöÉ(Ë€¿­WüTØòÆ®ÎÿlW¬yNAQ÷Ø1BÃMjÉ´¦Yª_çó2­ž³6e¸¾6ñÓCÿeÌ2÷.Õš
-¬ùÖÑ}Èâ?½Â6ÑR`ÁäqzE!†’ûÝJ
-!ãáÿ&Å«µÆþë{<•endstream
+xÚÍ[ÝsÛ6÷_¡Gj&Âá“ îÍíÔÖId¥×¹¦´HÇìH¤JRv}ý-° EÉ’iÙjFã\‹Å‹ý
+£„‹oA³m¨)CBÁ…Cí+çÚCUÇuVÕÙ´Â÷³å|¥U¯TQ£àn¤fpÝ0FŒRÜöC#¡cT·ó†#FéÓ>Þ˼NËʳái —ÄH&—É]: ÁƒÛb6dÁ¬xÈòoH©ã›YZa¹ZÂÇù<.³ÿùúU§K!X0mºÄ¶wqtœ{K3HX”CÅ}–¤•Õ¥‚‹¢Ä*i<½ÃZXéÉÅ-ëFXíž‚„êŠu fém=/*+³âÍ–ó¿d>}UÄ77®¿ô>‹ëFš ½zœß
+'ñM6ËêG»Øü™à4I2Û8žaͼ¨Ýòƒâ<~Ä"<ñÙYN R2ß=ŽÎ–Pùm7œÿ¹K}…xÛ\ͳ$q¨qÝ.[Nÿl+,ÃxÒÔ}-þ•¯_?݆•EVkV#µQlÔÔ,‘jQ䉳=HFµp/¸ôlÉ©í¨iî¬Ë–QDhW*ñ Ù->ãÅb–M­!­©]³‘B€¥íx@ÖÚÚ+”ÆZö´¼w2ªç-pד…Œh!ÂÒ`Ê#¾È•IA$ø¡5OöªF´vöí(°òŦÅ:«Q3"ðôü¥”«ØÂt0 #ðÜFƒ· IÄØko_Ci¸›J?m ]pɃ34,nYm†Tm´V]¿m46
+^Ról¬ñ„eÓb'@ÂÛF´
+mzU†p.UǼI;³ü>žeÉjŸd¥®EùöôUö-ë%ÎÀ3ØwFuÄØï0â=±ˆ”šðЈÖ.¼ÿd7àtŒ‡Jöµw\›ÍØ`/eîˆzÄæA@‰ëžhA
+E“-œ.ë»Ïåã8ý2“Hª`üåámU”™MïÓ•çÞk í>]i¯ Ò²t ø?Óiý,ð!±&3C´æ}!B51Å´]*Æö—„ÕãÓ×ãÙ‘ôˆñ„€6bº/b
+Œ~»-š¡‚müå·‹q?œÿ-rd]ÆyuÛì{ì²½àvÄ>^pD¶Q؃­0†H ¡¼ÅéË"‰ë•5äàJ?¼gy<Ϧ>ðu<Þ†¯—üÈC
+¬¡aOH!"M¤MHaw
+íŽ#Ø\ŸæÕKŒ6òVi^?]G¨#†NÛ
+¬'"ZjQ˜¸´¬\æÓØæUýáÀÐX•‹‚¦EG÷Á´#íc
+±«1¡êÁ4DE‚µ˜Ú¼”î­„Ïn"ô ‰r¹§‡•P{Îø<šŠ‘G+}a¶°ËUvÐaG¸#†P„„ö; aH¨;¾4‹ÝáÓ4¶ËŽ”‡Â2™ˆÓ}ìEÓb–<Š 9R}‹›k¢™FgaçõÒ¬ö£ù¹ 0!hìãræ,¦¤þ€¾Äø¨ííræÉyõÐ Û½Ý îíBËy£‹{rªŠ‡µbµ¡+ÚÃSŽ
+N¨E»\ÿ.Ë*­÷YŸ\o®O dþ2Íʯªµ±¼¶w_üš$®c²M[Pµ˜yªZŽh•É=·*€ë¥ÏwS"µb›Êd9[%±Ïue²{9Hx%lÄ@!#³½N¼ZÛ:óø6Õø'3’Ù㘥Êhë®ÏÇÖvüza7íO/0"
+>â"Îfs¶`Ø‹¼—?;ˆãõÃ,¢$ìÛIb‘£¨Z_pñqü ¬D‹H¨àó²<Àž÷3¸®$>^ËTH éÙfbšA©jíåog9½¼Úö
+Y„è3v
+|®´Õ·¹YÖXH²jëüiác1ÜŽ
+ÝìÓÝêv·®í›ÝH²àß0µ%'œ-Tîî³-]~òŒ’Ä+ïöŸcØû[î¸l·©¸ .Ï Uá?׋¿Æv)Ù¯ÓY\Už6k.Î?â·›/‹‹Fe‹í#w?‹°WßM»%¥·­9øºçöU†+ Cí'2içË2ƒ©Ã'©—å Ë£a{gÎþ
endobj
-2043 0 obj <<
+2052 0 obj <<
/Type /Page
-/Contents 2044 0 R
-/Resources 2042 0 R
+/Contents 2053 0 R
+/Resources 2051 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2027 0 R
+/Parent 2030 0 R
>> endobj
-2045 0 obj <<
-/D [2043 0 R /XYZ 85.0394 794.5015 null]
+2054 0 obj <<
+/D [2052 0 R /XYZ 56.6929 794.5015 null]
>> endobj
682 0 obj <<
-/D [2043 0 R /XYZ 85.0394 652.2128 null]
+/D [2052 0 R /XYZ 56.6929 741.8766 null]
>> endobj
-2046 0 obj <<
-/D [2043 0 R /XYZ 85.0394 627.6341 null]
+2055 0 obj <<
+/D [2052 0 R /XYZ 56.6929 717.2979 null]
>> endobj
686 0 obj <<
-/D [2043 0 R /XYZ 85.0394 520.1907 null]
+/D [2052 0 R /XYZ 56.6929 609.8545 null]
>> endobj
-2047 0 obj <<
-/D [2043 0 R /XYZ 85.0394 497.8795 null]
+2056 0 obj <<
+/D [2052 0 R /XYZ 56.6929 587.5432 null]
>> endobj
-2048 0 obj <<
-/D [2043 0 R /XYZ 85.0394 497.8795 null]
+2057 0 obj <<
+/D [2052 0 R /XYZ 56.6929 587.5432 null]
>> endobj
-2049 0 obj <<
-/D [2043 0 R /XYZ 85.0394 485.9243 null]
+2058 0 obj <<
+/D [2052 0 R /XYZ 56.6929 575.5881 null]
>> endobj
-2042 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R >>
+2051 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2052 0 obj <<
-/Length 2582
+2061 0 obj <<
+/Length 2524
/Filter /FlateDecode
>>
stream
-xÚÍ[Yoã8~ϯ𣌹¼}ëî$³`ûp2À`ŽÅV:š±-·$'ýõ[$E™¶eËN2£¨D²ÈâÇ:)7`øGB"i¨(ÑÀD Ƴ3<ø
-}?ž‘fÌ0 Æ£Þßžý늩AFR9¸½æÒkM·“߉8:‡pòþúã…9R“›ÛsÅ“wöÏíõÍíõ‡›ó¡1š&þóîóíåÈ’£oiØ?|úxuýãÏ£f‚O}óèòêrtùñÃåù·?]Þ¶ˆ7I0³Ò;ûí<˜À^:È-Oð‚1†fg\0$8c¡ezvsö¥0êu¬] q®+@f()bRÒÝËú%0,ÛL -…ØXu( RŒÁŒŠQD˜`í9PƒÔ°K£J$eϣl¼,«¼˜Ÿ¡,]=M¾X¬€ŸFüDÜpXÔq.³2Ï*ËÄ’§‡|üàÉqº¬²‰§ë‡ÌUV>feÓXøç"+ï‹ræ_Ês¢“VXV‚ŒÔ-—[ñ˜I
-7râ&ãØOÍ¿cL瓦ͭÓ©oMçÕpjXýQ:¹}È+?n\”~ýjQÌ'U;s‡vnM -‘ˆa-dÊx r‡€†ãb9¯íV¬ž÷þ¹ð²<æŲò-
-íÆþ¹R׆çnY{b’WÃ.ÅvNËSq,Aý3ûžWu>ÿêß¾-í¨äÙ¿=åõƒ§œp–¨ÒYC]n&šLí­~èZyQ”õ ãnv˜šR“\_¸6œÌa¦»~^d¾7µ¶d{ÇÓ´ªš¶©_&<û¾»Ì‰mI¯³ÅÆν«ƒ`ÙŒNŒNuòøºg·™ï”Rªæ 'íùwØX$èʦٹÁ~¬”CbÂÖ[¯£õ–ÖëõëLee} µä䃻¬O(‰Ñt¿õIÉ1Ø´ÖW‹(s¯½5ñåÑš©ÂN}Ü€
-x{€Px:ø,vni»sûŒf° «v­¶´Î@ø€Mm¤Á:­lÊ`;²ï‹išÏ“„nïµGW´dù@âÕç4‡WÃ…ÇbèÔ¶Z [¾5ø-–ÛkP‚4%Áþgé÷á¡Ë0^È
-iÃZ,joü¼×ïXà*³þ×èÆ%Cë$«Æe¾6n…‚5 ¬7ò—_Q`Kï
-ˆƒa‰ÌŸ"xk‹¾³ü:ðÄ(Ê"ÛñØaÛx·çÝ‹øšHì]2¾&ÒV:ÛŽê$Fu{6+@ €(x£È ­À`6 oŸ¶Ü´—].ŠùÇÒ°ØžÎkoþ†€k‚°’z @0ndWi>]–Y ø‡g]©!ú'¹wìþÀm’ dH`Üv’
-*¦ÙÈŒ;Ãn® ~CKj7i>ERê•)1³V| 8
-åî’hHþožgwÔ8P>ÓäÂ_€ÕÍ'¯9›jqb,÷j×ÉmbXë7Œi+(¨Ô”ìÒ¶
-?¿þ´¬y‡G‘JðPŽ^†ANÕ ,Ëm­J•Ík´½X¬·EïMÉZ­šõ §©½¬3èÉCГ/B/ë”Ñ“|bFzÐS°†6*Bïzþ*Õk>€dùcGV°1’î” X@ÂÉu†¢ ãrÃ×(஄;e=äiCû0äf•á†ÝWhÎ!÷ßwÂèÓª=0Fž2Ž rO¦dŽ¹Ø‘«ŸÞH€ÅíGËb$Ù)Û2ÑÈhÚŒ©½6$ðS~€‘d§¬X!LU_<&IÂ|<~÷ËÕh”};J-ÏÖ•Ü^Žä:aøÜ/Dí ÈÄh$…Vkð£€GÃËuÊði”4=ði¨ 1¤¶”hßõÑðEr°÷#Š@IKzÂ0Q
-Qáq°Q‘f:
-1E™»7„ªCîͨU
-endobj
-2051 0 obj <<
+xÚÍ›[Sã8€ßùy4Uc­î—}£˜ejº³Õ5—‡˜Æ³‰Žhö×ï9–+äâÒU)"˺}::G:2¬Gáõ¬"T8Ù3NE™ê ''´÷Þý|Âê2qS(K}¸;ùÇ¥0=Gœæºw÷´e µ–õîFDÿuöéî¢sE#MNc¥iôáêúÜç8ÿóñæúòêçßúg§FFwW7×>»qyÑ¿¸þxq;g9Ô—A uÝÛ;¬T×¼½»úx{ú×Ý/'w‹„ƒdT ôßNþø‹öF0Ö_N(ΪÞ3<PÂœã½É‰T‚()D“3>¹=ù¼h0x[U]MJ ¬¸éÅŒsÂ$ßÜ­ï‚B·uÒ)¢%¯z®½XN„rí,pÌ‚HJ³žQŽhÁE5 Ÿg/ç³|:MFÈjð ³$>´*ÛO†óY‘>%§±04ú6OfiRø‡‡|† =?¦ÃGŸW>Ö%‹dö”Ì|z”ߘ ÓªÎ ÃΡ—˜1â”âUwÉ÷aRÔÝ eóÉ}Õˆ`Qþàó’ïiQ¦ÙWÿäÛle„‚­ŒðÞË lM‡Å`Õ×Q©Ÿ éTT¾LëÌA6ò‰áxP¯òžëù§b~_$ÐwVŽ_–{òº?ª
+WØAmw)¶ „šß
+&š‘cGŽ¿A ˜ÑŽt͸Fó„ˆÊýø« /ó È3ÿ"ù>Ò ÛÄ×ÏiùØÖðújÓ‚-jõŽSpO=Š%zY£UqSmIH$¹ÚgÄr¦ë&ƒïñ®½0*‰ãÕêÁªù´Ló ÈJg¢?©¢E’àƒõ00w”ÃY:+„0)š…«*œ8lˆ@µÁ}>/_Û!$‘––¶†8Ê*‹â_ξö|¢˜‚Eù8¬°ºtWÛÝ
+<I2° ÔÙ%‘VmRSj !ÕÕÖP@@T²Vc4Ìg^½ŠižêÌJk諳]AR¾RÑF%áB5s<ÌçY‰ ?.üz!žÒ|^ø0>…×…°\àyÈk†J°ÓBõBû>‹ ƒ$TC“qSàPN@P\fùv' a :G]ã.éx>KºÀ LšQ­"¯oÔÑCUÝO7X4­t­ XnE°j¾\¯ œQb´tu§¥‹%—Tf¡
+à‹«)–`ö—Uß´ª€ï}9Q«æ€*ÀÇF×y™ü†ePÞ´XgÒ=¢C«Fnšó§tÔ¸º ˜×ñ‹»ð™÷ƒáŸUÙ‘5Ì'ÓA™Þ§ãxEOKl‚ÉÚBcÊ;[H,R°v”¸C¢3› Æ㺅ÿ™äÿ§?)åY²¶ë¯³ÆAÓ ºðOÅ=?¦Å:o¶T¯Q¤³yùŠ×Oþ^3­°EáÔšºèzßÀ`Ãj7'[‹™c°œŒ~eÌ%.y=çóqåó€Ç¸È}æ@òyiVÖy¥7oJ…Æ*5ððM8é?a–n°²áÀ5@›V1Õj]H…É,/}â>ñ¿Õ~'sAu”ž²¨ª[­´²ÎÌ|±él0\;e:L6ۻЖÊÞ5½ïÞdScƒ½Ó €ØnàXœ®ÆüåaÖO¾çY²Ëž¬\Qúþ‡•ªT9dŃ×}xÄ;NJÜÏm„Ù
+ú¾ÿ@–ŠK퀩ÀK;)+@¿MGƒ2L—Ï;!|iÌkj…·†±1ƒ[AR-II‰…£@I û:áøÉbúF”è^‹dO–œ‡eÉÇ’[bé8Ö*Á‰´’p€#îkºYž¿À‰/zró
+æpÚ4Lt¹e\¥l‰ß>*¸7¿P°#Ö?nà@£l—Cæ–ã}­wÈWoп«½ù‚3?ØïY*º\17Љuf‰ß>ú·?¿@°c^¿°Ó³g:®,‘B.nunçCüd¨“ßï+·8›n$
+l1m%ÚŠzÌ
+ ›>ëx'Q©‰4N6D7D,ߊsC
+Àzo€z€pG«Õw…ªãJ’1î¹úË ß*%©6Q¿¿®¹2ß jq¢-N
+Uí¸¡dT'êë—N½Ný^œ¨ÇŠÓZüÞÅm§é  ˼+¾þr~óëÙÕ5~n.UÔ‡çn˜m¥ÝéU’õÊ6¿péø¢ÈBY®kÏ{ÑÇÿØøÏå©RÑÙÕ¿ñ»b+£þn—çXêAmü׬½;Ì@Ôc¥©%~ãÒᨵ%Ô0ï§/oú¿^ÀRŽe¥ˆ—³Y7ÄE¥ÝÙ‚½—ì—¨äÕ†™*¦×}¯N{`wýö˜¤³xøÝtHHPI„p¬'Á¶cb•‡%ÊrÓ dÿ?ü6ÿendstream
+endobj
+2060 0 obj <<
/Type /Page
-/Contents 2052 0 R
-/Resources 2050 0 R
+/Contents 2061 0 R
+/Resources 2059 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2027 0 R
-/Annots [ 2054 0 R ]
+/Parent 2030 0 R
+/Annots [ 2063 0 R ]
>> endobj
-2054 0 obj <<
+2063 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.1296 588.4542 384.9596 600.5139]
+/Rect [333.4761 684.0956 413.3061 696.1552]
/Subtype /Link
/A << /S /GoTo /D (clients-per-query) >>
>> endobj
-2053 0 obj <<
-/D [2051 0 R /XYZ 56.6929 794.5015 null]
+2062 0 obj <<
+/D [2060 0 R /XYZ 85.0394 794.5015 null]
>> endobj
690 0 obj <<
-/D [2051 0 R /XYZ 56.6929 352.0981 null]
+/D [2060 0 R /XYZ 85.0394 447.7394 null]
>> endobj
-2055 0 obj <<
-/D [2051 0 R /XYZ 56.6929 326.9775 null]
+2064 0 obj <<
+/D [2060 0 R /XYZ 85.0394 422.6188 null]
>> endobj
-2056 0 obj <<
-/D [2051 0 R /XYZ 56.6929 326.9775 null]
+2065 0 obj <<
+/D [2060 0 R /XYZ 85.0394 422.6188 null]
>> endobj
-2057 0 obj <<
-/D [2051 0 R /XYZ 56.6929 315.0223 null]
+2066 0 obj <<
+/D [2060 0 R /XYZ 85.0394 410.6637 null]
>> endobj
694 0 obj <<
-/D [2051 0 R /XYZ 56.6929 102.2008 null]
+/D [2060 0 R /XYZ 85.0394 197.6003 null]
>> endobj
-2058 0 obj <<
-/D [2051 0 R /XYZ 56.6929 77.0802 null]
+2067 0 obj <<
+/D [2060 0 R /XYZ 85.0394 172.4796 null]
>> endobj
-2059 0 obj <<
-/D [2051 0 R /XYZ 56.6929 77.0802 null]
+2068 0 obj <<
+/D [2060 0 R /XYZ 85.0394 172.4796 null]
>> endobj
-2050 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R >>
+2069 0 obj <<
+/D [2060 0 R /XYZ 85.0394 160.5245 null]
+>> endobj
+2059 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2063 0 obj <<
-/Length 3443
+2073 0 obj <<
+/Length 3512
/Filter /FlateDecode
>>
stream
-xÚÍ\ëoã6ÿž¿ÂßNÁÕ\¾¸ÃÛ<z)Úd7v‹;´ý ØJ#¬-»–ìþ÷7#R6Ë–Ýx{ƱäpæÇá¼H-ëPøÇ:V*œì'‰¢Luã3ÚùÞ}wÆB›nݨ·ú¶öîZ˜Ž#NsÝé?F´,¡Ö²NøKrñï÷úW÷ç]®h¢ÉyWiš|{s{éŸ8ÿsqw{}óÝO÷ïÏLú7w·þñýÕõÕýÕíÅÕy×9Ë¡¿Œ(„¾½>v
-={ý›‹ÞùoýïÏ®úKb!Èýg¿üF;Cõû3J„³ªó7”0çxg|&• J
-Q?õÎ>. Fo«®M Ii+n:]!‰Õ@cŸa¥ RóõQÿT§šÚé2FœR;Æ÷ý(
-—uuR]Ga^A ¤!Ú¶ÒiƒIRšuŒb„kPÔ‚Þ—ñÃdtÞÕÒñjîl˜»ð\pɓˬÌòé<Ÿ¯gP A˜ªý6a5ªäññŠÎÜΚðŽ
- >Ùì˳ÝVZ'½ë—áG„
-™Vn>`„ñèžg¥¿)³bN¶1w\
-™Ûÿ\Þýøþ¢!¤Jîá¾ÎU§ð‹x;Ym4Š8©Y ~À<¸_À <úùú\©äýÍ ”ÊÊäþ:ÍGí@boè½1ÎÂÞ
-Ø*öùâ/Æ"8Ÿ(F E嬭C‚ªºG3ŠÊBW*[BH-1̃øc^ŽÓùà 4Ò)pØ—‹é>{Õ‹¶á·ÍkÅì
-ÓþSæßÁ\ø~7—ßlø[‰ÃÇ XNü †`I:†N%Ò*I‹á»s–àÚÂó§ÐòíêÙkjÓÉl“ìÕø>Ÿ/&Ø
-¸œNòrRäÅï¡Á|ž§;Ò‘XÑ߶r¾ž‡PÚ!]‹ISˆí¡êŸ3p ³E1HA‹Ú×aÿÜáZ³IÝãmqtÌñ©ú]Èt¡«lÉJ̶ µ¸Ò1h™¡èp«ëVX}Äm˜²ßSÔàÀŒ˜<Y ¥$RøÝ ¥%”òñùÝ}fe<Åņ+7ë¡›¯*Ólö8™w1yª¡ ä³É–ÌD M¨¡f…Êû‡f£Ü€à²ûÔë|¸Z:ŸÔ1Íd^ÛÖI1÷±âhºçÇBW(b!ê=€dÝ£]0GD3ÛfE¹$Œ©¨¬Ø› >í^Gá€GÑ©ùßÉ4 >‰®FŠñÃàS6‡X\ LîŠÌ?LÆãIèê饥/ê¾öè¦0'’rÑs|-õïòÒ¿IýmÔÀ?GoŠ/–\F‹ìÅß{VýCÔ—†Ø¦Öž 9£|œÏÓÈi‡_Œ=FK³èkÖˆl×®xæÞ¦
-_Ï‚öCB!Z¼‰´–ðH·úXÈÇÙd1?ÈÎ}Ÿ]˜Eüœªã†Cm‹ãFXÞq|7Zd×DÎX8FȤ×ûRT쯒ÔÒUä²7¤[ÛǼxž|ÚåPbæOÕ¡HM‰Q¢Å¡H-‰μX °>.Àó'«ÁÔgZJ_Rq"¬T¯5x?¯²¯æ®J;Q8>YT!±’·TĤ¤Dr'^«íÞ¨ê#¢q|²Æ
-òƒÒ_béøþ\k|eظ@*žJ8¼Ašôý*¸Y;-õ²ÜÛ,"Bjš”Ólcâ‡l àº*« æ ×­ÊŒÃ*ýÄ÷k
- o^ž&eæßÇæÏ¿LëòÞ<dó—,+šÌ1iÍd%á\‚^ N¬àÇ€6PìÆ$›°5„3œÓºrˆ¶>ïÖø1Ô=·Ž«Ìƒµ¦àîx=b0Z”!‡!p«nؤ~†hIÙvCc4q†‚pJ¬ÙÝïkijŠÝ˜dƒ©1p­[¼MÑŒñHúìó†ôã|4ÊËl
- ¶‚ÊäÚoÓ•3rŽh*Í+g”~BUÓ~ßÈsVäÁCÁƒ—ð[ïÌ69‰‚Þnåð\…‰Ôǹz»™«)vc’ vN'Ùjdä6:µëÅ(ôCž<áLý?>¥å<lk…ñ[×欨¶‘„Iù4YŒ†x-==xæù4„Ð8 Ò²_Xz+Ó„/”§u8xNq|ÅnL² _ˆUÀ®F®Éß›2dÐË(<‰dLaŽ… „dœ¥E0°ÌH¿_¼i`Áµ- ,W&l·Ûø˜¯© ,>_7°øri`ñ5ÄbéÈ?÷[ÖŸ®ÀßçlÖ0¯MlÌwÃ$Ýá Üu"iÏ©XìFL
-eÄp-—ãnóèÀ¾@Ïï'bÝv4ç> K”U¼1O Ɉ³úÄâ¯ÿx‚3!¯Ax±Xnâ/=6¾øTË«Öx¶_‹-õç(ÚsT?maDžãÑšôÂffœ7ïîÂǸUÎóA¨ï]@æ4ÏfeÃìþAŠÍŸŽï-÷¾9¼(#rx?¨ÉUwéjƒmí¼ ÞN³Y Ñ™fÕ$ÊëÓiN@cÁ–ÖŽ÷§Ë²é`ŽÃ,‡E® ¾Ãš2z¶¦`ZYáÔŠ¬>„¬ÞF,d„ÂØu{Ó¿hf»Ê‚LDîf"U»ph¬¡ª÷¢úS‘n¢
-š¢m ¶ërp4—“qšžx•s7‡PŒŠ­½âõåKu4¬!#(/m
-Žöý`¸}[íèãõb^æÃÌ߬Rea£öUx²\,*O†‹Qô`ˆÃu•ns¥k¿ ’ÇÉh4y ¬t¨JT¼²5ojÀZ¨eXøϦƒe`l[ÿ¿®È@%µ¬}ò¿š#W
+xÚÍ\[oÛ8~ϯðÛ*Ø5Ë;EìbN.³ì&mâY`13Š­4Bmɵì¤ý÷{ŽHI´#[ÎØ-‚j‰"Éï|<’6 ð(M´åv`¬$Š25ÏNèà|ûù„ù:úÒ0¬õÓèäÝ¥0K¬æz0zdÅ„Æ1Œ&¿EšHr
+hôÓÕõ¹=rE£»Ñ©‘Ñ{ügtu7º:»;Zóèì_ï?Œ.n]-4t%¾ùÙÍõåÕÏ¿Þz7×®øöâòâöâúìâôÑ/'£fá$8ú/'¿ýA˜ë/'”«Á3¼P¬åƒÙ‰T‚()D]2=¹;ùØ ¾VM»@“2¬
+E g¶ç?Y9K–ãG ¥U&º=_Íoû!m[qÃ<Ëy‘—)²Ól²s( F©ûêpí®ÎÿöRÀ_Jìúñ<sê. §£1Ê,J&ߨDBEI>ywÊ"\`XaùèknÈ®Ê6¥Í‹ÅÒ=MŠt£^õŸXA먞6<>?&¾ð9)ÝCúužŽ—nÊ*ŽunÚðÍw‚2V¥º¯¾™H ÷^,º:¯¤[MÒß)åy:ÁWÝsÅ8U§±PÛƆ^À)¬êü¥Z90‡‰r•Šù2+râ–‰4FYéúš%¾³jÄð›äîC–O²q2¬†=d”K©\×
+uk­xp¿‰û'ã
+xœYYäYþÉWX.ÓÙ|¹}=†L?lñ|O»¦ 'BÙ»¦"VjÖè”wX¬òq<ê_‰£S‹«-ŽêshWäÞþ"ñÛõZS"©=¸jA¬¥ÎÎý;™Õ E×[=÷"ëZ t“tš~JƯÃ2åq±dÇÄ%)-ïÁRqBÁ¤UÈܦKôž˜wà0>öƒù±u¸¼å"«™9OÅb¶Ê`o˜–Âm˜òn$%…ðœê–÷÷Ýƹ³ÛÔ«}²òD]uxS,k[äK8NwÀÛüXèBŒkõ;R·ØŠ.8Íã>cÊá+ÙÂ{WŒ?ï(^¡  GÑ»¹ßbžzçDÛà‘b 1þœ.!n_(£›<uÅãb6+|S'/ïÖåÚ0^aVDå
+fùZ@ê¾e¥û’¸× ‚+G·ŠšQ•óôÙ½»¡ºB$LGUÓÇSgšÍ²exoÿ‹AÈ´1åx‘Í—–ì W ¹ÃÈð=W¯ŠcH/DSQ–®¬mù5:U*Êfi±Z¾Ê.]›¸…#z»D AdÜã@T ]PéÈÏÓUz™B ý$172º»ûVîáF®>` D¯Ê!«m"àó9”[›É,*>ïr,áàß®cQ†«û˜ BZ½°~5Âú¸·cÃ
+ê1Ì>ýúbö³l:ÍÊt  ÷s•Ñ¥;L¦­c²–h*͆cJ>#Ó´;ßÄ_ò”æ™÷VPðìëÜ.K'A¡Úèíd„>µÔ$ø—‡“±–8 Ev‘Aä(ahM5!í4uªn'ã¤ïýä)À
+Tr°`š”Kp¬FglØ4¯Î™D,¢ò±XM'ø,<(sk|îC ¨œú
+IÙ‰¯$¼u;]øÂ, W‰§Øh™Ç×K†"»ð…5¦ahMµÊ•üµk!Ó›ˆ| 4K˜áîB2K“ÜÛWf$šq¾±ÅïÜãƾ‚÷Çòqk_±ÐÛW,_·¯ø±±¯øâ²dêÊÝ BìnaàïSºèÐÅæ劺àÁf`]Œ˜_îÕ‰ÃPäK]pHÀô4•¶9u?øìšMëÆc[*¦¦-m.ÔÞë½Tm Ä_èO5jÔÄÀµKH‹ éÀ´È„Wñ^\Éã&†é @6‚u« ¾/(Àkq¥š{ŒŒÈS¼bB£;–…ùçÕ»«ϪÊe6ö›~gE-ÓEÙ¡<ภë³~×yqøPâð}\‹«Þ’öümí^¾ÎÓ…È]~›§ÕU%ÊëÊéˆM,þèÚñþzþAv]ౘñ°ÀµAÅw¸ÕŒž­+¢V VXÕŠÕ¯«·‰KÙ¡0ñúÒuÛ@ÖmL *î¶.Ô.*ë×HÕ{Iý5ϾvI¦è8„ë 98šób–d¹^åßÝ!”eÄĵW¼<®®u¤Eâd#ƒžüñ²ë Ow«|^-Ël’º—6mæ1o^«‹ŠfÅd5­‚ q¸®Ro®tíTôPL§Å³¿ˆ¥ýE5V¶æMÑœª&,üG×40 qÛè.:Äpˆ¿µ¬­è?»#W
+ë;™ßN[>nœ¬gá±{:}¹Óƨ% þ`FÅ÷sbjÄë|Aw«zôˆÍœ†œsÜ|h½µ°k^Ø%pˆd!ˆtæüÛ쾘b¬iytÀ¸ðÁê—Ìbë¶ÃÆ ŠµÛ–‡o·P0ð0ÞöÐg}EÖP
+¡Þ¡ü@Rm9žX'Öúµ-A­ß0¢í…(,lïj[òäÂJ ¹°Ræ%Tä¯o•\ÖŽE®£LäÒ0w%{¸¥5aÒ߈üAä:›bv»¿É›”Ød²C%í\åD¾ƒ?e
+·cÛ£éVìs¯¤’Ÿ²|ò'Ö{øw÷™?nj#²r‡Â(Ž«±ã®!›¦Gc’.èuûgEž¨±1ˆHÇËW(-@ã-+k¢ã¸'Vc°qócÝ**­Wag^-MÚ’–˜ fåc¯tm[U`q,•ízy«2ˆpâà"P·Â €ùÛ¿?HaïǘAþ‰u¦„¬Ö™"J*!Õ2Ãâ,³æmÜhÛ½7çôå²û
+Ì™¬‚§S¹àÞërœ3áâ§:T‚U¨åÝ¡SšX«e»;Õ½!õ¨wº·\@OÖÊþ˜ /ô®äF~_eðÛÝRå0ò}W>ƒ ·ÊôX ˜©üÖÊç^._5ÕÂ-± nì¯2AU¡cyõç—LVršuþ5iòKãB~ü­(‹!eñ)[ýn¡,ío»›²xW ¹9ÓMYÎÌ!þN” ØpàŸ`@ï†kt›–(.;ÿüžz}ê¾ìßþï¤!€Op†¶¾÷«`ÅÃ3 eU§áL¾8‹ÁýD<óÕ‚±ÿô¯
endobj
-2062 0 obj <<
+2072 0 obj <<
/Type /Page
-/Contents 2063 0 R
-/Resources 2061 0 R
+/Contents 2073 0 R
+/Resources 2071 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2027 0 R
->> endobj
-2064 0 obj <<
-/D [2062 0 R /XYZ 85.0394 794.5015 null]
+/Parent 2078 0 R
>> endobj
-2065 0 obj <<
-/D [2062 0 R /XYZ 85.0394 769.5949 null]
+2074 0 obj <<
+/D [2072 0 R /XYZ 56.6929 794.5015 null]
>> endobj
698 0 obj <<
-/D [2062 0 R /XYZ 85.0394 224.1778 null]
+/D [2072 0 R /XYZ 56.6929 328.1878 null]
>> endobj
-2066 0 obj <<
-/D [2062 0 R /XYZ 85.0394 199.0572 null]
+2075 0 obj <<
+/D [2072 0 R /XYZ 56.6929 303.0671 null]
>> endobj
-2067 0 obj <<
-/D [2062 0 R /XYZ 85.0394 142.6288 null]
+2076 0 obj <<
+/D [2072 0 R /XYZ 56.6929 246.6387 null]
>> endobj
-2068 0 obj <<
-/D [2062 0 R /XYZ 85.0394 130.6736 null]
+2077 0 obj <<
+/D [2072 0 R /XYZ 56.6929 234.6836 null]
>> endobj
-2061 0 obj <<
-/Font << /F37 1026 0 R /F39 1161 0 R /F21 938 0 R /F22 961 0 R /F11 1451 0 R >>
+2071 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F11 1343 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2071 0 obj <<
-/Length 1752
+2081 0 obj <<
+/Length 1362
/Filter /FlateDecode
>>
stream
-xÚÍYÛnÛ8}÷WèÑÖ,¯" ,HS§u¦iâ»èöA‘•FXÇr-¹Aÿ¾Ã›LÛ²Ý4i°‰Ôp†œsf8¤I‚á$"E©¦:‘š#‰Hò»N¾À·×=âe†AhK½œô^œ1™h¤Sš&“›H—BX)’L¦Ÿú)âh
-– ™B\µß¬3Á¬%i!¶­ ÖˆÀ?
-Ø©‡¥š{¼ŠºÉ®ge}[L=P«</êúf5›}Bú s¾àO 8N¥â!,#öB–êÑTë#QpTšªç„ì\½h~!Òã6ÒcýÌ*±fºËy^ݵ­¼ÅÛµ†¯+€ÝÅ"¨oÃÄ.ì¶4Ì fèj> ý¦XºvèŸWyËŬÌ=…ûÐT®¿¹-:N )kß||uѱfÊ)¦¼L6Ÿv)R ‡“à—W÷Y“ßvèRŒ…=ysÍ÷Eq y²¨Çð÷r:ňc~$ ¥J" {~Nåó¸¥iÊdDÓÚt¨6 m"²ŽéÅŠ@Â%u\íà°a®¥-—ÚÒÖ<-mÍKL[Ó6´µÏ=´%Hb¥Ó¨Óô m)ÂK©ßEÛˆOE[Hˆú`m¼£2ŒØO[Å¿æGX+(ÂL<k&¾*æÓÑry”¶F2hµV1É Ûš'÷åë«A—{«Å2³¬ʦ
-ûìj>µ5£óÊ©-†]t®Õ|ê·k ëîJ8¬•Z$ìRº×A)0E„õ¶æ}ÍÖ¡T"–’ÀW{àêP
-§ Ü:QàçøÇqé÷fU½”ª#9H˜cN~^ù·‡ò“bÇOŠiËOÓ稖å·Â}Ü )Õ<v|>[M ß*ÖÚ;xêJéùOE)v_Lbž™{ø¬_xi“[‚0Yx‡´]þ‹1-¦›&Ýyèú»cp6wÏñé» _׆©ºæl&Ù—â
-Éìzë Ø`e¸8C’f¼½Ñ!HÀ¶Œ1†3ÆÝP¿.geãñ¹/¿×¥ñõ™(wrÌF¤($@0äßãòWݵšJCU‹â*E7ÇwUmò3…Xh`vuSæ&Sraí¾6·™—»/\¤8©ìTà®j0Ëy×T±Išm!°'i2À’ÒõzŒºlÃÔ¬®üTW‹Eµ´²×(Áà~ÎèŒjoÔ; ¾­îç­ï[ %f{B\0µêÙue“‡Ù‘ŒOLâ`÷ß´.³Q7 ÃŒ^5~ëCËpc`°j- æmZµ
-üðÅ¢Èü rÄ‹zkBÛ7~PÇ’¾ÆåJw_kz¡a,µ?Z)›¢Ï\™ÿÛ¶ ˆò°e'Òa7‘0("zÃðÄ­ñ4¦2´Ö¤â¹ÏôÆœ‚æu‘g«º³ôÕ ó~ŒX  tN«ÂOÁ[ýlZ-ü ·ÂG{05ï¡a:ž's.¼ö›jé
-¤!5ÔÈfËŽYyŸ-í-aÇ$áP'XÈ!YݵZp­NɃêOÐrºŸm€Çî¦÷
-üC¨:d/ˆìØÛ "v÷=‘½#îkwŠ(ÕÙ_ö§:¨•„"ò!ѯÃöTl›Í76¾h·ûâRáúv\Sî.k?d1ËòݲµÅ
-endobj
-2070 0 obj <<
+xÚ½XmoÛ6þî_¡60±|§ ÒÔn] y±]`C׊Ì$Âɵäý÷;Š”,Ù²³,à "¥ç^x÷Ü`ø!A$fšJs$0Aò4ÀÁ|û8 Ö °z¿¼›0h¤%•Áâ¾¥+B8ŠH°X~^~º¸YŒg£
+<”h
+‰‡ï§WÜí—×W“éǯ³‹‘âÃÅôúʽž'ãÙøêr<
+µŽ(Èó–/;_X!/9_L/ç£ï‹Ïƒñ¢9@û3ëýÁ·ï8XÂY?0b:Á6­ið4à‚!Á«ß¬óÁm£°õµí Ç*X
+Œ8!§­: ¬ú%eH[?»FCÂâBÙ<pŽ°Æû<€ú}g(bLJh$eU"~µQy7¡m¤BŠG
+´[Àâ›±Ãt´Q¸ä̃~;¥%ò€¹É–ãÍÆÃh 1Sšj³ óM1
+™bÃ4³O>,òä/Sºwèr«|m6q™æYù—.S/˜äÛ¬4'äN­ ­`*$i!he³XçÙ²p¬)óž“p8+­rQ¥ÿ”B:EµÆ¼Ušß÷)UˆIRǧ¢~RÈnR¡C
+sà°’’íÔ¿NŒGˆAÂJ HŠ×¨¬%N3GˆÒ
+z%úÿ$èÌ$ϯ%(ÅŽ Ó† öãZbÒgã>vxJ5÷<uòÉj»4~göÚ{ˆ
+<>)_
+jgaåeú'Æ@“®OßýtŽ3÷œ^~¹q«ÆU·}2E?˜3 ݧþmlÚtßf_êÛVFauзÿTí‘1m4¤
+aÕí÷G}Ÿa‰"ªU`û”%^SNÖ3IB{T»°ó 1
+ Æ0ó§5äü.]¥¥ÏÎ.-se{òpÌ&ò¨Åtê$B‚ÀÒ·?x]û*zÊ!$B",™„ss¤9á•à—¼°í™B%”à]Q¦‰íĔԭ°p_ËÇØãvÆÕ‰CÅÏqºŠïVÆ}„²êqÛž)ÅùžÉ •”îÏcÕÅS«"÷®n×ë|SÕÇI£Ç9£¯0ª½Q€â1ßeSU›NÐYÔ-ôø.¯Z‡H6&¶m0‚‡ŸšU5ÙÞ@?Ã@z[úɆ|îÓP©­Ò`W˼QàÅ×k{¡4«á¦8pèð2…p¹°ˆ¸àý7F
+Û¨ÓEРª=Ù-g¿ÌíïCÛD€
+¡´d\w¹¹‹7Ë4{èsRœÕc9.úNKÔ’¼êÒãiš.OsŽiŒ½À¹ê çjTŹ‹ß'Çl#Ð÷%æçÍ6¨»¶Aeœ¨®a?Ø—­/Ǻ“ÆmZu˃2õc:Kò'›¥jw»5›´î\€§ƒ‰5"„¿TÀ-Ô™`Ö¨*˜ÓÛ£Pbè~XÊóFTÕN(á+‹”îšýoC93?¶¦(ÿa,¹Òpç‘â|,Û¨Ó±lPU,¯×eqLL ’€{ÊY³ ªÇn'š–Àö®á¢Ù ‘Vÿ³Û3ýnQõš– ëÉeÍ&™Ø„Sk…þXß–{rmïÁ›Â‹¬Wqr|Ÿ­Ó—Sû—~O„qP·Ë7ÿCaÿ/û×bÑþT1(Æ4©²1"Dº× 5U=¾ÿ 1æ.Íendstream
+endobj
+2080 0 obj <<
/Type /Page
-/Contents 2071 0 R
-/Resources 2069 0 R
+/Contents 2081 0 R
+/Resources 2079 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2077 0 R
+/Parent 2078 0 R
>> endobj
-2072 0 obj <<
-/D [2070 0 R /XYZ 56.6929 794.5015 null]
+2082 0 obj <<
+/D [2080 0 R /XYZ 85.0394 794.5015 null]
>> endobj
702 0 obj <<
-/D [2070 0 R /XYZ 56.6929 557.9661 null]
+/D [2080 0 R /XYZ 85.0394 665.5626 null]
>> endobj
-2076 0 obj <<
-/D [2070 0 R /XYZ 56.6929 530.3748 null]
+2086 0 obj <<
+/D [2080 0 R /XYZ 85.0394 637.9713 null]
>> endobj
-2069 0 obj <<
-/Font << /F37 1026 0 R /F11 1451 0 R /F21 938 0 R /F22 961 0 R /F67 2075 0 R /F39 1161 0 R >>
+2079 0 obj <<
+/Font << /F37 1030 0 R /F11 1343 0 R /F21 942 0 R /F22 965 0 R /F67 2085 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2080 0 obj <<
+2089 0 obj <<
+/Length 69
+/Filter /FlateDecode
+>>
+stream
+xÚ3T0
+endobj
+2088 0 obj <<
+/Type /Page
+/Contents 2089 0 R
+/Resources 2087 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2078 0 R
+>> endobj
+2090 0 obj <<
+/D [2088 0 R /XYZ 56.6929 794.5015 null]
+>> endobj
+2087 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+2093 0 obj <<
/Length 1242
/Filter /FlateDecode
>>
@@ -10020,36 +10087,36 @@ xÚ•WÝoÛ6Ï_aäÉ*Z¤¨¯å©M×-C1 kö´î‘iKˆ,j•Ôú¿Ç#e)V³†ÁÓéø»ï#EW¡ùÑU“0Êù*Í9‰C¯
3í} MÑâ+Ûz̦.«Þ—†.=O.Ö+ï¤p†éiko8ÜËîy:Ø<Þ
Ÿ »|!öw
óÈ Žñm1ÚªÅëé$³þõÌfBú{z_šZéMÿŽItñFó
-€:]C¦ˆcq¿h“‡ ž‡-ÖXd¹_UãT]º9GLs^¾jw…9¶nßAôæ_ôqWy?.›)ü !=χhŽs·_òïâÇ»ñ[ËAÁ¥É|-}y‘à$ƒŸb³;Yh>‡¢œz ;
+€:]C¦ˆcq¿h“‡ ž‡-ÖXd¹_UãT]º9GLs^¾jw…9¶nßAôæ_ôqWy?.›)ü !=χhŽs·_òïâÇ»ñ[ËAÁ¥É|-}y‘à$ƒŸb³;Yh>‡¢œz ;
endobj
-2079 0 obj <<
+2092 0 obj <<
/Type /Page
-/Contents 2080 0 R
-/Resources 2078 0 R
+/Contents 2093 0 R
+/Resources 2091 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2077 0 R
+/Parent 2078 0 R
>> endobj
-2081 0 obj <<
-/D [2079 0 R /XYZ 85.0394 794.5015 null]
+2094 0 obj <<
+/D [2092 0 R /XYZ 85.0394 794.5015 null]
>> endobj
706 0 obj <<
-/D [2079 0 R /XYZ 85.0394 769.5949 null]
+/D [2092 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2082 0 obj <<
-/D [2079 0 R /XYZ 85.0394 571.259 null]
+2095 0 obj <<
+/D [2092 0 R /XYZ 85.0394 571.259 null]
>> endobj
710 0 obj <<
-/D [2079 0 R /XYZ 85.0394 571.259 null]
+/D [2092 0 R /XYZ 85.0394 571.259 null]
>> endobj
-2083 0 obj <<
-/D [2079 0 R /XYZ 85.0394 538.9404 null]
+2096 0 obj <<
+/D [2092 0 R /XYZ 85.0394 538.9404 null]
>> endobj
-2078 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R >>
+2091 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2086 0 obj <<
-/Length 3284
+2099 0 obj <<
+/Length 3283
/Filter /FlateDecode
>>
stream
@@ -10064,100 +10131,100 @@ xÚ¥ZëoÛFÿî¿Bߎ,Šû ¹,¸‰su¯Hz‰»¢íZ¤-^(RáÃŽú×ßÌÎ,EJt b.g‡³¯yüfVbÀ?±#?Jd²ˆ
Ši•°Uå¨ Ø²Ú3ï¨ÑsHM9žm˜ýj›r«¨6eŸåšs‡nËqÕŒâ*ŽØN‡$ƒ²á]{ï\hWîÖ2A2(ìoèU“
´ÝÆ€tŸ¶”)òí‰vi”òn~&Bše„O[þˆ.å8µ·­)erƒ_ [bH9f£»dëâI–ÅÀª©N÷ÂÐ3+¥ˆ…6ÖQÕ@†•.N²ý%Åï¯D·•Öмxû:NÖ²7«+>êÙüÔ˜Á‹ýÁåcÃé‚qr±É»¼ÛÖOƒi r×™`æÆçÇ9Zî¶&×1= ñáX#Wd-“lå˜Ai±}÷w7ÄòÉæ3a3L+OÛÂ&1!]ÀXVaÁzWe[óŽ×Ý0ÕÔ‰x˜L>¦SœN:çaìþR Ö*¼x2*Q¾”,|ådVûL^ÃØ"’­–Ð MÓ‚Õrì G[¦OÌ:Ü
`µŠAV£@ßò¯¤["@ó™R;NÀFR—‚/´{ϦÄqJ»r±fNñ7TÐ&7#C0Z,ksú ä´ëðl3ê¼gj;d‚¡3óPTC34s& »êKjøN W+z¼Fꢋ–Q¼þÞ
-B¼T<±lR\¼^'°N§†
+B¼T<±lR\¼^'°N§†
endobj
-2085 0 obj <<
+2098 0 obj <<
/Type /Page
-/Contents 2086 0 R
-/Resources 2084 0 R
+/Contents 2099 0 R
+/Resources 2097 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2077 0 R
-/Annots [ 2091 0 R ]
+/Parent 2078 0 R
+/Annots [ 2104 0 R ]
>> endobj
-2091 0 obj <<
+2104 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
/Rect [63.4454 707.8911 452.088 718.0529]
/Subtype/Link/A<</Type/Action/S/URI/URI(ftp://ftp.auscert.org.au/pub/auscert/advisory/AL-1999.004.dns_dos)>>
>> endobj
-2087 0 obj <<
-/D [2085 0 R /XYZ 56.6929 794.5015 null]
+2100 0 obj <<
+/D [2098 0 R /XYZ 56.6929 794.5015 null]
>> endobj
714 0 obj <<
-/D [2085 0 R /XYZ 56.6929 690.9391 null]
+/D [2098 0 R /XYZ 56.6929 690.9391 null]
>> endobj
-2092 0 obj <<
-/D [2085 0 R /XYZ 56.6929 656.5891 null]
+2105 0 obj <<
+/D [2098 0 R /XYZ 56.6929 656.5891 null]
>> endobj
718 0 obj <<
-/D [2085 0 R /XYZ 56.6929 517.028 null]
+/D [2098 0 R /XYZ 56.6929 517.028 null]
>> endobj
-2093 0 obj <<
-/D [2085 0 R /XYZ 56.6929 489.6469 null]
+2106 0 obj <<
+/D [2098 0 R /XYZ 56.6929 489.6469 null]
>> endobj
722 0 obj <<
-/D [2085 0 R /XYZ 56.6929 373.2709 null]
+/D [2098 0 R /XYZ 56.6929 373.2709 null]
>> endobj
-2094 0 obj <<
-/D [2085 0 R /XYZ 56.6929 344.9674 null]
+2107 0 obj <<
+/D [2098 0 R /XYZ 56.6929 344.9674 null]
>> endobj
726 0 obj <<
-/D [2085 0 R /XYZ 56.6929 184.6919 null]
+/D [2098 0 R /XYZ 56.6929 184.6919 null]
>> endobj
-1739 0 obj <<
-/D [2085 0 R /XYZ 56.6929 151.8489 null]
+1744 0 obj <<
+/D [2098 0 R /XYZ 56.6929 151.8489 null]
>> endobj
-2084 0 obj <<
-/Font << /F37 1026 0 R /F71 2090 0 R /F22 961 0 R /F39 1161 0 R /F11 1451 0 R /F41 1218 0 R /F21 938 0 R /F53 1313 0 R /F48 1238 0 R /F62 1361 0 R /F63 1364 0 R >>
-/XObject << /Im2 1350 0 R >>
+2097 0 obj <<
+/Font << /F37 1030 0 R /F71 2103 0 R /F22 965 0 R /F39 1165 0 R /F11 1343 0 R /F41 1223 0 R /F21 942 0 R /F53 1318 0 R /F48 1243 0 R /F62 1369 0 R /F63 1372 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2097 0 obj <<
+2110 0 obj <<
/Length 846
/Filter /FlateDecode
>>
stream
-xÚ¥UKÛ6¾ëWè(KŠ¢ÇÍÚI ÛíZ9I´ÄØB$Qé8î¯ïPCïº[õTg†çñÍb!… A(/Ó0/S"(aÝ4<ÀÞû€yL|Å·¨·UðË;ž‡%)³$ «o7¾
-B‹‚…Uó9ºÿõî±Ú<­âDÐ('«Xd4z»}X£¥Äe·¹ÿø´­>¡vÿûÃn»Þ<Ý­ò4ª¶ ­â´ œçÞÃúÓÃÝoÛ{Ä|\#tóÊÛ×êC°©ž ¹-–Qîªø3øü•† Ôü! „—…Ï PÂÊ2 û œˆ”ó«¥ vÁÏovç£Kä ^Q$ù{I²Äž(IÆ>³÷NO«˜Ó,²Ge”óhZ±"RÒèÁ¼KB£³B±óžÝå[ë¾WCsõ$-J§±‘VTöÞ{=]F«“m-;t”Eò LVyG{£Wr0Žj¨7fŒ”B$sòú´#K";@Ö¶Õƒ3°È´‡AÚ&gô…
-Zí¶ïaeaÕœ©Ûl]¥I–:\$ ŽÝPÇÊŒ¤)ÈtŽ YësŒÕyô-ÑYBJV¬Çk^IdŽúÔ5¼k®GÂœ䇶ïê‚°b‘\Å,êAP˜¦ˆmgB`K³$ý'1ÛGœSÙ4ž3Ó
-“ÚZ¬8‹ê£ÖÆ›­v«
-Íe=N¤omƒk÷:Ìi%Jí€n¼jNûF÷­àrð'Õ©ƒ›ŒÓvÅÇKíð3ååT£F9¡+ÐþÒƒ"xIªcky–/]J¯]»ÕcÜ)hâËY”j=Xˆ×¯O­»óպاúˆ’ô¡¼ïÍm¼4ÀÀå\(p<ía°gµ÷cŠ„QW~‡’QÓ5™ëœ)psGÜDÑ7Î^Jļ`ɽÔ\÷¼.¼«ð÷yÿïWüåû–¦(’åšÓ”p^²kRŽ/Æòש?¿÷ÿÎýoÊàaendstream
+xÚ¥UMÛ6½ëWè(KŠ¢,7k'u€n·kå$9Ðc ‘DU¤ã¸¿¾C ½ënÝSaœ>ÎÇ›!Åb
+?—‚P.óx)s"(qÝG4ÞÃÞûˆLz¥×¨·UôË;¾Œ%‘EVÄÕ·+_%¡eÉâªùœÜÿz÷X­Ÿi&h²$‹T4y»yX¡Eâ²]ß|ÚTŸP»ÿýa»Y­ŸîË<©6 -Ò¼¤%œçÁÃêÓÃÝo›{Ä|\!týÊÛ×êC´®ž ¹.–Qî«ø3úü•Æ Ôü!¢„ËRÄ'P(aRfqå‚‘s~±tÑ6úãÙáÕî|ôy‚—D”Ùò{Yv‹=!IÁ3>³÷ÎL‹”Ó"qmµ—É´`e¢•5ƒ}–Œ&' ëæ=3ì»ó5¶6}¯‡æâI9”Žc£œ¶¨ì‚÷z:Îì'5ÚZuè¨HÔ2˜œŽv!F¯Õ`=ÕPoÊ‘Bdsòæ´£È7@Õ®5ƒ7°Ä¶ûA¹#&gô…
+Zm7ïaeaÕœ©ßl}¥Y‘{|$ Ž]QÇdAòd:Ç…¬Í)Åêúšè"#’É2€ÍxÉ+KìÁ»ƒw­ ÁÍàI˜‚üÐö]ŸQ,Q‹”%=ÓÉ`ÜLL£$¼Èò³yÄ9UM8°3 `òýöë ÝÉLßQõ…Ò짶Àg4¹ëœž€Æö‡†ücÉD{Ž‚Ó ²²\ZpêGšÒÑtm}¾Å– bÉ‹×lûZaâ­nÖÍYC\Àг%‘¦ßŸÞš~†Â¤¶+.’ú`Œ fgü*€^=¢z‰BsTZÛàÆÊ¿3B9…R; › Úã®1½B+¸ÂÉFwzïgcã´]ðé­‰Nx‰™r9‡
+´¿Ì  ^’êÐZDžÔK—òK—Àî̘všør¥Ú âµÃ>èSëï_‡ÇBµ>ö±> ¤B¨à»ÄAó¯ 0p9o8w0ØΓޅ1E¨/¿CÉê釞ìeÎt
+¢F/%b^°ä¿^j.ˆ^o¼«ðyÿïWüåû–æ,³Û4§9á\²KRž/ÆäëÔŸßûçþ7"àcendstream
endobj
-2096 0 obj <<
+2109 0 obj <<
/Type /Page
-/Contents 2097 0 R
-/Resources 2095 0 R
+/Contents 2110 0 R
+/Resources 2108 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2077 0 R
+/Parent 2078 0 R
>> endobj
-2098 0 obj <<
-/D [2096 0 R /XYZ 85.0394 794.5015 null]
+2111 0 obj <<
+/D [2109 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2095 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R >>
+2108 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2101 0 obj <<
+2114 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-2100 0 obj <<
+2113 0 obj <<
/Type /Page
-/Contents 2101 0 R
-/Resources 2099 0 R
+/Contents 2114 0 R
+/Resources 2112 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2077 0 R
+/Parent 2116 0 R
>> endobj
-2102 0 obj <<
-/D [2100 0 R /XYZ 56.6929 794.5015 null]
+2115 0 obj <<
+/D [2113 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2099 0 obj <<
+2112 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-2105 0 obj <<
+2119 0 obj <<
/Length 1965
/Filter /FlateDecode
>>
@@ -10169,86 +10236,86 @@ i ·¥Ý3éÀ–yíˆùðŠ&Â8K<æcø¡›‚hïCû™<»úÐŒ­êhüýÔï Æס\@•‰ó÷w= vV
ýf3GÕ51b‘æi‘diNŒ‘Œâ±ˆ±0·"ð0àâÄßZÕ7’\sÂw"ó‡&0ÍåþF—?$cRÍZº”í(õåŠ:éH^04g¢°û(½À ÙWáÓ7˜¿S,[>°úŒ¹…;î3`ô¦'bÕÀ¤Ö^ ïöEy˜]¹œ­Þv‹íçÞa¯Úák@n@þzh|ÇütÓOÓ0J¿mºã—¿ÞeÚâš(°ÁiÇEðá êÍâÀz҃ѣm§žæˆ§çOŒ$
­è×ØÚ:‰óÎÐÃBYn?z·XdÌqâd¾©Üä¤ÚNí:ørðï»QÕaáƒL·CÕMucVìâªV.Wª4 Û8Hü»Uoy)”@»Zìo+B)ˆ×­©ôD9ƒ©;B.ÊõTyåvÂ)Î6™îZds§¡ÁÓÏMí­µ°r=¶öä&vÓž®é^/yr€¡¶¯ÓP;«y Â1{9B€FãŸà{ËוÂM>p\×-ž‘7>å èWˆÌ¨W
¥Ìrcø-Š¼ûãËü
-“¤%œ¡i±Iæ² —â~ÚøÑŸ/¯6³Âv¡ámÒ¥ß;»è½‡CÀê/aïoãã<,EQ^Çsór4 ÝÅpµö;[ÃïVÎy7G)JΑOü©5­¿|hW°hpk·IQ„"é5¶ÏÍŽûª‡]Ù)C™‹_Ú‘Âõ%KÄQXDñ¯oʬ±]ªÜïʽe×SX{üâññ|>‡¼+¾,}w¸ÉÀdñ:Æ›š¥îãºÊǽµÿ¶Uø]5èTíŠË°ç§ð6hÿ˜ÈŸ%×"ö"Û‹ ½H.ƒH"h<H# a(B”·îæÎ{ÿúÀendstream
+“¤%œ¡i±Iæ² —â~ÚøÑŸ/¯6³Âv¡ámÒ¥ß;»è½‡CÀê/aïoãã<,EQ^Çsór4 ÝÅpµö;[ÃïVÎy7G)JΑOü©5­¿|hW°hpk·IQ„"é5¶ÏÍŽûª‡]Ù)C™‹_Ú‘Âõ%KÄQXDñ¯oʬ±]ªÜïʽe×SX{üâññ|>‡¼+¾,}w¸ÉÀdñ:Æ›š¥îãºÊǽµÿ¶Uø]5èTíŠË°ç§ð6hÿ˜ÈŸ%×"ö"Û‹ ½H.ƒH"h<H# a("·îæÎ{ÿùŒþendstream
endobj
-2104 0 obj <<
+2118 0 obj <<
/Type /Page
-/Contents 2105 0 R
-/Resources 2103 0 R
+/Contents 2119 0 R
+/Resources 2117 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2077 0 R
-/Annots [ 2112 0 R 2113 0 R ]
+/Parent 2116 0 R
+/Annots [ 2126 0 R 2127 0 R ]
>> endobj
-2112 0 obj <<
+2126 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
-2113 0 obj <<
+2127 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
-2106 0 obj <<
-/D [2104 0 R /XYZ 85.0394 794.5015 null]
+2120 0 obj <<
+/D [2118 0 R /XYZ 85.0394 794.5015 null]
>> endobj
730 0 obj <<
-/D [2104 0 R /XYZ 85.0394 769.5949 null]
+/D [2118 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2107 0 obj <<
-/D [2104 0 R /XYZ 85.0394 576.7004 null]
+2121 0 obj <<
+/D [2118 0 R /XYZ 85.0394 576.7004 null]
>> endobj
734 0 obj <<
-/D [2104 0 R /XYZ 85.0394 576.7004 null]
+/D [2118 0 R /XYZ 85.0394 576.7004 null]
>> endobj
-2108 0 obj <<
-/D [2104 0 R /XYZ 85.0394 548.3785 null]
+2122 0 obj <<
+/D [2118 0 R /XYZ 85.0394 548.3785 null]
>> endobj
738 0 obj <<
-/D [2104 0 R /XYZ 85.0394 548.3785 null]
+/D [2118 0 R /XYZ 85.0394 548.3785 null]
>> endobj
-2109 0 obj <<
-/D [2104 0 R /XYZ 85.0394 518.5228 null]
+2123 0 obj <<
+/D [2118 0 R /XYZ 85.0394 518.5228 null]
>> endobj
742 0 obj <<
-/D [2104 0 R /XYZ 85.0394 460.6968 null]
+/D [2118 0 R /XYZ 85.0394 460.6968 null]
>> endobj
-2110 0 obj <<
-/D [2104 0 R /XYZ 85.0394 425.0333 null]
+2124 0 obj <<
+/D [2118 0 R /XYZ 85.0394 425.0333 null]
>> endobj
746 0 obj <<
-/D [2104 0 R /XYZ 85.0394 260.2468 null]
+/D [2118 0 R /XYZ 85.0394 260.2468 null]
>> endobj
-2111 0 obj <<
-/D [2104 0 R /XYZ 85.0394 224.698 null]
+2125 0 obj <<
+/D [2118 0 R /XYZ 85.0394 224.698 null]
>> endobj
-2103 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F11 1451 0 R /F41 1218 0 R >>
+2117 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F11 1343 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2116 0 obj <<
+2130 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-2115 0 obj <<
+2129 0 obj <<
/Type /Page
-/Contents 2116 0 R
-/Resources 2114 0 R
+/Contents 2130 0 R
+/Resources 2128 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2118 0 R
+/Parent 2116 0 R
>> endobj
-2117 0 obj <<
-/D [2115 0 R /XYZ 56.6929 794.5015 null]
+2131 0 obj <<
+/D [2129 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2114 0 obj <<
+2128 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-2121 0 obj <<
+2134 0 obj <<
/Length 2544
/Filter /FlateDecode
>>
@@ -10260,42 +10327,42 @@ FXЭ‚dƒ\#åS¯ÐyOpBŒšÈª†¨n4\Tòi¹^¿È=õvÂÀ3v·Ù”¹<ƒZˆLPO–`š8I9³€øQ &ŽÀ6 CÆg”ñ
¼
–a“p¯Gkଯ ëÃá5³îǪÿêÄ- ÜȽ¬Í|µ/^ÄwxÒH‚
D¤<ÐÎÿ—yÇ‘sU@E…ÎqÌ*Š‘×8P”Ì Ë¿/@f4áRÊ}^º¦ÖÒRº#›Úv°/×ˈÖFtÅŒ‚þ[åSr Òéú@Øèªé)ŽL½"Ÿûæ¢@ù<ñpJµÙ>~æÜpËLtGY­Fgá±[A —(-̃ÅÙ¶Ä ˜Þ°)Ëx™AaíF¼¨‚ÕáPâ¥V)§8·º>@ÌÔ4ûôÜÄP‰BÍÞ(dv P&máªëæßFD3zœ`·“¢ÂEàÛ=ÃBj{ †rh®ÔÐq½ ‘®³«zß&Å(uùJ¸8…B×ò5ø?Š²9Òp#ªf'Ë’•ú&_æ ùM_—¢±J6iðU£ª#E}ïãÏ^5X*‰eÃÏÖJ©>KF\¢P¯SSŒo&Œ>Ï! ·LÝ–è@±¸ˆ¤ægH@Ä9³ZI( Ž:ž()6Sq
-UŸiQc¢õFêƆEiX*×5ÔÏ]OÕ-ãÖXXE p³Í‚¥¢o¹‡šMÔºõÁùˆ4òs®øbðج–×
+UŸiQc¢õFêƆEiX*×5ÔÏ]OÕ-ãÖXXE p³Í‚¥¢o¹‡šMÔºõÁùˆ4òs®øbðج–×
endobj
-2120 0 obj <<
+2133 0 obj <<
/Type /Page
-/Contents 2121 0 R
-/Resources 2119 0 R
+/Contents 2134 0 R
+/Resources 2132 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2118 0 R
+/Parent 2116 0 R
>> endobj
-2122 0 obj <<
-/D [2120 0 R /XYZ 85.0394 794.5015 null]
+2135 0 obj <<
+/D [2133 0 R /XYZ 85.0394 794.5015 null]
>> endobj
750 0 obj <<
-/D [2120 0 R /XYZ 85.0394 769.5949 null]
+/D [2133 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2123 0 obj <<
-/D [2120 0 R /XYZ 85.0394 573.5449 null]
+2136 0 obj <<
+/D [2133 0 R /XYZ 85.0394 573.5449 null]
>> endobj
754 0 obj <<
-/D [2120 0 R /XYZ 85.0394 573.5449 null]
+/D [2133 0 R /XYZ 85.0394 573.5449 null]
>> endobj
-2124 0 obj <<
-/D [2120 0 R /XYZ 85.0394 539.0037 null]
+2137 0 obj <<
+/D [2133 0 R /XYZ 85.0394 539.0037 null]
>> endobj
758 0 obj <<
-/D [2120 0 R /XYZ 85.0394 539.0037 null]
+/D [2133 0 R /XYZ 85.0394 539.0037 null]
>> endobj
-2125 0 obj <<
-/D [2120 0 R /XYZ 85.0394 510.2426 null]
+2138 0 obj <<
+/D [2133 0 R /XYZ 85.0394 510.2426 null]
>> endobj
-2119 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R >>
+2132 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2128 0 obj <<
-/Length 2811
+2141 0 obj <<
+/Length 2812
/Filter /FlateDecode
>>
stream
@@ -10312,66 +10379,66 @@ EЙ­OƭܨŒÚ›-—e]s÷Z_ÔU×.Ê‘zE)míë¹®¸ÊWñ•¿ÉUêº0¢Æ÷j­bqå­¤7‘Љ’-9ŽÂÐák
â”mÖöÑëC½Ã
cåàföí÷¹àRõvùÀw²½šÈöëvuyùòò‚*p
]8*?\ÕÂXé[}ãú&?kÚþù+üM\O:‰p-’Ó~å‡1ÎCN("ÛÿùøÓ‰øN”±iÙE˜øô­ƒ–¿ÌìèÇþ»G·c1Üb¾{øÃO)Ô1T~ß!¯½<æÏGþã8:âïè[L‡uÊÓH§Ô§¿Lå]ÀĈ90&ºÒK÷ðxj7ˆ†žÄ˜-t|×âÚv ª{ô^Ù¶Ä>±t‹à-Ö‹i¦'¾}¤¥¶Ÿ4žÓÂ>©]¶£÷OtJµùï‘ÊøÙJ„b¤‡7
-}Ç÷èUHÇÁ{‘Ý°î8u¢º¦Nh{'RíÚ©›Íe³ÎN|Çs#'qå1WG¾Óa²2RÄ)µ·|'r"?Ž†<ÇéÜ4†`“6MKÎü=B¿õ…S~–œÃíóÿüõ³ÿ
+}Ç÷èUHÇÁ{‘Ý°î8u¢º¦Nh{'RíÚ©›Íe³ÎN|Çs#'qå1WG¾Óa²2RÄ)µ·|'r"?Ž†<ÇéÜ4†`“6MKÎü=B¿õ…S~–œÃíóÿüõ³ÿ
endobj
-2127 0 obj <<
+2140 0 obj <<
/Type /Page
-/Contents 2128 0 R
-/Resources 2126 0 R
+/Contents 2141 0 R
+/Resources 2139 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2118 0 R
-/Annots [ 2132 0 R 2133 0 R ]
+/Parent 2116 0 R
+/Annots [ 2145 0 R 2146 0 R ]
>> endobj
-2132 0 obj <<
+2145 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
/Rect [253.7995 149.3637 417.685 161.4234]
/Subtype/Link/A<</Type/Action/S/URI/URI(ftp://www.isi.edu/in-notes/)>>
>> endobj
-2133 0 obj <<
+2146 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
/Rect [63.4454 110.455 208.8999 120.6168]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ietf.org/rfc/)>>
>> endobj
-2129 0 obj <<
-/D [2127 0 R /XYZ 56.6929 794.5015 null]
+2142 0 obj <<
+/D [2140 0 R /XYZ 56.6929 794.5015 null]
>> endobj
762 0 obj <<
-/D [2127 0 R /XYZ 56.6929 662.0717 null]
+/D [2140 0 R /XYZ 56.6929 662.0717 null]
>> endobj
-2130 0 obj <<
-/D [2127 0 R /XYZ 56.6929 624.1661 null]
+2143 0 obj <<
+/D [2140 0 R /XYZ 56.6929 624.1661 null]
>> endobj
766 0 obj <<
-/D [2127 0 R /XYZ 56.6929 624.1661 null]
+/D [2140 0 R /XYZ 56.6929 624.1661 null]
>> endobj
-1531 0 obj <<
-/D [2127 0 R /XYZ 56.6929 593.0972 null]
+1536 0 obj <<
+/D [2140 0 R /XYZ 56.6929 593.0972 null]
>> endobj
770 0 obj <<
-/D [2127 0 R /XYZ 56.6929 294.2701 null]
+/D [2140 0 R /XYZ 56.6929 294.2701 null]
>> endobj
-2131 0 obj <<
-/D [2127 0 R /XYZ 56.6929 255.4568 null]
+2144 0 obj <<
+/D [2140 0 R /XYZ 56.6929 255.4568 null]
>> endobj
774 0 obj <<
-/D [2127 0 R /XYZ 56.6929 255.4568 null]
+/D [2140 0 R /XYZ 56.6929 255.4568 null]
>> endobj
-1251 0 obj <<
-/D [2127 0 R /XYZ 56.6929 226.1045 null]
+1256 0 obj <<
+/D [2140 0 R /XYZ 56.6929 226.1045 null]
>> endobj
-2134 0 obj <<
-/D [2127 0 R /XYZ 56.6929 53.5688 null]
+2147 0 obj <<
+/D [2140 0 R /XYZ 56.6929 53.5688 null]
>> endobj
-2135 0 obj <<
-/D [2127 0 R /XYZ 56.6929 53.5688 null]
+2148 0 obj <<
+/D [2140 0 R /XYZ 56.6929 53.5688 null]
>> endobj
-2126 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F39 1161 0 R /F53 1313 0 R /F11 1451 0 R /F41 1218 0 R >>
+2139 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F39 1165 0 R /F53 1318 0 R /F11 1343 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2138 0 obj <<
+2151 0 obj <<
/Length 2825
/Filter /FlateDecode
>>
@@ -10390,693 +10457,693 @@ Zî–ÁÅ“ž„N(ËEHq¤;#UO«E;õ4:É$£ÇgöHm)7™FJ“>2½Ð-™'ØÃdvÀ›
ã3­¤%ä¶B-dU™Ï}¸­ ö‡MÐFžŒ¯ -3wÊ,Ÿw¢^ [ÖŒ*…ÅÈ´<Øû©ÍØ/cŒ ­±ïÖÙN­>Ë^vå›~¾Ñó
åçú«d>C¶K¡`Œidå7ÆÁâU<2³û»I_å Cæœ:& ôÚäLcjKy¨ÖRמZ/´EvÛÁ¶ >-÷{¹ëŠõfëÀ·@09—¬–‡JÊH…‰Åq³N¬é„`ü]þmøèœÆ(æØ>F¢aóù XäýqŸêSW±ïÚôy°Úc +ïÔàT >d mâŒ^·Ãs§÷œ¥ÅùÆgîóÝÎœø~ŸIð‘0Šüa ¹ B µT$žƒnk}àak°‘Ù!×G%ǶÚ4[Y¯†ªLÆ,<=5G±Žö\×~ïGI ¶àÏÔÿ–[áZ¨Íø¾Ï¾|¸­ÂûÀÃ
·‘÷AŸWÏÙ6}ÍE5#P}m kkôÓÒ9áBŸÔ6"²€ÑÛÇ×H^MÖêD2ì #FEÐ|X|Ö~ѼJyÈ«m^§DRãKá%Jæ./öY®P¯ÙÙC²7Ü…¤jñ î€j“Ûÿò—¾ÖÎaŒh’8Ó(4Ÿ”r¬_Jü
-LhÿÕÍ7Á§ïþ_$Gb’endstream
+LXÿÕÍ7Á§ïþ_$Ÿb”endstream
endobj
-2137 0 obj <<
+2150 0 obj <<
/Type /Page
-/Contents 2138 0 R
-/Resources 2136 0 R
+/Contents 2151 0 R
+/Resources 2149 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2118 0 R
->> endobj
-2139 0 obj <<
-/D [2137 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-2140 0 obj <<
-/D [2137 0 R /XYZ 85.0394 752.3015 null]
->> endobj
-2141 0 obj <<
-/D [2137 0 R /XYZ 85.0394 752.3015 null]
->> endobj
-2142 0 obj <<
-/D [2137 0 R /XYZ 85.0394 752.3015 null]
->> endobj
-2143 0 obj <<
-/D [2137 0 R /XYZ 85.0394 746.3107 null]
->> endobj
-2144 0 obj <<
-/D [2137 0 R /XYZ 85.0394 731.5461 null]
->> endobj
-2145 0 obj <<
-/D [2137 0 R /XYZ 85.0394 728.1497 null]
->> endobj
-2146 0 obj <<
-/D [2137 0 R /XYZ 85.0394 713.3851 null]
->> endobj
-2147 0 obj <<
-/D [2137 0 R /XYZ 85.0394 709.9887 null]
->> endobj
-2148 0 obj <<
-/D [2137 0 R /XYZ 85.0394 651.9592 null]
->> endobj
-1381 0 obj <<
-/D [2137 0 R /XYZ 85.0394 651.9592 null]
->> endobj
-2149 0 obj <<
-/D [2137 0 R /XYZ 85.0394 651.9592 null]
->> endobj
-2150 0 obj <<
-/D [2137 0 R /XYZ 85.0394 648.8377 null]
->> endobj
-2151 0 obj <<
-/D [2137 0 R /XYZ 85.0394 634.0731 null]
+/Parent 2116 0 R
>> endobj
2152 0 obj <<
-/D [2137 0 R /XYZ 85.0394 630.6767 null]
+/D [2150 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2153 0 obj <<
-/D [2137 0 R /XYZ 85.0394 615.9121 null]
+/D [2150 0 R /XYZ 85.0394 752.3015 null]
>> endobj
2154 0 obj <<
-/D [2137 0 R /XYZ 85.0394 612.5156 null]
+/D [2150 0 R /XYZ 85.0394 752.3015 null]
>> endobj
2155 0 obj <<
-/D [2137 0 R /XYZ 85.0394 585.7959 null]
+/D [2150 0 R /XYZ 85.0394 752.3015 null]
>> endobj
2156 0 obj <<
-/D [2137 0 R /XYZ 85.0394 582.3994 null]
+/D [2150 0 R /XYZ 85.0394 746.3107 null]
>> endobj
2157 0 obj <<
-/D [2137 0 R /XYZ 85.0394 567.6349 null]
+/D [2150 0 R /XYZ 85.0394 731.5461 null]
>> endobj
2158 0 obj <<
-/D [2137 0 R /XYZ 85.0394 564.2384 null]
+/D [2150 0 R /XYZ 85.0394 728.1497 null]
>> endobj
2159 0 obj <<
-/D [2137 0 R /XYZ 85.0394 549.5337 null]
+/D [2150 0 R /XYZ 85.0394 713.3851 null]
>> endobj
2160 0 obj <<
-/D [2137 0 R /XYZ 85.0394 546.0774 null]
+/D [2150 0 R /XYZ 85.0394 709.9887 null]
>> endobj
2161 0 obj <<
-/D [2137 0 R /XYZ 85.0394 531.3128 null]
+/D [2150 0 R /XYZ 85.0394 651.9592 null]
+>> endobj
+1389 0 obj <<
+/D [2150 0 R /XYZ 85.0394 651.9592 null]
>> endobj
2162 0 obj <<
-/D [2137 0 R /XYZ 85.0394 527.9163 null]
+/D [2150 0 R /XYZ 85.0394 651.9592 null]
>> endobj
2163 0 obj <<
-/D [2137 0 R /XYZ 85.0394 513.1518 null]
+/D [2150 0 R /XYZ 85.0394 648.8377 null]
>> endobj
2164 0 obj <<
-/D [2137 0 R /XYZ 85.0394 509.7553 null]
+/D [2150 0 R /XYZ 85.0394 634.0731 null]
>> endobj
2165 0 obj <<
-/D [2137 0 R /XYZ 85.0394 483.0356 null]
+/D [2150 0 R /XYZ 85.0394 630.6767 null]
>> endobj
2166 0 obj <<
-/D [2137 0 R /XYZ 85.0394 479.6391 null]
+/D [2150 0 R /XYZ 85.0394 615.9121 null]
>> endobj
2167 0 obj <<
-/D [2137 0 R /XYZ 85.0394 464.8745 null]
+/D [2150 0 R /XYZ 85.0394 612.5156 null]
>> endobj
2168 0 obj <<
-/D [2137 0 R /XYZ 85.0394 461.4781 null]
+/D [2150 0 R /XYZ 85.0394 585.7959 null]
>> endobj
2169 0 obj <<
-/D [2137 0 R /XYZ 85.0394 446.7135 null]
+/D [2150 0 R /XYZ 85.0394 582.3994 null]
>> endobj
2170 0 obj <<
-/D [2137 0 R /XYZ 85.0394 443.3171 null]
+/D [2150 0 R /XYZ 85.0394 567.6349 null]
>> endobj
2171 0 obj <<
-/D [2137 0 R /XYZ 85.0394 428.5525 null]
+/D [2150 0 R /XYZ 85.0394 564.2384 null]
>> endobj
2172 0 obj <<
-/D [2137 0 R /XYZ 85.0394 425.156 null]
+/D [2150 0 R /XYZ 85.0394 549.5337 null]
>> endobj
2173 0 obj <<
-/D [2137 0 R /XYZ 85.0394 355.0758 null]
+/D [2150 0 R /XYZ 85.0394 546.0774 null]
>> endobj
2174 0 obj <<
-/D [2137 0 R /XYZ 85.0394 355.0758 null]
+/D [2150 0 R /XYZ 85.0394 531.3128 null]
>> endobj
2175 0 obj <<
-/D [2137 0 R /XYZ 85.0394 355.0758 null]
+/D [2150 0 R /XYZ 85.0394 527.9163 null]
>> endobj
2176 0 obj <<
-/D [2137 0 R /XYZ 85.0394 352.0499 null]
+/D [2150 0 R /XYZ 85.0394 513.1518 null]
>> endobj
2177 0 obj <<
-/D [2137 0 R /XYZ 85.0394 337.3452 null]
+/D [2150 0 R /XYZ 85.0394 509.7553 null]
>> endobj
2178 0 obj <<
-/D [2137 0 R /XYZ 85.0394 333.8889 null]
+/D [2150 0 R /XYZ 85.0394 483.0356 null]
>> endobj
2179 0 obj <<
-/D [2137 0 R /XYZ 85.0394 309.8192 null]
+/D [2150 0 R /XYZ 85.0394 479.6391 null]
>> endobj
2180 0 obj <<
-/D [2137 0 R /XYZ 85.0394 303.7727 null]
+/D [2150 0 R /XYZ 85.0394 464.8745 null]
>> endobj
2181 0 obj <<
-/D [2137 0 R /XYZ 85.0394 278.3282 null]
+/D [2150 0 R /XYZ 85.0394 461.4781 null]
>> endobj
2182 0 obj <<
-/D [2137 0 R /XYZ 85.0394 273.6565 null]
+/D [2150 0 R /XYZ 85.0394 446.7135 null]
>> endobj
2183 0 obj <<
-/D [2137 0 R /XYZ 85.0394 246.9367 null]
+/D [2150 0 R /XYZ 85.0394 443.3171 null]
>> endobj
2184 0 obj <<
-/D [2137 0 R /XYZ 85.0394 243.5403 null]
+/D [2150 0 R /XYZ 85.0394 428.5525 null]
>> endobj
2185 0 obj <<
-/D [2137 0 R /XYZ 85.0394 173.5556 null]
+/D [2150 0 R /XYZ 85.0394 425.156 null]
>> endobj
2186 0 obj <<
-/D [2137 0 R /XYZ 85.0394 173.5556 null]
+/D [2150 0 R /XYZ 85.0394 355.0758 null]
>> endobj
2187 0 obj <<
-/D [2137 0 R /XYZ 85.0394 173.5556 null]
+/D [2150 0 R /XYZ 85.0394 355.0758 null]
>> endobj
2188 0 obj <<
-/D [2137 0 R /XYZ 85.0394 170.4341 null]
+/D [2150 0 R /XYZ 85.0394 355.0758 null]
>> endobj
2189 0 obj <<
-/D [2137 0 R /XYZ 85.0394 144.9896 null]
+/D [2150 0 R /XYZ 85.0394 352.0499 null]
>> endobj
2190 0 obj <<
-/D [2137 0 R /XYZ 85.0394 140.3179 null]
+/D [2150 0 R /XYZ 85.0394 337.3452 null]
>> endobj
2191 0 obj <<
-/D [2137 0 R /XYZ 85.0394 113.5982 null]
+/D [2150 0 R /XYZ 85.0394 333.8889 null]
>> endobj
2192 0 obj <<
-/D [2137 0 R /XYZ 85.0394 110.2017 null]
+/D [2150 0 R /XYZ 85.0394 309.8192 null]
>> endobj
2193 0 obj <<
-/D [2137 0 R /XYZ 85.0394 95.4372 null]
+/D [2150 0 R /XYZ 85.0394 303.7727 null]
>> endobj
2194 0 obj <<
-/D [2137 0 R /XYZ 85.0394 92.0407 null]
+/D [2150 0 R /XYZ 85.0394 278.3282 null]
>> endobj
-2136 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R >>
-/ProcSet [ /PDF /Text ]
+2195 0 obj <<
+/D [2150 0 R /XYZ 85.0394 273.6565 null]
>> endobj
-2197 0 obj <<
-/Length 2889
-/Filter /FlateDecode
->>
-stream
-xÚµšMsÛ8†ïþ:JU1†
-<
-}w„°i5LX[iÂã¶J7„O´{ ·´Xøé«M|§–=w¦í½˜A;ˆ‚ÈÀ öHü¿HiþM|˜øh²÷²ÈX–%òž.w˜C
-†•…‚²Ò`¯·P°IºÚýLíù&?ýã⯲s¬Ø,¯dSšwç]ù?ý
-?â7?Òù1Щsàží’º(
-ü6¡¹$´HÊ*K^˜l¦µ£ïÞ©s±ðûgM,&†af0 †•…˜²2ˆb6iƒXW»Ÿ˜©½ÞÄÜÎ=ØYEXž(E_q@ü¿Ø&ÁFQã‚Z}ƒ¤Æ¯G¨ù
-\'4v¹@`ã£Ø\ÇÄÆ?5ØÄaFÔÊ'­0ÝÐA>Lº¦i5 S[0-»Uºy¢Ý ³¥½©ŠC½KáˆN/ÙAlapød%osk†¼¯fÈCÞ(ò+Å[Œ0$aH;†ü~Îßkºžã)†Â¦^aüâ“4¾:îöG8ÔÊùŴ‰´ÿÄs]8Ç4 #° + leeÀŽ,°mÒì®v?lS›ÃNÄ>ŠsÁÙô©>µœ_³º2#zas,E*[dè ÐéС7[
-id„ý4¦Õ0m¥Ñ¡¥
-°I+ «Ý¿Lí{Ôu]î‹5e×¥ÓøX=ö[½‰®»"ååÑÇ¡®â»ûµðOÞ_3æ}í¬“wÉä¤?ÈúžÛð†hÁSÃú.•®‘Wä‘ÊïlEÕ {…ø¡Ó;G
-ÛðÈ‘·±±06Š ÅØ^-¢¿¶j?½F•t7×ñ90d6BäQ—Â-D‹L^àJj±ªÞ£z‹uõ7®G¶Ëx8›c°ˆ¿¤uæåE\#þò‚tò&™ª1ZP"¦}Ä Ç‘…£4j@KÝΦkì÷£4„ã&]ÉøZ?$üÑ`'¿¿IËJ¦ž"ö:íbo¸ùáé+‡²w7Jcðì··T#ôB^UlŸOj4V`qÅ‘˜a4 Li`^d) Øt`]á^`¦°¨¡†p"üU±¼¬ŸTÂ숚*ü/¯¯Å¡FË;ÑøƒJQ6‡F¿¯2`äø‘±ºÄ›n¸ãþ¹Ø‹|·^ÊÖëc
-¾šÈÖϺ`]Ë4OòJv‰šU N«µƒiqLË2í«ÿ
-ŒÛÏiueK×±ôƒƒæÏBŽãŒÄaÓj˜¹¶jÞLpð0s«tÃüD»—yK[ÏÇ"ß»ø+Vý,/MÓ­ ~‚é;üd'DÄñCK˜ýl~h½u Äë!ÍTò'/Ø‹PˆÇª¦•…’²j(ÙöK«´A©«ÝOÉÔ^³ïÇTìq{–«íPo‘Í#/þéºÐ湚»×,Ý…ô¦¬+#wŸ[<¹ÂùÅ!Ù±r¹
-…º#õ:ÓÊEYi(^ds›´¥«ÝÅÔOï7ÕḭD˜d™7žmôl‘‡ü€ºíÉÿ ã
-.Wçñ|¾FñZD—øw¦~TЙìkUUIw9SAèJ6î$Í«z꾅щlÍ£ü~dÃÏu1dwGÛ›VdÊJ# ‰å4i•6uµû‘™ÚËøBm¼DÁ¶Ï9„§L½Î´ç1NîC݇MyúýȺ‡ лéz~ÐÛ–±DÇÊŽ§^I§‚ö;•“~f8ö–…a4LK5eb©TÛtV]á^T¦°Žqn¨bœñ7ƒ´ºsnÔ©b‚å2^Åâêr…tÇÉÐû¼¤é“ÖÓ?±N©áv3¥†f#¥æÒè¢.lå¹x òüßµ·eYšìÕ‹Z¤uö×ÎÚyÍnð i©³xˆ¿OÛ3ùŽ>“þϯíUñ
-endobj
2196 0 obj <<
-/Type /Page
-/Contents 2197 0 R
-/Resources 2195 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2118 0 R
+/D [2150 0 R /XYZ 85.0394 246.9367 null]
+>> endobj
+2197 0 obj <<
+/D [2150 0 R /XYZ 85.0394 243.5403 null]
>> endobj
2198 0 obj <<
-/D [2196 0 R /XYZ 56.6929 794.5015 null]
+/D [2150 0 R /XYZ 85.0394 173.5556 null]
>> endobj
2199 0 obj <<
-/D [2196 0 R /XYZ 56.6929 748.5056 null]
+/D [2150 0 R /XYZ 85.0394 173.5556 null]
>> endobj
2200 0 obj <<
-/D [2196 0 R /XYZ 56.6929 748.5056 null]
+/D [2150 0 R /XYZ 85.0394 173.5556 null]
>> endobj
2201 0 obj <<
-/D [2196 0 R /XYZ 56.6929 748.5056 null]
+/D [2150 0 R /XYZ 85.0394 170.4341 null]
>> endobj
2202 0 obj <<
-/D [2196 0 R /XYZ 56.6929 743.7078 null]
+/D [2150 0 R /XYZ 85.0394 144.9896 null]
>> endobj
2203 0 obj <<
-/D [2196 0 R /XYZ 56.6929 719.6381 null]
+/D [2150 0 R /XYZ 85.0394 140.3179 null]
>> endobj
2204 0 obj <<
-/D [2196 0 R /XYZ 56.6929 711.8197 null]
+/D [2150 0 R /XYZ 85.0394 113.5982 null]
>> endobj
2205 0 obj <<
-/D [2196 0 R /XYZ 56.6929 697.0552 null]
+/D [2150 0 R /XYZ 85.0394 110.2017 null]
>> endobj
2206 0 obj <<
-/D [2196 0 R /XYZ 56.6929 691.8868 null]
+/D [2150 0 R /XYZ 85.0394 95.4372 null]
>> endobj
2207 0 obj <<
-/D [2196 0 R /XYZ 56.6929 665.1671 null]
->> endobj
-2208 0 obj <<
-/D [2196 0 R /XYZ 56.6929 659.9987 null]
+/D [2150 0 R /XYZ 85.0394 92.0407 null]
>> endobj
-2209 0 obj <<
-/D [2196 0 R /XYZ 56.6929 635.929 null]
+2149 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
2210 0 obj <<
-/D [2196 0 R /XYZ 56.6929 628.1106 null]
+/Length 2889
+/Filter /FlateDecode
+>>
+stream
+xÚµšMsÛ8†ïþ:JU1†
+<
+}w„°i5LX[iÂã¶J7„O´{ ·´Xøé«M|§–=w¦í½˜A;ˆ‚ÈÀ öHü¿HiþM|˜øh²÷²ÈX–%òž.w˜C
+†•…‚²Ò`¯·P°IºÚýLíù&?ýã⯲s¬Ø,¯dSšwç]ù?ý
+?â7?Òù1Щsàží’º(
+ü6¡¹$´HÊ*K^˜l¦µ£ïÞ©s±ðûgM,&†af0 †•…˜²2ˆb6iƒXW»Ÿ˜©½ÞÄÜÎ=ØYEXž(E_q@ü¿Ø&ÁFQã‚Z}ƒ¤Æ¯G¨ù
+\'4v¹@`ã£Ø\ÇÄÆ?5ØÄaFÔÊ'­0ÝÐA>Lº¦i5 S[0-»Uºy¢Ý ³¥½©ŠC½KáˆN/ÙAlapød%osk†¼¯fÈCÞ(ò+Å[Œ0$aH;†ü~Îßkºžã)†Â¦^aüâ“4¾:îöG8ÔÊùŴ‰´ÿÄs]8Ç4 #° + leeÀŽ,°mÒì®v?lS›ÃNÄ>ŠsÁÙô©>µœ_³º2#zas,E*[dè ÐéС7[
+id„ý4¦Õ0m¥Ñ¡¥
+°I+ «Ý¿Lí{Ôu]î‹5e×¥ÓøX=ö[½‰®»"ååÑÇ¡®â»ûµðOÞ_3æ}í¬“wÉä¤?ÈúžÛð†hÁSÃú.•®‘Wä‘ÊïlEÕ {…ø¡Ó;G
+ÛðÈ‘·±±06Š ÅØ^-¢¿¶j?½F•t7×ñ90d6BäQ—Â-D‹L^àJj±ªÞ£z‹uõ7®G¶Ëx8›c°ˆ¿¤uæåE\#þò‚tò&™ª1ZP"¦}Ä Ç‘…£4j@KÝΦkì÷£4„ã&]ÉøZ?$üÑ`'¿¿IËJ¦ž"ö:íbo¸ùáé+‡²w7Jcðì··T#ôB^UlŸOj4V`qÅ‘˜a4 Li`^d) Øt`]á^`¦°¨¡†p"üU±¼¬ŸTÂ숚*ü/¯¯Å¡FË;ÑøƒJQ6‡F¿¯2`äø‘±ºÄ›n¸ãþ¹Ø‹|·^ÊÖëc
+¾šÈÖϺ`]Ë4OòJv‰šU N«µƒiqLË2í«ÿ
+ŒÛÏiueK×±ôƒƒæÏBŽãŒÄaÓj˜¹¶jÞLpð0s«tÃüD»—yK[ÏÇ"ß»ø+Vý,/MÓ­ ~‚é;üd'DÄñCK˜ýl~h½u Äë!ÍTò'/Ø‹PˆÇª¦•…’²j(ÙöK«´A©«ÝOÉÔ^³ïÇTìq{–«íPo‘Í#/þéºÐ湚»×,Ý…ô¦¬+#wŸ[<¹ÂùÅ!Ù±r¹
+…º#õ:ÓÊEYi(^ds›´¥«ÝÅÔOï7ÕḭD˜d™7žmôl‘‡ü€ºíÉÿ ã
+.Wçñ|¾FñZD—øw¦~TЙìkUUIw9SAèJ6î$Í«z꾅щlÍ£ü~dÃÏu1dwGÛ›VdÊJ# ‰å4i•6uµû‘™ÚËøBm¼DÁ¶Ï9„§L½Î´ç1NîC݇MyúýȺ‡ лéz~ÐÛ–±DÇÊŽ§^I§‚ö;•“~f8ö–…a4LK5eb©TÛtV]á^T¦°Žqn¨bœñ7ƒ´ºsnÔ©b‚å2^Åâêr…tÇÉÐû¼¤é“ÖÓ?±N©áv3¥†f#¥æÒè¢.lå¹x òüßµ·eYšìÕ‹Z¤uö×ÎÚyÍnð i©³xˆ¿OÛ3ùŽ>“þϯíUñ
+endobj
+2209 0 obj <<
+/Type /Page
+/Contents 2210 0 R
+/Resources 2208 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2264 0 R
>> endobj
2211 0 obj <<
-/D [2196 0 R /XYZ 56.6929 601.3909 null]
+/D [2209 0 R /XYZ 56.6929 794.5015 null]
>> endobj
2212 0 obj <<
-/D [2196 0 R /XYZ 56.6929 596.2225 null]
+/D [2209 0 R /XYZ 56.6929 748.5056 null]
>> endobj
2213 0 obj <<
-/D [2196 0 R /XYZ 56.6929 569.5028 null]
+/D [2209 0 R /XYZ 56.6929 748.5056 null]
>> endobj
2214 0 obj <<
-/D [2196 0 R /XYZ 56.6929 564.3344 null]
+/D [2209 0 R /XYZ 56.6929 748.5056 null]
>> endobj
2215 0 obj <<
-/D [2196 0 R /XYZ 56.6929 549.6297 null]
+/D [2209 0 R /XYZ 56.6929 743.7078 null]
>> endobj
2216 0 obj <<
-/D [2196 0 R /XYZ 56.6929 544.4015 null]
+/D [2209 0 R /XYZ 56.6929 719.6381 null]
>> endobj
2217 0 obj <<
-/D [2196 0 R /XYZ 56.6929 529.6968 null]
+/D [2209 0 R /XYZ 56.6929 711.8197 null]
>> endobj
2218 0 obj <<
-/D [2196 0 R /XYZ 56.6929 524.4686 null]
+/D [2209 0 R /XYZ 56.6929 697.0552 null]
>> endobj
2219 0 obj <<
-/D [2196 0 R /XYZ 56.6929 500.3989 null]
+/D [2209 0 R /XYZ 56.6929 691.8868 null]
>> endobj
2220 0 obj <<
-/D [2196 0 R /XYZ 56.6929 492.5805 null]
+/D [2209 0 R /XYZ 56.6929 665.1671 null]
>> endobj
2221 0 obj <<
-/D [2196 0 R /XYZ 56.6929 467.136 null]
+/D [2209 0 R /XYZ 56.6929 659.9987 null]
>> endobj
2222 0 obj <<
-/D [2196 0 R /XYZ 56.6929 460.6924 null]
+/D [2209 0 R /XYZ 56.6929 635.929 null]
>> endobj
2223 0 obj <<
-/D [2196 0 R /XYZ 56.6929 436.6227 null]
+/D [2209 0 R /XYZ 56.6929 628.1106 null]
>> endobj
2224 0 obj <<
-/D [2196 0 R /XYZ 56.6929 428.8043 null]
+/D [2209 0 R /XYZ 56.6929 601.3909 null]
>> endobj
2225 0 obj <<
-/D [2196 0 R /XYZ 56.6929 414.0996 null]
+/D [2209 0 R /XYZ 56.6929 596.2225 null]
>> endobj
2226 0 obj <<
-/D [2196 0 R /XYZ 56.6929 408.8714 null]
+/D [2209 0 R /XYZ 56.6929 569.5028 null]
>> endobj
2227 0 obj <<
-/D [2196 0 R /XYZ 56.6929 382.1516 null]
+/D [2209 0 R /XYZ 56.6929 564.3344 null]
>> endobj
2228 0 obj <<
-/D [2196 0 R /XYZ 56.6929 376.9833 null]
+/D [2209 0 R /XYZ 56.6929 549.6297 null]
>> endobj
2229 0 obj <<
-/D [2196 0 R /XYZ 56.6929 350.2636 null]
+/D [2209 0 R /XYZ 56.6929 544.4015 null]
>> endobj
2230 0 obj <<
-/D [2196 0 R /XYZ 56.6929 345.0952 null]
+/D [2209 0 R /XYZ 56.6929 529.6968 null]
>> endobj
2231 0 obj <<
-/D [2196 0 R /XYZ 56.6929 321.0255 null]
+/D [2209 0 R /XYZ 56.6929 524.4686 null]
>> endobj
2232 0 obj <<
-/D [2196 0 R /XYZ 56.6929 313.2071 null]
+/D [2209 0 R /XYZ 56.6929 500.3989 null]
>> endobj
2233 0 obj <<
-/D [2196 0 R /XYZ 56.6929 298.5024 null]
+/D [2209 0 R /XYZ 56.6929 492.5805 null]
>> endobj
2234 0 obj <<
-/D [2196 0 R /XYZ 56.6929 293.2742 null]
+/D [2209 0 R /XYZ 56.6929 467.136 null]
>> endobj
2235 0 obj <<
-/D [2196 0 R /XYZ 56.6929 267.8297 null]
+/D [2209 0 R /XYZ 56.6929 460.6924 null]
>> endobj
2236 0 obj <<
-/D [2196 0 R /XYZ 56.6929 261.3861 null]
+/D [2209 0 R /XYZ 56.6929 436.6227 null]
>> endobj
2237 0 obj <<
-/D [2196 0 R /XYZ 56.6929 199.468 null]
+/D [2209 0 R /XYZ 56.6929 428.8043 null]
>> endobj
2238 0 obj <<
-/D [2196 0 R /XYZ 56.6929 199.468 null]
+/D [2209 0 R /XYZ 56.6929 414.0996 null]
>> endobj
2239 0 obj <<
-/D [2196 0 R /XYZ 56.6929 199.468 null]
+/D [2209 0 R /XYZ 56.6929 408.8714 null]
>> endobj
2240 0 obj <<
-/D [2196 0 R /XYZ 56.6929 191.7053 null]
+/D [2209 0 R /XYZ 56.6929 382.1516 null]
>> endobj
2241 0 obj <<
-/D [2196 0 R /XYZ 56.6929 176.9408 null]
+/D [2209 0 R /XYZ 56.6929 376.9833 null]
>> endobj
2242 0 obj <<
-/D [2196 0 R /XYZ 56.6929 171.7724 null]
+/D [2209 0 R /XYZ 56.6929 350.2636 null]
>> endobj
2243 0 obj <<
-/D [2196 0 R /XYZ 56.6929 157.0677 null]
+/D [2209 0 R /XYZ 56.6929 345.0952 null]
>> endobj
2244 0 obj <<
-/D [2196 0 R /XYZ 56.6929 151.8395 null]
+/D [2209 0 R /XYZ 56.6929 321.0255 null]
>> endobj
2245 0 obj <<
-/D [2196 0 R /XYZ 56.6929 137.1348 null]
+/D [2209 0 R /XYZ 56.6929 313.2071 null]
>> endobj
2246 0 obj <<
-/D [2196 0 R /XYZ 56.6929 131.9066 null]
+/D [2209 0 R /XYZ 56.6929 298.5024 null]
>> endobj
2247 0 obj <<
-/D [2196 0 R /XYZ 56.6929 117.2018 null]
+/D [2209 0 R /XYZ 56.6929 293.2742 null]
>> endobj
2248 0 obj <<
-/D [2196 0 R /XYZ 56.6929 111.9736 null]
+/D [2209 0 R /XYZ 56.6929 267.8297 null]
>> endobj
2249 0 obj <<
-/D [2196 0 R /XYZ 56.6929 97.2091 null]
+/D [2209 0 R /XYZ 56.6929 261.3861 null]
>> endobj
2250 0 obj <<
-/D [2196 0 R /XYZ 56.6929 92.0407 null]
+/D [2209 0 R /XYZ 56.6929 199.468 null]
>> endobj
-2195 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R >>
-/ProcSet [ /PDF /Text ]
+2251 0 obj <<
+/D [2209 0 R /XYZ 56.6929 199.468 null]
>> endobj
-2253 0 obj <<
-/Length 2542
-/Filter /FlateDecode
->>
-stream
-xÚ¥Z[w£º~ϯð£½Ö˜Jqé›'Og’ÔÎô´kÎy ¶â°ŠÁœ9s~}·Ð‘<=]yH>Øß¾c<Að‡'1õI‚I”E˜N¶‡+4ÙÃÞý–2s%47¥®Ÿ¯þrG¢Iâ%¡Nž_{ÅŠc<yÞ}›.žžn–«Îæ>EÓ…7›S„ÔêÍíf6„o¾¢éõêúóêñ~½xúø/qѯˆ¢ÅÃRœl¾Þßßnžoåéúv±\=܃žýöüéêöY?¶ùjþÌÿ¹úöšìà ?]!$1|‡äá$ñ'‡«€„¨•üjsõw}Cc·½tLU”ÄýhDW>ž`ì%”ú=eÑÄ ‰OZe-6⵬J›¬,jë[ Oq.-#À#KÈpôoë»Pùmˆ‰)òâžßªe†¨pØ¡bJ½8"Ô„]–‡4+Ä{§»CVdu/_VµX+;]´çûS¶cÆÁ+ázAÆð@ü¾„øOüÿ\6pÏY¨‡ò^X%ÎpGžUÙ@œ/mÈ¡nCÊ¡p%¥UNIäP¹ ÚPúÛ¢vü¦<J©xmyË´IÅÑ]–3qtS¿"äïO‚±x[U3O9M#T€2ƒ0 }*žfØO¦’kƪ†R¹÷¸mJƒŒ„XÉ èB¨2¥ìdh)MF‚};N莌3ìq2zà£dè0æÒ?ŠÝŸ¥ÄÇÔ ãØïS²Tl¤•éw쥚ÅÓSZýÐŒ„vF"xsŠâ ŒRF””bÄG9qAŒ ±-Œ˜àgÊ¿©²†U™t×Rëº,QÒƒô˜ «ÞYUF©(ŒÃ>×’‡/iQdÅ~ÀvÏqþ1£tšýž1‹ç8x}„¾@S'ä`I
-i’|œ8Hrà €-È_k©îòuà8‹<KkV˜z`Í÷²úwGQ¶eã…±ùA0žI>¦‡,o”Ói’ÖrûîGU¶k,E
-²WÌ}’x”B]1|DXáª
-)ÒI8² ×à|
-D}`k°ùzH‹v;–<óç‘<k˜¹mP7,ÏKÍt ²}Ó|Û«"
-éÿBp7¥Œ+)ƒrì Ümp>Ķn‚sF…‹±#ø4¥ w}vÓT`j¯K‚^ñÒ•‹µ±ŸïÄQ¾¯Ì‡‹è8:4‰8Œmúp€ÂŽq~ƒqq¯–p¾óE®nÒ#ü:O‹íkþáAL ƒº”ÍM);áZÊ ÜQ;¡;ÂÏ°Ç ï?ŠÛrÇx
-ÈLíª¯ÝƒïüÂÙ)óWy~„{¹ÿý_ýò£ Šòr,4æ0[ÄV>ýˆzQx)]˜Rv>µTÇ'uNèŽÏ3ìq>{à =}gE7½S.%«‚ó©êÏrjÇtå¬Q„Gõ1þYoÓm»›x1xé„´H!]Ò£ÈÑùp RÀN ä5ƒnŒ°­Q3+ZÄpEdôºP•:¢ þ0yCA»/ÁóêÁЯ%k”"J¼8 õ÷'IQ猣o(À±&B½
-endobj
2252 0 obj <<
-/Type /Page
-/Contents 2253 0 R
-/Resources 2251 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2118 0 R
+/D [2209 0 R /XYZ 56.6929 199.468 null]
+>> endobj
+2253 0 obj <<
+/D [2209 0 R /XYZ 56.6929 191.7053 null]
>> endobj
2254 0 obj <<
-/D [2252 0 R /XYZ 85.0394 794.5015 null]
+/D [2209 0 R /XYZ 56.6929 176.9408 null]
>> endobj
2255 0 obj <<
-/D [2252 0 R /XYZ 85.0394 748.4854 null]
+/D [2209 0 R /XYZ 56.6929 171.7724 null]
>> endobj
2256 0 obj <<
-/D [2252 0 R /XYZ 85.0394 748.4854 null]
+/D [2209 0 R /XYZ 56.6929 157.0677 null]
>> endobj
2257 0 obj <<
-/D [2252 0 R /XYZ 85.0394 748.4854 null]
+/D [2209 0 R /XYZ 56.6929 151.8395 null]
>> endobj
2258 0 obj <<
-/D [2252 0 R /XYZ 85.0394 743.3452 null]
+/D [2209 0 R /XYZ 56.6929 137.1348 null]
>> endobj
2259 0 obj <<
-/D [2252 0 R /XYZ 85.0394 728.6405 null]
+/D [2209 0 R /XYZ 56.6929 131.9066 null]
>> endobj
2260 0 obj <<
-/D [2252 0 R /XYZ 85.0394 723.1655 null]
+/D [2209 0 R /XYZ 56.6929 117.2018 null]
>> endobj
2261 0 obj <<
-/D [2252 0 R /XYZ 85.0394 708.4607 null]
+/D [2209 0 R /XYZ 56.6929 111.9736 null]
>> endobj
2262 0 obj <<
-/D [2252 0 R /XYZ 85.0394 702.9857 null]
+/D [2209 0 R /XYZ 56.6929 97.2091 null]
>> endobj
2263 0 obj <<
-/D [2252 0 R /XYZ 85.0394 688.2211 null]
->> endobj
-2264 0 obj <<
-/D [2252 0 R /XYZ 85.0394 682.8059 null]
+/D [2209 0 R /XYZ 56.6929 92.0407 null]
>> endobj
-2265 0 obj <<
-/D [2252 0 R /XYZ 85.0394 668.0414 null]
->> endobj
-2266 0 obj <<
-/D [2252 0 R /XYZ 85.0394 662.6262 null]
+2208 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
2267 0 obj <<
-/D [2252 0 R /XYZ 85.0394 599.7666 null]
+/Length 2542
+/Filter /FlateDecode
+>>
+stream
+xÚ¥Z[w£º~ϯð£½Ö˜Jqé›'Og’ÔÎô´kÎy ¶â°ŠÁœ9s~}·Ð‘<=]yH>Øß¾c<Að‡'1õI‚I”E˜N¶‡+4ÙÃÞý–2s%47¥®Ÿ¯þrG¢Iâ%¡Nž_{ÅŠc<yÞ}›.žžn–«Îæ>EÓ…7›S„ÔêÍíf6„o¾¢éõêúóêñ~½xúø/qѯˆ¢ÅÃRœl¾Þßßnžoåéúv±\=܃žýöüéêöY?¶ùjþÌÿ¹úöšìà ?]!$1|‡äá$ñ'‡«€„¨•üjsõw}Cc·½tLU”ÄýhDW>ž`ì%”ú=eÑÄ ‰OZe-6⵬J›¬,jë[ Oq.-#À#KÈpôoë»Pùmˆ‰)òâžßªe†¨pØ¡bJ½8"Ô„]–‡4+Ä{§»CVdu/_VµX+;]´çûS¶cÆÁ+ázAÆð@ü¾„øOüÿ\6pÏY¨‡ò^X%ÎpGžUÙ@œ/mÈ¡nCÊ¡p%¥UNIäP¹ ÚPúÛ¢vü¦<J©xmyË´IÅÑ]–3qtS¿"äïO‚±x[U3O9M#T€2ƒ0 }*žfØO¦’kƪ†R¹÷¸mJƒŒ„XÉ èB¨2¥ìdh)MF‚};N莌3ìq2zà£dè0æÒ?ŠÝŸ¥ÄÇÔ ãØïS²Tl¤•éw쥚ÅÓSZýÐŒ„vF"xsŠâ ŒRF””bÄG9qAŒ ±-Œ˜àgÊ¿©²†U™t×Rëº,QÒƒô˜ «ÞYUF©(ŒÃ>×’‡/iQdÅ~ÀvÏqþ1£tšýž1‹ç8x}„¾@S'ä`I
+i’|œ8Hrà €-È_k©îòuà8‹<KkV˜z`Í÷²úwGQ¶eã…±ùA0žI>¦‡,o”Ói’ÖrûîGU¶k,E
+²WÌ}’x”B]1|DXáª
+)ÒI8² ×à|
+D}`k°ùzH‹v;–<óç‘<k˜¹mP7,ÏKÍt ²}Ó|Û«"
+éÿBp7¥Œ+)ƒrì Ümp>Ķn‚sF…‹±#ø4¥ w}vÓT`j¯K‚^ñÒ•‹µ±ŸïÄQ¾¯Ì‡‹è8:4‰8Œmúp€ÂŽq~ƒqq¯–p¾óE®nÒ#ü:O‹íkþáAL ƒº”ÍM);áZÊ ÜQ;¡;ÂÏ°Ç ï?ŠÛrÇx
+ÈLíª¯ÝƒïüÂÙ)óWy~„{¹ÿý_ýò£ Šòr,4æ0[ÄV>ýˆzQx)]˜Rv>µTÇ'uNèŽÏ3ìq>{à =}gE7½S.%«‚ó©êÏrjÇtå¬Q„Gõ1þYoÓm»›x1xé„´H!]Ò£ÈÑùp RÀN ä5ƒnŒ°­Q3+ZÄpEdôºP•:¢ þ0yCA»/ÁóêÁЯ%k”"J¼8 õ÷'IQ猣o(À±&B½
+endobj
+2266 0 obj <<
+/Type /Page
+/Contents 2267 0 R
+/Resources 2265 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2264 0 R
>> endobj
2268 0 obj <<
-/D [2252 0 R /XYZ 85.0394 599.7666 null]
+/D [2266 0 R /XYZ 85.0394 794.5015 null]
>> endobj
2269 0 obj <<
-/D [2252 0 R /XYZ 85.0394 599.7666 null]
+/D [2266 0 R /XYZ 85.0394 748.4854 null]
>> endobj
2270 0 obj <<
-/D [2252 0 R /XYZ 85.0394 591.7571 null]
+/D [2266 0 R /XYZ 85.0394 748.4854 null]
>> endobj
2271 0 obj <<
-/D [2252 0 R /XYZ 85.0394 565.0374 null]
+/D [2266 0 R /XYZ 85.0394 748.4854 null]
>> endobj
2272 0 obj <<
-/D [2252 0 R /XYZ 85.0394 559.6222 null]
+/D [2266 0 R /XYZ 85.0394 743.3452 null]
>> endobj
2273 0 obj <<
-/D [2252 0 R /XYZ 85.0394 534.1777 null]
+/D [2266 0 R /XYZ 85.0394 728.6405 null]
>> endobj
2274 0 obj <<
-/D [2252 0 R /XYZ 85.0394 527.4872 null]
+/D [2266 0 R /XYZ 85.0394 723.1655 null]
>> endobj
2275 0 obj <<
-/D [2252 0 R /XYZ 85.0394 502.0427 null]
+/D [2266 0 R /XYZ 85.0394 708.4607 null]
>> endobj
2276 0 obj <<
-/D [2252 0 R /XYZ 85.0394 495.3523 null]
+/D [2266 0 R /XYZ 85.0394 702.9857 null]
>> endobj
2277 0 obj <<
-/D [2252 0 R /XYZ 85.0394 420.5376 null]
+/D [2266 0 R /XYZ 85.0394 688.2211 null]
>> endobj
2278 0 obj <<
-/D [2252 0 R /XYZ 85.0394 420.5376 null]
+/D [2266 0 R /XYZ 85.0394 682.8059 null]
>> endobj
2279 0 obj <<
-/D [2252 0 R /XYZ 85.0394 420.5376 null]
+/D [2266 0 R /XYZ 85.0394 668.0414 null]
>> endobj
2280 0 obj <<
-/D [2252 0 R /XYZ 85.0394 412.5281 null]
+/D [2266 0 R /XYZ 85.0394 662.6262 null]
>> endobj
2281 0 obj <<
-/D [2252 0 R /XYZ 85.0394 388.4584 null]
+/D [2266 0 R /XYZ 85.0394 599.7666 null]
>> endobj
2282 0 obj <<
-/D [2252 0 R /XYZ 85.0394 380.3932 null]
+/D [2266 0 R /XYZ 85.0394 599.7666 null]
>> endobj
2283 0 obj <<
-/D [2252 0 R /XYZ 85.0394 365.6884 null]
+/D [2266 0 R /XYZ 85.0394 599.7666 null]
>> endobj
2284 0 obj <<
-/D [2252 0 R /XYZ 85.0394 360.2134 null]
+/D [2266 0 R /XYZ 85.0394 591.7571 null]
>> endobj
2285 0 obj <<
-/D [2252 0 R /XYZ 85.0394 345.4488 null]
+/D [2266 0 R /XYZ 85.0394 565.0374 null]
>> endobj
2286 0 obj <<
-/D [2252 0 R /XYZ 85.0394 340.0336 null]
+/D [2266 0 R /XYZ 85.0394 559.6222 null]
>> endobj
2287 0 obj <<
-/D [2252 0 R /XYZ 85.0394 325.269 null]
+/D [2266 0 R /XYZ 85.0394 534.1777 null]
>> endobj
2288 0 obj <<
-/D [2252 0 R /XYZ 85.0394 319.8539 null]
+/D [2266 0 R /XYZ 85.0394 527.4872 null]
>> endobj
2289 0 obj <<
-/D [2252 0 R /XYZ 85.0394 295.7842 null]
+/D [2266 0 R /XYZ 85.0394 502.0427 null]
>> endobj
2290 0 obj <<
-/D [2252 0 R /XYZ 85.0394 287.7189 null]
+/D [2266 0 R /XYZ 85.0394 495.3523 null]
>> endobj
2291 0 obj <<
-/D [2252 0 R /XYZ 85.0394 272.9543 null]
+/D [2266 0 R /XYZ 85.0394 420.5376 null]
>> endobj
2292 0 obj <<
-/D [2252 0 R /XYZ 85.0394 267.5392 null]
+/D [2266 0 R /XYZ 85.0394 420.5376 null]
>> endobj
2293 0 obj <<
-/D [2252 0 R /XYZ 85.0394 252.7746 null]
+/D [2266 0 R /XYZ 85.0394 420.5376 null]
>> endobj
2294 0 obj <<
-/D [2252 0 R /XYZ 85.0394 247.3594 null]
+/D [2266 0 R /XYZ 85.0394 412.5281 null]
>> endobj
2295 0 obj <<
-/D [2252 0 R /XYZ 85.0394 223.2897 null]
+/D [2266 0 R /XYZ 85.0394 388.4584 null]
>> endobj
2296 0 obj <<
-/D [2252 0 R /XYZ 85.0394 215.2245 null]
+/D [2266 0 R /XYZ 85.0394 380.3932 null]
>> endobj
2297 0 obj <<
-/D [2252 0 R /XYZ 85.0394 149.4956 null]
+/D [2266 0 R /XYZ 85.0394 365.6884 null]
>> endobj
2298 0 obj <<
-/D [2252 0 R /XYZ 85.0394 149.4956 null]
+/D [2266 0 R /XYZ 85.0394 360.2134 null]
>> endobj
2299 0 obj <<
-/D [2252 0 R /XYZ 85.0394 149.4956 null]
+/D [2266 0 R /XYZ 85.0394 345.4488 null]
>> endobj
2300 0 obj <<
-/D [2252 0 R /XYZ 85.0394 144.3554 null]
+/D [2266 0 R /XYZ 85.0394 340.0336 null]
>> endobj
2301 0 obj <<
-/D [2252 0 R /XYZ 85.0394 120.2857 null]
+/D [2266 0 R /XYZ 85.0394 325.269 null]
>> endobj
2302 0 obj <<
-/D [2252 0 R /XYZ 85.0394 112.2205 null]
+/D [2266 0 R /XYZ 85.0394 319.8539 null]
>> endobj
2303 0 obj <<
-/D [2252 0 R /XYZ 85.0394 97.4559 null]
+/D [2266 0 R /XYZ 85.0394 295.7842 null]
>> endobj
2304 0 obj <<
-/D [2252 0 R /XYZ 85.0394 92.0407 null]
+/D [2266 0 R /XYZ 85.0394 287.7189 null]
>> endobj
-2251 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R >>
-/ProcSet [ /PDF /Text ]
+2305 0 obj <<
+/D [2266 0 R /XYZ 85.0394 272.9543 null]
>> endobj
-2307 0 obj <<
-/Length 2928
-/Filter /FlateDecode
->>
-stream
-xÚ¥ZKs㸾ûWèºjÅ
-/ágP´¸hmÞŠ† —ö´z, ¾j枧Dãª;®cÝ"±ts/r/êë¾®Ö2//§¾Çœ;¹Î°Åù®i³5Q÷„#7?Ú¬lòªTÇt°;37Š£Ö…²‚)¡p®]=U6m!_³KN#¾#êK; Ò#KݸÒüŸåöe-K-å“,·²Þ¡VزQ4%Øi/`W‘{=§Ä}ï z×z†«C‹h½1Õz‡º‡Ñ³u+lð 3mÕMlšÊÄ5šŠcWÊužRç·ÍB¶Ù w}/±€Ts]ú 5Y£¨{³MÔÅ#Œ…ÂÆÇñ°¹NãÑquxbÄ›FUïñ8Ò=ˆGO÷ùóqoŠ„›$Áÿ€Á¯RuÓU‡Cr‡Ðw!žFgp°¸Fp0\ÁX<‚Øj ‡CÝÃ8غ "Ž5Ø28¨v‡ƒˆ#ç d„ùÍ´¸æÈ—e^.©3Û¶«Jñãä…’Vb=Ïs>¸4ñŸ—^³¢
-þU6M¶#šªÔ’\­£j0
-p¹ë,µ]ÌÈœve"ù˜wÒ ö]Á‚3õ‚ÍuÒŽ«ƒ4 F U½‡ôH÷ ¤=ÝÙ"Cç)srq¾ÊÿDÄT¬ËÊ6ÃjYÉVR ¡›]ë( ýç¼ÂÅnÁ"÷1‘qŠ‰0§‰FXBã^3ý²]¬·å¢i0jˆFhÄ.–/§!…K†ŸÐueR‹kRÃeA:’êFU[ê†ÔÖ}ÙÒŠ…˜¶Ìi¨´6'°Ôí¦ç•D!¯4Ü'½’Ç¡ëû1ïÇÍ{7{`Qbüï/À"|¸¦±3• Í5‹áê`‰F=mLµË¡îaXlÝ_
-*Ñ"§¬Z­ºêoƒP¡™Ki^Ü<0À‚R}…cn<ù›,Жb"UÿYUÛBS•Vl<gôýc[Ñ+0ª¬´4×$_ÒXja/hõm|¡»- 8fÍŸ¦Õz:„ÏF–¹’Ιó¼£/Y4y“2_«ªdÛ±hæ½Bç›çùhs uÕráK(VKbmùhˆ+ù¦…HúùKÖÀò¨§¬¾MþƒëªlWz.Ø»Yâû*‡+çÀFõŠ{ÅÐYdÖ«vwdØV{zàYO!¹®'¤zÒhƒ;
-B…{aª / ;ÏÕVÇ
-õkD'. ~ØÉõ\°«H_G^²ýèä›»y.‹#<›Ø\ÇÙ„sæ›Ø Sé„ŸN$£Z÷‰äHí`"éi¥DÂíW,´Ê^tÙ'Vȇ9r[ФY÷®?$]Y8yúª ô¿ä[œÈ}(97»:_®Tv™ð(† ø1þÖÂô-"¥%
-اÅ÷ñ`èv
-`+•Z1†^ž@¼lÐÛeg˜sŠ÷Ó¬[M”›M‘ÓëY3gÖU^
-â§.|Rƒ¶Im 3ìê\ñ–/²ƒI/UQTïT`7“­.›ŸO@6á™Ë±Í¥"QÏ‘#÷ÒÐ’¥=9:T<{ãJ Ó±ÒžÓÄÜ ð׋žÒ'uIâ”Ù»:_h¦t4  ñ‹âh‘£e=A]-¶…ªÙ‚H{"’ÍWÒgÁNe)hXXQ̺€–…–Qj‘è˜/2Õ+.«Jº>
-® ,¸è«ª íEšN¡hKÂsÚZ–LµYÃÈ{Þ®¨%éƒÞš§ÛBÖÔo²úm_á óAÖ¢û9Ø(ããûÃ÷VSì¡Á ø9-]@ v´tŸa€¢Á†ÂbC=¹x“¯Á§D°ØLÀ'sŬ(žCW$¢Ae™/¤y}æÝσ€ug¹ÄÚ7JÙÁà„ð“ÿìW¦*œªÕ/õÍ®LWkYm›ƒ»­¹ÙÉ+mœ¸p¼gž -¦Óh˜Î9à˜ÆÎÿ5ºŸ­QyŸz5Яnçä^Š€W´Rå# >f-„·7ÌQØ¥‡ý ýBgQιƒÿ9ÁÕ¥¥¡¾w!Ej™–wa#»š ëÆÌjÁ_+Ê jUq²7â7ZHZ•/4‚Þh3"Ñf€Ä}–Þ6ë…ú}ÎW¹¤Ùd)ýÐD, {ËmmNæ@´zÄC"-|¿¤–zꢗ0Ê{¡d#ÓW¸î_ šì0À)¦u¾Ù¿v‡{–²Ñ['1´>å p½|§{ÂÎEàâ¿à ë.ÿ÷úXo@‘+âøÄO'^¸094‹Ru¥-ÝüOÐñÚÿ Ôy Lendstream
-endobj
2306 0 obj <<
-/Type /Page
-/Contents 2307 0 R
-/Resources 2305 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2340 0 R
+/D [2266 0 R /XYZ 85.0394 267.5392 null]
+>> endobj
+2307 0 obj <<
+/D [2266 0 R /XYZ 85.0394 252.7746 null]
>> endobj
2308 0 obj <<
-/D [2306 0 R /XYZ 56.6929 794.5015 null]
+/D [2266 0 R /XYZ 85.0394 247.3594 null]
>> endobj
2309 0 obj <<
-/D [2306 0 R /XYZ 56.6929 749.0089 null]
+/D [2266 0 R /XYZ 85.0394 223.2897 null]
>> endobj
2310 0 obj <<
-/D [2306 0 R /XYZ 56.6929 749.0089 null]
+/D [2266 0 R /XYZ 85.0394 215.2245 null]
>> endobj
2311 0 obj <<
-/D [2306 0 R /XYZ 56.6929 749.0089 null]
+/D [2266 0 R /XYZ 85.0394 149.4956 null]
>> endobj
2312 0 obj <<
-/D [2306 0 R /XYZ 56.6929 745.2843 null]
+/D [2266 0 R /XYZ 85.0394 149.4956 null]
>> endobj
2313 0 obj <<
-/D [2306 0 R /XYZ 56.6929 721.2146 null]
+/D [2266 0 R /XYZ 85.0394 149.4956 null]
>> endobj
2314 0 obj <<
-/D [2306 0 R /XYZ 56.6929 714.4694 null]
+/D [2266 0 R /XYZ 85.0394 144.3554 null]
>> endobj
2315 0 obj <<
-/D [2306 0 R /XYZ 56.6929 699.7048 null]
+/D [2266 0 R /XYZ 85.0394 120.2857 null]
>> endobj
2316 0 obj <<
-/D [2306 0 R /XYZ 56.6929 695.6096 null]
+/D [2266 0 R /XYZ 85.0394 112.2205 null]
>> endobj
2317 0 obj <<
-/D [2306 0 R /XYZ 56.6929 680.9049 null]
+/D [2266 0 R /XYZ 85.0394 97.4559 null]
>> endobj
2318 0 obj <<
-/D [2306 0 R /XYZ 56.6929 676.7499 null]
->> endobj
-2319 0 obj <<
-/D [2306 0 R /XYZ 56.6929 652.6802 null]
+/D [2266 0 R /XYZ 85.0394 92.0407 null]
>> endobj
-2320 0 obj <<
-/D [2306 0 R /XYZ 56.6929 645.935 null]
+2265 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
2321 0 obj <<
-/D [2306 0 R /XYZ 56.6929 631.2303 null]
+/Length 2928
+/Filter /FlateDecode
+>>
+stream
+xÚ¥ZKs㸾ûWèºjÅ
+/ágP´¸hmÞŠ† —ö´z, ¾j枧Dãª;®cÝ"±ts/r/êë¾®Ö2//§¾Çœ;¹Î°Åù®i³5Q÷„#7?Ú¬lòªTÇt°;37Š£Ö…²‚)¡p®]=U6m!_³KN#¾#êK; Ò#KݸÒüŸåöe-K-å“,·²Þ¡VزQ4%Øi/`W‘{=§Ä}ï z×z†«C‹h½1Õz‡º‡Ñ³u+lð 3mÕMlšÊÄ5šŠcWÊužRç·ÍB¶Ù w}/±€Ts]ú 5Y£¨{³MÔÅ#Œ…ÂÆÇñ°¹NãÑquxbÄ›FUïñ8Ò=ˆGO÷ùóqoŠ„›$Áÿ€Á¯RuÓU‡Cr‡Ðw!žFgp°¸Fp0\ÁX<‚Øj ‡CÝÃ8غ "Ž5Ø28¨v‡ƒˆ#ç d„ùÍ´¸æÈ—e^.©3Û¶«Jñãä…’Vb=Ïs>¸4ñŸ—^³¢
+þU6M¶#šªÔ’\­£j0
+p¹ë,µ]ÌÈœve"ù˜wÒ ö]Á‚3õ‚ÍuÒŽ«ƒ4 F U½‡ôH÷ ¤=ÝÙ"Cç)srq¾ÊÿDÄT¬ËÊ6ÃjYÉVR ¡›]ë( ýç¼ÂÅnÁ"÷1‘qŠ‰0§‰FXBã^3ý²]¬·å¢i0jˆFhÄ.–/§!…K†ŸÐueR‹kRÃeA:’êFU[ê†ÔÖ}ÙÒŠ…˜¶Ìi¨´6'°Ôí¦ç•D!¯4Ü'½’Ç¡ëû1ïÇÍ{7{`Qbüï/À"|¸¦±3• Í5‹áê`‰F=mLµË¡îaXlÝ_
+*Ñ"§¬Z­ºêoƒP¡™Ki^Ü<0À‚R}…cn<ù›,Жb"UÿYUÛBS•Vl<gôýc[Ñ+0ª¬´4×$_ÒXja/hõm|¡»- 8fÍŸ¦Õz:„ÏF–¹’Ιó¼£/Y4y“2_«ªdÛ±hæ½Bç›çùhs uÕráK(VKbmùhˆ+ù¦…HúùKÖÀò¨§¬¾MþƒëªlWz.Ø»Yâû*‡+çÀFõŠ{ÅÐYdÖ«vwdØV{zàYO!¹®'¤zÒhƒ;
+B…{aª / ;ÏÕVÇ
+õkD'. ~ØÉõ\°«H_G^²ýèä›»y.‹#<›Ø\ÇÙ„sæ›Ø Sé„ŸN$£Z÷‰äHí`"éi¥DÂíW,´Ê^tÙ'Vȇ9r[ФY÷®?$]Y8yúª ô¿ä[œÈ}(97»:_®Tv™ð(† ø1þÖÂô-"¥%
+اÅ÷ñ`èv
+`+•Z1†^ž@¼lÐÛeg˜sŠ÷Ó¬[M”›M‘ÓëY3gÖU^
+â§.|Rƒ¶Im 3ìê\ñ–/²ƒI/UQTïT`7“­.›ŸO@6á™Ë±Í¥"QÏ‘#÷ÒÐ’¥=9:T<{ãJ Ó±ÒžÓÄÜ ð׋žÒ'uIâ”Ù»:_h¦t4  ñ‹âh‘£e=A]-¶…ªÙ‚H{"’ÍWÒgÁNe)hXXQ̺€–…–Qj‘è˜/2Õ+.«Jº>
+® ,¸è«ª íEšN¡hKÂsÚZ–LµYÃÈ{Þ®¨%éƒÞš§ÛBÖÔo²úm_á óAÖ¢û9Ø(ããûÃ÷VSì¡Á ø9-]@ v´tŸa€¢Á†ÂbC=¹x“¯Á§D°ØLÀ'sŬ(žCW$¢Ae™/¤y}æÝσ€ug¹ÄÚ7JÙÁà„ð“ÿìW¦*œªÕ/õÍ®LWkYm›ƒ»­¹ÙÉ+mœ¸p¼gž -¦Óh˜Î9à˜ÆÎÿ5ºŸ­QyŸz5Яnçä^Š€W´Rå# >f-„·7ÌQØ¥‡ý ýBgQιƒÿ9ÁÕ¥¥¡¾w!Ej™–wa#»š ëÆÌjÁ_+Ê jUq²7â7ZHZ•/4‚Þh3"Ñf€Ä}–Þ6ë…ú}ÎW¹¤Ùd)ýÐD, {ËmmNæ@´zÄC"-|¿¤–zꢗ0Ê{¡d#ÓW¸î_ šì0À)¦u¾Ù¿v‡{–²Ñ['1´>å p½|§{ÂÎEàâ¿à ë.ÿ÷úXo@‘+âøÄO'^¸094‹Ru¥-ÝüOÐñÚÿ ÔÑ Nendstream
+endobj
+2320 0 obj <<
+/Type /Page
+/Contents 2321 0 R
+/Resources 2319 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2264 0 R
>> endobj
2322 0 obj <<
-/D [2306 0 R /XYZ 56.6929 627.0752 null]
+/D [2320 0 R /XYZ 56.6929 794.5015 null]
>> endobj
2323 0 obj <<
-/D [2306 0 R /XYZ 56.6929 603.0055 null]
+/D [2320 0 R /XYZ 56.6929 749.0089 null]
>> endobj
2324 0 obj <<
-/D [2306 0 R /XYZ 56.6929 596.2603 null]
+/D [2320 0 R /XYZ 56.6929 749.0089 null]
>> endobj
2325 0 obj <<
-/D [2306 0 R /XYZ 56.6929 572.1906 null]
+/D [2320 0 R /XYZ 56.6929 749.0089 null]
>> endobj
2326 0 obj <<
-/D [2306 0 R /XYZ 56.6929 565.4454 null]
+/D [2320 0 R /XYZ 56.6929 745.2843 null]
>> endobj
2327 0 obj <<
-/D [2306 0 R /XYZ 56.6929 550.7407 null]
+/D [2320 0 R /XYZ 56.6929 721.2146 null]
>> endobj
2328 0 obj <<
-/D [2306 0 R /XYZ 56.6929 546.5857 null]
+/D [2320 0 R /XYZ 56.6929 714.4694 null]
>> endobj
2329 0 obj <<
-/D [2306 0 R /XYZ 56.6929 531.8211 null]
+/D [2320 0 R /XYZ 56.6929 699.7048 null]
>> endobj
2330 0 obj <<
-/D [2306 0 R /XYZ 56.6929 527.7259 null]
+/D [2320 0 R /XYZ 56.6929 695.6096 null]
>> endobj
2331 0 obj <<
-/D [2306 0 R /XYZ 56.6929 501.0062 null]
+/D [2320 0 R /XYZ 56.6929 680.9049 null]
>> endobj
2332 0 obj <<
-/D [2306 0 R /XYZ 56.6929 496.911 null]
->> endobj
-778 0 obj <<
-/D [2306 0 R /XYZ 56.6929 464.7873 null]
+/D [2320 0 R /XYZ 56.6929 676.7499 null]
>> endobj
2333 0 obj <<
-/D [2306 0 R /XYZ 56.6929 439.0859 null]
->> endobj
-782 0 obj <<
-/D [2306 0 R /XYZ 56.6929 352.4521 null]
+/D [2320 0 R /XYZ 56.6929 652.6802 null]
>> endobj
2334 0 obj <<
-/D [2306 0 R /XYZ 56.6929 326.7507 null]
+/D [2320 0 R /XYZ 56.6929 645.935 null]
>> endobj
2335 0 obj <<
-/D [2306 0 R /XYZ 56.6929 290.6891 null]
+/D [2320 0 R /XYZ 56.6929 631.2303 null]
>> endobj
2336 0 obj <<
-/D [2306 0 R /XYZ 56.6929 290.6891 null]
+/D [2320 0 R /XYZ 56.6929 627.0752 null]
>> endobj
2337 0 obj <<
-/D [2306 0 R /XYZ 56.6929 290.6891 null]
+/D [2320 0 R /XYZ 56.6929 603.0055 null]
>> endobj
2338 0 obj <<
-/D [2306 0 R /XYZ 56.6929 290.6891 null]
+/D [2320 0 R /XYZ 56.6929 596.2603 null]
+>> endobj
+2339 0 obj <<
+/D [2320 0 R /XYZ 56.6929 572.1906 null]
+>> endobj
+2340 0 obj <<
+/D [2320 0 R /XYZ 56.6929 565.4454 null]
+>> endobj
+2341 0 obj <<
+/D [2320 0 R /XYZ 56.6929 550.7407 null]
+>> endobj
+2342 0 obj <<
+/D [2320 0 R /XYZ 56.6929 546.5857 null]
+>> endobj
+2343 0 obj <<
+/D [2320 0 R /XYZ 56.6929 531.8211 null]
+>> endobj
+2344 0 obj <<
+/D [2320 0 R /XYZ 56.6929 527.7259 null]
+>> endobj
+2345 0 obj <<
+/D [2320 0 R /XYZ 56.6929 501.0062 null]
+>> endobj
+2346 0 obj <<
+/D [2320 0 R /XYZ 56.6929 496.911 null]
+>> endobj
+778 0 obj <<
+/D [2320 0 R /XYZ 56.6929 464.7873 null]
+>> endobj
+2347 0 obj <<
+/D [2320 0 R /XYZ 56.6929 439.0859 null]
+>> endobj
+782 0 obj <<
+/D [2320 0 R /XYZ 56.6929 352.4521 null]
+>> endobj
+2348 0 obj <<
+/D [2320 0 R /XYZ 56.6929 326.7507 null]
+>> endobj
+2349 0 obj <<
+/D [2320 0 R /XYZ 56.6929 290.6891 null]
+>> endobj
+2350 0 obj <<
+/D [2320 0 R /XYZ 56.6929 290.6891 null]
+>> endobj
+2351 0 obj <<
+/D [2320 0 R /XYZ 56.6929 290.6891 null]
+>> endobj
+2352 0 obj <<
+/D [2320 0 R /XYZ 56.6929 290.6891 null]
>> endobj
786 0 obj <<
-/D [2306 0 R /XYZ 56.6929 241.4457 null]
+/D [2320 0 R /XYZ 56.6929 241.4457 null]
>> endobj
-2339 0 obj <<
-/D [2306 0 R /XYZ 56.6929 201.7704 null]
+2353 0 obj <<
+/D [2320 0 R /XYZ 56.6929 201.7704 null]
>> endobj
-2305 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F14 964 0 R >>
+2319 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R /F14 968 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2343 0 obj <<
-/Length 2293
+2356 0 obj <<
+/Length 2294
/Filter /FlateDecode
>>
stream
@@ -11092,48 +11159,47 @@ bsب–
²y<ChR µJH%âWÇ«jØb€;WP§ªbu8›ZÎURC—iÑÁ„&L^š
P#¢ &6æ0wV}-±b]íO«–í%9µ2¶žTû¾Ò“žAäíEÑѣ̀~ãÊ»Ì^¹¾'åe ±)ìúŸ`ÖnqaSx¿áÄ«¶´¥$ÓÕå„á#áQàY1Ó½|Os‘ï¤Íw¿”Æ
惒ÊáNšë¥jÚZÓ‡„—8@Ääܘêån zs€{Uêq€»;9Àˆýp2ßh0á–ÂCP˜XÃg‰±ˆ€âLî€×Û Èwƒã´‚ðYÝ26iàÞ.‘ØO|)Úˆ8ñKD˜‰••@Åt"'%M_ñX¨Ù«9÷}WúL¾qŸ#ªWzû>_“:ºÏs±Ó÷9K^"áÐtÀ¼¿TF¹ ‘Ë¥é:$ã˜b¯¦m‹ì›ýpG'ßNìWšèäúÍÖ’žm/zèᢋÛYìÜå´dF+ö‰™Ú¡¾™ 8¢oX/dîpŠ³:áØ8Ò WÐBi:–Ž™ .Ó>÷7ŠCßfœÈ²‰œ#„‰¸§Ú¯ua‡H;B£x“kéƒÞqàõÁûxÁÏD‚…¶êÚ³IÙªJ¹’Ì Exêìc…±dÐż³@©ß•%±3Hqøñ….oÔ~½9»åη¨ks“ÓÛ;‚W%0þ5=ÿ}Ï ÷Âòÿ?]¾}¾‘Ž_§œòÕVx*åW1ùQž %ìoÿ{☻dèŠ(ò¦sˆ€\Sï…
-qï"qù
-uä…gÿ/JD»æendstream
+q/>?º/ PG^8qöÿJœ»èendstream
endobj
-2342 0 obj <<
+2355 0 obj <<
/Type /Page
-/Contents 2343 0 R
-/Resources 2341 0 R
+/Contents 2356 0 R
+/Resources 2354 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2340 0 R
+/Parent 2264 0 R
>> endobj
-2344 0 obj <<
-/D [2342 0 R /XYZ 85.0394 794.5015 null]
+2357 0 obj <<
+/D [2355 0 R /XYZ 85.0394 794.5015 null]
>> endobj
790 0 obj <<
-/D [2342 0 R /XYZ 85.0394 662.3711 null]
+/D [2355 0 R /XYZ 85.0394 662.3711 null]
>> endobj
-2345 0 obj <<
-/D [2342 0 R /XYZ 85.0394 634.4781 null]
+2358 0 obj <<
+/D [2355 0 R /XYZ 85.0394 634.4781 null]
>> endobj
794 0 obj <<
-/D [2342 0 R /XYZ 85.0394 566.8617 null]
+/D [2355 0 R /XYZ 85.0394 566.8617 null]
>> endobj
-2346 0 obj <<
-/D [2342 0 R /XYZ 85.0394 536.3186 null]
+2359 0 obj <<
+/D [2355 0 R /XYZ 85.0394 536.3186 null]
>> endobj
798 0 obj <<
-/D [2342 0 R /XYZ 85.0394 411.7882 null]
+/D [2355 0 R /XYZ 85.0394 411.7882 null]
>> endobj
-2347 0 obj <<
-/D [2342 0 R /XYZ 85.0394 386.7645 null]
+2360 0 obj <<
+/D [2355 0 R /XYZ 85.0394 386.7645 null]
>> endobj
802 0 obj <<
-/D [2342 0 R /XYZ 85.0394 230.2565 null]
+/D [2355 0 R /XYZ 85.0394 230.2565 null]
>> endobj
-2348 0 obj <<
-/D [2342 0 R /XYZ 85.0394 203.9874 null]
+2361 0 obj <<
+/D [2355 0 R /XYZ 85.0394 203.9874 null]
>> endobj
-2341 0 obj <<
-/Font << /F37 1026 0 R /F14 964 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+2354 0 obj <<
+/Font << /F37 1030 0 R /F14 968 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2351 0 obj <<
+2364 0 obj <<
/Length 2527
/Filter /FlateDecode
>>
@@ -11150,49 +11216,49 @@ A! zBΪª zÊaÄwIl3H’ ²R7IK#«pˆ1‚¾‡JʤM.“]²È‹¼=Ð<QÊF,\zÔya`,öºu1ƒâA
ävXíÐð0Išõ›  ±ÕFM-‡ÇJ ðk¿ãètw«é¬÷˜Øšwg=§
H¨ã
-e0ì>Ùr${ÑÁãÍðÍtÜŠzéÙüDñùîÏ¡9rP#nßÔ“±ÏOè(µ”GµMo£g~ÿÑèþ¾–Ž¥4úøôyyyI´î KyÅK¶˜¦C7c§±¯ë)ÆãØ£‘8hyøíÎ,|¦ïO ðOcŸõ;²2ˆm–h CnÚwš‡i3ÁE HèówUfÿ4ûðU‚ð`¡É×%Ý(í6O!•î‰%[VÏ¥!Ø£Ò``Û.X»+ÛÚÐÝUù‡ž×]DÎïa38îÈË­-Õ6oé+ª&i6‰ ‰yÊÄ_ì E\áê⃣òþR5âѼ«ÃÿïÄŽ/—T•Ñ¥^A†Ð±Ä06B¡„ŒÎ#©ùéì\öÿ=k-¢endstream
+e0ì>Ùr${ÑÁãÍðÍtÜŠzéÙüDñùîÏ¡9rP#nßÔ“±ÏOè(µ”GµMo£g~ÿÑèþ¾–Ž¥4úøôyyyI´î KyÅK¶˜¦C7c§±¯ë)ÆãØ£‘8hyøíÎ,|¦ïO ðOcŸõ;²2ˆm–h CnÚwš‡i3ÁE HèówUfÿ4ûðU‚ð`¡É×%Ý(í6O!•î‰%[VÏ¥!Ø£Ò``Û.X»+ÛÚÐÝUù‡ž×]DÎïa38îÈË­-Õ6oé+ª&i6‰ ‰yÊÄ_ì E\áê⃣òþR5âѼ«ÃÿïÄŽ/—T•Ñ¥^A†Ð±Ä06B¡„âç‘Ôütv.û<8-›endstream
endobj
-2350 0 obj <<
+2363 0 obj <<
/Type /Page
-/Contents 2351 0 R
-/Resources 2349 0 R
+/Contents 2364 0 R
+/Resources 2362 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2340 0 R
-/Annots [ 2354 0 R ]
+/Parent 2264 0 R
+/Annots [ 2367 0 R ]
>> endobj
-2354 0 obj <<
+2367 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [344.9397 501.3201 406.1397 512.7122]
/Subtype /Link
/A << /S /GoTo /D (trusted-keys) >>
>> endobj
-2352 0 obj <<
-/D [2350 0 R /XYZ 56.6929 794.5015 null]
+2365 0 obj <<
+/D [2363 0 R /XYZ 56.6929 794.5015 null]
>> endobj
806 0 obj <<
-/D [2350 0 R /XYZ 56.6929 609.3932 null]
+/D [2363 0 R /XYZ 56.6929 609.3932 null]
>> endobj
-2353 0 obj <<
-/D [2350 0 R /XYZ 56.6929 583.208 null]
+2366 0 obj <<
+/D [2363 0 R /XYZ 56.6929 583.208 null]
>> endobj
810 0 obj <<
-/D [2350 0 R /XYZ 56.6929 484.1849 null]
+/D [2363 0 R /XYZ 56.6929 484.1849 null]
>> endobj
-2355 0 obj <<
-/D [2350 0 R /XYZ 56.6929 454.463 null]
+2368 0 obj <<
+/D [2363 0 R /XYZ 56.6929 454.463 null]
>> endobj
814 0 obj <<
-/D [2350 0 R /XYZ 56.6929 405.4622 null]
+/D [2363 0 R /XYZ 56.6929 405.4622 null]
>> endobj
-2356 0 obj <<
-/D [2350 0 R /XYZ 56.6929 378.8348 null]
+2369 0 obj <<
+/D [2363 0 R /XYZ 56.6929 378.8348 null]
>> endobj
-2349 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F14 964 0 R /F22 961 0 R /F21 938 0 R >>
+2362 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F14 968 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2359 0 obj <<
+2372 0 obj <<
/Length 2458
/Filter /FlateDecode
>>
@@ -11201,42 +11267,42 @@ xÚÍZ[oÛ:~ϯðÛq€c–w‰yKÛì"»9Ù&vÑöA±åD¨,¹’œË¿ß!‡TD[¶Hv±(ZÓähøif8ó k6¡ð‡MRE¨0r’
‡P¡‹¾¶Ù}ÈœC¡‰¿…d:žÁ8gD =QüL¾=}³Â‘RU˜Œé· é˧‰{‡ƒ/_vpJ©Ìû
7‚$B¦òîe{ÈEµÞì&!ç“wÛ+< VHM4$ì¬QWŠ¹o%š‡€2NâÏuWÔUÈ­.Œ-¹vι߬ ¿¶gû¬Œ¤F¡¦C©ý ¶—RÓ=…˜[ú,U´ÿÛ*qÐx,ãˆ{„v_){ Ãåa3õR#[Gõ@ H IŠ·¶9Kj(ÅGqý• f=XðNïÔ_©0ÁL s¡þÂðµþÚ úúë´õ(ŸqY`è¹tÁÄBò$‰aUûÐnÖëºéòE8g¡ª>0\²Á™Ùèuy|OŒÊÔ@3æpŒ¥öÇh/åbtoºbÔÀù‚`j}[|G€2Æ ‰Ž‘ÚŒµƒQpB5OÛ§—Ù7&+ ¡R²xß×ndÈHÀ^8aQ3DoËÜmÏyòe¶)½ÙC$ôõ{ù ¤<Hçé±PH… e_t´0Fm®ÐѶoì¼Æ#m_¡ êÆ _KAœKbh*§—Ù9ŽNÒÔ¤ñΞ5z"6pø6‰mãà.j§Zø˜È³Ð”EåÅæPÆ`‹­¶£§¬Õ}¹‡;{Ͼ-uÌTFl,ŽË p ÅÜûôôDMë³[=; ¨ò.@UKžŸŸƒš1ž.4I5³'P‘$õi‰ºˆ‰z“ùi»ýT½¿üꚬj³¹MÞte¹ô8%¿td6í/œ9îÃ|Ÿá†è¾~¥¿/ÀlÎC±I$v ,°>]7E…þcá\³àý5x7G±§¢{ÀµUQ«¬Ä/kdÐs(9àlçTÕ#^Ôy[ýæ¿À«{ˆã|ÜòuŽ­v7ðm„]3s£§E‡ËmW¯[zÂÏ·
¤px—í¾¾ã bzéQ×Nñˆk¡!µíïÛŒbÓeÑùbq¥‘Gåþ`…¸Þ=·,M‰N(
-É)´ ½ n»v—?dEÈ€Ò‰£~v›.û™±)8±sY©F)á ¨
+É)´ ½ n»v—?dEÈ€Ò‰£~v›.û™±)8±sY©F)á ¨
endobj
-2358 0 obj <<
+2371 0 obj <<
/Type /Page
-/Contents 2359 0 R
-/Resources 2357 0 R
+/Contents 2372 0 R
+/Resources 2370 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2340 0 R
+/Parent 2264 0 R
>> endobj
-2360 0 obj <<
-/D [2358 0 R /XYZ 85.0394 794.5015 null]
+2373 0 obj <<
+/D [2371 0 R /XYZ 85.0394 794.5015 null]
>> endobj
818 0 obj <<
-/D [2358 0 R /XYZ 85.0394 650.8348 null]
+/D [2371 0 R /XYZ 85.0394 650.8348 null]
>> endobj
-2361 0 obj <<
-/D [2358 0 R /XYZ 85.0394 625.7398 null]
+2374 0 obj <<
+/D [2371 0 R /XYZ 85.0394 625.7398 null]
>> endobj
822 0 obj <<
-/D [2358 0 R /XYZ 85.0394 378.0874 null]
+/D [2371 0 R /XYZ 85.0394 378.0874 null]
>> endobj
-2362 0 obj <<
-/D [2358 0 R /XYZ 85.0394 350.2627 null]
+2375 0 obj <<
+/D [2371 0 R /XYZ 85.0394 350.2627 null]
>> endobj
826 0 obj <<
-/D [2358 0 R /XYZ 85.0394 153.7325 null]
+/D [2371 0 R /XYZ 85.0394 153.7325 null]
>> endobj
-2363 0 obj <<
-/D [2358 0 R /XYZ 85.0394 128.6375 null]
+2376 0 obj <<
+/D [2371 0 R /XYZ 85.0394 128.6375 null]
>> endobj
-2357 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R >>
+2370 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2366 0 obj <<
-/Length 2394
+2379 0 obj <<
+/Length 2393
/Filter /FlateDecode
>>
stream
@@ -11246,30 +11312,30 @@ xÚÅY_sÛ8ϧðtîAž]sùWsOé5·“Ý6—xgî¦ÛÅV]m˵”¦î§?€ eÊ–Îv(Aø€ÅˆÃ12)K­´
=GƒjÁ‘žÓ`§y½„´ÏŸV‡;äf‘9}¢Øƒ"Ÿ26Ç ¨rÅR®ÒÓŒ¹Ž°ãBåW`’CØ+¹W€‰o(À΀3+2qz×À.úg`XŽÖÛÆ-Þ(AÐn×{‡»r½.7…OQ0£¸¬¨Äå#˜ÅUŒÄMø­vs˧ !V£ îhL(£˜0ù ÙdÌuâH—;Ò¥o?ÕàPÀʜԤãP¥Ÿj(ØSÓ×¥;%C“¨‘'Õô¼ó3¤÷K È.<Óv]ÍŠ½”_
j[á ëÉϾh’Y²¨¡ò«?ú—ê£çE›Ì€ÈWL+¸½zØ;þF6¼¹ÙùÒÍ› ¬¦øç…°c­GÈ\™Jõ7ÝÁZÀ-l¾…¡pqÇeÑwdùaøbïBïš¹Òõì²^ u»¿Ám¤2ðAiS&”²Î"o£FŒIáÎuU3J xõ«À¶m*“Ë}Ë€LžÉlW ìÖ:_} @S,ìS4v{ÝÙÀ~ºZÊÑ›v4Š6ObÉnSi쥬Ÿq@ß÷q-6ž»¼³Á¶š•c¸½±½&²¤ô¸€,ØÁg½¡ºdâéKüÒÁ
ÔGÏ^¬×›zí¿éú¨ ™"ù<–&qp‰¬¡që?ÖÉW4`Vö·!ŒîÇÊé@5Nßfy
-—„oÍ98ŒÍ již–î•.¡UÔèj”ëй^ÖQ›ENj¾×¡ËÚB-3s½h˜£üG®ù…ßQ‹GC.ý9òÃtRr.Îçwùù9”ªúG ½ÿ«dZgNÂ_
+—„oÍ98ŒÍ již–î•.¡UÔèj”ëй^ÖQ›ENj¾×¡ËÚB-3s½h˜£üG®ù…ßQ‹GC.ý9òÃtRr.Îçwùù9”ªúG ½ÿ«dZgNÂ_
endobj
-2365 0 obj <<
+2378 0 obj <<
/Type /Page
-/Contents 2366 0 R
-/Resources 2364 0 R
+/Contents 2379 0 R
+/Resources 2377 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2340 0 R
+/Parent 2382 0 R
>> endobj
-2367 0 obj <<
-/D [2365 0 R /XYZ 56.6929 794.5015 null]
+2380 0 obj <<
+/D [2378 0 R /XYZ 56.6929 794.5015 null]
>> endobj
830 0 obj <<
-/D [2365 0 R /XYZ 56.6929 740.3318 null]
+/D [2378 0 R /XYZ 56.6929 740.3318 null]
>> endobj
-2368 0 obj <<
-/D [2365 0 R /XYZ 56.6929 714.7319 null]
+2381 0 obj <<
+/D [2378 0 R /XYZ 56.6929 714.7319 null]
>> endobj
-2364 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F14 964 0 R /F62 1361 0 R /F41 1218 0 R >>
-/XObject << /Im2 1350 0 R >>
+2377 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F14 968 0 R /F62 1369 0 R /F41 1223 0 R >>
+/XObject << /Im2 1358 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2371 0 obj <<
+2385 0 obj <<
/Length 1890
/Filter /FlateDecode
>>
@@ -11279,55 +11345,55 @@ xÚ­ÉnÛ8ôî¯ðQj–›¶™SÚ¦ƒE›IR`i²DÇBµ¸’'óõóÈGÊ’­$t’ƒžÉÇ·o$›SøgóÈ'TÄrÆ’ø”ùó´œÑ
Ÿ8k…“,C#µ­Ó-¯¶»îXnÁ Êþ?¹{Š¯È-xL"Åc¹¿SÊ ug|ù*IƾóedP¾nµ›Û“*M õ¡Ø:Xh<Ý},Îr€„’±‰’ê4Óev̪²”òe~ç”ßÐqL$÷ÇüšEäíª£¢ç*ðwÎe¦V»{ àRYgŠ` îónãä®H›!|ÿûÜu‡lWnRP¿žŽZFÞá×Ö(} %Ϲz¡œ±—ý0ÄzÞ=–ñÄÉ'‰âà–i‚åȉÂðˆ%TMÔ9i­ÉÀ:«ºÍ»§qªÁE¶SUuS&Ö¬Em{h é…¨µžºéýcŠ¡œOÚ­Js ®Â•»¢ËM-6žÍÔ³¦÷9aBðWL?ÀzÁô˘þ¥
È8%aàÙÿR%é)¾"+ã‚„þ‘¬º
`4‰i_õÞÛ‡XxŸª|.ò9ºõ €2°ÅÖZUe¦„¦óÁ–­Å°ós§šÜ¤,›á&èZ…û‡«.¬c±Ö¤ëÒîŽæBËMdghR½‹é7M»*s“T?öj‡þ~4¥IQàÄ{̲þɺç0%ýÜκÛv´f'Ìì$28z¯ñ=PW…O È†ýCGhŸ9>» ¯™£ÕZ5ªJQá—_'δ·1ýµY# 5y
-jm¥ -·Çª¿k7„ÂA­k™T»¤°ZÈ[xC[úê1UÛ 8tIMw%D­EÚ¨%\±nÝŸšH˜p°™µ}k²Iò
+jm¥ -·Çª¿k7„ÂA­k™T»¤°ZÈ[xC[úê1UÛ 8tIMw%D­EÚ¨%\±nÝŸšH˜p°™µ}k²Iò
endobj
-2370 0 obj <<
+2384 0 obj <<
/Type /Page
-/Contents 2371 0 R
-/Resources 2369 0 R
+/Contents 2385 0 R
+/Resources 2383 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2340 0 R
+/Parent 2382 0 R
>> endobj
-2372 0 obj <<
-/D [2370 0 R /XYZ 85.0394 794.5015 null]
+2386 0 obj <<
+/D [2384 0 R /XYZ 85.0394 794.5015 null]
>> endobj
834 0 obj <<
-/D [2370 0 R /XYZ 85.0394 741.6375 null]
+/D [2384 0 R /XYZ 85.0394 741.6375 null]
>> endobj
-2373 0 obj <<
-/D [2370 0 R /XYZ 85.0394 716.9352 null]
+2387 0 obj <<
+/D [2384 0 R /XYZ 85.0394 716.9352 null]
>> endobj
838 0 obj <<
-/D [2370 0 R /XYZ 85.0394 420.5643 null]
+/D [2384 0 R /XYZ 85.0394 420.5643 null]
>> endobj
-2374 0 obj <<
-/D [2370 0 R /XYZ 85.0394 393.2598 null]
+2388 0 obj <<
+/D [2384 0 R /XYZ 85.0394 393.2598 null]
>> endobj
-2369 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R >>
+2383 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2377 0 obj <<
+2391 0 obj <<
/Length 69
/Filter /FlateDecode
>>
stream
xÚ3T0
endobj
-2376 0 obj <<
+2390 0 obj <<
/Type /Page
-/Contents 2377 0 R
-/Resources 2375 0 R
+/Contents 2391 0 R
+/Resources 2389 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2379 0 R
+/Parent 2382 0 R
>> endobj
-2378 0 obj <<
-/D [2376 0 R /XYZ 56.6929 794.5015 null]
+2392 0 obj <<
+/D [2390 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2375 0 obj <<
+2389 0 obj <<
/ProcSet [ /PDF ]
>> endobj
-2382 0 obj <<
+2395 0 obj <<
/Length 1945
/Filter /FlateDecode
>>
@@ -11343,44 +11409,44 @@ FU—¨UÙ‘[¢–õ„/
c˜"v¨¯]¿x /¨¦zŠ©,ƒ‡“jì^MÈ=n´B$ŽÌÿ/Š™AÃozrm@ £óÀ’O#°ã—_ØäƒcÒú:ƒÄl²«Ö2[PCçB‡A|ßöÀ7z WQ@x©k†ÿˆŽ=]LÈw›{Šh( Ï`žÙ±¥|ßd³ø)¼Áº.4h@õ
Ôζ–ú‘*ÁŽ––nU@€u´ŽÂMô©…2&ô5»XžG»<•Å”?
iô¦?ÿûãçOþóšÞn1˜)f3+NAÍï7QUÊñ§êgCí r õ(G§ÀM¡É\3-äY=òaoø‰ëà¤m!.cÖAs/ç˜S¤à¬“içÞ7˜P²nïèK]- Þ}¤/ýÞà[fÌ)Qˆéªhij;Œú«p}ÓXåž\E4z%d˜^§ÙüCIMÒ©s gLü¬
-§g=42¾ûùÁC#j*u[ø a;xs»icŸì½‡ÁKØù;üø<fø³ìäC;°$GúEöÔfГ/UJ7üÀûò¼ÿTÆžvendstream
+§g=42¾ûùÁC#j*u[ø a;xs»icŸì½‡ÁKØù;üø<fø³ìäC;°$GúEöÔfГ/UÊœ7üÀûò¼ÿUžxendstream
endobj
-2381 0 obj <<
+2394 0 obj <<
/Type /Page
-/Contents 2382 0 R
-/Resources 2380 0 R
+/Contents 2395 0 R
+/Resources 2393 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2379 0 R
+/Parent 2382 0 R
>> endobj
-2383 0 obj <<
-/D [2381 0 R /XYZ 85.0394 794.5015 null]
+2396 0 obj <<
+/D [2394 0 R /XYZ 85.0394 794.5015 null]
>> endobj
842 0 obj <<
-/D [2381 0 R /XYZ 85.0394 769.5949 null]
+/D [2394 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2384 0 obj <<
-/D [2381 0 R /XYZ 85.0394 573.0107 null]
+2397 0 obj <<
+/D [2394 0 R /XYZ 85.0394 573.0107 null]
>> endobj
846 0 obj <<
-/D [2381 0 R /XYZ 85.0394 573.0107 null]
+/D [2394 0 R /XYZ 85.0394 573.0107 null]
>> endobj
-2385 0 obj <<
-/D [2381 0 R /XYZ 85.0394 538.4209 null]
+2398 0 obj <<
+/D [2394 0 R /XYZ 85.0394 538.4209 null]
>> endobj
-2386 0 obj <<
-/D [2381 0 R /XYZ 85.0394 504.6118 null]
+2399 0 obj <<
+/D [2394 0 R /XYZ 85.0394 504.6118 null]
>> endobj
-2387 0 obj <<
-/D [2381 0 R /XYZ 85.0394 432.7569 null]
+2400 0 obj <<
+/D [2394 0 R /XYZ 85.0394 432.7569 null]
>> endobj
-2388 0 obj <<
-/D [2381 0 R /XYZ 85.0394 303.3232 null]
+2401 0 obj <<
+/D [2394 0 R /XYZ 85.0394 303.3232 null]
>> endobj
-2380 0 obj <<
-/Font << /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R >>
+2393 0 obj <<
+/Font << /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2391 0 obj <<
+2404 0 obj <<
/Length 3825
/Filter /FlateDecode
>>
@@ -11400,29 +11466,29 @@ bÎDü…îR
”®DXð9I;܉
ô½¿ù@„0È•œåñú¹X¶åçbã?^¡€™ À° õW¶ÖƒMw›gÂW%fèÂphðRØ.]¡Ã‰h¾,¤ª\,6<ÏËe³8´Z9ÿký¾ÅEÓèâ}ÂÆLÁ©—îÀS7ØQóëEÚP8d½¡é“löá»—)Rú±-Ú5˜³Àe’ù¸Ÿ9.¯nè­NmÆÇácÕyW­ µãrâÖK…zº÷¿
"BV˜ñI§ë†¾xÀfHÏqàÛw/çï^%cÁ8`–Y(bOud)ú O¨&y¢álD ×Tˆc÷Âà)†Ì‰HÉ´ õ0QÉÓÁù âþ“I‘r5Æ|Äï4K‹0ANEÞóTS_Q-ëÁ'ï Ñþ´ôŸõnx’»¢ÂK2œvE”'0«
-‚ÕrœÀ4d‹VM}­°¢Æ¾ÌáK‰ÿù{éã×àÚDÊÚ‰o|b‰amfÊ¡¥O¿eâ/«Oyÿ/eRÈpendstream
+‚ÕrœÀ4d‹VM}­°¢Æ¾ÌáK‰ÿù{éã×àÚDÊÚ‰o|b‰amfÊ¡•ž~ËÄ_VŸòþ_eªÈrendstream
endobj
-2390 0 obj <<
+2403 0 obj <<
/Type /Page
-/Contents 2391 0 R
-/Resources 2389 0 R
+/Contents 2404 0 R
+/Resources 2402 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2379 0 R
+/Parent 2382 0 R
>> endobj
-2392 0 obj <<
-/D [2390 0 R /XYZ 56.6929 794.5015 null]
+2405 0 obj <<
+/D [2403 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2393 0 obj <<
-/D [2390 0 R /XYZ 56.6929 752.1413 null]
+2406 0 obj <<
+/D [2403 0 R /XYZ 56.6929 752.1413 null]
>> endobj
-2394 0 obj <<
-/D [2390 0 R /XYZ 56.6929 501.191 null]
+2407 0 obj <<
+/D [2403 0 R /XYZ 56.6929 501.191 null]
>> endobj
-2389 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F48 1238 0 R /F53 1313 0 R /F11 1451 0 R >>
+2402 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F48 1243 0 R /F53 1318 0 R /F11 1343 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2397 0 obj <<
+2410 0 obj <<
/Length 3125
/Filter /FlateDecode
>>
@@ -11439,26 +11505,26 @@ V!fù–+·»*ïÊ ¯K!iÍÅMx]BgŠep²é@Å©•aW¥€*’$±bXµ€´d/á{´°P‹ˆ»àÁ²©'FvH
œF™Š‚8Ê’7PæIA™•êQ¶j^O -‚T¨7 pRÇŒ.¼4|M¸¥¸EŽ ´ùÎâ°v?H¥ÇÎƸëLsž„8XÑÙØeìævê´‹E$aú†‡{¡3f!ç_XÝɨSUí„Žt]›È e:P~SÚk‰¼?©tT…5ìÒvèÚCÝÔ‡MŸFNpmIj?=žÆu\h«óÞõ¥N»×I9ÝyÞÔëÃI–<«¼gÉ#íÓ,9PYG;º²Ã¤:Ïû¬Ü]Sz§D'L§KJîO¹.}™zcëûRg\g¥<×=®ó§Ó®;§ÜsÝXû ×ùê¯ÿ2Ü “t7û£éJ@U¬bÿjÒ©p
Í©ßpª'uÆ©Vª·®8ïÔsÊ=§ŽµŸpª¯ÞdÁRÇÄ£X0<Š…¶ìî©dЇ…ëzbtsŸà¨ªÈ»œ>ÿáÛCŃTõhÀóP‡|èÆ&õ²ŸØLeã‹wû]}æÀóº*ù²2LáTGÚ/åCþNjZì5¼)$…3įnª÷îõᮊŸVÍ7K(½äëª` é³,JÂ{—(býrÉw§ŠÐ¢†D>Hþþ#°EÙlÛ¬¯ _üYeý¬Økidn„‚õûARSUøñ´lmsÛëûˆw9>˜õ‰ÉfþdÁ8o¾YïÙ·>†hI9<)¬CÁûà¬)ö@å—Û~]›ùº Š]^?á7äH™Ù
ŒgKo<Yí>ç@Ý6ß±ãE-Ù‹Pð­zÍ[;¢·˜S±·).+q^ri ÍòÌ^ñÓ¾Ö~ú«ÉÞ¸JØçÉÉ—:MNNÊ‘Óò<9UÞ“Ó‘öir¨7ä[š“¼Ì¢!“LNX¢u‚‡z"9-Wåò™6ÔU‹gÉ‚ž
-š†üfaßËý
+š†üfaßËý
endobj
-2396 0 obj <<
+2409 0 obj <<
/Type /Page
-/Contents 2397 0 R
-/Resources 2395 0 R
+/Contents 2410 0 R
+/Resources 2408 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2379 0 R
+/Parent 2382 0 R
>> endobj
-2398 0 obj <<
-/D [2396 0 R /XYZ 85.0394 794.5015 null]
+2411 0 obj <<
+/D [2409 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2399 0 obj <<
-/D [2396 0 R /XYZ 85.0394 679.319 null]
+2412 0 obj <<
+/D [2409 0 R /XYZ 85.0394 679.319 null]
>> endobj
-2395 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R /F48 1238 0 R /F53 1313 0 R >>
+2408 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R /F48 1243 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2402 0 obj <<
+2415 0 obj <<
/Length 2873
/Filter /FlateDecode
>>
@@ -11469,23 +11535,23 @@ xÚ¥ZÝsÛ¸÷_¡Gy£‚dgúLÒL®½Ô=»“vr~ DÚâ„"‘ŠÏ÷×wÅ'ERioü@Xb»¿ý‚LWüÑU"ˆÈã|•æœ
7ðÜ}%ø š\•’NÞfUº…B˜5]”ã.ü» ó•20,ow§ö«ž5åvGa$yl2äç‰
't·tÛ] œ,âtƒž1’˃àþ\§È ®ŒÄ”󦔞–©æ¤Sks’ºOób¢§m¥ós?མ‚èÁDmŸ9ºÎÄ]1„šqwóÜ)0M]<Gb¶¸xñÌ…­U,£‹{m èæõÉ*Ôé:×0£ ‚ˆ‡Vؘ xTŽhžMóCÉ&:ÃX³¿ÖÔçc‚qÇÿGƒCœÅ$çÉ…ÜåS͇Kåú£¡˜H[¦óYäíú£3æÓýQÀ]·’,³) M*ǃíÙ勲 ¼ž]Ò?âSž¢î‡zÛÿYþøÂ¥ú!T´£=Nxcƒ}QÊÔsêèúú÷Ê2˜¿‚´Þ†®vh^F¨¹êÚE°m*è¼kƒ¨i÷¼^Þ}A<ó§ú:ŸjA†Ê"èÛqÌ7ψ¼[d«iιŽÒ ƒ,”²í­ÓÈ—²…¥®‡y}™›Âz_µ¦þ|Þ\¼žß¬î§¸/üÓŠo~ÁŽhÁšÈÙAv_Ò{溂%Þ®)3Ÿî |îƲ»Væ0]µ½c“æ±»³¢ª·¾Úº¼…cêò)•®a¨#*ìShZ{é!°Ä“OtÅátlñÒ
Rß½ù]k²ÑþŸ¯Z<ál¶îÅ`«Ú’Y0P‘š\ê}ªy8X*‹wÅþkBL8l™¹¥:ç>
-í©,ŽÒý;¿<÷Pݘ<,\aZ5ÅJ1¶úŸ~¼e zÔzÁ0PÌfâR»èS-ÆP9ÃèŸfÏo ȱ4§Ëü-Õ¹
+í©,ŽÒý;¿<÷Pݘ<,\aZ5ÅJ1¶úŸ~¼e zÔzÁ0PÌfâR»èS-ÆP9ÃèŸfÏo ȱ4§Ëü-Õ¹
endobj
-2401 0 obj <<
+2414 0 obj <<
/Type /Page
-/Contents 2402 0 R
-/Resources 2400 0 R
+/Contents 2415 0 R
+/Resources 2413 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2379 0 R
+/Parent 2417 0 R
>> endobj
-2403 0 obj <<
-/D [2401 0 R /XYZ 56.6929 794.5015 null]
+2416 0 obj <<
+/D [2414 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2400 0 obj <<
-/Font << /F37 1026 0 R /F48 1238 0 R /F22 961 0 R /F21 938 0 R /F53 1313 0 R >>
+2413 0 obj <<
+/Font << /F37 1030 0 R /F48 1243 0 R /F22 965 0 R /F21 942 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2406 0 obj <<
+2420 0 obj <<
/Length 3204
/Filter /FlateDecode
>>
@@ -11501,23 +11567,23 @@ YõAŒ4‰’6ÒàzÈ•q‚±íÛá|ïŽKy¶ÜØÅî™ìÚ8RevŠÑÒ2fž2ZÁÓ°í:[Âmb&mIv°·»Ü“÷·p܃ „v[h
ÐYäPÚ®ÁÖš€qŒ_ P %èùLÓ'’]nÂï<ÊýΣÀž‹z¿ÍžÜ¢ÍY6t =–ÆhV]%VÛ™¿,E[éRe[ô&ø \¿‹[øâä:`âí
jA®åxFz')axŸQTœ¿R¡ö Þ M5q¥ž*\)¤…u¾<&™Ÿb€ûxLè°ÿ%‡¼¶Æ;¢©Œ i¼¿{iǃ†Ú.yÖ¦·dVžüŠKÃqb ÐßðÝOî‹Â}Šáæö 4Ôô“ð©N_¿{ÿ0&Ëhl ®1Þ3ølµ*H‹ƒmc-[•Ã¼âk[Ð,æp‹œ_
v_¨j[DLåˆBØjª½iÏ)G,&Y¢ï^Ô¢$‘4é0ÿ¯­>ÍD™ëÐôÀàE?€QÀìØU­v’ÙÏá4s×m¦¦#Y¬²Æ¶ÖXšö8KÍ%%:–I7'ùgèèJüË% gôÛ±å÷›Ÿ6AزLz®Ó¸òÅ-ÄÍñŒ$žy«ýæ?<ýY¤HÇŸYFÀcA8O©
-
+@yÚ]B -5KFdÿ?» endstream
endobj
-2405 0 obj <<
+2419 0 obj <<
/Type /Page
-/Contents 2406 0 R
-/Resources 2404 0 R
+/Contents 2420 0 R
+/Resources 2418 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2379 0 R
+/Parent 2417 0 R
>> endobj
-2407 0 obj <<
-/D [2405 0 R /XYZ 85.0394 794.5015 null]
+2421 0 obj <<
+/D [2419 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2404 0 obj <<
-/Font << /F37 1026 0 R /F48 1238 0 R /F22 961 0 R /F53 1313 0 R /F41 1218 0 R /F21 938 0 R >>
+2418 0 obj <<
+/Font << /F37 1030 0 R /F48 1243 0 R /F22 965 0 R /F53 1318 0 R /F41 1223 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2410 0 obj <<
+2424 0 obj <<
/Length 2352
/Filter /FlateDecode
>>
@@ -11526,237 +11592,238 @@ xÚ¥]oÛ8ò=¿Âœ‚Ö,?õ±oé&íy‘¦Ù&vÑíƒ,1‰PYr-9iöpÿýf8¤,;Êf?Ž†ó=CZÌ8üÄÌÄ,Îd6K2Í
ü¡Œ,3F"ƒsÐt’d D­™Š“Ä1øáóùq¢£ëÅåù‘ùõóÙ§yLj|6—ã<Nݧ×wÈ»N£·‹ äXgQF€jµ®íÊ6}ÞWmC[íÍÀÔHi +KT6R,«Û‰cE´
’ŽmàUå·Ýkò-bµ áPŽwŒàØùg Hëc pj´êhVäEÊ*Ž,ÊìthÔH‡ ${Ò9O­$“< ŠÎ]ØÝnÑéŠÃ5 Ý
Ýèäá| 8“¤§½½:wa™êdw2²xº¸:y{~6•€ ãZ‡De›ûŠÌÖе•pŸƒç.kw—–¡BòœÎ>½ÎÝÂUaØ?ÁJ½!¨W(&3ÐMdÜp%¶ª;h¶].Ÿ¨)З ùbþÒJ‹mŽÓhÛtϤ[Ð ×ÉAº}·8o}‡½û8¿¾±}ñfc»¶¾gâ7S7âüû_?œýç V7Å|ÿì«3ÿäxr~õñå÷Æ»¶ë1Û
-Ì£¯w¨%Ó°lºÎóoöñÖ6£Mw‚ÊÆê‹¡Óƒþ>½ûYpe¦Zƒ”%fÀ›V°„$ª³l_Æ·Ÿß_½\¾À÷B®sw´ñ§Ù%8PxiýcÅê/^@ØsÏûÊ0|“Ÿxëæƒ8ÿ÷Óÿî 6•Óæ21 >ŽS¨ ¡Ò'¬ ¸«XNðþ_Q¯t"endstream
+Ì£¯w¨%Ó°lºÎóoöñÖ6£Mw‚ÊÆê‹¡Óƒþ>½ûYpe¦Zƒ”%fÀ›V°„$ª³l_Æ·Ÿß_½\¾À÷B®sw´ñ§Ù%8PxiýcÅê/^@ØsÏûÊ0|“Ÿxëæƒ8ÿ÷Óÿî 6•Óæ21 >ŽS¨ ¡ùÖ܈U,'xÿ/P|tendstream
endobj
-2409 0 obj <<
+2423 0 obj <<
/Type /Page
-/Contents 2410 0 R
-/Resources 2408 0 R
+/Contents 2424 0 R
+/Resources 2422 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2417 0 R
>> endobj
-2411 0 obj <<
-/D [2409 0 R /XYZ 56.6929 794.5015 null]
+2425 0 obj <<
+/D [2423 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2412 0 obj <<
-/D [2409 0 R /XYZ 56.6929 684.0581 null]
+2426 0 obj <<
+/D [2423 0 R /XYZ 56.6929 684.0581 null]
>> endobj
-2413 0 obj <<
-/D [2409 0 R /XYZ 56.6929 374.4503 null]
+2427 0 obj <<
+/D [2423 0 R /XYZ 56.6929 374.4503 null]
>> endobj
-2414 0 obj <<
-/D [2409 0 R /XYZ 56.6929 253.2552 null]
+2428 0 obj <<
+/D [2423 0 R /XYZ 56.6929 253.2552 null]
>> endobj
-2415 0 obj <<
-/D [2409 0 R /XYZ 56.6929 159.1805 null]
+2429 0 obj <<
+/D [2423 0 R /XYZ 56.6929 159.1805 null]
>> endobj
-2416 0 obj <<
-/D [2409 0 R /XYZ 56.6929 85.8061 null]
+2430 0 obj <<
+/D [2423 0 R /XYZ 56.6929 85.8061 null]
>> endobj
-2408 0 obj <<
-/Font << /F37 1026 0 R /F48 1238 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F53 1313 0 R /F39 1161 0 R >>
+2422 0 obj <<
+/Font << /F37 1030 0 R /F48 1243 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F53 1318 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2420 0 obj <<
+2433 0 obj <<
/Length 3447
/Filter /FlateDecode
>>
stream
-xÚ¥Ërã6òî¯ðQ®qðàóèÌL§²Ž×v6ٚ̒ ‹ŠÔˆ¤¼Î×o7º‘%û€fl4ý†äµ€yFÐYxda ]/·WâúÞ}w%yÎÜMš÷g}ó|õþ[\gA«øúyÝ£•"MåõóêóìöááÓýÇ»_oæ*³o‚›y$Äì_·÷?ßþH¸‡›LÍn¿ûô„±ÂI
-§ÅböýOOÏ7_ž¸úôì¹és,…FV¾^}þ"®WÀøW"ÐY]¿Âƒd–©ëíUé
-µv˜òêéêßž`ï­ýtJ‘Nƒ(UÉ„”¼–a ÃX deJee
--‡pÙÌþË”ÖϨ,’CåÿøééÃãÝÃóÝO÷þ£¡ñ@tªŽ:yj¢J‚í»ó;šƒ‡™å44ÅvW„So’öźÞ°3{€·EõBÏÖš knÀªLÏîZ"âèWðM^–L­kÌŠ ¶¦qYW þ%Ô ßß=0Ÿ«ÕþF¦3Ó4¦¡“äýð9’ßÉ+ ¯âtv(–†!³oràNÇzöËÆT„­jsKõ¥Ûš
-ŒÆ¢pÇvܵE]5ýy–d2{)¦z7qFNå΄G¹“Øí ¿tNC³©Q$ì¶Û|ÿFëÖkBnþ²†·°e’G‚ÁLª¡f—EeÈÕŽ·Š(+.
-õ–Yu<³ŒÁêЄ½ƒ2Ù§Vá,ïZ÷E›·UÊyŸèhÕˆ&þ`Ç î+Pˆ1Ïþ‰Ó×äÖŽôÂ!=òž.~BUŽ!Eì*üfz8o,T®û.ŸCºÏ6XC×uçÌeí–÷f´Gì¯ø‘ÌÇW`õT…ÙXMµ´^uî ­É]à28Ää„°é-hy7röFOV¢0öŠ¶¡
-I$xÜ'µÝP‡µ`¤`»se3\fah¤¼¹Ï°Ø€ûÞ4E½b÷.„‚@ŠQ2øa“×Meøˆˆ; r8¬; ,Më“hÈ‹žÝÁù4cDÌùæ»{n€#¿«Z³‡•Ñ›Oö¬ 3ûEÝXòtí®k &’y›ÊìsŽm ªêD
-éEy9ïx3•zoC…A”œóŽ:ˆ!^8­[M‡ŠHÆNë¦êe< Åâ ‘'ñæ(T…€Îšx~­Yd¾d‡ž&½8ÉQBÃq–Hb˜ “Ù&Go¤Â”ÐÊp;rv‡be
-«{Ä ;QD‹8nqÒž2wqpwÿL®b{Züù1ÿâü=ˆR µ«à²ãñÛ2cú³Pì⯫&:çP“ÛGºÅø—ȼYºô8åÒIt’s… 1ÌjB—OŠÊi*ÀÙž5O³É-à(YÆLÄ•µ£ >
-B_gœOൟC95Òky©šž¼4”à Ä;:ò½ËP)w­Í¼3é¤1T^ÞCˆ;;ÄàO>³Ç(Ιê%â8¡kÈwØ9†
-6š3¹{Iâovçû3ÚšºGi:{rRZ `vŽ!Œ³÷ÄøÖy€Ç„ û}Äô6éj*E‹ ã“€Ø>ž*!Ýo„˜-0 #Êz=áÎIH¯¾
-¼R‰;åèâ]xù¾4„D¦×#G¢Ûb[,Y&V)XÈ j]—Zù±<© *’ÞÅ6Ê CÊ¢‘ŠÚh’¡~q$x•}jÈ€Æ%+†›GèTÌÌÿv©Ý·–iªaÜèd›á¬vc{
+xÚ¥Ërã6òî¯ðQ®qˆ_Ggf’8•u¼¶³ÉÖd”Y¬P¤F$åu¾~»Ñ ˆ¤¨(©Ø4›`£Ñè7$®Cø×i„*Ó×I¦ƒ(Ñõr{^¿À»ï®Ï™»Ióþ¬ož¯Þ«’ë,Èb_?¯{´Ò LSqý¼ú<»}xøtÿñî×›¹ŒÂÙ7ÁÍ<
+ÃÙ¿nï¾ý‘p7™œÝ~÷é c‰“$N‹ÃÙ÷?==ß|yþáêÓ³ç¦Ï±²òõêó—ðzŒÿp*K£ëWx‘eòz{¥#DZ)‡)¯ž®þí öÞÚO§$©4ˆR™Lˆ@Šk¡¥c9A”2M¤•lèf.BØ÷¦nZÜP«(ˆ" θϷñ@Nö$
+³dDIL²´_[™ý&eBÐÇû'ʺþ½ÛܵEY´oLAE’Iª$‘¤…ŸÞªz×ÍXÊ1ˆJÁœX‰@Äq<%ŒÊH<©4aF ó> +1-&”ÆÏ:n4}žçVeµož__jI‹TŽ€]éT#7HaYæMCÓË8Ó4Éx–§x?AÎ'£ˆ§V«º=K0Ó{¼L¯Û.Ì~‚ Š)µSl/RlßvfŠAdh'#z¿\¤÷šíYzÚÓCmž« ćÑõÜ«¼ü<ßN¬2dh]æ/S«è@'©s­=3T¡å®1ûƒÙ™Òúy¢™Eb¨ü?=}x¼{x¾ûéÞ44>ˆJåQ'OMT
+°}wþ`Gsð0³œ†¦ØîJƒpêMÒ¾X×{vfð¶¨^èÙZ3dÍ øA™©Ù]KDý
+¾ÉË’©uYÔÖ4.ë
+$Á¡„šáû»æsµÚ߈tfšÆ4t’¼>Gò;yôeœÎÅÒ0döMÜ©XÍ~Ù˜Š°UMcn©¾t[SÑXîØŽ»¶¨«¦?Ï’Lf/ÅÁTï&¢BêȩܹƒàH"w»}á—Îih65ŠÄ‚Ýv›ïßhÝzMÈÂÍ_Öð¶LòH0˜ 9Ô첨 ¹ÚñVeÅ
+²@ÌJ¦Þ•l„_;c-À¢jZ“;ã\ÓHæ€ãɾÜ÷ql×eÑX½$R“¡1•¹¨õÞ´Ë÷{ÓÔå!
+ÐŒu–ºCQ–4…>%ÔièN² Ƈ)a€š'B„$­ˆñ}*.‚¤C©äE¯i±y55ËÁ‰ow-3_ã(g«¢Ù•ùÛqGxúé–
+õ–Yu<³ŒÁêC  {e²O%õ,ïZ÷E›·UÊyŸèhÕˆ&þ`Ç î+Pˆ1Ïþ‰Ó×äÖŽôôyO ¿…¡¬C6ŠØUø#ÌôpÞX¨\ö]>‡tŸm°†®ëΙËÚ9,ïÍhŽØ_ñ#™®Àë©ÔÙXM•°^uî ¥È]à28Ää„°é-hy7böFOV¢0öŠ¶¡
+‰0Hð¸Oj»¡ j;<ÀHÂv æÊf6¸ÌÂÐHysŸa°÷½iŠzÅ î]2GÉà‡M^7•á#"î,Èá°î,°4}¬?pL¢!/zvçÓŒ1ç›ïî¹
+’bp )ÏÀ,™G€liOºƒ®Ù:3
+ç§Âq¶Ž¥fg–f9¾¿d|5¨…Á -zÀ€O}(¬î3ìDu.â¸ÅEH{ÊÜ=ÄÁÝý3=¸NˆíiñçÇü‹ó÷ JU2Ô®‚ËŽÇo?ˆŒéÏB±‹¿®šèœCANnéãod\2 ÂÌ›¥ë@S.•D'9—VXˆaV£]> (n([¤M¨
+dcCÀË”Uêò€Æ&'°ž²—LüÒú- ­Í+¹û”µ¡c’ƒ1ÉdjøÈÊð%¡K.³SW!¿k—³îM¦ä©`l ­Á2RïÝz´„«öÂÑÁ[[ŸnÉŒ:naSÇ÷M.Øáòζvð* “ÚÚÁbXËSÿ
+6š3¹{Iâovçû3ÚšºGi:{rRZ `vŽ!Œ³÷ÄøÖy€Ç„ û}Äô6éj* E‹ÐñI@l
+Oe(ÜoÂp¶À0Œ(ëõBwN¡ðê ]
+BÓ rÝçå¨*¨éÊÌú@Rãã-ÒdqðÍÙ »À©>?Ô *“ârÜÊ|Ÿ¿k(BhJàf '~IJ$PKõ9-Å+%}¡çéj6MÅXMqê]X°àH¥ rö˜GH¥*<àš9µ<“BAÊfzÔyµvOêà.ƱÆ:)ü^¢É3Z
+縛B`ò®…Ä°…”Ãþ²‚>wÍœÀ7aO}ü};¾'µøÚ^ð¾}Ç—]R‡6wÆÑuUNÚýÇ& ÷yoýöñxcçÖ1MK:5õó8…5›šúeVèó:wüe †ò/MåñWqƒŒ"ÔPfÂ1…›ZŒY÷?²;åýÿ
endobj
-2419 0 obj <<
+2432 0 obj <<
/Type /Page
-/Contents 2420 0 R
-/Resources 2418 0 R
+/Contents 2433 0 R
+/Resources 2431 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2417 0 R
>> endobj
-2421 0 obj <<
-/D [2419 0 R /XYZ 85.0394 794.5015 null]
+2434 0 obj <<
+/D [2432 0 R /XYZ 85.0394 794.5015 null]
>> endobj
850 0 obj <<
-/D [2419 0 R /XYZ 85.0394 769.5949 null]
+/D [2432 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2422 0 obj <<
-/D [2419 0 R /XYZ 85.0394 747.9963 null]
+2435 0 obj <<
+/D [2432 0 R /XYZ 85.0394 747.9963 null]
>> endobj
-2423 0 obj <<
-/D [2419 0 R /XYZ 85.0394 712.4426 null]
+2436 0 obj <<
+/D [2432 0 R /XYZ 85.0394 712.4426 null]
>> endobj
-2424 0 obj <<
-/D [2419 0 R /XYZ 85.0394 646.5299 null]
+2437 0 obj <<
+/D [2432 0 R /XYZ 85.0394 646.5299 null]
>> endobj
-2425 0 obj <<
-/D [2419 0 R /XYZ 85.0394 574.5487 null]
+2438 0 obj <<
+/D [2432 0 R /XYZ 85.0394 574.5487 null]
>> endobj
-2418 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R >>
+2431 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2428 0 obj <<
+2441 0 obj <<
/Length 2772
/Filter /FlateDecode
>>
stream
-xÚÍZ_sÛ8ϧðÛ*31Ë?"%ÝÌ=¤MÒñn›æâìíÞtû Ø²£©,y-9Ùܧ?€ Ka›v÷næÚQ‚ ð@GL8üm˜Éd6I²˜i.ôd±9â“5|{{$ÏÔ3M¹^ß½ºPÉ$c™‘fr³:•2ž¦br³ü½fŠƒ]Îçço¦gó‹ëï:ÿ×ñT$)Ï¢Ó««ó˳ٯÇS©9ð7çÑûÓËŸOßíê8“ÑéÛóùñ§›Îoz͵\¡Z¿}üÄ'KØÄGœ©,Õ“xáLd™œlŽb­˜Ž•ò”êh~ô^àÁW;5h Á™TFÌ!eÈ:cFIeÍqsWà&^]Äâ€UdL%¸ªå™ÆÄ2&bf´Ž¥ÙveSƒu­šÝ±H£EѺi‡’ lS7ë®i»€h)7ýê]Cb›ºzÄömA¤ÙÕ}L¤ß÷ÅÝ.¯Ûm³ëààT"¿´C“1.³ØoÑüÿnѪ6™ªT¢O™ÉT–i-íT¿qðʃãŒ)“\˜¯´ŽÓÄ[¡ [!•&[!M£²¥'(»ÄQFJ[TÅ¢£qwWÐÀ«Š´ÇmÁh-­×J ã ×Þ.À2žaI*2Ç´È:·n¼~$mì‹f]—ÿ& Ÿ)ñ7ð‘4‰Þ\ž¾??!òåü„ .U¤L²¡ÁçN-£Œæ³·n„à!„ˆì«ˆN½¸v_ŠnnsýrWÔD«zöªHÚ¨K6•Q»-åoœËbyð1p ʾìe"‰½—åû®Ùä]¹È«Ê­KçÔÒÒ¹Ó/ßn­åší®Ì»Â#S,6²7†x_’¸#*@Æ×–”FËb•ï«Îš"ŽÊŽ«¦ù܆‘¥Y“âþз¼^íý¯ôô§iŸËÖI½ÝwÄ_®œA?W½XûXž¾ ;z"Rñ,Ü“è!w
-¯Ëû¢v+ãÞK
-Ì‹GôuT
-ÆÔ~‹–; :€“Ž©…à«màiaà=—
-¥.—RT‚2UžÐÐkpÔÔ……Pœ@zÚWYwÅîžàNõbÚÂ}F_u2üTßiO©œV :[¦™ŠUú5/™Æ±`:MG–*¯Œ+[^…ÐÒ¤L“¼ˆ–Rö¡%
-/V6+ÈþÒ¨H|h¦Æ¸Å½G°<9½?Å*>ˆ§"sQL.ê*±h;Èé‹K[ˆ7Çk™¸’Î؃±À™A”&#ä´kâÛ!Š!~ÊY¤›Ç¿
-: Q #hR yfg—d’ùÏWW¬{ݤà KH ÊЋÏ~ƒØL!¢xú˜CÊPª¯mW"%-˜§Ýî˪#"II aAg_#Vä•k‹áÓ:ÃÒ ÁhÄÂŽ¾´û-Þ)`hH×Ä•¼ ˜óÅ¢Ø:"µl(­l·UþèÄA›àš$Ž·J£~útþf6£»Ž^ [H`; ÎYö”\¿v¿ÒÔ¨£­ÜM$KÛþâ
-@ɶ#‚M“âå$<ôá¸qOg_PDDk" äQ ¯+ÚöÆɶanz8µÞœØF?<6û–Ä\•Ÿ‹C•à¹ßÕÄÖPñ0š9?C•Éezp;8mêÌ$˜¨Aã))ÊyÛ`c }4  6=uÑg¸ÆBˆçI_-âÚ£»XÉ¡fΠž¡GæFÆßr+1A¦á»Øi/qz(Ò^´Žr7©ŸVFÏfóÓ×ïÎÎkÆãØßMõ}IÇVoŠº##Üç๷Þ°hC[h¡ñ¬Í­=Íí‹­gá+ø NZ:ꊨΠأkfÆŠ~¥aþëSÅÖ¾ôÊ
-üÆççç´»Ówó/ã÷²\#”
-IW2 ,‘øÔÓŠ1tƯ%¿0ªÿâx
-`Ùµn¡8.ÛÕ®Ù|.}Ü@’Y©å¾ _ì b±SìIÅ=J£”-eB#úÕÃçô¼¾veqQ»Üu ¶Phª—÷X7Û¶lÇñ§lª V„n1h
-üvÉ9““sø‡ –þy ây¸ùß5z®‘)œ ˜úãô>T"H¬¤3_#TPÞUÁ¶j„Þ}?y‰¢É~”VÁ`‹û’&¯Ö!TK™æÜŒ—¨B=ø „ry)pñ9`ë%Þ¼(ñææ]XAÀæx(Ì»*«â‹ 9ÓIbþŠˆøŠx®/;
+xÚÍZQsÛ8~ϯðÛ*31+’"%ÝÌ=¤MÒñn›æâìíÞtû Ø´£©,y-9Ùܯ?€ Ka›v÷næÚQ‚ ð Ã'1ü祙ÎE>I󄩘«ÉbsOÖðííw<SÏ4=äz}sôêB¦“œåZèÉÍê@VÆâ,ã“›åÇè5“ì$ÄÑÙå|~þfz6¿¸þðþ§óOyšÅytzuu~y6ûõx*T üÀÇÑûÓËŸOßíê8ÑéÛóùñ§›Îoz͵ç±Dµ~?úø)ž,a?ÅL晚<ÀKÌxž‹Éæ(Q’©DJO©ŽæGÿè|µSƒÖà1R‹€9„™CåLK!­9nî nâÕEÂXyÎdŠ«ZžiB,i<aZqáXšmW65X'åѪÙó,Z˜ÖM;”¬a›R»YwMÛD ÁbݯÞ5$¶©«GÅѾ5Dš]Ý'Dú}ovDìvEÝn›]'Sñ¥êœÅ"Oüõÿï­j“©Ìú”žL9g¹RÂNõ¯<Ø8Nˆ1c"æúë­’,õVèÂVÈ„ÎÆVȲ¨lé Ê.q”ÓF€ÒšÊ,:ww†^U¤=n £µ”<\+Õ,Ncåíl!ãi–f<wL‹Â©sëÖ)êGÒÆž‘Y4ëºü7iøL‰¿diôæòôýù ‘/ç'dp!S&Dš >ÿpjE4Ÿ½u#Îyd_ytúëŵûbº¸a«è—;S­nèÙ«"h£v.ÙTDíÖ,ÊßâX˜åIÀÇÀ5(û²—ñ4ñ^Vì»fSt墨*·.SKKN¿b»µ–k¶»²èŒ3F.Y¢Eo >ð¾4uG:•€Œ¯-)‹–fUì«Îš"‰ÊŽ«¦ù܆‘¥Y“âþз¢^íý¯ôô§iŸËÖI½ÝwÄ_®œA?—½XùXž¾ ;zÊ3þ,ÜÓè¡p
+¯Ë{S»•qï%
+¥n,„ú©e2ª<¡? ×਩…Pœ@zÚWYwfwOp'{1­qŸÑW ÿÕwÚS*§Õ‚Ζ+&™}ÍK¦I™ʲ‘åŸÊ+íJÔ–W!´ÔãZ§/¢¥}AEh‰ÂÍ
+ÃfÙR•©ÍLû×Ü[0pËSÐûS¬báƒxÊsõÀä¢ø¨"‹¶ƒ‚¾¸„°…(qs¼–©+é´= œ9ôAY:BN»Æ!¾¢â7¡œu@z±yü àxWP’x §ùÁÍÙ”›ý†^ÀuöÆcínˆÃè[k¿<`rÝ•7Ó7æzº¤ÏrÓ6„ Š)ˆ…&`ÍЙª
+aDX*e>ô˜\&^lÝ{Ͳ$MÚ\²áÒ)`#Nõ嶥5ƒoyT›?:"aÙYÈ:¾c-GµÏ£—üôñÉ_ð4‘òPvwn‚+>Tc2ËF•ûùõ±RÑ?/Ž!õŸÎ\/è~'Dz¸+wî,Û‘wôaÑš¡ÕÍnã³hÛíoÒ›êÞ;Ä­¹+îKðPâû5®ÓÞ6á¥`6h‹Ê ×¥áfÝhw³i|;¹o‹µ#/Íí~½î ¨Id±nŽ-“=&í°âZT•Šeº¯ZO’ðTî;R% F0™öþÜgìa…œ3©Ò¾ÓÞ‹`…œ³,ó¦c}èôî€-¡ÒÅ0‚&•gvvI&™ÿ|uõÁº×M@:œ°€” 5ݹøì7ˆÍ "*Î^
+«H£[ãó%½·®<w`u çj˜³0ùiE(ÙvD°±©3¼œ$‚‡>7îéì ŠðhM¤<*¡áuEÛÞ8Ù6Ìu§À›SÛá‡ÇfÿÃ’˜«ò³9T žû]Ml ©¹ó3T™\¦·ƒÓ¦ÎL€‰4ž©\´ 6ÖÐGÚ`ÓS›–8Ã5B|œöÕ"®=º‹1ÔÌ9Ôó ôȱÉ·ÜÆ
+LYø.vÚKœŠ´­£Ü E*äǧ•QųÙüôõ»ó€³&ŠÅIâï&L}_Ò±ÕSwd„û<÷¶Âah -4žµ¹µ§³¹}±õ,|?ÁIKG]Õ{tÅôøBѯ4Ì}ªxÀÚ7€^9`£x¾2Õç°Ýqíë6 ¶€³ ¬—ØÆyn§\ÌÞÑûÈà#|}eºÅ«Íº b|Z!>„ñùù9íîôÝüÃËø½,×¥AÒ• ˆK$>µÄ´b€ö+BÉϵì‡8ž˜Av­[(N§Ëvµk6ŸÍ£H’ +³Ü—á‹T ã qŠ=I¢¸Gi”²…HiD¿z¸ñœž××®,6µÙ®±…BS½l¼ÇºÙ¶e;Ž?iP µ"t‹)DSà· HιP˜œÃ?l°”sôÏÏÃÍÿ®ÑsLáÌ ÁÔ§÷¡A`%û¡‚ò®
+¶uP#ôîûÉKäýHô£"°
+[Ò—4Eµ¡ZÆTëñU¨”P./.>l½Ä›%Þܼ +Øœ ÅyWee¾è
endobj
-2427 0 obj <<
+2440 0 obj <<
/Type /Page
-/Contents 2428 0 R
-/Resources 2426 0 R
+/Contents 2441 0 R
+/Resources 2439 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2417 0 R
>> endobj
-2429 0 obj <<
-/D [2427 0 R /XYZ 56.6929 794.5015 null]
+2442 0 obj <<
+/D [2440 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2430 0 obj <<
-/D [2427 0 R /XYZ 56.6929 523.9144 null]
+2443 0 obj <<
+/D [2440 0 R /XYZ 56.6929 523.9144 null]
>> endobj
-2431 0 obj <<
-/D [2427 0 R /XYZ 56.6929 414.7474 null]
+2444 0 obj <<
+/D [2440 0 R /XYZ 56.6929 414.7474 null]
>> endobj
-2432 0 obj <<
-/D [2427 0 R /XYZ 56.6929 353.4012 null]
+2445 0 obj <<
+/D [2440 0 R /XYZ 56.6929 353.4012 null]
>> endobj
854 0 obj <<
-/D [2427 0 R /XYZ 56.6929 315.6213 null]
+/D [2440 0 R /XYZ 56.6929 315.6213 null]
>> endobj
-2433 0 obj <<
-/D [2427 0 R /XYZ 56.6929 279.563 null]
+2446 0 obj <<
+/D [2440 0 R /XYZ 56.6929 279.563 null]
>> endobj
-2434 0 obj <<
-/D [2427 0 R /XYZ 56.6929 248.0689 null]
+2447 0 obj <<
+/D [2440 0 R /XYZ 56.6929 248.0689 null]
>> endobj
-2435 0 obj <<
-/D [2427 0 R /XYZ 56.6929 183.8008 null]
+2448 0 obj <<
+/D [2440 0 R /XYZ 56.6929 183.8008 null]
>> endobj
-2436 0 obj <<
-/D [2427 0 R /XYZ 56.6929 95.2626 null]
+2449 0 obj <<
+/D [2440 0 R /XYZ 56.6929 95.2626 null]
>> endobj
-2426 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R /F53 1313 0 R /F39 1161 0 R >>
+2439 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R /F53 1318 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2439 0 obj <<
-/Length 2481
+2452 0 obj <<
+/Length 2487
/Filter /FlateDecode
>>
stream
-xÚ¥Y[wÛ¸~÷¯ÐÙ—Ê'w‚y“c;õÚIÜH»Ýîå–(›'”è)»ÙÓßÁU¼@²·µH‚CÌ`æ›™aø'#%f)%)G1Z¬OðèÞ}8!Nfâ…&m©³ùÉ÷—,¥(•TŽæ«Ö\
-a¥Èh¾üu<½½½øt~õóé„
-<>C§ñøãôÓÓ;v{šÒñôÃÅìtB…SbZLâñù§Ùìâýä|vùåóÇë‹þ>ÿáäb,k[O0Ófýqòëïx´„Eüp‚K•=ÃF$Méh}ÂC‚3æGÊ“ÙÉ?„­·æÓ˜7SH(šDÜAɈ”
-A;þ)’Œ2ãÏ·ó«ÏŸfƒ•`„¸,¡qø '4iKyÅ‘8x)­wBú*S†Sô¸J/QI[*!⌤¢«òÇ:·žý}
-êÍmVÛkóàÞ-‹û¼nÜËò¾ÚÍÃÚ>þ†ÞËå«lW:ÁÂÏRÙëÎkº«š‡¡ÎÍr?F…„y :
-ÀQ•!
--ÁzuYl!‹ªí·o…ž Þ8j\ŠX×Má±Du­»©ª¯ÖQ+à¯ù7sLKïry
--©#PðR
-« þ*æ­_e>Ì0\ ØQ»‚TÄ°n†1$ —]Ë~1E’Já|nïu8ßA¡äÄF†ËláÞš”ƒ«M9)uXÛ_o²u®±"S/"\ݻ߭óMcG oiÏ׎,«uæÕ깺Z3+ý§6ÜÔmH))Õ²½Îê&\3LÜÊÀ"FÄøù¡X<ØñE¶Ñ7Ô6 °%#[ÚÑ•y¬ÖQXc ½´¼žÇÁá©fâuæ_­¬.Û5áæOÛ¦@¡]«Ó¾Ñ#A¨v¯¨f,{ ™§˜$Åã®U8/յξ·3ã„z[äTë¢iò¥I&˜r0LRG¶®b=ED¨—L”PѸ/"<‡27Rl<„Ÿø»Éw‘y¡©¤Œ&û¥ëiíÒ÷͆l0ôÝ2k²Á†‘=:ôS@Gw‚º†mÁî‹Íã®AÚÙšøÉÖÙ×ÜÝnqU]w¥›È.ÊŽBiJXÝ㇮WíP3l‰Ö0@-Trß‚îãîâŒûÚ´¨Öë°oðŒÙ,ëmì‹jM–D)á#,hžHØÿ.7µé<ú>ÿw¶~,s´ÐŽÕÿ 2u¾˜,ëÕ¶Zi(«ö:üø@…ç°Û‘˜¼°£iK®ðAÊTøé`G#až$ÇUz¡ˆÊN<0AÊMGåÕfQî–:þ@m™]ÿ­¶·ÏÖpwŸoòmÖ›{ûl¨K‡ÔÒ=ÿóT@Un*ƒ#Cì 7eõØÕƤ Z]~³Ãº{¦ªêÛ‡ì)÷ß,ãñõìÚŽ@%f™ÜH!9ÛAuHóç¢,ÝÖ3åjó”o¡Üt÷º¸^o«û¸-6¦R™„àjç¦wKi‘W
-ýÓ#š¼D_SçŒö’È–¦ëÞväuµ_¾ç¯±-c›¿Â£ç¯m‘mŸ»µbéàù«›««5òÃ1 䂿дÚRG"ã¥LpñS&
-DÙ÷þ2«!„
-¤¹œ:nYŠ˜Ö-0ŽI׶Ã[ÿàgk[HŒè©èÕ'{ÂiŽ—þvDü–øh s”èf}<Z-©#ÑòR&ZO±hÄxâ9}™?åå0Z" lüŽZ¤"¦u£dNÈ®i³¼¤æw»û{K=àÑX†mý2
-ý1ZpÊC^˜ŠÙV•¶´Öš%œsêÍÜ1ÇÐ
+xÚ¥Y[wÛ¸~÷¯ÐÙ—Ê'w‚y“c;õÚqÒH»Ýîå–(›'”è)»ÙÓßÁU¼@r¶µH‚CÌ`æ›™aø'#%f)%)G1Z¬OðèÞ½?!Nfâ…&m©óùÉ÷W,¥(•TŽæ«Ö\
+a¥Èh¾üu<ýôéòîâúçÓ x|ŽN'ãñ‡éÝÓ[;öé4¥ãéûËÙé„$
+§ Ä´˜Äã‹»ÙìòÝäbvõù㇛Ëþ>ÿáär,k[O0Ófýqòëïx´„Eüp‚K•½ÀF$Méh}ÂC‚3æGÊ“ÙÉ?„­·æÓ˜7SH(šDÜAɈ”
+A;þ)’Œ2ãŸæ×ïfƒ•`„¸,¡qø '4iKyÅ‘8x)­wBú*S†Sô¸J/QI[*!⌤¢«òÇ:·žý}
+êÍmVÛkóèÞ-‹‡¼nÜËò¡ÚÍãÚ>þ†ÞËå«lW:ÁÂÏRÙëÎkº¯šÇ¡ÎÍr?F…„y :
+ÀQ•!
+:‡“3ŽR¢DÌ™ý:ÂÐ4æ$CAcä(´¤Ž@ÁK(¬"P€ê¬˜·~U”ù0Ã0) gGí
+RúÆ$\v-ûÅ”P*…ó¹½×á| uŒmz*³…{kR®6å¤Ôam½ÉֹƊL½ˆpuïa·Î71¬¦= Ð_;²¬Ö™W«çêjͬôŸÚpSÕ!¥¤TwŠú:«›pÍ0q+;ÓuYŒ_‹Å£_d}Cm;[2²¥]™Çj…5ÖÐK{ÁëyžjžîQ7á`þõÊê²=nþ´M Úµê1í=„j÷Šj>±Z}ŠIòWì1þàZ…óBÑX]ëìkp‹q0€0N¨÷°ENµ.š&_šd‚)'
+üdëìKîn ·¸§ª®‹ûÒMd—
+eG¡4%¬‹î°]¯Ú5 fØ­+:a€Z¨ä¾=ÄÝÅ÷µiQ­×aWáù´YÖYì­‹jM–D)á#,hžHØ/7µé<ú>ÿw¶~*s´ÐŽÕÿ 2u¾˜,ëÕ¶Zi(«ö:üø@…çÀÏ$&¯ìwÚR‡+|2~:ØïHؤ'Éq•^(¢²L†rÓQy½Y”»¥Ž?ß_f7«íí‹…5Ü=ä›|›5ÅæÁ>jÄÒ!5‚tOÆÿ<P•›ÇÊàÈÐþÂMY=5Eµ1iC€t—_í°nç^§©ªúö1{Îý÷Ëx|3»±#P‰Yf
endobj
-2438 0 obj <<
+2451 0 obj <<
/Type /Page
-/Contents 2439 0 R
-/Resources 2437 0 R
+/Contents 2452 0 R
+/Resources 2450 0 R
/MediaBox [0 0 595.2756 841.8898]
/Parent 2417 0 R
>> endobj
-2440 0 obj <<
-/D [2438 0 R /XYZ 85.0394 794.5015 null]
+2453 0 obj <<
+/D [2451 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2441 0 obj <<
-/D [2438 0 R /XYZ 85.0394 752.0063 null]
+2454 0 obj <<
+/D [2451 0 R /XYZ 85.0394 752.0063 null]
>> endobj
-2442 0 obj <<
-/D [2438 0 R /XYZ 85.0394 259.1933 null]
+2455 0 obj <<
+/D [2451 0 R /XYZ 85.0394 259.1933 null]
>> endobj
-2443 0 obj <<
-/D [2438 0 R /XYZ 85.0394 114.6417 null]
+2456 0 obj <<
+/D [2451 0 R /XYZ 85.0394 114.6417 null]
>> endobj
-2437 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F55 1321 0 R /F41 1218 0 R /F48 1238 0 R >>
+2450 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F55 1326 0 R /F41 1223 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2446 0 obj <<
-/Length 2045
+2459 0 obj <<
+/Length 2057
/Filter /FlateDecode
>>
stream
-xÚµY[sÚF~çWð3a»W]úFl’8ul×N;IdiÁš‰"—þúž½ Ö&6“™è ={ö\¾sY™ 1ü#C  ¦ñ0Œ9˜ˆaºàá
-ÖÞˆå™8¦I—ëõbðÓc4.–YÂQD†‹ìÓè5âh ðèòf>Ÿ]L~™ýñæþöÃõôõìz<!"Š‚ÑôînvsyõûxB†-°ãчéÍÇéµyw7Žéhúv6Y¼Ì­r]fJ³?Ÿ¾àav¼`ÄâH ŸàF$Žép=à‚!ÁsoŠÁ|ðk+°³ª·zB0¢, P2$ÅBОKDŒF™vÉÅtLh<úm6UF-”E°v<‰‡`4¢a,ô†©ñÁW¹ÿŒ1-¤ù)·Û1‰FÕÖüL“Ò«ü›åHÌã3¥¼»±¬C,«]™©U+ð›´"ò¥y6vKïÜ¿òº©‘U»g.èÍŠ"̵ÞóÙÌl™^Ïo_2Ó°ge]Ëtf®dù Áäˆ`Ü-Öùªü»*egYËeqG. €ŽX
-ºžqâ©ð-×±#Z'à퉵 Ní †AæDÜa³ÁÑIÊì@Ëõi¾™Ÿ&‰G(”lh:ŠI±ª¶yó¸öÈÎ×r¶B§¡}²¤‘?UËe x<
-ÆŦ±ÑEÚc/ÉÒ"©kd€\EÇ‚/Œ¾³³be¹ÊKy6`­ÄåY‰Ë"YùìæP`#z,ïmK]y$÷Íúw.ÐÅB.ÜņXø}mýå,ü²|+Sh,{ü8
-¨ ÇV]ŸõRÓø²„„(fôåYq%”¸f¿ñ’:)>É»ÿq'øØx3t4ˆú²ÙVM•Vų:‡ÇÂïL–4ç£åw-…âCð‰¼ogå0šÏ‡0>¸·Tyhdý¶LcØ‚ø^{¹œÍ/î¯îW·7í®ïÖz­ô¨gÂM ˆZ‹W²þÍQÐROP¨ ¥‡ME¨¶T$Õíf°ÂürÖ°%æ‘n÷›¦2ôc¢9²'ó´ò’23ÄÃ./²ƒ†0£mmO€yP§xÝ^®йLwî ÛëÝĪ¦o;«dRQÊÌÎÖ¶ç›èÊÂî(³£5Ža.q#
-‰  û*U>€A“'ŒG$÷Ä„ˆŽ§R“>í¤Ï;£À›¼6Ïz#Ó\Y 
-³uO½¹, Ï)ßRj½„IÇÕ6Ù@œÌ«VI ¢±«¾%ÅÎ’ÕÒWÞ ¿ ¸âø纞†à@L\_µp±N|y8G?ïçÓ—â•íúYpVØïúÀ27UÙÌ]ΧŠ‚ªz5€õõ«Ç=”,½NE 9˜&«â«/íŠsvqñöv¾‡|„ÌpN-ÛŒïàZ;Ë"9éV4©¥+-µ,ë¼úé-WÊø0••zƇê×:OàµÎø±©Œ2SÕ,Ò)Y6kºá}ʋ¼֮†ç®Ö…ÖöæM&—É®h¬ ] Õ¶6+·Š1£îY6šæ»|ÂE•¶sqµ±w©#+&6¾ “ ‹¾CóÖ>Ž]–Y(lyѤq¬¢º!·lÚnE=Xc7ƒHB™@i™‘ÐâÊ‹î(„ñ‚¼h¥€²€þ•eÝ“„ílš°ÏCDÕOsU`†8'¬ðNeå¾÷$ö¶Ý…ü´aÖEÔ¢îQ¦_]O[¶¡ªõîµy‘7{·U5xEi/"Õ!}༩i"G~íƒØioŒ| LÖHÂ} º°'æ¡R¢‡pÍÚXÄçëM!ײlŽ@K mVç̧± À$˜7ñå&HÌl/9˜uÍR}^™E`Jxg]¼k*h‡yš…õU­¤Þ—·É×ö KVè¹&†0šäåÔaz¾9¦(»çê3 ‰^<Ïñœž×ŶúF2Ò;dtd¾e2™Išl’‡*’4o{à¤&¸ðtMÝŠ0¼‡™ê‰€¢K- M9TûÍœT[G`£{gë™Vʺ~öôP@€iÇE¦vM7EžæM'Ò†h?¹€¦)ø¡¦©Wì9@Þ›”NWlj¯>uíEÏ}6‡9G}ëö„·Ñþ¤~ø\ÔXQ?"h(
+xÚµÛrÛ¶òÝ_¡Gi&Bq%Á¾)¶’¸ulKé´“ä¦ ™ŠÔ©¸êןÅ"%ØJ§§ãa ,{ßLþÈ@D(Jh2ˆŽ&b­/ð`kï/ˆÃ{¤qëíüâ§w,$(‰h4˜/;´$ÂR’Á|ñyøq4
+xxu;›M/Ç¿Nÿx÷p÷ñfòvz3!e4œÜßOo¯®©À°6`<ü8¹ý4¹±s÷£„'麟Ñ×ù/ÓyË\W
+œ/¯\¼5UUüH<íËjSçõqdÅ2bÈZHÆÀt g¬Nh`wi80ùŒ“@†o±ŽÑ*!mLpjÇkDŽäÞ7[¤ÅŽ„pXŸÇì«¥ùyœˆBʆ¢ã]1-VÕ6ožÖº€™@à:Ì–è$@´ÏÂ"mÔOÕrYƒ?ž’ŠãÇd³
+‘ˆDP}5+ó§ƒA‘'ŒËNlB#Ä"SéNŸÇ®Óç‘ëQ`&¯íXoT–k Œ
+],¦Gi¢½³´ÝVî ñ¨òrÕkÀÔâG®1w&$Nož®g¢” èê£×«.–¿(ž6V-–>·muD×Äz½D„Z.sQ )ñUîZ¬
+¨sZ·”:­`ÃqµM7`';Õ2iü‚ß5 ßÓbçÀjJoPß\qÂ}]CP &¾®:w²ž|y8ÇŒ³ÉÇ+ñÆU}ˆ,8+îW}@™}˜˜hÆtx5›
+¿Z§kÖÎïV˧Ýô”¥%/kUÖy‰6˜]®µ–b9,+=&Í›iP0mRÃȦPµÐÂI»¥Es:²¸ÏyQØicwµÉ(°ö¸·3 µLwEãíJH˵]i‚éŽñÅp!sf³Ð-n´´m «»tI1vŽA×É°èk>oåã82ù›ÅÂå!ZÅj¨ëÍÈ­¡G‡cåf`|0C£RÈAãH
+SQ®ƒa cèCÈ«R
+ÈØŠ–¬{’p%Ð
endobj
-2445 0 obj <<
+2458 0 obj <<
/Type /Page
-/Contents 2446 0 R
-/Resources 2444 0 R
+/Contents 2459 0 R
+/Resources 2457 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2417 0 R
+/Parent 2469 0 R
>> endobj
-2447 0 obj <<
-/D [2445 0 R /XYZ 56.6929 794.5015 null]
+2460 0 obj <<
+/D [2458 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2448 0 obj <<
-/D [2445 0 R /XYZ 56.6929 752.3006 null]
+2461 0 obj <<
+/D [2458 0 R /XYZ 56.6929 752.3006 null]
>> endobj
-2449 0 obj <<
-/D [2445 0 R /XYZ 56.6929 691.1408 null]
+2462 0 obj <<
+/D [2458 0 R /XYZ 56.6929 691.1408 null]
>> endobj
-2450 0 obj <<
-/D [2445 0 R /XYZ 56.6929 618.0258 null]
+2463 0 obj <<
+/D [2458 0 R /XYZ 56.6929 618.0258 null]
>> endobj
858 0 obj <<
-/D [2445 0 R /XYZ 56.6929 580.3755 null]
+/D [2458 0 R /XYZ 56.6929 580.3755 null]
>> endobj
-2451 0 obj <<
-/D [2445 0 R /XYZ 56.6929 544.374 null]
+2464 0 obj <<
+/D [2458 0 R /XYZ 56.6929 544.374 null]
>> endobj
-2452 0 obj <<
-/D [2445 0 R /XYZ 56.6929 512.9368 null]
+2465 0 obj <<
+/D [2458 0 R /XYZ 56.6929 512.9368 null]
>> endobj
-2453 0 obj <<
-/D [2445 0 R /XYZ 56.6929 448.8551 null]
+2466 0 obj <<
+/D [2458 0 R /XYZ 56.6929 448.8551 null]
>> endobj
-2454 0 obj <<
-/D [2445 0 R /XYZ 56.6929 354.7947 null]
+2467 0 obj <<
+/D [2458 0 R /XYZ 56.6929 354.7947 null]
>> endobj
-2455 0 obj <<
-/D [2445 0 R /XYZ 56.6929 251.5616 null]
+2468 0 obj <<
+/D [2458 0 R /XYZ 56.6929 251.5616 null]
>> endobj
-2444 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F53 1313 0 R /F55 1321 0 R >>
+2457 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R /F53 1318 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2458 0 obj <<
+2472 0 obj <<
/Length 3068
/Filter /FlateDecode
>>
@@ -11768,23 +11835,23 @@ xÚ¥ZKsãƾëW°*SUKx<œ“VË]ËZK‘NâØ>@$$¢ J‘}º§{@
Ÿ;¡êÄ 9”=¡Û¡8¬=é5ï#Û¦ È ß|0ÔÂ:‚ÓÂ5¨é:×΄ž£®tà‚«Þ8äò¬H¾ÅÛ*[¬zðçÏÐç.çéø?×T{twh›ÕuZ? æŸË‰Ú¨gáPö,^ŽÞ–S,÷·å€åàmi³ìú5}pÐ>¬4À­\ö
9+ݭ׎kP(/ôA¬Ól¡NhС¬¿žmÕõa[æ(Íi¹Ô€`C–±ù{v$#KÖÊ…|påH?æó¯<]ÒsW1Ìö#èÅŒ— ~% ÞlÛG¯ã „B…a{–\¸uz4¹Œ<`nÙ±a”q6Û*ê<kl[Û\54ÌI…õ¾@À¾FÈH¹j
QaèžÁîŸ(6Û —¼8²7æ0C%
-5i€”Õvm9Þp»÷«6J˜žä\/ßi&!:+c ˜{x ª4ŒÉËÀsy\ž,hOACvΆܢoXþ'«jJ§€Ì›…—¸@hòÂØV‡¸X`oYÇ!Ú{ßuá¥Æ„:«ºèÔ){Õ·ˆE侑»' àÃEð*MñY”ÅPÓQ–T„¡½¬ËWçz1µ9┆`¨´:íÚ¨ãn¡AY·°9ë6Û².e~´|R¸}ùPºÁ>rG<ö ®ÔP’ °HvŠ›Â8$à+×íN2T½\'
+5i€”Õvm9Þp»÷«6J˜žä\/ßi&!:+c ˜{x ª4ŒÉËÀsy\ž,hOACvΆܢoXþ'«jJ§€Ì›…—¸@hòÂØV‡¸X`oYÇ!Ú{ßuá¥Æ„:«ºèÔ){Õ·ˆE侑»' àÃEð*MñY”ÅPÓQ–T„¡½¬ËWçz1µ9┆`¨´:íÚ¨ãn¡AY·°9ë6Û².e~´|R¸}ùPºÁ>rG<ö ®ÔP’ °HvŠ›Â8$à+×íN2T½\'
endobj
-2457 0 obj <<
+2471 0 obj <<
/Type /Page
-/Contents 2458 0 R
-/Resources 2456 0 R
+/Contents 2472 0 R
+/Resources 2470 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2417 0 R
+/Parent 2469 0 R
>> endobj
-2459 0 obj <<
-/D [2457 0 R /XYZ 85.0394 794.5015 null]
+2473 0 obj <<
+/D [2471 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2456 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R >>
+2470 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F55 1326 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2462 0 obj <<
+2476 0 obj <<
/Length 2624
/Filter /FlateDecode
>>
@@ -11797,1524 +11864,1556 @@ D°°<„T΋í‚@/,Å Gs˜`à%ÒÓQVMWÙ¶vŠÌZ ¬á4ZÕ "ˆèß ›ú‹=s¥³c¹gÇè•Õc“WV㊎¨4šzc
s<9J‰×“8ýdê *à¡çžà&ã&
x²?cÚ8ôŸšÑÉÌØÙBܜә·±gïDÌ€۽vŽ?ôb™á[Ú1ñ”%*
_ñ‘'uÂINêU/štç¦ýIûýäO
-HïóFªíÉ<pT¹]ëM>ïðÔî=ÒC­9…þȬx¨6y³Zu/Ä2L)•œv¯/uܽ­Ôkî=9iëÞƒI{ÝÛ™ô‰@Ô&¿ŠÄè;áQàÎÿ²ªÃx °VÆW Mä*0*ãÿŒ»PbNûk_ì!ålž ã%ŽrÌݤÜû8à!ªId–Õ½ý"p¸G[h0K 5¶DÇú¨:‚ØF%ɪftyÃÅÍR†]z¶ÏR½0Û °‹Ïþݽ0¯dóݾx1¦"‡vr¼zù1+a±øÒÐc #0X$¯˜cÇwì±k)‡íŽyw»§+Ýg%€hÉŽ8(†jàžh§1æŠ=ëðW†E‚ŸÃè· *°B¨™WîÄ6›z¢¼ó°b²†
+HïóFªíÉ<pT¹]ëM>ïðÔî=ÒC­9…þȬx¨6y³Zu/Ä2L)•œv¯/uܽ­Ôkî=9iëÞƒI{ÝÛ™ô‰@Ô&¿ŠÄè;áQàÎÿ²ªÃx °VÆW Mä*0*ãÿŒ»PbNûk_ì!ålž ã%ŽrÌݤÜû8à!ªId–Õ½ý"p¸G[h0K 5¶DÇú¨:‚ØF%ɪftyÃÅÍR†]z¶ÏR½0Û °‹Ïþݽ0¯dóݾx1¦"‡vr¼zù1+a±øÒÐc #0X$¯˜cÇwì±k)‡íŽyw»§+Ýg%€hÉŽ8(†jàžh§1æŠ=ëðW†E‚ŸÃè· *°B¨™WîÄ6›z¢¼ó°b²†
endobj
-2461 0 obj <<
+2475 0 obj <<
/Type /Page
-/Contents 2462 0 R
-/Resources 2460 0 R
+/Contents 2476 0 R
+/Resources 2474 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2468 0 R
+/Parent 2469 0 R
>> endobj
-2463 0 obj <<
-/D [2461 0 R /XYZ 56.6929 794.5015 null]
+2477 0 obj <<
+/D [2475 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2464 0 obj <<
-/D [2461 0 R /XYZ 56.6929 751.4875 null]
+2478 0 obj <<
+/D [2475 0 R /XYZ 56.6929 751.4875 null]
>> endobj
-2465 0 obj <<
-/D [2461 0 R /XYZ 56.6929 391.2154 null]
+2479 0 obj <<
+/D [2475 0 R /XYZ 56.6929 391.2154 null]
>> endobj
-2466 0 obj <<
-/D [2461 0 R /XYZ 56.6929 154.5087 null]
+2480 0 obj <<
+/D [2475 0 R /XYZ 56.6929 154.5087 null]
>> endobj
-2467 0 obj <<
-/D [2461 0 R /XYZ 56.6929 85.0025 null]
+2481 0 obj <<
+/D [2475 0 R /XYZ 56.6929 85.0025 null]
>> endobj
-2460 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F55 1321 0 R /F41 1218 0 R /F14 964 0 R /F39 1161 0 R >>
+2474 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F55 1326 0 R /F41 1223 0 R /F14 968 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2471 0 obj <<
-/Length 2718
+2484 0 obj <<
+/Length 2853
/Filter /FlateDecode
>>
stream
-xÚµZKsÛ8¾ûWè¶r•ÅàÉÇÞ<¶âx<q²‘¶j3I”Ù¬H¤F¤íq~ýt£Š”`+³[[>° 4F?¾¦Ì þø Õ“™$™Š4ãz0_Ÿ°ÁÌ]pÇ3òL£.×/Ó“7oe2È¢,ñ`ºìÈJ#–¦|0]|žü8¾½¼þÏéHh6ü%:iƆïÏoÿ}þ}<ÍÄðüj<9ñ,Õ0id‹Ùðòv2_ŒnÆŸ¯Æ·§ß¦¿žŒ§­Z]Õ9“¨Ó'_¾±ÁNðë ‹$H<Á ‹x–‰ÁúDii%¥YLNþÕ
-ìÌÚ¥!Sh™F:IÀ‚¸Š¤ŠEÏ:‹Dšk 8’e]›ùè»y¾3%ž Ĥ‰ Ùí6_¹¢ccàY¤E¦-W_Œ5çW!¢ÈzDÀg¶ySTŽ½©ª•ÛôçQ¦µpÉ$b*ŽíF“ç²ÚÔE½ 1XR‚9bÉ#Å…
-ƒúB+ ƒÎÅ"¦ÁYF]Ö Šœ«å
-?Ã~åt-;«9K"ŶÄuùê®ÚÍýšX{d*‰ç7/u
-÷•ÆÚ -ê⇠ˆT<J•äû"Ë£"Kp‚æy”™D©`ɾLÙRçéà;šRÈÁ¨½j4cÞ˜7ÕrY›&°S¬£DK½¿ÓEKÍ;Ñ"åÍWy]Dƒ+§i’틾<j˜ŸÑXí‹kÊ»¢ Y»ÏÖJ4-µ Y[J%J%ÞÚÙËU~²…ŠT’Šý-®Zê]lWÛ[C’Ôñ©ï[êú¨øÿÊèÅQ£ec¶ùêçü&hlH´Gôžk[3‹<‡M }–¿Õ¸iBÊò$ʤH÷Å}o©ÿ oŽê»ÙVM5¯þ†…ÿh©OA[ Å<V?h¿=ªý6/Õza_¸B¦‚fò3É:t…)è˜äþú¨¸ºÙBîhîÞÂÍq/ '~0}†pgOÞãQy+óhV/%áÛ")U9ÞÏ\_F?Ü~åôPòXÆ
-ªXóÆ<ÓÆø‚ã³³1¾Ž×nŒ„È$‹Úm
-T1Ãzcæji•„ { î’yµ^[GÀ—`¸©äð-Ú
-E´Xœä×gH*@{ðáú¡n•7óû=ùö´õÒE(† Ûó(â£ý¨JGYÏAâé¾°bó{¶¶+(ÜeÌLQÞõ³ˆ~¢=ø`ƒ{rТ9l/“ Jmú:þï0ù~êþ{&Ü´Eúº‡ô#¸þ ÐïjÆÊI^W­e:Ô­ëMÜV!h»ÊMÌ
-€š5•Îà©ηϛ¦ºÛæ¸ škU—Qœ9—ÞÖeRÙº tÊN–dzpb«e³2°YópÏÓ;ŽAoîƒÆº"9‹# ¶ïe3LAv--!máÀ§ÉùûKÌRdø2ywnóª„^tr~FÌ·p(ÙŸ´C;š:vÓôJ6”æ³áøââêÃdz
-Éc/q†Ä)Lol²âœÏhКÙœqŒb©™›¼|Gï˜Ò.‹%&O›hôY­ ì}ùÈ`äýùňl  LÚ×¾ÖTIÝáE–žW¨ýk‘ÅíˆL=9IŠ3Öí$]HHÌŒµõŒ„NWoîÊ^ÀŠó¼6>ÿÖ¦¬‹¦x4Á¬{Ù2I‡e…ϬãVvØ&¶)4£¬‰J§1Ú¼$6wÿÄûT¬V4ŒfÇ'T¹ÍÍžida–ùêq‚Ê•©kši‚e@Bè&Œ{X3’¯çÐ|ظBµw
-º?¸oèÏä~(íù°0ú¢éR-’dX¤º~ïK8ž©™i«û‚
->\Ccòˆ”
-ûu(ÆA}@¬üÕSê(ΘÇÝEÝßI;üb FÚµH v`2RŠ«¾#wJã™/.yã*|Ç5°
-îôòÝ tò•ÔËJÙ&Nlͽսz¸»ï¬sIÙ.Èš
-€K1ÏW«gâÁ6Э6Ä4š†r&f{ŠÀè%Á3h°S­^G]®—aDËeÃfÂ<!¿íõP„„†1IÒ×uk¹Êõó‘Äö“÷µ›´V“o9(Ö3³%šJ0„VÑ86›Œ8bHHÆhÄ{ä&#ø|ê%Íï«bnú’,6DÂÜR ³'uò«V¾›í üø¥\òþ]cÚAg,ÀµKß³!å0°TÃélIÓ<[7€Ãúe@¦R¢ðèNv¿Tã¤+Õ/í()'Ùgg;.RR· ¸®bYŒ1ÎÛÍ!u»¸ç~›DømÏø§ß^èTÀçrr&ÔN0QnRØDæOh®ˆ\Cm, -Ñ›íh€1VV%
-g²:…²iØIÎ; áÅ÷l¥KÖ¤±fîÜ/tg#!R×c
-¹“K Áup5Ô.¯Ð×v®øÃÓÞAàÒ}ˆ¹’"ÁÑ~8( ˆ:m«¾¸þÝz¢f¿Onþáo˜¤\ y0rHÎ|¦¯ ¾AÁ6¡Ç»®má ý €¿•:Üà{J?ÜÏÏ“›¬è}íÄcE*P¦ª'ói "ጂÇ^˜ää·² ¤«dð4nVżh°~à{ÿâa½C’½€ù„–‘dY‹ùòÚÎç‰Å)èp) ö߆pG¯š»’u\Gú測ë`ca­Y |ïÓY9/ÀU
+xÚµZ[sÛ¶~÷¯Ð[å“Á•—óæÚŠíºq|"uæ¤I( ²9•HU¤ì:¿¾ ,
+ÎÝÌòd|òo/°óÖ, ™Bò,–K¶`t@EÌEÂzÆy̲”cÀÉà 0¯šFÍ¢?Ô˃ªôÉ@|ÄEœfIjXÒó —ul \,‹3’£À¾cίŒ¥H¡õ$€OmŠ¶¬-{[×K»èOã\Jf7â2$áf£ñKU¯›²Ù¿„,ÉÁ 03
+î0õ™@‹ÄD‚³D]Æ ‚œËsŽŸ€a¿DGòÎjJÒX扄-õºbùPoÊöq…¬½À r‘&–ó›“: HU²D:¡ ES~W‘‚Æ™àt_duTdNо¬ƒ2Ó8c$Ý—É=u1šœñAä¯Z›±hÕ»z±hTØ)‘q*¹ÜßéÂS³ÀN¸HØE³eÑ4Ñ,³,Í÷E_5Ìh,öÅŽŽŠUÕCY…¬ÝgóG%.–ÅCèà"iƼ<
+ŸŸÞ[I j¡]QÍ÷Þ ì$òáM‹YÅêÜóàY¡…¦pHS#åNƒ#{˜TØÃÀÔ¶±ïž· 5ß\!¥O79͉Ž¦˜!ºÓ/ÆåCU´§thÞèÛ½|vÏ ÃÒ®Ä3Á2!ÁDp£C§Ë
+¬ÍÉšDÃjª®Üëskjª<˜#8€khU1׈#CpJ >ÀXúæ)eœäÄ¡ò²éï$-Ô1„C.þF jh¬… ¢o€]5—lªPÑZ븆®TxͦY¯{T³?Hð jîºhËi¹,Û·´µ5ÎX16ˆ#àœwu«ðæè¿4lË60ƒòÀÔk<‰ôÑ]{]ù ÓfÖÖz|¹Z/ÕJUí^
endobj
-2470 0 obj <<
+2483 0 obj <<
/Type /Page
-/Contents 2471 0 R
-/Resources 2469 0 R
+/Contents 2484 0 R
+/Resources 2482 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2468 0 R
+/Parent 2469 0 R
>> endobj
-2472 0 obj <<
-/D [2470 0 R /XYZ 85.0394 794.5015 null]
+2485 0 obj <<
+/D [2483 0 R /XYZ 85.0394 794.5015 null]
>> endobj
862 0 obj <<
-/D [2470 0 R /XYZ 85.0394 769.5949 null]
+/D [2483 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-1454 0 obj <<
-/D [2470 0 R /XYZ 85.0394 744.4533 null]
+1459 0 obj <<
+/D [2483 0 R /XYZ 85.0394 744.6833 null]
>> endobj
-2473 0 obj <<
-/D [2470 0 R /XYZ 85.0394 712.504 null]
+2486 0 obj <<
+/D [2483 0 R /XYZ 85.0394 713.4543 null]
>> endobj
-2474 0 obj <<
-/D [2470 0 R /XYZ 85.0394 646.744 null]
+2487 0 obj <<
+/D [2483 0 R /XYZ 85.0394 650.0549 null]
>> endobj
-2475 0 obj <<
-/D [2470 0 R /XYZ 85.0394 527.0948 null]
+2488 0 obj <<
+/D [2483 0 R /XYZ 85.0394 544.7215 null]
>> endobj
-2476 0 obj <<
-/D [2470 0 R /XYZ 85.0394 409.8795 null]
+2489 0 obj <<
+/D [2483 0 R /XYZ 85.0394 430.3573 null]
>> endobj
-2469 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R /F55 1321 0 R >>
+2482 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2479 0 obj <<
-/Length 3241
+2492 0 obj <<
+/Length 3285
/Filter /FlateDecode
>>
stream
-xÚ¥]sÛ6òÝ¿B3÷z.b €àÇåÉuÜÔuꤖs½»¶´ÙœP¤*RvÝ_ß]ì‚&)RîÌÇC`±À.€ý†Ä,€?1Ó‘¥2Åièë@èÙrsÌîaìÉ`œ¹Cšw±¾½=ùæ;ÏR?d4»]wÖJü IÄìvõ‹÷­¯ýSX!ðÞ_/çó«‹ÿ~¸¸>‹4Ñ©wöùóÅõûËÿœÎ¥
-³'è¾HS9Ûœ„Zù:TÊAŠ“ÅÉOí‚Q;uô(DàKÉ‘³²s‰ðušêY¬S?RRÙ³ø²¸¸MEÒû5ÐÁºÚQ'£ÏWóÌýº®–yÖ˜õŸòæ[Âaîk³Ãà(á#ðŸÜŠŸn¿ïR‚“gTŸ€·¦6Ô|ÌŠ½©™ðîT$,3‡’—µ)çxüps!üTki7TçMþh`Q%à~Í:ÛMM×ÖTôýߧë jÑ~µ`‡Ú÷¦4»¬É«Ò?¸_áÇBD³XD~bâ>iÞÅ¢ëc¢é°û¹’ŒB?MErœ¤C!Ù•€š±}’_ðLU 7YâWz× j¾Ì¶Ù]ᆊûjW¾¡.$bòI9$’NåGáÁuDqè]®yþC^rµÅs&(ÁŠÒŠF³rE ’ "tëpå°)Ý¿{fQ¦‘] ¿æm‘/ó¦x¦~mj Uü6†Ëj³±±Sä¥y 4ƒ„Žãfq¶øþLÐàS^Ôºã¹Ä²…0Il< SïºjŒ#—5}±¥[ RGoI©¯…¤.1‹óóŸ· u×Âþ¢,Ðé]ã¤$G‘ô…–ÉqIîbMKr‹e%ùü@’c_*<NÒ!ìJr ƒI˜ôIžW›-èí]^ä ^C¢¼Mµ2ÿBÙÑ­°Ö4‚ҎߪXÍëæ%»NbñRaí\µoÜ»ªô6¦ÉVY“áí©÷-ã;‹±à–ÓUY×f9bÀ£w·7WÈwœÈ¾|“à)¡Áþ-‹ýÊPÇŠ°2ÿ¦&Ø’D!cõÈŠÕNÌsû!pÝT4yE}²õ ÚÛîòG^.ê™R‚•*@ßÊÊžûˆØo2<;•&Á—ôSÅžÌÒ ð¬¦ï“±º-ô"Ûýh7oH¯.eX6ÈäØi–ìyTyWæ™·Êi©·çKà¼n×ȨÕe|Ä Á|Æ‚Õ‘=&´@â »G³«AVßjÍ!Çåõûwì² ‰GØ•&h?IuÈÒDª6!úa¨Fqv׬÷Û--aÝÒÙLÚj?L(œ™¶]¬iÑbYƗĸÖ]Æ1š†_z KÁ} gÌ!0Ö;§
-5˜•‚±²GÓÓ^½5Ëü× Æ­ˆçà“GB7Š°²b¦,6ùŹÄ8¤¥'Ž´»:RÛ¼¼¦oÎ}ôcÓb %4À&ƒÖ1pXV .ÆÄ@ ˆ+SÞƒGr&r­’㬵X#¼õ%!õC†©ÇÜ«#
-2
-´LI0TÛj×7‚¢D7û‰ÒƒP¨ÄÂôÔûÙ.$Ãm^`ÅÎ.…‰÷ùê|ñ!ÌÔ¨“ówõNCφÓ0oûuY ñŽ:,Á±g6[ë„¡Yf²Ù1´D‚ 8§—ü¥ã›”Ës» HËekZ.[,+—f*?J² ÆIŽã=’—ë~b ˆÿÚ°ðÇ÷ú›—p`Ý…t˜çЧ Ù¼g(ÄUiÊfú8!©zí8;XGŽÓaÙã\¨9¤¢‰ŠXË×Ev`ëÁ$Qrœ-‡4ÂV÷ÈÁÂË(}¶q¨ äè=ã«æSgvÐO]ì—A‹(O…g
-žˆ½‡ Iæ7.×Ä~ßy`<+L…i´*1méâÝ—ùŸ}®(¬š åGQõ@/¸Z\QæéÖAg‘ß—­””÷nÊqsñïOWÓò"Á¼*ñJÑÅ:"/ËÊˇõK|0eê8I‡4B²—A(_¦AÔ'ù¡Mh;
-4Я;›@cÕš)Øh´æ(/g «0ÔpÐÃH0o¸Nqûà<p7Ps°cÁäüóà¶æg“7¥R0»Çoª‹5}S-–½©ûq®ÂØŨlÐà4†>\‚£W‰>Î]‹5Â^χKŒúҤϟ­;È°gU±ŸÑç}¾F=±Oï!ËØØztºùM(ɾ"œ«/ëÂæâkZIï¬(ª'«ª€à*Z–h*@G2¬dDͳ/פÖ!X,ȇûjm«!*èµ]â&íš/d™¾–ÕSIMHàÐ'csmùÁ('ß|wN`©UJ-Î:¡uÇS¸Bèùš×«êÅóæÚ¥~OyÍøœÅ ý<‡}a—Óâ«? býŠøv°Žˆ¯Ã²âûp`h"ÈÖãWH:¤’=C™œ H~Þå¥+K²™Œ`׸ m³ÉvÏý¬"«ÖDÔ½g/¿ß˜²Sï<¬DÈ0‘’ñ߬DÀ&S¸llún‚ÄAðÚÝt°ŽÜòws5fZ”¯u[KÉwf Jð|hYB\<Î\‹5Â]ß²¤~€yi½…iêÁõ
-¡cøÊ›^kÚ"´XÖ"l_µÛ]ÕTËêÀ,
-C÷ÆåîªYÎýAãðºe´Ì´h‰§ƒÚ¹J¼3‚¿ñßP#ï¼ÙlÐq*—º²>æ‚À—±H)<›:
-ïÁ!Ú<*Ñ 01{›×…/9@·YM!H(ø21Λ<+Xç†^’À6™º;zGøæŸo¼1YÉÔ2‚ŒrÒ£äÖ.ï‹Ñ·N:Ý}ûì»<ÿRCÑü&»sÏXÈè¡Þb¿X<Ï=Co!Ì¡&sM«âY÷ÖoÝ´íìò¼lgôj½LAj£ïÑm:’s‡zurº/7ñ0¥}üáÖˆI fîøþï߇½ü.Œ}•L=mA´éÃäÈ1…[atèBø—d‡¼ÿpÊ¡Uendstream
+xÚ¥]sÛ6òÝ¿B3÷z.B€Ÿ—'×qÓÔ©ãZîõnÚ>ÐdsB‘ŠHÙuýíbIQRgn<c‹vì7$'>üÉI‰(Ué$Nú2œÌWgþäÆ>žIÆ™:¤ië»û³wßëx’Š4RÑä~ÙY+~’ÈÉýâ7ï;ŠsXÁ÷>ÜÌfW—Óë«ÿ~¼º9ŸÊ4 SïâööêæçÿœOUè2 ú¾÷ÓÅÍ/Ÿ v{ž*ïâãÕìüûÏ®î[¶º¬K_#OßÎ~ûß,`?žùB…É t|!ÓTMVgA¨Ehí ÅÙììçvÁΨ:vA˜ˆPŠ±’ãç%E,%àÄ/âÄßL9/‡…ç5ÕÃ}FHS™Lº‹í‘tH#$U‡dÍXË>É_js>Õ±ô²¿Ê»{ÒÓy¶Î
+7T<V›¼yZQ·©óÑ”f“5‰€tÑúj^Ï¥”\lÞ§%ÏÊkB®ÖM^•%˜ô¶µYÐhV.T2AäcŠ'4‘RÀ¦ÂÉi*»fQ¥‘] ¿æÏu‘Ïó¦x¥~mj Uü6O†ójµ²±Sä¥y 4ý„Žãnv1ûáBÒàK^Ôzà¹Ä²…0…YfÛ¢AêÝTqä²ÆnÀï³NTU•Hî‡Rqÿêòòã—Ùý9œ"Bâ f·0ƒæ6ÐŽê$€QøÏ£îë> ¤«Ùæ\&ž!½ë ØS>q¸TP¾ä¸tkC²Jp¹§±P¾ŽÒs8ûôº*+!“ éÑ»¬Vë¬Éò"oðúí­ª…ùÊ\Ø
+yM#¨%ø­ŠÅ´n^QC°ë$/'• "ÍSµmÜ»ªòV¦ÉY“¡Tø©÷cYy‹»¿ðñ||Ë颬k3Ÿ1àŠÑ»»›êô"NT_¸H`µ ½¼œÛ…¡Ž}-#dþMM°9 AÆj )¸<˜çöCຩhò‚úx½ ¡·Þäϼ\Ô=2­%+; U€¾!”…=÷Y]exv:! „/鵎=;™åàYMßcuZ¿û¡¿Þ>€UàM" áÕ¾—ÍdrlÈ4s˜-†È»6¯¼¸UjK½=_çu»FF­.ã#f
+Zû’ŽýŒ>ò%jˆÕu‚ü
+uJ-N õÀS¸èù’׫êó=¦…>e)/yÍøp]{¾¾˜«ƒ‚«Hߢ4:.¹]¬Ã¢ÛbYÙ}Ú31$–ñ ’i„dÏÄ@’'’·›¼lêžàuÓ¸dbµÊ6¯ý†‚€Ö8Ô'±zÜ®L»0¸üý¤Y)ˆ”ŠÿfÒ ›LÃÄ%‡ï&ôE©V¥‹uän–½›ë1»¢E¶i¾1sP‚×}³prê8s-Öw}Ã’
+S¨{3ÓÔƒë~ÈM[žØt³Á~ÊçOô¯Î£Æ.uìùlº=8»¿É›Æ”‡/Ò? O]FëÈe8,{_*Ê1’;EÙ#9ª(]’ §Õ˜8.úǹ̞_uJ2½çB+ª­8#•€§Ü`ëðµXöŒ>ŸÌ»š¦²•D"„µrÅ8#Lõ¢[)@šuŸ)SrZìyZã‹ûûÏ<\Ñ·ur”Uõ¼•Xlp­œ×q(ª?›MãÜغªïq]ð í»;A ç¥[[B9‡·°K_%ýbW¾¢ŽŠ¸DIÅ‘µª
+è¤#?‚a$k„7§Êç$| ó¼ŸûBÆA|”³iŸµ~(
+F=ÖfmÝɾíHWïV^]míýÛû„*ˆKfµ4ö.ˆBJv3s½+ØáB¯àEW4´¨[zÅaVôç|ÁÓ³Ó¢!N©r¡×;8©w.¬HD$ƒc§ÌCãƒ8ÞE¬ Z`_¾msˆl €± ,ŸÛp]ëVf;¡3Nén`IH»ã!x^·ÖC•¹§Q;R‚¯c›Õ¡H|?9%»Ú‹À_yH†?qzòÿ˜l÷£¹ :IÔ¸ŒAŠ$`rä˜Â È Ù×7|ÛŽÔïÿr ´Cendstream
endobj
-2478 0 obj <<
+2491 0 obj <<
/Type /Page
-/Contents 2479 0 R
-/Resources 2477 0 R
+/Contents 2492 0 R
+/Resources 2490 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2468 0 R
+/Parent 2469 0 R
>> endobj
-2480 0 obj <<
-/D [2478 0 R /XYZ 56.6929 794.5015 null]
+2493 0 obj <<
+/D [2491 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2477 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R /F55 1321 0 R >>
+2490 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2483 0 obj <<
-/Length 3040
+2496 0 obj <<
+/Length 3164
/Filter /FlateDecode
>>
stream
-xÚ¥ZQsÛ8~ϯð[œ»XIQ¢³MÚfï’ö.éÜíl÷A¶åXS[òZR²Ù_
-ោ*FI:z4[Ÿ…£'ûx&˜gâ˜&>×Ogï>¨d”i,ãÑã“e‚Ð1zœÿ:¾úòåæþúö¿©ÃñOÁÅD‡áøîêþëÕ?‰öå"•ã«7‘“F¶8_ß?<ܼŸüãæ—7÷¿=þ|vóØ©å«.B…:ý~öëoáh;øù, H½ÀGˆ4•£õY¤U #¥euöpö¯N 7j§™"Ò&Ð2ŠG2fØ`aj0À$‰Â@ª4é &ÅÁl²Å¾û µÇ™±Q„#Ç6+çÕzž?ï[DD¨œ#Ùå:®í¤·¦@s„R÷Õ{Øä³â[ʼ¾˜¨PŒ›eŽ9®«v{!Ìx–Ó@µ –Ô-óº†Sb=¾]ôfç&ßfMQ>± ×ºÉ×44¯Ü:eÕÐðÆ®R=sžž‘Á"ß´Jk8b©ØdïÀZïm4£ ’È0„R­¥gSÔ³‚Jጒ„åT[XVÏo‹çl•—¨“HÇ ¾˜å—ð¡4ïËRY»jhJÏ<¸1íÌCô¢&ú÷üuZevÊœGÊMÛC›U:0ah†ð±·‰J¢À(@woûuÿT#w6j\fëœHtž˜Û6³e¶ÍfM¾%>²
-BG§ÃŽÏu<ìt\6ì< „0ªIµÚÙâ â@SœèÓzu\Šõ"ŽHƒ®ÙÓì½µ]¶ÅC7„¿t\æ/ôjYÊ˲˜-‰fHYIßù›U1+¢ÖílþF05 :Ÿ¹¨]4²~x!„cð2šÐ„\èèð<bõTm‹f¹¶ßj\Â6°¹PîÅ@>œt
- yÝäÔC@K“’Û!Án
-;/ÅjE½)ÕyÃÌÖYƒû¶ÝüÝœ4·™²G
-]…¥ž06ôÞVÊS©·):3– î¹.ʶsr¦Ñ•”÷5±žñ"Í%}2@±Ë!Ê ª¨U!f¯õñB´J¼<®!ÀqÙP…
-=ù
-/T^ NJfpÃ.ÙÙÉö€ž—³íë¦qéK“G¼’`ñFãs@¼ã²ˆ®`T”¸
-f•?ç«Ì8dÁù¤f×€jýÛHRÇ}Õòf?eœçÓöé© NV3Æ·D?dà@ÅÁÂ"Žñ墻¢g˜ÇÛ»Û{ŽbŸ¿<Þ~¾€=¡L‚\ÏNºf¯K4å„*m$@…Ä£-¹qÈæ ¿g`bßÚ–µ0ø üwww}M#6RzÔOŸîîÄ÷ìäP5üÔ®íû R¦9˜¢J¼9Öã,jÎÿ~Ž˜×Âä1lÝ8 ûŒØô›·ÕЮ@ f¼;py_Pa
-¥g¾êÊ,oÿs¡ak ˆä šñ‹‘wÀ—{1¥wšêl½Ãðʆ²Ýr~¼Î”&†ü[½¨}®ãºã²úË›OMXn¿«v+ûá²üؼ¥_Ç5 `/\ÇIÇ™ô4äxݽ˜îQßjø±ÄUó0˜ùO#ð]¸Ù•÷ttû@P/óy¸[äOzÞÀ7š«…}Z¥á¬Ù)q镳nQ›vè$H¤ÒûáÓ¾€$’=D¤r¶jç„zÉ1^º8'­
-<Á"/Qž ûï kk'ÈîÚÜ‘EÛXˆlÿ½Ùpª—ìt¥Óc±§Çä#µ]V }ªŽA#”4à]S[‘»7Ô˃×¥Yžk|ƒ˜XV/Øw¸ÒCÄæiGð¸N8‚㲎p5ä*Ðp_ÿ€D
-2þ” iÐaü)ÆPþ|.t
-7¿¢ISfà:§ vn•ê
-kø‡'É]Õ&MÍIÝ:¦Cåö/jÈkEO;ÎW©D£ç«XȡͤìòUŸ‹2VÉ/À’ßb%¿Õ¤y¾Êé–Æ¿´pI©a“R^Ɉf@.Ÿ¯Tô‹´«ª|Ê·Ý÷³¸Oâ°šsan½ú‘på¤cǹ©ê¢©¶T„1\—Pz?ƒ²I4ìð‘?ARàéjðXÃî)ç/ÿyÒîÏ°¢s$ì¨0ŸC„S
-M*¢d_u­L Ltÿ¶ÎUÇendstream
+xÚ­ZKs㸾ûWøf9±¸@ðQ9yÇóð&öLbo%[;{ $ÊbD*"e¯÷קÝ€
+Oo´ÞVÊSiÈ¥L0ÏUÝl‘3mM 51–þ<ͽ2@±É.Ê
+jé©bî-_»£. Õ WËÓ.Àç:î—qÝ ˆ#© – èúMÕ<õ‹?¨(.DzZ9Ç5 ]àÓ™,BõÂÛ£Vfÿf†BÞÝ4)Vxܾ1¤±5è!)5OTÒ£Ù®&îÐû—ªjè%f¶fF ¡Ñe(Æ @l2-BLM·ž±_¾ÒÁ/JFDÓZœàŠ›ŠcÄz»Y·]eÑEOÊEŽãŽ0Î
+õ^<®x±\/Cx‘d+6|n6ÆÇí£E©H½©šãÐ-@ l®:P.D‹dCÇíy×nMcP§­ ÔJæìŸÍà–žÛŽ s<|±;X&R°+tíïÊÞR€M$vïVÛ®'Ñž¢‚Sñ¼pè|’ž  ¡,N£bdÈÄh—…²®_YD/t|Z¡²HÀYU Q·…–À|€8&ùÁS·­ÊÏiÉr&<uû\m6õlfåSKŒªñÄl5'FìGëžÝèÃíǯ1¤íðŸˆÜà,*²85ƒfÝ5š'Ù#Œb’Õ^QÔ§»ëwã?Ñ»øæʧö¼eظPs«]ï¿uè»Ý?bœ˜µË ²ö“Æés7NÇeŒ³0N€—ÔãkÐ2z^œÖËq (X¦¯Ó,ÔìÖË”¥ ¢RðñJN†v=ñIÓRF
+’ƽEíi"S¸ˆéÀ°Pð„§†¬"œúúçÇOï>ßÀ à‘î?™Ãš¡HE”Æ0]`ˆ÷ŸíX4E™²)BcgŠðbÐO²hG–fg5¯6Ìlà†O+²œÔ˺ {Ë-ô7½Ù|ž.^¨¼œ”ÍL:`†.ÙÙÉö€^5ÓÍ뺷éK_E|’'Q¢Ò7ïsG¼ã2ˆ¾Á¨$³7˜eõ\-0à8ç“š9®ÕÂh$"©ÓPµ‡ªßOgÕdûô䜓ьñ-Ñ8s˜&)L¬4¤bÆãíÝí={±Ï_o?ß? ÀŽP& óÀA7lu™f§œÑM pCâÀh®ÜØeò è"¡¾oe®µÐù ü»»»¹¡ã)=ê§OwwuÞΩÓÉ¡ÛðÓvh$ʤ‚­è†`ǾGÑãâÏØHyN Œ/ù ˆ“± AI¿yY=­
+ÄpgÉ«“‡þ9] `ðÜðci"X»Ý§r_¯ÌU$OG¬*Ó¶y®šŒ¡2*ÉQ=§¸r.NÏ[wC÷Žy»\¶/Fw‘Ž&hu"c㯀@j¡Û±˜øünÎ:/À{ŽÌÁ]õbÕRS.^\kæZ Û2kÂÑ«Ú’zJ „u4¨‰¿
+Á[Ïi»ZoiÏ«æa¯U¹a¥0Öî’Û•Ó9å#•jjÈd¼À¤Í¼à Él1œòSAÜt,«rM-3næ[µM¿`¡áì†äæ‹L牂Ôÿ›ÞÓùm›ƒÁšñò6È÷A†dªpõ¬–îZ‚×Û^jXZ"Ù©–\1òøjϧ‡¡éþ‚Oï0¼kCÙn3;~ÏTàx¾Qjò¹Ž;jÇeõ—7KMxÝþ¡›¥ì»ëTFiþ–~Žk@ÁÀ]§Y”¦…5díê¹+*`­†‹%ö6¥_÷ÚŽn½Ò ÐM [T³°ÛMò•7°Fs=7¥Uê.ûWÞuÖNjÒE™T{YW@2ÉŽ<R3]ng„zÉ>^Z?'
+<À /SžŒ¦íCaÛÎ
+2kgæÈ¢M<ùo4œê]cõ˜ïé1þHO—UC›nÇ Jps#·5Ô«ƒˆkÓ,Ï4¾‚OlÚ|5Y
+a‰áNBîv.„;„öCÉ„J–I
endobj
-2482 0 obj <<
+2495 0 obj <<
/Type /Page
-/Contents 2483 0 R
-/Resources 2481 0 R
+/Contents 2496 0 R
+/Resources 2494 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2468 0 R
+/Parent 2469 0 R
>> endobj
-2484 0 obj <<
-/D [2482 0 R /XYZ 85.0394 794.5015 null]
+2497 0 obj <<
+/D [2495 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2485 0 obj <<
-/D [2482 0 R /XYZ 85.0394 384.6993 null]
+2498 0 obj <<
+/D [2495 0 R /XYZ 85.0394 441.9582 null]
>> endobj
-2481 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R >>
+2494 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2488 0 obj <<
-/Length 2399
+2501 0 obj <<
+/Length 2128
/Filter /FlateDecode
>>
stream
-xÚ¥Y_sÛ8ϧðÃÍÄ™Ö\R)éöÉmÜn¶MÚkÒ¹½ÛîƒbÓ±fm)kÉI½Ÿ~‚”)[vîOò
-‚
-T
-‘2qݵîÖ45ÄEëa³0¸PÃÇõ…H‡æqs¿,¦yST%1´fZ®yµ&rN÷¿›í…b—*^͉\›æ5¬ŽòK¢9Mzx "/gÄ’O›â)x0ËS£ N ã‘°g™R‘ÝÆjS7À«á=ÊŽ5(~Ì×ðÖÌ‘·tÍÛÒäôn¼¨‰¸ÚL´jŠ•ÁðŒv{«ã=Ûàm#I^Nýh¦Å7ΣVû¦één·Å»ûq2µ™å¹u¡NZÆÞ…rß…qðæs±\:š™ç›eCä¦ò"¬¹@qÛFl›h÷ŒyàÞ"…ñ^d¤Õ÷#FX §U9ên† ãɬk³¤ô€ÈH pªœÄJ Û}\€ 'i´dCKñÚq,¬cqš…÷þ]Ñ:Õ’ûøÉYV¤Ó ™KÀa=rî@ss¬ò9œZb­ <–NͯԧFÛ“d)VîMQ>iJ1qy Ïòšä%ݛhˆZo¦SS×ö¨ÂCzË\¶õN‹L”IŸc¡A»ôI{Ñ¡Ç;V(
-^%§ë,ßÖ?ÒÒò\ÔÎoÖðà?UWíyŽ°kŒY!Ä®YàÊ'?Òª9¾7‡ Ö{åRNºm!snE?lV¦lè‘M3x2¯–ËêÙæ˜$è@jUîd[‚“„n¶Ú01¿'ã|{nëáùªj—ÏçΚóYK[ø„©çôœ¯Šs{þÓÃó¯: “ÛàºtÛP fžžlM¾®¸UU6 ólÌï~ñqËEµqüÉ`²(7
-&þ¬pššå–DáQÀ§.ûvBþvu3r…ÎošîÕå·¿^N|MGc;Üž¢ýa¥ßµ
- û†è9]Žîm§*ùðòvLT²Vúö(´U Ìª÷´wG1vñ4ßsœ( }³‡b ôŠŽì‡ZTFC0õØ D¬È«ðì¹Ú,gD¿wìì3û{Mø¥Ð:PÒ­½#Íùp”ÓÕºÀîé
-rÇùïO7ZÞ"?¬ 6æ»ÝÀßr#Uw8 挃&'ª¾-ï©ýÉ^q._EZh~Ê^÷mÈ– å‹Ç~»¯{Zœ$†–^Šÿ|ð̲]íí´6Ü%…1À‘‹ÌƒÕ‘=Á0¡ÁXh­N‚z‚·Å¸Uà>g89«=lÞS~¢÷
-…` ½Q¸9hÓL0IõØþÔ'*ãendstream
+xÚ¥X[wÛ¸~ׯÐCÏ1}¡¸ Ù>)¶’õ&vRKi·Ýì%BODÒ+Rv´¿¾@‘%õb? gß æB6¤ðφRñhD>‘”Éá"Ðáì}0Ë3rL£6×»ÙàÏïE0ŒH¤¸Ζ-Y!¡aȆ³äWïQä$Pïöa:ÜŒ'ÿüqr=bQäûÞøË—ÉÃíÝ/×#.)0+¥ÞýøáëøÒ¾\GܘL¯›ý<˜Ì³Ú¦3*ŒM¿~ý8ÁÏJDÊá+<PÊø0øRé á(ëÁtð·F`k·~µ
+F Š÷`Áy ‹ErȈ(ÁEÅÝŽJ¯Zi³ð½ïz‡”´DÂ\§ù’›kz:®t‚{q‰qŽÏúÇó:]¤RËíb¡Ë²ØàfU8æ´möêcÞ[xŒ„1#?0(ÑËx»¶"ŸÑ‚çíôÄUZäƀÈ1IÉëC¥y¥7/ñ½U~Åß$Þ•ÅemÈkZjËYußøC×ê
+Ò( ‰
+0ˆÆÀ#„ô^ÓjeV`(à‚´bi^[–º*á\B˜KÜ©Oe˜ãZòÓ6Óy…[i‰;Ëb½.^ †:ß!µÈ÷²k‚•dP®µ}£”ÿÐVÆÕîªV¬¼«¬h–¯WÖš«¤¡­Ü
+¼ÔƒäU–®BçeUs%Û8¹F ~3—[ôSâøpg§ãMiÅeE^­ÜëÖßÝÚ¸Ç.WÅÖò^E +Kóm¥ª)Ÿõ¢J_ôc‰ôä×Æ ˆ´NŽñ§ ß[$áùLôÆÑÁùj>+K/Š<)kýpùØ°1`9qŸDT©áHD†£èÃäaò86éd6¹E!'ÿœZíÛ ÇáŠP.#<Žñ†S³çâaL*à6LI^‚I#¸cO w[¦ŠHà ˼(²çµ®Lñ r—w¹]¯÷74 ðŽ„n" cyc$•ÕSŠ%ÒK ,‹M†&øƒ…uĬsø#oâ8~“š¿£!“û|¡N* Þè1^ù<$\
+å¼8—Uœ'xç¬Ï ž·$wÁ¨7[9çºßغ4Mà‚¦&:lºAG»“ÂzYGf;l0…¶òÉ*¶RÁ zcÒ'9U9$óP‰ E¯ÍU'zæ·
+äwÕ’eøFYp¨4
+&¿
+O‘“£˜)«'M‚“½˜®ìØ,æK0†Mñë7Ǿ߱Û ¨:&Ññ ãÔÙJ÷ u–N×   )FŠºº†^—PÕ2Î<Åæ'0£ >C¿€ ŒE᪜¡U«¸²BLE3‹¹F PoÐí@…(Zò•÷vœ°j›bÂ>I­¦j½CQæ"˜]|{!º{Ù² ·7 U7n>}½¸Š
+8›f¸¹Cýv?²!iÀ\ sÆß ”3?<D×gmtýVf™¦ ?òÕ·mº»‘ ¹÷¾>4ЋùKZlíëp£·ðú·ì-‹¼¾žÊÌ7u›oÅ9’BÛ÷a4B¼ wòP±.^«øE·‰u;õǶ±yÖ›,-KHþ}0¾ƒ‘§GŸh/Dh@”#*2õßGpˆ¢MzÞ!R6éÍ&1
+GóºKÔ»Ž‘ŠÖ
+×Ú
+”¤Èà®X¿‡¿3s}ëOý#6Ó¡¢oî$ÂñÝ@k”á
+{¯Åv }nÙ!Ö·:ùKM€Š"!Úéº;R”z£kjÂK°œÿúü0ÁÕùç®Úãû³Àƒ;‹´ÃTw,mMGí›™¥úÜÕú±e"yC©xÃSô¢µwu¡.WQßõmOkøÐÊ öŸœQ´/ºž†º¯# Ð¥ƒãüy‘²È%ªG<‘¿˜c¡§:›À VG´)ÃL"2³d‡½LGù™¦C@Ò£ÊU¡þï SçöO'¶PŽ?M?_ÎÖeú”›BnÊvh*«u¡ˆÚsHÂH:£ÞÝ=Ø‘U˜dižB<Æ•kxõ¿ŒAÖµ!yç[¨G} Ã<®”j.û±ÐÁ…M |ƒaˆzäùPþkq¡/ÿwqþ¡8zÿ¢¸~‹H’Ð7 qÛÁ㯳Ÿ>?^öìù&•k›-¦»Ú&Û¶Þ@ŸQlªt›íõB]÷•+'>'´ãî#8Ô
+™ÌÆÊF¿ßµk¤hŽmX`’8a\%ÂvÈa\Ô¢pPâ<°¶:£›<†ßÝm¸ÍÝ×7µÚLˆßè÷uôÄÀ
+›ïä=“#mÐÿ¿?Çï'_? " yÿ—vH“ç”3ÊÀÃ$=2Ý}¸?¶ýߪ|;{endstream
endobj
-2487 0 obj <<
+2500 0 obj <<
/Type /Page
-/Contents 2488 0 R
-/Resources 2486 0 R
+/Contents 2501 0 R
+/Resources 2499 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2468 0 R
+/Parent 2509 0 R
>> endobj
-2489 0 obj <<
-/D [2487 0 R /XYZ 56.6929 794.5015 null]
+2502 0 obj <<
+/D [2500 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2490 0 obj <<
-/D [2487 0 R /XYZ 56.6929 585.9293 null]
+2503 0 obj <<
+/D [2500 0 R /XYZ 56.6929 659.9457 null]
>> endobj
-2491 0 obj <<
-/D [2487 0 R /XYZ 56.6929 316.6498 null]
+2504 0 obj <<
+/D [2500 0 R /XYZ 56.6929 405.9563 null]
>> endobj
-2492 0 obj <<
-/D [2487 0 R /XYZ 56.6929 154.9076 null]
+2505 0 obj <<
+/D [2500 0 R /XYZ 56.6929 255.6214 null]
>> endobj
-2493 0 obj <<
-/D [2487 0 R /XYZ 56.6929 85.0711 null]
+2506 0 obj <<
+/D [2500 0 R /XYZ 56.6929 192.0154 null]
>> endobj
-2486 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R /F14 964 0 R /F48 1238 0 R /F39 1161 0 R >>
+866 0 obj <<
+/D [2500 0 R /XYZ 56.6929 152.6654 null]
+>> endobj
+2507 0 obj <<
+/D [2500 0 R /XYZ 56.6929 119.4753 null]
+>> endobj
+2508 0 obj <<
+/D [2500 0 R /XYZ 56.6929 83.7339 null]
+>> endobj
+2499 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F14 968 0 R /F48 1243 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2496 0 obj <<
-/Length 1604
+2512 0 obj <<
+/Length 1721
/Filter /FlateDecode
>>
stream
-xÚ¥XßoÛ6~÷_a`/0sü-r{r·KÓ&YìnÚ>¨m µdÏ’“å¿ß‰¤dɦíE€˜’>Ý¿ûx<Šô1ü‘¾3Íû‘æH`"ú³¬‡û xö®G<fXƒ†mÔ›iï—·,êk¤%•ýé¼eK!¬éO“σÑããøþæöï«!xð] ƃ£ûO£îÞ㕦ƒÑ»ñäjH´æ@²‚I<¸¹ŸLÆ×çñŸw㫯Ó÷½ñ´ «:Á¬ŠéŸÞ篸ŸÀ Þ÷0bZ‰þ \`†i?ëqÁàŒÕwV½IïÆ`ë©}5D…`
- E£
-D¼:ùþi†1E°ÖÎóÛ`ΰë0–ÛçÄ ôM;Üu;ú¦шËs15˜£ :ÚfQ!ÛA…”m¾í‹&6¦“<±ˆ"Aé¦Ú¨Ó\5(ËÖ8Ì–Ò‚íþº@\
-²{>´ˆ­KY„"=@'¸O…©ZvéH#:,Òg“»{“O&Ü…‹šzªÙà¯e™­³ ´‰»zIË¥3óxw=ù‰w»Øm6ëmé.ÒÒ!3w«*iÖÿÚÝÝ|Ÿ„üæöc!ÅD³»–°I¯É6¥¯EyÕi·kN#†z·¨kRîëéœRÃU‡~A {Ð-x•ÂüTQ:篩IGþB%©íïíÚÒ1«¸Ád
-qMÔÁáwì}˜<œ8µŸ‡ÀÑÂä_°À
-þÁ¾Èt;qqÈœ_onï½®´w—dp&(Êm ý—§ÃÌ›Z>óúç»x‹H…¨„nЙ
-0Ì«S1©ƒª˜"\†Þ|U;Žý?bØSendstream
+xÚµX_oÛ6÷§0°˜Xþ)q{r§s“&YìnÚ<(6m µ$Ï’“åÛï$RŠ$SrÑ­‘ôwÇ»ãÝñÈÃúa&Ý¡']Ä1áÃE4ÀÃ5üö~@ Æ)ANu>¼»bÞP")¨ÎW5Z>¾O†óåçÑøþ~r{9ýëÌ¡ÎÑ™Ã1}ß~ßèµû3IGã÷“Ù™C¤O(€¼&ðèòv6›\8³É|>ý89{œLæ•\uÙ f¹P>?âáŽða€“>¾À#"%F—3Ä]ÆÊ•í`6ø½"XûµØjÓg>â>õ,Ê dH’œÓ†6¸D‚QVhcö'»4LÛG ¢ƒ£H}–6kš¦Ü…±ÕFa:wê$
+±\b³Q‰Ê¥ZÆiªÎ^='_Õ™#À@ŸÍþ±>çâ¾»â¬Fˆ¸ ¹‚óœÂV=«­F5ØQ‰|ß“U¼¶dù‚s]†{µÈ’ý«…(w‘ œ´‰NNUñ:Œ•…bVQ\U£3úª^WáÖhÚÛa@…{àÛ-ˆ]NfÓûùôî¶ÚõÆá
+ ×%Òb §5¸ðc²”sFü‘
+–)Ü#¸,Aþ!æÎè%W¾`L·êç|ÂF©ÊÌ–l£ôàaòÇÝõäRSx
+3½šÄ-˜¡GF!°T9åX-õ44®.4î)¸ÒQ/ó òN¥<8ËÂ&S©Ž
+þÄêEvA¸×£d¥¿Z^Îì[$q„q¯õ\ËžSJ^Í$Wîò!d„lÅMKÞFœE!sñ¸//á~öÞÎ:ª Ç·³Bå|M›%|¦Ÿe ²°¬»””ÈÍ£Jƒå$*\
+,y¿†ë¨n W¨BÃÏ6G'ˆ¹kçÞ†—ƒÎ¨çŠ~É*”E´†—3qP4E³y¹z:¬×•M
+ɺu&8’>>ꨕ¨Bg»Î ¼±£J ¡4F‘–î­BYdk*ÍCžõ@C¸O©Êë\¡•F¤7Z‡Ï*Ökw;Ïf7z¢e„J˜J6úsSbI´ƒd©g/a¶Ñdî¯/f?¢—ÓÃn—ì3= 3XªUpØæF+ø'zu÷u‘ò«ÎÍÔC>ã­Ü\™WE»ÌÄ¥8ˆT#þTÎPfŽ2>Åæ[§Ë(CžôN8Ã¨Ç ¨p…UW€êãWŧ#~¶ðTçw•êXäºÁd!fŸG)õ Ì}1º©J-u Árýªœ>Y
+äqât¡iàVpÒCm2LM4„Q``
+)©ÂïòQ¸Òè@Ou´Óã`[–™f?$ü´°5Œ£ [lòë^8Dà4vï ¶k°Ù&jUU®›^6 ¼jgÙfó&ÈH@Ôêw§:ªÛŸ*TáPGU¿+e?ËdaÙ#Îmò¼ß‡qÖU dÁºCkDLjÆoºÞ×ã§òÆVÙîé`ËêgmKX˜uÒPM!W¿YOÏ&F€ñÍìÎâäö·0Z«ø æ؇ð¸(62Y7A.XÎÜŽóé­ñ+iØ-#x¤Ù>€Z̨C­”>Z¼0úć`k‹Q(õ y›
+ÝšdÓS»=q}²Aóý”›“ý”,³õ|ˆ‡$£~›Üýéž¼þß%«U‡ŽÉBåqæ¶ÉŽ-d`¸ô¼f&ú.úÿ‹ØG­¥éÑÆå!»yÔžyÒnex{ƒª"™we¿¡AèÿèV^­mgk Þ¼ëk¹³¸Šÿ¹¹üÖEw=Ä|ŸÚK
endobj
-2495 0 obj <<
+2511 0 obj <<
/Type /Page
-/Contents 2496 0 R
-/Resources 2494 0 R
+/Contents 2512 0 R
+/Resources 2510 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2468 0 R
+/Parent 2509 0 R
>> endobj
-2497 0 obj <<
-/D [2495 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-866 0 obj <<
-/D [2495 0 R /XYZ 85.0394 769.5949 null]
->> endobj
-2498 0 obj <<
-/D [2495 0 R /XYZ 85.0394 748.2826 null]
->> endobj
-2499 0 obj <<
-/D [2495 0 R /XYZ 85.0394 713.6257 null]
+2513 0 obj <<
+/D [2511 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2500 0 obj <<
-/D [2495 0 R /XYZ 85.0394 650.7148 null]
+2514 0 obj <<
+/D [2511 0 R /XYZ 85.0394 749.2839 null]
>> endobj
-2501 0 obj <<
-/D [2495 0 R /XYZ 85.0394 593.6907 null]
+2515 0 obj <<
+/D [2511 0 R /XYZ 85.0394 690.5564 null]
>> endobj
-2502 0 obj <<
-/D [2495 0 R /XYZ 85.0394 521.7466 null]
+2516 0 obj <<
+/D [2511 0 R /XYZ 85.0394 616.909 null]
>> endobj
-2503 0 obj <<
-/D [2495 0 R /XYZ 85.0394 246.5646 null]
+2517 0 obj <<
+/D [2511 0 R /XYZ 85.0394 337.9792 null]
>> endobj
-2504 0 obj <<
-/D [2495 0 R /XYZ 85.0394 186.5756 null]
+2518 0 obj <<
+/D [2511 0 R /XYZ 85.0394 276.2869 null]
>> endobj
870 0 obj <<
-/D [2495 0 R /XYZ 85.0394 149.7581 null]
+/D [2511 0 R /XYZ 85.0394 238.2666 null]
>> endobj
-1455 0 obj <<
-/D [2495 0 R /XYZ 85.0394 117.6525 null]
+1460 0 obj <<
+/D [2511 0 R /XYZ 85.0394 205.6605 null]
>> endobj
-2505 0 obj <<
-/D [2495 0 R /XYZ 85.0394 82.9956 null]
+2519 0 obj <<
+/D [2511 0 R /XYZ 85.0394 170.5031 null]
>> endobj
-2494 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R /F55 1321 0 R /F39 1161 0 R >>
+2520 0 obj <<
+/D [2511 0 R /XYZ 85.0394 105.8889 null]
+>> endobj
+2510 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F41 1223 0 R /F53 1318 0 R /F22 965 0 R /F55 1326 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2508 0 obj <<
-/Length 3008
+2523 0 obj <<
+/Length 3057
/Filter /FlateDecode
>>
stream
-xÚµZQsÛ8~ϯðÌ=ęƬ(Š¢4÷”mÒn¶Mš‹½³·Óëƒb˶¦²ä³ä¸Þ_
-A ?
-Õ{>‰ßwøÁn`‹Ð(µ¹àÑ0MfÕÅH@+¡Á/¶Õp½ÉžÁQÔÊSã?žç熘3jÀ¤ ª—‡@›¬XP{•Ö 8?!ÞÄÌ]­Ói†rS#îÉ]öwdÒÙ
-løè–‚HO†q[i×AßÓ¾g§BgÜ9þf§f‹â¯²èݪ
-ã.ÒVå¼Þ%´Í)G¨KzÎÒ:ݬðäê×^¶zè­‹ ÁOfÄzû”gÕ2]6H5=¨¦gµ,·ù¬;ì„­yiØíJ\Ð*FtZO™^%œvAÆ!hu·s0€J„XÇP@“Ê’È­DÏÌA—z‹f
- ÝõÔ†ð+KG¢»UwYžÃ†Ápždº%M4GZR×é
-TÐÉ'ôà6Dºµ
-Ò"åé"™î‰Ôƒ‘ õúàè]``2bôúp”]ßHÈÐœJ3^w[í$¥I@¡³45ðQëãÝYÑ=‡2tT8,Ò6äÜ…Á$‚DKÛº¿”lG”›
-“$'2yÈƇ@" êb<¬ˆÁr;²5šjX3"Rê£Õ!íÉP€ Ï»
-mú~0k’Z²!ŸÀ
-¨’Ñ’§5¢¦ézÁfœ^qÏzÃ]| °u׎=zíG JD!‹}HlOB”Ëu¢. Qö²FºáY0)ã¾»W7î Ù?­\ÃÕ£]7‰™‡IaG½±.';†}èðh:iÜn™M—= 6Ó: fÖ7Æ#Ùì„ÀˆREá+~p¸NøÁri?|êóäg±¾Âsî·\µÀTdŸÔÊðô(åš?æ œ$ºJ‘õ…o3 Ó›y²Íkz™L>™î’žÛÊ°Í©R ,Fú6G†ÁeheFŽe™–Åsº!4Draå&ô¸¾¼ù“ÚŒºþqUl&¢{ÓÁVéùi*Ô%Í„€E3!RX´uWäÛ(†\U‹fš ×O<0” C[éj)#è†j¹€ÙJm± %†Þ-b”$CkŒžxñøh
-†ãœ½ú+úï š <Þ¹[•Ï.²ú("ø±ÇD¼’<º\Ç¡áÒˆ°|‘<†ç©W¦´L=SvîU8óTt0åÍÊ^Yl«daÐq;´y¡èˆ·ßOÙ$ôT£¯ ¤ËuÂ&–KÛä¹%E ^\íºŠÅ
-BJäŸVÌ2õ(Ö­]}À“Xv5ë TéÓv±hnt´bÇMá/Ä|Úd× “Y.m²›WK{yÝ ïdæRD§Uk¸ztëZ-ÆkmÞUîwÄHå
-LTm|kªBèüþî©‡"YKýõ×»»ñ˜Q'¥îA+‡²­Åve} Ž°þª/‡n‹ŠÏßœÛZÆFç&|f¦ÌhtQ§³¬&¶'¦31«ƒòúçM2×üåê`íµ‰lk“PÙdULXŠ CžÉ²¹)¶Óåéy³ÞåÏË</wZwêÏ>‡úY_–
-ª­‹Éíwíkè<ߟC¸G… :_•Ú\¾žïšÖ¬i-mK¯ G¯2K2Õ·)j⮂Ós:ˆ[²9pefØ>M6F)¼½™¥¨'Tš}Y ù)ŠPRÃFËr»¡—Y²¯´‰ÁË‹ÊZ›Väi²¦–ž ¯„ ߪ,ê¥Ú]“šù¼#Ó9¢viúÍNïh‚ü¶M©ÇË+´¬R]vЪT(-Ó¼¹]Ü;¸=i¿
-ÛUßÖà|ü™„A£mш0³b±{Ù|© Æ9¦NçG#˜R ¶5å×-Óñøe™Üy'Â×Á7äN ä\T®az©]'‚‰˜áï2\íLÔ­O¢ØÞ‹
-­ÆékL÷8˜ü¼ÔýI%4gendstream
+xÚ­Z_sÛF÷§ÐÌ=XžX[.—Ë?sOiì¦nâ$©Óëôú@K”Ä Eª"eÇýô,°äR¢äô®Îƒ– ‹°?
+tÞš©ƒ¶žðUè×#)E¢µß³†ND¨|e¬qs;}óùîÓìîãÜ™ÓÐÁ†EäGdºEY×Ù|RgM“o2æ÷þváÌCöÝ•ŒÇYº¨¯&
+F)ýÕq·»ü1m2zñ%{¦Á<Ï/˜˜– À¢WrÌ¢šõáP(/W4ÞdMºH›”ÖHyN½Íæ9ŠÎXâÃs'Ìl%p·>±{™´&„-M> ìÚ2Ю¯„i°¼´f™¼þd|þdÜ}ƒŒ‰ò¥q±0Œ h+ífHšRkËRm›¼*k<Q~0ž‚tÇ]ð4OKøè–’H̸¯ëà¸î8Xáø
+¶«Ù`ÍWåŸU9­‘H<¯ÕnG«T°ðŽ–Á¹U0u4Q±q&6 èHÔÕ²yJ)Ò šŠ~Y“í (™üd¶ƒ£”~Lèâ ¯ûxÆvÿPäõ:[\·H53©¡ßz]í‹E"Ù GËŠÙíN\Ð*,:kæÂ켌EF¡ÙÝÝ èW¢aÖa
+hR[¹•è9ÿâq¥·e;ój³¡S Ô"7:(©ÈßÇ^õ¶”VáWOBPC%­Së|³-ži-
+ŽaAdò,Ù‡@" šr<¬Š#‚ äv„ dk55°Æ"2zG»CÚS€`Î{Úòý`¶$µdC>… >3Zx¦¬A’ ½(haHi±7)Æ*Ó> m¢„ T#šv¥º]T½]a=k÷P3c$ÏDM~¡Ì†yžÙñÀ~Ã]<ÂÆØú{Ç7fï'
+à\RÅç!Êå: Q-—¨wtÈ $wÒ3t´:±G2ßesH¥Ï‡ºI?
+{êM³¦>0èC‡ÇèÔ+ãžÖù|=PÑqú°•Öa2³¾aä‹3~À݉|Á Ó/0“qÂû!'@q–hÅ^hšâP§8DŸS‰YŽ5r-ŸHþQ=ÈîÊ·5†…Í2Ý =ÌfïùuE¿ûšÙ–Ô£}[À€F9˱,óª|Ìv„ƒH.­Ü”~n>LßÝþJãÏŸ LçãªØ.bMÑ›ôü¸H¡Û¨h%„*Z 1ŠÑv\±oórÕŽ‚Ù?QLÚt`P3 †¶Ç#¼&RN  }r ±ØIíP ¥Lï·/‘&CkŒLñù3C/U»ø»|ÂҬ¶d{T`8Oë¬EKÀ’_óšÒ%’y³0‰ûXdM¿0/”¬Y97è Š œæÇVlÒ…PO*8à¸í8@Vo ÀÎ,VÝÍÀ@ïG(Ô³”Ã7 ÐGžì]‡mªG ys T¤¡éò_Àd—ë4´\ÖGec(¼$zaIË4°dïFE
+/Š–¼ÝØËŠ}®7¡íåE¼‡øzÎ&/Z¤å9câ1ÖxGDÖ³Eö˜Ác‰Nñ9•,Ë‘Jý^ÕI´«ÓPZÊö«U{cT:m&ˆøÅŽÃå:c*ËeŒuûb&ÉÊUN¡—Ì=¨Ã5dݳªµ\ºõm–@U ÔSîgÄ™0ŒJ€‰Uþˆi·Y9¾§ÒQ`ó øÚÉÐoóAŸ¨ÜE1ŸÞ½™þCJ"×û-<=ä q0òÔ¼~EÔí—y-å?)Wø‘ˆ•ÖC¥7F=ô\H”é&ë m0äÅ^É¿v;ê检 #Û°FfÙÙÝý݇·4Ùi^¬ÜÞüÓW[ŸjºŸÅBÕäÙW[nrJ
+8è.¥µ- ¼üþîïonè %¯Žúã÷÷Ó© —T§*­Vû Wõ˜aûõPÁÜu,œ}/_]ÚÆ… “KΘ9÷mN.›lÇÛjÓyÊ/SÞôºð~Ù6$KÃ_mö~Јè® MGMVÅ¥Ì1Ëq/¹ßÙÏ×ç×Íë¡t½¬Š¢z2ºËÐ|ëð%4Ëæf¦Q©)1´X¬d¿_ÃËËçKÈð¨Ô=—›Ê˜ËWã˧v´hGk;2{Âٛܒ¸U’¶ÊAMÜ]H6½¤s¸'›WÎÓž³tÇJáUÍ"C=¡­ì”j* T¨ià“uµßÑÃ"}®‰ÁË«zX[IYº¥‘Y ï˜oS•Íš…öW7¤v=ïÄrŽ¨§,ûb—w4A~;¦jãø¾¬«Ô×=p€–úȬh¯”ô®Jºë~×Áׇ7a®3œOŽ3œV¨Î \ÍÕ ®7ï¡ Fû²Á«bg{Ý~– Á%VK—'˜ }èÖ^È_Óéôe™Ü/wg²êú]µ4f8La*€¢@Fg•k™Žµë%0•üüêjÇI?±>‰{ $sKt-hL·ø‰m@á9·³+ú}`!í7¤þëvìHðŠÍOƯ—¹1¯ X³×λ¨Éj:‚¡‚¡Û²þUí¼Ø/N~ù³½­}°ÛÉ(«æÔ·-›ñÓÖ‹õ´”‰Àjý|LuLgbŠ™Ü/¹g.8Î…ÔÔß9ÝZ¦cåz!x"‰!Ó»ÚqŸ­9ု$ad¾ èÀÆT‹Z]M­©ySÑï3ðõ•¹Õ !5pè »†N,$ó­%ɤ`‚CG²ŸÄ¾9tÚâŒ(J_¸{q˜NLJer¿ÒƇçIÿ[D‹ ˆôYåZ¦cí$ð㸧Hl?ÎÆž ˜@m€¸\äƘ¿öÆdktô3P~z¬¾Ð—5@"±E»„H ý#ÙÒ†Hìu!‹Šö~ˆ@>Séje½žÖn†´`žº;—¿ Pm”Ëø«qg,ðžRCžõÚJþÿþ_DÝ—
+"8dñ‰¼µ¥€É¡U
+­+µ|døÿëþ_—!SÌendstream
endobj
-2507 0 obj <<
+2522 0 obj <<
/Type /Page
-/Contents 2508 0 R
-/Resources 2506 0 R
+/Contents 2523 0 R
+/Resources 2521 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2514 0 R
->> endobj
-2509 0 obj <<
-/D [2507 0 R /XYZ 56.6929 794.5015 null]
+/Parent 2509 0 R
>> endobj
-2510 0 obj <<
-/D [2507 0 R /XYZ 56.6929 749.2278 null]
+2524 0 obj <<
+/D [2522 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2511 0 obj <<
-/D [2507 0 R /XYZ 56.6929 666.0142 null]
+2525 0 obj <<
+/D [2522 0 R /XYZ 56.6929 752.1577 null]
>> endobj
-2512 0 obj <<
-/D [2507 0 R /XYZ 56.6929 495.229 null]
+2526 0 obj <<
+/D [2522 0 R /XYZ 56.6929 580.8648 null]
>> endobj
-2513 0 obj <<
-/D [2507 0 R /XYZ 56.6929 173.6231 null]
+2527 0 obj <<
+/D [2522 0 R /XYZ 56.6929 258.5279 null]
>> endobj
-2506 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F41 1218 0 R /F53 1313 0 R /F22 961 0 R /F55 1321 0 R >>
+2521 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2517 0 obj <<
-/Length 2675
+2530 0 obj <<
+/Length 2496
/Filter /FlateDecode
>>
stream
-xÚ­ZÝsÛ8Ï_á·(31CŠ¤>nŸÒ&ÝóÎ6Í%îÜÍìîƒbˉ¦¶”³ä¦é_
-©S3ŠS#¬Tv4[ÈÑ#¼ûõD1ÏØ3»\ï¦'t<JE…ÑhºèÈJ„L5šÎÿ.oo¯o®&ÿ:‡VïÄÙØJ|¼¼ù|ù;ÑnÏÒ0¸üõúþl¬ÒD…À#[$ƒ«›ûûë÷ãûëétòñúì¯éo'×ÓÖ®®íJj4êß'ü%GsXÂo'Rè4±£ø!…JÓp´:1V k´ö”åÉýÉ?Z·nê/ŒM„ M4[#Â8L†=&…´àql¤Ã$n=ª!y.ôØøzñÁÚ§Ël
-‘cž5ùEµXÔy³ë¡­JF]Å{æµ\ö…]­Q*´Öªoà}ÞÔgcmmÐ<å4@‹hT•ø4ÁËS1{Úáú’¿Ò ðó+z>0C6kŠ¯ jû…&¸\4ùÚ Éš­®s&j@òK±\¶2Á7°M°„$ÆE+‘ZK¨,ÊÙr3Ïç„À¢¤§‡ƒïUÉ£¬džMí¹Ñh|ÖÅ#Ï+±‡M@”F"U&=Ž’.×a”´\%wÃ(‘R…?-â®Èa”Ó€y}$"Ž­îÛÇ IØ«8`ÀÈž$].ÚJ~~E›ýp¦‚œ†ë3•ù×ê‹CJ Å#ÅIrHa…€1eW¼òHR‹”D$aª=RB·Ž?¥ÔÙã£ßü¬¦gß­d0iè ÉÅÑCîáõ³`Û—ñßÂ"Z$ÕèÛ239ìM°—Š(ÑöG '…‰#}Ô¶–i߸>ô¬06Ž{Ö1ò´0`äiFP<òº\ ~~E“˜6½)è‰o­n¡§[è±F RvH>CFuÓ[Za•Šû(ü3`6GÅ.–ʪùÿ€JA2Hâð Tu¸ŽÀÊs9\] Å4Lîñe¾$M“ãæµ\öíf>(aTß@‚Vjv= Z8Bh…aè¡Õãr[ƒÂϯèé¶&ÍóeNyOKå!E"R^nr˜ Èå]†QÉ’—UùB|LŠ}LýDxâ÷§´Ò‡¹UöÚ„«ÌOÜ@6¶œÏU]4ÕúõL)0hŸª—ü+›@€uy6‚ k}y]®ÃÈk¹ò
-V\ofì
-Ü2@kÓ'Ž`‰‘ÖIme¶rè’ [>Vë¢yZ¹ß1ïí+—#°úõ ˆ  \0Å­Ï~ÛÍ@"-«MÝÐÄü PQ._é÷*kœOœ¬ªfi{âY’w®Hö‹Ç­Ó`å0u^†¾~-\–‘>8àTƒOJðjëAG§Ü
-3:2T;I¿¡žútPüœ­±§dò+=3f[æÍÀ…»ì ÄÕÆ FM±rÙO¦´ã­6;¶ß£$/§~ÎgÛøŠÚ7MOH鱆eFX9”§ GLïÂ6lé]šÎL>¦H£cAdw*œg.PxÙHƒeí!Ç Fð,'û;C¡çÜa̪r0Ì@Š¯óe›ùuhƒbA¥…)Eáâv»¤qTSܳçX$8Çâ UÛt*Õ:Õ’‡ø9þ*®úQ—‹¿Êµ‹b÷aI´ñá‡Ý‡-Wr0ììh¥ÂHèšPâK‡|þtsN NHàÄ$2
-¹+ÿŽ~c¾Æß”¯Ñ“ º §3/ƒ®à)g¢?»è%w œ—¶6E[áÜ
-Îv®ùožzþÝfçå$Y‘È4>^þt¹—?-—+6»*S#Œ1o¨ôL*»NÑÃvGåmÇw°1uŸoüW èI}ä†d}Âaïh¼pzã>­ÃtÄ7Ìä\óüf÷ùþâöâòâîbrqu‘-—ÏcnûÎ= Ûή‰Þ•˜1è¢MÁ3"w€oá˜nrzáB& ×À;×r Ϩu-ÜK^|0]ß…x)cÚË ï¶êV„¡L˜¥zæÕ¹ ÐäoÚtdE„.îÅØmÀ‡Kå"<éŽ6•´ ¬¶U¾^ГŽh*Y
-R /!4@ñÃL=‹rŽi“gøî^xç¡àu‡Ô›Ï¡áo~ Kÿàý€›‘ÄÆ3,8ÛŒ²"…ãÖÕ´¨8
-f´d_ôÅßIí[§P›ÃäßãyÝà䵪úålljR2¡Ž}l½üyU½Bö¨¦à¢üG¸»Ÿ×ä?üغ¬°Zùó?Ð66!XdSµ àõ^âìwßí—Wu­‡´ƒdI¯ýjp­&JÂÞZ»:Ý…fO_"Nñsï~rËü-µ;J]I>Lœ·)r(4èò„4ÛÐàîè8Tî˜q-‰¬ÿV1\Hð‰Áö’
-¾|»¾&+.¿ÿ4 Ùa·.€œû˜—xyšàå&¯Ã Åc‰W¬×N,´å툥ñÖš,~7¹¹"!)[3‡‚ ¨èsýFÜå ª—órÆŽü˜•›lÈø§?®C@µ”´`¼ûðž$Z©Ô€<£Dˆ‰ã˜ubDœ†Iß¿—Ÿ§ÿtwı\qM°,sÆÎýkÝä+Nïï«šœ¦Ø¬ý¿
+xÚ¥YÝsÛ8Ï_á·È35CJ¤>nŸÒ&íyg×ÉÅîÜÍm÷A±åX³¶ä‹ä¦î_¿
+•$þ`s¡M ŒGY_L/þÕl}µSûœ¡M,Œ¯ÃÁ˜ƒPúý.“BpÁ(ÒJ(­‚Æe¾ês™ãB—ƸЫƴ8ÆáȱHëìª\.«¬>ö‰
+¥ÐQ ÚŠOÌk¸zìó[ZUh„6QÔ5pšÕÕpÊ«W Ð"I¯,ˆò²Êç«#®¿²= r7¿¤IÌð<T±—Õ9=x×Ë:{&Æz•Öï`húä¿äë5ªº‚pì›F©¼ DbŒo×”óõn‘-“yAO+ß˵áðqW3?IŽŠ’I<mW9‰¸R|VùSᦋ@3jB8A‘~Xžó°b ª›P)<7Ñ€J‹8Iâ× kxN,ë*TÛ4‚“ïìnœp„pò}ßÁ©Ãe·¹›_ÒÓº&-²uV[R9‘„‘Ó„ëÇ=rygaT°äuY<Â, à×Å‘ÛùÀš¥¤÷E9fÜlÒ= è
+:Èðá¨ý„BvÛ¨»"ڜƗ¼›Šv¶ZyÛÝ#l<ë@G<ã7hQŒE¶â'J"Ê¡Ou\ƒ NŠò6y±«Ž¸ÙØ#ݸbŒ_Óõ»¾U4 —° eº[Û`ÝÊhä¯é¾:›ÑL5a¤’×cL›ë|Œi¸lŒÉ{‹%å—×ÜêNÂ
+”4/¢×mk¸zŒë„Â8R]ë8µ…¡; ¦€¡1ÓrQÌrJïˆd íˆ#yã%‘xÆ#›
+¢±¦Ð;QÁqÀta6…™ ÒWGI¿6I‚âmú ³LÞÓ3e¶u–Ò \¸ÍÎ@Üì,`Tç›ýdB+ÑÎj}d¼3¤A’“Sm³ù!¾¢ö]ÝÒ]zO¬a™!VÅeÍÓ¹° [Á± uk&S¤Ñ± ²=V„5(¼l¤Á²‰ö˜á#x–‹“Ý¡Ðó î°òæeÑf ÅWÙºÉüo¼|I¥…)Eáâv³¤qT6[óãX$XÇâ •læªÆ¨–ØÇÏñWq¥ºlüU¶èY»K¢ ?ì>¥\ÉÁ°µC¢ H:ˆ¯ÀçóøçŸà„NÜH"£»tßèó5¾S¾FOÖDh'œÖ¼:UÆDwvÑKö@X/l
+¹=¢ÇA­pahcñ/4´†¼äUÖmZÜŒï™UWvǽ»íÒ°~©m'§›6Ï0 ›…Êva ºÀ¸n °l%?í6YQÓ'jû°¢Z¯¡8]õqOT(‰Ù–À’àÄï¬6„æ·Œe\î/­âлܔÍðå’­¹\4´••Ï}ž¼Üä—\(D
+ç{žs²³ý~½êø÷œÏT?ôƾŠßèèÛ\ç«Ÿ†ËV?»c•‰Zë7T:¦•m'èas¤ò¾å;ؘª ÏwÕ-© Üë M8ï Qä¿q‘ÖæzÅ;ŽËzgûfÿùáêþêúêáj|us•®×g[ÏWm<´ž§Fö¶ž+C1mÐED“‡çDnÁ¾ÂaÝeôÁ ÌB¶A€o¶ïêŸQ j]¸¡¼ú¨Ûþóñ^F7wAÎsG%®ð}3K¹å*ÕÙk Ðä®Ø‚Ј½Ü‰O‡°ç–jFxÚ°ï'’V„Í¡4ÂÏKzÒAM$K¡³
+ô5¨€˜©¤g^,0wò ×ÂÀç<üÜ"uæs€øGŸÀEPÝKßÁ§ÇM±ˆ#í–œsFZ‘À¡;.sИ(ôæ´dWùE!_LZ%P Ãäß÷á©=`å5ªº5mdÎjR2~¹{ýóª:Õì«š|€ ôL$èáç5‘û¾–?¶.#L \÷hi,2ÉQÄ7AôÙmÁes¡h$×ÇÚA²
+¥Ó~Ó»VÆ~g­möV³£ogøOÊiŠKÝõ´=JmI.L¼ke_h€d®µÔ‡Ð`/ê8Z™‡ÆýOÑ_%h?‚X£”+bj•ooÉŠëߦw=’ûËH½OYW¨1^qòB\í?xÑÚúlåI{?")|¼·&“ß'7$$asPäU ݮۉ‡lIUsVÌÙ“¿§Å.ísˆ
+c-¶;¯}@Ñ7h|øø$©T<­tºêU±QâÇÝ:ìúóìŸwo{vŒa‘1x¦ûªÎ6œå?”´:u¾ÛôjMÏr4`; `ÿ^ÄÑ’òd7\å
+PÑQH¶MÒÞ-ƒ$I‚NIèY›¾@¢ý[x¸_?üáÒvuY®Ïý‹ˆö½—ÉÆ»ÿ÷?Œ‡ÿRu$‚8>S)Ü@øa£põÊǦ› &ö£ÛÿíJ}Yendstream
endobj
-2516 0 obj <<
+2529 0 obj <<
/Type /Page
-/Contents 2517 0 R
-/Resources 2515 0 R
+/Contents 2530 0 R
+/Resources 2528 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2514 0 R
+/Parent 2509 0 R
>> endobj
-2518 0 obj <<
-/D [2516 0 R /XYZ 85.0394 794.5015 null]
+2531 0 obj <<
+/D [2529 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2519 0 obj <<
-/D [2516 0 R /XYZ 85.0394 317.3568 null]
+2532 0 obj <<
+/D [2529 0 R /XYZ 85.0394 412.9404 null]
>> endobj
-2520 0 obj <<
-/D [2516 0 R /XYZ 85.0394 151.6417 null]
+2533 0 obj <<
+/D [2529 0 R /XYZ 85.0394 253.4434 null]
>> endobj
-2521 0 obj <<
-/D [2516 0 R /XYZ 85.0394 84.5094 null]
+2534 0 obj <<
+/D [2529 0 R /XYZ 85.0394 190.7041 null]
>> endobj
-2515 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R /F39 1161 0 R >>
+874 0 obj <<
+/D [2529 0 R /XYZ 85.0394 151.9563 null]
+>> endobj
+2535 0 obj <<
+/D [2529 0 R /XYZ 85.0394 115.4729 null]
+>> endobj
+2536 0 obj <<
+/D [2529 0 R /XYZ 85.0394 83.5538 null]
+>> endobj
+2528 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F55 1326 0 R /F22 965 0 R /F41 1223 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2524 0 obj <<
-/Length 2560
+2539 0 obj <<
+/Length 3044
/Filter /FlateDecode
>>
stream
-xÚ¥Z[wÛ¸~÷¯Ð9íƒ|NˆÅ… €í“×VSo²¶9í¶Ih‘²¹‘HU¤œx}7Š¤ ÑÝ?†3ƒÁ\¾E&þÈ„'(QTM„ŠÇ„Oë3<y„µ·gÄÑDž(êRýtöÃ_™˜(¤šLî—^a)Éä>û4ý Itðôêf>Ÿ]Fóë·7ÿ¾½™GD
-"¦ww³›«ë_Ï#Ê11ÆÓ_.n>^¼·swçŠN/ÞÎæç_î>›Ý·Šu•'˜i­þsöé žd°‡ŸÏ0bJòÉ7xÁˆ(E'볘3ÄcÆüÌêl~ö÷–agÕ|4Áˆ²„¬AɄĈŰØ5WˆJA½9`ãv˜•u/¢ºx,¯Ê\ï D,A*Òߤk3œiÇΚ
-#%°e9ddlö™RaGÖìv¼_×ÔEùh_šªZ99°‚çÔ ŠÁÔé>)«M]ÔÃc` ™°IB’XÉÙ¨O9öˆM‘ $™D]Ƥ1 8XKÜ~Æý¥_üha·Â÷œH¬PÌTâ5Å*­kKÖH’R(GÕrÌG2áÜ‘fÅ6_4Õö%À”Ç(¡œ ™^µ£Y€}‘à̳ÏËǢ̼ûZ´ó
-ûŽ½MKðÄ,>…ø0
-çí¨Mu“n›cY
-ª­\ùßÚ¬iBNNRŒ°kÚÑ®=ÍNÌ}¾ÊŸóÕëë̯áT¥+!j¶¿7¹óÌ~z"‰óÒïíè÷vÄF7T§«{A}V¤ô¿gà´)ª²~ýÉ^¸‘®þ¾Ä€™H‚$Ù›ÉÆñ'Hå¡/!´Ñ)œˆ>蹚Í/?\ßÝ_ßÞ´õ 
-ˆìZ/¡F =‘ÿ8'àX€–î\ÓÕÊ|€fûÖ
-ÜÜ6:jhA’8Q#¶éP°§2¶ñ ï¥}ÈR„û®bJ'L¨ä'óDÅè ÊÅD_³ù&_ÚózФ:_4šõâ %j3hN€ãÐÑósv¨N˜ÓSs^¸d| ËI‘ž( ²W("2–}‘—Õzñ¡X 8KÈt]eùçgdúÖ¹›]e ÝÝ*Öm_ KDâ$ãjkû–á+0`LZÐæó‰–¸Õê‘eEcÊKôB@-I‘TÊ箬>¢T¼Z)Hù¥­U1øÁÕ
-tB¥‹.Õqÿn©Œg¡tŽ¡8 5Õ]奈ÁaÖ®¥
-¨×K
-ICŠiU®t¶“±U:
-õdÐÚ¹æe£-®)Ó]SA‹[, ¿ØÕuZ¦¹#}x Ä(…_`Åÿ`ŒBƈ)H^#ƒ¿ßXž¿q-
-š Wˆ\AZTë‡}{±×qÅtïÝ"½èÖ6ÇÛôÛk²¢°öZÒv:»õƒ¯~»M–ê38š˜ˆHfÉëROL-•ÙÅl´Fí¯Ä{
-Ç(æLžV­¥
-èÖGµú¿Ç=å>Ö&ýƒ“jTA Íܾl
-5ìËÒ„o.*×v]Ô„üeÐLäëMã
+xÚ¥Z[wÛ6~÷¯Ð9»ò9Š ÁKúäÚnêÆ·œn»ih‘¶ÙH¤*RNÜ_¿3€"%ˆòv“Bƒá`0Ì|3´qø/F:da"“Q”Ls¡G³Å=ÂÜ»#ay&ŽiÒåúáîè»U4JXÊpt÷Б3Çbt—}ÿÀbv øøìz:=?L/Þ]ÿçæúüx"âHDã“ÛÛó볋_'Rs`fÎÇW'×O.‰v{œÈñÉ»óéñ统ÎïZÅºÊ ®P«?>}æ£ öðóg*‰õè+üàL$‰-Ž­˜”r”ùÑôè_­ÀάyÕk Á™T¡ôXCŠ‘,ÑZöÌ¡*©Œ9¦/eµ¬‹z{+J°(Õ(R¼ÅßÒL-5(·G/ ‚ZF­@øÉq¡VYY×ùlRå_U™OB8‚O“ô³ÍPßï~„Å7’D°@%!,2f󴮉­· LXG‰åj%f‰J³8ÔÚ²fÅ*Ÿ5ÕêÅ#TƒòR‹m¡gíèÜ#>Ô,ÒʉÏËǶº+»¯E+1÷Hœ¨ dZq=š´oDg“¦Xø„‹%¶…?´Fµn–ëfòPÌ}bikÁ¶ØÇvôÔŽÞ{–J4 ü}Ã9¨ÿ—Ü'NÄ wëB­¸K¯­am¥„t¶¦øRç«"¿þç‡ý®Z¤Eùz‰ÅA‰EÙä«g¯–{üáâ2;T«EÚxäF ÔÎ1ýqPìEºú62)ƒ‰×Þ“Š8üˆãþ­¨«tB§µ_mÁ E¼-ªÃ÷cU<þ/§vóê·×Ä‹x¼ã»·íhÙŽ>´£•Ï^2!²}s­Ò<1ËŸ÷ÜB¾{ §í¨>þê&]5û¢d¬(Òñ¶ü»ƒ6kŸ“‹ˆ%JîˆkÚѺ=ïNʾ>ÏŸóùëó̯þP©+I?”ä߈ÜyF¯ñ}^ú­ýÕŽÔÁ ÕéÜç^R±DðþÓáÈ
+"óÆÙùôôÃÅíÝÅÍuûÒF%NoaþñazAö/ž’‹™ÈXP ƒqŠe60Ri1¾hˆô˜—h”Ü2^¥ ¸dDúð€)ÑVÇ"ç³Ê<3'›ÕxiÈU¶žåýeQ‘ÜJ{ÎW5œ
+–Á%“gÉ^>LÄAÜ_ò´Z,!"Þó¢gS¡/ª,{<ÑJŒßYw£ _”Àê6QÝò¢ÄÄ“|Áâ …Úhß2]øÒ0-hsñ×ÜJzdYј´¡B8³Ê£V,Yœ$.veõ¥úˆàÕJAÈ/)Wà‡N‚­Xײ(]lm=êÍV\\×y?~Wó,·s65ntˆD0)Èíò0"À^Fâ°Ò~ÿæ!ãØÞöï×€;.ãß™/\€c$ZùŠê®rBJ¦à°†µk¹<êõ‚†Fq_¿Ëªú²9"OÊ™ˆ|N5½‚pÏ¡|—¦'*ÀR^E½»`=Â_Äàæ‡è7(ú­ hÆò+¨(dBë®ÐåÚï
+-—q…³Pfã‰^Ò1y–ì9ºbðuÉS¨BЈ£qUÎ1ÚňØ*¼…HìZ¢5/K´8r¦ë¦‚·˜A6~¡ÙEZ¦¹e½ñÜQ 5~Äý7ï(DŒ@ÊqÁðF02øû -ˆðü-ATÄ8¼^B…(5"\ŽC£Vñ‡“+¢m!yì- >¾x Ùz%°ºÀ†?ûpc X+WðO¦žM:´çüñ-ŠD|‹OŒnR)L×ïÏóêiwæP³ù1¯++ªœi¤†2RÅ[ÕÙl¾†«ˆHQ¡x`¨×ó†v ¤6Áx–bÎáz|o EIrÜ/z6N5[Ò9½D•Ä¶Ì¯Eóäñ%F›^\Ÿ^~<;÷ÝdÉt$u{“Ô»'cJÔaiR%y @
+¦?ªñ¿©™ðèe1§«Ú]ööýéôã—nW4SØg–O|ûC
+a•-»¿Ìj!¾ß*&òŲ±
endobj
-2523 0 obj <<
+2538 0 obj <<
/Type /Page
-/Contents 2524 0 R
-/Resources 2522 0 R
+/Contents 2539 0 R
+/Resources 2537 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2514 0 R
+/Parent 2509 0 R
>> endobj
-2525 0 obj <<
-/D [2523 0 R /XYZ 56.6929 794.5015 null]
+2540 0 obj <<
+/D [2538 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-874 0 obj <<
-/D [2523 0 R /XYZ 56.6929 769.5949 null]
+2541 0 obj <<
+/D [2538 0 R /XYZ 56.6929 749.4437 null]
>> endobj
-2526 0 obj <<
-/D [2523 0 R /XYZ 56.6929 743.9934 null]
+2542 0 obj <<
+/D [2538 0 R /XYZ 56.6929 620.9614 null]
>> endobj
-2527 0 obj <<
-/D [2523 0 R /XYZ 56.6929 710.6034 null]
+2543 0 obj <<
+/D [2538 0 R /XYZ 56.6929 537.335 null]
>> endobj
-2528 0 obj <<
-/D [2523 0 R /XYZ 56.6929 640.1221 null]
+2537 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F41 1223 0 R /F53 1318 0 R /F22 965 0 R /F55 1326 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
-2529 0 obj <<
-/D [2523 0 R /XYZ 56.6929 503.7965 null]
+2546 0 obj <<
+/Length 3754
+/Filter /FlateDecode
+>>
+stream
+xÚÅË–ã4v__Q‡ é1ÖË3«†nÞ]ôt`áJœŽ!±CìtQ|ýÜ—ÛqRÍ°˜ªEä«+éêê¾%uÿºÎ\›Ü^§¹\¬Üõb{_¿…¾/®”àÌ=Ò¼õéÝÕ'Ÿ›ô:òD'×w«Þ\Yg™º¾[þ<{þúõË›_ýøl®]<û4z6wq<{õüæûçß2ìõ³\ÏžñòöÙ\e©J)C´$ž½¸¹½}ùÙüö«/nþóÝÍËg¿Þ}}õò.Ö'^Å©úãêç_ãë%ìáë«82yæ®à#ŽTžëëí•u&rÖÙ\Ý^ý;LØ륡SÌp&‹\¦Ó nhÝㆊ¡m“ëÔåQb´!ntÕ¶„]ëlVµò[/«EÑ•Kþ¼äßn>ÆF>{XW‹õpÈ ÿ´å¢©—[ퟩlÖlù«[Ë*‹Ãž:ʺ“
+ª§²Ý•‹ê—8Öåòct=7i9—&×s¥¢Ü9Í,!ZA†´@˜­mUZn*þY7‡=·~‰]Ü5Ü.6›æ›«Fú›fñ;7ÛßË@—)*™ñЖËèD´â(v  QªŒžÖ Aš÷±XÔ”^x,Üö\8éÜ@f¢4Ëp²¬—å}Ú”5Qbí"qk‚ºœÚ ä3·äÝâé­@Uóac ‚Ê­¢^J¶Öe=Â[Öåž…?ß¼Mæ&Ÿô¢¡_b–î*î
+ΑuHí–†2ëFŒ¢É´DÜW¤`9Uàilæì!ËrU6]4¥I”åJ¿ÇÁÓ)eq{hÅöÞ‹å…Ó+ÅvkPŒÓ¥2P¡,Îþ¾žµ¹‰!ÊE›ÛÇ:osÙܧl®ŽÀíVýÙ·ðSÎZà<”Ï‘Ô€5AkŸ-:¶Q ÝCbÿ/˜¼æ`Á¾yù‹!†Y6ɆRøæM[¢Ð$Tq³áÖÀ’—ÌîÖdg Ëÿ’!€_’4øeá' 4¤I2[m)ȼ3¶|!ŒÚmõ¶.º¯(CêÒÏÇ+%³Ø¡rßV$ãð½iê· Ü¦†DpÒ‰™“Y#} вç戙ÿh
+\ˆÞFhpS6ø ¤³Ý¾zG§‰‹f»kj¶¸ÄŠÁù›Ûo¸Q ¿—»NÈXá¢`ŽLU 6ÊÆ„¡φQ{ðÈÇTÞ0ÎJ8±f¯¡YQ ìz|’Î*M«B‹ £×Y~Ö‰§Qžû·|8¸‹œ½u–õ½5,&^Z•,ßwŠôÉ¿'Þ:ËúÞÚê”›Ÿ’õ
+’"&–¨˜›#.X·®¨êª~˨ŸýYL
+LM1ä–ª@.¥üvV—ÕNõÇ9°¡Vw9Ã
+D-ÞÆM öø<4‡Íò erÊþE)ä‚—rë¼SX䔿z*ó!76—`ï$õI°ä›_¦/`M8Œ‰øc¹…w>«ññ¦QVRwLy| B˜¬œä”ÉØÙë¦m«ûMÉH<Y+éËQN‚¬ T>WÀ°¶ƒ'Oãrçý™ØW¾*¥¥|š4Ôp,“Û[e_<œ[³‹L3ª Ê£ŒJJŹ;úû\ÊÆð»ÛWœV›G×¾4€_|¹”°”桦œ;Qzh,!ÓªüáÃ#lãÈm#Ó­)SÈ}Õ‡¶;‘̼!>@_÷âŠXá+[õ‚¿B.‚5´^Š‹»¥˜?ì$=…ƽLÌ¥hù¢ UXÙœE‘ Ü ›…å¹µ¯‚C{Ùøåꦛ²0ÛâwXHºÕ–u[ŽnÜq“G6;Ž<Û³VBc¦œgO„î}¬óV"`‘•øí©Ðý7LD÷'öÁÀ¢`Ç/S°&HØ´)•iû!ÜàQò©cážal  )a 
+ן|³‘œ”ï¡S­Jtätï@/"î= Œ:õ,t¯Ðü´E7¸}õ\¾làt6•¸ü´Â[IóqøŠw [0*E]Rj$5Ï8JÎ|Ž ceÿ™ÜF¤X®_ðd˜`Ò}Y(â„-DtÛ„wÜ{&ÂyOu÷x…nô152Z.cu¬µf‹]lÉ5_¤€$¥–ª"&cÆcÏ‘2Ý8–A¤uñ®Î|/ߌֻÆ#Š„Œâ¾ 1%0}1]Ç÷7õ`ĦÓ3L0AFOTã´®•§Ê[}o@ŒÒÔÌ(*ù!\¦¢öCU/ñ‰¶Ù¼""'£m«p®´Të 'Ôl«¿J?XC ákånTn‡C^I(Òñ¯‹Z™bÉrLaÓ@òÎÞ› Š*VKÞ…z3ñ"­¹Íeó Äüåù§-Š9'€vòÛ6Êä·ï<
+*ÆÀ7Å¿E×ì[™‡
+78bÚr/Xôú #6
+Aþå”G¤ (‰d°~RëÅìúX!çÈ°Vp‰¬€tJ×P
+endobj
+2545 0 obj <<
+/Type /Page
+/Contents 2546 0 R
+/Resources 2544 0 R
+/MediaBox [0 0 595.2756 841.8898]
+/Parent 2509 0 R
>> endobj
-2530 0 obj <<
-/D [2523 0 R /XYZ 56.6929 412.3267 null]
+2547 0 obj <<
+/D [2545 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2522 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R /F55 1321 0 R >>
+2544 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2533 0 obj <<
-/Length 3602
+2550 0 obj <<
+/Length 3208
/Filter /FlateDecode
>>
stream
-xÚÅZM{Û6¾ûWèéI~±Ä tOi“¦_q³±»m·í–(‹Dª"Çûëw3 HŠ’²íaíƒ@` 3ï|€bÿ˜XÅÊéIêtdba&óÍU<y€±WW‚ifhÖ¥úâî곯T:q‘Kd2¹[væ²Ql­˜Ü-~>óæåÍ‹o~¾žIO¿ˆ®g&Ž§¯Ÿßüøü{ê{síäôù«—·×3aS‘‘E²$ž¾¸¹½}ùåìö›W7ÿþáæåõïwß^½¼kë2/b…\ýyõëïñd{øö*Ž”³fòq$œ““Í•6*2Z©Ð³¾º½úg;agÔ¿:& mld¤N&3 ¶©–ã"‹£Ø€f©Ž£D¦ª™c" T(²Ù;Üèg_Ó¡"²Î
-ž½Ú6EUR{“ñ÷ù1s ®É 6K‹bˆœ1Òoj³_7Åv“66Å&‡U†šÆÇ™¸4JÅ…#ï>ñ@ä|=rà.Ò¤|Þ‹j“åÑ‘+XRÅÉY¶Z¢c¾z®€18õc¯ò2ße Š&Ñx21ÓߣÁþ‹ú꼡^àŽˆ‹‚N{›Šz›ÏáÏG~‹M æýÝË_ %øÝrÁKܶ³ã‰+ƒ'žÓ‹Â£`_¶Ýæå"²„$ÆõOÙs‚ç»âƒ.³ ·ªå`ˆ4|^ùßÅm0:J]’^P‡Õ}T^!ê1ˆ#©
-¯= B‡Š›Õ3h*í§Eà´‰ª/%$'!ôø¥h ˆÄ²H¬I+Ëò°ÓOožaÃÚóUÿ•ú©AÊ÷-=Õ†žHà1ß²á‘p~júÍ’ºÊŠŒMwÍ "ëF­m`"‰K²ª—ßóŒ”Q¥idLš €) NŸWvEÔÚ徦¦ ŸUµßQ 4€[¶^WÔ\V<>_WówÔ¬ß匶ðTðŒû:_œ„8`Ü‚±ç!®KuâZ*qù8Ä¥å°$ÒÇN«(Ñ@v–¹–j„»Ài%*v}öZ€Ž6à°åÎùCÂ\¾pøÈ
-£g äè'á×Aj" =ÇgKtÌhW"«E±ƒŒ¬Ëéÿ{½¿ìM@Ù ç::$Žo߶ÙÏc±^S«‡áÊ$!:Å©î&E†t ~IíITb31‡ÍøZÈ€˜1ßÆd:kö´"¿Ræa>Z)™nò]]xí†çuU>€Zh+þI:2s2­x¬â
-fâ]¾m˜%.Š•¢djÔìlƒ,š c¡îöúQˆ¦î{éà’%±"AYVî!àzº='cö«º¢n*}á|ÖôÞiä¬6ÅyƒŸp䦭íºiXŒÝ´
-^¾ë ý#ý¹ik»nZËÔ{´0%™A¥I<á¿!µCÕ'Ô‡Ž€ú8F¨oȪëÏŒ þ ZÞ[#{ëÃK½µŸ8xk$ë¸cFOhq<¬Ö§/¡sDg1‰NI1tÐMhô}·N‚ô5k+þv¤‹è´õÖØö©ˆïÑiRP)k/‚ô0°ElM­îæ%°Fßy‡íP‚’H—SÙ—¤Ú{¯R nD!~NÔÇùÚDºn0s2úA+ã/4Z?Ó1UŒÆ‚™‚`ÕÇ™õuY§]+ŠÙ`Ñý®ä.^6pSÑ/†8ž)âH+ºÑa—ëCò Ò…„F;yœG>9l¦ê¯œµˆ]ò·ã˜ôãáÈ]ŠcT¢"cÕ…òX—êt$ÓRùPf9Z/M¬
-ÊUí›í¾™-‹õqø’Ä‘Nuž½–j„¿~yÌ@•¦}}±R‰dZ^ûú·˜nÐSz8ü%€‚lˆ˜¥N4ÌõЭÉ
-.—‹
-ÖWÉ0cÃC,EW\®öxFìO°öC?íÁHÛ‚Ð&kúïß ¹[î×kü=mÆ1U¨ —]ª3f¨¼¯†Kbš§õ…%ÑÈ’Ý#ƒDK3XòÍ®(›º'°zUíX,õ~³ÉvO'nè¦)¼\òiÐÑ<ì7y;qвž¤vJ·j¶(kˆ]f¨/^OŽU.ÕQ✾²2…˜Ì(qþtºT§O§¥ò§S\º”Qæ;ˆŽës ÈÈÎòÖR0ׯÏ%ÐNEŸ»ŸÚ„/£Ÿ-bï‹j_¯ŸfÁqˆ ['{Û¬®ÃhÆ}˜Ðªb9ž!úÛElÜçÝ<’Vâ‚ÝÝ*C8{'µ‘Û`³3ea·dÞÃÚpÉÙ¯+×Ãb÷Ó|ªëa ÿ”1eÆSPÞ´¤ìuP<‡pÜMéÆëçÔÂp¬({¥xŒi|q]¶ÅõŒæ W;ÐÓ—íXzH¡9ÐÊ–¼ØP„FجífŸQS4ÜÍoÓTèFý1iÀÞ0},êüÄ+°›ºXäôæ‚W®è÷žWõ\zÇŒOuUùðѺS)hÑÄö¥‚£ür»Îæ\ˆä‘wT‘PlN`ÿá´ýSM¬õjúçb¹|Gk8Ú´“¤ ¼ÛrÎý÷y󘓑u¨i3våTŽ‘¡.ÓÖG±y¸NÊãÖ×&€Ý%Ýå–|-wl>Æ
-£§oªº.î×9Ñd5ç--8Š®¬L…$ãÙ’gü19 Rs&˜(:2FVºõK…ü¨oÛXQº³Ê.{<µ¦VS© ɃTŠKÄνãr1ünwD¥Åú‰»ËPÀ'ºNJH?][Kv†Í‹'H±Š9=„¸Ûx
+xÚ¥]sã¶ñÝ¿Bo•gN8âƒ$N.9'sMë\ÏÎô#É-R6ç(R)ûÔ_ß],@‚)Ï5ãBÀbw±ß ˜/"øã‹8a‰f‘ÅâˆÇ‹õö*Z<ÂÚWÜÁ¬<Ð*„úöþêí÷2]f‘,î7.Í"­ùâ>ÿeù-Óì0DË÷·ww7ß­î>üpûŸŸno®W\§<]¾ûøñæöý‡]¯D8
+Ìê|+7LÆ© °êòKWn‹9¤3àin;µ‚¬‹k±HŒaXì” x˜U
+ ®Èßœê"ÛcMtçØqkåÆ¥ÓQÖ¶‡-&µPÅÅ Ï׌þbH¼:•ò²þB¨yýõPV?½Vb4‡nwèæÊ ¥ÑGâË öPŽ´…x’³hµ(ÓÈ%~s«œëü"±Ic¯oé²².¡îÀp…Sý_nàØ• ¬åÆ@µ¥­Ê”3m ö<+7ºâË\- ã2‰§Ë©j#‚ŠSª .تjy Úöµ Ús—/Oåú MN;5Käf¼ q<Ö~3Zò²Ç©öPvÙÙ¹]¡é•M³.ZŸôòáHk@¢Ø×ô
+Eݲíg ðÓ (BàŊߌ>eí4î͛ƄqŸíÊœæª&Ë­`íÆã”l´ñ)ãøÕψÅÈ$,OYñp5Q;_”Ždš›¾5éc)Ú™tU¾-Áäs±o˦¦YÈNÿB+.ÄÂùö7 …H-K·á– JG)BcWÑ@ÑáI‡
+T[úå¬À
++ë|ƒIߪ©}C_|)ÛŽÜÑ0¨#õÈo±Fª*´Gní1ÕAxÍè³sæX6‡¶:®zU» K@¥‹µ;hDýjææÊšê}ÚÎÔ`°mb-BŸˆ²Ù÷·w?Þü›€Ç6;e¡O–¬Áôabü&oNKDÁxØUÙÚ/½€¡Ò®Œ&êâ…pÖ7XÊsõ
+1œ; NX¬#3бÀh)§þ_F¼6ah~QíW»§Ø×ÚÖ!ráVp@´k\’ñ¼”ÛîðP•-U¥©kqCD¾á¾õà.#X(ǵ½¦°× 3øœrZ™n1ûÍ# Fþñæį:½øCcùüÉJ&¼¾q}páÚú'æ>Rø•³
+oxIh2ŠG4´Ã
+ Öñ ²Æ£Kùtg‹ Í&ØâT;a¶t:äؾŽ5ì¬?mÃ¥ßeEõ·)1SÓï´ÑÂûÍþÿ¹á?UʤÖbZ­"lN<Sxph8ÎkŸˆ ™ˆ ÞÿV ¸endstream
endobj
-2532 0 obj <<
+2549 0 obj <<
/Type /Page
-/Contents 2533 0 R
-/Resources 2531 0 R
+/Contents 2550 0 R
+/Resources 2548 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2514 0 R
+/Parent 2552 0 R
>> endobj
-2534 0 obj <<
-/D [2532 0 R /XYZ 85.0394 794.5015 null]
+2551 0 obj <<
+/D [2549 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2531 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R >>
+2548 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F55 1326 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2537 0 obj <<
-/Length 3441
+2555 0 obj <<
+/Length 3132
/Filter /FlateDecode
>>
stream
-xÚ¥]“Û6î}…ߪ‰QÔy7÷6i'Mo›Ënç>Ú>ȶ¼æE–\KÞûë @Z²%ïdnü A
-QðöîþþÝwóû÷?Üýçç»w·s¡r‘o>~|w÷öý¿nçq: GQð÷7w¿¼ù‰`ou¼ùáÝýíï?Þ¼{ðŒõ™‘D®þ¸ùõ÷h¶‚wøñ&
-¥VéìþD¡Ð:žmo’T†i"¥ƒT7÷7ÿð{³vé¨0DÆ2‹G¤Ç=i(¦Z§³<Õa&ci¥Ñ™m o˜è4xØ”ø>¯¿ODoU’…:–
-¶Bôÿš®+÷„6 .U¨s‘0Z³ëLSßÎ¥ˆƒvW.ÍoQ—-DPœIÙñ³©WÍ3»MÑ⳩*‚-JzÚrÅX áì X¹5–n1ZóXÝa+T`_k6Wi¨t
-b"Ô) ÓòËÎ0’U-Êã7‡–FíŽPŠ•© dê%Á¶eÝã 6µ ?–u¹/H&mžðÍÝ~¡å/ÆòP+[ÆîÏh%:¨ÌºD|úçä'*(ª¶!hÇ϶qxå—X¤ñø@Ut-ý**³*ºfß2zÅËË=°ÈX‹#ÏÄ
-íIGPò:€ù['mC‡vÉ°¶¼7¯“ÍxÖÔg$6p¼¬[$¬çŠsxëÀöNz÷–͇¥LFeÓmžöÐEÁoQ=l Ûœ{Â9*—ݹý9ó&·‹£ÝÞl‹½q¶âàhóÎ7îû]Ó–m{‰I3”2Ô/›aëŠ:,k†õ‹fX/wàÚσ!É!Š^eÌ!06´A ¶š§CÎî‘0IYéIâ´dèñhÒyÛ–¬9ÂhsßifU®‹CeÍ2Ÿ\3ÕZhxÛ¶+öV׈dUˆÐ²@/ƒ£UÙ‘1ñèÒ\L:˜TÇa$ãëŠí!MëÕ!YµÞ©Ó¬Ü9—¦˜“éÏé˜^ø™<¡ôU=Ò%‹ çy˜€*<b5O¢<¸ÿù 2蔌c”ºGûuŽÏÎp i C…ç
-ϦmÍ¢*= ÐÒŸâ”êœIs®ÁFQæ4HƈÞèsYî¬WÉç “Ôðz$Ztldx¦_ì’Ä'B†yê˜"Ùôhb‹T…RyíaêqIUèP¦¹ìQ=Ôæ Æ·)¢Q¨!Õç6šƒe Z<1agÞCº´Q—M;¤1™ŒOH0j-®ní‘.÷ŸPa¦¢áæoÙi×OVf}ž$X˼$¦ÃNP½ ±Ö‘9¬IKNÂIS:»Î‚Çáa :°Ó$ô‰÷ýlþ+$ÆÑÑG¾OßG¡UÌ)¤›-äíËvR¸‰†
-.‰_0Ç>Ö´p=ÖÔÊ6†‚Q%×9ðX#, dK:ȇ<Ü—_-Q—øýÉfíC®½r˜ã–»f¹™ NI¬é\^N}¬éðä±l|jÆÓ™ä¾*Þ›GS_f¿"D©ºÎšÇám˜y¨P¡Y˜{p‚¤äÖŠÑ2ÃIáûõ™ïè唯ÎuáË §‰î’:.­ÊaŽY´ía;•bzŽ¯)ýÉ"Bœ¼ ¿Öý9,«¿Ÿ_Ê/ Öݺ©Ü"QxFÒë z¬ZL%ž$5dÑjQæ~ Js ˆM;5 "œ–®0µ¼ÃV?
-ÓX&½¼`}¨ª)âY˜f>—A{ÎDð¼1TU+6P q2D¨©éYД“=‚ÚƒéŠÙ¹rŨMÒ,ËÖEE=””º1ûšœÀ°˜]×¾¢d[gaGb˜ª§F¿²LôS#(S§²9ÈŠDì y?–iÉPdúŒÜßî&&ê›DžDšˆÄ‰’:(1×?‘Ê ¸¸†‘-|uá±0u±?ÒØ›7‰â¾Ø™Áª†;PváqL6Jøíê½b[®&Ä¢eÖOÏ9ãIviÌW¥#C%´¯Kúe_,9ËeÏ–
-SÊ”ò[ Ýa
- RXƒÌUÏÍôà Ê'ÓÚê8÷ºfgKH†}î
-R7[0ÌÔ”÷çtÃLŽŒ›]­%èr@F{bàíÝý‡wÿ&ä¡ÑŽ™èÆn«1ŒØÑnÊwES´ƒvg`WK7õ –J«
-Ôå3 à]ñ2 ’—úìž~4_™ÛEÓÅcoYaº€áOÛÙ‹yÄ@L=€¬ÙÓµ¦;Ò¿¸ÎÆuÙ÷ î±FÅ°5—‰¾èAªªynOÞ.gf¬,xb‘kêÏ;(ß´2.‹-ã_feÙìLÙŽié¢ÍA‚J£“¶±õ÷©-»^zxù%…*L_bÑÁ½hOJêÚ×ë†};Zã„I,]U»ªÁ˜—Öâ­T.Içy(\A4¼`>f7ÝìwFù ÅMú8…A¤²ôºëcMû8eEµéÍè0S¾N ìmU>]ôe°Í›'ùuæ<ÖwõÄi(ÒlÈÝðZ/rÕn4ÌÔpÂöj"÷Ñ
-$-~z±ïýz°0wö{º¦BGH„·4µjÜ>¶[‡ÓÜpx2+^^Œ˜ŸLw;ó{ ÂzMõœÄ\*Qjx€9!©Ð >‚ÔøÔL°s” œ3Û?ÇËq o–Ö IwÑi¡\/á’xU½ˆt'ÒüÒ¢)ØÒ ºëpìe¥½óRcæqö:æ'¡’êìz}øÙÒé†^rA¤OþŠ –›b_,é£&À# 0æžž¾!‡èÜ#%K_àPßúÂsÁ»ó'PXó×`ÅjÈÊD2Är?/_íK§ïQ£~K¤a*RçiX «ñË7)|KÊÔ+ùqyý‡z¤¯©¸Ý,mšƒó¯ýï&½øµ8Ï^øŽ ‡4ís’u9÷SU̵ý|s±ßX Óßï~[ìQ*w%#vv¸ÐòþÊe7ðk õ5a ͆
+xÚ­]sÛ6òÝ¿Bo¥§‚$æžœ‹›s“:¾Ú™ö®í-Ñ6/éš”ç×ß.
+(e6€eà ²Ô€4SÁŒÑY”¦”i
+Xd¦f Åy~ R²6éîKHòKùò]KsÇ"OʧfQtUSÓò²èJZ­ZšiËc‘t4.ê¥_ôà-N<mwsb
+ºÖ”M*ÇÊvº†¸’;‡…ßî¾èh´(Zpñ€M%ç~ŠVž«¶ñáh(Qrð”ánÇèGí‰>Ðì¼üZµ“>ÎáxG@H4pèÃmCýP~E‘s”G&@'~¾¯÷
+¿äpaÐÜFXÑ«\ó – ³žðyr_,ià¼SÖ_Mœó®*§–7ÉyMÞq`šPÖ~ƒã­GVЯESƒPÕÂCÝ”ÝsénTO#륦ÈÌÜwàÕr4ÛödJ[1€µ÷Þv^„u¹›³ì NZ&µU‡£ÓjxŠPîúwÛ$-äšYš&€&Hýˆ5ÌhÈ[G$/«Ú ¡í kk³ð2(üü¢Y?`ÞÒÔû%" S*3¯Hd
+Z"‰£ýäÔ$=Žôœó¤&®©gr[Gs܆¾/ =1-Áõœo}„@ƒÆé‡â±€L³|l±~ME”1†bÂJbF:^Ì~‡v©\Â3—uÛ– §í †-«Ê ³ÓY€'·Ž$ˆ¹®ðqŽ/!ÌÓ=ªaî’åáÐç1õ–·÷vBNÆ´æéáÛ9„Ú;#”»OSù´`*Í”?þ
+|þnF ÷MfP–ä,BM°6Ê”
+Óͺêz*E·!ël ß -¼9ÛH_ZF> ¢™ìkUòi¿sÍ)1Fé¶ZW«âq\­âÉvo±])Ç—>xº/í—Ɖ·¿”í_¦’piYf¤ö¾ÅŒ! Ž¯z‚²ÑÌf"÷kðHË ü / %º‡bp^±Ï4Už³L {Ø4‡PûM3B9Óü¶Ï4’Œ¦¹KrÊ4G$ÏcºÖ¤’Wp&˜w4éj°Pw⢽0µD÷¾®¼Áij+7”/šÍÌ÷/}i‹‹2¼6Òœ¹;Ç`Zã‹
+7ÖŠÕjÊNåTæìŠ5ík®Ü$ÿÚ´~D^)To0v÷a¼µC‹‡•ðí-q4=®]»“F1cD(-7.­™C_|A‹§­u3i윳,KÕØØsÓ;²4eìs( YªŒ_ßÿ‡Õ+ÃP¬½bõ¨V œÕ«© Èm¸ím±êv»Bà”•‡‹PœÝKÊ2Éõ˜µ÷e]>R2ša•Kße}>
+³Þag¾ŠÅÁ]õTúÕûò+í(ëE³tf³x.L?mšœÒò²h=´?/5Ô˜€TYh³%™­ãH‡àÁ~œZÒE8ƒKu²×ÏŠ4(‰ó­¬¨ª—ØT-ƒ‹µIZ”ŪdžnÊí¶fŸ?Ý‘|cJS/â˜xíM$8?ž¾R €öÛd
+Ãâ•èü0ðºØ¦vºÄ’ã
+7ìvã·9/GÚTc0ÛjËoÚ‘ÛÛ•Aª˜4™"ØLI
+o|õ‚ÆV+Zù¡¼›6ć¾ãçBDåßOâ–~sÈC¼X'“ć†Í5gÜ‘9¨v k·øš ºgR*j ŸýzúÓådz Éi‡ƒklR µZ5Ï$ £±ß¾&ª^[ön:Z»?ÍóÔ;a´‚‡UÉ
+¬ ÿêiÂòh~ÿóWõF–f`ùž¿XÀö·R`²ž)“ÐÙ6ëZå HȆvyÿ728zýendstream
endobj
-2536 0 obj <<
+2554 0 obj <<
/Type /Page
-/Contents 2537 0 R
-/Resources 2535 0 R
+/Contents 2555 0 R
+/Resources 2553 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2514 0 R
+/Parent 2552 0 R
>> endobj
-2538 0 obj <<
-/D [2536 0 R /XYZ 56.6929 794.5015 null]
+2556 0 obj <<
+/D [2554 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2535 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R /F55 1321 0 R >>
+2557 0 obj <<
+/D [2554 0 R /XYZ 85.0394 95.1172 null]
+>> endobj
+2553 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F55 1326 0 R /F41 1223 0 R /F53 1318 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2541 0 obj <<
-/Length 2970
+2560 0 obj <<
+/Length 1845
/Filter /FlateDecode
>>
stream
-xÚ­]sã¶ñÝ¿Bo¡g,@ühŸœÄ¹:—Ú×X7i›ä–h‰µDº"eŸï×w» @Š’Û^Æ3ær±ØvûJM$ü©Ij„ÔY4I²H©Ìd¾9““%Œ½?SL3uDSŸêÛÙÙ»t2ÉD‡ñdöàñJ…LS5™-~ .?~¼ºùþúïçÓÐÈà[q>5R½¼ùtùá>žgapùþêî|ªÒD%@”"Y,ƒïoî›Þ]¿¿ùçíÍÕùï³Ï®fÝÂüÅ+©qUÿ>ûõw9YÀ~<“Bg©™¼À‹*ËÂÉæ,2Z˜Hk‡YŸÝý­cèÚ©cÊ0:& “m„¡§ %ŽâIb2ëP[mü²**Øu9>tðX¼Ò{ÙÐó¡ÞU‹ „³ l¢jËMY-‰`S´ù"oy¾›V|ΤXÐ[[Óè¢h‹-â ½ª_XXKãͪޭyÎ=íšÂÉÏçóz{®Ò`1EÕÃþ§J‰Ì˜Ðn†–´âð¹*x¨×ëú¥ßž§Án]4`U­dp•ÏW4Ðìæó¢iÊç¢GÈÜòÇ¢!ði[ÖÛ²}¥·ú¹ØZ­ŠæOCOQ2ÃDÉ$Q±0:ÌÆL $©ۚݙsês±º.a¢÷‚PS×°¶DUMÏΞ
-zN©Ð‘u*Ì"^d¦;.Ÿ·å³Ó ¼³3ŽO€! "©Õ
-ãzNב9ãj(šŠ—©`«öµf´]»Î”³9âvUw `ZÝÎà™‹b]ôÐx&+æh±Å¢¾SV¡ìQ˜8\Hª·ÔÌôævvü,¢£Kìÿµ¹.|Ää÷๫'`6ËpÉøÀâ©Ò@IkT(²L…ãu2M}*2ª©“;*ÜôÔ*äÝÆø攤!p·¶]8¢2"
->½®Žjda=o ¥ˆd÷Wv÷TÌËߤ m5¦µ-]á1›ýD€5<m O6@T±è0¨ŠÂ@Eÿáê“\‰ÉÌËÍS½mƒ²rÌÉÂ
-ßn¬@_V4™Òe¼Pû*A q¤Þµä€‘ïª
-šHfì€Ó;"„(H$Ž}5/ì,ð¡ÅÙ|±ZGÀóxóL¹:
-I~þˆOS«zÔÙ¥Ié¾³§ñÞÙqIcÎ>…fPD:ûjù¼^A¶ŒcözŸê¸×wTÖëõX¤™;íM¾n¯„ è,<½°Žjdeýð‰$”¦¿´÷EUl©M°¿¥§+’}=
-XØ ÷¯,Ëç‚GWÅgšQTózaÝ°¸/,?³(¸¤áEÞ0ô?VŒö-¦b8Æ&hf°PCe#ÿÐ…?2»=ØRäÑ–]uÍU‘#I ¿.ðRÕ}²\¹Þ¤rW”ùºíç—î‹áµæ¾~Z’~÷X]©À*î
-¯£e‚Ò™0qôFèSðJGe½ò/c^‰ßß]aY¶víuÕ¸¦v&ƒœ\]G5²¼žkBÉ$ÒÞú~9ªÄ¼×áEg§lgªMwE ½¨ÛÄží«7wÑàŽéQËÈš;©ß°ŒGuÂ2ŽÊZæò KÆh–ä´HG4"²z•iÖÉÊÎt_Ùöû
-úÚ—žö^…a K´
+xÚ¥XÉrÛ8½ë+tIU ,H[É(‹í±”©I%9Ð"e³"’‘râ|ý46Š”àejJaiv7^£ c ?2æ Iå8–â˜ðñ²áñ ̽+:¡°/õf1zý–Åc‰¤ b¼Xõt%' /²¯Á$Ñ4ààì|>Ÿž†M¯fo¿LBŠ9Žƒ“ËËéùÙìoès  ŠqðéäüóÉG3v9‘48y7O¾/Þ¦‹Î­¾ë3åÓ?£¯ßñ8ƒ¼aÄdÂÇ?¡ƒ‘’ŽËQÄâcnd=šþìöfõ§^(F” êÁ‚R\"Á(ÓX”iÓæ[X–ÄÁ7Œé:wmŽÕê^¿H_E1SXœ]£üWZnÖ9ZÖ¥˜LI':  1,n‹Æ*ª»z™¶E]™þº®Ø©U½õ¸@(CQBbçCÓä­Ç4OδZZój2¬lí­^- –»ívB’ ¯Z3“¦¿lëíý„ØO›Ú}šj«cè%Ìø8$IΩ6x67[Ū©õÖ˜ÁeZ™Æunþ‹rSoÛ<3½•@uœ´­}Lè
+D"1ä ÷ÎÁƒzãÞ8,±Á?”ÿeº-4¹©a(‰ªLÓôtq/…)î¡¿kÜŒá(hd÷p3*–¦ÓQ£4jm˜‹Žg%w¯ðù®Ü˜/Dàn¬‡õrw7Œ™áИj¢†nUW¡
+„t;CÍÀM­r+ª3·Ûdö–«&õã4ôÂ`¶;2g&Ë7
+ˆª]»;JÈâØ^›@ 0Ÿê†ÖÀ - ³ïÉ vœPÕ–§Ëô‡Mür§uKÍ«Æ®\®VºÇÚòDƒzýƒ#_=ÙyÒwTþ¿_÷/ \r“䚤1Gð±pN)$OŽ9ξ!ûþ/™.]|endstream
endobj
-2540 0 obj <<
+2559 0 obj <<
/Type /Page
-/Contents 2541 0 R
-/Resources 2539 0 R
+/Contents 2560 0 R
+/Resources 2558 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2514 0 R
+/Parent 2552 0 R
>> endobj
-2542 0 obj <<
-/D [2540 0 R /XYZ 85.0394 794.5015 null]
+2561 0 obj <<
+/D [2559 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2539 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F21 938 0 R /F55 1321 0 R /F41 1218 0 R /F53 1313 0 R >>
+2562 0 obj <<
+/D [2559 0 R /XYZ 56.6929 535.8696 null]
+>> endobj
+2563 0 obj <<
+/D [2559 0 R /XYZ 56.6929 474.5233 null]
+>> endobj
+878 0 obj <<
+/D [2559 0 R /XYZ 56.6929 436.7435 null]
+>> endobj
+2564 0 obj <<
+/D [2559 0 R /XYZ 56.6929 400.6851 null]
+>> endobj
+2565 0 obj <<
+/D [2559 0 R /XYZ 56.6929 369.191 null]
+>> endobj
+2566 0 obj <<
+/D [2559 0 R /XYZ 56.6929 304.9229 null]
+>> endobj
+2567 0 obj <<
+/D [2559 0 R /XYZ 56.6929 234.5864 null]
+>> endobj
+2568 0 obj <<
+/D [2559 0 R /XYZ 56.6929 161.2849 null]
+>> endobj
+2558 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F41 1223 0 R /F21 942 0 R /F39 1165 0 R /F53 1318 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2545 0 obj <<
-/Length 1715
+2571 0 obj <<
+/Length 2387
/Filter /FlateDecode
>>
stream
-xÚ¥X[wÚ8~çWðÒ³pku—õHÚ¦mÒlIÏéž6˜à-Ø,6ié¯ß‘%”¤»{x@–Fsù4óilÒÇð#}!‘ÔT÷•æH`"úÓU÷ïaíu8™È Em©Ó›Þﯘêk¤%•ý›yKWŒp“þÍìËài4 xp5ºŸGgoÆgïÎ>\½FDIÆ£ëëñÕùÅçaDqÆxp9ºú4zo箇šF¯Ç“áíÍÛÞø¦q¬í<ÁÌxõwïË-îÏ †·=Œ˜ŽEÿ;<`D´¦ýU †gÌÏ,{“ÞÂÖj½51”K€E ÂCF"„Óˆ NÈ( Aæ¥ d?‹<ýŠ1]¦‡kŠ¤T-ñi/0M[¦µB’Ó7‹Ôbîì×ãi‘WI–gù½}®¼qÔMöÿÎ=—Ù}žÎÐÑ9TVˆP?]Kê è¼”ñÿ[º;´©b?cÓ l¶1S1¢19°9Y§Ól¾ƒÀ¥|_dÓ…‚/¥•‹b»œÙqüoËÔÍÔØ)ÀÌÍ,œ
-‚‰xp1·Syq¨=Ù I<p;JãŒ9¼tv3ª>­Z­êªuîfËeã
-Øð'oˆ¹îúW,ð»V$è%Æì%Q”+X"æö¡rpšN“­9LFÉœ®;#Lœ3Ñ$à&X9‘b]eEn4ÒAVÚÿ¼¨ìà.­ÈX3‰©Å¸ËF³lÐüÍí±uoF«mÙlwzóŽÇ| Xu1X%e•š$Ô-ž¯Ç»4è-EJHêq¿CO'BÌŒq*g’ÒÄm eùC1M,æyYßÜ’©ŽceˆÇÄc9ƒ£¯¦x
-½@cÚ„fJ¨Ý–¸ö%®ÉA‰ëGJÜl- ¿5©®pÇ*ÌD—'Ï'¶°ÉÐ0J’w![­‹MÕ°B- €z*Yù{ØŸI7û”DŠ
-Ht: ©:çpŒlDbeB¹IDUlSäÅ0’¹+2ö¢Í$³ÿ…ýo§ƒÝÕM‘zî+a¼K³Gj1Ä×]µÈ¶!ÁdŸ5{Ñ%|2H!¸'gç$€¼Öˆ˜wY¨èØ°‚NAS S›@uåÁ³oøNHB—©‚pD>p¬T3·Íܵ¤)Áƒþ®iO r×DL* 7FºÈZïçîòͧ>{ýý™ö…e¡®š[t/¨qh§±–±ó8OVÐ@Bë9]6AÏ":…Ž\i…˜„¾sÞ>ðæhÍuñDþ&4y`Övå!+¶årg—ÖõØGHýýs³tžl—•Sl
-A:õ!û¦i"ž>¾:³9f, D¹ i;S-P¬›ÎT×¢£O7o>||·‹J"O]fNvЈ¬#y b¶]íÍrĸlŽ+†—|í?* #‚!Mjšˆ¦‹túÍs…‘eF–Úã¿‘°gÐ/¸lö|ÓRdY’ReGõró:lç~»ñ-Ì!Ÿîà}ù‡6
-÷oÎE±ü•dÜåźÆ:x•eðfKÖ—Åá¯â£Â÷“oÖ{õ;.½W;™ 6¦@¿D‹[?zhF5#× 3{ÝkDèýe–m+ºNk“ŠNë<[¦ÆocÝXûyûØÇ!&ù¢À7Gð¿?í?‘q¸~☆¿P%l–Þ)òø3 01ƒÄ?öýä‹ë@endstream
+xÚ­YÝsÛ¸÷_¡Gy&bðIí“ã8w¾\ìÔö͵“ËMA2‰ô‰”ç¯ï.€H‰¶¯ÓNf¸\,vûó ƒ|’ë„I£&™Q‰f\OÊõ›,áÝOGÜóÌÓ¬Ïõîæèí™MLbR‘Nn=YyÂòœOnæ_¦'Ÿ?Ÿ]¼?ÿçñLh6}—Ï4cÓO'¿üJkŸ˜žütv}<ã—
+˜8C¾”M/N>½Ÿþ|vúñôòâÃñ×›_ŽÎn¢f}í9“¨ÖŸG_¾²ÉñËK¤Éõä~°„#&ë#¥e¢•”aeut}ô(°÷Ö}:f ¥óD •NfÀÌœ}Ôf,al0ËGY&ÚLð1›.´Ù¬Áƒ¾ý u“ƒÊ@3ÇÒlªeUïÛƒK‘-Ĥ¿éj‘kD7ÑßQf‰R•»¹³ä·Mí)R\&9›ž/h±n:"Ú{[V0&ìü ­tAD]¬ƒˆÅÞ«tütå骥gѶ۵ûozÞÚ=A¯}Ôx×d`RÁ™zÅ=®ü¸œÿ^õßÊ>ØÕûDšˆ õ¢f‘kDµ¡ûà­N‡ª]ۮݳÒÜÞn—`§%ýtš=k³4ç ܼl³>×ó6‹\Îfß÷·42‘2/o˜F¶ìÛ2’äF·¼¬WOpf¥¦vS--Á.EG«d! Þ_\<û½¾ºj­ïÀKmµ¬aí±êîˆúfŸfø† l°ÐbŒ°|úû±ÖSàl¶q« Ð.‹%ŠB–þN*Â,…x‚ÃiÀOŒÖ‰”—\ò’˨<.zå‘|¬V+¢n=c8†[{¢g˜Š²«<£?ˆ2Ùô÷;[‡ýPI¤èDÓȶIŠÌ Wvû»DÑW¤py üëF…Än6Ç<‡˜F˜šiµ §‡±Ù9 ÊFpòµôôéÈì¼4Ÿ˜lz΂•à,™C 2ʆt°í}SÏý"eRÄE½êc]ØÖBÖCù~ BQ•Y`i! ̤1I©zèdÊû{A <ÏŒ2¯ÛÖ–îH.‘nš©$5„Äÿ|¼ƒr&Í^‹÷× ñ¸œ%~<ï/m¹‹÷ƒ-G㽿åù²nÈàXå3 ¯?¡ tSïq!$ˆz$Ô+Ìݬ+Âlö>¥b†ÂŸJe‡I—˜Øøäl!^ˆv_Ð2EÅv&å4¼‹µøá(!UˆGøîÖ¯ô¨›zFŒÍ7WÂ%¨ÖÚÕb3†ÜåH”@IÐoB™x§éH€SÈ5]¸ÂåQÅj ż»[ûŸ5°Ñ!YÃ’ ù–è†\€$0ÔDÅü˜‰¤s#åÚxÆab:7θá¶XxÛÕÝð$ä—¸”Óǘæû5×™Ã77Îq®Q²]ÅåØzI'.`¸2JPñÛLû+r>}´´ÒPuŠTýs[“g9 ÈÜ@xsÍíeö°‚¯½Í€ºõ+AÖÊmö÷ï
+¦¿PÔ
+^hàrµQ(…¬cÿ붃^>…ýˆÿ±hI6 ²„±m±]%c!=¬fò¿Ü$(Uþ
+obhà¤dËÀl”ýA²½kÁZ›cø,yîÏQÐáßFëãÿü§ªÝ_åT†½¡oú%´R”Â3pmöU×2Ot‡=Ôý?;¹ù·endstream
endobj
-2544 0 obj <<
+2570 0 obj <<
/Type /Page
-/Contents 2545 0 R
-/Resources 2543 0 R
+/Contents 2571 0 R
+/Resources 2569 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2552 0 R
>> endobj
-2546 0 obj <<
-/D [2544 0 R /XYZ 56.6929 794.5015 null]
+2572 0 obj <<
+/D [2570 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2547 0 obj <<
-/D [2544 0 R /XYZ 56.6929 632.0206 null]
+2573 0 obj <<
+/D [2570 0 R /XYZ 85.0394 451.3342 null]
>> endobj
-2548 0 obj <<
-/D [2544 0 R /XYZ 56.6929 347.9691 null]
+2574 0 obj <<
+/D [2570 0 R /XYZ 85.0394 389.8351 null]
>> endobj
-2549 0 obj <<
-/D [2544 0 R /XYZ 56.6929 276.6265 null]
+882 0 obj <<
+/D [2570 0 R /XYZ 85.0394 351.9491 null]
>> endobj
-878 0 obj <<
-/D [2544 0 R /XYZ 56.6929 231.9008 null]
+2575 0 obj <<
+/D [2570 0 R /XYZ 85.0394 319.402 null]
>> endobj
-2550 0 obj <<
-/D [2544 0 R /XYZ 56.6929 196.3498 null]
+2576 0 obj <<
+/D [2570 0 R /XYZ 85.0394 284.3035 null]
>> endobj
-2551 0 obj <<
-/D [2544 0 R /XYZ 56.6929 158.2476 null]
+2577 0 obj <<
+/D [2570 0 R /XYZ 85.0394 219.8826 null]
>> endobj
-2552 0 obj <<
-/D [2544 0 R /XYZ 56.6929 83.9832 null]
+2578 0 obj <<
+/D [2570 0 R /XYZ 85.0394 161.3484 null]
>> endobj
-2543 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F41 1218 0 R /F39 1161 0 R /F53 1313 0 R >>
+2569 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F55 1326 0 R /F22 965 0 R /F41 1223 0 R /F39 1165 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2556 0 obj <<
-/Length 1973
+2581 0 obj <<
+/Length 1799
/Filter /FlateDecode
>>
stream
-xÚ­XYsÛ6~ׯÐ#5c"8I¢oŽ£¶nÙµ•¶Óã¦(›­Dº<â8¿¾‹‹‡DÑδã
-nQC#UfÓmœí\’„ˆKL‡d¡ähȳÈkò35‘^ú)ÍÍr¶1(
-CÐgäŸâÊì ™¤Uµmvh,E³¯TâŒJb{€»Tý2{>³VØ_ëõ¸õˆZO??î²$«!ž!Þ™%[ °…ªÌõñ{(ž
-ÈW¸R½ÉÊ4©‹òùÐ6ûÈ
-–*eGŠ£€,µ÷q…íɪÂnª
-•ÙBn&°‘&Ó¤Î>iÂRÐ2äî-+wÜËÀb[ãaÜQ:LÍTö*S ăCn·eXÈ–g›Ä½âÛxÊöÙ..wv5i1Kmh™nàdlaI*_­Nh"²¬¬OGiÇ g¦õ9™c}ƒ¤ƒî# ‡úÆrÈ©ÒQ“bÛ=+Š ò_ù!•ŽØ­WïËxÿ5iÍCÐú"éõ¥NƒßJiôO‘ޤʖôŽUŽ‘Þ@eÏES`=ÈW¢(¢}¤_ש¶˜vý¶šuõK?²IçE®#3…®?Ì'ÕŒkÿôZ5J]¶šö·†üŸHΩºÏ½@Ì}© :)íÁ/#ùÃà6©Ò ¨<È F¤ª¼NË'Ë-uZY_î
-w7p™¤/Cj°«ZµÞjü¥È/¶EÓyl$(Q}NÀ^ pmáîÜö §Ü[†h™vGOjÂNJ»ã¯#wÀ­aZ¥Q9pG îpáPå/iÞAŸ©ËhÏ1
-gWdŽ¯o-þU4eî²ÀÅ~V·ÜTÕÕI0 $Ñ4˜}©Ó`¶RêdÆnånõpã—Óº[©僞‚Js¸¦´ëÏ
-”…:àÔ(2 +6X8ªéêi 7軬ݹÌ7¤Š¼Ð7~µª?¬(±ÁõÞ§Üú
-ÈÞúê¢È«¢¬³fß©…|ç»TÂÙy˜}Ô÷á…O0>ÂO熺‚¡éQV–rŽmc@g“ÃU ÝSì³]ª˜îƒÒ°cä~Gb{Ðx—m²ºíÍaÓ–Êk 1 U­Ûõº(v§>o3¸+06F‹¸õÎþôÝ}å‡ËSÍÚ(¿2Õ3IœQ
-<"ÂCÓÛäǶÿ >éÃendstream
+xÚÕYßSÛ8~Ï_‘Çd¦úi[Ò–ÂõæhÜÄ·‰MmŽþõ·²$Çv‡ÒÌÍÝt†ÊΗÝÕ·«o×écøGúÂCž¤²ïKŽ&¢?]öpÿ>{Û#3² QõzÒ;xÃü¾DÒ£^2¯Ù
+ÒŸÌn¯!h&ðàìðÃøxtôn|ôÛ_çgãáˆø„’ÁáÅÅøìøäÏáˆ
+ x
+åòà5¤D„
+Œ+Ä,΢i‘B¼­ØìOvW¡ÑÕ‰$JJ´ÞÑ]6$Á MN†å Hu¸¼¾1.<ÏoË Pø"0È<5FïBc>N¦‹Õ,Ò`HùcñC”À û-ƒ›¦É'Œéí* ‹85Ÿª; µ}q¯74ò<š©"Ø
+(ò)ˆ©Æ›ÜÞfáò§7 '”íH@ Õ‘
+­3¶ìQD=OhÅ©9¬æJ8{hL¶§a’&ñ4\èËyš-›§*IM~2ºÌxŒì™UW³¨
endobj
-2555 0 obj <<
+2580 0 obj <<
/Type /Page
-/Contents 2556 0 R
-/Resources 2554 0 R
+/Contents 2581 0 R
+/Resources 2579 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2552 0 R
>> endobj
-2557 0 obj <<
-/D [2555 0 R /XYZ 85.0394 794.5015 null]
+2582 0 obj <<
+/D [2580 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2558 0 obj <<
-/D [2555 0 R /XYZ 85.0394 751.9581 null]
+2583 0 obj <<
+/D [2580 0 R /XYZ 56.6929 752.1247 null]
>> endobj
-2559 0 obj <<
-/D [2555 0 R /XYZ 85.0394 608.6139 null]
+2584 0 obj <<
+/D [2580 0 R /XYZ 56.6929 470.3354 null]
>> endobj
-2560 0 obj <<
-/D [2555 0 R /XYZ 85.0394 322.9834 null]
+2585 0 obj <<
+/D [2580 0 R /XYZ 56.6929 407.3701 null]
>> endobj
-2561 0 obj <<
-/D [2555 0 R /XYZ 85.0394 258.3082 null]
+2586 0 obj <<
+/D [2580 0 R /XYZ 56.6929 344.4048 null]
>> endobj
-2562 0 obj <<
-/D [2555 0 R /XYZ 85.0394 193.633 null]
+886 0 obj <<
+/D [2580 0 R /XYZ 56.6929 305.5 null]
>> endobj
-882 0 obj <<
-/D [2555 0 R /XYZ 85.0394 153.54 null]
+2587 0 obj <<
+/D [2580 0 R /XYZ 56.6929 272.5054 null]
>> endobj
-2563 0 obj <<
-/D [2555 0 R /XYZ 85.0394 120.0237 null]
+2588 0 obj <<
+/D [2580 0 R /XYZ 56.6929 236.9595 null]
>> endobj
-2564 0 obj <<
-/D [2555 0 R /XYZ 85.0394 83.956 null]
+2589 0 obj <<
+/D [2580 0 R /XYZ 56.6929 171.0723 null]
>> endobj
-2554 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F55 1321 0 R /F39 1161 0 R >>
+2579 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F55 1326 0 R /F41 1223 0 R /F39 1165 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2567 0 obj <<
-/Length 2605
+2592 0 obj <<
+/Length 2972
/Filter /FlateDecode
>>
stream
-xÚÕZ[wÛ6~÷¯Ð£|NˆâJ
-QÓ 8(™‚´´‡‡Ð(f”Y<®7eõXçõPFT1›IÆ€XÅS[Àš
-n‡\HƒXV,N¦¬¨ŒTe²ÌÒhñ->ÿ»*³Ó(|ˆÒaôÐŽ>µ£/íèk;Z½¾{ Bnw¤±BZ#·ÙkQ$uíÈz‚Q”’ÚSµï&82T,„'½«Vˤ™àØ'k9¾=G ˜EœHÄä[ãÃâ‡(ŸÂ‚!M0÷ –UšM!a‰ØPîÏå~¿åŸãLJüÞY¾òÈòýt_­ò¤x¾'U#&ZÜÁÅÁ»¼ÈÌ)›`Î%RË!óՑᬫßlŠl×ÉTC~×G–¯9È/ÍWÙ¢©V› ¦‚£˜
-2dútT¦þ¸›d#‡§ýM»ç¯{B^´È¾­ãØ·®M¥XjD(pýöôÑe±;}´TôQ-A¼éò i$ÂB‰ç¤‘s¾>²sþ5Y(bJBýœë¥¬ó#ÎÿõÄSY¾ã'ŠÕ±4vLjK¡†!¨>XpìðãÚëÿ ${¦û£o,ŒƒsM¦ø>Z{2;Ô1Fh¿ØÒ‡-DD9Ò8†¨Ì 0` æû7çׯ¹¸º¹xÙ~´ÝÃW
-n6]Ú»hçŧ²-Ï em/6o23àózS6Én2)S7™—Mv¿Ê››¯îüº[uiÀLüŽ1-2èët{›|ÌV&¬6²°˜©­|žÔz2¦ Ñ ·ÕsB»ˆS
-1UÊó´Ê sÅçOYéFE•¤yyo^œÊ©¢sBç7yíÖ–ÉçlJ$"…I¢²+Ò!è%ÕÁ“Öuv·.ܾ
-0¾(åü,Mó&¯Ê¤(6§„£#Újc™<>¹ñ˪Yå‹Lg—,Tn¡È¾fEí¦o7î™fwɺh ?j¬Q.2·`‘0_t¬†¸¯Yµn ªŒÀ¡Ê‹Ân3÷çNÝ(©ý³ôÏE³N<µCÙŒZhˆ;˜áëÛÍ„KPH (ÄXÀ°‹‹ŽÊÞ4Ñù¯öüÖˤ\[@í[ß
-zܦf3vUg’ˆ?UëUi’ºÍJÞrÁÅÒº©w‚J%EJ@ÞØ j—j7¨-•5\3‰žã (ÔF·L]ÁtŒ¡|¿`hB0ÚÛÐLö%»6‰ün3
-uLÑ¡ÚcŠ@eM‘O˜ÂÜ(
-9èÒ»b) í’ÒûÅ
-Dbõºh½ÌÝOO¬+ו®ZÔªn"sÜ«/My¯ñ5 ®S5Õ¤Ò󫪮s›þ ¥Q¢vT‰ïÏ&Ê2CYªÃ̓±´…µÖ8nQJüõw,°¯ØaH^M°çd•fî‘‘ùŽ]b(èbIÚžiÌ*£‘á_½ »¢Z$»¤‡–Hp"öðåH+Ò•Ö²;$®Fœé ®‰ÝB#&d—s Ý%'E±¼ílO„ìÍmŒët]ÿ®½N¢ƒ+5 §Ï7jë
-¸2£S[¹@ÙÞa‹Ó61up2“Oùâ¡»n!³µ
-T´Mt­"ÁÀîPê?ÏþæÞm}qØþjxǨ
-æ‡Ñõ/§BÌÿé^Æ>@uÏ̧•{ž¹G姽Œ˜8
-)H¡ý@ð_õ¬¿Èøcõl?€œ$GW±!PCKYd÷m/.æÐTÛç„ž¢¯\앳Á<*?íœbÌÄÍm¼up‰C•,¬SxoˆI<¸ô
-þn@F®Á5³×Âf-)êÊÚc
-˜´—j–ƒýŒÎ·b,“Ƹ€[µW*Ž-4M^»›‘á×í¨D{È‹ô€{ $¹$/ro²×½ÅìپΠ´ávª®–Ypz¨¬¤{·É—uî¾pvÚû¯†lóVܬ`jÅqwÍ=Òp¹•t ïÃÁ^ϊ͘·¿¸xnIÄUœª1ˆâäåÕ ÛÂ7ÍkÄØÜh^h
-D?endstream
+xÚÍZ[sã¶~÷¯Ð#=³Bq%ˆvúà$ÞtÓ®ãÄn›išZ¢,f%Ò+R븿¾8
+zvw?4vFݧch(‘•p=g `Ý(Å{x(CbÁ…Ãã›ë»¯üp{ÿáû»÷M !],¹$F2鈋tŸ­—«m¶úôŸ²Èü¼‹¹$’kà×Ñ;ÊÊÂ*¢z›Ù†Œª—¢NÃδXcg^ÔÙã!¯_°¿Üøqu‹¹ŽSÊwHC€`>ÔØù”6åa?X¸Å®–¥ÕÈ>`È8—žo·Ï‘Ý-%ç X7¸ùºÌì䉌ž·Y­]™®óâѾà6Ü°.î·y…cûôS6ÆÓŠhÆ’.Kç ×ÜO¬²Íq‡ë8ØpŸ7\yT¡Qõ{xÈ,=K"?¸* ;þ¸´k‚>Ä”HÉðX8-œÀ-j‰­…—ªìð%;\j‘qµcšÁ“îÞËýS¾Ë&voá,f~÷.,“ïó]êvÏ"`f¸”’$áÒ¼eØ4åÊÓ¿³3'ÑñÆõò—JwÏé‹ça}Ü?ù&ª&Œè©E·ÎŠ:”þ{ÏþS¶
+° XX
+Õ×¼ÜJTu)¨òR´í Ç¾_íD=Z{^ÒÚ*£ÖÑÕz×yY¤»ÝË%cÌnK0ãvã&yzÚåV=ÜTõ!_Õ ;7ä Â]ö%ÛUØýð‚Ïu¶I»ÚÎÇ­4ŠU† û•EÇíöª<ÖOUÁàT延2|‚v¯±•VþYøçª>¦žQ¶­†'3| |U‚ Ð%%Õc (1FÄžÊ9ýÓ
+‡ó›Öè¸,Pn]š˜7pmv–ﻺx_J¨à8:¡i2;x¢e—*8ËaìÐPÙu—ëÓ%ÁáJ0†óK¢‘%{Ì€ëT'K^éÃÎ h=ÁÎ’É+hssf窙*·óíäÎç–lw>XrtçÝ%oÁ£Ô­ºÆ±Jƒ¶÷ûôðâµ¹ð*›ý–×ÓèpE”‘çÐéPÍ ¨:Ÿ'Ñ™[²Eg°ä(:Ý%8æ™Gg_®=&Ël­š¡²ð¦} TS=N‡h›@ä ù2€FÄÄóëšáz=`’hÝ_oLk Шcƒ‘å”Qƒ dBã·]ˆv<¹¸©|<¤û·(¦ŒI˜ag°ïPÍ€¨ú¿Ðg$ÖRÎ/ˆF–ìá“X)Ý_ óDMÜFåiã“mãÍt}Büky<Ö›;wä%” ­êjTðâ ~ÔÕ ¨ÊºB=Pª§8"´2¬viU2Æàü2•$óœ5T#¬uÁg~0IYŸ·;ëÃ7/'0";õoäaÓ)F£~¬(ëADðÎË r¤7ö/‹*„`³õ´0hL¨Ícç…Ñ¡šF rÂÈG„a —½DY8óx*
+–ª•œç«¡a¬'
+.`±îsv‹I)@+!C-«zi¾úÀTöò^;€‰ª%Ý–U•;ïo)í>*¤J}z6”é‚RôÐ
+
+²ÀØÐxqhê–˜*êãuh²w#ÓKIhbÄÉìKË%œô‰UbçbÍšŒi8-¤Õ1(s|óÚùvå*b2"%™š™X“0Ùa×MwŽ_ð·"$„Ö€¸ C„Ò݉ è›ÌdCL0Êg
+ò[ë~¢ûÑëê©TA¡•æ¯ª‘ì¤#¤Í¹l’`uéãO؃z´Ât]u;7.ÃZ›’Úî+|-þþM‚TV— ÅAŠ¼XWèÝLÇzYn–Á±Bd·ÉD?„ü¤¶n¸²:é ÕLÎóäTÜSb]<€êâ#4–M­ˆ:œZ÷ÔÁÉv>oóÕ¶;î sƵ Ô²uwÍF‚€u¸îu
+ØT“½Z’ÓÌÄ­»/•Šþ/CধöÓŸWø(}·×Á$8GG€¢ÕxA°3 t
+ûÖ&Á²rZáÕAÛTø¤èô€ tCáêÂv,ÝU%¶šs
+;ÝÊÌDo²ÙöÚ;åp;­(ðÉd?“ íÇüÛüq~àáüïý¶¹ÆtºŽ³IG¦ÁÎëøÌÝH‡hÚ"çÅ>{±Ä4b´pÌ)±*4ÇT 2Õ/+’ð¸ÏU¨T2a§Œw£Mçc–˜úŽ5pŒ’
+ ‹žsW•Ix°Dìä÷ бIóݱ5ZÌÁ¢ÔTöÜ
+Ó0Ý\a¼€Nz…iXa‚ó¥¤`~R 츃&Š‹¦8ï÷=òü‡
endobj
-2566 0 obj <<
+2591 0 obj <<
/Type /Page
-/Contents 2567 0 R
-/Resources 2565 0 R
+/Contents 2592 0 R
+/Resources 2590 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2552 0 R
>> endobj
-2568 0 obj <<
-/D [2566 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2569 0 obj <<
-/D [2566 0 R /XYZ 56.6929 749.1077 null]
+2593 0 obj <<
+/D [2591 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2570 0 obj <<
-/D [2566 0 R /XYZ 56.6929 598.1922 null]
+2594 0 obj <<
+/D [2591 0 R /XYZ 85.0394 752.4085 null]
>> endobj
-2571 0 obj <<
-/D [2566 0 R /XYZ 56.6929 456.267 null]
+2595 0 obj <<
+/D [2591 0 R /XYZ 85.0394 615.0436 null]
>> endobj
-2565 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F41 1218 0 R /F53 1313 0 R /F22 961 0 R /F55 1321 0 R >>
+2590 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2574 0 obj <<
-/Length 3286
+2598 0 obj <<
+/Length 2822
/Filter /FlateDecode
>>
stream
-xÚí[[sÛÆ~ׯàCgÍ„›½ØvúàÈrê$VÜHi2Mò
-ÿÙ"U„
--‰–DQ¦«ý]¼ƒg_]0G³ôDË>Õ—w_¼ÉBóxq·é­•š¦lq·þ9zñöíõÍË×?].¹¢Ñ—är©(Þ¼¸ùáÅ·vîí¥æÑ‹¯®o/—,aœ£HÓèæÅ›ë—Ë«¿]_}óÏïn®/½ûúâú®ã¬Ï=£Ùúýâç_éb ›øú‚¡Sµx„J˜Ö|±¿J%…ð3»‹Û‹¿w öžšWǤ!UJ—ñb©8I•%T–‰d$–ü(2ÎÆDæ©PdË îó‹WJõ(5‰S¡`q¤ØTõ>k‡Ò`‚•¦½ÕÆ8ë¨FXã½2¡ˆŠuòvû¯ŠÍ“=¹v›ÛãÇŒ«ÍàῪÒ~¡”ïr8ZÁàØ«¦)îwÁ
-½ÉêK–F¹•B /.%‘”&N¿p.Ûü¯Žº¿®á¨öÄ0^ç›ì°kaÈܧÊõÈg”&‰V¼÷•:{œúHBK™£%'u@HHQ'ñ´ô¨fÐâ© Z^ „LĸpÂìe–µŽj„·. á0×ÁE0e#\‚‡Õ¡}8¸‡0vÜàR8‘¯QÑ«ªƒOI¬¤Ûz™íóõrµÍW¿žž_ʈ¦ÜÓ ¸)ûÙu•»QY9®VÙ¡1+-€6!©äË(em^V:É7äM¾òÈ>”»¼qãÂ)Ìú°h&ufU•m^¶0 6’èÔ?tÔ!‘Š£áÍ´­õçÏS!0"‰å”
-™/ªP̉”J?K…à#Ztž*`®i.÷×›‰ÁbI0ãÇ3•,Ž·ÅjkYnÚʉÇÜZìÁÀŠGEé6g/÷E™ÕOöÌy"OUêÏœ÷u žÆ8¶ƒ:{(Öv¸«²uQ¾ÃÝ?m‘K’%úÈ–qßÞ EO„âÏ•$œvÔG%k,Û‘vOÝþÞçuST¥Ý‹±÷}Jøš8ÃÈêñŸA–1Š“#AŽR…r¼7´ŒPýðJQ!©38aW‡· 8^e¥Ü{*sºÊ^ ·™µz ƒãà¦ÚŒY¦ÑŠ¥tAûã̓­°áVfv ‚Ènvv—gÞ
-§\„Ûs
-],7Sq"¨à¡_®öÅ.ŸðÌ$ņ Îç#름ë´oí³ºœr4
-”%>ufÌ÷ÙxBõ¸ž‹4p,Vý(Þ•UOm@3\œ 6œ+•\ÌëhŸjZG;*££ßžÕÑ&¯‹l7l¦
-‰Q–éh¤ÇÀ1HõXwàgËCX®eTþWÕs| â1
-Yºð‡úÑ€pü[ ”HÓ K&À¦ ¡™g
-gJYW"… Œ'#¼ÿ¿
+xÚÕZKsÛF¾ëWð°UªÂÉ<™£"ËYgmÅkÉqj“ 2Q!+Ú_¿Ýó
+vƒûtš”E› v÷™òèÍ/nÐ’&[•ö¸®Ý`½)ÛíÚã†à«M¶ú#óƒ–%ÌüÝüÞßØd~µÔÍì/ÖkwYã/e,£·e]çw[?ê§vŒcš€ÞÌqa:«çÁŽÀž9#ÙïÓÜ‘Þáúâ
+ŒW7ðíÈL’ÍDo¶Ç´*&f
+xЭ _g÷i»m,ÿ,%Ób=²†2$1ŠõÉ?e•M-chGz8™d¶‚Ý×qr‚Ù=Ô ³Ê2ûͳIªç˜ƒw—l^®
+LBdbäê\.ºÜsY¯‹××7îxäu¹à×E€ ƒ¢çuqÐÆHf™@æã€óº8Òy]>ôº‚ª­áiÝr„!`ïZS9tȧØ#Õ1÷A|Ä7r ”àþ¡"Ýeë¥Ë–2›¯‚ŹÞ/ÃÆìHn´ù¿®Ì3Ž;7!¶=RÞÓÎlÈ
+²S× ƒ±´mJ˜ z
+ºóÇÔO–=¤UÚøÉêU•?ØÀ”¨è§Â 6AÀÒ¶;ðMè°¸Ù€Ò°›¦X
+Úò;… )žÏGìîö[’ÝÌMöW3éA¤ ‚Ÿ*iû¨iÚ¡¬½ùª’vV®®¤=–k¬¤Èz-Ê÷ùà˜ºÃÍ»s¥¢ŸÝÅQÃE4\
+£§¹Õ±aN¸5"Ý[Æ%NñVÜaH‡ä­°pãŸÃ*M Eç=VÙ9-«ðl˜„àˆcnKÊ–Kxc—ÖMVõAîüo¯®/_¿q官éIcɇ9ÑcYýá¿×«ó¼~ªëÂê~‘®Ú_m}#*ãv—ZfÌã~LiPíMq’œp49UØôQÓäìP–œ/—Œ5¸b#æ—  ‘%ûo—ÕC<\ò$PNy>mR´Ûd¯R§æ´( [Z÷ršÉ]L·éSøúZ`
+ºžëÍ@&G„âù›3ꊘê~¤šÙª€²[õá«>WÍÊÕ}®:–kôsÕ@°ý‡XÈx÷bÿàÇ•O²LâKƒÍ]‚‘ïòwØ>šo×+ߘÃ:‘:ºžG¹¡}dÒ­­Îœ7
+ݬ@ÓÎd DqÝ p
+R|œþÝÕíûw×îáŸÏ!SŠ.^¿¿ºoJp JýùM aº>—3Ò¦­Š`¶EøËPî tp'M[ß‘ Óà¬rÉmåaYçœ\YÓû÷‘óMpBý”èŸó:#S›€ÿuÙCÚiò«ÿR·ÿ÷ ¸'¡õD
+Á`s/êÅü˜ûhd÷Ëþ«ôÎbendstream
endobj
-2573 0 obj <<
+2597 0 obj <<
/Type /Page
-/Contents 2574 0 R
-/Resources 2572 0 R
+/Contents 2598 0 R
+/Resources 2596 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2601 0 R
>> endobj
-2575 0 obj <<
-/D [2573 0 R /XYZ 85.0394 794.5015 null]
+2599 0 obj <<
+/D [2597 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2572 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R >>
+2600 0 obj <<
+/D [2597 0 R /XYZ 56.6929 85.6141 null]
+>> endobj
+2596 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F55 1326 0 R /F22 965 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2578 0 obj <<
-/Length 1900
+2604 0 obj <<
+/Length 2187
/Filter /FlateDecode
>>
stream
-xÚÝYKoÛF¾ëWÈE¬Í¾É=:±ÒºH×’Ói´DID(RåÃNúë;ËÝ¥Ij%¥(z)˜#r8ogg¾eÈÃ?2IEÕ8P LÄx¹áñžý4"Vgꔦ]­7‹Ñëw,+¤$•ãźc+D8 Éx±ú<yƒA`On¯>Ì®/¦”)&'Www³Ûë›ßá·À *O>\Ý>\½7÷î.\ý4›_|Yü2š-Úxº1Ìt0Ž>Áã„þË#¦B1~†¥èx7â‚!ÁswÒÑ|ôkk°ó´yÕ‡!”K@ƒ!ÌHèGŠ €P
-8A\ª EŠRNK#õWžÅY´‹‡éBŠˆ„!wmxnµ<®iÇ5Á!"úiÏ÷bÐWù.J2#7Á4R¾6×Ê©éXô'ÙƈËm¼ü¯ÐÁzYPàb€8\GërNKGÿÆ4õb§‚å§];%ë>rdô}·ÈýZ&Ò¡&1°¤„ Úü”sDŽ§L 0€"Õæïg‹‡û[óò§ BÕäêýƒÙdð”ÀB¨šu8«i³${óB7ŸCµ3‚Ö/.H8‰«ºÈJã-²UK*#•UTÕe?Gb.‰ý¼°jϱ±k‹+®âe¯œ+`kð*ž“ò<.Ü<óÙ̼|õ~þÑ“£”?°À!ü!—/ g‘ZæÙºó¸±ÇT·`ÓÀÞW´ûwo- ˜ {Ц\8ˆ}9”aVáÍÍíµ±§lV«]’%eUDU^˜[÷ñÚbš--¬¢¬ŽR{"CD¥”Ö¼W&
-ºû:ªSLÍq7uÑBZÖë)W`ÄY»'_ÇÕòuÒ“ÈÇY’’…]B¥f@$,T7ZðwËT³¤J¢Ô¨Š†K`ú‚‘׎uýYÇE—è$;0Íçc³‡æÇAf6§çŽ]­ã‡ VKûò¡K©¹<=éÒ)y\v— À¾{.J[ß7wOÜí†Ô Ó>ëÚ²ÍKËÄvÐÌw8JìYFûè1¦À…D¾Ö*ôé-psÁ 0äÁz#·í\¯´§œé×d§ò¨·/¢îÉfWW@ÁÛÔ¿-ÓºLžâ£Ga\êþÌQ¸«u¢
-œÖKàÞ*8åò¥
-\z« ë²[ò¿¯þ?ªLöp¦
-:Z'ªÀi5;®/zß/eDø©~p¬ÔéøZ-O€=¼X€¤
+xÚÝYKoÛH¾ûWÈaeÀìô›ì£c;3žIl¯åÌ ä@K”DX"5"iÇûë·úE“TK
+0ØË€Yì.VUW]aø#£D ÌÅŠ#‰M×'x´€¹_Nˆã‰<SÔåúðpòþ#‹G
+)IåèaÞ‘• œ$dô0û:>¿»»º¹¼þë4¢? ÓH`<þ|~óåü“»;Ut|þËÕ^™b˜Õ|oÎ?_]ž~øíä꡵§k3ÁLó÷É×ïx4Ó;Áˆ©DŒ^à#¢­O¸`HpÆüÈêdròïV`gÖ|ò`  N dDRBО„B’Qf¼0¹º²‹=ÿ4¹Õë¯hÇuxQ ËN”a/Òu6û†Nà9³ŸšÁhºÌ¦OÓ²˜w¦<¦:ò'ˆ†¼ûV¸KÔ7å‚8î@ŽTB˜cøp}siå)·ªÙ:/òªÞ¦u¹µC÷Ù<Ûž’dœÓÌ}N‹&]Ô™ *¥tâ‘cé¹5bB „T —^_~½½?îÑë¢Î¶EV[K&¯U­+ûrQU¹­ófý¦—#Æ%ur8©qb—"O#‚±Ûý‰æa`çÜðÜÀÄ‹J¤LÞöØZðÒØR}3gå:Í‹·Ý·T•mŸÁµá¾o&¯E¹©òjx~$HæJ"ÅbÂ;»©à@FXÀº"ÌYà$Z®Îº%xðkÄ¿{J¶ÔÔ.M°.BÀ!Hì¢ñŸ/¢y¾rŽî©•Å‚qÇÛÊäêm“B8ÖYöØ,¢Uöœ­~^ìÕQ±Y±È‹,*ZXüŒØùw­ˆIaD²QÔn4°}-ç:`
+¡î5$”#IÅ›WÍ.rÀoBá{·‹Äíâ—€*»j¿wïVW³"Ûî_ÀŽÃ›£ h*A†ˆ rGÜsKýÑR?*”@’·IbšBªÚwD‡ž|°†è˜Ú j—W“‹û뻇ëÛ›ö«Ãy4Š ŸcM BFîÇ©}\º¨«iÊ eS†¥uê½¼™èäk\HŽ9äN°7)
+ÕiÃ?!š€œùŒâ† N¨ÚBµ$wdZÌÞêäsIP̉…ôŸËÌèQ`Àsùd3\2~ÉëeÙÔv&5Æ/šuVÔÕY`‰ˆKb_ìÝE¨Úbìáú’¯VV¾õMêT»õ*ˆîó´Y9 ƒ|Ø.šmë¢d¬G‚p%1Fœµ‘è}VOß«ÎDÓ¨ý$KºA mÒÁFu­Õ~µÔSuž®\!Öép l\°ôÜW]7Ù6Ï*ôÕÁ­9C“âÚ¥vª0ŒñÃù¿ËåkáÝüßri½ªT 1–ÐÃ*=S@e×ñÐz0¢D_å—Êáûúî™ûÓ°rŽ†l8Ï'dYV®[C0ƒîøÜ™¦›ôqåËy«B¢Ph…òU%±Ï Ö Ã:Xä6*ê@Q!&bÄHãB…]GSC Þ.ýÇtÕTùs†ö¢
+äÿüÿPØ‘ö0
+:\P์á¾Ö]Ã1¢Œˆp©ß5Hˆ§”³Ãöµ\ûM¨D‹¸o¡M DýÝHO®„T@vû k %\9 øn"Ò³.:/ Îëô ¹M5ÑýÜ%µ³ÖˆD\¨x7iù΂B¹ÎÅž„Ö/J¡I$?è››ò4âL@“S5cú½^¦µ¦¸Kp«2åÅÂO:®ÕëA¿zý10ÔyÑd•ûÐi{)·O–!CÇ<êÊ1C/ÓÊ.ׯ ¿ÚeZ,t‘ÂT,ue -Ýت_ Ö7 °õ¾j2KhsºÏÔ>6eUåÁJ‚2ŒÆ2ÜHô\E‰ÛŠ½Ü8xhCÝÓ¢€ª=hÝx€oD“áX’~;rÇ ¢œûÈUA9·r•ÈcæK÷|¬ÊUS»ÑMZ/5ìöF8ñ‘àÒaÚ[<“ -³Ph!(Q‚…Ûý~h¡pj×2íZ×,1ƒºæMÌr{¨‰Yš­Ëâ_•{Ó¶YÒ1è»
+â øÌE´‡Ñ×á:
+¡vûº1 †–¶^˜½´uƒÕ}ïí&+&“OvÀ®ÀõÁ Âô!zÂF& ºBËMfãSe¹óÚŽWÍF_
+÷´Fí=J[=Ò)¼ñì?FŽÇ¢ùN—@¡8¤ì2ϲ£¬×!Ĉ&»Êî›á ‰¯#l8LÎ,MïËõ!É‘F #ú
+ßûÐßé›0ŸÿÇœ´ï§-&þ=*°<ܶôÿøg¯·ßõ¸¾oIhØU shº Á8£´¯ˆdCÓÛÈvmÿ/åßÜÚendstream
endobj
-2577 0 obj <<
+2603 0 obj <<
/Type /Page
-/Contents 2578 0 R
-/Resources 2576 0 R
+/Contents 2604 0 R
+/Resources 2602 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
->> endobj
-2579 0 obj <<
-/D [2577 0 R /XYZ 56.6929 794.5015 null]
+/Parent 2601 0 R
>> endobj
-2580 0 obj <<
-/D [2577 0 R /XYZ 56.6929 668.1414 null]
+2605 0 obj <<
+/D [2603 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2581 0 obj <<
-/D [2577 0 R /XYZ 56.6929 606.9834 null]
+2606 0 obj <<
+/D [2603 0 R /XYZ 85.0394 752.0294 null]
>> endobj
-2582 0 obj <<
-/D [2577 0 R /XYZ 56.6929 545.8253 null]
+2607 0 obj <<
+/D [2603 0 R /XYZ 85.0394 688.0859 null]
>> endobj
-886 0 obj <<
-/D [2577 0 R /XYZ 56.6929 508.1763 null]
+890 0 obj <<
+/D [2603 0 R /XYZ 85.0394 648.5014 null]
>> endobj
-2583 0 obj <<
-/D [2577 0 R /XYZ 56.6929 475.7331 null]
+2608 0 obj <<
+/D [2603 0 R /XYZ 85.0394 615.2083 null]
>> endobj
-2584 0 obj <<
-/D [2577 0 R /XYZ 56.6929 440.7387 null]
+2609 0 obj <<
+/D [2603 0 R /XYZ 85.0394 579.3639 null]
>> endobj
-2585 0 obj <<
-/D [2577 0 R /XYZ 56.6929 376.6588 null]
+2610 0 obj <<
+/D [2603 0 R /XYZ 85.0394 512.4986 null]
>> endobj
-2586 0 obj <<
-/D [2577 0 R /XYZ 56.6929 294.5553 null]
+2611 0 obj <<
+/D [2603 0 R /XYZ 85.0394 427.6096 null]
>> endobj
-2587 0 obj <<
-/D [2577 0 R /XYZ 56.6929 191.3244 null]
+2612 0 obj <<
+/D [2603 0 R /XYZ 85.0394 321.0146 null]
>> endobj
-2576 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F53 1313 0 R /F55 1321 0 R >>
+2602 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F39 1165 0 R /F41 1223 0 R /F53 1318 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2590 0 obj <<
-/Length 2926
+2615 0 obj <<
+/Length 3011
/Filter /FlateDecode
>>
stream
-xÚÅZmoÛHþž_a`?œÔê¼j$àp@Úf‹ìµÙÞ&EØÝŠ<NtÑ‹kIMs¿þÈy‘%Y¶{hÛjj†âp8äCrº ð?]Ä2$< •ˆP*YyF÷0÷öŒ:ž¥gZ¹^Ýž½ü™«E&‹·ë¬8$qL·«?‚‹.¯ß\ý~¾d’¯Âó¥$$xqýñâûpž°àâíå <ò„GÀD)òE$¸¾xùæü¯Û_Î.o{}†:SÂQ™ÏgüE+Pý—3ò$–‹'x !M¶(Ï„ä¡œû‘âìæì_½ÀÁ¬yuÎBÆ¡d"Z,¥•Ñ¼¥HH$ì|©x*)“ÞRŒÎYÊs¡¥–+ÜèËŸ¥p‚%âD‚f†e¥ïºûe¡¿èbj±0B£WÞÓ¯çšQ —TE‰kx£[8£$ Úm‰UªËºú[ãžP=KZ—κ­Ý¾øp!ÁÖt~_e" *páxÁ3„TÁ|å>¯Üzí6Ítc\oÏiÔ¥EGædà
-Œ®—h¹ƒ.xT¿ î+8ë‚# ?¢A9ãAŠ?"ȶÏp03ôÛ­žR 8ú'‘ä×®nnÞÙ»¦VÄNÍL˜³Ab(´ÞèmÚæuÕXî¼µãM·ÙÔÛ¶y‚!ÆG¤
-ãrì"yÕ´i•¡ø8 ¬vË&¿¯ŒÿâØSÞ>Xj³Í¿¤­c}ÔÏ¥z§^ò„˜ÝÃ`£³®ß«ew­sEˆÅTðéAWv¼u“àõÃeA⇾¾ù‰R³ 2ÖÞmu&Š¹
-9…#šuiÇ!bñë´+ZµýÝ<f ¥/&¡¢ËMûlI#ÛPv{ö"ð\†¢*÷k•:J‚„Œ)~"”\GBÉs™PZO—LXÈÀsŽ/é™f–3Q!£</ù[WM,×è- ‡–ÉäڹȽõ¬®ZÙq ˜<DÏápª·§3°…üü?&‚Û•Ä€ïR°ë€ëˆ]=—±ëýž]9àStbIÏ4³äÈ®q+5YòÙ5õ„cÈ|j(øµOhr—5ÅÐ" ,N"é®iWz»Ë_2ŒwlIª(”‘8‘G†\‡©ç2‡TÎåx.|R]éÞIRÆÈBuT±žkF³QaP±%PºŒT»=°ë¶ˆ†ÐÝüŠ ŸÞ>Û±®Iïµ%W»"¹þ$„§÷ Ö¦ˆ˜uÓäw…cusöÁ' }ÄdQJŒ\k»Öþ²$Œc(4,׋AQHE/ÆT?‡ÄÄß*e«³z»:éN'å4
-¥ –N]£ ¹‡cÏeÂqs2}73ŽFÆB×Ë3Íè5®< a²h¢Ø»¼iuµ+ ñ¹ÓÛ\;h¬Ýìn‹Ô²],î¸N'À«õ¤ŠÖôf´fž›J†’üð™
-2À ãGºc:r¢ŽÉh3ÓI©ìpl=ϳ¿Þ¤RFë}:W"Øæ­¿Ôq¥!Ò®44lÓ4Ïš#õ:ÞraáÙ—ëu7wdš ùÖØ{þš·{¦¦^ƒÚW`œÎKšç±¹=è3Þ´DG.Rí{d9Ò¿1©¼vKÎEà<²zLèÉ`¹•PÖð×Ó@5A ' !£ùäþëù2¢PÂ/#\r&c(W¡¡Üìgñy)B$ ·\Úìvg3ðòªd‹75ìi1Ü–—¼Š6ûŠFqíYÐ
-ªü²>§Ò½·šËœt¨iuo
-5x0}.ü¦ögݵÝV[z« ¼°D©{+0õrp•¡K|Ÿ—ñÆ€¸åî¾þûb`é¥%·<`°:‰‘8q³ßs»9]!–é×eSgûe¢Œ N#Ñb¸ð~fò\3úoU)ØŽ&c/Š¢~š©¯À,j׆¹-±ð;ñÍTç;®n3FÈQNƒxâ¼o-ÇV˜Öù,dQÔß}
-"𡟘ELl\8–ó¨6ç¬WG3«5’È®,#îgðëÄIP®»ÂŽÜé,5Q„löãŒ*7;`7Utn¾}|Ë,÷u9§r¦Q€ N´€¶«È˼M­Þ8»”{¶^ik±âÙÜŠáló umi.>\…vôꜭ%Ñ$n­vãVltë–Â$8ÒÒ~>~2.‰œ@¬¬ [£â@VWh{üãNœ@ó5–¶–x€‘ݼÙ‘x?ÁŠ^z“9§Ø´õÖ½í.¤¦6´‡1†Ù·_<Åóƒ`Ív¾­«Ò´„Èiü&+“…Ÿ*;lzg¶ßZpÑÀ½Ð¯1>xà­pE×Ê%Ö³_oê ÕxÄðk‰uj¨zƒëº5Ç
-ˆµ·P5æDû5‰9ðD"«ËÒöðPØ«! óÎ}‡8e®8 î:§ç^ïþ°žýõJ7ÞMÞ$Cû¼ŽöÊÝãsêûâ&<ô·=àÅ‚Ï~"%}•ôÝ÷³ûÃ&8WðÜ’8Á"5¡^)ÜÔÑSÕ%Ô/2fjF÷ÿKÒendstream
+xÚÅZmÛ6þ¾¿Â@?œ¨¾Iq‡6É6Ø¢ÙÛk6¸m?hmyW,¹–”Mî×ß ‡”%[¶[$‡¶@L‘Ãáp^ž’+fþ³8a‰•vf¬f1ñl±¾à³G{s!<Í<͇T/ï/^|§ÌÌ2›Èdv¿ðJOS1»_þ½dB²K`Á£Û«·×¯/çRY•DWww×·¯o~‚ï˜p½½º}õõÝ]Z]½¹~wùëý÷×÷½<C™W(Ìï?ÿÊgKýû ΔMãÙ3|p&¬•³õ…Ž‹µR¡§¼xwñïžá`ÔMÒŽSK€6ê Ö”`F 2š3k­é5%Å”¦jjþ¸¿Ñ$±l22;X2M,)KÎbÅ÷–ü±«H×íSN&ß~Ì·Ô.öWõöR¤Qþè~ê®ZRž`áé³²¤FY?>Õ£gWã>_|§‡‘ 9žÄ1ì kÚe¾ÝÝh*f鎌¸†×¿œi!ÏØhGtÂDžÈYhMÁú;B¡Y’hë%Z•ÙmÌdápJ¨@s(Ôp÷‚s&µÕ#©î/-º-KiÕîWGë|]o?S_×d95—ùCçmT¿p®²Ç£˜ÜÕMS<”žÔÑGF–÷ûWCË%–ÅB%^´Ö¡á¤eij‚š¾`”0¡{6í6[e“þQ.Û|Qo—gÝè,Ÿ¦øï¤0ŠYÁõ
+Ï´ð«uUæòÒP
+¼ñFvqål;Œ«±s,óUñéÁ¹ˆäZPÑ3iœJfR¥O›tHuܤ=•3ét&šÁ$=½d šXr”>,”‡
+O‹­gqÌYÊùJö*uÍ#é€Ã
+7rP¨ç”ŽõHº«²¬Ÿ'Ê+PŠÙCUWÀQ§:l#§ºpæê6clå48)ÕŸ-Ç*؇i §þ¤¿ô
+R„‘úOxn?å8Jn²WAL€£æ”`Ÿ”&Àªø+‹?ºoPÞôm½9—
+Ω  \r(!´&ˆ¶À¥:—CÎ'àR Úã¥Mwx íæ©îÊ%µ”ÁoWUù"oš $tлBÐsT×@ÃÁ]æ0¾ÖÙoH€U´nš_dÚ :(›k®ñþ ˜K<´(,åQl¥d/6ö.Hjlк"BÜŽ<e®ŒÖ«®¤ž‡|‘¹B2·ì”mÔA›*;?Þã=ÎrË}šE& /rd …g­áÈUë«”pWZ¨@ A×Ëœ4V~vwb8Ú|†¢vMWw7Œzo.EÔRUâ×ÙæÞ0~Å&oýR˜ÿ&ûü„zÒ<ñB@cI<¨@ÅŽE]¡>;8r@¿—P} µIOгwûã1^MȲçÞ,¼SlÚzëgûû¨}éÈ(a˜xûÅ3´„H.ÁØŶ®Öî8ˆ”Î?`ðCåðsEÝîÜ ÝM·Ù Sjù ýcÃm…+úcœb5eg@Iãþhéâ,º­[g(ʦƆJÖRŸ7: .Ú·„m
+ ª1
+½¹ä†¥ÒËØ}œ¹Bª‡+,²Ú&T[-¸#çSØÕ«°†9å óÔ_^bá#G’ÈøtÕS¹"«(²,T9qHËb›/Z<Éí—XòH 'k¬@5!Ý8­iÈò½Gâ½¢{“ÚÁe2]ὧ’vJÞ½E@\§2[‘»
+HaÔÞÛ`¸— Óè·¬(§Äa ~Yìÿå1…-GœNˆÈEÃû©KÅâ8doJw)çý„¨Ài@½³Áª‡ù0Ê6¾sˆÁ­ ÷¾™z“)3ÖèIñöïà`)µ÷0%Ýiað0å:н Ö/Ã<ôÑ<4Š
+r"%JøzÿúŽ›Ì]0ÐÄÚOʳŵ²åÒ?öÐ*C3‡°±ÃÒ‹–/ZêÜ‹–‘L™Äœ»rÑLˆ4Ü…Ð ®B'F„¡ÐSûõé$#»<}ø‚·‚ŽúÁÂ÷nºí¦nr„ bÌFÇ
+®7öpL+C öï„xÕUb˜Õi<FßÉ·«p×ôÐ?]„—§&¼.S3|ú
endobj
-2589 0 obj <<
+2614 0 obj <<
/Type /Page
-/Contents 2590 0 R
-/Resources 2588 0 R
+/Contents 2615 0 R
+/Resources 2613 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2553 0 R
+/Parent 2601 0 R
>> endobj
-2591 0 obj <<
-/D [2589 0 R /XYZ 85.0394 794.5015 null]
+2616 0 obj <<
+/D [2614 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2588 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F53 1313 0 R /F41 1218 0 R /F62 1361 0 R /F63 1364 0 R >>
-/XObject << /Im2 1350 0 R /Im3 1515 0 R >>
+2613 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F55 1326 0 R /F53 1318 0 R /F62 1369 0 R /F63 1372 0 R >>
+/XObject << /Im2 1358 0 R /Im3 1520 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2594 0 obj <<
-/Length 2519
+2619 0 obj <<
+/Length 2480
/Filter /FlateDecode
>>
stream
-xÚÅY[Û6~Ÿ_!`*5Ë«H¢Odš"™f“™ÝÚ>hl:VcK®%e2ÿ~y(Y²e·»I±`ÌËááá¹~¤XBá%*#™å6ÑVE™JÛ+š|€¹WW,ÒÌ;¢ùêÅýÕw?Xb3ž%÷«/C¨1,¹_þœ¾ Œ‘° éÝõ››—³9VdéõÛ·7w/oÿ }E
-H(Mß\ß=\¿Æ±·3ËÓëW7ïg¿ÞÿxusßË3”™Qá…ùýêç_i²Ñ¼¢DX£’'èP¬åÉöJ*A”¢Ù\½¿úGÏp0–Né@rC2‘éd#‚*ög¶&hÂLoK“¹DiÏóÂuxÅf·bÌjnQÖªdžiE4˜ˆó,`•âÞFF® O´2Ëu°Ñ¿¼†¥%*“ÌÂ¥ažŠëÙ<ãé»ðÿþ³ô¶oóôÕ±…LF,X'ÑT£lÐUò;hÁ2)E ¶ÃéZ ßÝnEò²‚3&ÃcFÆó!çpÌŒ<‘qÆîZpb¨ÁcÞ¯‹\Ëê´Ú5EUúv–ÖëªÝ,qüÑáo[»8RDªEUþÖ–‹n™NŸŠf­fíP ¸ƒœKÂ-´QóiÆbJP“‘…úv6”¥y”t±ÞWUS”üòÄÇáÎߛ氄‰t·¯®®±³ŸÍ™JÛ²ôKÃHÞÍ
-ƒÈW’²H¬©Uºt¿PÊË`2èæ›Måw}
-Ó™WîÕã;ÑzÐBu žøS±q\\ÜT8éêE¾Ãε—B‹#@`Å3`û·¼ØãÐXÐX“ õËb_@Pgáü¿¾,3ëc4d|¹VÓlº,0€ rŽ„Ü(¹<ä6Qzªh^¥†ñ
-ð¯Òíëc2n
-N†ûžH×SMˆ7
-B¡À !“Œä{¨cP+1¤54µœ”ðˆmƈᙈ¤OÕþ£ÿâ\j½Ÿ1“º|YÇïcT¥ÈÇVU¤.ÊEµ Aì{/ßbc—/>º¦Æ…U\äòÅ[ùr‰›Ô5A§eB*Ä‘×Þ®|,Ë´¬º Þ¹EáÃÉ-¿§ÚRs"tÖU…2ßBО¶b <.ž½ØlpH«1u#UÜßg0Ó)
-Šò+ˆë´Ÿ,âè®ÝïªÚù<$Õ¹l,3\t¾ÕyßØÀ|mfcÜÁg”§õ€X ‡¥¹ ¿-e»} ††v°+ü>ƹ¥[ÄayñSm×U±ö>d.ä”å¾Â^ŽË!Õù¸ì©†uj—àËVu¾ VÜË,¤5 WG4!×ÐV©í‘\ï]Ó¡&s¯×ÓДœhà~$ãkÈf†ÙÎ}óUL,!Æv×`œA·e nYíÜ>÷Q‡úÌÓº ¡SX©EÚ™­| œ*Sh"Q³Î\Ö»ç^¢oE¤„“Bt$
-8È®Ú7õ‰ctøO£S£ôWA§àDD˜KP÷¤DõKÎáS ¥ES¬(ð©òÀM)LÆwSø” é¢õ§€Iï½9‡F¡f{Ù"e„‚®€ÛgÀ(¿
-ŠgéÇ'X` ˆµóÝÞ <¹…2G!ÉŒÌXÀ…lÄšê´.ð¶D}±Žý©¨Ú‰ö‹£K_ÀüD[þ–×]U°{40œ=:ìï]“á²8„vê t|Š:”Ï‹W+ÐÖt5þüµe˜¿¿°&üßï-’rHÍ÷’)|ÔS…°út¬™ R´Y2dv²eG4±åÐÚ5z´å;çK~„”Îü·|‹8!qù†û\4gñ#d<Ö—õ3¤:¯Ÿž*èçŸ'úÑDgL\Þ²#šØ’¯Zòl¼åÿ¨ŸÇ¶ØÄ&&Bíþ BA±Ñ ¨.h°£
-ü<…À)Ñ
-²ÄÉÕ˜C™TÆÅë©&ä_!É
-›|]åQA˼ɱµ
-à·ÚN
+xÚµYßsÛ¸~÷_¡·R3‚ß ¦ON㤺Iœ4Vz7sw´Ùl$R'’¶óßw
+ BŒ£œ¦ÉõåÇ«·Óß?]\-:ú>3*Й?.~ýNVàúO”›ªÉ#¼P¬å“í…T‚()DÛ³¹¸¹øG§°7ê?‹T)Q\êÉLq’R>(J¨‚‰ÏŒdD[û(ÎÆÕJa f Îóõ;¥z’Œ‘Ô*pÌ‹4•ÛƒqJR©&}‹G~µB#~ñ¾5®HÊõc7®nò,,S]F'Eï3ɉ‘Ö8y ›k’2›F¡l]ƒ”W¹,·»«óâ.¼ïöùC¾qw.š,wnŸÕyYT¯¦3AyR5Ëû0”UøÉr?eiâ¦,ɦ3–ÔЈêDR•Ëoðîê([ßguøz“Wµ+¢‘]ö™.¥µ1F¬RÜ;;ðvWîëŠ-…ÉB~hÈ~©™ù3i)R¿SÒñ´¤è†&"Uì´²ð!e±Ù}2T6ký›©”j´îç@7]L9E4—f¢!\0ácpÝ[R¥%ó’”(Áe\ÒOÓ™fÉþóäê(8 Tp•N4¤˜ÑÔ¢ñÉF(„[©^ÛO÷9¾ãõ|Ë'oK˜Ó¤?­Vó¬¯ÚÏKr[ÁS
+hUƒ§ÁiX!uò!/¦Œ&ÍÓ«0O=ÈoH]¡ÛÔ-²-$BêŠ(ez» 
+ªë{ߦœ&>ëUR¸Í_¦JQf™í²Û|“×ßÃûÖ-ï³"¯¶øjp×ùîվ܅V¶Ù„ƾ,똺r÷ø0uaC¨$æ/ZÓ¸QMž–nW‡÷ࡶɳØ·ºìW.& ä„äq–·y±ú*Ê቉„˜0ÖfˆŸhÎÂcèÛ*¸
+šê8綪sv(å,Š”;¬nAgY€ ~vÜ`Á¤f¸ž˜¥eÜ7\Nn“Ç{WŒd­ÒD2+_ÎZ‘ò6·ó¨2hpsð‹£ï=Hà0È l§4 cØ·É°º+HH–®D‚X;Ûí3· ñ•'îUP6TMMRå®0âhÀ}È˦
+Âöbï
+Á ?(Ê:ôÀn*13Ãëñ¦NŸ¼ðÑ­ ï{WgyáÓ5x<;Î:LÎÊCé¹LèS øG 0K´€uîñ‘‚N <jöL~ ¸
+uUÊÀ•ûí¼YœãÍ}Õgx³ä
+@Tt逾Ðûf~ý6´lx¬æOáÝŠ•'tÈB51i²ÍPü{xA¿ð¹w[ÿAK”DÂO$âwmg^„gë¦nö’Ë*æ)Ôî'Õ¥éÿ³™/ 
+Î1‚ȹ¯U û]èèŽù
+;oã—˜V¡åk<—eQ›ðM(P0‚4¸r{
+=»vìfqU»luÀ8^°@Oè4|µBq5þþõóñM‘"p˜ÑgvBÇVUAP´³ïJôeƒKánfÓÖh„õ˜™œ“N‰/D©“9¤ c4¿^ >EÆ‹«/¢f$và:™#'13–›¨ïÅ}ÑrU>çMn°d3 ¬±»~ «Û@W®X…ë0Ï«¾ÇQ0ÙØóVCë帾G¡¦X¹ß(å… ©}X#`Ó IRNñçoŸ®ßÍßýr‰á^Ì?]¿\'íáz°ŽÌâµäÈMÌ@˜¦L·wP ÐÕ»&”<¯‰{6þ$'A_]–¡n$ŸÂh;W®ZîóÛö›¢í…Sà&´1ž¸o("=JÆëM×ײ{v$—xæÄz¯6ðÈôÃòU{™÷2ÅOR¯w„Txÿر€˜(mÃãrµÍ‹¼ª!e\Ö/n}/ÚÍû1+šl3\É ÕO÷O¨«•üçÆõär ¢hwÇÇÜßÖ*~âŽEq¨9²u¡ÙfÕ·1½x!ÖÑu<t·«ŽšãqÌ ìÙ–«8†
+ýùÜ¿u¼ºó"Ùe1duˆ+ˆ÷O‚éd¾#Álu`7,&On¿!œ±Œ°ú¥LîgEËë_…ä‘ÀØ(ΆéoÍSnÍS•ü«lö°ïCgôñU¸$/œ÷. éÂ÷Ùƒ =K x>ÐÌÞæUÕžÛüõúø¥'–jûòŠNÍ!²‚!¬à†¿Ä÷´Ûä˼FÚˆï~K¤*.t„}ïÒ,’uspSQºWóª:ëŸa—Å NR½´*‚ÈT¶ =È‹‘Z ÄKÃé ¯Kú5óÝüÃÕÍ)<ÔÈÝÙy<|–ñP$Ó<Œ2hﵫ—¯ýŒTÌõ *ΚîdmÁ Æ£zƣȣÊ!QÉ©ßÒ—Q”¦]Ðø÷ÂçD¥!@—ùøL¡®-°¬u
+gÊ´:t]  )ì×cßÿ ÁúËendstream
endobj
-2593 0 obj <<
+2618 0 obj <<
/Type /Page
-/Contents 2594 0 R
-/Resources 2592 0 R
+/Contents 2619 0 R
+/Resources 2617 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2597 0 R
+/Parent 2601 0 R
>> endobj
-2595 0 obj <<
-/D [2593 0 R /XYZ 56.6929 794.5015 null]
+2620 0 obj <<
+/D [2618 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2596 0 obj <<
-/D [2593 0 R /XYZ 56.6929 171.7883 null]
+2621 0 obj <<
+/D [2618 0 R /XYZ 85.0394 346.0235 null]
>> endobj
-2592 0 obj <<
-/Font << /F37 1026 0 R /F22 961 0 R /F62 1361 0 R /F41 1218 0 R /F21 938 0 R /F55 1321 0 R /F53 1313 0 R /F63 1364 0 R >>
-/XObject << /Im3 1515 0 R /Im2 1350 0 R >>
+2622 0 obj <<
+/D [2618 0 R /XYZ 85.0394 208.5535 null]
+>> endobj
+2623 0 obj <<
+/D [2618 0 R /XYZ 85.0394 94.9938 null]
+>> endobj
+2617 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F55 1326 0 R /F22 965 0 R /F53 1318 0 R /F62 1369 0 R /F63 1372 0 R /F41 1223 0 R /F39 1165 0 R /F48 1243 0 R >>
+/XObject << /Im2 1358 0 R /Im3 1520 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2600 0 obj <<
-/Length 1911
+2626 0 obj <<
+/Length 1457
/Filter /FlateDecode
>>
stream
-xÚ½ÉnÛHö®¯Ð‘ÂJ­$ë¨$NFA"»mh “M–,vK¤†¤ìx¾~^m\$Æj XõêÕ«·/"s ?2OÂLòy,9˜ˆy¶Ÿáù#œ}š‡z¤pˆõn={û‘Ås‰dD£ùz3 • œ$d¾Îÿ··×«Ë߯B*pð]…ãàëbõmñÅÂn¯$ Ÿ®ï¯B"âH
-,A"¡ñ„F(™‚¤t¤!QÄ(3*y³ú¸üôín¡_/oVZ&¸IºÄóÆcž˜+ë­rHd€D€¨” kœ2Ý«|‚㓈:¬¬*¿cLuÚUy2Ì Ù)½æAÑXX[Uv‘UûÃNý´§­æªÉêâÁß)=´M‹]oU}E’@%yŒƒ…Å´ÄZ5¤rè±óà`îV¡G«Å$š‡bAŽ§"ié×õ·õJbr ¾ˆG„9ñß-W,¶´ŸE¾/Ê¢iAUmAwjãx/3eA_Óò˜î&”K¢Ñ(Šy4a¥RàŸÆˆ±˜¿n.p?,<¿E z,ÚF³A{ ùðA'ܳpܧÍ_St)ø³ë;Ø[]SάÀÎ'4d_åîL|bwkš}Ï,XpHÊZ{à,˜©¦`$
-–{bŸmN޵ƤÁÃË„
-&(f2ºäéI )Éb½±ÎÃAXèXµîcÓRs̶ð`ƒTs’ˆàÏêX—`ct<¾dA© w‰u¼MŸ”…dǦ5Ê€õAÕû¢i@…þæ´ÁhD‘Ä‘¼l±˜b/N³­Ž;Çƃ²l4ªµ
-C<áÞ¡G~áI2fHp„¢8Iæ!“(ÁÒÚëãò ˆÓÜÁ²PgœHˆ_/‡±Lª†Üz^¼:,ýê[Õfo\òææô}scv뜃q*‰!' Î ë­KA¹Ú¤Ç³ÇY×@ë´è—ZŠbÄ"*/hi€õŠ–<–ÑÒSZ¿­¥Õ”ÓסÈO¡4ѵ’¿ÎI‡uÎÊH]ÔøÄõˆ—iu œ.,ò3mû O×=ÀÈﯯ]Íør3QiNjöÝÇ÷ÐÑH@[Â&â‚cñ(f«‚ºµ`Ä! Éñÿ-9ñ7È…Sâa¶UÙ_:tIte8?þOUªÓãºÌ³SØîÙ€&Ÿ$†ü3žœ õyt’Íþou~ä6iä6‹oëÝÜ]îñ–e«êR9—½iZµoìæ=T”ªn‹ã¾—#Æ#êèp®©ÚöR·Ï`Z m¶5ˆ«l‡º(m€ ,ÒµÅ^XÖ4{ Ú˜Cˆué}LËÆ¥±²¨ÍoW}Ytj[(yeèJž>ìò¦ª÷SšÅ^£Ö¸÷/euh W<I04ô Ø¥œB •s"¿@ &©à°~5 IØ4H&Ò`‡õ Q —øö.æ>
-½v&½É£Ždÿp}ÿþny;È”K½ÎÒÈÎ’ÂAâ®>VÓW}_nZÕ«ý¦¯Úºï.{»§—Íl♵̟=}ÆeßFêk>õ& Ò#tdP³t§û!}>j35`²Í$ ®’\ž§ 1z}=oUéÞئåã$Cû4WlÆ'øæ/@½ÈìF+°ñB ¬Ð#‚Èb6Í%THð:!ãqÆ+›ã!§r9Õ0é[¢‡2éj©D 7v³Ê|s S©î‘õ*Íó i°ÓùSs“\Ý8Ü!Á,¦:¿ž?£¥¤±áð¡(ÓÚñ£]!m t·«ž‹òѹ^’žk¤†Î
-4ò¬´ý2ìíóaz€nÙt»'êœ]zµm‹FÕOª¶ˆE3¤jºeO4Ý´+u·Ç6¯ž=S‚à›Õi³Õó“Á» sËŸª‡c‹åãœzå¢ ÝQ…°é¢0 ¿
+xÚÅX[oÛ6~÷¯ð£ T /¢.nãv Z'K\`@ÛF¢mu2åIrSï×ïð&˶Ò؆!€EžûùH†Œ1ü‘1P”Òt§!â˜ðq¶áñÖÞˆã <SÐçz½]½eñ8EiD£ñrÕ“• œ$d¼Ì?M^#ÂÐDàÉböa~ÜÞ}|XÌÞß?Ü,–Ó€ð8â“Ùýý|q}óÛ4 ÃàÇxòa¶ø8{oi÷Ó”NfïæÓ/ËÛÑ|Ù×w€`¦-ûcôé çàÇí#–&|ü ŒHšÒñvr†xȘ§”£ÇѯÀÞªÙ:'ˆÓ0‚ÐpDY‡ ˜`ŠYŠhÄI¶0
+›çÒa»ú&ê«z¯®”ØÊÜþ¢]‘Ÿ»O18ÁÃÞî!K:®KS(í™B1‡tEìÔ–åFÚ$är%öek'»zJ’I•É¦ À.CûŒ1-%ÒF‚d2&¥œS-: a‚Â…=†(g‰‘ý8ŸÛ­³÷wvK{a0bMbnØÞ¾šIñRÍœš¾!FQ%°Ms¿¨ ˜ÇÐþ»âøOˆƒ¼Ð‰Immdö{V©ÕgÌq?ärùÏJÉóåZåÙ9­|6©‘M>( y5Ü®\:†QFPº]u+ß,®m²R—³|[¨¢ikÑVµ%=È•´ÚUæªæƒP{Q„ƒD h±ñx¡l<ÓIÙÌ>.¹{yV/7ª•µ’®dM+·¼©TSÕm±ßõ†ˆ…urt½â¸1È,P²ùøZík%Ê]]¨Vo×ü e̶̸†­c¼àÖºY¶(}“uD};rì¤Pö»Ùo…
+lèE.žJǼªêíP`ñYTµkŠæ_`X€ÀRðŠŽ€ƒ Æ?DÁ¾‹‚d
+ÎØYd¸\ÕµK¡ [Ù‘«•ýŠæÚÂëiÞÅߧß4Ö8ðF Ŷ§o½|¦N~c'Â
+Ó“d"ömµm‘‰²<ØõÌ)ken O‡è‘î©Ï Þ@¼Xˆ
+㧃]ƒH•›Ÿ“ß¡ñdSV'(H}‹™?¿ª¡ƒ“rÔµ”‰õQ<îÜ —n@‘¸Àî*°l
+>¯mÞÁÐ{RÿG:¿ØÂcO~JqâÏ}@BÈ¿FBÛR4ƒ#@ê™i…ضtñºøf0(]nôÄçFAwÕÛD1Ò¨„ŒØ‘m—ÎÊ“j™›ÖEXJúVXÊ
endobj
-2599 0 obj <<
+2625 0 obj <<
/Type /Page
-/Contents 2600 0 R
-/Resources 2598 0 R
+/Contents 2626 0 R
+/Resources 2624 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2597 0 R
+/Parent 2601 0 R
>> endobj
-2601 0 obj <<
-/D [2599 0 R /XYZ 85.0394 794.5015 null]
+2627 0 obj <<
+/D [2625 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2602 0 obj <<
-/D [2599 0 R /XYZ 85.0394 751.7498 null]
+2628 0 obj <<
+/D [2625 0 R /XYZ 56.6929 687.6458 null]
>> endobj
-2603 0 obj <<
-/D [2599 0 R /XYZ 85.0394 629.733 null]
+2629 0 obj <<
+/D [2625 0 R /XYZ 56.6929 603.9193 null]
>> endobj
-2604 0 obj <<
-/D [2599 0 R /XYZ 85.0394 519.6713 null]
+894 0 obj <<
+/D [2625 0 R /XYZ 56.6929 558.8956 null]
>> endobj
-2605 0 obj <<
-/D [2599 0 R /XYZ 85.0394 440.9022 null]
+2630 0 obj <<
+/D [2625 0 R /XYZ 56.6929 519.656 null]
>> endobj
-890 0 obj <<
-/D [2599 0 R /XYZ 85.0394 399.3232 null]
+2631 0 obj <<
+/D [2625 0 R /XYZ 56.6929 484.9808 null]
>> endobj
-2606 0 obj <<
-/D [2599 0 R /XYZ 85.0394 361.5964 null]
+2632 0 obj <<
+/D [2625 0 R /XYZ 56.6929 410.2876 null]
>> endobj
-2607 0 obj <<
-/D [2599 0 R /XYZ 85.0394 328.4339 null]
+2633 0 obj <<
+/D [2625 0 R /XYZ 56.6929 341.4811 null]
>> endobj
-2608 0 obj <<
-/D [2599 0 R /XYZ 85.0394 258.6981 null]
+2634 0 obj <<
+/D [2625 0 R /XYZ 56.6929 157.2444 null]
>> endobj
-2609 0 obj <<
-/D [2599 0 R /XYZ 85.0394 194.8491 null]
+2635 0 obj <<
+/D [2625 0 R /XYZ 56.6929 85.4731 null]
>> endobj
-2598 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F48 1238 0 R /F53 1313 0 R >>
+2624 0 obj <<
+/Font << /F37 1030 0 R /F48 1243 0 R /F22 965 0 R /F21 942 0 R /F39 1165 0 R /F41 1223 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2612 0 obj <<
-/Length 2703
+2638 0 obj <<
+/Length 3408
/Filter /FlateDecode
>>
stream
-xÚ¥Y[oÛ¸~ϯðÛQ€Z•Hê¶oÙ$m³Û¦9µ‹séöA¶[¨,y%9AûãÏ g¨‹#§DäçòÍögüù³ tÃD$³(QnàùÁl½;óf{æóœ¹4ÎúuyööŒf‰›„"œ-ï¼b׋c¶Ì¾9¿º¾tÏ…çÜ.¾Þ]]œGÊY^ŸÏ…P2t.îî®o¯nþ ýÀƒÉ0ÓóœO·_/>íî<ÎÅûëÅù÷åog×ËN¬¡è¾'Q¦?Ͼ}÷fœà·3Ï•IÌ¡ã¹~’ˆÙîLÒ ””–Rœ-ÎþÙ1Œš¥“ªð=WÈPLèBø3ßw“ #e‰J!2××t¨‹‹ÏxX%ôf0ê&I$Ìô2Ýéì/ðbøç¿¡¥esØgi«tÃH&F¾§ÜH†
-8#ÜÜ^Ñê„÷Ïvy™7m¶UM¤/ú^×ç~ìèr­‰ô)-i1!§Æ®ÃÙ»<e¤€¹ˆ¤ë]æ2r_…fêÅ×å‡Ï_^::¹ÍMÙêºÔ- ²xjZ½k¨sY•MU·ùa×o«\©BÁ|”pÃ0Š;÷;Ÿûž×+Wá4¸‘/"3í4}B¨9,#ÆBDÔºzCåkîÜ.¨1œ{hó"oŸ¦Ôäõ³x*«}“7ÇÎ.}7ŠC9S[* ý)çôAp€ûžð\8®‚z,Œã*"ˆ»Y㓇 Èoóì»m]u­ 5þ¦Ï¼w‹q—UÂö;ƒ>]_Å‚êÛv—®ùþC£võ/^×àfÙH`TxaÌËì?¦vHÜ8¶ñ}^è ŽÊwc%}ž÷ÝøË\y«¢$˜ÍÉx¤˜oóvjé&Ì Íwº:´¯Øˆ5y˜` ·AÀSÙþ4W
-âc®õk¸‚Šë\7'¹&Ç\¿ü”k–YµËôÃSå†^ Ž™>°Î¥ŠÈ´ó.`Pçh6ô‰ïÓ°£ÜÄh…ÕÕõâòËÍÝòæóm·è$ö âTàJäIC˜Î¥ˆœC£3lÅN[¥9¬vyK´pÀÀR¿r@!‘`÷σnÚ†FSæœÌ{¢$ö‘“—4üåÝ%„/ÃñÎ)uQ?,Š®
-À/œ6±öǦþŽǽvkù›s÷ †Zï©VënwÎØ ÁÍÍ9ÿ ,Œã¶-µR»ve¦kjf½[ÒÙÈòt"PüŠ¿Ëû/ŠPž…¶Š÷LésõáòŽZìœÔcµËŠ¥_±àhp̓«'ú‚æXs!•a4¶;×/F}È ±†4û°MÁ9d¾fc£ËQ+&u:&/‡]­g@àóì´MÇn°â‘¢jÚIc-×ÉTuÔa‘­
-­ÞªÐaY9<B¯ >3ªïøÙà‚9êsK¨ƒ¸«_6q(›¶éKc
-hG&®@!@8@r¢»8`Ñ æp¶1?ÐSú4[FÌŒ†ñFnú-sqbfr%íª4E Ì7Ž”eõÈœ-(ßƆWì—JE^ÄaKÀ­¤MÀÒÂïóÌ;—‡š»ZÏ÷}ãH©~1 nöˆ{šÙër]?Yˆ€~Zlª`bGÝûŠ« R,’¨¸Î‡O—s¾„±èãzõ*0RÄÎã6_#î@ʤÅñð*ˆ]sQì(Øø懇KœÏô‚Ī%¸f'&óSϘóbs†7$Gº‡ ¸>‡°Æ£7D|Ì‹‚f–ZgS~jŠ³8­5‡nÇØ„Ð4ºÐ¦þŽ¹FÄFº‡¸FØ×9%t¤”݆¾ÚÈÇ¥ãôƒöAê’WõÀDh‹ò¥Fá±Õ¹Š‚ ô»ªŒü2/›6E¿Áke N’·«hE›bƒ:èo:@„…­Æ”ÑPÿ‘æ­˜­à¡9™9Eº¡êjµ·º]¿5ÏÅ.\iî'b%PÛu2Mż)f½ÀBš¢ ¡,AæÄ÷ð‘AíA|À“°‘6Mµ&+a×0ƒäŽN3¶!ŽûFY† *Ë4z+c—’ðˆñÍÏÌ2†ü†˜3AF
+xÚ¥Ùrã6òÝ_á·Ð‹ÁEÌ›3v&“dïØSÙ݉(‘–X#‘ŠHÙqŽßntƒ‡L{\µå*h
+šã85a$dt¼Ø‰ã%Œ½=’<gæ'͆³¾»9úæ{§aj•=¾¹àJB‘$òø&ÿœ]]]\ž¿û÷ÉLE"ø.<™EBïÏ.?žýL°«“Tgo/®¡«Œ¶0IœgEpyýñêüì$6ÁÍÅÉíÍG7YCÒ¥ÐHÓïGŸnÅq'øñH„:M¢ãèˆP¦©:Þ™H‡‘ÑÚCÖG×GÿêFÝÒ)VD: £DżPòèÖƪ3¢4TI¬3ðd'3)€U³ßæY[à©
+õ™
+»Ú6ˆø,ŸP/ˆ1ð‰CTɾ¬fX ±:G«8Š´zÇ­ c'QÿTìæÚ54ÆÚâ2Ólá‘Öip Ö'Ï:ÆüFÀƒYÁKÆÓ€-V”²¤E¸]ÉÃvyÕ+ Ï «½—-Ÿ‰Ÿòo¬¨dK&óŒpWuå=Ÿ¡9dl38L3[ÔÐÓ¬âTã>Ûõ_GãÃ
+>]Ý呾¿žD÷ä®–‰
+† µíð.9îŠfÊißéÀè«qÆ8žìoŒËkƒÊ ô>M½¦Á°]rî'¨=íÝN½J…ZÆQÿö7xTäj §X m˜Æ‰¼û X
+Ú«ñy–Œ3ri±&£ûÒ 4ÎZÅ© |žR .ÈF^•†ÏŸ#ÚÜó¸‘;¶>¯x÷yÖÖÐƼÔN‰p`¨p8Ø+r$N‚ ÓKÐÏ‘Àü8þ‚Ù¸ðB«Žâ¼l¶gKÎ#f:ŠÃ8ÑÑXÜç…/»'¾&›¨ñI928î6Aø#@š¥8Wpf?àv6”DÂغ¬x“ƒb«xÁºÈvj‹?ih.*Ãø&{¤Ñ9£º/›ÒåŒe2e§TïÛí¾*/n ý$…~×&ÿ8ÅO@„qìé Ì—K÷”uè3»½Á€"°¯Øy6+H°¦ Œó³ÎS*ý¼÷±*zÑm@´'ã2æéTô§Ã(NÕ«‚?Õ?WûH¯é©t‘بqf‚ã¾—1/Ÿj¬Œl˜£¦~a0&oôòïì„Èï‘03™$>Ðpâä¹ûEBj¦ÛÌWýþFŽ­Ð&k›o1SN.¬ìŸ>¡Ý‰…•þ“ ¨S?¶€¼ÓÚ.ü~)ÿd`Fá©KB«­ì™6% i¨DW
+ïèS®Òr¹Äz³T—ÄïÐßXW”¬±.Í<S‘ !—>ˆø) ëªóÇ)ŠãPjOLžW²Vw°Óå‚&íùuÊþ`GÈÝ…¤Á6+@Õã4èåÀbá¢vàÈo†öÂ`W’]§cöØVKêÄxâú Qþ~-ÁÚ~ýýXãŸð¹_~ÁUaA`âçE¢+Ôÿß¿
+ëýfb 5Qý¾ÔÁK%dÒ…Ç‘6>$½ûýØSÚÿ2ï-endstream
endobj
-2611 0 obj <<
+2637 0 obj <<
/Type /Page
-/Contents 2612 0 R
-/Resources 2610 0 R
+/Contents 2638 0 R
+/Resources 2636 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2597 0 R
->> endobj
-2613 0 obj <<
-/D [2611 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2614 0 obj <<
-/D [2611 0 R /XYZ 56.6929 752.0715 null]
+/Parent 2601 0 R
>> endobj
-2615 0 obj <<
-/D [2611 0 R /XYZ 56.6929 688.5597 null]
+2639 0 obj <<
+/D [2637 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-894 0 obj <<
-/D [2611 0 R /XYZ 56.6929 649.2752 null]
+898 0 obj <<
+/D [2637 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2616 0 obj <<
-/D [2611 0 R /XYZ 56.6929 612.6707 null]
+2640 0 obj <<
+/D [2637 0 R /XYZ 85.0394 744.6647 null]
>> endobj
-2617 0 obj <<
-/D [2611 0 R /XYZ 56.6929 580.4012 null]
+2641 0 obj <<
+/D [2637 0 R /XYZ 85.0394 712.9035 null]
>> endobj
-2618 0 obj <<
-/D [2611 0 R /XYZ 56.6929 513.9676 null]
+2642 0 obj <<
+/D [2637 0 R /XYZ 85.0394 648.1357 null]
>> endobj
-2619 0 obj <<
-/D [2611 0 R /XYZ 56.6929 429.5104 null]
+2643 0 obj <<
+/D [2637 0 R /XYZ 85.0394 565.3444 null]
>> endobj
-2610 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F53 1313 0 R >>
+2636 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2622 0 obj <<
-/Length 3963
+2646 0 obj <<
+/Length 3751
/Filter /FlateDecode
>>
stream
-xÚ¥]“Û¶ñý~Ž•7±h @Òo—ØIÝÔŽkŸ§:~ DÊb-‘ŠHÞùœÉï.v~uN§ã9 \|-ö{—ü—©#•Å—I‡:úrs¸ˆ.?AßO‚ǬܠÕxÔ÷7OTÉefFšË›íh­4ŒÒT\Þ‚ë7o^¼~þò_W+©£àûðj¥£(xuýúýõß öæ*“ÁõO/ÞÁ§Œ•ABá8¯ß½óüú*‰ƒ›WoþvñâÆ£5F]D
-qúíâÃÇè²€üí"
-U–êË;øˆB‘eòòpkêX)Ù_¼»ø‡_pÔk§.‘B«4Ô©Lh!Å-t%•¥EÝöÇ"ïJ< Œ—£ñ±ekØömÙ^­”Œ‚nÇ£ãñê* c¹Ñ«û……EœÒœV2Ô&n•Ïß^åØUM͈5ø+‚ãéJ¤As[倱íiw¹í+ êhË }wÔ_—eáúhµ(øTÖå )dGä¼y÷ò'ÐüMcyê–Îv¹2 µJ´D˜i--ÎyÕ]µÉ»ªþ"–eÁóû:?TþxýŽÌÛ¦~ë˶kŸÀ>BE¹Íû}GýÝý‘GþõÕõ«WÏ5l¬ÓàfW¶ÜCÔjéƒIA‡¾ëóýÞ² H;Á·ü²Ù÷mu[†¾7 M
-r†½ÿ„³À±<#q ÍL<*q¨ l6e).Yµô ÒW<Á¦B ¤­>Õy×û3Œ;Žô¹%q8Ð×Ú_«Ñþ2ŠB“ļÿîož-`)³0MSôqa*‘8 ø\"GËg(be¬PQâ€K$P&Ì’ÔáàŽÂ$½\n}€)ÎØÅV2QA³Å_š`°Õ•
-mÂ4Žå`e¶Õ~=ã”SkDðsyO+3š$>аâèYþ""w ãGŽmÅ
-VHÅFLæwí3Ø@I+”
-´³£ï¦¶VZ‡¦àé}KöTœž˜Ié|Æj¿ì£$q(¥Tþ)D™N]´Ë·e×1èt‹žÜâ\Ä·ÖjF§°‡ ‹h¢0’*
-%
-DhùzÏIÑè8ºBî‘ø¨Õ"°µF¡†ˆÚ kÜ’¹Í—b>B6:B6?
-y} X‡g¼¢Ö€^"ÏXDCŠ„è±×sŽ @l!O ó˜,›GUM¨c­æ6Å_ã0Í„3¸%•Ó­ï©ÁTV™3×vÈXm0ØÆÖcrl´åR¨ bÐiRJ¯ŽÍ¾ÚÜŸ±Õiä,;°|Éú‡ƒ5'ì|˜é$Í›Ÿ¨ØÚ|&.sÀWÃG¶†Ð”Œo6ÄZضfkN!e
-RÏÈ<3Y¼;Š´õ¹:O^8óaÒ¹P;Žu6 µÙß‹HC
-×~ÿü 6ÒK
-i=Š‘ˆÈ„=@ÀB+Ç ¡’i@u–‘L},Ó)'FæA%HGå´‡üKuè ­ Îy†ç¨23=ÀÆê@²©µ.9cæÚ#+äk >k™aò(3"kEž<JÍ 7äM]´Lè—TH`Ž¹hv=”[Š)ï(Ô*gr‚húî‘Î4„ÐÒWý™Ø2òõCÏH;~ ÖU;;­™Ú­.ÁgUƒ/¿Í÷6(ÕL¹hL9ÔÒ¯rË;a8òrKЯL*LD<ììv uÙ:|Íý›æpì;_;”xîY ;­¢Í©êJh~›vUÑ™¢…·%Ý©*ÛÅÙYU‘‰ô âi™5ZGóËÐkŒ+šŠFp9À¡hÄÅ•Š³ÈŒ¯) ë>
-CQ.ùE„B˜lNj-GÉiK€œá ]olJú&±¼K á†Uþ„h¨]ñG1ð¦<
-º‡@ø@í¢q»pê+'÷e.%ôÌÌn­è“„2vÂóŽý”P[
-”Ó0>±žE&ÈÁ
-TÊÞ2I¹­66‹WNî,ÔÉL™¾-Q`Ð@‚Wü ±ñºÉÝ펄èHG6ró:²OêÑ|ŒZgak1°)/Uâ—Ò
-‹Z3¿kÞ“
-céi.ݲÍé9›Gà_¿¤; ‡‘j¨¹"–:íSíoߪº°•¢–¶â|ö™12Âb5]_ ¥ß5ýžÁkÆ’£YòÎ3 Þ'æ°Ï[øxR%ò÷·Bd³Àñ
-BúJÈø
-B¤ž:Ðôné¡ýJt¨ýå,^%œ¹Ÿ&e™/aY¹„%Û„oà‰ÛÕF7Qð"·ñ1*«¿÷Â!Œàè¦ ±«é·üº@E®Œm?@í]±Ä€¸ˆ™ÖÙ”XJ¿»–:x×J‚òî-}ù” oïmŒk¡ÅtªíÐlÞò¼c:6­õg¸ ¥ã
-¿_Ë+Žêî8ÑïÁ§S8y k^ÉÚóµ|¸Ž™¬ãJ>¨Ù&ÍØ=ØEöûænñzo>ðC_u7ÙƒªÉÕFA†³ËùÙ‰ÓØÁr›
-ò¹Çòƒb$gï½ë JïJ
- ÌÑØb£ð•ðá5Û'\qOa ÚPù\h°“´eˆáŠjúî 8qÞø*ëL
+xÚ¥ZÝsÛ6÷_á·“§B
+gòÀh:MÝâvSÍlWôxÜòãÌTð©&ÏA R¬Fù±»âv&Ý¢Øv-µp?ø<v¸l¸§»¯Öõ~ ’EA´›Wßýœ€Â?ITÙ™ ŠãaS5‡z2÷” —zÍ/onøËû2ŽØ_É|Qýz¬ºC‡¶o¯žvSw¸UØ÷hS뢫ž‘+ÀzÔð\aÃoâç$Q^Q@€9ü³iÔðŠ…çß^_³|ýÂôH)A §jÅõA±YbüúMÇ8UC
+Ž—¥š5E6$5Ù<÷WùâÈ´šŸ=¶íºØ.7mw ÷¶Ù>Rk×–üù±«›Ô<Ì[I"E–Gl)Û9ËOE’eE”.>´éLÏ ¦ïªC×/ĤýCµgžË’ôÖ…Qí`~¨·¥²‰H”ÎÇúCƒ*ë®Xmi;n°‘Ü­984³Ê œîH'¸,ÃÚ0e¢t)oÁ ¶à¦[
+4/£#ÐWÜ¿nw÷ÇÅ$ …ûžÄ°w4ón^ªlüý2>í(O]1À É"bÉa_WÝÿ¢'T¦b‚¸ŸW11_Žª±IP•¼ ;`ÑR‚4b#—:•¬"èêUdÙ÷¨y”×
+¼µbc¢ƒ+5¼|tŸZpE›uÙ>ܧɕ>É|O ÷ ”1*[¾£¨+Âi’ª0”Õܹh2!¥uSQ5HN;"Lo~ŸëŠÞÉ,¯Ò@¸á?#BŒ¼ÇÀ›ò(œèáµË6¬Â©¯âÓ®}¨Ë*¦$žÙ±èŠùdB¥ÁxžÃ¶Ÿksr.S²¨ 5Xƒ+T\r°”‡zí³xìÎSƒýÀ'#¡À»
+ ê…BôšŸ¯ZŠ·J Ñ‘\Ü3ÈM6¤œ¤‘Í§Ô ¡µY
+±Ä(¨ëRgá ‰a£Î‰e ôXoŠ}±ö™
+ö’ ¨ËË ž!®÷ÃÛæPÔ )W‡S8Oêaž+^“
+šñT:…¯ÌスßÕà‰h¥³:r.V°¼Y”Ýl¯WIXÕ7ÉâeáÃcôÕv·£ƒ‡0ƒ°¯ûm]1Õë7ð¸Õ¸C?P·uÃÐ*r)'9,fÄJÅÕ2‹›Ý ©¼zGo1#ÓJRˆë©å\ª; j>ðw÷Çý}Ûùã '¤lè-8˾£ ³©EUcµc1Ó³ccè‘kÉ(Q-eH<ÂñVw5UD!¤ÛTëò•
+øîÌG¥e$±úöo5¥Sð}Ë´š?-V$Ð7Äl(ÁAƒ¡MÔážñ}wìxšØU^ëŽ:¸62Ý0–¹côït²8= Yó=(vÇõºò•j·xï?å!¡¨c ’fû¤eT[cÖúz#48ó„&¥rÃÎyCóÏ^3†zWÔÛÙÜõ%$~X…ÊúœIgÙx×Ø Ów¤Cìö¦
+ÏÏÕu-wì鹋Ù~<Ç5ÏäñÇ|®Nç±£yBÅ=ÛæŽO?ÉvÛ~š½]À‹ "©c}€´ÉoTn6JÐï]M÷NšÆ¸PÛDðULÀ>–©ñ…E?ÙЇðƒ¡=(ŵ*r ü¤ÝÏéuWw|çCï7²h0¼&Êj[4©ΛœÑڷЛ½éñ4§§RJèÔÚXºhæBŒÊÒXSb@g„€©××ù†ÜëõNj¾›Ëóþ jhjE挫9dÇ«XÐhÂý×,èL‚F¼Äò/x‰õDhœ{ÇÄp¾rr&=áZL8J©B³+B­'RaöšÉ]Up ˆ"2 ¶s×z“ÿëÉ¥±¤+—
+ó\p’3—¼4h9åïxÕÜo5¸·l¾ÆOX¡úeÊ’´™Ðxü$OqÔ Sã«^0<›™º©(N€˜°@ÄÅF/+á%ºw,P„ŸÆ`µ¥:x¡Á'¥/Eô×T£LAgR™Ž®³ÎDa2Ž,–ùÐ3³øqC·È˜‘‘@(=¹GA¦ í ÷íìbG ($Ãç ,Ÿ¹I“x÷òThj„VIà”Ž/bÂÃ4´Žá|×óH‚ƒF¼º™0N‘žëô1rå\bé\)=†·
+p:(; +O—s¹Ð‰ÔÆ<-x”Lƒu|ÚT=à Ö.{ÜLpiN
+æfñÁ‡]ÆxƸM¥\ë0Þ¬ãVHóy&›NJrúZ¨;×gOÊ#ªÏWÌC™Îèñô”xžT¼PM m{P‡£ÎjÕ_-¸—åž
+!çÁ4ÕÂX›>ÍO5Ú
+Fe–Q–a•z€¢2 æ¿ûþ$ƒ:JjIã˜õ²Ü†¨«G¢qê˜rép‡|qÄ8;ÚópäF¿Á;F`Î'ô‹¤ø_!%:üˆ(áž;­ÓcwMQ3ôõ«ŸŸÑÛ×ôŽ,âY`$5mßÅösl×!dô›_ÂœG’¾è«Ó>îêêM %ÏÂDî„E<ƒAçA"
+Ç ­­
+ƒö!7£ò¨ç¤ÔÖô6/}ЊƒÛaZn|5ØNâw:ƒZB`ïD†R˜º^†¿$Ì@aøð±þð™™ö™Ä{Úž©#˜4^ÔÆ0ŒÐ%7Ø9IIü©Yê—0ô-UL¤ž.:N6MX 8
endobj
-2621 0 obj <<
+2645 0 obj <<
/Type /Page
-/Contents 2622 0 R
-/Resources 2620 0 R
+/Contents 2646 0 R
+/Resources 2644 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2597 0 R
+/Parent 2649 0 R
>> endobj
-2623 0 obj <<
-/D [2621 0 R /XYZ 85.0394 794.5015 null]
+2647 0 obj <<
+/D [2645 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2624 0 obj <<
-/D [2621 0 R /XYZ 85.0394 271.339 null]
+2648 0 obj <<
+/D [2645 0 R /XYZ 56.6929 412.0325 null]
>> endobj
-2620 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R >>
+2644 0 obj <<
+/Font << /F37 1030 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2627 0 obj <<
-/Length 3234
+2652 0 obj <<
+/Length 2919
/Filter /FlateDecode
>>
stream
-xÚÍ]oÛ8ò=¿Âoç
-6»Z]Ï&LsX‚Î?^~ùôöâ<—ó«wç Î¥ÈæŸ>½ûøöÿà[Q
-h1„2’ÀYJ+<tÝ.˵E \­vUç°¹FäoÑa3Ëä4>*ÐóL æyctY5+D"ŒÖˆZÎ܇ÑÀ}˜8à>Îvuso'-{`ÌòXJ9GD /¦ž
-U#qP‡•ÝÈþ²³ÃŽ`Ø-;„0„í:?±²+Ò³|h»ª±£·/vÌÜlõÒõÕ†$H¾`<ƒ”yZ°öH wŽ¥AŽäê¾nŽ;r[Ù5ÈöúÖ¶›ò«›‹EP9_¶7wgé¾qëÛ&hûÒ~#ŠÀx™icLp¨i÷SnÄé9öëÎrß"bý„%±”³}Ë:£š]Wß7Î~4Õ¨™È ÃXΧÍÄjÜL(Äøß°«Ý{Þ’G¦øʳb”@!2  0\Õ".ÕPÕ3t%Ú×L:CCA²ñ£ ž[ zë¾7å*šñ¾@ÌaÖB0°RÜ{ª!!0'§ùÀ\(ç‚2ã‚kk?Ѓ¥Óê ÀQ9ŸŠÆØkc
-…“:4ã[
-}Ò²
-ü>ö„9< tΩÀ·e½ÃôXnKªAòéA”uå1ˆxÄ€|Y^ìHíËé"Džífc`}A"»7ê SÙ8æ.¬›×Œ\´ÞºöÕS]ZT$‹”òwÉ<.‹$ºÒvåz¼ ХȂ©\|ýó¦RBš'õd5®'
-w¼ï 4¯ï÷…ô<Ë31½¯Jì;<¢æ$SEû~éÞ_^.P¢»ZÇÏxZY9GyõPwq&iF FÏäwÑRÖ£Š$­°(Ä`‹ûÓŒ,©qöAGe`>¦Ù7€š`Ÿ‡2جW#dÈÎ)ŸÞ;@%6-ð«]Ñî–‰R:bH5ÿí\)ùVísgg8¥ÔN
-wµ¡ ›ØÜÇeZ;ê¸?\xÀ}ZxîK›Åã|ÄýáRÈýEÈ )eÁú¨d@d_ŸM,Úÿ’`€ åª8‘:¡&ÃC!6»ª\»„öÚöåƒAxÃP8U@åDE‘.Ÿ.Š'ðe¬€ô’Çø¢CJ¾2"Ä *y Ä®³€š‚å2ÞÖV“„ØdÄP(íDÊ¥2ÎIACN–$± ”Fª¿ŽÄaÅãÃFØ Šå!ŽiœŠö ¿‘û“”ýƒ)¦Ô>Sþ.ÞáÂâ‡RŒ !Pݤ| E‚¤Á»þÝ­rñœä²Èc}„€ý.…$¤>Xåß'÷q¶dÚ>#%äúOùäÇF~kc^œ/ ˆüÿÎy5®Ä
-y½ÝU»êwÊo«vSÖÎÌØþ"•×rj2V9X€J`Qža^ lŠPûŒ×Õλ˜{ÈlÝtûh:Ëj8êS;†î
-•Ë?e‡¼kK¬*Áa†KÛï«ÿµ›ºïCíïÃGÛ¢æÕM_횪Gñ¬ÿ¸™p|\qˆ¨Å‰ûÑ!Ô„Nx¨”iüaBùItTßC¹b1Â6!< W^{ <w‚óål¨ ûѽ‚àOQ)pΆ`Ð9¥‚ÈŒò×(…˜VŠŒà ÿN“J_xÚ<vŽûÆZL©:$­þ4âï|ô]MÐÔ„†x¨× Wö%!G¨CH>Õe
-J ꓉'2ûøÉU#¦áýÍëâO¿zÓº¨{Ün×õàò(eÂ4%œR¿¾!HŸÉcò#â÷M늄o|]aŠŽÊÜø¶ÏþÈö¢ß^lÁrÝÖëº9g`ÆÇ_¥æ„çÙ‰+óÐÄ›TtlYÊÕjĨ„·ßUêÚöèýØRg RCü/VFl5Ø›¦z¶„Äkv”jᘭ/bϹyv*Ù‚¨¶…œ”0}Z„*ÅT®Åb_óºôe*Ù'ŒIT!c/ì…"ø,>Á1î¯øõýþÈÂͱkžC ¡¡ïBÄY–ëŠ{§Œû
+xÚ½Z[oÛ8~ϯðÛ:@Íá]äcíÌÆÅ,Ƀ+‰P[J-%iö×ï¡HʤEIée"šúDžû!IþÈB „™æ‹Ls$0‹ëÝ ^Ü»·'ÄaV´
+Q¿®O~ùe ´¤r±¾ ÆR+EëÍÅòìÇ7ï_¿ûÏéŠ
+¼ü®ÆËŸ½ÿtö‡íûpªéòìí›søI9“
+ KW|&Þ…¨q ö¨ŽšífLˆ 簲ɹ{Tbò8ÒAP
+å‹©äpÀñ£0HȵÀúçq¹q¸Øˆ:fì•…òõ\N%|¢œøHµÏA‡÷véªT–%^›®>5?l¦Òéš•U*r°%ÒÛÒçý•p9¬e\勷ߤˆ„ÈdØ>V×LÝ3 ' ƒ¡·Ò&ô}#ßڬ׼ڌÛ1ø¢¥š±ã
+Ñ`Zº!j\º=j(Ýço‘.¦y& ëQ ÊŽ¥‹qFcÒF¤;d¸Ð(£‚½Œß’\z~‡rý |—»ýÓi`㚦`}±f½raŠ7Π팼L}sTM…2ȸpjª[1£jB <*eäû}S´C-°Ñ¼Û¤¹<<Pˆ†T):MnJÐG¨Ô"&øçš~¨Þ tþÙ4BÏ°vÐq•QŸƒy~LFŽW‰qVœB‰Šeæu„¼`›ÍûSW&Ò8×ïòC>´%Få0yö]Û€õ®lÛ~ ðÝ{û4–WVm±¯ŠÖ¨ü`ü‡ÝDàã#žá™À¢&l£R®ñm‚Û õŸ$·G%èm²
+‰_D°-I•NÇC a4sbÞç!,4CïÁ@̧Æ(Ì;›‚AcÎ(L"ŽéO0
+‰ˆÙ¨²³Ê&ä¤Üo>í'ýÎ[L™ˆ HZ¼ÈBä?`!Ìwd™¶5n!=êÇ-Äâò6Gh@:à á h’ö• >b5V°H0—ˆúur«Ò(ˆ¢ÞòRš+‘$ý)ÄMg)µIÚ3
+éûõi‘¥etu:î­iõÖÙ”vÃ5€´v[znêýÎe¼;ã±4wùÞV‹Rt-yWð×UbU*3UŽüQ{„²«¹ ˆcJõ[­ ÉL³k>jœe/³F#˜~¯£ß 6«‡e_•Ýn´a‚Ùw1½»žÜvtò0ΛAÿÇæàK
+n]gÏlÊ25+I­­˜à _Ú†ó
+Ð*¾æ×íöÙìáå.o;-€~[çAc|ΡØ-tøÕ¥ßá‡ÿíRNÓêü7ƇW·åc‘’7ãAøÍ~TàPiF¾Yà„Œâ8ôì(ÉùÆÔ„c6b¼æØ(ÓdÖx3<Ð#ªÈòioœoe”îiy ¦…5å>*v¯Š¯îÅŽâì»)ª6oíF# :q‡ Ãî¡×‡Ý9u$D!ˆA"ÖÇî8Ýü;õû@R$›ÉŒBÔ¸ßïQß·[¡—þ
+˜­æu±-Z_EôÅÿKŠ‡æ°Ì5 ÚЦ–‹p#À\T
+kÓ¸~Ø[­èŽ¡cW4M~[›VÌœL´` Ö“Â[{}¶€-6¤s Ð8ÜùÈäÑ …é(«ëâ0ªHÆõ`ns_Cæ3^†šÓ9¢ÈÌæeˆš GÙìÜj_,AS¢)>=kJLK@" a1š÷¼¨6Íñ‘k$>èpâûæ+… eVÌÆÚÇÕ6¯>nŒ³š0(bænk„¨ V{”µóæ©Ø/kdH*™MÏÛ£Ó£SM)U<q`-!»=þNPŠ
+Ü9†Ð?ÉŠ
endobj
-2626 0 obj <<
+2651 0 obj <<
/Type /Page
-/Contents 2627 0 R
-/Resources 2625 0 R
+/Contents 2652 0 R
+/Resources 2650 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2597 0 R
+/Parent 2649 0 R
>> endobj
-2628 0 obj <<
-/D [2626 0 R /XYZ 56.6929 794.5015 null]
+2653 0 obj <<
+/D [2651 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2625 0 obj <<
-/Font << /F37 1026 0 R /F53 1313 0 R /F22 961 0 R /F21 938 0 R /F41 1218 0 R >>
+2650 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F53 1318 0 R /F41 1223 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2631 0 obj <<
-/Length 2047
+2656 0 obj <<
+/Length 1959
/Filter /FlateDecode
>>
stream
-xÚíYQoã6~ϯ0p/Z3¤(QÔKw“ÝÛvähÑöA‘h[XYòšr²é¯¿!g¤H¶ì졯‡–Cr43üæãtÄ„Ã?1Ñã2 'q²ˆ‹h’m.øds.éÌZ¥Y_ëÇÅÅÕ{O–¨@MËž-͸Öb²Èÿ˜Îïïoî®?þv9 ">ý‘]Î"Χ·ó»_çŸpìþ2 ¦ó7Ð B©@IH§§øôîá×ûëùeN7—-~º¸YtaõC\º˜¾\üñŸä°‚Ÿ.8“‰Ž&ÏÐáL$I0Ù\„‘dQ(e;R^<\ü§3Ø›õŸŽAFšEA¨&³(d:Iô8`œñ
-Ãp§JÉbÅuÀ%ÇO?kÃGÊUÇ°ç¢Y¸fͦÈê²5Ÿ"­‰åõfµmòbUÕØÇ’à!Ų¸µq(&AŒåðæ·ùíý'8”PµhpÂn»…O>ÔBó5ÝlK¿ÀzJ(ä~—t?Hµý Gqƒeg°²XG\‡pè¨X“bVïË]<t°·†FüÆ…‘¢²f×à"BnJÓÐ'Š­÷^Èh18š!d9­ié{õ†<´EX蘅aµe·ÁÁ2¯GÓ¿ëÊ×­¦wuS`-ÀLÚ´ ÕvOÇMQáI³5Ih;tþXì¥dg—ew$µE
-&\‘BÉÖ‡ÎSÔ^á÷[¿4>\’?ÔˆoiWl4³]åLm»!h*©Rà0v(Å^nÏDcŠnWW6p¤A]ñ2é|ížÚÑeMBvây(†ä…½ פù¿.g
-îc}ʽ.ÓP¥ ØÉ-}œ\—ùº¶ ¤ÛMÌÇ1–æ9ažÇ-irÞõˆa«*&˜8ã¤=‡·oyõœäÒ™vÍñ%]7;ºZ7Ñ‘Àu¨3³Pið“NÕóx©ÎÑ(nÂÆ‘4}¼'Úå9íhâ_«ÁIŠ>D¼¥Àmù2óS}n¾éÆÖ-µ©4“á<}Aa± «ýŸ<â”<ä+l×ܨø§Ô$z»3;ó…Ô¿æõ&uUÃ÷Šì³Û/ÿWZŽÙ8äå»»ùí Ѯޘ£ÔÞWßÆÒŹktW
-ó¢)üé
-™iïòT9\ùk+‡›®é¦¿6Ùçö‹^I»©÷;}8r€À—ÇHïUºMç=½lG3KåL¢ïH+ÃéG_“AŒðÅè(ª+¡ºWpõaÁÕÓ%֛Ȭ†/q§è®âÂ:jÓŽÕô©ùZ؆œ¥’áäª4ìÁ†Z‹m»C.Ú;¹vwn»'pq€òÒóÚ¸<kA ÔÌú—šî\fi…±;¹®à%‹¬µŠ—.ÝÂæᵚÙN;w ŽÐxw ØúãXÑi í/ïß¡
-Ó¡ßÎ
-ÞQìÈž›QôV@­QŠIÅÂX¨óéè´Žóq@1T„‡÷ !©53¶?TeuÞýŒÐ¾Øþ};7»½Ž˜–a%Äší…hwteá¶:Å•©ü5¶»µŽþ¨£™<|ã7W¥ÓLk•þO´sDÛîŠ'z Ȧ8“Z$góÑ)%dH518CƒAF:¦‰¤Ï4×sLsí+Ó\Ï3Í ¦¹GšøV¦?¤«±rla¼;¹ÿñ_B^ÿâÆ€•>ñË( Â¤LD”CH¨ø0ôHjé ‰ý¿gíyIendstream
+xÚíYÍs㶿û¯ðÌ»ØÓ˜á‡>/ñn¼ûÒnòòjïL;mŠDÇš•%¯$'›þõ H‘lÙ»msìø@Aøe1æðc×c^(ñ:ÌåÂÇÛ?ÀØû‘ ™Y#4ëJ½Y.ß)²Ð“Þxµîè
+1^%¿NÞ0á°)¨à“ÛåÇ»«ùÔw&«Åt&¥£¼Éüînq{uý3ô] Éùäf~ûqþywÓPNæïËéï«F‹UkV×tÁ•±éóè×ßù8ü0âL…;~‚g" åx;r\Å\G©†“–£ÿ·
+;£vê +gRyrÀRŒ…`¡ëÊž3ÜyJ*ëŒÅÏ󛻸˜ ;Îãã™ Yà)tÛj£aûšè/Ñv—éÊôää^gÅT¤äĨPt
+G2×w|ÐlæÕ~—DµXÚq`]? Á¸Øg .q¯q}¥‰SÈIóJ—5ò¢œ隦”SLtUì-Óf¶MhOkÛ+¶´ÂÆš8ž‰ÀgŽ#] ¯‚uä[yßüQäP£or[Ô©] Øõ&ªŠXi¾Û[ž$²toˆB½Ø‰‹¼Ž`‹Ø‹HO¥Yš? †û,Ê?á
+Í]©Ký™Ä¿$Å62YÃöÒø“9/=7þUXé8ÄåÛÛùÍ‚`WlõQèþ)J1@Ÿv&e¤UZ¿¤Â$­Ó"§D¦ë
+©º™K™Ã¤¿&s˜áÛx£ãOÍŒNJn³ DÝNN.˜y|€¨M F9tv¥çÝ`d)ƒÞ7 UÎäÚfã°g#Ì / çµ)4è$Üà0á“5\•Uë’Ú
+à ÖÔVØ6gÑáBÝp5`Ÿœ‹ Š POmâÚ`ÐBðH­±-Ú%ã(GÛ ]ä¿q®Ò¸Ñjr ­¤Q}V䳪†ÛÎ\¨0.§à[{{t[CûÓ»·H@µç E¶aC^j»¯h-Âz•Ä+j-f€(lÀ-y”<‚Z³¦¶«´:ЊuCÚd-<ovÜÞ@4m„Š/ C!ÈL.÷š\Ü«Ûårñé”$­‡ !]å"e¢i£ÌVŽF…5«êo¢GM:~Z^¿¿h×øqñ )ÈÉ‚[³ì€åg“™ŒÜ֥ʦ9SÂ÷ì´w×j{Á|!¼±rSÜ÷OÔâ(4ëJÙRÜ ž%­”YõR×ñe ù%{„߯ ®dÔy Z©czyW¸>lØõú6PYÝ)ÍÒ
+½tM7^¢×Ñ>«Oh§<Æáñå…ÎW<Ö‘:ã±FÊzì1*/Ë}~i,I.+(àZ`Ÿôó¡)R@m ¸8oK+ulLÏwRøŒ‡Âé[SáEÔ-g{îZˆ‘2ö‹Yð;¹;Ç6+â(›yF’Û"ѧü+}x-Á#í¬{;B§½Û™íüˆvÙ‘c¡g_ek*mºŠB5ï;ƒc%R±Pp‡„¾¦…}g úÝ€"
+ƺÜszѸ*=ózúäq‘à»Ï¼»è±öß›ùÛÙÍ•{€±“ ¦køoÎr^A¡:ÁÛ
+¶-XQîvCù•¼×•:ƒ³Fê_ Ú®LéEЛ’Œ+×9’Vê8&}¸)Hf úAiñ&Â.ÞLÏàÍ´/x3=‹7Côðf÷4po‡÷ñLœ)©Âþ½¼\,ºóËÿá<9ùÁ
+‹³0˜À‰ò†>2h¡ô#o_ (t™¸ÍçªVâÜEu0úšêÇ}Eu¶°}EëLø·ÕyGêB%¾A¼ý…ÍI‹» ü
endobj
-2630 0 obj <<
+2655 0 obj <<
/Type /Page
-/Contents 2631 0 R
-/Resources 2629 0 R
+/Contents 2656 0 R
+/Resources 2654 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2597 0 R
+/Parent 2649 0 R
>> endobj
-2632 0 obj <<
-/D [2630 0 R /XYZ 85.0394 794.5015 null]
+2657 0 obj <<
+/D [2655 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2633 0 obj <<
-/D [2630 0 R /XYZ 85.0394 561.3238 null]
+2658 0 obj <<
+/D [2655 0 R /XYZ 56.6929 750.8373 null]
>> endobj
-2634 0 obj <<
-/D [2630 0 R /XYZ 85.0394 195.858 null]
+2659 0 obj <<
+/D [2655 0 R /XYZ 56.6929 374.3309 null]
>> endobj
-2629 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F48 1238 0 R /F14 964 0 R >>
+2660 0 obj <<
+/D [2655 0 R /XYZ 56.6929 186.4801 null]
+>> endobj
+2661 0 obj <<
+/D [2655 0 R /XYZ 56.6929 98.3442 null]
+>> endobj
+2654 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F48 1243 0 R /F14 968 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2637 0 obj <<
-/Length 2558
+2664 0 obj <<
+/Length 3033
/Filter /FlateDecode
>>
stream
-xÚ­YYoÛH~÷¯ÐÛÊ@ÔéûxtbOÖƒ‰ã•ÅI‘²ˆP¤F¤âñ¿ßê‹jJ” ³êêê꯮™`ø#!‘4ÔL”áH`"&‹õž<ÂÜ» hf‘h–R½™_¼þƒ©‰AFR9™/^a­Édžž¾A„£K`§ï®ß^Î(׆O¯îïoî®oÿ}(0ž¾¿ºûtõ—»¿4tzõîæáòëüÏ‹›y/N*2ÁÌÊò÷Åç¯x’ƒä^`ÄŒ“'è`DŒ¡“õ ÎX©..þÓ3LfÝÒQŒ(“tD”LAF:P‚0H2Êœnnü¡®þzø`Ïš3‰æðfãžúãVMFO)aÒSSšPs‚ÕV4Kýj„Ÿ@B zv cõÙQ‚ùïd§¹øì
-oÁŸÞ=ŒÈ:Äì|UØ“Ñéü’LnßùlfdZ¶~`{Iô´ÈwužÕ]&Û® 㞨¬ý·VOo·Å&Ûf]Øä Æ´*`ºÇÁ™€íãþK¦™ï‚ŠÚâï]Q/
-?Þ,ýDÝî6y`H¦»¶¬îp«FÕçýØõÃÜ›pU~ÛfÛgßY‚ä®Qv­o,¶Ï›®yÜf›U¹ðCͦ
-¤ã‡l¿¿ÈÌóO®¦Xòl_äàpÌ.›RN9nF80 £
-#M 7&¹ ɯJœT;–ÄÎ!3ŸµÝsåXéC¸1—Ò2©â†zï6lÇ‹ uÛq¦§ —ª=¸ñµéúvcór+?œðªªˆNC^áàgͽO7{‡`Óçº9çz×Êoѽ
-¥A×( —Ç6d£“ÍÑäϹ9{³T_™wÆÞÝ WVÙìq×s˜ U™#ð²i^tÅvíC ¯š'?îç£.[tapÈbuÁ’ê‚F×n™.
-“; ÍK–.c:~ž
-õ%¶ô‡úlQ’RÅפ㢤§²ûö•ˆHÝ$AÚˆÓ•È µàœççEì©Fd¤QB!*„
-ù©-F²nŠ!û”âL½4`­ä8ý[L悉Á•ºõ‹ÂOXFÞ»JïÊKHâ;¯æ€àÀ¬Á@Òšqô~Wuå¦ê+ö¶ËêEѦéF˜ÛXøw}j-7«*o
-Öv»Î¿>Xç¶ nªq;µñÛûü Ç!˜$ºp${]„ׂ1Œ‡“œžÇhJu£=•Ãèb £ö •œ¨i
-Iž` á8@mM ±9UvøJ`+OÐIÂó‘k¹H²¸rm‹p¬¾cï¶_žË @öj¬àÅaE¢”¯‹nñÚúrdå3£Á³Ãi0p()0Üäy0$TgÀ©¾¿è°Ò—ˆäcX›óÂõT#Ò @ „n(ËâD‚QœŽ¾” ˜Bµ†¹2 (Ù3e!ÐÀH)Û_½p&Ocôƒ3WO„Fš}tõ!9M)¤°–ýÍCfLÂS-ìD³âŒl%@EFÉt§ð¼l4RàŠÛÓR@-n4‰2?•6Ý£Dùô ¾nsßrÞ¾i]cGdZ“Ád…WÙ§œ¶].÷“#ÁÜPägmÝ]WÞAºé¢RøuP8ÿ”mwÒà´±þ··„è´¹E"gmí‹®wÿF7°5L‘2g¥
-$GB -ê̦R¥Ï‚Ãâ
-1¼+Ö¡Ê5áWˆ„- dæ/[
-„‰0û:{¦÷ΞiŸŠ'æš@{¡F†”I±½+,ì«‘cjßuìFýÛ‚ö¿´¸1(v«ÒÕ›Ðó"ÅÜI'OAvÔ>ÙÇ_.`lÕ¸OÓPv»A[<Ù¡ø‰8Ó¡+þk6øe ÊÀ̇?pô™Íà'½†$!:ñε¿}šÄ/4’©½¡–.8)]ptPIýh:õ34È>¨Ž˜ îk‡_þ‰zÿ<·9±>‘êP%,–Q({^"õ±
-?fËþ¾ìÐendstream
+xÚ­ZKsã6¾ûWè¹j„àMâ8¯Í:µãÌÆNj«&9Ðe±F"‘²ã¿Ýx
+#g™‘DQ¦fËÝ=ÂÚOWÌÓ,Ñ"¦zwõã?D63Äh®g÷ëˆWNhž³ÙýêËüíçÏo?ÜüçzÁ¿#× EéüÓÛÛßÞþËÍ}¾6|þö§wð(s#ˆ)¤Ótþëí‡÷×Þÿ|õñ¾'™Q²üuõåO:[ä?_Q"L®fÏð@ 3†ÏvWR ¢¤af{uwõïža´j_R9Q9Ï&tÀÙŒI"¤æ‰”!<ϸU~Ñõ‚QøòC½ZâÛ…P„ñL[’ÛbWâ<ðã‘NŠxÛÒØw­Îþà<s£ß³£¶<<•7^6uw¸fù¼Ùº‰cWm«îÅï
+¸"A ¡€ªy·)Ý Ù—‡¢«šÚ?®Ýoá~|`‘7¤LÎ!*sÐ7_8‡¶\•çS©¹4p@A5Ó2ÃhôyG‚•gZøíž ¿ÏÞ}ÐSµ*Wn¦
+ß°õïnn?Ø0 S¢åÁ‚]D¶ÊmY´e _%E>¿YO¯(É%ŸӸ "
+¯PH#@¤§æ«•ÒÛsÕmÜtݸ™`vr[Õ¥›nöx žEsp¿…•öñ¸+ë®}s½Øwî…ý¡‚IOç~Ú º§]m°Ëáų[;d’pAuêÒÎ*0÷èÞVrÕÛpëžœÄ0èÉ‹§¢Ú[ÿ8È?¢®|fJ¾…L9XW‚_T9|c¢7òÝîXWË¢CS™ò
+Ç‘•TdÚ4N…L‰ã¦îçþýgGžS—Ë®ºfó¦­KšÁ›õªªå ûúvª;+ÄÊ›ž2±¼`
+r¾ª«®Àm@¦ê±.º£³Kk’RÌojGé´ TËãÁQÔ[éÛ`0ÊŸðØÿ ð\ËWmXRG­ÈK VŽÊ\M°”ÓÇAk«:ˆ/AÛ7Š­Ì$ÊÃxäW™ë‘úŠícs
+ÁFšNLK3¿ß‰¢ ÕÀ;ÜýÝÍO‹¶{ÙZVùXvn@è,l˜aœØ˶ó<ÂJOï^g½ÑCÿ¡ßo÷`?%Ê_øv»M6‰Î=²°æ‡îÞ#Î> ,7èÄÃÎݱõ”!¼€‡Øòðâc‚û™ÊýyBF‚%Åw§þÀpqt0>ñH†ö T>ñ;9ëæ¹ö_ÝŒ¾>Ε§„©ÉA´oŠqø%&à4wX…‹Ä.Ö+L#õ”òÇcŸÉa g\@æ^B1_•]yع<Ó›æÙÍ»u˨+–ŸÜx²P]ˆ¨ºà!®#Ó%˜·?»<˽‹:?öŸ‘ºqH xèvPyCìuÜúÅ#Ú奒š¦_,`º;)}½!4Ðrž_.JbªP×%=îÛW"*’ŒäF‰³•H,!ƒÝ5§æ²ˆ=Õ„Œ)ˆRDS˜J„ü­-'P7§€>µºP/%¬ÁkD®BRØ”ÇBjåö}4Ïeé‘‹-žÒ2 ô¯°(rz^͈`äI¨HQy.SCútÜvÕ>Àªn»¢^–m 6üÚí¿ëMpÝb»u¾€ÎÛu6»ÛжöAª±ù:vò›ÏOr„p`J{&‘.,É ‹ÒžIÅÚIñŠFTl4PY]NÙ(ÈÎÔ´‰jF(—â²|=Õ„€‰‚]R
+f”H8m Xh°ù3ewÂWg@›ÉÈ:™ñ–ÄÌDŒÄÉ#qŒV‘Õ=à¹3#†×Wåº
+µ•™‰Ì€ó€¹ð™fúôÈÅpô¸`]ž‡ôŽž©œäÜä'GïQÌH¶,#Íuò€‹€E¿ Å™ØJAyi2ïä""`’AH•¶ç¥
+#Rg"EÛåßUÛw8aˆ°Ïe‡‹¨.8\ ²×¾}‡6]ân‚%ÇeÑzªSÙRB´Ä²,.n¦E˜¶ì=Î54L¨âL
+“æ{»°½ÓŒ}q†Ã]Ñ-7¥©8%…lÞ•;_í×æ‰Ù‚­,ܱkP?S&=õ4ì‹|û"w ä£çŒèì•ZÀS&_ΨÂî‘eŠýܨï1Àœ- qŠÞmeëNxr"•G-!œÅ–6Xè`Àܦ±…^Î}ùm'±ˆÂ)ïZ 
+´È—W14ªbhUQ‰¡ê¬?#VL¨ËþS÷çžÊúóþÕzã‰7sl#ªËr¢ ¹’ÔÉ¡„äz$Ø]YO6ìʵ]-‹‚ûÖ}!¸!"ë7UzjšHâô:#“°}W;2?x¼é¹˜JÚ¸íÿ:d½³Ç«T½®cª Ǩìñþ>ÞÒ@à¤8/nˆ&¶LNŽLÎMºåÇzhž‚g>4Á#·Íã##ç•
+éêA£üm¨Œ0¿J1¿ôåG¸ô-Û~ÁÙ©éoˆa
+òpç”^žõÕüÂUÛx›
endobj
-2636 0 obj <<
+2663 0 obj <<
/Type /Page
-/Contents 2637 0 R
-/Resources 2635 0 R
+/Contents 2664 0 R
+/Resources 2662 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2646 0 R
+/Parent 2649 0 R
>> endobj
-2638 0 obj <<
-/D [2636 0 R /XYZ 56.6929 794.5015 null]
->> endobj
-2639 0 obj <<
-/D [2636 0 R /XYZ 56.6929 752.2803 null]
->> endobj
-2640 0 obj <<
-/D [2636 0 R /XYZ 56.6929 678.9572 null]
+2665 0 obj <<
+/D [2663 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-898 0 obj <<
-/D [2636 0 R /XYZ 56.6929 629.2071 null]
+902 0 obj <<
+/D [2663 0 R /XYZ 85.0394 769.5949 null]
>> endobj
-2641 0 obj <<
-/D [2636 0 R /XYZ 56.6929 596.6999 null]
+2666 0 obj <<
+/D [2663 0 R /XYZ 85.0394 748.1323 null]
>> endobj
-2642 0 obj <<
-/D [2636 0 R /XYZ 56.6929 561.6414 null]
+2667 0 obj <<
+/D [2663 0 R /XYZ 85.0394 713.0047 null]
>> endobj
-2643 0 obj <<
-/D [2636 0 R /XYZ 56.6929 497.3516 null]
+2668 0 obj <<
+/D [2663 0 R /XYZ 85.0394 648.4882 null]
>> endobj
-2644 0 obj <<
-/D [2636 0 R /XYZ 56.6929 426.9933 null]
+2669 0 obj <<
+/D [2663 0 R /XYZ 85.0394 577.9033 null]
>> endobj
-2645 0 obj <<
-/D [2636 0 R /XYZ 56.6929 245.5268 null]
+2670 0 obj <<
+/D [2663 0 R /XYZ 85.0394 396.1161 null]
>> endobj
-2635 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F39 1161 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R /F55 1321 0 R >>
+2662 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2649 0 obj <<
-/Length 2197
+2673 0 obj <<
+/Length 2232
/Filter /FlateDecode
>>
stream
-xÚ­YKsÛF¾ëWð¶PbŽæ `rSd9«”-kMzk«â $Q-Já¿ßîy€
-èÅû§qER›åÕÒ†rQo·Yµlì[[Ûßù̓}ðêâʸ&"ñȈÑÙ<&’úØUÓæ™;µ^¹äº»oŸô?œ
-Ë|•íËÖkWµ»K–Fu雬ªòò¨Ü;·Bx’T.r xœRÉßoë•ðz.ÞÔ1¤o’¼~¤g
-9ˆ…ÕT¼­²Ç2·6?ç»Çºq/e½^Õú¬bxHH~Õ }®óN踌á2ñ9þG~8Iq&‰f èõVÉs¢Ó4 ü´“xjÄHµ„h(–§5¨I3þºã:®€ç±Š•«á©_Mðbµ÷à<5ª6%Á›T÷&§ Hêïóf'1à;jœÁ*å"äαà"Ò±vV¬lYoG€‚ÿF)_ïwY[Ô•%"¥ÌI‡8L'ç]#b¨6ÙOÚïuM'ñ ׈X&Ò¿îší¾i­á>-ªúÅùâñ€¿qTeÛ|iI/E»9º¤CøA’t‡² Z)  ìA´PQV®ëlÛºW{¨¨É&.yëÞÛ€Š}.P%£Úp,ó%¯j÷0Âjmó¦ÉÖîÄç¬,–>¦ðno8a¿Xäùš ÁUt·²Ôª6Š°w6ØŠ ‹4™ÄqJ•Èïv'qÚylw]Ìu<ùl°§’o
--™ Žíº
-¸ÿôYÍS¾(0ãóå;·› ±@c.Yìªå"tñ
-"cá«â¥(K+Åî0¹ð¥¬ë?ð‰Ù")³?èYó°(³=b>cøñ×”*îjòÝsî66mÖæÛ¼r¢ñzïñÒïcnR
-E€pk$Ü…)4±&¬I--£ÓB›´0ï^ÒzGÖÆ’Ÿl7Ý‚ÍSE’9Ò¦n°4FM+K´P®™oàFï \¬W^˜'<an7=¦Æ0:´%ÈG÷u‹{©öÑÔ‰Ò)ªÅÁŽ¡Í
-s ¬4›ÌÚ»´«Ç:v /›b±±kŽÓÒ1N‰Ú‰²­!2îÑ+m±
-¤1Œé£ã0C÷ݹt®¤¢È¤/!ˆæ«Û×ù??yÛ‹wU›ï*8³CÝ ê 4 €>Å~{<GÇØÇN23iƒ‡Ÿì\½¥}6àIe’ô
-ÞNâ {UýÔ
-ô‘BF7f,2“· 4ós?Žg]8NøR6µc뤺ýr¸oöæ†&l§Ü|zµ‡Òká `]ŸþS·Ú»@o\‡²~²SÊÕ–öÃUpÃ?¶\ Ûîc»ïøÊ¢ÊÏý »r!B¸B;(øî?ÿ>$"ÒôÌ'hA±„¡åtJ¡Å,Ö'Ÿ]DJT
-yªûÿ
+xÚ¥YÝoÛ8Ï_aàNÙ­Y~ô-MÓ½,ڴפÀÛ}Pm%N–r–ÔlþûjHY–ém‡
+ÛÞçuŸWþÔÅ’ 'Að,#N)>œ8l×îÎmÖ× -%”þ%8 …‹žÊnÓô2ΑúmQw-’ºŸ¨& Ê8³)ªGm‹¶Í
+2J4
+}ž‡ã,µ‹¥0„
+.‡Sß]¿¿¾Ôÿ»»þps›P‡‚!1V‰ïëc‚>ë¦òÕMÐ깃Aת
+n‚f“¨·!–¦ÓÁ­0²©
+þ±l`bé'ŠÚÏÙÉ\o‹u’˜dœ&‹±Æ¹i4Y Lc~ìÎMf8
+¤9Ži£s?kK8„C`Ÿ†+©¨_äyñùî_>ý•qÝuÝ»:âÍísÛÛàÕ˦n|Ê~»?W!utžä„Y¥Æ~!¤›.“ŒXiÌàC§8.ãÚ%Ôhܰ圓Èc¯†#Š ‘d<«ÐÜÚ؇|áÜìã$Æï<C€ˆ’®ãaø>×Íc P7ÇÖÖb) æb.Õm
+Ø!ÜU8yXø–šA °A½èDr–mò@̲R
+e=L?×]þŽ¡6û…I
+i£e¬ã#˜¥ÅÏ(;âÉR •Ýv9$=6PÃÑS9
+·ç5®k=Dµ³U/p2&9ăzv÷‰€‚ÖC'-žãÃw¡‡ëHÊ›^¥DþƒöBGCEy­$¡ ¥<¶û‰5âå¥×Ó¿y“}+ f£ÏËN‰ %žZÅMqŸ÷U· 8Åjb¤Š·><O+ƒ÷MU5O’Ðá<<ÇaP‡¦
+—@!f7MÛáè©ô·0?úvöanSÔoãŸô€(/0Ž\ÊoqCHy|ŸÜk‘±~ßœbÑ”D¯›T'É ±†Û™Ã%iÆUÃթщpSCýÜÔ‰@œï%žã‚W,zÅb:xúÓ¦ô1å ×Áº+}€Îù&o{Žfôì¶77#œJ7MŒ%—„Ó(u›槿Íe×^pm½¿„Û ØŸ¼Ë A”rjÚ+éÉí¢r=h
+Ä¡UÒÑ‚p,v°ž¾ Ùã·ï|œ ÅY»´„œ6ß3¦RÌý¬]Ö‚ŸûxÌÐ hô$¼nónµ Æ«™=4¦¿®&
+V€ÖX[Ãf=Ä#@6b¬1'RS3ÿyQÎRsø:tl#}E<ÊMªÀª€Õ`UXáW'?ê B‘¨‹U¤7¸eJ{l  ºÛ¦ ¬BšÃ(˜,~
endobj
-2648 0 obj <<
+2672 0 obj <<
/Type /Page
-/Contents 2649 0 R
-/Resources 2647 0 R
+/Contents 2673 0 R
+/Resources 2671 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2646 0 R
+/Parent 2649 0 R
>> endobj
-2650 0 obj <<
-/D [2648 0 R /XYZ 85.0394 794.5015 null]
+2674 0 obj <<
+/D [2672 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2651 0 obj <<
-/D [2648 0 R /XYZ 85.0394 546.7712 null]
+2675 0 obj <<
+/D [2672 0 R /XYZ 56.6929 703.1515 null]
>> endobj
-2652 0 obj <<
-/D [2648 0 R /XYZ 85.0394 448.103 null]
+2676 0 obj <<
+/D [2672 0 R /XYZ 56.6929 603.3192 null]
>> endobj
-2653 0 obj <<
-/D [2648 0 R /XYZ 85.0394 386.1077 null]
+2677 0 obj <<
+/D [2672 0 R /XYZ 56.6929 540.5015 null]
>> endobj
-902 0 obj <<
-/D [2648 0 R /XYZ 85.0394 347.8768 null]
+906 0 obj <<
+/D [2672 0 R /XYZ 56.6929 501.6992 null]
>> endobj
-2654 0 obj <<
-/D [2648 0 R /XYZ 85.0394 315.1782 null]
+2678 0 obj <<
+/D [2672 0 R /XYZ 56.6929 468.7497 null]
>> endobj
-2655 0 obj <<
-/D [2648 0 R /XYZ 85.0394 279.9283 null]
+2679 0 obj <<
+/D [2672 0 R /XYZ 56.6929 433.2488 null]
>> endobj
-2656 0 obj <<
-/D [2648 0 R /XYZ 85.0394 215.0111 null]
+2680 0 obj <<
+/D [2672 0 R /XYZ 56.6929 367.5092 null]
>> endobj
-2657 0 obj <<
-/D [2648 0 R /XYZ 85.0394 155.9807 null]
+2681 0 obj <<
+/D [2672 0 R /XYZ 56.6929 307.6563 null]
>> endobj
-2647 0 obj <<
-/Font << /F37 1026 0 R /F53 1313 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R /F39 1161 0 R /F48 1238 0 R >>
+2671 0 obj <<
+/Font << /F37 1030 0 R /F53 1318 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F39 1165 0 R /F48 1243 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2660 0 obj <<
-/Length 2684
+2684 0 obj <<
+/Length 2228
/Filter /FlateDecode
>>
stream
-xÚ­YKsÛ8¾ûW¨fC×F<LNNâÌ:5yìÆS5U³s %Êâ†HÙëlÍßn4@‘gj·t Ø
-&„œ?ˆLò8Æ’œ+–[+i™JÅçÒ]¡àÆ¢½7‡$)_ö.Ö3»+(:Õƒ\©LÝ9û7÷xåÚˆMMOÒ lëìíH«¦ª\VA2æoÈPPR"OKç%”J#×ÉSê1<VS;OÖ‚÷a›¢&RF¯UÖ­¶^™`#f°c—-êÛ¹„@ö9•FT:m2=
-´ää³"ø1½sY"ÙúH¶}$[*HÉö kð·°&
-é–„€†tñ½ßÇÁ¿‘êa%e ¯0c“i©¸ƒ”M96IN„¦XÖãIhÞ5»nF3IŒñ(6¹ñ V¬ñ V‡k"Ç×:ðÀ††P$ê|è }âœßéSí[5gåÃF^e.Á:eeXÌí8¼\Lñ1%¡ÐÄ*$¨§l˜ UDâÊK^[0Vô%ÆDZű%eÔÓNHª@Š>í~“¨CÙA%܇}
-/cF3.¸æã+0>d.ùd$i€–s‘àØGR‘„9Š|$éC F.”àéC)ñ¡Orp&—;p¢Ÿ§J‹)”hö»U¾ÄzŽµüøBi@Ø"ÄÚfF-€Ò˜Áz0RËü&Ë{3·–L=N‡Á«}¹ä­~* ¤¤8Ø ”6ï<Á!U\}¼iŽ
-ݪËðúÁWüdX]pÉÄG4ÿuäDeçÐKÅò뽆dœ§öøŽ"æèš·î†ÇE·E˜Ï› …ÃÍ£+H b&”¤RòÀšôS(i™XKyÄpÙÝCÚD–˜xâÐáÚäX¶¬
-n™•·ÍNSÍ9$g¡ú{´Cë‹õEùT¤”Œòzµ{ 8&LÝë&8óèò@$
-ûë‰ð×M;Yœ;¨¯ÙÝc«–&”2¾3 : ƒý‘ëìÒtôOÃÒpýÇi&ðžï®=RÖ—Í*+±M{1‡‡Ïx80¼¿ð­îÜNôÌ "[h¢FÿØá¶_‘Zôø`ÀÿokHÔÝðý©½eì?êwžÔ™CwàùÍzi¥Õ þñgNb"™¡6ž´û
+xÚ­YYsÜ6~ׯ˜òKFµAëʃlËŽœHVbeË•ãšáh¸æ1r4+o忧n€ä„ñQ»¥‡îƇ¾
+óàߟU/¸b‰–¾^4dððp\¨ÃIã™`(Ã
+ø㌠ë¦,›ƒóv Þ="5ÃÏ6_¢’CJ„qèŒMÑ]æÜÈNPÇ
+8T6!¸ ·jö®…°ãß÷MG>6ƒ‡zŸþÃ8ÇuÔeSUÎe€xÈ[¤º3Ê}^ç;p}¢nhu°ÛR½Ývl½ åohM&°ù(‘Ô
+À̳ËëÈœ"aë›û]VM¸j$áî¡C³c]uácfÆÑ×Ôk0ª7M!ÃpŸ…°ì@+xGgKÉ4Bìo‚;{$î …6Žýùžá'v›¦ï Ç1—3Ééªr¾–Ožd2ᾉÀCz²²% ß×Í¡&óÚ)<a‘Š¼¨ªøˆRÅ„
+JÏb-×ön5 [„.¦ŽÁ„:l‡Ò!t0Ÿ{pûxÐÐÃü·XáŒßTlí¾c“±f:ìcÁ˜W ¶rP šu·›b‹$,,v„.jgS²|ßQ=†@ã©”cŸóa›=dE™…õi ÊjªÈí#4TUKùàmžê‹wçW7ß_³-·^†‹0Gͪ­W`ƒ8Tô²¨}½Ì9ôb=|ÁäµMöª–L^ïDÅ‚›DlïGîf—¦ØʸÊbÎçÿuÈxÙ#\Âíš:E!¿l–Yi¯iO§R¨_‚ˆWÚ0|?¥«îXºäATä.QÃkª33¨ý¤ÕNµIþª!QwÃïIÝ¢×-#Z4ÔßHÞÔñŽbGZiõ‡LïDNî$îMŠ‡h|ÁAÙ#ßTÙrQ­ôäfl¥ÈÑR>¿¼Zÿ;RoÚQùx'£7—¹,^]|H˵(Ë×oþQ~xò姌&T¿dñßo@Œ6àŽíÉêÛËä&~öÝ!ýùðîp­þõówû¾ùæɧ‘?J]‹>ö8K Ü›,ë¥Ë÷>g(¸eÝ59Òòÿ¸#:›H˜P|ŒÑ'>€L§þ¶O7Cëú-PEÁ‰Dl±TxÓáý…ÐZE\§´ä_¹æBÆáOÀ‡@.LbCY@å%fçTû…L¸.`$÷ô-ÇsÌî®+±:¹ÇwÑ#ë€ÞßhE¸KÚèpÙ $=nø6@šÐr ½fÀªÙ@»#!«Üöó5^%6y¤dÒÉÐ4h»¿roŽ®Ÿµî÷Ph±N˜„Þ7
+š1þ1±–ÓdFôâxÔ³©”z6Ë‚[5ã§: õªX¥õjܱ£Bh"âéÙtøln ÔàÀµ? £ÔÔ›]ë‡M2hú“Q§oz%ƒN?uú uúSýMÆ
+ª¿´[Ÿz/‡@·Ü¯Û<¤§ÿù-½ÿgBd˜JžÉÇ]2l¡Þ(»aaÔ±éáÕý¯¶ÿ ~vyÈendstream
endobj
-2659 0 obj <<
+2683 0 obj <<
/Type /Page
-/Contents 2660 0 R
-/Resources 2658 0 R
+/Contents 2684 0 R
+/Resources 2682 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2646 0 R
+/Parent 2649 0 R
>> endobj
-2661 0 obj <<
-/D [2659 0 R /XYZ 56.6929 794.5015 null]
+2685 0 obj <<
+/D [2683 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2662 0 obj <<
-/D [2659 0 R /XYZ 56.6929 368.0049 null]
+2686 0 obj <<
+/D [2683 0 R /XYZ 85.0394 513.4321 null]
>> endobj
-2658 0 obj <<
-/Font << /F37 1026 0 R /F53 1313 0 R /F22 961 0 R /F41 1218 0 R /F21 938 0 R >>
+2682 0 obj <<
+/Font << /F37 1030 0 R /F53 1318 0 R /F41 1223 0 R /F22 965 0 R /F21 942 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2665 0 obj <<
-/Length 1905
+2689 0 obj <<
+/Length 2274
/Filter /FlateDecode
>>
stream
-xÚ¥XÝsÛ6×_¡ÉËÑ3!ŠO‚¸›>(Ž“¸­•ÔV:&y IÚâ„"U‘ªêÞÝÿ~ ,HQ}v¦£‹Åb?°¿]M)üØ4V„
-#§ÚH¢(SÓt5¡Ó{X{;až'ì˜Â!׫Åä»7BO 1¦‹»¬˜Ð8fÓEö)˜}øp1}ùëYÈ ^‘³PQ\Íæg?!íÙáÁìíÅÍYȌԘXdù"\Ï_Ÿ‡çïçoÞ^ÌϾ,~˜\,zµ†ª3*¬N¿O>}¡Ó ,øaB‰0±šî`B 3†OW©QRˆŽRNn&?÷«në˜+”ˆ‰Š¹ñ…d_0N‰¡ÒLµÔ$Òñ58 #°¿Í›¶ŸüÛZ6eŒ¥ø4ìvCRÞ×›¢]®s¹JÒp•©¹´ãEáMžnò|*óŵxwˆ^ý¸3¿í~ÝÍÅ/¿ý¸ýùûï_àÞpô¸ÿºÅïÞp>0%ŠÄ‘R0
- (®lQý UCÅ0Ø 8ý„Ðß@žS«m©ø&_ºÑ-Z¤Äð†€Ëâ}—ÑXP=EÉl»Þ]/3‘Ù}èEÞå7ˆ\ö£¯#¡֪ïx@xÕ߆ç_?©¯köOåq@Oű¼Íˆ<x“
-¢¸<úx‚­ü#¾@ÜŽÅ7Oª›dÙ&ošç{ }RdºÜÔu›cý¼¿˜ê+c/tû¤PxÙÉã
+xÚ¥YëOãHÿÎ_í§DÚôöûqß²ÀαÚY`V'ÍÌã°Æ±s¶Çéþø«~9NÒF+$ÜÝ.WW×ãWU2ÁðG&B"i¨™(ÑÀDLòÕ ž<À»'$ÐÌ#Ñ|LõëíÉ/¿151ÈH*'·÷#^a­Éävùeú+"
+Í€ž^_žÎO¯.ûp~9›ÃŸ.>}:¿<»ø×lNb Äxúqqùyñ‡_û43tºøp~3ûvûûÉùí ÖXt‚™•éß'_¾áÉNðû FÌh1y† FÄ:YpÁàŒÅ•êäæäÏáè­û4©
+‚e’&tAiJ É(sº¸¸·g
+âYÛäͲHœƒ¤ Õo… 1q °;rù#H-!Iüô½nžk?^W™=òz?µjvƒÌ?¬øEÿ“ŸüÏ?ö„#“ÁÉ\à1´2Þå.Ïý¹oίgµþ‚‡›ÛlvñáóõÂjóöâê2ÅT ª´ñŠwO¤³³‰>íêjcÓŽîÂ[ðŸo¥ëâžYžëÞSúìaWJ—MݲzéiâwžYÞ<Ôåƒ@>Æa°]éÖE^ÚÍ㮥ƒ)LN[>ÇÛ!#‘aÒ¼Œ€’¨0bÔÄÁ‹â1}V|ne3?-ë¤8™B¿'È gCê‹’Ôpc¦7E±'G7Ò0sy/¾NAŠqu@æ ¤(Lv`otDëxeíŸ>oÚÒéâòÌŒ,–«².»ÛFƒ]º.î o÷:Ÿ}ÌêMVmÁÉ –EŸ•U‡Þ7ç!2Ü\w~ë_±Àþ‘ŸCz%Áýw1Hí:ñënfƺU6™ÑŠO‡G R[Ì•ƒ;$´2g”Â@);ÚY|¾ýçÕõqµ\
+8xkÛ¼t©G°FœÙú|\Ã\9ø<¼¤ Á¼AŠ·«”1•¿SLU)ÕÖ¯Æ[ÚÛCôÛ[F¢Ä–;‘CiogË3€
+ó©mZ1­³báœÕ­Þg›ª÷“¼Y­<¨Aùª.*ÿfX…›‘)˜Â,ÖL8ÜÐ8ªjžÓYž€'nŽßó l¢¹\Ú ’mj»etÙŒQ%v3è+×€ö·Îù1Ë1Ä·¿^4ûî÷? ¿"Ä{G7ªÃÝåý¦upí&òÊOF
endobj
-2664 0 obj <<
+2688 0 obj <<
/Type /Page
-/Contents 2665 0 R
-/Resources 2663 0 R
+/Contents 2689 0 R
+/Resources 2687 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2646 0 R
+/Parent 2699 0 R
>> endobj
-2666 0 obj <<
-/D [2664 0 R /XYZ 85.0394 794.5015 null]
+2690 0 obj <<
+/D [2688 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2667 0 obj <<
-/D [2664 0 R /XYZ 85.0394 449.4646 null]
+2691 0 obj <<
+/D [2688 0 R /XYZ 56.6929 613.6539 null]
>> endobj
-2668 0 obj <<
-/D [2664 0 R /XYZ 85.0394 355.3738 null]
+2692 0 obj <<
+/D [2688 0 R /XYZ 56.6929 528.5855 null]
>> endobj
-2669 0 obj <<
-/D [2664 0 R /XYZ 85.0394 285.1933 null]
+2693 0 obj <<
+/D [2688 0 R /XYZ 56.6929 467.4275 null]
>> endobj
-906 0 obj <<
-/D [2664 0 R /XYZ 85.0394 241.275 null]
+910 0 obj <<
+/D [2688 0 R /XYZ 56.6929 429.7784 null]
>> endobj
-2670 0 obj <<
-/D [2664 0 R /XYZ 85.0394 202.5209 null]
+2694 0 obj <<
+/D [2688 0 R /XYZ 56.6929 393.7775 null]
>> endobj
-2671 0 obj <<
-/D [2664 0 R /XYZ 85.0394 168.3311 null]
+2695 0 obj <<
+/D [2688 0 R /XYZ 56.6929 362.3409 null]
>> endobj
-2672 0 obj <<
-/D [2664 0 R /XYZ 85.0394 95.2288 null]
+2696 0 obj <<
+/D [2688 0 R /XYZ 56.6929 298.261 null]
>> endobj
-2663 0 obj <<
-/Font << /F37 1026 0 R /F41 1218 0 R /F22 961 0 R /F21 938 0 R /F48 1238 0 R /F39 1161 0 R /F53 1313 0 R >>
+2697 0 obj <<
+/D [2688 0 R /XYZ 56.6929 228.1126 null]
+>> endobj
+2698 0 obj <<
+/D [2688 0 R /XYZ 56.6929 131.089 null]
+>> endobj
+2687 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F48 1243 0 R /F41 1223 0 R /F39 1165 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2675 0 obj <<
-/Length 3175
+2702 0 obj <<
+/Length 2734
/Filter /FlateDecode
>>
stream
-xÚ¥ZKoãF¾ûWè(QO¿ØÓLf8Øxfg`l´DYD$R);ίßê§Hª)9t`«Yì.V}õl’†™ ‰¤¡f¦ G1[înðì îýxCÍ"-úTnÞýÀÔÌ #©œ=¬{ki„µ&³‡Õ¯óˆHt Kàù×ûß/¾ÿ|ÿßîoÄpÅçï¿|ùtÿñî¿· *0%ÆóŸßßÿòþß~îË­¡ó÷?~úvûÛÃO7Ÿ[}Ö f–§?n~ý ÏVð?Ý`ÄŒ³øƒ1†Îv7\0$8cqf{óíæ?iÁÞ]÷hV#Ê$ÍÈ‚’!ÈAÂIF™ÆÇOß¾ÿz÷åáîó½}÷ÌI~x¶ QN¤#>Ô«åbÙÔ맲Ô´G-¢˜rxÊMy(º²¡i3‡Çþ‡1}:Â\ÕÔ~ÒÎl#ź9dX œ!…A28±ÙšbÄ 4 2NÕü® ;a·ÇÒ_m¹ò£"l]$ŸËº*ëðd±íÊC ü>‡'»Æ__U·°l€|¨BLs9[$Q Uý”FλMéÙåý—b §ÖôNÈŠ5ób 4Å©”^^~墶/a„ÛÂÍ,›Ãá–èyÙî›zeYȈ$E…1aAص;4Û6³33ˆKèìf™Å Ò„DÕü^¾f–J¤i;@ÄÜz–«:#I6š„GêbW®¦Ä#)RGÈ=¾úU7À.òêᄃép3TÏû“b·¯·„ùwð$~¬æ9˜áÂc&·z~ s/U·ñ³I»C±ˆæQv‹"'ŒÍ>جî0k·eç'Ž{?QdD¥42˜>òjV튎qË{ÙõŸ›jx؄׮Ë2LYëœdƒP„R>‚ü)CRåO"ìrÚ¤qLÆ<‚Çõ<ÚAFÜà 0ˆûMˆÆ„A1¬¼íš§^üp A
-‹@˜uG€
-ÊÁÃÊ’Jyî­ É‚p«õÐ[M6#“É[a>_•ö_íÀŠ…«›]Çmçÿ,›ÝÎ;5 XB¼ªË­¿“fÁÆnÉÔfS&˜¶ÌxÂí¶yÉyFÒ܈«šØDu¹°8;ÖvË2È¢£JŒWå1
-ÞlÈ݆»¦ëeߌëùksôí¦9n±Ë¼3²°…ï)”\/N…IÉ¥^ÖóšÍâ!š±‹<¤R¨Qo×s.ܽFv°)¼»“Á)¼¹ÍAN¢¥o)
-©N¡'Ù$?·Iþ÷Ñ_ã[\,‘h*¹åð,†]NnûTÓÉm¢r"ôŒ‚ýD®MR8D¶ú«³F
-U×Ú–dŽ?mìs“e¼v/e(IXÕ ‚P;`n‰ÁP'dÆTêld½§ŒÔ]µª§µMl¯€wYÛ=ª ÚŽTNÛËœ¶m_‹ˆ“¶×Õö\ÛPž( ÙÉEÞU†¹¡¶™ÍÿFÜý¢k?^å}ÔVL%G;Yø딚¥Â¿í\.¿~•o*O]Ç¢—"žL³¡ÐPd½¡â
-²a¬RólBùLs¨ñ™¼¬ü>Õ´ò•Ó欎•ueËH”Ùrû §·ür¨B
-„] ·Rß4‡`
-í’óCP@³å ^eí¸1áœåÓ1åVNŸù
-P{/ ˆJña¯[ƒã#WÓ¾êv¾Ê[5ÎiJ•wç§ömÏÕªôÙN?ш¥ã£w«òù]x¯LôR™z«®¬„UmÅ ¾Ò7ÞaX¢Z–®øŒ–¿C éKÔÞt¾®~çºl[ÿÖDKˆFŒŠÔ6¹ôÇÆÇé৫zìPæ-µ=v=u2Ý6Àg¾càmbw2"¢6Àå
-¨±\Ñ-‚4åÁ_O'!ÎGt[BDÎO‡—f¼ìÈœЬ]z)±[ð?ôŒ`¦ªÅÊO{ÙÆ|ÇéÇiù*Ç+²TצÐç1×h¥\CiÙÏá­Vù><'2µ(ê•ë@ˆžz$#Â=§ÃЪ1
-iÍF¨½ëÇC¬µï>éЈ&¶Õq%ÑíSM;´DåZ{µÊ)V«C€s¶Ê¹ÈÛ©Ê9g.[å ¸fS4"€’ùÝ?a™óçËâR\$ñ0”Q×[ÁDk9Ž‹vu߈‚ýOÍrŠ{ÍrŠ‡Ó=31)¤Ô°¿1Ã&„‰ñ ÿdÞ6îe7ûÇbù{¨tÕ¶B~dLÚCvr=ª hŒT]6¼šzZËÍ¡iºp 5Lî! i.3—¨2Ü àH¡23šÙ E·1±è6fªèH3-®ôꨒ|\t›ðE\OE·ñm]£{°æî\D¼°çËœ\G¼Q飉—j»õK§/ ` ’w8n\ïmÁÁÑ¿·ŠUøðÊ&(€ÇgU«Ê¾›÷Ë ìcÿÚ™lâ{ ŽS+ú¦ãRÎ’¹æaYT˜û0æ¶kGÃ/¬mü„Æ2ÐDFœ­ØP?3Ül‘wü̘a7¨¶°þh×ustîÁN½žb!±ÇÖ£MfÙp®÷«ìIæUß…‘1)´` ®Å•ü¸G4m¿‘ÈáüxµÌ‚(w˜*³.1•Ê¬3¦reVŸ©`´NOÎh%Ÿî”)%È•N™¡ÄŒ6a(~"PíÍKí2);\ö汌¢ÓþWÏ™óÂé¼Æ¦F€©»uæ=•@§R<úÜ¡ à”ôg`ñbÛÆ—ìí‡Y›Üã‘á7õöu{ú_ÐTãCÖ“ôXeè†mâ)@»YQ²éŒ.“@¥²·e …Óç4ÿøÓÈÓ' Üµji¥
+xÚ¥Z]oÛ6¾Ï¯ð¥Ì,¿Eâ½J×´èÐfy› °íB±äD¨,y–Ü,ûõ;‡¤dI¡ìCŠ¦ŽÈÃsžóÉ°…la¡ÂÊEb%Q”©Åz{Aðîà 4«Žh5¤z{ñæ½H–XÍõâ~3XËj [Üg¿-¯no¯oÞ}üõrÅ]¾%—+EéòóÕÍ/WŸüÜí¥åË«×w—+fe"ˆ%H§éòËÍ»W?þ|óþÃõÍå÷?]\ß÷l YgT O^üö]dp‚Ÿ.(Ö¨Å3ü „YËÛ ©QRˆn¦¼¸»ø¿àà­û4&
+% Q†'Yp>£0–z‘(K´àÂÉâË¡ªŠêäl@.¡Š[ØéöU¶^­ëjó˜W(£d¹JÃGÃ=A‘èðQZ–õsãÉß~¼y‡#½´~"­²È®F®•ìÙ… 35¨­ý‚¹_ÿÐäYØ"ìí/™YÖ»Uxw¿ó]™®óm^µÿpSïǼ&Kƒ»/VœK€6‹cÄ*Åýñ¢'`–•ˆÀ\ü
+°mí¥ë'ó2}¨÷i~–¸à㦊ºò“-³µ~€YŽŸeþÅÃKDÒ\Z’X!f jç!j’<EãI=Ï
+?ÈP'šw€sü•nweîÅ
+˜—¶ïŸŠ°ÇÖùdu©wêßÒ²Èü0«·iQ9 '\ð}‡«©/~mÐpveä°LX²h}6ÌÆ¡t< ›Õ ØtT6»³°Ù¡µM1 6žï$_Q„¯b¸è cã¨mp°®Áæ] µÊ• U^ú7ŽS7z~ÊC–±k
+)×b˜mE4#$±¢¯“J¨eò*°â²nÏ
+l¾NÙÙøJn«»TÐTÊ3¥#%²ßHãpçP))Ä<Ž±ñlf
+b‰¡lÌßSJ¢?J-›úàô¶Îý´Ëáé¹õ4YÚ¦~Ök¡t%.’x„â²à¥ê}ñ·sR DÍ…«Bñ] Rœº½n-QBöÇ—®Í  nëK½¬v¾S3(¿[?µóhûVd¹Ÿˆ•, ¬JØ®þx“åßÞ„sE‚˜A—Ýg<{¿*–à2Áïúýa‰b»
+4Úñ×ÃH†Å—Î¥ÃÓï\åMãOÍŒÆh¡&•jÓ{ö‡Ú‡ë஋jwhIä”ûPœ`|Æë1!“NÍl`zBô
+Ò”{ÿôM‰@^W-„˜ÐÑË£ð1¨Zð´sv@C!º,SS½àwhÁLQ.ÒÌO{ÙviÓÓñ¥†Z:$«iéi@Ÿ‡<"G. Ô—ÃD5ó
+<Ó}Ÿ¢Ê0(w=6J&:„wN‡¡_c TÓFLP
+èÇBÈųÏ:4a±g¢Î¶Cªy‡ÖS9‡Öœ-uÒ,Û8ÇJ“¬õ¥ÎkÖ¢¥Îˆ·qJÅ;ýs¶üxë'5›@q**2ˆwT²ä\T„£§QW÷½(Ø¿Ð8Ûh÷c/Ý7óñ²"­øwñÒ»R¨™Ôß™¼K†²®wéúk(FtwB
+.ÎŽï¾ç‘ƒµÀ¨¯G ˆ4‹GæFÇvvw}í÷¹út÷óycÃÕ§ŠøuvÁjðÂv@íV¤ë fT‡©ãM½ Le[¨_›l©®äK¾ ‰Uµ¦ùÙ›_ì °¤Ôóq·ËvÁ¿$‰D7Ú‹î?ÿÁÊñs ÛÆÌô•hŽ¬c
+g‰š²ÞÿiËkÞÿB«Í/endstream
endobj
-2674 0 obj <<
+2701 0 obj <<
/Type /Page
-/Contents 2675 0 R
-/Resources 2673 0 R
+/Contents 2702 0 R
+/Resources 2700 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2646 0 R
+/Parent 2699 0 R
>> endobj
-2676 0 obj <<
-/D [2674 0 R /XYZ 56.6929 794.5015 null]
+2703 0 obj <<
+/D [2701 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2677 0 obj <<
-/D [2674 0 R /XYZ 56.6929 751.0357 null]
+2704 0 obj <<
+/D [2701 0 R /XYZ 85.0394 229.9393 null]
>> endobj
-2678 0 obj <<
-/D [2674 0 R /XYZ 56.6929 641.026 null]
+2705 0 obj <<
+/D [2701 0 R /XYZ 85.0394 85.432 null]
>> endobj
-2673 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F55 1321 0 R >>
+2700 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F41 1223 0 R /F55 1326 0 R /F48 1243 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2681 0 obj <<
-/Length 2076
+2708 0 obj <<
+/Length 2590
/Filter /FlateDecode
>>
stream
-xÚ¥X[oÛ¸~ϯð£Ô<¼‹:oi›v³h“œÚ ,ÐöA±äDXYJ-y³Yì?3R‘¦°“Ôpf8—o†3bæ ã*Õ³$ÕÌpafëí ŸÝ·'ÂÓ,ÑbLõvuòŸ*™¥,µÒÎV›/Ǹsb¶Ê¿ÎÏ®¯Ï/ß_ü~º†Ïß²Ó…á|þùìò·³O´v}šÊùÙÇóåéB¤ÆH  ÒY>ÿþr¹xwuùáãùåé÷Õ¯'ç«A­±ê‚+ÔéÇÉ×ï|–à ~=áL¥ÎÌ`™HS9Ûžh£˜ÑJ…•êdyò¿áèk¿5f
-£3N&[H1‚á &Æ0)³JªÞç¿Ÿ}¾þ'…£À92Ÿ1€!°FÊ¥!eUÕ<ø-b´EÃ)TŠªáŽ]¯#|¥„!¸‰ˆ:Ïò¦ ß}[ä4z(»;Õžf›Õû¬¢ñº©¿q.o÷»¬+›ú ­îNÝ|_“PíFBVK¤›-„cJÀ· á8mn‹úta! YÜ´+XBq;¿ß•uGÃŒ~Úl{_^…±qœ`J¥#Û0”g,s  â!I¨s¬›ÝîT¸yÑÞ7u^Ö·_@
-‰pƒ¡°ÆÓüQ<Fø
-r"9 :‡TÏóº{°w™aR8Š¹K0ë Š¥Ljn{ª —^ŸoR&4Âo4„é@UbѼkšê5áóX7÷mÙV‹€ &R ØÊ«˜ºÒ`fD+)gÜ@e\ŒYôÕc
-^¾x TÏÏŽðù5à§Q(Ì
-2.«n›€û6’ÅPðR„Hú¸Þ £?"ü­a‰Qú œêÁuSˆ
-ôéæ1V°
- ÈÉ„»ùÄè}û&Ú?C#š†íÓR7Ú
-Ò·±–H"4§êš}åÏLC³Ì‡hK¢ÍÔ>”¶ÜrÕÖa{¡{mNEO
-C|B ‘w°ó‡‚¡ úÛoÄaPÆU’¢q¿eëÍ Ü:Á¬ÏZó,1 |,Σ&¹âwPpSW”ß >à‰VS' ìàV×÷ÉNPa‡K}3X fE•Ý4”8”HAb^Ùpß}Iƒü¿RI¤«cáö‚ÙàܼÜD×Mi¥{]› ‡~"èÐ?_€¬¯°um¨ÂniòÜ‚µyò£<'ý·§Ùm½a¯¸\õ ØòÙC”oêA\}¬øyç?¦
-ïFÏ;ÿ
-åm¾™ &KÜ
-™8Þ±Z^|ÄQò·ôfq†ï@f%„låi×wM¹23ò+†%×ó»m¶^lsƒÑ¨M}ÒÀ ¬4Óœiï²p¿ïIaî}¼bìÁŠr:t/ùô ÜPoÁç«;gy±Éö•¿S—í3Þ쥸†]‰ª'š—cÊÓôuw(,ÕLkýSaä™°q„À%Iãýw$ì_íüy3ŸswÍÎ[¢ÝCmÛù {ßãE=­¹G$j¬L¾¾Ýû/ºÚÇðÂZJ™¼n%3ÊŒ±;öÜ ·J|#ŽˆÐñ¯Ÿ¢ŸžÜu‚ø#ãƆHÇWN”BÅE¢U­ŸëþÉ=÷zendstream
+xÚ¥YÝoÛ8Ï_áG¨Y~‹¼{êö벸M»›,p@·Š¥ÄÂÊ’kÉMSÜC)K6í8øA5çã734›Qø±™ÒD[ng™•DQ¦fËõ=À·,Ð,"ÑbLõËíÅë"›Yb5׳Ûû/C¨1lv[|™ÿB˜!—À‚Îß½»¾Y¼ýtýáãûë˳Jñù›ÏŸß_¿»úÏå‚+
+Ä@Iéü·7×¾ù7Î}¾´@öñýÍå×Û_/ÞßbEgT8™¾]|ùJgœà× J„5jö/”0kùl}!• J
+gê‹›‹ß†£¯~iRŒ.4O肳cÄj¢ e‰\xe¼ùóö_Ÿþpr>R-¸&BjTÚUÓ—Û¦ìQ7O]_®;|yÛ6]»í«Ý:°]¥[É)¼ðAù i
+*-Š¦[,Ûæþ¡lÜJG*4¡NàH¯óu™LP°¦ôD&^œ¿8Ïpä¾áèïò @Unó¾jq߶õ^ê½®Ü&†jñô7OM»éªîÐà‚‘Ìh1S RÊ…Lˆè\ OXdŒiŒXxãI–päêøìTúe‘ãi`¿ýbFÑÌXØÑ-Ëë‡v[õ«`®é>‚X™é@ù5r] £¿üµ"™™pèº,7a.1R°CæÛK¡ˆÑJÒmÞíú¾ªS\A#Y¦Ì!×îY®'¤ä–ÙýÙ-~&¸-„…@R "oðXò³m’lA³ÄüGNš¯)W\HC Óvê‘ïÞß¼ýãêóíÕ§ëaQ"xýä8 À|BÃ)P²!¥‹#ç¹{ˆ@ð~ßnq°ëJüt÷”€ĪLFGjºÝ¦
+ü3¢Kó€ï9>PyîN3ßl/™™·ß«b íWeâäœr@Æ^ GE¨ ÏêÑHiÆz$Î/ì
+(ñÙ”eQ®Eí ÉЈA{è¿è>€ÀUÿ* še½ ú€×< tù#Ë¥tÃÀÅUùeDÍ,6m]-ŸÒn>¢îz ^—MOPJf9a¼
+®ç€AyÕà”? YÁÏt›r‰Và‡6:ËúÁ²]¯½ ¸¯uÕ”prˆQPN¡>å]XZ
+äÕ”™ȼϺ™aŸÂ¾:÷ éul”Á³†'®7|ÞҸѼ7{‘ÿd„s!&þ!™Q3ÿà ÄmLû*e[HYÌÆåÓD7Z
+»¯›3î€ÙF lwu8kT ¾åÁC3(W2©¦ñQ«Ály]{§ÖÆÒKsÉ<ˆ!#aÜwçÏÁëOª“³ŒHkÙ ã‘f£GrìC<‚pK8'ÈDõ1©£¹‘3´ûâ í&bªr…&"S¥óç¦Ú×KÿXeɃs“ÁË\…ºnû2î
+r+ð_¨ç±]­l¯ú®¬ïáó&ž>â¹ÃÖ°iŽº#âЕü8
+6áP0@P‚Á#”G)ƒA™=c¿dQ§¬ÆàpRÒ1KM ú3)?O"§2nïpÇmÜ65Æ÷B‚ h&ÅÔˆ&:\ù*Ù0Ìët¾nmÁ[Yçw-†‡{MdH†ÛÂG\÷mWá ø„TÄÑ5
+l7”º£Ýv®´ëbŸ‚ri¡@áÙ ‘—ƒÌj‚ãIÓ@j«ä3¦Q1M¤ò¦ù;ñÐN[%ŽÛîI¼è¹ÅyÙª„p“xgŠHZ›H7 xÁd¨$aàS¬`*V« ;¬ &dG”ï`²é«eH7‘C{E†›ÂǽT]¢áÐí0+'¹5”‡YGņjq®£’BÏîÊȃ|
+VnXz¨·VÉ[ æ.#Ïx1U¦$6jܦÝ&Ø@)ÅltÒx q† ÊVlG½É?aF@ô¸3<VïAXì+èX± î¤bA "¦‘sR¯£v3²äȺ+7y¨Äa`¼¬C––P3e§Z¿oëº}ô-òwþ‰RÃ`ö8ãýlL‚ªqÇÍì¼$äUê–†fî2Õn\â“”ƒpб>¹{¢ÿà ø?ŒÖ»®…ZÂ
+¡¦åÈ*ÿ^ ¤ÅuÞOa0 å÷¼®òÅîÔÝv!9¨uU×}udP—}_n»@UTPTÇ|ö´8DÖM¹­Ú¢; ~LB´•¿1Õið¨¼Û;•—În9ä¥ã-Syi²åï»*^u¯ÛÂW»}¶
+ZtE÷ÔJ©‚} ÆhãMƦΛ¼ocJëË‘]èªv]þPNî=Îè› Â$ Îë{DuFß‘Êë{›H6ÐP›¡ÿšÞÇNËK(±ç¥¨â†BO囦…ˆ¢Ô¼k±õ[–8 ƒ´HíEŽ³¾Ötƒñ¥# €!}:‚rõ§ÏF4x#¤böêvcÊ°P(H6 iì(\·Æ!J}…ª¸ESûËÀ'òèB&6âÒë¢üþ:œ+Q­
+W}EWKôІš¡ Ãå‘5D»;ü©×¯ðÚÍÙ]ñ­,È©MÔ–B¤
endobj
-2680 0 obj <<
+2707 0 obj <<
/Type /Page
-/Contents 2681 0 R
-/Resources 2679 0 R
+/Contents 2708 0 R
+/Resources 2706 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2646 0 R
->> endobj
-2682 0 obj <<
-/D [2680 0 R /XYZ 85.0394 794.5015 null]
+/Parent 2699 0 R
>> endobj
-2683 0 obj <<
-/D [2680 0 R /XYZ 85.0394 752.2293 null]
->> endobj
-2684 0 obj <<
-/D [2680 0 R /XYZ 85.0394 623.4383 null]
+2709 0 obj <<
+/D [2707 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2685 0 obj <<
-/D [2680 0 R /XYZ 85.0394 561.5469 null]
+2710 0 obj <<
+/D [2707 0 R /XYZ 56.6929 751.9601 null]
>> endobj
-910 0 obj <<
-/D [2680 0 R /XYZ 85.0394 523.3883 null]
+914 0 obj <<
+/D [2707 0 R /XYZ 56.6929 711.8811 null]
>> endobj
-2686 0 obj <<
-/D [2680 0 R /XYZ 85.0394 487.1636 null]
+2711 0 obj <<
+/D [2707 0 R /XYZ 56.6929 674.813 null]
>> endobj
-2687 0 obj <<
-/D [2680 0 R /XYZ 85.0394 455.5032 null]
+2712 0 obj <<
+/D [2707 0 R /XYZ 56.6929 642.3093 null]
>> endobj
-2688 0 obj <<
-/D [2680 0 R /XYZ 85.0394 390.69 null]
+2713 0 obj <<
+/D [2707 0 R /XYZ 56.6929 574.7324 null]
>> endobj
-2689 0 obj <<
-/D [2680 0 R /XYZ 85.0394 319.8083 null]
+2714 0 obj <<
+/D [2707 0 R /XYZ 56.6929 501.087 null]
>> endobj
-2690 0 obj <<
-/D [2680 0 R /XYZ 85.0394 137.601 null]
+2715 0 obj <<
+/D [2707 0 R /XYZ 56.6929 314.9678 null]
>> endobj
-2679 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F48 1238 0 R /F41 1218 0 R /F39 1161 0 R /F53 1313 0 R /F55 1321 0 R >>
+2706 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R /F41 1223 0 R /F53 1318 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2693 0 obj <<
-/Length 2272
+2718 0 obj <<
+/Length 1426
/Filter /FlateDecode
>>
stream
-xÚ½YÝoã6Ï_áGØpù!RâÝS¶I{)ºÙtã´}P,:jK^KN6û×w†CÚ’¬${8 X`EGÃùüÍP3ÿÄLf¬´³Ì¦Ls¡g‹õ ŸÝÃÞO'"ðœE¦³>ׇùÉûU6³ÌifóeOVÎxž‹Ù¼ü=ùÀDÎNAOÎ?ßœZ™œ_Ÿ¼<=“Âfir~ssy}qõ_ø­90'çÉÇóëßÎ!½óÓåíéŸóŸO.ç{µúª ®P§/'¿ÿÉg%Xðó gÊæzö?8ÖÊÙú$ÕŠéT©HYÜžüºØÛõ¯N¹"Õ9Ó25àÉr.§ý%X&ðd©
-™ µ»Ý¸EõçÒµ§gJ¤I÷àhJáB'^5Oj–#ž‹‹ë[b*v@¬»jQtUS$!Ÿ*™Ç·J·,v«Ž~T-¹'í;R ñLóàŸ²¬Û3”æ9Viά†ü%Æ'Й ¬\Á þ…–~¿v¨¹…“9Xq*’7q:D²=Ê<k'Ž)³™ñ«›í„(¨ˆ(åÛ›RšMpèVn--Û}„ÊEñ¤AžªÖ½Cf!¼ïXp÷¤cA!¦dö]~ÍÓ}
-X¹®sÛ6p•Õ}ÕÅϨ6Tù·­š²eGˆpÍdšÙÔˆ×Á¯Ïõ2øí¹|Úi ã6{ãÈÈ4qd?tj–ŽüuW¹àðuSºa@ÓÙVu C½zE)"Upâ DFCO÷u³*ê¢k¶ñU÷5ŠÛÒs×÷.rûŒ{Åß)¨ó7šMŸëG.ïïíD³±Ìä*æ÷’¢Y/«Õq»‘† -ÕëÚí¹&Ô—•PÊ õ¶Mˆ¢uÒ6; GdB€4hK<eÑD]¢Ïqqïj@ä Y`¤¾5Ûê›ïFÐŒTÉU˜4 J|™Z†eZ¥bXÒísÛ9P@ UŠZK# -:"m¼ÖÍcU:"S  @ÙˆKïK÷ø>ØuŒFX ½ÇçHu_vÀ…H<DT &íõ‹ð,}â¦ÇxÒɵk[²Zä†eG²òb°0îè’(U½ÙulÂÊg-)izNõàQD´ý”ÀBUš
-Æ—WõŠLzõÝl5Ë…C½n!›0¿Tª“‡¦íhÞxhŽ
-£”6v”‡I4Eõ4L%“‡úA™ÍÃÆN´k ·¹‰,”­”)¾ŠO¢à¯îyã –
-. ©3z»
-
+xÚÅXÛnÛ8}÷WèQ*†w‘ûæ6N×EëdX éƒÉ°¶äµä¦é×ïð"Y’•¤‹¶Q3ÃáÌáÌ!e`ø#3̓Xs$0ÁÝv‚ƒ¯ {;!Þ&jŒ¢®ÕëÕäì‚ÅFZR¬Ö_
+a¥H°J?…³««ùò|ñç4¢‡¯Ñ4‡f˳÷Nv5Õ4œ½ßÀ+Ñ1#¢ÄáìÚi—³óéçÕ»É|Õ†Õ `fbú{òé3RÈàÝ#¦•àƒCMƒí„ †g¬‘l&7“?Z‡­:
+ Êe
+‰+5FX
+iÊ]P­4\ìkmŸÕÆW©C´ª2»#ÜДs¹÷6»²H]—Šã ú¸áÕÈxPyE¹«òjHåPôÄÜ™„ÒV@Ö#L<®©0ñìùÓuaYž?­UµSÆ€«;|vP_GùÎ h4®³li=Ñ8FBËAÍÏoÞ\/®V‹ËåÈY2(¼~´½jà1Rp½nN’fÓíõÍïºÖÃ]7*Ó«‹«oÜi3ã›4ìÄö.Œ›Ò
+(8H{TCŠi˜µ:zP (²}Ë4‰WÃucÓJQÃùÝ2I× 3ÉSßã
endobj
-2692 0 obj <<
+2717 0 obj <<
/Type /Page
-/Contents 2693 0 R
-/Resources 2691 0 R
+/Contents 2718 0 R
+/Resources 2716 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2702 0 R
+/Parent 2699 0 R
>> endobj
-2694 0 obj <<
-/D [2692 0 R /XYZ 56.6929 794.5015 null]
+2719 0 obj <<
+/D [2717 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2695 0 obj <<
-/D [2692 0 R /XYZ 56.6929 436.7599 null]
+2720 0 obj <<
+/D [2717 0 R /XYZ 85.0394 608.7316 null]
>> endobj
-2696 0 obj <<
-/D [2692 0 R /XYZ 56.6929 377.1162 null]
+2721 0 obj <<
+/D [2717 0 R /XYZ 85.0394 547.8766 null]
>> endobj
-914 0 obj <<
-/D [2692 0 R /XYZ 56.6929 340.6441 null]
+918 0 obj <<
+/D [2717 0 R /XYZ 85.0394 510.4382 null]
>> endobj
-2697 0 obj <<
-/D [2692 0 R /XYZ 56.6929 305.0954 null]
+2722 0 obj <<
+/D [2717 0 R /XYZ 85.0394 474.6444 null]
>> endobj
-2698 0 obj <<
-/D [2692 0 R /XYZ 56.6929 273.8816 null]
+2723 0 obj <<
+/D [2717 0 R /XYZ 85.0394 443.1856 null]
>> endobj
-2699 0 obj <<
-/D [2692 0 R /XYZ 56.6929 211.3161 null]
+2724 0 obj <<
+/D [2717 0 R /XYZ 85.0394 379.4087 null]
>> endobj
-2700 0 obj <<
-/D [2692 0 R /XYZ 56.6929 154.6374 null]
+2725 0 obj <<
+/D [2717 0 R /XYZ 85.0394 321.5186 null]
>> endobj
-2701 0 obj <<
-/D [2692 0 R /XYZ 56.6929 83.0386 null]
+2726 0 obj <<
+/D [2717 0 R /XYZ 85.0394 248.7084 null]
>> endobj
-2691 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F55 1321 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R /F39 1161 0 R >>
+2727 0 obj <<
+/D [2717 0 R /XYZ 85.0394 187.8534 null]
+>> endobj
+922 0 obj <<
+/D [2717 0 R /XYZ 85.0394 150.415 null]
+>> endobj
+2728 0 obj <<
+/D [2717 0 R /XYZ 85.0394 114.5065 null]
+>> endobj
+2729 0 obj <<
+/D [2717 0 R /XYZ 85.0394 83.1624 null]
+>> endobj
+2716 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F55 1326 0 R /F22 965 0 R /F53 1318 0 R /F41 1223 0 R /F39 1165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2705 0 obj <<
-/Length 1193
+2732 0 obj <<
+/Length 1820
/Filter /FlateDecode
>>
stream
-xÚ­WßsÚ8~ç¯ð#ÌÔ:ý´¥G’p)†ä™¹™´ˆà9°©mšrý­,ÙØ`hæÚáKþ¤]}ûíjM< ?âI0SÜ GáÍ7=ì½Â»Ûq¿ùMÔÕ¬÷ÇŸ,ôR ¼Ù²±—DXJâÍÏýáÃÃhr3þ{àSûWhà ŒûwÃÉÓð³{(ÚÞŽ¦0„e@D\€û·£Éãprs7ø:ûÔÍjŸš~ÌŒCßzÏ_±·
-ï vSÔÛô¸`Hpƪ™uoÚû«Þ°ñ¶\ÚŃ` IÃ"(ñAJÚbB(0Ê,O³÷æ
-mG‘{1]»©yšQœÄÉ«7·YDEt8É?ã¡@\„VCÓ}’nó8?A
-ŠÙE×jT‡oM­¢PB5k976œ¹¬£2‚NAfÊÉÙÖ-#ÞĬJ?À@ ÑŸ&5‘® ¨ê§Éßr n•’ÐÁ¾`—V;k™Z»Ej‡
-Ä>º„q¾DÛ­NÆá_€&,õ>_¤ƒÉ2_¸©¢\‰v€4¡þ sÂbÀB*rYXMÔyaÕ¨ºk€SuÙjê0ÛÒ ÍPNÛvgÕ±mnf}ÍÈA#0ˆ]bÿ¯Ó—}aãeÐiû
-=O¡
-eµfܬ®‘%ŒuÙvê0Þ"’*Ä@‚më³6[-U´U5*óI÷`#±JwëE»d¿eqQ褳8úœ#2yÔfŒFvéðóôþRŸfoFãŠIVfòÑ…4²—·nÖoßS ÚŠßÔ2×RìºÃ8Ÿû«M4÷M~ì¶ÿ»I<Ùè¨W,§µóöãÝðÚå…ÞçíL¨BéîÎt½¨®Ìï:Ëc8g;ï®Æ“›ßÐG´âºÈÃç{H‡iñµŒíÇÝ#|>¬º¢õk
-¢^™†“hŸæèà̇‘97c]îâš¡_þh:|ò1)iwú3lÊ„"•Sæ0$ǮןW§¾ÿoØ~=endstream
+xÚ¥XßsÓ8~Ï_‘·Kn°Ð[’ s”Io˜\GM<Û!v¹¿þVZÙ±S·…»ÉƒWÒJ»Z}ûi6¦ðcãHóx¬âD”Eã4Ññ
+ÆÞŒ˜× ¥ «õb1zþZ¨qLbÉåxq×YKª5/–Ÿ'/gd
+KÐÉlþ2xûþâeðzöéæz°8|rq}}yõjöiðˆ‚:èR:yqusñö]OcP{s9Ÿ~]¼].ZǺÎ3*¬WßFŸ¿ÒñöðnD‰ˆu4>@ƒÇ|œÂH(¢éÙŒæ£?Û;£nê`0%\H> ÎÆŒ‘8Šx/QL¤àÂ…c~,Êm•Uç[Œ(-ÅX‰HFåi¡æ8÷€_D1&Á­Îέ R£e½Z™b—Ë2Ÿ‚ÿ9(¬Ï_ƒ±ÓL-ˆÔ°oê¦ûüÖìP­g@HÂyȼÚ×…š¡F•ýcÐì]¶1E’œÒfÀ BZFÑ8á±ÝäW—ó—g׋ه«vÖÉ~åì|—¨Ê»a‰ˆÖJxŸ@Óì’ÚTÓ@h5IìGN¾PÊ7»Ê]gHM*S£Ny‡¨ëç§eQ'Y‘+Tj&mMšYE³ÄŽoû¤¨³úØ_j[™ý² š²]ˤNžÙ]À±{ǃ6Xàÿa¥kLž4)P¸5øÝWÖœ•’ÊñS•ûÝ”éIê­}û5EíúËí;îìæF½6^LË<ýŠ¥·Y«Úä¾óÕÞ§¢Äo³%+/Í÷,5dèìiÿÌ/>¾¹yyµ¸O>¢˜ªN“®V“½÷Ó¤Õ²–Û´ˆúhÖq$î¥E×3FCÜ¢w­Õð­‹UFcŠˆõ›Ù˜[¸lw‚A¶ËÃÙá϶ËÂ+ JŸA#–ÐßOj¦9‰´ˆ’¿çšÐDq¦½ÚÑ;ÄNŽ–9Ú­KlÆ ÁPô ã}I¶[S,­Ã¾×‹Ô¿æ ˜tùZ 㨟0
+CV¥Á:OÒÀžÃýÖ¥¸u/$J(,@¯NŹs@QŒ‹Þ[ —su:èÆ»k‹XŸ
+æXõÁßœ¥¿+ËͲ¹"¿›]•ÁFû©öbvõê'‚üTÝÈ…€xÛý÷º±»ÄÃuc«Õ‹Ú]æ£^3Bé+EÃÁÉfU¶×¶ÌdMéà0„òfÞÅÞ Ú”SþkÊ›´!C.xŒ!w=1~ìqÛ›µ¶ )€BV¤›ýë¶þD"QX'^5A•Ûý
+Ûi²¯p¢@Àó·¿£Òb>{ƒˆ+!Sxüb(¿ã2ÓrƒŒ'›²X9@\¯]mç$?¼ÌV¦ª½ª)V®âÙ¡­«¸N*?äeÊ&ö\lMþŒb™A…ð›á€Gûƒn0IQ¸Íêê4›G²¿1¼sýjaxZ-ŒšÕ ×Ns]Íj š:õ%ƒU-QÑñ&|}e #pnåÖ֛£ƒ‚_¡W A;Á¹¹©ªdåJö'¨ÄSÐs¥,è¥åÒ‚‡5ö’jhcÖz¾…¹·ÍÕp*};%ó««¹¿.òíÆä`Й«H»¦‚ëI57NfÂ¥Gë¤é1¦@ɲä÷ €væû=pAŠ‰²/l¡'o˃JšÂAh„ ½}ÜðÉõó䈂ųiVmö—mðµâœ¨­žõ¬hsi F…9à‰«./†¾f…^ëò3kSà O)Ûi1ƒ’ÅxýqƉŽ”çž¡«âŒA¤&:ÔÍ»4/—ø8«ÐL½.+ƒn4ÈU‚j‚X«ê²ÍUPóQ
+°ð䈖Âö{qð!´
endobj
-2704 0 obj <<
+2731 0 obj <<
/Type /Page
-/Contents 2705 0 R
-/Resources 2703 0 R
+/Contents 2732 0 R
+/Resources 2730 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2702 0 R
->> endobj
-2706 0 obj <<
-/D [2704 0 R /XYZ 85.0394 794.5015 null]
->> endobj
-2707 0 obj <<
-/D [2704 0 R /XYZ 85.0394 752.36 null]
+/Parent 2699 0 R
>> endobj
-918 0 obj <<
-/D [2704 0 R /XYZ 85.0394 715.133 null]
->> endobj
-2708 0 obj <<
-/D [2704 0 R /XYZ 85.0394 679.3174 null]
+2733 0 obj <<
+/D [2731 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2709 0 obj <<
-/D [2704 0 R /XYZ 85.0394 648.0662 null]
+2734 0 obj <<
+/D [2731 0 R /XYZ 56.6929 749.4181 null]
>> endobj
-2710 0 obj <<
-/D [2704 0 R /XYZ 85.0394 584.5937 null]
+2735 0 obj <<
+/D [2731 0 R /XYZ 56.6929 692.0679 null]
>> endobj
-2711 0 obj <<
-/D [2704 0 R /XYZ 85.0394 527.008 null]
+2736 0 obj <<
+/D [2731 0 R /XYZ 56.6929 619.7977 null]
>> endobj
-2712 0 obj <<
-/D [2704 0 R /XYZ 85.0394 454.5022 null]
+2737 0 obj <<
+/D [2731 0 R /XYZ 56.6929 475.6873 null]
>> endobj
-2713 0 obj <<
-/D [2704 0 R /XYZ 85.0394 310.0583 null]
+2738 0 obj <<
+/D [2731 0 R /XYZ 56.6929 415.3723 null]
>> endobj
-2714 0 obj <<
-/D [2704 0 R /XYZ 85.0394 249.5076 null]
+926 0 obj <<
+/D [2731 0 R /XYZ 56.6929 378.309 null]
>> endobj
-922 0 obj <<
-/D [2704 0 R /XYZ 85.0394 212.2807 null]
+2739 0 obj <<
+/D [2731 0 R /XYZ 56.6929 342.68 null]
>> endobj
-2715 0 obj <<
-/D [2704 0 R /XYZ 85.0394 176.5798 null]
+2740 0 obj <<
+/D [2731 0 R /XYZ 56.6929 311.386 null]
>> endobj
-2716 0 obj <<
-/D [2704 0 R /XYZ 85.0394 145.2139 null]
+2741 0 obj <<
+/D [2731 0 R /XYZ 56.6929 248.1492 null]
>> endobj
-2717 0 obj <<
-/D [2704 0 R /XYZ 85.0394 81.7414 null]
+2742 0 obj <<
+/D [2731 0 R /XYZ 56.6929 190.799 null]
>> endobj
-2703 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F41 1218 0 R /F53 1313 0 R /F55 1321 0 R >>
+2730 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F41 1223 0 R /F53 1318 0 R /F22 965 0 R /F55 1326 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2720 0 obj <<
-/Length 1934
+2745 0 obj <<
+/Length 1682
/Filter /FlateDecode
>>
stream
-xÚ¥XK“7¾ó+¸eHEyñîÆKcgÁ©¤lfS a†Åäק[- °ÌÚ•Jq˜V«ÕjõãS Ñçðý(fq&³~’…,â"ê›ï/aîMO8™¡žK½žõ~úY%ýŒe±Œû³Å™®”ñ4ýÙücðšIÁ ‚“éݺMïC)¥‚Ñû÷w“ÛñŸ0Ž8H‚çÁÛÑäÃè7â½d2½¹›>Ï~éÝÍZ›Îí\¡A÷>~æý9˜ÿK3•¥Qÿ
-ÏfíÒN?ΤŠe‡#¤è Á²(’žˆ2+©¬'nï¦7ã÷³ñ» žÖÈ3çñ>˜e*̬ð!D wuY™z0TŠÕ¾2 ^'·ÄÉè³ßÒDSÑ87s"JS¬÷óÒ,¯²˜ˆUîDsyÜ/i\äûšÂàþíèf8½ýHB³éø M|ÑGgÜaU+<¤õä w‘âgÁº2K`XºYåÆSnz^.uÝ8Qm–ÍŠh<ú…à*¯ÝT¾^V»²ˆ`µ!Î'ñ’iö
-†I€Ý‚&ÈÚ—Í1'â±lêÓjÅ]sÚÂð¤-Œ¼6àâ2ËòÚ€ÔMÖ 'Z‘ࣦï¾Ösš¸U;r[Ѭ6œ†¥6z—7648ÎiíF×u¾tŠò=øÉ4er•!¹¢š»Y°°!Þ!¯/F‹»o¶°öq­©
-¥ PhÞy;™Qn¶k½ ív5ku¦,æ霭JL» Bè8Z¢>q.!_Ñ8.ß%.PK%TÜWý¶@ŒÀ5ʺ^£PdÕ|%ùM~$óY{­þ|åºlŽÞˆæÐÚQ­çxJ$±–:‚oô"žOm‘Ê0¦L.šüŠÈÃJšt%…LÌ¢0˜qRH–F ìlƒRÃÕ&/†öpPñק, Sélªy‰²º¦mšUUk2ÃgnâR0 (×ê¦jkÄœ—†öüC™
-–p8þE®8b‚vÇñÛn­E‹#Ñ6mZrJn f¤ÁÞtø"“,J
-/pÛt4†œÛïN M¬
-~¾¡I)xØ®×µÕŸ¤ ¥ÖN$m{ƒR@ÈýH×-ð\¹t”=áÑgʘü<£ó¢ÐÛ&o;ŒGŸ›m©è¯Í.'²…5Läj¿~^3u¹4.¡ ¶KTÆ%[^ëgª{S¸ÎW7$‡{0<ù·jA¹R¸£µ£ß¦ïH\e/ç=µ/(Ÿ¹eóMi
-¿½wá»o7°Ý5|‹•.¾8–k#†þ7ÁS¾.çöIbßZ‹«toBjÓçµG:‡©'4ô×þ?6¢ßÏØÑÛoï&³ë¿Y\ÂÅS’gßNÊ3!ÿŸÈuNz¡6Ñží˜H–ÀÃë›;z™ëÏ“$IÀ.u¹ã¬íÄlŽSŸd¯é§rî½fãv~aœ@¢-öÒR€Cø/R‡Ù¼ Àÿþ³êô\QLSÙí™@=e@;£Ð"‰¯ƒìþÖº¶ý_‹¼cendstream
-endobj
-2719 0 obj <<
+xÚÝXKsÛ6¾ëWèHÍD( NOŠ£ÄNcǵä™v’(’’8‘HE¤ì¨¿¾ ,‘2mg¦·ŽÄc±Ï» ±!…*I¨ˆüaùDR&‡Év@‡+Øû0`–fÜÛToçƒßÞ‹p‘(àÁp¾lñR„*ņóô‹7¹½Þ¼»úk4æ’zoÉh,)õ®'7÷“O¸v;Š¸7ù0Á”…B
+ý|ùF‡)¨ÿq@‰ˆ”>„E|¸øRé Ѭl³ÁŸŽak×íóƒŠHÅÃGpÞç‘@pa±8ÖY5 ʽe¹×æÍ.'Bù¸©[”Œ¥’½&½z¸#i‘=â Ê’ýˆ)/«qÿ1ßlpg‘áÊ*+²}\g).'eQåU+œ—Ëãu\­q!ÍWYU·‰¸ÖC‡|1fŒDRrcX¹I1'mˆVœz`½Zâ¦>|F…ó4·Ç‹Ò®àöCŽ\Ͳ}•—ÅÇ°ÀQnÏ¡õz´°‡vû¼0¶ãv½.–v[¦ùWJy×À’hokÛ lèŒ[jS…OB!1†€Æû»«ùßÈãâóÍìêÝôn¢<¿‚™eÑÆpà>‰|æ#g=`SfÄZ%ãü‡ ×™1 Fh5š £ztJž$0°ÄQZB^%ãõ6NÆÚ¼Ÿ‡]N">£Ìˆ›A`µ.A\‘¥ÚË $‡ÁF\¡
+õ:·š7ßuùØlY&—ד í ï².“rc°3æ\‚p. a–x,÷ßõå`¡—k¬ëC; \.ÇÅñ1>Žcž¾Bš°ë´4÷
+Žâ¥»Ì;ÌöyÇuja»{›œQßÏ*ÃÝ÷¾rîÿ‘­R›²Xe{¤‚ˆY¾‹õš½.=·c“«zý ·'I¶«ãÅÆÎ 6ÝUÉ~Öû‡Èƹ<lÎïL•¯
+ è¢ÞíÅ(,Øâ*;c½< :ל®‘NË Úò_º S<<ù4ûŒô"zøo¯nÞ!}d¥Û¼€\AÖéP/ÝeËÌ*’X=¯ãâoz0Ì
+dº›x›=£•"A¡ö'Fˆ}ˆ£¦pàÌÔa6ò^ƒÇ±(wPkÎ w
+¸«ÐêÛÄKCJ@A/ðÛN@}™:Ï<lØ[@ZHqXZò?•©^_âYdžy»xÈ'TºÊCŽŸcE
+Í#ÚwkÞÑ-3}E‡¹ã‚vêdŒåaƒcH‡³v‹Ë¦a°Í¨ë¬V‡-H}†LB•”/ðMõ< •é¹O5á ¼6ÃWd;ªá]
+ÂBu&ÝÝ_‡ÄVÆŒSÈ¢ YlŸFu¾Íªg¯2´ÿ®·t¨lßféó~Õ`‹Â࿶¨^ðkC¥-;ÕÖŽOu@•ÿ²\GÕ#¸ãS®]…]ÉΧVô¯n©:ÙpÑò uГ.@7o’ŠÿG÷,™”¿Ö=÷ý[#àí'D_¸¨sÙþ'çôw•¡ï» Ðb ¨™V)­8 £sÕÝ>OuÿSw±¦endstream
+endobj
+2744 0 obj <<
/Type /Page
-/Contents 2720 0 R
-/Resources 2718 0 R
+/Contents 2745 0 R
+/Resources 2743 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2702 0 R
+/Parent 2699 0 R
>> endobj
-2721 0 obj <<
-/D [2719 0 R /XYZ 56.6929 794.5015 null]
+2746 0 obj <<
+/D [2744 0 R /XYZ 85.0394 794.5015 null]
>> endobj
-2722 0 obj <<
-/D [2719 0 R /XYZ 56.6929 752.0914 null]
+2747 0 obj <<
+/D [2744 0 R /XYZ 85.0394 705.7181 null]
>> endobj
-2723 0 obj <<
-/D [2719 0 R /XYZ 56.6929 555.924 null]
+2748 0 obj <<
+/D [2744 0 R /XYZ 85.0394 622.1311 null]
>> endobj
-2724 0 obj <<
-/D [2719 0 R /XYZ 56.6929 468.7059 null]
+2749 0 obj <<
+/D [2744 0 R /XYZ 85.0394 562.4544 null]
>> endobj
-2725 0 obj <<
-/D [2719 0 R /XYZ 56.6929 405.3981 null]
+930 0 obj <<
+/D [2744 0 R /XYZ 85.0394 525.9492 null]
>> endobj
-926 0 obj <<
-/D [2719 0 R /XYZ 56.6929 366.2553 null]
+2750 0 obj <<
+/D [2744 0 R /XYZ 85.0394 493.8436 null]
>> endobj
-2726 0 obj <<
-/D [2719 0 R /XYZ 56.6929 333.1561 null]
+2751 0 obj <<
+/D [2744 0 R /XYZ 85.0394 459.1867 null]
>> endobj
-2727 0 obj <<
-/D [2719 0 R /XYZ 56.6929 297.5057 null]
+2752 0 obj <<
+/D [2744 0 R /XYZ 85.0394 396.5882 null]
>> endobj
-2728 0 obj <<
-/D [2719 0 R /XYZ 56.6929 231.276 null]
+2753 0 obj <<
+/D [2744 0 R /XYZ 85.0394 339.8764 null]
>> endobj
-2729 0 obj <<
-/D [2719 0 R /XYZ 56.6929 170.9331 null]
+2754 0 obj <<
+/D [2744 0 R /XYZ 85.0394 268.2446 null]
>> endobj
-2730 0 obj <<
-/D [2719 0 R /XYZ 56.6929 95.6701 null]
+2755 0 obj <<
+/D [2744 0 R /XYZ 85.0394 83.0386 null]
>> endobj
-2718 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R /F41 1218 0 R /F53 1313 0 R >>
+2743 0 obj <<
+/Font << /F37 1030 0 R /F22 965 0 R /F21 942 0 R /F39 1165 0 R /F41 1223 0 R /F53 1318 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2733 0 obj <<
-/Length 811
+2758 0 obj <<
+/Length 312
/Filter /FlateDecode
>>
stream
-xÚ¥UMOã0½çWä˜JÄëÏÄÖž”/Aai‘Vb9„&¥‘ššdÿ~DZÒà°ªÔŒíç™7Ï36q1üˆ+ÂLq7T L„»Ìì>ÁÚ©C,Æï@þu¸p~œ°ÐUH4p«/‰°”Ä]$÷^ts3ŸÿžøT`ïM|±wÍî¢K3w3QÔ‹N§s’1
-ŒˆRÔÍ.œ±nfãÌ_½ÃÁj»uL.$”®/(’˜Ž‹…¼r‚¥ÞÅ¢dL¬¥ÅŠ7Oå6«×ù~º„*$C,Ý¡Ó¡{ÔHl:ˆMGR
-a_—áõyö(M(«Ó-œ:äý±%4OøMì5|·"¡Ü‹¾hËDè+ìre…I’L3‹7V²,O«N=»ÏVXÕºl6‰±íêsºÁó4ù\Whs ó®Ôºv(YRæqV|ДÀ6,ù×q{ÔHàM¡S¤Tánä^SKÁèçv¶.w5Ò
-ZÚ¼ú¦[¹>ƒ;FÀë3ÁAë>šÑåüÚlcjÀ
-›æ„·ðÃóÙ±Á+»-ɳ"«j(»®nÓUjo’¥¥u ¼aµ“t  ‚
+xÚ¥’MOÂ@†ïû+öØ:ÎÌ~t÷X°FmIL'Acb!Bñß» 5àÉìivÞ<ódIb8$ëÙËÔk0HF>UåKè ýd’6”tS½R\\©Tzð–­,Ÿ;³ s$ËÅ,ê3ÄaFã"ï«aV ã„)U*Ê&“||9z µÁ 1Äè6O³›ýÝ$öeƒ¼ˆçåµÈËS—›P5@ïb6G¹ø×Aygäg(È{–•ÐFÑJµ7o¢÷‡îîéY„ÀÊòL’¼1üË„ñ`«‰lZïšEBœ;ÞP&¬ÁkÒ»ÜhU/7«e½7P|mëeµÝýõj»ÞÔ¯Õ_>”f‰3ôx
endobj
-2732 0 obj <<
+2757 0 obj <<
/Type /Page
-/Contents 2733 0 R
-/Resources 2731 0 R
+/Contents 2758 0 R
+/Resources 2756 0 R
/MediaBox [0 0 595.2756 841.8898]
-/Parent 2702 0 R
->> endobj
-2734 0 obj <<
-/D [2732 0 R /XYZ 85.0394 794.5015 null]
+/Parent 2761 0 R
>> endobj
-2735 0 obj <<
-/D [2732 0 R /XYZ 85.0394 615.679 null]
+2759 0 obj <<
+/D [2757 0 R /XYZ 56.6929 794.5015 null]
>> endobj
-2736 0 obj <<
-/D [2732 0 R /XYZ 85.0394 555.6269 null]
+2760 0 obj <<
+/D [2757 0 R /XYZ 56.6929 752.4085 null]
>> endobj
-2731 0 obj <<
-/Font << /F37 1026 0 R /F21 938 0 R /F22 961 0 R /F39 1161 0 R >>
+2756 0 obj <<
+/Font << /F37 1030 0 R /F21 942 0 R /F22 965 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-2060 0 obj
-[930 0 R /Fit]
+2070 0 obj
+[934 0 R /Fit]
endobj
-1893 0 obj
-[930 0 R /Fit]
+1912 0 obj
+[934 0 R /Fit]
endobj
-1590 0 obj
-[930 0 R /Fit]
+1595 0 obj
+[934 0 R /Fit]
endobj
-2737 0 obj <<
+2762 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
-2089 0 obj <<
+2102 0 obj <<
/Length1 1628
/Length2 8040
/Length3 532
@@ -13324,7 +13423,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
@@ -13347,187 +13446,145 @@ $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
-2090 0 obj <<
+2103 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 67
/LastChar 85
-/Widths 2738 0 R
-/BaseFont /GWINCE+URWPalladioL-Bold-Slant_167
-/FontDescriptor 2088 0 R
+/Widths 2763 0 R
+/BaseFont /DFTTRW+URWPalladioL-Bold-Slant_167
+/FontDescriptor 2101 0 R
>> endobj
-2088 0 obj <<
+2101 0 obj <<
/Ascent 708
/CapHeight 672
/Descent -266
-/FontName /GWINCE+URWPalladioL-Bold-Slant_167
+/FontName /DFTTRW+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 2089 0 R
+/FontFile 2102 0 R
>> endobj
-2738 0 obj
+2763 0 obj
[722 833 611 0 0 833 389 0 0 0 0 0 833 0 0 722 611 667 778 ]
endobj
-2074 0 obj <<
+2084 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¸
-ÿóü{é!Oˆ`zn%lŸš‘†¬"Ïéé—5úÐÁƒÑâ\\£ý:ß¿Þî—¾(Rf~QÂU;(zÕä5¾í|¹ªÌ¶ÖÛAæÈÜž ÙË£ò¡g}ŸO4ÏôNˆ}-lZŒŸöU/Ê{LeÓP[wm©_ó™iÑÅ=àà;>WìýSVz÷|R†g_«”·¯´ÖÞ"®*ØþÊ”°yzÂÜÕ÷±§»ýðîûUJöìW8Œbî˜øL‘þ.Ù”O uJåÊߪݎË;BbubÁï<_^Ë¿Å`i¢KÙÅy¨yc@–‰Ÿ'\;ø$·®Q;S-”âs/, 9D¦Ô#,9ƦïKv²±SÐúê¿»èçö‰%…÷²õ-âÁ]3ëãÝ“±Ñ][™CæºÊlëŠÑLü‹¦ëÀ¢€5‘ؽrô›ìç3üÜ°˜üDÑSjÛðôä)Wï8Ž*öÜŸèž“3@'}~+ÏÝ6‘žˆ•Ø\Žpµ<züuÚ>AbåPóبLbZ÷a3ÒYÍEœVÁ= ¾‹­{·^®2<¿}5aq€©ÿ_5¹Ûðòµ÷>›À¥´ê$C}ÀXŠ¹­œÕ÷ji—û­€G‡/§Œdû-!j¹;Ë6#ÔÜŠ.Oé­×ôÎc´¼$z¾I(ñØÇ/ Wj®½"¹ßKÒÿ¾ð{Lš¿ÞH¥hԻí:iÓFRF<g] Û39}—ÞÞF™8|à0­‰å
-b݇a›yKÜ£%t×TcaÖËF˨?B:äÐ 3ÚZP ‚ÌÆŠ} fñφôˆƒTU‡J鉽žj:»«Ï‹ºôN)/ÂÕ äE½¬^gº‹ ^/«k¯&6Ö7%³"”-ήQËòÍ“ ñÆ‘r¾“'#
-ñÀèHvo»Vüy½¼Òç³³”ÎjÁÕŸ,_Âh^§–p³/â#Ó„HÊÀç„»ûÄŒ[‡¤Ê»B8Ò¬’%PË ™#¹&}Ô7uo(à–îu•úµÒ95ÀŒ¾?ËêcÕ8—ÄñâθÑ,™ê:f”†.‡Ðà¡ÝõÁ41hÀ›3):«;Ícƒ·ú‘¶Þ,èðY½:Nç5u…QEð ‰rŸ–²ÌûŠ!&.ÜYâü×É ú;á$¤`×yme~b©@{•3*¹
-·³®pBk¾j0ĵ¹Žjœßç]ZÙŸB dŠÌÓš­U•
-ÂIÛ9ä‚·œãƒÂè©õß½n^(Á•Ýh´7C¶¦2„K~V')Ïï±^š}zTÉúÔu?£F-!z_‚¬šÉÉ/U‚og4²Š’.§N™EhôáÍÎËåÔŒL^ѽð¹œfCÛïPI†^ÔLʸðˆ§/çÓö±’¾¿Ÿ\S ³©»ï™ή0‰Ú·˜O%”çp×ù1ÔA?P(åÞ.¤gÔ>
-ó¥ªÕl^Œ¨­Ý)e»ò3Pp[´dbõ¬ðVŠÿÒ³Ü4Å+β&VÊBÔ eŒCuOé‚¿# U9fiêCl·\r«ÒzÃÐWü®6êb1~i“EÉ5ÚÒ A¦¹§üÑœNƒÇ=< l””íyIæj%‡¨äÄiñ(<ÈO› õ;Zõ}¾TªL’[î^åÛA€Z…êþHKJühØûñœq/fóÄf¢8³?€æ¢%K]TkcÑøKEÄL1‡•·FÆîšÃºåØ KCÂCkÇxG®ï[v“
-‰ÌÙd%JWܽóµÈT¿È$ÿ$H~@²&jM¤Iòüé.‡¿÷ywúÜB½ÐÛŠFög„”p¾áÚÀ7sº‰&RDî(ŠpÅ3¯ƒgƒL«Œ˜–)\°¯b„îeý¡u1ì9ÔaºÔ0•i l]˜dÞÊNºwÚøw T甼T ­31&Óãâå"q è{•tjIõOÙ#u‰Uð¤û/qA©SˆËÕ[7Š·oÑ4Ʀ^žÔ™Q™¦¤îŠ»Lzò9QT1q†}«caK"ªQv[‘,P.£d¡ù:üœFª±î¤R=éY@A
-‡¶úL9’00#†ô}à…Ú¬ëè¾>€à)…fbˆû†7sÓ¿×ÄÅ}ä׊³ÒgÍ¿?FІæIP›˜ké÷2è´à2|Ö§™¥£[¶WBMåtè³<èù:28¢Ä;Xf1S§³EŠ&´×å0Ä0d—5ŤÐ4|ylæ©@Är˜léË@È}±}µ\"òSÐd5ŒÓkùp ü3ʇÏÎ
-+˜^h€&9I‰òÝ3¥–\—qaâ)&J™NBb0šNí`Ò.'39ë4^€îg(}*v–õ
-d ¯òˆ¦:ôw
-ýL¡T÷Æ{ši®G3È¥ã"y+â3’§[cͽ<å†Q@òæì+}·÷¼Íñ0þ’Dâ%ßéfL¹7®‡SìD nŸe‹ïãF cé¯ÿäφ=jýúÑ…fìÁµAÌ^He±œÆÌ€PP‹@Sò˜ÈÈ5D7Âþ˃¯íãìoÎ64ÒŽY›]l_o%а¤ÒÉSŽšŒæ©óAüŸhöUù»ÐyèvíS¬ÐD=ËOÃxýa“²I;ÊÃÖ‰do“LÈÁd<±~ŒÞg®¨ÙÏØÃîpðzÕ±5õ*¨2Ò1·2BÏ`«ùñG8nå^{bh…Þƒ1K÷©éVZ˜gí"2eF˜ˆA4”ÈTøxzrA¤ÚØ?ß]íÝÇKÚ
-ö”bÇЃ 9µ³+&ì“[8Y)
- ‘x£´J60>y®ê$´7An¦“_ƒúµZ³+i5ºÅ‡Á) ¿{iR`FªFý“Sð™ñå»ÿa%€ðeå÷uì†Ò*ড়ÅÊÎ9 |ÀÑå|,´­Hƒèn_ÙË%i·˜³¼Ã'µ+c% ü麖‘Ý@;¶zu@ Ëf#[2aPàØÄë üSÑò“ëùIý1›„túÉb¯Mˆ·gÃÞç+kÚ:ÙîSRc;¦ EKZªâ¤ØjU¡ª†z­iRûRž2ã ­¾~æ9 ¶hKI<üORdÑ*ãAŸYëêà“ºñp0Ÿéj<°÷8KgQ»$`¹dÌù4à|ÐÈ¥ñ„î±ÃäÂñœð*S
-(Z¢`‘®~VpùEaAzy÷UwJ­s÷Œ?´½‹š|: }ÒH»a‚º¾g)o}³=‹rrµM3v-ï€Ä@ Ùì'pÅXßÒ–×
-ÕB¾ª\h~8©$‰¼¼·ý˜7!g;É¥ƒ\®cf>}7›ùâžÐÙZسãÁÖ–Ü^-Už&(
-ÖËÓ»ÜIFÙØS­˜õOV_ºhýÐn-®
-X{$¢½‰¼û£@–rlZ™âɞˊ1o(­¶¨mèö¡Ðé»÷ÝõäIŒ]Œ_-ô‹ ¸Þû ò'zŸT¶n76Gت–·& úìIĆ‹7ÎÔ‰‰f¾<B‡›&ª½úŒ×ž´)„Æc+¤ œ?µÆ(_¹à™ñ0áNZ¬/ˆ_c24íŒË¢—'{.ö¥dÖî§Çz̓¯ÛKÃ{u`‡:s±¹ Á<º'—0— HMq±LåRnC@x›ôs̈W6ß>uä3¾õˆ;)EO4,Źk&l‰#õŽ¾„˜¬Ù¶³ ½höâiF] ‹œx'´ÅfÊb\ñê{Ý?¬¹¶=ê3¤XTÕW©*®§‰\Ee¶©x‘@†Dz:ƒ!¡X¾ÂK ”G½èß>c{BŒÍCŒ±¹0šUÕ¼ƒ¿ªÝ•5xfœéÉU“Nhèòã»Z–$8û훎·òБÞåú¸;ß¾2~%~QÍ÷*|6οÀ.©ó¶H&l]ážçµÐ[èù%¥κƬ!ÙrOxÆ!.B˜“zuW,Ôêr‹9å™ÊT°CHÖ‘_e‘‰ÿð:û5r€û3.ñ4v—W”ò]ª[)ïó–äÙÀ—݈H¾ÌûùSŽ¸+¹ºfS4çHõ¿ÞzyàÂ*/ç%Šâ׻͠Ï8ôæãmº'7…\ì°Å÷K)8ÐÁ@£bÅî\ç±ÄÝÊ‚×[g“©»5é«ÅÖ¡’'¯ÔíÌ¥ºégˆ<‚â¢Ï8TŠqùœ_U å=¢¦#fœÞ*ª6í¶²*æ›\oi›–•`ûlj[ÛW*ˆ»ºœ2Ž(ËtŒp{ˆ¥6Í]š†}„¯>{?'CÆà§5zíEëÝÚÓÞ&vø¾öŠ ÷dYcØL‰8àÇÉu°à•GËÝšÎñtûëV²­ˆ’eÓëû­&KÅàჃ‘oS*.m•»8ÕîŒWQì3ÊDÌûj OpHY²ï®f>×¼ù‰_ôŸö‘Ƥ‰´»ø|EÀ’=PzêîXDƒ%½+C£ˆ1_ù¶‡=AýYœ:&Aaú;æ¬U¾öÝ*“ÍXJ·=à²ùˆ1¦¬ý<ð»©,|# O'Cƒµë“M]í¼æf°ºÜS4‡AÇ÷Mj€“Ò·ÐökxõÊáž™ËG‡ÞÕéú,óÔ92‚¬ ߸gp0o9)ÁM£«&ChVF=Vv¯ñõ­Åž¡üÜÈT·Žïvä(Ê´ãé¿7jzä­ ¾¹Â6]E³ÚŸÉÞeIGOIùç…&˜+ÊZ Sl©
-Í`ƒ©c½G¯Lsé:JθÿÍàÿ þOX9B,\‘p' WÀ]®y³endstream
+xÚíVuTÔí¶VA!¤†”ºQº¤»{€!f€J¤SJº !¤‘RBpé–NI%‰‹~÷;ßYß=ÝsþºëÎZ3ë÷îgïg?;~ïFZu-Ik¸%DCrpsr‰€t4õÔ--¬¡pe)¸£µ"ÒÂtñ¥]!H(&c„ˆ€ô Ö ˆˆ‡Ä-,, `Iý\¡¶vHó  û_–_. K¯?‘›HÔbºyp‡8 0ä Åÿ:P !í ¨#$­¦n ¨*b–WÕÉC`×›"ÔÝ,¡V e¨†€°€là® Ç? +8Ìú«4ç —$dB8C¬ 7aO+ˆó/ˆä qu‚"7Ï (dëjCÞô
+ý-à …Ùþ¥€ä
+±µpµv„ 747Ü¿ºóW ªÞÂÙÙÑëw4ü·×?4@‘ˆ£ '€›ç&§ò&·-
+âàæâú¦mµr€ýj?ÿfýwí7ƒú­¬)'«h(Íö¯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
-2075 0 obj <<
+2085 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 66
/LastChar 78
-/Widths 2739 0 R
-/BaseFont /VHIYBX+URWPalladioL-BoldItal
-/FontDescriptor 2073 0 R
+/Widths 2764 0 R
+/BaseFont /RFEIZC+URWPalladioL-BoldItal
+/FontDescriptor 2083 0 R
>> endobj
-2073 0 obj <<
+2083 0 obj <<
/Ascent 728
/CapHeight 669
/Descent -256
-/FontName /VHIYBX+URWPalladioL-BoldItal
+/FontName /RFEIZC+URWPalladioL-BoldItal
/ItalicAngle -9.9
/StemV 114
/XHeight 469
/FontBBox [-170 -300 1073 935]
/Flags 4
/CharSet (/B/D/I/N)
-/FontFile 2074 0 R
+/FontFile 2084 0 R
>> endobj
-2739 0 obj
+2764 0 obj
[667 0 778 0 0 0 0 389 0 0 0 0 778 ]
endobj
-1450 0 obj <<
-/Length1 771
-/Length2 1151
-/Length3 532
-/Length 1711
-/Filter /FlateDecode
->>
-stream
-xÚíRiTSבª¡¬2©¤j=,Œy5„„1 £ soÈ-ɽôrIˆ8PIU–EltÉ(*J…UE (µÄ*¼N¤U„GX>‹T­Š€S/XWWéÏö×[ïœ?gû;{ç;›æ)cˆ lŠ¡ƒÃäA°T*á°yf³)4Z0Ë CCä,À¬Ôªw`ó…¼eBŸBÁXºGRUð
-¦Oø@¤qD!GTN¨` YC!W¦@`BÏ"µ¬¸‘ÖÂ0ž CL
-‡ DA€ p*‚RXš$¨ü70¤M›Ê„ñ Rðš”I¤HCÕz
-k5FvƒI-ÿ„¬©ÅCµjõj¹f¢ü¤SÉË5ˆZÿ;Ó¤k R ‚qt*5~#N
-CˆV35+!äjD!BSÕ0`p–3ÙËßàHF(¢ƒ¡H„P¨€R®Î€'q…¦*!ý›ÔÁ’D‡‡‹¼ÿÚÉd¤A‰(}: Ø°'cÎ1iŽè@›ÉfsH"¹ßž’¦4£
- BÐTÀåù
-ÂtÆ2.`pyd+ör_Àç±sþDThqF‰Éñ! z+ÒSÖÁ
-Šå¦ðÛòñÞSÛjrÅUGíéóM‡·´ŸÛzÒäÇêõs¹†7þð«óVç‘cN%Ã_± %¯zJ”m6ÈX[{œÍŽnôŠ}²C‰ÉÓ.•µµ¾§9°ý®e¡5½ÑûÁžOïdž³¯[uï¤N¯¹yãåãÜ´}‡/!ÏÁJRÙéU{à˜ÿÞ)º2~? «Â,Õ—æ&î{êúÊBm½ÝvËÑ$0–Ií®›ü_ÌbÓuÊþ
-gÚBK\©`¥L8s¾Ïµ˜r°yßßÃÐÜ!ýeæ@]0àaz·[’ŸS+‰™w´ÂEQ3OíVMµ…ë[×µhÐ Öú5ù.iõ\ÿbNzãÚÚ”±—´_í˜þ$éùóÞg¯Ô–
-ƒ‡ûñi±Þ¾û3½¼‡èílªýÕÏÌñrÕw Q`x¯Ã
-c›æßýÙÍ£R'¸žçvãÈgž.åžpL³·ü_ÒuÞ_7™w'Šu6‚ø‹è‡ý•¾ØbÜÏM NèM9uÓûRmÃùª×Ú‚éIæ¦ÐЪEM3±ž ¹®óýf;‰­Q@µÓr¡[Wt_u6Û…7>¶à˜Ðç@÷ ¿ÁJ¢ÍÇ}äÚnž—¶“y?j©Á÷»sµ)úNßÚæïç,Ù Ee3ÖìM;VQ³M£$˜µç¨ þ!Ç®<ûìQÓwÊ2¼ÔyEl|º”ÞF[¹öáTù¼2…‰ÇžiiEqÔz|ÌÉ=óÑzž_bê«î€ÃkVvm|ðèæòÛ×S„ý=jºøÓ’Ü×[Fz´Îâ¦ö z÷¨éö÷}ˆ``óÙƒÎZOÿ¸¯´PëÎÿgtÅ×Ye`«ã½ mûÇiPs¥¦Ö¹Y/ÉS½,îf©ë·’'9ݸ-” zy¢ª$†•kíYqÒǃX5Z)De‹%§ÔKm¦Ýž>ú¸ÄÝúßtàj8¿¡|'x«"rÝHŸÿ®qmžëåáÂŽŸN/“*¥¯d{Ræ*³ôºÎ9YM]¥óœÊuÁ ¯-§?2|Îýâ”±q“Í|µ$úÆVÕ¾íšë•ðG gs¬@Ç}v$®#ßîݜ•Tê'¨qqݨn_]x©µïÈŽ‹YÑï˜ïxŸ—ŠK^ÙÆÇÔ ¶Û–%â
-]õÆÝ*‹?ŒQã¥QùŠ¶[É›WIëŽïrØÎ9¨Ê.îš]Ð<cþŽM?º=Z’)«ør]À9~~fÌÙP^_à¬o=©(9çÄ`‘¸ú@ê]qOxö³ÀïÞƒÞ±Yô8öŒ©°à¹UÕ{Ú·¼X2t¹St³u7­¶KÝT]Z°[:»Æeý;aN‡Ú/ ¯:ùïj/nç}Ò6F]B¼x•pr©Û×ú”"NH·ñaX˪,=Ü‚…8®îmti dæå‰Jƒº®ïV%7t\+Ëû –5PÇÛªöÍâDç±Úfà v3î}p%þÓoRªù£çÅ-IW{>Y³ƒÿÂ’Ä¢'1äÄŠnÞˆ'Y‘‡ò«¨µý쿹(ÿ/ð?Q@¡†å8iäxå7Ö®Œ}endstream
-endobj
-1451 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2740 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 2741 0 R
-/BaseFont /IPCHHA+CMMI10
-/FontDescriptor 1449 0 R
->> endobj
-1449 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /IPCHHA+CMMI10
-/ItalicAngle -14.04
-/StemV 72
-/XHeight 431
-/FontBBox [-32 -250 1048 750]
-/Flags 4
-/CharSet (/less/greater)
-/FontFile 1450 0 R
->> endobj
-2741 0 obj
-[778 0 778 ]
-endobj
-2740 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 60/less 61/.notdef 62/greater 63/.notdef]
->> endobj
-1439 0 obj <<
+1447 0 obj <<
/Length1 1199
/Length2 2269
/Length3 544
-/Length 3059
+/Length 3058
/Filter /FlateDecode
>>
stream
-xÚíWi<Tm2e$[–qÈ2˜±›Ê¾ö„ÑØ©Œ™3ã0f˜Å’­ˆâÉV–É’G¶"m¶D‹‰"B£RÑbÉ=õzª÷éíÛûíý½ç|8÷}ý¯ë]×ÿ¾îGU Oж 3üA[­Ecp€ìÏaˆôíÚ;@*ÇM¤0`@DªªºBløK´b‚D6Ä [Ù°k
-‘Æc
-Q,b°™0&êßîX,@†HlÀ¤ÂGòƒ6ƒ”¯{G"› E
- –G[ø'¿ƒ ‘@
-cª„m¯Ò%½ªè¢A ªô²ÓÞg&:±. /,¦KÓ„È3‹#»|E‹-q=}ÉQ² 5…t }à}}¯4BðÆÞ‡×6g¤ŒfaúwŠG>«¾\’éK¨NñyÕvžA¸zD>îF¹øV™c[¸Š¯íÚD™+óãiWǹ{ 1¾Dkí=#®f¦×Ûz…·_n |¬Ýî˜Q)2},ìy^Е$=檮õÓ7±kå­hœÕš©ª;Ùîaóz]ž+ý£ƒZBÌn®Y˜mK·ràÞª™ÆðªêñãW
-ÖŸ13|²{pÌÍ5óáÛšü0è\ÆŸÍUÈò/åí'ΛH7 [fBltåÄéùGÑ--|iŠä°O‚Œž
-rzõéüa'¾9\6ãVî#Ù¦ª[³1‡Tö»jãÕÇ“®FV£ßò[n>æys+&hð42=×¥ãSGWƒXß{ž¦{{…óŒºÄT)ë“ò|ÚSó„®äH¼È*oõÛ ïË‚Ñ„#mCE+Z˜ &C¶o‹>´NËO¼Zx”ã;°1CñoÉ©qh‘ÈpL§U7t§á˜1홬7%ÛF—­óè™ä¦ ?IKlí;~C$€…(B¶«\2WUÇÛ{ß?Õ¢"D²Û²kÓ°ŠBêi›£b¸õêŒjUÛÊp‹Ju!ùÇo#W¡rå¹ûÒ¹v÷s |£ÏZNªO(4†H¹Lʹ~Ö+×>‘q,Sýx³µì3ÝŒ®Ò#’JoÓÔžÖN~Ñqöšóu1("ä¹Gxì¸Ê:hÞ·û ÿ]W>HK™¬Ý}¥#Kß$ xÏ\úGî~—±û›P¢N·P;ýDŠ³.í]päøŽ+dºé¿Žãw¹~ònwõ|Yj²Rân³ ƒçÝ»G4.í­ã¡žl"t#œ GI•s‚O§f?½duG|ëK£ß
-X‚›‘¢mÅr8òx’‹lÊïo ­øEZ¥»úìš.¿"د›_ÓsïÊÆ “qS¶Âc•.…Ä ¿ñnÖÌ@Ja±_¼u¦†13º&'+Ú1Ϲ6±¿Æ{…Ky ÕȦéâ8ís3º\Ö„~13YªSôA‘áÑÇ*ùxªk­JPÑúÙ±˜­®êw"ÖPÅ2ÇÒÍ¡l³Ä©ƒCÁd—R~ŸäÉû'ø<\«?£Îª>B øðô_ª¥‹¤f½+7¦jþÅzö,§ý»uÌ6éxX•BÀCɇFú|¨ýjŠ…M×"+8k6f” žÇßTJè/ê’Æü—òÿÿ$Hd²ÁDf2Š ²àÊ¥3ä¿
+xÚíWi<”k2edÏrYF˜ÅnÊ>¶Nʘyf c†Y,Y#Š“­,%’%G¶J¨l‰SŠö”Š6Êzuª÷ôúö~{ïó|xîûú_×ÿº®ÿ}Ý U<AÏšÌ í™ Ž‰Æ.´Ð@.›@dlÕÛR¹N"€
+r
+ۇ
+B-¥v¿‚˜%3‘AŽ‹ c†" ÆÑ( ôÇ°‰ ÀaqÁ¸˜þ¹ƒc0
+èé› Ô§™‘Á¯¬?ôø®ÅW+žHû»VôOJ'… ˜}k Òò{[ ‹ Í*€ø:ÚÚÀ?ù]˜ ?ÇÈm„†&ú`–¯àËÙ¯9ì¹túWeß$ MØÀV`I:tq–”¡‘þ#ŠJ£G/÷«£øíBüM÷+üÝšA¥ƒ€Fÿ›‘ƶ§Ed<C
+ú6;ßå&½  žÉ¦-]q(Äó æD#…0@6:”¯È ÿ’ÔŽAb’i *@à@#Jd‘–`—Å‚túzRPì÷=…•‚Q Îf’6í nØÓ6ÊZ1RïÙMƒncÙ/\Cx]` )Øå"rBÑ°tÆ4¯‡¿dQï·Òy¥@j¶¢]†Idˆ™M;rµ”tŠ” cšÂ+ä™Í.صïÖ ú§ÐÝ
+9ûå J^ÚF_q|«Z3ë£aa{CŠÊ”IX?ïûüE¸+LQ¹¦¼NØõÅ°¶™ìBÒWGz¼v›×C'í-Ùr¡ùÖG­-¾"ͯæ¤ëÚ¥††/Ùˆ%ÜNu€sÞ*úœ0Ávܸ ¿TÝJY8Å +7Úb°=ì®nß/DÆÛ¤ÃëNqŸ¿’OöÞ]£ÖUW]ñ¦³ê~é&m Ì3Må;‹{;E¥øíB2К~ù¨±Â[Þ©;uÞ&g´ÙzÁ¦
+ˆÎÖ™šØãå=Ú·ïQÜÒÖ«‹;sZRNóç
+ù{
+ŧkM ôjL–gÞ)‘¿¹²ÃØnηU¤løÚ^ûcAù`ᆫMV€"ì‘_ˆ¥Vw¥îÍm”}îw ¯‹VÒ¯ “צg!©+ַؼºTMabq?OBû¢ÏiÕÙH^õ_÷¶6à(Þ›mÄ!©ˆvÓßœ/ÁNÌg`sŸzkù~ˆ§Â½¾ aæÆoœô;1¨êµJO¼ç²$¥#á/Ÿcí[RŽ§ûWH) ÿù§ªó¨ƒ)„mhy1ÒÆ´2¼Òìø^{bôn¢ÓÕÀ¹Áög…Û «‘Á4‚òYÜD"¾¸:kä͇ä˜$_±b^g%Õà´Ó7ãíɺÁ÷÷×ôí*Üq·
+#ËãKçÿötõIƒ"‡lp‚9r<Ýžˆ¾î›•’œ·ÞN8”h³wTøÖõWmˆM‰t廋ªÞû1OÝ×1"ßð
+)+ÌñãºçJ&È…R1Sm6»\n5[WFq w¶ˆå+䀺ä Á¹íj;Fj"ÂÓ­Dc~Ûiå©“Îœ.ç8ª÷Ê­*=kTŽ¨8ï’øØ ï¶ðÌú}ùb¦yfql‡¿D™ ¶0-F!¹¾„!m¼mƒ _I¼w)hSÎ>Êx.z0x»Tôãºóå9þ„ºt¿]MLÂŃJ Wª¤Ìåo橼tè’`­,J‚Ñ,z{ÎÜNŽó'âôv¹[Z\îvÝz¾+øÞ`¤s6Z½Ôâ¨w“° ¡$LzÀÓX`hæÐÉ_Ñ:;‹i
+=ŽÀ¼¶]ä‹ì³ÜùPð–»
+Ü­¹u½õ¹ YÍþ¹E+ƒ¹%V Œõù~^a~Ã{ôŒSf·ÜÊÓY“hçyÿ¤Ô­éTô{ês…”Uiã‚>—µ1F­ªýªÆ´clñámåUq»=?º‹'Í£Op>>¼U0ÈÊÎ\·_•é—®A5ˆª­nÁïf¬,çd߸ô©Þ#;AC6õɹûG“Ö U4}ùR ÿö,C©yBF(êxÍÖVÜË#™ƒ¢~ÄâóøÈêk†ÆâfJ éR–®‰d ÁÅìáMp‰®2E,y2ÕM!ý÷w¯KlÅ;åú’Úο 8ŠÍ¯é¿}aCȱá„i{щ·⻀É>öÌpzI™¬@.GÛ”[ŸŸë\èz:e¨Þw…[U°íØÆ÷e zÅV– ÅÜw†e¬4ÙëwK=P/ÂSÝO«‡”®›­—Œ3w׺µ†*™3‘eE˳L™Þ7Jv«ôK›ºÓztAPÈ˽î3â”Æ}¤ßðÙ¥N®TvÖ·fC†Î_ìÇó»xæö©G"j•ƒîÉÜ3iô£i6—‰Z¬…Ws×lÈ®nÂ_QÍ*í•Cÿ—üÿÿ$:Hdq˜¡DV<†²¡Ê¥3ø¿
endobj
-1440 0 obj <<
+1448 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 97
/LastChar 110
-/Widths 2742 0 R
-/BaseFont /MMOQLU+NimbusSanL-ReguItal
-/FontDescriptor 1438 0 R
+/Widths 2765 0 R
+/BaseFont /DRYDWY+NimbusSanL-ReguItal
+/FontDescriptor 1446 0 R
>> endobj
-1438 0 obj <<
+1446 0 obj <<
/Ascent 712
/CapHeight 712
/Descent -213
-/FontName /MMOQLU+NimbusSanL-ReguItal
+/FontName /DRYDWY+NimbusSanL-ReguItal
/ItalicAngle -12
/StemV 88
/XHeight 523
/FontBBox [-178 -284 1108 953]
/Flags 4
/CharSet (/a/c/n)
-/FontFile 1439 0 R
+/FontFile 1447 0 R
>> endobj
-2742 0 obj
+2765 0 obj
[556 0 500 0 0 0 0 0 0 0 0 0 0 556 ]
endobj
-1363 0 obj <<
+1371 0 obj <<
/Length1 1608
/Length2 7939
/Length3 532
@@ -13538,7 +13595,7 @@ 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
+JñDÛ‚Ñ¿s£`·n
uƒZ|™BX‰¼LLIB—Qdt (<okbu:æ}Ò{ŸíûÑ쓼,Vôâº4¯rèéMûäŽãÏõg\=-äpöæxèA­3gkö£¶Qî ~ó<¤]ÃpÏà µ%l“Ç+Ú:æ¹×w醄x‡ß9}™]²}IYΉ¼­*"ÉVb—åìì²Å|ý~ÎÞÑÛÝÕÙ|ŒÓºNÉÏ*î‚MÈæë”N#m¢_äa™ ŒéøÛÔªÏ!´0sL^µ$0ÙÂÿTh5ë¹[­Fúù{ª\™ÏíßÉúÐâ¦Ùé%üföC ~–fí*!Î:‰EvýÔzð­´÷Û6гßÕ•Ü 곺£Âgü«e‰;}ƒv©b]ùßÖÒï6”‡ùÚ}sø.Gj¢T«$Kñ£•I âQ–®‹Â~ÒìEÛ1w.ì*Çbr|¬½}$oÖ‡·Gs]> Ã?V1ñŸx£+w¿³^õ9’e‡Ð†ŠÚ¥ÍäÊu””7œœ¸äN­Ñ÷ˆ¨/ùŠõ.‹ú…'Ð)á0äPùÝÚ…ke
¸éÛR§ö
]8sô&sß±­|*åŸî#>cÕ¯‡‹úœ‚ œEëÑymeê÷AÆ€>8m„ 1œ4¬jõõr¦XÜâd8„²³¤¿V>M¼çÀ7ÁÜ&N\€*ÄJÒÜOµøï8•^Ýçôáö¼J%qõ‡ ‘®.µ&у;ìXBÒ0ÊÚcVKŸ0-SÛ·ߌG?óí·Eƒòñ(€(§¸Ëš’=´øô•ú+y\J6.æꔋ‚œÞ»ó^eúÞ‚·V„(õb*$Ã=AÁžéÌmEéïa9žoñ€Rý3™ÙÑS×!÷8ÎãÒ9‹ÅÕçÜrƒÅ£‘C™Äù\‹-ÕÕ²k±ò¡øáÃÍ8
@@ -13570,35 +13627,35 @@ QH;ǘ¢&šùŸe“ô¿žUÙ|µ°Sc0R2YE]¨
‡á{__bçâ.°ßþ
LóÃI8GU–¿Bã¡\‚–Ÿˆ{éõ´Sû›7M‹Š–…;ûÛ䃵h¹0GQœ&÷ <‹"œ_ý¼ÈAze‰ÀN2ÿPÜJ"u]©¶ÕLòs.}æQùü‰iõHö5¨ñ‹‚‘öqLðëƒýUj[’ =Á®…1Ñè²YÆHOŠåoq ’„!¿‡RÒ¯¸ð%ê«~u¯ ³¿0Š×·6î;>nE=m½aÔ\{\ÄcïQq”&T/bµ^þü‹}m“¹ò A’ü陈×O/ÍI>c×b%ÒÌ&ìýºªú· ¶mJ;û7žb{ª6eC‰Æô_è<@ÀbW’+Q'‘šäçÚU›‚ݧ/ˆ+ƒË°a
<¤þdÑ _IÒõ.˜ê¢Ï\9¾§é-xÚÖ-9?›ìÐv_ wóý}¾éH`…Ñ'>Êß4¬>äŽT‹¬ÌÛúGäµGÔà…$Í ï‚7LI›u`žUJ2ì„΃79ç¯~f´lá­ÊΚìïW 5?|¸':U—.ûrJo ÇÓlÔË5áAÜçxE ³º×ا‰3Ç•ÚTñ#åKþtâ•.iKW@ö/É›ÔÑ÷ ûj&Q ¦Œ²È˜¥t°Èð§Äh-ؤ1íý b?e¾™F Š– ÉXrÙ/&Šjz©¨rAÁM°re.2Òe%ÉÍ£™6"5[¹(H4 :\mdb“™[i:ýP½2“¿Ýä÷ö0JÑ»pÕh¯QšQ¨ý±Qó_»Ã7;mþã«÷Aú^ÁÐ; Ó èvñ¡Õñ¥ã«*’Hóß¹,QëtT½}…ÁbWý€g”ùxÔ$Ó¬GÞ×™®'}¡uÞói õ´’D§ùõ; ¼xðÞÔ¡Æ°~. °öâ%ÅÅ4O”˜»ª¡ Þ»Bï­\ÿÆÈæ 
-†ìvm…$t§³ÎLd?莑ˆ+í–«I&VñZ"-¿35MGöÊìä§7À Ñ4‰>ÅauA×W¯½r‚…`Hã×W{Ûw1Û®­¹E¥^["W¬%BŽ… >«íÜMÑ#nNCuy‹¼Hû %Tž,TÜþ0]4.ïdîžk0œPañœ„5ðY ÓëF–?ªU'?Õ‹«žäfü¸Š·Ö¤qCr®až1j,†º¿÷2Ó“=²õáÿ¶D4ÏØeÊÀ¿I Üóv¼vþ´b„dîÿ¼ø)xý)\+"oÜ´¦ÜD1å[|)h$úØûeGUeŸ?õ¾†Ó<åízznKB†Éd–¬ö…Àÿò!øÿ
+†ìvm…$t§³ÎLd?莑ˆ+í–«I&VñZ"-¿35MGöÊìä§7À Ñ4‰>ÅauA×W¯½r‚…`Hã×W{Ûw1Û®­¹E¥^["W¬%BŽ… >«íÜMÑ#nNCuy‹¼Hû %Tž,TÜþ0]4.ïdîžk0œPañœ„5ðY ÓëF–?ªU'?Õ‹«žäfü¸Š·Ö¤qCr®až1j,†º¿÷2Ó“=²õáÿ¶D4ÏØeÊÀ¿I Üóv¼vþ´b„dîÿ¼ø)xý)\+"oÜ´¦ÜD1å[|)h$úØûeGUeŸ?õ¾†Ó<åízznKB†Éd–¬ö…Àÿò!øÿ
endobj
-1364 0 obj <<
+1372 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 36
/LastChar 121
-/Widths 2743 0 R
-/BaseFont /KPPBZU+NimbusSanL-Bold
-/FontDescriptor 1362 0 R
+/Widths 2766 0 R
+/BaseFont /AGVHZQ+NimbusSanL-Bold
+/FontDescriptor 1370 0 R
>> endobj
-1362 0 obj <<
+1370 0 obj <<
/Ascent 722
/CapHeight 722
/Descent -217
-/FontName /KPPBZU+NimbusSanL-Bold
+/FontName /AGVHZQ+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)
-/FontFile 1363 0 R
+/FontFile 1371 0 R
>> endobj
-2743 0 obj
+2766 0 obj
[556 0 0 0 0 0 0 0 0 333 0 0 0 0 0 0 0 0 0 0 0 0 0 333 0 0 0 0 0 0 0 722 722 667 611 778 0 278 0 0 611 0 722 778 0 0 722 0 611 722 0 0 0 667 0 0 0 0 0 0 0 556 0 556 611 556 333 611 611 278 0 0 278 889 611 611 611 611 389 556 333 611 0 778 0 556 ]
endobj
-1360 0 obj <<
+1368 0 obj <<
/Length1 1166
/Length2 8911
/Length3 544
@@ -13610,7 +13667,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
@@ -13640,35 +13697,80 @@ 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
-1361 0 obj <<
+1369 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 2
/LastChar 151
-/Widths 2744 0 R
-/BaseFont /LPZBYY+NimbusSanL-Regu
-/FontDescriptor 1359 0 R
+/Widths 2767 0 R
+/BaseFont /ZIZMXH+NimbusSanL-Regu
+/FontDescriptor 1367 0 R
>> endobj
-1359 0 obj <<
+1367 0 obj <<
/Ascent 712
/CapHeight 712
/Descent -213
-/FontName /LPZBYY+NimbusSanL-Regu
+/FontName /ZIZMXH+NimbusSanL-Regu
/ItalicAngle 0
/StemV 85
/XHeight 523
/FontBBox [-174 -285 1001 953]
/Flags 4
/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 1360 0 R
+/FontFile 1368 0 R
>> endobj
-2744 0 obj
+2767 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
-1320 0 obj <<
+1342 0 obj <<
+/Length1 771
+/Length2 1151
+/Length3 532
+/Length 1711
+/Filter /FlateDecode
+>>
+stream
+xÚíRiTSבª¡¬2©¤j=,ŒiF !¡€DŒ‚a”Abî ¹%¹—^n )ƒˆ•TeYÄF—Œ¢¢TXUê€RK¬B 8‘VJXÖ"U«"àÔ ÖÕUúó½_o½sþœýíïìýïlš[¸Œ!‚° p0† “#R©„Ãä™Í¦Ðh8,' ’°p/°R«Üe€Íò– y|
+ bizIQÀ#>Aâ‘Æ…R9¡‚5d …\ d˜ =ˆÔj°vâF:X §Ãx 1)€6À)JaMh’ J ðßÀ6ím*ÆÓIQÀcR&"! Uë+)¬ÕÙ &µü7dM-¬U«WË5å'úW^®AÔú¿˜&MKÀ8bŒ£S©1ðqRB´š©Y !W#
+š¢†ƒ³œÉ^þGÒƒ …#„B”ru:<‰Ã(4U éߤV`@H„tç__;™ —#(©OƒûoödÌù;&Mˆg3ÙlI$÷ÛSâ”fbTAš¸</ Çq¹žBñ@ (ë
+“þ>s ‹.p3¾Û-ÉÏ) ‘DÌ;Zᤨ™§ö ©¦ZÃõ­ëZ4~è…K}D¾Sj}'×·˜“Ö¸‡¶6yì%íE;¦?I|þ¼÷Ùkµå"ËÍÊõø´OïýþžCôv6Õöêg&·8¹ê‹»„È?´×n…¡Móƒvó¨Ä
+®ç¹Ü8ò™»™K¹'Óì-ÿPºÎóë&Óî±ÎJwý¨¿òáo[ û¹IÁñ½Ég"oz^ªm8_ä\[0=ÑÔ\µ¨i&Ö30×ÍÏy¾ÏlQ‚%¨vš/tëŠî«Îf;ñÆÇzè~á3øcI”©qø°×‚\ÛÁÍóRw2ïG.ÍòþÝæ\Xm²¾Ó»ö„éû9KöB‘ÙŒˆ½©ÇjÂj¶iô³öÔ?äØ”gŸ}"júNY†:°O—ÒÛhë/×>"ŠÂŸW&3ñ8ÿ3-­(ŽZŽeepϬYÏóIHyÕíwxíÁê¬]<º¹|Áöõ¡]Ï€€š&þ´$÷õ–‘ž­£¸©=ÞŒÞ=j¼ý}"Ø|ö £ÖÝ7ö«Å~-Ժ󿌮ˆ`p•‘Yluœg¡uÿ8 j®ÔԺРË¥
+(Ô°'0O¥ü 2vŒ‰endstream
+endobj
+1343 0 obj <<
+/Type /Font
+/Subtype /Type1
+/Encoding 2768 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 2769 0 R
+/BaseFont /CBGQMO+CMMI10
+/FontDescriptor 1341 0 R
+>> endobj
+1341 0 obj <<
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/FontName /CBGQMO+CMMI10
+/ItalicAngle -14.04
+/StemV 72
+/XHeight 431
+/FontBBox [-32 -250 1048 750]
+/Flags 4
+/CharSet (/less/greater)
+/FontFile 1342 0 R
+>> endobj
+2769 0 obj
+[778 0 778 ]
+endobj
+2768 0 obj <<
+/Type /Encoding
+/Differences [ 0 /.notdef 60/less 61/.notdef 62/greater 63/.notdef]
+>> endobj
+1325 0 obj <<
/Length1 1624
/Length2 10098
/Length3 532
@@ -13682,7 +13784,7 @@ xÚíweP\í–.n ÁIã.Kp'¸kH 4Ö¸»×àîîAƒk‚»î ù¾{æL;¿fί[wWõ®ý®g­gù[Õ4*ê,b¦Pc
ù“š#ë —˜#
ÃÙbkþϘ`sƒ©5ØÑñ…æ…ûOuþ™'à¿d²³³vÿËú—ÖÆ
ÄÉÄ`²~©Ö_rM[S°ƒ5ÄüÒÕ¿
-úbÄÎþ/˜†ÄÄÊöOù¹ÿ†À¶¦ÿûK£þŠœMZSV\C’é¿»[ÿÒTy™' w;0àÿ¸ÑV„šþçá¸8Ô àÉ°pðòø¸Ø|¼@ïÿÆã_4ÀžAN7€>;+;;ðòþÇïŸ'ᑲ5šþ™u'­é˘ý§àlâìàðÒÝ¿6ÿ%éœÿx0Ø l‚¶85 ²LIOuª!È“ÔïíÂÛ×käùUA»|S>mð—|¨fm˜xjuŸýi÷¸#ϸ;ÔýÆš®+ |œKêMÅГ‡½JÛÎË´Àö¡=õP;ÒódFaA‡]kwsLUíCÑÙD;§ÊÉ5ƒ•Kžõ•†Ir] ~V NMþÏCÚ„ýë+º¯Ãƒý]¿{vH˜²bPi]Ði#üì³HDô4Ë=è…¥†G±_$ˆMP.{¢û„¹ðþ]æR͹ÄþVJn]•¾‹,Œe0¢Lß9$KrC½Òó›õ’ý4í|zÚÙ9¥½••"ŠX­/=ÉbðM‚|@Ag@çêð™éÑ-Ûð~oPˆûpÛ@bòµ²œ†«ëîK”À'æé³ÀœÏÀx}ˆd¼GþVvþC'ýs\m°¥fÍ9Kô4I¿læoÙL­ßzð✂J%EI“¾Ï‰:yeNšÕ<>ϳ–;ÕÄ’Ž[ö$áwiµðmչ ƒW1¨Ý $Ld5Ôú— Ÿ¥Å½bÓ©íßJ—xuüJxD(Q¦`¥ª8-ID'BÞÖµw‘¡GìiGá¹p¸éb|ÄkYÞÃ7S 1ˆ–Tš‘ .[Ÿ$-ë=û ožyÜÀËÛÐV±X¡®QŽÒ’ÆŠEº×TsMCN:¯£èÐve–
+úbÄÎþ/˜†ÄÄÊöOù¹ÿ†À¶¦ÿûK£þŠœMNYW^S—é¿»[ÿÒTy™' w;0àÿ¸ÑV„šþçá¸8Ô àÉ°pðòø¸Ø|¼@ïÿÆã_4ÀžAN7€>;+;;ðòþÇïŸ'ᑲ5šþ™u'­é˘ý§àlâìàðÒÝ¿6ÿ%éœÿx0Ø l‚¶85 ²LIOuª!È“ÔïíÂÛ×käùUA»|S>mð—|¨fm˜xjuŸýi÷¸#ϸ;ÔýÆš®+ |œKêMÅГ‡½JÛÎË´Àö¡=õP;ÒódFaA‡]kwsLUíCÑÙD;§ÊÉ5ƒ•Kžõ•†Ir] ~V NMþÏCÚ„ýë+º¯Ãƒý]¿{vH˜²bPi]Ði#üì³HDô4Ë=è…¥†G±_$ˆMP.{¢û„¹ðþ]æR͹ÄþVJn]•¾‹,Œe0¢Lß9$KrC½Òó›õ’ý4í|zÚÙ9¥½••"ŠX­/=ÉbðM‚|@Ag@çêð™éÑ-Ûð~oPˆûpÛ@bòµ²œ†«ëîK”À'æé³ÀœÏÀx}ˆd¼GþVvþC'ýs\m°¥fÍ9Kô4I¿læoÙL­ßzð✂J%EI“¾Ï‰:yeNšÕ<>ϳ–;ÕÄ’Ž[ö$áwiµðmչ ƒW1¨Ý $Ld5Ôú— Ÿ¥Å½bÓ©íßJ—xuüJxD(Q¦`¥ª8-ID'BÞÖµw‘¡GìiGá¹p¸éb|ÄkYÞÃ7S 1ˆ–Tš‘ .[Ÿ$-ë=û ožyÜÀËÛÐV±X¡®QŽÒ’ÆŠEº×TsMCN:¯£èÐve–
ÿØ×@”U:W*­6=F>ŽHv ;¹ÓòRUK \µþ$y¶_beXO>j®’Zݲ<ýÑã›0Œž‘Ñë9¾‰¶ö/UŠzŸ –¿72?¿y¸=Á_RJò¦+z˜ú¥Iaã_†J8²ˆ¥àØѤњ%`G¶ï¹¶›âxHt —: ¥,¬ä“~2 üÒ€7¤64ú5¢&¦¬?p3–¨ËP¥¬T12·íu™“È~·«mÇxŸ ´`?tƒ~èÎï{k–:šQN—ÌßZ%´’»¨²qª„÷-.—çnª—‘àm| 'ùR­PŠ­ë,WoÕOýL° 
ï`~óêå=Y2þÀ¸$R÷Òþ¼Sòñý*+ÿ0¥ß9¢ç<9Ã[|ÇCJÜ…šP{¼úÜ~ûÙ®H9êhèè‚»NîÝ*7®HØ¥/jSk­H–z´ ¶–ú‚|LxGï‰n–T”DÊËÏÖY¢º>$À a°Ÿ’Ü?åž
7v2Åh·dy¡¶hð&Jܾ“Ú iùÙ34h+k«ù ý”µÂ;™­&æÕ9?[ AD•Z’ÔŠF‡_í¾QC廯}êw€Ë.ñPQØ t•É»Å¨o}åBjF6ÅhœÌ c‘Ò& `Ìä6ÔÛÅØx Å!CzH•º{”ƒl*íí%2®y®k AÝ÷‡z‰‡*5µMb+$3%ÆŽU+”_ðì}QŸ(Ԇس»s&!ÒiÏcIïlbRìb_ÜÛ”O„ üú
@@ -13719,35 +13821,35 @@ Pó,h‰*Ë!A–üF×âJ ¹/D“—
Ð+_?üÐ_MC}c§¡‚)vŸtéuênÉAקQ]1V/' ‹‡g^Œƒ¹¬CNöTcˆÐós»R@Êäbë#έ¯ñ–2,ÂttæFùrx‚9¦iœþø aÅÌ.|«fíqjëT¢A"… ’U2GÜÑÎM!͇R…Ç6Öì->žÁ¼ì`¨äY“ Ûò[ÃÏùÞiæž8¦¢«Ð‘lïÛ D™ñ÷Iøáëå÷œ%f3²
Á‚ºùëI·ÀF»šamlÉ 7itœsÇ2? +ÜSGï˵ؓê²M½ï[! Ù_? ,#)cŽïQz0iwbÍAŠÂHÙ­ïÏ«‰ä ¦ÜM ²Zp¯&a+ ËÙõVfäÀÆ×ÛÆ6=‰1ÊÎð3kË’éÒÖ13©Oå»8“¨$~[bY$¦T¡\ÇoÉã¿{£R „L÷~õt¬g+­í;'N}þöN¿¤MýX$|è‘Åì¡ ÑŒP-<â[U¿óƒ+Uýö¨GžAA
C×ìÖ›P6üM˜rzÞ §®-.æB[&í=pí°*^‡`G$1¨9åiÙ¢\ÑÞì“)¾ ­Ã‡¬¥¹l$Éhœ"ɼðV/—aJ…pbÓ²éö™4Ъ˂y9÷G2,¦+`+µ…mZ@Z.Mæ»qç•Ÿqäݯ92¯›Šà1Íc/šë
-_Ö˜…ßó:œ.Rk+í3ÒíF¢×‘|uÎûGÚQç'ÑÐ~>1ιtÂS–®Pº±WiSHA«ëŒîêËß“a¨ê» ÙÎâF³~â÷J¥.™\ˆñ¢9ßëó7¶¿àà™?—¡YîºF0îÓfŸmbÑQR³J^8|? éÀÒS¦xP¡кpƒ”ª®Û35Ø\Jr¤¨aÒ]É—Z½¶˜À@D’Þ(þm×Ë)ü-ÖUä;Kà´yFäDýS}_çê «œ
+_Ö˜…ßó:œ.Rk+í3ÒíF¢×‘|uÎûGÚQç'ÑÐ~>1ιtÂS–®Pº±WiSHA«ëŒîêËß“a¨ê» ÙÎâF³~â÷J¥.™\ˆñ¢9ßëó7¶¿àà™?—¡YîºF0îÓfŸmbÑQR³J^8|? éÀÒS¦xP¡кpƒ”ª®Û35Ø\Jr¤¨aÒ]É—Z½¶˜À@D’Þ(þm×Ë)ü-ÖUä;Kà´yFäDýS}_çê «œ
endobj
-1321 0 obj <<
+1326 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 35
/LastChar 122
-/Widths 2745 0 R
-/BaseFont /FUHBTD+NimbusMonL-BoldObli
-/FontDescriptor 1319 0 R
+/Widths 2770 0 R
+/BaseFont /IOYJUY+NimbusMonL-BoldObli
+/FontDescriptor 1324 0 R
>> endobj
-1319 0 obj <<
+1324 0 obj <<
/Ascent 624
/CapHeight 552
/Descent -126
-/FontName /FUHBTD+NimbusMonL-BoldObli
+/FontName /IOYJUY+NimbusMonL-BoldObli
/ItalicAngle -12
/StemV 103
/XHeight 439
/FontBBox [-61 -278 840 871]
/Flags 4
/CharSet (/numbersign/hyphen/period/slash/A/C/D/I/L/P/R/T/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 1320 0 R
+/FontFile 1325 0 R
>> endobj
-2745 0 obj
+2770 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 0 0 0 0 600 0 0 600 0 0 0 600 0 600 0 600 0 0 0 0 0 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 ]
endobj
-1312 0 obj <<
+1317 0 obj <<
/Length1 1630
/Length2 11374
/Length3 532
@@ -13755,74 +13857,90 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚíveTœÝ’.Á5¸[Ü5xpw î4Ð8Mã ¸»w·àA‚»{p÷àË÷™9³Î_3óë®Ûku¯w×SõTÕ~jï·©)TÔ™EÍLRöfv6~€ÈÎÔÅYÑÁ^Y hé¢lj ¼‘©©ÅÁ@ÈÁ^ÂähÍ@3
-`abû¶gÛ5íÍ`[=ðMÛ¿·õ-ˆí_0 +™ý_"|ü´7ÿ×òßäú»xV9e5Æÿê†ýÛSåm Ž@À¿¥ÑRt0ÿÅ_<bbî
-c܆®Ý%î‰Ïæ6Á²8“zH
-ÄóO-ËQµÓÔ¸âþÒžå!ÏS”Ô¡¶Xdø;Ó·-@ô:¼Ú³o‹:Ç‹Äç¢Ñ–ç€Qdw¼TQ²ôQø#ŒOÊå­eüß™ п_Ò_,Ë ýmÛqÛ¥ ~OøÄòª.ã<ûÀGì.žtƒË-j«9Ú~„¡Ý„ŸVµVë´7?ŽúÈ"ö öÖµ<j³PÂl‹[°&;øö}Û|‘)_sÅSž‹Û)n£ìÖ%{&®«jý(ÝðM¢®âÕä¬Ó.Mùsð¿J¶¬{JP‰´•f*0o*˜g za€·âfª“²wVœÝ¦¨yyéoêʇ°°1DQÌ‚âäj4©\/Ô¾¶­‡Õvyp
-Ó“¤îŠ¥ù¦ÖiQÜÒïXôĶÛ Æ`¾ˆÂ*Ú­ «sˆ^/#Íc3‰àFœ¾Û;ü¢©üî˜)J¨š68®¶Çc¥4 ¿}W¯u±0wÝ‹„=Á}ŠFK~»áý~¯/À>‚Ð’y7ö§‰ÄZÈÔ‘“oÖ©Z÷ã•»÷ä2¥Q»bpµ,‚ÈƳ¯tÎõ;u¡“Y]†ì`Æí'Ÿ9oR§•>ŠsÙűMóbñOAòøÍvA«ƒ¸«ìÝXš…XúE‚f„ëµ1™I•;é{ºÁßÖˆbž ÞuΔݳlj‡\š¥"A|8 ÃçÕÅ\°çücæ¶ÄYï°s»ãŸxSì| Œ¿I6ŠO8*ãwô<FÙD)l•kÐ3S®ˆ.ésÛ$ùÁ QC%÷º!ÕR^9HÈ©Ìì¼#Eú”=ìz¤ß×¼Ë?uØs„ܽl²‚þ>»æ<WSÖï—
-a9G]ñSfýl¶p·¨ß·±Í×Rg´p0êåŠåéÌüØë
->fÜßóè´ÕÚFMžµ¿k£¬¾ƒÆ3•[ËjéÌo·jVÆÂXp@T?µù,Ÿâ6îÔŽô>u¯k œ“7²1+eÂÌÂu—³êŽ{°Âq¦Õ&‡ìÂÝ–Íi ŽÔ|u.¹ ëÃ2M¶Æ³¡Ü5Ug9®ââýÊ Ñ;–=.Z¾yP!
-ìâž7'ñº?BÙÔÂæüŠ/æÈüWA缜Í!êªýQ¨R·¸[Ÿ íâ½ÉlE§ßÖ騟/Û\V=òÛr3:uÍ;0:v+ez½DÇT´1ö+ôx¶R³(ý|òš ‰Kþ½}÷kž÷3–÷Ûùag™gÙ·|mè3wXÅ)o”¾ä3\Í‚Zå ¥øLÌ¿º\„£8Ëú"§H¯ÉÝл‹ñbÿTjyµ#}lÁuÛÖñßêLÑ=猴ÒÑ‹×;×î5Xiy·çFkK±q”ÌÂ"…1ò¾Ršg劰Éÿ´
-ŒÞ`aO¦÷m&ë˜Î`Üï@$27CÃÎn=Ì3Z‘ŠVÉŸjÊ-ŒÀuÿFìf2ÍŠÍ49öûEËG*wÑš QÄÀl˜©©œ— /> ÒOÌf{ðûGˆ¢¹3ÆYã 4•yxïs ç‡è4xºÅ[b5¨)Ø¥RÊätCsòé̯LgoâÔôI»é$¡0ýˆðL+8h54;¼€HôØÍ×á;°F‚ƒ 1¥ï³™¢fF¥¢Æ€C&Å¥ ÚÈ=zƒ™XŸ­çù½îbpjçÅuîÄŽ.‹BÏ~+²Šì Î1´­Ç‘®å“_š4\ ±Q‘ÀÎD»
-WÍ›}gÀ5<û¡®gQþ^ãD‘×;"¸Q×#â<³ìZŠñb+„Ûc!Qzù{öÊ-Ó<|ÈÇ:/ùcËýþñq9Fãý Ñƒ«±‡4áç!̯YË©ö¿ð®T¨hÚj…»£Õ&|×’>§<Ê×?1†Ž¾º[™#Í> äe=Û'‡ÂÁ@Ð$™–kS§"ÃGšBß[–ŽøÀ†ºQ!
-·ñZÜDFãÒà$÷(¦Œ¾õ *»ç¶ùM(¥®X%[L;ýû—VäÌÏ»§-°Žm¶õc˜„»Už¨¢Þ‡B"üjÙ°¥ºÂ~×}ã:ªÔx:—i'å'˜Ï䯖4U>{TP¶{1žÛÊšì÷4!ô°j¬ +AÀÝ¥¾n{©ŒB®i)´bá¹{Ÿ#{«?MP\ØÀœŠ$èQn¤°CÞRƒ¤¢2{È öãcs
-ø›wÊV”¸+çÉþ'§Ã>B™¬M¿ßyëHI­Œ›I@¥O÷­·6ßð~óǶÇt¼Âl¼Nç+‰VU6õBwöÇ ‰Í[xÖ@å˜sÜÃR)ùsß±/)Üá;öíŽÑtßmÛa…-Î2B&ôn6´N„.†Zæ‚0
-u Èvg…Ë:4ú%#£™Í aŽu‹M=IÇ{Èh¨ÏKGfó¿EG#W° ¢ÒFü+Ö¬@ÚdP ‘ƒüóéRÆ° ¼£¢m‡5<G—V «ÊNÒUóDCyž‚í-ùÛO Ís @©ù /Åã%¾~,hçh÷Àsƒœù ¸¹„ó«>Ø¥%¨µñžˆìm1´ 'þL0e(~ /J¡@Io‹l?µÁn› GhŠ¹ŒózøWha
-·(úíVÞØVmι™6ûì²Xœ•¨.—çÛ7Wxá’«Á;ƒ ø0¿ÿ‘±Üx"}õwS‡†û‚õAÝ¡È°S‰°îFLHllý“Tºœí›‘!§­øD‚ïyšoôŒ}ÒßÛwG¸û9ª„ ç°þµå±½´4ø¶+¯¯»â"yiSj¨àëA\Û¯Ì+–pB
-}‹Íî6åñ½B
-ZieîX$'£˜'³²nñ´2¯¶Å,³›!•Ùï“¿Èé´)ÒDF[ˆ¶¥ÖÖöŠ2Y|øÈ°µÀ’AÕ\ö×eEp®¸e£©õ”p%&IìT~e“Úý@ÓB扟%ü
-&eêé±›fŠ“~^ÄyûYµ>Ɖ£œ•¯ ŠÔòçìðà鞆iZ<»‘‘{)6uÎ@€DäfœnÒÁÑÛWoù8¤ñćÚ¥ð½K¾›$`x)óÁ¸Eõº)ÕÅßÀY¦>”™{¦çÕÄøËÊVá qTY&§t-} +Î}Ø;R ö‘®ŽUÀÕ>°Ÿ¬ŒÛ[xLÎÉôêvÓ°ħ‰‰Kyز„¼¦p±ö
-‘'Ž5rr ä(+à–Yá ùFið«R:ËOçO¥7tPòuÍ¢‘>«€›Ƶ¿ųAüF¨¬H¬1<-X¶ÖßÅ&î×Üh’ÝÄ$‚hyô èP Ù¡óáy «Ò^† FÁápcžâ .ª];Å$‹ñ“|ðeD’1(ìz =‚꘳²‡nXMÔM•oòTÖvNì$ü!VBˆÌI Ï÷zgVjfŸPtI$mtÄYïÑf(´ãº~P ò®u6Wº"­.fëë3È{ Î'üw*îÒ¹D|n¿ÅÞŠYEÁ`l×I„¼4ð.’Ñ•ÞHVÂCÕÄ^N‘݃GcRÜ›BÉ»
-r¬MÈMwV[Ú®n¬õ¡¨h؉¤äsT‰ß¨Ü-p
-=À—|*ó®I·³S•Þ³u?º/W&?g9¿— ŸYÔ ÿ2ÑÒ9Æâ"Rüôðó²aךâf}Ïñ•òʶη<Àõh7‘¿†y¥c¸ˆkל¸œkU¹|‘;ÍXcYPÛRˆ®:í£8pK°a©¡¬z¢f@k@ùUàÇO÷WNúÖpœÅH©\®‡å²ï€è$h¿8n>«Ìê
-¥>ÞÐOB9QBg”íå3º¥É}¡gпK D4BêÐÙEnü ‰M
-¾Ý¿µe±º”Ú
-£¯ÂQžâ¬%-U¹Z,Icè%ÛvõA½%ÒÒ¨Ãô zÆm4XØ]‹šÑÝ>êî$ÛUê¾ÆAp"=ØÂBÔbé®ÿ Ÿi·B;½dÓÒÁ8áP&Ž>¢7ÂÀ¼ï§Ð:ãçv|êHYHk)˜Ç)”šúŒ¥K²*ÁÍÕ‡F"- ~7Cr‚£*d3Aÿ®Àz4` ú­¤½þy2çâ+Aîs°%
-I%Ï'擤Æ6YB¶ÕÏŸM¬zÉX•}jMþ¸u‡I ž!µmÞ’æO϶NšÑ
-D™( ‡åZ2î/¤=¸rr×ÎÙ?_ ¥í¥Ž¸ã}çð¶é»á_Q2°éæ 2ôA²éW¬ ègP²Ý{Š7 ¨}vm`^09Œv¨Yá0rúE(U“—…­2¬6D’ôgX!à¥FHpø|[®ä®9@›u)¸úݽ5‹¤êÚ½Ä:7ɀݟܱ‰”ÖïÖ-›P ‰îì1žµ>+DA-|Özf ZÁÏD ‰•”Tt9$˜æÍÓË⹨>¥eîPj$åvå«,C7ZEFYT×?HÐ2løÆ«Ÿâ3iÓ»õfœ®v"eœÖŠbPÆiköY©+ iÉ&̧µD\®0ÚEh¡ zDHH©š"K¼—à[aÌ“É·˜ÛZ¥ 4QÒÆh礔¿ûÊ3t¹7¦Ë¿) Æ連ø2›‚uØ€›¿·käZÒjŒö1{ZÏ¢!—~àXÒ)*úxÍ€_âÉ>ÈV—®ñ¤¦Ú®¦¤_pIä…ÌK’‰pviª6Ñæ+„zÍ‹ÉÉ ÆÑ]T°.oçO„Ëú$Hç‚esGòa bOöì³óuÒÑF™þç÷ëŒ_ЦÛH<.ÆÚjU~ ¦é^?bopn"íþ4|¸GB»ÿÆ-Ó9*ßgþ³†þ±R°öæ9€uÓb³Ö„*ƒÊªùè7CÉ.ÂóÚÌb¦‚’âý\¾ù77ÚLÀÊzŠÝ@¦ÞÏÞÒ{ÃéÍBœÒȧ9ükâþ/L,ó
-ÜÑWeCÕÚßÕ‘CYʬŠñPö«ÆzÄO,“>@·˜ rœ¦nTŸÝÃÊž|Ìõ{Ñr$°(AiØ¡œÑs¯’^L2 Å£÷¢½¸ÙÌ?^9æÂ<^í´Ÿ¸‹CVéåZ¥º,{ÉQŒl<–!ꘋkeê2Ýnß'£ð•¦ƶ…¥~AOpo øÑWCXÇ©ŸSD–ðuhKù¨¿dO8yš†3}_æ³<Þ±†;E’é‘_ÍÅ<¼Oá¬5}¯ì:áÄeT–¼úšftˆSd°gÄÈeN¦ß416Lñµå2S)%Ø3Wu½Òžuir* Iáú-*:)©.ªÌ÷ÇÞ‡ty'ÿîÙÒ–
-r•1µ]³¯gh'WÆZÇ
-f凨<‹+i•Ñï­õ#m¾‚¨=y 8æ'+)üw­+ÉŠdt©E½PJd˜Q">u.RLçàBåö¾Ï;†fX)#4º¼­²·ós¿ÚL3iŽú&O4q”@›íè¿ß„+ü§¸÷ë*G…+ùïGÑÛøN ¯)oêt°0È]‰rœy^ÅHYL†1ÑÝ”ïÑYQfI­1Uϵ+Öš¢
-»4f<½
-?âû0Ú
-4 ]ç‚è˜5Ü{ø%ìX nøä¢Áñ>mB²þ´Ÿ}©š`—Iû»VköëÏ·]ì-W݇ÔÜa©¿³Ööâ‚o9;ÉY¨ÏtuU ay¬Þk^*þ0®#&ßÃøÆpÚqƒÖe(K`Üž\D({ ÉBg1¬±–{¨z%ˆ§7ÈߘBË=”RÂùYv]Œü^R+µ|äý¦bxHËÐ"Z¶¼©¶P‚Ìó9×Ë5¸Vôu?âk%Ä<Ÿc
-ÚÕ!%M*ÁòêÿýKøUJûeÐ<²X9!f#ß1j¿.â^ÒèÒ£'5é!¢ˆüG·ý_cS?f[uÅRO±ÍóQ§n¨6ýºú”ˆ¿¾)ÈyÄÁhä#›Ë ñ¡óì{c“Þ9¼ÒºFd[ ¶ ‹~U£ãDž‹+êXrå
-{nînK0Ü1ÆZÔª¬üZð
-ÈÄì{šWúœàd…Hæ=£jd}¬qôI¦wýÂk—âÞË¢
-õ¥~DÄo:âz»a‘Œ¾^ —ÈmèHÔ™;¨Æš_ïQñ1®O±2ŽP~f,Äw¢®¶õ{`fšºâ&,f!bYaÃ×¾Ô‚»/™Täes,Žh1ØB
-p¯/ŽŒ¾U«®(ÍÙ‡R"ð`üÀ*¸´*Êe~^v7Z_¾=lפÙèî+H“ ·j‰òŠþ'ß¿ñ¢¨±‘<+ýLFÁ˜)k:ªÇŽYÑÚïqÛ¾÷nÑpxŒ‹¸
-%a-+”§ò`̵¯hÖg´/ƒWT û+cE}üE? DXâØ‹Á¥¾apüuˆ·~EP(—ŽéÂCÙó‹ÂN‚cÀ
-WÎã ù].òÅcÿ/¶Tä×a<ß„·Ø@uɧðä݅誰8%x0y]âúPM$’7›à ç3ê¤>äx'èßžšœ9›bGfÂr‡B…Ü:/Õòó‡Ò1£ÖÙüSL%rXƒñ­›;ÇX9è°e–—ç q¡“~Kºþ*ßU~0¬#þ¥ØÜÄ.$¨~ýÓ;j]ÞõP}©Ý¶KâÊ|¿·x¹Í=«#îO¸ƒSlZ{Ñ8?<ðz÷6xBI¦ª`GqzàK{kðóË ÂÒ~Ø늶Ȱ°ˆ.XÒ kõþæÏXý„ú\—lK@œW²}†»ÎÎùO‰‡Æ«\xç1)¯é™ðfûEäq!ÍhÛRëüµøð³Ü=⡪“fK<%vg—!ù:‹Í~ÍWM^÷~Q¯6MëO¨©+СØlËN°Ò˜£Þzï°¹ïé(R‡cú½HŸVhU¤‹?£çB¬s—Lò©;U™« 8És9¶o>N¢çx%q•–:V$S'ï.Ó¯¹aLg|`„`W¥0é'tg¿r~™=5hÅ}K•³Ž^ègk¾ß‘!Çù=)ÜÎuÝš73™7Øú€\x}玙οÉëƒ#V;ŽDcÔ-¯«L¸ð¯µý-öùÈ&Úmq¤Þ¯ %õ¡]úÇ õ’×|)Ný€Yÿ‚1ÓÉ3pxˆN¦¿Q¯<bo3NM/gE¦)ÂB»TIœFh“<ÙvŠ÷+8.‹aÓ#…§óf~É1# ø][¡þ¡wŸï$ŒžŽc§²OχÚ;œ|¹é#_yÌaV˨j¨í·=ÖVi‰ú"2o›‹óÍMvŠéš’?­àøBU&t{-F ¹1ÔšE®µ:Ðã­ã´9¡I&ÒHªèQ‚`ŠÙÔâŸo+ \A@¢V:Otjœ~X vEkÞÑÅI–‡s§eœ²Þ¦Qv.®a3»ò¥˜{>Zødí©z»&<øØÝ’Ú)¥°ë’™-
-…¸IøäÕñ8”Ge:©‹Îì¿#øè™a›|ŒñÞÌxBC·¸˜$ÎH\u}ol-1p)Ædeùé{ƒB2YááÒ«¢°ØÒY¢Yó*F»‰³?D-·—mÎÍ‘N|æŽ67‹>Q£aëý§8T:¸Ç¦Yð16¶yWÈžy³l1™7N:‘%Žno°^+sá‚j/”D*VbrP›Š_0y®š•2N½ÎšÖg'öÇâé­"©Ì»kœ`|ª‚›ÅÉd€bôp†d=¨®D˜=¤²|L(liÝô°I*J^ ÒŠâ¥áoÎÉÔÅô§ò&W-­ÿ˜}\¡ý'›SS —ˆš—"WM!\GˆÃ¸ä9ã`ñèrI=
-Ö¢¼~áãvGt°ŽþWú¹óËÄ,CÐälI­J!ãôË(ËܳÜkJ2üO²è‘ü_[0§=V!EcI-Éõú¸uõT¥Ü”J‰u¢§†üW}.m2­Tm5¹÷nlÿÃòÿ'ø‚ÀÌh†8Ø™€mÿ–¢Uendstream
+xÚíveTœÝ’.îwk‚».Á=¸Ó@ã4C€àîÜÝ‚; îîÁ݃C.ßwfæÌ:w~Í̯»n¯Õ½Þ]OÕSUû©½ß¦¡TQg3w0J;ØCX8XÙ
+°
+˜ƒœmM<Þr¿‘9‚A—áâ ²·ügÌ
+ÿ½AôÍ Ã[&æö¶
+›’ä-%€þ¿§2ëÿžÈÿ ÿ¯ü¿"ïÿLÜÕè?âÿéyþWji[[%»·øÇ%x»e
+€¿î[0௻ÆÉø…™Øl=þ‹ÀuÔþ£ØãûWXbò¶)bö–o°pp²²ÿà r–¹ÍU@3+€…‰íÛžým×´7‚mAöÀ7mÿÞÖ· vöÁ4¬@f6ö‰ðáÐÞü_Ë“ëïâÙ”µeud¤˜þ«öoO•·I€hx8ÿ–FKÑÁü?ñˆ‹;¸¼Xx8
+pº<ìŸwªª=#·q‘Îïü¨\óüp©oß}1Kùƒ×ŽY…]“tL›ppwK×7ôs ¿ë¾g‡„)+™FÐ6ÂÏ)‹DDW³Ü+Œi¦v—"º'>›ÇÛâLú!)Ì?u¶,GÕNSãŠçK{–w†</lQR‡Ú>R‘áïLk¼¶tB±ëðjϾ-š/RkÜ‹F[Þ&ÑÝñRE©Ò$‘°>)”·– ~g6Àü~I±,ƒô·mGÄnK–&ø=È«ºŒóîqZ¸yÓ .·h¬æèú‡t~Z ÖFX­ÓÝü8ê#؃qØ[×ò¨BÊB ³-nÁžìtLàß÷móE¡zÍ•Hy.Jl§¼²[–ê™hT¸®ªõ£r#0‰¼ŠW³N»4È!øv(Õ²î)I-ÚVš©À²©`ž!ˆä… ÞŠ›©NÊÞYqv›6¢á äc¸©+ÂÆÁ C5 Š“«Ñ¤^p½PûÚ¶@VÛåÁ%Â@šº+žæ›Z§EyË°cÑÛzl7ƒõ"n§h·‚¢Î)v½Œ<Ã,JðM"iúnïð‹¦2ô1sþ”p5]p\mÇþJ*haû:¯^ëbaþºg‚çŽâvÃû!ü^A:€c±%ónìO©µ°©#ÿœSµî‡+w+žÉe*£vÅàjYDÑLg_éë9wêB'³=º
+ 9À ;Û>s¸ÞdþN+3ü”粋c›æÅƒä ší‚(WñV9º±5 ±õ‹„̈Ökc2“*+vÒ÷tƒ¿­‘Ä
+<A½ë\)»g5x´K ÄÂøpLXÆÏ«?Š¹áÎÆÌmI² qr»ãŸøRì| Œ¿I5JL8*tô<FÙD)l•k0°P­ˆ-éóØ$ùÁ Ó@%÷º!×R]9HÈ©Ìì@“!aÎv=ÒïkÞ˜:ì9Bi‡Ù6YÁx—ˆÓ
+_=õÛ㻚cïY5{¼’õꀷ&A ÏõyWƒŠS´16£>ÇÔñbØÞ­¤”—éíW8¬oÃüáÍ}-ŸU¿1ÙèT´öÕ°—ìب–nïŠA3Y’Yù;ºY×YVð°T—¥•hΪÑòÏ› , ZÍȸåË+á$¦Œpº_PµŠ’´ sø™ÔÜzMÔ®¬)Ò#ÕýÚïAϳ‡²Dpý¼û¦ïûføFxêc%Ë´P`ñ·D?ìþfzU’˜,ÏdeÌx~·qdœº• °öûfOd<]j½$¨•nA3¦ž•À|sE늨õnÄŠ~IÍÉŠâèÀ2v΀R(zlLµ±³~ `AW¶.žïr 3ÒÀ¼Î­Ò'†ªlîE@ŠÓˆAެƔ.,k·M¸š€Úrª~µýѯUÁU4K1ÕMËâæ¨Å«Cly~>ËÒ¥Xi¢[Î秕sÖ?eÖÏf‹t‹ù}+Ð`tm sF£]®XžÎ̽¾§äw`Áû=AWÝ¡môÁäYû»6jÀ*4 ¾)¨ÜZTKo~»U³2ÆŠ ¢þ©}Ìß`ù|·q§v¤‡øш¸{]ñœ¢‘E)v>¨»œMw܃ ž'0­69dþ¶lNKxt¤æ«sÉm<~¶i²5¾ Õ®©:ëH7ßWˆÞ±ìqÑò̓
+ÙèyÑ·JæÛ$‹/1ŒÒÍ”“ôAB«*NÝ{)£Þþ^wê 3VJq¹}‰¨C½’»ëáY°ÿo†åæwFë]Jm¹ÜÆ:BFÂRR÷6;ÏûóÎjíÞÉØÃÊïeÒº›0µí„?nÐ+~vÐW§ÑåüÐIÇ1ƒ*Èd¦á~áTÑÖÆ2x?}ÑbZ=ô#¥Ó@´§,-x“lÊØW>ª«sq\/õ–CÑ`'WéIÿ•…‹ŸÙ‰9¶KÀw
+ì‚LæVÝæö ÿ¾2~Ò[’´ÊSqµo-ã]Áér¬Õ[PÊïaçîÛ×¢©´1̱O1±æ*•ŽaŒ.G!ŸRs¿Ú1ùêÄük„ƒ+|Ž$I~G½N§;´ëv†¯À!Qì{s¯û#”c@ 9lίØùbŽÜtÎÇÕ¢®Ú…&}‹·õÑÐ.Þ›ÜV”h*Ññ]1¼a™Žúù²ÍQÕ£€-“q×¼“c·BQ¦×KtLµÁñHS¿Bg[!M0«ÒÏ'¯ Ò¸äßÛw/±æq?#áø.qœv–y—}Ë'ч>ó„Uœ‘ñEéKý0óàÅÓ,¨UÎPŠ/ÀÂJð«ËE<Š³¬/rŠôz‘Ú ½»/öO¥‘wQ;ÒÇZ÷¸mÿ­ÎœÝsÎD'M¹x½síPƒ–w{n´¶GÅ"ò'R3ï+•yæQ®(»üO `üï|[óÞO¯?ù®U8®Éµ«>£I_<ää>R¾Û2‚„o:ö]¨¬_ ½<û`#¿`#¦å¥7ŒÊŠGGSX1í·£0Àä ñdÎqßf¶Žé Æ+ðDÖ)s34ììÖÊ0£SípÁ¥l‘þ©¶¡Ú ¬T÷oÄi&׬ØLóؘã¸_´|¤FtË¡ E
+̆ݘšÊyùðâÓÐ óÄb¶‡°„$–;ó'`œ-žP#P™—ï>—h~ˆ^ƒ·[¢%FQƒ†’C:¥ü@N7D('ŸÞüÊtöV!NMŸ¬›^
+ËßÄñ±‚“NC³Ã ˆÌàƒØ|°g$4¸SŠùø.›Å!jfT:j 8d²Q\º Ò£7˜‰mñÙzžÉë.·æ€h^¢QçNüè20±Ø(ôì·"›èÒc{
+ßO½#'¥‘ Â=ëj[$9Çñ 6nªÎ?;:ëý{Ëϲ^âˆ3³9ÅOºÆÙh­ZïÕ¿7nóå}*Gäc_‚“¢.½aW™¤EÃÒÒÔ¤Ÿ6…Ѥ¦ùdþŒ!ÐǶï„a„Ùy…8’Îc]âUó²ÊbÓ¬¿Š·Aüɳ­mk+Ì8Tû%M&ä…b®ÞƨÂmüıѸL
+£X8AáÞçÈÑãêO¶0§& z”)¬Á”·Ô ­¨Ì2H ûÆôØ€hãÌÉ·„Ù0*ß‘6Lü&ÐïtDKq™L- F½E+
+(³Ô•%^ÊL·™ ¤Æm =(Dp,Óm„þŒææà’©ci÷nÇÝÁBú_Þ‡¤NTêÕƒg1Ž±jÆy|§\§\n6–[¯Œç¬’µË‡‰—óœ¤_Hñ h,#;“³¬&w ˬïéÆ%ÉN˜÷Ó®sY<”:œ„2¹'¬*‚s‚׸k<5†¨„G"íhýó³‰êÅŒZúq¯¬·K‰H~srÅÑÃs ‰wì@ðÛ>Ä©â7;?ä}°sÐ9,ǯcA¿öÀƒuÙõµ¸°ÃHj®÷2Om- àV’^£ Õ†§™(Ãó•,Õœ#Ä\ûÁ¹ÌîàÀÐÇ ~%ýnç¥Hc
+$f#çe ” ¡ÅüÃ;_O2ÍŒ<XVŽúª¦šÂÚ¥, Ø\gzL—µÚW–èÎAƒ¨c– À’=¤à&vo ‡µiSüöYùãD`|ÖêŪé©N¤S阮–1w¤õA&ïlÚr?³ºwNáè")ð¼0á·œþ8fªÑÝábŠy½ Õ, ˆåò:E1ÑÛ8MõŽXÚsãQ¡
+ϵÉpªì©6ï”­¨ð0WΓ‡}/N(O‡}.„3Ù
+š~C{ëHK¯Œ›IB¥O÷­·6ßð}óǶÇt¼Ân¼Nç“(‰UU6õÂtöÇ ‹Ï[zÖ@å˜sÞÃQ+ùóÜq,)Ü8öíŽÑvßmÛa‡-Î2A&ôn6´N„/†Zæ‚0 u (vg…Ë:´ú%#£™ÍŒaŽu‹M=IÇ{(èhÏKGfó¿ÅF#W° ¢ÒFü+Ö­@ÚäPŒ‘ƒóéÒÆp |£ˆbm‡5¼G—V «ÊN2UóÄCyžBí-ùÛO ÍsŒ@éù /Åã÷%¾~¬èœçè÷Àsƒœù ¸¹„ó«>¸¥%¨µñžˆìmDqô ',Z0U(A /j¡@Io‹|?µÑn›WxŠ¥ŒëzøOxa
+·(úíVÞØVmε™6ûì²Xœ•¨.—çÛ7_xá’«Á;ƒ¨ƒ x?¿ÿ©Üx"}õwS‡†û‚0ÍAý¡È°S‰°îFBDblý“L¦œí›‘!¯­øDJàyšoôŒ}ÒßÛwG´û9ª„ï°þµå±½´4ø¶ƒ;¯¯»â"yiSz¨àÛA\Û¯Ì+Öp"JV}‹Íî6åñ½B
+l¡þö†þ¹Óë¨j#Ÿ"Î'«îôã1©éTTG÷Ä_+crÖZ¸]#*ãÜD!„\’2äË̓ý.Œuúá DÉYŸƒmÛl†›Kç‡ÿè^wQ˜Xö¼½œšNp0ðçÈ=O<IXƤ—ˆŒ‚ŠÚ¤ãÓëZ
+-‘~“úlYd,K¹ÕÒ¹–zÞíª%¶Cr§(—S¬ü”˜ZûEóça‰9õ Š’ƒ­!¶g¬ÄŸ*’¬æI÷œ"eÄác~ö‘#å˜û'*h¥•¹c“žŒ^`ÌʺÅ?Ð}2x=°(fÝ ©Ì~—üEN§M‘62ÚB¬-µ¶¶WŒÙâýÆ­
+gP<‘¿mšÕ¢ÐsäC>”ÄÆEd,¯¦hwäd½ §G׸áÿ)$UÛꜿn™µ†µÞt3ÜÞ*qœÊ­;©kCˆöq±€ ‹* íŽìØM3E”Y?/â¼ý¬ZóÄQÎÊ×UúŽPùsvøFðtOÃ4¾ÝÈȽ4»:W @2 r3N?éèhã«·|ÒxâGëŒRøƒÑ%ßM0<‚œù`ÜǪzÝŠœêjB`àü©>”…g¦çÕÄøËÊVá ITY&—L-C ;Î}Ø;R N
+rlM(MwV[Ú®nlõ¡hè8‰dsÔ‰ßh
+=À—|jóîI·³S•Þ³u?Tú/W&?g¹¾—‹œYÔ ü2ÑÒ9Ææ&VüøðZY¨kMq³¾çx‰Zye[ç[àz´›ØÀ_Ó¼Ò1\T˜­kÎ\νª\>ÄÁ“f¬±,¤m)L_öA¸%Ô°ÔPV=Q3 5 ü*øã§ûˆ+Ck8î‰â
+æÍ„LåIšŽ RbBý°éag¨vxwس«RÕ/ j³ý૱ …ªæ
+‘A©wô“RbM”ÐÆY£2g{ùŒniò\èôï’Ã
+õ´©mó–2Òx¶uÒŒV ÎDM8,×zŸqwØx!ãÁƒœã¸ x~ÈñùÂ
+§‘Ó/"éš¼,mìaµ!Ò¤?Ã
+ „/%°ÂBÃçÛr%wÍÚlKÁí4Ð÷Ö¬Rªk÷’_èUܤvòÄ&RYC¯[6¡ßÙc1>%:k}VˆƒZø­õÌ+"´‚/ž‰)+©¨ésH± ,›§—Ås P}J7Ê< ÔHËíÊWY‡n´ŠŒ²¨¯3:¢dØðW7>ÅgÒ¥wëÍ8]íD~rZ+ŠAF§«Ùg£©,¤#Ÿ0ŸÖu¹Âl#ú¡…>è!)­"dŠ"ùN’…)ïS¾ÅÜÖr(]  ¬’6f;ç •üÝWÞ¡£È½1•XM©X0n<å—Ù‚«Ã¼ü½X#×’VcôÙÓz ¹ ÇRNQÑÇkŠOŽù@°ºL' õ6p5%ý‚[2/d^Š\”«KSµ‰._!Ôk^\N^(Žþ¢‚my;"\îÀÐ'AP&,›;’
+
+•1µ]³¯gè'WÆZÇ
+få‡ï©=‹+é”1î­õ#m¾‚h<y¡8ç'ˆ*)ýw­+É‹>éÒˆy¡–È:° F|ì\¤œÎÁƒÊí}—)~ øRFdty[e+açç~µ™fÒõMžxâ(.#ÚÑ7¾ OäOqï×UÎ
+WŠßb·ñ˜^SÞ4é`»Õ8˼Š‘²ø'¦DwSþGgEØudµÆT=×jìXkÊt®›ÄAÔï0É噓SY­ï¡ƒíA%µêkÚd韮¢OÊviÍx{~Ä÷a¶hºÎÑ#²h¸÷*HÚ±
+ÜðËEƒã}Ú…eýé>ûR7Á-“õv­Öìמo»Ø[®º©¹ÃÑ8~g«íÅßr12uR°>ÐœéêªÀÀñZ=¼Ó¼Tüa\+NB±‡ùñ´ã½ËP–и=¹ˆPö@š…ÁjXc-÷PõJÏ`¿ÿ0…ž{$$­„û³ì§å”VjùÈ»MÅð–¡E´lySm¡$¹çs®—kp­:èë*AÄ×Jˆy>æ(
+:úÕ!m*áòêƒÀýKøUJûeÐ<ŠxVÿ16Z„€6Ò^ÒèÒ£' Ù!’¨ü·ý_cS?f[uÅSOqÌóѦnh~6ýºú˜ËN°¾)ÄuÄÉdì#›Ë¨ñ¾óì{c“Þ9¡¼ÒºFd[ Ž «AU£ãDž‹+'ÚXrå
+Ôñg*`Ø¡éO“d-½ðYwI{yoÔ€|ãéÒØ;÷ƒ»°§c1ßm‡o'·~ª-ä+.9“ŒÔ¦×öAÚÅRÉ3‡éªæævxyO†-ºƒ Jh&>.ŽY¿~NF<B/ß%ùS„€ãƒk+G ªÆ‹*1|ŸÞÑfB“bŠ™v¥¹°ó5S!W Lìíz~³3ä¾|6Ö‹ÞˆFÈ\ÿL0Ã’›¿g3eí43ï‚u“Q7¸–ã -X{èŠãé¤Ø€>c^M„Eû9O,œÿî#éò­¢í6
+Ó1Ý¡§úSßÄ—¬WÔ1XF‰×é*ø–’Ú )‘æh¥É•kd™²ɇÄÖƼsÎKK×Þ¿¯IPv–`Õ }»ˆH"áÌçÌÉ[_ýX vFô@.¨Gñþ(éƈΌ“IŒBE<7w‰¶%oŒ˜Ác-j‚UV~-‚€b«2Ò/6GC½ÜÏÕg¡X«ÎÛ5Ó}Ò Ž'¨;A«8úU•Ôæ‹‹\ªt4¶ã¯ŠÄ,³µz¯Áj5åhL±EJåÅ1‘AR_
+ĆÞ>dbõ=Í+}Nð
+²B"óQ7²=Ö8ú$3¸€~á·KóìeQ‚Dq÷#h¹Ç|Œ_/~MÁ„{|P1…úR?"ê7q½Ý°HÎP¯„Gì6H t¤AîÌÔcË/‰÷¨øƒקXG$?3â;QWÛú=03ÍCq«©¬°ákß
+7Åâ±ÿ[jŠë0Þo"‡[ì ºäSŠîÎB U8Ü|ؼ.D }¨&Ò©›Mp†óMRJH‚ÌoOM.ÎœMñ#3D¹CáB—jùùà ™˜Ñël)æ9ìÁøÖÍcì BN¸2ˉ€‹Ë‡ó…¸ÐI¿¥]•ï* ¿
+Wƒ‘~ŒRlnbT¿þéµ.ïz¨¾Ôî Û%ue¹ß[¼Üæ™Õ‘pA@ ÚÁ-6­½hœx½û <¡ô©ª`GqzàK{kðóË âò~ØÛŠŽ/È°°ˆ>XÊ {õþæÏXý„ú\—lk@œW²'C†»ÎÎùOɇƫ\çqi¯é—OáÍö‹ŸPÆ…5£ymK­ó{ÔâÃÏr÷H†ªNš-ñ•8œ]†äë,6û5 \5ùÜûżÚ4­?¢¥®À„â°.;ÁÉ`zëAãð,ÞÓS¦Çô?z‘=­Ð©ÈF'.Î…Xç.™äÓtª²TpQär9lß|˜ÄÈ'ôJâ.-u¬H¦IÞ]fXsÃœÎxÏÁ©JaÖNèÎ~åú 2{jÐIø–*g½0ÌÖ|¿#G‰ó{R¸ë¾5of$6o°õ¡¹ðùÎ3Ÿ“×G¬v‰Å¨[^W#šp\kû[4ìó“O´ÛâJ¿[N&îC¿ôꥨùRœú«þ)b¦“wàðƒ\¢^yÄÑfœ—^ΆB[„~©’8Ø:'u ²í”èWp\Ça@OçËü’cFHø»":·Bý}ï<ÿI=çNeŸžw&8ùrÓG¾ò˜¢–QÕPÛo{¬­Ò7ôEtÞ6÷››ì1ò5•@ZÁñ…ê§Ðyœ|ô%”ÆPkV!úÖê@{ôŽÓ愦O‘FÒE’L
+"2Òy¢ëPãôÃ+zóˆ>Nª<ìœ'-ã”í6ªsqµ‡Å•?Å”Ä{ôÑÂ'kOÕÛÝ0áÁÇî–ÌN)…C—âËlQ(ŒàMÂG¯ŽÇ¡<jÓH]tfÏøáÏ ÛäcÌwfÆ’xÅŤqFªëûøck‰K¡°>X +Ëß’É —^EÄ—ÎjÍš÷Ð0#8Lœý!j¹½ìsnŽô3wt¹Y Hˆ{[ï>Æ¡ÑÃ?6Í‚qpÌ»BöÌ›e‹É½qÓ‰-qu{ƒõZY
+T3ø $S±‘’ƒÚTü‚)rÕ¬”qëuÖ´>;q<O÷hIgÞýX àê8
+í?Ù\šjxÄ4|”¹Êè
+á:ÂœÆ%ÏÙ˜‹G—KꘈÔÌùm¥¢ºéLsk;xs¡C0ZØ®·›ë^M“uÞ/ Ϭ˜Ö„
+kì¨|ýñÜË„!¯‹ðn® |KâæÞþ¿êô­È^†}âI¢jŒ›eð÷.½¤â·J|ùN’°àaäúë²<f¼77Úð”ú«¬GÌÖן¢mÉÇn;= …¬ ùØ„õë>ù·¹¨~€Œ}Dº˜Rô¢#Ó*q¦ª$ôPgæIÍA´¶jGózf£ò»¯a…¸ÄèĨæxÙÙ1Œ¸®þ_ö˨Kíc$Ù¹eC ˆÔaq[Éáu»¯à¼Ì  jñÝòúèÎ@öQ¦²Û5ö÷ðby*æm:Ë¢õÌ]¿À< zsFkµÇ0ˆ&rê>åø\ ©Cè^{—¯‚'ïG··°† 9w­<q­ÿ’°!Ï<å+b^ —}Ët Ùo¾c‚ƒGÃÃPô=8Lm»¾
+
+¤S¹»ã}Ù+Qö’d¸Ov£²«éŒí!çZ€/†¨FGaâÒ<ýz:’–'‹ýÆ®
+ ™
+¿(,(p³ò[ƒ²äŠXù*5R–R™¯‡íD¹ƒÏH ’})ðøÁ½ÅzaÜ‚”Þ_ ¿$bT’“×FùŸ§îŽw&&î­ÉŸCâ-§…r–é°/%úéùH¹àŽ_ôÜaÜæ¬ô‹IWã%F»¬´G¸9ø¼dK²ÁýáƒùQMÉ”µƒ¦ I7U'àBc$n7KÚÚnTt%Öd)w)GÙ8©o½*ç3iÌhŒ¿BðšúdxIZ«w'ød9ï#A‰ü@ø. Çåçº[Œeêeø7¿%NMGŒË&òÖ{iû;ÕB…ñZÕ¡è9í”aÎfù¨eT«ºÓîë¨ðã°!«¥°‰oÄll'ôxs„߇=¯ «ìq­ŸVÑçp±­ŠœM—¦¤Ši‹øª<~ õ+/ÿõI}ö³s—ć ŒW•8d¥†,@ÌËöûñÂ{«q)©¤#ëŒ:é;l±UF©–Ý…0[„ƒ18äAÇ ßïÕqç)ØjP3Æ–§Ò*R«f¾Ð¾%1“‰x5\e^âù’<‚)‹fÎ׃,P=3\áÂg1qfÑkD¸4D•žó8úiÃ÷bdšHʾþÕÓœƒÐb½œ×kߟŽÔz,įáãŸ`†ÛMf·4H BsÊ›oÁïjŸp5nw¢2Üòب»)z‡-Ü–ÐÉ¿‹”+Þ+züTŠ-øΠ‰5g^úŠ\Š¯`÷Ž1Ö„¥;¨„­lðìw&¼
+rUêŸ=²ñ;Afþz®ªIÈ¿¬ñCëù‘:̾íp<ÌA0Áùâ‚©„‘ÙYQü3
+´lÓ)OݧOP¨|ª ”îSEzé*ÜF+¾ó)˜¢»"3Ò™m{鮪ð¿·?NüÜ÷Í€±B$mŒàpӺ퓊Ž¡\y!iºdì×Oäpl£u)$Ç4li­þ?&q}JÂ×ã­=ßh0‹‘¹ ɉ§…jM¢?ì^8Å%Ê /´CøÆž+ù©’†‡?ºÝ
+$íòºG–6tÓ™K
+¥í>;¨Üe™Át¨¹éþ¿Ãæ2ó‡gê[¨òf—wœ€úæϵ4œEyý‡íŽè`ý¯ sç—‰Y†¤ ÉÙ’Z/ÔB¦é—Q–¹g¹×Täe1"¾¶`M{¬BŠÆ’Z’ëõñê:+ê©5Jy¨”ëÄN ®ú\Ú>J¶R·ÕäÞ»5²ÿ?(ÿŸàÿ 3[  â`g¶Aù?²ô¢[endstream
endobj
-1313 0 obj <<
+1318 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 34
/LastChar 122
-/Widths 2746 0 R
-/BaseFont /PJOHLR+NimbusMonL-ReguObli
-/FontDescriptor 1311 0 R
+/Widths 2771 0 R
+/BaseFont /OXIYGE+NimbusMonL-ReguObli
+/FontDescriptor 1316 0 R
>> endobj
-1311 0 obj <<
+1316 0 obj <<
/Ascent 625
/CapHeight 557
/Descent -147
-/FontName /PJOHLR+NimbusMonL-ReguObli
+/FontName /OXIYGE+NimbusMonL-ReguObli
/ItalicAngle -12
/StemV 43
/XHeight 426
/FontBBox [-61 -237 774 811]
/Flags 4
/CharSet (/quotedbl/numbersign/parenleft/parenright/plus/hyphen/period/slash/zero/four/six/colon/equal/B/C/D/F/I/L/N/O/R/T/W/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 1312 0 R
+/FontFile 1317 0 R
>> endobj
-2746 0 obj
+2771 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 0 600 0 0 600 0 0 600 0 600 600 0 0 600 0 600 0 0 600 0 0 0 600 0 600 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ]
endobj
-1237 0 obj <<
+1242 0 obj <<
/Length1 1606
/Length2 17489
/Length3 532
@@ -13830,97 +13948,110 @@ endobj
/Filter /FlateDecode
>>
stream
-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±²·ø/ô
- ùÖý;îQL%H“ö¨‰OÕÈ¿÷èÅdiT¥ödºoAkÔ]]Kßx® …¹í5E9T0ò©+‡È@¹â
-î¦_SÜ—BçX€ã³ÏQ¯ã´àß8â§ZºÙ ùZo
-‡&ÚÖÔ(Dôá»)Æ÷å@I™6¿˜š"}P•F›L„‡9Js­ 7…Üì&‹¤Š>ÍW€µNU­*°
-à)âÚIü®æÿ50¹l9™•åõX;RW©°~…i6ï©Fð`Šä‰óÉ.ª9Õ0¶‹/d}ãÅ‘ñCÿJojyè&·¾ù4óèØD ïù”›mÎ"DIÕÑ?Ë~Å÷Ë<«ü H›õíCp.ãnDåˆØõñƒ-ý²T<ïgæeé{mD$‹^@f‚üêÄ ‹rV±|s0òz?˜hj0}´Žõý¬ä.C¼;£ÔG\Q'ΧöWw„Js,œŽ²N„<šø¯¬špå±14§ìŸç•£vèÁG&èܯè«É`c™Õ/ Ç"ü³¶Žj¦w¥»ŸéÆÅ¿
-bAw<Bj—`Í}g$±Û áy1º…uÇŒôyUL^`¤zjvø~Õaóìßbà [[¦Öª&FîR­n …mò£\•Í¶<:È^î$G„Žpš˜“{¬ 9ÂÇÜPs+R–!iÔ ÇD2¶±g Ì<-|åÎ^$ƒÚ ʈôBTúó"$ý¥|G£w‘½³2꺛wBŸ|ulu9À_ûêÒ¾}±û+Ðv^„e×ìèÅ'3£ú¹+¨yû¹gé?‹Fó«ÎÂeì 
-//MÄ¡÷,×ùü­¢3Š{²Â”°`Ë|PNUg ÆÃòB¼2¥âjÒ.í§n»_qG߯º¬
-†uè5Îú{ß´õÓþÀŽÎ"øÊlý‘_A–AË°t~Ì1í+ýFfôuÓkÇyv"ágjLŠ‚<ÛÜ)8_•6,ÃmvRƒÌ#wÜN$G”߶‰º¢Y€G%û~ï
-Ây0L‚J¬Š¥7-¹*nf •¥ÕŠAü07ã¢AI
-B/°ƒ¨[?ÿøw¸ŒH˜¿yfל$¨¥k"ý&ŸÎ-øÛúðÇ¥€Š¾”ïh¼E°BÒ<ñ⺷Ê÷5ˆé×Nèü;7; k³×Š@•? $v[Dð«Üª-Yæ`m̱¨â@xBÞ‹àd4s¨ PÙ©—þ¸
-gœXU~á°zŸ}Ã.2{+¤c¿§%øì£mø©ŒRF{Cå0ý)Øò]öÛõ³‡¸A:àöxPŠN@0ÚÝ-5Bt›8ž ql½Îz®’岘Ÿå£ÿ‚o¹­¸¼/õŸ€Qò
-Ñë¤ê!høC®qHEltͬ‡’ºvTŒlX§&Yåªþý&vJûÝì[Ž?e»úÆ ¿3 Ó•÷i·kÑÛ5¼Å[äv·š6ÞPƒ”¨N'¨1‘ã¥Îp”oY‡ìÂÅ=‚]v"h¶0û؉DÀ< Xз1‚ ̪nß&´ÁoQ©¶·fO8›8F™dwäÑË⪪zžH[‡µ¼i€´fêäoþZ‘ãó¾§U/æ2¨µ¥"&`$ìKbxo^s¥tàï6;v1Å<ÄY'¾½}8`ÒS¿¿—yÝp.Qr–´I|œœó”>%B‹^Àߎ„ói`oGÜßÜ-ÔÓnêäûýúQm­‡Cïa¸(ðtäOéÀ½ÆlµÚ{ÀbçßìEh!&…² ob«'˜Ìl÷e ìý£´ÈVÛ¾ÑÂ\.ïÌî)@(öC…\aæAØpÂÝÇÈ
-›ê¾“}ËE@…öW‡q¿Y™âþâ^°g­ÝJh+ öaM2ÐÎÓÈdN'Á ñTw8ÞW>¯ àÚ„D×\ôÛÓÏ~W¨Kšâîm”Û`ÝtÛÌ1ç* º×™ŽèÂôwÌßR¦5%K<›ô
-]à3Ek’½²ÖÞPÚ Ÿâ Cxº¬Ÿ¡­¾éÉ5¦¸ëú¥qÛ»oH Äs¿ÿ´x¤ªÝ):¹o íô†fBYÞ‚ÅðO}1E͹(Þ6XÌèùoök¿=ºoÚyvOÐf¡ö”æÜZ7zwÓ!ê"Ë;Êrú.°Gy,®êƒŸ$=°2‚ãíoŽÅª>Èlɶã”Ý.õ^‹"_•±T’±©° Ñ÷åµ…Kœ
-³ü¬£ÿü-€Ñ²ô ÉUÄ„ÓóÔ¹$_¢Ñ|íÇJÍ¥£Ç­?)çGšè“Vü1Ïœç¶pc.%cs6Jõ3¯ E·.pø6®õ›ÚKî••î¡›«þÃ3QÇ{rÉÒ"q-¨q<˜jºFaWxêæÝA¼ÙW†-*‡hÃë ÍÒš$ýyBú|¬”äÒùnß+ç%%U˜ì»–]ï ·On^4:â¼&õ²%+<-’[(¬°pÑ0·ÒLhcÎ[÷¥ëÜuÁ.yÀ £0ãȘ2t=—¸Ÿ%ypWR`é:Ë9pè?^ý³aS11‹Ñ*÷ÒdÇ#‚¹û¡ë.ü… ÎÕrf[c²)0i„Œà{¯‰1…i£‘6û¼E!´*áißý½Ûˆ [=*d†âÙÑ´?¶ˆâR¨…?JœÝ+•I˜¼£Ké^VöèS*ýs']Hš8GÊÀe¾AS—b¼OäY‚|SÜh+•\—Ë2?Ö ŠqgûÊ„DAîî ¦ÜcP!†Ô¨´…Ï ”µõÈz–‘ÃV=Q_ä“‘Š–ƒ»G”ÊlRÿ¨Ú掯m˜LxåÀnw<h^Á@Ê4׊ )±ÞKÄÎx¶²:ô-™ÉZE2pŸáÈ“b
-“¡Ò}“‚ýFSÞ·Ëi¹æz"4¢ª2Å_z>Hiö œÁ<ž³ê”œ*y•ˆ_À01®L4AmöÐÿŒ ²ÚÐh£Û/Íók3äÃ4ûppL
-ItH¼®1éòÆ™Ø0s?&»¹ªÈã%‹z˜WûøãÇ®Q>e!9Èwå~ƒK‹.Õ^LÐw$v¥¾w+§ÒGhl%ŽË¢ê¹ŽN \T¼ƒq€Î8À’¯¢|Ì/ãÊ›m–&b÷<ÿ`„ž›ZÇ6®[÷×- m¹ÍXY x+¢£°cCÖÂGO7[r¸tZ ¤"šÊ;†2lA¢6%¤¥¶É4©Ir®ô†L2€Ï{d™õ®4ê°-%À
-“™@
-W™r<uz¸¼W?Ô0ì}e4,9¡›COg©\Ý(b­è§}™˜†:é«Ùz–ïó!)aé¨J¯«­õþ
-ãI²´xTix _ÓHM‚L²ë\0Ý*‰þY ÒÏøшùãm3k'‹²užr3mN TA?‘´­®˜Q­§Z™ˆuá1­‘rJˆ]ãȈ›Ód»qÍÂÜñâìŠñï
-v ÉJêæEa’º9­ùª$í–Æumìð™BîeéBˆÚìA÷Õ¬¦Ï·„&äðÕN²®í…²-<ïƒ/êçz_$·'¬·`ði•¿ñ†_DkµéEøQœÆLêòÄ‹„t¸|Ðgí~_Ðõî,! |qq#²?gRËklÓ«€xBJ"¼|¦ƒGUp–+Fø½\BÐÔHÊ ÞâÀ˜½ä:M=ÐqžÞ˜Ê|;híóÑÀø™Ô‹®TWîºørÞ6ÜfæÑ—ÍQ©ÒÕO*õuÂ>Ðø®Žå\¯(æç£þÝЂèX÷¿ÙÞ4Ï:æ©…òªFf¥% ¢U{¤U_J×\äCv£?9˜póâ
-ê^nuÓ.´PŽL«7SµcãÕ ¿õ§£=Ó·PèúWo²uHÑ¢öÇîæ t†Ë
-cR)¨›?_i íÈ~'©:ðMÅlï@I$’¬œQ¤µŸPeb ‰jåAäpBhë3‰4bÑ$ô§›üž? ze3
-Ö Ýýj è㸋˜A†oR*ÊN™GŸÅ‡ŒO†:¾ö^¶¾U|ž
-à =ÄÄйß}“*iz§%‹ÐÚ}bÆ …S1Ø›S}íèƒ)DÌê›”–t½o¨VE€³!õ
-A%‰£":sò£^ÞÉûW=<Ûü*ôÁ…5{¥‚‡RÑ9ªl%•£HR“Þë)ßæØF¹UÁ1…‰‡Ë5­"–N0UK.ª¶IÒhfvD“<ouÒéîÀ¼òlm›àtÍfû_6ã©UƒÛ“]½ÕP±ikãÈß'÷Óm‡þÖ´ÌsúןÀÖ¶ðà÷åî>UG,6d ìubþÅÄ\É©â¦
-]5X"‰ +‰bÕüóVwµÙæýh ŸÖ¤«°ûà(€¹È…s||neÏÏuî !ÈyT*¡5çXEÃööÅòŽdT×ÐùÚú€v
-A’E¹èe,ôÇY+ͧsœ*5fðûWg¸u¾Ãˆxcî
-9²ª'f>Šh³ÀPá·âÀÞz¶ú÷º–kZ*tÚÉÉ3>ì0$²¼ÅB#cGŒ3êÒ‡±üÃ'䉄 •t†1j•˜Sbó£NæÓ‹z+WØð.]ªB$ßh Ê w}@{ÏøŸ_@Ѿײַü½¨™áË‘ÀÕBž+¾\CoB uF™¶"ñ0æBaí•ëZö.Û¤6(Aƹ}bº†É–Œâp!oúÌXly[ŽE#œ‡üQ³7f4؃²”Nñ«íõPšKDZle€'ö.ŠëµYõ{‚
-H¦/Ä ’di^ñ|­ïÇzÉ«Ùùqµuw‘Bê!TX\ðôß \‚jIÙ(Ó´†|'ùñ}Ðß¡KxúÁ¨¨üyps‡Qåý¤ž’^‘j+)n2úâoØòÚü ª/"yK[
-¸9¾”ƒí¥TÒ¬-m¿²ðúøB\(øsØzý¦—í=÷-iR|¹§~i°±z{ß;ùc°4s+]ˆCžp®1ö Û¼ø½GãØb\ø#…LðÈö @B6xž‘65~Rg;–Ø7ƒÀ%a?øg˜±Þd;„aeÌ4–-¨ÃÕ]*“rþã4%\¸#”$!ûQŸwjɱ)ë(Ê:zÇ­:±@É_ëDÑö…¬i;@cѯ`ÙÛÏMÚå[š‚Ÿ™AÄeÃ/'[«8ÈÌv·ö^Å ™™‡øY!p3DN"ñ$ÇŠj뻎måM#ÝÓZÍçTšÉLÏ Z+»­çÖšm
-¦%Êñ£æþÐÚ-–a×.—Ù“¿¾ß¢8
-]¾Ã˜)^‚ç87(¦Ð¯åó\Aׯ@=Ç\RÑ2,‡|zé,|BøðhÞ”aõ¯+;ªYÞZ˜Â:uƒnša›oRÈçg™ ­ÌI:"þ`¨p?s´?q¹€0BF¼ÈÆ’ãÌ%ó[Hꥷ £‰Ÿ˜BD×ìÍ­B¥ÜmÌåšÇ-NP¿È8Õ¸ë[wEOôFÍÙéùY2,˜ùëÂKÿHùÂXÑ<ýD¼Hl„½`ù¤¥h
-4„gÔmò‰~s¹ˆÂuˆö/&¤Pp× úz:Hnô0 ŸT"/7~
-Cx°UóÖ/xšï'¢4ÂÄ,ör
-šPsU/.cÄ쪓ø•Ü\à—jÄð{5.ž!ÿÇ)yÒÙ¦VbÞkƒ£lÙ oê¯ì¶pCÜy#›Š°´>fèoÁ&ülûEÍص6à"]ÌêwÇd8àLVo¼ìFè|ÿЧ²­SðjqËÛ9ºFGƒjÝÊ4Ç6•¶¹ùÎfíH„€;C®$Aq«^Э2Ò ºNí’¯K$‘àW]f±\äß1Ùe‘â›ÏŠW•úåÒhPú꣑BΉ†ž˜ù’êôÁKJœKf'åRr)°B$9zè$B;'§FUÄyÓ¬zÑm€]~T£nXMûÔ¤‚5Û"=8É­+áòœ˜`H»â¹+>ìÑZg}Ãk%e®QÇÚËÏŠT’¥2¥¹N, 61ÅÀÃ…îz7ì`ŠqxN˜ï%)„N,ºÏ#NA݃¥7{r…Èï¼ö»#~Áf±yrð›È¹$jìkð+…ã¯{0;'°¬&$q=
-[óè ÓAlZô‰‚pâœBš?I:ì•'çc@¨% ¬ _σCQf-"Ð".k›bïÌ{¤}ôÞ°›ÒÁîJæÈ÷7«<¤îÅžÒG Õ;|"›µèêòUGLxŸ~
-‚”y3®Ô“߃•mQ!™ÕÒ‹lý£ƒðtàaÜ™{­M¯ƒöjÖºâ[ø²×÷’oEøŒ£¢þ@‰2±xÐ×ÊÀpÔU{NÍ€M=*·Èyî ›7H²,ŒË€¯îR ŒtÉîûÑi.>®ÉW´.KÉÂÑzç³Eo­C®é® g¹øÎ÷g¶Ž›•iõW‡ó¦Zò^»úáúÛ~Ùg«l°yÊÕÅVôga¨·W gE‚ôsÑb Ã1–ŠÛ VYÜÂv[s«¢U'‹å¯ø)¾æàæe·ˆÄÃäù’ /ö9FÁEøÔ qÞE_˜÷°
-O-àÒ"6ú‰wÓé]u¦jtea&y_t“h7§:ò:«ß“#H唺óôÙCÃó«hHÓ…X^1)Óµìû²hz”…xnÞÛÐMÿ^ù×ï_•Ò^2l?žì|' qnZ$ÙÂíÓŠÎ!ÐHÿf¦×’s·ñRǺ×2{q‡ü£ó
-P >ËgÔLO«kš¯4ºÏ9r°‚XZ1dÜx¦—ö@Pl¡&d&>½Ó$w¬ÐÙ­ô• SNXáayè-pžb§¿ØO¢WŒ°n¦hÎíØ7=ÝÇ«(töåI»Tõä¨ÝéÈ1~V„{µ?'åâ¹d¬X ÛÎVÄð……ä)°‰U zÁϦÅüê·¿Ìy<ßdY&„þ N±2À:ÁÄ~ê;RÀ¢MÁèp Ð4ž { ‡ÂÙ†h™4*R“ÇÊR‚òcÒ—ëÂÝ è‰® &é%‚×UÕBb)_€níò6dé“|;Ê) \»QѾ·æ˜™çßøà7Õ‡¿]F!¬<ç4zù¬ ´5¹È#]±Vl•Àæ"Šæ¾OY¡÷iµaN±=J©£öp,ûj#ývl›(Y1‚ZP"›–…S´•ØòÞ%?Î56}aW¶ƒ°*Cyª4ꌋ‚a1ú)ŸS§Vgæë Êaüc' œ,‰åKåÌt³ -Ü
-‡¥@9ùµü-pwµ/Tü_¸x|6Æ>iþfaþ…^ë8Bê*ƒ~q”œ±³óUóÆ ž!D%^$9ZøÉ YÉ•Í’07ì Óú`iób ´ÉÍšsüJ²A$7†Eh«!Š/Ö¥ Áy¢r0ãMÊïÙé”Øø+‰wîiÙ‡ÆlÎPžAl´p%⟒iÜŒÚ™Í €>Qþ$Õzs˜¥Òøö7ˆW³.p[”¾>¯È7ÝH¹™ÂA”^ufµ?ØÔºZS¨”q/Ó’1È*pä®—ª©0e ïƒW.ÑX…ê¬ûšs§àÓ
-»)ÏmpÆÀŽÀïR±ß·zŒqÏQÀÞ1, Ç¿_دUûŠ³W #r KC¸
-2+ÃŒÞÃ÷X@[¦UðÏ**;>µm.ÀŒ
-™œçÜÇI$3èȸ¹±ó(]EK4ámc®h—; ˜¢ÿX>êüSÙì¯N@pÝtçfWí¥á¦u˦ÍmU!ç–Ü~º6ÔaŸ¦CÏÌÑ̲÷¨}6¨Û%› ‹ÞðÉþð
-bÁ½MOa ÁŽo½.'"=‰¥
-¥u'žå½°©ÄËêý3‰] d~ƒžwÅ‚e;Qsõ²¶Å¶³¥6pªßÐä´Ž$‰ûe
-$% Ò`
-é$=Ö[ýt×hY8ð2þ2ZZË]YY‘¬Ù9Œ’½Aœ< ¿àgBYó€{œ#³ˆ;‡Î[eP*^ÞÎß“ü»¥eQÑ·¾fåN>©2O8ho(±:Tþù
-:ð¬åØ“ØÑ«ŒØ=ßìâ…¯PÓ bzkÀW¶2Çoy“õ¯w MVÊ9ÿ€ic³Ï^x¤htÖM‡ŽD*ÖÓ©Ä›*g¾¾ïJÑóÓŠð´¨ èv—iy"Vo$€jõÒø¸ ˆÛ¸Åfºdh^-› ÕS€=±üÔ2pV/N{ç®æè$ÏsÐãQ­æÙ×Ý€-—çxø&´—åC°CÚ]ScC-qUm:«qá• e+Bݶ•±RùP¿z6™ÐG±Ÿÿ¸¤¦fÝï?EvžÎ`œPÆ_¨Ø`ú ê¶F‘ªõsá;w 8û|ÍZêØÅ÷tøóТ¨ß-”(h5âPœ7fTöÄLq?½IýVl†BI•!uÔºrºéy1î2R·±Qýiêmˆ½(€Vj9BmaÙ:wÄ™Éúɤ†ôNÌ'‰€9ªôŒròA”g}°”8dÒ=ÿëç\Ü ß²Ã&%ǤwÆvíµtÆÖ”ÆF1¦
-¨®–úMC*2Õ½un«SbžøSŒ¤O1è§Ö§M†CÝÁÄÙáeV߸'û·eõljµ5´c»>*r˜e;›7pGô§úU{3R„çºJÁ¼é8têEã&#²éØïܤÉ1¯ÕBø.Üç"J&Mk̽(ë~D#@rŒ•oDÈjÄÓmRo³.úï¤æe¥HÑ÷Ð5¯¾ €˜°eIÑ5zw‹šµ°ØÍE#þê= ÷ P=”êd:ôŠÃ­ßm®¤Qé®ÔmãXFŸÚ¯ƒäUôù¿›Üiéòç/Çi£6R¬Šcš¢{wóN£ƒ™2qƒÙI(¦ýº_Çí"¨Ë¹ç÷A»§3¨ò93”˜s3À~‹?¶±YÖÆh¸åsPgüÀD¢
-óv™fâùÐ<ÖH°€[›‚{f 4 '6Œq^ÿæïñõǃ¯<ÌO—‘"ýGr˜â}€ùé>ô'ßùõ ˉO[²O{Ž&¾3Ý´·òe×(Æâ}üýÇÒ01a2b{;ú­IÈÞiÞ-o“’{L¾%Q˜Â–[yøwbC4žHÆÂÌJÞÅë=íÊÌ0‚ýÇ6ÿÖ<~dn‰ÄE¬*ƒ'æN7G9š$Ò?IDZQ3.û3‹Qƒn1(•”ÚêÀª¾3<–:cûÕ(óï½G•=È·ß­_”½¾ºðf„ûç¼­ìF-Knv:]‰³ó‘·´ÇÑ¿Qìüº K9r?Lz^öbC š”gÇ39F8T‡äI7§žÌ‘t’v1âG¯°ö˜kìKö6ãád‰öÔR–S×qè¨0–÷«j m
-q¯IÁl<»x;+Œ-*:1mæ†/dè×F;U±$.²D®TQ©LÆ«¬¥•
-«LÒ†§±—îô–"½<tÀ忤۔^‘:È.M.ã˜UoŸíõ.o¢¢…‹OñB#©'(ùîv5°ê[So}2ê†n§Ñ_2}QíMvµÓÝ-ïùßú5–1²èàâ¦òCÙJ]ãêÇëUs~Ešâ ßgñté‹Š>—n5qð ïŸDM¦
-t€CžÅ¬ã¡øÒ‚§ŽfÑؘa Ù 1_~”Ï`#ÕO!iŒ<zAž¤Xkº&-…üùÉ~†CÃRb?Aªî®X+¯{Óo-€˜èߢùàPé½õ1—a©áE7ž°=͹
-ÆÁsº–5•U‘µ|¡áéó¡M ]¿ìŽEË3+.Åvô[[ÂÒ“•t8«oµ8µNçK„§ÞéÔY_™“•·f²~,I-d<¾ØÒø0k
-¹S Ÿ“¯¾Ïr$ˆ<"“½™ù¿ ®Å³mùéMïå…ðwMÃÃBØ××òÀD+hX·P¨ H·Ü¿<b—DÄnã|*Ö ™_Þôšaýà€pêT“•vŠŒÜHS"}è²ûFZ¸ïuàÖ¤{R9ìü6xÁ¡ÆC
-O/—ë<šÇ¾¨< é|­'½S·ï#«Òä¡´¸ý6 -Ý°ê‡.Î:6bþ0<AW‹êãäÌ~ñBv3‰ÖÑ)òRŽ&Îõ÷EÉQ—Œ†>O…û6îhÌ’éÖ5û%aÃ"I‚JCyC¯–¥RÏ`ßjª•ó§’eåD¯¬-LTÞáV’½Œ_Éd99ø@¢S9‰#KeÔúQ´M›Ã„Óµ<Êå}òp_Ô½™dY®<ötà ¥8Q÷Q'jÓf¸¨Ngj+:Ëa\T  ~ñê+ÍZŠùçM^ú;,‹´¥›IKZd'xŸ’å <ÅþðGC?^D/&!ÍM+dZ¬¢Þ£”òü–žMÌaqÚ·ƒáx‘}Fmp7“\›‚å·f´`¾ó¢Ë–Ý2i{aˆ}OUÔ%0é.tx÷}‰Es__²ˆþ:` 6>f̳u'*¸T¿hˆC
-2E*ÌmT„ðšÌËúÝÕ[³Ù
-b:Z%â[L‰üÇNô$á}ˆÐ%ng“ÈFâ^»ñ&Ggrwnùt{CÙ‚Óô&̵-Ì ƒe›«ežÛn´ˆ«Ò¯+hPÔm* õ˜E¡šàÔ£‡{¯)Ió ©Q²Vw×T¯€ÝC<À”;GÛĈK ãÎ38Ûd°fæGÍß¾7¼Éê›ÉJuv©–s%‹
-ý¹¶0¿ˆ¤¯ÎÒšëcž,cÜõ$0ýÄ j÷×%‹t霗ªäM"Rñá¯'“CÚ<8x¼Lš—Ä•<
-Œ %E§E¹¶Fdµ˜Íö{ù,P7aí?jž™É*[ÝÑŒ]j¨–õÒÉM /ôà®Yç+§9åšœS‰ãJå\8á¹i7#i
+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à
endobj
-1238 0 obj <<
+1243 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 34
/LastChar 125
-/Widths 2747 0 R
-/BaseFont /YEDMCL+NimbusMonL-Bold
-/FontDescriptor 1236 0 R
+/Widths 2772 0 R
+/BaseFont /ESYJPO+NimbusMonL-Bold
+/FontDescriptor 1241 0 R
>> endobj
-1236 0 obj <<
+1241 0 obj <<
/Ascent 624
/CapHeight 552
/Descent -126
-/FontName /YEDMCL+NimbusMonL-Bold
+/FontName /ESYJPO+NimbusMonL-Bold
/ItalicAngle 0
/StemV 101
/XHeight 439
/FontBBox [-43 -278 681 871]
/Flags 4
/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 1237 0 R
+/FontFile 1242 0 R
>> endobj
-2747 0 obj
+2772 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
-1217 0 obj <<
+1222 0 obj <<
/Length1 1612
/Length2 18760
/Length3 532
@@ -13929,116 +14060,121 @@ endobj
>>
stream
xÚ¬·ctåßÖ&›£’Û¶mWœT²cÛ¶m§bÛ¶]±*¶­[ÿsºûíqnß/}ß{Œßšxæ3ç3×c“)ªÐ ÛþŠÛÚ8Ñ1Ñ3räÍ­:;ÊÙÚÈÒ)Mlpdd"@C's[QC' 7@h ˜™L\\\pd
-ŠšRò
-üªm{|ÓÂv¸* Þk‚駹?ÛÜ—Ní>ö¥©F{1­(zR€—ùøÞ$T}¨›ä4 z%ˆégQžW‹²ÛZìŒê»“JÊzÅïPߧ;X`®ž¨üH\
-üÐIí|ŒRëc1:QA¾Õžž‘'?=R Ž õÜ@öíãÑäÄÂ’ñ¸@ ’GúÙçà h©Ux†SA¥7!àÝ´_}jt{êå‘‘â’FX˾*šæ¯Ù´Ë¾'A¦· ð&Ê9H¶îWþÀ¼žŸŽäJœæšËýZw&sÄâmŸ
-쿵$ œÉ„®'~
-j8+¼="HOló‰à|V”LôIŽÅ_y·1A‘T5dSoEy%|Dm3N†Á‡P¥{ú¼ÞÆÙˆ
-šÔ0ã#¢DËFwˆ(¤ ÙÓ§~¾f%ž©Y·˜"<Ø™Él¶‹Ç¹ÿúä2Ý©²HˆîKöÿ¢Õê’2|Cu˜Äï4‡Ùb
-dÇ$[ß4˜h3iï*#§†]Y·6_¡$l¥—\5Š´
-ÖƒGÒgÏt7êz \ÄØSÂèÑÝá Kz¬Å~»šF£¦s>y{­)ÕCóaÑýû²Ú7× Ý#ÓF¾o¯Q2v3äòÔן¼xÒ¾#x9s¬(ÃÇÊÒ÷öUX7Žqb‘ŠŒHö;QºÙö³ˆÊëí:²5p,sÍŠ˜VÚÜýXQý3j .jWô…¼¬[Ç2#oîä2’«²6¢£yé0O ÙÓËø8³)Kz¡l„ïzä^骟|‚gOH)àY îó¸¢e¾,Ùê›Ì,ðŒ‚þ²Êsźy&Ê⥄ñϤì*“@bKiyäúk@WÁ»¾/ÿë÷îÆ5 Ï##êáù@¹‡ŽRƒ;ÇË6ÈV|¶å9{<)¼ç QU+ó؉¬@"9ãå·¾9Ì-–†Æ¬»î³ØŽÈ³¼…„e†t Y.ž±áWËÔÀ;žš¹„PfÙWÐBNûŠX÷a|nÓd5ÕR©¡Ûo÷¿]fǧ_$¿å0[^ž‚IpƒVzrEÄsÜó^Á¤ÑÏJó„½Ë®Ïô—qŠž€3«Çþt¿ipôøɼïÆ/ÑøµÑ7d™§©M’°{<1†/ß{€"Ãg'”Dnnë«J0 VkÜ„},j6ä²6”ª ’nå'Ž`gâ[ö
-õ Ò””d³3þˆA*ú<ì;»ãçëȈÏÞr‘U¦Ξƒ ¸R64yEIÝ#ب[@“4ÂS»Ð¯«±÷è(pÖg/ä/ÄX»ÐÖ@­Å»b¾äcŠÅIî n¿¿„îçç3Ã"çU=^ó»\XºwV¯”¡ûB:Ï‘
-[—ÒØ$ ´zEø}:µ`s(éHô‚Å+X—³÷¶*5Â^ÁmøÆÊ$¶ïÉéGH
->êò:Û†ç-àñwN‰
-3“7º]Ç }"}xt¿-i7Ÿè¹½‚•
-üƉ¾ÏÑüІž@S&_#‰= ]Œ% ešPŠ†¼RŽ”oQÈJt{¸œñàº0ê8&ò½A"zXXª‰„^i$º@õÁh0škm}…“u­@îK/²OÊ\®zOóu#«"ùÈR.¯AÇ„ŠòÙôÐJ©4I°muþ`*?섨0­V2
-p‡÷/ó¢nD(0ÂD
-[Õ%:P+t¦*5Gil@ÐvmY‘ ‚œÁ‰~¦S JÖjn5£ë—ðys¬Ø0ÒÉð¹¼tOC»¯‰æ÷­™ÄiÐDX¯Ð
-Ù¿®;ªôŠD™r]9@èšÌˆ“ÖS|æ[Û, ('|f¤~}Ã!Ónëw¦©®n”Š\8ÖgK½Uz:'=*"Ô›%FWHO´­Ú³ÒèÒõÖDÐ_|ÌÎ\ê\Û
-qá‚ú a¾ýGŸºî“•e
-™âîÑ~)Ü“U‚™$¹ß“ñA=‡C“ü‘:³œW•Pv Æû§hbÖ¼ð»AàlmoÎUÁùË7…¹í \~3È
-ÂÏå±äÑs‰TNŸ +Ã<ˆ•9O¶¥fÈËDˆF§‹ÑÉöY廙l›¸·°6¿33ïáð\1ôb° a÷ Á{ó|³m«é*Ê›}½"é?Yš,µÔ¹‹ e§úPh‹ŽŸXEô¸º\©çÜ[ëgøV3C^à ±çSø¥$š ƒÛáÃ:“É»®’´ ð¾ˆïÅ^ƒÑÁ´‹¶ù´ë¬†)à!jáìKøGR~ŽCkCœùŒBΔí!$ÐdÕˆV`¨­\ ©n¿»Gó§æHðnê Úïvœ&ëÌŠ":—íÞÕ^"Æ;bÊz³N¾0UÅÕ–ûÖ1ÃÁ,Ծ㢫|7ßoV};º:Mý³éØc£ôÂà¤=™MhüCÔgaì‘7¨²Âˆ±b®5_¡·¸/ H:L« >r>Õ²"™y£6o„Aù±RQ ¼“_;N\¾L©µá%7¸àÀ‘¾g$µc [ž Ü80›=~Øü.¥T¿†ñ¥™^šW`/ž$8¢%S>ô”æý XÞ$'ñ.ά¡¥„2Éÿoƒã;At«!Äò‚´žÖ&\Åžã™dn£˜kjÓ¥³< -YRç˜oiæUìÚÆ‘ÌY Kî%?ê5TXrz¶ë[È/¨£=gU0‰Ü„€UShW´1ûºzcw™>ÔXê1§†S\»²3Š‘ÎBaʉ@,ŒëÂ?/ßu3u¤ð;…®MXÛ;Í0¾z“ƒE9–T¨ÕÖ[x,ÐÏsô1Æ÷Ìó–Q£×©VNcÌ…ËrÖs,¨ ³“eeµ‚l€N0j—;î
-??zÜ…¤Ÿ'PìE¶e6¹-Vƒú£ò>áÂPe†–½Í•Gèf5©{AuÔ¦JÑø^V¡ÌP
-:Ù‰4GÌCe*Z­:?ß"íÖŠS$`ë¾*~=QîFf†£¾d5 ?Užaú9v¢÷"“T!KÈ õð;[ùÛ
-ðþ¿$ vCÎÛš,Ù‡¦_¡ÌÐpvœY4Ô}ay=,”¸Ý
-׌’üïa,ZÆ¢O>c!Ö’&,î—AØ$l‹ˆ4`¿Ì™é„G ‘9h{±I K­àôáî·3ÂF£Ýйô±Peûw
- 8ø=ÇC¦ñÙ"ê®ÒL¨ì:0%»¸vÕ´HƒŒ?˜ø¾âù¢õ3™VF _?Òí)Û÷³qoTŒ²>ô£‚ùvî[±~á+Ó ñ¢øøhÂ…ª>çV©Ã{‰iÜÁɾ,ÓPhF°1J4‘÷Ò.’×l"ü<KÑ*ÊûY•eûÊ]XODÏ^,@+Ý4‘‚èbiœüÙÄÛù§ô¥‘mJ÷e g§÷H9×-7,z3’ '‘nKÜ‹)«ZÞu¯,Ú.«9¡²ûÚ3Ö¥$¯Ü šc
-9P “½¥Þ8€Fl‘…RÜ⎩r«'¶&ÍÖr+v¤Ì•³7_¾‡ßm/!ÚûÑ9òÌÀæAVÔ•I°ÃL"ö„O]á²Â!³™¦WD§w<·¿ `Ÿœõ[ï ¼¡°)!䛽'2Rj:PCøÄfűbü]–¬L¡ÅpÝ·mñª}pÜf†Ë ÑSYá‚ë^0Ñx‘Ê·€ýÍEÛÝöEô7N‚)ÕmÑŒªæÀ á7Š•U÷ↇK›—ß²9¯É,‡…ŒŸX¨<™¡ÌÅ…cÆ"ûgÚùÏ=j³é b«*"ìëLZaì{oFðÂ{¹†âMAÆ ßQƒ(°Á0ÖkøcÇǦŽtDþ<`N%ìy0ÉB´¨þ•PPˆ?Ĭ‰…šåxùVày»—.Jª“ÈÌë/vg`ž0zðõà~¬ |ôiÄlTªœXöA¥j–çW¸ӷôµœñø€l/^ôŠ^ÿ‘XÕH6«3d"Èî:¤úá_T`‚¨KÆ÷Xž³¬¦€­À›†ÚÐt¨bØ×82ºÙ‹°Y
-g–w¸Ò_ÍÑf4…,lÕF¯tçÜ äÊåšv…è0 ‚Z„•åIÝX®E˜w²b!ZhÙ”áÉTëkS¸¼SÉômз}P¼½ËiGýÖ´b Â/ÚãzNÓŸylQ]*+ ºÞ"†V!™s¾Ð›Íáüô¸Hм‘ôCÕ93Š+-q¤Õ01=*ã±ù¬uŸrÀeÂËÇ
-{ÃbFg#‚˜–lyù>.i¾™?#E¬4*872lºGÝ›ü”òóÕƒ¹óšAúa§¢+lµh ›¹cÿ[ÅU‚·_Q'ï–íMÇ7&U6æØ‹{tÍ3_ŸÔ_óerˆ$q¿E½â>$zr,¾.ÄBËëDÒ‰ú@û‡ÍDü”Ä­wPL+w1xàKDTjã_žKU÷‡Š¿÷ðN€úè±=©C; ]‹‰ØÑ\z©r¸úÕ~ÈK*¼Æf:²}䥳ý]°¤Bu›B<+2¦ø¥Ø×Iÿ§½²¿S©ôûü¨·zM­<ƒïˆn1•ùu›Ó÷^Vú#:.æ?¿yÙž®ïµá§ðƒ£|`q^ Iš©åâ:kÓãZFMd§Í‡ˆ¨><…÷Å4I)'16TØ͆Nß°`‹ð` [€r óz‡ÅÜl8±§ ’¹Ll[@Æh_ëí; Hk¢ÉjLÁf'‘Ö%З&så@µTýb[Ojöß 0®šm-Z‡µ<"ÂVç­wSp#H¸Í°ÿ,3L\g*±Ý¾–Ýçpg¡’^uІªH%a€ÃuQlàÎZK‡B£vHÕqe·lAW`¬úÑ–îxüFÁŽ¸“Õ7º¼Î IhB($y{³ÓËòMSô~¥ã # Z|Ѻ6Æ×c>ÁB’Y”ï‚*¤ÓµEkèið„ûܲ²ê6ë#¥ÊxNÛµqqŠ®k%:ЂÃÏý0{Â4Û¤8¿ŸJØTá‡ð~UâjçµDg,Vå|ÌÙ)îmÛ ÁÎ n$;ùâßÎWûË)6{ô2÷Å1§ßÿ2_Q.4ÓZxWG)ûqŠ·óGŠõ{RÜh¯ºÎW¦ãrzÞõÈÐKËDä]Üw¹Qöº¯G…\å# n—ë{aæÆŸð»Â¯U"¨k;`aEw}øŽ¦¢´Äætf µŒu &ßéæsÜk¶Qk¥pxNšnL’v’Ô(|)²FðcˆÇY£0c…‚Ø0cX{Ò}hƒ¸eÐúƒKŸ:†ohÁhdYÔ}îw¼Vj¾]½¹cû¦wní†PžQY@V)[7ôU5:Ò³ûÑ
-¢ðBîBZYø ¡QÚ÷¥Ä:_}ÒbeÚ*r³9ò”¯Ô¿åÏ{ݘéËáªÝ]1÷WšeÂ…5âo#”‰Nb… ¨ô>¶ïÓAÎì·¼žíÉzàá]M¸Q»„)ˆ'°&má"²‡8øg+Gž‹-¯ðJÁÙ¶(!‚d%šò÷F¨é’‹Íü0ÓK^žŒð §.Úf9Õºi"‚Bœ‘תÂh<MÆOOìu h9ž&ZO{èìxö6"÷rWNÕ6Ù$Çøâ0™…´žUîÇ>‚0æ£Þ·/Dž¿V™¹6j©Û̇‡o—
-_0ß9ø™Ü®Á³@3&i ¯)BBD‚Òr8ª¯sÿ’¶þø¶6ù5EåÇÁ‡›3§ŸÒûišI©R«‹ª]S¯Ðeÿzý!KþãÑÑÛ7çÙ96@:áO´ˆE(Q`¡W¡ÐêgÉCIචœ7·@ªÁ×N~ðOÎÏL ÔšîÑ„6t>æ€ñtFt&QòŒõk©ú¡Ì: ZBw˜0.•Ö
-X˜DöBà矉uƒRá±êëŒãù³"‹‡»½øS,VëUgÈÓÑ×Hë‡ Ö•Ø®ôh3ßõ½@gYa°«¯ÃK}\)ÚÖ„èoô}7dÔ{Â+ä’רþ‘ǟúiæpC8[bk%u‘I0: ]¯úíŽI*]¬NꌕԲî<'âÌ€Dq¥1öYßþù4ˆù;4Ù´Ô˜¥^ðžöE›:ãZ”¢‡ÖãßhSÁÒ"”‘æeGq ¿¸ú‚Ò®ˆ÷ñ"‰v=}ç¾ÌÅ%ű;>RÕw´ºÊuú)DãPèñåVÂ-{ i¢87£rC ~zIu(a=/åÓ`éÇ
-`JVæ€ÝM?Ë-*\šFì\q¬w÷4³Ç"Ây'LÜi æI²úвTxÝCxEåÇ7#Í=䬯šÐ]ÏÂ)9™šj^wpŸiuØ•°I/9c½šÙ;ˆ†YÂV%íÇ’:ðgEFÙÒ·O(–qS”•=ŽM.A¥ó¾5Æ·ôŸ·¸PF×/ *ÝXåï·Dê,oö°`ÐO„&ÄÓú1¢ç)ã”au§4‚x­¦"ô£šVKnþ?af¿½ðÒâº-©Þ(äM×4jý€‘âª[ Âx06Ä–3± ÊbV®gG¬$¨ˆX”£þÙ]0ML]B@! !k“ö'9iH„%7ØdÇýý³ê«VÂiH€ð‹Lêõº «§ÜTÉMÓ´1=1TäöÅ¢ÕæûH&LÏ5« "ŒúÞ¶jªÏa1¾5e‘ׯŠ9³dfƒC|—fS}½Á¢^3²Ry€!©ìcÊ^Ù±•CyÞ>æäŸGY›µöLˆ²Í+ðüw…¯‰‡›]E™†ÏIœº#½Á”“W¿ig/€¶0@hçnlÊäª5Áç®ýF6PI¥pKˆÈKUëqßoÁÎJôƒED=§É*óS½PlBø±a`
-^ñ2Ý9á4GÌMdHä:a,h&y að;!Ù$õÖaÖ8|Z2ÃdÞ‹J‰Óc—…6‘Ñ}Äu"åÈÄ7)õ)ÚÞ”L#mõ0n—Ü^žÇl¡~c[øïz¡AèÖЕ–êÍ™qùÐEm)PF½÷¢xŠÔ–ŒisØ€ç³D6 &œ<ÝÍYï’Úl¥ç¬œs·ÚCò£ypKWFsš£jƒ“ÃÉs ÈÚË~
-¸š4?æ·q|CÇÂ[9ËÞnÑŽ¯U…”kCWvܾOøHB ÔfGpÊñ¦Ú™uw"£Û¬‘M+<ÂREÍœËâ`Ôщ) SßêÓk3—ÌŒÊy‰m:ãs‚êf“Bܲþà ĨÙþ†¨4ÃJ´§ ¹=µ¬l%Ž»Wa*ÂÎK6#º=\{œ˜{áÒBz[òaey}1i%œ1ˆpÊeDNi±`à6^¥
-“V-Á …ê©>Zw>î^’:ðëÖ£,AÎó=a¼PP?N}“­8s3zxC4-áÙ'Ð@¢¯Äa0½ÌåŠ&vù& Ê«¹jÐ-OB;ó¹bîAl/­äÝÈ»÷ #o«²#yÁ?.¶Üè© ®Ï²
-sf"7íȘ'z½½Aܬù;˜-Ø„º5½ŸPoö’RnÃã—§cÄ­d>­Õ‚ëmOévXš}Ý…["äC»Îµš Ú·ñfº ?jÊ…Šs$!ϧmAb÷yg‘Õ3–ã¾ú©Ÿ™ì‰YÊIÚÓjû[«Òaî ë—e·Ù{/ûÀjÂé‰õÙÊZXÀüì˜à äa.ð–Ïæ\àß›¶üؼ¾~ ê¶Éþ¶ü5öZ š‘X’oJQ˜iOÎãÅ[=Z)é!³»&ç–ÃîIëBå\Ý;»"B7›§ c)Œ—†Þa%ó‡ŸTÚÅLn_´´i·‘c•udg/U†Å=7
-BÎA>ȨÅt»î„ÞñMt7¡Š:»ùœ=2>ï((Ÿ!{GÅo’8DiåGÍlœ ÊãVÍÒUŒÖº‘jÜ”Õíë
-ÞÐõ)δ¨ŠP=¥ŠúçÇ ºÚiÓNRŠÓ€„™m:ô¹¾@1??¡– ­”x!MÕT•ÛŸAsË•-&I˜·ö@ãݪƒêE!F_Õç5²î´ÛT² «ô±.è-ó°{m”´YÐßžëÈC&ÐöºoÕ¬ìêW5iø·Š ¹Ž–ðûï~dÏFœöN{uÍUg¿a`BFtCÙ¾VØ-¯Vâe*ï@ì @uòQµ ä8L°4§2Ir©¶Ð“†¤o§¿Ù §¥ëÁIÆtPÕ'ÆiÎâsëŽÉÇTЃF`Þ™0Úu­5hJ»½ Ù‡,KíÜкÔP¡f|éO7§Hf|dÑr^kç Žß¼¥'@>¢íð@‘…„—Ä”ÄÄJÄÞ¿Ý>3„Œµ¬èZˆ›Ù¡R^XÚ9ÈÍjÕy0”Nš¯s„gA‚îWˆ™[Uú £™2õÞzבl‡KØ6`ñ
-î†Å×°æËùß'™+¹O?àªH‡q@…
-…eȤ½øÛ ]Ûq};—¼¿ý%W[J¨÷¡¼–Þè aÁþ[Ò-@^ŸFðGH¿ ìÏÈÜ°<·eÕ@wô¨‰Îy«(‘«xd;{”«‰U¸otÁªDÕL
-˜ªˆÍ|Îóp—aÜ^§9Lî÷‹¥¨`=1OþL
-^ú”ãh@RÄfíÁ•6—U
-×qóp&+yPå°1¦àÙÂ¥å Xˆ|¿ð$6Uç»’ÄŽ¸%¼ûm'v»!†æ^™íç Åä.°¥6q2Œ\õº«CÛ7E.ÄÔ—¨lwBÂæ8=÷_so09Fµtéf²ÅoÊRaáÜJýèb;†xŸ)ォG œþW¤ÈùQw¤ØØV„K˜7µºy$•o5MåÐà,=²æ_³4¥ñ3ž•÷°Ÿ
-áB«¦¨Û$EZk°`ë¥Y 5qÁ[œù¥ëÂF… :ÁƒN„´®jîܨ€›JV[‘
-ü™±8Ébº¢¾9àѲœ&Â&9 h°¼§!`Z„ù“½M$¨'Ì é·Ç ˆ‰b|ö]·[EÍ\çtHL”.=MSeî{F"ä(ËfIÜ
-ˆ4ƬÆx»ák&ªˆü• “KѡڪƎ5soõUKæU6Û‹m™³Ó<{WûFgsü2‘“+tëÑɇ¡ˆ§Ç—–Fë¹mù¨ö9¥ûŒí¬ ( Q«¿˜?©Fߧ$‹OÌr?ãZJŠM¿{m9ùœÄ1+É°‡!¨Ú‚§¨næòY:ŸAÈ‹Wv¿ ˜iq“~ˆRŠ
-íqÃoØ8\"ÉÄø‰m~'8 £Éùª¤\"~Ķº…puX‚8R±·ù;¤‡,qÞ\;1´L AÈ›œ>lϴʘƒš¶ü¸\UÆækèK¬ôó(29÷ðJ3ôûõrï˜O²âåMçÑñBu”蓼!þ*²‰ñØx“–ãfðÔƒªáFb6ä([N£+þe÷#Ìó,+CðÇUÓ3Mcf‘ÐAñn0Ja¸Þ.H”#ÓJ>U³ÂåbFµîV?4™;>
-Û Ì_÷cvDMÄȺ„‘)˜3,fÅ·„@sž?X³¡˜ò\ªå$@Š$ÈW;ö=W!za(NGv È(èᇓÃY†CõdQ1”On?S9Ç>Oµ
-dõ›#.
-óÕu«ðaxÍ'¢T´Æ49¿}
-„¹ƒ°yeàêÙÔSYãæœjî×]…)Å’ÀY¡vSWòÀ­¢ÒGÕîUê£ ãþh4× ¯DTÚè¢Ë ¾ŠŒ}dœœ'.ßñ»c)sùÂ4E©”€cr'L’q!2XdêFÒ±!NMi€âñ¢ÂdÖ |H—^ÉuÞõ“ù¦?aÈísNfBèÈ(û;Ÿ>§[Q-„- ï$àKor§ËûI’;G¸],˜úJâAžXÚ€àvÞ9g•0žh}[ü £Å‹—T€%/WHþî×Dªÿ~Å!¬„ŒµWJQ;dZUüÁˆo 7êU ‰iT†dGà!y×"?αLÛuº·Ô~¡šŒ{U#[Ö÷g_SÚ®s·ßñs=„Ñý}Ž´þ^W@ƒ¨IÙ9¼£ýè@‡}Ó$0_>)’¤Èz®Ep,—ðóõè¦
-ÈïQš4Zl’€AÍMNÒ1B.NèL·YÏ¥£ÌÊ©“0d›±)š„¢«ëOØF'Í<I('Ó.DÁ=Œ”³‡pEd­ùØøõmQÜÛÓ
-~z#ë6 å˜Mmné©^«ŠÒŽ†y§×ù{?¤¾ó ÃN[„!H-Èâ–‘Ôyúê³Ból«nsªYòU4Mö¤ ©0lÕÜ´~µÇê½æ`
-chô„, 3 ‹ ï‘“#•ÃùG ÖÑŠ9$5à »l|ëQλM}ž¥’>‚ÈÔ!¦}™n¿°B=…_½' qŠ=ò¼²D½JQ:|4ù "V&71¢‡»Ê´XGŽÌ˜Û6¸XÉLjðD^«Pìˆ,0ª°>«ÇŒzK „Uê• Á;ð# zJí™ÛG ÃLtåk ­' , 2ýòô™ÏªÍÑk|Õ[~>'}A–ž­h¦M$™O¤{É™™aý|Fo¾á¦›\basmç­‚‹ÝjM߃½€—RÚ·Ž¤`W<Tº;ˆˆ³õì&> 5YC¶]Þœ}ËA… IñFÝi„—¤>4Å1 <ÏÜïQ»ÔäJ!¼@ïµ/g”Æ
-¹?¯²YÉLµOÿº“oc€ùÃ^vu?ÂYáQbâÔò%hñ£›Þ|ù:µ˜Âôʼn "¶®œ%v ¾õ
-U¨!š»N}œ Ñ“;æJ›ªÙCĵ?ûœôý+¼<¹è¾ŒÐp—³[»õþAN
-ç´hô@ª{âN'H_È9S(rÚ·kEü&ßÏ•tÛª.Ü,çx>A(wYœÐ%
- ±(ø'E5 Í0Á{'­WÈÐÐlûù 4·Oÿæþk¨ÕÏÙ€œ“æ¬)Tlý¼SM¢ÌºtÙö:ʇOI[|¹,™á
-¸} ³i¼<nU·ƒÊ'D†7Òz;%s}S°l<•’y°46Ê–TZ¹eÛ]DÕ\Y¹ñ}˜en|(xèn)<¸ËŒ¢G/Çê‚«þf$'„ƒ":èuë ìðx/’<€Â?‰CòSÁ064qcZŒz¸ÙÝü\! ;‰^ ¼·'PZÖ‰EvdŒ¢bòjGYþ=Ñh/«¹È´®ŸË $8éÈ'kê¼²à
-%gsðùB§*÷Ä•TÝþô¶VÔ½~Þgÿ°s-Ãê¾ù¤‡I3ôÀâʨbŠÅ4ZŨǾdzçÏ—à Áç‰÷ø׳ŠX]"ïe‰¥?ÂÛjš…<®ÛsÒfÔAgV+¢ÔŸ8ýdÚ¥_ÜÌl:ɶ™q
-L! … a¥,C-CŒ}M¾~šÞƒÔCzâë—ò '|;¦DÜ‹ Ž‹¼”ýû·NsŠŠô c‹Ð9T#qY%%ËGð 0Ù¥*÷f’
-.³ã׋ÏLH]DÒ.½Å¦œÈçûNcxï*ÿÍRŒõjHGmwr$Æ›~üzXÉõ½c7G9±fRpÂÔ›õñ`ç¾/ŽFöøÍ¡Sësöe‘Ä¡ûůjrv±K ±‚º‹—li¬@b Á̧òÓµ¬FÁ§”L¡s¾´_úm\9G›8+¥£XmK‰^γ³æ&„m©œtðÞì]ª_l„Š@O3º] q—ÃX;Ü3œåá›
-kƒãåxÄüÁ‡¹C ¥"QPf¦CY_vŠÓÑô|‚ŸŽîdœîÃ: eФÛw‘éûe« VÑê–†P-o‰ ã¶*‚½—€:GçMøŸ¥ÀOr¿/CîlMk[6qÉŠP·eÙ0ÿ¸•Ëzý?TRÈõó·—Ï(ªå8“j$27BjߺÌèÖ–õ¦òãȹÿäâÌ-:N ^TüÚO`bŒvï ×o(<>yýeþðHó‚Tƒƒ2¸¹ÁíåÞ(å2Çæ¬9½³g¦F³Ù å’Ë?q…ÃNßJšPZØcš¹ÔiΑ88›ï…wäD&oô\<朕çÞ‡.'cve‰kÎþšØuôI¡]Èš‡þý+‡¨§Ä ~¸db D:{‹ÛÖq •¢j+˜ZÖ+·?ÜT±æ­ºŸÀÜÀ!
-û:%é5¾¯åV¾çu™J°5Jòb´â"2jþä³àí=j¹ òüÅÍ·½OÖ±¼×Ñi¥Réqødoeל}½j(áIaRFT¼‡{°˜Të‰n°‹W÷'½y@,}H5»A¬8ÑLØÑ]ƒ5ævYÛÐD"ßïŽÊDʺ°z¡Ž »z}ð…ˆÇÄ_@ïO>s0<#gr¹ñ´»f!bºÛèÊ5ƒ¢Ã–x¦ÐJÚ./°A>x»! jm–²sÞ7vÁßC}AœíÁ÷}Žn4XìÅVÄés¡%›†¹¢{Pû< ´éÔ Ì7¹d±·ÝÖ.´?²s1‹t¯}¼;¯±Ý½’×Gû»{UÔ.!ó!T-ºž¸9Çݯ~_’*gûkèŽvª»¦$û¦ÝU‰ô¥5Sü¼
-¨ïÃÌ'l¿:¦ðè;{3¦Íäeµ—Ä;»¯McÕÒÚ-ÿXON´Â½²ùr0‘õC€ƒºÆ…L9ꉱSWËñÛÖþN2¼‹ÆvÃñ’ýÐ È*ö{ä•k^‡jogÊ"oØÊglÂóIüPÚ}tq(½Ÿ
-QCm6õ
-Ê’¸È˜”m€¿™»_–pÛD‹KÅ|iVWeeÀÀ«‰ „lÐÁôÿê4èT0Éëë]Ïd‹;PL¹£¥e!D*%)f­­Ð¾ì {ÄùíÐîòsÃÕ|0ŠLï-ûÈØÀªY‚èZ`ä<Üu´N!ìÆÂçaæ¨ÞôIJE OÕFÚØÙ‚™O¥ì鲟‹„œ*+aB5*êëˆYš0MŽŒ£>ÂãðSΚb¤³(=nìj‘·æÑ4W­ÁÂ-ÕÏ·­_ѱîíô‡Çº™·` î%âg›«ïW‘iІJmøª º¢Ô††ß‘$1½ÑØ“](snr…„L¹Rœ±¹UbµVfn3]ú‘ÛÀáˆÿ3È9ÆTÄk›“¯Bšž«µW¯ôoäˆ9u“lܲ‡vxvèô3Õ ÖÞlQ;, ÿ®w½ß,Öf9z ïï‹?ŽJ¬äl* +pË(ÑMÁ™ž eF×gº‡@‰<·5ð˜MêÍ jmòÏ °ñksŒ]VY:zÅPÆ]•a£¿u_d„‰ê`”]&6ú‚–2#³ëb…S–ä|_'UBÉ9ÇØÔ*+‹©´ËY[–µ²zŽ’w
-Áë±(`°1BøÍéÑ÷kL»;B„/ˆ,à  G70“›(Y:¥ö
-ùµi¸ŸÔ§îwX\Ÿy=rû„7"¬ˆiÝe6ÕÈý`Cõì¥oØ?g`ÍF朌‹ÀH‹†ò×ÓÕÏ‘`ñ» ‚ƒT~65Î.96,`³xõµôlë Ä\θ;&¦!kÇ×å ÆæÁJôV>ÓÛnQ3­‹c…8¤„½aGãÐ$îÉ(»çf†A*"CÛï}„:¾¹ Ìl{‹7nN^ÐÊ`„påƒå˘ÌV—Ûyþ2>÷{Ή =½"ž;ôl`¦GS=)ÅhhR:ê bÞ°ã}µ;íYÏHey~aN'¡¦o¦NQ»ð%`\ô?G°2™9×Á>ìSŠ¬7…¾»Ù6ò_qÛ§ÍȒΊŽ¤¦vغä.Ù#*Íõ¹²G-–à°Ã~3º½øÕNôdàÐH¬|ò€Ò>I6]ñs˜öüåÛ{ñ7cÌ a8d?‡ÉNV¦æWíûê^ÙŸ\W’é†;ˆwÒ`–v0zA…füA©‰õ§$=›Ò¥˜ÖÒGVöašMŒs*(±Ó8üì¹äô¶^d•àŒ1÷·»s®ÛCºDdq
-I¢BŸîÙ¿¿²ÊXãÞLbÁcÔÅã‡Î0¸±hÿŸvæû
-‡
-ïÔ2AÆìöâ©eîÛ›Ó¦;»ŠÞ¹‘°!¸„è`Ò]åU-YñÌëŸò¬ùM5ÁF³·&RGßw´+ùûè8šŒÁÈfïyFW OU£wÀº$¾¿@i¼ù9ºùr¹>ÒHÝÂö§õÆe¢Íw{˜¡Ù
-,ùÌçÖ6ºþ‘ß‘—§ìä*ƒšA>SxÏå’ò§Oœ•Ãøjäwcâ]o¸‡´×ç?e•é%Iôm ßÞl)·œ?Þ4‹™æI¿´—.¦Äì Ê×AÖŒqh}Ä_J¬Qêõu‘¦ZX´y7³xÄ,i’¸«^飯\µ1) Ík„ÝÅ TÅ>¹Þðô3¥Ÿ¦õ1!}KGf³[ZdɦÚ^Ýs>¶ì¨¹…ç›ý˜“]û·çÁ ~V\Yƒ°ÕæÆÐ¥–tQrÿ=<e¢w†|hó$¿åÜ£ëØÁSä<þxØI'è÷¤ïëÚ_tšd¯„§wòÒs_×àdI#ØÙÒ¿˜
-ogÓƒ1GC6E®Í]cdv®l}©µžÆÍE*û‚Xí øVr,À8è–>7%×5/ÔQz 6@^î$Æ
-Ìkª¸â§hDlU¼v7X}ñÂúZ%fòb+†Î5ƒ;TÅHÿ$IÀÒR.X/+ùeÌö2¸Õ4•õ…6È(z¡ØîõÉìg,Í¢ÛäZ}~û JmÕg(±èe{u›"&Œ›Å?c
-áò¼\¶¿ûë¦n
-Ý)¥ÀÓ,Ú €ž–ñ;Þ©x%ŽÇ*:Gï­Ì‘bàÞšÈÚ±ÓÀ'“(' ø·&ᦗ„Bfs^0©^T
-i¿5xÑ@>,Ïu> w?tiÓ¶0ûôIÏä#%(ù‰ö
-©«ˆ|LO†D¨Å÷¦gîÑå¼Þ8vÉC÷I~®O–ÙÍ>mŒáõÞ¢‰‘}‚
-^hâŒð·¹ œ£“hZ™Í/øÅ_à7œÀ+P¸¸&&êåî$+Nȶp®Ô ~I(–»c¹ÚŸYªÓÅg¶%ø¥p%ö>­’H¾iL¿\ÚõÐß(¦µâ_«8Cƒ—R{‹
-Žµrð¦ëØíû‹0Ê{‡˜ÊQê¸2‰«Zœa‰ƒ†*7Äc¹äJî„I›ÏüìÒ]©æÁ 1=Š¡å©òñS€MX¡¥GMøªéþP¢‹:*½ÙOT9†ÜD¨*ÀzÞÃ*Úž“¬ÿ°Ë_hg
-‚œ«ê9ŸjˆŠ"J7Þ®(ðhT(ìâ ª¦¼ÜðÊ™§Ä‹V¬áÝq
-oò]ç }£¯9B‘7õ· öœH{È­’ëæi`T&éVÇãs"¹‡‡ªÃßÛçVMo¼iá÷׈â{C„^×;¿_g¿`,·÷þ2 Ún“ R ɫǶ]ÅjÍuib°ƒãÏV!QÏÆ>²¦aO<ö”ñOÁxƒªH²$áófe°§Åû›ê¥úКxÇÑiêÅà>ò$­–Ìy"-Ú-ŵ ôý‰¤Ëq ¸ŠÖˆÕ"™[Ø m¥cA¸¶¹"t8Q+PK¥ìó÷Ñ”¶ëÛãh_“ ®$+ƒº‡¼S¾ÎúÜþµ$áØ™éezv~7EhÅZÞ‚¥ÓªãHÝåûm®Ý‘(ãŸÄ"Þïòwnúê›»ÉÕ”^«¦
+ŠšRò
+P7É;8hôJÓÏ4¢<¯e·!´ØÕv'•”õŠß¡¾Ow°8À\=Qù‘¸ø¡“>Ú!ù¥ÖÇbt¢4‚|«-<=#O<~z¤ê¹ìÛǣɉ…%ãq@$ô³ÏÁÐR«ð §‚JoBÀ»i¿ú$ÔèöÔË##Å%°–}U4Í_³i—}O‚LoàM”slݯüy=?É+”8Í5—ûµîL&æˆÅÛ„?Ø;kI8“ ]O0ü
+ôX‹ýv5FMç|.òöZSª‡æâû÷eµo® ºG¦|ß^£dìfÈ婯?ÿxñ¤}GðrçXQ†•¥ïí«°nãÄ"‘ì v¢t³íg•×ÛudkàXþæš1­´¹û±¢þúgÔ\Ô®:è'&
+yY·ŽeFÞÜÉe$WemDGóÒaž@²§—ñqfS–ô6BÙßõȽÒU?ùÏ žRÀ=²ÜçqEË4|Y²Õ7˜Yàýe•çŠuóL*”ÅK 㟠$HÙU&Ä–ÒòÈõ×€® 8ƒw}_þ×ïÝk0žGFÔÃó'€r¥wŽ—m­ølËsöxRxÏ¢ªVæ±YD
+rÆËo}s˜[, Yw?Üg±‘g x :Ë é²\<cï:—©w<5s ¡Ì²¯ … œö!±îÃøܦÉjª¥RC·Þî+~»ÌŽO¿H~Ëa&¶¼<“à­ô䊈ç¸ÿ潂I£Ÿ•æ {—]Ÿé10.ã=gVýé~Óàèñ“yß_¢‡qk£.nÈ2OS›0$a÷xb _¾÷
+'ëZ;/€Ü –^dŸ”¹\ ô 0:ŸæëFVEò‘¥0\^ƒŽ å³Ý1wé¡•>Rh’`ÛêüÁT~Ø QaZ­d
+U~-UÙ1`¿ôB}èÿ[à|ýÛ¢˜‘èþà éz]n¡·†ätœÍOîø
+é+¦ÞâwªÉ"=ÖšTÂb.Ê;9§D¿KBr•ZDIé°É¬/$h-5…œë¼_àï_æE݈P`„‰
+eŸCN[hÀÌ"¯5sß¡¶s«ÒVÛBfžáœD(˜Ü¤胢&BˆóáÛ§Œ—=Ü9bª©s ß¨nZîÉÄõn^’¡ïg^í*ªüdïfº×D°>M*|™vži­}ç`1;s~ŸNÀê~m©Ó±‡„æ\£"éc ã9D^ŸÍ1ÿ˜,F»9ÿÙªø¥só=Ê>çR³¿N§EUÝ£¾ÊPäý60|õ‘³9& x¿«é:d=ˆ“ºª¯’!êö9šu96¯¬|ö
+ œÉò;Fª¥)Ò—³ö­nEä ûÆÀ%g5HF¢´`Æ÷‘1
+S4DB~Öõ‚iJìÞóex
+r€Ð5™'­§øÌ·¶YPNøÌHý ú†C¦ÝÖïLS]Ý(…3¹p¬Ï–z«ôtNzTD¨7KŒ:®žh[µg¥Ñ¤ë­‰ ¿ø˜¹Ô¹¶âÂõA?Â}û Ž>uÝ'9*Ë25 ÄÜ£ýR¹'«3Ir¿'ãƒz‡&ù#uf9¯*¡ì@ Œ÷OÑĬyáw‚ÀÙÚÞœ«‚ó—o
+s%Ú¸üf„ŸËcÉ£ç ©œ>V† x*sžlKÍ?–‰N£“í³Þ;TÙ6qoam~gfÞÃá¹b:èÅ `Âî ƒ3öæùfÛVÓT”75"úzEÒ²4Yj©sÊNõ Ñ?±Šèqu""¸RϹ·ÖÏð­f†¼ÀA'bϧð!KI4 @·Ã‡u&“w]!&$ià}ߊ½£ƒimói×Y +RÀCÔÂÙ—ð¤ü‡Ö†8ó1…œ)ÛC0H Éª­ÀP[¹@SÝ~w0æOÍ‘àÝÔ´#Þ%ì8MÖ™E
+t.Û½«½DŒ/vÄ”õf&|aªŠ«-÷­c†ƒY¨}ÇEWùn¾ß¬úvtÿtšúgÓ±ÇFé…ÁI{>2›Ðø‡¨ÏÂØ#7nPe…cÄ\k¾Boq_„t˜V/|å|ªeE2óFm<Þƒòc):¥¢@y'¿v4œ¸}!™RkÃKnpÁÿ"}ÏHj/Æ*.@¶<A¹;p`6{ü°ù]J©84~ ãK3½4¯À_<IpDK¦|è)ÍûA±¼INâ\œ%XCK e’ÿÞÇw‚è2V1Bˆå1 h=­M¸Š=Ç3ÉÜF1×Ô¦Kgy@[²¤Î1ßÒ̪ص;#=˜³8–ÜK~.Ô/j¨°äôl×·_PG{
+Î(ª`¹ «8¦Ð®2hcöuõÆîþ2}¨±*ÔcN §¸veg "…”…X×…^¾ëfêHá?v
+]›°¶wša|õ&‹r, ¨<P«¬ ¶ð.X ŸçècŒ#î™ç-£F¯Sÿ¬œÆ˜ —å¬çXPAf'ËÊjÙ
+T´Zu~¾EÚ­§HÀÖ}Uüz¢ÜÌ G}!Éj@6ª<ÃôsìDïD&©B–%êáw¶0&ò·†j·e£ÉIø’+ÿG"ºb nYˆ#ÎÊ…5Æ|èZ:éŸ_ xØ0g÷à?§û3â£8®ˆÜ˲À˜Qïü±Ç7×X¨œÞmÙCìc#y¨àýIì&†œ·5Y²M¿>B™¡áì8³h¨ûÂò0:z$X(q»®%ù9ÞÃX*´ŒEŸ|ÆB¬-$MXÜ/ƒ°I,Ø iÀ~™3Ó &"sÐöb“–ZÁéÃÝog„F#º¡séc¡Êöïpð{Ž‡Lã³EÔ]¥™PÙu`Jvqíªi‘0ñ}ÅóEëg2!­Œ:¾~¤ÛS¶ïgãÞ¨e}èGóíÜ+¶býÂW¦âEñ%,ðÑ„ U |έR †÷Ó¸ ‚“7|Y0¦¡ÐŒ`c”h"ï¥]$¯ÙDøy–¢U”÷³*Ëö;•»°žˆž½X€Vºi<„#ÑÅÒ8ù³‰·5òNéK#Û”îËÏNï‘r®[nXôf$AO"Ý–¸SVµ¼7ê^Y´]VsBe÷ ´g¬KI^¹A5Çr &&# zK½q*
+´ÂØ÷þÞŒ4à…÷r Å› ‚$Œ¾£Q`ƒ-`¬×ðÇŽMéˆüyÀœJØ ò`’…hQý)*¡ $ˆY
+5Ëñò­Àóv3.]”T'‘™×_ìÎ"À<aôàëÁýXø èÒˆÙ¨>T'8±ìƒJÕ2,ί„q;§oék9ãñÙ^¼è½þ#±ª‘l VgÈDÝ/tHõÿ¨ÀQ—Œï±<=fYM[=€7 µ¡éPÅ°¯qdt³a³
+x^ðÁ=‰/‰Ž³'Bhùb£ÏX‚ghÃF/çœBÀî™ñ(qF¦ü¦S>à6æŒ#°ÅóŽùI4MœÑb¸ï=pû{níÒË%ˆfcY¨¬×¿þécaöyqÌÝ1¯Æ ì—n7
+4?äÀYÜ
+Yت^éιAÈ•Ë5í
+Ñaµ+Ë“º±\‹0ïdÅ C´Ð²(Ó©Öצpy§’éÛ …oû x#z–ÓŽú­iÅ6„_´'Æõœ¦?óØ&¢6ºT&V@t½E ­B:3ç|¡7›Ãù)èq‘ y#釪sfWZâH«abzTÆcóY!ë>=ä€Ë„—ö†ÅŒÎF1-Ùòò}\Ò|3GŠXi
+TpndØtº7ù)åç«sç/4ƒ8ôÃNE#.VØjÑ6sÇþ·Šª,o¿¢N(Þ-Ú›:ŽoLªḻ9ö8èš?&f¾>©¾*æËäIâ~‹zÅ}HôäX|]ˆ…–5Ö‰¤õö3›‰ø/(‰[ï ˜Vîb6ðÀ—ˆ¨ÔÆ¿<—ªîïá
+ï‹i’6RNbl¨°› (¾/`Á%àÁ¶
+èýJÇF@´ø¢umŒ¯Æ8|‚…$³(ßUH§k‹ÖÐÓà ÷¹eeÕmÖGJ•#𠜶k%ââ];$ÖJt ‡Ÿû?`ö„i¶Iq~?•°©Âá/üªÄÕÎk‰ÎX¬Êù˜³SÜÛ¶‚ÜHvòÅ¿¯ö—Slöèeî‹*bN¿ÿe¾¢\h¦µð®ŽRöã
+oçë÷¤¸Ñ^u¯LÇåô¼ë‘¡—–‰È/º¸ïr£ìu_
+¹ÊGÜ.×÷ÂÌ?áw…_«DP×vÀÊîúðMEi‰Í;èÌjêL¾ÓÍç¸×l£ÖJáðœ4ݘ$í$©QøRdàdzFaÆ
+±aÆ°ö¤ûÐq#Ê õ;–>u ßЂÑȲ¨ûÜ î(x­Ô>|»zsÇöMïÜÚ ¡<£²€*¬R¶nè«jt¤g6ö!;¢
+AQé}lߧ‚>œ'Øoy=Û“õÀ!»šp£v SO`MÚ
+ÂEdqðÏVŽ<[^/à•‚³mQB(ÉJ4åïPÓ%›ù5`¦—¼<áN]´ÍrªuÓD…8#¯U…ÑxšŒŸžþØë$@Ñr<M´žöÐÙñìlDîå®
+œ8ªm²IŽñÅa&2 i=-ªÜÿ: Ž}aÌG½o_ˆ<­2smÔR·™ß.;¾ `¾sð3¹]ƒß9mg!€fLÒ ^R„„>ˆ ¥åpT_ç6þ3$$mýñmmòk ŠÊƒ!7gN?¥÷Ó
+4“R¥VU»4¦^¡ËþõúB–üLJ#£·nγsl€tŸh‹P¢ÀB¯B¡1ÔÏ’‡’ÀmA8onTƒ¯üàŸœŸ™@©5Ý£ m>è|Ìãé$Œè8L¢äë×RõC™u´„î0a\*;­A° 0‰ì…ÀÏ?'ê=¤†CcÕ×ÇógEw{ñ§X<¬Ö«Î§¢¯‘Ö/¬+±]éÐf¾ë{Î"²Â.`W_‡—ú¸R2´  ¬ ÑßèûnȨ÷„W:È%¯Qý#?‡uÓÌá†8p¶ÄÖKê"“`t@ º^õÛ“TºXÔ+©eÝy,NÄ™‰âJcì³¾ýóiówh²i©1K½à#<í‹6uƵ(E
+¬Ç¿Ñ¦‚¤E(#ÍËŽâ~qõ¥]ïãDí
+zúÎ}™‹KŠcw|¤ªïhu•ëôSˆÆ¡ÐãË­„[ö:Ò-DqnFå†üô’êP>Âz^ʧÁÒÀ”¬Ì»›~–[T¸4عâXïîif%ŽE„óN˜¸þÒ:Í“dõ¡#d©ðº+†ðŠÊoFš{ÈY_5¡»$ž…Sr25Õ¼îà>Ó ë°+a“^r8Æz5³w ³„­JÚ%uàÏŠŒ²¥oŸP,ã¦8(+{(š\‚J)æ}kŒné?op¡Œ®_@U<º°4Êßo‰ÔYÞ<ìaÁ ŸMˆ§õcDÏSÆ)ÃêNiñZMEèG5­:—ÜüÂ.Ì{á¥Åu[R½Q0È›®iÔú#ÅU·@„ñ`lˆ-gb”Ŭ\ÏŽXIP'°(Gý³»`š˜º„€B@BÖ&íOrÒKn°ÉŽ‡{ûgÕ.V­„Ó
+.^7=º6Š2#0 Ÿ“8uGzƒ)?&¯~Ó&Î^
+)׆þ®ì¸}Ÿð‘„¨ÍŽà”ÿâMµ3ëîDþþF·X#›Vx„¥Šš9—ÅÁ¨¢S@§¾Õ§+Öf.;™•óÛtÆçÕÍ&…¸eýÁˆQ³ý Qi†•hOr{jY%ÙJw¯ÂT„—lFt{¸ö81÷(Â¥…ô¶äÃÊòûb2ÒJ8cá”ˈÒbÁÀm¼J&­Z‚A
+Õ!R3|´î|ܽ$uà×­GY‚œ æ{Âx¡  ~.œú&[qæfôð†hZ³O D_‰Ã`z™7ÊMìòMA•WsÕ [ž„væsÅÜ!ƒØ^ZÉ»‘wïFÞVeGò‚\l¹ÑS\Ÿeæ"þÌDnÚ‘15Nôz{ƒ¸Yów0[° ukz?¡Þì%¥
+Ü0†Ç/OLj[É|Z«×Ûž<Òí°4ûº ·Dɇvk5A´oã ÌtAÔ”
+çHBžO+Ú‚ÄîóÎ"«g,Ç}õS?3Ù³”“´§+Ôö·V¥+ÂÜÖ/'Ên³÷^ö/€Õ…Óÿ곕µ°€ùÙ?"0ÁAÉÃ\(à-ŸÍ¹À/¾7mù±y}ýÔm“ýmùkìµ4#±$ß”
+¢0ÓžœÇ‹·z´RÒCfwMÎ-‡Ý ’օʹºwvE:…n6OAÆR . ½Ã Kæÿ>©´‹™Ü¾hiÓn#Ç*ëÈÎ^ª ‹{n„œƒ|Q‹évÝ 5¼ã›ènB uv%ò9{d|ÞQP>CöŽŠß$qˆÒÊšÙ8”Ç­š¥«­u#Õ¸)«Û×¼¡ëSœiQ¡zJõÏA*tµÓ¦¤§ 3;Ûtès-|b~0~B-Z)ñBšª©*·?ƒæ–+[L’0o!ìÆ»UÕ‹B"Œ¾ªÏ5jdÝi·©dVéc]Ð[æa÷Ú(i³ ¿=ב;†L íu߆+YÙÔ¯jÒðoAs-á÷!Þ;ýÈž8íöêš«Î~à 0 À„
+Œè†²}­°[^­ÄÊ"<TÞØ€êä£jÈq˜`iNe“äR'l¡' Iß<N³NK×?‚ÿ’Œé ªOŒÓœÅçÖ“© <À ½2a´/êZkДv{²Y–Ú¹¡u©¡ BÍøÒŸnN;‘ÌøÈ¢+ä¼ÖοyKO€|DÛ/à5€" /‰)‰‰•ˆ½~» |fkYѵ7³C¥¼°´s›Ôªó`(4_çÏ‚5ܯ3·ªôF3eê)¼õ®#Ù —°mÀâÜ ‹¯aÍ—ó¿O(2Wr'ž~ÀU‘,ã€
++
+Brãx­€V¿…{x=p m9‡ãCäb Á¼lº•ùWß Ç¸(Nn@¬vt&4Å03§Ø=: ËI{ñ·A
+º¶ãúv$.yûK®¶”Pï By-½Ñ‚ý·¤[€¼?.à~ØŸ)¹aynË"ª ïèQóVQ"WñÈvö(W«pßè‚U‰ª™0U7šùœçá.¸½Ns˜ÜïKQÁzbžü™
+ó½ýÙ ÍËF£jkN°3½WäfÜÁ)8+í':º/¨%²+žG%$Åw·í=¾tÀÜ~ÆéÁúäi*¨ÐuÙ>lû2{†X’GVM"¹ï§¿äØÞóŠ-I¦./q*#Ú-ÍÌûS­n®Þ~¿5f58O&Ó=ƒSµ@·ŒVÓÃܧçOPkÓÿ hÙ)&ÒªîÏWfzv,Þ6ì,Ïp¸êÉã7­ ‡ixÔÆ­SÆ;Øc¹}¤ÛUŸV¼ðœxç.»wQ~ßÓJ3CÙNcYB»Ñƒ¤3Æ›õ?­ÔæuÅXŽÝʇÌ®þÈ}‹b×"¼ô)ÿÆ;Ñ€¤ˆÍ
+Ú‚+m.'ª®ãæáLVò ÊacL-À³…KË+@±ù~àI mªÎw3$‰/pKx÷ÛNìv þB ͽ2ÛÏA‹É]`Kmâd¹êuW‡¶oŠ\ˆ©/QÙî„„!'Ìqzî¿æÞ`rŒjéÒÍd‹ß”¥
+¹•úÑÅ0v ñ>R0Þ{W8ý34®H‘ó£îH±±­
+—0oj+tóH*ßj<šÊ¡ÁYzdÍ¿f1hJãg<+ïa??Â…VMQ·IŠ´Ö`ÁÖK)²jâ‚·8óK×…
+t‚i]ÕܹQ7•¬¶">ø'2cq’ÅuE}sÀ£e9L&„MrÐ`yOCÀ´ó'{›HPO˜ÒoÅø8ì»n·Šš¹Î1è˜(]zš¦ÊÜ÷ŒDÈQ–Í’>¸iŒYñvÃ×LT%ù+0&—¢1BµUkæÞê«–Ì«l
+¶Û2g§yö$®ö*Îæøe"'WèÖ£“C N1.-ÖsÛòQí5rJ÷ÛYAQ&¢V1R7Œ¾'NI,Ÿ*˜å~Ƶ”›~÷Úrò9!ˆcV†aCPµO;;PÝÌå³(t>ƒ ¯ì~0Óâ&ý¥tdW)T?&ÔzISÆ—µ Ñéô9óóŒl|—T¶·ô¤+NÓÄn“4üÑ«#éÜ‘ñÑÄüÁÉ֕aã_.›+A¯@™øêSÈ3•'üp‡IøÐÌySzùO ‡´æìÍ®¼Ck;ë2O3Ô‰áy/sT²—»ŸŸhŸúĈäomg…Zˆ­‰fº9ðþÒnjĹ.&i&ß7AŸÀ’\aö(±V­J¸ãnÔœm> ØŸ) þêy…ñålkMO¸éX8VEdàŸs][» NÆoñ3F_ 4å`}†v,ïˆnd ‚ì’تLÚB+;1‹h²QÀú·î´¢f)²kß8OÒ# õ:‰É°*NøG0Úðž{Ï·¸Gâ3]ÒB]ÝãŸeõÊUút–Zä¡ÛQ*He'3u}š&ºaVÙ0nÂ_å · Ø5J泧Þ;R~&ôc5Æ¥:3…/ïì&Ó¢.AðáÁÎƸÃÄžR¿nÈ€¦ã~E2Kâèš”¾³klÌM"÷mkòù¶Bˆ)™öøï¿¿ÓIF{/õð·לuù[Š“‹ÜhV¥<õ!1QÏG)9ì(Å¥ ÒtM ËëqÌõþ¸]%tƒP]¦ûtàÆ&Ks:!lg‡€†)®7ì,èøÔ:Åaäæá·ãäQùÔò=•ÃýnÙ,×À­¼kZ^IºgàÁô.uQ³÷ },Œz“¸»•dA@{â^@±ÝƒžÅ&ýþ°Æ¹rVL*ç‹jïRf§ž¦|ú¦ØhwFjPÜ{tnã𠞸Â1LM‰ðg6þ>¬€ä¨è!³ßO’N·3PsÞvz¤' W›Bb×÷d•ª;ì;Ъ"j7Ž”‹98ô©å,³ÑÕ4ÛÕ-뀌éÂçË+[ã®fΠ´=5"ëO_Z§ÝQýJå÷# ;~Æ×:¦ùOuP2Ãþû9¿™Úã†ß°q¸D’!ˆñÛü"Np G“ó TI¹Düˆmu áê°q¤boówH/Xâ¼¹vbh™‚79}Øži• 0!5mù'p¸ªŒÍ-ÖЗXéçQdrîá•fè÷ëåÞ1ŸdÅ˛Σã…ê(?ÞOCüUd;â±ñ.&- ÆÍ á©UÃ&ÄlÈQ¶œFWü ÊîG˜ç;!:XV†à Ž«¦g.šÆÌ" ƒâÝ`”Âp¼](G¦•|ªf?„ËÄŒjݬ~h2w|¶A™¿îÇ숚ˆ‘u #S0g0XÌŠo æ< ~°fC1å¹TËI€I¯v8ì{0®BôÂPœŽì>@;QÐÃ'‡³ †êÉ2$¢b(ŸÜ~¦r Ž}žjÈê 6G\æ«ëVáÃðšOD©h#Œir ~7úsaóÊÀ?Ô³©§²ÆÍ9Õܯ»
+%*RŠ 8$ ²Bí¦®ä[D¥ªÝ«ÔGÆ;üÑh<®^‰¨´ÑE—@$|ûÈ89O\2¾ãw3ÆRæò…iŠR)ÇäN(˜$ âBd ±ÈÔ: ¤cCœšÒ
+БQöw>}N·>¢Z[@ß HÀ—ÞäN—÷“$wŽp»X0õ•Äƒ<±´Áí¼sÎ*`<Ñú¶øAF‹/©
+¦£Ò턳`à*ùê™>÷)›td¾ñlË•]“î×=í
+9l¿»YªjËŠÍa™°Tt÷W.™”Õ>/žú„ VݪdspÏ#¸îú§+^üƺ§h¥ÔS-b©\LÔåg› llª¦¢,#Un¥`ÙD2ïÑw^´îWƒ…jžÚòHƒ,ߣ4i´Ø$ƒšš4œ¤c„\œÐ9˜n³žK=F™•S'a&È6cS4 EV×#ž°Nšy’ QN¦]ˆ‚{4)gáŠÈZó±ñëÛ¢¸$¶§”tÖ©ç< K·fÐ2o„mê„‘iª:Ï”)Ðö¬ ×ø,m/@=ÉFËi‚tÖ²$Q."]å+&•²jjÄD™Þ}Û­n38e(Ö²õ²·™s,ÒõáÙĽëÃîñ¦Öà#”
+, kÉ÷´éhÏ·.rLgâ×hž„—pZ??ÎË;@·aQÞ¦fÍ‘Á£˜ÁüÒ,_g+õÇDê–[ÖË`lƒÿmjC“½ µ‰¹ñ•«ßyÁÙUe°M ©P21=ÑAC6R²ãxÖ¢Ó»ÌiI˜µnþ¡twÙW|$Ø©Ýv;Œ4âcƒäy.,üôFÖm@Ë1›ÚÜÒS½V%¥ òN)®#ò÷~H}ç†/œ¶C<ZÅ-#©óô;=Ôg…æÙVÝæ<T³4ä5ªhš íIRaت¹iýjÕ{Í!Á
+ÛhÆ‚p!Þ 7©ÃïsíÝ!³Vðû”Sr«­r ÏýØÛ 6ç¼ÓÆÐè Y2f@Þ#'G*)†ó¬£sHj†AvÙøÖ£œw›ú<K%}9©CLû2Ý~a…z
+¿zN@â{äye‰z•¢tø8h(òD¬LnbDw•i±Ž™1·mq±’™Õà‰¼V¡ØY`Ta}Võ–«Ô+@<‚wàGô*”Ú3·†™èÊ×ZO@X@eúåé3Ÿ!U›£×øª·ü|Nú‚,=[ÑLšH2ŸH÷’3?2Ã<ú1øŒÞ|/ÂM'6¹ÄÂæÚÎ[»Õš¾{/".¤´oIÁ®x¨tw!g;ëÙM|@j²†l»¼!9û–ƒ
+ ’â;ŒºÓ/I}hŠb@xž¹ß£vÿ¨É•BxÞk_Î(7Œ˜
+—M±ñdr%´/™&HñæQÕ´+ y–›=PÎ3këЗìº;KNrÉ CMH°è-ª»Êìü9!… [ZÖ´DvI—4ê!\†Cj.©­eœ’ 0
+ÂJY†Z†ûš|ý4-¼©‡ôÄÖ/äNø&vL‰¸y)û÷oæéÆ¡s¨Fâ²JJ–à!`²K-TîÍ$\ \8fÇ®Ÿ™ºˆ¤]z‹9L9‘Ïÿö4ÆðÞ/Tþ&š¥ëÕŽÛîäHŒ7ýø1ô°’ë{ÇnŽrbÍ¤à„©7ëã!ÀÎ|#^ìñ›C§.Öçì1Ê"‰ >B÷‹=^Õäìb—bu/ÙÒXÄ‚™Oå§kY‚O)™:&Bç|i¿ôÚ¸rŽ:7q.8VJG±Ú–=
+¼œggÍMÛR9éà½Ù»T¿Ø6žft»@ã.‡±v¸g8ËÃ7ÖÇËñˆùƒs‡@JE¢ ÌL‡²¾ì§£é-ø?ÝÉ8݇uÊ I·ï*"3 Ò÷ËVA¬¢Õ- ¡Z"ÞÆmU{/)tŽÎ›ð?KŸä~_†ÜÙš Ö¶lâ’¡n˲aþq+—ôú¨¤ë1æo/+žQTËq&ÕHdn„Ô¾u ˜Ñ­-ëMåÇ‘sÿÉÅ™[tœ¼¨øµŸÀÄíÞ®ßPx|òúËüá‘æ/¨-epsƒÛ;ʽQÊeŽÍYszgÏLf²Ê%—â
+‡3¾•þ4¡´°Ç4s©Ó(œ#qp6ß ïȈLÞè¹xÌ9ÿ*Ͻ-+\NÆ"ìÊלý 4±ëè“B»5ýû/VQO‰Aüp ÈÄ@ˆtö·­ã*EÕV0µ¬7Vn¸¨bÍ[u?¹CöuJ4,Òk|_Ë­|Ïë2•`k”äÅhÅEdÔ<üÉgÁÛ{Ôrä5ø‹›o{Ÿ¬cy¯£ÓJ¥Ò/âðÉÞ28Ê8®9!úzÕP“¤¨x÷6`1©ÖÝ`¯îOzó€Xú8jvƒXq¢™°£»kÌí²¶¡‰2D¾ß•‰”uaôBAwõúà ‰¿
+€ÞŸ|æ`xFÎärãiwÍBÄt·Ñ9”kE‡-ñL¡•´]^`ƒ|ðv?B@ÕÚ,eç¼oì.9‚¿‡ú‚8ÛƒïûÝ
+2h°Ø‹­ˆÓçBJ6 rD÷ öy@hÓ©A˜orÉbo»­]hdçb;é^ûxw^c»{$¯öw÷ª(:©]Bæ?0B¨Zt=qsŽ»_ý¾$UÎö×ÐíT! vMIöM»ªéKk¦øy"Óî“hŸQ¨¿tHg½Å#v³ Ë¢¹(^Ë×"F¸Cáß Úï~µÍO[ŸåÇ•ÖZ²Æ~!íg‚dö¯hÙ¿¿«ðÉ×_j¼ºÞÑñ¯EAåƒß€MŽ›_ô?¸M¼½Ñ¹t~ŒÜ+ì SVáu¤T…r©¡l®¥Uƒ0P;Þ‡™OØ~uLáÑwöÞ5gL›É+Êj/1ˆwv_›Æª¥µ[þ±žœh…{eóåa"ë‡
+É5w½‚'☺²¡tg‚ÉGѺÐäQ`Æ9vÉlpúÿÖ§ÿ¢^ʆÁ.¸7%Ò` ã±¬Fœ}a<õŽÞµªž2Ȇ´h¶”RÒ`k‰ÉÓUúÞê¤/˜÷¢ú¹«É«¿ð\”)$q‘1)Û
+ !˜s¥8cs;ªÄj­ÌÜfºô#·Ãÿg:‘s2$Œ©ˆ×6'?^1„4=Wk¯^éßÈsê&Ù¸e;ìðìÐégªA¬½Ù¢vXþ]ïz¿Y¬ÍrôÞ=
+ Þ?”XÉÙTVà†Q¢›‚3=A(ÊŒ®?Ît??xnkà1›Ô›ÔÚ äŸA`ã×0滬²tôŠ¡Œ»*!ÂFë¾ÈÕÁ(»L lô-eFf×Å
+§,Éù¾Nª„8’sŽ±©U WSi—³¶,keõ%ï"‚×cQ:Á`c„†3p› Ò£ïט vv„_Y†)„A(@n`'7)$P²tJíòkÓp? ¨OÝï°¸>ózäö o"DXÓº3Êlª‘ûÁ†êÙKß±6ÎÀš9ŒÌ9‘ 寧«Ÿ#Áâw©üljœ]rlXÀfñêjéÙÖ ˆ¹œqwLLCÖŽ¯ËAŒÍƒ•è­0|¦·Ý¢fZ/Ç
+qH {ÃŽÆ¡I<Ü“QvÏÍ ‚TD†¶ßûu|s˜ÙöoÜœ¼ •ÁáÊË—1™­.·óüe|î÷œzzE<wèÙÀ
+L¦zRŠÑФtÔļaÇ;újwÛ³
+ž‘ÊòüÂœNBMßL¢váKÀ$¸èŽ`e2s®5‚}ا:Yo
+} v³m"ä¿â¶O›‘%)6HMí°uÉ]²GTšëseZ,Áa‡ýft{ñ«èÉÀ¡?*Xù å¥}’lºâç0íùË·=öâoÆ,˜ÂpÈ~“ œ¬L+̯Ú÷;Õ½²?¹®$Ó wï¤Á,í`ô‚
+ÍøƒRëOIz6¥K1#:­¥¬ìÃ4›çTPb§qø/:ÙsÉém½ É*Ácîowæ\·‡t‰Èâ’D…>Ý³Ý U1d•1°Æ½™Ä<‚Ǩ‹Ç/œapbÑþ?íÌ÷?
+eËè2R¼ÄûÛûyŸ?à ·Cžtж‰ä€¢rªØt°W¨ÂÃ^Ã>
+ŒÙí?ÄSËÜ·7 ¦Mwv½ r#aCp ÑÁ¤»Ê«Z²â™×?åYó›j‚foM¤Ž¾ïhWò÷%Ñq.4ƒ5ÍÞóŒ®:žªFï€uI|Òxóstóår}¤‘(º…íOëËD›ïö0C³Xò™Ï­mtý#¿#/OÙÉU5ƒ|¦ðžË%åOŸ8+‡!ðÕÈïÆÄ»Þpi¯ÏÊ*ÓK(’èÛ¾½ÙR„n9 ½i3Í“~i/]L‰ÙA•+®ƒ¬-ãÐúˆ¿”X£Ôëë"M3µ°hónf;ñˆYþÒ$qW½ÒG_¹jcR2š×»‹7¨Š}r ¼áègJ?%Lë9bBú<–ŽÌ&f·´È’Mµ½>ºç|lÙQs-
+Ï7û1'»öoσAü¬¸²a«Í¡K-é¢äþ{." xÊDï ùÐæI~˹G=Ö±?‚§>Èyüñ°“NÐ%îIß×µ¿è4É^)Oïä¥ç¾®ÁÉ’F°³¥1ŽžzÓ€SÚóJîi¸g_ ~`ñ›1E!ûŽ±Ö]Óhcotí¿AàçUpö„ß*&"-š{~gò&ú{ …rO]ÉOœ…È”[‰„î£-•;J×VAЊü$JJX&Ê×"é 5
+¼ØñÆV¼_±  ’™c€AÆ
+€~g´¦™L#ZeöܬðrF
+¨ì¿öžÓpÇ£†äH¶Õ2Señϵt(å¶õOÖt†Ò[ \„¢73}ñƒça-ø{û9…Ô8‚Ãõa8K<ªä-™£UÍZˆjzìɲ¦Omuã–‹
+|BÖÝB|kæZÄ@ºÛt7B5úÿü¥/Òµ׃1šòò‚Æû±®¸—ÜQZÖ¿S^©Àþz?§â7*¬UÌ‘Ž´Á9a¸|ø2DyúQZg‰?D[á4m|‚B–*õ¹÷kîìDRºÚ0„¾ýç–É­wó~ýØÒPÇü>?
+»ë~÷aœ¿nïOÝp}ê#Æ)f’’¦„?BË`„ú ~R(hà'Ùç¾óì ØÉ»žOÛšù.»ûe<™“1êÌÇÒïÒÂfÔÕóÏ“¤òÞ!°(íTLÈÃÖ¥råúDÌ|–ÐÅ8Gä|}¥|è+ÏTPDpƒˆíJN5ª,»sa}èàÝ!/ÿhEî:±‰–ÂÖuL¥èmzÍŒÈ%áØß+pJ^‚…®Ù†V§óÕ7ƒ° 3¡‘ áâ9zU¯Ì…‰ò;é–Ÿ·(Nâ°­|&=×ÝÉEr4GîÇ4ê˽/Vñùén :,'劘ʕc(x^µ@$<B'Ϙ½23n
+ͬm wðôš].{aëyjø0}ïuÁ¸lƒÁ'ŽC»£"éƒíK±Ú¢@=Ñ~ºÈµÔÁ'pî,¿,Çî×/¶'™¯æµ‘Ʊiá«‘ œGäÂôÞtµoyOYú÷zšH™
+ŠwêˆVM¤¬Èôv£äGÓtøu #£yå\x¦CžšƒÇŸÇ˜ZçU.æ@ÈÄôÄe²˜=æ÷ÉáyÜuù^é"HÄÇ׬íôœ™Í ®h;@‰¦$ˆ;ï¼ã>ÛL‰†¸æVìP¤ýÄJÍÏD{¤>pV$QJ¬©ô=˜Ð9 Úp€Õâ«ùD¤å0ù_‡b>éRêVtÃÖ ÄM
+Úð­,6äX€qÐ-}nJ®k^¨£ô@l€¼ÜI>Œ˜×TqÅOшتxín°úâ…õµ4JÌäÅV kw¨Š‘þI’€¥¤\°^0Vò˘íep«%"h* ê mQôB±Ýë“ÙÏXšEÿ¶Éµú0üöA•ÚªÏPbÑËöê6EL7‹:Æ6
+ϥ
+mŽ[A±Ræ¦ØíŸeµ1£¿YÝÒ~kð¢|Xžë,|@î~èÒ<¦maöè“žÉGJPòíRWù˜ž ‰P ŠïMÏÜ£Ëÿx½qì’‡î“ü\Ÿ,³›}ÛÃë½E#û¼ÐÄ!áosA8G'Ñ´2›_ð‹¿Ào8V  qqML2ÔËÜIVœmá\©ü:’P -wÇrµ? ²T§‹ÏlKðKáJì}Z%=|Ó˜~¹´ê¡¿QL-jÅ¿Vq†/¥ökåàM×±Û÷a”÷1•£Ôq/dWµ8à UnˆÇrÉ•Ü “6ŸùÙ¥»R̓AczCËSåã§
endobj
-1218 0 obj <<
+1223 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 33
/LastChar 125
-/Widths 2748 0 R
-/BaseFont /IKTJWT+NimbusMonL-Regu
-/FontDescriptor 1216 0 R
+/Widths 2773 0 R
+/BaseFont /TGJRXT+NimbusMonL-Regu
+/FontDescriptor 1221 0 R
>> endobj
-1216 0 obj <<
+1221 0 obj <<
/Ascent 625
/CapHeight 557
/Descent -147
-/FontName /IKTJWT+NimbusMonL-Regu
+/FontName /TGJRXT+NimbusMonL-Regu
/ItalicAngle 0
/StemV 41
/XHeight 426
/FontBBox [-12 -237 650 811]
/Flags 4
/CharSet (/exclam/quotedbl/numbersign/dollar/percent/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright)
-/FontFile 1217 0 R
+/FontFile 1222 0 R
>> endobj
-2748 0 obj
+2773 0 obj
[600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ]
endobj
-1160 0 obj <<
+1164 0 obj <<
/Length1 1620
/Length2 20127
/Length3 532
@@ -14046,7 +14182,7 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚ¬ºct¤]·.Ûv*I§cul'[£b§bÛ¶mÛ¶­Ží¤cwý¼ï·÷>cŸóëœý£jÜk^s^×Zë5FQ’)ª0›Ø%ìlA ,ŒÌ<
+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ÀÁõ@‰Î
@@ -14120,35 +14256,35 @@ K› ÀöYt^¬evQ&57Ñ„t9Æ©‘;ØQLV2²ûËI2­U^¹¨%Ô~ŸŒ×ˆzW
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
-¹ƒ%ÔÕÝÙêjýÏâ endstream
+¹ƒ%ÔÕÝÙêjý“Ýâendstream
endobj
-1161 0 obj <<
+1165 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 2
/LastChar 151
-/Widths 2749 0 R
-/BaseFont /JVRIIX+URWPalladioL-Ital
-/FontDescriptor 1159 0 R
+/Widths 2774 0 R
+/BaseFont /TKIPXT+URWPalladioL-Ital
+/FontDescriptor 1163 0 R
>> endobj
-1159 0 obj <<
+1163 0 obj <<
/Ascent 722
/CapHeight 693
/Descent -261
-/FontName /JVRIIX+URWPalladioL-Ital
+/FontName /TKIPXT+URWPalladioL-Ital
/ItalicAngle -9.5
/StemV 78
/XHeight 482
/FontBBox [-170 -305 1010 941]
/Flags 4
/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 1160 0 R
+/FontFile 1164 0 R
>> endobj
-2749 0 obj
+2774 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
-1025 0 obj <<
+1029 0 obj <<
/Length1 1630
/Length2 16214
/Length3 532
@@ -14161,139 +14297,148 @@ xÚ¬¹eTœm“-Œ»kðÆÝ‚{pw×Æ¥qwwwBpwwwwn‚÷/Ïûž™9kÎùu¾ùÕ÷U»jW]µë®^½š’TI•QÄÌÁÄ\ÒÁÄÈ
R
ššÛ»˜Ó,œ¶ÿ>
üfîajîøÄ
-hjcÿOó9ÿ ™Û›ý÷úÿÊô¯ê™åäåU%´èÿ½Ê¨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Ô¾©Òÿ{•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‹²¹
endobj
-1026 0 obj <<
+1030 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 35
/LastChar 90
-/Widths 2750 0 R
-/BaseFont /LMMSEX+URWPalladioL-Roma-Slant_167
-/FontDescriptor 1024 0 R
+/Widths 2775 0 R
+/BaseFont /DOZTJS+URWPalladioL-Roma-Slant_167
+/FontDescriptor 1028 0 R
>> endobj
-1024 0 obj <<
+1028 0 obj <<
/Ascent 715
/CapHeight 680
/Descent -282
-/FontName /LMMSEX+URWPalladioL-Roma-Slant_167
+/FontName /DOZTJS+URWPalladioL-Roma-Slant_167
/ItalicAngle -9
/StemV 84
/XHeight 469
/FontBBox [-166 -283 1021 943]
/Flags 4
/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 1025 0 R
+/FontFile 1029 0 R
>> endobj
-2750 0 obj
+2775 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
-963 0 obj <<
+967 0 obj <<
/Length1 862
/Length2 1251
/Length3 532
-/Length 1860
+/Length 1861
/Filter /FlateDecode
>>
stream
xÚíUkTgnõJÀ+Å€€¸
-æ2@ Š,š–{ä¢HeH&$d`’`€
-,P ‚A…ÊE ÒJi½
-& X¹ê
-ºè±KîþÚ³3æ}žç{¿gž÷;ç33ñdœØH0ì‚ÅÒ
-¸!l®”úÁËæÜ`6O"XÉ2ÄŸÇr†ða€
-‡ ¬¢1 À²a)
-Ž£vð44ûȉT(¬¼FœZGôÙóë=Ò›¤OŒSMSÌžµ2Ë¥3i±†1¿ß ×ÄßIË(žùÊC ×dL¿6p[žt]IÊŒßÛhìjÔöКûrs›•»ì£ò õª‹#µí¡|~®S^«47—Å>/‡Â
-jr÷<‰Žø®~çœ>ã(ñ‹êSž–Ö˵»ëõ@Ý]w{3_j¹wh¤QÜ$WfeµÜãc$üð¸MG÷í½¥ãïé|û•W` .Ãry¥‘Ñ2<xìZ8EËTÖegdþ¥ïKÆêòµ¢‹M¢’‹ñc‰´þ#`ÕÎ.ð¾j<ãPN,c’‘¦—r5Æ‘ãí«,›7ÊêôzjÎÈä}:Æšýʬh=…‰¬RÄãœÖžÍLÏð t÷òÿB#îPs^R Gà3µºïyÅÓ2äÌŽ±- c~êdÆñÖƒVS¢q¦6íbW©Š¡y|±ÁÑf¦@Ó©üÌzCä´ß û_ØßÅ-LÎæFO¥žýÍôEÜà“ßm,
-%üc94¡ÜÜ—=7âfp¢ŒûLéQçP]flBìµ·Kê Ä9¢²¤våš'øÖA÷ݧGÄeŽ3ñÔÐõ(—]vÐNH¨¹®[( ™Ýaa9ÿ¬TL [¨{f€kz·îØ3ù¡ö¥ï‘“;~TS,%­ßÖìgÝŸ®öÙô:Ó÷Y]?÷£°èÎú«_FäÍVSyÈúä—pïç7J¿üñ·¡ÒɈõùWoʯʉ.„Ö‰Öþ›E¶TÅ‘“Êk•×Ç$ 7Ìe$å-ŠOÂé,v@ižß…ÔQ¬Ë*‹GUM=uó)Aƒ¢…p订êcÚ<Êyê2^á0YY@û”¹ï×8ª˜sÂéù/'I¯»ŸkÔµJÊüèU)SÓ%Z­¯·zfµy êÉæ¬,é”ê5’}Í Í~w¿áŽ=œ¹ó¿Kí[Öû)cìu¼Cq–ê<ùéNóîWÜü§Ç4bRäÃEt|⺀{ªU*õ)£pÚ=y`ű®0íü¯î»
-•)Éó‘[ò‡®5VìòÍc43[ØÛ0Ûô2ÑBõMf•§éjãâ¾…’J€¾m¸X]0ðI¼½lÀ-BŸ0JcM|Z”ÐÐá90×%ÉiÈMÈq—_Ž&g>.EŠý[mtÊñÅ=1—DÝàh£¶š†ÀÛOu<ÒµnæÎ]8µ¾P6æªZ£Ùg {§Ó¥lT·u¡–½»åÖ¨cèÓU-I0¿Mó§ÙÁ¦@pÐ//]sÆfC"b’“8Þ]°]ßp]¶Ñ^‡€ošÇ?¦>˜Ýê5h;>•MsÊo:Ä(‡Äœ3ùáëèê‘€µ£?÷µè«êêŸêìJö‹u5k—¦œVNmÜÙÞM8¾+ÛããDßçt×Óýsr­ÕIå±ìŽÐz4çh¶·F¯Œ[°6¨7·‚óžù?|pÿoð?Ñ
+æ2@ Š,ÂEE*C2!$“”ËŠ T¨\*­”Ö °@¹¬(xjD(ÈM£`‚•«® ;€»ôçî¯=;ógÞçy¾÷{æy¿s>3o‚ „]¡˜
+—K}à%sn0›',gbˆÏc9 ƒø0@
+šyŒóç„+VžÃNÍ÷TÊcú칵̴F?éSãÓd³ç-ÞeÒéÔèßo…jâ歷¦MÅÔÂ5Ó¯÷ß‘'ÞP’2âv7»µ>²æ¾ÚØjå.û$ˆ<`½âÒpA[ðã?W‚ÉoTšKc^”A!ùÕ9Æ»žF†}W·}ö
+Éþg…bJØbDýÔ#\Õ³yÛ®‰µ/ç{ ŸÚö£šb)iù¶z?;àÁTÕ o2>o§ëç|òÝ_õ«°Ü¹£Cêã*¦¬W~÷a^ƒô{Á,™[›wí–üšœèBhoé»UhKU{8¡¼^qcTRÓÁ\FRÞ¦ˆ?“Éö+Éõ¹øƒšÁº¢²x\ÙØÐ];—0 š…î)*?¥Í¡œg.cå%~´Ï½÷üKsN:½øåéMB× Ú©Q©½2yrªX«åÍf̶A怞lÖÊ’N©Z%ÙÓD
+¥Ý—û—k R/üê¾£@™œ4¾)oðzCùŽƒ¹Œ&ïæ‡vÇ×Í4¾J°P}“QéaºÒ¸¨w¾¸ o*Rç÷Do-íw Ó'ŒÐXãŸÆ×·‡yôÏvJ²ësâ³ÝåW"ÉOJ"ß2|QwÔeQ×:8Ò¨µºÞÿÎßSu®™¾{N©+ºªVDiöèÞíp)Ñm™¯aïl¾=â<ètMKÈoÕüi^v¸Ñ$öÉMÓœ¶Y—€˜d§ùuåoÕ7\“e´›ÄáûáCçðO¨g6{ØŽMfÑœò0Š'AQçM~ø:ò¨jØouØÈϽÍúªÚÚ£§;:“|b\MgÛ¤Ég”“ë··uNìÈb>fœìÝKw=£Ñ7+×Z™XÃn®³AcIº£³¼4zdÜüÕ=9åœtÈÿáƒûƒÿ‰ØÕ ¡bD
endobj
-964 0 obj <<
+968 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2751 0 R
+/Encoding 2776 0 R
/FirstChar 13
/LastChar 110
-/Widths 2752 0 R
-/BaseFont /CSSLUV+CMSY10
-/FontDescriptor 962 0 R
+/Widths 2777 0 R
+/BaseFont /JOBMIK+CMSY10
+/FontDescriptor 966 0 R
>> endobj
-962 0 obj <<
+966 0 obj <<
/Ascent 750
/CapHeight 683
/Descent -194
-/FontName /CSSLUV+CMSY10
+/FontName /JOBMIK+CMSY10
/ItalicAngle -14.035
/StemV 85
/XHeight 431
/FontBBox [-29 -960 1116 775]
/Flags 4
/CharSet (/circlecopyrt/bullet/braceleft/braceright/bar/backslash)
-/FontFile 963 0 R
+/FontFile 967 0 R
>> endobj
-2752 0 obj
+2777 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
-2751 0 obj <<
+2776 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
-960 0 obj <<
+964 0 obj <<
/Length1 1616
/Length2 25435
/Length3 532
@@ -14301,7 +14446,7 @@ endobj
/Filter /FlateDecode
>>
stream
-xÚ¬ºc”¤]°%\]î²,Û¶mÛvuÙ¶mÛ¶»lW—mÛúú}ïܹ³î̯ùæG®õœˆ8;vÄ>'Öz2“„@^‰FÀØÎÐDÔÎÖ‰†–ž ¢¨&o`mm`la'M£hgc
+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Ó€
@@ -14404,35 +14549,35 @@ PÔ3)lmŒ;œ¸—ü“5|—î”+ÀTÅv‰¼Ô_òF^›b QãLT?yÇ¥ðb²èewïA© !ÅdYò]mÝ ÏÈÍ[Ÿ
‡)Í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Ìÿ
+ÇГöÞVMýͲ:“®³m›ÓWBÖþü/ùÁÿ ±©¡“‹½­¡“5Ìÿ
endobj
-961 0 obj <<
+965 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 2
/LastChar 216
-/Widths 2753 0 R
-/BaseFont /YLIKIY+URWPalladioL-Roma
-/FontDescriptor 959 0 R
+/Widths 2778 0 R
+/BaseFont /DEEPVW+URWPalladioL-Roma
+/FontDescriptor 963 0 R
>> endobj
-959 0 obj <<
+963 0 obj <<
/Ascent 715
/CapHeight 680
/Descent -282
-/FontName /YLIKIY+URWPalladioL-Roma
+/FontName /DEEPVW+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)
-/FontFile 960 0 R
+/FontFile 964 0 R
>> endobj
-2753 0 obj
+2778 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 ]
endobj
-937 0 obj <<
+941 0 obj <<
/Length1 1614
/Length2 24962
/Length3 532
@@ -14443,7 +14588,7 @@ 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
+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
@@ -14543,272 +14688,285 @@ _ÏfZYX/JÿŠPžUºÐ±;Äó™Ã¾¨5ÃÎ~¢M~;-5”äÖ$„€`3’’˜à0ßnpöã¤ÒE›­ðÆúb89qÄZ¥| ž
!µã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#å
+½¨©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#å
endobj
-938 0 obj <<
+942 0 obj <<
/Type /Font
/Subtype /Type1
-/Encoding 2737 0 R
+/Encoding 2762 0 R
/FirstChar 2
/LastChar 151
-/Widths 2754 0 R
-/BaseFont /TJFHRX+URWPalladioL-Bold
-/FontDescriptor 936 0 R
+/Widths 2779 0 R
+/BaseFont /QNWRMW+URWPalladioL-Bold
+/FontDescriptor 940 0 R
>> endobj
-936 0 obj <<
+940 0 obj <<
/Ascent 708
/CapHeight 672
/Descent -266
-/FontName /TJFHRX+URWPalladioL-Bold
+/FontName /QNWRMW+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)
-/FontFile 937 0 R
+/FontFile 941 0 R
>> endobj
-2754 0 obj
+2779 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 ]
endobj
-939 0 obj <<
+943 0 obj <<
/Type /Pages
/Count 6
-/Parent 2755 0 R
-/Kids [930 0 R 956 0 R 966 0 R 1021 0 R 1085 0 R 1148 0 R]
+/Parent 2780 0 R
+/Kids [934 0 R 960 0 R 970 0 R 1025 0 R 1089 0 R 1152 0 R]
>> endobj
-1226 0 obj <<
+1231 0 obj <<
/Type /Pages
/Count 6
-/Parent 2755 0 R
-/Kids [1210 0 R 1228 0 R 1240 0 R 1253 0 R 1264 0 R 1271 0 R]
+/Parent 2780 0 R
+/Kids [1214 0 R 1233 0 R 1245 0 R 1258 0 R 1269 0 R 1276 0 R]
>> endobj
-1287 0 obj <<
+1292 0 obj <<
/Type /Pages
/Count 6
-/Parent 2755 0 R
-/Kids [1283 0 R 1289 0 R 1297 0 R 1306 0 R 1316 0 R 1329 0 R]
+/Parent 2780 0 R
+/Kids [1288 0 R 1294 0 R 1302 0 R 1311 0 R 1321 0 R 1334 0 R]
>> endobj
-1337 0 obj <<
+1344 0 obj <<
/Type /Pages
/Count 6
-/Parent 2755 0 R
-/Kids [1333 0 R 1340 0 R 1347 0 R 1352 0 R 1373 0 R 1383 0 R]
+/Parent 2780 0 R
+/Kids [1338 0 R 1346 0 R 1352 0 R 1360 0 R 1381 0 R 1391 0 R]
>> endobj
-1392 0 obj <<
+1400 0 obj <<
/Type /Pages
/Count 6
-/Parent 2755 0 R
-/Kids [1389 0 R 1394 0 R 1399 0 R 1408 0 R 1417 0 R 1424 0 R]
+/Parent 2780 0 R
+/Kids [1397 0 R 1402 0 R 1407 0 R 1416 0 R 1425 0 R 1432 0 R]
>> endobj
-1433 0 obj <<
+1441 0 obj <<
/Type /Pages
/Count 6
-/Parent 2755 0 R
-/Kids [1430 0 R 1435 0 R 1445 0 R 1457 0 R 1465 0 R 1475 0 R]
+/Parent 2780 0 R
+/Kids [1438 0 R 1443 0 R 1453 0 R 1462 0 R 1470 0 R 1480 0 R]
>> endobj
-1489 0 obj <<
+1494 0 obj <<
/Type /Pages
/Count 6
-/Parent 2756 0 R
-/Kids [1484 0 R 1491 0 R 1497 0 R 1502 0 R 1511 0 R 1517 0 R]
+/Parent 2781 0 R
+/Kids [1489 0 R 1496 0 R 1502 0 R 1507 0 R 1516 0 R 1522 0 R]
>> endobj
-1530 0 obj <<
+1535 0 obj <<
/Type /Pages
/Count 6
-/Parent 2756 0 R
-/Kids [1523 0 R 1533 0 R 1540 0 R 1544 0 R 1554 0 R 1559 0 R]
+/Parent 2781 0 R
+/Kids [1528 0 R 1538 0 R 1545 0 R 1549 0 R 1559 0 R 1564 0 R]
>> endobj
-1573 0 obj <<
+1578 0 obj <<
/Type /Pages
/Count 6
-/Parent 2756 0 R
-/Kids [1566 0 R 1575 0 R 1584 0 R 1592 0 R 1603 0 R 1609 0 R]
+/Parent 2781 0 R
+/Kids [1571 0 R 1580 0 R 1589 0 R 1597 0 R 1608 0 R 1614 0 R]
>> endobj
-1620 0 obj <<
+1625 0 obj <<
/Type /Pages
/Count 6
-/Parent 2756 0 R
-/Kids [1615 0 R 1622 0 R 1626 0 R 1633 0 R 1638 0 R 1648 0 R]
+/Parent 2781 0 R
+/Kids [1620 0 R 1627 0 R 1631 0 R 1638 0 R 1643 0 R 1653 0 R]
>> endobj
-1655 0 obj <<
+1660 0 obj <<
/Type /Pages
/Count 6
-/Parent 2756 0 R
-/Kids [1652 0 R 1657 0 R 1661 0 R 1665 0 R 1669 0 R 1676 0 R]
+/Parent 2781 0 R
+/Kids [1657 0 R 1662 0 R 1666 0 R 1670 0 R 1674 0 R 1681 0 R]
>> endobj
-1685 0 obj <<
+1690 0 obj <<
/Type /Pages
/Count 6
-/Parent 2756 0 R
-/Kids [1681 0 R 1687 0 R 1693 0 R 1703 0 R 1708 0 R 1712 0 R]
+/Parent 2781 0 R
+/Kids [1686 0 R 1692 0 R 1698 0 R 1704 0 R 1713 0 R 1717 0 R]
>> endobj
-1724 0 obj <<
+1729 0 obj <<
/Type /Pages
/Count 6
-/Parent 2757 0 R
-/Kids [1716 0 R 1727 0 R 1733 0 R 1741 0 R 1746 0 R 1750 0 R]
+/Parent 2782 0 R
+/Kids [1721 0 R 1732 0 R 1738 0 R 1746 0 R 1751 0 R 1755 0 R]
>> endobj
-1759 0 obj <<
+1762 0 obj <<
/Type /Pages
/Count 6
-/Parent 2757 0 R
-/Kids [1754 0 R 1761 0 R 1769 0 R 1774 0 R 1782 0 R 1787 0 R]
+/Parent 2782 0 R
+/Kids [1759 0 R 1764 0 R 1773 0 R 1779 0 R 1786 0 R 1791 0 R]
>> endobj
-1798 0 obj <<
+1803 0 obj <<
/Type /Pages
/Count 6
-/Parent 2757 0 R
-/Kids [1794 0 R 1800 0 R 1809 0 R 1814 0 R 1818 0 R 1823 0 R]
+/Parent 2782 0 R
+/Kids [1799 0 R 1805 0 R 1811 0 R 1819 0 R 1823 0 R 1828 0 R]
>> endobj
-1832 0 obj <<
+1837 0 obj <<
/Type /Pages
/Count 6
-/Parent 2757 0 R
-/Kids [1829 0 R 1834 0 R 1839 0 R 1843 0 R 1852 0 R 1859 0 R]
+/Parent 2782 0 R
+/Kids [1834 0 R 1839 0 R 1843 0 R 1848 0 R 1855 0 R 1864 0 R]
>> endobj
-1867 0 obj <<
+1872 0 obj <<
/Type /Pages
/Count 6
-/Parent 2757 0 R
-/Kids [1864 0 R 1869 0 R 1873 0 R 1877 0 R 1885 0 R 1889 0 R]
+/Parent 2782 0 R
+/Kids [1868 0 R 1874 0 R 1878 0 R 1882 0 R 1886 0 R 1894 0 R]
>> endobj
-1913 0 obj <<
+1911 0 obj <<
/Type /Pages
/Count 6
-/Parent 2757 0 R
-/Kids [1895 0 R 1915 0 R 1930 0 R 1940 0 R 1957 0 R 1963 0 R]
+/Parent 2782 0 R
+/Kids [1898 0 R 1914 0 R 1929 0 R 1941 0 R 1961 0 R 1968 0 R]
>> endobj
-1974 0 obj <<
+1977 0 obj <<
/Type /Pages
/Count 6
-/Parent 2758 0 R
-/Kids [1969 0 R 1976 0 R 1986 0 R 1992 0 R 2001 0 R 2011 0 R]
+/Parent 2783 0 R
+/Kids [1974 0 R 1979 0 R 1989 0 R 1995 0 R 2001 0 R 2011 0 R]
>> endobj
-2027 0 obj <<
+2030 0 obj <<
/Type /Pages
/Count 6
-/Parent 2758 0 R
-/Kids [2021 0 R 2029 0 R 2035 0 R 2043 0 R 2051 0 R 2062 0 R]
+/Parent 2783 0 R
+/Kids [2023 0 R 2032 0 R 2040 0 R 2044 0 R 2052 0 R 2060 0 R]
>> endobj
-2077 0 obj <<
+2078 0 obj <<
/Type /Pages
/Count 6
-/Parent 2758 0 R
-/Kids [2070 0 R 2079 0 R 2085 0 R 2096 0 R 2100 0 R 2104 0 R]
+/Parent 2783 0 R
+/Kids [2072 0 R 2080 0 R 2088 0 R 2092 0 R 2098 0 R 2109 0 R]
>> endobj
-2118 0 obj <<
+2116 0 obj <<
/Type /Pages
/Count 6
-/Parent 2758 0 R
-/Kids [2115 0 R 2120 0 R 2127 0 R 2137 0 R 2196 0 R 2252 0 R]
+/Parent 2783 0 R
+/Kids [2113 0 R 2118 0 R 2129 0 R 2133 0 R 2140 0 R 2150 0 R]
>> endobj
-2340 0 obj <<
+2264 0 obj <<
/Type /Pages
/Count 6
-/Parent 2758 0 R
-/Kids [2306 0 R 2342 0 R 2350 0 R 2358 0 R 2365 0 R 2370 0 R]
+/Parent 2783 0 R
+/Kids [2209 0 R 2266 0 R 2320 0 R 2355 0 R 2363 0 R 2371 0 R]
>> endobj
-2379 0 obj <<
+2382 0 obj <<
/Type /Pages
/Count 6
-/Parent 2758 0 R
-/Kids [2376 0 R 2381 0 R 2390 0 R 2396 0 R 2401 0 R 2405 0 R]
+/Parent 2783 0 R
+/Kids [2378 0 R 2384 0 R 2390 0 R 2394 0 R 2403 0 R 2409 0 R]
>> endobj
2417 0 obj <<
/Type /Pages
/Count 6
-/Parent 2759 0 R
-/Kids [2409 0 R 2419 0 R 2427 0 R 2438 0 R 2445 0 R 2457 0 R]
+/Parent 2784 0 R
+/Kids [2414 0 R 2419 0 R 2423 0 R 2432 0 R 2440 0 R 2451 0 R]
>> endobj
-2468 0 obj <<
+2469 0 obj <<
/Type /Pages
/Count 6
-/Parent 2759 0 R
-/Kids [2461 0 R 2470 0 R 2478 0 R 2482 0 R 2487 0 R 2495 0 R]
+/Parent 2784 0 R
+/Kids [2458 0 R 2471 0 R 2475 0 R 2483 0 R 2491 0 R 2495 0 R]
>> endobj
-2514 0 obj <<
+2509 0 obj <<
/Type /Pages
/Count 6
-/Parent 2759 0 R
-/Kids [2507 0 R 2516 0 R 2523 0 R 2532 0 R 2536 0 R 2540 0 R]
+/Parent 2784 0 R
+/Kids [2500 0 R 2511 0 R 2522 0 R 2529 0 R 2538 0 R 2545 0 R]
>> endobj
-2553 0 obj <<
+2552 0 obj <<
/Type /Pages
/Count 6
-/Parent 2759 0 R
-/Kids [2544 0 R 2555 0 R 2566 0 R 2573 0 R 2577 0 R 2589 0 R]
+/Parent 2784 0 R
+/Kids [2549 0 R 2554 0 R 2559 0 R 2570 0 R 2580 0 R 2591 0 R]
>> endobj
-2597 0 obj <<
+2601 0 obj <<
/Type /Pages
/Count 6
-/Parent 2759 0 R
-/Kids [2593 0 R 2599 0 R 2611 0 R 2621 0 R 2626 0 R 2630 0 R]
+/Parent 2784 0 R
+/Kids [2597 0 R 2603 0 R 2614 0 R 2618 0 R 2625 0 R 2637 0 R]
>> endobj
-2646 0 obj <<
+2649 0 obj <<
/Type /Pages
/Count 6
-/Parent 2759 0 R
-/Kids [2636 0 R 2648 0 R 2659 0 R 2664 0 R 2674 0 R 2680 0 R]
+/Parent 2784 0 R
+/Kids [2645 0 R 2651 0 R 2655 0 R 2663 0 R 2672 0 R 2683 0 R]
>> endobj
-2702 0 obj <<
+2699 0 obj <<
/Type /Pages
-/Count 4
-/Parent 2760 0 R
-/Kids [2692 0 R 2704 0 R 2719 0 R 2732 0 R]
+/Count 6
+/Parent 2785 0 R
+/Kids [2688 0 R 2701 0 R 2707 0 R 2717 0 R 2731 0 R 2744 0 R]
>> endobj
-2755 0 obj <<
+2761 0 obj <<
+/Type /Pages
+/Count 1
+/Parent 2785 0 R
+/Kids [2757 0 R]
+>> endobj
+2780 0 obj <<
/Type /Pages
/Count 36
-/Parent 2761 0 R
-/Kids [939 0 R 1226 0 R 1287 0 R 1337 0 R 1392 0 R 1433 0 R]
+/Parent 2786 0 R
+/Kids [943 0 R 1231 0 R 1292 0 R 1344 0 R 1400 0 R 1441 0 R]
>> endobj
-2756 0 obj <<
+2781 0 obj <<
/Type /Pages
/Count 36
-/Parent 2761 0 R
-/Kids [1489 0 R 1530 0 R 1573 0 R 1620 0 R 1655 0 R 1685 0 R]
+/Parent 2786 0 R
+/Kids [1494 0 R 1535 0 R 1578 0 R 1625 0 R 1660 0 R 1690 0 R]
>> endobj
-2757 0 obj <<
+2782 0 obj <<
/Type /Pages
/Count 36
-/Parent 2761 0 R
-/Kids [1724 0 R 1759 0 R 1798 0 R 1832 0 R 1867 0 R 1913 0 R]
+/Parent 2786 0 R
+/Kids [1729 0 R 1762 0 R 1803 0 R 1837 0 R 1872 0 R 1911 0 R]
>> endobj
-2758 0 obj <<
+2783 0 obj <<
/Type /Pages
/Count 36
-/Parent 2761 0 R
-/Kids [1974 0 R 2027 0 R 2077 0 R 2118 0 R 2340 0 R 2379 0 R]
+/Parent 2786 0 R
+/Kids [1977 0 R 2030 0 R 2078 0 R 2116 0 R 2264 0 R 2382 0 R]
>> endobj
-2759 0 obj <<
+2784 0 obj <<
/Type /Pages
/Count 36
-/Parent 2761 0 R
-/Kids [2417 0 R 2468 0 R 2514 0 R 2553 0 R 2597 0 R 2646 0 R]
+/Parent 2786 0 R
+/Kids [2417 0 R 2469 0 R 2509 0 R 2552 0 R 2601 0 R 2649 0 R]
>> endobj
-2760 0 obj <<
+2785 0 obj <<
/Type /Pages
-/Count 4
-/Parent 2761 0 R
-/Kids [2702 0 R]
+/Count 7
+/Parent 2786 0 R
+/Kids [2699 0 R 2761 0 R]
>> endobj
-2761 0 obj <<
+2786 0 obj <<
/Type /Pages
-/Count 184
-/Kids [2755 0 R 2756 0 R 2757 0 R 2758 0 R 2759 0 R 2760 0 R]
+/Count 187
+/Kids [2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R]
>> endobj
-2762 0 obj <<
+2787 0 obj <<
/Type /Outlines
/First 7 0 R
/Last 843 0 R
/Count 10
>> endobj
+931 0 obj <<
+/Title 932 0 R
+/A 929 0 R
+/Parent 843 0 R
+/Prev 927 0 R
+>> endobj
927 0 obj <<
/Title 928 0 R
/A 925 0 R
/Parent 843 0 R
/Prev 923 0 R
+/Next 931 0 R
>> endobj
923 0 obj <<
/Title 924 0 R
@@ -14952,11 +15110,11 @@ endobj
843 0 obj <<
/Title 844 0 R
/A 841 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 751 0 R
/First 847 0 R
-/Last 927 0 R
-/Count -21
+/Last 931 0 R
+/Count -22
>> endobj
839 0 obj <<
/Title 840 0 R
@@ -15118,7 +15276,7 @@ endobj
751 0 obj <<
/Title 752 0 R
/A 749 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 731 0 R
/Next 843 0 R
/First 755 0 R
@@ -15155,7 +15313,7 @@ endobj
731 0 obj <<
/Title 732 0 R
/A 729 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 707 0 R
/Next 751 0 R
/First 735 0 R
@@ -15199,7 +15357,7 @@ endobj
707 0 obj <<
/Title 708 0 R
/A 705 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 363 0 R
/Next 731 0 R
/First 711 0 R
@@ -15814,7 +15972,7 @@ endobj
363 0 obj <<
/Title 364 0 R
/A 361 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 351 0 R
/Next 707 0 R
/First 367 0 R
@@ -15836,7 +15994,7 @@ endobj
351 0 obj <<
/Title 352 0 R
/A 349 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 131 0 R
/Next 363 0 R
/First 355 0 R
@@ -16233,7 +16391,7 @@ endobj
131 0 obj <<
/Title 132 0 R
/A 129 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 91 0 R
/Next 351 0 R
/First 135 0 R
@@ -16307,7 +16465,7 @@ endobj
91 0 obj <<
/Title 92 0 R
/A 89 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 67 0 R
/Next 131 0 R
/First 95 0 R
@@ -16350,7 +16508,7 @@ endobj
67 0 obj <<
/Title 68 0 R
/A 65 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Prev 7 0 R
/Next 91 0 R
/First 71 0 R
@@ -16459,2812 +16617,2837 @@ endobj
7 0 obj <<
/Title 8 0 R
/A 5 0 R
-/Parent 2762 0 R
+/Parent 2787 0 R
/Next 67 0 R
/First 11 0 R
/Last 23 0 R
/Count -4
>> endobj
-2763 0 obj <<
-/Names [(Access_Control_Lists) 2083 0 R (Bv9ARM.ch01) 1230 0 R (Bv9ARM.ch02) 1274 0 R (Bv9ARM.ch03) 1292 0 R (Bv9ARM.ch04) 1355 0 R (Bv9ARM.ch05) 1536 0 R (Bv9ARM.ch06) 1547 0 R (Bv9ARM.ch07) 2082 0 R (Bv9ARM.ch08) 2107 0 R (Bv9ARM.ch09) 2123 0 R (Bv9ARM.ch10) 2384 0 R (Configuration_File_Grammar) 1570 0 R (DNSSEC) 1421 0 R (Doc-Start) 935 0 R (Setting_TTLs) 2007 0 R (acache) 1281 0 R (access_control) 1730 0 R (acl) 1579 0 R (address_match_lists) 1552 0 R (admin_tools) 1314 0 R (appendix.A) 750 0 R (appendix.B) 842 0 R (bibliography) 2131 0 R (bind9.library) 2339 0 R (boolean_options) 1370 0 R (builtin) 1804 0 R (chapter*.1) 969 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) 706 0 R (chapter.8) 730 0 R (cite.RFC1033) 2258 0 R (cite.RFC1034) 2143 0 R (cite.RFC1035) 2145 0 R (cite.RFC1101) 2240 0 R (cite.RFC1123) 2242 0 R (cite.RFC1183) 2202 0 R (cite.RFC1464) 2280 0 R (cite.RFC1535) 2188 0 R (cite.RFC1536) 2190 0 R (cite.RFC1537) 2260 0 R (cite.RFC1591) 2244 0 R (cite.RFC1706) 2204 0 R (cite.RFC1712) 2300 0 R (cite.RFC1713) 2282 0 R (cite.RFC1794) 2284 0 R (cite.RFC1876) 2206 0 R (cite.RFC1912) 2262 0 R (cite.RFC1982) 2192 0 R (cite.RFC1995) 2150 0 R (cite.RFC1996) 2152 0 R (cite.RFC2010) 2264 0 R (cite.RFC2052) 2208 0 R (cite.RFC2065) 2312 0 R (cite.RFC2136) 2154 0 R (cite.RFC2137) 2314 0 R (cite.RFC2163) 2210 0 R (cite.RFC2168) 2212 0 R (cite.RFC2181) 2156 0 R (cite.RFC2219) 2266 0 R (cite.RFC2230) 2214 0 R (cite.RFC2240) 2286 0 R (cite.RFC2308) 2158 0 R (cite.RFC2317) 2246 0 R (cite.RFC2345) 2288 0 R (cite.RFC2352) 2290 0 R (cite.RFC2535) 2316 0 R (cite.RFC2536) 2216 0 R (cite.RFC2537) 2218 0 R (cite.RFC2538) 2220 0 R (cite.RFC2539) 2222 0 R (cite.RFC2540) 2224 0 R (cite.RFC2671) 2160 0 R (cite.RFC2672) 2162 0 R (cite.RFC2673) 2302 0 R (cite.RFC2782) 2226 0 R (cite.RFC2825) 2270 0 R (cite.RFC2826) 2248 0 R (cite.RFC2845) 2164 0 R (cite.RFC2874) 2304 0 R (cite.RFC2915) 2228 0 R (cite.RFC2929) 2250 0 R (cite.RFC2930) 2166 0 R (cite.RFC2931) 2168 0 R (cite.RFC3007) 2170 0 R (cite.RFC3008) 2318 0 R (cite.RFC3071) 2292 0 R (cite.RFC3090) 2320 0 R (cite.RFC3110) 2230 0 R (cite.RFC3123) 2232 0 R (cite.RFC3225) 2176 0 R (cite.RFC3258) 2294 0 R (cite.RFC3445) 2322 0 R (cite.RFC3490) 2272 0 R (cite.RFC3491) 2274 0 R (cite.RFC3492) 2276 0 R (cite.RFC3596) 2234 0 R (cite.RFC3597) 2236 0 R (cite.RFC3645) 2172 0 R (cite.RFC3655) 2324 0 R (cite.RFC3658) 2326 0 R (cite.RFC3755) 2328 0 R (cite.RFC3757) 2330 0 R (cite.RFC3833) 2178 0 R (cite.RFC3845) 2332 0 R (cite.RFC3901) 2296 0 R (cite.RFC4033) 2180 0 R (cite.RFC4034) 2182 0 R (cite.RFC4035) 2184 0 R (cite.RFC4074) 2194 0 R (cite.RFC974) 2147 0 R (cite.id2512989) 2337 0 R (clients-per-query) 2060 0 R (configuration_file_elements) 1548 0 R (controls_statement_definition_and_usage) 1338 0 R (diagnostic_tools) 1262 0 R (dnssec.dynamic.zones) 1441 0 R (dynamic_update) 1365 0 R (dynamic_update_policies) 1327 0 R (dynamic_update_security) 1739 0 R (empty) 1812 0 R (historical_dns_information) 2125 0 R (id2466567) 1231 0 R (id2466590) 1232 0 R (id2467226) 1494 0 R (id2467364) 1495 0 R (id2467413) 1500 0 R (id2467481) 1233 0 R (id2467491) 1234 0 R (id2467731) 1244 0 R (id2467752) 1245 0 R (id2467786) 1246 0 R (id2467870) 1249 0 R (id2467963) 1242 0 R (id2470268) 1256 0 R (id2470292) 1259 0 R (id2470390) 1260 0 R (id2470411) 1261 0 R (id2470441) 1267 0 R (id2470476) 1268 0 R (id2470571) 1269 0 R (id2470605) 1275 0 R (id2470632) 1276 0 R (id2470713) 1277 0 R (id2470739) 1280 0 R (id2470749) 1286 0 R (id2470781) 1294 0 R (id2470797) 1295 0 R (id2470820) 1300 0 R (id2470837) 1301 0 R (id2471242) 1309 0 R (id2471248) 1310 0 R (id2473574) 1343 0 R (id2473586) 1344 0 R (id2474081) 1380 0 R (id2474099) 1386 0 R (id2474600) 1402 0 R (id2474617) 1403 0 R (id2474656) 1404 0 R (id2474742) 1405 0 R (id2474753) 1406 0 R (id2474789) 1411 0 R (id2474846) 1412 0 R (id2474896) 1414 0 R (id2474909) 1415 0 R (id2475027) 1420 0 R (id2475232) 1422 0 R (id2475379) 1427 0 R (id2475460) 1428 0 R (id2475613) 1442 0 R (id2475651) 1443 0 R (id2475687) 1448 0 R (id2476064) 1460 0 R (id2476101) 1461 0 R (id2476114) 1462 0 R (id2476147) 1463 0 R (id2476242) 1468 0 R (id2476251) 1469 0 R (id2476261) 1470 0 R (id2476274) 1471 0 R (id2476311) 1472 0 R (id2476321) 1473 0 R (id2476358) 1479 0 R (id2476517) 1481 0 R (id2476619) 1488 0 R (id2477325) 1505 0 R (id2477334) 1506 0 R (id2477366) 1507 0 R (id2477402) 1508 0 R (id2477450) 1509 0 R (id2477549) 1514 0 R (id2477884) 1520 0 R (id2477930) 1521 0 R (id2478053) 1526 0 R (id2478183) 1528 0 R (id2478204) 1529 0 R (id2478237) 1537 0 R (id2478453) 1549 0 R (id2479414) 1557 0 R (id2479442) 1562 0 R (id2479579) 1563 0 R (id2479594) 1564 0 R (id2479624) 1569 0 R (id2479699) 1571 0 R (id2480308) 1578 0 R (id2480419) 1580 0 R (id2480566) 1582 0 R (id2480857) 1589 0 R (id2480874) 1595 0 R (id2480898) 1596 0 R (id2480921) 1597 0 R (id2481012) 1601 0 R (id2481206) 1606 0 R (id2481326) 1607 0 R (id2481952) 1618 0 R (id2482645) 1629 0 R (id2482775) 1630 0 R (id2483233) 1636 0 R (id2483306) 1641 0 R (id2483370) 1644 0 R (id2483414) 1645 0 R (id2483435) 1646 0 R (id2486941) 1690 0 R (id2489168) 1721 0 R (id2489226) 1723 0 R (id2489778) 1738 0 R (id2491063) 1757 0 R (id2491123) 1764 0 R (id2491682) 1772 0 R (id2492116) 1790 0 R (id2493614) 1821 0 R (id2493874) 1827 0 R (id2495112) 1849 0 R (id2495320) 1855 0 R (id2495367) 1857 0 R (id2495793) 1862 0 R (id2497404) 1880 0 R (id2497412) 1881 0 R (id2497417) 1882 0 R (id2498125) 1898 0 R (id2498158) 1899 0 R (id2500307) 1966 0 R (id2501038) 1972 0 R (id2501057) 1973 0 R (id2501077) 1981 0 R (id2501382) 1983 0 R (id2502484) 1989 0 R (id2502612) 1995 0 R (id2502633) 1996 0 R (id2503064) 1998 0 R (id2503201) 2004 0 R (id2503219) 2005 0 R (id2503691) 2008 0 R (id2503884) 2014 0 R (id2503899) 2015 0 R (id2504011) 2017 0 R (id2504034) 2018 0 R (id2504050) 2019 0 R (id2504110) 2024 0 R (id2504180) 2025 0 R (id2504216) 2026 0 R (id2504360) 2032 0 R (id2504871) 2039 0 R (id2505170) 2047 0 R (id2505175) 2048 0 R (id2506848) 2055 0 R (id2506854) 2056 0 R (id2507299) 2058 0 R (id2507304) 2059 0 R (id2508252) 2066 0 R (id2508284) 2067 0 R (id2508694) 2076 0 R (id2508936) 2092 0 R (id2509017) 2093 0 R (id2509077) 2094 0 R (id2509225) 2108 0 R (id2509230) 2109 0 R (id2509242) 2110 0 R (id2509259) 2111 0 R (id2509389) 2124 0 R (id2509561) 2130 0 R (id2509749) 2135 0 R (id2509751) 2141 0 R (id2509828) 2146 0 R (id2509851) 2142 0 R (id2509875) 2144 0 R (id2509911) 2155 0 R (id2509938) 2157 0 R (id2509963) 2149 0 R (id2509988) 2151 0 R (id2510011) 2153 0 R (id2510135) 2159 0 R (id2510162) 2161 0 R (id2510188) 2163 0 R (id2510250) 2165 0 R (id2510280) 2167 0 R (id2510310) 2169 0 R (id2510337) 2171 0 R (id2510411) 2174 0 R (id2510419) 2175 0 R (id2510445) 2177 0 R (id2510482) 2179 0 R (id2510547) 2181 0 R (id2510612) 2183 0 R (id2510677) 2186 0 R (id2510685) 2187 0 R (id2510779) 2189 0 R (id2510848) 2191 0 R (id2510883) 2193 0 R (id2510923) 2200 0 R (id2510929) 2201 0 R (id2510986) 2203 0 R (id2511024) 2211 0 R (id2511059) 2205 0 R (id2511113) 2207 0 R (id2511152) 2209 0 R (id2511177) 2213 0 R (id2511203) 2215 0 R (id2511229) 2217 0 R (id2511256) 2219 0 R (id2511296) 2221 0 R (id2511325) 2223 0 R (id2511355) 2225 0 R (id2511398) 2227 0 R (id2511431) 2229 0 R (id2511458) 2231 0 R (id2511481) 2233 0 R (id2511539) 2235 0 R (id2511563) 2238 0 R (id2511571) 2239 0 R (id2511596) 2241 0 R (id2511619) 2243 0 R (id2511642) 2245 0 R (id2511688) 2247 0 R (id2511712) 2249 0 R (id2511762) 2256 0 R (id2511769) 2257 0 R (id2511793) 2259 0 R (id2511819) 2261 0 R (id2511846) 2263 0 R (id2511882) 2265 0 R (id2511923) 2268 0 R (id2511928) 2269 0 R (id2511960) 2271 0 R (id2512006) 2273 0 R (id2512041) 2275 0 R (id2512068) 2278 0 R (id2512086) 2279 0 R (id2512108) 2281 0 R (id2512134) 2283 0 R (id2512160) 2285 0 R (id2512183) 2287 0 R (id2512297) 2289 0 R (id2512321) 2291 0 R (id2512347) 2293 0 R (id2512373) 2295 0 R (id2512410) 2298 0 R (id2512417) 2299 0 R (id2512474) 2301 0 R (id2512569) 2303 0 R (id2512605) 2310 0 R (id2512617) 2311 0 R (id2512657) 2313 0 R (id2512683) 2315 0 R (id2512713) 2317 0 R (id2512739) 2319 0 R (id2512765) 2321 0 R (id2512802) 2323 0 R (id2512838) 2325 0 R (id2512865) 2327 0 R (id2512891) 2329 0 R (id2512936) 2331 0 R (id2512978) 2334 0 R (id2512987) 2336 0 R (id2512989) 2338 0 R (id2513145) 2345 0 R (id2513155) 2346 0 R (id2513179) 2347 0 R (id2513210) 2348 0 R (id2513287) 2353 0 R (id2513314) 2355 0 R (id2513322) 2356 0 R (id2513481) 2361 0 R (id2513534) 2362 0 R (id2513667) 2363 0 R (id2513682) 2368 0 R (id2513813) 2373 0 R (id2513945) 2374 0 R (incremental_zone_transfers) 1377 0 R (internet_drafts) 2333 0 R (ipv6addresses) 1531 0 R (journal) 1376 0 R (lwresd) 1538 0 R (man.arpaname) 2697 0 R (man.ddns-confgen) 2686 0 R (man.dig) 2385 0 R (man.dnssec-dsfromkey) 2433 0 R (man.dnssec-keyfromlabel) 2451 0 R (man.dnssec-keygen) 1454 0 R (man.dnssec-revoke) 2498 0 R (man.dnssec-settime) 1455 0 R (man.dnssec-signzone) 2526 0 R (man.genrandom) 2708 0 R (man.host) 2422 0 R (man.isc-hmac-fixup) 2715 0 R (man.named) 2583 0 R (man.named-checkconf) 2550 0 R (man.named-checkzone) 2563 0 R (man.named-journalprint) 2606 0 R (man.nsec3hash) 2726 0 R (man.nsupdate) 2616 0 R (man.rndc) 2641 0 R (man.rndc-confgen) 2670 0 R (man.rndc.conf) 2654 0 R (managed-keys) 1482 0 R (notify) 1356 0 R (options) 1326 0 R (page.1) 934 0 R (page.10) 1318 0 R (page.100) 1959 0 R (page.101) 1965 0 R (page.102) 1971 0 R (page.103) 1978 0 R (page.104) 1988 0 R (page.105) 1994 0 R (page.106) 2003 0 R (page.107) 2013 0 R (page.108) 2023 0 R (page.109) 2031 0 R (page.11) 1331 0 R (page.110) 2037 0 R (page.111) 2045 0 R (page.112) 2053 0 R (page.113) 2064 0 R (page.114) 2072 0 R (page.115) 2081 0 R (page.116) 2087 0 R (page.117) 2098 0 R (page.118) 2102 0 R (page.119) 2106 0 R (page.12) 1335 0 R (page.120) 2117 0 R (page.121) 2122 0 R (page.122) 2129 0 R (page.123) 2139 0 R (page.124) 2198 0 R (page.125) 2254 0 R (page.126) 2308 0 R (page.127) 2344 0 R (page.128) 2352 0 R (page.129) 2360 0 R (page.13) 1342 0 R (page.130) 2367 0 R (page.131) 2372 0 R (page.132) 2378 0 R (page.133) 2383 0 R (page.134) 2392 0 R (page.135) 2398 0 R (page.136) 2403 0 R (page.137) 2407 0 R (page.138) 2411 0 R (page.139) 2421 0 R (page.14) 1349 0 R (page.140) 2429 0 R (page.141) 2440 0 R (page.142) 2447 0 R (page.143) 2459 0 R (page.144) 2463 0 R (page.145) 2472 0 R (page.146) 2480 0 R (page.147) 2484 0 R (page.148) 2489 0 R (page.149) 2497 0 R (page.15) 1354 0 R (page.150) 2509 0 R (page.151) 2518 0 R (page.152) 2525 0 R (page.153) 2534 0 R (page.154) 2538 0 R (page.155) 2542 0 R (page.156) 2546 0 R (page.157) 2557 0 R (page.158) 2568 0 R (page.159) 2575 0 R (page.16) 1375 0 R (page.160) 2579 0 R (page.161) 2591 0 R (page.162) 2595 0 R (page.163) 2601 0 R (page.164) 2613 0 R (page.165) 2623 0 R (page.166) 2628 0 R (page.167) 2632 0 R (page.168) 2638 0 R (page.169) 2650 0 R (page.17) 1385 0 R (page.170) 2661 0 R (page.171) 2666 0 R (page.172) 2676 0 R (page.173) 2682 0 R (page.174) 2694 0 R (page.175) 2706 0 R (page.176) 2721 0 R (page.177) 2734 0 R (page.18) 1391 0 R (page.19) 1396 0 R (page.2) 958 0 R (page.20) 1401 0 R (page.21) 1410 0 R (page.22) 1419 0 R (page.23) 1426 0 R (page.24) 1432 0 R (page.25) 1437 0 R (page.26) 1447 0 R (page.27) 1459 0 R (page.28) 1467 0 R (page.29) 1477 0 R (page.3) 1255 0 R (page.30) 1486 0 R (page.31) 1493 0 R (page.32) 1499 0 R (page.33) 1504 0 R (page.34) 1513 0 R (page.35) 1519 0 R (page.36) 1525 0 R (page.37) 1535 0 R (page.38) 1542 0 R (page.39) 1546 0 R (page.4) 1266 0 R (page.40) 1556 0 R (page.41) 1561 0 R (page.42) 1568 0 R (page.43) 1577 0 R (page.44) 1586 0 R (page.45) 1594 0 R (page.46) 1605 0 R (page.47) 1611 0 R (page.48) 1617 0 R (page.49) 1624 0 R (page.5) 1273 0 R (page.50) 1628 0 R (page.51) 1635 0 R (page.52) 1640 0 R (page.53) 1650 0 R (page.54) 1654 0 R (page.55) 1659 0 R (page.56) 1663 0 R (page.57) 1667 0 R (page.58) 1671 0 R (page.59) 1678 0 R (page.6) 1285 0 R (page.60) 1683 0 R (page.61) 1689 0 R (page.62) 1695 0 R (page.63) 1705 0 R (page.64) 1710 0 R (page.65) 1714 0 R (page.66) 1718 0 R (page.67) 1729 0 R (page.68) 1735 0 R (page.69) 1743 0 R (page.7) 1291 0 R (page.70) 1748 0 R (page.71) 1752 0 R (page.72) 1756 0 R (page.73) 1763 0 R (page.74) 1771 0 R (page.75) 1776 0 R (page.76) 1784 0 R (page.77) 1789 0 R (page.78) 1796 0 R (page.79) 1802 0 R (page.8) 1299 0 R (page.80) 1811 0 R (page.81) 1816 0 R (page.82) 1820 0 R (page.83) 1825 0 R (page.84) 1831 0 R (page.85) 1836 0 R (page.86) 1841 0 R (page.87) 1845 0 R (page.88) 1854 0 R (page.89) 1861 0 R (page.9) 1308 0 R (page.90) 1866 0 R (page.91) 1871 0 R (page.92) 1875 0 R (page.93) 1879 0 R (page.94) 1887 0 R (page.95) 1891 0 R (page.96) 1897 0 R (page.97) 1917 0 R (page.98) 1932 0 R (page.99) 1942 0 R (page.i) 968 0 R (page.ii) 1023 0 R (page.iii) 1087 0 R (page.iv) 1150 0 R (page.v) 1212 0 R (pkcs11) 1487 0 R (proposed_standards) 1381 0 R (query_address) 1744 0 R (rfc5011.support) 1478 0 R (rfcs) 1251 0 R (rndc) 1590 0 R (root_delegation_only) 1893 0 R (rrset_ordering) 1304 0 R (sample_configuration) 1293 0 R (section*.10) 2267 0 R (section*.100) 2604 0 R (section*.101) 2605 0 R (section*.102) 2607 0 R (section*.103) 2608 0 R (section*.104) 2609 0 R (section*.105) 2614 0 R (section*.106) 2615 0 R (section*.107) 2617 0 R (section*.108) 2618 0 R (section*.109) 2619 0 R (section*.11) 2277 0 R (section*.110) 2624 0 R (section*.111) 2633 0 R (section*.112) 2634 0 R (section*.113) 2639 0 R (section*.114) 2640 0 R (section*.115) 2642 0 R (section*.116) 2643 0 R (section*.117) 2644 0 R (section*.118) 2645 0 R (section*.119) 2651 0 R (section*.12) 2297 0 R (section*.120) 2652 0 R (section*.121) 2653 0 R (section*.122) 2655 0 R (section*.123) 2656 0 R (section*.124) 2657 0 R (section*.125) 2662 0 R (section*.126) 2667 0 R (section*.127) 2668 0 R (section*.128) 2669 0 R (section*.129) 2671 0 R (section*.13) 2309 0 R (section*.130) 2672 0 R (section*.131) 2677 0 R (section*.132) 2678 0 R (section*.133) 2683 0 R (section*.134) 2684 0 R (section*.135) 2685 0 R (section*.136) 2687 0 R (section*.137) 2688 0 R (section*.138) 2689 0 R (section*.139) 2690 0 R (section*.14) 2335 0 R (section*.140) 2695 0 R (section*.141) 2696 0 R (section*.142) 2698 0 R (section*.143) 2699 0 R (section*.144) 2700 0 R (section*.145) 2701 0 R (section*.146) 2707 0 R (section*.147) 2709 0 R (section*.148) 2710 0 R (section*.149) 2711 0 R (section*.15) 2386 0 R (section*.150) 2712 0 R (section*.151) 2713 0 R (section*.152) 2714 0 R (section*.153) 2716 0 R (section*.154) 2717 0 R (section*.155) 2722 0 R (section*.156) 2723 0 R (section*.157) 2724 0 R (section*.158) 2725 0 R (section*.159) 2727 0 R (section*.16) 2387 0 R (section*.160) 2728 0 R (section*.161) 2729 0 R (section*.162) 2730 0 R (section*.163) 2735 0 R (section*.164) 2736 0 R (section*.17) 2388 0 R (section*.18) 2393 0 R (section*.19) 2394 0 R (section*.2) 2134 0 R (section*.20) 2399 0 R (section*.21) 2412 0 R (section*.22) 2413 0 R (section*.23) 2414 0 R (section*.24) 2415 0 R (section*.25) 2416 0 R (section*.26) 2423 0 R (section*.27) 2424 0 R (section*.28) 2425 0 R (section*.29) 2430 0 R (section*.3) 2140 0 R (section*.30) 2431 0 R (section*.31) 2432 0 R (section*.32) 2434 0 R (section*.33) 2435 0 R (section*.34) 2436 0 R (section*.35) 2441 0 R (section*.36) 2442 0 R (section*.37) 2443 0 R (section*.38) 2448 0 R (section*.39) 2449 0 R (section*.4) 2148 0 R (section*.40) 2450 0 R (section*.41) 2452 0 R (section*.42) 2453 0 R (section*.43) 2454 0 R (section*.44) 2455 0 R (section*.45) 2464 0 R (section*.46) 2465 0 R (section*.47) 2466 0 R (section*.48) 2467 0 R (section*.49) 2473 0 R (section*.5) 2173 0 R (section*.50) 2474 0 R (section*.51) 2475 0 R (section*.52) 2476 0 R (section*.53) 2485 0 R (section*.54) 2490 0 R (section*.55) 2491 0 R (section*.56) 2492 0 R (section*.57) 2493 0 R (section*.58) 2499 0 R (section*.59) 2500 0 R (section*.6) 2185 0 R (section*.60) 2501 0 R (section*.61) 2502 0 R (section*.62) 2503 0 R (section*.63) 2504 0 R (section*.64) 2505 0 R (section*.65) 2510 0 R (section*.66) 2511 0 R (section*.67) 2512 0 R (section*.68) 2513 0 R (section*.69) 2519 0 R (section*.7) 2199 0 R (section*.70) 2520 0 R (section*.71) 2521 0 R (section*.72) 2527 0 R (section*.73) 2528 0 R (section*.74) 2529 0 R (section*.75) 2530 0 R (section*.76) 2547 0 R (section*.77) 2548 0 R (section*.78) 2549 0 R (section*.79) 2551 0 R (section*.8) 2237 0 R (section*.80) 2552 0 R (section*.81) 2558 0 R (section*.82) 2559 0 R (section*.83) 2560 0 R (section*.84) 2561 0 R (section*.85) 2562 0 R (section*.86) 2564 0 R (section*.87) 2569 0 R (section*.88) 2570 0 R (section*.89) 2571 0 R (section*.9) 2255 0 R (section*.90) 2580 0 R (section*.91) 2581 0 R (section*.92) 2582 0 R (section*.93) 2584 0 R (section*.94) 2585 0 R (section*.95) 2586 0 R (section*.96) 2587 0 R (section*.97) 2596 0 R (section*.98) 2602 0 R (section*.99) 2603 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) 618 0 R (section.6.4) 674 0 R (section.7.1) 710 0 R (section.7.2) 714 0 R (section.7.3) 726 0 R (section.8.1) 734 0 R (section.8.2) 742 0 R (section.8.3) 746 0 R (section.A.1) 754 0 R (section.A.2) 762 0 R (section.A.3) 770 0 R (section.A.4) 786 0 R (section.B.1) 846 0 R (section.B.10) 882 0 R (section.B.11) 886 0 R (section.B.12) 890 0 R (section.B.13) 894 0 R (section.B.14) 898 0 R (section.B.15) 902 0 R (section.B.16) 906 0 R (section.B.17) 910 0 R (section.B.18) 914 0 R (section.B.19) 918 0 R (section.B.2) 850 0 R (section.B.20) 922 0 R (section.B.21) 926 0 R (section.B.3) 854 0 R (section.B.4) 858 0 R (section.B.5) 862 0 R (section.B.6) 866 0 R (section.B.7) 870 0 R (section.B.8) 874 0 R (section.B.9) 878 0 R (server_resource_limits) 1766 0 R (server_statement_definition_and_usage) 1701 0 R (server_statement_grammar) 1837 0 R (statistics) 2038 0 R (statistics_counters) 2046 0 R (statschannels) 1848 0 R (statsfile) 1674 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) 554 0 R (subsection.6.2.18) 558 0 R (subsection.6.2.19) 562 0 R (subsection.6.2.2) 402 0 R (subsection.6.2.20) 566 0 R (subsection.6.2.21) 570 0 R (subsection.6.2.22) 574 0 R (subsection.6.2.23) 578 0 R (subsection.6.2.24) 582 0 R (subsection.6.2.25) 586 0 R (subsection.6.2.26) 590 0 R (subsection.6.2.27) 594 0 R (subsection.6.2.28) 598 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) 622 0 R (subsection.6.3.2) 634 0 R (subsection.6.3.3) 638 0 R (subsection.6.3.4) 642 0 R (subsection.6.3.5) 646 0 R (subsection.6.3.6) 666 0 R (subsection.6.3.7) 670 0 R (subsection.6.4.1) 682 0 R (subsection.7.2.1) 718 0 R (subsection.7.2.2) 722 0 R (subsection.8.1.1) 738 0 R (subsection.A.1.1) 758 0 R (subsection.A.2.1) 766 0 R (subsection.A.3.1) 774 0 R (subsection.A.3.2) 778 0 R (subsection.A.3.3) 782 0 R (subsection.A.4.1) 790 0 R (subsection.A.4.2) 794 0 R (subsection.A.4.3) 798 0 R (subsection.A.4.4) 802 0 R (subsection.A.4.5) 806 0 R (subsection.A.4.6) 810 0 R (subsection.A.4.7) 838 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.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) 602 0 R (subsubsection.6.2.28.2) 606 0 R (subsubsection.6.2.28.3) 610 0 R (subsubsection.6.2.28.4) 614 0 R (subsubsection.6.3.1.1) 626 0 R (subsubsection.6.3.1.2) 630 0 R (subsubsection.6.3.5.1) 650 0 R (subsubsection.6.3.5.2) 654 0 R (subsubsection.6.3.5.3) 658 0 R (subsubsection.6.3.5.4) 662 0 R (subsubsection.6.4.0.1) 678 0 R (subsubsection.6.4.1.1) 686 0 R (subsubsection.6.4.1.2) 690 0 R (subsubsection.6.4.1.3) 694 0 R (subsubsection.6.4.1.4) 698 0 R (subsubsection.6.4.1.5) 702 0 R (subsubsection.A.4.6.1) 814 0 R (subsubsection.A.4.6.2) 818 0 R (subsubsection.A.4.6.3) 822 0 R (subsubsection.A.4.6.4) 826 0 R (subsubsection.A.4.6.5) 830 0 R (subsubsection.A.4.6.6) 834 0 R (table.1.1) 1235 0 R (table.1.2) 1243 0 R (table.3.1) 1302 0 R (table.3.2) 1345 0 R (table.6.1) 1550 0 R (table.6.10) 1982 0 R (table.6.11) 1984 0 R (table.6.12) 1990 0 R (table.6.13) 1997 0 R (table.6.14) 1999 0 R (table.6.15) 2006 0 R (table.6.16) 2009 0 R (table.6.17) 2016 0 R (table.6.18) 2033 0 R (table.6.19) 2040 0 R (table.6.2) 1572 0 R (table.6.20) 2049 0 R (table.6.21) 2057 0 R (table.6.22) 2065 0 R (table.6.23) 2068 0 R (table.6.3) 1581 0 R (table.6.4) 1619 0 R (table.6.5) 1631 0 R (table.6.6) 1691 0 R (table.6.7) 1791 0 R (table.6.8) 1883 0 R (table.6.9) 1967 0 R (the_category_phrase) 1613 0 R (the_sortlist_statement) 1778 0 R (topology) 1777 0 R (trusted-keys) 1850 0 R (tsig) 1397 0 R (tuning) 1792 0 R (types_of_resource_records_and_when_to_use_them) 1250 0 R (view_statement_grammar) 1807 0 R (zone_statement_grammar) 1725 0 R (zone_transfers) 1371 0 R (zonefile_format) 1806 0 R]
+2788 0 obj <<
+/Names [(Access_Control_Lists) 2096 0 R (Bv9ARM.ch01) 1235 0 R (Bv9ARM.ch02) 1279 0 R (Bv9ARM.ch03) 1297 0 R (Bv9ARM.ch04) 1363 0 R (Bv9ARM.ch05) 1541 0 R (Bv9ARM.ch06) 1552 0 R (Bv9ARM.ch07) 2095 0 R (Bv9ARM.ch08) 2121 0 R (Bv9ARM.ch09) 2136 0 R (Bv9ARM.ch10) 2397 0 R (Configuration_File_Grammar) 1575 0 R (DNSSEC) 1429 0 R (Doc-Start) 939 0 R (Setting_TTLs) 2016 0 R (acache) 1286 0 R (access_control) 1735 0 R (acl) 1584 0 R (address_match_lists) 1557 0 R (admin_tools) 1319 0 R (appendix.A) 750 0 R (appendix.B) 842 0 R (bibliography) 2144 0 R (bind9.library) 2353 0 R (boolean_options) 1378 0 R (builtin) 1814 0 R (chapter*.1) 973 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) 706 0 R (chapter.8) 730 0 R (cite.RFC1033) 2272 0 R (cite.RFC1034) 2156 0 R (cite.RFC1035) 2158 0 R (cite.RFC1101) 2253 0 R (cite.RFC1123) 2255 0 R (cite.RFC1183) 2215 0 R (cite.RFC1464) 2294 0 R (cite.RFC1535) 2201 0 R (cite.RFC1536) 2203 0 R (cite.RFC1537) 2274 0 R (cite.RFC1591) 2257 0 R (cite.RFC1706) 2217 0 R (cite.RFC1712) 2314 0 R (cite.RFC1713) 2296 0 R (cite.RFC1794) 2298 0 R (cite.RFC1876) 2219 0 R (cite.RFC1912) 2276 0 R (cite.RFC1982) 2205 0 R (cite.RFC1995) 2163 0 R (cite.RFC1996) 2165 0 R (cite.RFC2010) 2278 0 R (cite.RFC2052) 2221 0 R (cite.RFC2065) 2326 0 R (cite.RFC2136) 2167 0 R (cite.RFC2137) 2328 0 R (cite.RFC2163) 2223 0 R (cite.RFC2168) 2225 0 R (cite.RFC2181) 2169 0 R (cite.RFC2219) 2280 0 R (cite.RFC2230) 2227 0 R (cite.RFC2240) 2300 0 R (cite.RFC2308) 2171 0 R (cite.RFC2317) 2259 0 R (cite.RFC2345) 2302 0 R (cite.RFC2352) 2304 0 R (cite.RFC2535) 2330 0 R (cite.RFC2536) 2229 0 R (cite.RFC2537) 2231 0 R (cite.RFC2538) 2233 0 R (cite.RFC2539) 2235 0 R (cite.RFC2540) 2237 0 R (cite.RFC2671) 2173 0 R (cite.RFC2672) 2175 0 R (cite.RFC2673) 2316 0 R (cite.RFC2782) 2239 0 R (cite.RFC2825) 2284 0 R (cite.RFC2826) 2261 0 R (cite.RFC2845) 2177 0 R (cite.RFC2874) 2318 0 R (cite.RFC2915) 2241 0 R (cite.RFC2929) 2263 0 R (cite.RFC2930) 2179 0 R (cite.RFC2931) 2181 0 R (cite.RFC3007) 2183 0 R (cite.RFC3008) 2332 0 R (cite.RFC3071) 2306 0 R (cite.RFC3090) 2334 0 R (cite.RFC3110) 2243 0 R (cite.RFC3123) 2245 0 R (cite.RFC3225) 2189 0 R (cite.RFC3258) 2308 0 R (cite.RFC3445) 2336 0 R (cite.RFC3490) 2286 0 R (cite.RFC3491) 2288 0 R (cite.RFC3492) 2290 0 R (cite.RFC3596) 2247 0 R (cite.RFC3597) 2249 0 R (cite.RFC3645) 2185 0 R (cite.RFC3655) 2338 0 R (cite.RFC3658) 2340 0 R (cite.RFC3755) 2342 0 R (cite.RFC3757) 2344 0 R (cite.RFC3833) 2191 0 R (cite.RFC3845) 2346 0 R (cite.RFC3901) 2310 0 R (cite.RFC4033) 2193 0 R (cite.RFC4034) 2195 0 R (cite.RFC4035) 2197 0 R (cite.RFC4074) 2207 0 R (cite.RFC974) 2160 0 R (cite.id2513096) 2351 0 R (clients-per-query) 2070 0 R (configuration_file_elements) 1553 0 R (controls_statement_definition_and_usage) 1350 0 R (diagnostic_tools) 1267 0 R (dnssec.dynamic.zones) 1449 0 R (dynamic_update) 1373 0 R (dynamic_update_policies) 1332 0 R (dynamic_update_security) 1744 0 R (empty) 1816 0 R (historical_dns_information) 2138 0 R (id2466567) 1236 0 R (id2466590) 1237 0 R (id2467259) 1499 0 R (id2467397) 1500 0 R (id2467481) 1238 0 R (id2467491) 1239 0 R (id2467731) 1249 0 R (id2467752) 1250 0 R (id2467786) 1251 0 R (id2467870) 1254 0 R (id2467963) 1247 0 R (id2470268) 1261 0 R (id2470292) 1264 0 R (id2470390) 1265 0 R (id2470411) 1266 0 R (id2470441) 1272 0 R (id2470476) 1273 0 R (id2470571) 1274 0 R (id2470605) 1280 0 R (id2470632) 1281 0 R (id2470713) 1282 0 R (id2470739) 1285 0 R (id2470749) 1291 0 R (id2470781) 1299 0 R (id2470797) 1300 0 R (id2470820) 1305 0 R (id2470837) 1306 0 R (id2471242) 1314 0 R (id2471248) 1315 0 R (id2473607) 1355 0 R (id2473619) 1356 0 R (id2474045) 1388 0 R (id2474132) 1394 0 R (id2474633) 1410 0 R (id2474650) 1411 0 R (id2474689) 1412 0 R (id2474707) 1413 0 R (id2474717) 1414 0 R (id2474822) 1419 0 R (id2474880) 1420 0 R (id2474929) 1422 0 R (id2474942) 1423 0 R (id2474992) 1428 0 R (id2475196) 1430 0 R (id2475344) 1435 0 R (id2475425) 1436 0 R (id2475578) 1450 0 R (id2475616) 1451 0 R (id2475925) 1456 0 R (id2476097) 1465 0 R (id2476134) 1466 0 R (id2476147) 1467 0 R (id2476248) 1468 0 R (id2476275) 1473 0 R (id2476284) 1474 0 R (id2476294) 1475 0 R (id2476307) 1476 0 R (id2476344) 1477 0 R (id2476354) 1478 0 R (id2476459) 1484 0 R (id2476482) 1486 0 R (id2476721) 1493 0 R (id2477208) 1505 0 R (id2477427) 1510 0 R (id2477435) 1511 0 R (id2477467) 1512 0 R (id2477504) 1513 0 R (id2477552) 1514 0 R (id2477582) 1519 0 R (id2477849) 1525 0 R (id2478032) 1526 0 R (id2478154) 1531 0 R (id2478216) 1533 0 R (id2478237) 1534 0 R (id2478270) 1542 0 R (id2478418) 1554 0 R (id2479447) 1562 0 R (id2479475) 1567 0 R (id2479612) 1568 0 R (id2479627) 1569 0 R (id2479794) 1574 0 R (id2479868) 1576 0 R (id2480273) 1583 0 R (id2480315) 1585 0 R (id2480531) 1587 0 R (id2480958) 1594 0 R (id2480976) 1600 0 R (id2480999) 1601 0 R (id2481091) 1602 0 R (id2481181) 1606 0 R (id2481307) 1611 0 R (id2481428) 1612 0 R (id2482121) 1623 0 R (id2482746) 1634 0 R (id2482876) 1635 0 R (id2483266) 1641 0 R (id2483339) 1646 0 R (id2483403) 1649 0 R (id2483515) 1650 0 R (id2483537) 1651 0 R (id2487013) 1695 0 R (id2489307) 1726 0 R (id2489366) 1728 0 R (id2489917) 1743 0 R (id2491134) 1767 0 R (id2491194) 1769 0 R (id2491753) 1777 0 R (id2492256) 1795 0 R (id2493905) 1826 0 R (id2494027) 1832 0 R (id2495287) 1858 0 R (id2495427) 1860 0 R (id2495474) 1862 0 R (id2495899) 1871 0 R (id2497716) 1889 0 R (id2497723) 1890 0 R (id2497729) 1891 0 R (id2498300) 1902 0 R (id2498333) 1903 0 R (id2500482) 1971 0 R (id2501213) 1982 0 R (id2501232) 1983 0 R (id2501252) 1986 0 R (id2501420) 1992 0 R (id2502590) 1998 0 R (id2502718) 2004 0 R (id2502876) 2005 0 R (id2503171) 2007 0 R (id2503307) 2009 0 R (id2503325) 2014 0 R (id2503934) 2017 0 R (id2504059) 2019 0 R (id2504074) 2020 0 R (id2504186) 2026 0 R (id2504209) 2027 0 R (id2504225) 2028 0 R (id2504285) 2029 0 R (id2504355) 2035 0 R (id2504459) 2036 0 R (id2504535) 2037 0 R (id2505046) 2048 0 R (id2505413) 2056 0 R (id2505418) 2057 0 R (id2506954) 2064 0 R (id2506961) 2065 0 R (id2507405) 2067 0 R (id2507411) 2068 0 R (id2508427) 2075 0 R (id2508528) 2076 0 R (id2508937) 2086 0 R (id2509111) 2105 0 R (id2509192) 2106 0 R (id2509252) 2107 0 R (id2509332) 2122 0 R (id2509337) 2123 0 R (id2509417) 2124 0 R (id2509434) 2125 0 R (id2509633) 2137 0 R (id2509736) 2143 0 R (id2509992) 2148 0 R (id2509994) 2154 0 R (id2510003) 2159 0 R (id2510026) 2155 0 R (id2510050) 2157 0 R (id2510086) 2168 0 R (id2510181) 2170 0 R (id2510206) 2162 0 R (id2510231) 2164 0 R (id2510254) 2166 0 R (id2510310) 2172 0 R (id2510337) 2174 0 R (id2510363) 2176 0 R (id2510425) 2178 0 R (id2510455) 2180 0 R (id2510485) 2182 0 R (id2510512) 2184 0 R (id2510586) 2187 0 R (id2510594) 2188 0 R (id2510620) 2190 0 R (id2510657) 2192 0 R (id2510722) 2194 0 R (id2510787) 2196 0 R (id2510852) 2199 0 R (id2510860) 2200 0 R (id2510886) 2202 0 R (id2510954) 2204 0 R (id2510989) 2206 0 R (id2511030) 2213 0 R (id2511035) 2214 0 R (id2511093) 2216 0 R (id2511130) 2224 0 R (id2511165) 2218 0 R (id2511220) 2220 0 R (id2511258) 2222 0 R (id2511284) 2226 0 R (id2511309) 2228 0 R (id2511336) 2230 0 R (id2511363) 2232 0 R (id2511402) 2234 0 R (id2511432) 2236 0 R (id2511462) 2238 0 R (id2511505) 2240 0 R (id2511538) 2242 0 R (id2511564) 2244 0 R (id2511588) 2246 0 R (id2511645) 2248 0 R (id2511670) 2251 0 R (id2511677) 2252 0 R (id2511703) 2254 0 R (id2511725) 2256 0 R (id2511749) 2258 0 R (id2511795) 2260 0 R (id2511886) 2262 0 R (id2511937) 2270 0 R (id2511944) 2271 0 R (id2511968) 2273 0 R (id2511994) 2275 0 R (id2512021) 2277 0 R (id2512057) 2279 0 R (id2512098) 2282 0 R (id2512103) 2283 0 R (id2512135) 2285 0 R (id2512181) 2287 0 R (id2512216) 2289 0 R (id2512243) 2292 0 R (id2512261) 2293 0 R (id2512283) 2295 0 R (id2512309) 2297 0 R (id2512334) 2299 0 R (id2512358) 2301 0 R (id2512404) 2303 0 R (id2512496) 2305 0 R (id2512522) 2307 0 R (id2512548) 2309 0 R (id2512585) 2312 0 R (id2512592) 2313 0 R (id2512649) 2315 0 R (id2512676) 2317 0 R (id2512712) 2324 0 R (id2512724) 2325 0 R (id2512763) 2327 0 R (id2512790) 2329 0 R (id2512820) 2331 0 R (id2512845) 2333 0 R (id2512872) 2335 0 R (id2512908) 2337 0 R (id2512945) 2339 0 R (id2512971) 2341 0 R (id2512998) 2343 0 R (id2513043) 2345 0 R (id2513084) 2348 0 R (id2513094) 2350 0 R (id2513096) 2352 0 R (id2513252) 2358 0 R (id2513261) 2359 0 R (id2513286) 2360 0 R (id2513453) 2361 0 R (id2513530) 2366 0 R (id2513557) 2368 0 R (id2513565) 2369 0 R (id2513656) 2374 0 R (id2513709) 2375 0 R (id2513773) 2376 0 R (id2513857) 2381 0 R (id2514056) 2387 0 R (id2514120) 2388 0 R (incremental_zone_transfers) 1385 0 R (internet_drafts) 2347 0 R (ipv6addresses) 1536 0 R (journal) 1384 0 R (lwresd) 1543 0 R (man.arpaname) 2722 0 R (man.ddns-confgen) 2711 0 R (man.dig) 2398 0 R (man.dnssec-dsfromkey) 2446 0 R (man.dnssec-keyfromlabel) 2464 0 R (man.dnssec-keygen) 1459 0 R (man.dnssec-revoke) 2507 0 R (man.dnssec-settime) 1460 0 R (man.dnssec-signzone) 2535 0 R (man.dnssec-verify) 2564 0 R (man.genrandom) 2728 0 R (man.host) 2435 0 R (man.isc-hmac-fixup) 2739 0 R (man.named) 2608 0 R (man.named-checkconf) 2575 0 R (man.named-checkzone) 2587 0 R (man.named-journalprint) 2630 0 R (man.nsec3hash) 2750 0 R (man.nsupdate) 2640 0 R (man.rndc) 2666 0 R (man.rndc-confgen) 2694 0 R (man.rndc.conf) 2678 0 R (managed-keys) 1487 0 R (notify) 1364 0 R (options) 1331 0 R (page.1) 938 0 R (page.10) 1323 0 R (page.100) 1963 0 R (page.101) 1970 0 R (page.102) 1976 0 R (page.103) 1981 0 R (page.104) 1991 0 R (page.105) 1997 0 R (page.106) 2003 0 R (page.107) 2013 0 R (page.108) 2025 0 R (page.109) 2034 0 R (page.11) 1336 0 R (page.110) 2042 0 R (page.111) 2046 0 R (page.112) 2054 0 R (page.113) 2062 0 R (page.114) 2074 0 R (page.115) 2082 0 R (page.116) 2090 0 R (page.117) 2094 0 R (page.118) 2100 0 R (page.119) 2111 0 R (page.12) 1340 0 R (page.120) 2115 0 R (page.121) 2120 0 R (page.122) 2131 0 R (page.123) 2135 0 R (page.124) 2142 0 R (page.125) 2152 0 R (page.126) 2211 0 R (page.127) 2268 0 R (page.128) 2322 0 R (page.129) 2357 0 R (page.13) 1348 0 R (page.130) 2365 0 R (page.131) 2373 0 R (page.132) 2380 0 R (page.133) 2386 0 R (page.134) 2392 0 R (page.135) 2396 0 R (page.136) 2405 0 R (page.137) 2411 0 R (page.138) 2416 0 R (page.139) 2421 0 R (page.14) 1354 0 R (page.140) 2425 0 R (page.141) 2434 0 R (page.142) 2442 0 R (page.143) 2453 0 R (page.144) 2460 0 R (page.145) 2473 0 R (page.146) 2477 0 R (page.147) 2485 0 R (page.148) 2493 0 R (page.149) 2497 0 R (page.15) 1362 0 R (page.150) 2502 0 R (page.151) 2513 0 R (page.152) 2524 0 R (page.153) 2531 0 R (page.154) 2540 0 R (page.155) 2547 0 R (page.156) 2551 0 R (page.157) 2556 0 R (page.158) 2561 0 R (page.159) 2572 0 R (page.16) 1383 0 R (page.160) 2582 0 R (page.161) 2593 0 R (page.162) 2599 0 R (page.163) 2605 0 R (page.164) 2616 0 R (page.165) 2620 0 R (page.166) 2627 0 R (page.167) 2639 0 R (page.168) 2647 0 R (page.169) 2653 0 R (page.17) 1393 0 R (page.170) 2657 0 R (page.171) 2665 0 R (page.172) 2674 0 R (page.173) 2685 0 R (page.174) 2690 0 R (page.175) 2703 0 R (page.176) 2709 0 R (page.177) 2719 0 R (page.178) 2733 0 R (page.179) 2746 0 R (page.18) 1399 0 R (page.180) 2759 0 R (page.19) 1404 0 R (page.2) 962 0 R (page.20) 1409 0 R (page.21) 1418 0 R (page.22) 1427 0 R (page.23) 1434 0 R (page.24) 1440 0 R (page.25) 1445 0 R (page.26) 1455 0 R (page.27) 1464 0 R (page.28) 1472 0 R (page.29) 1482 0 R (page.3) 1260 0 R (page.30) 1491 0 R (page.31) 1498 0 R (page.32) 1504 0 R (page.33) 1509 0 R (page.34) 1518 0 R (page.35) 1524 0 R (page.36) 1530 0 R (page.37) 1540 0 R (page.38) 1547 0 R (page.39) 1551 0 R (page.4) 1271 0 R (page.40) 1561 0 R (page.41) 1566 0 R (page.42) 1573 0 R (page.43) 1582 0 R (page.44) 1591 0 R (page.45) 1599 0 R (page.46) 1610 0 R (page.47) 1616 0 R (page.48) 1622 0 R (page.49) 1629 0 R (page.5) 1278 0 R (page.50) 1633 0 R (page.51) 1640 0 R (page.52) 1645 0 R (page.53) 1655 0 R (page.54) 1659 0 R (page.55) 1664 0 R (page.56) 1668 0 R (page.57) 1672 0 R (page.58) 1676 0 R (page.59) 1683 0 R (page.6) 1290 0 R (page.60) 1688 0 R (page.61) 1694 0 R (page.62) 1700 0 R (page.63) 1706 0 R (page.64) 1715 0 R (page.65) 1719 0 R (page.66) 1723 0 R (page.67) 1734 0 R (page.68) 1740 0 R (page.69) 1748 0 R (page.7) 1296 0 R (page.70) 1753 0 R (page.71) 1757 0 R (page.72) 1761 0 R (page.73) 1766 0 R (page.74) 1775 0 R (page.75) 1781 0 R (page.76) 1788 0 R (page.77) 1793 0 R (page.78) 1801 0 R (page.79) 1807 0 R (page.8) 1304 0 R (page.80) 1813 0 R (page.81) 1821 0 R (page.82) 1825 0 R (page.83) 1830 0 R (page.84) 1836 0 R (page.85) 1841 0 R (page.86) 1845 0 R (page.87) 1850 0 R (page.88) 1857 0 R (page.89) 1866 0 R (page.9) 1313 0 R (page.90) 1870 0 R (page.91) 1876 0 R (page.92) 1880 0 R (page.93) 1884 0 R (page.94) 1888 0 R (page.95) 1896 0 R (page.96) 1900 0 R (page.97) 1916 0 R (page.98) 1931 0 R (page.99) 1943 0 R (page.i) 972 0 R (page.ii) 1027 0 R (page.iii) 1091 0 R (page.iv) 1154 0 R (page.v) 1216 0 R (pkcs11) 1492 0 R (proposed_standards) 1389 0 R (query_address) 1749 0 R (rfc5011.support) 1483 0 R (rfcs) 1256 0 R (rndc) 1595 0 R (root_delegation_only) 1912 0 R (rrset_ordering) 1309 0 R (sample_configuration) 1298 0 R (section*.10) 2281 0 R (section*.100) 2610 0 R (section*.101) 2611 0 R (section*.102) 2612 0 R (section*.103) 2621 0 R (section*.104) 2622 0 R (section*.105) 2623 0 R (section*.106) 2628 0 R (section*.107) 2629 0 R (section*.108) 2631 0 R (section*.109) 2632 0 R (section*.11) 2291 0 R (section*.110) 2633 0 R (section*.111) 2634 0 R (section*.112) 2635 0 R (section*.113) 2641 0 R (section*.114) 2642 0 R (section*.115) 2643 0 R (section*.116) 2648 0 R (section*.117) 2658 0 R (section*.118) 2659 0 R (section*.119) 2660 0 R (section*.12) 2311 0 R (section*.120) 2661 0 R (section*.121) 2667 0 R (section*.122) 2668 0 R (section*.123) 2669 0 R (section*.124) 2670 0 R (section*.125) 2675 0 R (section*.126) 2676 0 R (section*.127) 2677 0 R (section*.128) 2679 0 R (section*.129) 2680 0 R (section*.13) 2323 0 R (section*.130) 2681 0 R (section*.131) 2686 0 R (section*.132) 2691 0 R (section*.133) 2692 0 R (section*.134) 2693 0 R (section*.135) 2695 0 R (section*.136) 2696 0 R (section*.137) 2697 0 R (section*.138) 2698 0 R (section*.139) 2704 0 R (section*.14) 2349 0 R (section*.140) 2705 0 R (section*.141) 2710 0 R (section*.142) 2712 0 R (section*.143) 2713 0 R (section*.144) 2714 0 R (section*.145) 2715 0 R (section*.146) 2720 0 R (section*.147) 2721 0 R (section*.148) 2723 0 R (section*.149) 2724 0 R (section*.15) 2399 0 R (section*.150) 2725 0 R (section*.151) 2726 0 R (section*.152) 2727 0 R (section*.153) 2729 0 R (section*.154) 2734 0 R (section*.155) 2735 0 R (section*.156) 2736 0 R (section*.157) 2737 0 R (section*.158) 2738 0 R (section*.159) 2740 0 R (section*.16) 2400 0 R (section*.160) 2741 0 R (section*.161) 2742 0 R (section*.162) 2747 0 R (section*.163) 2748 0 R (section*.164) 2749 0 R (section*.165) 2751 0 R (section*.166) 2752 0 R (section*.167) 2753 0 R (section*.168) 2754 0 R (section*.169) 2755 0 R (section*.17) 2401 0 R (section*.170) 2760 0 R (section*.18) 2406 0 R (section*.19) 2407 0 R (section*.2) 2147 0 R (section*.20) 2412 0 R (section*.21) 2426 0 R (section*.22) 2427 0 R (section*.23) 2428 0 R (section*.24) 2429 0 R (section*.25) 2430 0 R (section*.26) 2436 0 R (section*.27) 2437 0 R (section*.28) 2438 0 R (section*.29) 2443 0 R (section*.3) 2153 0 R (section*.30) 2444 0 R (section*.31) 2445 0 R (section*.32) 2447 0 R (section*.33) 2448 0 R (section*.34) 2449 0 R (section*.35) 2454 0 R (section*.36) 2455 0 R (section*.37) 2456 0 R (section*.38) 2461 0 R (section*.39) 2462 0 R (section*.4) 2161 0 R (section*.40) 2463 0 R (section*.41) 2465 0 R (section*.42) 2466 0 R (section*.43) 2467 0 R (section*.44) 2468 0 R (section*.45) 2478 0 R (section*.46) 2479 0 R (section*.47) 2480 0 R (section*.48) 2481 0 R (section*.49) 2486 0 R (section*.5) 2186 0 R (section*.50) 2487 0 R (section*.51) 2488 0 R (section*.52) 2489 0 R (section*.53) 2498 0 R (section*.54) 2503 0 R (section*.55) 2504 0 R (section*.56) 2505 0 R (section*.57) 2506 0 R (section*.58) 2508 0 R (section*.59) 2514 0 R (section*.6) 2198 0 R (section*.60) 2515 0 R (section*.61) 2516 0 R (section*.62) 2517 0 R (section*.63) 2518 0 R (section*.64) 2519 0 R (section*.65) 2520 0 R (section*.66) 2525 0 R (section*.67) 2526 0 R (section*.68) 2527 0 R (section*.69) 2532 0 R (section*.7) 2212 0 R (section*.70) 2533 0 R (section*.71) 2534 0 R (section*.72) 2536 0 R (section*.73) 2541 0 R (section*.74) 2542 0 R (section*.75) 2543 0 R (section*.76) 2557 0 R (section*.77) 2562 0 R (section*.78) 2563 0 R (section*.79) 2565 0 R (section*.8) 2250 0 R (section*.80) 2566 0 R (section*.81) 2567 0 R (section*.82) 2568 0 R (section*.83) 2573 0 R (section*.84) 2574 0 R (section*.85) 2576 0 R (section*.86) 2577 0 R (section*.87) 2578 0 R (section*.88) 2583 0 R (section*.89) 2584 0 R (section*.9) 2269 0 R (section*.90) 2585 0 R (section*.91) 2586 0 R (section*.92) 2588 0 R (section*.93) 2589 0 R (section*.94) 2594 0 R (section*.95) 2595 0 R (section*.96) 2600 0 R (section*.97) 2606 0 R (section*.98) 2607 0 R (section*.99) 2609 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) 618 0 R (section.6.4) 674 0 R (section.7.1) 710 0 R (section.7.2) 714 0 R (section.7.3) 726 0 R (section.8.1) 734 0 R (section.8.2) 742 0 R (section.8.3) 746 0 R (section.A.1) 754 0 R (section.A.2) 762 0 R (section.A.3) 770 0 R (section.A.4) 786 0 R (section.B.1) 846 0 R (section.B.10) 882 0 R (section.B.11) 886 0 R (section.B.12) 890 0 R (section.B.13) 894 0 R (section.B.14) 898 0 R (section.B.15) 902 0 R (section.B.16) 906 0 R (section.B.17) 910 0 R (section.B.18) 914 0 R (section.B.19) 918 0 R (section.B.2) 850 0 R (section.B.20) 922 0 R (section.B.21) 926 0 R (section.B.22) 930 0 R (section.B.3) 854 0 R (section.B.4) 858 0 R (section.B.5) 862 0 R (section.B.6) 866 0 R (section.B.7) 870 0 R (section.B.8) 874 0 R (section.B.9) 878 0 R (server_resource_limits) 1771 0 R (server_statement_definition_and_usage) 1711 0 R (server_statement_grammar) 1846 0 R (statistics) 2047 0 R (statistics_counters) 2055 0 R (statschannels) 1853 0 R (statsfile) 1679 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) 554 0 R (subsection.6.2.18) 558 0 R (subsection.6.2.19) 562 0 R (subsection.6.2.2) 402 0 R (subsection.6.2.20) 566 0 R (subsection.6.2.21) 570 0 R (subsection.6.2.22) 574 0 R (subsection.6.2.23) 578 0 R (subsection.6.2.24) 582 0 R (subsection.6.2.25) 586 0 R (subsection.6.2.26) 590 0 R (subsection.6.2.27) 594 0 R (subsection.6.2.28) 598 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) 622 0 R (subsection.6.3.2) 634 0 R (subsection.6.3.3) 638 0 R (subsection.6.3.4) 642 0 R (subsection.6.3.5) 646 0 R (subsection.6.3.6) 666 0 R (subsection.6.3.7) 670 0 R (subsection.6.4.1) 682 0 R (subsection.7.2.1) 718 0 R (subsection.7.2.2) 722 0 R (subsection.8.1.1) 738 0 R (subsection.A.1.1) 758 0 R (subsection.A.2.1) 766 0 R (subsection.A.3.1) 774 0 R (subsection.A.3.2) 778 0 R (subsection.A.3.3) 782 0 R (subsection.A.4.1) 790 0 R (subsection.A.4.2) 794 0 R (subsection.A.4.3) 798 0 R (subsection.A.4.4) 802 0 R (subsection.A.4.5) 806 0 R (subsection.A.4.6) 810 0 R (subsection.A.4.7) 838 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.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) 602 0 R (subsubsection.6.2.28.2) 606 0 R (subsubsection.6.2.28.3) 610 0 R (subsubsection.6.2.28.4) 614 0 R (subsubsection.6.3.1.1) 626 0 R (subsubsection.6.3.1.2) 630 0 R (subsubsection.6.3.5.1) 650 0 R (subsubsection.6.3.5.2) 654 0 R (subsubsection.6.3.5.3) 658 0 R (subsubsection.6.3.5.4) 662 0 R (subsubsection.6.4.0.1) 678 0 R (subsubsection.6.4.1.1) 686 0 R (subsubsection.6.4.1.2) 690 0 R (subsubsection.6.4.1.3) 694 0 R (subsubsection.6.4.1.4) 698 0 R (subsubsection.6.4.1.5) 702 0 R (subsubsection.A.4.6.1) 814 0 R (subsubsection.A.4.6.2) 818 0 R (subsubsection.A.4.6.3) 822 0 R (subsubsection.A.4.6.4) 826 0 R (subsubsection.A.4.6.5) 830 0 R (subsubsection.A.4.6.6) 834 0 R (table.1.1) 1240 0 R (table.1.2) 1248 0 R (table.3.1) 1307 0 R (table.3.2) 1357 0 R (table.6.1) 1555 0 R (table.6.10) 1987 0 R (table.6.11) 1993 0 R (table.6.12) 1999 0 R (table.6.13) 2006 0 R (table.6.14) 2008 0 R (table.6.15) 2015 0 R (table.6.16) 2018 0 R (table.6.17) 2021 0 R (table.6.18) 2038 0 R (table.6.19) 2049 0 R (table.6.2) 1577 0 R (table.6.20) 2058 0 R (table.6.21) 2066 0 R (table.6.22) 2069 0 R (table.6.23) 2077 0 R (table.6.3) 1586 0 R (table.6.4) 1624 0 R (table.6.5) 1636 0 R (table.6.6) 1696 0 R (table.6.7) 1796 0 R (table.6.8) 1892 0 R (table.6.9) 1972 0 R (the_category_phrase) 1618 0 R (the_sortlist_statement) 1783 0 R (topology) 1782 0 R (trusted-keys) 1859 0 R (tsig) 1405 0 R (tuning) 1797 0 R (types_of_resource_records_and_when_to_use_them) 1255 0 R (view_statement_grammar) 1817 0 R (zone_statement_grammar) 1730 0 R (zone_transfers) 1379 0 R (zonefile_format) 1809 0 R]
/Limits [(Access_Control_Lists) (zonefile_format)]
>> endobj
-2764 0 obj <<
-/Kids [2763 0 R]
+2789 0 obj <<
+/Kids [2788 0 R]
>> endobj
-2765 0 obj <<
-/Dests 2764 0 R
+2790 0 obj <<
+/Dests 2789 0 R
>> endobj
-2766 0 obj <<
+2791 0 obj <<
/Type /Catalog
-/Pages 2761 0 R
-/Outlines 2762 0 R
-/Names 2765 0 R
+/Pages 2786 0 R
+/Outlines 2787 0 R
+/Names 2790 0 R
/PageMode /UseOutlines
-/OpenAction 929 0 R
+/OpenAction 933 0 R
>> endobj
-2767 0 obj <<
+2792 0 obj <<
/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords()
-/CreationDate (D:20120312011628Z)
+/CreationDate (D:20120815014423Z)
/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4)
>> endobj
xref
-0 2768
+0 2793
0000000001 65535 f
0000000002 00000 f
0000000003 00000 f
0000000004 00000 f
0000000000 00000 f
0000000009 00000 n
-0000348646 00000 n
-0001196900 00000 n
+0000348946 00000 n
+0001203388 00000 n
0000000054 00000 n
0000000086 00000 n
-0000348773 00000 n
-0001196828 00000 n
+0000349073 00000 n
+0001203316 00000 n
0000000133 00000 n
0000000173 00000 n
-0000348901 00000 n
-0001196742 00000 n
+0000349201 00000 n
+0001203230 00000 n
0000000221 00000 n
0000000273 00000 n
-0000349029 00000 n
-0001196656 00000 n
+0000349329 00000 n
+0001203144 00000 n
0000000321 00000 n
0000000377 00000 n
-0000353315 00000 n
-0001196546 00000 n
+0000353615 00000 n
+0001203034 00000 n
0000000425 00000 n
0000000478 00000 n
-0000353442 00000 n
-0001196472 00000 n
+0000353742 00000 n
+0001202960 00000 n
0000000531 00000 n
0000000572 00000 n
-0000353570 00000 n
-0001196385 00000 n
+0000353870 00000 n
+0001202873 00000 n
0000000625 00000 n
0000000674 00000 n
-0000353697 00000 n
-0001196298 00000 n
+0000353997 00000 n
+0001202786 00000 n
0000000727 00000 n
0000000757 00000 n
-0000357994 00000 n
-0001196174 00000 n
+0000358294 00000 n
+0001202662 00000 n
0000000810 00000 n
0000000861 00000 n
-0000358122 00000 n
-0001196100 00000 n
+0000358422 00000 n
+0001202588 00000 n
0000000919 00000 n
0000000964 00000 n
-0000358250 00000 n
-0001196013 00000 n
+0000358550 00000 n
+0001202501 00000 n
0000001022 00000 n
0000001062 00000 n
-0000358378 00000 n
-0001195939 00000 n
+0000358678 00000 n
+0001202427 00000 n
0000001120 00000 n
0000001162 00000 n
-0000361363 00000 n
-0001195815 00000 n
+0000361663 00000 n
+0001202303 00000 n
0000001215 00000 n
0000001260 00000 n
-0000361491 00000 n
-0001195754 00000 n
+0000361791 00000 n
+0001202242 00000 n
0000001318 00000 n
0000001355 00000 n
-0000361619 00000 n
-0001195680 00000 n
+0000361919 00000 n
+0001202168 00000 n
0000001408 00000 n
0000001463 00000 n
-0000364566 00000 n
-0001195555 00000 n
+0000364866 00000 n
+0001202043 00000 n
0000001509 00000 n
0000001556 00000 n
-0000364694 00000 n
-0001195481 00000 n
+0000364994 00000 n
+0001201969 00000 n
0000001604 00000 n
0000001648 00000 n
-0000364822 00000 n
-0001195394 00000 n
+0000365122 00000 n
+0001201882 00000 n
0000001696 00000 n
0000001735 00000 n
-0000364950 00000 n
-0001195307 00000 n
+0000365250 00000 n
+0001201795 00000 n
0000001783 00000 n
0000001825 00000 n
-0000365077 00000 n
-0001195220 00000 n
+0000365377 00000 n
+0001201708 00000 n
0000001873 00000 n
0000001936 00000 n
-0000366154 00000 n
-0001195146 00000 n
+0000366454 00000 n
+0001201634 00000 n
0000001984 00000 n
0000002034 00000 n
-0000367813 00000 n
-0001195018 00000 n
+0000368113 00000 n
+0001201506 00000 n
0000002080 00000 n
0000002126 00000 n
-0000367940 00000 n
-0001194905 00000 n
+0000368240 00000 n
+0001201393 00000 n
0000002174 00000 n
0000002218 00000 n
-0000368068 00000 n
-0001194829 00000 n
+0000368368 00000 n
+0001201317 00000 n
0000002271 00000 n
0000002323 00000 n
-0000368196 00000 n
-0001194752 00000 n
+0000368496 00000 n
+0001201240 00000 n
0000002377 00000 n
0000002436 00000 n
-0000370645 00000 n
-0001194661 00000 n
+0000370945 00000 n
+0001201149 00000 n
0000002485 00000 n
0000002523 00000 n
-0000373983 00000 n
-0001194544 00000 n
+0000374283 00000 n
+0001201032 00000 n
0000002572 00000 n
0000002618 00000 n
-0000374111 00000 n
-0001194426 00000 n
+0000374411 00000 n
+0001200914 00000 n
0000002672 00000 n
0000002739 00000 n
-0000374239 00000 n
-0001194347 00000 n
+0000374539 00000 n
+0001200835 00000 n
0000002798 00000 n
0000002842 00000 n
-0000374368 00000 n
-0001194268 00000 n
+0000374668 00000 n
+0001200756 00000 n
0000002901 00000 n
0000002949 00000 n
-0000390966 00000 n
-0001194189 00000 n
+0000392704 00000 n
+0001200677 00000 n
0000003003 00000 n
0000003036 00000 n
-0000397067 00000 n
-0001194056 00000 n
+0000397932 00000 n
+0001200544 00000 n
0000003083 00000 n
0000003126 00000 n
-0000397196 00000 n
-0001193977 00000 n
+0000398061 00000 n
+0001200465 00000 n
0000003175 00000 n
0000003205 00000 n
-0000397325 00000 n
-0001193845 00000 n
+0000398190 00000 n
+0001200333 00000 n
0000003254 00000 n
0000003292 00000 n
-0000401834 00000 n
-0001193780 00000 n
+0000402699 00000 n
+0001200268 00000 n
0000003346 00000 n
0000003388 00000 n
-0000401963 00000 n
-0001193687 00000 n
+0000402828 00000 n
+0001200175 00000 n
0000003437 00000 n
0000003496 00000 n
-0000402092 00000 n
-0001193555 00000 n
+0000402957 00000 n
+0001200043 00000 n
0000003545 00000 n
0000003578 00000 n
-0000406010 00000 n
-0001193490 00000 n
+0000406875 00000 n
+0001199978 00000 n
0000003632 00000 n
0000003681 00000 n
-0000409024 00000 n
-0001193358 00000 n
+0000409889 00000 n
+0001199846 00000 n
0000003730 00000 n
0000003758 00000 n
-0000411804 00000 n
-0001193240 00000 n
+0000412669 00000 n
+0001199728 00000 n
0000003812 00000 n
0000003881 00000 n
-0000411933 00000 n
-0001193161 00000 n
+0000412798 00000 n
+0001199649 00000 n
0000003940 00000 n
0000003988 00000 n
-0000412061 00000 n
-0001193082 00000 n
+0000412926 00000 n
+0001199570 00000 n
0000004047 00000 n
0000004092 00000 n
-0000412190 00000 n
-0001192989 00000 n
+0000413055 00000 n
+0001199477 00000 n
0000004146 00000 n
0000004214 00000 n
-0000412319 00000 n
-0001192896 00000 n
+0000413184 00000 n
+0001199384 00000 n
0000004268 00000 n
0000004338 00000 n
-0000415988 00000 n
-0001192803 00000 n
+0000416853 00000 n
+0001199291 00000 n
0000004392 00000 n
0000004455 00000 n
-0000416117 00000 n
-0001192710 00000 n
+0000416982 00000 n
+0001199198 00000 n
0000004509 00000 n
0000004564 00000 n
-0000416245 00000 n
-0001192631 00000 n
+0000417110 00000 n
+0001199119 00000 n
0000004618 00000 n
0000004650 00000 n
-0000416373 00000 n
-0001192538 00000 n
+0000417238 00000 n
+0001199026 00000 n
0000004699 00000 n
0000004727 00000 n
-0000420142 00000 n
-0001192445 00000 n
+0000421007 00000 n
+0001198933 00000 n
0000004776 00000 n
0000004808 00000 n
-0000420271 00000 n
-0001192313 00000 n
+0000421136 00000 n
+0001198801 00000 n
0000004857 00000 n
0000004887 00000 n
-0000420400 00000 n
-0001192234 00000 n
+0000421265 00000 n
+0001198722 00000 n
0000004941 00000 n
0000004982 00000 n
-0000424198 00000 n
-0001192141 00000 n
+0000425063 00000 n
+0001198629 00000 n
0000005036 00000 n
0000005078 00000 n
-0000424327 00000 n
-0001192062 00000 n
+0000425192 00000 n
+0001198550 00000 n
0000005132 00000 n
0000005177 00000 n
-0000429650 00000 n
-0001191929 00000 n
+0000430515 00000 n
+0001198417 00000 n
0000005226 00000 n
0000005294 00000 n
-0000429779 00000 n
-0001191850 00000 n
+0000430644 00000 n
+0001198338 00000 n
0000005348 00000 n
0000005408 00000 n
-0000429908 00000 n
-0001191757 00000 n
+0000430773 00000 n
+0001198245 00000 n
0000005462 00000 n
0000005513 00000 n
-0000434175 00000 n
-0001191664 00000 n
+0000435040 00000 n
+0001198152 00000 n
0000005567 00000 n
0000005621 00000 n
-0000437157 00000 n
-0001191571 00000 n
+0000438022 00000 n
+0001198059 00000 n
0000005675 00000 n
0000005721 00000 n
-0000437286 00000 n
-0001191478 00000 n
+0000438151 00000 n
+0001197966 00000 n
0000005775 00000 n
0000005817 00000 n
-0000437415 00000 n
-0001191385 00000 n
+0000438280 00000 n
+0001197873 00000 n
0000005871 00000 n
0000005922 00000 n
-0000437544 00000 n
-0001191292 00000 n
+0000438409 00000 n
+0001197780 00000 n
0000005976 00000 n
0000006025 00000 n
-0000440303 00000 n
-0001191199 00000 n
+0000441168 00000 n
+0001197687 00000 n
0000006079 00000 n
0000006136 00000 n
-0000440432 00000 n
-0001191106 00000 n
+0000441297 00000 n
+0001197594 00000 n
0000006190 00000 n
0000006245 00000 n
-0000440561 00000 n
-0001191013 00000 n
+0000441426 00000 n
+0001197501 00000 n
0000006300 00000 n
0000006356 00000 n
-0000440689 00000 n
-0001190920 00000 n
+0000441554 00000 n
+0001197408 00000 n
0000006411 00000 n
0000006472 00000 n
-0000440817 00000 n
-0001190827 00000 n
+0000441682 00000 n
+0001197315 00000 n
0000006527 00000 n
0000006573 00000 n
-0000440946 00000 n
-0001190748 00000 n
+0000441811 00000 n
+0001197236 00000 n
0000006628 00000 n
0000006671 00000 n
-0000444810 00000 n
-0001190616 00000 n
+0000445675 00000 n
+0001197104 00000 n
0000006721 00000 n
0000006777 00000 n
-0000444939 00000 n
-0001190537 00000 n
+0000445804 00000 n
+0001197025 00000 n
0000006832 00000 n
0000006878 00000 n
-0000445068 00000 n
-0001190458 00000 n
+0000445933 00000 n
+0001196946 00000 n
0000006933 00000 n
0000006980 00000 n
-0000448472 00000 n
-0001190326 00000 n
+0000449337 00000 n
+0001196814 00000 n
0000007030 00000 n
0000007087 00000 n
-0000448601 00000 n
-0001190208 00000 n
+0000449466 00000 n
+0001196696 00000 n
0000007142 00000 n
0000007182 00000 n
-0000451269 00000 n
-0001190129 00000 n
+0000452134 00000 n
+0001196617 00000 n
0000007242 00000 n
0000007315 00000 n
-0000451398 00000 n
-0001190036 00000 n
+0000452263 00000 n
+0001196524 00000 n
0000007375 00000 n
0000007448 00000 n
-0000454115 00000 n
-0001189957 00000 n
+0000454980 00000 n
+0001196445 00000 n
0000007508 00000 n
0000007565 00000 n
-0000456507 00000 n
-0001189825 00000 n
+0000457372 00000 n
+0001196313 00000 n
0000007620 00000 n
0000007678 00000 n
-0000456636 00000 n
-0001189746 00000 n
+0000457501 00000 n
+0001196234 00000 n
0000007738 00000 n
0000007815 00000 n
-0000456765 00000 n
-0001189653 00000 n
+0000457630 00000 n
+0001196141 00000 n
0000007875 00000 n
0000007952 00000 n
-0000456894 00000 n
-0001189574 00000 n
+0000457759 00000 n
+0001196062 00000 n
0000008012 00000 n
0000008071 00000 n
-0000457023 00000 n
-0001189481 00000 n
+0000457888 00000 n
+0001195969 00000 n
0000008126 00000 n
0000008170 00000 n
-0000459655 00000 n
-0001189388 00000 n
+0000460520 00000 n
+0001195876 00000 n
0000008225 00000 n
0000008265 00000 n
-0000462464 00000 n
-0001189295 00000 n
+0000463329 00000 n
+0001195783 00000 n
0000008320 00000 n
0000008388 00000 n
-0000462593 00000 n
-0001189216 00000 n
+0000463458 00000 n
+0001195704 00000 n
0000008443 00000 n
0000008514 00000 n
-0000466654 00000 n
-0001189098 00000 n
+0000467519 00000 n
+0001195586 00000 n
0000008564 00000 n
0000008611 00000 n
-0000466783 00000 n
-0001189019 00000 n
+0000467648 00000 n
+0001195507 00000 n
0000008666 00000 n
0000008727 00000 n
-0000466912 00000 n
-0001188940 00000 n
+0000467777 00000 n
+0001195428 00000 n
0000008782 00000 n
0000008852 00000 n
-0000469397 00000 n
-0001188807 00000 n
+0000470262 00000 n
+0001195295 00000 n
0000008899 00000 n
0000008952 00000 n
-0000469526 00000 n
-0001188728 00000 n
+0000470391 00000 n
+0001195216 00000 n
0000009001 00000 n
0000009057 00000 n
-0000469655 00000 n
-0001188649 00000 n
+0000470520 00000 n
+0001195137 00000 n
0000009106 00000 n
0000009155 00000 n
-0000473925 00000 n
-0001188516 00000 n
+0000474790 00000 n
+0001195004 00000 n
0000009202 00000 n
0000009254 00000 n
-0000474054 00000 n
-0001188398 00000 n
+0000474919 00000 n
+0001194886 00000 n
0000009303 00000 n
0000009354 00000 n
-0000478746 00000 n
-0001188280 00000 n
+0000479611 00000 n
+0001194768 00000 n
0000009408 00000 n
0000009453 00000 n
-0000478874 00000 n
-0001188201 00000 n
+0000479739 00000 n
+0001194689 00000 n
0000009512 00000 n
0000009546 00000 n
-0000482467 00000 n
-0001188122 00000 n
+0000483332 00000 n
+0001194610 00000 n
0000009605 00000 n
0000009653 00000 n
-0000482596 00000 n
-0001188004 00000 n
+0000483461 00000 n
+0001194492 00000 n
0000009707 00000 n
0000009747 00000 n
-0000482725 00000 n
-0001187925 00000 n
+0000483590 00000 n
+0001194413 00000 n
0000009806 00000 n
0000009840 00000 n
-0000485577 00000 n
-0001187846 00000 n
+0000486442 00000 n
+0001194334 00000 n
0000009899 00000 n
0000009947 00000 n
-0000485706 00000 n
-0001187713 00000 n
+0000486571 00000 n
+0001194201 00000 n
0000009996 00000 n
0000010046 00000 n
-0000488812 00000 n
-0001187634 00000 n
+0000489677 00000 n
+0001194122 00000 n
0000010100 00000 n
0000010147 00000 n
-0000488940 00000 n
-0001187541 00000 n
+0000489805 00000 n
+0001194029 00000 n
0000010201 00000 n
0000010261 00000 n
-0000489199 00000 n
-0001187448 00000 n
+0000490064 00000 n
+0001193936 00000 n
0000010315 00000 n
0000010367 00000 n
-0000494381 00000 n
-0001187355 00000 n
+0000495246 00000 n
+0001193843 00000 n
0000010421 00000 n
0000010486 00000 n
-0000494510 00000 n
-0001187262 00000 n
+0000495375 00000 n
+0001193750 00000 n
0000010540 00000 n
0000010591 00000 n
-0000497987 00000 n
-0001187169 00000 n
+0000498852 00000 n
+0001193657 00000 n
0000010645 00000 n
0000010709 00000 n
-0000498116 00000 n
-0001187076 00000 n
+0000498981 00000 n
+0001193564 00000 n
0000010763 00000 n
0000010810 00000 n
-0000498245 00000 n
-0001186983 00000 n
+0000499110 00000 n
+0001193471 00000 n
0000010864 00000 n
0000010924 00000 n
-0000498374 00000 n
-0001186890 00000 n
+0000499239 00000 n
+0001193378 00000 n
0000010978 00000 n
0000011029 00000 n
-0000502392 00000 n
-0001186758 00000 n
+0000503257 00000 n
+0001193246 00000 n
0000011084 00000 n
0000011149 00000 n
-0000502521 00000 n
-0001186679 00000 n
+0000503386 00000 n
+0001193167 00000 n
0000011209 00000 n
0000011256 00000 n
-0000509342 00000 n
-0001186586 00000 n
+0000510207 00000 n
+0001193074 00000 n
0000011316 00000 n
0000011364 00000 n
-0000515898 00000 n
-0001186507 00000 n
+0000516763 00000 n
+0001192995 00000 n
0000011424 00000 n
0000011478 00000 n
-0000519125 00000 n
-0001186414 00000 n
+0000519990 00000 n
+0001192902 00000 n
0000011533 00000 n
0000011583 00000 n
-0000522025 00000 n
-0001186321 00000 n
+0000522890 00000 n
+0001192809 00000 n
0000011638 00000 n
0000011701 00000 n
-0000522154 00000 n
-0001186228 00000 n
+0000523019 00000 n
+0001192716 00000 n
0000011756 00000 n
0000011808 00000 n
-0000522283 00000 n
-0001186135 00000 n
+0000523148 00000 n
+0001192623 00000 n
0000011863 00000 n
0000011928 00000 n
-0000522412 00000 n
-0001186042 00000 n
+0000523277 00000 n
+0001192530 00000 n
0000011983 00000 n
0000012035 00000 n
-0000530133 00000 n
-0001185909 00000 n
+0000530865 00000 n
+0001192397 00000 n
0000012090 00000 n
0000012155 00000 n
-0000547248 00000 n
-0001185830 00000 n
+0000547797 00000 n
+0001192318 00000 n
0000012215 00000 n
0000012259 00000 n
-0000573333 00000 n
-0001185737 00000 n
+0000574082 00000 n
+0001192225 00000 n
0000012319 00000 n
0000012358 00000 n
-0000573461 00000 n
-0001185644 00000 n
+0000574210 00000 n
+0001192132 00000 n
0000012418 00000 n
0000012465 00000 n
-0000576765 00000 n
-0001185551 00000 n
+0000577603 00000 n
+0001192039 00000 n
0000012525 00000 n
0000012568 00000 n
-0000581080 00000 n
-0001185458 00000 n
+0000581735 00000 n
+0001191946 00000 n
0000012628 00000 n
0000012667 00000 n
-0000584829 00000 n
-0001185365 00000 n
+0000585662 00000 n
+0001191853 00000 n
0000012727 00000 n
0000012769 00000 n
-0000587747 00000 n
-0001185272 00000 n
+0000588587 00000 n
+0001191760 00000 n
0000012829 00000 n
0000012872 00000 n
-0000595219 00000 n
-0001185179 00000 n
+0000599696 00000 n
+0001191667 00000 n
0000012932 00000 n
0000012975 00000 n
-0000599488 00000 n
-0001185086 00000 n
+0000599825 00000 n
+0001191574 00000 n
0000013035 00000 n
0000013096 00000 n
-0000599617 00000 n
-0001184993 00000 n
+0000599953 00000 n
+0001191481 00000 n
0000013157 00000 n
0000013209 00000 n
-0000603545 00000 n
-0001184900 00000 n
+0000604184 00000 n
+0001191388 00000 n
0000013270 00000 n
0000013323 00000 n
-0000607493 00000 n
-0001184807 00000 n
+0000607488 00000 n
+0001191295 00000 n
0000013384 00000 n
0000013422 00000 n
-0000607622 00000 n
-0001184714 00000 n
+0000607617 00000 n
+0001191202 00000 n
0000013483 00000 n
0000013535 00000 n
-0000610784 00000 n
-0001184621 00000 n
+0000614305 00000 n
+0001191109 00000 n
0000013596 00000 n
0000013640 00000 n
-0000614197 00000 n
-0001184528 00000 n
+0000614563 00000 n
+0001191016 00000 n
0000013701 00000 n
0000013737 00000 n
-0000623179 00000 n
-0001184435 00000 n
+0000626711 00000 n
+0001190923 00000 n
0000013798 00000 n
0000013861 00000 n
-0000626103 00000 n
-0001184342 00000 n
+0000626840 00000 n
+0001190830 00000 n
0000013922 00000 n
0000013972 00000 n
-0000629305 00000 n
-0001184249 00000 n
+0000633682 00000 n
+0001190737 00000 n
0000014033 00000 n
0000014089 00000 n
-0000633752 00000 n
-0001184156 00000 n
+0000633808 00000 n
+0001190644 00000 n
0000014150 00000 n
0000014197 00000 n
-0000637921 00000 n
-0001184077 00000 n
+0000637819 00000 n
+0001190565 00000 n
0000014258 00000 n
0000014326 00000 n
-0000644527 00000 n
-0001183984 00000 n
+0000648217 00000 n
+0001190472 00000 n
0000014381 00000 n
0000014432 00000 n
-0000648633 00000 n
-0001183891 00000 n
+0000648345 00000 n
+0001190379 00000 n
0000014487 00000 n
0000014551 00000 n
-0000653039 00000 n
-0001183798 00000 n
+0000653192 00000 n
+0001190286 00000 n
0000014606 00000 n
0000014670 00000 n
-0000653168 00000 n
-0001183705 00000 n
+0000657076 00000 n
+0001190193 00000 n
0000014725 00000 n
0000014802 00000 n
-0000653296 00000 n
-0001183612 00000 n
+0000657203 00000 n
+0001190100 00000 n
0000014857 00000 n
0000014914 00000 n
-0000657250 00000 n
-0001183519 00000 n
+0000657331 00000 n
+0001190007 00000 n
0000014969 00000 n
0000015039 00000 n
-0000657379 00000 n
-0001183426 00000 n
+0000657460 00000 n
+0001189914 00000 n
0000015094 00000 n
0000015151 00000 n
-0000657508 00000 n
-0001183333 00000 n
+0000661739 00000 n
+0001189821 00000 n
0000015206 00000 n
0000015276 00000 n
-0000661684 00000 n
-0001183240 00000 n
+0000665201 00000 n
+0001189728 00000 n
0000015331 00000 n
0000015380 00000 n
-0000661813 00000 n
-0001183147 00000 n
+0000665330 00000 n
+0001189635 00000 n
0000015435 00000 n
0000015497 00000 n
-0000664201 00000 n
-0001183054 00000 n
+0000667086 00000 n
+0001189542 00000 n
0000015552 00000 n
0000015601 00000 n
-0000668974 00000 n
-0001182936 00000 n
+0000672562 00000 n
+0001189424 00000 n
0000015656 00000 n
0000015718 00000 n
-0000669102 00000 n
-0001182857 00000 n
+0000672691 00000 n
+0001189345 00000 n
0000015778 00000 n
0000015817 00000 n
-0000682004 00000 n
-0001182764 00000 n
+0000681483 00000 n
+0001189252 00000 n
0000015877 00000 n
0000015911 00000 n
-0000682133 00000 n
-0001182671 00000 n
+0000681610 00000 n
+0001189159 00000 n
0000015971 00000 n
0000016012 00000 n
-0000702091 00000 n
-0001182592 00000 n
+0000702899 00000 n
+0001189080 00000 n
0000016072 00000 n
0000016124 00000 n
-0000708842 00000 n
-0001182460 00000 n
+0000712653 00000 n
+0001188948 00000 n
0000016173 00000 n
0000016206 00000 n
-0000708970 00000 n
-0001182342 00000 n
+0000712782 00000 n
+0001188830 00000 n
0000016260 00000 n
0000016332 00000 n
-0000709099 00000 n
-0001182263 00000 n
+0000712911 00000 n
+0001188751 00000 n
0000016391 00000 n
0000016435 00000 n
-0000720276 00000 n
-0001182184 00000 n
+0000723512 00000 n
+0001188672 00000 n
0000016494 00000 n
0000016547 00000 n
-0000723992 00000 n
-0001182091 00000 n
+0000723901 00000 n
+0001188579 00000 n
0000016601 00000 n
0000016651 00000 n
-0000724251 00000 n
-0001181998 00000 n
+0000727755 00000 n
+0001188486 00000 n
0000016705 00000 n
0000016743 00000 n
-0000727396 00000 n
-0001181905 00000 n
+0000728014 00000 n
+0001188393 00000 n
0000016797 00000 n
0000016846 00000 n
-0000727655 00000 n
-0001181773 00000 n
+0000730787 00000 n
+0001188261 00000 n
0000016900 00000 n
0000016952 00000 n
-0000727784 00000 n
-0001181694 00000 n
+0000730912 00000 n
+0001188182 00000 n
0000017011 00000 n
0000017056 00000 n
-0000727913 00000 n
-0001181601 00000 n
+0000731041 00000 n
+0001188089 00000 n
0000017115 00000 n
0000017167 00000 n
-0000730641 00000 n
-0001181508 00000 n
+0000731170 00000 n
+0001187996 00000 n
0000017226 00000 n
0000017279 00000 n
-0000730770 00000 n
-0001181429 00000 n
+0000733622 00000 n
+0001187917 00000 n
0000017338 00000 n
0000017387 00000 n
-0000730899 00000 n
-0001181336 00000 n
+0000733751 00000 n
+0001187824 00000 n
0000017441 00000 n
0000017521 00000 n
-0000734948 00000 n
-0001181257 00000 n
+0000738066 00000 n
+0001187745 00000 n
0000017575 00000 n
0000017624 00000 n
-0000738617 00000 n
-0001181139 00000 n
+0000741571 00000 n
+0001187627 00000 n
0000017673 00000 n
0000017713 00000 n
-0000738876 00000 n
-0001181060 00000 n
+0000741830 00000 n
+0001187548 00000 n
0000017772 00000 n
0000017819 00000 n
-0000742231 00000 n
-0001180942 00000 n
+0000745262 00000 n
+0001187430 00000 n
0000017873 00000 n
0000017918 00000 n
-0000742360 00000 n
-0001180863 00000 n
+0000745391 00000 n
+0001187351 00000 n
0000017977 00000 n
0000018036 00000 n
-0000745773 00000 n
-0001180770 00000 n
+0000748746 00000 n
+0001187258 00000 n
0000018095 00000 n
0000018159 00000 n
-0000746032 00000 n
-0001180677 00000 n
+0000749005 00000 n
+0001187165 00000 n
0000018218 00000 n
0000018274 00000 n
-0000750118 00000 n
-0001180584 00000 n
+0000753162 00000 n
+0001187072 00000 n
0000018333 00000 n
0000018391 00000 n
-0000752529 00000 n
-0001180505 00000 n
+0000755183 00000 n
+0001186993 00000 n
0000018450 00000 n
0000018512 00000 n
-0000754314 00000 n
-0001180372 00000 n
+0000757351 00000 n
+0001186860 00000 n
0000018559 00000 n
0000018611 00000 n
-0000754442 00000 n
-0001180293 00000 n
+0000757479 00000 n
+0001186781 00000 n
0000018660 00000 n
0000018704 00000 n
-0000758477 00000 n
-0001180161 00000 n
+0000761513 00000 n
+0001186649 00000 n
0000018753 00000 n
0000018794 00000 n
-0000758606 00000 n
-0001180082 00000 n
+0000761642 00000 n
+0001186570 00000 n
0000018848 00000 n
0000018896 00000 n
-0000758734 00000 n
-0001180003 00000 n
+0000761770 00000 n
+0001186491 00000 n
0000018950 00000 n
0000019001 00000 n
-0000758863 00000 n
-0001179924 00000 n
+0000761899 00000 n
+0001186412 00000 n
0000019050 00000 n
0000019097 00000 n
-0000763462 00000 n
-0001179791 00000 n
+0000766498 00000 n
+0001186279 00000 n
0000019144 00000 n
0000019181 00000 n
-0000763591 00000 n
-0001179673 00000 n
+0000766627 00000 n
+0001186161 00000 n
0000019230 00000 n
0000019269 00000 n
-0000763720 00000 n
-0001179608 00000 n
+0000766756 00000 n
+0001186096 00000 n
0000019323 00000 n
0000019401 00000 n
-0000763849 00000 n
-0001179515 00000 n
+0000766885 00000 n
+0001186003 00000 n
0000019450 00000 n
0000019517 00000 n
-0000763978 00000 n
-0001179436 00000 n
+0000767014 00000 n
+0001185924 00000 n
0000019566 00000 n
0000019611 00000 n
-0000767419 00000 n
-0001179303 00000 n
+0000770455 00000 n
+0001185791 00000 n
0000019659 00000 n
0000019691 00000 n
-0000767548 00000 n
-0001179185 00000 n
+0000770584 00000 n
+0001185673 00000 n
0000019740 00000 n
0000019779 00000 n
-0000767677 00000 n
-0001179120 00000 n
+0000770713 00000 n
+0001185608 00000 n
0000019833 00000 n
0000019894 00000 n
-0000771359 00000 n
-0001178988 00000 n
+0000774396 00000 n
+0001185476 00000 n
0000019943 00000 n
0000020000 00000 n
-0000771488 00000 n
-0001178923 00000 n
+0000774525 00000 n
+0001185411 00000 n
0000020054 00000 n
0000020103 00000 n
-0000771617 00000 n
-0001178791 00000 n
+0000774654 00000 n
+0001185279 00000 n
0000020152 00000 n
0000020214 00000 n
-0000771746 00000 n
-0001178712 00000 n
+0000774783 00000 n
+0001185200 00000 n
0000020268 00000 n
0000020323 00000 n
-0000796588 00000 n
-0001178619 00000 n
+0000799625 00000 n
+0001185107 00000 n
0000020377 00000 n
0000020418 00000 n
-0000796717 00000 n
-0001178540 00000 n
+0000799754 00000 n
+0001185028 00000 n
0000020472 00000 n
0000020524 00000 n
-0000797106 00000 n
-0001178422 00000 n
+0000800143 00000 n
+0001184910 00000 n
0000020573 00000 n
0000020623 00000 n
-0000799927 00000 n
-0001178343 00000 n
+0000802965 00000 n
+0001184831 00000 n
0000020677 00000 n
0000020715 00000 n
-0000800056 00000 n
-0001178250 00000 n
+0000803094 00000 n
+0001184738 00000 n
0000020769 00000 n
0000020806 00000 n
-0000800185 00000 n
-0001178157 00000 n
+0000803223 00000 n
+0001184645 00000 n
0000020860 00000 n
0000020898 00000 n
-0000800314 00000 n
-0001178064 00000 n
+0000803352 00000 n
+0001184552 00000 n
0000020952 00000 n
0000021004 00000 n
-0000803550 00000 n
-0001177971 00000 n
+0000806588 00000 n
+0001184459 00000 n
0000021058 00000 n
0000021101 00000 n
-0000803678 00000 n
-0001177839 00000 n
+0000806716 00000 n
+0001184327 00000 n
0000021155 00000 n
0000021200 00000 n
-0000803806 00000 n
-0001177760 00000 n
+0000806844 00000 n
+0001184248 00000 n
0000021259 00000 n
0000021325 00000 n
-0000806792 00000 n
-0001177667 00000 n
+0000809830 00000 n
+0001184155 00000 n
0000021384 00000 n
0000021472 00000 n
-0000806921 00000 n
-0001177574 00000 n
+0000809959 00000 n
+0001184062 00000 n
0000021531 00000 n
0000021606 00000 n
-0000807050 00000 n
-0001177481 00000 n
+0000810088 00000 n
+0001183969 00000 n
0000021665 00000 n
0000021750 00000 n
-0000809959 00000 n
-0001177388 00000 n
+0000812996 00000 n
+0001183876 00000 n
0000021809 00000 n
0000021890 00000 n
-0000812420 00000 n
-0001177309 00000 n
+0000815457 00000 n
+0001183797 00000 n
0000021949 00000 n
0000022033 00000 n
-0000812549 00000 n
-0001177230 00000 n
+0000815586 00000 n
+0001183718 00000 n
0000022087 00000 n
0000022131 00000 n
-0000815378 00000 n
-0001177110 00000 n
+0000818415 00000 n
+0001183598 00000 n
0000022179 00000 n
0000022213 00000 n
-0000815507 00000 n
-0001177031 00000 n
+0000818544 00000 n
+0001183519 00000 n
0000022262 00000 n
0000022289 00000 n
-0000837644 00000 n
-0001176938 00000 n
+0000840681 00000 n
+0001183426 00000 n
0000022338 00000 n
0000022366 00000 n
-0000841335 00000 n
-0001176845 00000 n
+0000844372 00000 n
+0001183333 00000 n
0000022415 00000 n
0000022455 00000 n
-0000847401 00000 n
-0001176752 00000 n
+0000850456 00000 n
+0001183240 00000 n
0000022504 00000 n
0000022547 00000 n
-0000857713 00000 n
-0001176659 00000 n
+0000860903 00000 n
+0001183147 00000 n
0000022596 00000 n
0000022633 00000 n
-0000870363 00000 n
-0001176566 00000 n
+0000871408 00000 n
+0001183054 00000 n
0000022682 00000 n
0000022719 00000 n
-0000870882 00000 n
-0001176473 00000 n
+0000874073 00000 n
+0001182961 00000 n
0000022768 00000 n
0000022806 00000 n
-0000881027 00000 n
-0001176380 00000 n
+0000881103 00000 n
+0001182868 00000 n
0000022855 00000 n
0000022894 00000 n
-0000894967 00000 n
-0001176287 00000 n
+0000898723 00000 n
+0001182775 00000 n
0000022943 00000 n
-0000022982 00000 n
-0000897950 00000 n
-0001176194 00000 n
-0000023032 00000 n
-0000023072 00000 n
-0000907548 00000 n
-0001176101 00000 n
-0000023122 00000 n
-0000023152 00000 n
-0000917015 00000 n
-0001176008 00000 n
-0000023202 00000 n
-0000023245 00000 n
-0000920600 00000 n
-0001175915 00000 n
-0000023295 00000 n
-0000023328 00000 n
-0000934676 00000 n
-0001175822 00000 n
-0000023378 00000 n
-0000023407 00000 n
-0000937884 00000 n
-0001175729 00000 n
-0000023457 00000 n
-0000023491 00000 n
-0000943899 00000 n
-0001175636 00000 n
-0000023541 00000 n
-0000023578 00000 n
-0000950559 00000 n
-0001175543 00000 n
-0000023628 00000 n
-0000023665 00000 n
-0000953789 00000 n
-0001175450 00000 n
-0000023715 00000 n
-0000023748 00000 n
-0000955861 00000 n
-0001175357 00000 n
-0000023798 00000 n
-0000023832 00000 n
-0000956378 00000 n
-0001175264 00000 n
-0000023882 00000 n
-0000023921 00000 n
-0000959243 00000 n
-0001175185 00000 n
-0000023971 00000 n
-0000024005 00000 n
-0000024378 00000 n
-0000024500 00000 n
-0000289301 00000 n
-0000024058 00000 n
-0000289175 00000 n
-0000289238 00000 n
-0001169390 00000 n
-0001143248 00000 n
-0001169216 00000 n
-0001170436 00000 n
-0000025809 00000 n
-0000026002 00000 n
-0000026082 00000 n
-0000026119 00000 n
-0000026200 00000 n
-0000026324 00000 n
-0000026583 00000 n
-0000026942 00000 n
-0000026974 00000 n
-0000027068 00000 n
-0000028101 00000 n
-0000039237 00000 n
-0000104827 00000 n
-0000170417 00000 n
-0000236007 00000 n
-0000290731 00000 n
-0000290546 00000 n
-0000289401 00000 n
-0000290668 00000 n
-0001142012 00000 n
-0001115393 00000 n
-0001141838 00000 n
-0001114708 00000 n
-0001112564 00000 n
-0001114544 00000 n
-0000302473 00000 n
-0000293782 00000 n
-0000290816 00000 n
-0000302347 00000 n
-0000302410 00000 n
-0000294336 00000 n
-0000294490 00000 n
-0000294647 00000 n
-0000294804 00000 n
-0000294961 00000 n
-0000295118 00000 n
-0000295280 00000 n
-0000295442 00000 n
-0000295603 00000 n
-0000295765 00000 n
-0000295932 00000 n
-0000296099 00000 n
-0000296264 00000 n
-0000296426 00000 n
-0000296592 00000 n
-0000296754 00000 n
-0000296908 00000 n
-0000297065 00000 n
-0000297222 00000 n
-0000297378 00000 n
-0000297534 00000 n
-0000297691 00000 n
-0000297846 00000 n
-0000298003 00000 n
-0000298165 00000 n
-0000298327 00000 n
-0000298484 00000 n
-0000298639 00000 n
-0000298800 00000 n
-0000298967 00000 n
-0000299134 00000 n
-0000299296 00000 n
-0000299452 00000 n
-0000299610 00000 n
-0000299768 00000 n
-0000299931 00000 n
-0000300089 00000 n
-0000300247 00000 n
-0000300409 00000 n
-0000300567 00000 n
-0000300730 00000 n
-0000300898 00000 n
-0000301066 00000 n
-0000301229 00000 n
-0000301392 00000 n
-0000301555 00000 n
-0000301717 00000 n
-0000301880 00000 n
-0000302036 00000 n
-0000302192 00000 n
-0000315983 00000 n
-0000305914 00000 n
-0000302558 00000 n
-0000315918 00000 n
-0001111976 00000 n
-0001094555 00000 n
-0001111790 00000 n
-0000306564 00000 n
-0000306728 00000 n
-0000306891 00000 n
-0000307055 00000 n
-0000307214 00000 n
-0000307378 00000 n
-0000307542 00000 n
-0000307706 00000 n
-0000307870 00000 n
-0000308034 00000 n
-0000308198 00000 n
-0000308362 00000 n
-0000308526 00000 n
-0000308690 00000 n
-0000308855 00000 n
-0000309020 00000 n
-0000309185 00000 n
-0000309350 00000 n
-0000309510 00000 n
-0000309675 00000 n
-0000309839 00000 n
-0000309999 00000 n
-0000310164 00000 n
-0000310334 00000 n
-0000310504 00000 n
-0000310674 00000 n
-0000310838 00000 n
-0000311007 00000 n
-0000311177 00000 n
-0000311347 00000 n
-0000311511 00000 n
-0000311676 00000 n
-0000311841 00000 n
-0000312006 00000 n
-0000312166 00000 n
-0000312331 00000 n
-0000312496 00000 n
-0000312653 00000 n
-0000312812 00000 n
-0000312971 00000 n
-0000313127 00000 n
-0000313286 00000 n
-0000313450 00000 n
-0000313619 00000 n
-0000313788 00000 n
-0000313952 00000 n
-0000314121 00000 n
-0000314290 00000 n
-0000314449 00000 n
-0000314613 00000 n
-0000314777 00000 n
-0000314941 00000 n
-0000315105 00000 n
-0000315269 00000 n
-0000315433 00000 n
-0000315595 00000 n
-0000315756 00000 n
-0000330144 00000 n
-0000319595 00000 n
-0000316083 00000 n
-0000330079 00000 n
-0000320263 00000 n
-0000320427 00000 n
-0000320596 00000 n
-0000320765 00000 n
-0000320933 00000 n
-0000321097 00000 n
-0000321261 00000 n
-0000321425 00000 n
-0000321589 00000 n
-0000321753 00000 n
-0000321916 00000 n
-0000322085 00000 n
-0000322254 00000 n
-0000322422 00000 n
-0000322591 00000 n
-0000322760 00000 n
-0000322929 00000 n
-0000323098 00000 n
-0000323267 00000 n
-0000323435 00000 n
-0000323605 00000 n
-0000323775 00000 n
-0000323945 00000 n
-0000324115 00000 n
-0000324285 00000 n
-0000324455 00000 n
-0000324625 00000 n
-0000324795 00000 n
-0000324965 00000 n
-0000325135 00000 n
-0000325304 00000 n
-0000325468 00000 n
-0000325632 00000 n
-0000325796 00000 n
-0000325960 00000 n
-0000326124 00000 n
-0000326287 00000 n
-0000326451 00000 n
-0000326615 00000 n
-0000326778 00000 n
-0000326942 00000 n
-0000327106 00000 n
-0000327270 00000 n
-0000327439 00000 n
-0000327608 00000 n
-0000327776 00000 n
-0000327945 00000 n
-0000328103 00000 n
-0000328265 00000 n
-0000328433 00000 n
-0000328600 00000 n
-0000328763 00000 n
-0000328926 00000 n
-0000329089 00000 n
-0000329252 00000 n
-0000329420 00000 n
-0000329587 00000 n
-0000329753 00000 n
-0000329918 00000 n
-0000343324 00000 n
-0000333749 00000 n
-0000330244 00000 n
-0000343259 00000 n
-0000334381 00000 n
-0000334544 00000 n
-0000334702 00000 n
-0000334870 00000 n
-0000335033 00000 n
-0000335201 00000 n
-0000335369 00000 n
-0000335536 00000 n
-0001093664 00000 n
-0001072330 00000 n
-0001093488 00000 n
-0000335703 00000 n
-0000335870 00000 n
-0000336026 00000 n
-0000336183 00000 n
-0000336341 00000 n
-0000336504 00000 n
-0000336667 00000 n
-0000336825 00000 n
-0000336981 00000 n
-0000337139 00000 n
-0000337302 00000 n
-0000337460 00000 n
-0000337618 00000 n
-0000337775 00000 n
-0000337933 00000 n
-0000338096 00000 n
-0000338254 00000 n
-0000338417 00000 n
-0000338575 00000 n
-0000338738 00000 n
-0000338901 00000 n
-0000339064 00000 n
-0000339222 00000 n
-0000339385 00000 n
-0000339548 00000 n
-0000339711 00000 n
-0000339874 00000 n
-0000340037 00000 n
-0000340200 00000 n
-0000340368 00000 n
-0000340536 00000 n
-0000340703 00000 n
-0000340870 00000 n
-0000341038 00000 n
-0000341206 00000 n
-0000341369 00000 n
-0000341525 00000 n
-0000341683 00000 n
-0000341841 00000 n
-0000341999 00000 n
-0000342157 00000 n
-0000342315 00000 n
-0000342473 00000 n
-0000342631 00000 n
-0000342789 00000 n
-0000342945 00000 n
-0000343102 00000 n
-0000346164 00000 n
-0000344283 00000 n
-0000343438 00000 n
-0000346099 00000 n
-0000344511 00000 n
-0000344670 00000 n
-0000344829 00000 n
-0001071362 00000 n
-0001051392 00000 n
-0001071187 00000 n
-0000344987 00000 n
-0000345146 00000 n
-0000345305 00000 n
-0000345464 00000 n
-0000345623 00000 n
-0000345782 00000 n
-0000345940 00000 n
-0001170557 00000 n
-0000349287 00000 n
-0000348520 00000 n
-0000346265 00000 n
-0000348708 00000 n
-0000348836 00000 n
-0000348964 00000 n
-0000349092 00000 n
-0000349157 00000 n
-0000349222 00000 n
-0001050550 00000 n
-0001031850 00000 n
-0001050375 00000 n
-0000353824 00000 n
-0000352683 00000 n
-0000349415 00000 n
-0000353185 00000 n
-0000353250 00000 n
-0000353377 00000 n
-0000353505 00000 n
-0000353633 00000 n
-0000352839 00000 n
-0000353033 00000 n
-0000353759 00000 n
-0000709034 00000 n
-0000771810 00000 n
-0000358506 00000 n
-0000357448 00000 n
-0000353952 00000 n
-0000357929 00000 n
-0000358057 00000 n
-0000357604 00000 n
-0000357767 00000 n
-0000358185 00000 n
-0000358313 00000 n
-0000358441 00000 n
-0000374303 00000 n
-0000361747 00000 n
-0000361172 00000 n
-0000358634 00000 n
-0000361298 00000 n
-0000361426 00000 n
-0000361554 00000 n
-0000361682 00000 n
-0000365205 00000 n
-0000364039 00000 n
-0000361861 00000 n
-0000364501 00000 n
-0000364629 00000 n
-0000364757 00000 n
-0000364885 00000 n
-0000365013 00000 n
-0000364195 00000 n
-0000364348 00000 n
-0000365140 00000 n
-0000629368 00000 n
-0000366282 00000 n
-0000365963 00000 n
-0000365291 00000 n
-0000366089 00000 n
-0000366217 00000 n
-0001170682 00000 n
-0000368325 00000 n
-0000367622 00000 n
-0000366382 00000 n
-0000367748 00000 n
-0000367876 00000 n
-0000368003 00000 n
-0000368131 00000 n
-0000368260 00000 n
-0000370904 00000 n
-0000370274 00000 n
-0000368425 00000 n
-0000370580 00000 n
-0000370709 00000 n
-0000370774 00000 n
-0000370839 00000 n
-0000370421 00000 n
-0000610848 00000 n
-0000374497 00000 n
-0000373792 00000 n
-0000371018 00000 n
-0000373918 00000 n
-0000374047 00000 n
-0000374174 00000 n
-0001031144 00000 n
-0001018595 00000 n
-0001030965 00000 n
-0000374432 00000 n
-0000379152 00000 n
-0000378262 00000 n
-0000374625 00000 n
-0000379087 00000 n
-0001018014 00000 n
-0001006748 00000 n
-0001017835 00000 n
-0000378436 00000 n
-0000378591 00000 n
-0000378761 00000 n
-0000378916 00000 n
-0000530197 00000 n
-0000702155 00000 n
-0000382753 00000 n
-0000382562 00000 n
-0000379321 00000 n
-0000382688 00000 n
-0000387324 00000 n
-0000386928 00000 n
-0000382908 00000 n
-0000387259 00000 n
-0000387075 00000 n
-0001170807 00000 n
-0000494445 00000 n
-0000391223 00000 n
-0000390775 00000 n
-0000387480 00000 n
-0000390901 00000 n
-0000391030 00000 n
-0000391095 00000 n
-0000391159 00000 n
-0000392111 00000 n
-0000391920 00000 n
-0000391351 00000 n
-0000392046 00000 n
-0000394864 00000 n
-0000397454 00000 n
-0000394699 00000 n
-0000392211 00000 n
-0000397002 00000 n
-0000397131 00000 n
-0000397260 00000 n
-0000396507 00000 n
-0000396669 00000 n
-0001005842 00000 n
-0000995822 00000 n
-0001005668 00000 n
-0000995258 00000 n
-0000986172 00000 n
-0000995083 00000 n
-0000397389 00000 n
-0000396831 00000 n
-0000396336 00000 n
-0000396394 00000 n
-0000396484 00000 n
-0000547312 00000 n
-0000587811 00000 n
-0000402221 00000 n
-0000401285 00000 n
-0000397625 00000 n
-0000401769 00000 n
-0000401898 00000 n
-0000402027 00000 n
-0000401441 00000 n
-0000401607 00000 n
-0000402156 00000 n
-0000775841 00000 n
-0000406139 00000 n
-0000405630 00000 n
-0000402377 00000 n
-0000405945 00000 n
-0000406074 00000 n
-0000405777 00000 n
-0000407287 00000 n
-0000407096 00000 n
-0000406280 00000 n
-0000407222 00000 n
-0001170932 00000 n
-0000409153 00000 n
-0000408833 00000 n
-0000407388 00000 n
-0000408959 00000 n
-0000409088 00000 n
-0000412448 00000 n
-0000411613 00000 n
-0000409267 00000 n
-0000411739 00000 n
-0000411868 00000 n
-0000411997 00000 n
-0000412125 00000 n
-0000412254 00000 n
-0000412383 00000 n
-0000416502 00000 n
-0000415606 00000 n
-0000412590 00000 n
-0000415923 00000 n
-0000416052 00000 n
-0000416180 00000 n
-0000415753 00000 n
-0000416308 00000 n
-0000416437 00000 n
-0000420529 00000 n
-0000419951 00000 n
-0000416643 00000 n
-0000420077 00000 n
-0000420206 00000 n
-0000420335 00000 n
-0000420464 00000 n
-0000424456 00000 n
-0000424007 00000 n
-0000420671 00000 n
-0000424133 00000 n
-0000424262 00000 n
-0000424391 00000 n
-0000426769 00000 n
-0000426578 00000 n
-0000424584 00000 n
-0000426704 00000 n
-0001171057 00000 n
-0000430037 00000 n
-0000429459 00000 n
-0000426913 00000 n
-0000429585 00000 n
-0000985897 00000 n
-0000982537 00000 n
-0000985718 00000 n
-0000429714 00000 n
-0000429843 00000 n
-0000429972 00000 n
-0000434304 00000 n
-0000433625 00000 n
-0000430208 00000 n
-0000434110 00000 n
-0000434239 00000 n
-0000982182 00000 n
-0000980185 00000 n
-0000982017 00000 n
-0000433781 00000 n
-0000433945 00000 n
-0000857777 00000 n
-0000870946 00000 n
-0000437670 00000 n
-0000436966 00000 n
-0000434432 00000 n
-0000437092 00000 n
-0000437221 00000 n
-0000437350 00000 n
-0000437479 00000 n
-0000437606 00000 n
-0000441075 00000 n
-0000440112 00000 n
-0000437784 00000 n
-0000440238 00000 n
-0000440367 00000 n
-0000440496 00000 n
-0000440624 00000 n
-0000440753 00000 n
-0000440881 00000 n
-0000441010 00000 n
-0000445197 00000 n
-0000444438 00000 n
-0000441203 00000 n
-0000444745 00000 n
-0000444874 00000 n
-0000445003 00000 n
-0000444585 00000 n
-0000445132 00000 n
-0000657572 00000 n
-0000448730 00000 n
-0000448281 00000 n
-0000445311 00000 n
-0000448407 00000 n
-0000448536 00000 n
-0000448665 00000 n
-0001171182 00000 n
-0000451526 00000 n
-0000451078 00000 n
-0000448900 00000 n
-0000451204 00000 n
-0000451333 00000 n
-0000451461 00000 n
-0000454244 00000 n
-0000453924 00000 n
-0000451683 00000 n
-0000454050 00000 n
-0000454179 00000 n
-0000457152 00000 n
-0000456316 00000 n
-0000454358 00000 n
-0000456442 00000 n
-0000456571 00000 n
-0000456700 00000 n
-0000456829 00000 n
-0000456958 00000 n
-0000457087 00000 n
-0000459784 00000 n
-0000459464 00000 n
-0000457266 00000 n
-0000459590 00000 n
-0000459719 00000 n
-0000465502 00000 n
-0000462722 00000 n
-0000462273 00000 n
-0000459898 00000 n
-0000462399 00000 n
-0000462528 00000 n
-0000462657 00000 n
-0000467041 00000 n
-0000465355 00000 n
-0000462850 00000 n
-0000466589 00000 n
-0000466718 00000 n
-0000466428 00000 n
-0000466847 00000 n
-0000466976 00000 n
-0001171307 00000 n
-0000771552 00000 n
-0000469784 00000 n
-0000469206 00000 n
-0000467212 00000 n
-0000469332 00000 n
-0000469461 00000 n
-0000469590 00000 n
-0000469719 00000 n
-0000470225 00000 n
-0000470034 00000 n
-0000469884 00000 n
-0000470160 00000 n
-0000474312 00000 n
-0000473546 00000 n
-0000470267 00000 n
-0000473860 00000 n
-0000473989 00000 n
-0000474117 00000 n
-0000474182 00000 n
-0000474247 00000 n
-0000473693 00000 n
-0000478810 00000 n
-0000479002 00000 n
-0000478555 00000 n
-0000474412 00000 n
-0000478681 00000 n
-0000478937 00000 n
-0000482854 00000 n
-0000482276 00000 n
-0000479130 00000 n
-0000482402 00000 n
-0000482531 00000 n
-0000482660 00000 n
-0000482789 00000 n
-0000485964 00000 n
-0000485386 00000 n
-0000482995 00000 n
-0000485512 00000 n
-0000485641 00000 n
-0000485770 00000 n
-0000485835 00000 n
-0000485899 00000 n
-0001171432 00000 n
-0000489325 00000 n
-0000488621 00000 n
-0000486121 00000 n
-0000488747 00000 n
-0000488876 00000 n
-0000489004 00000 n
-0000489069 00000 n
-0000489134 00000 n
-0000489260 00000 n
-0000494638 00000 n
-0000493850 00000 n
-0000489439 00000 n
-0000494316 00000 n
-0000494006 00000 n
-0000494157 00000 n
-0000494574 00000 n
-0000961164 00000 n
-0000498503 00000 n
-0000497232 00000 n
-0000494779 00000 n
-0000497922 00000 n
-0000498051 00000 n
-0000498180 00000 n
-0000498309 00000 n
-0000497397 00000 n
-0000497549 00000 n
-0000497735 00000 n
-0000498438 00000 n
-0000502650 00000 n
-0000502201 00000 n
-0000498631 00000 n
-0000502327 00000 n
-0000502456 00000 n
-0000502585 00000 n
-0000506556 00000 n
-0000506177 00000 n
-0000502778 00000 n
-0000506491 00000 n
-0000506324 00000 n
-0000509406 00000 n
-0000509601 00000 n
-0000509151 00000 n
-0000506670 00000 n
-0000509277 00000 n
-0000509471 00000 n
-0000509536 00000 n
-0001171557 00000 n
-0000512553 00000 n
-0000512362 00000 n
-0000509715 00000 n
-0000512488 00000 n
-0000516153 00000 n
-0000515707 00000 n
-0000512667 00000 n
-0000515833 00000 n
-0000515960 00000 n
-0000516025 00000 n
-0000516089 00000 n
-0000519254 00000 n
-0000518934 00000 n
-0000516267 00000 n
-0000519060 00000 n
-0000519189 00000 n
-0000522541 00000 n
-0000521500 00000 n
-0000519368 00000 n
-0000521960 00000 n
-0000522089 00000 n
-0000521656 00000 n
-0000521809 00000 n
-0000522218 00000 n
-0000522347 00000 n
-0000522476 00000 n
-0000524034 00000 n
-0000523843 00000 n
-0000522655 00000 n
-0000523969 00000 n
-0000525627 00000 n
-0000525436 00000 n
-0000524135 00000 n
-0000525562 00000 n
-0001171682 00000 n
-0000527074 00000 n
-0000526883 00000 n
-0000525728 00000 n
-0000527009 00000 n
-0000530262 00000 n
-0000529942 00000 n
-0000527175 00000 n
-0000530068 00000 n
-0000534536 00000 n
-0000534345 00000 n
-0000530390 00000 n
-0000534471 00000 n
-0000539009 00000 n
-0000538461 00000 n
-0000534678 00000 n
-0000538944 00000 n
-0000538617 00000 n
-0000538774 00000 n
-0000738940 00000 n
-0000543239 00000 n
-0000542874 00000 n
-0000539137 00000 n
-0000543174 00000 n
-0000543021 00000 n
-0000547377 00000 n
-0000546865 00000 n
-0000543381 00000 n
-0000547183 00000 n
-0000547012 00000 n
-0001171807 00000 n
-0000551328 00000 n
-0000551007 00000 n
-0000547505 00000 n
-0000551133 00000 n
-0000551198 00000 n
-0000551263 00000 n
-0000556409 00000 n
-0000555311 00000 n
-0000551456 00000 n
-0000556344 00000 n
-0000555494 00000 n
-0000555648 00000 n
-0000555804 00000 n
-0000555988 00000 n
-0000556161 00000 n
-0000648697 00000 n
-0000560951 00000 n
-0000560555 00000 n
-0000556580 00000 n
-0000560886 00000 n
-0000560702 00000 n
-0000565168 00000 n
-0000564977 00000 n
-0000561092 00000 n
-0000565103 00000 n
-0000568964 00000 n
-0000568773 00000 n
-0000565282 00000 n
-0000568899 00000 n
-0000573590 00000 n
-0000572604 00000 n
-0000569078 00000 n
-0000573268 00000 n
-0000572769 00000 n
-0000572934 00000 n
-0000573396 00000 n
-0000573098 00000 n
-0000573525 00000 n
-0001171932 00000 n
-0000664265 00000 n
-0000576894 00000 n
-0000576387 00000 n
-0000573704 00000 n
-0000576700 00000 n
-0000576829 00000 n
-0000576534 00000 n
-0000581208 00000 n
-0000580517 00000 n
-0000577051 00000 n
-0000581015 00000 n
-0000580673 00000 n
-0000580844 00000 n
-0000581144 00000 n
-0000758927 00000 n
-0000584958 00000 n
-0000584638 00000 n
-0000581336 00000 n
-0000584764 00000 n
-0000584893 00000 n
-0000587876 00000 n
-0000587556 00000 n
-0000585072 00000 n
-0000587682 00000 n
-0000591918 00000 n
-0000591727 00000 n
-0000588047 00000 n
-0000591853 00000 n
-0000595347 00000 n
-0000594848 00000 n
-0000592032 00000 n
-0000595154 00000 n
-0000595283 00000 n
-0000594995 00000 n
-0001172057 00000 n
-0000599746 00000 n
-0000598937 00000 n
-0000595504 00000 n
-0000599423 00000 n
-0000599552 00000 n
-0000599093 00000 n
-0000599681 00000 n
-0000599268 00000 n
-0000603673 00000 n
-0000603354 00000 n
-0000599860 00000 n
-0000603480 00000 n
-0000603608 00000 n
-0000607751 00000 n
-0000606954 00000 n
-0000603801 00000 n
-0000607428 00000 n
-0000607557 00000 n
-0000607686 00000 n
-0000607110 00000 n
-0000607272 00000 n
-0000610913 00000 n
-0000610402 00000 n
-0000607922 00000 n
-0000610719 00000 n
-0000610549 00000 n
-0000614326 00000 n
-0000613876 00000 n
-0000611041 00000 n
-0000614002 00000 n
-0000614067 00000 n
-0000614132 00000 n
-0000614261 00000 n
-0000618370 00000 n
-0000617998 00000 n
-0000614511 00000 n
-0000618305 00000 n
-0000618145 00000 n
-0001172182 00000 n
-0000623308 00000 n
-0000622627 00000 n
-0000618527 00000 n
-0000623114 00000 n
-0000622783 00000 n
-0000623243 00000 n
-0000622945 00000 n
-0000735012 00000 n
-0000661748 00000 n
-0000626232 00000 n
-0000625912 00000 n
-0000623436 00000 n
-0000626038 00000 n
-0000626167 00000 n
-0000629433 00000 n
-0000629114 00000 n
-0000626359 00000 n
-0000629240 00000 n
-0000633881 00000 n
-0000633561 00000 n
-0000629603 00000 n
-0000633687 00000 n
-0000633816 00000 n
-0000638050 00000 n
-0000637558 00000 n
-0000633995 00000 n
-0000637856 00000 n
-0000637705 00000 n
-0000637985 00000 n
-0000642255 00000 n
-0000642064 00000 n
-0000638205 00000 n
-0000642190 00000 n
-0001172307 00000 n
-0000644656 00000 n
-0000644336 00000 n
-0000642382 00000 n
-0000644462 00000 n
-0000644591 00000 n
-0000648762 00000 n
-0000648442 00000 n
-0000644783 00000 n
-0000648568 00000 n
-0000653424 00000 n
-0000652504 00000 n
-0000648876 00000 n
-0000652974 00000 n
-0000652660 00000 n
-0000652812 00000 n
-0000653103 00000 n
-0000653231 00000 n
-0000653360 00000 n
-0000657637 00000 n
-0000656884 00000 n
-0000653538 00000 n
-0000657185 00000 n
-0000657314 00000 n
-0000657031 00000 n
-0000657443 00000 n
-0000661942 00000 n
-0000661493 00000 n
-0000657765 00000 n
-0000661619 00000 n
-0000661877 00000 n
-0000664330 00000 n
-0000664010 00000 n
-0000662084 00000 n
-0000664136 00000 n
-0001172432 00000 n
-0000665927 00000 n
-0000665736 00000 n
-0000664444 00000 n
-0000665862 00000 n
-0000667424 00000 n
-0000667233 00000 n
-0000666028 00000 n
-0000667359 00000 n
-0000669361 00000 n
-0000668783 00000 n
-0000667525 00000 n
-0000668909 00000 n
-0000669037 00000 n
-0000669166 00000 n
-0000669231 00000 n
-0000669296 00000 n
-0000672365 00000 n
-0000672174 00000 n
-0000669475 00000 n
-0000672300 00000 n
-0000676252 00000 n
-0000675872 00000 n
-0000672479 00000 n
-0000676187 00000 n
-0000676019 00000 n
-0000961131 00000 n
-0000682262 00000 n
-0000679568 00000 n
-0000676366 00000 n
-0000681939 00000 n
-0000682068 00000 n
-0000682197 00000 n
-0000679823 00000 n
-0000679985 00000 n
-0000680147 00000 n
-0000680309 00000 n
-0000680470 00000 n
-0000680632 00000 n
-0000680803 00000 n
-0000680965 00000 n
-0000681128 00000 n
-0000681291 00000 n
-0000681453 00000 n
-0000681616 00000 n
-0000681778 00000 n
-0001172557 00000 n
-0000687642 00000 n
-0000685551 00000 n
-0000682376 00000 n
-0000687577 00000 n
-0000685788 00000 n
-0000685943 00000 n
-0000686106 00000 n
-0000686269 00000 n
-0000686432 00000 n
-0000686599 00000 n
-0000686769 00000 n
+0000022980 00000 n
+0000902056 00000 n
+0001182682 00000 n
+0000023030 00000 n
+0000023070 00000 n
+0000904866 00000 n
+0001182589 00000 n
+0000023120 00000 n
+0000023160 00000 n
+0000914641 00000 n
+0001182496 00000 n
+0000023210 00000 n
+0000023240 00000 n
+0000923728 00000 n
+0001182403 00000 n
+0000023290 00000 n
+0000023333 00000 n
+0000928016 00000 n
+0001182310 00000 n
+0000023383 00000 n
+0000023416 00000 n
+0000941953 00000 n
+0001182217 00000 n
+0000023466 00000 n
+0000023495 00000 n
+0000945183 00000 n
+0001182124 00000 n
+0000023545 00000 n
+0000023579 00000 n
+0000951097 00000 n
+0001182031 00000 n
+0000023629 00000 n
+0000023666 00000 n
+0000957857 00000 n
+0001181938 00000 n
+0000023716 00000 n
+0000023753 00000 n
+0000960214 00000 n
+0001181845 00000 n
+0000023803 00000 n
+0000023836 00000 n
+0000960668 00000 n
+0001181752 00000 n
+0000023886 00000 n
+0000023920 00000 n
+0000963433 00000 n
+0001181659 00000 n
+0000023970 00000 n
+0000024009 00000 n
+0000966043 00000 n
+0001181580 00000 n
+0000024059 00000 n
+0000024093 00000 n
+0000024466 00000 n
+0000024588 00000 n
+0000289389 00000 n
+0000024146 00000 n
+0000289263 00000 n
+0000289326 00000 n
+0001175678 00000 n
+0001149536 00000 n
+0001175504 00000 n
+0001176724 00000 n
+0000025897 00000 n
+0000026090 00000 n
+0000026170 00000 n
+0000026207 00000 n
+0000026288 00000 n
+0000026412 00000 n
+0000026671 00000 n
+0000027030 00000 n
+0000027062 00000 n
+0000027156 00000 n
+0000028189 00000 n
+0000039325 00000 n
+0000104915 00000 n
+0000170505 00000 n
+0000236095 00000 n
+0000290819 00000 n
+0000290634 00000 n
+0000289489 00000 n
+0000290756 00000 n
+0001148300 00000 n
+0001121681 00000 n
+0001148126 00000 n
+0001120996 00000 n
+0001118851 00000 n
+0001120832 00000 n
+0000302570 00000 n
+0000293870 00000 n
+0000290904 00000 n
+0000302444 00000 n
+0000302507 00000 n
+0000294428 00000 n
+0000294582 00000 n
+0000294739 00000 n
+0000294896 00000 n
+0000295053 00000 n
+0000295210 00000 n
+0000295372 00000 n
+0000295534 00000 n
+0000295695 00000 n
+0000295857 00000 n
+0000296024 00000 n
+0000296191 00000 n
+0000296356 00000 n
+0000296518 00000 n
+0000296684 00000 n
+0000296846 00000 n
+0000297000 00000 n
+0000297157 00000 n
+0000297314 00000 n
+0000297470 00000 n
+0000297626 00000 n
+0000297783 00000 n
+0000297938 00000 n
+0000298095 00000 n
+0000298257 00000 n
+0000298419 00000 n
+0000298576 00000 n
+0000298732 00000 n
+0000298894 00000 n
+0000299062 00000 n
+0000299230 00000 n
+0000299393 00000 n
+0000299549 00000 n
+0000299707 00000 n
+0000299865 00000 n
+0000300028 00000 n
+0000300186 00000 n
+0000300344 00000 n
+0000300506 00000 n
+0000300664 00000 n
+0000300827 00000 n
+0000300995 00000 n
+0000301163 00000 n
+0000301326 00000 n
+0000301489 00000 n
+0000301652 00000 n
+0000301814 00000 n
+0000301977 00000 n
+0000302133 00000 n
+0000302289 00000 n
+0000316080 00000 n
+0000306011 00000 n
+0000302655 00000 n
+0000316015 00000 n
+0001118263 00000 n
+0001100842 00000 n
+0001118077 00000 n
+0000306661 00000 n
+0000306825 00000 n
+0000306988 00000 n
+0000307152 00000 n
+0000307311 00000 n
+0000307475 00000 n
+0000307639 00000 n
+0000307803 00000 n
+0000307967 00000 n
+0000308131 00000 n
+0000308295 00000 n
+0000308459 00000 n
+0000308623 00000 n
+0000308787 00000 n
+0000308952 00000 n
+0000309117 00000 n
+0000309282 00000 n
+0000309447 00000 n
+0000309607 00000 n
+0000309772 00000 n
+0000309936 00000 n
+0000310096 00000 n
+0000310261 00000 n
+0000310431 00000 n
+0000310601 00000 n
+0000310771 00000 n
+0000310935 00000 n
+0000311104 00000 n
+0000311274 00000 n
+0000311444 00000 n
+0000311608 00000 n
+0000311773 00000 n
+0000311938 00000 n
+0000312103 00000 n
+0000312263 00000 n
+0000312428 00000 n
+0000312593 00000 n
+0000312750 00000 n
+0000312909 00000 n
+0000313068 00000 n
+0000313224 00000 n
+0000313383 00000 n
+0000313547 00000 n
+0000313716 00000 n
+0000313885 00000 n
+0000314049 00000 n
+0000314218 00000 n
+0000314387 00000 n
+0000314546 00000 n
+0000314710 00000 n
+0000314874 00000 n
+0000315038 00000 n
+0000315202 00000 n
+0000315366 00000 n
+0000315530 00000 n
+0000315692 00000 n
+0000315853 00000 n
+0000330234 00000 n
+0000319687 00000 n
+0000316180 00000 n
+0000330169 00000 n
+0000320355 00000 n
+0000320519 00000 n
+0000320688 00000 n
+0000320857 00000 n
+0000321025 00000 n
+0000321189 00000 n
+0000321353 00000 n
+0000321517 00000 n
+0000321681 00000 n
+0000321845 00000 n
+0000322008 00000 n
+0000322177 00000 n
+0000322346 00000 n
+0000322514 00000 n
+0000322683 00000 n
+0000322852 00000 n
+0000323021 00000 n
+0000323190 00000 n
+0000323359 00000 n
+0000323527 00000 n
+0000323697 00000 n
+0000323867 00000 n
+0000324037 00000 n
+0000324207 00000 n
+0000324377 00000 n
+0000324547 00000 n
+0000324717 00000 n
+0000324887 00000 n
+0000325056 00000 n
+0000325226 00000 n
+0000325395 00000 n
+0000325559 00000 n
+0000325723 00000 n
+0000325887 00000 n
+0000326051 00000 n
+0000326215 00000 n
+0000326378 00000 n
+0000326542 00000 n
+0000326706 00000 n
+0000326869 00000 n
+0000327033 00000 n
+0000327196 00000 n
+0000327360 00000 n
+0000327529 00000 n
+0000327698 00000 n
+0000327866 00000 n
+0000328035 00000 n
+0000328193 00000 n
+0000328355 00000 n
+0000328523 00000 n
+0000328690 00000 n
+0000328853 00000 n
+0000329016 00000 n
+0000329179 00000 n
+0000329342 00000 n
+0000329510 00000 n
+0000329677 00000 n
+0000329843 00000 n
+0000330008 00000 n
+0000343422 00000 n
+0000333847 00000 n
+0000330334 00000 n
+0000343357 00000 n
+0000334479 00000 n
+0000334642 00000 n
+0000334800 00000 n
+0000334968 00000 n
+0000335131 00000 n
+0000335299 00000 n
+0000335467 00000 n
+0000335635 00000 n
+0001099951 00000 n
+0001078617 00000 n
+0001099775 00000 n
+0000335801 00000 n
+0000335968 00000 n
+0000336124 00000 n
+0000336282 00000 n
+0000336440 00000 n
+0000336603 00000 n
+0000336766 00000 n
+0000336924 00000 n
+0000337080 00000 n
+0000337238 00000 n
+0000337401 00000 n
+0000337559 00000 n
+0000337716 00000 n
+0000337873 00000 n
+0000338031 00000 n
+0000338194 00000 n
+0000338352 00000 n
+0000338515 00000 n
+0000338673 00000 n
+0000338836 00000 n
+0000338999 00000 n
+0000339162 00000 n
+0000339320 00000 n
+0000339483 00000 n
+0000339646 00000 n
+0000339809 00000 n
+0000339972 00000 n
+0000340135 00000 n
+0000340298 00000 n
+0000340466 00000 n
+0000340634 00000 n
+0000340801 00000 n
+0000340968 00000 n
+0000341136 00000 n
+0000341304 00000 n
+0000341467 00000 n
+0000341623 00000 n
+0000341781 00000 n
+0000341939 00000 n
+0000342097 00000 n
+0000342255 00000 n
+0000342413 00000 n
+0000342571 00000 n
+0000342729 00000 n
+0000342887 00000 n
+0000343043 00000 n
+0000343200 00000 n
+0000346464 00000 n
+0000344417 00000 n
+0000343536 00000 n
+0000346399 00000 n
+0000344654 00000 n
+0000344813 00000 n
+0000344972 00000 n
+0000345130 00000 n
+0001077649 00000 n
+0001057679 00000 n
+0001077474 00000 n
+0000345289 00000 n
+0000345448 00000 n
+0000345607 00000 n
+0000345766 00000 n
+0000345925 00000 n
+0000346082 00000 n
+0000346241 00000 n
+0001176845 00000 n
+0000349587 00000 n
+0000348820 00000 n
+0000346565 00000 n
+0000349008 00000 n
+0000349136 00000 n
+0000349264 00000 n
+0000349392 00000 n
+0000349457 00000 n
+0000349522 00000 n
+0001056837 00000 n
+0001038137 00000 n
+0001056662 00000 n
+0000354124 00000 n
+0000352983 00000 n
+0000349715 00000 n
+0000353485 00000 n
+0000353550 00000 n
+0000353677 00000 n
+0000353805 00000 n
+0000353933 00000 n
+0000353139 00000 n
+0000353333 00000 n
+0000354059 00000 n
+0000712846 00000 n
+0000774847 00000 n
+0000358806 00000 n
+0000357748 00000 n
+0000354252 00000 n
+0000358229 00000 n
+0000358357 00000 n
+0000357904 00000 n
+0000358067 00000 n
+0000358485 00000 n
+0000358613 00000 n
+0000358741 00000 n
+0000374603 00000 n
+0000362047 00000 n
+0000361472 00000 n
+0000358934 00000 n
+0000361598 00000 n
+0000361726 00000 n
+0000361854 00000 n
+0000361982 00000 n
+0000365505 00000 n
+0000364339 00000 n
+0000362161 00000 n
+0000364801 00000 n
+0000364929 00000 n
+0000365057 00000 n
+0000365185 00000 n
+0000365313 00000 n
+0000364495 00000 n
+0000364648 00000 n
+0000365440 00000 n
+0000633743 00000 n
+0000366582 00000 n
+0000366263 00000 n
+0000365591 00000 n
+0000366389 00000 n
+0000366517 00000 n
+0001176970 00000 n
+0000368625 00000 n
+0000367922 00000 n
+0000366682 00000 n
+0000368048 00000 n
+0000368176 00000 n
+0000368303 00000 n
+0000368431 00000 n
+0000368560 00000 n
+0000371204 00000 n
+0000370574 00000 n
+0000368725 00000 n
+0000370880 00000 n
+0000371009 00000 n
+0000371074 00000 n
+0000371139 00000 n
+0000370721 00000 n
+0000614369 00000 n
+0000374797 00000 n
+0000374092 00000 n
+0000371318 00000 n
+0000374218 00000 n
+0000374347 00000 n
+0000374474 00000 n
+0001037431 00000 n
+0001024882 00000 n
+0001037252 00000 n
+0000374732 00000 n
+0000379452 00000 n
+0000378562 00000 n
+0000374925 00000 n
+0000379387 00000 n
+0001024301 00000 n
+0001013035 00000 n
+0001024122 00000 n
+0000378736 00000 n
+0000378891 00000 n
+0000379061 00000 n
+0000379216 00000 n
+0000530929 00000 n
+0000702963 00000 n
+0000383053 00000 n
+0000382862 00000 n
+0000379621 00000 n
+0000382988 00000 n
+0000387271 00000 n
+0000387080 00000 n
+0000383208 00000 n
+0000387206 00000 n
+0001012680 00000 n
+0001010683 00000 n
+0001012515 00000 n
+0001177095 00000 n
+0000391399 00000 n
+0000391000 00000 n
+0000387441 00000 n
+0000391334 00000 n
+0000391147 00000 n
+0000495310 00000 n
+0000392962 00000 n
+0000392513 00000 n
+0000391527 00000 n
+0000392639 00000 n
+0000392768 00000 n
+0000392832 00000 n
+0000392897 00000 n
+0000395729 00000 n
+0000398319 00000 n
+0000395564 00000 n
+0000393076 00000 n
+0000397867 00000 n
+0000397996 00000 n
+0000398125 00000 n
+0000397372 00000 n
+0000397534 00000 n
+0001009777 00000 n
+0000999757 00000 n
+0001009603 00000 n
+0000999193 00000 n
+0000990107 00000 n
+0000999018 00000 n
+0000398254 00000 n
+0000397696 00000 n
+0000397201 00000 n
+0000397259 00000 n
+0000397349 00000 n
+0000547861 00000 n
+0000588651 00000 n
+0000403086 00000 n
+0000402150 00000 n
+0000398490 00000 n
+0000402634 00000 n
+0000402763 00000 n
+0000402892 00000 n
+0000402306 00000 n
+0000402472 00000 n
+0000403021 00000 n
+0000778878 00000 n
+0000407004 00000 n
+0000406495 00000 n
+0000403242 00000 n
+0000406810 00000 n
+0000406939 00000 n
+0000406642 00000 n
+0000408152 00000 n
+0000407961 00000 n
+0000407145 00000 n
+0000408087 00000 n
+0001177220 00000 n
+0000410018 00000 n
+0000409698 00000 n
+0000408253 00000 n
+0000409824 00000 n
+0000409953 00000 n
+0000413313 00000 n
+0000412478 00000 n
+0000410132 00000 n
+0000412604 00000 n
+0000412733 00000 n
+0000412862 00000 n
+0000412990 00000 n
+0000413119 00000 n
+0000413248 00000 n
+0000417367 00000 n
+0000416471 00000 n
+0000413455 00000 n
+0000416788 00000 n
+0000416917 00000 n
+0000417045 00000 n
+0000416618 00000 n
+0000417173 00000 n
+0000417302 00000 n
+0000421394 00000 n
+0000420816 00000 n
+0000417508 00000 n
+0000420942 00000 n
+0000421071 00000 n
+0000421200 00000 n
+0000421329 00000 n
+0000425321 00000 n
+0000424872 00000 n
+0000421536 00000 n
+0000424998 00000 n
+0000425127 00000 n
+0000425256 00000 n
+0000427634 00000 n
+0000427443 00000 n
+0000425449 00000 n
+0000427569 00000 n
+0001177345 00000 n
+0000430902 00000 n
+0000430324 00000 n
+0000427778 00000 n
+0000430450 00000 n
+0000989832 00000 n
+0000986473 00000 n
+0000989653 00000 n
+0000430579 00000 n
+0000430708 00000 n
+0000430837 00000 n
+0000435169 00000 n
+0000434490 00000 n
+0000431073 00000 n
+0000434975 00000 n
+0000435104 00000 n
+0000434646 00000 n
+0000434810 00000 n
+0000860967 00000 n
+0000874137 00000 n
+0000438535 00000 n
+0000437831 00000 n
+0000435297 00000 n
+0000437957 00000 n
+0000438086 00000 n
+0000438215 00000 n
+0000438344 00000 n
+0000438471 00000 n
+0000441940 00000 n
+0000440977 00000 n
+0000438649 00000 n
+0000441103 00000 n
+0000441232 00000 n
+0000441361 00000 n
+0000441489 00000 n
+0000441618 00000 n
+0000441746 00000 n
+0000441875 00000 n
+0000446062 00000 n
+0000445303 00000 n
+0000442068 00000 n
+0000445610 00000 n
+0000445739 00000 n
+0000445868 00000 n
+0000445450 00000 n
+0000445997 00000 n
+0000661803 00000 n
+0000449595 00000 n
+0000449146 00000 n
+0000446176 00000 n
+0000449272 00000 n
+0000449401 00000 n
+0000449530 00000 n
+0001177470 00000 n
+0000452391 00000 n
+0000451943 00000 n
+0000449765 00000 n
+0000452069 00000 n
+0000452198 00000 n
+0000452326 00000 n
+0000455109 00000 n
+0000454789 00000 n
+0000452548 00000 n
+0000454915 00000 n
+0000455044 00000 n
+0000458017 00000 n
+0000457181 00000 n
+0000455223 00000 n
+0000457307 00000 n
+0000457436 00000 n
+0000457565 00000 n
+0000457694 00000 n
+0000457823 00000 n
+0000457952 00000 n
+0000460649 00000 n
+0000460329 00000 n
+0000458131 00000 n
+0000460455 00000 n
+0000460584 00000 n
+0000466367 00000 n
+0000463587 00000 n
+0000463138 00000 n
+0000460763 00000 n
+0000463264 00000 n
+0000463393 00000 n
+0000463522 00000 n
+0000467906 00000 n
+0000466220 00000 n
+0000463715 00000 n
+0000467454 00000 n
+0000467583 00000 n
+0000467293 00000 n
+0000467712 00000 n
+0000467841 00000 n
+0001177595 00000 n
+0000774589 00000 n
+0000470649 00000 n
+0000470071 00000 n
+0000468077 00000 n
+0000470197 00000 n
+0000470326 00000 n
+0000470455 00000 n
+0000470584 00000 n
+0000471090 00000 n
+0000470899 00000 n
+0000470749 00000 n
+0000471025 00000 n
+0000475177 00000 n
+0000474411 00000 n
+0000471132 00000 n
+0000474725 00000 n
+0000474854 00000 n
+0000474982 00000 n
+0000475047 00000 n
+0000475112 00000 n
+0000474558 00000 n
+0000479675 00000 n
+0000479867 00000 n
+0000479420 00000 n
+0000475277 00000 n
+0000479546 00000 n
+0000479802 00000 n
+0000483719 00000 n
+0000483141 00000 n
+0000479995 00000 n
+0000483267 00000 n
+0000483396 00000 n
+0000483525 00000 n
+0000483654 00000 n
+0000486829 00000 n
+0000486251 00000 n
+0000483860 00000 n
+0000486377 00000 n
+0000486506 00000 n
+0000486635 00000 n
+0000486700 00000 n
+0000486764 00000 n
+0001177720 00000 n
+0000490190 00000 n
+0000489486 00000 n
+0000486986 00000 n
+0000489612 00000 n
+0000489741 00000 n
+0000489869 00000 n
+0000489934 00000 n
+0000489999 00000 n
+0000490125 00000 n
+0000495503 00000 n
+0000494715 00000 n
+0000490304 00000 n
+0000495181 00000 n
+0000494871 00000 n
+0000495022 00000 n
+0000495439 00000 n
+0000967453 00000 n
+0000499368 00000 n
+0000498097 00000 n
+0000495644 00000 n
+0000498787 00000 n
+0000498916 00000 n
+0000499045 00000 n
+0000499174 00000 n
+0000498262 00000 n
+0000498414 00000 n
+0000498600 00000 n
+0000499303 00000 n
+0000503515 00000 n
+0000503066 00000 n
+0000499496 00000 n
+0000503192 00000 n
+0000503321 00000 n
+0000503450 00000 n
+0000507421 00000 n
+0000507042 00000 n
+0000503643 00000 n
+0000507356 00000 n
+0000507189 00000 n
+0000510271 00000 n
+0000510466 00000 n
+0000510016 00000 n
+0000507535 00000 n
+0000510142 00000 n
+0000510336 00000 n
+0000510401 00000 n
+0001177845 00000 n
+0000513418 00000 n
+0000513227 00000 n
+0000510580 00000 n
+0000513353 00000 n
+0000517018 00000 n
+0000516572 00000 n
+0000513532 00000 n
+0000516698 00000 n
+0000516825 00000 n
+0000516890 00000 n
+0000516954 00000 n
+0000520119 00000 n
+0000519799 00000 n
+0000517132 00000 n
+0000519925 00000 n
+0000520054 00000 n
+0000523406 00000 n
+0000522365 00000 n
+0000520233 00000 n
+0000522825 00000 n
+0000522954 00000 n
+0000522521 00000 n
+0000522674 00000 n
+0000523083 00000 n
+0000523212 00000 n
+0000523341 00000 n
+0000524899 00000 n
+0000524708 00000 n
+0000523520 00000 n
+0000524834 00000 n
+0000526492 00000 n
+0000526301 00000 n
+0000525000 00000 n
+0000526427 00000 n
+0001177970 00000 n
+0000527938 00000 n
+0000527747 00000 n
+0000526593 00000 n
+0000527873 00000 n
+0000530994 00000 n
+0000530674 00000 n
+0000528039 00000 n
+0000530800 00000 n
+0000535200 00000 n
+0000535009 00000 n
+0000531122 00000 n
+0000535135 00000 n
+0000539672 00000 n
+0000539124 00000 n
+0000535342 00000 n
+0000539607 00000 n
+0000539280 00000 n
+0000539437 00000 n
+0000741894 00000 n
+0000543870 00000 n
+0000543506 00000 n
+0000539800 00000 n
+0000543805 00000 n
+0000543653 00000 n
+0000547926 00000 n
+0000547414 00000 n
+0000544012 00000 n
+0000547732 00000 n
+0000547561 00000 n
+0001178095 00000 n
+0000551912 00000 n
+0000551591 00000 n
+0000548054 00000 n
+0000551717 00000 n
+0000551782 00000 n
+0000551847 00000 n
+0000556328 00000 n
+0000555798 00000 n
+0000552026 00000 n
+0000556263 00000 n
+0000555954 00000 n
+0000556108 00000 n
+0000561429 00000 n
+0000560461 00000 n
+0000556499 00000 n
+0000561364 00000 n
+0000560635 00000 n
+0000560820 00000 n
+0000560994 00000 n
+0000561179 00000 n
+0000648409 00000 n
+0000565583 00000 n
+0000565392 00000 n
+0000561584 00000 n
+0000565518 00000 n
+0000569433 00000 n
+0000569242 00000 n
+0000565697 00000 n
+0000569368 00000 n
+0000574339 00000 n
+0000573353 00000 n
+0000569547 00000 n
+0000574017 00000 n
+0000573518 00000 n
+0000573683 00000 n
+0000574145 00000 n
+0000573847 00000 n
+0000574274 00000 n
+0001178220 00000 n
+0000667150 00000 n
+0000577732 00000 n
+0000577225 00000 n
+0000574453 00000 n
+0000577538 00000 n
+0000577667 00000 n
+0000577372 00000 n
+0000581864 00000 n
+0000581172 00000 n
+0000577889 00000 n
+0000581670 00000 n
+0000581328 00000 n
+0000581499 00000 n
+0000581799 00000 n
+0000761963 00000 n
+0000585790 00000 n
+0000585471 00000 n
+0000581992 00000 n
+0000585597 00000 n
+0000585725 00000 n
+0000588716 00000 n
+0000588396 00000 n
+0000585904 00000 n
+0000588522 00000 n
+0000592663 00000 n
+0000592472 00000 n
+0000588887 00000 n
+0000592598 00000 n
+0000595755 00000 n
+0000595564 00000 n
+0000592777 00000 n
+0000595690 00000 n
+0001178345 00000 n
+0000600081 00000 n
+0000599140 00000 n
+0000595912 00000 n
+0000599631 00000 n
+0000599760 00000 n
+0000599296 00000 n
+0000599888 00000 n
+0000599456 00000 n
+0000600017 00000 n
+0000604312 00000 n
+0000603817 00000 n
+0000600195 00000 n
+0000604119 00000 n
+0000603964 00000 n
+0000604248 00000 n
+0000607746 00000 n
+0000607115 00000 n
+0000604440 00000 n
+0000607423 00000 n
+0000607552 00000 n
+0000607681 00000 n
+0000607262 00000 n
+0000610822 00000 n
+0000610455 00000 n
+0000607917 00000 n
+0000610757 00000 n
+0000610602 00000 n
+0000614692 00000 n
+0000613924 00000 n
+0000610936 00000 n
+0000614240 00000 n
+0000614071 00000 n
+0000614434 00000 n
+0000614498 00000 n
+0000614627 00000 n
+0000618581 00000 n
+0000618207 00000 n
+0000614877 00000 n
+0000618516 00000 n
+0000618354 00000 n
+0001178470 00000 n
+0000623086 00000 n
+0000622713 00000 n
+0000618752 00000 n
+0000623021 00000 n
+0000622860 00000 n
+0000738130 00000 n
+0000626969 00000 n
+0000626333 00000 n
+0000623214 00000 n
+0000626646 00000 n
+0000626775 00000 n
+0000626480 00000 n
+0000626904 00000 n
+0000665265 00000 n
+0000629628 00000 n
+0000629437 00000 n
+0000627096 00000 n
+0000629563 00000 n
+0000633937 00000 n
+0000633491 00000 n
+0000629798 00000 n
+0000633617 00000 n
+0000633872 00000 n
+0000637948 00000 n
+0000637456 00000 n
+0000634051 00000 n
+0000637754 00000 n
+0000637603 00000 n
+0000637883 00000 n
+0000642172 00000 n
+0000641981 00000 n
+0000638076 00000 n
+0000642107 00000 n
+0001178595 00000 n
+0000645796 00000 n
+0000645605 00000 n
+0000642299 00000 n
+0000645731 00000 n
+0000648474 00000 n
+0000648026 00000 n
+0000645923 00000 n
+0000648152 00000 n
+0000648280 00000 n
+0000653320 00000 n
+0000652657 00000 n
+0000648588 00000 n
+0000653127 00000 n
+0000652813 00000 n
+0000652965 00000 n
+0000653255 00000 n
+0000657588 00000 n
+0000656710 00000 n
+0000653434 00000 n
+0000657011 00000 n
+0000657138 00000 n
+0000657267 00000 n
+0000657395 00000 n
+0000656857 00000 n
+0000657524 00000 n
+0000661868 00000 n
+0000661548 00000 n
+0000657702 00000 n
+0000661674 00000 n
+0000665459 00000 n
+0000665010 00000 n
+0000662010 00000 n
+0000665136 00000 n
+0000665394 00000 n
+0001178720 00000 n
+0000667215 00000 n
+0000666895 00000 n
+0000665573 00000 n
+0000667021 00000 n
+0000668799 00000 n
+0000668608 00000 n
+0000667329 00000 n
+0000668734 00000 n
+0000670238 00000 n
+0000670047 00000 n
+0000668900 00000 n
+0000670173 00000 n
+0000672950 00000 n
+0000672371 00000 n
+0000670339 00000 n
+0000672497 00000 n
+0000672626 00000 n
+0000672755 00000 n
+0000672820 00000 n
+0000672885 00000 n
+0000676609 00000 n
+0000676418 00000 n
+0000673064 00000 n
+0000676544 00000 n
+0000681739 00000 n
+0000679898 00000 n
+0000676723 00000 n
+0000681418 00000 n
+0000680108 00000 n
+0000681546 00000 n
+0000681674 00000 n
+0000680275 00000 n
+0000680437 00000 n
+0000680599 00000 n
+0000680761 00000 n
+0000680923 00000 n
+0000681085 00000 n
+0000681256 00000 n
+0001178845 00000 n
+0000967420 00000 n
+0000687326 00000 n
+0000685240 00000 n
+0000681853 00000 n
+0000687261 00000 n
+0000685477 00000 n
+0000685640 00000 n
+0000685800 00000 n
+0000685961 00000 n
+0000686124 00000 n
+0000686287 00000 n
+0000686450 00000 n
+0000686605 00000 n
+0000686768 00000 n
0000686931 00000 n
-0000687093 00000 n
-0000687255 00000 n
-0000687416 00000 n
-0000691909 00000 n
-0000690726 00000 n
-0000687770 00000 n
-0000691844 00000 n
-0000690918 00000 n
-0000691072 00000 n
-0000691235 00000 n
-0000691388 00000 n
-0000691542 00000 n
-0000691692 00000 n
-0000697884 00000 n
-0000695480 00000 n
-0000692037 00000 n
-0000697819 00000 n
-0000695735 00000 n
-0000695897 00000 n
-0000696059 00000 n
-0000696219 00000 n
-0000696379 00000 n
-0000696541 00000 n
-0000696701 00000 n
-0000696860 00000 n
-0000697013 00000 n
-0000697176 00000 n
-0000697327 00000 n
-0000697492 00000 n
-0000697658 00000 n
-0000702220 00000 n
-0000701556 00000 n
-0000698026 00000 n
-0000702026 00000 n
-0000701712 00000 n
-0000701866 00000 n
-0000705737 00000 n
-0000705417 00000 n
-0000702362 00000 n
-0000705543 00000 n
-0000705608 00000 n
-0000705672 00000 n
-0000709227 00000 n
-0000708651 00000 n
-0000705908 00000 n
-0000708777 00000 n
-0000708905 00000 n
-0000709162 00000 n
-0001172682 00000 n
-0000713482 00000 n
-0000712669 00000 n
-0000709398 00000 n
-0000713157 00000 n
-0000712825 00000 n
-0000712995 00000 n
-0000713222 00000 n
-0000713287 00000 n
-0000713352 00000 n
-0000713417 00000 n
-0000716751 00000 n
-0000716430 00000 n
-0000713583 00000 n
-0000716556 00000 n
+0000687094 00000 n
+0000692225 00000 n
+0000690654 00000 n
+0000687454 00000 n
+0000692160 00000 n
+0000690864 00000 n
+0000691033 00000 n
+0000691195 00000 n
+0000691357 00000 n
+0000691518 00000 n
+0000691680 00000 n
+0000691843 00000 n
+0000691997 00000 n
+0000698439 00000 n
+0000695557 00000 n
+0000692353 00000 n
+0000698374 00000 n
+0000695839 00000 n
+0000695993 00000 n
+0000696147 00000 n
+0000696301 00000 n
+0000696455 00000 n
+0000696617 00000 n
+0000696779 00000 n
+0000696939 00000 n
+0000697099 00000 n
+0000697261 00000 n
+0000697421 00000 n
+0000697580 00000 n
+0000697733 00000 n
+0000697896 00000 n
+0000698047 00000 n
+0000698210 00000 n
+0000703028 00000 n
+0000702192 00000 n
+0000698581 00000 n
+0000702834 00000 n
+0000702357 00000 n
+0000702520 00000 n
+0000702674 00000 n
+0000706930 00000 n
+0000706609 00000 n
+0000703156 00000 n
+0000706735 00000 n
+0000706800 00000 n
+0000706865 00000 n
+0000708963 00000 n
+0000708772 00000 n
+0000707072 00000 n
+0000708898 00000 n
+0001178970 00000 n
+0000713170 00000 n
+0000712100 00000 n
+0000709121 00000 n
+0000712588 00000 n
+0000712717 00000 n
+0000712975 00000 n
+0000712256 00000 n
+0000712426 00000 n
+0000713040 00000 n
+0000713105 00000 n
0000716621 00000 n
-0000716686 00000 n
-0000720664 00000 n
-0000720085 00000 n
-0000716866 00000 n
-0000720211 00000 n
-0000720340 00000 n
-0000720405 00000 n
-0000720470 00000 n
-0000720534 00000 n
-0000720599 00000 n
-0000724510 00000 n
-0000723801 00000 n
-0000720778 00000 n
-0000723927 00000 n
-0000724056 00000 n
-0000724121 00000 n
-0000724186 00000 n
-0000724315 00000 n
-0000724380 00000 n
-0000724445 00000 n
-0000728042 00000 n
-0000727205 00000 n
-0000724638 00000 n
-0000727331 00000 n
-0000727460 00000 n
-0000727525 00000 n
-0000727590 00000 n
-0000727719 00000 n
-0000727848 00000 n
-0000727977 00000 n
-0000731027 00000 n
-0000730450 00000 n
-0000728255 00000 n
-0000730576 00000 n
-0000730705 00000 n
-0000730834 00000 n
-0000730963 00000 n
-0001172807 00000 n
-0000735076 00000 n
-0000734627 00000 n
-0000731212 00000 n
-0000734753 00000 n
-0000734818 00000 n
-0000734883 00000 n
-0000739005 00000 n
-0000738245 00000 n
-0000735203 00000 n
-0000738552 00000 n
-0000738681 00000 n
-0000738746 00000 n
-0000738811 00000 n
-0000738392 00000 n
-0000742619 00000 n
-0000742040 00000 n
-0000739133 00000 n
-0000742166 00000 n
-0000742295 00000 n
-0000742424 00000 n
-0000742489 00000 n
-0000742554 00000 n
-0000746224 00000 n
-0000745396 00000 n
-0000742733 00000 n
-0000745708 00000 n
-0000745543 00000 n
-0000745837 00000 n
-0000745902 00000 n
-0000745967 00000 n
-0000746096 00000 n
-0000746160 00000 n
-0000961098 00000 n
-0000750377 00000 n
-0000749862 00000 n
-0000746338 00000 n
-0000749988 00000 n
-0000750053 00000 n
-0000750182 00000 n
-0000750247 00000 n
-0000750312 00000 n
-0000752658 00000 n
-0000752338 00000 n
-0000750505 00000 n
-0000752464 00000 n
-0000979904 00000 n
-0000972620 00000 n
-0000979724 00000 n
-0000752593 00000 n
-0001172932 00000 n
-0000754570 00000 n
-0000754123 00000 n
-0000752800 00000 n
-0000754249 00000 n
-0000754378 00000 n
-0000754505 00000 n
-0000758992 00000 n
-0000758049 00000 n
-0000754684 00000 n
-0000758412 00000 n
-0000972299 00000 n
-0000963086 00000 n
-0000972113 00000 n
-0000758196 00000 n
-0000758541 00000 n
-0000758669 00000 n
-0000758798 00000 n
-0000760351 00000 n
-0000760160 00000 n
-0000759233 00000 n
-0000760286 00000 n
-0000760792 00000 n
-0000760601 00000 n
-0000760451 00000 n
-0000760727 00000 n
-0000764106 00000 n
-0000762880 00000 n
-0000760834 00000 n
-0000763397 00000 n
-0000763526 00000 n
-0000763655 00000 n
-0000763784 00000 n
-0000763913 00000 n
-0000764042 00000 n
-0000763036 00000 n
-0000763208 00000 n
-0000764561 00000 n
-0000764370 00000 n
-0000764220 00000 n
-0000764496 00000 n
-0001173057 00000 n
-0000767806 00000 n
-0000767228 00000 n
-0000764603 00000 n
-0000767354 00000 n
-0000767483 00000 n
-0000767612 00000 n
-0000767741 00000 n
-0000772003 00000 n
-0000770784 00000 n
-0000767892 00000 n
-0000771294 00000 n
-0000771423 00000 n
-0000771681 00000 n
-0000770940 00000 n
-0000771119 00000 n
-0000771875 00000 n
-0000771939 00000 n
-0000778893 00000 n
-0000775065 00000 n
-0000772159 00000 n
-0000775191 00000 n
-0000775256 00000 n
-0000775321 00000 n
-0000775386 00000 n
-0000775451 00000 n
-0000775516 00000 n
-0000775581 00000 n
-0000775646 00000 n
-0000775711 00000 n
-0000775776 00000 n
-0000775906 00000 n
-0000775971 00000 n
-0000776036 00000 n
-0000776101 00000 n
-0000776166 00000 n
-0000776231 00000 n
-0000776296 00000 n
-0000776361 00000 n
-0000776426 00000 n
-0000776491 00000 n
-0000776556 00000 n
-0000776621 00000 n
-0000776686 00000 n
-0000776751 00000 n
-0000776816 00000 n
-0000776881 00000 n
-0000776946 00000 n
-0000777011 00000 n
-0000777076 00000 n
-0000777141 00000 n
-0000777206 00000 n
-0000777271 00000 n
-0000777336 00000 n
-0000777401 00000 n
-0000777465 00000 n
-0000777530 00000 n
-0000777595 00000 n
-0000777660 00000 n
-0000777725 00000 n
-0000777790 00000 n
-0000777855 00000 n
-0000777920 00000 n
-0000777985 00000 n
-0000778050 00000 n
-0000778115 00000 n
-0000778180 00000 n
-0000778245 00000 n
-0000778310 00000 n
-0000778375 00000 n
-0000778440 00000 n
-0000778505 00000 n
-0000778570 00000 n
-0000778635 00000 n
-0000778700 00000 n
-0000778765 00000 n
-0000778829 00000 n
-0000785541 00000 n
-0000781977 00000 n
-0000779007 00000 n
-0000782103 00000 n
-0000782168 00000 n
-0000782233 00000 n
-0000782298 00000 n
-0000782363 00000 n
-0000782428 00000 n
-0000782493 00000 n
-0000782558 00000 n
-0000782623 00000 n
-0000782688 00000 n
-0000782753 00000 n
-0000782818 00000 n
-0000782882 00000 n
-0000782947 00000 n
-0000783012 00000 n
-0000783077 00000 n
-0000783142 00000 n
-0000783207 00000 n
-0000783272 00000 n
-0000783337 00000 n
-0000783402 00000 n
-0000783467 00000 n
-0000783532 00000 n
-0000783597 00000 n
-0000783661 00000 n
-0000783726 00000 n
-0000783791 00000 n
-0000783856 00000 n
-0000783921 00000 n
-0000783986 00000 n
-0000784051 00000 n
-0000784116 00000 n
-0000784181 00000 n
-0000784246 00000 n
-0000784311 00000 n
-0000784376 00000 n
-0000784441 00000 n
-0000784506 00000 n
-0000784571 00000 n
-0000784636 00000 n
-0000784700 00000 n
-0000784764 00000 n
-0000784828 00000 n
-0000784893 00000 n
-0000784958 00000 n
-0000785023 00000 n
-0000785088 00000 n
-0000785153 00000 n
-0000785218 00000 n
-0000785283 00000 n
-0000785348 00000 n
-0000785413 00000 n
-0000785477 00000 n
-0000791716 00000 n
-0000788278 00000 n
-0000785655 00000 n
-0000788404 00000 n
-0000788469 00000 n
-0000788534 00000 n
-0000788599 00000 n
-0000788664 00000 n
-0000788729 00000 n
-0000788794 00000 n
-0000788859 00000 n
-0000788924 00000 n
-0000788989 00000 n
-0000789054 00000 n
-0000789119 00000 n
-0000789184 00000 n
-0000789249 00000 n
-0000789314 00000 n
-0000789379 00000 n
-0000789444 00000 n
-0000789509 00000 n
-0000789574 00000 n
-0000789639 00000 n
-0000789704 00000 n
-0000789769 00000 n
-0000789834 00000 n
-0000789899 00000 n
-0000789964 00000 n
-0000790029 00000 n
-0000790094 00000 n
-0000790159 00000 n
-0000790224 00000 n
-0000790289 00000 n
-0000790354 00000 n
-0000790419 00000 n
-0000790484 00000 n
-0000790549 00000 n
-0000790613 00000 n
-0000790678 00000 n
-0000790743 00000 n
-0000790808 00000 n
-0000790873 00000 n
-0000790938 00000 n
-0000791003 00000 n
-0000791068 00000 n
-0000791133 00000 n
-0000791198 00000 n
-0000791263 00000 n
-0000791328 00000 n
-0000791393 00000 n
-0000791458 00000 n
-0000791523 00000 n
-0000791588 00000 n
-0000791652 00000 n
-0000797235 00000 n
-0000794839 00000 n
-0000791830 00000 n
-0000794965 00000 n
-0000795030 00000 n
-0000795095 00000 n
-0000795160 00000 n
-0000795225 00000 n
-0000795290 00000 n
-0000795355 00000 n
-0000795420 00000 n
-0000795485 00000 n
-0000795550 00000 n
-0000795615 00000 n
-0000795680 00000 n
-0000795745 00000 n
-0000795809 00000 n
-0000795874 00000 n
-0000795939 00000 n
-0000796004 00000 n
-0000796069 00000 n
-0000796134 00000 n
-0000796199 00000 n
-0000796264 00000 n
-0000796329 00000 n
-0000796394 00000 n
-0000796459 00000 n
-0000796524 00000 n
-0000796652 00000 n
-0000796781 00000 n
-0000796846 00000 n
-0000796911 00000 n
-0000796976 00000 n
-0000797041 00000 n
-0000797170 00000 n
-0001173182 00000 n
-0000800443 00000 n
-0000799736 00000 n
-0000797362 00000 n
-0000799862 00000 n
-0000799991 00000 n
-0000800120 00000 n
-0000800249 00000 n
-0000800378 00000 n
-0000803935 00000 n
-0000803178 00000 n
-0000800570 00000 n
-0000803485 00000 n
-0000803614 00000 n
-0000803325 00000 n
-0000803742 00000 n
-0000803870 00000 n
-0000807179 00000 n
-0000806601 00000 n
-0000804062 00000 n
-0000806727 00000 n
-0000806856 00000 n
-0000806985 00000 n
-0000807114 00000 n
-0000810088 00000 n
-0000809768 00000 n
-0000807293 00000 n
+0000716301 00000 n
+0000713298 00000 n
+0000716427 00000 n
+0000716492 00000 n
+0000716556 00000 n
+0000720109 00000 n
+0000719788 00000 n
+0000716722 00000 n
+0000719914 00000 n
+0000719979 00000 n
+0000720044 00000 n
+0000724030 00000 n
+0000723321 00000 n
+0000720224 00000 n
+0000723447 00000 n
+0000723576 00000 n
+0000723641 00000 n
+0000723706 00000 n
+0000723771 00000 n
+0000723836 00000 n
+0000723965 00000 n
+0000728271 00000 n
+0000727434 00000 n
+0000724144 00000 n
+0000727560 00000 n
+0000727625 00000 n
+0000727690 00000 n
+0000727819 00000 n
+0000727884 00000 n
+0000727949 00000 n
+0000728078 00000 n
+0000728143 00000 n
+0000728207 00000 n
+0000731298 00000 n
+0000730596 00000 n
+0000728399 00000 n
+0000730722 00000 n
+0000730849 00000 n
+0000730976 00000 n
+0000731105 00000 n
+0000731233 00000 n
+0001179095 00000 n
+0000734008 00000 n
+0000733431 00000 n
+0000731497 00000 n
+0000733557 00000 n
+0000733686 00000 n
+0000733815 00000 n
+0000733880 00000 n
+0000733944 00000 n
+0000738195 00000 n
+0000737875 00000 n
+0000734193 00000 n
+0000738001 00000 n
+0000741959 00000 n
+0000741199 00000 n
+0000738322 00000 n
+0000741506 00000 n
+0000741635 00000 n
+0000741700 00000 n
+0000741765 00000 n
+0000741346 00000 n
+0000745650 00000 n
+0000745071 00000 n
+0000742073 00000 n
+0000745197 00000 n
+0000745326 00000 n
+0000745455 00000 n
+0000745520 00000 n
+0000745585 00000 n
+0000749264 00000 n
+0000748369 00000 n
+0000745764 00000 n
+0000748681 00000 n
+0000748516 00000 n
+0000748810 00000 n
+0000748875 00000 n
+0000748940 00000 n
+0000749069 00000 n
+0000749134 00000 n
+0000749199 00000 n
+0000967387 00000 n
+0000753421 00000 n
+0000752971 00000 n
+0000749378 00000 n
+0000753097 00000 n
+0000753226 00000 n
+0000753291 00000 n
+0000753356 00000 n
+0001179220 00000 n
+0000755312 00000 n
+0000754992 00000 n
+0000753549 00000 n
+0000755118 00000 n
+0000986192 00000 n
+0000978909 00000 n
+0000986012 00000 n
+0000755247 00000 n
+0000755795 00000 n
+0000755604 00000 n
+0000755454 00000 n
+0000755730 00000 n
+0000757607 00000 n
+0000757160 00000 n
+0000755837 00000 n
+0000757286 00000 n
+0000757415 00000 n
+0000757542 00000 n
+0000762028 00000 n
+0000761085 00000 n
+0000757721 00000 n
+0000761448 00000 n
+0000978588 00000 n
+0000969375 00000 n
+0000978402 00000 n
+0000761232 00000 n
+0000761577 00000 n
+0000761705 00000 n
+0000761834 00000 n
+0000763387 00000 n
+0000763196 00000 n
+0000762269 00000 n
+0000763322 00000 n
+0000763828 00000 n
+0000763637 00000 n
+0000763487 00000 n
+0000763763 00000 n
+0001179345 00000 n
+0000767142 00000 n
+0000765916 00000 n
+0000763870 00000 n
+0000766433 00000 n
+0000766562 00000 n
+0000766691 00000 n
+0000766820 00000 n
+0000766949 00000 n
+0000767078 00000 n
+0000766072 00000 n
+0000766244 00000 n
+0000767597 00000 n
+0000767406 00000 n
+0000767256 00000 n
+0000767532 00000 n
+0000770842 00000 n
+0000770264 00000 n
+0000767639 00000 n
+0000770390 00000 n
+0000770519 00000 n
+0000770648 00000 n
+0000770777 00000 n
+0000775040 00000 n
+0000773821 00000 n
+0000770928 00000 n
+0000774331 00000 n
+0000774460 00000 n
+0000774718 00000 n
+0000773977 00000 n
+0000774156 00000 n
+0000774912 00000 n
+0000774976 00000 n
+0000781930 00000 n
+0000778102 00000 n
+0000775196 00000 n
+0000778228 00000 n
+0000778293 00000 n
+0000778358 00000 n
+0000778423 00000 n
+0000778488 00000 n
+0000778553 00000 n
+0000778618 00000 n
+0000778683 00000 n
+0000778748 00000 n
+0000778813 00000 n
+0000778943 00000 n
+0000779008 00000 n
+0000779073 00000 n
+0000779138 00000 n
+0000779203 00000 n
+0000779268 00000 n
+0000779333 00000 n
+0000779398 00000 n
+0000779463 00000 n
+0000779528 00000 n
+0000779593 00000 n
+0000779658 00000 n
+0000779723 00000 n
+0000779788 00000 n
+0000779853 00000 n
+0000779918 00000 n
+0000779983 00000 n
+0000780048 00000 n
+0000780113 00000 n
+0000780178 00000 n
+0000780243 00000 n
+0000780308 00000 n
+0000780373 00000 n
+0000780438 00000 n
+0000780502 00000 n
+0000780567 00000 n
+0000780632 00000 n
+0000780697 00000 n
+0000780762 00000 n
+0000780827 00000 n
+0000780892 00000 n
+0000780957 00000 n
+0000781022 00000 n
+0000781087 00000 n
+0000781152 00000 n
+0000781217 00000 n
+0000781282 00000 n
+0000781347 00000 n
+0000781412 00000 n
+0000781477 00000 n
+0000781542 00000 n
+0000781607 00000 n
+0000781672 00000 n
+0000781737 00000 n
+0000781802 00000 n
+0000781866 00000 n
+0000788578 00000 n
+0000785014 00000 n
+0000782044 00000 n
+0000785140 00000 n
+0000785205 00000 n
+0000785270 00000 n
+0000785335 00000 n
+0000785400 00000 n
+0000785465 00000 n
+0000785530 00000 n
+0000785595 00000 n
+0000785660 00000 n
+0000785725 00000 n
+0000785790 00000 n
+0000785855 00000 n
+0000785919 00000 n
+0000785984 00000 n
+0000786049 00000 n
+0000786114 00000 n
+0000786179 00000 n
+0000786244 00000 n
+0000786309 00000 n
+0000786374 00000 n
+0000786439 00000 n
+0000786504 00000 n
+0000786569 00000 n
+0000786634 00000 n
+0000786698 00000 n
+0000786763 00000 n
+0000786828 00000 n
+0000786893 00000 n
+0000786958 00000 n
+0000787023 00000 n
+0000787088 00000 n
+0000787153 00000 n
+0000787218 00000 n
+0000787283 00000 n
+0000787348 00000 n
+0000787413 00000 n
+0000787478 00000 n
+0000787543 00000 n
+0000787608 00000 n
+0000787673 00000 n
+0000787737 00000 n
+0000787801 00000 n
+0000787865 00000 n
+0000787930 00000 n
+0000787995 00000 n
+0000788060 00000 n
+0000788125 00000 n
+0000788190 00000 n
+0000788255 00000 n
+0000788320 00000 n
+0000788385 00000 n
+0000788450 00000 n
+0000788514 00000 n
+0001179470 00000 n
+0000794753 00000 n
+0000791315 00000 n
+0000788692 00000 n
+0000791441 00000 n
+0000791506 00000 n
+0000791571 00000 n
+0000791636 00000 n
+0000791701 00000 n
+0000791766 00000 n
+0000791831 00000 n
+0000791896 00000 n
+0000791961 00000 n
+0000792026 00000 n
+0000792091 00000 n
+0000792156 00000 n
+0000792221 00000 n
+0000792286 00000 n
+0000792351 00000 n
+0000792416 00000 n
+0000792481 00000 n
+0000792546 00000 n
+0000792611 00000 n
+0000792676 00000 n
+0000792741 00000 n
+0000792806 00000 n
+0000792871 00000 n
+0000792936 00000 n
+0000793001 00000 n
+0000793066 00000 n
+0000793131 00000 n
+0000793196 00000 n
+0000793261 00000 n
+0000793326 00000 n
+0000793391 00000 n
+0000793456 00000 n
+0000793521 00000 n
+0000793586 00000 n
+0000793650 00000 n
+0000793715 00000 n
+0000793780 00000 n
+0000793845 00000 n
+0000793910 00000 n
+0000793975 00000 n
+0000794040 00000 n
+0000794105 00000 n
+0000794170 00000 n
+0000794235 00000 n
+0000794300 00000 n
+0000794365 00000 n
+0000794430 00000 n
+0000794495 00000 n
+0000794560 00000 n
+0000794625 00000 n
+0000794689 00000 n
+0000800272 00000 n
+0000797876 00000 n
+0000794867 00000 n
+0000798002 00000 n
+0000798067 00000 n
+0000798132 00000 n
+0000798197 00000 n
+0000798262 00000 n
+0000798327 00000 n
+0000798392 00000 n
+0000798457 00000 n
+0000798522 00000 n
+0000798587 00000 n
+0000798652 00000 n
+0000798717 00000 n
+0000798782 00000 n
+0000798846 00000 n
+0000798911 00000 n
+0000798976 00000 n
+0000799041 00000 n
+0000799106 00000 n
+0000799171 00000 n
+0000799236 00000 n
+0000799301 00000 n
+0000799366 00000 n
+0000799431 00000 n
+0000799496 00000 n
+0000799561 00000 n
+0000799689 00000 n
+0000799818 00000 n
+0000799883 00000 n
+0000799948 00000 n
+0000800013 00000 n
+0000800078 00000 n
+0000800207 00000 n
+0000803481 00000 n
+0000802774 00000 n
+0000800399 00000 n
+0000802900 00000 n
+0000803029 00000 n
+0000803158 00000 n
+0000803287 00000 n
+0000803416 00000 n
+0000806973 00000 n
+0000806216 00000 n
+0000803608 00000 n
+0000806523 00000 n
+0000806652 00000 n
+0000806363 00000 n
+0000806780 00000 n
+0000806908 00000 n
+0000810217 00000 n
+0000809639 00000 n
+0000807100 00000 n
+0000809765 00000 n
0000809894 00000 n
0000810023 00000 n
-0000812678 00000 n
-0000812229 00000 n
-0000810258 00000 n
-0000812355 00000 n
-0000812484 00000 n
-0000812613 00000 n
-0000813119 00000 n
-0000812928 00000 n
-0000812778 00000 n
-0000813054 00000 n
-0001173307 00000 n
-0000815831 00000 n
-0000815187 00000 n
-0000813161 00000 n
-0000815313 00000 n
-0000815442 00000 n
-0000815571 00000 n
-0000815636 00000 n
-0000815701 00000 n
-0000815766 00000 n
-0000820171 00000 n
-0000819851 00000 n
-0000815945 00000 n
-0000819977 00000 n
-0000820042 00000 n
-0000820107 00000 n
-0000823788 00000 n
-0000823533 00000 n
-0000820327 00000 n
-0000823659 00000 n
-0000823724 00000 n
-0000827075 00000 n
-0000826884 00000 n
-0000823930 00000 n
-0000827010 00000 n
-0000830679 00000 n
-0000830488 00000 n
-0000827203 00000 n
-0000830614 00000 n
-0000833769 00000 n
-0000833254 00000 n
-0000830821 00000 n
-0000833380 00000 n
-0000833445 00000 n
-0000833510 00000 n
-0000833575 00000 n
-0000833640 00000 n
-0000833705 00000 n
-0001173432 00000 n
-0000837968 00000 n
-0000837453 00000 n
-0000833925 00000 n
-0000837579 00000 n
-0000837708 00000 n
-0000837773 00000 n
-0000837838 00000 n
-0000837903 00000 n
-0000841657 00000 n
-0000840949 00000 n
-0000838096 00000 n
-0000841075 00000 n
-0000841140 00000 n
-0000841205 00000 n
-0000841270 00000 n
-0000841399 00000 n
-0000841463 00000 n
-0000841528 00000 n
-0000841593 00000 n
-0000844747 00000 n
-0000844361 00000 n
-0000841799 00000 n
-0000844487 00000 n
-0000844552 00000 n
-0000844617 00000 n
-0000844682 00000 n
-0000847789 00000 n
-0000847015 00000 n
-0000844889 00000 n
-0000847141 00000 n
-0000847206 00000 n
-0000847271 00000 n
-0000847336 00000 n
-0000847465 00000 n
-0000847529 00000 n
-0000847594 00000 n
-0000847659 00000 n
-0000847724 00000 n
-0000851285 00000 n
-0000851094 00000 n
-0000847945 00000 n
-0000851220 00000 n
-0000854568 00000 n
-0000854118 00000 n
-0000851413 00000 n
-0000854244 00000 n
-0000854309 00000 n
-0000854374 00000 n
-0000854439 00000 n
-0000854504 00000 n
-0001173557 00000 n
-0000858100 00000 n
-0000857522 00000 n
-0000854723 00000 n
-0000857648 00000 n
-0000857842 00000 n
-0000857906 00000 n
-0000857970 00000 n
-0000858035 00000 n
-0000861755 00000 n
-0000861564 00000 n
-0000858242 00000 n
-0000861690 00000 n
-0000865260 00000 n
-0000865004 00000 n
-0000861883 00000 n
-0000865130 00000 n
-0000865195 00000 n
-0000868318 00000 n
-0000867868 00000 n
-0000865388 00000 n
-0000867994 00000 n
-0000868059 00000 n
-0000868124 00000 n
-0000868189 00000 n
-0000868254 00000 n
-0000871075 00000 n
-0000870172 00000 n
-0000868487 00000 n
-0000870298 00000 n
-0000870427 00000 n
-0000870492 00000 n
-0000870557 00000 n
-0000870622 00000 n
-0000870687 00000 n
-0000870752 00000 n
-0000870817 00000 n
-0000871011 00000 n
-0000874770 00000 n
-0000874320 00000 n
-0000871231 00000 n
-0000874446 00000 n
-0000874511 00000 n
-0000874576 00000 n
-0000874641 00000 n
-0000874705 00000 n
-0001173682 00000 n
-0000878053 00000 n
-0000877668 00000 n
-0000874912 00000 n
-0000877794 00000 n
-0000877859 00000 n
-0000877924 00000 n
-0000877989 00000 n
-0000881416 00000 n
-0000880836 00000 n
-0000878195 00000 n
-0000880962 00000 n
-0000881091 00000 n
-0000881156 00000 n
-0000881221 00000 n
-0000881286 00000 n
-0000881351 00000 n
-0000885432 00000 n
-0000885241 00000 n
-0000881558 00000 n
-0000885367 00000 n
-0000889273 00000 n
-0000889082 00000 n
-0000885560 00000 n
-0000889208 00000 n
-0000892643 00000 n
-0000892452 00000 n
-0000889401 00000 n
-0000892578 00000 n
-0000895225 00000 n
-0000894581 00000 n
-0000892785 00000 n
-0000894707 00000 n
-0000894772 00000 n
-0000894837 00000 n
-0000894902 00000 n
-0000895031 00000 n
-0000895096 00000 n
-0000895161 00000 n
-0001173807 00000 n
-0000898140 00000 n
-0000897435 00000 n
-0000895381 00000 n
-0000897561 00000 n
-0000897626 00000 n
-0000897691 00000 n
-0000897756 00000 n
-0000897821 00000 n
-0000897886 00000 n
-0000898012 00000 n
-0000898077 00000 n
-0000901353 00000 n
-0000900968 00000 n
-0000898282 00000 n
-0000901094 00000 n
-0000901159 00000 n
-0000901224 00000 n
-0000901289 00000 n
-0000905053 00000 n
-0000904862 00000 n
-0000901495 00000 n
-0000904988 00000 n
-0000907937 00000 n
-0000907162 00000 n
-0000905181 00000 n
-0000907288 00000 n
-0000907353 00000 n
-0000907418 00000 n
-0000907483 00000 n
-0000907612 00000 n
-0000907677 00000 n
-0000907742 00000 n
-0000907807 00000 n
-0000907872 00000 n
-0000911291 00000 n
-0000911100 00000 n
-0000908093 00000 n
-0000911226 00000 n
-0000914360 00000 n
-0000914104 00000 n
-0000911504 00000 n
-0000914230 00000 n
-0000914295 00000 n
-0001173932 00000 n
-0000917339 00000 n
-0000916565 00000 n
-0000914573 00000 n
-0000916691 00000 n
-0000916756 00000 n
-0000916821 00000 n
-0000916885 00000 n
-0000916950 00000 n
-0000917079 00000 n
-0000917144 00000 n
-0000917209 00000 n
-0000917274 00000 n
-0000920924 00000 n
-0000920279 00000 n
-0000917495 00000 n
-0000920405 00000 n
-0000920470 00000 n
-0000920535 00000 n
-0000920664 00000 n
-0000920729 00000 n
-0000920794 00000 n
-0000920859 00000 n
-0000925365 00000 n
-0000925110 00000 n
-0000921066 00000 n
-0000925236 00000 n
-0000925301 00000 n
-0000928999 00000 n
-0000928808 00000 n
-0000925493 00000 n
-0000928934 00000 n
-0000931575 00000 n
-0000931255 00000 n
-0000929127 00000 n
-0000931381 00000 n
-0000931446 00000 n
-0000931511 00000 n
-0000935065 00000 n
-0000934355 00000 n
-0000931716 00000 n
-0000934481 00000 n
-0000934546 00000 n
-0000934611 00000 n
-0000934740 00000 n
-0000934805 00000 n
-0000934870 00000 n
-0000934935 00000 n
-0000935000 00000 n
-0001174057 00000 n
-0000938208 00000 n
-0000937499 00000 n
-0000935221 00000 n
-0000937625 00000 n
-0000937690 00000 n
-0000937755 00000 n
-0000937819 00000 n
-0000937948 00000 n
-0000938013 00000 n
-0000938078 00000 n
-0000938143 00000 n
-0000941399 00000 n
-0000941143 00000 n
-0000938378 00000 n
-0000941269 00000 n
-0000941334 00000 n
-0000944156 00000 n
-0000943513 00000 n
-0000941527 00000 n
-0000943639 00000 n
-0000943704 00000 n
-0000943769 00000 n
-0000943834 00000 n
-0000943962 00000 n
-0000944027 00000 n
-0000944092 00000 n
-0000947888 00000 n
-0000947568 00000 n
-0000944312 00000 n
-0000947694 00000 n
-0000947759 00000 n
-0000947824 00000 n
-0000950945 00000 n
-0000950173 00000 n
-0000948016 00000 n
-0000950299 00000 n
-0000950364 00000 n
-0000950429 00000 n
-0000950494 00000 n
-0000950623 00000 n
-0000950688 00000 n
-0000950753 00000 n
-0000950816 00000 n
-0000950881 00000 n
-0000954177 00000 n
-0000953468 00000 n
-0000951115 00000 n
-0000953594 00000 n
-0000953659 00000 n
-0000953724 00000 n
-0000953853 00000 n
-0000953918 00000 n
-0000953983 00000 n
-0000954048 00000 n
-0000954113 00000 n
-0001174182 00000 n
-0000956636 00000 n
-0000955607 00000 n
-0000954333 00000 n
-0000955733 00000 n
-0000955798 00000 n
-0000955924 00000 n
-0000955989 00000 n
-0000956054 00000 n
-0000956119 00000 n
-0000956183 00000 n
-0000956248 00000 n
-0000956313 00000 n
-0000956442 00000 n
-0000956507 00000 n
-0000956572 00000 n
-0000959630 00000 n
-0000958793 00000 n
-0000956778 00000 n
-0000958919 00000 n
-0000958984 00000 n
-0000959049 00000 n
-0000959113 00000 n
-0000959178 00000 n
-0000959307 00000 n
-0000959372 00000 n
-0000959437 00000 n
-0000959501 00000 n
-0000959566 00000 n
-0000960984 00000 n
-0000960664 00000 n
-0000959772 00000 n
-0000960790 00000 n
-0000960855 00000 n
-0000960919 00000 n
-0000961197 00000 n
-0000972541 00000 n
-0000980130 00000 n
-0000982429 00000 n
-0000982398 00000 n
-0000986117 00000 n
-0000995557 00000 n
-0001006292 00000 n
-0001018324 00000 n
-0001031547 00000 n
-0001051045 00000 n
-0001071945 00000 n
-0001094093 00000 n
-0001112349 00000 n
-0001115195 00000 n
-0001114965 00000 n
-0001142613 00000 n
-0001169942 00000 n
-0001174289 00000 n
-0001174414 00000 n
-0001174540 00000 n
-0001174666 00000 n
-0001174792 00000 n
-0001174918 00000 n
-0001174998 00000 n
-0001175108 00000 n
-0001197010 00000 n
-0001221223 00000 n
-0001221264 00000 n
-0001221304 00000 n
-0001221438 00000 n
+0000810152 00000 n
+0000813125 00000 n
+0000812805 00000 n
+0000810331 00000 n
+0000812931 00000 n
+0000813060 00000 n
+0001179595 00000 n
+0000815715 00000 n
+0000815266 00000 n
+0000813295 00000 n
+0000815392 00000 n
+0000815521 00000 n
+0000815650 00000 n
+0000816156 00000 n
+0000815965 00000 n
+0000815815 00000 n
+0000816091 00000 n
+0000818868 00000 n
+0000818224 00000 n
+0000816198 00000 n
+0000818350 00000 n
+0000818479 00000 n
+0000818608 00000 n
+0000818673 00000 n
+0000818738 00000 n
+0000818803 00000 n
+0000823208 00000 n
+0000822888 00000 n
+0000818982 00000 n
+0000823014 00000 n
+0000823079 00000 n
+0000823144 00000 n
+0000826825 00000 n
+0000826570 00000 n
+0000823364 00000 n
+0000826696 00000 n
+0000826761 00000 n
+0000830112 00000 n
+0000829921 00000 n
+0000826967 00000 n
+0000830047 00000 n
+0001179720 00000 n
+0000833716 00000 n
+0000833525 00000 n
+0000830240 00000 n
+0000833651 00000 n
+0000836806 00000 n
+0000836291 00000 n
+0000833858 00000 n
+0000836417 00000 n
+0000836482 00000 n
+0000836547 00000 n
+0000836612 00000 n
+0000836677 00000 n
+0000836742 00000 n
+0000841005 00000 n
+0000840490 00000 n
+0000836962 00000 n
+0000840616 00000 n
+0000840745 00000 n
+0000840810 00000 n
+0000840875 00000 n
+0000840940 00000 n
+0000844694 00000 n
+0000843986 00000 n
+0000841133 00000 n
+0000844112 00000 n
+0000844177 00000 n
+0000844242 00000 n
+0000844307 00000 n
+0000844436 00000 n
+0000844500 00000 n
+0000844565 00000 n
+0000844630 00000 n
+0000847790 00000 n
+0000847404 00000 n
+0000844836 00000 n
+0000847530 00000 n
+0000847595 00000 n
+0000847660 00000 n
+0000847725 00000 n
+0000850844 00000 n
+0000850070 00000 n
+0000847932 00000 n
+0000850196 00000 n
+0000850261 00000 n
+0000850326 00000 n
+0000850391 00000 n
+0000850520 00000 n
+0000850584 00000 n
+0000850649 00000 n
+0000850714 00000 n
+0000850779 00000 n
+0001179845 00000 n
+0000854340 00000 n
+0000854149 00000 n
+0000851000 00000 n
+0000854275 00000 n
+0000857623 00000 n
+0000857173 00000 n
+0000854468 00000 n
+0000857299 00000 n
+0000857364 00000 n
+0000857429 00000 n
+0000857494 00000 n
+0000857559 00000 n
+0000861292 00000 n
+0000860712 00000 n
+0000857778 00000 n
+0000860838 00000 n
+0000861032 00000 n
+0000861097 00000 n
+0000861162 00000 n
+0000861227 00000 n
+0000864991 00000 n
+0000864800 00000 n
+0000861434 00000 n
+0000864926 00000 n
+0000868620 00000 n
+0000868364 00000 n
+0000865119 00000 n
+0000868490 00000 n
+0000868555 00000 n
+0000871601 00000 n
+0000870957 00000 n
+0000868748 00000 n
+0000871083 00000 n
+0000871148 00000 n
+0000871213 00000 n
+0000871278 00000 n
+0000871343 00000 n
+0000871472 00000 n
+0000871537 00000 n
+0001179970 00000 n
+0000874332 00000 n
+0000873558 00000 n
+0000871756 00000 n
+0000873684 00000 n
+0000873749 00000 n
+0000873814 00000 n
+0000873879 00000 n
+0000873943 00000 n
+0000874008 00000 n
+0000874202 00000 n
+0000874267 00000 n
+0000878012 00000 n
+0000877626 00000 n
+0000874488 00000 n
+0000877752 00000 n
+0000877817 00000 n
+0000877882 00000 n
+0000877947 00000 n
+0000881296 00000 n
+0000880717 00000 n
+0000878140 00000 n
+0000880843 00000 n
+0000880908 00000 n
+0000880973 00000 n
+0000881038 00000 n
+0000881167 00000 n
+0000881232 00000 n
+0000884948 00000 n
+0000884563 00000 n
+0000881438 00000 n
+0000884689 00000 n
+0000884754 00000 n
+0000884819 00000 n
+0000884884 00000 n
+0000889116 00000 n
+0000888925 00000 n
+0000885090 00000 n
+0000889051 00000 n
+0000892724 00000 n
+0000892533 00000 n
+0000889244 00000 n
+0000892659 00000 n
+0001180095 00000 n
+0000896320 00000 n
+0000896065 00000 n
+0000892852 00000 n
+0000896191 00000 n
+0000896256 00000 n
+0000899111 00000 n
+0000898402 00000 n
+0000896476 00000 n
+0000898528 00000 n
+0000898593 00000 n
+0000898658 00000 n
+0000898787 00000 n
+0000898852 00000 n
+0000898916 00000 n
+0000898981 00000 n
+0000899046 00000 n
+0000902379 00000 n
+0000901735 00000 n
+0000899267 00000 n
+0000901861 00000 n
+0000901926 00000 n
+0000901991 00000 n
+0000902120 00000 n
+0000902184 00000 n
+0000902249 00000 n
+0000902314 00000 n
+0000905122 00000 n
+0000904415 00000 n
+0000902535 00000 n
+0000904541 00000 n
+0000904606 00000 n
+0000904671 00000 n
+0000904736 00000 n
+0000904801 00000 n
+0000904927 00000 n
+0000904992 00000 n
+0000905057 00000 n
+0000908652 00000 n
+0000908331 00000 n
+0000905278 00000 n
+0000908457 00000 n
+0000908522 00000 n
+0000908587 00000 n
+0000911924 00000 n
+0000911669 00000 n
+0000908766 00000 n
+0000911795 00000 n
+0000911860 00000 n
+0001180220 00000 n
+0000915030 00000 n
+0000914320 00000 n
+0000912052 00000 n
+0000914446 00000 n
+0000914511 00000 n
+0000914576 00000 n
+0000914705 00000 n
+0000914770 00000 n
+0000914835 00000 n
+0000914900 00000 n
+0000914965 00000 n
+0000918469 00000 n
+0000918278 00000 n
+0000915186 00000 n
+0000918404 00000 n
+0000921628 00000 n
+0000921243 00000 n
+0000918682 00000 n
+0000921369 00000 n
+0000921434 00000 n
+0000921499 00000 n
+0000921564 00000 n
+0000924180 00000 n
+0000923407 00000 n
+0000921869 00000 n
+0000923533 00000 n
+0000923598 00000 n
+0000923663 00000 n
+0000923792 00000 n
+0000923856 00000 n
+0000923921 00000 n
+0000923986 00000 n
+0000924051 00000 n
+0000924116 00000 n
+0000928340 00000 n
+0000927825 00000 n
+0000924336 00000 n
+0000927951 00000 n
+0000928080 00000 n
+0000928145 00000 n
+0000928210 00000 n
+0000928275 00000 n
+0000932556 00000 n
+0000932300 00000 n
+0000928468 00000 n
+0000932426 00000 n
+0000932491 00000 n
+0001180345 00000 n
+0000935875 00000 n
+0000935684 00000 n
+0000932684 00000 n
+0000935810 00000 n
+0000938493 00000 n
+0000938043 00000 n
+0000936003 00000 n
+0000938169 00000 n
+0000938234 00000 n
+0000938299 00000 n
+0000938364 00000 n
+0000938429 00000 n
+0000942342 00000 n
+0000941762 00000 n
+0000938648 00000 n
+0000941888 00000 n
+0000942017 00000 n
+0000942082 00000 n
+0000942147 00000 n
+0000942212 00000 n
+0000942277 00000 n
+0000945507 00000 n
+0000944797 00000 n
+0000942484 00000 n
+0000944923 00000 n
+0000944988 00000 n
+0000945053 00000 n
+0000945118 00000 n
+0000945247 00000 n
+0000945312 00000 n
+0000945377 00000 n
+0000945442 00000 n
+0000948228 00000 n
+0000947972 00000 n
+0000945663 00000 n
+0000948098 00000 n
+0000948163 00000 n
+0000951484 00000 n
+0000950711 00000 n
+0000948356 00000 n
+0000950837 00000 n
+0000950902 00000 n
+0000950967 00000 n
+0000951032 00000 n
+0000951161 00000 n
+0000951226 00000 n
+0000951291 00000 n
+0000951355 00000 n
+0000951420 00000 n
+0001180470 00000 n
+0000954774 00000 n
+0000954455 00000 n
+0000951640 00000 n
+0000954581 00000 n
+0000954646 00000 n
+0000954711 00000 n
+0000958244 00000 n
+0000957601 00000 n
+0000954930 00000 n
+0000957727 00000 n
+0000957792 00000 n
+0000957921 00000 n
+0000957985 00000 n
+0000958050 00000 n
+0000958115 00000 n
+0000958179 00000 n
+0000960860 00000 n
+0000959893 00000 n
+0000958386 00000 n
+0000960019 00000 n
+0000960084 00000 n
+0000960149 00000 n
+0000960278 00000 n
+0000960343 00000 n
+0000960408 00000 n
+0000960473 00000 n
+0000960538 00000 n
+0000960603 00000 n
+0000960731 00000 n
+0000960796 00000 n
+0000963752 00000 n
+0000962917 00000 n
+0000961016 00000 n
+0000963043 00000 n
+0000963108 00000 n
+0000963173 00000 n
+0000963238 00000 n
+0000963303 00000 n
+0000963368 00000 n
+0000963496 00000 n
+0000963559 00000 n
+0000963623 00000 n
+0000963688 00000 n
+0000966496 00000 n
+0000965657 00000 n
+0000963894 00000 n
+0000965783 00000 n
+0000965848 00000 n
+0000965913 00000 n
+0000965978 00000 n
+0000966107 00000 n
+0000966172 00000 n
+0000966237 00000 n
+0000966302 00000 n
+0000966367 00000 n
+0000966432 00000 n
+0000967287 00000 n
+0000967031 00000 n
+0000966638 00000 n
+0000967157 00000 n
+0000967222 00000 n
+0001180595 00000 n
+0000967486 00000 n
+0000978830 00000 n
+0000986418 00000 n
+0000990052 00000 n
+0000999492 00000 n
+0001010227 00000 n
+0001012927 00000 n
+0001012896 00000 n
+0001024611 00000 n
+0001037834 00000 n
+0001057332 00000 n
+0001078232 00000 n
+0001100380 00000 n
+0001118636 00000 n
+0001121483 00000 n
+0001121253 00000 n
+0001148901 00000 n
+0001176230 00000 n
+0001180675 00000 n
+0001180800 00000 n
+0001180926 00000 n
+0001181052 00000 n
+0001181178 00000 n
+0001181304 00000 n
+0001181393 00000 n
+0001181503 00000 n
+0001203498 00000 n
+0001227967 00000 n
+0001228008 00000 n
+0001228048 00000 n
+0001228182 00000 n
trailer
<<
-/Size 2768
-/Root 2766 0 R
-/Info 2767 0 R
-/ID [<DE950F54C9F67BA482EFE3167C9D7C69> <DE950F54C9F67BA482EFE3167C9D7C69>]
+/Size 2793
+/Root 2791 0 R
+/Info 2792 0 R
+/ID [<423FB6B924D07DD9B54C073D2D0D835C> <423FB6B924D07DD9B54C073D2D0D835C>]
>>
startxref
-1221696
+1228440
%%EOF
diff --git a/doc/arm/Makefile.in b/doc/arm/Makefile.in
index c003e929..3ecf4af9 100644
--- a/doc/arm/Makefile.in
+++ b/doc/arm/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001, 2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/doc/arm/latex-fixup.pl b/doc/arm/latex-fixup.pl
index b133b5ad..b1384c85 100644
--- a/doc/arm/latex-fixup.pl
+++ b/doc/arm/latex-fixup.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2005, 2007, 2012 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
diff --git a/doc/arm/man.arpaname.html b/doc/arm/man.arpaname.html
index bc005058..70970522 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="id2616839"></a><h2>DESCRIPTION</h2>
+<a name="id2614848"></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="id2616854"></a><h2>SEE ALSO</h2>
+<a name="id2614862"></a><h2>SEE ALSO</h2>
<p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2652913"></a><h2>AUTHOR</h2>
+<a name="id2614876"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.ddns-confgen.html b/doc/arm/man.ddns-confgen.html
index 34115378..b5067f03 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="id2646010"></a><h2>DESCRIPTION</h2>
+<a name="id2655829"></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="id2646098"></a><h2>OPTIONS</h2>
+<a name="id2655916"></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="id2652715"></a><h2>SEE ALSO</h2>
+<a name="id2656117"></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="id2652754"></a><h2>AUTHOR</h2>
+<a name="id2656155"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.dig.html b/doc/arm/man.dig.html
index dbcd254a..0d8a75a0 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="id2610899"></a><h2>DESCRIPTION</h2>
+<a name="id2611286"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dig</strong></span>
(domain information groper) is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
@@ -98,7 +98,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2610994"></a><h2>SIMPLE USAGE</h2>
+<a name="id2611381"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -144,7 +144,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2611173"></a><h2>OPTIONS</h2>
+<a name="id2611697"></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
@@ -248,7 +248,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2663398"></a><h2>QUERY OPTIONS</h2>
+<a name="id2663580"></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
@@ -599,7 +599,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2664537"></a><h2>MULTIPLE QUERIES</h2>
+<a name="id2664720"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
@@ -645,7 +645,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="id2664691"></a><h2>IDN SUPPORT</h2>
+<a name="id2664873"></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.
@@ -659,14 +659,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="id2664720"></a><h2>FILES</h2>
+<a name="id2664902"></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="id2664741"></a><h2>SEE ALSO</h2>
+<a name="id2664923"></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>,
@@ -674,7 +674,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="id2664778"></a><h2>BUGS</h2>
+<a name="id2664961"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
diff --git a/doc/arm/man.dnssec-dsfromkey.html b/doc/arm/man.dnssec-dsfromkey.html
index 7635d504..499919fd 100644
--- a/doc/arm/man.dnssec-dsfromkey.html
+++ b/doc/arm/man.dnssec-dsfromkey.html
@@ -51,14 +51,14 @@
<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>
<div class="refsect1" lang="en">
-<a name="id2612503"></a><h2>DESCRIPTION</h2>
+<a name="id2612624"></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="id2612517"></a><h2>OPTIONS</h2>
+<a name="id2612637"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-1</span></dt>
<dd><p>
@@ -73,7 +73,8 @@
<dd><p>
Select the digest algorithm. The value of
<code class="option">algorithm</code> must be one of SHA-1 (SHA1),
- SHA-256 (SHA256) or GOST. These values are case insensitive.
+ SHA-256 (SHA256), GOST or SHA-384 (SHA384).
+ These values are case insensitive.
</p></dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt>
<dd><p>
@@ -134,7 +135,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2613639"></a><h2>EXAMPLE</h2>
+<a name="id2613486"></a><h2>EXAMPLE</h2>
<p>
To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
@@ -149,7 +150,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2613675"></a><h2>FILES</h2>
+<a name="id2613523"></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
@@ -163,13 +164,13 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2613717"></a><h2>CAVEAT</h2>
+<a name="id2613564"></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="id2613726"></a><h2>SEE ALSO</h2>
+<a name="id2613574"></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>,
@@ -179,7 +180,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2613766"></a><h2>AUTHOR</h2>
+<a name="id2613613"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.dnssec-keyfromlabel.html b/doc/arm/man.dnssec-keyfromlabel.html
index d5a0b54b..aa9eaa41 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">-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">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2614666"></a><h2>DESCRIPTION</h2>
+<a name="id2615131"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keyfromlabel</strong></span>
gets keys with the given label from a crypto hardware and builds
key files for DNSSEC (Secure DNS), as defined in RFC 2535
@@ -63,14 +63,15 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2614686"></a><h2>OPTIONS</h2>
+<a name="id2615152"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
<p>
Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
- DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
+ DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 or ECDSAP384SHA384.
These values are case insensitive.
</p>
<p>
@@ -191,7 +192,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2616721"></a><h2>TIMING OPTIONS</h2>
+<a name="id2616913"></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
@@ -238,7 +239,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2667882"></a><h2>GENERATED KEY FILES</h2>
+<a name="id2668074"></a><h2>GENERATED KEY FILES</h2>
<p>
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
successfully,
@@ -277,7 +278,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2667976"></a><h2>SEE ALSO</h2>
+<a name="id2668168"></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>,
@@ -285,7 +286,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2668009"></a><h2>AUTHOR</h2>
+<a name="id2668201"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.dnssec-keygen.html b/doc/arm/man.dnssec-keygen.html
index e75325fc..5f1ebb9b 100644
--- a/doc/arm/man.dnssec-keygen.html
+++ b/doc/arm/man.dnssec-keygen.html
@@ -47,10 +47,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<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">-e</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">-z</code>] {name}</p></div>
+<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">-z</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2615324"></a><h2>DESCRIPTION</h2>
+<a name="id2615763"></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,14 +64,15 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2615345"></a><h2>OPTIONS</h2>
+<a name="id2615783"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
<p>
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
- DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
+ DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 or ECDSAP384SHA384.
For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@@ -102,7 +103,8 @@
between 512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC keys must be
- between 1 and 512 bits.
+ between 1 and 512 bits. Elliptic curve algorithms don't need
+ this parameter.
</p>
<p>
The key size does not need to be specified if using a default
@@ -129,7 +131,8 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
- default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms
+ default. Note that RSASHA256, RSASHA512, ECCGOST,
+ ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable.
</p></dd>
<dt><span class="term">-C</span></dt>
@@ -154,10 +157,6 @@
support it defaults to pkcs11; the empty name resets it to
no engine.
</p></dd>
-<dt><span class="term">-e</span></dt>
-<dd><p>
- If generating an RSAMD5/RSASHA1 key, use a large exponent.
- </p></dd>
<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
<dd><p>
Set the specified flag in the flag field of the KEY/DNSKEY record.
@@ -275,7 +274,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2669818"></a><h2>TIMING OPTIONS</h2>
+<a name="id2669493"></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
@@ -346,7 +345,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2670076"></a><h2>GENERATED KEYS</h2>
+<a name="id2669751"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully,
@@ -392,7 +391,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2670321"></a><h2>EXAMPLE</h2>
+<a name="id2669927"></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
@@ -413,7 +412,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2670377"></a><h2>SEE ALSO</h2>
+<a name="id2670052"></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>,
@@ -422,7 +421,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2670408"></a><h2>AUTHOR</h2>
+<a name="id2670083"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.dnssec-revoke.html b/doc/arm/man.dnssec-revoke.html
index 02f3b14a..abdbb0ff 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">-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="id2615680"></a><h2>DESCRIPTION</h2>
+<a name="id2616192"></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="id2615693"></a><h2>OPTIONS</h2>
+<a name="id2616205"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-h</span></dt>
<dd><p>
@@ -96,14 +96,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2615814"></a><h2>SEE ALSO</h2>
+<a name="id2616326"></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="id2615838"></a><h2>AUTHOR</h2>
+<a name="id2616350"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.dnssec-settime.html b/doc/arm/man.dnssec-settime.html
index 7ac79e31..3ea152e7 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 <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="id2617168"></a><h2>DESCRIPTION</h2>
+<a name="id2617270"></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="id2617226"></a><h2>OPTIONS</h2>
+<a name="id2617329"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-f</span></dt>
<dd><p>
@@ -118,7 +118,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2617416"></a><h2>TIMING OPTIONS</h2>
+<a name="id2617518"></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
@@ -197,7 +197,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2617691"></a><h2>PRINTING OPTIONS</h2>
+<a name="id2617930"></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.
@@ -223,7 +223,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2618864"></a><h2>SEE ALSO</h2>
+<a name="id2618010"></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>,
@@ -231,7 +231,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2618897"></a><h2>AUTHOR</h2>
+<a name="id2618999"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.dnssec-signzone.html b/doc/arm/man.dnssec-signzone.html
index 3d9d309b..ab587218 100644
--- a/doc/arm/man.dnssec-signzone.html
+++ b/doc/arm/man.dnssec-signzone.html
@@ -23,7 +23,7 @@
<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch10.html" title="Manual pages">
<link rel="prev" href="man.dnssec-settime.html" title="dnssec-settime">
-<link rel="next" href="man.named-checkconf.html" title="named-checkconf">
+<link rel="next" href="man.dnssec-verify.html" title="dnssec-verify">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
@@ -33,7 +33,7 @@
<td width="20%" align="left">
<a accesskey="p" href="man.dnssec-settime.html">Prev</a> </td>
<th width="60%" align="center">Manual pages</th>
-<td width="20%" align="right"> <a accesskey="n" href="man.named-checkconf.html">Next</a>
+<td width="20%" align="right"> <a accesskey="n" href="man.dnssec-verify.html">Next</a>
</td>
</tr>
</table>
@@ -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">-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="id2619483"></a><h2>DESCRIPTION</h2>
+<a name="id2618903"></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="id2619502"></a><h2>OPTIONS</h2>
+<a name="id2619468"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
@@ -464,7 +464,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2672747"></a><h2>EXAMPLE</h2>
+<a name="id2674010"></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>
@@ -494,14 +494,14 @@ db.example.com.signed
%</pre>
</div>
<div class="refsect1" lang="en">
-<a name="id2672826"></a><h2>SEE ALSO</h2>
+<a name="id2674089"></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>.
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2672851"></a><h2>AUTHOR</h2>
+<a name="id2674114"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -513,14 +513,14 @@ db.example.com.signed
<td width="40%" align="left">
<a accesskey="p" href="man.dnssec-settime.html">Prev</a> </td>
<td width="20%" align="center"><a accesskey="u" href="Bv9ARM.ch10.html">Up</a></td>
-<td width="40%" align="right"> <a accesskey="n" href="man.named-checkconf.html">Next</a>
+<td width="40%" align="right"> <a accesskey="n" href="man.dnssec-verify.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">
<span class="application">dnssec-settime</span> </td>
<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
-<td width="40%" align="right" valign="top"> <span class="application">named-checkconf</span>
+<td width="40%" align="right" valign="top"> <span class="application">dnssec-verify</span>
</td>
</tr>
</table>
diff --git a/doc/arm/man.dnssec-verify.html b/doc/arm/man.dnssec-verify.html
new file mode 100644
index 00000000..df1d35f6
--- /dev/null
+++ b/doc/arm/man.dnssec-verify.html
@@ -0,0 +1,156 @@
+<!--
+ - Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and/or distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<!-- $Id$ -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>dnssec-verify</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
+<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
+<link rel="up" href="Bv9ARM.ch10.html" title="Manual pages">
+<link rel="prev" href="man.dnssec-signzone.html" title="dnssec-signzone">
+<link rel="next" href="man.named-checkconf.html" title="named-checkconf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="navheader">
+<table width="100%" summary="Navigation header">
+<tr><th colspan="3" align="center"><span class="application">dnssec-verify</span></th></tr>
+<tr>
+<td width="20%" align="left">
+<a accesskey="p" href="man.dnssec-signzone.html">Prev</a> </td>
+<th width="60%" align="center">Manual pages</th>
+<td width="20%" align="right"> <a accesskey="n" href="man.named-checkconf.html">Next</a>
+</td>
+</tr>
+</table>
+<hr>
+</div>
+<div class="refentry" lang="en">
+<a name="man.dnssec-verify"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2>Name</h2>
+<p><span class="application">dnssec-verify</span> &#8212; DNSSEC zone verification tool</p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<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">-x</code>] [<code class="option">-z</code>] {zonefile}</p></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2619729"></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
+ chains are complete.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2619742"></a><h2>OPTIONS</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
+<dd><p>
+ Specifies the DNS class of the zone.
+ </p></dd>
+<dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
+<dd><p>
+ The format of the input zone file.
+ Possible formats are <span><strong class="command">"text"</strong></span> (default)
+ and <span><strong class="command">"raw"</strong></span>.
+ This option is primarily intended to be used for dynamic
+ signed zones so that the dumped zone file in a non-text
+ format containing updates can be verified independently.
+ The use of this option does not make much sense for
+ non-dynamic zones.
+ </p></dd>
+<dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
+<dd><p>
+ The zone origin. If not specified, the name of the zone file
+ is assumed to be the origin.
+ </p></dd>
+<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
+<dd><p>
+ Sets the debugging level.
+ </p></dd>
+<dt><span class="term">-x</span></dt>
+<dd><p>
+ Only verify that the DNSKEY RRset is signed with key-signing
+ keys. Without this flag, it is assumed that the DNSKEY RRset
+ will be signed by all active keys. When this flag is set,
+ it will not be an error if the DNSKEY RRset is not signed
+ by zone-signing keys. This corresponds to the <code class="option">-x</code>
+ option in <span><strong class="command">dnssec-signzone</strong></span>.
+ </p></dd>
+<dt><span class="term">-z</span></dt>
+<dd>
+<p>
+ Ignore the KSK flag on the keys when determining whether
+ the zone if correctly signed. Without this flag it is
+ assumed that there will be a non-revoked, self-signed
+ DNSKEY with the KSK flag set for each algorithm and
+ that RRsets other than DNSKEY RRset will be signed with
+ a different DNSKEY without the KSK flag set.
+ </p>
+<p>
+ With this flag set, we only require that for each algorithm,
+ there will be at least one non-revoked, self-signed DNSKEY,
+ regardless of the KSK flag state, and that other RRsets
+ will be signed by a non-revoked key for the same algorithm
+ that includes the self-signed key; the same key may be used
+ for both purposes. This corresponds to the <code class="option">-z</code>
+ option in <span><strong class="command">dnssec-signzone</strong></span>.
+ </p>
+</dd>
+<dt><span class="term">zonefile</span></dt>
+<dd><p>
+ The file containing the zone to be signed.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2619892"></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 4033</em>.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2619917"></a><h2>AUTHOR</h2>
+<p><span class="corpauthor">Internet Systems Consortium</span>
+ </p>
+</div>
+</div>
+<div class="navfooter">
+<hr>
+<table width="100%" summary="Navigation footer">
+<tr>
+<td width="40%" align="left">
+<a accesskey="p" href="man.dnssec-signzone.html">Prev</a> </td>
+<td width="20%" align="center"><a accesskey="u" href="Bv9ARM.ch10.html">Up</a></td>
+<td width="40%" align="right"> <a accesskey="n" href="man.named-checkconf.html">Next</a>
+</td>
+</tr>
+<tr>
+<td width="40%" align="left" valign="top">
+<span class="application">dnssec-signzone</span> </td>
+<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
+<td width="40%" align="right" valign="top"> <span class="application">named-checkconf</span>
+</td>
+</tr>
+</table>
+</div>
+</body>
+</html>
diff --git a/doc/arm/man.genrandom.html b/doc/arm/man.genrandom.html
index f0c6ba6b..e4181ee9 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="id2655193"></a><h2>DESCRIPTION</h2>
+<a name="id2656888"></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="id2655208"></a><h2>ARGUMENTS</h2>
+<a name="id2656903"></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="id2655269"></a><h2>SEE ALSO</h2>
+<a name="id2656964"></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="id2655296"></a><h2>AUTHOR</h2>
+<a name="id2656990"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.host.html b/doc/arm/man.host.html
index daf74370..83a23f4d 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>] {name} [server]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2611576"></a><h2>DESCRIPTION</h2>
+<a name="id2611895"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
@@ -202,7 +202,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2612090"></a><h2>IDN SUPPORT</h2>
+<a name="id2612341"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -216,12 +216,12 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2612119"></a><h2>FILES</h2>
+<a name="id2612370"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2612133"></a><h2>SEE ALSO</h2>
+<a name="id2612384"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
diff --git a/doc/arm/man.isc-hmac-fixup.html b/doc/arm/man.isc-hmac-fixup.html
index 78bcd4ee..badc42bf 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="id2617796"></a><h2>DESCRIPTION</h2>
+<a name="id2616077"></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="id2655438"></a><h2>SECURITY CONSIDERATIONS</h2>
+<a name="id2616105"></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="id2655454"></a><h2>SEE ALSO</h2>
+<a name="id2657149"></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="id2655472"></a><h2>AUTHOR</h2>
+<a name="id2657166"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.named-checkconf.html b/doc/arm/man.named-checkconf.html
index 46007ad6..1a49a99a 100644
--- a/doc/arm/man.named-checkconf.html
+++ b/doc/arm/man.named-checkconf.html
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch10.html" title="Manual pages">
-<link rel="prev" href="man.dnssec-signzone.html" title="dnssec-signzone">
+<link rel="prev" href="man.dnssec-verify.html" title="dnssec-verify">
<link rel="next" href="man.named-checkzone.html" title="named-checkzone">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -31,7 +31,7 @@
<tr><th colspan="3" align="center"><span class="application">named-checkconf</span></th></tr>
<tr>
<td width="20%" align="left">
-<a accesskey="p" href="man.dnssec-signzone.html">Prev</a> </td>
+<a accesskey="p" href="man.dnssec-verify.html">Prev</a> </td>
<th width="60%" align="center">Manual pages</th>
<td width="20%" align="right"> <a accesskey="n" href="man.named-checkzone.html">Next</a>
</td>
@@ -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">-z</code>]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2619756"></a><h2>DESCRIPTION</h2>
+<a name="id2620086"></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="id2619827"></a><h2>OPTIONS</h2>
+<a name="id2620156"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-h</span></dt>
<dd><p>
@@ -109,21 +109,21 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2619961"></a><h2>RETURN VALUES</h2>
+<a name="id2620427"></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="id2619975"></a><h2>SEE ALSO</h2>
+<a name="id2620441"></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="id2620005"></a><h2>AUTHOR</h2>
+<a name="id2620471"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -133,14 +133,14 @@
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
-<a accesskey="p" href="man.dnssec-signzone.html">Prev</a> </td>
+<a accesskey="p" href="man.dnssec-verify.html">Prev</a> </td>
<td width="20%" align="center"><a accesskey="u" href="Bv9ARM.ch10.html">Up</a></td>
<td width="40%" align="right"> <a accesskey="n" href="man.named-checkzone.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">
-<span class="application">dnssec-signzone</span> </td>
+<span class="application">dnssec-verify</span> </td>
<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
<td width="40%" align="right" valign="top"> <span class="application">named-checkzone</span>
</td>
diff --git a/doc/arm/man.named-checkzone.html b/doc/arm/man.named-checkzone.html
index 236ec4fc..36a1bda5 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">-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="id2639355"></a><h2>DESCRIPTION</h2>
+<a name="id2634155"></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="id2639405"></a><h2>OPTIONS</h2>
+<a name="id2676121"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-d</span></dt>
<dd><p>
@@ -281,14 +281,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2676400"></a><h2>RETURN VALUES</h2>
+<a name="id2677002"></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="id2676413"></a><h2>SEE ALSO</h2>
+<a name="id2677016"></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>,
@@ -296,7 +296,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2676446"></a><h2>AUTHOR</h2>
+<a name="id2677049"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.named-journalprint.html b/doc/arm/man.named-journalprint.html
index 39094509..7f66babd 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="id2614314"></a><h2>DESCRIPTION</h2>
+<a name="id2613893"></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="id2640711"></a><h2>SEE ALSO</h2>
+<a name="id2640836"></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="id2640742"></a><h2>AUTHOR</h2>
+<a name="id2640867"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.named.html b/doc/arm/man.named.html
index 25cc9349..fe07ecc5 100644
--- a/doc/arm/man.named.html
+++ b/doc/arm/man.named.html
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-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>
<div class="refsect1" lang="en">
-<a name="id2640100"></a><h2>DESCRIPTION</h2>
+<a name="id2639405"></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="id2640131"></a><h2>OPTIONS</h2>
+<a name="id2639436"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -255,7 +255,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2676692"></a><h2>SIGNALS</h2>
+<a name="id2642478"></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
@@ -276,7 +276,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2676742"></a><h2>CONFIGURATION</h2>
+<a name="id2642529"></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
@@ -293,7 +293,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2676791"></a><h2>FILES</h2>
+<a name="id2642578"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
<dd><p>
@@ -306,7 +306,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2676835"></a><h2>SEE ALSO</h2>
+<a name="id2677233"></a><h2>SEE ALSO</h2>
<p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
@@ -319,7 +319,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2676905"></a><h2>AUTHOR</h2>
+<a name="id2677303"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.nsec3hash.html b/doc/arm/man.nsec3hash.html
index bab42fc2..e6e70671 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="id2655520"></a><h2>DESCRIPTION</h2>
+<a name="id2657214"></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="id2655534"></a><h2>ARGUMENTS</h2>
+<a name="id2657229"></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="id2655596"></a><h2>SEE ALSO</h2>
+<a name="id2657360"></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="id2655613"></a><h2>AUTHOR</h2>
+<a name="id2657377"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.nsupdate.html b/doc/arm/man.nsupdate.html
index 982d8c24..4b761506 100644
--- a/doc/arm/man.nsupdate.html
+++ b/doc/arm/man.nsupdate.html
@@ -50,7 +50,7 @@
<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>] [filename]</p></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2641069"></a><h2>DESCRIPTION</h2>
+<a name="id2641945"></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.
@@ -210,7 +210,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2641472"></a><h2>INPUT FORMAT</h2>
+<a name="id2677368"></a><h2>INPUT FORMAT</h2>
<p><span><strong class="command">nsupdate</strong></span>
reads input from
<em class="parameter"><code>filename</code></em>
@@ -498,7 +498,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2679196"></a><h2>EXAMPLES</h2>
+<a name="id2678434"></a><h2>EXAMPLES</h2>
<p>
The examples below show how
<span><strong class="command">nsupdate</strong></span>
@@ -552,7 +552,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2679246"></a><h2>FILES</h2>
+<a name="id2678484"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
<dd><p>
@@ -575,7 +575,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
-<a name="id2679398"></a><h2>SEE ALSO</h2>
+<a name="id2678567"></a><h2>SEE ALSO</h2>
<p>
<em class="citetitle">RFC 2136</em>,
<em class="citetitle">RFC 3007</em>,
@@ -590,7 +590,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2679456"></a><h2>BUGS</h2>
+<a name="id2678625"></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/doc/arm/man.rndc-confgen.html b/doc/arm/man.rndc-confgen.html
index 5cb4b706..9c5d6496 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="id2643435"></a><h2>DESCRIPTION</h2>
+<a name="id2650387"></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="id2643501"></a><h2>OPTIONS</h2>
+<a name="id2650453"></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="id2644092"></a><h2>EXAMPLES</h2>
+<a name="id2655276"></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="id2644149"></a><h2>SEE ALSO</h2>
+<a name="id2656766"></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="id2653198"></a><h2>AUTHOR</h2>
+<a name="id2656805"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.rndc.conf.html b/doc/arm/man.rndc.conf.html
index 3646e28a..673fec0a 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="id2642402"></a><h2>DESCRIPTION</h2>
+<a name="id2614196"></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="id2642573"></a><h2>EXAMPLE</h2>
+<a name="id2649934"></a><h2>EXAMPLE</h2>
<pre class="programlisting">
options {
default-server localhost;
@@ -209,7 +209,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2643241"></a><h2>NAME SERVER CONFIGURATION</h2>
+<a name="id2650056"></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="id2643267"></a><h2>SEE ALSO</h2>
+<a name="id2650082"></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="id2643305"></a><h2>AUTHOR</h2>
+<a name="id2650188"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/arm/man.rndc.html b/doc/arm/man.rndc.html
index e89de637..604bc595 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="id2641620"></a><h2>DESCRIPTION</h2>
+<a name="id2644134"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">rndc</strong></span>
controls the operation of a name
server. It supersedes the <span><strong class="command">ndc</strong></span> utility
@@ -79,7 +79,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2641670"></a><h2>OPTIONS</h2>
+<a name="id2644184"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-b <em class="replaceable"><code>source-address</code></em></span></dt>
<dd><p>
@@ -151,7 +151,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2642236"></a><h2>LIMITATIONS</h2>
+<a name="id2645228"></a><h2>LIMITATIONS</h2>
<p><span><strong class="command">rndc</strong></span>
does not yet support all the commands of
the BIND 8 <span><strong class="command">ndc</strong></span> utility.
@@ -165,7 +165,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2642267"></a><h2>SEE ALSO</h2>
+<a name="id2645259"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@@ -175,7 +175,7 @@
</p>
</div>
<div class="refsect1" lang="en">
-<a name="id2642323"></a><h2>AUTHOR</h2>
+<a name="id2645315"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
diff --git a/doc/doxygen/Makefile.in b/doc/doxygen/Makefile.in
index d7d4620e..ec623986 100644
--- a/doc/doxygen/Makefile.in
+++ b/doc/doxygen/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2006, 2007, 2012 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
diff --git a/doc/doxygen/doxygen-input-filter.in b/doc/doxygen/doxygen-input-filter.in
index 015559a2..527f7002 100644
--- a/doc/doxygen/doxygen-input-filter.in
+++ b/doc/doxygen/doxygen-input-filter.in
@@ -1,6 +1,6 @@
#!@PERL@ -w
#
-# Copyright (C) 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2006, 2007, 2012 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
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index ebd16aa8..0ddd14d4 100644
--- a/doc/misc/Makefile.in
+++ b/doc/misc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/doc/misc/format-options.pl b/doc/misc/format-options.pl
index b0b8d523..c405ee2b 100644
--- a/doc/misc/format-options.pl
+++ b/doc/misc/format-options.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/doc/misc/options b/doc/misc/options
index 018658d3..8a238766 100644
--- a/doc/misc/options
+++ b/doc/misc/options
@@ -163,6 +163,7 @@ options {
max-ncache-ttl <integer>;
max-refresh-time <integer>;
max-retry-time <integer>;
+ max-rsa-exponent-size <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-transfer-time-in <integer>;
@@ -201,10 +202,11 @@ options {
request-nsid <boolean>;
reserved-sockets <integer>;
resolver-query-timeout <integer>;
- response-policy {
- zone <string> [ policy ( given | disabled | passthru |
- no-op | nxdomain | nodata | cname <domain> ) ];
- };
+ response-policy { zone <quoted_string> [ policy ( given | disabled
+ | passthru | no-op | nxdomain | nodata | cname <quoted_string>
+ ) ] [ recursive-only <boolean> ] [ max-policy-ttl <integer> ];
+ ... } [ recursive-only <boolean> ] [ break-dnssec <boolean> ] [
+ max-policy-ttl <integer> ];
rfc2308-type1 <boolean>; // not yet implemented
root-delegation-only [ exclude { <quoted_string>; ... } ];
rrset-order { [ class <string> ] [ type <string> ] [ name
@@ -411,10 +413,11 @@ view <string> <optional_class> {
request-ixfr <boolean>;
request-nsid <boolean>;
resolver-query-timeout <integer>;
- response-policy {
- zone <string> [ policy ( given | disabled | passthru |
- no-op | nxdomain | nodata | cname <domain> ) ];
- };
+ response-policy { zone <quoted_string> [ policy ( given | disabled
+ | passthru | no-op | nxdomain | nodata | cname <quoted_string>
+ ) ] [ recursive-only <boolean> ] [ max-policy-ttl <integer> ];
+ ... } [ recursive-only <boolean> ] [ break-dnssec <boolean> ] [
+ max-policy-ttl <integer> ];
rfc2308-type1 <boolean>; // not yet implemented
root-delegation-only [ exclude { <quoted_string>; ... } ];
rrset-order { [ class <string> ] [ type <string> ] [ name
diff --git a/doc/misc/sort-options.pl b/doc/misc/sort-options.pl
index 42515215..00305259 100644
--- a/doc/misc/sort-options.pl
+++ b/doc/misc/sort-options.pl
@@ -1,6 +1,6 @@
#!/bin/perl
#
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/doc/xsl/Makefile.in b/doc/xsl/Makefile.in
index 30c1c61a..cba3068e 100644
--- a/doc/xsl/Makefile.in
+++ b/doc/xsl/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2005, 2007, 2012 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
diff --git a/isc-config.sh.in b/isc-config.sh.in
index 0eafca7b..26b7d64d 100644
--- a/isc-config.sh.in
+++ b/isc-config.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 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
diff --git a/lib/Makefile.in b/lib/Makefile.in
index e46aef26..e3f0bdb8 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 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
diff --git a/lib/bind9/Makefile.in b/lib/bind9/Makefile.in
index 35c40223..73285e1e 100644
--- a/lib/bind9/Makefile.in
+++ b/lib/bind9/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/bind9/api b/lib/bind9/api
index 6ed2ee97..787f54fc 100644
--- a/lib/bind9/api
+++ b/lib/bind9/api
@@ -4,5 +4,5 @@
# 9.8: 80-89
# 9.9: 90-109
LIBINTERFACE = 90
-LIBREVISION = 3
+LIBREVISION = 5
LIBAGE = 0
diff --git a/lib/bind9/check.c b/lib/bind9/check.c
index 08d393ec..9cbcf24f 100644
--- a/lib/bind9/check.c
+++ b/lib/bind9/check.c
@@ -287,10 +287,6 @@ disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) {
tresult = dns_secalg_fromtext(&alg, &r);
if (tresult != ISC_R_SUCCESS) {
- isc_uint8_t ui;
- result = isc_parse_uint8(&ui, r.base, 10);
- }
- if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(cfg_listelt_value(element), logctx,
ISC_LOG_ERROR, "invalid algorithm '%s'",
r.base);
@@ -737,6 +733,20 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
}
obj = NULL;
+ cfg_map_get(options, "max-rsa-exponent-size", &obj);
+ if (obj != NULL) {
+ isc_uint32_t val;
+
+ val = cfg_obj_asuint32(obj);
+ if (val != 0 && (val < 35 || val > 4096)) {
+ cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
+ "max-rsa-exponent-size '%u' is out of "
+ "range (35..4096)", val);
+ result = ISC_R_RANGE;
+ }
+ }
+
+ obj = NULL;
cfg_map_get(options, "sig-validity-interval", &obj);
if (obj != NULL) {
isc_uint32_t validity, resign = 0;
@@ -1261,6 +1271,29 @@ typedef struct {
} optionstable;
static isc_result_t
+check_nonzero(const cfg_obj_t *options, isc_log_t *logctx) {
+ isc_result_t result = ISC_R_SUCCESS;
+ const cfg_obj_t *obj = NULL;
+ unsigned int i;
+
+ static const char *nonzero[] = { "max-retry-time", "min-retry-time",
+ "max-refresh-time", "min-refresh-time" };
+ /*
+ * Check if value is zero.
+ */
+ for (i = 0; i < sizeof(nonzero) / sizeof(nonzero[0]); i++) {
+ obj = NULL;
+ if (cfg_map_get(options, nonzero[i], &obj) == ISC_R_SUCCESS &&
+ cfg_obj_asuint32(obj) == 0) {
+ cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
+ "'%s' must not be zero", nonzero[i]);
+ result = ISC_R_FAILURE;
+ }
+ }
+ return (result);
+}
+
+static isc_result_t
check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
const cfg_obj_t *config, isc_symtab_t *symtab,
dns_rdataclass_t defclass, cfg_aclconfctx_t *actx,
@@ -1269,7 +1302,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
const char *znamestr;
const char *typestr;
unsigned int ztype;
- const cfg_obj_t *zoptions;
+ const cfg_obj_t *zoptions, *goptions = NULL;
const cfg_obj_t *obj = NULL;
isc_result_t result = ISC_R_SUCCESS;
isc_result_t tresult;
@@ -1290,8 +1323,10 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
{ "also-notify", MASTERZONE | SLAVEZONE },
{ "dialup", MASTERZONE | SLAVEZONE | STUBZONE | STREDIRECTZONE },
{ "delegation-only", HINTZONE | STUBZONE | DELEGATIONZONE },
- { "forward", MASTERZONE | SLAVEZONE | STUBZONE | FORWARDZONE },
- { "forwarders", MASTERZONE | SLAVEZONE | STUBZONE | FORWARDZONE },
+ { "forward", MASTERZONE | SLAVEZONE | STUBZONE |
+ STATICSTUBZONE | FORWARDZONE },
+ { "forwarders", MASTERZONE | SLAVEZONE | STUBZONE |
+ STATICSTUBZONE | FORWARDZONE },
{ "maintain-ixfr-base", MASTERZONE | SLAVEZONE | STREDIRECTZONE },
{ "max-ixfr-log-size", MASTERZONE | SLAVEZONE | STREDIRECTZONE },
{ "notify-source", MASTERZONE | SLAVEZONE },
@@ -1350,10 +1385,14 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
{ "passive", SLAVEZONE | STUBZONE | STREDIRECTZONE },
};
+
znamestr = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
zoptions = cfg_tuple_get(zconfig, "options");
+ if (config != NULL)
+ cfg_map_get(config, "options", &goptions);
+
obj = NULL;
(void)cfg_map_get(zoptions, "type", &obj);
if (obj == NULL) {
@@ -1443,6 +1482,12 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
}
/*
+ * Check if value is zero.
+ */
+ if (check_nonzero(zoptions, logctx) != ISC_R_SUCCESS)
+ result = ISC_R_FAILURE;
+
+ /*
* Look for inappropriate options for the given zone type.
* Check that ACLs expand correctly.
*/
@@ -2190,6 +2235,14 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
}
/*
+ * Check non-zero options at the global and view levels.
+ */
+ if (options != NULL && check_nonzero(options, logctx) != ISC_R_SUCCESS)
+ result = ISC_R_FAILURE;
+ if (voptions != NULL &&check_nonzero(voptions, logctx) != ISC_R_SUCCESS)
+ result = ISC_R_FAILURE;
+
+ /*
* Check that dual-stack-servers is reasonable.
*/
if (voptions == NULL) {
@@ -2216,15 +2269,15 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
tresult = isc_symtab_create(mctx, 1000, freekey, mctx,
ISC_FALSE, &symtab);
if (tresult != ISC_R_SUCCESS)
- return (ISC_R_NOMEMORY);
+ goto cleanup;
(void)cfg_map_get(config, "key", &keys);
tresult = check_keylist(keys, symtab, mctx, logctx);
if (tresult == ISC_R_EXISTS)
result = ISC_R_FAILURE;
else if (tresult != ISC_R_SUCCESS) {
- isc_symtab_destroy(&symtab);
- return (tresult);
+ result = tresult;
+ goto cleanup;
}
if (voptions != NULL) {
@@ -2234,8 +2287,8 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
if (tresult == ISC_R_EXISTS)
result = ISC_R_FAILURE;
else if (tresult != ISC_R_SUCCESS) {
- isc_symtab_destroy(&symtab);
- return (tresult);
+ result = tresult;
+ goto cleanup;
}
}
@@ -2356,7 +2409,11 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
if (tresult != ISC_R_SUCCESS)
result = tresult;
- cfg_aclconfctx_detach(&actx);
+ cleanup:
+ if (symtab != NULL)
+ isc_symtab_destroy(&symtab);
+ if (actx != NULL)
+ cfg_aclconfctx_detach(&actx);
return (result);
}
diff --git a/lib/bind9/include/Makefile.in b/lib/bind9/include/Makefile.in
index 65eecb05..0a7436c0 100644
--- a/lib/bind9/include/Makefile.in
+++ b/lib/bind9/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/bind9/include/bind9/Makefile.in b/lib/bind9/include/bind9/Makefile.in
index 8abfaf65..11ae5862 100644
--- a/lib/bind9/include/bind9/Makefile.in
+++ b/lib/bind9/include/bind9/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/dns/Makefile.in b/lib/dns/Makefile.in
index b68a1b0b..a0063388 100644
--- a/lib/dns/Makefile.in
+++ b/lib/dns/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -47,7 +47,8 @@ LIBS = @LIBS@
# Alphabetically
OPENSSLLINKOBJS = openssl_link.@O@ openssldh_link.@O@ openssldsa_link.@O@ \
- opensslgost_link.@O@ opensslrsa_link.@O@
+ opensslecdsa_link.@O@ opensslgost_link.@O@ \
+ opensslrsa_link.@O@
DSTOBJS = @DST_EXTRA_OBJS@ @OPENSSLLINKOBJS@ \
dst_api.@O@ dst_lib.@O@ dst_parse.@O@ dst_result.@O@ \
@@ -76,7 +77,7 @@ OBJS= ${DNSOBJS} ${OTHEROBJS} ${DSTOBJS}
# Alphabetically
OPENSSLLINKSRCS = openssl_link.c openssldh_link.c openssldsa_link.c \
- opensslgost_link.c opensslrsa_link.c
+ opensslecdsa_link.c opensslgost_link.c opensslrsa_link.c
DSTSRCS = @DST_EXTRA_SRCS@ @OPENSSLLINKSRCS@ \
dst_api.c dst_lib.c dst_parse.c \
diff --git a/lib/dns/adb.c b/lib/dns/adb.c
index 8d17d829..5db442cf 100644
--- a/lib/dns/adb.c
+++ b/lib/dns/adb.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -111,6 +111,7 @@ struct dns_adb {
isc_taskmgr_t *taskmgr;
isc_task_t *task;
+ isc_task_t *excl;
isc_interval_t tick_interval;
int next_cleanbucket;
@@ -1627,10 +1628,12 @@ new_adbname(dns_adb_t *adb, dns_name_t *dnsname) {
LOCK(&adb->namescntlock);
adb->namescnt++;
- if (!adb->grownames_sent && adb->namescnt > (adb->nnames * 8)) {
+ if (!adb->grownames_sent && adb->excl != NULL &&
+ adb->namescnt > (adb->nnames * 8))
+ {
isc_event_t *event = &adb->grownames;
inc_adb_irefcnt(adb);
- isc_task_send(adb->task, &event);
+ isc_task_send(adb->excl, &event);
adb->grownames_sent = ISC_TRUE;
}
UNLOCK(&adb->namescntlock);
@@ -1751,8 +1754,9 @@ new_adbentry(dns_adb_t *adb) {
ISC_LINK_INIT(e, plink);
LOCK(&adb->entriescntlock);
adb->entriescnt++;
- if (!adb->growentries_sent &&
- adb->entriescnt > (adb->nentries * 8)) {
+ if (!adb->growentries_sent && adb->growentries_sent &&
+ adb->entriescnt > (adb->nentries * 8))
+ {
isc_event_t *event = &adb->growentries;
inc_adb_irefcnt(adb);
isc_task_send(adb->task, &event);
@@ -2327,6 +2331,7 @@ destroy(dns_adb_t *adb) {
adb->magic = 0;
isc_task_detach(&adb->task);
+ isc_task_detach(&adb->excl);
isc_mempool_destroy(&adb->nmp);
isc_mempool_destroy(&adb->nhmp);
@@ -2410,6 +2415,7 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr,
adb->aimp = NULL;
adb->afmp = NULL;
adb->task = NULL;
+ adb->excl = NULL;
adb->mctx = NULL;
adb->view = view;
adb->taskmgr = taskmgr;
@@ -2445,6 +2451,16 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr,
adb, NULL, NULL);
adb->grownames_sent = ISC_FALSE;
+ result = isc_taskmgr_excltask(adb->taskmgr, &adb->excl);
+ if (result != ISC_R_SUCCESS) {
+ DP(ISC_LOG_INFO, "adb: task-exclusive mode unavailable, "
+ "intializing table sizes to %u\n",
+ nbuckets[11]);
+ adb->nentries = nbuckets[11];
+ adb->nnames= nbuckets[11];
+
+ }
+
isc_mem_attach(mem, &adb->mctx);
result = isc_mutex_init(&adb->lock);
@@ -2557,6 +2573,7 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr,
result = isc_task_create(adb->taskmgr, 0, &adb->task);
if (result != ISC_R_SUCCESS)
goto fail3;
+
isc_task_setname(adb->task, "ADB", adb);
/*
@@ -3904,8 +3921,10 @@ dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
addr->entry->srtt = new_srtt;
addr->srtt = new_srtt;
- isc_stdtime_get(&now);
- addr->entry->expires = now + ADB_ENTRY_WINDOW;
+ if (addr->entry->expires == 0) {
+ isc_stdtime_get(&now);
+ addr->entry->expires = now + ADB_ENTRY_WINDOW;
+ }
UNLOCK(&adb->entrylocks[bucket]);
}
@@ -3915,6 +3934,7 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
unsigned int bits, unsigned int mask)
{
int bucket;
+ isc_stdtime_t now;
REQUIRE(DNS_ADB_VALID(adb));
REQUIRE(DNS_ADBADDRINFO_VALID(addr));
@@ -3923,6 +3943,11 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
LOCK(&adb->entrylocks[bucket]);
addr->entry->flags = (addr->entry->flags & ~mask) | (bits & mask);
+ if (addr->entry->expires == 0) {
+ isc_stdtime_get(&now);
+ addr->entry->expires = now + ADB_ENTRY_WINDOW;
+ }
+
/*
* Note that we do not update the other bits in addr->flags with
* the most recent values from addr->entry->flags.
@@ -4001,15 +4026,16 @@ dns_adb_freeaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **addrp) {
entry = addr->entry;
REQUIRE(DNS_ADBENTRY_VALID(entry));
- isc_stdtime_get(&now);
-
*addrp = NULL;
overmem = isc_mem_isovermem(adb->mctx);
bucket = addr->entry->lock_bucket;
LOCK(&adb->entrylocks[bucket]);
- entry->expires = now + ADB_ENTRY_WINDOW;
+ if (entry->expires == 0) {
+ isc_stdtime_get(&now);
+ entry->expires = now + ADB_ENTRY_WINDOW;
+ }
want_check_exit = dec_entry_refcnt(adb, overmem, entry, ISC_FALSE);
diff --git a/lib/dns/api b/lib/dns/api
index 9d37a0b8..5eded2c1 100644
--- a/lib/dns/api
+++ b/lib/dns/api
@@ -3,6 +3,6 @@
# 9.7: 60-79
# 9.8: 80-89
# 9.9: 90-109
-LIBINTERFACE = 94
+LIBINTERFACE = 96
LIBREVISION = 1
LIBAGE = 1
diff --git a/lib/dns/db.c b/lib/dns/db.c
index e7e4bf15..77547268 100644
--- a/lib/dns/db.c
+++ b/lib/dns/db.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012 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,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: db.c,v 1.99 2011/10/13 01:32:33 vjs Exp $ */
+/* $Id: db.c,v 1.99.4.1 2011/10/23 20:12:07 vjs Exp $ */
/*! \file */
@@ -1014,14 +1014,13 @@ dns_db_rpz_enabled(dns_db_t *db, dns_rpz_st_t *st)
(db->methods->rpz_enabled)(db, st);
}
-isc_result_t
+void
dns_db_rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version,
dns_rdataset_t *ardataset, dns_rpz_st_t *st,
dns_name_t *query_qname)
{
- if (db->methods->rpz_findips == NULL)
- return (ISC_R_NOTIMPLEMENTED);
- return ((db->methods->rpz_findips)(rpz, rpz_type, zone, db, version,
- ardataset, st, query_qname));
+ if (db->methods->rpz_findips != NULL)
+ (db->methods->rpz_findips)(rpz, rpz_type, zone, db, version,
+ ardataset, st, query_qname);
}
diff --git a/lib/dns/dnssec.c b/lib/dns/dnssec.c
index ed945254..2995fdde 100644
--- a/lib/dns/dnssec.c
+++ b/lib/dns/dnssec.c
@@ -44,10 +44,13 @@
#include <dns/rdataset.h>
#include <dns/rdatastruct.h>
#include <dns/result.h>
+#include <dns/stats.h>
#include <dns/tsig.h> /* for DNS_TSIG_FUDGE */
#include <dst/result.h>
+LIBDNS_EXTERNAL_DATA isc_stats_t *dns_dnssec_stats;
+
#define is_response(msg) (msg->flags & DNS_MESSAGEFLAG_QR)
#define RETERR(x) do { \
@@ -77,6 +80,12 @@ digest_callback(void *arg, isc_region_t *data) {
return (dst_context_adddata(ctx, data));
}
+static inline void
+inc_stat(isc_statscounter_t counter) {
+ if (dns_dnssec_stats != NULL)
+ isc_stats_increment(dns_dnssec_stats, counter);
+}
+
/*
* Make qsort happy.
*/
@@ -153,7 +162,9 @@ dns_dnssec_keyfromrdata(dns_name_t *name, dns_rdata_t *rdata, isc_mem_t *mctx,
}
static isc_result_t
-digest_sig(dst_context_t *ctx, dns_rdata_t *sigrdata, dns_rdata_rrsig_t *sig) {
+digest_sig(dst_context_t *ctx, isc_boolean_t downcase, dns_rdata_t *sigrdata,
+ dns_rdata_rrsig_t *rrsig)
+{
isc_region_t r;
isc_result_t ret;
dns_fixedname_t fname;
@@ -165,11 +176,16 @@ digest_sig(dst_context_t *ctx, dns_rdata_t *sigrdata, dns_rdata_rrsig_t *sig) {
ret = dst_context_adddata(ctx, &r);
if (ret != ISC_R_SUCCESS)
return (ret);
- dns_fixedname_init(&fname);
- RUNTIME_CHECK(dns_name_downcase(&sig->signer,
- dns_fixedname_name(&fname), NULL)
- == ISC_R_SUCCESS);
- dns_name_toregion(dns_fixedname_name(&fname), &r);
+ if (downcase) {
+ dns_fixedname_init(&fname);
+
+ RUNTIME_CHECK(dns_name_downcase(&rrsig->signer,
+ dns_fixedname_name(&fname),
+ NULL) == ISC_R_SUCCESS);
+ dns_name_toregion(dns_fixedname_name(&fname), &r);
+ } else
+ dns_name_toregion(&rrsig->signer, &r);
+
return (dst_context_adddata(ctx, &r));
}
@@ -191,6 +207,7 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
isc_uint32_t flags;
unsigned int sigsize;
dns_fixedname_t fnewname;
+ dns_fixedname_t fsigner;
REQUIRE(name != NULL);
REQUIRE(dns_name_countlabels(name) <= 255);
@@ -218,8 +235,14 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
sig.common.rdtype = dns_rdatatype_rrsig;
ISC_LINK_INIT(&sig.common, link);
+ /*
+ * Downcase signer.
+ */
dns_name_init(&sig.signer, NULL);
- dns_name_clone(dst_key_name(key), &sig.signer);
+ dns_fixedname_init(&fsigner);
+ RUNTIME_CHECK(dns_name_downcase(dst_key_name(key),
+ dns_fixedname_name(&fsigner), NULL) == ISC_R_SUCCESS);
+ dns_name_clone(dns_fixedname_name(&fsigner), &sig.signer);
sig.covered = set->type;
sig.algorithm = dst_key_alg(key);
@@ -259,7 +282,7 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
/*
* Digest the SIG rdata.
*/
- ret = digest_sig(ctx, &tmpsigrdata, &sig);
+ ret = digest_sig(ctx, ISC_FALSE, &tmpsigrdata, &sig);
if (ret != ISC_R_SUCCESS)
goto cleanup_context;
@@ -332,7 +355,7 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
memcpy(sig.signature, r.base, sig.siglen);
ret = dns_rdata_fromstruct(sigrdata, sig.common.rdclass,
- sig.common.rdtype, &sig, buffer);
+ sig.common.rdtype, &sig, buffer);
cleanup_array:
isc_mem_put(mctx, rdatas, nrdatas * sizeof(dns_rdata_t));
@@ -351,6 +374,15 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
isc_boolean_t ignoretime, isc_mem_t *mctx,
dns_rdata_t *sigrdata, dns_name_t *wild)
{
+ return (dns_dnssec_verify3(name, set, key, ignoretime, 0, mctx,
+ sigrdata, wild));
+}
+
+isc_result_t
+dns_dnssec_verify3(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
+ isc_boolean_t ignoretime, unsigned int maxbits,
+ isc_mem_t *mctx, dns_rdata_t *sigrdata, dns_name_t *wild)
+{
dns_rdata_rrsig_t sig;
dns_fixedname_t fnewname;
isc_region_t r;
@@ -363,6 +395,7 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
dst_context_t *ctx = NULL;
int labels = 0;
isc_uint32_t flags;
+ isc_boolean_t downcase = ISC_FALSE;
REQUIRE(name != NULL);
REQUIRE(set != NULL);
@@ -377,8 +410,10 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
if (set->type != sig.covered)
return (DNS_R_SIGINVALID);
- if (isc_serial_lt(sig.timeexpire, sig.timesigned))
+ if (isc_serial_lt(sig.timeexpire, sig.timesigned)) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_SIGINVALID);
+ }
if (!ignoretime) {
isc_stdtime_get(&now);
@@ -386,10 +421,13 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
/*
* Is SIG temporally valid?
*/
- if (isc_serial_lt((isc_uint32_t)now, sig.timesigned))
+ if (isc_serial_lt((isc_uint32_t)now, sig.timesigned)) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_SIGFUTURE);
- else if (isc_serial_lt(sig.timeexpire, (isc_uint32_t)now))
+ } else if (isc_serial_lt(sig.timeexpire, (isc_uint32_t)now)) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_SIGEXPIRED);
+ }
}
/*
@@ -400,16 +438,22 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
case dns_rdatatype_ns:
case dns_rdatatype_soa:
case dns_rdatatype_dnskey:
- if (!dns_name_equal(name, &sig.signer))
+ if (!dns_name_equal(name, &sig.signer)) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_SIGINVALID);
+ }
break;
case dns_rdatatype_ds:
- if (dns_name_equal(name, &sig.signer))
+ if (dns_name_equal(name, &sig.signer)) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_SIGINVALID);
+ }
/* FALLTHROUGH */
default:
- if (!dns_name_issubdomain(name, &sig.signer))
+ if (!dns_name_issubdomain(name, &sig.signer)) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_SIGINVALID);
+ }
break;
}
@@ -417,11 +461,16 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
* Is the key allowed to sign data?
*/
flags = dst_key_flags(key);
- if (flags & DNS_KEYTYPE_NOAUTH)
+ if (flags & DNS_KEYTYPE_NOAUTH) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_KEYUNAUTHORIZED);
- if ((flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE)
+ }
+ if ((flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE) {
+ inc_stat(dns_dnssecstats_fail);
return (DNS_R_KEYUNAUTHORIZED);
+ }
+ again:
ret = dst_context_create(key, mctx, &ctx);
if (ret != ISC_R_SUCCESS)
goto cleanup_struct;
@@ -429,7 +478,7 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
/*
* Digest the SIG rdata (not including the signature).
*/
- ret = digest_sig(ctx, sigrdata, &sig);
+ ret = digest_sig(ctx, downcase, sigrdata, &sig);
if (ret != ISC_R_SUCCESS)
goto cleanup_context;
@@ -507,22 +556,41 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
r.base = sig.signature;
r.length = sig.siglen;
- ret = dst_context_verify(ctx, &r);
- if (ret == DST_R_VERIFYFAILURE)
- ret = DNS_R_SIGINVALID;
+ ret = dst_context_verify2(ctx, maxbits, &r);
+ if (ret == ISC_R_SUCCESS && downcase) {
+ char namebuf[DNS_NAME_FORMATSIZE];
+ dns_name_format(&sig.signer, namebuf, sizeof(namebuf));
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
+ DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO,
+ "sucessfully validated after lower casing "
+ "signer '%s'", namebuf);
+ inc_stat(dns_dnssecstats_downcase);
+ } else if (ret == ISC_R_SUCCESS)
+ inc_stat(dns_dnssecstats_asis);
cleanup_array:
isc_mem_put(mctx, rdatas, nrdatas * sizeof(dns_rdata_t));
cleanup_context:
dst_context_destroy(&ctx);
+ if (ret == DST_R_VERIFYFAILURE && !downcase) {
+ downcase = ISC_TRUE;
+ goto again;
+ }
cleanup_struct:
dns_rdata_freestruct(&sig);
+ if (ret == DST_R_VERIFYFAILURE)
+ ret = DNS_R_SIGINVALID;
+
+ if (ret != ISC_R_SUCCESS)
+ inc_stat(dns_dnssecstats_fail);
+
if (ret == ISC_R_SUCCESS && labels - sig.labels > 0) {
if (wild != NULL)
RUNTIME_CHECK(dns_name_concatenate(dns_wildcardname,
dns_fixedname_name(&fnewname),
wild, NULL) == ISC_R_SUCCESS);
+ inc_stat(dns_dnssecstats_wildcard);
ret = DNS_R_FROMWILDCARD;
}
return (ret);
@@ -1333,11 +1401,12 @@ dns_dnssec_findmatchingkeys(dns_name_t *origin, const char *directory,
* the keys in the keyset, regardless of whether they have
* metadata indicating they should be deactivated or removed.
*/
-static void
+static isc_result_t
addkey(dns_dnsseckeylist_t *keylist, dst_key_t **newkey,
isc_boolean_t savekeys, isc_mem_t *mctx)
{
dns_dnsseckey_t *key;
+ isc_result_t result;
/* Skip duplicates */
for (key = ISC_LIST_HEAD(*keylist);
@@ -1365,10 +1434,12 @@ addkey(dns_dnsseckeylist_t *keylist, dst_key_t **newkey,
}
key->source = dns_keysource_zoneapex;
- return;
+ return (ISC_R_SUCCESS);
}
- dns_dnsseckey_create(mctx, newkey, &key);
+ result = dns_dnsseckey_create(mctx, newkey, &key);
+ if (result != ISC_R_SUCCESS)
+ return (result);
if (key->legacy || savekeys) {
key->force_publish = ISC_TRUE;
key->force_sign = dst_key_isprivate(key->key);
@@ -1376,6 +1447,7 @@ addkey(dns_dnsseckeylist_t *keylist, dst_key_t **newkey,
key->source = dns_keysource_zoneapex;
ISC_LIST_APPEND(*keylist, key, link);
*newkey = NULL;
+ return (ISC_R_SUCCESS);
}
@@ -1466,7 +1538,7 @@ dns_dnssec_keylistfromrdataset(dns_name_t *origin,
goto skip;
if (public) {
- addkey(keylist, &pubkey, savekeys, mctx);
+ RETERR(addkey(keylist, &pubkey, savekeys, mctx));
goto skip;
}
@@ -1519,7 +1591,7 @@ dns_dnssec_keylistfromrdataset(dns_name_t *origin,
}
if (result == ISC_R_FILENOTFOUND || result == ISC_R_NOPERM) {
- addkey(keylist, &pubkey, savekeys, mctx);
+ RETERR(addkey(keylist, &pubkey, savekeys, mctx));
goto skip;
}
RETERR(result);
@@ -1534,7 +1606,7 @@ dns_dnssec_keylistfromrdataset(dns_name_t *origin,
*/
dst_key_setttl(privkey, dst_key_getttl(pubkey));
- addkey(keylist, &privkey, savekeys, mctx);
+ RETERR(addkey(keylist, &privkey, savekeys, mctx));
skip:
if (pubkey != NULL)
dst_key_free(&pubkey);
diff --git a/lib/dns/ds.c b/lib/dns/ds.c
index 3c74d1da..e72ecbb6 100644
--- a/lib/dns/ds.c
+++ b/lib/dns/ds.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -52,12 +52,13 @@ dns_ds_buildrdata(dns_name_t *owner, dns_rdata_t *key,
{
dns_fixedname_t fname;
dns_name_t *name;
- unsigned char digest[ISC_SHA256_DIGESTLENGTH];
+ unsigned char digest[ISC_SHA384_DIGESTLENGTH];
isc_region_t r;
isc_buffer_t b;
dns_rdata_ds_t ds;
isc_sha1_t sha1;
isc_sha256_t sha256;
+ isc_sha384_t sha384;
#ifdef HAVE_OPENSSL_GOST
EVP_MD_CTX ctx;
const EVP_MD *md;
@@ -86,17 +87,18 @@ dns_ds_buildrdata(dns_name_t *owner, dns_rdata_t *key,
isc_sha1_update(&sha1, r.base, r.length);
isc_sha1_final(&sha1, digest);
break;
+
#ifdef HAVE_OPENSSL_GOST
#define CHECK(x) \
if ((x) != 1) { \
EVP_MD_CTX_cleanup(&ctx); \
- return (DST_R_OPENSSLFAILURE); \
+ return (DST_R_CRYPTOFAILURE); \
}
case DNS_DSDIGEST_GOST:
md = EVP_gost();
if (md == NULL)
- return (DST_R_OPENSSLFAILURE);
+ return (DST_R_CRYPTOFAILURE);
EVP_MD_CTX_init(&ctx);
CHECK(EVP_DigestInit(&ctx, md));
dns_name_toregion(name, &r);
@@ -111,6 +113,18 @@ dns_ds_buildrdata(dns_name_t *owner, dns_rdata_t *key,
CHECK(EVP_DigestFinal(&ctx, digest, NULL));
break;
#endif
+
+ case DNS_DSDIGEST_SHA384:
+ isc_sha384_init(&sha384);
+ dns_name_toregion(name, &r);
+ isc_sha384_update(&sha384, r.base, r.length);
+ dns_rdata_toregion(key, &r);
+ INSIST(r.length >= 4);
+ isc_sha384_update(&sha384, r.base, r.length);
+ isc_sha384_final(digest, &sha384);
+ break;
+
+ case DNS_DSDIGEST_SHA256:
default:
isc_sha256_init(&sha256);
dns_name_toregion(name, &r);
@@ -132,11 +146,18 @@ dns_ds_buildrdata(dns_name_t *owner, dns_rdata_t *key,
case DNS_DSDIGEST_SHA1:
ds.length = ISC_SHA1_DIGESTLENGTH;
break;
+
#ifdef HAVE_OPENSSL_GOST
case DNS_DSDIGEST_GOST:
ds.length = ISC_GOST_DIGESTLENGTH;
break;
#endif
+
+ case DNS_DSDIGEST_SHA384:
+ ds.length = ISC_SHA384_DIGESTLENGTH;
+ break;
+
+ case DNS_DSDIGEST_SHA256:
default:
ds.length = ISC_SHA256_DIGESTLENGTH;
break;
@@ -152,9 +173,11 @@ dns_ds_digest_supported(unsigned int digest_type) {
#ifdef HAVE_OPENSSL_GOST
return (ISC_TF(digest_type == DNS_DSDIGEST_SHA1 ||
digest_type == DNS_DSDIGEST_SHA256 ||
- digest_type == DNS_DSDIGEST_GOST));
+ digest_type == DNS_DSDIGEST_GOST ||
+ digest_type == DNS_DSDIGEST_SHA384));
#else
return (ISC_TF(digest_type == DNS_DSDIGEST_SHA1 ||
- digest_type == DNS_DSDIGEST_SHA256));
+ digest_type == DNS_DSDIGEST_SHA256 ||
+ digest_type == DNS_DSDIGEST_SHA384));
#endif
}
diff --git a/lib/dns/dst_api.c b/lib/dns/dst_api.c
index a94abff0..12822bed 100644
--- a/lib/dns/dst_api.c
+++ b/lib/dns/dst_api.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2012 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
@@ -56,6 +56,9 @@
#include <isc/string.h>
#include <isc/time.h>
#include <isc/util.h>
+#include <isc/file.h>
+
+#define DST_KEY_INTERNAL
#include <dns/fixedname.h>
#include <dns/keyvalues.h>
@@ -227,6 +230,10 @@ dst_lib_init2(isc_mem_t *mctx, isc_entropy_t *ectx,
#ifdef HAVE_OPENSSL_GOST
RETERR(dst__opensslgost_init(&dst_t_func[DST_ALG_ECCGOST]));
#endif
+#ifdef HAVE_OPENSSL_ECDSA
+ RETERR(dst__opensslecdsa_init(&dst_t_func[DST_ALG_ECDSA256]));
+ RETERR(dst__opensslecdsa_init(&dst_t_func[DST_ALG_ECDSA384]));
+#endif
#endif /* OPENSSL */
#ifdef GSSAPI
RETERR(dst__gssapi_init(&dst_t_func[DST_ALG_GSSAPI]));
@@ -359,6 +366,25 @@ dst_context_verify(dst_context_t *dctx, isc_region_t *sig) {
}
isc_result_t
+dst_context_verify2(dst_context_t *dctx, unsigned int maxbits,
+ isc_region_t *sig)
+{
+ REQUIRE(VALID_CTX(dctx));
+ REQUIRE(sig != NULL);
+
+ CHECKALG(dctx->key->key_alg);
+ if (dctx->key->keydata.generic == NULL)
+ return (DST_R_NULLKEY);
+ if (dctx->key->func->verify == NULL &&
+ dctx->key->func->verify2 == NULL)
+ return (DST_R_NOTPUBLICKEY);
+
+ return (dctx->key->func->verify2 != NULL ?
+ dctx->key->func->verify2(dctx, maxbits, sig) :
+ dctx->key->func->verify(dctx, sig));
+}
+
+isc_result_t
dst_key_computesecret(const dst_key_t *pub, const dst_key_t *priv,
isc_buffer_t *secret)
{
@@ -736,6 +762,40 @@ out:
}
isc_result_t
+dst_key_buildinternal(dns_name_t *name, unsigned int alg,
+ unsigned int bits, unsigned int flags,
+ unsigned int protocol, dns_rdataclass_t rdclass,
+ void *data, isc_mem_t *mctx, dst_key_t **keyp)
+{
+ dst_key_t *key;
+ isc_result_t result;
+
+ REQUIRE(dst_initialized == ISC_TRUE);
+ REQUIRE(dns_name_isabsolute(name));
+ REQUIRE(mctx != NULL);
+ REQUIRE(keyp != NULL && *keyp == NULL);
+ REQUIRE(data != NULL);
+
+ CHECKALG(alg);
+
+ key = get_key_struct(name, alg, flags, protocol, bits, rdclass,
+ 0, mctx);
+ if (key == NULL)
+ return (ISC_R_NOMEMORY);
+
+ key->keydata.generic = data;
+
+ result = computeid(key);
+ if (result != ISC_R_SUCCESS) {
+ dst_key_free(&key);
+ return (result);
+ }
+
+ *keyp = key;
+ return (ISC_R_SUCCESS);
+}
+
+isc_result_t
dst_key_fromlabel(dns_name_t *name, int alg, unsigned int flags,
unsigned int protocol, dns_rdataclass_t rdclass,
const char *engine, const char *label, const char *pin,
@@ -1112,6 +1172,12 @@ dst_key_sigsize(const dst_key_t *key, unsigned int *n) {
case DST_ALG_ECCGOST:
*n = DNS_SIG_GOSTSIGSIZE;
break;
+ case DST_ALG_ECDSA256:
+ *n = DNS_SIG_ECDSA256SIZE;
+ break;
+ case DST_ALG_ECDSA384:
+ *n = DNS_SIG_ECDSA384SIZE;
+ break;
case DST_ALG_HMACMD5:
*n = 16;
break;
@@ -1420,6 +1486,8 @@ issymmetric(const dst_key_t *key) {
case DST_ALG_NSEC3DSA:
case DST_ALG_DH:
case DST_ALG_ECCGOST:
+ case DST_ALG_ECDSA256:
+ case DST_ALG_ECDSA384:
return (ISC_FALSE);
case DST_ALG_HMACMD5:
case DST_ALG_GSSAPI:
@@ -1698,7 +1766,8 @@ algorithm_status(unsigned int alg) {
alg == DST_ALG_HMACMD5 || alg == DST_ALG_NSEC3DSA ||
alg == DST_ALG_NSEC3RSASHA1 ||
alg == DST_ALG_RSASHA256 || alg == DST_ALG_RSASHA512 ||
- alg == DST_ALG_ECCGOST)
+ alg == DST_ALG_ECCGOST ||
+ alg == DST_ALG_ECDSA256 || alg == DST_ALG_ECDSA384)
return (DST_R_NOCRYPTO);
#endif
return (DST_R_UNSUPPORTEDALG);
diff --git a/lib/dns/dst_internal.h b/lib/dns/dst_internal.h
index f2906d75..d9d75672 100644
--- a/lib/dns/dst_internal.h
+++ b/lib/dns/dst_internal.h
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -170,6 +170,8 @@ struct dst_func {
*/
isc_result_t (*sign)(dst_context_t *dctx, isc_buffer_t *sig);
isc_result_t (*verify)(dst_context_t *dctx, const isc_region_t *sig);
+ isc_result_t (*verify2)(dst_context_t *dctx, int maxbits,
+ const isc_region_t *sig);
isc_result_t (*computesecret)(const dst_key_t *pub,
const dst_key_t *priv,
isc_buffer_t *secret);
@@ -218,6 +220,9 @@ isc_result_t dst__gssapi_init(struct dst_func **funcp);
#ifdef HAVE_OPENSSL_GOST
isc_result_t dst__opensslgost_init(struct dst_func **funcp);
#endif
+#ifdef HAVE_OPENSSL_ECDSA
+isc_result_t dst__opensslecdsa_init(struct dst_func **funcp);
+#endif
/*%
* Destructors
diff --git a/lib/dns/dst_openssl.h b/lib/dns/dst_openssl.h
index cc9929fc..22071c08 100644
--- a/lib/dns/dst_openssl.h
+++ b/lib/dns/dst_openssl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -39,6 +39,9 @@ ISC_LANG_BEGINDECLS
isc_result_t
dst__openssl_toresult(isc_result_t fallback);
+isc_result_t
+dst__openssl_toresult2(const char *funcname, isc_result_t fallback);
+
#ifdef USE_ENGINE
ENGINE *
dst__openssl_getengine(const char *engine);
diff --git a/lib/dns/dst_parse.c b/lib/dns/dst_parse.c
index ee513d55..ca43cb3d 100644
--- a/lib/dns/dst_parse.c
+++ b/lib/dns/dst_parse.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2012 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
@@ -44,8 +44,10 @@
#include <isc/stdtime.h>
#include <isc/string.h>
#include <isc/util.h>
+#include <isc/file.h>
#include <dns/time.h>
+#include <dns/log.h>
#include "dst_internal.h"
#include "dst_parse.h"
@@ -106,6 +108,8 @@ static struct parse_map map[] = {
{TAG_GOST_PRIVASN1, "GostAsn1:"},
+ {TAG_ECDSA_PRIVATEKEY, "PrivateKey:"},
+
{TAG_HMACMD5_KEY, "Key:"},
{TAG_HMACMD5_BITS, "Bits:"},
@@ -251,6 +255,15 @@ check_gost(const dst_private_t *priv) {
}
static int
+check_ecdsa(const dst_private_t *priv) {
+ if (priv->nelements != ECDSA_NTAGS)
+ return (-1);
+ if (priv->elements[0].tag != TAG(DST_ALG_ECDSA256, 0))
+ return (-1);
+ return (0);
+}
+
+static int
check_hmac_md5(const dst_private_t *priv, isc_boolean_t old) {
int i, j;
@@ -302,13 +315,20 @@ check_data(const dst_private_t *priv, const unsigned int alg,
switch (alg) {
case DST_ALG_RSAMD5:
case DST_ALG_RSASHA1:
+ case DST_ALG_NSEC3RSASHA1:
+ case DST_ALG_RSASHA256:
+ case DST_ALG_RSASHA512:
return (check_rsa(priv));
case DST_ALG_DH:
return (check_dh(priv));
case DST_ALG_DSA:
+ case DST_ALG_NSEC3DSA:
return (check_dsa(priv));
case DST_ALG_ECCGOST:
return (check_gost(priv));
+ case DST_ALG_ECDSA256:
+ case DST_ALG_ECDSA384:
+ return (check_ecdsa(priv));
case DST_ALG_HMACMD5:
return (check_hmac_md5(priv, old));
case DST_ALG_HMACSHA1:
@@ -345,7 +365,7 @@ isc_result_t
dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
isc_mem_t *mctx, dst_private_t *priv)
{
- int n = 0, major, minor;
+ int n = 0, major, minor, check;
isc_buffer_t b;
isc_token_t token;
unsigned char *data = NULL;
@@ -515,8 +535,14 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
data = NULL;
}
done:
- if (check_data(priv, alg, ISC_TRUE) < 0)
+ check = check_data(priv, alg, ISC_TRUE);
+ if (check < 0) {
+ ret = DST_R_INVALIDPRIVATEKEY;
+ goto fail;
+ } else if (check != ISC_R_SUCCESS) {
+ ret = check;
goto fail;
+ }
return (ISC_R_SUCCESS);
@@ -533,7 +559,6 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv,
const char *directory)
{
FILE *fp;
- int ret, i;
isc_result_t result;
char filename[ISC_DIR_NAMEMAX];
char buffer[MAXFIELDSIZE * 2];
@@ -543,16 +568,32 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv,
isc_buffer_t b;
isc_region_t r;
int major, minor;
+ mode_t mode;
+ int i, ret;
REQUIRE(priv != NULL);
- if (check_data(priv, dst_key_alg(key), ISC_FALSE) < 0)
+ ret = check_data(priv, dst_key_alg(key), ISC_FALSE);
+ if (ret < 0)
return (DST_R_INVALIDPRIVATEKEY);
+ else if (ret != ISC_R_SUCCESS)
+ return (ret);
isc_buffer_init(&b, filename, sizeof(filename));
- ret = dst_key_buildfilename(key, DST_TYPE_PRIVATE, directory, &b);
- if (ret != ISC_R_SUCCESS)
- return (ret);
+ result = dst_key_buildfilename(key, DST_TYPE_PRIVATE, directory, &b);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+
+ result = isc_file_mode(filename, &mode);
+ if (result == ISC_R_SUCCESS && mode != 0600) {
+ /* File exists; warn that we are changing its permissions */
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
+ DNS_LOGMODULE_DNSSEC, ISC_LOG_WARNING,
+ "Permissions on the file %s "
+ "have changed from 0%o to 0600 as "
+ "a result of this operation.",
+ filename, (unsigned int)mode);
+ }
if ((fp = fopen(filename, "w")) == NULL)
return (DST_R_WRITEERROR);
@@ -603,6 +644,12 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv,
case DST_ALG_ECCGOST:
fprintf(fp, "(ECC-GOST)\n");
break;
+ case DST_ALG_ECDSA256:
+ fprintf(fp, "(ECDSAP256SHA256)\n");
+ break;
+ case DST_ALG_ECDSA384:
+ fprintf(fp, "(ECDSAP384SHA384)\n");
+ break;
case DST_ALG_HMACMD5:
fprintf(fp, "(HMAC_MD5)\n");
break;
diff --git a/lib/dns/dst_parse.h b/lib/dns/dst_parse.h
index 91b072fb..f048bf0c 100644
--- a/lib/dns/dst_parse.h
+++ b/lib/dns/dst_parse.h
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -81,6 +81,9 @@
#define GOST_NTAGS 1
#define TAG_GOST_PRIVASN1 ((DST_ALG_ECCGOST << TAG_SHIFT) + 0)
+#define ECDSA_NTAGS 1
+#define TAG_ECDSA_PRIVATEKEY ((DST_ALG_ECDSA256 << TAG_SHIFT) + 0)
+
#define OLD_HMACMD5_NTAGS 1
#define HMACMD5_NTAGS 2
#define TAG_HMACMD5_KEY ((DST_ALG_HMACMD5 << TAG_SHIFT) + 0)
diff --git a/lib/dns/dst_result.c b/lib/dns/dst_result.c
index 429dbb2f..297e809c 100644
--- a/lib/dns/dst_result.c
+++ b/lib/dns/dst_result.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -30,7 +30,7 @@
static const char *text[DST_R_NRESULTS] = {
"algorithm is unsupported", /*%< 0 */
- "openssl failure", /*%< 1 */
+ "crypto failure", /*%< 1 */
"built with no crypto support", /*%< 2 */
"illegal operation for a null key", /*%< 3 */
"public key is invalid", /*%< 4 */
diff --git a/lib/dns/gssapi_link.c b/lib/dns/gssapi_link.c
index 381ba102..5ad81cd8 100644
--- a/lib/dns/gssapi_link.c
+++ b/lib/dns/gssapi_link.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -362,6 +362,7 @@ static dst_func_t gssapi_functions = {
gssapi_adddata,
gssapi_sign,
gssapi_verify,
+ NULL, /*%< verify2 */
NULL, /*%< computesecret */
gssapi_compare,
NULL, /*%< paramcompare */
diff --git a/lib/dns/hmac_link.c b/lib/dns/hmac_link.c
index bc0e9a04..256abb6e 100644
--- a/lib/dns/hmac_link.c
+++ b/lib/dns/hmac_link.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2012 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
@@ -313,6 +313,7 @@ static dst_func_t hmacmd5_functions = {
hmacmd5_adddata,
hmacmd5_sign,
hmacmd5_verify,
+ NULL, /*%< verify2 */
NULL, /*%< computesecret */
hmacmd5_compare,
NULL, /*%< paramcompare */
@@ -589,6 +590,7 @@ static dst_func_t hmacsha1_functions = {
hmacsha1_adddata,
hmacsha1_sign,
hmacsha1_verify,
+ NULL, /* verify2 */
NULL, /* computesecret */
hmacsha1_compare,
NULL, /* paramcompare */
@@ -867,6 +869,7 @@ static dst_func_t hmacsha224_functions = {
hmacsha224_adddata,
hmacsha224_sign,
hmacsha224_verify,
+ NULL, /* verify2 */
NULL, /* computesecret */
hmacsha224_compare,
NULL, /* paramcompare */
@@ -1145,6 +1148,7 @@ static dst_func_t hmacsha256_functions = {
hmacsha256_adddata,
hmacsha256_sign,
hmacsha256_verify,
+ NULL, /* verify2 */
NULL, /* computesecret */
hmacsha256_compare,
NULL, /* paramcompare */
@@ -1423,6 +1427,7 @@ static dst_func_t hmacsha384_functions = {
hmacsha384_adddata,
hmacsha384_sign,
hmacsha384_verify,
+ NULL, /* verify2 */
NULL, /* computesecret */
hmacsha384_compare,
NULL, /* paramcompare */
@@ -1701,6 +1706,7 @@ static dst_func_t hmacsha512_functions = {
hmacsha512_adddata,
hmacsha512_sign,
hmacsha512_verify,
+ NULL, /* verify2 */
NULL, /* computesecret */
hmacsha512_compare,
NULL, /* paramcompare */
diff --git a/lib/dns/include/Makefile.in b/lib/dns/include/Makefile.in
index b52cb980..10d798d9 100644
--- a/lib/dns/include/Makefile.in
+++ b/lib/dns/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/dns/include/dns/Makefile.in b/lib/dns/include/dns/Makefile.in
index 5b2e78d0..1a69f2c8 100644
--- a/lib/dns/include/dns/Makefile.in
+++ b/lib/dns/include/dns/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/dns/include/dns/db.h b/lib/dns/include/dns/db.h
index 48b5a26e..a5edbce2 100644
--- a/lib/dns/include/dns/db.h
+++ b/lib/dns/include/dns/db.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: db.h,v 1.107 2011/10/13 01:32:34 vjs Exp $ */
+/* $Id: db.h,v 1.107.4.1 2011/10/23 20:12:08 vjs Exp $ */
#ifndef DNS_DB_H
#define DNS_DB_H 1
@@ -173,7 +173,7 @@ typedef struct dns_dbmethods {
isc_boolean_t (*isdnssec)(dns_db_t *db);
dns_stats_t *(*getrrsetstats)(dns_db_t *db);
void (*rpz_enabled)(dns_db_t *db, dns_rpz_st_t *st);
- isc_result_t (*rpz_findips)(dns_rpz_zone_t *rpz,
+ void (*rpz_findips)(dns_rpz_zone_t *rpz,
dns_rpz_type_t rpz_type,
dns_zone_t *zone, dns_db_t *db,
dns_dbversion_t *version,
@@ -770,6 +770,10 @@ dns_db_findext(dns_db_t *db, dns_name_t *name, dns_dbversion_t *version,
* that it is correct. This only affects answers returned from the
* cache.
*
+ * \li In the #DNS_DBFIND_FORCENSEC3 option is set, then we are looking
+ * in the NSEC3 tree and not the main tree. Without this option being
+ * set NSEC3 records will not be found.
+ *
* \li To respond to a query for SIG records, the caller should create a
* rdataset iterator and extract the signatures from each rdataset.
*
@@ -1545,7 +1549,7 @@ dns_db_rpz_enabled(dns_db_t *db, dns_rpz_st_t *st);
* DNS_RPZ_TYPE_NSDNAME records.
*/
-isc_result_t
+void
dns_db_rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version,
dns_rdataset_t *ardataset, dns_rpz_st_t *st,
@@ -1562,10 +1566,6 @@ dns_db_rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
* \li 'ardataset' is an A or AAAA rdataset of addresses to check
* \li 'found' specifies the previous best match if any or
* or NULL, an empty name, 0, DNS_RPZ_POLICY_MISS, and 0
- *
- * Returns:
- * \li #ISC_R_SUCCESS
- * \li #ISC_R_UNEXPECTED
*/
ISC_LANG_ENDDECLS
diff --git a/lib/dns/include/dns/dnssec.h b/lib/dns/include/dns/dnssec.h
index 68df540a..e443f91b 100644
--- a/lib/dns/include/dns/dnssec.h
+++ b/lib/dns/include/dns/dnssec.h
@@ -24,6 +24,7 @@
#include <isc/lang.h>
#include <isc/stdtime.h>
+#include <isc/stats.h>
#include <dns/diff.h>
#include <dns/types.h>
@@ -32,6 +33,8 @@
ISC_LANG_BEGINDECLS
+LIBDNS_EXTERNAL_DATA extern isc_stats_t *dns_dnssec_stats;
+
/*%< Maximum number of keys supported in a zone. */
#define DNS_MAXZONEKEYS 32
@@ -96,8 +99,8 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
isc_stdtime_t *inception, isc_stdtime_t *expire,
isc_mem_t *mctx, isc_buffer_t *buffer, dns_rdata_t *sigrdata);
/*%<
- * Generates a SIG record covering this rdataset. This has no effect
- * on existing SIG records.
+ * Generates a RRSIG record covering this rdataset. This has no effect
+ * on existing RRSIG records.
*
* Requires:
*\li 'name' (the owner name of the record) is a valid name
@@ -129,12 +132,19 @@ isc_result_t
dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
isc_boolean_t ignoretime, isc_mem_t *mctx,
dns_rdata_t *sigrdata, dns_name_t *wild);
+
+isc_result_t
+dns_dnssec_verify3(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
+ isc_boolean_t ignoretime, unsigned int maxbits,
+ isc_mem_t *mctx, dns_rdata_t *sigrdata, dns_name_t *wild);
/*%<
- * Verifies the SIG record covering this rdataset signed by a specific
- * key. This does not determine if the key's owner is authorized to
- * sign this record, as this requires a resolver or database.
+ * Verifies the RRSIG record covering this rdataset signed by a specific
+ * key. This does not determine if the key's owner is authorized to sign
+ * this record, as this requires a resolver or database.
* If 'ignoretime' is ISC_TRUE, temporal validity will not be checked.
*
+ * 'maxbits' specifies the maximum number of rsa exponent bits accepted.
+ *
* Requires:
*\li 'name' (the owner name of the record) is a valid name
*\li 'set' is a valid rdataset
diff --git a/lib/dns/include/dns/ds.h b/lib/dns/include/dns/ds.h
index b20b4086..03ab0ed0 100644
--- a/lib/dns/include/dns/ds.h
+++ b/lib/dns/include/dns/ds.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -27,15 +27,16 @@
#define DNS_DSDIGEST_SHA1 (1)
#define DNS_DSDIGEST_SHA256 (2)
#define DNS_DSDIGEST_GOST (3)
+#define DNS_DSDIGEST_SHA384 (4)
/* should not be here... */
#define ISC_GOST_DIGESTLENGTH 32U
/*
- * Assuming SHA-256 digest type.
+ * Assuming SHA-384 digest type.
*/
-#define DNS_DS_BUFFERSIZE (36)
+#define DNS_DS_BUFFERSIZE (52)
ISC_LANG_BEGINDECLS
diff --git a/lib/dns/include/dns/iptable.h b/lib/dns/include/dns/iptable.h
index d7eb140d..2ce8e181 100644
--- a/lib/dns/include/dns/iptable.h
+++ b/lib/dns/include/dns/iptable.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2007, 2012 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
@@ -23,6 +23,8 @@
#include <isc/magic.h>
#include <isc/radix.h>
+#include <dns/types.h>
+
struct dns_iptable {
unsigned int magic;
isc_mem_t *mctx;
diff --git a/lib/dns/include/dns/keyvalues.h b/lib/dns/include/dns/keyvalues.h
index 55c0b8fc..0c392ca1 100644
--- a/lib/dns/include/dns/keyvalues.h
+++ b/lib/dns/include/dns/keyvalues.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2010, 2012 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
@@ -71,6 +71,8 @@
#define DNS_KEYALG_RSASHA256 8
#define DNS_KEYALG_RSASHA512 10
#define DNS_KEYALG_ECCGOST 12
+#define DNS_KEYALG_ECDSA256 13
+#define DNS_KEYALG_ECDSA384 14
#define DNS_KEYALG_INDIRECT 252
#define DNS_KEYALG_PRIVATEDNS 253
#define DNS_KEYALG_PRIVATEOID 254 /*%< Key begins with OID giving alg */
@@ -101,4 +103,10 @@
#define DNS_SIG_GOSTSIGSIZE 64
+#define DNS_SIG_ECDSA256SIZE 64
+#define DNS_SIG_ECDSA384SIZE 96
+
+#define DNS_KEY_ECDSA256SIZE 64
+#define DNS_KEY_ECDSA384SIZE 96
+
#endif /* DNS_KEYVALUES_H */
diff --git a/lib/dns/include/dns/log.h b/lib/dns/include/dns/log.h
index 2060a33c..3c4df8a4 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 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2011, 2012 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
@@ -75,6 +75,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodule_t dns_modules[];
#define DNS_LOGMODULE_ACACHE (&dns_modules[25])
#define DNS_LOGMODULE_DLZ (&dns_modules[26])
#define DNS_LOGMODULE_DNSSEC (&dns_modules[27])
+#define DNS_LOGMODULE_CRYPTO (&dns_modules[28])
ISC_LANG_BEGINDECLS
diff --git a/lib/dns/include/dns/nsec.h b/lib/dns/include/dns/nsec.h
index fca843a1..bdcd2eec 100644
--- a/lib/dns/include/dns/nsec.h
+++ b/lib/dns/include/dns/nsec.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2008, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008, 2011, 2012 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
@@ -76,6 +76,28 @@ dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version,
* 'answer' to be non NULL.
*/
+unsigned int
+dns_nsec_compressbitmap(unsigned char *map, const unsigned char *raw,
+ unsigned int max_type);
+/*%<
+ * Convert a raw bitmap into a compressed windowed bit map. 'map' and 'raw'
+ * may overlap.
+ *
+ * Returns the length of the compressed windowed bit map.
+ */
+
+void
+dns_nsec_setbit(unsigned char *array, unsigned int type, unsigned int bit);
+/*%<
+ * Set type bit in raw 'array' to 'bit'.
+ */
+
+isc_boolean_t
+dns_nsec_isset(const unsigned char *array, unsigned int type);
+/*%<
+ * Test if the corresponding 'type' bit is set in 'array'.
+ */
+
ISC_LANG_ENDDECLS
#endif /* DNS_NSEC_H */
diff --git a/lib/dns/include/dns/private.h b/lib/dns/include/dns/private.h
index 91fff5f7..c4a2ae64 100644
--- a/lib/dns/include/dns/private.h
+++ b/lib/dns/include/dns/private.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009, 2011, 2012 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
@@ -51,15 +51,15 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver,
*/
isc_result_t
-dns_private_totext(dns_rdata_t *private, isc_buffer_t *buffer);
+dns_private_totext(dns_rdata_t *privaterdata, isc_buffer_t *buffer);
/*%<
- * Convert a private-type RR 'private' to human-readable form,
+ * Convert a private-type RR 'privaterdata' to human-readable form,
* and place the result in 'buffer'. The text should indicate
* which action the private-type record specifies and whether the
* action has been completed.
*
* Requires:
- * \li 'private' is a valid rdata containing at least five bytes
+ * \li 'privaterdata' is a valid rdata containing at least five bytes
* \li 'buffer' is a valid buffer
*
* Returns:
diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h
index a82b03b1..2c7b2730 100644
--- a/lib/dns/include/dns/rdata.h
+++ b/lib/dns/include/dns/rdata.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/dns/include/dns/rdataset.h b/lib/dns/include/dns/rdataset.h
index f6a55e3b..31bcd15f 100644
--- a/lib/dns/include/dns/rdataset.h
+++ b/lib/dns/include/dns/rdataset.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -56,6 +56,7 @@
#include <isc/stdtime.h>
#include <dns/types.h>
+#include <dns/rdatastruct.h>
ISC_LANG_BEGINDECLS
@@ -651,6 +652,25 @@ dns_rdataset_expire(dns_rdataset_t *rdataset);
* Mark the rdataset to be expired in the backing database.
*/
+void
+dns_rdataset_trimttl(dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,
+ dns_rdata_rrsig_t *rrsig, isc_stdtime_t now,
+ isc_boolean_t acceptexpired);
+/*%<
+ * Trim the ttl of 'rdataset' and 'sigrdataset' so that they will expire
+ * at or before 'rrsig->expiretime'. If 'acceptexpired' is true and the
+ * signature has expired or will expire in the next 120 seconds, limit
+ * the ttl to be no more than 120 seconds.
+ *
+ * The ttl is further limited by the original ttl as stored in 'rrsig'
+ * and the original ttl values of 'rdataset' and 'sigrdataset'.
+ *
+ * Requires:
+ * \li 'rdataset' is a valid rdataset.
+ * \li 'sigrdataset' is a valid rdataset.
+ * \li 'rrsig' is non NULL.
+ */
+
const char *
dns_trust_totext(dns_trust_t trust);
/*
diff --git a/lib/dns/include/dns/rpz.h b/lib/dns/include/dns/rpz.h
index accec2ab..03db8d33 100644
--- a/lib/dns/include/dns/rpz.h
+++ b/lib/dns/include/dns/rpz.h
@@ -30,6 +30,7 @@ ISC_LANG_BEGINDECLS
#define DNS_RPZ_IP_ZONE "rpz-ip"
#define DNS_RPZ_NSIP_ZONE "rpz-nsip"
#define DNS_RPZ_NSDNAME_ZONE "rpz-nsdname"
+#define DNS_RPZ_PASSTHRU_ZONE "rpz-passthru"
typedef isc_uint8_t dns_rpz_cidr_bits_t;
@@ -66,11 +67,14 @@ typedef struct dns_rpz_zone dns_rpz_zone_t;
struct dns_rpz_zone {
ISC_LINK(dns_rpz_zone_t) link;
- int num;
+ int num; /* ordinal in list of policy zones */
dns_name_t origin; /* Policy zone name */
dns_name_t nsdname; /* DNS_RPZ_NSDNAME_ZONE.origin */
- dns_rpz_policy_t policy; /* DNS_RPZ_POLICY_GIVEN or override */
+ dns_name_t passthru;/* DNS_RPZ_PASSTHRU_ZONE. */
dns_name_t cname; /* override value for ..._CNAME */
+ dns_ttl_t max_policy_ttl;
+ dns_rpz_policy_t policy; /* DNS_RPZ_POLICY_GIVEN or override */
+ isc_boolean_t recursive_only;
};
/*
@@ -143,6 +147,7 @@ typedef struct {
} dns_rpz_st_t;
#define DNS_RPZ_TTL_DEFAULT 5
+#define DNS_RPZ_MAX_TTL_DEFAULT DNS_RPZ_TTL_DEFAULT
/*
* So various response policy zone messages can be turned up or down.
@@ -152,6 +157,7 @@ typedef struct {
#define DNS_RPZ_DEBUG_LEVEL1 ISC_LOG_DEBUG(1)
#define DNS_RPZ_DEBUG_LEVEL2 ISC_LOG_DEBUG(2)
#define DNS_RPZ_DEBUG_LEVEL3 ISC_LOG_DEBUG(3)
+#define DNS_RPZ_DEBUG_QUIET (DNS_RPZ_DEBUG_LEVEL3+1)
const char *
dns_rpz_type2str(dns_rpz_type_t type);
@@ -192,7 +198,8 @@ dns_rpz_cidr_find(dns_rpz_cidr_t *cidr, const isc_netaddr_t *netaddr,
dns_name_t *search_name, dns_rpz_cidr_bits_t *prefix);
dns_rpz_policy_t
-dns_rpz_decode_cname(dns_rdataset_t *, dns_name_t *selfname);
+dns_rpz_decode_cname(dns_rpz_zone_t *rpz, dns_rdataset_t *rdataset,
+ dns_name_t *selfname);
ISC_LANG_ENDDECLS
diff --git a/lib/dns/include/dns/stats.h b/lib/dns/include/dns/stats.h
index bc77d1e9..53642672 100644
--- a/lib/dns/include/dns/stats.h
+++ b/lib/dns/include/dns/stats.h
@@ -64,6 +64,16 @@ enum {
dns_resstatscounter_max = 30,
+ /*
+ * DNSSEC stats.
+ */
+ dns_dnssecstats_asis = 0,
+ dns_dnssecstats_downcase = 1,
+ dns_dnssecstats_wildcard = 2,
+ dns_dnssecstats_fail = 3,
+
+ dns_dnssecstats_max = 4,
+
/*%
* Zone statistics counters.
*/
diff --git a/lib/dns/include/dns/view.h b/lib/dns/include/dns/view.h
index 3d652436..16f8d7a1 100644
--- a/lib/dns/include/dns/view.h
+++ b/lib/dns/include/dns/view.h
@@ -157,11 +157,14 @@ struct dns_view {
dns_name_t * dlv;
dns_fixedname_t dlv_fixed;
isc_uint16_t maxudp;
+ unsigned int maxbits;
dns_v4_aaaa_t v4_aaaa;
dns_acl_t * v4_aaaa_acl;
dns_dns64list_t dns64;
unsigned int dns64cnt;
ISC_LIST(dns_rpz_zone_t) rpz_zones;
+ isc_boolean_t rpz_recursive_only;
+ isc_boolean_t rpz_break_dnssec;
/*
* Configurable data for server use only,
diff --git a/lib/dns/include/dns/zone.h b/lib/dns/include/dns/zone.h
index e7c754f2..8f32bae4 100644
--- a/lib/dns/include/dns/zone.h
+++ b/lib/dns/include/dns/zone.h
@@ -1861,7 +1861,7 @@ dns_zone_setsignatures(dns_zone_t *zone, isc_uint32_t signatures);
isc_result_t
dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm,
- isc_uint16_t keyid, isc_boolean_t delete);
+ isc_uint16_t keyid, isc_boolean_t deleteit);
/*%<
* Initiate/resume signing of the entire zone with the zone DNSKEY(s)
* that match the given algorithm and keyid.
diff --git a/lib/dns/include/dst/Makefile.in b/lib/dns/include/dst/Makefile.in
index 4ed4ec04..cece67dd 100644
--- a/lib/dns/include/dst/Makefile.in
+++ b/lib/dns/include/dst/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/dns/include/dst/dst.h b/lib/dns/include/dst/dst.h
index 7a1d938d..66501df4 100644
--- a/lib/dns/include/dst/dst.h
+++ b/lib/dns/include/dst/dst.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -59,6 +59,8 @@ typedef struct dst_context dst_context_t;
#define DST_ALG_RSASHA256 8
#define DST_ALG_RSASHA512 10
#define DST_ALG_ECCGOST 12
+#define DST_ALG_ECDSA256 13
+#define DST_ALG_ECDSA384 14
#define DST_ALG_HMACMD5 157
#define DST_ALG_GSSAPI 160
#define DST_ALG_HMACSHA1 161 /* XXXMPA */
@@ -231,9 +233,16 @@ dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig);
isc_result_t
dst_context_verify(dst_context_t *dctx, isc_region_t *sig);
+
+isc_result_t
+dst_context_verify2(dst_context_t *dctx, unsigned int maxbits,
+ isc_region_t *sig);
/*%<
* Verifies the signature using the data and key stored in the context.
*
+ * 'maxbits' specifies the maximum number of bits permitted in the RSA
+ * exponent.
+ *
* Requires:
* \li "dctx" is a valid context.
* \li "sig" is a valid region.
@@ -490,6 +499,14 @@ dst_key_fromgssapi(dns_name_t *name, gss_ctx_id_t gssctx, isc_mem_t *mctx,
* the context id.
*/
+#ifdef DST_KEY_INTERNAL
+isc_result_t
+dst_key_buildinternal(dns_name_t *name, unsigned int alg,
+ unsigned int bits, unsigned int flags,
+ unsigned int protocol, dns_rdataclass_t rdclass,
+ void *data, isc_mem_t *mctx, dst_key_t **keyp);
+#endif
+
isc_result_t
dst_key_fromlabel(dns_name_t *name, int alg, unsigned int flags,
unsigned int protocol, dns_rdataclass_t rdclass,
@@ -510,6 +527,7 @@ dst_key_generate2(dns_name_t *name, unsigned int alg,
dns_rdataclass_t rdclass,
isc_mem_t *mctx, dst_key_t **keyp,
void (*callback)(int));
+
/*%<
* Generate a DST key (or keypair) with the supplied parameters. The
* interpretation of the "param" field depends on the algorithm:
diff --git a/lib/dns/include/dst/result.h b/lib/dns/include/dst/result.h
index d77b72e7..00640a1b 100644
--- a/lib/dns/include/dst/result.h
+++ b/lib/dns/include/dst/result.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -34,7 +34,9 @@
#include <isc/result.h> /* Contractual promise. */
#define DST_R_UNSUPPORTEDALG (ISC_RESULTCLASS_DST + 0)
-#define DST_R_OPENSSLFAILURE (ISC_RESULTCLASS_DST + 1)
+#define DST_R_CRYPTOFAILURE (ISC_RESULTCLASS_DST + 1)
+/* compat */
+#define DST_R_OPENSSLFAILURE DST_R_CRYPTOFAILURE
#define DST_R_NOCRYPTO (ISC_RESULTCLASS_DST + 2)
#define DST_R_NULLKEY (ISC_RESULTCLASS_DST + 3)
#define DST_R_INVALIDPUBLICKEY (ISC_RESULTCLASS_DST + 4)
diff --git a/lib/dns/log.c b/lib/dns/log.c
index e6fbb53a..c4d644e3 100644
--- a/lib/dns/log.c
+++ b/lib/dns/log.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2011, 2012 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
@@ -81,6 +81,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = {
{ "dns/acache", 0 },
{ "dns/dlz", 0 },
{ "dns/dnssec", 0 },
+ { "dns/crypto", 0 },
{ NULL, 0 }
};
diff --git a/lib/dns/master.c b/lib/dns/master.c
index 7b1ccdf8..a8a456d7 100644
--- a/lib/dns/master.c
+++ b/lib/dns/master.c
@@ -2078,20 +2078,22 @@ load_raw(dns_loadctx_t *lctx) {
unsigned int loop_cnt = 0;
dns_rdatacallbacks_t *callbacks;
unsigned char namebuf[DNS_NAME_MAXWIRE];
- isc_region_t r;
- dns_name_t name;
+ dns_fixedname_t fixed;
+ dns_name_t *name;
rdatalist_head_t head, dummy;
dns_rdatalist_t rdatalist;
isc_mem_t *mctx = lctx->mctx;
dns_rdata_t *rdata = NULL;
unsigned int rdata_size = 0;
int target_size = TSIZ;
- isc_buffer_t target;
+ isc_buffer_t target, buf;
unsigned char *target_mem = NULL;
dns_masterrawheader_t header;
+ dns_decompress_t dctx;
REQUIRE(DNS_LCTX_VALID(lctx));
callbacks = lctx->callbacks;
+ dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE);
dns_master_initrawheader(&header);
@@ -2171,6 +2173,9 @@ load_raw(dns_loadctx_t *lctx) {
}
isc_buffer_init(&target, target_mem, target_size);
+ dns_fixedname_init(&fixed);
+ name = dns_fixedname_name(&fixed);
+
/*
* In the following loop, we regard any error fatal regardless of
* whether "MANYERRORS" is set in the context option. This is because
@@ -2182,7 +2187,7 @@ load_raw(dns_loadctx_t *lctx) {
for (loop_cnt = 0;
(lctx->loop_cnt == 0 || loop_cnt < lctx->loop_cnt);
loop_cnt++) {
- unsigned int i, rdcount, consumed_name;
+ unsigned int i, rdcount;
isc_uint16_t namelen;
isc_uint32_t totallen;
size_t minlen, readlen;
@@ -2272,12 +2277,11 @@ load_raw(dns_loadctx_t *lctx) {
lctx->f);
if (result != ISC_R_SUCCESS)
goto cleanup;
+
isc_buffer_setactive(&target, (unsigned int)namelen);
- isc_buffer_activeregion(&target, &r);
- dns_name_init(&name, NULL);
- dns_name_fromregion(&name, &r);
- isc_buffer_forward(&target, (unsigned int)namelen);
- consumed_name = isc_buffer_consumedlength(&target);
+ result = dns_name_fromwire(name, &target, &dctx, 0, NULL);
+ if (result != ISC_R_SUCCESS)
+ goto cleanup;
/* Rdata contents. */
if (rdcount > rdata_size) {
@@ -2308,7 +2312,7 @@ load_raw(dns_loadctx_t *lctx) {
/* Partial Commit. */
ISC_LIST_APPEND(head, &rdatalist, link);
- result = commit(callbacks, lctx, &head, &name,
+ result = commit(callbacks, lctx, &head, name,
NULL, 0);
for (j = 0; j < i; j++) {
ISC_LIST_UNLINK(rdatalist.rdata,
@@ -2320,8 +2324,6 @@ load_raw(dns_loadctx_t *lctx) {
/* Rewind the buffer and continue */
isc_buffer_clear(&target);
- isc_buffer_add(&target, consumed_name);
- isc_buffer_forward(&target, consumed_name);
rdcount -= i;
@@ -2341,11 +2343,20 @@ load_raw(dns_loadctx_t *lctx) {
if (result != ISC_R_SUCCESS)
goto cleanup;
isc_buffer_setactive(&target, (unsigned int)rdlen);
- isc_buffer_activeregion(&target, &r);
- isc_buffer_forward(&target, (unsigned int)rdlen);
- dns_rdata_fromregion(&rdata[i], rdatalist.rdclass,
- rdatalist.type, &r);
-
+ /*
+ * It is safe to have the source active region and
+ * the target available region be the same if
+ * decompression is disabled (see dctx above) and we
+ * are not downcasing names (options == 0).
+ */
+ isc_buffer_init(&buf, isc_buffer_current(&target),
+ (unsigned int)rdlen);
+ result = dns_rdata_fromwire(&rdata[i],
+ rdatalist.rdclass,
+ rdatalist.type, &target,
+ &dctx, 0, &buf);
+ if (result != ISC_R_SUCCESS)
+ goto cleanup;
ISC_LIST_APPEND(rdatalist.rdata, &rdata[i], link);
}
@@ -2362,7 +2373,7 @@ load_raw(dns_loadctx_t *lctx) {
ISC_LIST_APPEND(head, &rdatalist, link);
/* Commit this RRset. rdatalist will be unlinked. */
- result = commit(callbacks, lctx, &head, &name, NULL, 0);
+ result = commit(callbacks, lctx, &head, name, NULL, 0);
for (i = 0; i < rdcount; i++) {
ISC_LIST_UNLINK(rdatalist.rdata, &rdata[i], link);
diff --git a/lib/dns/masterdump.c b/lib/dns/masterdump.c
index e800715e..2717658e 100644
--- a/lib/dns/masterdump.c
+++ b/lib/dns/masterdump.c
@@ -1614,7 +1614,8 @@ dns_master_dumptostream3(isc_mem_t *mctx, dns_db_t *db,
}
static isc_result_t
-opentmp(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
+opentmp(isc_mem_t *mctx, dns_masterformat_t format, const char *file,
+ char **tempp, FILE **fp) {
FILE *f = NULL;
isc_result_t result;
char *tempname = NULL;
@@ -1629,7 +1630,10 @@ opentmp(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
if (result != ISC_R_SUCCESS)
goto cleanup;
- result = isc_file_openunique(tempname, &f);
+ if (format == dns_masterformat_text)
+ result = isc_file_openunique(tempname, &f);
+ else
+ result = isc_file_bopenunique(tempname, &f);
if (result != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, ISC_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_MASTERDUMP, ISC_LOG_ERROR,
@@ -1684,7 +1688,7 @@ dns_master_dumpinc3(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version,
if (file == NULL)
return (ISC_R_NOMEMORY);
- result = opentmp(mctx, filename, &tempname, &f);
+ result = opentmp(mctx, format, filename, &tempname, &f);
if (result != ISC_R_SUCCESS)
goto cleanup;
@@ -1748,7 +1752,7 @@ dns_master_dump3(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version,
char *tempname;
dns_dumpctx_t *dctx = NULL;
- result = opentmp(mctx, filename, &tempname, &f);
+ result = opentmp(mctx, format, filename, &tempname, &f);
if (result != ISC_R_SUCCESS)
return (result);
diff --git a/lib/dns/nsec.c b/lib/dns/nsec.c
index 6e3a69ab..69207d09 100644
--- a/lib/dns/nsec.c
+++ b/lib/dns/nsec.c
@@ -41,28 +41,61 @@
goto failure; \
} while (0)
-static void
-set_bit(unsigned char *array, unsigned int index, unsigned int bit) {
+void
+dns_nsec_setbit(unsigned char *array, unsigned int type, unsigned int bit) {
unsigned int shift, mask;
- shift = 7 - (index % 8);
+ shift = 7 - (type % 8);
mask = 1 << shift;
if (bit != 0)
- array[index / 8] |= mask;
+ array[type / 8] |= mask;
else
- array[index / 8] &= (~mask & 0xFF);
+ array[type / 8] &= (~mask & 0xFF);
}
-static unsigned int
-bit_isset(unsigned char *array, unsigned int index) {
+isc_boolean_t
+dns_nsec_isset(const unsigned char *array, unsigned int type) {
unsigned int byte, shift, mask;
- byte = array[index / 8];
- shift = 7 - (index % 8);
+ byte = array[type / 8];
+ shift = 7 - (type % 8);
mask = 1 << shift;
- return ((byte & mask) != 0);
+ return (ISC_TF(byte & mask));
+}
+
+unsigned int
+dns_nsec_compressbitmap(unsigned char *map, const unsigned char *raw,
+ unsigned int max_type)
+{
+ unsigned char *start = map;
+ unsigned int window;
+ int octet;
+
+ if (raw == NULL)
+ return (0);
+
+ for (window = 0; window < 256; window++) {
+ if (window * 256 > max_type)
+ break;
+ for (octet = 31; octet >= 0; octet--)
+ if (*(raw + octet) != 0)
+ break;
+ if (octet < 0) {
+ raw += 32;
+ continue;
+ }
+ *map++ = window;
+ *map++ = octet + 1;
+ /*
+ * Note: potential overlapping move.
+ */
+ memmove(map, raw, octet + 1);
+ map += octet + 1;
+ raw += 32;
+ }
+ return (map - start);
}
isc_result_t
@@ -73,8 +106,7 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version,
isc_result_t result;
dns_rdataset_t rdataset;
isc_region_t r;
- unsigned int i, window;
- int octet;
+ unsigned int i;
unsigned char *nsec_bits, *bm;
unsigned int max_type;
@@ -90,8 +122,8 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version,
*/
bm = r.base + r.length + 512;
nsec_bits = r.base + r.length;
- set_bit(bm, dns_rdatatype_rrsig, 1);
- set_bit(bm, dns_rdatatype_nsec, 1);
+ dns_nsec_setbit(bm, dns_rdatatype_rrsig, 1);
+ dns_nsec_setbit(bm, dns_rdatatype_nsec, 1);
max_type = dns_rdatatype_nsec;
dns_rdataset_init(&rdataset);
rdsiter = NULL;
@@ -108,7 +140,7 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version,
rdataset.type != dns_rdatatype_rrsig) {
if (rdataset.type > max_type)
max_type = rdataset.type;
- set_bit(bm, rdataset.type, 1);
+ dns_nsec_setbit(bm, rdataset.type, 1);
}
dns_rdataset_disassociate(&rdataset);
}
@@ -116,12 +148,12 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version,
/*
* At zone cuts, deny the existence of glue in the parent zone.
*/
- if (bit_isset(bm, dns_rdatatype_ns) &&
- ! bit_isset(bm, dns_rdatatype_soa)) {
+ if (dns_nsec_isset(bm, dns_rdatatype_ns) &&
+ ! dns_nsec_isset(bm, dns_rdatatype_soa)) {
for (i = 0; i <= max_type; i++) {
- if (bit_isset(bm, i) &&
+ if (dns_nsec_isset(bm, i) &&
! dns_rdatatype_iszonecutauth((dns_rdatatype_t)i))
- set_bit(bm, i, 0);
+ dns_nsec_setbit(bm, i, 0);
}
}
@@ -129,22 +161,8 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version,
if (result != ISC_R_NOMORE)
return (result);
- for (window = 0; window < 256; window++) {
- if (window * 256 > max_type)
- break;
- for (octet = 31; octet >= 0; octet--)
- if (bm[window * 32 + octet] != 0)
- break;
- if (octet < 0)
- continue;
- nsec_bits[0] = window;
- nsec_bits[1] = octet + 1;
- /*
- * Note: potential overlapping move.
- */
- memmove(&nsec_bits[2], &bm[window * 32], octet + 1);
- nsec_bits += 3 + octet;
- }
+ nsec_bits += dns_nsec_compressbitmap(nsec_bits, bm, max_type);
+
r.length = nsec_bits - r.base;
INSIST(r.length <= DNS_NSEC_BUFFERSIZE);
dns_rdata_fromregion(rdata,
@@ -155,7 +173,6 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version,
return (ISC_R_SUCCESS);
}
-
isc_result_t
dns_nsec_build(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node,
dns_name_t *target, dns_ttl_t ttl)
@@ -216,8 +233,8 @@ dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type) {
if ((window + 1) * 256 <= type)
continue;
if (type < (window * 256) + len * 8)
- present = ISC_TF(bit_isset(&nsecstruct.typebits[i],
- type % 256));
+ present = ISC_TF(dns_nsec_isset(&nsecstruct.typebits[i],
+ type % 256));
break;
}
dns_rdata_freestruct(&nsecstruct);
diff --git a/lib/dns/nsec3.c b/lib/dns/nsec3.c
index 44cc6527..4975bf31 100644
--- a/lib/dns/nsec3.c
+++ b/lib/dns/nsec3.c
@@ -33,6 +33,7 @@
#include <dns/dbiterator.h>
#include <dns/diff.h>
#include <dns/fixedname.h>
+#include <dns/nsec.h>
#include <dns/nsec3.h>
#include <dns/rdata.h>
#include <dns/rdatalist.h>
@@ -52,30 +53,6 @@
#define INITIAL(x) (((x) & DNS_NSEC3FLAG_INITIAL) != 0)
#define REMOVE(x) (((x) & DNS_NSEC3FLAG_REMOVE) != 0)
-static void
-set_bit(unsigned char *array, unsigned int index, unsigned int bit) {
- unsigned int shift, mask;
-
- shift = 7 - (index % 8);
- mask = 1 << shift;
-
- if (bit != 0)
- array[index / 8] |= mask;
- else
- array[index / 8] &= (~mask & 0xFF);
-}
-
-static unsigned int
-bit_isset(unsigned char *array, unsigned int index) {
- unsigned int byte, shift, mask;
-
- byte = array[index / 8];
- shift = 7 - (index % 8);
- mask = 1 << shift;
-
- return ((byte & mask) != 0);
-}
-
isc_result_t
dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version,
dns_dbnode_t *node, unsigned int hashalg,
@@ -87,8 +64,7 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version,
isc_result_t result;
dns_rdataset_t rdataset;
isc_region_t r;
- unsigned int i, window;
- int octet;
+ unsigned int i;
isc_boolean_t found;
isc_boolean_t found_ns;
isc_boolean_t need_rrsig;
@@ -156,7 +132,7 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version,
rdataset.type != dns_rdatatype_rrsig) {
if (rdataset.type > max_type)
max_type = rdataset.type;
- set_bit(bm, rdataset.type, 1);
+ dns_nsec_setbit(bm, rdataset.type, 1);
/*
* Work out if we need to set the RRSIG bit for
* this node. We set the RRSIG bit if either of
@@ -179,18 +155,18 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version,
if ((found && !found_ns) || need_rrsig) {
if (dns_rdatatype_rrsig > max_type)
max_type = dns_rdatatype_rrsig;
- set_bit(bm, dns_rdatatype_rrsig, 1);
+ dns_nsec_setbit(bm, dns_rdatatype_rrsig, 1);
}
/*
* At zone cuts, deny the existence of glue in the parent zone.
*/
- if (bit_isset(bm, dns_rdatatype_ns) &&
- ! bit_isset(bm, dns_rdatatype_soa)) {
+ if (dns_nsec_isset(bm, dns_rdatatype_ns) &&
+ ! dns_nsec_isset(bm, dns_rdatatype_soa)) {
for (i = 0; i <= max_type; i++) {
- if (bit_isset(bm, i) &&
+ if (dns_nsec_isset(bm, i) &&
! dns_rdatatype_iszonecutauth((dns_rdatatype_t)i))
- set_bit(bm, i, 0);
+ dns_nsec_setbit(bm, i, 0);
}
}
@@ -199,22 +175,7 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version,
return (result);
collapse_bitmap:
- for (window = 0; window < 256; window++) {
- if (window * 256 > max_type)
- break;
- for (octet = 31; octet >= 0; octet--)
- if (bm[window * 32 + octet] != 0)
- break;
- if (octet < 0)
- continue;
- nsec_bits[0] = window;
- nsec_bits[1] = octet + 1;
- /*
- * Note: potentially overlapping move.
- */
- memmove(&nsec_bits[2], &bm[window * 32], octet + 1);
- nsec_bits += 3 + octet;
- }
+ nsec_bits += dns_nsec_compressbitmap(nsec_bits, bm, max_type);
r.length = nsec_bits - r.base;
INSIST(r.length <= DNS_NSEC3_BUFFERSIZE);
dns_rdata_fromregion(rdata, dns_db_class(db), dns_rdatatype_nsec3, &r);
@@ -249,8 +210,8 @@ dns_nsec3_typepresent(dns_rdata_t *rdata, dns_rdatatype_t type) {
if ((window + 1) * 256 <= type)
continue;
if (type < (window * 256) + len * 8)
- present = ISC_TF(bit_isset(&nsec3.typebits[i],
- type % 256));
+ present = ISC_TF(dns_nsec_isset(&nsec3.typebits[i],
+ type % 256));
break;
}
dns_rdata_freestruct(&nsec3);
diff --git a/lib/dns/openssl_link.c b/lib/dns/openssl_link.c
index 59626f20..d186761c 100644
--- a/lib/dns/openssl_link.c
+++ b/lib/dns/openssl_link.c
@@ -45,6 +45,8 @@
#include <isc/thread.h>
#include <isc/util.h>
+#include <dns/log.h>
+
#include <dst/result.h>
#include "dst_internal.h"
@@ -172,6 +174,8 @@ dst__openssl_init(const char *engine) {
CRYPTO_set_locking_callback(lock_callback);
CRYPTO_set_id_callback(id_callback);
+ ERR_load_crypto_strings();
+
rm = mem_alloc(sizeof(RAND_METHOD));
if (rm == NULL) {
result = ISC_R_NOMEMORY;
@@ -285,7 +289,7 @@ dst__openssl_destroy() {
isc_result_t
dst__openssl_toresult(isc_result_t fallback) {
isc_result_t result = fallback;
- int err = ERR_get_error();
+ unsigned long err = ERR_get_error();
switch (ERR_GET_REASON(err)) {
case ERR_R_MALLOC_FAILURE:
@@ -298,6 +302,40 @@ dst__openssl_toresult(isc_result_t fallback) {
return (result);
}
+isc_result_t
+dst__openssl_toresult2(const char *funcname, isc_result_t fallback) {
+ isc_result_t result = fallback;
+ unsigned long err = ERR_peek_error();
+ const char *file, *data;
+ int line, flags;
+ char buf[256];
+
+ switch (ERR_GET_REASON(err)) {
+ case ERR_R_MALLOC_FAILURE:
+ result = ISC_R_NOMEMORY;
+ goto done;
+ default:
+ break;
+ }
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
+ DNS_LOGMODULE_CRYPTO, ISC_LOG_WARNING,
+ "%s failed", funcname);
+ for (;;) {
+ err = ERR_get_error_line_data(&file, &line, &data, &flags);
+ if (err == 0U)
+ goto done;
+ ERR_error_string_n(err, buf, sizeof(buf));
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
+ DNS_LOGMODULE_CRYPTO, ISC_LOG_INFO,
+ "%s:%s:%d:%s", buf, file, line,
+ (flags & ERR_TXT_STRING) ? data : "");
+ }
+
+ done:
+ ERR_clear_error();
+ return (result);
+}
+
#if defined(USE_ENGINE)
ENGINE *
dst__openssl_getengine(const char *engine) {
diff --git a/lib/dns/openssldh_link.c b/lib/dns/openssldh_link.c
index 71b4b122..36b8a412 100644
--- a/lib/dns/openssldh_link.c
+++ b/lib/dns/openssldh_link.c
@@ -1,5 +1,5 @@
/*
- * Portions Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2009, 2011, 2012 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
@@ -94,7 +94,8 @@ openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv,
return (ISC_R_NOSPACE);
ret = DH_compute_key(r.base, dhpub->pub_key, dhpriv);
if (ret == 0)
- return (dst__openssl_toresult(DST_R_COMPUTESECRETFAILURE));
+ return (dst__openssl_toresult2("DH_compute_key",
+ DST_R_COMPUTESECRETFAILURE));
isc_buffer_add(secret, len);
return (ISC_R_SUCCESS);
}
@@ -204,7 +205,7 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
#if OPENSSL_VERSION_NUMBER > 0x00908000L
dh = DH_new();
if (dh == NULL)
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult(ISC_R_NOMEMORY));
if (callback == NULL) {
BN_GENCB_set_old(&cb, NULL, NULL);
@@ -216,7 +217,9 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
if (!DH_generate_parameters_ex(dh, key->key_size, generator,
&cb)) {
DH_free(dh);
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2(
+ "DH_generate_parameters_ex",
+ DST_R_OPENSSLFAILURE));
}
#else
dh = DH_generate_parameters(key->key_size, generator,
@@ -225,11 +228,13 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
}
if (dh == NULL)
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2("DH_generate_parameters",
+ DST_R_OPENSSLFAILURE));
if (DH_generate_key(dh) == 0) {
DH_free(dh);
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2("DH_generate_key",
+ DST_R_OPENSSLFAILURE));
}
dh->flags &= ~DH_FLAG_CACHE_MONT_P;
@@ -460,6 +465,7 @@ openssldh_tofile(const dst_key_t *key, const char *directory) {
dh = key->keydata.dh;
+ memset(bufs, 0, sizeof(bufs));
for (i = 0; i < 4; i++) {
bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(dh->p));
if (bufs[i] == NULL) {
@@ -628,6 +634,7 @@ static dst_func_t openssldh_functions = {
NULL, /*%< adddata */
NULL, /*%< openssldh_sign */
NULL, /*%< openssldh_verify */
+ NULL, /*%< openssldh_verify2 */
openssldh_computesecret,
openssldh_compare,
openssldh_paramcompare,
diff --git a/lib/dns/openssldsa_link.c b/lib/dns/openssldsa_link.c
index 39c06159..715fa73a 100644
--- a/lib/dns/openssldsa_link.c
+++ b/lib/dns/openssldsa_link.c
@@ -168,7 +168,8 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
if (!EVP_SignFinal(evp_md_ctx, sigbuf, &siglen, pkey)) {
EVP_PKEY_free(pkey);
free(sigbuf);
- return (ISC_R_FAILURE);
+ return (dst__openssl_toresult2("EVP_SignFinal",
+ ISC_R_FAILURE));
}
INSIST(EVP_PKEY_size(pkey) >= (int) siglen);
EVP_PKEY_free(pkey);
@@ -181,23 +182,26 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
sb = sigbuf;
if (d2i_DSA_SIG(&dsasig, &sb, (long) siglen) == NULL) {
free(sigbuf);
- return (ISC_R_FAILURE);
+ return (dst__openssl_toresult2("d2i_DSA_SIG", ISC_R_FAILURE));
}
free(sigbuf);
#elif 0
/* Only use EVP for the Digest */
if (!EVP_DigestFinal_ex(evp_md_ctx, digest, &siglen)) {
- return (ISC_R_FAILURE);
+ return (dst__openssl_toresult2("EVP_DigestFinal_ex",
+ ISC_R_FAILURE));
}
dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa);
if (dsasig == NULL)
- return (dst__openssl_toresult(DST_R_SIGNFAILURE));
+ return (dst__openssl_toresult2("DSA_do_sign",
+ DST_R_SIGNFAILURE));
#else
isc_sha1_final(sha1ctx, digest);
dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa);
if (dsasig == NULL)
- return (dst__openssl_toresult(DST_R_SIGNFAILURE));
+ return (dst__openssl_toresult2("DSA_do_sign",
+ DST_R_SIGNFAILURE));
#endif
*r.base++ = (key->key_size - 512)/64;
BN_bn2bin_fixed(dsasig->r, r.base, ISC_SHA1_DIGESTLENGTH);
@@ -276,10 +280,15 @@ openssldsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
status = DSA_do_verify(digest, ISC_SHA1_DIGESTLENGTH, dsasig, dsa);
#endif
DSA_SIG_free(dsasig);
- if (status != 1)
+ switch (status) {
+ case 1:
+ return (ISC_R_SUCCESS);
+ case 0:
return (dst__openssl_toresult(DST_R_VERIFYFAILURE));
-
- return (ISC_R_SUCCESS);
+ default:
+ return (dst__openssl_toresult2("DSA_do_verify",
+ DST_R_VERIFYFAILURE));
+ }
}
static isc_boolean_t
@@ -370,19 +379,22 @@ openssldsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
&cb))
{
DSA_free(dsa);
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2("DSA_generate_parameters_ex",
+ DST_R_OPENSSLFAILURE));
}
#else
dsa = DSA_generate_parameters(key->key_size, rand_array,
ISC_SHA1_DIGESTLENGTH, NULL, NULL,
NULL, NULL);
if (dsa == NULL)
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2("DSA_generate_parameters",
+ DST_R_OPENSSLFAILURE));
#endif
if (DSA_generate_key(dsa) == 0) {
DSA_free(dsa);
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2("DSA_generate_key",
+ DST_R_OPENSSLFAILURE));
}
dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
@@ -605,6 +617,7 @@ static dst_func_t openssldsa_functions = {
openssldsa_adddata,
openssldsa_sign,
openssldsa_verify,
+ NULL, /*%< verify2 */
NULL, /*%< computesecret */
openssldsa_compare,
NULL, /*%< paramcompare */
diff --git a/lib/dns/opensslecdsa_link.c b/lib/dns/opensslecdsa_link.c
new file mode 100644
index 00000000..ad628650
--- /dev/null
+++ b/lib/dns/opensslecdsa_link.c
@@ -0,0 +1,597 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+#include <config.h>
+
+#ifdef HAVE_OPENSSL_ECDSA
+
+#if !defined(HAVE_EVP_SHA256) || !defined(HAVE_EVP_SHA384)
+#error "ECDSA without EVP for SHA2?"
+#endif
+
+#include <isc/entropy.h>
+#include <isc/mem.h>
+#include <isc/sha2.h>
+#include <isc/string.h>
+#include <isc/util.h>
+
+#include <dns/keyvalues.h>
+#include <dst/result.h>
+
+#include "dst_internal.h"
+#include "dst_openssl.h"
+#include "dst_parse.h"
+
+#include <openssl/err.h>
+#include <openssl/objects.h>
+#include <openssl/ecdsa.h>
+#include <openssl/bn.h>
+
+#ifndef NID_X9_62_prime256v1
+#error "P-256 group is not known (NID_X9_62_prime256v1)"
+#endif
+#ifndef NID_secp384r1
+#error "P-384 group is not known (NID_secp384r1)"
+#endif
+
+#define DST_RET(a) {ret = a; goto err;}
+
+static isc_result_t opensslecdsa_todns(const dst_key_t *key,
+ isc_buffer_t *data);
+
+static isc_result_t
+opensslecdsa_createctx(dst_key_t *key, dst_context_t *dctx) {
+ EVP_MD_CTX *evp_md_ctx;
+ const EVP_MD *type = NULL;
+
+ UNUSED(key);
+ REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 ||
+ dctx->key->key_alg == DST_ALG_ECDSA384);
+
+ evp_md_ctx = EVP_MD_CTX_create();
+ if (evp_md_ctx == NULL)
+ return (ISC_R_NOMEMORY);
+ if (dctx->key->key_alg == DST_ALG_ECDSA256)
+ type = EVP_sha256();
+ else
+ type = EVP_sha384();
+
+ if (!EVP_DigestInit_ex(evp_md_ctx, type, NULL)) {
+ EVP_MD_CTX_destroy(evp_md_ctx);
+ return (dst__openssl_toresult2("EVP_DigestInit_ex",
+ ISC_R_FAILURE));
+ }
+
+ dctx->ctxdata.evp_md_ctx = evp_md_ctx;
+
+ return (ISC_R_SUCCESS);
+}
+
+static void
+opensslecdsa_destroyctx(dst_context_t *dctx) {
+ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx;
+
+ REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 ||
+ dctx->key->key_alg == DST_ALG_ECDSA384);
+
+ if (evp_md_ctx != NULL) {
+ EVP_MD_CTX_destroy(evp_md_ctx);
+ dctx->ctxdata.evp_md_ctx = NULL;
+ }
+}
+
+static isc_result_t
+opensslecdsa_adddata(dst_context_t *dctx, const isc_region_t *data) {
+ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx;
+
+ REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 ||
+ dctx->key->key_alg == DST_ALG_ECDSA384);
+
+ if (!EVP_DigestUpdate(evp_md_ctx, data->base, data->length))
+ return (dst__openssl_toresult2("EVP_DigestUpdate",
+ ISC_R_FAILURE));
+
+ return (ISC_R_SUCCESS);
+}
+
+static int
+BN_bn2bin_fixed(BIGNUM *bn, unsigned char *buf, int size) {
+ int bytes = size - BN_num_bytes(bn);
+
+ while (bytes-- > 0)
+ *buf++ = 0;
+ BN_bn2bin(bn, buf);
+ return (size);
+}
+
+static isc_result_t
+opensslecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
+ isc_result_t ret;
+ dst_key_t *key = dctx->key;
+ isc_region_t r;
+ ECDSA_SIG *ecdsasig;
+ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx;
+ EVP_PKEY *pkey = key->keydata.pkey;
+ EC_KEY *eckey = EVP_PKEY_get1_EC_KEY(pkey);
+ unsigned int dgstlen, siglen;
+ unsigned char digest[EVP_MAX_MD_SIZE];
+
+ REQUIRE(key->key_alg == DST_ALG_ECDSA256 ||
+ key->key_alg == DST_ALG_ECDSA384);
+
+ if (eckey == NULL)
+ return (ISC_R_FAILURE);
+
+ if (key->key_alg == DST_ALG_ECDSA256)
+ siglen = DNS_SIG_ECDSA256SIZE;
+ else
+ siglen = DNS_SIG_ECDSA384SIZE;
+
+ isc_buffer_availableregion(sig, &r);
+ if (r.length < siglen)
+ DST_RET(ISC_R_NOSPACE);
+
+ if (!EVP_DigestFinal(evp_md_ctx, digest, &dgstlen))
+ DST_RET(dst__openssl_toresult2("EVP_DigestFinal",
+ ISC_R_FAILURE));
+
+ ecdsasig = ECDSA_do_sign(digest, dgstlen, eckey);
+ if (ecdsasig == NULL)
+ DST_RET(dst__openssl_toresult2("ECDSA_do_sign",
+ DST_R_SIGNFAILURE));
+ BN_bn2bin_fixed(ecdsasig->r, r.base, siglen / 2);
+ r.base += siglen / 2;
+ BN_bn2bin_fixed(ecdsasig->s, r.base, siglen / 2);
+ r.base += siglen / 2;
+ ECDSA_SIG_free(ecdsasig);
+ isc_buffer_add(sig, siglen);
+ ret = ISC_R_SUCCESS;
+
+ err:
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ return (ret);
+}
+
+static isc_result_t
+opensslecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
+ isc_result_t ret;
+ dst_key_t *key = dctx->key;
+ int status;
+ unsigned char *cp = sig->base;
+ ECDSA_SIG *ecdsasig = NULL;
+ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx;
+ EVP_PKEY *pkey = key->keydata.pkey;
+ EC_KEY *eckey = EVP_PKEY_get1_EC_KEY(pkey);
+ unsigned int dgstlen, siglen;
+ unsigned char digest[EVP_MAX_MD_SIZE];
+
+ REQUIRE(key->key_alg == DST_ALG_ECDSA256 ||
+ key->key_alg == DST_ALG_ECDSA384);
+
+ if (eckey == NULL)
+ return (ISC_R_FAILURE);
+
+ if (key->key_alg == DST_ALG_ECDSA256)
+ siglen = DNS_SIG_ECDSA256SIZE;
+ else
+ siglen = DNS_SIG_ECDSA384SIZE;
+
+ if (sig->length != siglen)
+ return (DST_R_VERIFYFAILURE);
+
+ if (!EVP_DigestFinal_ex(evp_md_ctx, digest, &dgstlen))
+ DST_RET (dst__openssl_toresult2("EVP_DigestFinal_ex",
+ ISC_R_FAILURE));
+
+ ecdsasig = ECDSA_SIG_new();
+ if (ecdsasig == NULL)
+ DST_RET (ISC_R_NOMEMORY);
+ ecdsasig->r = BN_bin2bn(cp, siglen / 2, NULL);
+ cp += siglen / 2;
+ ecdsasig->s = BN_bin2bn(cp, siglen / 2, NULL);
+ /* cp += siglen / 2; */
+
+ status = ECDSA_do_verify(digest, dgstlen, ecdsasig, eckey);
+ switch (status) {
+ case 1:
+ ret = ISC_R_SUCCESS;
+ break;
+ case 0:
+ ret = dst__openssl_toresult(DST_R_VERIFYFAILURE);
+ break;
+ default:
+ ret = dst__openssl_toresult2("ECDSA_do_verify",
+ DST_R_VERIFYFAILURE);
+ break;
+ }
+
+ err:
+ if (ecdsasig != NULL)
+ ECDSA_SIG_free(ecdsasig);
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ return (ret);
+}
+
+static isc_boolean_t
+opensslecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) {
+ isc_boolean_t ret;
+ int status;
+ EVP_PKEY *pkey1 = key1->keydata.pkey;
+ EVP_PKEY *pkey2 = key2->keydata.pkey;
+ EC_KEY *eckey1 = NULL;
+ EC_KEY *eckey2 = NULL;
+ const BIGNUM *priv1, *priv2;
+
+ if (pkey1 == NULL && pkey2 == NULL)
+ return (ISC_TRUE);
+ else if (pkey1 == NULL || pkey2 == NULL)
+ return (ISC_FALSE);
+
+ eckey1 = EVP_PKEY_get1_EC_KEY(pkey1);
+ eckey2 = EVP_PKEY_get1_EC_KEY(pkey2);
+ if (eckey1 == NULL && eckey2 == NULL) {
+ DST_RET (ISC_TRUE);
+ } else if (eckey1 == NULL || eckey2 == NULL)
+ DST_RET (ISC_FALSE);
+
+ status = EVP_PKEY_cmp(pkey1, pkey2);
+ if (status != 1)
+ DST_RET (ISC_FALSE);
+
+ priv1 = EC_KEY_get0_private_key(eckey1);
+ priv2 = EC_KEY_get0_private_key(eckey2);
+ if (priv1 != NULL || priv2 != NULL) {
+ if (priv1 == NULL || priv2 == NULL)
+ DST_RET (ISC_FALSE);
+ if (BN_cmp(priv1, priv2) != 0)
+ DST_RET (ISC_FALSE);
+ }
+ ret = ISC_TRUE;
+
+ err:
+ if (eckey1 != NULL)
+ EC_KEY_free(eckey1);
+ if (eckey2 != NULL)
+ EC_KEY_free(eckey2);
+ return (ret);
+}
+
+static isc_result_t
+opensslecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
+ isc_result_t ret;
+ EVP_PKEY *pkey;
+ EC_KEY *eckey = NULL;
+ int group_nid;
+
+ REQUIRE(key->key_alg == DST_ALG_ECDSA256 ||
+ key->key_alg == DST_ALG_ECDSA384);
+ UNUSED(unused);
+ UNUSED(callback);
+
+ if (key->key_alg == DST_ALG_ECDSA256)
+ group_nid = NID_X9_62_prime256v1;
+ else
+ group_nid = NID_secp384r1;
+
+ eckey = EC_KEY_new_by_curve_name(group_nid);
+ if (eckey == NULL)
+ return (dst__openssl_toresult2("EC_KEY_new_by_curve_name",
+ DST_R_OPENSSLFAILURE));
+
+ if (EC_KEY_generate_key(eckey) != 1)
+ DST_RET (dst__openssl_toresult2("EC_KEY_generate_key",
+ DST_R_OPENSSLFAILURE));
+
+ pkey = EVP_PKEY_new();
+ if (pkey == NULL)
+ DST_RET (ISC_R_NOMEMORY);
+ if (!EVP_PKEY_set1_EC_KEY(pkey, eckey)) {
+ EVP_PKEY_free(pkey);
+ DST_RET (ISC_R_FAILURE);
+ }
+ key->keydata.pkey = pkey;
+ ret = ISC_R_SUCCESS;
+
+ err:
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ return (ret);
+}
+
+static isc_boolean_t
+opensslecdsa_isprivate(const dst_key_t *key) {
+ isc_boolean_t ret;
+ EVP_PKEY *pkey = key->keydata.pkey;
+ EC_KEY *eckey = EVP_PKEY_get1_EC_KEY(pkey);
+
+ ret = ISC_TF(eckey != NULL && EC_KEY_get0_private_key(eckey) != NULL);
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ return (ret);
+}
+
+static void
+opensslecdsa_destroy(dst_key_t *key) {
+ EVP_PKEY *pkey = key->keydata.pkey;
+
+ EVP_PKEY_free(pkey);
+ key->keydata.pkey = NULL;
+}
+
+static isc_result_t
+opensslecdsa_todns(const dst_key_t *key, isc_buffer_t *data) {
+ isc_result_t ret;
+ EVP_PKEY *pkey;
+ EC_KEY *eckey = NULL;
+ isc_region_t r;
+ int len;
+ unsigned char *cp;
+ unsigned char buf[DNS_KEY_ECDSA384SIZE + 1];
+
+ REQUIRE(key->keydata.pkey != NULL);
+
+ pkey = key->keydata.pkey;
+ eckey = EVP_PKEY_get1_EC_KEY(pkey);
+ if (eckey == NULL)
+ return (dst__openssl_toresult(ISC_R_FAILURE));
+ len = i2o_ECPublicKey(eckey, NULL);
+ /* skip form */
+ len--;
+
+ isc_buffer_availableregion(data, &r);
+ if (r.length < (unsigned int) len)
+ DST_RET (ISC_R_NOSPACE);
+ cp = buf;
+ if (!i2o_ECPublicKey(eckey, &cp))
+ DST_RET (dst__openssl_toresult(ISC_R_FAILURE));
+ memcpy(r.base, buf + 1, len);
+ isc_buffer_add(data, len);
+ ret = ISC_R_SUCCESS;
+
+ err:
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ return (ret);
+}
+
+static isc_result_t
+opensslecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
+ isc_result_t ret;
+ EVP_PKEY *pkey;
+ EC_KEY *eckey = NULL;
+ isc_region_t r;
+ int group_nid;
+ unsigned int len;
+ const unsigned char *cp;
+ unsigned char buf[DNS_KEY_ECDSA384SIZE + 1];
+
+ REQUIRE(key->key_alg == DST_ALG_ECDSA256 ||
+ key->key_alg == DST_ALG_ECDSA384);
+
+ if (key->key_alg == DST_ALG_ECDSA256) {
+ len = DNS_KEY_ECDSA256SIZE;
+ group_nid = NID_X9_62_prime256v1;
+ } else {
+ len = DNS_KEY_ECDSA384SIZE;
+ group_nid = NID_secp384r1;
+ }
+
+ isc_buffer_remainingregion(data, &r);
+ if (r.length == 0)
+ return (ISC_R_SUCCESS);
+ if (r.length < len)
+ return (DST_R_INVALIDPUBLICKEY);
+
+ eckey = EC_KEY_new_by_curve_name(group_nid);
+ if (eckey == NULL)
+ return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+
+ buf[0] = POINT_CONVERSION_UNCOMPRESSED;
+ memcpy(buf + 1, r.base, len);
+ cp = buf;
+ if (o2i_ECPublicKey(&eckey,
+ (const unsigned char **) &cp,
+ (long) len + 1) == NULL)
+ DST_RET (dst__openssl_toresult(DST_R_INVALIDPUBLICKEY));
+ if (EC_KEY_check_key(eckey) != 1)
+ DST_RET (dst__openssl_toresult(DST_R_INVALIDPUBLICKEY));
+
+ pkey = EVP_PKEY_new();
+ if (pkey == NULL)
+ DST_RET (ISC_R_NOMEMORY);
+ if (!EVP_PKEY_set1_EC_KEY(pkey, eckey)) {
+ EVP_PKEY_free(pkey);
+ DST_RET (dst__openssl_toresult(ISC_R_FAILURE));
+ }
+
+ isc_buffer_forward(data, len);
+ key->keydata.pkey = pkey;
+ ret = ISC_R_SUCCESS;
+
+ err:
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ return (ret);
+}
+
+static isc_result_t
+opensslecdsa_tofile(const dst_key_t *key, const char *directory) {
+ isc_result_t ret;
+ EVP_PKEY *pkey;
+ EC_KEY *eckey = NULL;
+ const BIGNUM *privkey;
+ dst_private_t priv;
+ unsigned char *buf = NULL;
+
+ if (key->keydata.pkey == NULL)
+ return (DST_R_NULLKEY);
+
+ pkey = key->keydata.pkey;
+ eckey = EVP_PKEY_get1_EC_KEY(pkey);
+ if (eckey == NULL)
+ return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ privkey = EC_KEY_get0_private_key(eckey);
+ if (privkey == NULL)
+ DST_RET (ISC_R_FAILURE);
+
+ buf = isc_mem_get(key->mctx, BN_num_bytes(privkey));
+ if (buf == NULL)
+ DST_RET (ISC_R_NOMEMORY);
+
+ priv.elements[0].tag = TAG_ECDSA_PRIVATEKEY;
+ priv.elements[0].length = BN_num_bytes(privkey);
+ BN_bn2bin(privkey, buf);
+ priv.elements[0].data = buf;
+ priv.nelements = ECDSA_NTAGS;
+ ret = dst__privstruct_writefile(key, &priv, directory);
+
+ err:
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ if (buf != NULL)
+ isc_mem_put(key->mctx, buf, BN_num_bytes(privkey));
+ return (ret);
+}
+
+static isc_result_t
+ecdsa_check(EC_KEY *eckey, dst_key_t *pub)
+{
+ isc_result_t ret = ISC_R_FAILURE;
+ EVP_PKEY *pkey;
+ EC_KEY *pubeckey = NULL;
+ const EC_POINT *pubkey;
+
+ if (pub == NULL)
+ return (ISC_R_SUCCESS);
+ pkey = pub->keydata.pkey;
+ if (pkey == NULL)
+ return (ISC_R_SUCCESS);
+ pubeckey = EVP_PKEY_get1_EC_KEY(pkey);
+ if (pubeckey == NULL)
+ return (ISC_R_SUCCESS);
+ pubkey = EC_KEY_get0_public_key(pubeckey);
+ if (pubkey == NULL)
+ DST_RET (ISC_R_SUCCESS);
+ if (EC_KEY_set_public_key(eckey, pubkey) != 1)
+ DST_RET (ISC_R_SUCCESS);
+ if (EC_KEY_check_key(eckey) == 1)
+ DST_RET (ISC_R_SUCCESS);
+
+ err:
+ if (pubeckey != NULL)
+ EC_KEY_free(pubeckey);
+ return (ret);
+}
+
+static isc_result_t
+opensslecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
+ dst_private_t priv;
+ isc_result_t ret;
+ EVP_PKEY *pkey;
+ EC_KEY *eckey = NULL;
+ BIGNUM *privkey;
+ int group_nid;
+ isc_mem_t *mctx = key->mctx;
+
+ REQUIRE(key->key_alg == DST_ALG_ECDSA256 ||
+ key->key_alg == DST_ALG_ECDSA384);
+
+ if (key->key_alg == DST_ALG_ECDSA256)
+ group_nid = NID_X9_62_prime256v1;
+ else
+ group_nid = NID_secp384r1;
+
+ eckey = EC_KEY_new_by_curve_name(group_nid);
+ if (eckey == NULL)
+ return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+
+ /* read private key file */
+ ret = dst__privstruct_parse(key, DST_ALG_ECDSA256, lexer, mctx, &priv);
+ if (ret != ISC_R_SUCCESS)
+ goto err;
+
+ privkey = BN_bin2bn(priv.elements[0].data,
+ priv.elements[0].length, NULL);
+ if (privkey == NULL)
+ DST_RET(ISC_R_NOMEMORY);
+ if (!EC_KEY_set_private_key(eckey, privkey))
+ DST_RET(ISC_R_NOMEMORY);
+ if (ecdsa_check(eckey, pub) != ISC_R_SUCCESS)
+ DST_RET(DST_R_INVALIDPRIVATEKEY);
+ dst__privstruct_free(&priv, mctx);
+ memset(&priv, 0, sizeof(priv));
+
+ pkey = EVP_PKEY_new();
+ if (pkey == NULL)
+ DST_RET (ISC_R_NOMEMORY);
+ if (!EVP_PKEY_set1_EC_KEY(pkey, eckey)) {
+ EVP_PKEY_free(pkey);
+ DST_RET (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ }
+ key->keydata.pkey = pkey;
+ ret = ISC_R_SUCCESS;
+
+ err:
+ if (eckey != NULL)
+ EC_KEY_free(eckey);
+ dst__privstruct_free(&priv, mctx);
+ memset(&priv, 0, sizeof(priv));
+ return (ret);
+}
+
+static dst_func_t opensslecdsa_functions = {
+ opensslecdsa_createctx,
+ opensslecdsa_destroyctx,
+ opensslecdsa_adddata,
+ opensslecdsa_sign,
+ opensslecdsa_verify,
+ NULL, /*%< verify2 */
+ NULL, /*%< computesecret */
+ opensslecdsa_compare,
+ NULL, /*%< paramcompare */
+ opensslecdsa_generate,
+ opensslecdsa_isprivate,
+ opensslecdsa_destroy,
+ opensslecdsa_todns,
+ opensslecdsa_fromdns,
+ opensslecdsa_tofile,
+ opensslecdsa_parse,
+ NULL, /*%< cleanup */
+ NULL, /*%< fromlabel */
+ NULL, /*%< dump */
+ NULL, /*%< restore */
+};
+
+isc_result_t
+dst__opensslecdsa_init(dst_func_t **funcp) {
+ REQUIRE(funcp != NULL);
+ if (*funcp == NULL)
+ *funcp = &opensslecdsa_functions;
+ return (ISC_R_SUCCESS);
+}
+
+#else /* HAVE_OPENSSL_ECDSA */
+
+#include <isc/util.h>
+
+EMPTY_TRANSLATION_UNIT
+
+#endif /* HAVE_OPENSSL_ECDSA */
+/*! \file */
diff --git a/lib/dns/opensslgost_link.c b/lib/dns/opensslgost_link.c
index e92d50f9..1ca89808 100644
--- a/lib/dns/opensslgost_link.c
+++ b/lib/dns/opensslgost_link.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2010-2012 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
@@ -121,10 +121,15 @@ opensslgost_verify(dst_context_t *dctx, const isc_region_t *sig) {
EVP_PKEY *pkey = key->keydata.pkey;
status = EVP_VerifyFinal(evp_md_ctx, sig->base, sig->length, pkey);
- if (status != 1)
+ switch (status) {
+ case 1:
+ return (ISC_R_SUCCESS);
+ case 0:
return (dst__openssl_toresult(DST_R_VERIFYFAILURE));
-
- return (ISC_R_SUCCESS);
+ default:
+ return (dst__openssl_toresult2("EVP_VerifyFinal",
+ DST_R_VERIFYFAILURE));
+ }
}
static isc_boolean_t
@@ -168,22 +173,27 @@ opensslgost_generate(dst_key_t *key, int unused, void (*callback)(int)) {
void (*fptr)(int);
} u;
EVP_PKEY *pkey = NULL;
+ isc_result_t ret;
UNUSED(unused);
ctx = EVP_PKEY_CTX_new_id(NID_id_GostR3410_2001, NULL);
if (ctx == NULL)
- goto err;
+ DST_RET(dst__openssl_toresult2("EVP_PKEY_CTX_new_id",
+ DST_R_OPENSSLFAILURE));
if (callback != NULL) {
u.fptr = callback;
EVP_PKEY_CTX_set_app_data(ctx, u.dptr);
EVP_PKEY_CTX_set_cb(ctx, &progress_cb);
}
if (EVP_PKEY_keygen_init(ctx) <= 0)
- goto err;
+ DST_RET(dst__openssl_toresult2("EVP_PKEY_keygen_init",
+ DST_R_OPENSSLFAILURE));
if (EVP_PKEY_CTX_ctrl_str(ctx, "paramset", "A") <= 0)
- goto err;
+ DST_RET(dst__openssl_toresult2("EVP_PKEY_CTX_ctrl_str",
+ DST_R_OPENSSLFAILURE));
if (EVP_PKEY_keygen(ctx, &pkey) <= 0)
- goto err;
+ DST_RET(dst__openssl_toresult2("EVP_PKEY_keygen",
+ DST_R_OPENSSLFAILURE));
key->keydata.pkey = pkey;
EVP_PKEY_CTX_free(ctx);
return (ISC_R_SUCCESS);
@@ -193,7 +203,7 @@ err:
EVP_PKEY_free(pkey);
if (ctx != NULL)
EVP_PKEY_CTX_free(ctx);
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (ret);
}
static isc_boolean_t
@@ -267,7 +277,8 @@ opensslgost_fromdns(dst_key_t *key, isc_buffer_t *data) {
p = der;
if (d2i_PUBKEY(&pkey, &p, (long) sizeof(der)) == NULL)
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2("d2i_PUBKEY",
+ DST_R_OPENSSLFAILURE));
key->keydata.pkey = pkey;
return (ISC_R_SUCCESS);
@@ -293,7 +304,8 @@ opensslgost_tofile(const dst_key_t *key, const char *directory) {
p = der;
if (i2d_PrivateKey(pkey, &p) != len) {
- result = dst__openssl_toresult(DST_R_OPENSSLFAILURE);
+ result = dst__openssl_toresult2("i2d_PrivateKey",
+ DST_R_OPENSSLFAILURE);
goto fail;
}
@@ -328,7 +340,8 @@ opensslgost_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
p = priv.elements[0].data;
if (d2i_PrivateKey(NID_id_GostR3410_2001, &pkey, &p,
(long) priv.elements[0].length) == NULL)
- DST_RET(DST_R_INVALIDPRIVATEKEY);
+ DST_RET(dst__openssl_toresult2("d2i_PrivateKey",
+ DST_R_INVALIDPRIVATEKEY));
key->keydata.pkey = pkey;
key->key_size = EVP_PKEY_bits(pkey);
dst__privstruct_free(&priv, mctx);
@@ -359,6 +372,7 @@ static dst_func_t opensslgost_functions = {
opensslgost_adddata,
opensslgost_sign,
opensslgost_verify,
+ NULL, /*%< verify2 */
NULL, /*%< computesecret */
opensslgost_compare,
NULL, /*%< paramcompare */
@@ -377,35 +391,47 @@ static dst_func_t opensslgost_functions = {
isc_result_t
dst__opensslgost_init(dst_func_t **funcp) {
+ isc_result_t ret;
+
REQUIRE(funcp != NULL);
/* check if the gost engine works properly */
e = ENGINE_by_id("gost");
if (e == NULL)
- return (DST_R_OPENSSLFAILURE);
+ return (dst__openssl_toresult2("ENGINE_by_id",
+ DST_R_OPENSSLFAILURE));
if (ENGINE_init(e) <= 0) {
ENGINE_free(e);
e = NULL;
- return (DST_R_OPENSSLFAILURE);
+ return (dst__openssl_toresult2("ENGINE_init",
+ DST_R_OPENSSLFAILURE));
}
/* better than to rely on digest_gost symbol */
opensslgost_digest = ENGINE_get_digest(e, NID_id_GostR3411_94);
+ if (opensslgost_digest == NULL)
+ DST_RET(dst__openssl_toresult2("ENGINE_get_digest",
+ DST_R_OPENSSLFAILURE));
/* from openssl.cnf */
- if ((opensslgost_digest == NULL) ||
- (ENGINE_register_pkey_asn1_meths(e) <= 0) ||
- (ENGINE_ctrl_cmd_string(e,
- "CRYPT_PARAMS",
- "id-Gost28147-89-CryptoPro-A-ParamSet",
- 0) <= 0)) {
- ENGINE_finish(e);
- ENGINE_free(e);
- e = NULL;
- return (DST_R_OPENSSLFAILURE);
- }
+ if (ENGINE_register_pkey_asn1_meths(e) <= 0)
+ DST_RET(dst__openssl_toresult2(
+ "ENGINE_register_pkey_asn1_meths",
+ DST_R_OPENSSLFAILURE));
+ if (ENGINE_ctrl_cmd_string(e,
+ "CRYPT_PARAMS",
+ "id-Gost28147-89-CryptoPro-A-ParamSet",
+ 0) <= 0)
+ DST_RET(dst__openssl_toresult2("ENGINE_ctrl_cmd_string",
+ DST_R_OPENSSLFAILURE));
if (*funcp == NULL)
*funcp = &opensslgost_functions;
return (ISC_R_SUCCESS);
+
+ err:
+ ENGINE_finish(e);
+ ENGINE_free(e);
+ e = NULL;
+ return (ret);
}
#else /* HAVE_OPENSSL_GOST */
diff --git a/lib/dns/opensslrsa_link.c b/lib/dns/opensslrsa_link.c
index a2456188..a6db4545 100644
--- a/lib/dns/opensslrsa_link.c
+++ b/lib/dns/opensslrsa_link.c
@@ -56,6 +56,13 @@
#endif
/*
+ * Limit the size of public exponents.
+ */
+#ifndef RSA_MAX_PUBEXP_BITS
+#define RSA_MAX_PUBEXP_BITS 35
+#endif
+
+/*
* We don't use configure for windows so enforce the OpenSSL version
* here. Unlike with configure we don't support overriding this test.
*/
@@ -156,7 +163,8 @@ opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) {
if (!EVP_DigestInit_ex(evp_md_ctx, type, NULL)) {
EVP_MD_CTX_destroy(evp_md_ctx);
- return (ISC_R_FAILURE);
+ return (dst__openssl_toresult2("EVP_DigestInit_ex",
+ ISC_R_FAILURE));
}
dctx->ctxdata.evp_md_ctx = evp_md_ctx;
#else
@@ -304,7 +312,8 @@ opensslrsa_adddata(dst_context_t *dctx, const isc_region_t *data) {
#if USE_EVP
if (!EVP_DigestUpdate(evp_md_ctx, data->base, data->length)) {
- return (ISC_R_FAILURE);
+ return (dst__openssl_toresult2("EVP_DigestUpdate",
+ ISC_R_FAILURE));
}
#else
switch (dctx->key->key_alg) {
@@ -374,10 +383,6 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
int status;
int type = 0;
unsigned int digestlen = 0;
- char *message;
- unsigned long err;
- const char* file;
- int line;
#if OPENSSL_VERSION_NUMBER < 0x00908000L
unsigned int prefixlen = 0;
const unsigned char *prefix = NULL;
@@ -397,7 +402,8 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
return (ISC_R_NOSPACE);
if (!EVP_SignFinal(evp_md_ctx, r.base, &siglen, pkey)) {
- return (ISC_R_FAILURE);
+ return (dst__openssl_toresult2("EVP_SignFinal",
+ ISC_R_FAILURE));
}
#else
if (r.length < (unsigned int) RSA_size(rsa))
@@ -489,13 +495,9 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
INSIST(type != 0);
status = RSA_sign(type, digest, digestlen, r.base, &siglen, rsa);
#endif
- if (status == 0) {
- err = ERR_peek_error_line(&file, &line);
- if (err != 0U) {
- message = ERR_error_string(err, NULL);
- }
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
- }
+ if (status == 0)
+ return (dst__openssl_toresult2("RSA_sign",
+ DST_R_OPENSSLFAILURE));
#endif
isc_buffer_add(sig, siglen);
@@ -504,12 +506,14 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
}
static isc_result_t
-opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
+opensslrsa_verify2(dst_context_t *dctx, int maxbits, const isc_region_t *sig) {
dst_key_t *key = dctx->key;
int status = 0;
#if USE_EVP
EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx;
EVP_PKEY *pkey = key->keydata.pkey;
+ RSA *rsa;
+ int bits;
#else
/* note: ISC_SHA512_DIGESTLENGTH >= ISC_*_DIGESTLENGTH */
unsigned char digest[ISC_SHA512_DIGESTLENGTH];
@@ -529,8 +533,19 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
dctx->key->key_alg == DST_ALG_RSASHA512);
#if USE_EVP
+ rsa = EVP_PKEY_get1_RSA(pkey);
+ if (rsa == NULL)
+ return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ bits = BN_num_bits(rsa->e);
+ RSA_free(rsa);
+ if (bits > maxbits && maxbits != 0)
+ return (DST_R_VERIFYFAILURE);
+
status = EVP_VerifyFinal(evp_md_ctx, sig->base, sig->length, pkey);
#else
+ if (BN_num_bits(rsa->e) > maxbits && maxbits != 0)
+ return (DST_R_VERIFYFAILURE);
+
switch (dctx->key->key_alg) {
case DST_ALG_RSAMD5:
{
@@ -615,7 +630,9 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
original, rsa,
RSA_PKCS1_PADDING);
if (status <= 0)
- return (DST_R_VERIFYFAILURE);
+ return (dst__openssl_toresult2(
+ "RSA_public_decrypt",
+ DST_R_VERIFYFAILURE));
if (status != (int)(prefixlen + digestlen))
return (DST_R_VERIFYFAILURE);
if (memcmp(original, prefix, prefixlen))
@@ -636,11 +653,17 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
#endif
#endif
if (status != 1)
- return (dst__openssl_toresult(DST_R_VERIFYFAILURE));
+ return (dst__openssl_toresult2("RSA_verify",
+ DST_R_VERIFYFAILURE));
return (ISC_R_SUCCESS);
}
+static isc_result_t
+opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
+ return (opensslrsa_verify2(dctx, 0, sig));
+}
+
static isc_boolean_t
opensslrsa_compare(const dst_key_t *key1, const dst_key_t *key2) {
int status;
@@ -727,6 +750,7 @@ progress_cb(int p, int n, BN_GENCB *cb)
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;
@@ -752,7 +776,7 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
BN_set_bit(e, 0);
BN_set_bit(e, 16);
} else {
- /* F5 0x100000001 */
+ /* (phased-out) F5 0x100000001 */
BN_set_bit(e, 0);
BN_set_bit(e, 32);
}
@@ -776,6 +800,8 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
#endif
return (ISC_R_SUCCESS);
}
+ ret = dst__openssl_toresult2("RSA_generate_key_ex",
+ DST_R_OPENSSLFAILURE);
err:
#if USE_EVP
@@ -786,7 +812,7 @@ err:
BN_free(e);
if (rsa != NULL)
RSA_free(rsa);
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult(ret));
#else
RSA *rsa;
unsigned long e;
@@ -810,7 +836,8 @@ err:
#if USE_EVP
EVP_PKEY_free(pkey);
#endif
- return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+ return (dst__openssl_toresult2("RSA_generate_key",
+ DST_R_OPENSSLFAILURE));
}
SET_FLAGS(rsa);
#if USE_EVP
@@ -1009,6 +1036,7 @@ opensslrsa_tofile(const dst_key_t *key, const char *directory) {
rsa = key->keydata.rsa;
#endif
+ memset(bufs, 0, sizeof(bufs));
for (i = 0; i < 8; i++) {
bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(rsa->n));
if (bufs[i] == NULL) {
@@ -1162,7 +1190,7 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
/* read private key file */
ret = dst__privstruct_parse(key, DST_ALG_RSA, lexer, mctx, &priv);
if (ret != ISC_R_SUCCESS)
- return (ret);
+ goto err;
for (i = 0; i < priv.nelements; i++) {
switch (priv.elements[i].tag) {
@@ -1188,10 +1216,10 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
if (e == NULL)
DST_RET(DST_R_NOENGINE);
pkey = ENGINE_load_private_key(e, label, NULL, NULL);
- if (pkey == NULL) {
- /* ERR_print_errors_fp(stderr); */
- DST_RET(ISC_R_NOTFOUND);
- }
+ if (pkey == NULL)
+ DST_RET(dst__openssl_toresult2(
+ "ENGINE_load_private_key",
+ ISC_R_NOTFOUND));
key->engine = isc_mem_strdup(key->mctx, engine);
if (key->engine == NULL)
DST_RET(ISC_R_NOMEMORY);
@@ -1203,6 +1231,8 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
DST_RET(dst__openssl_toresult(DST_R_OPENSSLFAILURE));
if (rsa_check(rsa, pubrsa) != ISC_R_SUCCESS)
DST_RET(DST_R_INVALIDPRIVATEKEY);
+ if (BN_num_bits(rsa->e) > RSA_MAX_PUBEXP_BITS)
+ DST_RET(ISC_R_RANGE);
if (pubrsa != NULL)
RSA_free(pubrsa);
key->key_size = EVP_PKEY_bits(pkey);
@@ -1285,6 +1315,8 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
if (rsa_check(rsa, pubrsa) != ISC_R_SUCCESS)
DST_RET(DST_R_INVALIDPRIVATEKEY);
+ if (BN_num_bits(rsa->e) > RSA_MAX_PUBEXP_BITS)
+ DST_RET(ISC_R_RANGE);
key->key_size = BN_num_bits(rsa->n);
if (pubrsa != NULL)
RSA_free(pubrsa);
@@ -1303,7 +1335,7 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
RSA_free(rsa);
if (pubrsa != NULL)
RSA_free(pubrsa);
- opensslrsa_destroy(key);
+ key->keydata.generic = NULL;
dst__privstruct_free(&priv, mctx);
memset(&priv, 0, sizeof(priv));
return (ret);
@@ -1336,7 +1368,8 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
}
pkey = ENGINE_load_private_key(e, label, NULL, NULL);
if (pkey == NULL)
- DST_RET(ISC_R_NOTFOUND);
+ 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)
@@ -1357,6 +1390,8 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
DST_RET(dst__openssl_toresult(DST_R_OPENSSLFAILURE));
if (rsa_check(rsa, pubrsa) != ISC_R_SUCCESS)
DST_RET(DST_R_INVALIDPRIVATEKEY);
+ if (BN_num_bits(rsa->e) > RSA_MAX_PUBEXP_BITS)
+ DST_RET(ISC_R_RANGE);
if (pubrsa != NULL)
RSA_free(pubrsa);
key->key_size = EVP_PKEY_bits(pkey);
@@ -1392,6 +1427,7 @@ static dst_func_t opensslrsa_functions = {
opensslrsa_adddata,
opensslrsa_sign,
opensslrsa_verify,
+ opensslrsa_verify2,
NULL, /*%< computesecret */
opensslrsa_compare,
NULL, /*%< paramcompare */
diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c
index 5bae6c48..b80a0c7e 100644
--- a/lib/dns/rbtdb.c
+++ b/lib/dns/rbtdb.c
@@ -113,6 +113,8 @@ typedef isc_uint32_t rbtdb_rdatatype_t;
RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_cname)
#define RBTDB_RDATATYPE_SIGDNAME \
RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_dname)
+#define RBTDB_RDATATYPE_SIGDDS \
+ RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_ds)
#define RBTDB_RDATATYPE_NCACHEANY \
RBTDB_RDATATYPE_VALUE(0, dns_rdatatype_any)
@@ -4572,7 +4574,7 @@ get_rpz_enabled(dns_db_t *db, dns_rpz_st_t *st)
* configured earlier than this policy zone and does not have a higher
* precedence type.
*/
-static isc_result_t
+static void
rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version,
dns_rdataset_t *ardataset, dns_rpz_st_t *st,
@@ -4597,7 +4599,7 @@ rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
if (rbtdb->rpz_cidr == NULL) {
RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read);
- return (ISC_R_UNEXPECTED);
+ return;
}
dns_fixedname_init(&selfnamef);
@@ -4659,7 +4661,7 @@ rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
dns_name_format(qname, namebuf, sizeof(namebuf));
isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ,
DNS_LOGMODULE_RBTDB, DNS_RPZ_ERROR_LEVEL,
- "rpz_findips findnode(%s): %s",
+ "rpz_findips findnode(%s) failed: %s",
namebuf, isc_result_totext(result));
continue;
}
@@ -4680,7 +4682,8 @@ rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
if (zrdataset.type != dns_rdatatype_cname) {
rpz_policy = DNS_RPZ_POLICY_RECORD;
} else {
- rpz_policy = dns_rpz_decode_cname(&zrdataset,
+ rpz_policy = dns_rpz_decode_cname(rpz,
+ &zrdataset,
selfname);
if (rpz_policy == DNS_RPZ_POLICY_RECORD ||
rpz_policy == DNS_RPZ_POLICY_WILDCNAME)
@@ -4738,7 +4741,7 @@ rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
st->m.type = rpz_type;
st->m.prefix = prefix;
st->m.policy = rpz_policy;
- st->m.ttl = ttl;
+ st->m.ttl = ISC_MIN(ttl, rpz->max_policy_ttl);
st->m.result = result;
dns_name_copy(qname, st->qname, NULL);
if ((rpz_policy == DNS_RPZ_POLICY_RECORD ||
@@ -4755,7 +4758,6 @@ rpz_findips(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
}
RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read);
- return (ISC_R_SUCCESS);
}
#endif
@@ -5914,13 +5916,12 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion,
negtype = 0;
if (rbtversion == NULL && !newheader_nx) {
rdtype = RBTDB_RDATATYPE_BASE(newheader->type);
+ covers = RBTDB_RDATATYPE_EXT(newheader->type);
+ sigtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, covers);
if (NEGATIVE(newheader)) {
/*
* We're adding a negative cache entry.
*/
- covers = RBTDB_RDATATYPE_EXT(newheader->type);
- sigtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig,
- covers);
for (topheader = rbtnode->data;
topheader != NULL;
topheader = topheader->next) {
@@ -5953,14 +5954,20 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion,
* We're adding something that isn't a
* negative cache entry. Look for an extant
* non-stale NXDOMAIN/NODATA(QTYPE=ANY) negative
- * cache entry.
+ * cache entry. If we're adding an RRSIG, also
+ * check for an extant non-stale NODATA ncache
+ * entry which covers the same type as the RRSIG.
*/
for (topheader = rbtnode->data;
topheader != NULL;
topheader = topheader->next) {
- if (topheader->type ==
- RBTDB_RDATATYPE_NCACHEANY)
- break;
+ if ((topheader->type ==
+ RBTDB_RDATATYPE_NCACHEANY) ||
+ (newheader->type == sigtype &&
+ topheader->type ==
+ RBTDB_RDATATYPE_VALUE(0, covers))) {
+ break;
+ }
}
if (topheader != NULL && EXISTS(topheader) &&
topheader->rdh_ttl > now) {
@@ -5983,7 +5990,7 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion,
}
/*
* The new rdataset is better. Expire the
- * NXDOMAIN/NODATA(QTYPE=ANY).
+ * ncache entry.
*/
set_ttl(rbtdb, topheader, 0);
topheader->attributes |= RDATASET_ATTR_STALE;
@@ -6145,7 +6152,9 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion,
}
if (IS_CACHE(rbtdb) && header->rdh_ttl > now &&
(header->type == dns_rdatatype_a ||
- header->type == dns_rdatatype_aaaa) &&
+ header->type == dns_rdatatype_aaaa ||
+ header->type == dns_rdatatype_ds ||
+ header->type == RBTDB_RDATATYPE_SIGDDS) &&
!header_nx && !newheader_nx &&
header->trust >= newheader->trust &&
dns_rdataslab_equal((unsigned char *)header,
diff --git a/lib/dns/rcode.c b/lib/dns/rcode.c
index 09f6d83d..0b7fe8c2 100644
--- a/lib/dns/rcode.c
+++ b/lib/dns/rcode.c
@@ -108,6 +108,8 @@
{ DNS_KEYALG_RSASHA256, "RSASHA256", 0 }, \
{ DNS_KEYALG_RSASHA512, "RSASHA512", 0 }, \
{ DNS_KEYALG_ECCGOST, "ECCGOST", 0 }, \
+ { DNS_KEYALG_ECDSA256, "ECDSAP256SHA256", 0 }, \
+ { DNS_KEYALG_ECDSA384, "ECDSAP384SHA384", 0 }, \
{ DNS_KEYALG_INDIRECT, "INDIRECT", 0 }, \
{ DNS_KEYALG_PRIVATEDNS, "PRIVATEDNS", 0 }, \
{ DNS_KEYALG_PRIVATEOID, "PRIVATEOID", 0 }, \
diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c
index 683130ac..b6e715ef 100644
--- a/lib/dns/rdata.c
+++ b/lib/dns/rdata.c
@@ -445,6 +445,8 @@ dns_rdata_fromwire(dns_rdata_t *rdata, dns_rdataclass_t rdclass,
REQUIRE(DNS_RDATA_INITIALIZED(rdata));
REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
}
+ REQUIRE(source != NULL);
+ REQUIRE(target != NULL);
if (type == 0)
return (DNS_R_FORMERR);
@@ -545,13 +547,11 @@ rdata_validate(isc_buffer_t *src, isc_buffer_t *dest, dns_rdataclass_t rdclass,
dns_rdatatype_t type)
{
dns_decompress_t dctx;
- dns_rdata_t rdata = DNS_RDATA_INIT;
isc_result_t result;
dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE);
isc_buffer_setactive(src, isc_buffer_usedlength(src));
- result = dns_rdata_fromwire(&rdata, rdclass, type, src,
- &dctx, 0, dest);
+ result = dns_rdata_fromwire(NULL, rdclass, type, src, &dctx, 0, dest);
dns_decompress_invalidate(&dctx);
return (result);
@@ -1182,7 +1182,8 @@ txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) {
if (n > tregion.length)
return (ISC_R_NOSPACE);
- memcpy(tregion.base, sregion.base, n);
+ if (tregion.base != sregion.base)
+ memcpy(tregion.base, sregion.base, n);
isc_buffer_forward(source, n);
isc_buffer_add(target, n);
return (ISC_R_SUCCESS);
@@ -1331,7 +1332,8 @@ multitxt_fromwire(isc_buffer_t *source, isc_buffer_t *target) {
if (n > tregion.length)
return (ISC_R_NOSPACE);
- memcpy(tregion.base, sregion.base, n);
+ if (tregion.base != sregion.base)
+ memcpy(tregion.base, sregion.base, n);
isc_buffer_forward(source, n);
isc_buffer_add(target, n);
isc_buffer_activeregion(source, &sregion);
@@ -1507,7 +1509,8 @@ mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) {
isc_buffer_availableregion(target, &tr);
if (length > tr.length)
return (ISC_R_NOSPACE);
- memcpy(tr.base, base, length);
+ if (tr.base != base)
+ memcpy(tr.base, base, length);
isc_buffer_add(target, length);
return (ISC_R_SUCCESS);
}
diff --git a/lib/dns/rdata/generic/dlv_32769.c b/lib/dns/rdata/generic/dlv_32769.c
index 51ed11d1..474e9cb3 100644
--- a/lib/dns/rdata/generic/dlv_32769.c
+++ b/lib/dns/rdata/generic/dlv_32769.c
@@ -84,6 +84,9 @@ fromtext_dlv(ARGS_FROMTEXT) {
case DNS_DSDIGEST_GOST:
length = ISC_GOST_DIGESTLENGTH;
break;
+ case DNS_DSDIGEST_SHA384:
+ length = ISC_SHA384_DIGESTLENGTH;
+ break;
default:
length = -1;
break;
@@ -166,7 +169,9 @@ fromwire_dlv(ARGS_FROMWIRE) {
(sr.base[3] == DNS_DSDIGEST_SHA256 &&
sr.length < 4 + ISC_SHA256_DIGESTLENGTH) ||
(sr.base[3] == DNS_DSDIGEST_GOST &&
- sr.length < 4 + ISC_GOST_DIGESTLENGTH))
+ sr.length < 4 + ISC_GOST_DIGESTLENGTH) ||
+ (sr.base[3] == DNS_DSDIGEST_SHA384 &&
+ sr.length < 4 + ISC_SHA384_DIGESTLENGTH))
return (ISC_R_UNEXPECTEDEND);
/*
@@ -180,6 +185,8 @@ fromwire_dlv(ARGS_FROMWIRE) {
sr.length = 4 + ISC_SHA256_DIGESTLENGTH;
else if (sr.base[3] == DNS_DSDIGEST_GOST)
sr.length = 4 + ISC_GOST_DIGESTLENGTH;
+ else if (sr.base[3] == DNS_DSDIGEST_SHA384)
+ sr.length = 4 + ISC_SHA384_DIGESTLENGTH;
isc_buffer_forward(source, sr.length);
return (mem_tobuffer(target, sr.base, sr.length));
@@ -232,6 +239,9 @@ fromstruct_dlv(ARGS_FROMSTRUCT) {
case DNS_DSDIGEST_GOST:
REQUIRE(dlv->length == ISC_GOST_DIGESTLENGTH);
break;
+ case DNS_DSDIGEST_SHA384:
+ REQUIRE(dlv->length == ISC_SHA384_DIGESTLENGTH);
+ break;
}
UNUSED(type);
diff --git a/lib/dns/rdata/generic/ds_43.c b/lib/dns/rdata/generic/ds_43.c
index fc35b72e..dd47c8d5 100644
--- a/lib/dns/rdata/generic/ds_43.c
+++ b/lib/dns/rdata/generic/ds_43.c
@@ -84,6 +84,9 @@ fromtext_ds(ARGS_FROMTEXT) {
case DNS_DSDIGEST_GOST:
length = ISC_GOST_DIGESTLENGTH;
break;
+ case DNS_DSDIGEST_SHA384:
+ length = ISC_SHA384_DIGESTLENGTH;
+ break;
default:
length = -1;
break;
@@ -166,7 +169,9 @@ fromwire_ds(ARGS_FROMWIRE) {
(sr.base[3] == DNS_DSDIGEST_SHA256 &&
sr.length < 4 + ISC_SHA256_DIGESTLENGTH) ||
(sr.base[3] == DNS_DSDIGEST_GOST &&
- sr.length < 4 + ISC_GOST_DIGESTLENGTH))
+ sr.length < 4 + ISC_GOST_DIGESTLENGTH) ||
+ (sr.base[3] == DNS_DSDIGEST_SHA384 &&
+ sr.length < 4 + ISC_SHA384_DIGESTLENGTH))
return (ISC_R_UNEXPECTEDEND);
/*
@@ -180,6 +185,8 @@ fromwire_ds(ARGS_FROMWIRE) {
sr.length = 4 + ISC_SHA256_DIGESTLENGTH;
else if (sr.base[3] == DNS_DSDIGEST_GOST)
sr.length = 4 + ISC_GOST_DIGESTLENGTH;
+ else if (sr.base[3] == DNS_DSDIGEST_SHA384)
+ sr.length = 4 + ISC_SHA384_DIGESTLENGTH;
isc_buffer_forward(source, sr.length);
return (mem_tobuffer(target, sr.base, sr.length));
@@ -232,6 +239,9 @@ fromstruct_ds(ARGS_FROMSTRUCT) {
case DNS_DSDIGEST_GOST:
REQUIRE(ds->length == ISC_GOST_DIGESTLENGTH);
break;
+ case DNS_DSDIGEST_SHA384:
+ REQUIRE(ds->length == ISC_SHA384_DIGESTLENGTH);
+ break;
}
UNUSED(type);
diff --git a/lib/dns/rdataset.c b/lib/dns/rdataset.c
index 8c865498..026d7712 100644
--- a/lib/dns/rdataset.c
+++ b/lib/dns/rdataset.c
@@ -26,6 +26,7 @@
#include <isc/buffer.h>
#include <isc/mem.h>
#include <isc/random.h>
+#include <isc/serial.h>
#include <isc/util.h>
#include <dns/name.h>
@@ -772,3 +773,30 @@ dns_rdataset_expire(dns_rdataset_t *rdataset) {
if (rdataset->methods->expire != NULL)
(rdataset->methods->expire)(rdataset);
}
+
+void
+dns_rdataset_trimttl(dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,
+ dns_rdata_rrsig_t *rrsig, isc_stdtime_t now,
+ isc_boolean_t acceptexpired)
+{
+ isc_uint32_t ttl = 0;
+
+ REQUIRE(DNS_RDATASET_VALID(rdataset));
+ REQUIRE(DNS_RDATASET_VALID(sigrdataset));
+ REQUIRE(rrsig != NULL);
+
+ /*
+ * If we accept expired RRsets keep them for no more than 120 seconds.
+ */
+ if (acceptexpired &&
+ (isc_serial_le(rrsig->timeexpire, ((now + 120) & 0xffffffff)) ||
+ isc_serial_le(rrsig->timeexpire, now)))
+ ttl = 120;
+ else if (isc_serial_ge(rrsig->timeexpire, now))
+ ttl = rrsig->timeexpire - now;
+
+ ttl = ISC_MIN(ISC_MIN(rdataset->ttl, sigrdataset->ttl),
+ ISC_MIN(rrsig->originalttl, ttl));
+ rdataset->ttl = ttl;
+ sigrdataset->ttl = ttl;
+}
diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c
index 20b8de47..503f1d23 100644
--- a/lib/dns/resolver.c
+++ b/lib/dns/resolver.c
@@ -105,8 +105,21 @@
#define QTRACE(m)
#endif
+#define US_PER_SEC 1000000U
+/*
+ * The maximum time we will wait for a single query.
+ */
+#define MAX_SINGLE_QUERY_TIMEOUT 9U
+#define MAX_SINGLE_QUERY_TIMEOUT_US (MAX_SINGLE_QUERY_TIMEOUT*US_PER_SEC)
+
+/*
+ * We need to allow a individual query time to complete / timeout.
+ */
+#define MINIMUM_QUERY_TIMEOUT (MAX_SINGLE_QUERY_TIMEOUT + 1U)
+
+/* The default time in seconds for the whole query to live. */
#ifndef DEFAULT_QUERY_TIMEOUT
-#define DEFAULT_QUERY_TIMEOUT 10 /* The default time in seconds for the whole query to live. */
+#define DEFAULT_QUERY_TIMEOUT MINIMUM_QUERY_TIMEOUT
#endif
#ifndef MAXIMUM_QUERY_TIMEOUT
@@ -821,8 +834,8 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp,
*/
INSIST(no_response);
rtt = query->addrinfo->srtt + 200000;
- if (rtt > 10000000)
- rtt = 10000000;
+ if (rtt > MAX_SINGLE_QUERY_TIMEOUT_US)
+ rtt = MAX_SINGLE_QUERY_TIMEOUT_US;
/*
* Replace the current RTT with our value.
*/
@@ -1336,12 +1349,18 @@ fctx_setretryinterval(fetchctx_t *fctx, unsigned int rtt) {
us = (800000 << (fctx->restarts - 2));
/*
- * Double the round-trip time.
+ * Add a fudge factor to the expected rtt based on the current
+ * estimate.
*/
- rtt *= 2;
+ if (rtt < 50000)
+ rtt += 50000;
+ else if (rtt < 100000)
+ rtt += 100000;
+ else
+ rtt += 200000;
/*
- * Always wait for at least the doubled round-trip time.
+ * Always wait for at least the expected rtt.
*/
if (us < rtt)
us = rtt;
@@ -1349,11 +1368,11 @@ fctx_setretryinterval(fetchctx_t *fctx, unsigned int rtt) {
/*
* But don't ever wait for more than 10 seconds.
*/
- if (us > 10000000)
- us = 10000000;
+ if (us > MAX_SINGLE_QUERY_TIMEOUT_US)
+ us = MAX_SINGLE_QUERY_TIMEOUT_US;
- seconds = us / 1000000;
- us -= seconds * 1000000;
+ seconds = us / US_PER_SEC;
+ us -= seconds * US_PER_SEC;
isc_interval_set(&fctx->interval, seconds, us * 1000);
}
@@ -1375,6 +1394,11 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
task = res->buckets[fctx->bucketnum].task;
srtt = addrinfo->srtt;
+
+ /*
+ * A forwarder needs to make multiple queries. Give it at least
+ * a second to do these in.
+ */
if (ISFORWARDER(addrinfo) && srtt < 1000000)
srtt = 1000000;
@@ -8211,8 +8235,8 @@ dns_resolver_logfetch(dns_fetch_t *fetch, isc_log_t *lctx,
"timeout:%u,lame:%u,neterr:%u,badresp:%u,"
"adberr:%u,findfail:%u,valfail:%u]",
__FILE__, fctx->exitline, fctx->info,
- fctx->duration / 1000000,
- fctx->duration % 1000000,
+ fctx->duration / US_PER_SEC,
+ fctx->duration % US_PER_SEC,
isc_result_totext(fctx->result),
isc_result_totext(fctx->vresult), domainbuf,
fctx->referrals, fctx->restarts,
@@ -8818,6 +8842,8 @@ dns_resolver_settimeout(dns_resolver_t *resolver, unsigned int seconds) {
seconds = DEFAULT_QUERY_TIMEOUT;
if (seconds > MAXIMUM_QUERY_TIMEOUT)
seconds = MAXIMUM_QUERY_TIMEOUT;
+ if (seconds < MINIMUM_QUERY_TIMEOUT)
+ seconds = MINIMUM_QUERY_TIMEOUT;
resolver->query_timeout = seconds;
}
diff --git a/lib/dns/rpz.c b/lib/dns/rpz.c
index e3f49897..78658590 100644
--- a/lib/dns/rpz.c
+++ b/lib/dns/rpz.c
@@ -118,9 +118,9 @@ struct dns_rpz_cidr {
isc_mem_t *mctx;
isc_boolean_t have_nsdname; /* zone has NSDNAME record */
dns_rpz_cidr_node_t *root;
- dns_name_t ip_name; /* RPZ_IP_ZONE.LOCALHOST. */
- dns_name_t nsip_name; /* RPZ_NSIP_ZONE.LOCALHOST. */
- dns_name_t nsdname_name; /* RPZ_NSDNAME_ZONE.LOCALHOST */
+ dns_name_t ip_name; /* RPZ_IP_ZONE.origin. */
+ dns_name_t nsip_name; /* RPZ_NSIP_ZONE.origin. */
+ dns_name_t nsdname_name; /* RPZ_NSDNAME_ZONE.origin */
};
static isc_boolean_t have_rpz_zones = ISC_FALSE;
@@ -183,7 +183,7 @@ dns_rpz_policy2str(dns_rpz_policy_t policy) {
str = "NODATA";
break;
case DNS_RPZ_POLICY_RECORD:
- str = "records";
+ str = "Local-Data";
break;
case DNS_RPZ_POLICY_CNAME:
case DNS_RPZ_POLICY_WILDCNAME:
@@ -255,6 +255,8 @@ dns_rpz_view_destroy(dns_view_t *view) {
ISC_LIST_UNLINK(view->rpz_zones, zone, link);
if (dns_name_dynamic(&zone->origin))
dns_name_free(&zone->origin, view->mctx);
+ if (dns_name_dynamic(&zone->passthru))
+ dns_name_free(&zone->passthru, view->mctx);
if (dns_name_dynamic(&zone->nsdname))
dns_name_free(&zone->nsdname, view->mctx);
if (dns_name_dynamic(&zone->cname))
@@ -427,14 +429,16 @@ new_node(dns_rpz_cidr_t *cidr, const dns_rpz_cidr_key_t *ip,
}
static void
-badname(int level, dns_name_t *name, const char *comment) {
+badname(int level, dns_name_t *name, const char *str1, const char *str2) {
char printname[DNS_NAME_FORMATSIZE];
- if (isc_log_wouldlog(dns_lctx, level)) {
+ if (level < DNS_RPZ_DEBUG_QUIET
+ && isc_log_wouldlog(dns_lctx, level)) {
dns_name_format(name, printname, sizeof(printname));
isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ,
DNS_LOGMODULE_RBTDB, level,
- "invalid rpz \"%s\"%s", printname, comment);
+ "invalid rpz IP address \"%s\"%s%s",
+ printname, str1, str2);
}
}
@@ -566,11 +570,11 @@ name2ipkey(dns_rpz_cidr_t *cidr, int level, dns_name_t *src_name,
dns_rpz_type_t type, dns_rpz_cidr_key_t *tgt_ip,
dns_rpz_cidr_bits_t *tgt_prefix)
{
- isc_buffer_t buffer;
- unsigned char data[DNS_NAME_MAXWIRE+1];
+ isc_result_t result;
dns_fixedname_t fname;
- dns_name_t *name;
- const char *cp, *end;
+ dns_name_t *ipname;
+ char ipstr[DNS_NAME_FORMATSIZE];
+ const char *prefix_str, *cp, *end;
char *cp2;
int ip_labels;
dns_rpz_cidr_bits_t bits;
@@ -585,37 +589,43 @@ name2ipkey(dns_rpz_cidr_t *cidr, int level, dns_name_t *src_name,
ip_labels -= dns_name_countlabels(&cidr->ip_name);
ip_labels--;
if (ip_labels < 1) {
- badname(level, src_name, ", too short");
+ badname(level, src_name, "; too short", "");
return (ISC_R_FAILURE);
}
/*
- * Get text for the IP address without RPZ_x_ZONE.rpz.LOCALHOST.
+ * Get text for the IP address
*/
dns_fixedname_init(&fname);
- name = dns_fixedname_name(&fname);
+ ipname = dns_fixedname_name(&fname);
dns_name_split(src_name, dns_name_countlabels(&cidr->ip_name),
- name, NULL);
- isc_buffer_init(&buffer, data, sizeof(data));
- dns_name_totext(name, ISC_TRUE, &buffer);
- isc_buffer_putuint8(&buffer, '\0');
- cp = isc_buffer_base(&buffer);
-
- prefix = strtoul(cp, &cp2, 10);
- if (prefix < 1U || prefix > 128U || *cp2 != '.') {
- badname(level, src_name, ", bad prefix length");
+ ipname, NULL);
+ dns_name_format(ipname, ipstr, sizeof(ipstr));
+ end = &ipstr[strlen(ipstr)+1];
+ prefix_str = ipstr;
+
+ prefix = strtoul(prefix_str, &cp2, 10);
+ if (*cp2 != '.') {
+ badname(level, src_name,
+ "; invalid leading prefix length", "");
+ return (ISC_R_FAILURE);
+ }
+ *cp2 = '\0';
+ if (prefix < 1U || prefix > 128U) {
+ badname(level, src_name,
+ "; invalid prefix length of ", prefix_str);
return (ISC_R_FAILURE);
}
cp = cp2+1;
- end = isc_buffer_used(&buffer);
if (ip_labels == 4 && !strchr(cp, 'z')) {
/*
* Convert an IPv4 address
* from the form "prefix.w.z.y.x"
*/
if (prefix > 32U) {
- badname(level, src_name, "; bad IPv4 prefix length");
+ badname(level, src_name,
+ "; invalid IPv4 prefix length of ", prefix_str);
return (ISC_R_FAILURE);
}
prefix += 96;
@@ -627,7 +637,10 @@ name2ipkey(dns_rpz_cidr_t *cidr, int level, dns_name_t *src_name,
for (i = 0; i < 32; i += 8) {
l = strtoul(cp, &cp2, 10);
if (l > 255U || (*cp2 != '.' && *cp2 != '\0')) {
- badname(level, src_name, "; bad IPv4 address");
+ if (*cp2 == '.')
+ *cp2 = '\0';
+ badname(level, src_name,
+ "; invalid IPv4 octet ", cp);
return (ISC_R_FAILURE);
}
tgt_ip->w[3] |= l << i;
@@ -654,7 +667,10 @@ name2ipkey(dns_rpz_cidr_t *cidr, int level, dns_name_t *src_name,
l = strtoul(cp, &cp2, 16);
if (l > 0xffffu ||
(*cp2 != '.' && *cp2 != '\0')) {
- badname(level, src_name, "");
+ if (*cp2 == '.')
+ *cp2 = '\0';
+ badname(level, src_name,
+ "; invalid IPv6 word ", cp);
return (ISC_R_FAILURE);
}
if ((i & 1) == 0)
@@ -667,7 +683,7 @@ name2ipkey(dns_rpz_cidr_t *cidr, int level, dns_name_t *src_name,
}
}
if (cp != end) {
- badname(level, src_name, "");
+ badname(level, src_name, "", "");
return (ISC_R_FAILURE);
}
@@ -681,7 +697,8 @@ name2ipkey(dns_rpz_cidr_t *cidr, int level, dns_name_t *src_name,
i = bits % DNS_RPZ_CIDR_WORD_BITS;
aword = tgt_ip->w[bits / DNS_RPZ_CIDR_WORD_BITS];
if ((aword & ~DNS_RPZ_WORD_MASK(i)) != 0) {
- badname(level, src_name, "; wrong prefix length");
+ badname(level, src_name,
+ "; too small prefix length of ", prefix_str);
return (ISC_R_FAILURE);
}
bits -= i;
@@ -689,13 +706,13 @@ name2ipkey(dns_rpz_cidr_t *cidr, int level, dns_name_t *src_name,
}
/*
- * Convert the IPv6 address back to a canonical policy domain name
+ * Convert the address back to a canonical policy domain name
* to ensure that it is in canonical form.
*/
- if (ISC_R_SUCCESS != ip2name(cidr, tgt_ip, (dns_rpz_cidr_bits_t)prefix,
- type, NULL, name) ||
- !dns_name_equal(src_name, name)) {
- badname(level, src_name, "; not canonical");
+ result = ip2name(cidr, tgt_ip, (dns_rpz_cidr_bits_t) prefix,
+ type, NULL, ipname);
+ if (result != ISC_R_SUCCESS || !dns_name_equal(src_name, ipname)) {
+ badname(level, src_name, "; not canonical", "");
return (ISC_R_FAILURE);
}
@@ -934,6 +951,7 @@ search(dns_rpz_cidr_t *cidr, const dns_rpz_cidr_key_t *tgt_ip,
*/
void
dns_rpz_cidr_addip(dns_rpz_cidr_t *cidr, dns_name_t *name) {
+ isc_result_t result;
dns_rpz_cidr_key_t tgt_ip;
dns_rpz_cidr_bits_t tgt_prefix;
dns_rpz_type_t type;
@@ -956,19 +974,22 @@ dns_rpz_cidr_addip(dns_rpz_cidr_t *cidr, dns_name_t *name) {
case DNS_RPZ_TYPE_BAD:
return;
}
- if (ISC_R_SUCCESS != name2ipkey(cidr, DNS_RPZ_ERROR_LEVEL, name,
- type, &tgt_ip, &tgt_prefix))
+ result = name2ipkey(cidr, DNS_RPZ_ERROR_LEVEL, name,
+ type, &tgt_ip, &tgt_prefix);
+ if (result != ISC_R_SUCCESS)
return;
- if (ISC_R_EXISTS == search(cidr, &tgt_ip, tgt_prefix, type,
- ISC_TRUE, NULL) &&
- isc_log_wouldlog(dns_lctx, DNS_RPZ_ERROR_LEVEL)) {
+ result = search(cidr, &tgt_ip, tgt_prefix, type, ISC_TRUE, NULL);
+ if (result == ISC_R_EXISTS &&
+ isc_log_wouldlog(dns_lctx, DNS_RPZ_ERROR_LEVEL))
+ {
char printname[DNS_NAME_FORMATSIZE];
dns_name_format(name, printname, sizeof(printname));
isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ,
DNS_LOGMODULE_RBTDB, DNS_RPZ_ERROR_LEVEL,
- "duplicate rpz name \"%s\"", printname);
+ "rpz add failed; \"%s\" is a duplicate name",
+ printname);
}
}
@@ -978,6 +999,7 @@ dns_rpz_cidr_addip(dns_rpz_cidr_t *cidr, dns_name_t *name) {
*/
void
dns_rpz_cidr_deleteip(dns_rpz_cidr_t *cidr, dns_name_t *name) {
+ isc_result_t result;
dns_rpz_cidr_key_t tgt_ip;
dns_rpz_cidr_bits_t tgt_prefix;
dns_rpz_type_t type;
@@ -1010,19 +1032,14 @@ dns_rpz_cidr_deleteip(dns_rpz_cidr_t *cidr, dns_name_t *name) {
/*
* Do not get excited about the deletion of interior rbt nodes.
*/
- if (ISC_R_SUCCESS != name2ipkey(cidr, DNS_RPZ_DEBUG_LEVEL3, name,
- type, &tgt_ip, &tgt_prefix))
+ result = name2ipkey(cidr, DNS_RPZ_DEBUG_QUIET, name,
+ type, &tgt_ip, &tgt_prefix);
+ if (result != ISC_R_SUCCESS)
return;
- if (ISC_R_SUCCESS != search(cidr, &tgt_ip, tgt_prefix, type,
- ISC_FALSE, &tgt)) {
- if (isc_log_wouldlog(dns_lctx, DNS_RPZ_ERROR_LEVEL)) {
- char printname[DNS_NAME_FORMATSIZE];
-
- dns_name_format(name, printname, sizeof(printname));
- isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ,
- DNS_LOGMODULE_RBTDB, DNS_RPZ_ERROR_LEVEL,
- "missing rpz node \"%s\"", printname);
- }
+
+ result = search(cidr, &tgt_ip, tgt_prefix, type, ISC_FALSE, &tgt);
+ if (result != ISC_R_SUCCESS) {
+ badname(DNS_RPZ_ERROR_LEVEL, name, "; missing rpz node", "");
return;
}
@@ -1135,7 +1152,9 @@ dns_rpz_cidr_find(dns_rpz_cidr_t *cidr, const isc_netaddr_t *netaddr,
* Translate CNAME rdata to a QNAME response policy action.
*/
dns_rpz_policy_t
-dns_rpz_decode_cname(dns_rdataset_t *rdataset, dns_name_t *selfname) {
+dns_rpz_decode_cname(dns_rpz_zone_t *rpz, dns_rdataset_t *rdataset,
+ dns_name_t *selfname)
+{
dns_rdata_t rdata = DNS_RDATA_INIT;
dns_rdata_cname_t cname;
isc_result_t result;
@@ -1171,7 +1190,13 @@ dns_rpz_decode_cname(dns_rdataset_t *rdataset, dns_name_t *selfname) {
}
/*
- * 128.1.0.127.rpz-ip CNAME 128.1.0.0.127. means "do not rewrite"
+ * CNAME PASSTHRU.origin means "do not rewrite.
+ */
+ if (dns_name_equal(&cname.cname, &rpz->passthru))
+ return (DNS_RPZ_POLICY_PASSTHRU);
+
+ /*
+ * 128.1.0.127.rpz-ip CNAME 128.1.0.0.127. is obsolete PASSTHRU
*/
if (selfname != NULL && dns_name_equal(&cname.cname, selfname))
return (DNS_RPZ_POLICY_PASSTHRU);
diff --git a/lib/dns/spnego_asn1.pl b/lib/dns/spnego_asn1.pl
index 93dd6767..0aaa57fa 100644
--- a/lib/dns/spnego_asn1.pl
+++ b/lib/dns/spnego_asn1.pl
@@ -1,6 +1,6 @@
#!/bin/bin/perl -w
#
-# Copyright (C) 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2006, 2007, 2012 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
diff --git a/lib/dns/tests/Makefile.in b/lib/dns/tests/Makefile.in
index 5f68af0a..409ee8dc 100644
--- a/lib/dns/tests/Makefile.in
+++ b/lib/dns/tests/Makefile.in
@@ -39,13 +39,13 @@ LIBS = @LIBS@ @ATFLIBS@
OBJS = dnstest.@O@
SRCS = dnstest.c master_test.c dbiterator_test.c time_test.c \
private_test.c update_test.c zonemgr_test.c zt_test.c \
- dbdiff_test.c nsec3_test.c rdata_test.c
+ dbdiff_test.c nsec3_test.c rdataset_test.c rdata_test.c
SUBDIRS =
TARGETS = master_test@EXEEXT@ dbiterator_test@EXEEXT@ time_test@EXEEXT@ \
private_test@EXEEXT@ update_test@EXEEXT@ zonemgr_test@EXEEXT@ \
zt_test@EXEEXT@ dbversion_test@EXEEXT@ dbdiff_test@EXEEXT@ \
- nsec3_test@EXEEXT@ rdata_test@EXEEXT@
+ nsec3_test@EXEEXT@ rdataset_test@EXEEXT@ rdata_test@EXEEXT@
@BIND9_MAKE_RULES@
@@ -104,6 +104,11 @@ nsec3_test@EXEEXT@: nsec3_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
nsec3_test.@O@ dnstest.@O@ ${DNSLIBS} \
${ISCLIBS} ${LIBS}
+
+rdataset_test@EXEEXT@: rdataset_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
+ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
+ rdataset_test.@O@ dnstest.@O@ ${DNSLIBS} \
+ ${ISCLIBS} ${LIBS}
rdata_test@EXEEXT@: rdata_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
diff --git a/lib/dns/tests/rdataset_test.c b/lib/dns/tests/rdataset_test.c
new file mode 100644
index 00000000..7cbaa195
--- /dev/null
+++ b/lib/dns/tests/rdataset_test.c
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+/*! \file */
+
+#include <config.h>
+
+#include <atf-c.h>
+
+#include <unistd.h>
+
+#include <dns/rdataset.h>
+#include <dns/rdatastruct.h>
+
+#include "dnstest.h"
+
+
+/*
+ * Individual unit tests
+ */
+
+/* Successful load test */
+ATF_TC(trimttl);
+ATF_TC_HEAD(trimttl, tc) {
+ atf_tc_set_md_var(tc, "descr", "dns_master_loadfile() loads a "
+ "valid master file and returns success");
+}
+ATF_TC_BODY(trimttl, tc) {
+ isc_result_t result;
+ dns_rdataset_t rdataset, sigrdataset;
+ dns_rdata_rrsig_t rrsig;
+ isc_stdtime_t ttltimenow, ttltimeexpire;
+
+ ttltimenow = 10000000;
+ ttltimeexpire = ttltimenow + 800;
+
+ UNUSED(tc);
+
+ dns_rdataset_init(&rdataset);
+ dns_rdataset_init(&sigrdataset);
+
+ result = dns_test_begin(NULL, ISC_FALSE);
+ ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+
+ rdataset.ttl = 900;
+ sigrdataset.ttl = 1000;
+ rrsig.timeexpire = ttltimeexpire;
+ rrsig.originalttl = 1000;
+
+ dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow,
+ ISC_TRUE);
+ ATF_REQUIRE_EQ(rdataset.ttl, 800);
+ ATF_REQUIRE_EQ(sigrdataset.ttl, 800);
+
+ rdataset.ttl = 900;
+ sigrdataset.ttl = 1000;
+ rrsig.timeexpire = ttltimenow - 200;
+ rrsig.originalttl = 1000;
+
+ dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow,
+ ISC_TRUE);
+ ATF_REQUIRE_EQ(rdataset.ttl, 120);
+ ATF_REQUIRE_EQ(sigrdataset.ttl, 120);
+
+ rdataset.ttl = 900;
+ sigrdataset.ttl = 1000;
+ rrsig.timeexpire = ttltimenow - 200;
+ rrsig.originalttl = 1000;
+
+ dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow,
+ ISC_FALSE);
+ ATF_REQUIRE_EQ(rdataset.ttl, 0);
+ ATF_REQUIRE_EQ(sigrdataset.ttl, 0);
+
+ sigrdataset.ttl = 900;
+ rdataset.ttl = 1000;
+ rrsig.timeexpire = ttltimeexpire;
+ rrsig.originalttl = 1000;
+
+ dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow,
+ ISC_TRUE);
+ ATF_REQUIRE_EQ(rdataset.ttl, 800);
+ ATF_REQUIRE_EQ(sigrdataset.ttl, 800);
+
+ sigrdataset.ttl = 900;
+ rdataset.ttl = 1000;
+ rrsig.timeexpire = ttltimenow - 200;
+ rrsig.originalttl = 1000;
+
+ dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow,
+ ISC_TRUE);
+ ATF_REQUIRE_EQ(rdataset.ttl, 120);
+ ATF_REQUIRE_EQ(sigrdataset.ttl, 120);
+
+ sigrdataset.ttl = 900;
+ rdataset.ttl = 1000;
+ rrsig.timeexpire = ttltimenow - 200;
+ rrsig.originalttl = 1000;
+
+ dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow,
+ ISC_FALSE);
+ ATF_REQUIRE_EQ(rdataset.ttl, 0);
+ ATF_REQUIRE_EQ(sigrdataset.ttl, 0);
+
+ dns_test_end();
+}
+
+/*
+ * Main
+ */
+ATF_TP_ADD_TCS(tp) {
+ ATF_TP_ADD_TC(tp, trimttl);
+
+ return (atf_no_error());
+}
+
diff --git a/lib/dns/tests/zt_test.c b/lib/dns/tests/zt_test.c
index 80d11cd6..176d4779 100644
--- a/lib/dns/tests/zt_test.c
+++ b/lib/dns/tests/zt_test.c
@@ -37,6 +37,11 @@
#include "dnstest.h"
+struct args {
+ void *arg1;
+ void *arg2;
+};
+
/*
* Helper functions
*/
@@ -72,6 +77,27 @@ all_done(void *arg) {
return (ISC_R_SUCCESS);
}
+static void
+start_zt_asyncload(isc_task_t *task, isc_event_t *event) {
+ struct args *args = (struct args *)(event->ev_arg);
+
+ UNUSED(task);
+
+ dns_zt_asyncload(args->arg1, all_done, args->arg2);
+
+ isc_event_free(&event);
+}
+
+static void
+start_zone_asyncload(isc_task_t *task, isc_event_t *event) {
+ struct args *args = (struct args *)(event->ev_arg);
+
+ UNUSED(task);
+
+ dns_zone_asyncload(args->arg1, load_done, args->arg2);
+ isc_event_free(&event);
+}
+
/*
* Individual unit tests
*/
@@ -127,6 +153,7 @@ ATF_TC_BODY(asyncload_zone, tc) {
dns_db_t *db = NULL;
isc_boolean_t done = ISC_FALSE;
int i = 0;
+ struct args args;
UNUSED(tc);
@@ -147,8 +174,10 @@ ATF_TC_BODY(asyncload_zone, tc) {
ATF_CHECK(!dns__zone_loadpending(zone));
ATF_CHECK(!done);
dns_zone_setfile(zone, "testdata/zt/zone1.db");
- dns_zone_asyncload(zone, load_done, (void *) &done);
- ATF_CHECK(dns__zone_loadpending(zone));
+
+ args.arg1 = zone;
+ args.arg2 = &done;
+ isc_app_onrun(mctx, maintask, start_zone_asyncload, &args);
isc_app_run();
while (dns__zone_loadpending(zone) && i++ < 5000)
@@ -183,6 +212,7 @@ ATF_TC_BODY(asyncload_zt, tc) {
dns_db_t *db = NULL;
isc_boolean_t done = ISC_FALSE;
int i = 0;
+ struct args args;
UNUSED(tc);
@@ -218,7 +248,10 @@ ATF_TC_BODY(asyncload_zt, tc) {
ATF_CHECK(!dns__zone_loadpending(zone1));
ATF_CHECK(!dns__zone_loadpending(zone2));
ATF_CHECK(!done);
- dns_zt_asyncload(zt, all_done, (void *) &done);
+
+ args.arg1 = zt;
+ args.arg2 = &done;
+ isc_app_onrun(mctx, maintask, start_zt_asyncload, &args);
isc_app_run();
while (!done && i++ < 5000)
diff --git a/lib/dns/validator.c b/lib/dns/validator.c
index 3f9aae7f..56639241 100644
--- a/lib/dns/validator.c
+++ b/lib/dns/validator.c
@@ -1890,8 +1890,10 @@ isselfsigned(dns_validator_t *val) {
if (result != ISC_R_SUCCESS)
continue;
- result = dns_dnssec_verify2(name, rdataset, dstkey,
- ISC_TRUE, mctx, &sigrdata,
+ result = dns_dnssec_verify3(name, rdataset, dstkey,
+ ISC_TRUE,
+ val->view->maxbits,
+ mctx, &sigrdata,
dns_fixedname_name(&fixed));
dst_key_free(&dstkey);
if (result != ISC_R_SUCCESS)
@@ -1928,8 +1930,9 @@ verify(dns_validator_t *val, dst_key_t *key, dns_rdata_t *rdata,
dns_fixedname_init(&fixed);
wild = dns_fixedname_name(&fixed);
again:
- result = dns_dnssec_verify2(val->event->name, val->event->rdataset,
- key, ignore, val->view->mctx, rdata, wild);
+ result = dns_dnssec_verify3(val->event->name, val->event->rdataset,
+ key, ignore, val->view->maxbits,
+ val->view->mctx, rdata, wild);
if ((result == DNS_R_SIGEXPIRED || result == DNS_R_SIGFUTURE) &&
val->view->acceptexpired)
{
@@ -2075,15 +2078,13 @@ validate(dns_validator_t *val, isc_boolean_t resume) {
validator_log(val, ISC_LOG_DEBUG(3),
"failed to verify rdataset");
else {
- isc_uint32_t ttl;
isc_stdtime_t now;
isc_stdtime_get(&now);
- ttl = ISC_MIN(event->rdataset->ttl,
- ISC_MIN(val->siginfo->originalttl,
- val->siginfo->timeexpire - now));
- event->rdataset->ttl = ttl;
- event->sigrdataset->ttl = ttl;
+ dns_rdataset_trimttl(event->rdataset,
+ event->sigrdataset,
+ val->siginfo, now,
+ val->view->acceptexpired);
}
if (val->keynode != NULL)
diff --git a/lib/dns/view.c b/lib/dns/view.c
index 0f82b1ae..0a9727c2 100644
--- a/lib/dns/view.c
+++ b/lib/dns/view.c
@@ -189,9 +189,12 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
view->flush = ISC_FALSE;
view->dlv = NULL;
view->maxudp = 0;
+ view->maxbits = 0;
view->v4_aaaa = dns_v4_aaaa_ok;
view->v4_aaaa_acl = NULL;
ISC_LIST_INIT(view->rpz_zones);
+ view->rpz_recursive_only = ISC_TRUE;
+ view->rpz_break_dnssec = ISC_FALSE;
dns_fixedname_init(&view->dlv_fixed);
view->managed_keys = NULL;
view->redirect = NULL;
diff --git a/lib/dns/win32/libdns.def b/lib/dns/win32/libdns.def
index e91ce4d4..878318fa 100644
--- a/lib/dns/win32/libdns.def
+++ b/lib/dns/win32/libdns.def
@@ -219,6 +219,7 @@ dns_dnssec_signs
dns_dnssec_updatekeys
dns_dnssec_verify
dns_dnssec_verify2
+dns_dnssec_verify3
dns_dnssec_verifymessage
dns_dnsseckey_create
dns_dnsseckey_destroy
@@ -431,7 +432,10 @@ dns_nsec3param_fromprivate
dns_nsec3param_toprivate
dns_nsec_build
dns_nsec_buildrdata
+dns_nsec_compressbitmap
+dns_nsec_isset
dns_nsec_nseconly
+dns_nsec_setbit
dns_nsec_typepresent
dns_opcode_totext
dns_opcodestats_create
@@ -550,6 +554,7 @@ dns_rdataset_settrust
dns_rdataset_totext
dns_rdataset_towire
dns_rdataset_towiresorted
+dns_rdataset_trimttl
dns_rdatasetiter_current
dns_rdatasetiter_destroy
dns_rdatasetiter_first
diff --git a/lib/dns/zone.c b/lib/dns/zone.c
index 99b540be..5dd0b76a 100644
--- a/lib/dns/zone.c
+++ b/lib/dns/zone.c
@@ -3346,7 +3346,7 @@ zone_journal(dns_zone_t *zone, dns_diff_t *diff, isc_uint32_t *sourceserial,
&journal);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "%s:dns_journal_open -> %s\n",
+ "%s:dns_journal_open -> %s",
caller, dns_result_totext(result));
return (result);
}
@@ -3357,7 +3357,7 @@ zone_journal(dns_zone_t *zone, dns_diff_t *diff, isc_uint32_t *sourceserial,
result = dns_journal_write_transaction(journal, diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "%s:dns_journal_write_transaction -> %s\n",
+ "%s:dns_journal_write_transaction -> %s",
caller, dns_result_totext(result));
}
dns_journal_destroy(&journal);
@@ -3383,7 +3383,7 @@ add_soa(dns_zone_t *zone, dns_db_t *db) {
result = dns_db_newversion(db, &ver);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "add_soa:dns_db_newversion -> %s\n",
+ "add_soa:dns_db_newversion -> %s",
dns_result_totext(result));
goto failure;
}
@@ -3393,7 +3393,7 @@ add_soa(dns_zone_t *zone, dns_db_t *db) {
0, 0, 0, 0, 0, buf, &rdata);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "add_soa:dns_soa_buildrdata -> %s\n",
+ "add_soa:dns_soa_buildrdata -> %s",
dns_result_totext(result));
goto failure;
}
@@ -3445,7 +3445,7 @@ sync_keyzone(dns_zone_t *zone, dns_db_t *db) {
result = dns_db_newversion(db, &ver);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "sync_keyzone:dns_db_newversion -> %s\n",
+ "sync_keyzone:dns_db_newversion -> %s",
dns_result_totext(result));
goto failure;
}
@@ -5411,7 +5411,7 @@ zone_resigninc(dns_zone_t *zone) {
result = dns_db_newversion(db, &version);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:dns_db_newversion -> %s\n",
+ "zone_resigninc:dns_db_newversion -> %s",
dns_result_totext(result));
goto failure;
}
@@ -5420,7 +5420,7 @@ zone_resigninc(dns_zone_t *zone) {
zone_keys, &nkeys);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:find_zone_keys -> %s\n",
+ "zone_resigninc:find_zone_keys -> %s",
dns_result_totext(result));
goto failure;
}
@@ -5444,7 +5444,7 @@ zone_resigninc(dns_zone_t *zone) {
result = dns_db_getsigningtime(db, &rdataset, name);
if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:dns_db_getsigningtime -> %s\n",
+ "zone_resigninc:dns_db_getsigningtime -> %s",
dns_result_totext(result));
}
@@ -5468,7 +5468,7 @@ zone_resigninc(dns_zone_t *zone) {
zone_keys, nkeys, now, ISC_TRUE);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:del_sigs -> %s\n",
+ "zone_resigninc:del_sigs -> %s",
dns_result_totext(result));
break;
}
@@ -5478,7 +5478,7 @@ zone_resigninc(dns_zone_t *zone) {
expire, check_ksk, keyset_kskonly);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:add_sigs -> %s\n",
+ "zone_resigninc:add_sigs -> %s",
dns_result_totext(result));
break;
}
@@ -5490,7 +5490,7 @@ zone_resigninc(dns_zone_t *zone) {
}
if (result != ISC_R_SUCCESS)
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:dns_db_getsigningtime -> %s\n",
+ "zone_resigninc:dns_db_getsigningtime -> %s",
dns_result_totext(result));
}
@@ -5501,7 +5501,7 @@ zone_resigninc(dns_zone_t *zone) {
&sig_diff, zone_keys, nkeys, now, ISC_TRUE);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:del_sigs -> %s\n",
+ "zone_resigninc:del_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -5517,7 +5517,7 @@ zone_resigninc(dns_zone_t *zone) {
zone->updatemethod);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:update_soa_serial -> %s\n",
+ "zone_resigninc:update_soa_serial -> %s",
dns_result_totext(result));
goto failure;
}
@@ -5531,7 +5531,7 @@ zone_resigninc(dns_zone_t *zone) {
soaexpire, check_ksk, keyset_kskonly);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_resigninc:add_sigs -> %s\n",
+ "zone_resigninc:add_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6233,7 +6233,7 @@ update_sigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version,
zone_keys, nkeys, now, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "update_sigs:del_sigs -> %s\n",
+ "update_sigs:del_sigs -> %s",
dns_result_totext(result));
return (result);
}
@@ -6243,7 +6243,7 @@ update_sigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version,
expire, check_ksk, keyset_kskonly);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "update_sigs:add_sigs -> %s\n",
+ "update_sigs:add_sigs -> %s",
dns_result_totext(result));
return (result);
}
@@ -6328,7 +6328,7 @@ zone_nsec3chain(dns_zone_t *zone) {
result = dns_db_newversion(db, &version);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_nsec3chain:dns_db_newversion -> %s\n",
+ "zone_nsec3chain:dns_db_newversion -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6337,7 +6337,7 @@ zone_nsec3chain(dns_zone_t *zone) {
DNS_MAXZONEKEYS, zone_keys, &nkeys);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_nsec3chain:find_zone_keys -> %s\n",
+ "zone_nsec3chain:find_zone_keys -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6483,7 +6483,7 @@ zone_nsec3chain(dns_zone_t *zone) {
&nsec3_diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "dns_nsec3_addnsec3 -> %s\n",
+ "dns_nsec3_addnsec3 -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6541,7 +6541,7 @@ zone_nsec3chain(dns_zone_t *zone) {
} else if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "dns_dbiterator_next -> %s\n",
+ "dns_dbiterator_next -> %s",
dns_result_totext(result));
goto failure;
} else if (delegation) {
@@ -6600,7 +6600,7 @@ zone_nsec3chain(dns_zone_t *zone) {
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "need_nsec_chain -> %s\n",
+ "need_nsec_chain -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6625,7 +6625,7 @@ zone_nsec3chain(dns_zone_t *zone) {
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "fixup_nsec3param -> %s\n",
+ "fixup_nsec3param -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6640,7 +6640,7 @@ zone_nsec3chain(dns_zone_t *zone) {
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "deletematchingnsec3 -> %s\n",
+ "deletematchingnsec3 -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6741,7 +6741,7 @@ zone_nsec3chain(dns_zone_t *zone) {
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "fixup_nsec3param -> %s\n",
+ "fixup_nsec3param -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6749,7 +6749,7 @@ zone_nsec3chain(dns_zone_t *zone) {
} else if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "dns_dbiterator_next -> %s\n",
+ "dns_dbiterator_next -> %s",
dns_result_totext(result));
goto failure;
} else if (delegation) {
@@ -6786,7 +6786,7 @@ zone_nsec3chain(dns_zone_t *zone) {
result = dns_db_allrdatasets(db, node, version, 0, &iterator);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "dns_db_allrdatasets -> %s\n",
+ "dns_db_allrdatasets -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6812,7 +6812,7 @@ zone_nsec3chain(dns_zone_t *zone) {
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "updatesecure -> %s\n",
+ "updatesecure -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6825,7 +6825,7 @@ zone_nsec3chain(dns_zone_t *zone) {
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
"zone_nsec3chain:"
- "dns_nsec3_addnsec3s -> %s\n",
+ "dns_nsec3_addnsec3s -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6840,7 +6840,7 @@ zone_nsec3chain(dns_zone_t *zone) {
check_ksk, keyset_kskonly, &sig_diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "update_sigs -> %s\n", dns_result_totext(result));
+ "update_sigs -> %s", dns_result_totext(result));
goto failure;
}
@@ -6853,7 +6853,7 @@ zone_nsec3chain(dns_zone_t *zone) {
check_ksk, keyset_kskonly, &sig_diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "update_sigs -> %s\n", dns_result_totext(result));
+ "update_sigs -> %s", dns_result_totext(result));
goto failure;
}
@@ -6864,7 +6864,7 @@ zone_nsec3chain(dns_zone_t *zone) {
zone->minimum, ISC_FALSE, &nsec_diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "updatesecure -> %s\n",
+ "updatesecure -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6875,7 +6875,7 @@ zone_nsec3chain(dns_zone_t *zone) {
check_ksk, keyset_kskonly, &sig_diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "update_sigs -> %s\n", dns_result_totext(result));
+ "update_sigs -> %s", dns_result_totext(result));
goto failure;
}
@@ -6890,7 +6890,7 @@ zone_nsec3chain(dns_zone_t *zone) {
&sig_diff, zone_keys, nkeys, now, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "del_sigs -> %s\n", dns_result_totext(result));
+ "del_sigs -> %s", dns_result_totext(result));
goto failure;
}
@@ -6898,7 +6898,7 @@ zone_nsec3chain(dns_zone_t *zone) {
zone->updatemethod);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "update_soa_serial -> %s\n",
+ "update_soa_serial -> %s",
dns_result_totext(result));
goto failure;
}
@@ -6908,7 +6908,7 @@ zone_nsec3chain(dns_zone_t *zone) {
soaexpire, check_ksk, keyset_kskonly);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:"
- "add_sigs -> %s\n", dns_result_totext(result));
+ "add_sigs -> %s", dns_result_totext(result));
goto failure;
}
@@ -6952,7 +6952,7 @@ zone_nsec3chain(dns_zone_t *zone) {
failure:
if (result != ISC_R_SUCCESS)
- dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain: %s\n",
+ dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain: %s",
dns_result_totext(result));
/*
* On error roll back the current nsec3chain.
@@ -7155,7 +7155,7 @@ zone_sign(dns_zone_t *zone) {
result = dns_db_newversion(db, &version);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_sign:dns_db_newversion -> %s\n",
+ "zone_sign:dns_db_newversion -> %s",
dns_result_totext(result));
goto failure;
}
@@ -7164,7 +7164,7 @@ zone_sign(dns_zone_t *zone) {
DNS_MAXZONEKEYS, zone_keys, &nkeys);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_sign:find_zone_keys -> %s\n",
+ "zone_sign:find_zone_keys -> %s",
dns_result_totext(result));
goto failure;
}
@@ -7385,7 +7385,7 @@ zone_sign(dns_zone_t *zone) {
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone,
ISC_LOG_ERROR,
- "updatesecure -> %s\n",
+ "updatesecure -> %s",
dns_result_totext(result));
goto failure;
}
@@ -7397,8 +7397,7 @@ zone_sign(dns_zone_t *zone) {
&post_diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "updatesignwithkey "
- "-> %s\n",
+ "updatesignwithkey -> %s",
dns_result_totext(result));
goto failure;
}
@@ -7406,7 +7405,7 @@ zone_sign(dns_zone_t *zone) {
goto next_signing;
} else if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_sign:dns_dbiterator_next -> %s\n",
+ "zone_sign:dns_dbiterator_next -> %s",
dns_result_totext(result));
goto failure;
} else if (delegation) {
@@ -7432,7 +7431,7 @@ zone_sign(dns_zone_t *zone) {
check_ksk, keyset_kskonly, &sig_diff);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR, "zone_sign:"
- "update_sigs -> %s\n",
+ "update_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -7452,7 +7451,7 @@ zone_sign(dns_zone_t *zone) {
&sig_diff, zone_keys, nkeys, now, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_sign:del_sigs -> %s\n",
+ "zone_sign:del_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -7461,7 +7460,7 @@ zone_sign(dns_zone_t *zone) {
zone->updatemethod);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_sign:update_soa_serial -> %s\n",
+ "zone_sign:update_soa_serial -> %s",
dns_result_totext(result));
goto failure;
}
@@ -7475,7 +7474,7 @@ zone_sign(dns_zone_t *zone) {
soaexpire, check_ksk, keyset_kskonly);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "zone_sign:add_sigs -> %s\n",
+ "zone_sign:add_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -8532,7 +8531,7 @@ zone_maintenance(dns_zone_t *zone) {
DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED) &&
DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDDUMP)) {
dumping = was_dumping(zone);
- } else
+ } else
dumping = ISC_TRUE;
UNLOCK_ZONE(zone);
if (!dumping) {
@@ -15190,7 +15189,7 @@ sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver,
zone_keys, &nkeys);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "sign_apex:find_zone_keys -> %s\n",
+ "sign_apex:find_zone_keys -> %s",
dns_result_totext(result));
return (result);
}
@@ -15221,7 +15220,7 @@ sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver,
zone_keys, nkeys, now, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "sign_apex:del_sigs -> %s\n",
+ "sign_apex:del_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -15231,7 +15230,7 @@ sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver,
keyset_kskonly);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "sign_apex:add_sigs -> %s\n",
+ "sign_apex:add_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -15243,7 +15242,7 @@ sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver,
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "sign_apex:update_sigs -> %s\n",
+ "sign_apex:update_sigs -> %s",
dns_result_totext(result));
goto failure;
}
@@ -15943,7 +15942,7 @@ keydone(isc_task_t *task, isc_event_t *event) {
result = dns_db_newversion(db, &newver);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "keydone:dns_db_newversion -> %s\n",
+ "keydone:dns_db_newversion -> %s",
dns_result_totext(result));
goto failure;
}
@@ -16063,7 +16062,7 @@ dns_zone_keydone(dns_zone_t *zone, const char *keystr) {
kd->all = ISC_FALSE;
n = sscanf(keystr, "%hd/", &keyid);
- if (n == 0)
+ if (n == 0U)
CHECK(ISC_R_FAILURE);
algstr = strchr(keystr, '/');
@@ -16073,7 +16072,7 @@ dns_zone_keydone(dns_zone_t *zone, const char *keystr) {
CHECK(ISC_R_FAILURE);
n = sscanf(algstr, "%hhd", &alg);
- if (n == 0) {
+ if (n == 0U) {
DE_CONST(algstr, r.base);
r.length = strlen(algstr);
CHECK(dns_secalg_fromtext(&alg, &r));
@@ -16141,7 +16140,7 @@ setnsec3param(isc_task_t *task, isc_event_t *event) {
result = dns_db_newversion(db, &newver);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "setnsec3param:dns_db_newversion -> %s\n",
+ "setnsec3param:dns_db_newversion -> %s",
dns_result_totext(result));
goto failure;
}
diff --git a/lib/dns/zt.c b/lib/dns/zt.c
index 5bb4cb8b..eb1e4247 100644
--- a/lib/dns/zt.c
+++ b/lib/dns/zt.c
@@ -46,6 +46,7 @@ struct dns_zt {
dns_zt_allloaded_t loaddone;
void * loaddone_arg;
/* Locked by lock. */
+ isc_boolean_t flush;
isc_uint32_t references;
unsigned int loads_pending;
dns_rbt_t *table;
@@ -93,8 +94,10 @@ dns_zt_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, dns_zt_t **ztp)
if (result != ISC_R_SUCCESS)
goto cleanup_rbt;
- zt->mctx = mctx;
+ zt->mctx = NULL;
+ isc_mem_attach(mctx, &zt->mctx);
zt->references = 1;
+ zt->flush = ISC_FALSE;
zt->rdclass = rdclass;
zt->magic = ZTMAGIC;
zt->loaddone = NULL;
@@ -201,6 +204,16 @@ flush(dns_zone_t *zone, void *uap) {
}
static void
+zt_destroy(dns_zt_t *zt) {
+ if (zt->flush)
+ (void)dns_zt_apply(zt, ISC_FALSE, flush, NULL);
+ dns_rbt_destroy(&zt->table);
+ isc_rwlock_destroy(&zt->rwlock);
+ zt->magic = 0;
+ isc_mem_putanddetach(&zt->mctx, zt, sizeof(*zt));
+}
+
+static void
zt_flushanddetach(dns_zt_t **ztp, isc_boolean_t need_flush) {
isc_boolean_t destroy = ISC_FALSE;
dns_zt_t *zt;
@@ -215,17 +228,13 @@ zt_flushanddetach(dns_zt_t **ztp, isc_boolean_t need_flush) {
zt->references--;
if (zt->references == 0)
destroy = ISC_TRUE;
+ if (need_flush)
+ zt->flush = ISC_TRUE;
RWUNLOCK(&zt->rwlock, isc_rwlocktype_write);
- if (destroy) {
- if (need_flush)
- (void)dns_zt_apply(zt, ISC_FALSE, flush, NULL);
- dns_rbt_destroy(&zt->table);
- isc_rwlock_destroy(&zt->rwlock);
- zt->magic = 0;
- isc_mem_put(zt->mctx, zt, sizeof(*zt));
- }
+ if (destroy)
+ zt_destroy(zt);
*ztp = NULL;
}
@@ -272,10 +281,9 @@ dns_zt_asyncload(dns_zt_t *zt, dns_zt_allloaded_t alldone, void *arg) {
REQUIRE(VALID_ZT(zt));
- RWLOCK(&zt->rwlock, isc_rwlocktype_read);
+ RWLOCK(&zt->rwlock, isc_rwlocktype_write);
INSIST(zt->loads_pending == 0);
-
result = dns_zt_apply2(zt, ISC_FALSE, NULL, asyncload, &dl);
pending = zt->loads_pending;
@@ -284,7 +292,7 @@ dns_zt_asyncload(dns_zt_t *zt, dns_zt_allloaded_t alldone, void *arg) {
zt->loaddone_arg = arg;
}
- RWUNLOCK(&zt->rwlock, isc_rwlocktype_read);
+ RWUNLOCK(&zt->rwlock, isc_rwlocktype_write);
if (pending == 0)
alldone(arg);
@@ -305,10 +313,15 @@ asyncload(dns_zone_t *zone, void *callback) {
REQUIRE(zone != NULL);
zt = dns_zone_getview(zone)->zonetable;
+ INSIST(VALID_ZT(zt));
result = dns_zone_asyncload(zone, *loaded, zt);
- if (result == ISC_R_SUCCESS)
+ if (result == ISC_R_SUCCESS) {
+ INSIST(zt->references > 0);
+ zt->references++;
+ INSIST(zt->references != 0);
zt->loads_pending++;
+ }
return (ISC_R_SUCCESS);
}
@@ -479,6 +492,7 @@ dns_zt_apply2(dns_zt_t *zt, isc_boolean_t stop, isc_result_t *sub,
*/
static isc_result_t
doneloading(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) {
+ isc_boolean_t destroy = ISC_FALSE;
dns_zt_allloaded_t alldone = NULL;
void *arg = NULL;
@@ -489,6 +503,10 @@ doneloading(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) {
RWLOCK(&zt->rwlock, isc_rwlocktype_write);
INSIST(zt->loads_pending != 0);
+ INSIST(zt->references != 0);
+ zt->references--;
+ if (zt->references == 0)
+ destroy = ISC_TRUE;
zt->loads_pending--;
if (zt->loads_pending == 0) {
alldone = zt->loaddone;
@@ -501,6 +519,9 @@ doneloading(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) {
if (alldone != NULL)
alldone(arg);
+ if (destroy)
+ zt_destroy(zt);
+
return (ISC_R_SUCCESS);
}
diff --git a/lib/export/Makefile.in b/lib/export/Makefile.in
index fc9d4ad4..1fd72168 100644
--- a/lib/export/Makefile.in
+++ b/lib/export/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/dns/Makefile.in b/lib/export/dns/Makefile.in
index cd72988d..6df36fe8 100644
--- a/lib/export/dns/Makefile.in
+++ b/lib/export/dns/Makefile.in
@@ -44,7 +44,7 @@ LIBS = @LIBS@
# Alphabetically
OPENSSLLINKOBJS = openssl_link.@O@ openssldh_link.@O@ openssldsa_link.@O@ \
- opensslgost_link.@O@ opensslrsa_link.@O@
+ opensslecdsa_link.@O@ opensslgost_link.@O@ opensslrsa_link.@O@
DSTOBJS = @OPENSSLLINKOBJS@ \
dst_api.@O@ dst_lib.@O@ dst_parse.@O@ dst_result.@O@ \
@@ -72,7 +72,7 @@ OBJS= ${DNSOBJS} ${OTHEROBJS} ${DSTOBJS} ${PORTDNSOBJS}
# Alphabetically
OPENSSLLINKSRCS = openssl_link.c openssldh_link.c openssldsa_link.c \
- opensslgost_link.c opensslrsa_link.c
+ opensslecdsa_link.c opensslgost_link.c opensslrsa_link.c
DSTSRCS = @OPENSSLLINKSRCS@ \
dst_api.c dst_lib.c dst_parse.c \
diff --git a/lib/export/dns/include/Makefile.in b/lib/export/dns/include/Makefile.in
index 9fc0b66b..6bf12053 100644
--- a/lib/export/dns/include/Makefile.in
+++ b/lib/export/dns/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/dns/include/dns/Makefile.in b/lib/export/dns/include/dns/Makefile.in
index 2d7f2c78..b7f51b4a 100644
--- a/lib/export/dns/include/dns/Makefile.in
+++ b/lib/export/dns/include/dns/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/dns/include/dst/Makefile.in b/lib/export/dns/include/dst/Makefile.in
index 259e62ed..f6f540a2 100644
--- a/lib/export/dns/include/dst/Makefile.in
+++ b/lib/export/dns/include/dst/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/irs/include/irs/Makefile.in b/lib/export/irs/include/irs/Makefile.in
index c8507571..530e67c8 100644
--- a/lib/export/irs/include/irs/Makefile.in
+++ b/lib/export/irs/include/irs/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isc/Makefile.in b/lib/export/isc/Makefile.in
index a55a1f44..86726ab3 100644
--- a/lib/export/isc/Makefile.in
+++ b/lib/export/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/lib/export/isc/include/isc/Makefile.in b/lib/export/isc/include/isc/Makefile.in
index 24991853..91f538c4 100644
--- a/lib/export/isc/include/isc/Makefile.in
+++ b/lib/export/isc/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isc/nls/Makefile.in b/lib/export/isc/nls/Makefile.in
index a9e779f9..25156854 100644
--- a/lib/export/isc/nls/Makefile.in
+++ b/lib/export/isc/nls/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isc/nothreads/Makefile.in b/lib/export/isc/nothreads/Makefile.in
index 93b21093..994da636 100644
--- a/lib/export/isc/nothreads/Makefile.in
+++ b/lib/export/isc/nothreads/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2010, 2012 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
diff --git a/lib/export/isc/nothreads/include/isc/Makefile.in b/lib/export/isc/nothreads/include/isc/Makefile.in
index eb25c885..9bda987d 100644
--- a/lib/export/isc/nothreads/include/isc/Makefile.in
+++ b/lib/export/isc/nothreads/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isc/pthreads/Makefile.in b/lib/export/isc/pthreads/Makefile.in
index 92788ec1..f08e5c63 100644
--- a/lib/export/isc/pthreads/Makefile.in
+++ b/lib/export/isc/pthreads/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isc/pthreads/include/isc/Makefile.in b/lib/export/isc/pthreads/include/isc/Makefile.in
index 77d5c077..43197685 100644
--- a/lib/export/isc/pthreads/include/isc/Makefile.in
+++ b/lib/export/isc/pthreads/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isc/unix/Makefile.in b/lib/export/isc/unix/Makefile.in
index 5a8eed88..f5cf7e86 100644
--- a/lib/export/isc/unix/Makefile.in
+++ b/lib/export/isc/unix/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isc/unix/include/isc/Makefile.in b/lib/export/isc/unix/include/isc/Makefile.in
index f19b8c65..7159c768 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 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/isccfg/include/isccfg/Makefile.in b/lib/export/isccfg/include/isccfg/Makefile.in
index 5e9ea78d..57a344cc 100644
--- a/lib/export/isccfg/include/isccfg/Makefile.in
+++ b/lib/export/isccfg/include/isccfg/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/samples/Makefile-postinstall.in b/lib/export/samples/Makefile-postinstall.in
index 174aed60..5b1aafba 100644
--- a/lib/export/samples/Makefile-postinstall.in
+++ b/lib/export/samples/Makefile-postinstall.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/export/samples/Makefile.in b/lib/export/samples/Makefile.in
index c60baac5..cdc66b16 100644
--- a/lib/export/samples/Makefile.in
+++ b/lib/export/samples/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/irs/Makefile.in b/lib/irs/Makefile.in
index ed869679..d3c47b01 100644
--- a/lib/irs/Makefile.in
+++ b/lib/irs/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/irs/include/Makefile.in b/lib/irs/include/Makefile.in
index eca19452..91099f1e 100644
--- a/lib/irs/include/Makefile.in
+++ b/lib/irs/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/irs/include/irs/Makefile.in b/lib/irs/include/irs/Makefile.in
index 3c3b6127..63e7fd6b 100644
--- a/lib/irs/include/irs/Makefile.in
+++ b/lib/irs/include/irs/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009, 2012 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
diff --git a/lib/isc/alpha/Makefile.in b/lib/isc/alpha/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/alpha/Makefile.in
+++ b/lib/isc/alpha/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/alpha/include/Makefile.in b/lib/isc/alpha/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/alpha/include/Makefile.in
+++ b/lib/isc/alpha/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/alpha/include/isc/Makefile.in b/lib/isc/alpha/include/isc/Makefile.in
index 5f116cac..4927e210 100644
--- a/lib/isc/alpha/include/isc/Makefile.in
+++ b/lib/isc/alpha/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/api b/lib/isc/api
index ed4b69f8..178430ae 100644
--- a/lib/isc/api
+++ b/lib/isc/api
@@ -3,6 +3,6 @@
# 9.7: 60-79
# 9.8: 80-89
# 9.9: 90-109
-LIBINTERFACE = 91
-LIBREVISION = 1
+LIBINTERFACE = 93
+LIBREVISION = 0
LIBAGE = 1
diff --git a/lib/isc/ia64/Makefile.in b/lib/isc/ia64/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/ia64/Makefile.in
+++ b/lib/isc/ia64/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/ia64/include/Makefile.in b/lib/isc/ia64/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/ia64/include/Makefile.in
+++ b/lib/isc/ia64/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/ia64/include/isc/Makefile.in b/lib/isc/ia64/include/isc/Makefile.in
index 5f116cac..4927e210 100644
--- a/lib/isc/ia64/include/isc/Makefile.in
+++ b/lib/isc/ia64/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/ia64/include/isc/atomic.h b/lib/isc/ia64/include/isc/atomic.h
index 6c22f2a5..557941d0 100644
--- a/lib/isc/ia64/include/isc/atomic.h
+++ b/lib/isc/ia64/include/isc/atomic.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2006, 2007, 2009, 2012 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,7 +41,7 @@ isc_atomic_xadd(isc_int32_t *p, isc_int32_t val)
for (prev = *(volatile isc_int32_t *)p; ; prev = swapped) {
swapped = prev + val;
__asm__ volatile(
- "mov ar.ccv=%2;"
+ "mov ar.ccv=%2;;"
"cmpxchg4.acq %0=%4,%3,ar.ccv"
: "=r" (swapped), "=m" (*p)
: "r" (prev), "r" (swapped), "m" (*p)
@@ -84,7 +84,7 @@ isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval, isc_int32_t val)
isc_int32_t ret;
__asm__ volatile(
- "mov ar.ccv=%2;"
+ "mov ar.ccv=%2;;"
"cmpxchg4.acq %0=%4,%3,ar.ccv"
: "=r" (ret), "=m" (*p)
: "r" (cmpval), "r" (val), "m" (*p)
diff --git a/lib/isc/include/Makefile.in b/lib/isc/include/Makefile.in
index 04778d78..70c165ef 100644
--- a/lib/isc/include/Makefile.in
+++ b/lib/isc/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/include/isc/file.h b/lib/isc/include/isc/file.h
index 8794065b..38f78b74 100644
--- a/lib/isc/include/isc/file.h
+++ b/lib/isc/include/isc/file.h
@@ -25,6 +25,7 @@
#include <stdio.h>
#include <isc/lang.h>
+#include <isc/stat.h>
#include <isc/types.h>
ISC_LANG_BEGINDECLS
@@ -33,6 +34,9 @@ isc_result_t
isc_file_settime(const char *file, isc_time_t *time);
isc_result_t
+isc_file_mode(const char *file, mode_t *modep);
+
+isc_result_t
isc_file_getmodtime(const char *file, isc_time_t *time);
/*!<
* \brief Get the time of last modification of a file.
@@ -97,15 +101,22 @@ isc_file_mktemplate(const char *path, char *buf, size_t buflen);
* of the path with the internal template string.
*/
-
isc_result_t
isc_file_openunique(char *templet, FILE **fp);
isc_result_t
isc_file_openuniqueprivate(char *templet, FILE **fp);
isc_result_t
isc_file_openuniquemode(char *templet, int mode, FILE **fp);
+isc_result_t
+isc_file_bopenunique(char *templet, FILE **fp);
+isc_result_t
+isc_file_bopenuniqueprivate(char *templet, FILE **fp);
+isc_result_t
+isc_file_bopenuniquemode(char *templet, int mode, FILE **fp);
/*!<
* \brief Create and open a file with a unique name based on 'templet'.
+ * isc_file_bopen*() open the file in binary mode in Windows.
+ * isc_file_open*() open the file in text mode in Windows.
*
* Notes:
*\li 'template' is a reserved work in C++. If you want to complain
diff --git a/lib/isc/include/isc/heap.h b/lib/isc/include/isc/heap.h
index 77bf07c3..0b3a53b0 100644
--- a/lib/isc/include/isc/heap.h
+++ b/lib/isc/include/isc/heap.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1997-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -60,6 +60,8 @@ isc_heap_create(isc_mem_t *mctx, isc_heapcompare_t compare,
* storage method. When the heap elements are deleted space is not freed
* but will be reused when new elements are inserted.
*
+ * Heap elements are indexed from 1.
+ *
* Requires:
*\li "mctx" is valid.
*\li "compare" is a function which takes two void * arguments and
diff --git a/lib/isc/include/isc/namespace.h b/lib/isc/include/isc/namespace.h
index cd4ec9ad..05b7daa7 100644
--- a/lib/isc/include/isc/namespace.h
+++ b/lib/isc/include/isc/namespace.h
@@ -151,6 +151,8 @@
#define isc_taskmgr_setmode isc__taskmgr_setmode
#define isc_taskmgr_mode isc__taskmgr_mode
#define isc_taskmgr_destroy isc__taskmgr_destroy
+#define isc_taskmgr_setexcltask isc__taskmgr_setexcltask
+#define isc_taskmgr_excltask isc__taskmgr_excltask
#define isc_task_beginexclusive isc__task_beginexclusive
#define isc_task_endexclusive isc__task_endexclusive
#define isc_task_setprivilege isc__task_setprivilege
diff --git a/lib/isc/include/isc/queue.h b/lib/isc/include/isc/queue.h
index 1bc9d5b4..22e2a01e 100644
--- a/lib/isc/include/isc/queue.h
+++ b/lib/isc/include/isc/queue.h
@@ -35,7 +35,7 @@
#define ISC_QLINK_INSIST(x) (void)0
#endif
-#define ISC_QLINK(type) struct { void *prev, *next; }
+#define ISC_QLINK(type) struct { type *prev, *next; }
#define ISC_QLINK_INIT(elt, link) \
do { \
@@ -142,4 +142,22 @@
(ret)->link.next = (ret)->link.prev = (void *)(-1); \
} while(0)
+#define ISC_QUEUE_UNLINK(queue, elt, link) \
+ do { \
+ ISC_QLINK_INSIST(ISC_QLINK_LINKED(elt, link)); \
+ LOCK(&(queue).headlock); \
+ LOCK(&(queue).taillock); \
+ if ((elt)->link.prev == NULL) \
+ (queue).head = (elt)->link.next; \
+ else \
+ (elt)->link.prev->link.next = (elt)->link.next; \
+ if ((elt)->link.next == NULL) \
+ (queue).tail = (elt)->link.prev; \
+ else \
+ (elt)->link.next->link.prev = (elt)->link.prev; \
+ UNLOCK(&(queue).taillock); \
+ UNLOCK(&(queue).headlock); \
+ (elt)->link.next = (elt)->link.prev = (void *)(-1); \
+ } while(0)
+
#endif /* ISC_QUEUE_H */
diff --git a/lib/isc/include/isc/task.h b/lib/isc/include/isc/task.h
index 594d80f3..c63c3e66 100644
--- a/lib/isc/include/isc/task.h
+++ b/lib/isc/include/isc/task.h
@@ -115,6 +115,8 @@ typedef struct isc_taskmgrmethods {
isc_result_t (*taskcreate)(isc_taskmgr_t *manager,
unsigned int quantum,
isc_task_t **taskp);
+ void (*setexcltask)(isc_taskmgr_t *mgr, isc_task_t *task);
+ isc_result_t (*excltask)(isc_taskmgr_t *mgr, isc_task_t **taskp);
} isc_taskmgrmethods_t;
typedef struct isc_taskmethods {
@@ -759,6 +761,31 @@ isc_taskmgr_destroy(isc_taskmgr_t **managerp);
* have been freed.
*/
+void
+isc_taskmgr_setexcltask(isc_taskmgr_t *mgr, isc_task_t *task);
+/*%<
+ * Set a task which will be used for all task-exclusive operations.
+ *
+ * Requires:
+ *\li 'manager' is a valid task manager.
+ *
+ *\li 'task' is a valid task.
+ */
+
+isc_result_t
+isc_taskmgr_excltask(isc_taskmgr_t *mgr, isc_task_t **taskp);
+/*%<
+ * Attach '*taskp' to the task set by isc_taskmgr_getexcltask().
+ * This task should be used whenever running in task-exclusive mode,
+ * so as to prevent deadlock between two exclusive tasks.
+ *
+ * Requires:
+ *\li 'manager' is a valid task manager.
+
+ *\li taskp != NULL && *taskp == NULL
+ */
+
+
#ifdef HAVE_LIBXML2
void
diff --git a/lib/isc/mem.c b/lib/isc/mem.c
index 5b4b16c5..1964b7a0 100644
--- a/lib/isc/mem.c
+++ b/lib/isc/mem.c
@@ -1191,7 +1191,7 @@ isc___mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size FLARG) {
oldsize -= ALIGNMENT_SIZE;
INSIST(oldsize == size);
}
- isc_mem_free((isc_mem_t *)ctx, ptr);
+ isc__mem_free((isc_mem_t *)ctx, ptr FLARG_PASS);
MCTXLOCK(ctx, &ctx->lock);
ctx->references--;
@@ -1327,7 +1327,7 @@ isc___mem_put(isc_mem_t *ctx0, void *ptr, size_t size FLARG) {
oldsize -= ALIGNMENT_SIZE;
INSIST(oldsize == size);
}
- isc_mem_free((isc_mem_t *)ctx, ptr);
+ isc__mem_free((isc_mem_t *)ctx, ptr FLARG_PASS);
return;
}
@@ -1592,7 +1592,11 @@ isc___mem_reallocate(isc_mem_t *ctx0, void *ptr, size_t size FLARG) {
oldsize = (((size_info *)ptr)[-1]).u.size;
INSIST(oldsize >= ALIGNMENT_SIZE);
oldsize -= ALIGNMENT_SIZE;
- copysize = oldsize > size ? size : oldsize;
+ if ((isc_mem_debugging & ISC_MEM_DEBUGCTX) != 0) {
+ INSIST(oldsize >= ALIGNMENT_SIZE);
+ oldsize -= ALIGNMENT_SIZE;
+ }
+ copysize = (oldsize > size) ? size : oldsize;
memcpy(new_ptr, ptr, copysize);
isc__mem_free(ctx0, ptr FLARG_PASS);
}
diff --git a/lib/isc/mips/Makefile.in b/lib/isc/mips/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/mips/Makefile.in
+++ b/lib/isc/mips/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/mips/include/Makefile.in b/lib/isc/mips/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/mips/include/Makefile.in
+++ b/lib/isc/mips/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/mips/include/isc/Makefile.in b/lib/isc/mips/include/isc/Makefile.in
index 5f116cac..4927e210 100644
--- a/lib/isc/mips/include/isc/Makefile.in
+++ b/lib/isc/mips/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/nls/Makefile.in b/lib/isc/nls/Makefile.in
index aca4a273..7bacf1c8 100644
--- a/lib/isc/nls/Makefile.in
+++ b/lib/isc/nls/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/noatomic/Makefile.in b/lib/isc/noatomic/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/noatomic/Makefile.in
+++ b/lib/isc/noatomic/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/noatomic/include/Makefile.in b/lib/isc/noatomic/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/noatomic/include/Makefile.in
+++ b/lib/isc/noatomic/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/noatomic/include/isc/Makefile.in b/lib/isc/noatomic/include/isc/Makefile.in
index 5f116cac..4927e210 100644
--- a/lib/isc/noatomic/include/isc/Makefile.in
+++ b/lib/isc/noatomic/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/nothreads/Makefile.in b/lib/isc/nothreads/Makefile.in
index 7e7abd6b..540b2434 100644
--- a/lib/isc/nothreads/Makefile.in
+++ b/lib/isc/nothreads/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/nothreads/include/Makefile.in b/lib/isc/nothreads/include/Makefile.in
index a52310a6..662a72df 100644
--- a/lib/isc/nothreads/include/Makefile.in
+++ b/lib/isc/nothreads/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/nothreads/include/isc/Makefile.in b/lib/isc/nothreads/include/isc/Makefile.in
index 3c9eab0e..a2c347ea 100644
--- a/lib/isc/nothreads/include/isc/Makefile.in
+++ b/lib/isc/nothreads/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/powerpc/Makefile.in b/lib/isc/powerpc/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/powerpc/Makefile.in
+++ b/lib/isc/powerpc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/powerpc/include/Makefile.in b/lib/isc/powerpc/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/powerpc/include/Makefile.in
+++ b/lib/isc/powerpc/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/powerpc/include/isc/Makefile.in b/lib/isc/powerpc/include/isc/Makefile.in
index 5f116cac..4927e210 100644
--- a/lib/isc/powerpc/include/isc/Makefile.in
+++ b/lib/isc/powerpc/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/pthreads/Makefile.in b/lib/isc/pthreads/Makefile.in
index d6e7c760..9f66ef33 100644
--- a/lib/isc/pthreads/Makefile.in
+++ b/lib/isc/pthreads/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/pthreads/condition.c b/lib/isc/pthreads/condition.c
index 50281a2b..9053cf0f 100644
--- a/lib/isc/pthreads/condition.c
+++ b/lib/isc/pthreads/condition.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -43,7 +43,14 @@ isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) {
* POSIX defines a timespec's tv_sec as time_t.
*/
result = isc_time_secondsastimet(t, &ts.tv_sec);
- if (result != ISC_R_SUCCESS)
+
+ /*
+ * If we have a range error ts.tv_sec is most probably a signed
+ * 32 bit value. Set ts.tv_sec to INT_MAX. This is a kludge.
+ */
+ if (result == ISC_R_RANGE)
+ ts.tv_sec = INT_MAX;
+ else if (result != ISC_R_SUCCESS)
return (result);
/*!
diff --git a/lib/isc/pthreads/include/Makefile.in b/lib/isc/pthreads/include/Makefile.in
index 0303ab13..46c243e1 100644
--- a/lib/isc/pthreads/include/Makefile.in
+++ b/lib/isc/pthreads/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/pthreads/include/isc/Makefile.in b/lib/isc/pthreads/include/isc/Makefile.in
index 11675ec2..7cadcf4b 100644
--- a/lib/isc/pthreads/include/isc/Makefile.in
+++ b/lib/isc/pthreads/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/sparc64/Makefile.in b/lib/isc/sparc64/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/sparc64/Makefile.in
+++ b/lib/isc/sparc64/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/sparc64/include/Makefile.in b/lib/isc/sparc64/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/sparc64/include/Makefile.in
+++ b/lib/isc/sparc64/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/sparc64/include/isc/Makefile.in b/lib/isc/sparc64/include/isc/Makefile.in
index 5f116cac..4927e210 100644
--- a/lib/isc/sparc64/include/isc/Makefile.in
+++ b/lib/isc/sparc64/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/task.c b/lib/isc/task.c
index 227b2959..9c8badd4 100644
--- a/lib/isc/task.c
+++ b/lib/isc/task.c
@@ -156,6 +156,7 @@ struct isc__taskmgr {
isc_boolean_t pause_requested;
isc_boolean_t exclusive_requested;
isc_boolean_t exiting;
+ isc__task_t *excl;
#ifdef USE_SHARED_MANAGER
unsigned int refs;
#endif /* ISC_PLATFORM_USETHREADS */
@@ -225,6 +226,10 @@ isc__taskmgr_create(isc_mem_t *mctx, unsigned int workers,
unsigned int default_quantum, isc_taskmgr_t **managerp);
ISC_TASKFUNC_SCOPE void
isc__taskmgr_destroy(isc_taskmgr_t **managerp);
+ISC_TASKFUNC_SCOPE void
+isc__taskmgr_setexcltask(isc_taskmgr_t *mgr0, isc_task_t *task0);
+ISC_TASKFUNC_SCOPE isc_result_t
+isc__taskmgr_excltask(isc_taskmgr_t *mgr0, isc_task_t **taskp);
ISC_TASKFUNC_SCOPE isc_result_t
isc__task_beginexclusive(isc_task_t *task);
ISC_TASKFUNC_SCOPE void
@@ -286,7 +291,9 @@ static isc_taskmgrmethods_t taskmgrmethods = {
isc__taskmgr_destroy,
isc__taskmgr_setmode,
isc__taskmgr_mode,
- isc__task_create
+ isc__task_create,
+ isc__taskmgr_setexcltask,
+ isc__taskmgr_excltask
};
/***
@@ -1396,6 +1403,7 @@ isc__taskmgr_create(isc_mem_t *mctx, unsigned int workers,
manager->exclusive_requested = ISC_FALSE;
manager->pause_requested = ISC_FALSE;
manager->exiting = ISC_FALSE;
+ manager->excl = NULL;
isc_mem_attach(mctx, &manager->mctx);
@@ -1480,6 +1488,12 @@ isc__taskmgr_destroy(isc_taskmgr_t **managerp) {
*/
/*
+ * Detach the exclusive task before acquiring the manager lock
+ */
+ if (manager->excl != NULL)
+ isc__task_detach((isc_task_t **) &manager->excl);
+
+ /*
* Unlike elsewhere, we're going to hold this lock a long time.
* We need to do so, because otherwise the list of tasks could
* change while we were traversing it.
@@ -1629,12 +1643,41 @@ isc__taskmgr_resume(isc_taskmgr_t *manager0) {
}
#endif /* USE_WORKER_THREADS */
+ISC_TASKFUNC_SCOPE void
+isc__taskmgr_setexcltask(isc_taskmgr_t *mgr0, isc_task_t *task0) {
+ isc__taskmgr_t *mgr = (isc__taskmgr_t *) mgr0;
+ isc__task_t *task = (isc__task_t *) task0;
+
+ REQUIRE(VALID_MANAGER(mgr));
+ REQUIRE(VALID_TASK(task));
+ if (mgr->excl != NULL)
+ isc__task_detach((isc_task_t **) &mgr->excl);
+ isc__task_attach(task0, (isc_task_t **) &mgr->excl);
+}
+
+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;
+
+ REQUIRE(VALID_MANAGER(mgr));
+ REQUIRE(taskp != NULL && *taskp == NULL);
+
+ if (mgr->excl == NULL)
+ return (ISC_R_NOTFOUND);
+
+ isc__task_attach((isc_task_t *) mgr->excl, taskp);
+ return (ISC_R_SUCCESS);
+}
+
ISC_TASKFUNC_SCOPE isc_result_t
isc__task_beginexclusive(isc_task_t *task0) {
#ifdef USE_WORKER_THREADS
isc__task_t *task = (isc__task_t *)task0;
isc__taskmgr_t *manager = task->manager;
+
REQUIRE(task->state == task_state_running);
+ /* XXX: Require task == manager->excl? */
+
LOCK(&manager->lock);
if (manager->exclusive_requested) {
UNLOCK(&manager->lock);
diff --git a/lib/isc/task_api.c b/lib/isc/task_api.c
index 34510ff6..f49ab321 100644
--- a/lib/isc/task_api.c
+++ b/lib/isc/task_api.c
@@ -201,6 +201,17 @@ isc_task_purge(isc_task_t *task, void *sender, isc_eventtype_t type, void *tag)
return (task->methods->purgeevents(task, sender, type, tag));
}
+void
+isc_taskmgr_setexcltask(isc_taskmgr_t *mgr, isc_task_t *task) {
+ REQUIRE(ISCAPI_TASK_VALID(task));
+ return (mgr->methods->setexcltask(mgr, task));
+}
+
+isc_result_t
+isc_taskmgr_excltask(isc_taskmgr_t *mgr, isc_task_t **taskp) {
+ return (mgr->methods->excltask(mgr, taskp));
+}
+
isc_result_t
isc_task_beginexclusive(isc_task_t *task) {
REQUIRE(ISCAPI_TASK_VALID(task));
diff --git a/lib/isc/tests/isctest.c b/lib/isc/tests/isctest.c
index e118bbf2..41b09fce 100644
--- a/lib/isc/tests/isctest.c
+++ b/lib/isc/tests/isctest.c
@@ -42,6 +42,7 @@ isc_log_t *lctx = NULL;
isc_taskmgr_t *taskmgr = NULL;
isc_timermgr_t *timermgr = NULL;
isc_socketmgr_t *socketmgr = NULL;
+isc_task_t *maintask = NULL;
int ncpus;
static isc_boolean_t hash_active = ISC_FALSE;
@@ -63,6 +64,8 @@ static isc_logcategory_t categories[] = {
static void
cleanup_managers() {
+ if (maintask != NULL)
+ isc_task_destroy(&maintask);
if (socketmgr != NULL)
isc_socketmgr_destroy(&socketmgr);
if (taskmgr != NULL)
@@ -81,6 +84,9 @@ create_managers() {
#endif
CHECK(isc_taskmgr_create(mctx, ncpus, 0, &taskmgr));
+ CHECK(isc_task_create(taskmgr, 0, &maintask));
+ isc_taskmgr_setexcltask(taskmgr, maintask);
+
CHECK(isc_timermgr_create(mctx, &timermgr));
CHECK(isc_socketmgr_create(mctx, &socketmgr));
return (ISC_R_SUCCESS);
@@ -138,6 +144,8 @@ isc_test_begin(FILE *logfile, isc_boolean_t start_managers) {
void
isc_test_end() {
+ if (maintask != NULL)
+ isc_task_detach(&maintask);
if (taskmgr != NULL)
isc_taskmgr_destroy(&taskmgr);
if (lctx != NULL)
diff --git a/lib/isc/tests/queue_test.c b/lib/isc/tests/queue_test.c
index 74620fef..c4a80c4c 100644
--- a/lib/isc/tests/queue_test.c
+++ b/lib/isc/tests/queue_test.c
@@ -29,10 +29,11 @@
#include "isctest.h"
-typedef struct item {
+typedef struct item item_t;
+struct item {
int value;
ISC_QLINK(item_t) qlink;
-} item_t;
+};
typedef ISC_QUEUE(item_t) item_queue_t;
@@ -107,6 +108,9 @@ ATF_TC_BODY(queue_valid, tc) {
ISC_QUEUE_PUSH(queue, &five, qlink);
ATF_CHECK(ISC_QLINK_LINKED(&five, qlink));
+ /* Test unlink by removing one item from the middle */
+ ISC_QUEUE_UNLINK(queue, &three, qlink);
+
ISC_QUEUE_POP(queue, qlink, p);
ATF_REQUIRE(p != NULL);
ATF_CHECK_EQ(p->value, 1);
@@ -117,10 +121,6 @@ ATF_TC_BODY(queue_valid, tc) {
ISC_QUEUE_POP(queue, qlink, p);
ATF_REQUIRE(p != NULL);
- ATF_CHECK_EQ(p->value, 3);
-
- ISC_QUEUE_POP(queue, qlink, p);
- ATF_REQUIRE(p != NULL);
ATF_CHECK_EQ(p->value, 4);
ISC_QUEUE_POP(queue, qlink, p);
diff --git a/lib/isc/unix/Makefile.in b/lib/isc/unix/Makefile.in
index 9884ca90..c1411cb3 100644
--- a/lib/isc/unix/Makefile.in
+++ b/lib/isc/unix/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/unix/file.c b/lib/isc/unix/file.c
index 0538761a..99c02ec7 100644
--- a/lib/isc/unix/file.c
+++ b/lib/isc/unix/file.c
@@ -98,6 +98,20 @@ file_stats(const char *file, struct stat *stats) {
}
isc_result_t
+isc_file_mode(const char *file, mode_t *modep) {
+ isc_result_t result;
+ struct stat stats;
+
+ REQUIRE(modep != NULL);
+
+ result = file_stats(file, &stats);
+ if (result == ISC_R_SUCCESS)
+ *modep = (stats.st_mode & 07777);
+
+ return (result);
+}
+
+isc_result_t
isc_file_getmodtime(const char *file, isc_time_t *time) {
isc_result_t result;
struct stat stats;
@@ -313,6 +327,23 @@ isc_file_openuniquemode(char *templet, int mode, FILE **fp) {
}
isc_result_t
+isc_file_bopenunique(char *templet, FILE **fp) {
+ int mode = S_IWUSR|S_IRUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH;
+ return (isc_file_openuniquemode(templet, mode, fp));
+}
+
+isc_result_t
+isc_file_bopenuniqueprivate(char *templet, FILE **fp) {
+ int mode = S_IWUSR|S_IRUSR;
+ return (isc_file_openuniquemode(templet, mode, fp));
+}
+
+isc_result_t
+isc_file_bopenuniquemode(char *templet, int mode, FILE **fp) {
+ return (isc_file_openuniquemode(templet, mode, fp));
+}
+
+isc_result_t
isc_file_remove(const char *filename) {
int r;
diff --git a/lib/isc/unix/include/Makefile.in b/lib/isc/unix/include/Makefile.in
index 0303ab13..46c243e1 100644
--- a/lib/isc/unix/include/Makefile.in
+++ b/lib/isc/unix/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/unix/include/isc/Makefile.in b/lib/isc/unix/include/isc/Makefile.in
index 2f4d2164..d3b50842 100644
--- a/lib/isc/unix/include/isc/Makefile.in
+++ b/lib/isc/unix/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/win32/Makefile.in b/lib/isc/win32/Makefile.in
index 3396db1e..c129e31c 100644
--- a/lib/isc/win32/Makefile.in
+++ b/lib/isc/win32/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/win32/file.c b/lib/isc/win32/file.c
index c6b9e4f5..146fd35e 100644
--- a/lib/isc/win32/file.c
+++ b/lib/isc/win32/file.c
@@ -45,10 +45,14 @@
*
*/
static int
-gettemp(char *path, int *doopen) {
+gettemp(char *path, isc_boolean_t binary, int *doopen) {
char *start, *trv;
struct stat sbuf;
int pid;
+ int flags = O_CREAT|O_EXCL|O_RDWR;
+
+ if (binary)
+ flags |= _O_BINARY;
trv = strrchr(path, 'X');
trv++;
@@ -81,8 +85,7 @@ gettemp(char *path, int *doopen) {
for (;;) {
if (doopen) {
if ((*doopen =
- open(path, O_CREAT|O_EXCL|O_RDWR,
- _S_IREAD | _S_IWRITE)) >= 0)
+ open(path, flags, _S_IREAD | _S_IWRITE)) >= 0)
return (1);
if (errno != EEXIST)
return (0);
@@ -108,10 +111,10 @@ gettemp(char *path, int *doopen) {
}
static int
-mkstemp(char *path) {
+mkstemp(char *path, isc_boolean_t binary) {
int fd;
- return (gettemp(path, &fd) ? fd : -1);
+ return (gettemp(path, binary, &fd) ? fd : -1);
}
/*
@@ -165,7 +168,7 @@ isc_file_safemovefile(const char *oldname, const char *newname) {
exists = TRUE;
strcpy(buf, newname);
strcat(buf, ".XXXXX");
- tmpfd = mkstemp(buf);
+ tmpfd = mkstemp(buf, ISC_TRUE);
if (tmpfd > 0)
_close(tmpfd);
DeleteFile(buf);
@@ -300,7 +303,7 @@ isc_file_renameunique(const char *file, char *templet) {
REQUIRE(file != NULL);
REQUIRE(templet != NULL);
- fd = mkstemp(templet);
+ fd = mkstemp(templet, ISC_TRUE);
if (fd == -1)
result = isc__errno2result(errno);
else
@@ -316,20 +319,8 @@ isc_file_renameunique(const char *file, char *templet) {
return (result);
}
-isc_result_t
-isc_file_openuniqueprivate(char *templet, FILE **fp) {
- int mode = _S_IREAD | _S_IWRITE;
- return (isc_file_openuniquemode(templet, mode, fp));
-}
-
-isc_result_t
-isc_file_openunique(char *templet, FILE **fp) {
- int mode = _S_IREAD | _S_IWRITE;
- return (isc_file_openuniquemode(templet, mode, fp));
-}
-
-isc_result_t
-isc_file_openuniquemode(char *templet, int mode, FILE **fp) {
+static isc_result_t
+openuniquemode(char *templet, int mode, isc_boolean_t binary, FILE **fp) {
int fd;
FILE *f;
isc_result_t result = ISC_R_SUCCESS;
@@ -340,7 +331,7 @@ isc_file_openuniquemode(char *templet, int mode, FILE **fp) {
/*
* Win32 does not have mkstemp. Using emulation above.
*/
- fd = mkstemp(templet);
+ fd = mkstemp(templet, binary);
if (fd == -1)
result = isc__errno2result(errno);
@@ -350,7 +341,7 @@ isc_file_openuniquemode(char *templet, int mode, FILE **fp) {
#else
(void)fchmod(fd, mode);
#endif
- f = fdopen(fd, "w+");
+ f = fdopen(fd, binary ? "wb+" : "w+");
if (f == NULL) {
result = isc__errno2result(errno);
(void)remove(templet);
@@ -363,6 +354,40 @@ isc_file_openuniquemode(char *templet, int mode, FILE **fp) {
}
isc_result_t
+isc_file_openuniqueprivate(char *templet, FILE **fp) {
+ int mode = _S_IREAD | _S_IWRITE;
+ return (openuniquemode(templet, mode, ISC_FALSE, fp));
+}
+
+isc_result_t
+isc_file_openunique(char *templet, FILE **fp) {
+ int mode = _S_IREAD | _S_IWRITE;
+ return (openuniquemode(templet, mode, ISC_FALSE, fp));
+}
+
+isc_result_t
+isc_file_openuniquemode(char *templet, int mode, FILE **fp) {
+ return (openuniquemode(templet, mode, ISC_FALSE, fp));
+}
+
+isc_result_t
+isc_file_bopenuniqueprivate(char *templet, FILE **fp) {
+ int mode = _S_IREAD | _S_IWRITE;
+ return (openuniquemode(templet, mode, ISC_TRUE, fp));
+}
+
+isc_result_t
+isc_file_bopenunique(char *templet, FILE **fp) {
+ int mode = _S_IREAD | _S_IWRITE;
+ return (openuniquemode(templet, mode, ISC_TRUE, fp));
+}
+
+isc_result_t
+isc_file_bopenuniquemode(char *templet, int mode, FILE **fp) {
+ return (openuniquemode(templet, mode, ISC_TRUE, fp));
+}
+
+isc_result_t
isc_file_remove(const char *filename) {
int r;
@@ -617,3 +642,16 @@ isc_file_splitpath(isc_mem_t *mctx, char *path, char **dirname, char **basename)
return (ISC_R_SUCCESS);
}
+
+isc_result_t
+isc_file_mode(const char *file, mode_t *modep) {
+ isc_result_t result;
+ struct stat stats;
+
+ REQUIRE(modep != NULL);
+
+ result = file_stats(file, &stats);
+ if (result == ISC_R_SUCCESS)
+ *modep = (stats.st_mode & 07777);
+ return (result);
+}
diff --git a/lib/isc/win32/include/Makefile.in b/lib/isc/win32/include/Makefile.in
index c74b52d2..60435f9e 100644
--- a/lib/isc/win32/include/Makefile.in
+++ b/lib/isc/win32/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/win32/include/isc/Makefile.in b/lib/isc/win32/include/isc/Makefile.in
index dcd85190..6b5bcea2 100644
--- a/lib/isc/win32/include/isc/Makefile.in
+++ b/lib/isc/win32/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isc/win32/include/isc/stat.h b/lib/isc/win32/include/isc/stat.h
index 2c822b9e..6703e329 100644
--- a/lib/isc/win32/include/isc/stat.h
+++ b/lib/isc/win32/include/isc/stat.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007, 2009, 2012 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
@@ -22,6 +22,11 @@
#include <sys/stat.h>
+/*
+ * Windows doesn't typedef this.
+ */
+typedef unsigned short mode_t;
+
/* open() under unix allows setting of read/write permissions
* at the owner, group and other levels. These don't exist in NT
* We'll just map them all to the NT equivalent
diff --git a/lib/isc/win32/libisc.def b/lib/isc/win32/libisc.def
index fb084103..fe3f739b 100644
--- a/lib/isc/win32/libisc.def
+++ b/lib/isc/win32/libisc.def
@@ -140,7 +140,9 @@ isc__task_unsend
isc__task_unsendrange
isc__taskmgr_create
isc__taskmgr_destroy
+isc__taskmgr_excltask
isc__taskmgr_mode
+isc__taskmgr_setexcltask
isc__taskmgr_setmode
isc__timer_attach
isc__timer_create
@@ -218,6 +220,9 @@ isc_event_allocate
isc_event_free
isc_file_absolutepath
isc_file_basename
+isc_file_bopenunique
+isc_file_bopenuniquemode
+isc_file_bopenuniqueprivate
isc_file_exists
isc_file_getmodtime
isc_file_isabsolute
@@ -225,6 +230,7 @@ isc_file_ischdiridempotent
isc_file_iscurrentdir
isc_file_isplainfile
isc_file_mktemplate
+isc_file_mode
isc_file_openunique
isc_file_openuniquemode
isc_file_openuniqueprivate
diff --git a/lib/isc/x86_32/Makefile.in b/lib/isc/x86_32/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/x86_32/Makefile.in
+++ b/lib/isc/x86_32/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/x86_32/include/Makefile.in b/lib/isc/x86_32/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/x86_32/include/Makefile.in
+++ b/lib/isc/x86_32/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/x86_32/include/isc/Makefile.in b/lib/isc/x86_32/include/isc/Makefile.in
index 5f116cac..4927e210 100644
--- a/lib/isc/x86_32/include/isc/Makefile.in
+++ b/lib/isc/x86_32/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/x86_64/Makefile.in b/lib/isc/x86_64/Makefile.in
index 324db070..9c24cdf9 100644
--- a/lib/isc/x86_64/Makefile.in
+++ b/lib/isc/x86_64/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/x86_64/include/Makefile.in b/lib/isc/x86_64/include/Makefile.in
index f1d8bdd3..e3995599 100644
--- a/lib/isc/x86_64/include/Makefile.in
+++ b/lib/isc/x86_64/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isc/x86_64/include/isc/Makefile.in b/lib/isc/x86_64/include/isc/Makefile.in
index f33ae994..9a988bb7 100644
--- a/lib/isc/x86_64/include/isc/Makefile.in
+++ b/lib/isc/x86_64/include/isc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007, 2012 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
diff --git a/lib/isccc/api b/lib/isccc/api
index 59e4f66c..e34aa945 100644
--- a/lib/isccc/api
+++ b/lib/isccc/api
@@ -4,5 +4,5 @@
# 9.8: 80-89
# 9.9: 90-109
LIBINTERFACE = 90
-LIBREVISION = 1
+LIBREVISION = 2
LIBAGE = 0
diff --git a/lib/isccc/cc.c b/lib/isccc/cc.c
index b549d6cb..1ab94798 100644
--- a/lib/isccc/cc.c
+++ b/lib/isccc/cc.c
@@ -399,8 +399,6 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret,
first_tag = ISC_FALSE;
}
- *alistp = alist;
-
if (secret != NULL) {
if (checksum_rstart != NULL)
result = verify(alist, checksum_rstart,
@@ -412,7 +410,9 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret,
result = ISC_R_SUCCESS;
bad:
- if (result != ISC_R_SUCCESS)
+ if (result == ISC_R_SUCCESS)
+ *alistp = alist;
+ else
isccc_sexpr_free(&alist);
return (result);
diff --git a/lib/isccc/include/Makefile.in b/lib/isccc/include/Makefile.in
index 9f727c30..6b222a52 100644
--- a/lib/isccc/include/Makefile.in
+++ b/lib/isccc/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isccc/include/isccc/Makefile.in b/lib/isccc/include/isccc/Makefile.in
index ae5bec75..c4af19a7 100644
--- a/lib/isccc/include/isccc/Makefile.in
+++ b/lib/isccc/include/isccc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isccfg/api b/lib/isccfg/api
index 59e4f66c..e34aa945 100644
--- a/lib/isccfg/api
+++ b/lib/isccfg/api
@@ -4,5 +4,5 @@
# 9.8: 80-89
# 9.9: 90-109
LIBINTERFACE = 90
-LIBREVISION = 1
+LIBREVISION = 2
LIBAGE = 0
diff --git a/lib/isccfg/include/Makefile.in b/lib/isccfg/include/Makefile.in
index 1f240030..5c6976a8 100644
--- a/lib/isccfg/include/Makefile.in
+++ b/lib/isccfg/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isccfg/include/isccfg/Makefile.in b/lib/isccfg/include/isccfg/Makefile.in
index a6fd4125..211583a5 100644
--- a/lib/isccfg/include/isccfg/Makefile.in
+++ b/lib/isccfg/include/isccfg/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001, 2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c
index 58b5ca4c..541f078b 100644
--- a/lib/isccfg/namedconf.c
+++ b/lib/isccfg/namedconf.c
@@ -917,6 +917,7 @@ options_clauses[] = {
{ "listen-on-v6", &cfg_type_listenon, CFG_CLAUSEFLAG_MULTI },
{ "managed-keys-directory", &cfg_type_qstring, 0 },
{ "match-mapped-addresses", &cfg_type_boolean, 0 },
+ { "max-rsa-exponent-size", &cfg_type_uint32, 0 },
{ "memstatistics-file", &cfg_type_qstring, 0 },
{ "memstatistics", &cfg_type_boolean, 0 },
{ "multiple-cnames", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
@@ -1025,66 +1026,60 @@ static cfg_type_t cfg_type_masterformat = {
-/*
+/*%
* response-policy {
* zone <string> [ policy (given|disabled|passthru|
- * nxdomain|nodata|cname <domain> ) ];
- * };
- *
- * this is a chimera of doc_optional_keyvalue() and cfg_doc_enum()
+ * nxdomain|nodata|cname <domain> ) ]
+ * [ recursive-only yes|no ]
+ * [ max-policy-ttl number ] ;
+ * } [ recursive-only yes|no ] [ break-dnssec yes|no ]
+ * [ max-policy-ttl number ] ;
*/
+
static void
-doc_rpz_policies(cfg_printer_t *pctx, const cfg_type_t *type) {
- const keyword_type_t *kw;
+doc_rpz_policy(cfg_printer_t *pctx, const cfg_type_t *type) {
const char * const *p;
-
- kw = type->of;
- cfg_print_chars(pctx, "[ ", 2);
- cfg_print_cstr(pctx, kw->name);
- cfg_print_chars(pctx, " ", 1);
-
+ /*
+ * This is cfg_doc_enum() without the trailing " )".
+ */
cfg_print_chars(pctx, "( ", 2);
- for (p = kw->type->of; *p != NULL; p++) {
+ for (p = type->of; *p != NULL; p++) {
cfg_print_cstr(pctx, *p);
if (p[1] != NULL)
cfg_print_chars(pctx, " | ", 3);
}
}
-/*
- * print_qstring() from parser.c
- */
-static void
-print_rpz_cname(cfg_printer_t *pctx, const cfg_obj_t *obj)
-{
- cfg_print_chars(pctx, "\"", 1);
- cfg_print_ustring(pctx, obj);
- cfg_print_chars(pctx, "\"", 1);
-}
-
static void
doc_rpz_cname(cfg_printer_t *pctx, const cfg_type_t *type) {
cfg_doc_terminal(pctx, type);
- cfg_print_chars(pctx, " ) ]", 4);
+ cfg_print_chars(pctx, " )", 2);
}
+/*
+ * Parse
+ * given|disabled|passthru|nxdomain|nodata|cname <domain>
+ */
static isc_result_t
-parse_rpz(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
+cfg_parse_rpz_policy(cfg_parser_t *pctx, const cfg_type_t *type,
+ cfg_obj_t **ret)
+{
isc_result_t result;
- cfg_obj_t *obj = NULL;
- const cfg_tuplefielddef_t *fields = type->of;
+ cfg_obj_t *obj;
+ const cfg_tuplefielddef_t *fields;
CHECK(cfg_create_tuple(pctx, type, &obj));
+
+ fields = type->of;
CHECK(cfg_parse_obj(pctx, fields[0].type, &obj->value.tuple[0]));
- CHECK(cfg_parse_obj(pctx, fields[1].type, &obj->value.tuple[1]));
/*
* parse cname domain only after "policy cname"
*/
- if (cfg_obj_isvoid(obj->value.tuple[1]) ||
- strcasecmp("cname", cfg_obj_asstring(obj->value.tuple[1]))) {
- CHECK(cfg_parse_void(pctx, NULL, &obj->value.tuple[2]));
+ if (strcasecmp("cname", cfg_obj_asstring(obj->value.tuple[0])) != 0) {
+ CHECK(cfg_parse_void(pctx, NULL, &obj->value.tuple[1]));
} else {
- CHECK(cfg_parse_obj(pctx, fields[2].type, &obj->value.tuple[2]));
+ CHECK(cfg_parse_obj(pctx, fields[1].type,
+ &obj->value.tuple[1]));
}
*ret = obj;
@@ -1095,50 +1090,160 @@ cleanup:
return (result);
}
+/*
+ * 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
+cfg_parse_kv_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
+ const cfg_tuplefielddef_t *fields, *f;
+ cfg_obj_t *obj;
+ int fn;
+ isc_result_t result;
+
+ obj = NULL;
+ CHECK(cfg_create_tuple(pctx, type, &obj));
+
+ /*
+ * The zone first field is required and always first.
+ */
+ fields = type->of;
+ CHECK(cfg_parse_obj(pctx, fields[0].type, &obj->value.tuple[0]));
+
+ for (;;) {
+ CHECK(cfg_peektoken(pctx, CFG_LEXOPT_QSTRING));
+ if (pctx->token.type != isc_tokentype_string)
+ break;
+
+ for (fn = 1, f = &fields[1]; ; ++fn, ++f) {
+ if (f->name == NULL) {
+ cfg_parser_error(pctx, 0, "unexpected '%s'",
+ TOKEN_STRING(pctx));
+ result = ISC_R_UNEXPECTEDTOKEN;
+ goto cleanup;
+ }
+ if (obj->value.tuple[fn] == NULL &&
+ strcasecmp(f->name, TOKEN_STRING(pctx)) == 0)
+ break;
+ }
+
+ CHECK(cfg_gettoken(pctx, 0));
+ CHECK(cfg_parse_obj(pctx, f->type, &obj->value.tuple[fn]));
+ }
+
+ for (fn = 1, f = &fields[1]; f->name != NULL; ++fn, ++f) {
+ if (obj->value.tuple[fn] == NULL)
+ CHECK(cfg_parse_void(pctx, NULL,
+ &obj->value.tuple[fn]));
+ }
+
+ *ret = obj;
+ return (ISC_R_SUCCESS);
+
+cleanup:
+ CLEANUP_OBJ(obj);
+ return (result);
+}
+
+static void
+cfg_print_kv_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj) {
+ unsigned int i;
+ const cfg_tuplefielddef_t *fields, *f;
+ const cfg_obj_t *fieldobj;
+
+ fields = obj->type->of;
+ for (f = fields, i = 0; f->name != NULL; f++, i++) {
+ fieldobj = obj->value.tuple[i];
+ if (fieldobj->type->print == cfg_print_void)
+ continue;
+ if (i != 0) {
+ cfg_print_chars(pctx, " ", 1);
+ cfg_print_cstr(pctx, f->name);
+ cfg_print_chars(pctx, " ", 1);
+ }
+ cfg_print_obj(pctx, fieldobj);
+ }
+}
+
+static void
+cfg_doc_kv_tuple(cfg_printer_t *pctx, const cfg_type_t *type) {
+ const cfg_tuplefielddef_t *fields, *f;
+
+ fields = type->of;
+ for (f = fields; f->name != NULL; f++) {
+ if (f != fields) {
+ cfg_print_chars(pctx, " [ ", 3);
+ cfg_print_cstr(pctx, f->name);
+ if (f->type->doc != cfg_doc_void)
+ cfg_print_chars(pctx, " ", 1);
+ }
+ cfg_doc_obj(pctx, f->type);
+ if (f != fields)
+ cfg_print_chars(pctx, " ]", 2);
+ }
+}
+
+static keyword_type_t zone_kw = {"zone", &cfg_type_qstring};
+static cfg_type_t cfg_type_rpz_zone = {
+ "zone", parse_keyvalue, print_keyvalue,
+ doc_keyvalue, &cfg_rep_string,
+ &zone_kw
+};
static const char *rpz_policies[] = {
"given", "disabled", "passthru", "no-op", "nxdomain", "nodata",
"cname", NULL
};
-static cfg_type_t cfg_type_rpz_policylist = {
- "policies", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum,
- &cfg_rep_string, &rpz_policies
+static cfg_type_t cfg_type_rpz_policy_name = {
+ "policy name", cfg_parse_enum, cfg_print_ustring,
+ doc_rpz_policy, &cfg_rep_string,
+ &rpz_policies
};
-static keyword_type_t rpz_policies_kw = {
- "policy", &cfg_type_rpz_policylist
+static cfg_type_t cfg_type_rpz_cname = {
+ "quoted_string", cfg_parse_astring, NULL,
+ doc_rpz_cname, &cfg_rep_string,
+ NULL
};
-static cfg_type_t cfg_type_rpz_policy = {
- "optional_policy", parse_optional_keyvalue, print_keyvalue,
- doc_rpz_policies, &cfg_rep_string, &rpz_policies_kw
+static cfg_tuplefielddef_t rpz_policy_fields[] = {
+ { "policy name", &cfg_type_rpz_policy_name, 0 },
+ { "cname", &cfg_type_rpz_cname, 0 },
+ { NULL, NULL, 0 }
};
-static cfg_type_t cfg_type_cname = {
- "domain", cfg_parse_astring, print_rpz_cname, doc_rpz_cname,
- &cfg_rep_string, NULL
+static cfg_type_t cfg_type_rpz_policy = {
+ "policy tuple", cfg_parse_rpz_policy,
+ cfg_print_tuple, cfg_doc_tuple, &cfg_rep_tuple,
+ rpz_policy_fields
};
-static cfg_tuplefielddef_t rpzone_fields[] = {
- { "name", &cfg_type_astring, 0 },
+static cfg_tuplefielddef_t rpz_zone_fields[] = {
+ { "zone name", &cfg_type_rpz_zone, 0 },
{ "policy", &cfg_type_rpz_policy, 0 },
- { "cname", &cfg_type_cname, 0 },
+ { "recursive-only", &cfg_type_boolean, 0 },
+ { "max-policy-ttl", &cfg_type_uint32, 0 },
{ NULL, NULL, 0 }
};
-static cfg_type_t cfg_type_rpzone = {
- "rpzone", parse_rpz, cfg_print_tuple, cfg_doc_tuple,
- &cfg_rep_tuple, rpzone_fields
+static cfg_type_t cfg_type_rpz_tuple = {
+ "rpz tuple", cfg_parse_kv_tuple,
+ cfg_print_kv_tuple, cfg_doc_kv_tuple, &cfg_rep_tuple,
+ rpz_zone_fields
};
-static cfg_clausedef_t rpz_clauses[] = {
- { "zone", &cfg_type_rpzone, CFG_CLAUSEFLAG_MULTI },
- { NULL, NULL, 0 }
+static cfg_type_t cfg_type_rpz_list = {
+ "zone list", cfg_parse_bracketed_list, cfg_print_bracketed_list,
+ cfg_doc_bracketed_list, &cfg_rep_list,
+ &cfg_type_rpz_tuple
};
-static cfg_clausedef_t *rpz_clausesets[] = {
- rpz_clauses,
- NULL
+static cfg_tuplefielddef_t rpz_fields[] = {
+ { "zone list", &cfg_type_rpz_list, 0 },
+ { "recursive-only", &cfg_type_boolean, 0 },
+ { "break-dnssec", &cfg_type_boolean, 0 },
+ { "max-policy-ttl", &cfg_type_uint32, 0 },
+ { NULL, NULL, 0 }
};
static cfg_type_t cfg_type_rpz = {
- "rpz", cfg_parse_map, cfg_print_map, cfg_doc_map,
- &cfg_rep_map, rpz_clausesets
+ "rpz", cfg_parse_kv_tuple,
+ cfg_print_kv_tuple, cfg_doc_kv_tuple, &cfg_rep_tuple,
+ rpz_fields
};
-
/*%
* dnssec-lookaside
*/
diff --git a/lib/lwres/Makefile.in b/lib/lwres/Makefile.in
index 858b325d..0cf873b5 100644
--- a/lib/lwres/Makefile.in
+++ b/lib/lwres/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/api b/lib/lwres/api
index a45a6bff..59e4f66c 100644
--- a/lib/lwres/api
+++ b/lib/lwres/api
@@ -4,5 +4,5 @@
# 9.8: 80-89
# 9.9: 90-109
LIBINTERFACE = 90
-LIBREVISION = 0
+LIBREVISION = 1
LIBAGE = 0
diff --git a/lib/lwres/getaddrinfo.c b/lib/lwres/getaddrinfo.c
index 8e916f34..811a2fee 100644
--- a/lib/lwres/getaddrinfo.c
+++ b/lib/lwres/getaddrinfo.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* This code is derived from software contributed to ISC by
@@ -398,7 +398,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname,
goto inet6_addr;
}
addrsize = sizeof(struct in_addr);
- addroff = (char *)(&SIN(0)->sin_addr) - (char *)0;
+ addroff = offsetof(struct sockaddr_in, sin_addr);
family = AF_INET;
goto common;
#ifdef LWRES_HAVE_SIN6_SCOPE_ID
@@ -408,7 +408,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname,
if (family && family != AF_INET6)
return (EAI_NONAME);
addrsize = sizeof(struct in6_addr);
- addroff = (char *)(&SIN6(0)->sin6_addr) - (char *)0;
+ addroff = offsetof(struct sockaddr_in6, sin6_addr);
family = AF_INET6;
goto common;
#endif
@@ -417,7 +417,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname,
return (EAI_NONAME);
inet6_addr:
addrsize = sizeof(struct in6_addr);
- addroff = (char *)(&SIN6(0)->sin6_addr) - (char *)0;
+ addroff = offsetof(struct sockaddr_in6, sin6_addr);
family = AF_INET6;
common:
diff --git a/lib/lwres/include/Makefile.in b/lib/lwres/include/Makefile.in
index 4750a5e9..6c3d07fd 100644
--- a/lib/lwres/include/Makefile.in
+++ b/lib/lwres/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/include/lwres/Makefile.in b/lib/lwres/include/lwres/Makefile.in
index fc3126f8..36b8b03d 100644
--- a/lib/lwres/include/lwres/Makefile.in
+++ b/lib/lwres/include/lwres/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/man/Makefile.in b/lib/lwres/man/Makefile.in
index cb723c27..80db9f2f 100644
--- a/lib/lwres/man/Makefile.in
+++ b/lib/lwres/man/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/unix/Makefile.in b/lib/lwres/unix/Makefile.in
index 5d77208a..26ca4fb8 100644
--- a/lib/lwres/unix/Makefile.in
+++ b/lib/lwres/unix/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/unix/include/Makefile.in b/lib/lwres/unix/include/Makefile.in
index 61906330..5372543c 100644
--- a/lib/lwres/unix/include/Makefile.in
+++ b/lib/lwres/unix/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/unix/include/lwres/Makefile.in b/lib/lwres/unix/include/lwres/Makefile.in
index c943e015..4f60ce82 100644
--- a/lib/lwres/unix/include/lwres/Makefile.in
+++ b/lib/lwres/unix/include/lwres/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/win32/Makefile.in b/lib/lwres/win32/Makefile.in
index 5d77208a..26ca4fb8 100644
--- a/lib/lwres/win32/Makefile.in
+++ b/lib/lwres/win32/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/win32/include/Makefile.in b/lib/lwres/win32/include/Makefile.in
index 61906330..5372543c 100644
--- a/lib/lwres/win32/include/Makefile.in
+++ b/lib/lwres/win32/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/lwres/win32/include/lwres/Makefile.in b/lib/lwres/win32/include/lwres/Makefile.in
index c943e015..4f60ce82 100644
--- a/lib/lwres/win32/include/lwres/Makefile.in
+++ b/lib/lwres/win32/include/lwres/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/tests/Makefile.in b/lib/tests/Makefile.in
index 105d567d..02802656 100644
--- a/lib/tests/Makefile.in
+++ b/lib/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2009, 2012 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
diff --git a/lib/tests/include/Makefile.in b/lib/tests/include/Makefile.in
index 10eedede..b529c75d 100644
--- a/lib/tests/include/Makefile.in
+++ b/lib/tests/include/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/lib/tests/include/tests/Makefile.in b/lib/tests/include/tests/Makefile.in
index 5d6ad0f6..cfadac78 100644
--- a/lib/tests/include/tests/Makefile.in
+++ b/lib/tests/include/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/make/Makefile.in b/make/Makefile.in
index cffd5613..86c93e70 100644
--- a/make/Makefile.in
+++ b/make/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/make/includes.in b/make/includes.in
index 8e5750c9..f2f1b3f4 100644
--- a/make/includes.in
+++ b/make/includes.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
diff --git a/make/rules.in b/make/rules.in
index cd4cf4f7..bbd57e9b 100644
--- a/make/rules.in
+++ b/make/rules.in
@@ -358,3 +358,12 @@ ALWAYS_MAKE_SYMTABLE = @ALWAYS_MAKE_SYMTABLE@
.docbook.8:
${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
+
+###
+### Python executable
+###
+.SUFFIXES: .py
+.py:
+ cp -f $< $@
+ chmod +x $@
+
diff --git a/version b/version
index 6ddca7a9..ad8f80fa 100644
--- a/version
+++ b/version
@@ -5,6 +5,6 @@
#
MAJORVER=9
MINORVER=9
-PATCHVER=1
-RELEASETYPE=-P
-RELEASEVER=4
+PATCHVER=2
+RELEASETYPE=
+RELEASEVER=